NCT90T Operator Programmer
NCT90T Operator Programmer
Produced and developed by NCT Automation kft. H1148 Budapest Fogarasi t 5-7 : Letters: 1631 Bp. P.O. Box 26 . Phone: (+36 1) 467 63 00 . Fax:(+36 1) 363 6605 E-mail: [email protected]
Copyright NCT 2001 The Publisher reserves all rights for the contents of this Manual. Our permit is necessary for any reprint (even in Abstracts). This Manual has been compiled with utmost care, and its data have been checked thoroughly. Nevertheless we refuse to assume any responsibility for possible mistakes or spurious data and for consequential damages. If you cannot get clear answers to your questions, please do not hesitate to contact our specialists who will realily help you.
This Manual has been compiled with Word Editor WordPerfect 5.1
OPERATOR'S MANUAL
The NCT 9OT control has two versions: $" compact version (with all controls arranged on the front panel, the entire electronic circuitry being located behind it); $" version with external control panel (the screen panel) and t h e op erato r' s panel are arranged on separate boards and the electronic circuitry is accommodated in a separate unit.
1. 2. 3. 4. 5. 6. 7.
Emergency stop switch Screen Feed rate override switch Paging key Function keys (softkeys) NC ready lamp RS-232C/cassette recorder socket (an optional extra for the version with external control panel) Data input keyboard Number input keys: digits, decimal point, sign shift keys Block/sequence number search key Inch/Metric shift key Cursor moving/block input closing and forward/backward shift keys Cursor moving/number input closing and forward/backward shift keys Clear key Incremental value input indicator key
Main spindle drive keys left/stop/right Main spindle speed override keys decrement/100% setting/increment Cycle stop key Cycle start key Jog keys Moving of X, Z axes to +/direction
14b. Moving of optional axes C, U and W +/- direction (with parametering function) 14c. 15. 16. 17. Rapid traverse axis movement Overvoltage key Handwheel (optional) Freely programmable function keys
Hereinafter the above serial numbers or symbols are also used as references to the keys.
1.1 Function keys and paging key The function keys (5) have different meanings and effects in various modes of control. These keys are used to select main and submodes, then they may get another function after the proper mode is selected. Horizontal lines next to the keys point to a definite area of the screen. Current meaning of each function key is written on the screen in the field to which the line points. In case when function keys mean mode selection, meaning of function keys is immediately overwritten after selection of the proper mode (key is pressed). According to the mode selected either the submode menu possible in that mode is written next to the function keys, in which entry is possible by depression of the proper key, or, if there is no subsequent level, a well defined meaning, function, is given to the keys according to requirements of the selected mode. For example, the MPGX text is written next to the uppermost function key in manual mode. If X axis is to be moved with the handwheel, the area next to the key is lit up on the screen when key MPGX is pressed, thereby indicating that this function has been selected. Sometimes several (non-exclusive) functions may be selected at a time. Under such conditions the screen areas next to several function keys are operated in inverse mode. The selected function can be cleared in one of two different ways. - The function can be turned off by pressing the selected function key again. (The screen area next to the key is indicated in normal state.) - If a choice is to be made between mutually exclusive functions, pressing another function key will clear the previous one. The paging key is used to leave the mode given. When it is pressed the control goes higher always with ONE selection level. First, it moves to the sub-mode selection level (if the given main mode has sub-modes), then, on repeated depression, the main mode selection level follows. 2
Thus, process of the various mode and function selection, resp, return from them is as follows: Main mode menu 6 Function key depression 6 Submode menu 6
Function selected
Submode menu
Main mode menu 1.2 Controls for manual movement Controls for manual movement are as follows: $" jog keys (14) $" main spindle drive control keys (10) Controls of the manual movement are ineffective in the following cases: $" actual program execution, $" data input, $" error condition, $" EDIT mode, (PROGRAM) (except for spindle stop key ) $" TEST mode without execution The controls can also be used in program suspension (STOP) status. At this time CYCLE START causes control unit to take up again momentary status valid at suspension, resetting first the main spindle rotation (and simultaneously the coolant) status, then position of coordinates (linear movement with rapid traverse, the last 1 mm with feed). 1.2.1 Jog keys The jog keys can be used to realize axial movement. If none of functions labelled 1, 0.1, 0.01 is selected on the screen, the carriage moves to the appropriate direction until the direction key is pressed
$" with rapid traverse, if the
Rate of movement is influenced by position of the "FEED RATE OVERRIDE" (3) switch. The continuous movement stops when the direction key is released independently of position of the rapid traverse key. The value written at address F is interpreted in n/minute. Simultaneously several axes are movable, if several direction key are pressed. 1.2.2 Keys used for main spindle drive control The main spindle drive keys can be used to start rotation of main spindle in the proper direction: M3 M4 resp, the main spindle can be stopped: using the key. The main spindle stop is also effective in EDIT mode. The main spindle speed is defined by value written in the S address and override status of the main spindle speed ( ). 1.3 Data input keyboard The data input keyboard can be applied in the following cases: $" MANUAL (manual) in this mode it is usable to write a single block. $" EDIT (program and data input) in this mode it is usable to write, modify and search program and parameters, resp, for block search. $" AUTOMAT it is usable to specify sequence number of block to be searched. $" TEST in this mode it is usable to define parameters of graphic display, or for block search or to specify the sequence number of block to be found. $" STOP in this condition it is usable to change function values. Apart from cases listed, depression of data input keyboard is ineffective. 1.3.1 Rules for use of data input keyboard Numbers are entered according to rules below: $" the written number assigns a value to the address visible in bottom line of the screen (data input field), $" left side zeros are not needed to be written in, $" the digit written is interpreted as an integer before pressing decimal point, but afterwards as a decimal, $" in case of right side insignificant zeros after decimal point, or, an integer value, the decimal point is not needed to be written in, $" actual partial value of number entry can be seen in bottom line of the screen (data input field), $" the I/M and keys (if enabled) can also be pressed many times during a number input, any time before closing the number input ( ). Default value: positive, absolute value. Symbol of incremental data input is visible in first position of place before the number being entered, while sign is displayed in the second position. $" The control unit displays DATA? error during number input, if number of integers or decimals that can be provided for the given address is exceeded, or, if on data input of the given address use of the , or keys is illegal. $" With the use of CLEAR key, the commenced number input can be cleared any time before termination. If it is cleared, the status preceding commencement of number input is restored. $" On depression of or CLOSE NUMBER INPUT keys the address being in bottom line 4
of the screen assumes the value which has been entered before use of closing keys. Effect of and CLOSE NUMBER INPUT keys differs from each other in the following: $" if is pressed the address string moves forward, $" if is pressed the address string moves backward. In addition to closing of number input, the keys can be used to move address string without number input as well. In case of block entry, value of skipped address remains unchanged, while on execution the displayed function changes. $" The and CLOSE BLOCK INPUT keys load the edited block from the buffer store into the program store: $" as a new block, if there is no proper sequence number in the block store, $" as a modification, if there is identical sequence number, $" clears block with identical number, if the block is empty in the buffer store. Their effect prevails primarily in program editing mode (EDIT). causes program store to continue editing with its following block, causes program store to continue editing with its preceding block. When using the keys the control unit makes you move automatically always to the beginning of the address string. $" After depression of BLOCK/SEQUENCE NUMBER SEARCH key the block sequence number should be provided and the entry process should be closed with the use of or CLOSE NUMBER INPUT keys. Effect: $" in EDIT mode it may cause block with specified sequence number to be modified, $" in TEST or AUTO mode it may cause block search to occur. Use of key before closing also cancels selection of N address. $" The INCH/METRIC key shifts inch or metric system of data input. In default value the data input, or its display has $" metric system for metric ball screw, $" inch system for inch pitch ball screw (display is made with 2 decimal accuracy in the former case, while with 4 decimal accuracy in the latter case). The changed status is valid until the key is repeatedly pressed. The system of units in which the input process is performed is displayed by a M (metric) or I (inch) character written in top line of the screen. The key affects display of all the coordinate values, and F address. $" The CLEAR key $" clears the started number input, restoring the preceding status, $" clears value of displayed address during block input even before starting the number input, $" releases error condition. Caution! Clear of G address results in clearing the full block.
$" The key is also suitable for cyclic stepping of the main block types in addition to selection of the incremental data input. (GTYP 90;G00, G01, G02, G03, G40, G50, G60, G70, G80). $" The key is suitable for cyclic stepping of the subtype versions in the main type versions in addition to the decimal point input: (G70, G71, G72, G73, G74, G75, G76, [G77, G78 with piston lathe only]).
1.4 Controls of execution $" The EMERGENCYSTOP (1) key disconnects the machine from the control, stops all kinds of machine operations. Its use will interfere directly in the electric control of the machine tool, bypassing the control unit. $" The CYCLE START key causes the following to occur: $" single block written in MANUAL mode is executed, $" zero point assignment is prepared, $" program execution is started in TEST or AUTO mode (automatic execution), $" suspended execution is resumed. The accepted cycle start is indicated by illuminated state of green LED above the key. Apart from cases listed, use of key is ineffective. $" Effect of the CYCLE STOP key prevails only in execution (if lamp of CYCLE START key is lit). It suspends program execution and produces a socalled STOP status. The suspended execution is resumed if START key is pressed. During thread cutting movement or for programmed disabling of suspension (M97 status) the key is ineffective. $" The feed rate override (3) switch can be used to change feed value realized by the control unit: $" 0 through 100% for rapid traverse, $" 0 through 120% for work feed, $" ineffective for thread cutting, or in M97 status! At 0 position of the switch the feed stops (except thread cutting), and it is resumed only if the switch is turned away. In AUTO mode, if the RAP.OV.DISAB. function is selected for rapid traverse, its effect doesn`t prevail, except for 0 position of the switch. $" The MAIN SPINDLE SPEED OVERRIDE keys are effective only if infinitely variable (electronic) gear is applied, except in thread cutting, and M97 status. Pressing the 100% key, the programmed main spindle rotation is assumed. Using the + or key the mains spindle rotation is incremented or decremented in 10% steps in the 50 100% range. It is ineffective if the speed doesn't reach minimum value of speed, or exceeds maximum value of speed, which is defined by manufacturer of the machine in the parameter store, or by programmer at SMAX address for M96. 1.5 Information on use of keyboard Keyboard of control is of repetitive type except for the jog keys (14). This means that if somebody presses a key, its effect subsequently prevails immediately. If the key is kept pressed further on, the effect prevails again after a definite delay (Typematic Delay), if the key is still kept pressed the keyboard enters code of key with definite frequency (Typematic Rate) in CPU of the control over and over again. The operator can set delay and frequency in the parameter field according to his needs. Position of jog keys (14) is interchangeable except for the rapid traverse key. (Refitting of keys requires removal of front panel of the device.) The parameter field can also be used to specify which key position shall represent "+" or "-" direction of one of the axes.
1.6 Informations displayed on screen The screen (2) is able to work in two kinds of display modes. In alphanumeric mode it displays numerals, letters and other characters. In grapich mode it can trace the tool path based on program entered. In this mode, it also writes alphanumeric informations on the screen in addition to the drawing. Characters and texts written on the screen may be as follows: $" normal video, that is, character is white, background is black (e.g general purpose information) $" inverse video, that is, character is black, background is white (e.g. to highlight something) $" blinking, in order to have display to attract attention (e.g. programming errors or machine defects). In graphic mode shade and colour of lines may be different. 1.6.1 Informations displayed on screen in alphanumeric mode
Field 1: Current meanings of function keys are labelled in 8 fields of equal size being at right edge of the screen. The 8 fields are graphically framed. Field 2: Used to write current main mode or SELECT status. Field 3: Used to write current sub-mode or status (STOP, COMPILE). Unless a sub-mode belongs to the given main mode, this field is blank. Field 4: Identifier of program being in program store of control: letter "L" and 4 digits maximum. Field 5: Letter "M" in this field means that display/data input is to be meant by metric system, letter "I" refers to inch system. The display changes with the use of key. Field 6: The label is LATHE, that is, the control has been made for lathes. Field 7: This field is used to write various messages, errors. Field 8: Block number display: Letter "N" and 4 digits maximum. In TEST and AUTO mode it displays sequence number of block being executed. Field 9: Here it is displayed whether the reference point assignment has been done. If letter "R" in the middle of field is in inverse video mode (character is dark, background is light), the reference point assignment has not been done. If letter "R" is in normal video mode (character is light, background is dark), the reference point assignment has beeen done. 7
Field10: In this field the time spent with actual cutting in AUTO mode is displayed in hourminute dimension. Its value is deleted when the control is turned on. Field11: In this field informations relating to the machine, except EDIT mode, are displayed (positions of axes, feed rate, main spindle rotation, tool code, etc.,). In EDIT mode list of already edited and closed blocks, and the general purpose listing area gets here. Field12: It is an area used for the following: MANUAL mode: to display single block, TOOL mode : (tool data input) to list values included in the selected compensation group, REF P mode : blank, EDIT mode : to display listing area, resp, block buffer for program editing, TEST and AUTO: to list program beginning from AUTO mode block being executed, STOP status: an area used to list changeable addresses. Field13: General purpose data input area. It is used on MANUAL, TOOL, EDIT program editing, resp, in STOP status, otherwise it is a listing area. 1.6.2 Informations displayed on screen in graphic mode
Graphic display is possible in TEST and AUTO modes. In TEST mode, the tool path can be traced based on program stored in the program store. In AUTO mode, if the tool path has already been traced in TEST mode, the machining process can graphically be followed. Field 1: The current meanungs of the function keys are titled in eight equal field (boxes) at the right edge of the screen. The eight boxes are framed graphically. Field 2: Printing the current main mode. Field 3: Printing the current sub-mode. Field 4: Identifier of program in the program store of the control (character "L" and max. 4 digits). Field 5: Character "M" in this box means that the display and the data input refer to metric units; character"I" refers to inches. The printing can be changed over by means of key I/M. Field 6: Contains the title LATHE. This means that the control has been designed for use with lathes. Field 7: That box can be used for printing various messages, errors. 8
Field 8: Printing record number (character "N" and max. 4 digits). In TEST or AUTO mode it will display the sequence number of the block being executed. Field 9: Printing in AUTO mode the assumption (assignment) of the reference point. Character "R" blinking in the middle of the box indicates that the reference point has not been assumed (assigned). A normal character "R" (light character, dark background) refers to the completion of reference point assumption. Field10: In AUTO mode, the actual fine spent in machining (cutting) is displayed in this box, in hours:minutes. Its value is cleared by the control at the time of power/on. In TEST GRAPHIC sub-mode, the test executed after function key NORMAL has been pressed will display the time of machining in minutes:seconds; otherwise the value displayed refers to AUTO mode. Field11: X coordinate of upper edge of the graphic field (13) in mm or inch dimension. Field12: Z coordinate of right edge of the graphic field (13) in mm or inch dimension. Field13: Area of graphic drawing. Movement of tool path is traced among coordinate limits shown in fields 11, 12, 14, 15. Field14: X coordinate of lower edge of the graphic field in mm or inch dimension. Field15: Width of work space shown in the graphic field in mm or inch dimension. Field16: Data input area in TEST GRAPH mode. On drawing, resp, in AUTO mode, it displays current value of X, Z coordinates. Field17: Displaying the current values of coordinates X and Z in plotting and AUTO modes. 1.7 Control status display If the LED indicating ready status of NC lights, this indicates power-on and ready status of the control unit. The LED goes out: $" if power supply of control unit is turned off, $" if the control unit breaks down, $" the parameter store becomes damaged, $" the PLC program store becomes damaged, 1.8 RS-232C/ cassette recorder socket Any data carrier device, for example, tape reader/tape punch, RAM cassette, etc., which has an RS-232C serial interface, can be connected to the control unit via this socket (7) and data can be loaded/unloaded into/from that. Any conventional compactcassette recorder can be connected via this socket and data can be loaded/unloaded into/from that same.
2 Selection of main modes Selection from main modes is possible if control gets to SELECT status. This occurs after poweron, or if the operator uses paging key to bring control to this status. If control gets to SELECT status after poweron, the screen displays the following status: SELECT
MANUAL
L 42 M LATHE R 00:00
TOOL
The SELECT status is displayed in the main mode field (2). The current software version number that operates in the control is displayed in the center of the screen. At the right edge of the screen the first six function keys allow the six main modes to select: MANUAL: manual mode TOOL: tool calibration and data input mode ZERO: zero point assignment mode EDIT: mode for input and output, as well as editing of programs and data TEST: mode for testing of part programs AUTO: mode for automatic execution of part programs Pressing any of the function keys the control assumes the selected mode, unless there is an error display. The seventh function key (DIAGN) is a special diagnostic mode, whose description is contained in the "Technical and Installation description". The eighth function key (MACHINE ON) can be used to turn on electric units of the machine tool. After its depression, if poweron was successful, the field illuminates. After poweron the contol unit may send error messages. 10
ZERO
EDIT
AUTO
DIAGN
MACHINE
ON
The errors are cleared with the key. After poweron, if there is part program in the program store the control assumes the COMPILE status, while the program is being compiled. (Refer to section 6.) If the paging key was used to take control to the main mode select status, the screen contains texts of the mode which control has left. For example, the screen displays the following status after exit from AUTO: Exit from the current mode is possible with the use of the paging key in order to access SELECT status. The paging key is ineffective: $" during number input, $" in actual execution, $" in error condition. In any other cases, depression of paging key causes: $" previously valid mode to end, $" control to leave the possible submode, if there is no such a one in the given mode, then it gets to SELECT status. Going from submode to SELECT status is possible by double depression of the paging key.
SELECT
L 42 M LATHE N R 00:00
MANUAL
X Z
0.000 X 0. 0.000 Z 0.
TOOL
ZEROP
(COMMAND) (ACTUAL)
0005 G50 F.5 S1000 T202 M3 M40 AUTO M94 V400 SM2000 X170 Z145
0020 G71 X110 Z0 H110 D.5 F.15 0025 G50 M42 X155 Z4 MACHINE 0030 G70 X138 Z-12 H-12 D1 F.15 ON 0032 G40 X170 Z145
11
MANUAL
L 42 M LATHE
MANUAL mode is established: N0000 R 00:00 $" in SELECT status, if MPGX MANUAL function key is pressed, (ACTUAL) (DIST. TO GO) $" after releasing defined error conditions. X 0.000 X 0. In MANUAL mode MPGZ $" manual jog operation, and/or Z 0.000 Z 0. $" entry of single blocks may be performed. After entering in the mode, the fol lowing informations can be seen on the screen:
(COMMAND) (ACTUAL)
Meanings of data displayed in field 11 of the screen are: $" (ACTUAL): actual axis positions. $" (DIST.TO GO): if one of axes is moving, distance to go to end of the block, $" (COMMAND): programmed feed rate and mains spindle speed value, $" (ACTUAL): actual value modified with override, $" beside F: feed rate, beside S: main spindle speed in override percent, $" V = current cutting rate, SM = current main spindle speed maximum limit (SMAX), $" T: code of the current tool number and compensation group $" Q: actual value of cycle counter, see G60, G61, and thread cutting cycle, $" OUT: current OUT function, $" O: number of machined workpieces. The control counts the executed P2 commands. Its value is 12
1
G90 F 0.000
S 0
T0000
M M M M M 0.1 V 0 SM 0
0.01
0000 90 MDI
GTYP
90
cleared by poweroff, or exit from EDIT mode. $" W: waiting time. If W is programmed, it shows time what is left of waiting in tenths of a second. $" M: shows valid M functions per group. Field 12 of the screen displays address string of the recommended G90 block type when entering in the mode. If the block type is changed (G90 function is overwritten), address string of the new block type is displayed. The G90 address is offered in data input field 13. The number input keyboard 8 can be used to change G type or, stepping the address string, a value can be assigned to any address using the keys. After the data input is closed (use of keys ) the new, next / previous address appears in field 13. The entered value appears in field 12 beside the appropriate address. 3.1 Special cases for manual movement The manual movement can be realized with the main spindle drive keys (10) and jog keys (14), as well as with the handwheel if any is mounted on the machine. Fundamental cases of manual movement are discussed in paragraph 1.2. If the operator wants to move with handwheel along one, or possibly several axes at a time, he has to press the MPG (Handwheel) function key having the proper symbol. The selected MPG area is lit up. Repeated depression of the key clears enabled state of the handwheel on the given axis, the selected MPG area becomes dark. Selecting one of functions designated as 1, 0.1, 0.01, the selected axis moves 1, 0.1, 0.01 mm, respectively, on revolution of one pitch of the handwheel. For incremental jog the selected text is lit on depression of the proper function key (1, 0.1, 0.01), while on single depression of jog keys the selected axis performs a movement of 1 mm, 0.1 mm or 0.01 mm, respectively, in turn in the appropriate direction. If the function S.JOG is selected, on depression of one of jog keys X, Z slow rotation of the main spindle is started, if one of the keys is released the movement is stopped. 3.2 Entry of single blocks In reset status of this mode address string of the G90 (function block) block type is recommended. In case of this block type: $" The control unit immediately (without pressing CYCLE START) assumes the entered function value after the data input to the displayed address is closed (for example, if T address is changed it performs turret tool position change, while if S address is changed, it performs main spindle speed change, etc., ). $" Stepping on G address with data input, selection of a different block type can be initiated. If a block type other than function block is selected, the control unit: $" executes the instruction on depression of CYCLE START key after entry of a directly executable, full block. After its execution the entered value will remain, while for incremental data specification repeated depression of CYCLE START key results in repeated execution. $" an error is displayed if a geometric calculation that may infer more than one instruction blocks (programenvironment) is specified relating to execution of the block. $" If G address is overwritten or deleted, then a new block can be programmed. 13
is pressed.
14
4 TOOL: tool calibration and data input mode. Zero point offset
4 TOOL: tool calibration and data input mode. Zero point offset TOOL L 42 M LATHE The control can change to TOOL mode $" either by pressing the TOOL N0000 R 00:00 function key, or MPGX $" automatically after the zero point assignment. (ACTUAL) (DIST. TO GO) After entry into the mode, the following informations are displayed on the screen: X 0.000 X 0. MPGZ Z 0.000 Z 0.
(COMMAND) (ACTUAL)
0 100% SM1600
Interpretation of data in field 11 of the screen is identical with those described for MANUAL mode (section 3). All attributes of the selected tool and compensation group can be read in field 12. In data input field 13 the address string recommendded by control is as follows: TOOL $" code of tool number and the assigned tool compensation group XTR* $" transversal compensation (diameter value) $" longitudinal compensation ZTR* $" nose radius (radius compensation) RTR* CTP* $" position of centre of nose radius circle in relation to the theoretical edge (refer to Programmer's Manual).
1
T0101 X
0.000
Z 0.1 R
0.000 0.000
CP 0
0.01
15
4 TOOL: tool calibration and data input mode. Zero point offset
rightdrifted system
leftdrifted system
In this mode, controls of the manual movement can be applied in a manner described in paragraphs 1.2 and 3.1: the main spindle is startable and stoppable, the axes can be moved continuously, incrementally and with handwheel. First two digits of T address: tool number (code) If a number of 4 digits is written on T address, for example: T01nn, where nn = 00 99 (entry of leading zero(s) can be omitted), after data input with or key is closed the tool with specified number (1) is put to working position on the machine and tool compensation marked nn is called in. Second two digits of T address: code of tool compensation group Writing two digits on T address, for example: T12, no tool change is made after the data input is closed, only the specified tool compensation group (12 in our case) is called in. Up to 99 various tool and 99 various tool compensation groups can be manipulated on the control. The address string elements can be selected with and keys, except for skipping tool address, which is feasible with keys and Data can be entered with the numeric keypad. 16
4 TOOL: tool calibration and data input mode. Zero point offset
The tool calibration has two fundamental cases: $" tool calibration inside lathe $" tool calibration outside lathe. 4.1 Tool calibration inside lathe The procedure is as follows: 1. The cutting tool is clamped in the tool holder according to the machining position, 2. The tool code and code number of tool compensation group (4 DIGITS) are specified by data input to T address. It causes an actual tool change. 3. The tool clamped in the tool holder is touched to a surface, whose size is known in coordinate system of machining, of the clamped workpiece in X then Z direction (with manual movement). 4. According to the selected direction of touch, coordinate value of known size surface of the workpiece is entered in X then Z addresses. (During entry, programmed point of the tool is just located at the coordinate value of given size. 5. Subsequently, nose radius value valid for the given tool is written in R address. 6. The value written in C address cannot be deleted and cannot be overwritten with zero data either. 7. The procedure is repeated separately for tools present in the machining program. L Notes: $" On data input to address T and on entry of a tool code, the position change is immediately carried out for a tool change system of turret tool if key is pressed. $" On data input to address T four (4) digits have to be specified even if the tool is in machining position. $" If tool calibration is made by touching one of base surface areas of the workpiece, it is recommended to drive the main spindle in order to protect cutting edge from damage. $" The coordinate values written in addresses XTR* = Xm, ZTR* = Zm in data input field 13 will be displayed as actual positions in field 11 under the (ACTUAL) text after the data input process is closed.
17
4 TOOL: tool calibration and data input mode. Zero point offset
$" In field 12, where data of the selected tool compensation group are displayed, compensation values Xk, Zk are displayed at address X, Z, which is calculated
automatically by the control unit after the data input process is closed, X where m; Zm current position in coordinate system of the workpiece (a value visible in field 11). Xk; Zk tool compensation, which means offset of zero point of workpiece coordinate system in relation to nose of tool in the given compensation group (a value visible in field 12). 4.2 Tool calibration outside lathe For tool calibration outside lathe, tool and compensation group codes assigned to each tool, as well as data to be specified on addresses X, Z, R, C are contained in a table. The procedure is as follows: 1. The tool compensation group is selected by data specification on address T (BY MEANS OF TWO DIGITS ONLY, so that the control unit does not perform the calculation given in point 4.1, but stores direct the the entered value). 2. Data of table are entered in turn on addresses X, Z, R and C. 18
4 TOOL: tool calibration and data input mode. Zero point offset
3. Operations described under steps 1 and 2 are repeated for each tool compensation group. 4. Subsequently, zero point offset fixed to the workpiece is determined in relation to reference point of tool holder located on the reference point. A measuring tool is changed by nn00 code (nn may not be 0) entered on address T, of which compensation values are known. The tool nose is touched to known size point of workpiece clamped in the chuck. Sum of distance from touch point to workpiece zero point (Xm;Zm) and overhang of the given tool (Xk;Zk) are entered in address XTR*, ZTR* in data input field 13. This causes
control unit to calculate distance between declared reference point of tool holder residing at the zero point (reference point) and the zero point of workpiece, that is it calculates the zero point offset (Xn;Zn), which is displayed in field 12. The position display under the (ACTUAL) text in field 11 shows distance of declared reference point of tool holder measured from zero point of the workpiece. (Xm + Xk = Zm + Zk, that is, it shows the value entered.) The zero point offset calculated so and stored at address X, Z on group code TOO is effective at call of every other compensation group and compensation of the selected 19
4 TOOL: tool calibration and data input mode. Zero point offset
group is added to this value. As for special function of T00 compensation group, see paragraph 4.4 (Zero point offset) in detail. L Notes: $" As for display of tool length compensation values, the particulars stated for tool calibration inside the lathe are valid. $" The tool length compensations are signed quantities, their magnitude and sense (sign) are determined by position of declared reference point of the tool holder in the coordinate system fixed to the tool nose. $" The tool compensation values can also be loaded from a cassette in EDIT mode. When loading from cassette the zero point offset is also reloaded. $" On entering or loading tool length compensations on cassette, the carriage may be in any position. 4.3 Modification of tool length compensations (Wear compensation) Tool compensations are to be modified because of the deviations of machined workpiece from the specified dimensions (for example, dimensional error due to tool wear). The modification is possible in TOOL CALIBRATION mode, by an appropriate INCREMENTAL data input to X, Z or R address (that is, with signed value of the deviation) after calling of the proper compensation group on address T. This modification can be accomplished in arbitrary position of the carriage. If size of the machined workpiece is larger than specified, the compensation value should be decreased (data input with negative increment), if smaller, the value should be increased (data input with positive increment). 4.4 Zero point offset (G61, T00) The zero point offset can be realized by programming block type G61 and data input to addresses X and Z in $" MANUAL mode or $" EDIT mode in the part program. In order to make the system consider zero offset, the block entered has to be executed. Zero offset can also be performed in TOOL CALIBRATION mode by selecting T00 compensation group and data input to addresses XTR*, ZTR*. The control unit interprets data entered in addresses XTR*, ZTR* in field 13 as direct zero point offset, the entered value gets to field 12, while the current position is calculated in the new coordinate system in field 11. On the contrary, if the compensation group is called in by Tnn00 data input (nn may not 0) (combined with tool code reference), the control unit automatically calculates the zero point offset from the value entered in address XTR*, ZTR* and momentary position of the carriage, based on paragraph 4.2, which gets into field 12, while the entered value is regarded as current position (display of field 11). Execution of zero offset is necessary: $" for tool calibration outside the lathe to specify relative position of workpiece, or tool holder coordinate system, $" for shifting the coordinate system of workpiece (since not the individual tool compensations are modified separately). 20
4 TOOL: tool calibration and data input mode. Zero point offset
The position of cutting point of tool in coordinate system of workpiece is calculated and displayed by the control unit according to the relationship below:
External tool calibration Xa = Xo - Xk - Xn Za = Zo - Zk - Zn where: Xa, Za are the current coordinate values in coordinate system of workpiece, displayed in field 11 Xo, Zo are values recorded within the control unit: for external tool calibration: $" momentary position of declared reference point of tool holder in relation to its position occupied at the zero point (reference point) in coordinate system of the zero point (reference point); for internal tool calibration: 21
4 TOOL: tool calibration and data input mode. Zero point offset
$" momentary position of tool nose in relation to its position occupied at the zero point (reference point) in coordinate system of the zero point (reference point; Xk, Zk are tool compensation values displayed at Tnn address (nn may not be 00) in field 12,
Internal tool calibration for external tool calibration: $" position of declared reference point of tool holder in a coordinate system set to the tool nose; for internal tool calibration: $" partial shift of zero point of workpiece in relation to tool nose at the zero point (reference point) in coordinate system of the zero point (reference point); Xn, Zn are values of zero offset along X and Z axes displayed on address T00 in field 12, that is, 22
4 TOOL: tool calibration and data input mode. Zero point offset
for external tool calibration: $" position of starting point of workpiece coordinate system in relation to declared reference point of tool holder at the zero point (reference point) in coordinate system of the zero point (reference point); for internal tool calibration: $" shift of starting point of workpiece coordinate system in relation to tool nose at the zero point (reference point), in coordinate system thereof. All components are to be interpreted as signed quantities according to sense of the coordinate system concerned.
23
5 ZERO: zero point assignment mode By pressing function key REF P the control unit is set to ZERO POINT ASSIGNMENT mode. The mode is required in all cases after the control unit is turned on. No absolute programming is possible in lack of zero point assignment. After entry into this mode the following informations are displayed on the screen: ZERO
L 42 M LATHE R 00:00
N REFRNC (ACTUAL)
(DIST. TO GO) X 0. Z 0.
X 0.000
FLOAT
Z 0.000
GRID
(COMMAND) (ACTUAL)
T0101 Q 0 OUT
0 W
Contents of display field 11 are identical to those described in section 3. Fields 12 and 13 are blank. The function keys permit 3 sub-modes to select, which provide 3 different zero point assignment procedures: REFRNC = for reference point zero, the zero point is assumed by carriage running from switch mounted on the machine on the next encoder zero pulse. The overruning is made with rapid traverse, then a deceleration occurs at the switch. FLOAT = for floatingpoint zero, the 24
zero point is assumed at the position where the carriage actually resides. GRID = for grid point zero, the zero point is assumed on the grid point (at rotary encoder zero pulse) that is nearest the actual position of the carriage. Selecting the proper mode the screen displays the following information after pressing the function key: if REFRNC is selected:
ZERO
L 0 M LATHE N R 00:00
MPGX (ACTUAL)
(DIST. TO GO) X 0. Z 0.
(COMMAND) (ACTUAL)
F 0.120 F 0.120 100% V 100 S 350 S 383 110% SM2500 If FLOAT or GRID is selected only the text of submode is changed. After the submode has been selected, manual movement is possible in a manner described in paragraphs 1.2 and 3.1. Before zero point assignment is commenced, the carriages must be moved to the proper position with manual movement. Then, process of zero point assignment is as follows: After CYCLE START key is pressed, depression of jog keys (14) finds special significance, the axis assuming zero point can be selected by them. For REFRNC and GRID the machine moves to the reference switch or grid point in the direction defined on its installation. The zero point assignment has to be started separately for each axis. For FLOAT no carriage movement occurs. If zero point has been assumed on both axes, the control unit
1
0.1
0.01
25
changes automatically to TOOL CALIBRATION mode. Mode of zero point assignment may differ with each axis. The carriage movement can be stopped even during zero point assignment with the CYCLE STOP key. If there is not movement the paging key is effective! The zero point assignment doesn't delete zero point offset. The machine power on/off deletes zero point offset only if the compensation store becomes damaged (TCORR error). Before zero point assignment a reduced rapid traverse is valid for any kind of axis movement. The control may send different error displays for zero point assignment, which are discussed in paragraph 10.2.
26
6 EDIT: mode for input and output, as well as editing of programs and data
6 EDIT: mode for input and output, as well as editing of programs and data On depression of EDIT (PROGRAM) function key the control unit enters in this mode. Contents of the screen are then as follows:
EDIT
PROGR
0040 G01 X300 Z0 W.1 DIR 0045 G50 F1.234 X300 Z0 0050 G01 XI-120 A-4 F1.25
Fields 11 and 12 are blank, if the program store is empty. If not, then these two fields display list of program residing in the store. A name may be assigned to the program in data input field 13 on address LABL. L is a fourdigit identifier number. Its value may range from 0 to 9999. The various program and data types are identified in different value ranges of L. $" 0 7999: identifiers of part programs $" 8000 8499: identifier s o f interface programs $" 8500 8999: identifier s o f
0070 G71 XI-50 ZI-40 HI-50 D2.5 0075 G01 ZI40 0080 G01 X0 A-45 0085 G01 X160 A45
0090 G70 XI-48 ZI50 HI50 D6 PARAM 0095 G00 XI48 0100 G01 X300 A45
27
6 EDIT: mode for input and output, as well as editing of programs and data
parameter data $" 9000 9999: identifiers of tool compensation store The data input keyboard (8) can be used to assign a value to L as described in paragraph 1.3. After termination of data input (use of keys or ) the new L value appears in field 4 of the screen. Texts of function keys mean different submodes. They are as follows: PROGR: Program input, modification from keyboard CASSETT: Read and write programs and data with cassette recorder. RS232: Read or write programs and data on RS232C serial line. DIR: Manipulate background store. CLEAR: Clear program store. PARAM: Load parameter store from keyboard. PLC: Input of interface program, modification from keyboard. Use of PARAM and PLC submodes is described in manual titled "Technical and Installation Description". Intervention in the parameter store and interface store requires special skills and knowledge! Termination of EDIT mode When the program has been corrected, entered or loaded, the control performs running of program segment assigned to termination of EDIT mode after the paging key is pressed. This program segment $" checks syntactically (formally) correct completion of address string of blocks, ERROR DISPLAY occurs if no value was written in one of addresses to be completed compulsorily (value limit is checked only right at data input). The control unit indicates an error even if the technological program begins with a positioning relating not to both axes. This positioning block may at most be preceded by a coordinate shift of type G60G61 or a function block. $" performs geometric calculations defined by continuous sequence of blocks, ERROR DISPLAY occurs if sequence of blocks is not conform to the specification, or the calculations cannot be performed. After the error display is released, you are prompted to correct block with erroneous sequence number (in case of sequence error the previous or next block is possibly displayed). $" finally, new blocks are inserted in the program for each roundingoff, or edge chamfering (in case of programming to B address). During time of the above activity the COMPILE status is displayed next to the EDIT title in field 3 of the screen. As long as this text is visible the keyboard is not usable. IF an ERROR occurs, the following is made after the error is released: Status of entry in EDIT mode is produced. Exit from EDIT mode is possible only if all errors have been corrected.
28
6 EDIT: mode for input and output, as well as editing of programs and data
29
6 EDIT: mode for input and output, as well as editing of programs and data
After depression of PROGR function key, the screen displays the following information: Field 11 shows list of the part program. If store is empty, then 0005 is block number. Number of block being edited is seen in inverse video in Field 11. Field 12 shows address string of block being edited. If program store is empty, address string of G50 type is offered. The word (address and data) being edited is seen in inverse video. Field 13 shows word being edited with its fourletter address. After the word is closed ( ), the entered data appears in field 12 and the next/previous word will be selected. After the block is closed ( ), the closed block appears in field 11 and address string of the next/previous block gets into field 12, while first address of the new block gets into field 13. Enter new program If the store is empty and a new program is being entered the control first offers address string of the block of G50 type. When programming blocks of other type, the address string automatically changes by rewriting of G block type code. When the block is closed, the block is sequence-numbered (N) automatically by fives using the keys. Modify program By keying , number sequence, , the control automatically searches the block of specified number (if such a one exists in the program store) and so you have the possibility to modify the selected block. For block insertion, since the 30
0040 G01 X300 Z0 W.1 0045 G50 F1.234 X300 Z0 0050 G01 XI-120 A-4 F1.25
G50 F 1.500
S 0
T0101
SM 0 Z W0.0 FR 0
6 EDIT: mode for input and output, as well as editing of programs and data
block is sequencenumbered by fives, up to four new instruction blocks can be inserted between two existing program blocks without changing blocks residing in the store. The program is modified, or entered with the data input keyboard (8), its method is described in paragraph 1.3. We repeatedly call the attention that editing takes place in an intermediate buffer store, the block is copied into the permanent program store only after depression of one of keys or . 6.2 Read or write programs and data with cassette recorder Before entering in the sub-mode complete L program identifier as described in point 6, depending on whether part program, interface program, parameter data, or tool compensation store is to be read in or out. Pressing the CASSETT function key after entry, contents of screen are as follows: Fields 11, 12 and 13 always show list of program residing in the part program store. Corresponding to value of L address detailed in point 6, second line of text of the first three function keys shows texts PRG, PLC, PARAM or TOOL. As a preparatory measure for readin, position yourself before the program to be read in on the cassette (with manual tape movement) and connect the recorder to the control unit via socket (7) on the front panel. Using the READ function key, select readin status, then start readin with function key START. Both function keys are lit. Start playback on the recorder with pushbutton PLAY.
R 00:00
READ
0010 G41 X300 Z300 WRITE 0015 G01 X0 PRG 0020 G01 Z0
0025 G50 X0 Z0 READ 0030 G01 X300 Z300 ALL 0035 G00 X0
0040 G01 X300 Z0 W.1 WRITE 0045 G50 F1.234 X300 Z0 ALL 0050 G01 XI-120 A-4 F1.25
0070 G71 XI-50 ZI-40 HI-50 D2.5 0075 G01 ZI40 0080 G01 X0 A-45 0085 G01 X160 A45
0090 G70 XI-48 ZI50 HI50 D6 0095 G00 XI48 0100 G01 X300 A45
31
6 EDIT: mode for input and output, as well as editing of programs and data
The control unit searches the next sync signal on the cassette. The readin process can be stopped with function key STOP (reset status of CASSETT submode is returned). Recognizing the sync signal the program is loaded. During load the following are checked: $" START signal per byte $" cross parity per byte $" longitudinal parity $" program length (number of bytes) $" checksum of program If load is successful, the system goes to reset status of EDIT mode, first page of the actually loaded program is visible on the screen. As a preparatory measure for write, position yourself to a location selected for store on the recorder (with manual tape movement), and connect the recorder to the control unit. Using the function key WRITE select write status, then start write process with RECORD pushbutton on the recorder. When the cassette tape is already in motion, the function key START causes control unit: $" to wait 10 seconds for acceleration of cassette tape, then write sync signal, $" to write desired program together with the necessary verification signals, $" finally, to enter in reset status of CASSETT submode. For blank cassette (or if playback is not started), the operation can be interrupted with function key STOP, and the control returns to reset status of PROGR sub/mode.
32
6 EDIT: mode for input and output, as well as editing of programs and data
6.3 Read or write programs and data on RS232C serial line Before entering in this sub-mode, assign a value to the L identifier. After entry with RS232 function key, the screen is as follows:
33
6 EDIT: mode for input and output, as well as editing of programs and data
Process of manipulation is identical with that described in paragraph 6.2. The peripheral having RS232C interface, for example, tape reader/tape punch, RAM cassette, is connected to the control via socket (7) on the front panel. Data relating to format, rate, or code of writing (ISO or EIA) must be set in the parameter field. (See Technical and Installation Description.) On readin the control automatically recognizes the incoming code (ISO or EIA). The endofline terminating character has to be selected also in the parameter field. Data and programs must meet severe formal requirements. Requirements relating to part programs and tool compensation data are comprised in manual titled Programmer's Manual, while those relating to parameter data and interface programs are included in manual titled "Technical and Installation Description". Possible error messages: SYNTAX?, TOO LONG. 6.4 Manipulate background store The control may store several part programs. The programs entered from keyboard in EDIT (PROGR) submode, or read in RS232 submode, gets into the program store. In TEST or AUTO mode, the control executes program residing here, and writes the program residing here on cassette or via RS232C interface. If part program in the program store is not required for a while, it may be saved to the background store, then it can be called again if necessary.
R 00:00
READ
0010 G41 X300 Z300 WRITE 0015 G01 X0 PRG 0020 G01 Z0
0025 G50 X0 Z0 READ 0030 G01 X300 Z300 ALL 0035 G00 X0
0040 G01 X300 Z0 W.1 WRITE 0045 G50 F1.234 X300 Z0 ALL 0050 G01 XI-120 A-4 F1.25
0070 G71 XI-50 ZI-40 HI-50 D2.5 0075 G01 ZI40 0080 G01 X0 A-45 0085 G01 X160 A45
0090 G70 XI-48 ZI50 HI50 D6 0095 G00 XI48 0100 G01 X300 A45
34
6 EDIT: mode for input and output, as well as editing of programs and data
Entry in this sub-mode is made with function key DIR. After entry into the sub-mode, contents of screen are as follows:
EDIT DIR
LOAD
L 237 M LATHE R
LABL SIZE LABL SIZE FREE 32542 21 626 10 45 129 SAVE 234 2387 Identifiers of programs residing in the background store are listed in fields 11, 12 ans 13 in two columns under the title LABL, while their size in bytes is provided under the title SIZE. The programs are arranged in incresasing sequence numbers of their identifiers. The number following the title FREE indicates the free space available in the background store. The title PROG beneath it is followed by the number of programs stored in the background. By selecting the LOAD function the program may be loaded from the background store into the program store. The program identifier may be selected with keys , , by moving to the desired identifier number. When the programs are listed in two columns, the inverse box pointing to the selected program can also be moved acrosss the columns on the screen with keys and . If even two columns are insufficient for listing the programs in the background, the continuation of the list is indicated by two symbols > and ? beneath each other in the column under the title "PROG". Now key can be used for paging forward by two columns; key enables the inverse box to be moved to the beginning of the list. Of course, any program can be selected also by using keys and alone; when 235 3119
PROG
237 2012
DELETE
ALL
35
6 EDIT: mode for input and output, as well as editing of programs and data
reaching the lower or upper limit position, the list of programs will be rolled upward or downward automatically. The selected identifier number is displayed in inverse. After selecting the program, then pressing function key START, the program is reloaded. After reloading is completed, beginning of the loaded program is listed and the previous program in the program store is lost. Selecting SAVE function, then activating function key START, the program residing in the program store is transferred to the background store. Several programs with identical program number can be stored in the background store. If the background store is full and the new program can no longer go in it, the control sends a FULL? error message. Selecting DELETE function it is possible to delete the program from the background store. (Selection: see LOAD function). Pressing function key START, the selected program is deleted. Selecting LIST function, the program with selected identifier is listed on the screen on depression of START function key. The keys , can be used to step forward/backward per line, while keys , will page forward/backward. Selecting LOAD PROM function, list of test programs blasted fixed store of the control will display on the screen. Selecting the proper one, it is loaded in the program store on depression of function key START. Selecting CLEAR ALL enables the entire background store to be cleared. To have this function executed, press the appearing START function key after this function has been selected and, for safety's sake, type code 7, 5, 3 "blend". When this function is executed, the content of the background store will be deleted forever. 6.5 CLEAR: Clear program store
36
6 EDIT: mode for input and output, as well as editing of programs and data
After entry into the submode contents of the screen are as follows: The START function key causes program in the program store to be deleted, the screen will be blank after the deletion is completed.
0040 G01 X300 Z0 W.1 0045 G50 F1.234 X300 Z0 0050 G01 XI-120 A-4 F1.25
0070 G71 XI-50 ZI-40 HI-50 D2.5 0075 G01 ZI40 0080 G01 X0 A-45 0085 G01 X160 A45
0090 G70 XI-48 ZI50 HI50 D6 0095 G00 XI48 0100 G01 X300 A45
37
7 Mode for testing of part programs After program input it may be necessary to test the program. The TEST mode is used for this purpose. After pressing TEST function key, contents of screen are as follows: TEST
L 42 M LATHE N R 00:00
POSITN
(ACTUAL)
(DIST. TO GO) X 0. Z 0.
< <
X 0.000 Z 0.000
GRAPH
Values displayed in field 11 are identical to those described for manual mode. Fields 12 and 13 show first blocks of part program residing in the program store. The function keys can be used to select submodes: POSITN: execute "dry run" program without command issue. GRAPH: display tool path on screen RAPID: program execution, each movement with rapid traverse. FEED: program execution, each movement with feed.
RAPID
(COMMAND) (ACTUAL)
S 160 S
0 100% SM1600
T0101 Q 0 OUT
0 W
0005 G50 F.5 S1000 T202 M3 M40 M94 V400 SM2000 X170 Z145
0020 G71 X110 Z0 H110 D.5 F.15 0025 G50 M42 X155 Z4
0030 G70 X138 Z-12 H-12 D1 F.15 0032 G40 X170 Z145
38
7.1 Execute "dry run" program without command issue After entry into the submode contents of screen are as follows: SINGLE BLOCK: execution per block. COND. BLOCK: conditional block, COND.STOP: conditional stop, refer to description of AUTO mode as for effect of these function keys. START function key causes control to scan program execution without issuing either move or other commands to the machine tool. SINGLE BLOCK: by validating this function key the control stops at the end of each block (STOP position), $" displays coordinate values to be reached at the end of block in field 11, $" while it displays function values valid in the block on the function indication. The automatic block search can be executed in this STOP position as well (status without execution remains, but after block search the SINGLE BLOCK function key is to be pressed again), but no manual movement, resp, function overwrite is possible. The STOP position can be released with the use of START function key. 7.2 Display tool path on screen After pressing the function key the screen changes to graphic mode.
N
SINGLE
R 00:00
BLOCK (ACTUAL)
(DIST. TO GO) X 0. Z 0.
< <
X 0.000
COND.
Z 0.000 BLOCK
COND.
STOP
(COMMAND) (ACTUAL)
0 100% SM1600
T0101 Q 0 OUT
0 W
0005 G50 F.5 S1000 T202 M3 M40 M94 V400 SM2000 X170 Z145
0020 G71 X110 Z0 H110 D.5 F.15 0025 G50 M42 X155 Z4 START 0030 G70 X138 Z-12 H-12 D1 F.15 0032 G40 X170 Z145
39
After the function key NORMAL is selected the function keys will be redefined, and starting draw operation with START key after this, the workpiece being in the program store will be drawn in field 13 so that all the tool movements find room in the graphic field. If a detail of tool path drawn in such a way is wanted to blow up, a box may be shrunk on the desired detail by keeping <= function key pressed. The box may be enlarged with the =< key, while using the <, =, >, ? keys it can be moved to left, right, up and down, respectively. After the box has been set to the desired detail, the function keys will be redefined after depression of OK function key. The START function key causes desired detail to be drawn in field 13. Third mode to define area to be drawn is to select fields 11, 12, 14, 15 of the screen with keys , (the selected area goes to inverse video). Coordinates of width of field 13 are given with direct number input to field 16. Only one can be defined from fields 11 and 14, the other is a value presenting itself. If positive direction of X axis points upward the value to be presenting itself is the field 14, while if it points downward the value to be presenting itself is field 14. Subsequently, the drawing process can be started by pressing OK. On drawing the screen is as follows: The CLEAR function key can be used to delete the display before beginning of drawing or in STOP status. The START function key can be used to start, while STOP function key to stop drawing. During drawing, no command is issued to the machine tool. In field 16 the X, Z coordinate values are displayed during drawing. E f f e c t o f S IN G LE B LO C K , COND.BLOCK, COND STOP function keys prevails as described for AUTO mode, when you are in drawing mode.
40
Block search is possible based on informations described for AUTO mode. The rapid traverse movements are displayed with halftone traces, while path sections made with feed appear with heavier traces. In STOP status after block search and before pressing START function key, a small bright crossmark indicates the drawing process holds. Positive direction of Z axis always points to right edge of the screen. Positive direction of X axis may point to upward and downward as well, depending on the design of the machine. (This is shown in the parameter field, if DSPX=0 the direction points up, while if DSPX=1, down). When "2" is written for parameter DSPX, axes X and Z will be interchanged. This facility is used with a vertical carriage (caroussel) lathe. 7.3 Program execution, each movement with rapid traverse After depression of function key the screen is as follows:
41
If CYCLE START key is pressed TEST RAPID L 42 M LATHE the program is executed in such a way N R 00:00 where feed is made with a rate defined in SINGLE TESTFEED parameter independently of the programmed feeds. It may occur in BLOCK steps or continuously. In STOP position (ACTUAL) (DIST. TO GO) the block search is allowed, and the < X 0.000 X 0. execution with rapid traverse remains. COND. < Z 0.000 Z 0. BLOCK
COND.
STOP
(COMMAND) (ACTUAL)
F 0.500 F 0.500 100% V 100 7.4 Program execution, each movement with feed Identical with those described for RAPID submode with the difference that the control unit performs each movement with programmed feed, even the positionings with rapid traverse. S 160 S
0 100% SM1600
T0101 Q 0 OUT
0 W
0005 G50 F.5 S1000 T202 M3 M40 M94 V400 SM2000 X170 Z145
0020 G71 X110 Z0 H110 D.5 F.15 0025 G50 M42 X155 Z4
0030 G70 X138 Z-12 H-12 D1 F.15 0032 G40 X170 Z145
42
8 AUTO: automatic execution After depression of AUTO function key the screen is as follows: AUTO
L 42 M LATHE N R 00:00
SINGLE
BLOCK (ACTUAL)
(DIST. TO GO) X 0. Z 0.
X 0.000
COND.
Z 0.000 BLOCK
COND.
STOP
Contents of field 14 are identical to those described for MANUAL mode. Fields 12 and 13 displays list of program being executed, with block being executed in the top line. 8.1 Continuous execution C h a n gi n g t o A U TOMATIC EXECUTION mode, the program residing in the program store is started and is continuously executed on depression of CYCLE START key. When end of program (P2 command) is reached the main spindle stops rotating and initial status of AUTOMATIC EXECUTION mode is again established. The program can be restarted with the CYCLE START key.
(COMMAND) (ACTUAL)
0 100% SM1600
0005 G50 F.5 S1000 T202 M3 M40 M94 V400 SM2000 X170 Z145
8.2 SINGLE BLOCK: block-by-block execution Pressing the SINGLE BLOCK: execution per block function key at any 0025 G50 M42 X155 Z4 time during the AUTOMATIC EXECUTION mode (display field is 0030 G70 X138 Z-12 H-12 D1 F.15 lit).the control unit: $" still completes the block being 0032 G40 X170 Z145 executed (only the full block, it 43
0010 G60 X.2 Z.1 RAP.OV. 0015 G50 M8 M41 X155 Z4 DISAB. 0020 G71 X110 Z0 H110 D.5 F.15
will not stop after partial cycles, or blocks of partial cycles), $" establishes program suspension status (STOP position) automatically after execution of the given block. In STOP status the informations described in paragraph 8.4 are valid. During execution, repeated depression of SINGLE BLOCK function key (display field becomes dark) as well as end of program (P2) cancels status of stepwise execution, and the program will again be executed in continuous mode. 8.3 COND.BLOCK: conditional block COND.STOP: conditional stop Pressing any of the function keys the display field will be illuminated (active status). If, during execution, the control unit finds a P3 conditional stop command in one of the blocks and COND. STOP function is activated, STOP status is established, otherwise P3 is ineffective. If, during execution, the control unit finds a P4 conditional block command in one of the blocks and COND. BLOCK function is activated, then the block is skipped without execution, otherwise P4 is ineffective. 8.4 RAP.OV.DISAB.: rapid traverse override disable. GRAPH: graphic display If RAP.OV.DISAB. function is active (text is illuminated), the override switch is ineffective for rapid traverse (only for feed movements). An exception is "0" position of the switch, which is effective for rapid traverse, too. 8.5 GRAPH: graphic display If GRAPH function is active and previously the tool path has been drawn in TEST mode, then, in graphic mode, the control uses a bright crossmark to indicate the current stage of the machining process. The normal video (display) can be reset with function key ALPHA. 8.6 STOP status: suspend execution
44
Execution suspension (STOP status) is established, AUTO STOP L 105 M LATHE $" in "SINGLE BLOCK: execute per block" status, after completion of N0655 R 02:16 each program block, MPGX $" on the effect of program instruction (in active status of P1 or P3 (ACTUAL) (DIST. TO GO) command and COND.STOP function). X 0.000 X 0. $" at any time on the effect of MPGZ depression of CYCLE STOP key Z 0.000 Z 0. , if one of carriages is moving (an exception is threadcutting partial block or M97 command status, the suspension becomes effective only after completion of this partial block, or when the command status (COMMAND) (ACTUAL) ceases to exist). F 0.120 F 0.120 100% V 120 The STOP status is indicated by illumination of lamp over the CYCLE S 1200 S 1197 100% SM1600 STOP key . The CYCLE START key causes program execution to continue. T0525 Q 0 OUT 0 W TOOL M03 M09 M11 M40 M95 COMP.
1
0.1 F 0.000
S 0
M M M M M O 0.01 V 0 SM 0
FEED 0.000 45
8.6.1 Options for intervening in STOP status In STOP status (the lamp over CYCLE STOP key is lit) pressing another CYCLE STOP the lamp goes out and the screen takes up the following status: In field 12 of the screen address string of STOP status is validated. Labelling of function keys is identical to those described in MANUAL mode. Now the following interventions are possible: 1. The CYCLE START key causes program execution to continue. If, previously, position of carriages have been changed by the jog keys (14), or the keys were used to stop main spindle drive, the control unit assumes again the main spindle speed (according to the earlier direction), or returns to coordinate point valid on suspension (rapid traverse, the last 1 mm with workfeed, along the straight line that can be drawn between the current coordinate point and the coordinate point valid on suspension). 2. The carriages can be moved with the jog keys (14) or handwheel, the main spindle can be stopped based on those described in paragraphs 1.2 and 1.3. 3. Data can be written in address string FEED, SPIN, M, OUT, VELO, SMAX, which is immediately validated and it remains valid until it is overwritten even if the program is continued. 4. An automatic "search block" operation can be initiated with data entered in N address. Relating to this, informations described in paragraph 8.4 are valid. 5. An optional mode can be selected following depression of paging key . 6. A tool compensation can be modified (even in AUTO default status) by setting up function key TOOL CORR. with the function key pressed, a new address string can be called. (By pressing it again, the initial address string will be restored [in AUTO default states, the program list will be selected].) T9999 X Z R At address TOOL, the control compensation group can be called. The values entered to correction addresses X, Z and R are interpreted incrementally. Only a number smaller than 1 mm may be defined for then. The entered correction (compensation) values will be validated when called after positioning following CYCLE START L Note: Manual movement, data input, block search is effective in STOP status (to prevent accidental depressions) only if repeatedly pressing the CYCLE STOP key to turn out its lamp. The coolant stops automatically when entering this status, however, CYCLE START causes it to restart. 8.7 Block search In STOP status of TEST or AUTO mode automatic block search is produced $" by pressing the key, $" by specifying block sequence number with number input keyboard 8a. (in field 13), $" by terminating data input with key. On block search the control unit 1. Invalidates the execution per block function (turns out SINGLE BLOCK title). 46
2. Scans program beginning from start of program to the block with searched sequence number in status of "execution without data output", interpreting its commands, too, calculates position to be reached at the end of block searched and the machine status. 3. Establishes STOP status. 4. CYCLE START causes it to take up the searched machine status and the calculated coordinate value (in straight line with rapid traverse, the last 1 mm with feed), then continues execution from the next block. L Note: In TEST status without execution (POSITN), or in GRAPH submode, the execution described in step 4 is omitted.
47
9 Poweron reset status After poweron the control unit runs test programs. During this time it checks the check sum of fixed stores (PROMs), performs RAM test, or checks status of PLC program store and parameter store. It gives OK indication, if finds each store segment good, resp, BAD indication, if one of them is faulty. In case of error, the NC Ready lamp is not turned on, so the control cannot be applied to the machine. Any of errors occurring here requires intervention of an expert. After poweron the screen requires about 2025 seconds for warmup. After the test programs have been run, the control unit: $" enters in SELECT status, $" checks program in the program store, if finds it good, it will be compiled which is indicated by COMPILE text flashing in field 2. If the program store got damaged, MEMORY error is indicated, $" checks tool compensation store, and TCORR error indication is given if the store has some error. Subsequently, an optional mode can be selected on the control (after the error is cleared, if error has occurred). In its status after power on the control unit: $" gets into absolute programming reset status $" NC LED lights $" In reset status of MANUAL mode address string of G90 block type (function block) will be offered $" X and Z values are random ones $" displayed value of N block number is zero. At poweron of control unit the following default status is validated in relation to the technological parameters M05 = spindle stop M09 = coolant off M95 = there is no constant cutting rate calculation The code before power/off is assumed as tool code, if the compensation store is faultless, otherwise 0000 tool code is interpreted by the control unit The status before power/off is assumed as range code. Default values of the further function values are: $" feed rate $" main spindle speed $" cutting rate $" max. main spindle rotation are defined by constants of the parameter store. (See Technical and Installation Description). At poweron there is no valid reference point, value of "active time" and workpiece counter (0 address) are zero.
48
10 Messages and error signals The control unit can send messages and error signals from three sources. They may be as follows: $" error signals of supervisor program of control $" error signals of NC program of control $" error signals and messages of PLC program of control. The errors may be different and may require other interventions: $" fatal errors (these are error signals of supervisor program), which can be cleared only by poweron/off of the control, but,if the cause of error still persists, the errors may appear again and entail loss of NC ready status; $" severe errors, which can be cleared, but they disconnect control from the machine tool (for example, errors of measuring system), so prevent operation of the machine; $" manipulation programming errors, which can be cleared; $" error signals of message character, which can be cleared and machining is resumable, but, until the error persists, they appear over and over again (for example: REC.ST); $" or errors from PLC, which will be cleared by eliminating the cause of error (for example: machining cannot be started until the door closing working space is shut). Field 7 of screen is used to display errors and messages. Errors deriving from NC program may appear in both alphanumeric and graphic modes, but in case of the other error signals and messages it reverts to alphanumeric mode if it was in graphic mode previously. 10.1 Error signals of supervisor program of control After power-on the supervisor program checks stores of control and if they were found good the "OK" title is appended after the name of each store segment. If an error is found, the BAD message is put after name of the corresponding store segment. Names of store segments are: PROM CONTROL: RAM CONTROL: SYSTEM PARAMS SERVICE PLC HGSZ PLC
If the control finds a faulty one of the PROMs, replace the corresponding component. Exit from error condition is not possible. If error is found in one of RAM spaces, then that space has to be read in again. It is advisable to store parameter store and PLC program on a data medium readable by control. The clear key causes control to enter in SELECT. Subsequently, the appropriate program ca be read in from the external data medium. (Refer to Installation Description for more detailed information). If any of errors occur, the control will not turn on its ready-to-operate signal. The supervisor program may send error indications during operation of the control, too. These errors are fatal, and entail loss of ready status of NC or power-off of the machine. Errors of this type will be logged by the control. To facilitate a subsequent trouble-shooting, it is advisable for the operator to record such errors including the time instant, the error signal (display), the circumstances causing the error (trouble) and the remedy of trouble (if any).
49
NC Ready Error Failure of Watchdog Timer PLC Timeout DPG Timeout 15V FAILER WATCHDOG HW. Error POD Interrupt Divide Error Overflow Invalid Opcode PLC program error Error of path calculation Circuit trouble Trouble of WATCHDOG circuit Power failure, voltage fluctuation Division of zero Overflow of arithmetic operation Instruction not interpreted by the processor
ENCODERn: Error of shaft encoder in the n-th axis If - the encoder wire of an axis is broken, or - pulses of improper polarity arrive at the control, or - the "ready to operate" signal of the shaft encoder (pulse shaping electronic circuitry) is discontinued, the control will disconnect the output MACHINE ON, and will signal "ENCODERn error". The error is accompanied by the loss of NC readiness for operation; it will be cleared by poweroff/on only. It is forbidden to perform any work on the machine tool until the actual case of the trouble is eliminated! FDBCKn: Feedback error in the n-th axis When feedback pulses fail to come from a shaft encoder, the control will disconnect the output MACHINE ON, and will send an error signal "FDBCK". The error is accompanied by the loss of NC readiness for operation; it can be cleared by a power-off/on only. It is forbidden to perform any work on the machine tool until the actual cause of the trouble is eliminated. RAM Parity Error: RAM parity error If parity checking circuit built around RAMs detects error the control sends the above error indication. The error entails loss of NC ready status, and is cleared only on power-off/on. SERVOn: Follow-up error in the n-th axis Should the magnitude of followed-up error in an axis exceed the value set at address SERRL in 50
the parameter field, the control will turn off the output MACHINE ON, and will send an error signal SERVOn. The error is accompanied by the loss of NC readiness for operation; it can be cleared by power-off/on only. It is forbidden to perform any work on the machine tool until the actual cause of the trouble is eliminated! SHORT: Shorted interface output If an interface output line is shorted or overloaded, the control will turn off the output MACHINE ON, and will send an error signal SHORT. The error is accompanied by the loss of NC readiness for operation; it can be cleared by power-off/on only. NC Ready Error: Watchdog timer drop-out This error occurs if watchdog circuit built in the control, which is armed by the system at specified intervals, drops out. The error entails loss of NC ready status, and is cleared only on power-off/on. PLC Timeout: PLC program error This error occurs because of wrong PLC program. Cause of error is that :001 module of PLC program doesn't expire in the time slice reserved for it. The error disables MACHINE ON signal, that is, entails machine power-off. DPG Timeout: Path calculation error If program performing path calculation doesn't expire in the time slice reserved for it, this error will occur. The error disables MACHINE ON signal, that is, entails machine power-off. WATCHDOG HW. Error: Watchdog circuit error If, after power-on, watchdog circuit built in the control is not managed to be armed, this error will occur. The error entails loss of NC ready status, and is cleared only on power-off/on. POD Interrupt: Power failure If a short-time power failure has occurred, which didn't arm reset circuit of the control unit, this error message is sent. The error entails loss of NC ready status, and is cleared only on power-off/ on. Divide Error: divide by zero If a divide-by-zero command is sent to the arithmetic unit of the control, this error signal will occur. The error entails loss of NC ready status, and is cleared only on power-off/on. Overflow: Overflow of arithmetic operations If arithmetic unit of control overflows, this error signal will occur. The error entails loss of NC ready status, and is cleared only on power-off/ on. Invalid Opcode: Non-interpreted instruction If the processor built in the control reads in an instruction non-interpretable by it, this error will occur. The error entails loss of NC ready status, and is cleared only on power-on/off. 10.2 Error signals of NC program Error signals of NC program may be as follows: $" errors due to store volatility $" errors occurring in connection with the control and external devices, $" errors due to manipulation and programming $" errors occurring in connection withthe control and machine. Error messages of NC program are - inverse messages, and are displayed in field 7 of screen. 51
After the error message is cleared with the Error signals of NC program are:
Error signal
Description of error status, cause of error The value of BAUDRATE is not a standard one. Parameter specified incorrectly. Too big ovality programmed in piston turning. Wrong checksum of background store. Error of cycle organization. Data input error. Program store is empty, the commands of TEST mode cannot be used. Movement started prior to application of zero voltage or in an emergency. Wrong feed programmed. Background store is full. Error in zero-point assumption.
Status assumed after elimination of error status, other procedures PROGRAM mode. Specification of BAUDRATE parameter. PROGRAM mode. Correction of the technological program. PROGRAM mode. Clearing the wrong programs. Manual mode. Correction of technological program. The data input can be repeated. PROGRAM mode. Loading of technological program. MANUAL mode. Zero voltage applied or error cleared. PROGRAM mode. Correction of technological program. LIBRARY mode. Clearing the superfluous programs. REF P mode. Offsetting the zero pulse. MANUAL mode. Clearing the error message can be followed by movement of carriage (slide) in opposite direction. SELECT main mode. Re-loading of deleted data. PROGRAM mode. Correction of the technological program. PROGRAM mode. Correction of the technological program. SELECT main mode. Loading the correct PLC program.
BAUD
BIG OVAL
LIM+-
MEMORY
Error in program memory. Negative ovality programmed in piston turning. The calculated feed is too high to be performed. Error in PLC program.
-OVAL
OV.FEED
PLC.SEG
52
Description of error status, cause of error Write protected program memory. Error in RAM DISK. Error in block structure.
Status assumed after elimination of error status, other procedures PROGRAM mode. Cut out write protection. PROGRAM mode. PROGRAM or MANUAL mode. Correction of wrong technological block. SERIAL sub-mode. Checking the SERIAL parameter group, inspection of cable. REF P mode. Correct specification of REFDIS parameter. REF P mode. REF P mode. Correct specification of ZERODIS parameter. REF P mode. Zero-point assumption. REF P mode. STOP condition. PROGRAM or MANUAL mode. Correction of technological block. REF P mode. SERIAL sub-mode. Re-loading of correction store or repeated tool calibrations. SERIAL sub-mode.
RS FAIL
Error in zero-point assumption. Error in zero-point assumption. Commencement of block disabled. Calculation error. Error in zero-point assumption. Error in serial transmission. Error in correction store. Error in serial transmission.
BAUD: BAUDRATE error Non-standard BAUDRATE value in the parameter store. BIG OVAL: Too big ovality Excessive ovality has been specified. C.SUM: Program in background store in error If, in EDIT DIR sub-mode, checksum of program to be loaded or dumped is in error, C.SUM error is displayed. After the error display is cleared, DELETEW status is assumed and the wrong 53
program can be cleared. CYCLE: Cycle error The control system indicates CYCLE error if a block type G60 $" does not contain the value written in FROM address among the specified blocks; $" includes more than 4 nested cycles as result of erroneous programming; $" the value written at address FROM points to a non-positioning block or a type G60 one. DATA: Data input error A data input error appears, if at data input $" number of digits keyed exceeds number of integers or decimals permitted in the address, $" use of , or key is not permitted, $" code value written is obviously erroneous. After the error condition is released, the condition preceding data input is restored. EMPTY: program store is empty Unless there is a technological program in the program store, entering in TEST mode will produce this error. ESTATE: Start of movement in emergency Unless the cause of trouble producing an emergency stop is eliminated, the control will send an error signal ESTATE if an attempt is made to move the machine tool. After the error has been released, the control will go over to SELECT mode. FEED: Error in feed rate programming The control system evaluates the specified feed rate value as being in error if, in M95 status or at thread-cutting, the main spindle is not rotating and a movement is started. The signal relating to wrong specification of feed rate is displayed on program execution. After the error is eliminated, the control unit changes to MANUAL mode. It changes over to PROGRAM from AUTO or TEST mode. FULL: Background store is full When programs are saved in DIR background management sub-mode (SAVE command), FULL? error display is given if the background store became full. GRIDPOSn: Error in zero-point assumption This error arises in the assumption of the MACHINE's zero point when the zero pulse has arrived in the axis concerned outside 1/4 and 3/4 fraction of the ZERODIS distance specified in the parameter. LIMX+, LIMX-, LIMZ+, LIMZ-: Running of carriages against limit position Stroke range of carriages is limited by limit switches. For lack of these, SW limit positions defined in the parameter field are effective. (The SW limit positions are effective only after zero point assignment!) If the carriage runs against limit position in any direction, the control unit locks the carriage movement and displays error code according to the direction. After the error condition is released, the control changes to MANUAL mode, and the limit position may be left with a JOG movement in a direction opposite to the previous direction of travel. If the carriage is at limit position, it is not possible to initiate $" tool change $" spindle gear range change $" main spindle drive (stop yes) 54
$" spindle speed change. MEMORY: Program store error MEMORY? error is displayed if control sum of content of program store is in error. This sum is examined by the control unit after power-on changing to EDIT, TEST and AUTO mode. When releasing error display, content of program store is cleared. -OVAL: Negative ovality The specified ovality is negative. OV.FEED: Excessive feed The control assesses the specified feed to be an eroneus one if an excessive feed has been specified (that cannot be executed). PLC.SEG.: A PLC error The PLC program has no segment value. PROTECT: Program store write-protected This error display is given by the control unit when a keyed switch is mounted on the machine tool, by which write in the program store can be prevented . In locked position of switch, in EDIT mode, program input is not possible $" manually (PROGR), $" from recorder (CASSETTE), $" from RS channel (RS232), $" from background store (DIR), as well as $" program residing in the program store cannot be cleared (CLEAR). RAMCAS: A RAM disk error Automatic transfer is not feasible. RECORD: Error in block structure A block structure error will appear, if the block edited fails to comply with the syntax of programming description. After the error condition has been eliminated, the control remains in PROGRAM or MANUAL mode. RS FAIL: HW error in RS-232C channel The control unit displays RS FAIL? error, if during data transmission: $" the transmission has been interrupted; $" parity, start bit, stop bit error is detected; $" STOP function key has been pressed. REFDISn: Error in the process of zero-point assumption This error is encountered in the process of a MACHINE's zero-point assumption, when the reference-point switch is not found along the indicated axis within the distance specified in parameter REFDIS. REFENDn: An error in the process of zero-point assumption This error is encountered in the process of a GRID's zero-point assumption, when setting to the zero pulse is not feasible along the axis indicated. REFGRIDn: An error in the process of zero-point assumption This error is encountered in the process of a MACHINE's or GRID's zero-point assumption, when the zero pulse fails to arrive from the shaft encoder in the indicated axis within twice the distance ZERODIS defined in the parameter field. REFP: Absence of zero point assignment The control system stores fact of zero point assignment and enables positioning to absolute
55
coordinate only if valid zero point assignment has occurred. Absence of zero point assignment will occur: $" after power-on; $" if ready-to-operate status of control system ceases to exist; $" in case of emergency stop. After the error condition is released, the control changes to REF P mode. REFn: An error of reference-point assumption This error is encountered in the process of a MACHINE's zero-point assumption, when the assumption was a failure. REC.ST: Disable block start This error occurs when any assembly of the machine tool breaks down (e.g. the carriage lubricant is lost), but the given block(s) can still be completed. The control indicates the error before beginning of the next movement block. After the error condition is released, the control enters in STOP status, CYCLE START causes commenced block to execute. SQRT: Calculation error Calculation error will appear (SQRT) if calculations of circles, or intersection and tangent points cannot be performed. As for release of this code, refer to those described for (RECORD) error code. SWITCHn: An error in the process of zero-point assumption This error is encountered in the process of a MACHINE's zero-point assumption, when the come-off is not detected in the indicated axis within a distance of 100 increments after running on the switch. SYNTAX: Wrong program is received in RS-232C channel If syntactic (formal) error is detected when reading is being made on RS-232C interface (cases of DATA? error display or unpermitted address for given block type), SYNTAX? error display is provided. The clear key causes it to advance. The syntactic errors (and comments) are listed to size of a screen. TCORR: Tool compensation store damaged TCORR? error is displayed if check sum of content of memory unit storing tool compensations is in error. This sum is checked by the control unit at every mode change and after power-on. After releasing the error, code content of compensation store is cleared and the machining process cannot be started without reloading. TOO LONG: Too long program TOO LONG error display is given if the program just being read in finds no room in the program store in RS-232C reception. 10.3 Messages and error displays of PLC program Displays that may be sent from the PLC program may be of two kinds: $" messages and $" error displays The messages and error displays from PLC program always change the screen to alphanumeric mode, if it was in graphic mode, and appear in message field 7. Based on their appearance, they may be of three kinds: $" blinking displays, $" displays written in normal characters, 56
$" displays written in inverse character. The displays can be deleted in many ways: $" with CYCLE START key , or other intervention made on the machine tool for blinking displays. $" with the use of clear key , or other interventionmade on the machine tool for displays written in normal or inverse characters. The PLC program, which forms an interface between the control and the given machine tool, is made by manufacturer of the machine. Therefore, MESSAGES AND ERROR DISPLAYS FROM THE PLC PROGRAM cannot specifically be listed here, they are always contained in the OPERATING MANUAL DESCRIBED BY MANUFACTURER OF THE MACHINE. As an illustration of the possible messages and error displays, let us see some examples. Tool change on a machine tool is possible only with hand.If during run of part program a tool is required to change, the control unit sends TOOL 03 message and blinks that. The operator inserts the tool 03 in the tool holder and allows machining to go on by pressing the CYCLE START key. Machining on a machine tool may be performed only if door of workspace is closed. The operator, using START key, starts machining of a part. Then, the control sends DOOR error message with inverse characters. The error cannot be cleared, the program can be resumed only after the door is closed. During machining performed on a machine tool, thermal protection of one of motors is released due to overload. The machine performs emergency stop and the control sends OVERLOAD 4 error message with normal characters. The operator, using clear key, clears the error, resets thermal relay of motor 4, then continues machining.
57
PROGRAMMER'S MANUAL
11 Introduction
11 Introduction 11.1 Fundamentals The NC lathe is provided with all the informations necessary for automatic machining of a workpiece through input of numbers. The numbers may represent directly interpretable quantities (dimensions, speed, feed rate, etc.) or codes (tool position, direction of main spindle rotation, coolant ON, etc.). These path informations, and switching informations necessary for tool movement are defined by the programming engineer from the part drawing and prefabricated component drawing of the workpiece, based on fundamental features of the selected tools and operating mode of the control. All processing steps of the lathe have to be recorded in advance (machining program). After the entire information necessary for numerical control has been loaded into the store, the control system automatically processes and executes them. The machining program determines the sequences (order and temporal ones) of machining the work part, and the tools to be used for those operations. Information content of each number is defined by addresses displayed on the screen in textual form. Each command begins with an alphabetic character followed by numbers and other characters as described by the set of instructions. Thus type of data specification is referred to as "address code" programming. The addresses and numbers form words altogether. The control system performs the machining program block by block. Within a block every instruction can be given through a word each. A block comprises all data required for the execution of a machining section or stage. Execution of the program is controlled by the system through a path measuring system built in the machine tool, and through the interface lines. The twoaxis path control system controls travel of carriage and cross slide having a movement perpendicular to each other so as to let the cutting tool travel along the straight and curved sections of profile of the workpiece in plane of machining. The tool travel path made up of straight and curved sections is needed to program only data defining each path element, since the intermediate tool path data is continuously supplied for the actuating elements by the interpolator of control system. The central unit, having Computerized Numerical Control (CNC), of NCT 90T control system is a microcomputer system, programmed to perform machine tool control functions. The machining program can be loaded from keyboard of the operator's panel, magnetic tape cassette, or from any computer or intelligent peripheral having RS232C interface, into the memory of control system. The functions offered by the microprocessorbased control system (program modification, cycle organization, geometric calculations, etc.) allow highly economical and effective operation. The program input accomplished with menu technique on the full screen is comfortable and minimizes possibility of mistakes. The applied programming language and method of program execution is upward compatible to those of types of HUNOR 712, 721, 731. So, programs written in these control systems can be entered in the NCT 90T and, after cutting, the same workpieces are obtained as with the older control systems. The functions provided by the CNC control system significantly facilitate the task of programming, i.e., production engineering activity, along with testing and modification of programs 62
11 Introduction
and effectively support both working activities. Consequently, the user's attention is called to the fact that operation of the lathe can only be mastered by knowing fundamentals of programming, and also the programmer should know the particulars of lathe operation. RELIABLE OPERATION OF THE MACHINE IS POSSIBLE ONLY IF YOU CAN INTERPRET THE LOADED PROGRAM AND CHECK ITS CORRECTNESS. THE OPERATOR SHOULD AT ALL TIMES FORESEE THE CONSEQUENCES OF HIS INTERVENTION. Following from highly intelligent and universal character of programmability of the control system, the experienced programmer can edit the machining program from part drawing directly during keying, and can load it into the memory in several cases.
11.2 Programming and machine operation activity The programming engineer has the following main tasks: 1. Designing the clamping of workpiece and providing the necessary auxiliary equipment. 2. Preparing an optimum cut distribution and tooling plan. 3. Defining geometric path data. 4. Defining optimum technological data. 5. Program preparation. 6. Preparing machine adjustment documents for the operator. Main tasks of the operator are: 1. Clamping of workpiece 2. Toolingup, tool calibration, lathe adjustment 3. Program loading, lathe operation 4. Supervising and checking the machining process and measuring the workpiece 5. Tool compensation 6. Intervention, interruption, restart, etc.
11.3 Technical specifications Description Number of axes controlled simultaneously: Accuracy of path calculation: Definition of dimensions: System of units: Specification two (transverse axis X and longitudinal axis Z) linear and circular interpolation with an accuracy of 0.001 mm (0.0000394 in) in absolute and incremental systems metric and English (inches)
63
11 Introduction
Specification X= 7999.998 mm (314.9606 inches) diameter value Z= 7999.999 mm (314.9606 inches), length Rapid traverse: max. 25 m/min (984.3 inches/min); Feed: 0.001 mm/rev. to 32.000 mm/rev in steps of 0.001 mm/rev, 0.0000394 inch/rev. to 1.2598 inch/rev in steps of 0.0000394 inch/rev. direct feed specification, modification with override switch on the operator's panel over a range of 0 120%, also affecting rapid traverse in the range of 0 100%. to a pitch limit of maximum 999.999 mm (39.37004 inches). in range of 0 9999 rev/min $" direct constant surface speed programming, $" modification with override switch on the operator's panel between 50 150%. manually on keyboard of operator's panel, as an option: from magnetic tape cassette or via RS232C interface. with battery store protection in CMOS RAM, storage of several programs convenient background management. storage in memory up to 99 tool positions, diameter, length and radius compensations in the full interpolation range. with special block types or in tool calibration mode. repeated execution of roughing, drilling and threadcutting fixedcycle program segments with coordinate zero offset On a 9 inch screen, 3LED display in alphanumeric and graphic modes to check condition of the equipment and lathe. Includes checking of program and tool compensation store, error display of machine condition, display of handling errors, checking of interface condition.
Display:
Error checking
64
11 Introduction
Specification 1. Manual operating modes a. manual jog b. execution of single blocks c. facility of handwheel attachment 2. Tool compensation mode 3. ZERO point assignment mode 4. Program editing mode 5. Test mode 6. Automatic execution mode
Reversal and ball screw lead error compensation: Data input/display: Equidistant path tracking: Automatic toolradius compensation: Automatic tool retract: Contourroughing cycle: Automatic data input or data storage: Automatic geometrical path element calculations:
a machine backlash of maximum 32 mm (1.2598 inch) can be compensated, on 500 points maximum, +7/8 unit lead error adjustment per point. in metric or inch system equidistant path calculation by programmed alteration and cyclical execution of nose radius. up to 99 tool positions, storage of tool nose radius and its automatic interpretation at path control. repeated automatic approach of the path contour with the tool after program interruption. roughing cycle to a contour surface written at other place of the program. storage of programs and tool compensations, as well as their repeated reloading by means of a magnetic tape cassette or via RS232C interface. automatic definition of intersections, chamferings and rounding offs between straight lines and circular arcs; simplified and shortened geometric block structures.
65
12 Program, word, address, address string Background store of control system can accommodate several programs simultaneously. In order to be able to distinguish the programs, each program has to be provided with an identification number, i.e., a PROGRAM NUMBER. The program number should be specified at L address after entering in EDIT mode. If no value is assigned to the program number, the control system regards L as having 0 value. Several programs with identical program number can be stored in the background store. The program is made up of blocks. Every block consists of data assigned to several addresses, where data included in the block defines a specific partial activity. Every block must have compulsorily the following elements: $" serial number $" type code $" data sequence defined by type code (address string) The SERIAL NUMBER (NUMB) is a number used to identify the block. On correcting the program, or on block search becoming necessary during execution, reference is made to the block by specifying the serial number. On continuous loading of program through keyboard, there is no need to specify serial number, since this increases automatically by steps of five, beginning from. The intermediate numbers allow new blocks to be inserted. In such a case, number of block should be entered from the keyboard. When listing the program in EDIT, TEST and AUTO modes, N address is not displayed and only the serial number is displayed at the beginning of block. In EDIT mode the editing, while in TEST and AUTO modes serial number of block being executed is visible in inverse video on the screen among the listed blocks. In TEST and AUTO modes the current block number is indicated in a separate field labelled N. Function of type code is to define the character and interpretation method of data included in the block, i.e., the type of block. Only single type code is interpreted per block. When keying the program from keyboard, the type code is "modal" from the previous block. A new type code can be defined by writing a two-digit number on address GTYP. During editing or execution, the type code appears after the block number in the list together with its address (G) and value. On editing, a text referring to its function also appears in the bottom line of screen next to the type code (P1:G01:LINE). All data of the previous block is cleared if the type code is rewritten (deleted). Having selected the block type or acknowledged the "modal" code, the control system automatically offers those ADDRESSES in bottom line of the screen (along with values assigned to them), that can take part in performing the partial task defined by the type code. The address and the related value are called WORD together. In screen field above the bottom line full address string of block defined by the type code is visible together with values assigned to the addresses, which values can be defined on address appearing currently in the bottom line.
66
The address offered is suitable for $" entering a new value $" modifying its existing value $" clearing its existing value $" accepting its existing value unchanged $" advancing without assignment of a value Sequence of the offered addresses is called ADDRESS STRING. Some of addresses must be loaded (failing to do so causes control system to display error). There are addresses containing path information, others have a modifying effect. The addresses interpreted by the control system and address strings of block types are summarized in the following tables. On data input the control system displays addresses together with their full (4character) names. When describing the technological programs, the addresses are denoted with their abbreviation (initials). Every program has to begin with a positioning block (G40 G57), in which both the XABS and ZABS values are defined. This block can be preceded only by a coordinate offset (G60 G61) or function block not containing positioning. 12.1 Block types Type codes: GTYP: full name, G: abbreviated symbol (code) Block type extended symbol (code) GTYP 00 01 02 03 40 47 50 57 40 or 50 41 or 51 42 or 52 43 or 53 44 or 54 Full name RAPID LINE CIRCR CIRCL POSIT FUNCT L XZ ZX ABS LA Execution linear interpolation with rapid traverse linear interpolation with feed circular interpolation CW (clockwise) circular interpolation CCW (counter clockwise) positioning and function execution function execution and positioning linear rapid traverse rapid traverse in X then in Z direction rapid traverse in Z then in X direction rapid traverse in a straight line to a position independent of tool compensation rapid traverse in a straight line, with pre-deceleration of last 1000 increments 67
Full name
Execution rapid traverse in X then in Z direction, with predeceleration of last 1000 increments rapid traverse in Z then in X direction, with predeceleration of last 1000 increments linear rapid traverse to the start point of section extending the next straight line with 1000 increments, and running to the straight line with pre-deceleration cycle organization, repeated execution of program segments, coordinate transform coordinate transform, intermediate final zero offset roughing cycles longitudinal facing (crosswise) longitudinal contourroughing drilling cycles drilling with tool lift tap-drilling reaming drilling with debursing thread cutting standard metric thread, 60degree standard Withworth thread, 55degree square thread with variable shift of cut trapezoidal thread at defined angle of cut plane thread cylindrical deep thread
XZA ZXA
47 or 57
LTA
60 61 60 61 70 72 70 71 72 73 76 73 74 75 76 80 85 80 81 82 83 84 85
CYCLE TRA NUL ROUGH LON DIA CTR PECK DRL1 TAPPING BORING DRL2 THREA 60 55 DPT ARC PLA ARC
68
12.2 Addresses of path informations AbbreviaFull ted symbol name (code) XPOS X XAB S XTR* ZPOS Z ZABS ZTR* A R IC KC B ARC RAD RTR* ICC* KCC* BEV 3.3 mm or 2.4 inches 2.3 mm or 0.4 inch 4.3 mm or 3.4 inches 3.3 mm or 2.4 inches 3.3E 2.2 degree 4.3 mm or 3.4 inches No. of digits and dimension Meaning diameter, or its change absolute coordinate value in positioning X (diameter) direction transformation length coordinate, or its change absolute coordinate value in positioning Z (longitudinal) direction transformation cone angle, GTYP 81 threads/inch for standard Withworth threadcutting radius of circle, tool nose radius, or its programmed modification coordinate of circle center in diameter direction longitudinal coordinate of circle center radius of roundingoff, length of chamfering
DELT
depth of cut
HELP
aux. distance
ELEV
pitch and/or its direction Angular position in thread-cutting, relative to the zero pulse (Fi > O) Uniform divisions over 360E in multiple-start threadcutting. The max. resolution varies with the spindle shaft encoder.
FI
FI
DV
DIV
69
12.3 Addresses of "modal" function values Abbreviated symbol (code) Full name No. of digits and dimension 2.3 mm/rev, 0.4 inch/rev or 2.3 mm/min, 0.4 inch/min 4 rev/min 4 4 m/min 4 feet/min 4 rev/min Meaning
FEED
feed rate
S T V SM
main spindle speed or code tool code and compensation group code surface speed maximum spindle speed (programmed)
12.4 Other addresses Abbreviated symbol (code) FR TO Q W N L C O Full name FROM TO** QUOT WAIT NUMB LABL CPT* OUT TIME No. of digits and dimension 4 4 2 1.1 s 4 4 2 2 2.2 Meaning program segment repetition, first block (of cycle) program segment repetition, last block (of cycle) program segment repetition, repetition number (of cycle) waiting time block number program identifier position of tool radius center in display: number of workpiece active time from poweron (only display, hours+minutes)
70
12.5 Miscellaneous and program control codes Abbreviated symbol (code) M/R M 03 M 04 M 05 M/C M 08 M 09 M/G M 11 M 12 M 13 M 14 M/E M 40 M 41 M 42 M/V M 94 Full name NO FUNCT REV CW REV CCW REV STOP NO FUNCT COOL ON COOL OFF NO FUNCT GRUP I GRUP II GRUP III GRUP IV NO FUNCT EQC NO EQC LEFT EQC RIGH NO FUNCT FEED/MIN main spindle rotation main spindle rotation, CW main spindle rotation, CCW main spindle stop coolant coolant ON coolant OFF main spindle gear ranges gear range I gear range II gear range III gear range IV contour programming contour programming OFF contour tracking from left contour tracking from right interpretation of feed feed is interpreted in path/min dimension, independently of main spindle speed, no surface speed calculation feed is synchronized to the main spindle speed (path/main speed dimension), no surface speed calculation surface speed calculation, feed as for M95 override disable is identical to M95, but execution stop, feed or main spindle override is disabled function code interpreted by interface surface 71 Meaning
M 95 M 96 M 97 O0193
Full name NO FUNCT PRG.STOP PRG.END OP.STOP OP.REC DRL.STOP program control
Meaning
programmed stop end of program conditional stop conditional block conditional feed in stop lift
12.6 Address strings of block types RAPID LINE CIRCR CIRCL POSIT FUNCT CYCLE ROUGH THREA XPOS ZPOS ARC BEV M FEED SPIN WAIT XPOS ZPOS ARC BEV M FEED SPIN WAIT XPOS ZPOS RAD BEV ICC KCC FEED XPOS ZPOS RAD BEV ICC KCC FEED XABS ZABS P WAIT FEED SPIN TOOL M OUT VELO SMAX FROM FEED SPIN TOOL M OUT VELO SMAX XABS ZABS P WAIT FROM XTR* ZTR* RTR* FROM TO** QUOT P XPOS ZPOS HELP DELT FROM FEED SPIN P XPOS ZPOS QUOT ELEV DELT HELP ARC P FI DIV
PECK DRL XPOS ZPOS HELP DELT FROM FEED SPIN P TAPPING BORING XPOS ZPOS HELP DELT FROM FEED SPIN P XPOS ZPOS HELP DELT FROM FEED SPIN P
Tool compensation TOOL XTR* ZTR* RTR* CPT* Stop condition FEED SPIN M OUT VELO SMAX
72
12.7 Syntax for serial transmission Part programs and tool compensation data read through the RS-232C serial interface must meet defined formal (syntactical) requirements. 12.7.1 Syntax of part programs Beginning of program The program may begin in one of three way: % character: meaning comment. The comment extends as far as the terminating character. The comment is displayed on the screen during readin, but it is not stored. L character: meaning program number It may consist of 4 digits maximum. It may not be preceded by a single N block number. Value range: 0 7999 N character: meaning block number. 4 digits maximum. Actually, first block of the program body. Program body The program body may consist of: $" comments $" program blocks The program blocks must also meet defined formal syntactical requirements. $" Beginning of block: N block number, leading zeros may be omitted. It should be written always compulsorily and must precede the G code. $" The block number should be followed always by a G code. G: 2 digits maximum, leading zeroes may be omitted. Subsequently, words will follow in optional order according to address string specified by G code (refer to paragraph 12.6). Abbreviated symbols (codes) described in paragraphs 12.2 -12.5 can be given as addresses of words in the value range indicated here. The leading zeros, and zeros afterdecimal sign can be omitted. Special characters used in the program are I incremental data (after coordinate address, where permitted) + positive sign: use is not compulsory negative sign ./, decimal point, comma: use of both is permitted, but the control system always uses decimal point on display. They may be omitted for integers. &I each coordinate data after a character must refer to inches till the end of program or M command. &M each coordinate data after a character must refer to metric dimension till the end of program or I command. If neither &M nor &I command is used, the control system must be set to the proper interpretation with the use of key, before a data transfer Serial numbers of program blocks are optional, but are arranged in increasing order by the control system after they have been read in. It is 73
not compulsory to separate the words with SPACE character. End of program End of program is marked by a single character: / end of program: use of this character is compulsory. When read in, the control system stops transmitting. As a comment the control system accepts readin of any optional character. Character(s) that terminate(s) comment are: s line feed, or r carriage return, or r, s In readin, characters that can be allowed anywhere in the comment between two words in the program block are: SPACE TAB tabulator s line feed r carriage return In readin, code of characters may be ISO, or EIA, which is automatically recognized by the control system. In display, the code defined in the parameter field is used. The control system generates space between the words and begins each block in a new line according to the combination specified in the parameter field: r or s or r, s. 12.7.2 Syntax of tool correction data (compensations) Beginning of program The program may begin in one of three ways: % character: comment. It is extended as far as the terminating character. Displayed during read-in but not stored. L character: program number. Value range: 9000 9999 T character: code of tool compensation group. Two digits. Actually, first block of progbody. Program body The program body may consist of: $" comments $" data of compensation groups Data of correction groups are: $" group code: T with two digits, leading zeros may be omitted (order is optional). $" X, Z, R, CP data in optional order, but any of them is omissible. If one of them is omitted, its value is taken 0 by the control system. Insignificant zeros are omissible. The usable special characters agree with those described for transfer of part program, with the following exception: I incremental data, which is not usable. 74
End of program The end of program is indicated by a single character: / end of program (its use is mandatory). When this character has been entered, the control will stop the transmission (transfer). The control will accept the entry of any arbitrary character as a comment. Character(s) terminating a comment is (are): s Line Feed or r Carriage Return or s, r The following characters are permissible in a comment anywhere during read-in (between two words in a program block): SPACE space TAB tabulator s Line Feed r Carriage Return In read-in, the ISO or EIA code of characters is automatically recognized. In display, the code set in the parameter field is used. A SPACE is generated between the words, or a line feed per group. T00 group is always transferred in full, while for the others only the group is transferred, where a value other than 0 is found in one of its data.
75
13 Coordinate system, data specification The control system interprets path informations in a coordinate system, in which $" positive values of the longitudinal axis (Z) point to the tailstock, while the negative values point to the chuck, $" positive values of transverse axis (X) are: a. in default condition they point to the rear side for rear o r d u a l t o o l h o l d er (rightdrifted system)
b.
they point to the operator for the front tool holder (leftdrifted system)
In case b interpretations of G02, G03 and M41, M42 will be different (see later for its application). By specifying tool length compensations, as well as by appropriate application of transformations of block type G61 and G60, it is achievable that zero point of coordinate system is aligned with that of the workpiece for purpose of programming, irrespective of actual length (overhang) of the tools (see later for its application). This zero point is located on axis of rotation in transverse direction(X), while it can lie anywhere in longitudinal direction (Z). If programmer wants to use coordinate system usual for HUNOR controls, or he wants to run a program debugged on these controls in the NCT 90T control system, he is to set HUNOR bit to 1. 13.1 Interpretation of transverse path information: The data of X direction, is a diameter value if defined so in the parameter field. This dimensional data is defined with twice the distance measured from the axis of rotation. Incremental displacement in this direction should also be programmed by a double value, i.e., by that of diameter change. The smallest programmable unit of dimension is $" in metric system: 0.002 mm $" in inch system: 0.0001 inch 76
13.2 Interpretation of longitudinal path information: Directly measurable value. The smallest programmable unit of dimension is $" in metric system: 0.001 mm $" in inch system: 0.0001 inch In DATA ENTRY, both the leading (left) and trailing (right) insignificant zeros are omissible. If there is no decimal value in the data, the decimal point is also omissible. In ACKNOWLEDGEMENT, all the decimal characters are displayed. BLANK path information is interpreted in incremental 0.000 form and its display remains blank on the screen. Apart from some special exceptions, the path informations can be specified either in absolute or incremental form. The two forms of specification may even change within the same block. Incremental data specification may be initiated with depression of key. The incremental data is indicated by letter I after symbol of coordinate. 13.3 Interpretation of a cone angle Cone angle (A) should be specified in degrees with an accuracy of two decimals, in the interval of 89.90 degree. INTERPRETATION: angle included with Z axis
$" positive, if an increasing X value belongs to an increasing Z value
positive angles
positive angles
negative angles
negative angles
77
14 Concept and programming of contourturning For a machining to occur, a relative movement of the work part and the tool is needed. Under the conditions of turning, it is the work part that performs the main (rotary) motion; thus the "side" movement to be realized with the tool may be made up of straight sections and circular arcs in compliance with the characteristic features of the control. As regards their speeds or velocities, high-speed positionings (rapid traverses) or movements with programmed speeds are feasible. From the point of view of turning process, programming of finishing a readycut contour is of fundamental importance. CONTOURTURNING is hereinafter called a programmed movement, which $" is commenced by positioning to starting point of the contour, $" is made up of adjoining straight sections and circular arcs, $" is ended by positioning leaving the contour. One of features of the control system is that contourturning defined at a certain point of the program can also be called from other points of the program, e.g., in order to perform roughing. It is decisive from this consideration, too, that concept of contourturning has been extended by blocks of positioning to the starting point and positioning leaving the contour. Each section and arc of the contour is programmed in separate blocks. Exceptions to this rule are only decomposition of positioning and programming methods of roundingoffs and chamferings. In the following, programming of those block types are described, of which a contour is made up. Of course, these blocks may take part as elements in programming of other tasks (e.g., recessing, roughing). 14.1 Positioning and its versions Blocks types G40 through G47 are referred to as "positioning blocks". They can be used in a variety of ways to move the programmed point of the tool, or to move to the start point of a contour-turning. With two exceptions, the programmed point will be reached in several elementary movements (part blocks). Type codes: G40, G41, G42, G43, G44, G45, G46, G47 Address string: XABS, ZABS, P, WAIT, FEED, SPIN, TOOL, M, OUT, VELO, SMAX, FROM where: XABS is the target diameter in absolute data specification; unless it is specified, the axis will stand still. ZABS is the target coordinate length in absolute specification; unless it is specified, the axis will stand still. P the function modifying the program execution can be specified here. It is an optional specification. The values to be specified and their meanings are listed in Section 15.7 (Programming of P). Its executionm follows suit of positioning. WAIT: its specification is an optional one, enabling the waiting time be programmed. The value to be specified and its meaning is described in Section 15.6 (WAIT Programming). Its execution precedes positioning. FROM: is the block number. When specified, an unconditional block link will result; the control will resume the execution of the task with the block of the serial (sequence) number specified here. An infinite (endless) loop cycle may be 78
established by returning to a block of lower serial number. Its applications are described in detail in connection with the organization of cycles. When reference is made to a non-existent block number, the execution of program is aborted and error signal CYCLE ERROR? is displayed. The further addresses can be filled optionally. The values to be specified and their meanings are listed in connection with the function block (see Section 15.1). Their execution will follow suit of positioning. Positioning is made with rapid travel. According to versions of type code, the control system decomposes travel to the programmed end point to several subblocks, as follows. G40 End point is reached linearly by a single block of rapid traverse. G40 X Z
G41 end point is reached by two sub-blocks, of which the first one reaches the coordinate required in X direction, while the second one in Z direction, both with rapid traverse. G41 X Z
G42 end point is reached by two sub-blocks, of which the first one reaches the coordinate required in Z direction, while the second one in X direction, both with rapid traverse. G42 X Z
79
G43 end point is valid, independently of tool compensations or coordinate offset, in the coordinate system whose origin is the assumed zero point (reference point). It is reached linearly with a single block of rapid traverse. G43 X Z
G44 end point is reached by two sub-blocks. The first one is ended with a section of 1000 increments (1 mm or 0.05 inch) along the straight line leading to the end point before the end point is reached. The first subblock is a positioning of rapid traverse while the second subblock covers the remaining distance with programmed feed. G44 X Z
G45 end point is reached by three sub-blocks. The first one covers the required distance with rapid traverse in X direction, the second one approaches end point to 1000 increments in Z direction with rapid traverse finally, the third one covers the remaining distance with programmed feed. G45 X Z G46 end point is reached by three subblocks. The first one reaches programmed dimension in Z direction with rapid traverse the second one approaches end point to 1000 increments in X direction with rapid traverse finally, the third one covers the remaining distance with programmed feed. G46 X Z
80
G47 end point is reached by two subblocks. The first subblock has its end point at 1000 increments measured from the origin along the extension of the next straight section, in a direction opposite to the travel. The approach is made with rapid traverse in linear mode. In the second subblock an overrun is made to the programmed point with programmed feed along the next straight line. G47 X1 Z1 G01 X2 Z2 By means of versions, G44, G45, G46, G47 the tool can also be positioned directly on the surface of workpiece. By assigning a value to any other addresses in the positioning block, execution of the versions is not affected. If a function value occurs in the block, its execution follows the positioning. Special effect of the positioning block is described in a separate paragraph when discussing tracing parallel to contour. L Notes: $" If possible, do not commence a program with blocks of type codes G44, G45, G46 and G47, or else, e.g. the line N5 G4x X Z F S M3 will produce an error signal SPINDLE STAND STILL? before execution of the last 1000 increments. This is because a default feed cannot be performed by the spindle standing still when the feed is synchronized to the spindle speed. $" For a clear overview, program a tool change preferably in G4x blocks. In this way, the change can be effected in the position selected in the block, not in the end point of the preceding block (as is the case with blocks type G5x). The recommende sequence is G4x X Z T G5x F S X Z
81
14.2 Definition of straight line Type codes: Address string: G0 or G1 XPOS, ZPOS, ARC, BEV, M, FEED, SPIN, WAIT
where: XPOS diameter of end point of the straight line, specified in absolute or incremental value ZPOS length coordinate of end point of straight line, specified in absolute or incremental value ARC value of cone angle of the straight line (angle included with Z axis in an interval of 90.00 degrees) BEV length of isosceles chamfer between the present and next straight sections (negative value), or radius of roundingoff between the present and next straight sections or circular arc (positive value). M value may be 40, 41 or 42. Causes interpretation of tracing parallel to contour to change. It is described in detail in the paragraph that discusses tracing parallel to contour. Values 94, 95, 96, 97 can also be written to change interpretation of feed rate or surface speed. FEED modal feed rate (refer to paragraph 15.2). If value of F address is specified, the control system validates the value before start of travel. SPIN main spindle speed code or value of revolution. The control system validates it before start of travel, the assumed value is a modal one. WAIT optional address. Values that can be entered and their meaning are detailed in relation with function block (refer to section 15.1). G0 if this type is given, the linear interpolation is performed with rapid traverse. G1 if this type is given, the linear interpolation is performed with programmed feed rate. This block type is generally used for linear interpolation. At least one of XPOS, ZPOS and ARC addresses has to be specified according to the following interpretation. Versions specified for G1 type also apply to G0 type as described. Fundamental cases: G1 X control system assumes an incremental displacement of 0.000 in Z direction.
82
G1 Z
G1 X Z
G1 X A
control system calculates value of Z coordinate of the end point using relationship Z=X/(tg A), then controls programmed point of tool to the specified point.
G1 Z A
The control system calculates value of X coordinate of the end point using relationship X=Z*(tg A), then controls programmed point of tool to the specified point.
Any of fundamental cases specified here can also be used in single blocks written in MANUAL mode.
83
Complex cases: 1. 2. G1 A1 G1 X2 Z2 A2
In the first block only the value of cone angle (A) is defined;in the following block the straight section is overdefined then, both coordinates of end point (with absolute value, compulsorily) and cone angle are specified. The control system calculates coordinates of end point of the first straight line and leads edge of tool to that point, then also leads edge of tool to the given end point when turning the second straight section. As regards overdefined straight line of type 2, the process of calculation is performed even if the previous block is not a straight line of type 1, but an optional, defined straight line or circular arc. In this case, the control system overrides value of end point defined in the previous block and replaces it with new value of the calculated point of intersection. 1. G1 X1 Z1 2. G1 X2 Z2 A2 The actual travel lasts not to the coordinate written in the first block, but to the calculated coordinate.
1. 2.
G2 X1 Z1 R G1 X2 Z2 A2
For a circle the actual arc extends not to the coordinate written, but to the calculated point of intersection. L Note: Complex cases of straight line definition are: 1. G1 ARC 2. G1 XPOS, ZPOS, ARC These versions cannot be applied in single blocks written in MANUAL mode. A block in a program is wrong if 1. it is followed (in block 2) by a non-overdefined straight line or a non-overdefined circle, 2. it is preceded by a form other than a straight line or a circle.
84
14.3 Definition of circle Type codes: G2 G3 Address string: XPOS, ZPOS, RAD, ICC, KCC, BEV, FEED where: XPOS DIAMETER of end point of circular arc, specified in absolute or incremental value ZPOS length coordinate of end point of circular arc, specified in absolute or incremental value RAD RADIUS of circle BEV programming of rounding-off between the actual circular arc and the next straight section ICC* diameter of centre point of circle, specified in absolute coordinate. This address is to be specified only in a special case (overdefined circle) KCC* length coordinate of centre point of circle, specified in absolute value. This address is to be specified only in a special case (overdefined circle) FEED modal feed rate value (see section 15.2). If value of F address is specified, the control system validates value before tool travel. Interpretation: G2 Circular interpolation, CW
L Note: Central angle pertaining to with the circular arc may not be greater than 180 degrees. Directions of G2 and G3 are changed in function of the applied coordinate system:
right-drifted system
left-drifted system
85
The control system calculates additional data necessary for interpolation from the end point and radius. This case can be applied as a single block in MANUAL mode.
14.3.2 Special cases of defining circles a. Circle tangential to the previous straight line or circular arc, specified by one of coordinates and radius of the end point
L Notes: $" in both cases, previous block of the program is compulsorily a straight line or circular arc, but the straight line may not be defined by a cone angle alone. $" The control system, taking tangential condition into account, calculates missing coordinate value, then proceeds in accordance with the fundamental case.
86
b. Calculation of point of intersection of an overdefined circle with the previous straight line (G2 X2 Z2 R I K) G3 X2 Z2 R I K If both coordinates of end point of circular arc are specified (in compulsorily absolute value), in addition, length of radius of circle and coordinates of centre point of circle are also specified (also in compulsorily absolute value), the control system calculates point of intersection with the previous, optionally specified straight line, and reconsiders end point of the previous line. L Note: previous block of the program may only be a linear interpolation. 14.4 Chamfering, roundingoff, BEV address programming Considering frequency of these tasks, the control system has been designed to facilitate programmability of chamferings or roundingoffs: as an additional parameter of the first block between optionally specified straight lines and/or circular arcs, with automatic performance of the necessary calculations. Programming: by specifying BEV address 14.4.1 Chamfering between two straight lines An edge chamfering can be programmed with a negative value written in BEV address between two straight lines. The control system will $" recalculate end point of straight line concerned so as to decrease its length by a value written in BEV address, $" insert a linear interpolation, which lasts till recalculated starting point of the next block $" decrease length of the next straigth section by a value denoted BEV.
87
14.4.2 Rounding-off between two straight lines Using a positive value written in BEV address roundingoff between two straight lines can be programmed. The control system calculates starting and ending points of a circular arc having BEV (B) radius, which is tangential to the concerned straight line and next one, and inserts a circular interplation like this by shortening the straight lines.
88
14.4.3 Rounding-off between a straight line and a circular arc Using a value written in BEV address roundingoff between a straight line and a circular arc can be programmed. The control system calculates starting and ending point of a circular arc having BEV radius, which is tangential to both the straight line and circular arc and inserts a circular interpolation like this by shortening the section and arc. The BEV address has to be specified always in the first block. A positive value has to be written in BEV address, if the roundingoff circle is tangential to the programmed circular arc from outside, and a negative one, if the roundingoff circle is tangential to it from inside.
14.4.4 Rounding-off between two circular arcs Value written in BEV address between two circular arcs results in an error display.
89
L Notes: $" As regards capacity of program storage, every chamfering or roundingoff is regarded as a separate block (the control system inserts an actually stored block when leaving EDIT mode). $" Programming of rounding-off or chamfering is in error unless the block following its programming is G0, G1, G2, G3, or if the calculated points are outside the length of actually programmed sections, or arcs.
90
91
14.5 Automatic calculation of tracing parallel to contour Calibration of length compensation assigned to the tools and its call defines $" the diameter, or $" longitudinal coordinate along which the tool is cutting for a travel parallel to the axis. Point of intersection of the two coordinate values is called THEORETICAL NOSE POINT (programmed point) of the tool. Since the edge of tool is rounded off with a given radius, this theoretical nose point necessarily falls outside the material of tool. In reset state (M4O = EQC NO command status) the control system guides theoretical nose point of tool along the programmed contour. As long as cutting is made parallel to the axes, dimensions of the programmed and actually removed material are identical.
However, if conical surface or circular arc is being cut, a certain degree of deviation (profile distortion) occurs between the programmed and actual contours in reset state, depending on the tool nose radius and the current cone angle, or circle radius (the highest deviation occurs for a 45 deg. conical surface). In order to eliminate error of cutting the control system calculates the path running parallel to the contour (use of tool radius compensation). Let us call the point where arc of nose radius actually contacts surface of workpiece (material) EFFECTIVE CONTOURING POINT (working point of tool). Calculation of path running parallel to the contour essentially guides the actual contouring point along the programmed contour. In practice, this means that control system guides $" centre point of nose radius $" parallel to the contour $" at a distance corresponding to radius of roundingoff $" along a line either to the left (M41 = EQC LEFT) or to the right (M42 = EQC 92
RIGHT). With an additional calculation as a solution of this problem, in this case the control system displays position of contouring point on the screen as both actual and distancetogo value. The value displayed by the control system is correct only in end point of the block for circular arcs (at this time the programmed coordinates are displayed), it is different when moving. (Actually, on display, length of the vector linking current position of centre point of tool nose with the programmed end point at end point of the path is added to momentary position of tool nose centre). Tracing parallel to the contour (after appropriate preparation) applies only to blocks of type G0, G1, G2, G3. 14.5.1 Programming of tool radius compensation In TOOL CALIBRATION mode (per compensation group used for radiuscompensation), value of tool nose radius (i.e., the value written in R address) has to be specified. It has to be specified, too (also per compensation group), where is the centre point of tool nose radius in relation to the theoretical edge point of the tool.
rightdrifted system
leftdrifted system
In the function block selecting the tool or in any straight line block (G0, G1), it has to be 93
specified whether centre point of tool nose radius is located to the left (M41 = EQC LEFT) or to the right (M42 = EQC RIGHT) in relation to the programmed contour by travelling along the path defined by the contouring blocks (i.e., blocks of type G0, G1, G2, G3). Those described above are applicable to a rightdrifted system:
After the above preparations, the control system guides not the theoretical edge point of tool along the programmed path when executing the cutting blocks (types G0, G1, G2, G3), but centre point of tool nose radius on a path, which is a. parallel to the programmed contour, b. its distance from the programmed contour is equal to value of the radius compensation, and c. according to M41 or M42 contour, the path runs to the left or right to the programmed contour.
94
14.5.2 Moving to the contour. Leaving the contour The parallel tracing becomes effective when a positioning block is followed by a contourturning block in M41 or M42 command status. In this case, centre point of edge roundingoff circle at the end of positioning is generally: $" on the straight line drawn perpendicular to origin of contourturning block, $" at a distance equal to radius compensation from origin of block, $" at the appropriate side of section of arc defined by the block.
95
If command M40 has been programmed in the positional block introducing contour with explicit specification and command M41 or M42 was written in the beginning straight line block, the the control system moves to the contour from "inside", that is, the current working point comes not to the end point of positioning, but in the direction of straight line beginning the contour at a distance equal to the tool nose radius. If a contour tracking opposite to the beginning straight line was defined in the positioning block, the tool nose moves to the straight line beginning the contour from "outside". The same principle also prevails when leaving the contour.
14.5.3 Effect of tool radius compensation on the contour Further on, tool travel is determined by the cone angle for straight lines, whereas for circular arcs by a circle path having the same center point as the programmed circle, but with a radius increased or decreased by the value of radius compensation. At the end of block, centre of tool nose circle is located at the point of intersection of the lines calculated as described.
96
If this point of intersection is not existing or it is too far from the surface to be contoured actually, it can be achieved that the tool goes round the current intersection along the socalled zero circle, by inserting such a G2 or G3 block during programming, in which only the RAD address is specified (the entered value is indifferent, it may be 0, too).
97
Such a circle is left out of the execution, if there is no actual parallel tracing calculation (M40 = EQC NO command status). Otherwise, the control system guides contouring (cutting) point of tool to the intersection point, then along a circular arc identical to value of radius compensation so that the contouring (cutting) point remains on the intersection point and so center point of tool nose radius gets to the parallel path defined by the following line.
In linear blocks blocks (G0 or G1) an opposite direction selecting value (M41 or M42) can be written in the M address. In this block centre point of tool nose radius gets to the opposite side and it has "modal" character subsequently. Calculation of parallel tracing is completed when "positioning leaving the contour" comes next. In this case, circle centre of tool nose radius is located on the straight line perpendicular to end point of block at the end of the last contourturning block. Subsequently, the control system again guides theoretical edge of the tool to the programmed end point in the positioning block. This condition can also be overridden. If M40 command is written in positioning block leaving the contour, the tool nose circle will remain inside the contour, while if a command M42 or M41 opposite to the previous one is written in the positioning block, the tool nose circle will completely leave the contour (see above). L Notes: $" It may occur during contour-turning that current contouring (cutting) point of tool edge is located at the side opposite to the theoretical edge point.
98
$" PROGRAMMING of tracing parallel to contour (radius compensation) is WRONG, if $" the calculated parallel paths do not intersect each other (this can be corrected by programming of the abovementioned zero circle).
$" internal cha m f eri n g i s atte mp ted t o tur n with too large radius compensation.
If a negative value were obtained when calculating circular arc parallel to the contour as a consequence of the mentioned reduction of radius, the control system takes a straight line linking the starting and ending points of the circular arc into consideration instead of the circular arc. The control system sends an error signal SQRT in TEST or AUTO mode (calculation error?) for the errors above.
99
15 Specification of technological parameters Certain functions, primarily the feed rate value and main spindle speed or speed code, can be specified as parameters of most block types, whereas other functions can only be specified in special function blocks. 15.1 Programming of function blocks Type codes: G50, G51, G52, G53, G54, G55, G56, G57 Address string: FEED, SPIN, TOOL, M, OUT, VELO, SMAX, XABS, ZABS, P, WAIT, FROM where: XABS and ZABS, if present, are absolute coordinates and result in positioning of G40 G47 type, which will be performed by the control system AFTER the programmed functions values have been assumed. Interpretation of FROM address is also performed according to the description given there. Execution of blocks of type G4047 and G5057 differs as follows: $" G40 G47: first the positioning, then programmed functions are executed $" G50 G57: first the programmed functions, then positioning are executed. Specification and interpretation of the other addresses are described below.
100
15.2 FEED address: Programming of feed rate The value programmed in FEED address determines the speed of travel along the path. Unit of measure: M94 = FEED/MIN command status: $" in metric system: m/min $" in inch system: inch/min In other command statuses (M95, M96, M97): $" in metric system: mm/rev. $" in inch system: inch/rev. L Note: $" For data entry in inch dimension the control system accepts only 4 decimal digits, while integers are not accepted. This number is interpreted as direct inches/revolution value for M95 command status. But, in M94 command status, the feed will be thousandfold of the value entered in inches/minute dimension. For example: meaning of F 0.0100 data: for M95 0.01 inch/rev. for M94 10 inch/min. Limits of programming: M94 = theoretically 32.000 m/min (1259.8 inches/min) in FEED/MIN command status, but it may not be greater than the actual rapid traverse in other command statuses (M95, M96, M97): $" independently of spindle speed: 32.000 mm (or 1.2598 inches/rev.) $" for high speeds, the product of programmed feed and mains spindle speed may not exceed the current rapid traverse. The programmed F value remains valid until it is written over, and applies to all movements, except $" rapid traverse positioning and $" threadcutting feed. Rate of rapid traverse positioning is constant. Rapid traverse rate in both directions: max. 25 m/min. The actual value is specified in operating manual of machine tool. For lack of zero point (reference point), the control system validates only a reduced rapid traverse, specified in parameter (REFRAP). With main spindle in standstill the carriages can be moved only in M94 command status. If the main spindle is in standstill, the programmed movement provides a SPINDLE IN STANDSTILL error display in a command status other than M94.
101
15.3 SPIN, VELO, SMAX addresses: programming of main spindle Main spindle speed ranges can be programmed by means of the following codes: M11: GRUP I = Range I M12: GRUP II = Range II M13: GRUP III = Range III M14: GRUP IV = Range IV Speed ranges can be changed either automatically or manually, as controlled by interface (PLC) of the machine (see operating manual of the machine tool). For CLUTCH spindle drive, speed ranges falling within the same range can be programmed by values 199 written in SPIN address. For GEARLESS electronic spindle drive, main spindle speed can be controlled as follows: $" Codes M94, M95 or M97 can be used to program constant speed This calls for specifying actual values of speed in SPIN address. Lower and upper limits of the 4-digit number written in SPIN address are determined by features of the specific machine tool (for details see operating manual of the machine tool). A value lower than the upper limit can be specified to SMAX address as limit. Its unit is rev/min. $" M96 code can be used to program constant surface speed. In VELO address, value of the surface speed is given (in m/min or ft/min dimension). The control system validates continuously value of the programmed surface speed, changing the spindle speed as function of effective diameter of workpiece; this occurs as follows: $" if the calculated spindle speed fails to reach the value determined as spindle speed range in the parameter Sn MAX, then this value is used by the control system. $" if the calculated spindle speed exceeds the value specified in SMAX address, then this value is used by the control system. However, this value may not be greater than maximum value specified for the given range in the parameter Sn MAX. $" for rapid traverse positioning the control system waits until the main spindle assumes speed belonging to the end point as diameter when reaching the end point. L Note: If no value was specified for SMAX address by the program, the control system validates maximum value, valid for the given range, specified in the parameter field (Sn MAX). 15.4 TOOL address: programming of tool number and tool compensation group A 4digit number can be written in TOOL address. First two digits: the selected tool (or position for turret tool) will be determined. Value : 01 to 99 Second two digits: number of tool compensation group assigned to tool will be determined. Value : 01 to 99, irrespective of the selected tool number. The value written in TOOL address is "modal", it is changed only if rewritten. If the selected tool number is not changed (first two digits of T code are 00), the control system considers only number of the changed tool compensation group. If the first two digits are changed, the machine performs tool change as described in the technical description, or is waiting for tool change (method of this is described in operating manual of the machine tool). 102
Each compensation group has three dimension informations and a code. Their values should be specified in TOOL (TOOL COMPENSATION) mode. The compensation values are as follows: XTR* tool compensation in direction X ZTR* tool compensation in direction Z RTR* tool nose radius compensation CTP* position of centre point of tool nose circle in relation to the theoretical edge of tool. The method of specifying the values is described in the OPERATOR'S MANUAL. The length compensations are called in the following way: $" the control system calculates difference between the new and previous length compensation values, $" using this value, it modifies coordinate value recorded as momentary position, $" no actual displacement is made when calling the new compensation value, but the control system calculates path to be covered to the programmed end point starting from the new value on the next positioning. 15.4.1 Modifying the tool correction (compensation) in AUTO mode The tool correction (compensation) values can be altered in AUTO mode as well. In normal state or with a running technological program, press push button STOP twice in succession, and then a new address string can be called with function key TOOL CORR. T 9999 X Z R
where TOOL: is the identifier of the tool correction group. X, Z, R: are correction values (compensations). No value can be entered unless the decimal point is pressed. The entered correction value is interpreted incrementally. At the time of a tool change it is validated after the correction group has been called. The normal (initial) address string will be restored upon a repeated depression of the push button. In normal position the program list is displayed.
103
15.5 Programming of M functions Abbreviated symbol (code) M/R M 03 M 04 M 05 M/C M 08 M 09 M/G M 11 M 12 M 13 M 14 M/E M 40 M 41 M 42 M/V M 94
Full name NO FUNCT REV CW REV CCW REV STOP NO FUNCT COOL ON COOL OFF NO FUNCT GRUP I GRUP II GRUP III GRUP IV NO FUNCT EQC NO EQC LEFT EQC RIGH NO FUNCT FEED/MIN main spindle rotation
Meaning
main spindle rotation, CW main spindle rotation, CCW main spindle stop coolant coolant ON coolant OFF main spindle gear ranges gear range I gear range II gear range III gear range IV contour programming contour programming OFF contour tracking from left contour tracking from right interpretation of feed feed is interpreted in path/min dimension, independently of main spindle speed, no surface speed calculation feed is synchronized to the main spindle speed (path/main speed dimension), no surface speed calculation surface speed calculation, feed as for M95 override disable is identical to M95, but execution stop, feed or main spindle override is disabled
M 95 M 96 M 97
104
Meaning function code interpreted by interface surface program control programmed stop end of program conditional stop conditional block conditional feed in stop lift
Each block may contain only 1 function per group, altogether maximum 5 M functions may be present. If a new code is specified in the group, this rewrites previous value of the group. Power-on reset status: M05, M09, M40, M95 Interpretation of spindle revolution: viewing from the tailstock it is as shown in the Figures below
Further M codes can be written in OUT address (for each function block). Entry of a new code per function block cancels the old one). Their value is an optional code between 01 and 99. According to requirements of the actual machine tool, their execution is performed by the interface program. L Note: Programming OUT99 will disable the display of rapid traverse during drawing (plotting); OUT98 will enable it again. 15.6 Programming of WAIT A wait time can be written in W address in seconds, with an accuracy of one decimal. Maximum programmable wait time: 9.9 s. The execution is as follows: 105
$" if switching instructions are present in the block, they are immediately performed, then the control system waits for the programmed period of time, $" after waiting for the specified time, program execution, movement written in the block, or the next block is resumed.
15.7 Programming of P Instructions relating to program execution can be specified in this address. P1 programmed suspension at the end of block. The control system stops feed after the block is executed, then establishes main spindle rotation and STOP condition. Execution of program can be resumed with the CYCLE START key. In STOP condition, interventions described in the OPERATOR'S MANUAL can be executed. P2 end of program. The control system stops main spindle rotation after execution of the block, cuts off coolant supply, counts number of completed program cycles (value displayed on address 0), then cancels program execution condition and positions itself to beginning of AUTO mode. Repeated execution of the program beginning from its start can be initiated on depression of CYCLE START key. If, simultaneously with P2 address, FROM address has also been loaded, STOP condition is generated, then the program counter sets not to beginning of AUTO mode, but to the block with number written in FROM address. If FROM address and P2 are present simultaneously in G40 or G50 block, the jump defined in FROM address is ignored during block search or test (dry) run. P3 conditional stop. Pressing COND.STOP function key located on the operator's panel (in AUTO or TEST mode), the condition may be enabled or disabled. The enabled state is indicated by inverse video display of the text. Its execution is similar to that of P1 command, otherwise it is ineffective. P4 conditional block. Pressing COND.STOP from function keys located on the operator's panel (in AUTO or TEST mode), the condition may be enabled or disabled. The enabled state is indicated by inverse video display of the text. If the condition is disabled, the command is ineffective, otherwise the control system skips the block, without execution, in which a P4 command is present. By means of joint specification of P4 and FROM addresses, execution or skipping of longer program segments can be controlled. The block skipped with FROM jump are executed only if the switch is ON (enabled). P5 Conditional feed stop in lift. In programming drilling cycles, command P5 may be specified to make the feed get in STOP condition after the drill has been removed. The drilling cycle can be resumed by pressing the START button. Of the function keys on the operator's panel, the COND BLOCK can be used (in AUTO or TEST mode) for turning this condition on or off. The ON condition is indicated by the inverse title. In OFF condition the command is ineffective; otherwise the control will skip command P5 without performing an execution.
106
In this section programming and application options of blocks of type G60 and G61 are descibed. There are fundamental differences between the application of these two block types and that of the other block types. On programming both block types, $" no displacement occurs during execution of block, $" coordinate system of machining is shifted (execution of coordinate transformation, zero offset), $" cyclic repetition of a given program segment with variable parameters is possible (cycle organization). L Note: The cycles can be nested in a depth of four. If greater cycle depth is programmed, the control system sends a CYCLE? error display. The error display is also the same, if the program number specified in FROM address is not present in the program, or that address points to a block other than a positioning one. 16.1 Intermediate coordinate transformation, cycle organization, use of G60 block type 16.1.1 Intermediate coordinate transformation, cycle organization Type code: G60 Address Address string: XTR*, ZTR*, RTR*, FROM, TO**, QUOT, P If an absolute dimensional data is written at address XTR* or ZTR*, it will be added (and saved) to the calculated travel during the next positioning; furthermore, the previous transform value (if any) will be re-written
X=XABS+XTR* where
Z=ZABS+ZTR*
X, Z: position (on the display as well) at the end of positioning block (of type G40 or G50) following G60, in the old coordinate system, XABS, ZABS: coordinate values specified in the positioning block, position in the new coordinate system. XTR*, ZTR* transformation value specified in G60 in the old coordinate system. As an incremental value, it modifies stored transformation value and the sum obtained is added to the calculated displacement on the next positionings. X = XABS + XTR + XTR*I Z = ZABS + ZTR + ZTR*I where 107
X, Z: position (on the display as well) at the end of positioning block (of type G40 or G50) following G60, in the old coordinate system, XABS, ZABS: coordinate values specified in the positioning block, position in the new coordinate system, XTR, ZTR: resultant of transformations specified incrementally in the possible previous blocks of type G60 (stored value) in the old coordinate system, XTR*I, ZTR*I: incremental shift specified in the current block of type G60 in the old coordinate system. The dimensional data written at address RTR* may be an absolute or incremental value. An absolute value will be stored and will modify the radius correction called from the correction store.
R = RCOR + RTR* where R: modified tool radius compensation value, RCOR: tool radius compensation specified for the given tool, RTR*: transformation value specified in G60. Further on, the control unit guides centre of nose radius at a distance of R = RCOR + RTR* from the specified path for M41, M42. For M40 the theoretical edge point is guided XCOR + RTR* and ZCOR + RTR*. R may also be negative, in this case centre of the nose radius is transferred to the other side: modified compensation value. Incremental value modifies stored value and the sum modifies radius compensation value called from the compensation storage. R = RCOR + RTR + RTR*I where 108
R: modified tool compensation value RCOR: tool radius compensation determined for the given tool RTR: resultant of incrementally specified transformations in the possible previous G60 blocks (stored value). RTR*I: incremental value specified in the current G60 block FROM, TO, QUOT addresses may only specified simultaneously. Their specification causes control system to repeat program execution QUOTtimes beginning from block of FROM number to block of TO number. L Notes: $" The stored transformation values are cleared for end of program, and mode change. A block of type 60 may ony be followed compulsorily in the program by a positioning block (types G40 or G50) or another block of G60. $" In case of coordinate shift programmed with block type of G60, tool position is displayed in the original coordinate system. $" In case of incremental coordinate shift used in a cycle, it is advisable to clear stored transformation value with another block of G60 (by absolute zero assignment) after the cycle (see Example 2). $" If coordinate shift is specified in a block of G60 or G61, this will be effective only on actual execution of the subsequent first positioning. If, consequently, starting block of cycle is not positioning, then no coordinate shift is executed by the control system. 16.1.2 Use of G60 block type Two examples are given below for use of a cycle programmed with the intermediate coordinate transformation. 1. Contourturning with the spacing varied Let us assume the following program segment (tool position: C09) N0005 G50 F.3 T101 M3 M41 M94 X60 Z135 N0010 G60 RI10 N0015 G40 X95 Z135 N0020 G01 Z100 A-22.6 N0025 G03 X95 R20 N0030 G01 Z65 N0035 G41 X60 Z135 N0040 G60 RI-5 FR15 TO35 Q2 Effect: The control system turns a relief in a hole by a 3section approach L Note: RI means incremental programming value. The same method is applicable to roughing of pre-forged materials or to double finishing. The informations described in paragraph 14.5 are valid for parallel tracing with modified value.
109
2. Repetition of recesses with coordinate transformation Let us assume the following program segment: N0005 G42 X367 Z20 F.3 M94 T101 N0010 G01 X345 N0015 G01 X367 W1 N0020 G60 ZI15 FR5 T015 Q4 N0025 G60 Z0 N0030 G40 X400 Z200 Effect: In the course of execution, the forming tool makes fire identical recesses, spaced at 15 mm each. L Note: ZI denotes incremental value in the program, while N0025 means clearing of the accumulated (4*ZI) coordinate shift. 16.2 Zero offset, use of G61 block type Type code: G61 Address string: XTR*, ZTR*, RTR*, FROM, TO**, QUOT, P where: XTR*, ZTR* written at those addresses, a dimensional value will, if it is an absolute data, offset the coordinate system relative to the assumed zero point (reference point); the display prevails in the new coordinate system: X = X0 - XTR* Z = Z0 - ZTR* where X, Z:position of P point in the new coordinate system (and on the display), X0, Z0: Position of P point in coordinate system of zero point (reference point), XTR*, ZTR*: extent of zero offset in coordinate system of zero point (reference point).
Incremental value that modifies stored transformation value and this modifies the coordinate system. 110
X = X0 - XTR - XTR*I Z = Z0 - ZTR - ZTR*I where X, Z: position of P point in the new coordinate system (and on the display). X0, Z0: position of P point in coordinate system of the zero point (reference point). XTR, ZTR: resultant of transformations specified incrementally in the previous G61 blocks and offsets specified in T00 compensation group in the reference point coordinate system. XTR*I, ZTR*I: incremental offset specified in the current G61 block in coordinate system of the reference point. Both coordinate systems should compulsorily be specified, even if incremental 0 value is given as one of the coordinates. Condition of absolute data specification is that a valid zero point assignment occurs before program execution. In G61 block RTR* specification is ineffective. As for programming FROM, TO**, QUOT addressses, informations described for programming of G60 block type are applicable. L Notes: $" When this block type is used, the display is applicable subsequently in the coordinate system with transferred zero point.
$" XTR*, ZTR* offset values entered in absolute value in G61 block will rewrite XTR*, ZTR* values related with T00 compensation group. $" Offset value entered incrementally in G61 block modifies incrementally XTR*, ZTR* values related with T00 compensation group. $" XTR* and ZTR* zero offset values programmed in the block type prevail until they are modified by programming of another G61 block type. $" As to application of this block type, see section of zero point offset in the Operator's Manual for more detailed information.
111
In the following the term "roughing" refers to such a machining (turning) process, in which the material to be removed by cutting is removed with tool travels parallel to one of the axes. The roughing cycles are composed of repetitions of the following subcycles: 1. Taking a cut: for longitudinal roughing, the tool moves along X axis, while for facing it moves along Z axis. The movement is made with programmed feed. 2. Turning by axial movement up to the terminating section: in Z direction for longitudinal roughing, and in X direction for facing. 3. Turning along the terminating section. 4. Tool return with rapid traverse to the starting point. At the end of cycle, the carriage returns to the point programmed in the direction of taking a cut (Z direction for facing, X direction for roughing), and returns to the starting point in the opposite direction.
17.1 Longitudinal roughing cycle Type code: Address string: G70 XPOS, ZPOS, HELP, DELT, (FROM), FEED, SPIN, P
where: XPOS is the diameter value where the tool will be located after having completed roughing. Specification of this address is compulsory! The assignment may be absolute or incremental (Z coordinate is the same on completing the cycle as it was at the beginning of roughing). ZPOS is the coordinate to the value of which the terminating section is being turned (3) during the first subcycle. Specification of this address is compulsory, it may be absolute or incremental relative to the start point. HELP is the length coordinate, to the value of which the turning in Z direction (2) is being made. Specification of this address is compulsory, it may be absolute or incremental relative to the start point. DELT is depth of cut, specification of this address is compulsory. From the specified depth of cut, as well as starting and ending diameter of cycle, the control system determines number of cycle repetitions in a such a way that path to be covered as sum of cuts is divided into equal spaces. The actual depth of cut may exceed specified dimension by 25%. FROM address specification is ineffective. FEED is feed rate, address specification is optional. 112
SPIN is spindle speed code or its direct value, address specification is optional. P address specification is optional, becomes effective after execution of cycle.
L Note: The term "terminating section" refers to the straight line connecting the H value, interpreted on the terminating diameter (X), with value Z interpreted on the startpoint diameter.
17.2 Face roughing cycle Type code: G71 Address string: XPOS, ZPOS, HELP, DELT, (FROM), FEED, SPIN, P Programming of face roughing cycle is identical in all with that of the longitudinal roughing cycle, only functions of X and Z coordinates will be reversed.
L Notes: $" HELP: value of HELP for face roughing cycle is diameter! $" The terminating section may also be an axial straight line for block types G70 and G71 for G70: Z = H, for G71: X = H.
113
17.3 Longitudinal contourroughing cycle This type of block requires the following preliminaries. Coordinate transforms in directions X and Z for machining allowances; then positioning to a point, whose coordinate Z is located outside the raw (unmachined) size. Type code: G72 Address string: XPOS, (ZPOS), (HELP), DELT, FROM, FEED, SPIN, P where: XPOS is (longitudinal) terminating diameter of roughing. This diameter compulsorily intersects referenced contour, or coincides with starting point of that. ZPOS specification of this address is ineffective. HELP specification of this address is ineffective. DELT is depth of cut for roughing, in diameter. The control system may recalculate its value for equal spacing of cut (or its value may be increased by 25% max.). FROM is serial number of block type G4 or G5 introducing the referenced contour. FEED is feed rate, if included, the control system validates it before execution of the cycle. SPIN is main spindle speed code or revolution, if included, the control system validates it before execution of the cycle. P address specification is optional, it becomes effective after execution of the cycle. On execution, the control system 1. Takes a cut by rapid traverse feed. 2. Searches the point of intersection of contour following the block determined in FROM address (series of blocks of type G0, G1, G2, or G3) and diameter after the cut ( also considering the coordinate transformation) and makes roughing with feed to the point defined so. If there is no such a point due to premature end of contour, it will be completed with a straight line parallel to the X axis. 3. Going on along the contour, the control system is turning until the diameter preceding the cut is reached. 4. The tool is retracted with rapid traverse to the point ending the cut first in Z then X direction. The cycle is repeated until diameter specified in the program is reached, on otherwise the execution ends. Notes:
$" Diameter values of contour referenced in contourroughing must strictly be increasing or decreasing in function of Z coordinate values. $" The FINAL DIAMETER + "X" ALLOWANCE (programmed in G60) value should be written in XPOS address in G72 address string, or else the control system displays a signal BLOCK ERROR? during execution of the G72 block.
114
To illustrate the foregoing let us see the programming example shown below: N0005 G50 F.8 S5 M3 M40 X102 Z1 N0010 G60 X1 Z.2 N0015 G72 X65 D4 FR25 N0020 G60 X0 Z0 N0025 G57 X64 Z0 N0030 G01 X70 A-45 N0035 G01 Z20 N0040 G03 X78 Z-31 R17.125 N0045 G01 Z-57 N0050 G01 X102 N0055 G40 X110 Z10 P2
115
18 Programming drilling cycles 18.1 Drilling with tool lift Type code: G73 Address string: XPOS, ZPOS, HELP, DELT, FROM, FEED, SPIN, P where XPOS is the coordinate of X where the drilling is started. It must be specified! The data may be specified in absolute or incremental terms. ZPOS is the coordinate of Z where the drilling is started. It must be specified! It may an absolute or incremental data. HELP is the depth of hole. It may be absolute or incremental. It must be specified. DELT depth of drilling; it must be specified. Knowing the depth of hole, the control determines the number of cycle repetitions from the specified depth of boring, by dividing the depth of hole in conformity with the depth of drilling. The residue will be the last depth of boring. FROM when specified, it is ineffective. FEED feed rate, its specification is optional. SPIN is the code of spin (or its direct value); an optional specification. P is an optional specification; except for P5, it will prevail on completion of the cycle. L Note: In programming drilling cycles, specifying command P5 (conditional feed stop in lift) will make the feed to get in STOP condition after the drill has been lifted (removed). The drilling cycle can be resumed by pressing the START button. The condition can be turned on and off by the key labelled COND BLOCK. The operation of the cycle is as follows: 1. Fast traverse to point XPOS. 2. Fast traverse to point ZPOS (with 1 mm pre-deceleration). 3. Drilling down to a depth of DELT with feed. 4. Fast traverse to point ZPOS (retract). 5. Fast traverse to value Z of the previous depth of hole (with 1 mm pre-deceleration). 6. Repetition from step (3) until the depth of hole specified at address HELP is reached. 7. Fast traverse in direction Z and then X, to the position prior to the cycle.
116
18.2 Tap drilling Type code: Address string: G74 XPOS, ZPOS, HELP, DELT, FROM, FEED, SPIN, P
where XPOS is the coordinate of X where tap drilling is started. It must be specified! The data may be specified in absolute or incremental terms. ZPOS is the coordinate of Z where tap drilling is started. It must be specified! It may be an absolute or incremental data. HELP is the depth of thread. It may be absolute or incremental. It must be specified! DELT its specification is ineffective. FROM its specification is ineffective. FEED is the feed rate, an optional specification. SPIN is the code or direct value speed. An optional specification. P is an optional specification prevailing on completion of the cycle. The operation of the cycle is as follows: 1. Fast traverse to point XPOS. 2. Fast traverse to point ZPOS. 3. Tap drilling with work feed. Override and cycle stop are disabled. 4. Reversing the spindle spin at the size specified at address HELP. 5. Retracting tap drill to point ZPOS, with work feed. 6. Fast traverse in direction Z and X, to a the position prior to tap drilling.
117
18.3 Reaming Type code: Address string: G75 XPOS, ZPOS, HELP, DELT, FROM, FEED, SPIN, P
where XPOS is the coordinate of X where reaming is started. It must be specified! The data may be specified in absolute or incremental terms. ZPOS is the coordinate of Z where reaming is started. It must be specified! It may be an absolute or incremental data. HELP is the depth of reaming. It may be an absolute or incremental data. It must be specified. DELT its specification is ineffective. FROM its specification is ineffective. FEED is the feed rate, an optional specification. SPIN is the code or direct value of spin. An optional specification. P is an optional specification, prevailing on completion of the cycle. The operation of the cycle is as follows: 1. Fast traverse to point XPOS. 2. Fast traverse to point ZPOS. 3. Reaming with work feed. 4. Retract to point ZPOS with work feed. 5. Fast traverse in direction Z and X to the position prior to the cycle.
118
18.4 Drilling with deburring Type code: Address string: G76 XPOS, ZPOS, HELP, DELT, FROM, FEED, SPIN, P
where XPOS is the coordinate of X where drilling is started. It must be specified! The specification may be an absolute or incremental value. ZPOS is the coordinate of Z where drilling is started. It must be specified. It may be an absolute or incremental data. HELP depth of hole. It may be an absolute or incremental specification. It must be specified! DELT is the depth of boring, a mandatory specification. Knowing the depth of hole, the control determines the number of cycle repetitions from the specified depth of boring, by dividing the depth of hole in conformity with the depth of boring. The residue will the last depth of boring. FROM its specification is ineffective. FEED is the feed rate, an optional specification. SPIN is the code or direct value of spin. An optional specification. P an optional specification; except for P5, it will prevail on completion of the cycle. L Note: In programming drilling cycles, specification of command P5 (conditional feed stop in lift), will make the feed to get in STOP condition after the drill has been lifted (removed). The drilling cycle can be resumed by pressing the START button. This condition can be turned on and off with the key labelled COND BLOCK. The operation of the cycle is as follows: 1. Fast traverse to point XPOS. 2. Fast traverse to point ZPOS. (With 1 mm pre-deceleration.) 3. Drilling to a depth of DELT with feed. 4. Fast traverse in backward direction by 1 mm (X). 5. Movement of 1 mm with feed in drilling direction (sinking). 6. Repetition from step (3) until the depth of hole written at address HELP is reached. 7.Fast traverse in direction Z and X to the position prior to the cycle.
119
19 Programming of threadcutting cycles Type code: Address string: G80, G81, G82, G83, G84, G85 XPOS, ZPOS, QUOT, ELEV, DELT, HELP, ARC, P, FI, DIV
Threadcutting may only be performed by means of special threadcutting cycles. Similarly to roughing, these cycles are composed of repetitions of subcycles. Steps of subcycles are: 1. Taking a cut: It is made with programmed feed, simultaneously with displacement in X and Z direction in general. Actually, execution of each threadcutting cycle differs in displacement when taking a cut. Direction of a cut is determined in every case by the sign of value written in ELEV (pitch) address.
2. Turning: with threadcutting feed. The actual movement is commenced on a signal sent at a given angular position of main spindle. The pitch is established by the feed rate per revolution (ELEV address). This feed always occurs along Z axis (except plane thread), even if the current movement is performed on a conical surface by a value written in X address (conical thread). 3. Tool lift: This movement occurs parallel to the X(Z) axis, in a direction opposite to taking a cut. Its absolute value exceeds value of X(Z) coordinate of the origin by 1000 increments. The tool is lifted in rapid traverse. 4. Tool retract: A rapid traverse movement of the same length as threadcutting, but in the opposite direction. X component of the previous cuts and the value of tool life are added to the compulsory cut displacemet. X component of the previous cuts and the value of tool lift are added to the compulsory cut displacement. Programming two blocks of identical G8* (*=1, 2, 3, 4) type successively, where ELEV (pitch) address is not specified in the second block, execution of threadcutting is modified as follows:
120
1. If a tool lift other than 1000 increments (1 mm in metric system) is necessary in X direction, its extent may be specified in XPOS address. The number written in XPOS address is unsigned, its sign is calculated by the control system from sign of ELEV. XPOS means displacement (not to be meant in diameter). (Applicable in cycles G80, 81, 82 and 83.) For example, if it is to be implemented 0.5 mm above start diameter X, write 0.5 at address XPOS of the second G8* block. 2. If the tool is to be lifted out conically at the end of thread in Z direction to the X coordinate value valid at the end of thread, length of runout should be specified in ZPOS address. This value may only be INCREMENTAL with a sign corresponding to the cutting direction (Z). In case of different programming (absolute specification, opposite direction), the control system sends a RECORD? error display when leaving EDIT mode. Length of runout should be longer than depth of thread (cone angle is less than 45 degrees), or else on execution, the threadcutting cycle stops with SQRT error display following the cut. For external thread conical thread runout is only possible in the greater diameter, while for cutting an internal thread, it is possible only on the smaller diameter (applicable in cycles G80, 81, 82, 83). 3. If a fininshing process identical to the last cut of the cycle has to be performed on the thread, 1 must be written in QUOT address in the second G8* block (applicable in cycles G80, 81, 82, 83, 84). L Note: Call of the threadcutting cycle must be preceded by a positioning to nominal value of thread. At the end of cycle it returns to the same starting point. For internal thread it is necessary to position the tool to the appropriate thread core diameter. 19.1 Considerations for programming a thread-cutting cycle 1. The starting point of threadcutting cycle, as well as ending point of turning subcycle should possibly be defined in the light of the fact that dynamical acceleration, or deceleration for stopping (in Z direction) may only occur over a certain length of travel. The turned thread will not be accurate on this section. Therefore, a runon, or runout length should be provided. 2. Maximum pitch suitable for cutting is: 999,999 mm 3. The following relationship applies to product of pitch and spindle speed: (S * E)max =# F [m/min] (where F: maximum feed applicable on the specific machine tool, specified by the manufacturer in parameter TEST FEED). 121
19.1.1 Programming of Multiplex Threads Type code: G80, G81, G82, G83, G84 Address string: XPOS, ZPOS, QUOT, ELEV, DELT, HELP, ARC, P, FI, DIV where: FI is an angular position relative to the zero pulse (FI>0). DIV is a uniform division over 360E. The interpretations of the rest of instructions in the address string can be found in the descriptions of the respective types of thread. The division is or FI when DIV=0 A thread with an offset angular position can be specified in a thread block, in which address ELEV is programmed. In the case of a different programming, error signal BLOCK ERROR? is returned when leaving the PROGRAM mode. L Note: A multiplex thread cannot be programmed in block type G85! Programming facilities: G8* ...E... G8* ...E...FI30... G8* ...E...FI45... G8* ...E...DIV4... G8* ...E...FI30...DIV4
Thread-cutting at zero pulse. Thread-cutting at 3OE. Thread-cutting at 45E. Thread-cutting at 90E, 180E, 270E and 360E. Thread-cutting at 30E, 120E, 210E and 300E.
Instances of programming having the same effects as programming of G8* ...E... are: G8* ...E...FI360... G8* ...E........DIV1... G8* ...E...FI720..DIV1... L Note: In smoothing multiplex threads types G80 and G81 (with 1 programmed at address QUOT in the second block), the last (smoothing or finishing) cut will be accomplished on completion of all thread grooves. Examples: Cutting a two-start thread of M12x2.25 from Z25 to Z0, with 2x5 cuts, finally smoothing both thread grooves: N5 G50 F.1 S800 T101 M3 M8 M12 X16 Z25 N10 G80 Z0 Q5 E-2.25 D2 N15 G80 Q1
122
Threads of M10x1..25, M14x1.25 and M18x1.25 are cut along 15 mm, offset by 120E relative to each other, thread M14x1.25 is emphasized conically in the last 5 mm. N5 G54 F.12 S1200 T303 M3 M8 X10 Z0 N10 G80 Z-15 Q5 E-1.25 N15 G44 X14 Z-20 N20 G80 Z-30 Q5 E-1.25 FI120 N25 G80 ZI-5 N30 G44 X18 Z-40 N35 G80 Z-55 Q5 E-1.25 FI240
123
19.2 Programming of standard metric thread (6O-) Type code: G80 Address string: XPOS, ZPOS, QUOT, ELEV, (DELT), (HELP), ARC, P, FI, DIV where: XPOS is change in nominal diameter for conical thread. A value to be specified optionally. ZPOS is component of Z direction of thread length. Specification of this address is compulsory and it may be absolute or incremental value. QUOT is number of subcycles performing thread cutting (see later). ELEV is value of pitch (P being the standard symbol). The control system interprets it in signed form, its sign means direction of depth of thread (cut). For conical threads, this address defines value of longitudinal (Z) pitch. DELT specification of this address is ineffective. HELP specification of this address is ineffective. ARC is a value to be specified optionally, programmable for making inch threads with a special profile angle of 60 deg. Number of turns per inch is determined to an accuracy of two decimals. When specified, the control system calculates actual pitch from this value and interprets only the sign of the value written in ELEV address. P is programmed suspension or end of program. Specification of this address is optional. For example, metric thread of M12x1.25 in the Figure can be programmed as follows: N5 G50 F.12 S1200 T505 M3 M8 X12 Z2 N10 G80 Z-15 Q6 E-1.25 where the appropriate technological values are linked in block N5, the tool is positioned to the nominal size of the thread with 1 to 2 thread turns in front of the start of thread, then the thread is made with 6 cuts in block N10, using a length of Z-15 for a safe runout of the tool. If the thread is to be finished (smoothed) with a last cut, this has to be programmed separately in block N15 G80 Q1. As a result of cycle G80, the control will cut a standard metric thread as described below.
124
- For an external thread (+X and -E or -X and +E), the thread section shown in the Figure has to be m a d e (Hungar i a n Standard M S Z 2 0 3 1985).
The depth of thread (t1) is half of the difference between the nominal size (D) and the threadgroove bottom (d3). That depth can be obtained by relationship t1=0.613435P assuming that the radius (R) of stud rounding-off is the maximum one permissible by the Standard. The max. permissi b l e radius can be determi ned by t h e relations h i p R m a x =0. 144338 P. If the n o s e radius of the thread-cutting tool is equal to it, write that number or 0 for nose radius at the time of tool
125
testing (calibration). The Standard (MSZ 204-1985 and MSZ 12202-1985\) allows a radius of stud rounding-off smaller than that, but it may not be smaller than Rmin=0.125 P. Obviously, a deeper thread has to be cut with a thread-cutting tool having a nose radius smaller than radius Rmax. The control will use the relationship t1=(0.613435 + 0.144338)P-RTR* for correcting the thread depth, provided the nose radius of the thread-cutting tool has been written for the value
The Standard also permits a thread-groove bottom made up of several radii. Now the value of RTR* has to be calculated separately (see Section 6.2, Hungarian Standard MSZ 12202-1985). 126
RTR* at the time of tool calibration. Provided the value of RTR* is other than 0, and lies outside the interval between Rmin and Rmax, the control will send an error signal. For an external thread, the positioning has to be made for the outside diameter (nominal one, d) with the thread-cutting tool in the block preceding the cycle. For a female thread (+X and +E or -X and -E), the thread section shown in the Figure has to b e produce d (MSZ 2 0 3 1985).
The control will use the relationship t1=0.57735P for calculating the depth of thread, assuming that the radius (R) of stud rounding-off is the maximum one arising from the thread section specified in the Standard. In this case the max. permissible radius can be determined by the relationship Rmax=0.072169P. If the nose radius of the thread-cutting tool is equal to that value, it (or number 0) has to be written for the nose radius at the time of tool calibration. The Standard (MSZ 12202-1985) permits also a radius of stud rounding-off smaller than that. The control allows the radius to be diminished to the minimum nose radius of Rmin=0.0625P\. Obviously, a deeper groove has to be cut with a thread-cutting tool having a nose radius smaller than Rmax. The control uses the relationship t1=(0.57735 + 0.072169)P-RTR* for correcting the depth of thread, provided the nose radius of the tool has been set for the value of RTR* at the time of tool calibration. Whenever the value of RTR* differs from 0 and lies beyond the interval of Rmin to Rmax, the control will return an error signal. For a female thread, the thread-cutting tool has to be positioned to the inside diameter (core diameter, D1) in the block preceding the cycle (D1=D-1.082532P).
For a female thread, the Standard (Section 6.3, MSZ 122O2-1985) contains no specification on the shape of the bottom of thread-groove; for simplicity's sake, the control assumes the radius. 127
Component X of the value of each cut is increasing along the following series, with the value of Q (cycle number) taken into account: XQ t ( Q1 Q2) Q1
ZQXQ0.58
L Notes: $" The calculation process determines each cut in such a way that, at a given number of cuts (Q), the scrape cross-section to be removed (and, hence, the milling force acting upon the tool) will remain constant. $" Z, X and Q can also be programmed in the second block G80. $" Unless the conical emphasis has been programmed separately in the second block type G80, the control will make a conical thread runout of 2.5P or 2P for a female thread or an external thread, respectively, in compliance with the Standard (MSZ 224-1988). $" The control will return error signal RTR> whenever the value of RTR* is too high for the pitch, or will return error message RTR< whenever the value of RTR* is too small. 19.3 Programming of Whitworth thread (55 deg) Type code: Address string: G81 XPOS, ZPOS, QUOT, ELEV, (DELT), (HELP), ARC, P, FI, DIV
The threading cycle differs from the 60 degree standard thread in the following: ARC specification of this address (number of threads per inch) is compulsory, ELEV the control system observes only the sign of optional value written in this address in order to establish direction of cut. In calculating thread section, value of thread angle is 55 degrees, while depth of thread turned actually is t1 = 0.64033 * h Aaccordingly, value of cut shift in Z direction (with alternating sign) per cut is as follows: ZL = XL * tg (55 deg.)
128
19.4 Programming of threadcutting with cut shift of alternating sign Type code: G82 Address string: XPOS, ZPOS, QUOT, ELEV, DELT, HELP, (ARC), P, FI, DIV where: XPOS the value meaning change of nominal diameter can be specified in this address (only for conical thread) in absolute or incremental terms. ZPOS component of thread length in Z direction can be specified in this address in absolute or incremental terms QUOT cycle repetition number. ELEV pitch, its sign defines direction of cut. DELT the cut is to be meant not in diameter, unsigned, since its direction is defined by sign of ELEV. HELP value of component of cut in Z direction, its direction changes sign per cut. It is advisable to write a small value (at most some hundredth) in the HELP address, its function is to prevent thread cutting tool from seizing. ARC this address appears in the address string, specification of this address is ineffective. P programmed suspension or end of program can be specified in this address.
L Note: According to the foregoing: XL = D ZL = H The cycle is used to make other special threads. X, Z, Q are also programmable in the second G82 block.
129
19.5 Programming of threadcutting with cuts taken at a specified angle Type code: G83 Address string: XPOS, ZPOS, QUOT, ELEV, DELT, (HELP), ARC, P, FI, DIV where: addresses XPOS, ZPOS, QUOT, ELEV, DELT, P are programmed in the same way as described for G82 block type. ARC this address can be used to specify angle of inclination of a straight line running parallel to the thread profile. HELP specification of this address is ineffective. On execution, the control system calculates VALUE OF HELP with the following relationship: H = D/tg (ARC) The sign depends on that of ARC and DELT, remaining unchanged in a cycle. Sign of DELT is defined by that of ELEV.
130
19.6 Programming of plane thread Type code: G84 Address string: XPOS, (ZPOS), QUOT, ELEV, DELT, HELP, (ARC), P Everything is the same as that of block type G82 (threadcutting with cut shift of alternating sign), but X and Z directions are reversed, so $" cuts are taken in Z direction (DELT value) $" thread-cutting movement and cut shift (value of XPOS and HELP, respectively) are interpreted in X direction. $" D address is interpreted in Z direction L Notes: $" Z address must be left unspecified. $" ONLY Q address is programmable in the second G84 block.
131
19.7 Programming of cylindrical deep thread Type code: G85 This thread can be programmed in two blocks only! Address string: $" first block: (XPOS1), ZPOS1, QUOT1, ELEV1, DELT1, HELP1, ARC1, P1 (FI1), (DIV1) $" second block: XPOS2, (ZPOS2), QUOT2, (ELEV2), DELT2, HELP2, ARC2, (P2), (FI2), (DIV2) where: XPOS1 specification of this address is ineffective in the first block, this cycle is not suitable to cut conical threads. XPOS2 extent of lift in X direction, ZPOS1 thread length in Z direction, specified in absolute or incremental terms, ZPOS2 specification of this address is ineffective, conical lift is not possible. QUOT1 cut overlap in Z direction in percent. This address should compulsorily be specified. QUOT2 if not 0, finishing cut is performed after the last cycle. ELEV1 pitch, its sign defines direction of cut. ELEV2 no value may be assigned to this address. DELT1 depth of thread (not to be meant in diameter). This address should compulsorily be specified. DELT2 depth of cut (to be meant not in diameter). This address should compulsorily be specified. The condition DELT1 >= DELT2 should be met. HELP1 length of thread section on the core diameter. This address should compulsorily be specified. HELP2 width of threadcutting tool in Z direction. This address should compulsorily be specified. The condition HELP1 >= HELP2 should be met. The HELP addresses are interpreted in unsigned form. ARC1 Forward angle of thread profile, viewed from direction of thread runon, included with Z axis. This address should compulsorily be specified. The ARC addresses are interpreted in unsigned form. ARC2 Backward angle of thread profile, viewed from direction of thread runon, included with Z axis. This address should compulsorily be specified. The ARC addresses are interpreted in unsigned form. P1 programmed suspension or end of program can be specified in this address. P2 specification of this address is ineffective. FI1 specification of this address is ineffective. FI2 specification of this address is ineffective. DIV1 specification of this address is ineffective. DIV2 specification of this address is ineffective.
132
The control system resolves thread per level with cut given at DELT2 address. On each level the first cut is commenced at ARC1 angle. The next one is taken at ARC2 angle. Subsequently, the process is continued at ARC1 with cut overlap specified in QUOT1 address. Extent of cut overlap: hQ1 H2 100
Then, the next step is ARC2 side with cut overlap given above. After resolving the first level, the control system takes cut again (DELT2) and, based on the strategy above, resolves this, too. It proceeds in this way to the depth of thread specified in DELT1 address. Extent of the last cut is DELT = DELT1 - n*DELT2 where n: integer part of DELT1/DELT2.
133
134
20 Turning pistons
20 Turning pistons 20.1 Axes U, W of lathe control NCT 90T In its basic version the lathe control enables two axes (X, Z) to be programmed in the technological software. There are lathes, in which, in addition to movements in directions X and Z, other path or section control movement directions are required. They include the 2x2-axis lathes, the piston lathes, lathes equipped with special recessing slides, automatic CNC machines etc. The lathe control NCT 90T enables, in addition to the basic directions, a path-controlled axis (U) and a section-controlled axis (W) to be manipulated from the technological program. Being discussed in detail in the Operator's Manual and in this Programmer's Manual, axes X, Z will not be described here. The manipulation and programming of axes U and W will be described below. 20.2 Setting-up and programming of axes U and W In its basic version, the display of the control will not show axis U or W. They can be validated and displayed by calling the following parameters: SERVO parameter group 4324 AXIS3U 1 4346 AXIS4W 1 The above parameters define the names of axes 3 and 4 as U and W, respectively. Then the axes are set up by specifying the parameters 4563 AXIST3 1 4564 AXIST4 1 20.2.1 Manipulation and programming of axis U Axis U is displayed beneath axis Z in the display field, or behind axis Z in the address strings. In MANUAL mode push buttons +U and -U can be used in the same manner as for X, Z. The values are specified and the tool corrections (compensations) are carried out in a manner identical with axis Z. The minimum programmable displacement is 1/um (0.001 mm). In a block type G1, the positioning value written for axis U will specify a straight line of 1, 2 or 3D depending on whether one or both axes of X and Z are programmed in addition to axis U. In a block type G2 or G3, a 3D helix will be obtained by programming axis U for a circle define in plane X, Z. Axis U cannot be linked with axes X, Z for a circular interpolation. Always a linear movement will be produced along axis U. In blocks types G4* and G5*, axis U can be manipulated in the manner identical with axis Z. Axis U must be adjusted so that a zero ovality is established in the reference point. This setting is performed by the manufacturer or the machine; if, however, a readjustment is needed, it can be carried out by re-writing parameter REFSHIFT5. 20.2.2 Manipulation and programming of axis W
135
20 Turning pistons
Axis W is displayed beneath axis U in the display field. It is programmed in a manner different from the programming of axes X, Z, U. It is not feasible to make a tool offset or correction in axis W. The reference point is the zero point of axis W. Each movement must be specified relative to that point. In MANUAL mode, push button +W, -W can be manipulated in the same manner as X, Z, U. Values can be specified in the same manner as in axis Z; the smallest programmable displacement is 1/um (0.001 mm). Axis W can be programmed in block G77, G78. $" In the execution of block G77 (address string, WPOS FEED) axis W is being moved with the current feed to the point of coordinate WPOS. $" In the execution of block G78 (address string, WPOS FEED), axis W reaches the point of coordinate WPOS in rapid traverse. 20.3 Principles of piston turning The shape of the piston can be specified by programming axes X, Z in the plane of coordinates X, Z. Displacement is produced in a special oval unit by programming axis U, which implies the vibration of the tool in synchronism with the spindle. Each cycle of vibration coincides with a spindle revolution. In order for the programmed displacement of axis U to be equal to the ovality - which is essentially the amplitude of the tool vibration (the difference between the smallest and largest diameters of the piston) - the following parameters have to be specified. COMMON parameter group N0021 CONSTG1 piston state indicator = 1, axis U is the ovalizing axis. Special calculations are performed to ensure that the displacement programmed for axis U is equal to the ovality. Axis U cannot be moved in ovality mode either with incremental manual manipulation or with the handwheel. Since there is no negative ovality, axis U can be moved as far as 0 value in negative direction. = 0, axis U is not an oval axis. The special calculations do not apply. The displacement written for axis U (in microns) is identical with the displacement of axis U. N0022 CONSTG2 [microns] Parameter typical of the structural design of the oval unit (ovality of oval disk, in microns). N0023 CONSTG3 [any resolution] Length of internal arm with a resolution of 1, 0.1 or 0.001 mm. The resolution selected must be identical with the one selected for CONSTG4. N0024 CONSTG4 [any resolution] Length of internal arm with a resolution of 1, 0.1 or 0.001 mm. The resolution selected must be identical with the one selecte for CONSTG3. The oval unit must be moving in synchronism with the spindle. The synchronization is 136
20 Turning pistons
performed by a separate axis (V). This axis cannot be programmed from the technological software, but facilities are provided for turning the synchronization on and off. 20.3.1 Synchronizing axis V of the oval unit The synchronization is triggered by the PLC program, and is carried out by the test system programmed. The process can be made by issuing command OUT20, but the actual synchronization will not be commenced until the spindle is started. The sync condition persists until the machine is turned off (power-off)! A possible way of synchronization is as follows. In manual mode, when command G50, OUT20 (cycle start) is issued, the control records that the following activities have to be performed prior to the start of the spindle under the effect of the next spindle start command: 1. Assuming reference point in axis V. 2. Assuming reference point on the spindle. 3. Linking the spindle (shaft) encoder with axis U. The PLC allows 10 seconds for the performance of activities 1, 2, 3. Unless the synchronization is established during that period of time, the error SYNC ERROR! is displayed on the screen, and the spindle comes to a halt. On completion of a successful synchronization the spindle is accelerated to the programmed speed. With the synchronization established, the vibrating tool is vibrating in synchronism with the spindle (the vibration can be felt by carefully touching the nose or tip of the tool). The part will be clutched in the position defined by itself. The position has to be so adjusted that the axis minor and axis major of the piston coincide with the minimum and maximum points of ovality, respectively. Should this fail to occur, the ovality can be offset in one of two ways. 1. By the hardware. Slacken and turn the shaft encoder of the spindle or axis W. 2. By the software, from the parameter field, using the REFPAR parameter group: N7086 REFSHIFT [increment] After synchronization, axis W can be turned by a particular number of pulses written to parameter REFSHIFT to offset the position of ovality.
137
20 Turning pistons
20.4 Model program for axes X, Z, U (oval) and W L1 Program identifier. N0015 G51 F.4 S600 T1 M3 M9 M12 M40 M95 SM1200 X200 Z250 Setting-up of functions, positioning. N0020 G01 Z300 U.5 S800 Linear interpolation to the point of Z=300 mm, U=0.5 mm (ovality). In the course of movement, the ovality is varying with the movement of Z in such a way that Z and U reach the target point simultaneously. N0025 G01 X300 U.22 S1000 Linear interpolation to the point of X=300 mm, U=0.22 mm (ovality). N0030 G01 Z400 U0 S600 Linear interpolation to the point of X=300 mm, U=O mm (ovality). N0032 G50 S400 W.5 Waiting for 0.5 s, varying the spedd. N0035 G78 WP40 Fast-traverse positioning along axis W to the point of WP=40 mm. N0040 G78 WP100 Fast-traverse positioning along axis W to the point of WP=100 mm. N0045 G77 WP104 F.02 Feed movement to the point of WP=104 mm. N0050 G78 WP40 Fast-traverse positioning along axis W to the point of WP=40 mm. N0055 G51 X210 Z260 P2 X, Z positioning, end of program. 20.5 Special parameters of piston lathe SERVO parameter group N4146 SMUL6 [0-255] Multiplication factor, increasing the slope of integral action in the position control loop of axis U. N4166 SDIV6 [0-255] Division value, decreasing the slope of integral action in the position control loop of axis U. N4046 TACHAN6 [0-65535] Constant setting the faultless synchronous movement of axes S and V (pre-regulation of feed0. N4046 INPOS5 [0-255] Error limits of synchronism in axes S, V. The control is monitoring continuously the synchronism of the spindle and axis V to be within the value limits written for the parameter. Whenever the error of synchronism exceeds the INPOS level, the error message TRACKING ERROR is returned. L Note: This error may occur in the course of starting and stopping the spindle. In this case clear the error message and continue to safely work with the machine. An error received in the course of milling/machining has the following message: 1. To small value written for parameter INPOS6. 2. Too big cut for machining/milling (e.g. roughing or recessing without having turned off the synchronism). 3. A too rapid change has occurred in the speed (spin) of the spindle. N7083 REFSHIFT3 [increment] The reference-point position of axis U can be offset with the value written for this parameter, thus enabling zero ovality to be adjusted in the reference point.
138
20 Turning pistons
139