Auxiliary functions (m - codes). Main functions of programmed control systems on CNC machines M functions

  • 3. Main specifications and mechanical system
  • 4. Ultra-high pressure generator
  • 5. Electrical control system. Ultra High Pressure Generator Electrical System
  • 6. Electrical system of the machine tool
  • 7. CNC system. Coordinate system
  • 8. Executing an NC program
  • 9. Preparatory functions. (Function G)
  • ➔ 13. Other functions (M functions)
  • 14. Functioning of the system
  • 15. Selection of basic functions
  • 16. Editing
  • 17. Renaming, deletion
  • 18. Properties of NC programs
  • 19. Manually operating the mechanism
  • 20. Setting the operating mode of the system
  • 21. Setting parameters for the machine
  • 22. Main function of GRAPH
  • 23. Another way to select the main function GRAPH
  • 24. APPENDIX 1: Error codes
  • 25. Protection system
  • 26. Technology and parameters of waterjet cutting
  • 27. Transport and installation
  • 28. Trial run
  • 29. Two-dimensional and semi-automatic programming system with CNC
  • 30. Launch and installation
  • 31. File selection
  • 32. Preliminary preparation of plotting
  • 33. Selection of material and equipment
  • 34. Creating an NC program
  • Other functions (M functions)

    Other waterjet functions are programmed with the letter M followed by 2 single digits. This system has several such functions:

    M00 Stop program

    M02 End of program

    M30 End of the program with return to the beginning

    M71-79 Malfunctioning plus output

    Now we will look at the execution of the M function in detail.

    1. M00 - Stop the program

    Example: When the CNC of the waterjet cutting machine reads the M00 code in the block, it stops the program. To start the program, you must press the power button again.

    2. M02 - End of the program

    Example: This code denotes the end of the program and performs the basic reset function of the waterjet CNC.

    3. M30 -Completion of the program with return to the beginning

    Example: This function similar to function M02 plus the return of the waterjet CNC to the first block of the start of the program.

    4.M71-79 Malfunctioning plus output

    Format: M71 Example: The waterjet CNC system sets this function and the sequence of operations is as follows:

      control of the corresponding transmission, connection

      delay time 400 m / s

      breakdown number 1

    M71- Stopping the oil pump of the waterjet cutting machine

    M71 usually occurs before M02, which means that the oil pump stops after cutting. This function is the same as pressing the stop button.

    M72- stop water pump

    When M72 is displayed, the pump motor stops running. This function is the same as that of the pump stop button of waterjet equipment.

    M73- Starting the high pressure water supply system

    When M73 is highlighted, the high pressure water supply valve opens. This function is the same as the function of pressing the button of the high pressure water system.

    M74 - High pressure water system shutdown

    When M74 is illuminated, the high pressure water supply valve is closed. This function is the same as the function of pressing the stop button of the water supply system.

    under high pressure.

    M75 - sand supply valve opening

    The appearance of M 75 means the opening of the sand supply valve. This function is the same as the function of pressing the waterjet sand valve open button.

    M76- Closing the sand supply valve

    The appearance of M 76 means the closing of the sand supply valve. This function is the same as the function of pressing the sand valve close button.

    F, S, T Functions.

    1. F-feed selection function.

    The feed selection function is commonly referred to as the F-function. With this function, you can directly control the feedrate on each axis. The F function can be indicated by the letter F and the numbers that follow the letter, as well as the designation of the feed rate, which is expressed in mm / min.

    The feed rate in this system varies from 9 to 1300 mm / min. Waterjet speeds can be freely selected depending on the cutting conditions required.

    2. T- tool selection function.

    The tool select function is also referred to as the T function. This function is used to select a tool. The tool selection function is denoted by the letter T by the numbers that are placed after the symbol T. The system contains up to 20 names of tool selection parameters, from T01 to T20. In PARAM mode, press the F2 button and the display will show 20 instrument selection options. The operator can select any parameter D button on the waterjet screen depending on the tool diameter.

    If the program requires a waterjet cutter radius compensation, the control system can refer to the corresponding parameter to correct it.

    An important example of a closed class is the class of monotone functions. We will prove the fact that monotone functions form a closed class later, but for now let us get acquainted with what a monotone Boolean function is.

    On the set B = 0,1, we introduce the complete order: we will assume that 0<1. Нам придётся иметь дело с функциями от n переменных, поэтому полезно ввести частичное упорядочение в булевом пространстве В n .

    Definition 1. Let b = (b 1 b 2… b n) and c = (in 1 in 2… in n) - elements from B n. We will say that b precedes (younger) c, and denote bv if b k in k for k = 1,2, ..., n, and at least one k has a strict inequality.

    Example. b = (001100), c = (001110); b 1 = in 1, b 2 = in 2, b 3 = in 3, b 4 = in 4, b 5<в 5 , б 6 =в 6 . Значит, бв.

    Definition 2. Two vectors b and c are called comparable with each other if bv or wb. Otherwise, the vectors are considered incomparable. Such an order is called partial because not all elements from B n are comparable. So don't be confused partial order by B n s complete ordering, which was used when specifying a Boolean function by a table or a vector of its values.

    Here are a couple of examples of incomparable vectors.

    1.b = (1100), c = (0110). Here b 1> c 1, b 2 = c 2, b 3< 3 , б 4 =в 4 .

    2.b = (01), c = (10). Here b 1< в 1 , б 2 >in 2 .

    It can be seen from the examples that incomparable sets are those in which there are components of type (01) in one set and (10) in another set in the corresponding places.

    Definition 3. A function f (x 1, ..., x n) is called monotone (belongs to the class M) if for any two comparable sets b, c B n from what b precedes c it follows that f (b) no more than f (), that is bc f (b) f (c).

    If there is a pair of sets such that bc, but f (b)> f (c), then the function f (x1, ..., xn) is nonmonotonic. By analogy with continuous functions that are studied in the course of mathematical analysis, functions of the algebra of logic can would call non-decreasing... But since we will not deal with nonincreasing functions, we can simply talk about monotony..

    Example 20. The identity function f (x) = x is monotone since b = (0) (1) = c and f (b) = 0< 1=f()

    Example 21. f (x, y) = xy is a monotone function.

    Indeed, the sets (01) and (10) are incomparable, we will not take them into account. For other sets we have:

    (00) - (11) and f (0,0) = 0 1 = f (1,1).

    (01) (11) and f (0,1) = 1 1 = f (1,1).

    (10) - (11) and f (1,0) = 1 1 = f (1,1).

    We made sure that xy equals 0 only on the set (00), which precedes all other sets, so that the monotonicity condition of the function is satisfied.

    Example 22. f (x, y) = x & y is a monotone function, since is equal to 1 only on the set (11), which is preceded by all the others.

    Example 23. Constants 0 and 1 are monotonic functions, since for any sets will be f (b) = f (c).

    Example 24. f (x) = x "is a non-monotonic function, since for b = (0) and b = (1) we have bc, but f (b) = 1> 0 = f (c).

    Example 25. f (x, y) = xy is a non-monotonic function.

    Really,

    (00) ---- (01) and f (0,0) = 1 1 = f (1,1),

    (10) ---- (11) and f (1,0) = 0 1 = f (1,1).

    But for (00) ---- (10) we get

    f (0,0) = 1> 0 = f (1,0).

    The monotonicity condition of the function is not met!

    Example 26. Let's define the monotonicity of the function addition mod 2:

    Sets (01) and (10) are incomparable, we will not take them into account.

    For other sets we have:

    (00) (01) and f (0,0) = 0 1 = f (0,1).

    (00) - (10) and f (0,0) = 0 1 = f (1,0).

    (00) (11) and f (0,0) = 0 0 = f (1,1).

    (10) (11) and f (1,0) = 1> 0 = f (1,1).

    The last condition says that the function x + y is non-monotonic.

    When programming the machining of parts on CNC machines in accordance with DIN 66025 (ISO 6983), formerly known as ISO 7bit, the following operators are used:

    • N - frame number;
    • G - preparatory functions;
    • X, Y, Z, A, B, C - information about displacements along the axes;
    • M - additional functions;
    • S - spindle functions;
    • T - tool functions;
    • F - feed functions;
    • H - auxiliary functions (tool offset data blocks in DIN-ISO mode). In the presence of valid number D of the current instrument is additionally displayed.

    For greater clarity of the structure of the frame, the operators in the frame should be arranged in the following sequence: N, G, X, Y, Z, A, B, C, F, S, T, D, M, H.

    The control program consists of n-th number of frames played continuously or with specified pauses (with high-speed machining of parts made of high-strength aluminum alloys, even a short stop of the tool between adjacent frames is unacceptable because of the danger of overheating or penetration of the machined surface due to friction). In addition, it is possible to skip individual frames and correct sizes by connecting preparatory functions. This ensures the development of control programs for typical technological processes.

    Personnel control program consist of the following components:

    • commands (operators) according to DIN 66025;
    • elements of the high-level CNC programming language;
    • identifiers (specific names) for:
      • system variables;
      • user-defined variables;
      • subroutines;
      • code words;
      • jump marks;
      • macros;
    • comparison operators;
    • logical operators;
    • calculation functions;
    • control structures.

    Since the instruction set according to DIN 66025 is not sufficient for programming complex machining processes on modern multi-purpose machines, it has been supplemented with elements of a high-level CNC programming language.

    In contrast to the commands according to DIN 66025, the commands of the high-level NC programming language consist of several address letters, for example:

    • OVR - for speed correction (percentage);
    • SPOS - for positioning the spindle.

    The structure of the program is as follows: "%" (only for programs developed on a PC), the title of the program "O" or ":" followed by the program number, containing no more than four digits. Each line in the program is a block.

    Each program block has a structure:

    • N - serial number frame (no more than four characters, numbering is carried out after 5 or 10 for the possibility of introducing additional frames when working out the program);
    • preparatory function G;
    • coordinates X, Y, Z, A, C, B;
    • additional function M;
    • spindle function S;
    • tool function T;
    • feed function F;
    • D - tool offset number;
    • H - tool offset data blocks in DIN-ISO mode. Commands operate either modally or frame-by-frame.

    Modal acting teams remain valid in all subsequent blocks with the programmed value until a new value is programmed at the same address, canceling the previously valid command.

    Non-modal commands remain valid only in the block in which they are programmed.

    Each frame ends with an LF character, the LF character is not required to be written, it is automatically generated when the line is switched. The program ends with commands M2, M30 or M99. A block can have a maximum of 512 characters (including comment and end-of-block character LF).

    The preparatory G functions provide all the actions of the machine.

    X, Y, Z - linear coordinate axes of the machine, the Z coordinate is always parallel to the machine spindle axis or perpendicular to the workpiece clamping plane for machines with a two-turn milling head; А, С, В - angular coordinates of rotation about linear coordinate axes. If the machine has more than two spindles, as well as tool heads, then additional coordinate axes X ', Y', Z ', A', C ', B', etc. appear.

    It should be noted that the preparatory functions allow you to go to the coordinate system of the part, which in some cases allows you to abandon the use of special devices.

    Additional M functions are responsible for turning on and off the spindle, pumping stations for coolant supply, direction of spindle rotation, end of the program.

    Spindle function S sets the spindle speed.

    Tool function T defines the number of the tool or tool setting.

    Feed function F sets the feed value.

    Rice. 1.

    The machine coordinate system and directions of positive displacements are shown in Figure 1.

    NC programs can be drawn up in the machine coordinate system, in this case the used machine tooling must be coordinated with the coordinate grid of the machine table. The matching is done by the fact that the base plate of the fixture has a centering pin and a key. The pin is aligned with the bushing pressed in the center of the machine table, and the key with a cool groove. Thus, working space machine in the plane NSY aligned with the fixture's coordinate system. In the coordinate system of the device, basic surfaces are made, for example, a plane and two fingers (cylindrical and cut). Therefore, errors of locating occur both during the installation of the device and during the installation of the part.

    In case of intensive operation in a multi-product production environment, that is, with frequent change of fixtures, it is necessary to recheck not only the tooling, but also the guides of the base surfaces of the machine table, namely the centering sleeve and the cool groove.

    With this in mind, it is advisable to carry out the machining in the workpiece coordinate system. The fixture is oriented along one axis only, and the reference to the workpiece coordinate system is performed by the measuring sensors. In this case, in addition to eliminating the basing error, the requirements for the timing of the tooling rechecking are reduced, moreover, it becomes possible to more widely use normalized devices or adjustments from them without reference to the machine coordinate system.

    Preparatory functions G, additional functions M are shown in tables 1, 2.

    So, on milling machines, the tool change is performed in the following sequence: with the T command, the tool is selected, and its change occurs only with the M6 ​​command.

    For turrets on lathes, the T command is sufficient to change the tool.

    The S spindle function sets the spindle speed, the T tool function sets the tool setting or tool number, and the F feed function sets the feed rate.

    Table 1.Preparatory G functions

    Instructions Description
    G00Linear interpolation at rapid traverse
    G01Linear interpolation at feedrate
    G02Circular interpolation clockwise
    G03Circular interpolation counterclockwise
    G04Time delay
    G05Circular interpolation with a tangent circular path
    G06Decrease in the permissible level of acceleration
    G07Cancellation of the reduction of the permissible level of acceleration
    G0SControl of the feed rate at the break points
    G09Canceling the control of the feedrate at the points of inflection
    G10Rapid traverse in polar coordinates
    G11Linear interpolation in polar coordinates
    G12Clockwise circular interpolation in polar coordinates
    G13Circular interpolation counterclockwise in polar coordinates
    G14Programming the value of the gain by the speed of the follower drive
    G15Cancel G14
    G16Programming without Plane Specification
    G17Plane selection HaveNS
    G1SPlane selection ZX
    G19Plane selection HaveZ
    G20Specifying the Pole and Coordinate Plane When Programming in Polar Coordinates
    G21Axis classification programming
    G22Activating tables
    G23Conditional branch programming
    G24Programming an unconditional jump
    G32Tapping in linear interpolation mode without compensating chuck
    G34Corner rounding for two adjacent straight sections (with a tolerance under address E)
    G35Turn off corner smoothing
    G36Deactivation of the deflection programmed during corner rounding, which becomes equal to the machine parameter
    G37Programming a point for mirroring or rotation of coordinates
    G38Activation of mirroring, rotation of coordinates, scaling
    G39Canceling mirroring, rotating coordinates, scaling
    G40Canceling equidistant correction
    G41Equidistant correction to the left in the feed direction
    G42Equidistant correction to the right in the direction of feed
    G53Canceling zero offset
    G54-G59Initiating zero offset
    G60Offset of the program coordinate system
    G61Precise positioning when moving at feed rate
    G62Canceling fine positioning
    G63Switching on 100% of the programmed speed value
    G64Linking the feed rate to the point of contact between the cutter and the part
    G65Linking the feed rate to the center of the cutter
    G66Activation of the speed value set by the potentiometer
    G67Canceling a Program Coordinate System Offset
    G68Variant of conjugation of segments of equidistant lines along an arc
    G69A variant of conjugation of segments of equidistant lines along the trajectory of intersection of equidistant lines
    G70Inch programming
    G71Cancel programming in inches
    G73Linear interpolation with precise positioning
    G74Exit to the origin
    G75Touch Sensor Operation
    G76Moving to a point with absolute coordinates in the machine coordinate system
    G78Drilling axis activation
    G79Deactivation of one drilling axis or all at once
    G80Canceling the Call of Canned Cycles
    G81, G82Canned Drilling Cycle
    G83Deep hole canned cycle
    G84Tapping cycle with compensating chuck
    G85, G86Reaming Standard Cycle
    G90Absolute Coordinate Programming
    G91Relative Coordinate Programming
    G92Setting coordinate values
    G93Programming the block run time
    G94Feed rate programming in mm / min
    G95Feed rate programming in mm / rev
    G97Cutting speed programming
    G105Zero setting for linear infinite axes
    G108Look Ahead Inflection Control
    G112
    G113Enabling advanced braking control
    G114Enabling advanced speed control
    G115Deactivating advanced speed control
    G138Enabling workpiece position compensation
    G139Deactivating workpiece position compensation
    G145-845Activation of external correction by the programmable controller
    G146Turn off external tool offset
    G147, G847Secondary compensation group of tool offsets; corrections correlated with axes
    G148Canceling additional tool compensation
    G153Canceling the first additive zero offset
    G154-159Indication of the first additive zero offset
    G160-360External zero offset
    G161Accurate positioning during rapid traverse
    G162Canceling precise positioning during rapid traverse
    G163Precise positioning at rapid traverse and traversing at feed rate
    G164First precise positioning option
    G165Second precise positioning option
    G166Third precise positioning option
    G167Canceling External Zero Offset
    G168Offset of the coordinate system of the control program
    G169Canceling All Coordinate System Offsets
    G184Tapping cycle without compensating chuck
    G189Absolute Coordinate Programming for Infinite Axes
    G190Word-by-word programming in absolute coordinates
    G191Word-by-word programming in relative coordinates
    G192Setting the lower speed limit in the control program
    G194Programming speed (feed, speed) with adaptation of acceleration
    G200Linear interpolation at rapid traverse without deceleration up to V= 0
    G202Clockwise helical interpolation
    G203Helical interpolation counterclockwise
    G206Activation and storage of maximum acceleration values
    G228Transitions from frame to frame without braking
    G253Canceling the second additive zero offset
    G254-259Initiating a second additive zero offset
    G268Additive offset of the coordinate system of the control program
    G269Cancellation of the additive offset of the coordinate system of the NC program
    G292Setting the upper speed limit in the control program
    G301Turning on oscillating motion
    G350Setting the parameters of the oscillating motion
    G408Formation of smooth acceleration from point to point
    G500Detection of possible collisions when previewing frames
    G543Enabling Frames Preview Collision Management
    G544Turn off collision management when previewing frames
    G575Frame switching by high-speed external signal
    G580Disbanding coordinate axes
    G581Formation of coordinate axes
    G608Formation of smooth acceleration when moving from point to point for each axis separately

    Note... For each control system, some of the values ​​of the preparatory functions may have different meanings depending on the machine manufacturer. It should be noted that in order to expand the technological capabilities of equipment, manufacturers of CNC systems tend to increase the preparatory functions.

    Table 2.Additional M functions

    Instructions Description
    MOStopping the program
    M1Request stop
    M2End of the program
    M3Enabling clockwise spindle rotation
    М4Enabling spindle rotation counterclockwise
    M5Spindle stop
    M2 = 3Power tool turned clockwise
    M2 = 4Power tool turned on counterclockwise
    M2 = 5Power tool off
    M6Automatic tool change
    M7Air blowing on
    MSTurning on the coolant supply
    M9Cooling off
    М1ОDisabling air blowing
    M11Tool clamp
    M12Tool unclamping
    M13Turning the spindle clockwise in conjunction with turning on the coolant
    M14Turning on the spindle rotation counterclockwise together with turning on the coolant
    M15Switching on the chip flush coolant
    M17End of subroutine
    M19Spindle orientation
    M21 NS
    M22Turn on mirroring of the program along the axis Have
    M23Disable program mirroring
    M29Enabling Rigid Threading Mode
    М3ОEnd of the program with the possibility of simultaneously turning off the power of the machine
    M52Moving the magazine to a position to the right
    M53Moving the magazine to a position to the left
    M7OStore initialization
    M71Lowering the active magazine pocket
    M72Rotate manipulator 60 °
    M73Tool unclamping
    M74Rotation of the manipulator by 120 °
    M75Tool clamp
    M76Rotate manipulator 180 °
    M77Raising the active pocket of the store
    M98Calling a subroutine
    M99Return to main program

    Note:... For different control systems and machine types, additional functions may have different meanings, for example, activate tailstock movement, functions boot device, steady rest, etc.

    When creating an NC program, the programming itself, that is, the conversion of individual work transitions into the NC language, is often only a small part of the programming work.

    Before programming, it is necessary to plan and prepare work transitions. The more precisely the start and structure of the NC program is planned, the faster and easier the programming itself will be and the more intuitive and less error-prone the finished NC program will be.

    Advantage visual programs especially when changes need to be made later.

    Since not every program has the same structure, it makes no sense to work according to a typical template. However, in most cases, it is advisable to adhere to the following sequence.

    1. Preparation of a drawing of a part consists of:

    • a) in determining the zero point of the part;
    • b) in drawing a coordinate system;
    • c) in the calculation of possibly missing coordinates.

    2. Definition of the processing process:

    • a) When will be used, what tools and for processing what contours?
    • b) In what sequence will the individual elements details?
    • c) Which individual elements are repeated (possibly rotated) and should be stored in the subroutine?
    • d) Are there part contours in other part programs or subroutines that can be reused for the current part?
    • e) Where are zero offsets, rotation, mirroring, scaling (frame concept) appropriate or necessary?

    3. Creation of a technological map. Determine one by one all the machining processes of the machine, for example:

    • a) movement in rapid traverse for positioning;
    • b) tool change;
    • c) determination of the processing plane;
    • d) free play for additional measurement;
    • e) turning on / off the spindle, coolant;
    • f) call the tool data;
    • g) submission;
    • h) trajectory correction;
    • i) approach to the contour;
    • j) branch from the circuit, etc.

    4. Translation of transitions into programming language: recording each transition as an NC block (or NC blocks).

    5. Combining all the individual transitions into an operation, as a rule, in one program. Sometimes, especially when machining large parts into the program, the roughing, semi-finishing and finishing transitions can be highlighted. This was the case with the limited memory space found in legacy CNC systems. For modern systems program control the amount of memory practically does not limit the technological capabilities of the machines.

    Standard processing cycles are widely used in modern software control systems. Their use significantly reduces the time spent on programming.

    Some of the canned cycles for control systems used in the WIN NC SINUMERIK software are shown below:

    • CYCLE81 ​​- drilling, centering;
    • CYCLE82 - drilling, countersinking;
    • CYCLE83 - deep hole drilling with twist drills;
    • CYCLE84 - internal threading without compensating chuck;
    • CYCLE840 - Internal threading with compensating tap chuck;
    • CYCLE85 - boring 1;
    • CYCLE86 - boring 2;
    • CYCLE87 - boring 3;
    • CYCLE88 - boring 4;
    • CYCLE89 - boring 5;
    • CYCLE93 - groove;
    • CYCLE94 - internal undercut;
    • CYCLE95 - stock removal cycle;
    • CYCLE96 - threaded undercut;
    • CYCLE97 - threading cycle.

    It should be noted that software control systems high level are open, which allows you to expand the library of standard cycles for processing typical surfaces typical for production of this type products and thereby reduce the preparation time for production.


    Rice. 2.

    The use of CAM systems has led to the need for each software control system to develop postprocessors, without which the equipment does not understand programs without translating them into machine codes (Fig. 2).

    The programming of modern CNC systems is carried out in accordance with the ISO 6983 (DIN 66025) standard, which is more than 50 years old and which, according to programmers, allegedly hinders the development of CNC technologies. The term "CNC technology", according to the author, is not legitimate, the processing of parts on CNC machines obeys all the laws of engineering technology and metal cutting or other methods of shaping.

    Violation of the laws of technological sciences leads to:

    • to increased warpage of parts;
    • to a decrease in the accuracy of linear dimensions;
    • to an increase in the complexity of processing parts, etc.

    The main difference for multi-purpose machine tools is the extremely pronounced concentration of operations, not only characteristic of this type of equipment, but also implemented by a driven tool and special spindle equipment, as well as methods of ensuring accuracy using machine-tool measuring systems. The standard supports simple commands for elementary movements and logical operations... Currently, to solve complex geometric and logical tasks in software control systems, in addition to machine codes in accordance with DIN 66025 (ISO 7bit), high-level programming languages ​​are used. NC programs in the ISO 6983 standard contain a small amount of information obtained at the level of CAD-CAM systems. However, a more serious drawback, according to the developers of software control systems, is the impossibility of two-way exchange of information with these systems, which means that any changes in the control program cannot be reflected in the upstream information flow to the CAD-CAM systems. It should be noted that this is not advisable for all industries. So, for example, smoothing of smooth mates of theoretical contours with splines is permissible, and mating of two surfaces requires analysis. possible methods their shaping, for a number of structural materials there may be technological limitations, for example, the minimum admissible radius of conjugation of structural elements of parts made of high-strength aluminum alloys, etc.

    In contrast to DIN 66025 (ISO 6983), the developed STEP-NC ISO 14649 standard (not all of its modules have been developed at this time) defines a special structure of the NC control program - a program structure, which is used to build logical blocks within the framework of structured machining programming. The structure of the control program is not a list of typical processed forms (features); it defines a workplan, which is a sequence of executables. STEP-NC assumes a wide exchange of information between engineering services, including preparation and planning of production, as well as the shop floor.

    The structure of the proposed exchange of information is shown in Figure 3.

    The structure of the planned information exchange raises a lot of questions:

    • insufficient level of formalization of engineering work complicates the creation of knowledge bases;
    • a large number of cutting tool catalogs, which provide insufficient information for choosing a tool for processing special materials and the conditions for its use, which in most cases requires experimental verification;
    • equipment catalogs often lack information about the positional accuracy of the controlled axes of the machine, the dynamic characteristics of drives, etc.;
    • outdated technological manuals, developed for universal equipment and systematically republished with practically no updating of technological information;
    • lack of systematized information about progressive technological equipment.

    Rice. 3. Planned communication between engineering services and the shop floor

    Additionally, it should be noted that there are no standard methods for optimizing the programming of machine tools in terms of parameters that allow you to choose the best machine or group of machines for performing a particular technological operation or process.

    These problems have been pointed out many times by users of various machine tools involved in the STEP-NC standardization process. Equipment manufacturers and developers software try to take into account the requirements of users and implement some of the these functions in their products. However, their work is often not subject to a single standard, which, according to the existing opinion, can slow down the upgrade of industrial systems. Also, one cannot fail to mention that the equipment produced is rarely used by all modern technologies and as a result, the production base is not as efficient and perfect. With this in mind, the manufacturers of software control systems have chosen a compromise option that allows them to work according to both DIN 66025 (ISO 6983) and ISO 14649 (Fig. 4).

    Rice. 4. Mixed CNC architecture supporting DIN 66025 (ISO 6983) and ISO 14649 (STEP-NC)

    All this indicates that, in addition to improving program control systems and programming methods, it is necessary to be engaged on a systematic basis and prepare technological information:

    • a tool that provides intensification of processing modes;
    • recommendations for the use of various tool designs;
    • dependencies for calculating cutting;
    • dependencies for calculating the components of the cutting forces;
    • databases on CNC equipment and their technological capabilities, including in cases of equipment different systems management;
    • algorithms for calculating cutting modes for machine tools, where an electric spindle is used as a drive of the main movement;
    • strategy for processing various structural elements of parts on CNC machines;
    • databases on the use of serially produced tooling for CNC machines;
    • measuring systems for machine tools, including zero-reading and measuring sensors;
    • production instructions for assembling tool adjustments and balancing them;
    • technological regulations for checking the accuracy of CNC machines, rechecking spindle equipment, especially mandrels and HSK-type bushings, and much more.

    Helper functions (or M-codes) are programmed using the address word M... Auxiliary functions are used to control the program and the electrical automatics of the machine - turning on / off the spindle, coolant, tool change, etc.

    Table 3.

    Designation

    Appointment

    M00

    Programmable stop

    M01

    Stop with confirmation

    M02

    End of the program

    M03

    Spindle rotation clockwise

    M04

    Spindle rotation counterclockwise

    M05

    Spindle stop

    M06

    Tool change

    M08

    Cooling on

    M09

    Cooling off

    M17

    Return from subroutine

    M18

    Positioning the spindle at a given angle

    M19

    Spindle orientation

    M20

    End of a repeating program section

    M30

    Stop and go to the beginning of the control program

    M99

    Continue execution of NC of the first block

    Auxiliary functions that perform the inclusion of any operations ( M03, M04 and M08) are executed at the beginning of the block before the movement commands. The rest of the auxiliary functions are performed at the end of the block.

    Table 3 is a list of commonly used helper functions.

    2.1. Programmable stop (M00)

    Unconditional stop of the NC program after execution of the motion contained in the current block. The UE state does not change until the button is pressed again START on the CNC control panel or keys TO THE BEGINING, to return to the beginning of the program in progress.

    2.2. Stop with acknowledgment (M01)

    Stop the control program after executing the movement contained in the current block, provided that the mode is set “Stop with confirmation” from the control panel of the CNC (see Document CNC MSHAK- CNC Operator's Manual).

    Example:

    X-2 X-4.

    M1; Stop program execution in this block if

    ; the mode is set “Stop with confirmation” from the operator's console

    2.3. End of program (M02)

    Determines the end of the execution of the control program, stops the supply of coolant and stops the rotation of the spindle.

    Example:

    G0X20Z50 Z.5

    G0 X0Z0 M2

    2.4. Spindle rotation clockwise (M03)

    Starts clockwise spindle rotation using the current value specified by the word.

    Example:

    G54 G0 X-20 Z30 S500M3

    2.5. Spindle rotation counterclockwise (M04)

    Starts counterclockwise rotation of the spindle using the current value specified by the word.

    Example:

    G54 G0 X-20 Z30 S1500M4

    2.6. Spindle stop (M05)

    Stops spindle rotation. It is executed after the movements contained in the frame.

    Example:

    G28 X0 Z0 M5

    G4 P2 M2

    2.7. Tool change (M06)

    Performs a tool change between the spindle and the tool magazine. This function occurs:

    · Positioning along the axes to the point of tool change;

    · Spindle rotation stop and spindle orientation;

    · Tool change.

    Example:

    T5; start searching for tool 5 in the magazine

    X50 Z60; continuation of the program

    M6; tool change

    2.8. Cooling ON (M08)

    Includes supply of cutting fluid (coolant).

    Example:

    S300M3X20Z30G0

    G1X50Z44M8; Turn on coolant

    G0Z-100

    2.9. Cooling off (M09)

    Turns off the supply of cutting fluid (coolant).

    Example:

    S300M3X20Z30G0 G1X50Z44 M9M5G0Z-100

    2.10. Return from subroutine (M17)

    Determines the end of a subroutine when it is called with a word with an address L.

    Example:

    X5Z5

    ; Main program

    L10; Calling a subroutine starting with block N10 X2Z8

    N10Z2; Subroutine with block label N10 X10

    M17; End of subroutine and return to main program

    2.11. Spindle positioning (M18)

    With this function, you can turn the spindle at a given angle.

    Format:

    M18 Pnnn

    Where: nnn - rotation angle +/- 360 degrees.

    The angle of rotation is counted relative to the spindle position to which the spindle is set using function M19.

    Example:

    M18 P45; spindle rotation 45 degrees

    2.12. Spindle orientation (M19)

    Helper function M19 stops the rotation of the spindle, performs its orientation.

    2.13. End of repeated program section (M20)

    Determines the end of a repeated program segment when it is called by a word with an address H.

    Example:

    N10 H2; execute program section up to M20 2 times

    Currently, many programming languages ​​are used for programming CNC systems, which are based on the universal ISO 7 bit language. However, each manufacturer introduces its own characteristics, which are implemented through preparatory (G-codes) and auxiliary (M-codes) functions.

    Functions with address G- are called preparatory, they determine the operating conditions of the machine associated with programming the geometry of the tool movement. A detailed description of G-codes can be found in the chapter ISO 7-bit code.

    In this chapter, we will take a closer look at the purpose of auxiliary functions.

    Functions with address M- are called subsidiary(from English Miscellaneous) and are designed to control various modes and devices of the machine.

    Auxiliary functions can be used alone or in conjunction with other addresses, for example, the block below inserts tool number 1 into the spindle.

    N10 T1 M6, where

    T1- tool number 1;
    M6- tool change;

    In this case, under the M6 ​​command on the CNC stand, there is a whole set of commands that provide the tool change process:

    Moving the tool to the change position;
    - turning off the spindle speed;
    - moving the installed tool in the store;
    - tool replacement;

    The use of M codes is allowed in blocks with tool movement, for example, in the line below, cooling will turn on (M8) simultaneously with the start of the cutter movement.

    N10 X100 Y150 Z5 F1000 M8

    M-codes that turn on any device of the machine have a paired M code, which this device turns off. For example,

    M8- turn on the cooling, M9- turn off cooling;
    M3- turn on the spindle speed, M5- turn off the revolutions;

    It is allowed to use several M commands in one block.

    Accordingly, the more devices the machine has, the more M commands will be involved in its control.

    All auxiliary functions can be conventionally divided into standard and special... Standard auxiliary functions are used by CNC manufacturers to control the devices on each machine (spindle, cooling, tool change, etc.). Whereas special modes are programmed on one specific machine or a group of machines of this model (on / off the measuring head, clamping / unclamping rotary axes).

    The picture above shows the rotary spindle of a multi-axis machine. To increase rigidity during positional machining, the machine is equipped with rotary axis clamps, which are controlled by M codes: M10 / M12- turn on the clamps for axes A and C. M11 / M13- turn off the clamps. On other equipment, the machine tool builder can configure these commands to control other devices.

    List of standard M commands

    M0 - stopping the program;
    M1 - stop on demand;
    M2 - the end of the program;
    M3 - turn on the spindle speed clockwise;
    M4 - turn on the spindle revolutions counterclockwise;
    M5 - spindle stop;
    M6 automatic change tool;
    M8 - turn on the cooling (usually coolant);
    M9 - turn off the cooling;
    M19 - orientation of the spindle;
    M30 - termination of the program (as a rule, with the reset of all parameters);
    M98 - subroutine call;
    M99 - return from the subroutine to the main one;

    The machine manufacturer describes the special auxiliary functions in the corresponding technical documentation.