Rechner s10 268 553 01 Heidenhain Manual
Rechner s10 268 553 01 Heidenhain Manual
Rechner s10 268 553 01 Heidenhain Manual
TNC 407
TNC 415
TNC 425
and
259 93 (TNC 415 B/TNC 425)
259 94 (TNC 415 F/TNC 425 E)
243 03 (TNC 407)
up to version 12
and
280 54 (TNC 415 B/TNC 425)
280 56 (TNC 415 F/TNC 425 E)
280 58 (TNC 407)
up to version 06
January 98 208 732 21 6.5 1/98 S Printed in Germany Subject to change without notice
(208 732 E2)
Preface
This Technical Manual is intended for manufacturers and distributors of machine tools.
It contains all the necessary information for the assembly, electrical installation, start-up and
PLC-programming for the HEIDENHAIN contouring controls.
When hardware or software is improved in these HEIDENHAIN contouring controls you will
receive a free delivery of updated information. Please arrange and insert this updated information
in your manual without delay. This will ensure that your manual always remains at the current
revision level.
You can use extracts from this manual for your machine documentation. An enlargement of the
manual format (17 cm x 24 cm) by a factor of 1.225 will produce pages in DIN A4 format.
No documentation can be perfect. Like all living things it must grow and change. Among other
things, it lives from your impulses and suggestions for improvement. Please help us by letting
us know your ideas.
Update Information 1
Introduction 2
Mounting and Electrical Installation
3
Machine Integration
4
Machine Parameters
5
Markers and Words
6
PLC Programming
7
Data interfaces
8
Original Equipment Manufacturers (OEM) Cycles 9
Positioning Module 10
TNC 425 11
Appendix 12
Update Information No. 20
New NC software
In May 1996 the following new NC software versions were released:
Hardware
New Design for TNC 407
A new hardware design was introduced with the new TNC 410, TNC 426 and TNC 430 controls.
This changed design can also be used for the TNC 407. The visual display unit and keyboard unit
with the new design are gray in color and require a larger front-panel cutout.
The new BC 120 visual display unit is connected to the TNC 407 with a new cable
(Id. Nr. 312 878 ..) and adapter (Id. Nr. 313 434 02). The matching TE 400 B keyboard unit has the
Id Nr. 313 038 02. A matching gray MB 420 machine operating panel (Id. Nr. 293 757 12) is also
available.
Documentation
No replacement pages will be issued for this Technical Manual. You will find the updated
documentation on the CD-ROM entitled TNCguide OEM (Id. Nr. 208 935 92), available from
January 1998. Please contact HEIDENHAIN if you have not yet received this CD-ROM.
3 Software 2-7
3.1 NC-Software 2-7
3.1.1 NC-Software number 2-7
3.1.2 Software types 2-7
3.1.3 Software option 2-8
3.1.4 Software/Hardware 2-9
3.2 PLC-Software 2-11
3.3 EPROM sockets 2-11
3.3.1 TNC 415 A/TNC 415 E 2-11
3.3.2 TNC 415 B/TNC 415 F and TNC 425 A/TNC 425 E 2-12
3.3.3 TNC 407 2-13
3.4 Software replacement 2-13
3.5 Releases 2-14
3.5.1 Software types 243 05, 259 91 and 243 07 2-14
3.5.2 Software types 259 96, 259 97 and 243 02 2-14
3.5.3 Software types 259 93, 259 94 and 243 03 2-18
3.5.4 Software types 280 54, 280 56 and 280 58 2-23
The HEIDENHAIN-TNCs consist of several units. The principal subassembly is the logic unit. The logic
unit is joined to the other units and the TNC accessories by connecting cables.
Common
Touch probe NC PLC PLC inputs
data area
Electronic handwheel
PLC outputs
Data interfaces
The logic unit contains the electronics for both the NC and the PLC sections of the control.
The common data area contains the machine parameters and the PLC markers and words. The
machine parameters define the hardware configuration of the machine (ranges of travel, acceleration,
number of axes etc.). The PLC markers and words are used for the exchange of information between
the NC and the PLC.
Interpolation
Linear interpolation 3 of 5 axes 5 of 5 axes
Circular interpolation 2 of 5 axes 3 of 5 axes 1)
Helix Yes
Rigid Tapping Yes1)
01.98 TNC 407/TNC 415/TNC 425 2 Technical data TNC 407/TNC 415 B/TNC 425 2-3
TNC 407 TNC 415 B/TNC 425
Q-Parameters Mathematical functions (=, +, -, x, , sin , cos , angle from sin
and cos , a, a2 + b2, tan , arcsin, arctan, arccos, an, en, ln,
log, absolute value of a number, the constant , negation, truncate places
before or after the decimal point)
logical comparisons (=,, >, <),
Parenthetical calculations
File management up to 100 files: programs in HEIDENHAIN and DIN/ISO format, also tool 1),
PLC datum shift, pallet tables1) and text files
Central tool file Various tool tables for 254 tools max. each, with flexible pocket coding,
tool life monitoring and sister tool organization1)
Baud rate 38 400; 19 200; 9 600; 4 800; 2 400; 1 200; 600; 300; 150; 110
2-4 TNC 407/TNC 415/TNC 425 2 Technical data TNC 407/TNC 415 B/TNC 425 01.98
TNC 407 TNC 415 B/TNC 425
Integral PLC
Position encoders HEIDENHAIN incremental linear and angle encoders (preferably with
distance-coded reference marks)
also HEIDENHAIN incremental rotary encoders
Accessories
Electronic handwheel 1 x HR 330 Portable handwheel
or 1 x HR 130 Integral handwheel
or up to 3 x HR 150 Integral handwheel with adapter HRA 110
Diskette unit FE 401
Touch trigger 3D probe TS 120/TS 511
Measuring 3D probe TM 110
Touch probe for tool TT 110
inspection
*) PL 410 B: Active analog inputs reduce the number of PLC inputs by 8 and the number of PLC outputs by 2.
01.98 TNC 407/TNC 415/TNC 425 2 Technical data TNC 407/TNC 415 B/TNC 425 2-5
TNC 407 TNC 415 B/TNC 425
Digitizing With TS 120 touch trigger 3D probe
with optional software With TM 110 measuring touch probe
module in TNC
Power consumption
NC 24 W approx. 36 W approx.
PLC 6 W approx.
PL 410 B 25 W approx.
BC 110 B 70 W max.
Ambient
temperature
Operation 0 to 45C
Storage 30 to 70C
Weights
Logic unit 8.0 kg 10.0 kg
TE 400 2.4 kg
BC 110 B 11.0 kg
PL 410 B 3.1 kg
2-6 TNC 407/TNC 415/TNC 425 2 Technical data TNC 407/TNC 415 B/TNC 425 01.98
3 Software
The logic unit contains separate software for the NC section and the PLC section. The software is
identified by an 8-figure number.
After switching on the control, the NC, PLC and Software-Options software numbers are displayed on
the screen. The software number can also be directly requested with the aid of the MOD function.
3.1 NC-Software
259 96 0 01
Software type
National language
0 = German
1 = Czech
2 = French
3 = Italian
4 = Spanish
6 = Swedish
7 = Danish
8 = Finnish
9 = Dutch
Software version
In addition to the above-listed languages, the TNC can always use English, which may be selected via
the machine parameter MP7230.
The TNC 407 does not fall under the export restrictions, therefore no export version is necessary.
Logic units that have already been delivered can be retrofitted with the software protection module.
Please contact HEIDENHAIN if you wish to buy this option for your existing control. The proper
component model must be ordered for a specific hardware model.
Software Type
Id.-Nr. LE 243 05 259 91 259 96 259 97
251 481 78 415 E - - - X
251 481 79 415 A - - X -
251 481 88 415 E - X - X
251 481 89 415 A X - X -
251 481 98 415 E - X - -
251 481 99 415 A X - - -
258 993 78 415 E - - - X
258 993 79 415 A - - X -
258 993 88 415 E - X - X
258 993 89 415 A X - X -
258 993 98 415 E - X - X
258 993 99 415 A X - X -
264 429 78 415 E - - - X
264 429 79 415 A - - X -
264 429 98 415 E - X - X
264 429 99 415 A X - X -
Software Type
Id.-Nr. of the LE 243 07 243 02 243 03 280 58
256 113 99 X - - -
255 444 79 - X X X
255 444 89 X X X X
255 444 99 X X X X
261 092 79 - X X X
261 092 89 X X X X
261 092 99 X X X X
264 430 24 X X X X
264 430 29 X X X X
264 430 79 - X X X
264 430 99 X X X X
The PLC EPROM must be written in the format of the corresponding software type!
Beginning with software types 280 54, 280 56 and 280 58, either a 1 MB or a 2 MB
EPROM can be used for the PLC.
IC 3 IC 4
NC 1 MB NC 1 MB
IC 1 IC 2 IC 5 IC 6
NC 1 MB NC 1 MB NC 1 MB NC 1 MB
IC S
SW-Module
IC 9
Boot
IC 3 IC 4
NC 1 MB NC 1 MB
IC 1 IC 2 IC 5 IC 6
NC 2 MB NC 2 MB NC 1 MB NC 1 MB
Set jumper to 2M
or
IC 1 IC 2 IC 5 IC 6
NC 4 MB NC 4 MB NC 1 MB NC 1 MB
Set jumper to 4M
IC 9
Boot
IC S
SW-Modul
IC 5
PLC 1MB
IC 4
IC 3 Language 1MB
Language 1MB
IC 2
IC 1 NC 2MB
2MB
IC S
SW-Module
You can use the TNC BACKUP routine to do this. In the "Machine Parameter Editor" mode (code
number 95 148) press the MOD key to display the menu for configuring the data interface. The
"BACKUP DATA" and "RESTORE DATA" soft keys will be offered.
Use "BACKUP DATA" to transmit all operating parameters and the data of all file types across the data
interface and store them in the $BACKUP.ANC file. When software replacement is complete, use
"RESTORE DATA" to download the data to the TNC again.
TNC 407
243 07x 03 7/90
243 07x 05 10/90
243 07x 07 2/91
243 07x 08 4/91 New releases of these software types will be
243 07x 09 5/91 made only to correct errors.
243 07x 10 6/91
243 07x 11 11/91
243 07x 12 3/92
243 07x 13 7/93
New functions:
New functions:
New functions:
New functions:
Multipoint axis error compensation: the maximum distance between compensation points was
increased to 223 .
The maximum input range for position values was increased to 99 999.9999 mm to
+99 999,9999 mm.
The override adjustment in 2 % steps was dropped.
The minimum input value for MP6130 was changed to 1 mm and for MP6140 to 0.001 mm.
MP440 was dropped.
Mid-program startup (block scan) now works for ISO programs during blockwise transfer with
simultaneous execution.
New Module 9035
New functions:
New functions:
DIN/ISO Programming
The maximum permitted length of an NC block in DIN/ISO has been increased from 130 to 150
characters.
New functions:
Because it is run from standstill, the spindle orientation at the beginning of the "Rigid Tapping"
cycle is always executed in the direction of rotation that reaches the target by the shortest route.
Previously the direction of rotation with each spindle orientation was selected by marker M2656.
New functions:
If the PLC simultaneously issues two commands from memory areas PLC positioning (M2704 to
M2708), confirm Q parameter (M2713) and PLC datum shift (M2716), then the NC flashes the
message "Error in PLC program 1R" as these commands use the same memory areas for data
transfer.
PLC positioning in more than one axis counts as a single command. If marker M2719 (switch-over
from word processing to TNC 355 mode) has the value 0, the same checks will be run with the
corresponding TNC 355 strobes.
New functions:
Machine parameters MP951.x and MP7450 were introduced for calculating PLC positionings
during block scan.
New functions:
New functions:
Status information can now be read with module 9035. See "TNC 407/TNC 415 B/TNC 425
Description of the Differences from TNC 415".
The minimum input range of machine parameters MP6120, MP6350, MP6360 has been changed
from 80 mm/min to 10 mm/min.
MP7300 has been extended as follows:
New functions:
All functions as for TNC 415 B except "Working Plane" cycle and three-dimensional tool compensation.
New functions:
MP7411 is used to select whether to use the tool data (length, radius, axis) from the last TOOL
CALL block or from the calibrated data of the probe system in a touch probe block.
The displayable area for FK graphics has been restricted to -30,000 mm to + 30,000 mm. The
maximum edge length is 30,000 mm.
New functions:
PLC module 9033 has been introduced. This module allows the user to select a particular machine
parameter file in a SUBMIT job and then execute a Reset so the control system boots up with this
MP file.
If the PLC simultaneously issues two commands from memory areas PLC positioning (M2704 to
M2708), confirm Q parameter (M2713) and PLC datum shift (M2716), then the NC flashes the
message "Error in PLC program 1R" as these commands use the same memory areas for data
transfer.
PLC positioning in more than one axis counts as a single command. If marker M2719 (switch-over
from word processing to TNC 355 mode) has the value 0, the same checks will be run with the
corresponding TNC 355 strobes.
The offset for a variable-speed spindle is now adjusted with a new algorithm. A single offset
adjustment is made two seconds after the nominal value has reached target position. Every
second thereafter the offset voltage is increased by 0.152 mV or decreased by 0.152 mV when
servo lag is greater or less than zero respectively, and if the voltage computed from the product of
servo lag and Kv factor is greater than 0.152 mV. This means that the offset voltage changes by 1
mV in 7 seconds approx.
New functions:
LSV2 protocol
PLC axes
Help files
Synchronized axes
New compensation value table (simultaneous compensation of sag and ballscrew pitch error)
Cycle 3 "Slot Milling" modified
Cycle 27 "Cylinder Surface" new
"Working Plane": Displays are referenced to the tilted coordinate system; Touch probe functions in
the tilted coordinate system: Datum setting in the tilted system
M94 new (modulo 360)
M103 new (reduced feed rate during plunge cutting)
M105/M106 new (second set of kv factors)
M112 new (Tolerance field for "Look ahead")
M116 new (feed rate for rotary axes in mm/min)
M118 new (Handwheel overlapping)
Min. and max. memory for DNC operation
Calculation with parentheses and expanded parameter functions
MP7470 was eliminated
Graphic depiction of the workpiece blank in the working space
M114 new (automatic compensation of machine geometry during machining with tilted axes)
Module 9150 new
Input/Output of tool and pocket tables
Module 9035 was expanded
New functions:
The export versions TNC 415F and TNC 425E were improved with linear interpolation in 4 of 5
axes (previously 3 of 5 axes).
New functions:
The PLC module 9036 was expanded. The handwheel assignment can now be switched through
the PLC to any desired axis; the assignment is indicated in the status window by the position of
the handwheel symbol.
After activation of Cycle 19 "Working plane" the offset is corrected only in the axis that is moved.
Previously the offset was corrected simultaneously in all axes during execution of the first block.
With M112 it is now possible to enter a limit angle A in addition to the tolerance T.
New functions:
New functions:
A PLC column was added to the tool table. As in the pocket table, relevant PLC data can be
entered here. This column is activated with machine parameter MP7266.17.
A datum, tool, or pocket table can be searched for to certain values using Module 9092.
The PLC can activate the geometry data of the tool from W264 with the new marker M2717.
The elements Number of cutting edges, Tolerance for tool length, Tolerance for tool
radius, Cutting direction of the tool and PLC status were added to Modules 9093 and 9094.
During feed pre-control, the positioning window is not evaluated until the current velocity is less
than MP1525. In the previous software versions, the positioning window was not evaluated until
the velocity fell below 0.5 mm/min. Increasing the input value in MP1525 increases the block
processing time.
Feed pre-control can be activated for all modes of operation with machine parameter MP1391.
This becomes necessary when stiction compensation is to be active in the manual modes of
operation.
The maximum permissible positional difference between the two gantry axes is defined in
MP855. When this value is exceeded, the blinking error message GROSS POSITIONING ERROR
<AXIS> # A appears. The current positional deviation appears in the LAG display of the slave
axis.
Module 9171 makes it possible to orient the spindle at a rotational speed defined by the PLC.
Modules 9040 and 9041 make it possible to read coordinates referenced to a shifted coordinate
system.
The jog increment can now be limited with Module 9036.
With the new marker M2827 an EMERGENCY STOP (control-is-ready PLC input signal) can be
suppressed and, instead, all control loops opened and an NC stop executed.
The new marker M2830 opens all control loops and stops the NC.
In a digitized data file that has been produced with the TM 110 touch probe, the BLK FORM is
enlarged in the working plane by double the value of the deflection depth (MP6310).
The radius compensation in the working plane is now also effective in NC blocks with 5-axis
interpolation. The NC block can contain, besides the three non-parallel linear axes, also two rotary
axes.
Tool measurement with the TT 110 is possible only on machines with controlled spindle
(Spindle orientation).
New functions:
To make changes to the tool table it is no longer necessary to transfer the entire tool table. It now
suffices to transfer only those tool data that have changed. These partial data can be transferred in
the Program Run mode of operation
For a rotary table display that is set to modulo 360, the M function M 126 positions the table by
the shortest path. M 127 positions the table, as before, by the path that does not cross over the 0
position.
The function for automatic tool measurement was expanded with the TT 110. The new fields
L-OFFS, R-OFFS, LBREAK and RBREAK were introduced to the tool table (MP7266.19 to MP7266.21).
In addition, in Cycle 31 the radius is no longer entered and the fields L-OFFS, R-OFFS, LBREAK and
RBREAK were added to the modules 9092, 9093 and 9094. The new marker M2393 is set whenever
the break tolerance is exceeded.
Improvements:
The Polish dialog language was added, Id. Nr. 280 590 xx, 280 550 xx and 280 570 xx.
Contour Pocket cycle (cycle 6, 15, 16, 21, 22, 23, 24)
MP7420
Bit 4 = 0: After the contour pocket is machined, the TNC moves to the position that was
last approached before the cycle was called.
Bit 4 = 1: After the contour pocket is machined, the TNC moves the tool to clearance height.
Module 9036 Limiting jog increment
Transferred value:
0 to 50 mm = Limiting jog increment
1; <2 or >50 = Jog increment limit is canceled and the last increment entered is
activated.
2 = Jog increment limit is canceled and the minimum from the last
increment entered and the last limiting value is activated.
Improvements:
14 VDU 3-70
14.1 Pin connections 3-70
14.2 Connecting cable 3-70
14.3 Connecting the BC 120 3-71
16 Dimensions 3-74
16.1 LE 407 3-74
16.2 LE 415 3-75
16.3 TE 400 3-76
16.4 BC 110 B 3-77
16.5 PLC expansion boards 3-78
16.6 Cable adapters 3-81
16.7 Handwheels 3-84
16.7.1 HR 130 integral handwheel 3-84
16.7.2 HR 150 3-87
16.7.3 Portable handwheel HR 330 3-88
16.7.4 Portable handwheel HR 332 3-89
16.7.5 Portable handwheel HR 410 3-90
16.7.6 Handwheel adapter HRA 110 (for HR 150) 3-91
16.8 TT 110 for tool calibration 3-92
16.9 MB 410 3-93
16.10 MB 420 3-94
16.11 TE 400 B 3-95
16.12 BC 120 3-96
The export version which is offered is the TNC 415 F. In the TNC 415 F, an LE 415F is delivered in
place of the LE 415B. The export software is built into the LE 415 F.
The TNC 407 is not subject to export restrictions. An export version is not required.
. Logic unit
LE 415 B (Id.-Nr. 267 223 ..) LE 407 A (Id.-Nr. 264 430 ..)
TE 400 (Id.-Nr. 250 517 03) BC 110 B (Id.-Nr. 260 520 01)
Joined to the logic unit via 14 inch colour VDU with soft keys.
connecting cable. Joined to the logic unit and the TNC keyboard
via connecting cable.
Connected with the logic unit by cable. No more than two PL 410 B can be connected to the LE.
. VDU:
. PLC-I/O board:
. TNC keyboard:
Noise voltages are mainly produced and transmitted by capacitive and inductive coupling. Electrical
noise can be picked up by the inputs and outputs to the equipment, and the cabling.
A minimum distance between the logic unit (and its leads) and interfering equipment > 20 cm.
A minimum distance between the logic unit (and its leads) and cables carrying interference
signals > 10 cm.
(Where signal cables and cables which carry interference signals are laid together in metallic
ducting, adequate decoupling can be achieved by using a grounded separation screen)
Screening according to DIN VDE 0160.
Potential compensating lines- 6 mm (see earthing plan).
Use of original HEIDENHAIN cables, connectors and couplings.
Incorrect Correct
LE
Obstructive
elements
LE
Heat generating
elements
2.3 Humidity
Permissible humidity: < 75 % in continuous operation,
< 95 % for not more than 30 days p.a. (randomly distributed).
In tropical areas it is recommended that the TNC is not switched off, so that condensation is avoided
on the circuit boards. The heat generation prevents condensation and has no further disadvantages.
- mechanical accessibility,
- permissible environmental conditions,
- electrical noise immunity,
- the electrical regulations which are in force in your country.
>110
Minimum clearance 80 80
for servicing!
recommended: = 40 40
approx. 250 mm
C Air outlet C
100
* *
30
Maintain clearance
for screwdriver C
*
160
Connecting cables
must not hinder
swivel movement C
of the control *
100
*
C
30
Air inlet
246
160
PL
C
5
* 32 Illustration of
R max. swivel range.
The minimum angle of
swivel for exchange
of subassembly should
be at least 90.
40
145
270
40
40
>577
>110
Minimum clearance 80 80
for servicing!
recommended: = 40 40
approx. 250 mm
C Air outlet C
100
* *
30
Maintain clearance
for screwdriver C
*
160
Connecting cables
must not hinder
swivel movement
of the control C
* *
100
C
30
Air inlet
286.5
195
*
40
PL
C
5
32 Illustration of
* R max. swivel range.
The minimum angle of
swivel for exchange
of subassembly should
be at least 90.
40
145
270
40
40
For this reason, keep a minimum distance of 0.5 m between the VDU casing and the source of any
disturbance (e.g. permanent magnets, motors, transformers etc.)
415 400
25
C C C C
25
* * * *
15
40
330
20
25
* *
*
C C C
110 75
60 60
25 25
When mounted, the visual display unit and the keyboard unit provide class IP54 protection against
dust and splashwater.
X5
X22 PLC and graphics board
X12 X41 = PLC output
X6 X42 = PLC input
X43 = VDU-screen (BC)
X47 X44 = Power supply 24 V for PLC
X43 X45 = TNC-keyboard (TE)
X23 X46 = Machine control panel
X47 = PLC I/O board (PL)
B
Processor board
X21 = Data interface RS-232-C/V.24
X22 = Data interface RS-422/V.11
X23 = Electronic handwheel
Processor board
X1 = Measuring system 1 (~)
X1 X44 X2 = Measuring system 2 (~)
X12
X3 = Measuring system 3 (~)
X4 = Measuring system 4 (~)
X2 X41 X45 X5 = Measuring system 5 ( )
24V
X8 X6 = Measuring system S ( )
X12 = Triggering touch probe
X3 X8 = Nominal value - output
X31 1, 2, 3, 4, 5, S
X21 = Data interface RS-232-C/V.24
X4 X21 X22 = Data interface RS-422/V.11
X42 X46 X23 = Electronic handwheel
B = Signal ground
X5
Connection terminals
20.4 V
18.5 V
The 0 V-line of the PLC-power supply must be grounded with an earth lead ( 6 mm2) to the main
frame ground of the machine. The earth lead at the frame of the PL 410 must be directly connected
to protective earth with an earth lead ( 6mm). To prevent ground loops, the measured voltage at
the analog inputs must not be grounded
The routing and connection of the thermistors and analog inputs must be shockproof to VDE 0160
(Section 5.5.1). If this cannot be guaranteed, then both the PLC and the PL 410 must be supplied
with voltage in accordance with VDE 0160, 5.88 recommendations for low-voltage electrical
separation.
The power for the PA 110 can be supplied according to VDE 0550, provided that the analog inputs
and connections for the Pt 100 are shockproof according to VDE 0160 (Section 5.5.1). If this is not
possible, the entire PLC power supply and the power for the PA 110 must be provided according to
VDE 0551.
The 3 batteries may be found behind a screw cap in the power supply section of the logic unit.
As well as the batteries, the logic unit contains an additional energy store, mounted on the
processor board, for buffering the memory contents. This means that the mains can be switched off
when replacing the batteries. The energy store will ensure that the memory is retained while the
batteries are exchanged.
Type of batteries:
Three AA-size batteries, leak-proof,
IEC-Designation "LR6"
Connection Assignment
L1 Live (BK)
N Neutral (BL)
Protective earth (GN/YL)
The power supply for the fan is taken internally from X3 in the BC 110 B (Id.-Nr. 260 520 01). There
X4 is a DC output for test purposes (please do not connect!).
Machine Encoders
1 2 3 4 5 6
Unit LE
X1 X2 X3 X4 X5 X6
+5V
LE - Power supply
Insulated
VDE 0551 0V
1
+24V- +24V- SI
1 stab. supply
X31
0V 0V 0V voltages
2
Power supply
Measuring voltage
0V
PT 100
*)
X19 - 22
X15 - 18
Unit PL 410B
X23
2
2
1
3
4
5
1
2
Optoc.
SI
SI
X1 X47
X14
Selectable
connection X13
X44/1
X44/3
X44/2
X12
X11
X10
X2
X9 to 2nd PL
Emergency stop
controlled
+24V- +24V- 0V
Emergency Stop
X8 X7 X7 X8 X8 X3-X6
PLC - Power-
8 x 1,2A
8 x 1,2A
8 x 1,2A
7 x 1,2A
64 Inputs
supply
VDE 0550
3
+24V-
0V
2
6mm
2
6mm
2 B
6mm 1
2 0
6mm
*) In order to avoid an earth circuit, the measuring voltage should not be grounded. If it must be
grounded, ensure that the ground line is short and noise immune.
X22
Adapter
RS 422
Optoc.
X12 X14
X23
Handwheel
C
X43
Display
Unit
X45 8 x24 Matrix
Keyboard 2
Unit 4mm
X46 8 x 0,1A
24 Inputs Machine
Op. Panel
Optoc.
Terminal box
1,2,3,4,5 1-Axis
X8 2-Axis
(Spindle) 3-Axis
4-Axis
Spindle 5-Axis
C (Spindle)
L C
C C
0V
Motor control with
nominal value
X41 X41 X41 X41 X42
B difference input
V Spindle
Test point 1 V
(Fault voltg. 0V/ Motor control
housing) Test Point 2
(Fault voltg. with
0V without nominal
grounded nominal value difference
value input) input
If it must be grounded,
ensure that the line is short and noise
immune.
32 Inputs
16x0,1A
7x0,1A
8x0,1A
0,1A
The control controls the actual position with a measuring step of 0.0001 mm or 0.0001. Measuring
systems and encoders with a graduation period of 0.001 mm or 0,001 to 0.1 mm or 0.1 may be
used.
It does not matter whether the measuring system or encoder has one or several reference marks.
However, HEIDENHAIN recommends the use of measuring systems with distance-coded reference
marks, since the traversing distance when referencing is thereby reduced to a minimum. See
Chapter "Machine Integration".
The current requirement per measuring system input must not exceed 300 mA. The maximum
current requirement for all measuring system inputs together is limited to 1.2 A.
For linear measurement with the aid of a rotary encoder and a ballscrew you could use, for example,
an ROD 450.
Measuring system
LE
max. 30 m
With standard extension cable (Id.-Nr. 262 006 ..)
With armoured extension cable (Id.-Nr. 262 016 ..)
In order to be able to connect a measuring system to the square-wave signal input of the logic unit,
the sinusoidal signal from the measuring system must be converted to a square-wave signal. This
conversion is performed by the interpolation and digitizing electronics (EXE). The interpolation and
digitizing electronics is either integrated into the measuring system or made as an independent unit.
If the interpolation and digitizing electronics does not have its own power supply, it can be supplied
from the logic unit. In order to ensure a correct supply voltage, the total length of the connecting
cable between the interpolation and digitizing electronics and the logic unit must be limited (see the
following diagram).
X6
Extension cable
ROD 426.xxx8 LE
Id.-Nr. 262 011 ..
1024 lines
max. 20 m
Angle encoders:
X5
ROD 271 C Extension cable
LE 407
RON 275 C Id.-Nr. 262 011 ..
max. 20 m
or:
or:
If necessary, linear measuring systems can also be connected to the X5 connector on the LE 407 via
interpolation and digitizing electronics.
Spindle orientation
Measuring system cables must be laid without any intermediate clamping. Please use only the
HEIDENHAIN-connectors and couplings for making connections.
2.
1.
1a 1b 3.
2.
1.
2a 2b 3.
1b The special assembly tool Id.-Nr. 236 148 01 and a 22 mm spanner are absolutely
necessary to assemble the connector.
A B C D E F G H K
C1 G1 H1
Z Y X A1
3 The diagram shows the various component parts of the connector and the coupling, and
the two different versions of the screw connections for the armoured version PG7 and
PG9. The screw connection PG9 with the Id.-Nr. 209 629 01, consisting of the parts X1, Y1,
Z1 , must be ordered separately.
3 G F
"
.12
1.
2.
7 8 9
H K
10
4 Push parts A D on to the cable, alternatively assemble the screw connection for the
armouring according to diagram 3. Strip back 22 mm of the outside sleeving. Unpick the
outer screen and fold back.
5 Cut off the outer screen to a length of 3 mm and slide the screen contact sleeve E
between the internal sleeving and the braided screen.
8 Strip off the insulation on all leads for 3 mm, tin and solder in accordance with the
connection diagram to G or G1.
9 Assemble part F.
The following points must be observed when assembling the measuring system:
.The inner screen (pin 9) must not make any electrical connection with the outer screen (connector
housing).
.The outer screen of the measuring system cable must have an electrical connection with the
connector housing.
.The measuring system is grounded through its mechanical fixings, the mounting block in the case
of encapsulated systems, and the housing of the scale.
.When using external pulse-forming electronics (EXE) the ground must be electrically connected
with the frame of the machine. Necessary cable cross-section 6 mm.
.Encapsulated linear measurement systems should be connected to compressed air.
LS 107 C
<1
LS 403 C, LS406 C
<1
LS 704 C
<1
max. 20 m
X8 Nominal value output
Id.-Nr. 290 109..
BN
1 1 Nominal value output 1
BN/GN
2 2 Do not use
YL
3 3 Nominal value output 2
RD/BL
4 4 Nominal value output 5
PK
5 5 Nominal value output 3
GY/PK
6 6 0V Nominal value output 5
RD
7 7 Nominal value output 4
VI
8 8 Nominal value output S axis
WH
9 9 0V Nominal value output 1
WH/GY
10 10 Do not use
GN
11 11 0V Nominal value output 2
12 12 Do not use
GY
13 13 0V Nominal value output 3
BL
14 14 0V Nominal value output 4
BK
15 15 0V Nominal value output S axis
The connecting cable to the nominal value outputs may not have more than one intermediate
terminal. The terminal must be made in an earthed connection box. This is necessary when the
cable must branch to physically separate servo inputs. It is only possible to earth the screening of
the servo leads in this way. If required, suitable connection boxes are available from HEIDENHAIN
with the Id.-Nr. 251 249 01.
Leads are provided
with end sleeves.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
X Y Z IV V S
SERVO
HEIDENHAIN recommends that the logic unit and the connection box be connected by
HEIDENHAIN-cable Id.-Nr. 290 109 ..
If the manufacturers want to use their own cable, HEIDENHAIN offers a 15 pin Sub-D connector
with solderable leads (Id.-Nr. 243 971 ZY).
The reference pulse inhibit inputs are only available in the LE 415 A. These inputs are
normally unused. See also Chapter "Machine Integration".
HEIDENHAIN can deliver a 9-pin D-subminiature connector (Id.-Nr. 244 503 ZY) for this purpose.
01.98 TNC 407/TNC 415/TNC 425 7 Reference pulse inhibit input 3-35
8 Touch probe system input
The following 3D touch probe systems are available from HEIDENHAIN:
The TNC 415 and TNC 425 can also support the measuring touch probe system TM 110
For start-up and adjustment of the 3D-touch probe systems see Chapter "Machine Integration".
3-36 TNC 407/TNC 415/TNC 425 8 Touch probe system input 01.98
8.2 Connection of the touch probe system
Please use only HEIDENHAIN connecting cables and adapters for the connection to the touch probe
system.
WH
4 4
1 1 5 5 +15V 10% (U P)
BN BN 6 6 + 5V 5% (U P)
TS 120 2 2
3 3 GY 7 7 Battery warning
or GY
4 4 WH 8 8 0V (UN)
TT 110 GN
5 5 GN 9 9 Trigger signal
YL YL 10 10 Trigger signal
6 6
11 11
12 12
13 13
14 14
15 15
max. 50 m
01.98 TNC 407/TNC 415/TNC 425 8 Touch probe system input 3-37
8.2.2 TS 511
The TS 511 touch probe system can only function together with a transmitter/receiver unit (SE 510)
and interface electronics (APE 510).
3m max. 7 m max. 30 m
SE 510
WH/BN
WH GY 1 1 Internal screen (0V)
0V 1 1 1 7 2 2
BN YL APE GY
UP 2 2 2 5 3 3 Standby
3 3 BN RD 3 510 3 YL 4 4 Start
GY WH BN
Flash signal 4 4 4 2 5 5 15V 10% (U P)
5 5 GN 5 6 6 6
GN BL BL
IR-signal 6 6 6 1 7 7 Battery warning
Internal 7 7 7 4 WH 8 8 0V (UN)
WH/ WH/
screen (0V) BK BK 9 9
GN 10 10 Trigger signal
11 11
12 12
13 13
14 14
15 15
The signals may be inverted by changing the switch positions S1 to S4 in the APE 510.
See operating instructions TS 511.
Please install the transmitter/receiver unit SE 510 either insulated from, or electrically connected to
the machine, as it must take up a definite potential, also under vibration. The earthing screw of
the APE 510 must be joined to the machine signal ground by a potential compensating lead
( 6 mm). See also under the heading "Earthing plan".
3-38 TNC 407/TNC 415/TNC 425 8 Touch probe system input 01.98
8.2.3 TM 110
The TM 110 measuring touch probe can be mounted to the TNC 415 B and TNC 425. A special
software module (optional) is required for digitizing with TM 110.
TM
110 Id.-Nr. 284 574 .. Id.-Nr. 285 289 ..
X14 Measuring
touch probe TM 110
WH WH
1 1 1 1 1 0V
BN BN
2 2 2 2 15 + 5V
YL YL
5 5 5 5 4 I1
GN GN Axis X
4 4 4 4 17 I1 +
RD RD
7 7 7 7 3 I2
BL BL I2 +
6 6 6 6 16
WH/BK WH/BK
3 3 3 3 5 0V
BN/BK BN/BK
17 17 17 17 19 + 5V
YL/BK YL/BK
9 9 9 9 8 I1
GN/BK GN/BK Axis Y
8 8 8 8 21 I1 +
RD/BK RD/BK
11 11 11 11 7 I2
BL/BI BL/BI
10 10 10 10 20 I2 +
WH/VI WH/VI
15 15 15 15 9 0V
BN/VI BN/VI
16 16 16 16 23 + 5V
YL/VI YL/VI
13 13 13 13 12 I1
GN/VI GN/VI Axis Z
12 12 12 12 25 I1 +
RD/VI RD/VI I2
19 19 19 19 11
BL/VI BL/VI I2 +
18 18 18 18 24
21 21 21 21 13 0V
14 14 14 14 2
20 20 20 20 6
10
14
18
22
max. 12m
01.98 TNC 407/TNC 415/TNC 425 8 Touch probe system input 3-39
9 Data interface
The HEIDENHAIN contouring controls TNC 407 and TNC 415 have two data interfaces:
Both interfaces may be utilised. The operator decides which of the two interfaces he wishes to use.
See also chapter "Data interface".
The connection to the peripheral unit is made via a cable adapter which is attached to either the
operating console or the control cabinet. See also under the heading "Mounting dimensions".
This cable adapter (Id.-Nr. 239 758 01) is connected to the logic unit with the HEIDENHAIN cable Id.-
Nr. 239 760 ..
For connection to the peripheral unit HEIDENHAIN offers a standard connecting cable
(Id.-Nr. 274 545 01) , length 3 m.
WH/BN WH/BN
WH/BN WH/BN
GND 1 1 GN
1 1 1 1 YL 1 1 GND Chassis
TXD 2 2 2 2 2 2 2 2 RXD Receive data
YL GN
RXD 3 3 3 3 3 3 3 3 TXD Transmit data
GY PK
RTS 4 4 4 4 4 4 4 4 CTS Clear to send
PK GY
CTS 5 5 5 5 5 5 5 5 RTS Request to send
BL BN
DSR 6 6 RD 6 6 6 6
RD
6 6 DTR Data terminal ready
GND 7 7 7 7 7 7 7 7 GND Signal ground
8 8 8 8 8 8 8 8
9 9 9 9 9 9 9 9
10 10 10 10 10 10 10 10
11 11 11 11 11 11 11 11
12 12 12 12 12 12 12 12
13 13 13 13 13 13 13 13
14 14 14 14 14 14 14 14
15 15 15 15 15 15 15 15
16 16 16 16 16 16 16 16
17 17 17 17 17 17 17 17
18 18 18 18 18 18 18 18
19 19 19 19 19 19 19 19
BN BL
DTR 20 20 20 20 20 20 20 20 DSR Data set ready
If your peripheral unit has a connector layout that differs from the above, the HEIDENHAIN
connecting cable cannot be used.
The connection to the peripheral unit is made via a cable adapter which is attached to either the
operating console or the control cabinet. See also under the heading "Mounting dimensions".
The cable adapter is connected to the logic unit with a HEIDENHAIN connecting cable.
1 1 1 BL BK 1 1 GND Chassis
2 2 2 BK 2 2 RXD
GY
3 3 3 3 3 CTS
WH
4 4 4 4 4 TXD
GN
5 5 5 5 5 RTS
WH/GN
6 6 6 6 6 DSR
GY/PK
7 7 7 7 7 DTR
BK
8 8 8 8 8 GND Signal
RD
9 9 9 9 9 RXD
PK
10 10 10 10 10 CTS
BN
11 11 11 11 11 TXD
YL
12 12 12 12 12 RTS
BN/GN
13 13 13 13 13 DSR
RD/BL
14 14 14 14 14 DTR
15 15 15 15 15
The pin assignment is the same at both ends of the connecting cable.
In the RS-422 adapter the pins of the female connectors are connected one-to-one.
The pin assignment in the cable adapter is therefore the same as in the X22 connector in the logic
unit.
The following cable type must be used for the connection to the peripheral unit:
LIYCY 7 x 2 x 0.14 Cu
The HR 330 is connected to the logic unit by means of the cable adapter Id.-Nr. 249 889 ..
See also under the heading "Mounting dimensions".
The HEIDENHAIN extension cable Id.-Nr. 281 429 .. may be used to increase the connection
distance.
HR Adapter
X23 Electronic
HR 330
handwheel
Id.-Nr. 251 534.. Id.-Nr. 249 889.. Id.-Nr. 281 429 ..
EMERGENCY OFF 2 BL
max. 24V 1 BL
1 1 1 1
WH 2 2 WH 2 2 0V
BL 1 1 3 3 3 3
BL 2 2 BN 4 4 BN 4 4 +12V 0.6V(U V)
HR 330
GN 3 3 5 5 5 5
YL 4 4 YL 6 6 YL 6 6 DTR
BN 5 5 7 7 7 7
WH 6 6 GN 8 8 GN 8 8 RXD
9 9 9 9
max. 50 m
The adapter includes a cable with a 9 pin connector from the connection to the logic unit and two
terminals for connecting the 24 V of the EMERGENCY STOP control circuit (max. load 1.2 A).
See also the Section "Mounting dimensions".
It may be attached directly to the logic unit, or via an extension cable (Id.-Nr. 249 814 ..).
The HR 130 (Id.-Nr. 254 040 ..) is available in several versions (standard cable length 1 m):
- small knob; axial cable exit: version 01
- small knob; radial cable exit: version 02
- large knob; axial cable exit: version 03
- large knob; radial cable exit: version 04
- ergonomic knob; radial cable exit: version 05
You will find dimension drawings for the knobs at the end of this chapter.
1 1 1 1
WH WH
2 2 2 2 0V
HR 130 3 3 3 3
BN BN
4 4 4 4 +12V 0.6V (U V)
5 5 5 5
YL YL
6 6 6 6 DTR
7 7 7 7
GN GN
8 8 8 8 RXD
9 9 9 9
max. 50 m
HR 332 is connected to a cable adapter on the panel by means of a 5 m plug-in connecting cable.
The connecting cable is available with or without metal armouring.
max. 50 m
The adapter has a cable with a 9-pin plug for connection to the logic unit, two terminals for the 24 V
of the EMERGENCY STOP circuit of the control (max. load 1.2 A) and 3 terminals for the enable
circuit. The enable buttons are N/O contacts (24 V/1.2 A).
HR 410
The HR 410 is a portable electronic handwheel with:
Five axis-selection keys
Traverse direction keys
Three keys with predefined traverse speeds (slow, medium, fast)
Actual-position-capture key
Three keys for machine functions to be determined by the machine tool builder
Two permissive buttons
EMERGENCY STOP button
Holding magnets
Dummy plug for EMERGENCY STOP circuit Id. Nr. 271 958 03
In order to be able to mount the HR 410, you will need a TNC with at least software version
280 540 03, 280 560 03 0r 280 580 03.
The adapter includes plug-in terminal strips for the contacts of the EMERGENCY STOP button and
permissive button (maximum load 1.2 A).
Housing Shield Housing Housing Shield Housing Housing Shield Housing Housing Shield
6 6 WH/BK 6 6
7 7 YL/BK 7 7
5 5 WH/RD 5 5
4 4 WH/BL 4 4
2 2 WH/GN 2 2
3 3 WH/YL 3 3
1 1 WH/BN 1 1
WH/BN 3 Contact 1 + 2
WH/BL 1 Contact 1
YL/BK 3 Contact 2
WH/BK 4 Contact 2
Contact 2
1 2
Contact 1
1 2
Right Left
Cable adapter
4
Contact 2
2
Contact 1 X2
1 Contact 1
3
Contact 2
3
Contact 1+2
2 X1
Contact 2
1
Contact 1
The first two handwheels are dedicated to axes X and Y. The third handwheel can be assigned to
axes X, Y, Z, IV or V using a step switch (optional) or machine parameters. (See "Handwheel" section
in chapter "Machine integration").
X31 24 V
X1 S2 Achswahl (Option)
AXIS SELECTION (OPTIONAL)
S1 Unterteilungsfaktorwahl (Option)
X2
INTERPOLATION FACTOR (OPTIONAL)
max. 20 m max. 50 m
A second step switch (optional) can be used to select the interpolation factor for the handwheels.
The interpolation factor of the step switch must be evaluated in the PLC - it is displayed on screen
but cannot be altered with the keyboard.
However the interpolation factor can be set for specific axes without a step switch by using the
keyboard as before.
Pin assignments
The 24 V power supply of the PLC must not be connected in the handwheel adapter, since that
would bridge the electrical separation of PLC inputs and outputs. The handwheel adapter must be
powered with the 24 V supply from the NC block of the LE (VDE 0551). See chapter "Power supply".
10 Handwheel input
PL 410 PL 410
PL 410 B PL 410 B
(Id.-Nr. 263 371 12) (Id.-Nr. 263 371 02) PA 110 PL 400
PLC inputs 64 56 -- 63
PLC outputs 31 29 -- 31
Analogue inputs -- 4 4 --
Inputs for thermistors -- 4 4 --
Control is operational 1 1 -- 1
output
The analogue inputs of the PL 410 / PL 410 B they must be activated by a DIL switch on the PL and
a machine parameter in the TNC. When the analogue inputs are active, two outputs (O61/O62 or
O93/O94 on PL #2) and eight inputs (I120 to I127 or I248 to I255 on PL #2) of the PLC cannot be
used.
One PLC extension can be mounted on the logic unit. The second PLC extension must be
installed next to the logic unit in the switch cabinet. It is not possible to combine the
PL 410 B with the PL 410 or PA 110.
Current ranges:
"1" signal: Ii 3.8 mA to 8.9 mA 2.5 mA to 6 mA 6.2 mA to 12.6 mA
"0" signal: Ii 1.0 mA at Ui=3.2 V 0,65 mA at Ui=3.2 V 1.6 mA at Ui=4 V
Permitted load: resistive load; inductive load only with quenching diode parallel to inductance.
Not more than one output may be shorted on the logic unit at any one time.
One shorted output causes no overload.
No more than half of the PLC outputs may be driven at once (usage factor 0.5).
Constant current 5 mA
Temperature range 0C to 100C
Resolution 0.5C
Internal value range 0 to 200
11.2.3 PL connection
X47 PLC I/O Board
D-sub 37-pin male connection
11.3.1 Connection to LE or PL #1
X1 to PL 410 / PL 410 B
X10 to PL 400
D-sub 25-pin female connector
11.3.2 Connection of PL #2
X2 at the PL 410 / PL 410 B D-sub 25-pin male connector
X11 at the PL 400 D-sub 25-pin female connector
Cables with a core cross-section dia. 0.14 mm Cu must be used to connect the PLC inputs and
outputs. Maximum cable length 20 m.
X1 X2
Pin number Assignment Assignment Pin number Assignment Assignment
PL 400 #1 PL 400 #2 PL 400 #1 PL 400 #2
1 O32 O64 1 O43 O75
2 O33 O65 2 O44 O76
3 O34 O66 3 O45 O77
4 O35 O67 4 O46 O78
5 O36 O68 5 O47 O79
6 O37 O69 6 O48 O80
7 O38 O70 7 O49 O81
8 O39 O71 8 O50 O82
9 O40 O72 9 O51 O83
10 O41 O73 10 O52 O84
11 O42 O74 11 O53 O85
12 Do not use 12 Do not use
X3 X4
Pin number Assignment Assignment Pin number Assignment Assignment
PL 400 #1 PL 400 #2 PL 400 #1 PL 400 #2
1 O54 O86 1 I126 I254
2 O55 O87 2 I74 I202
3 O562) O882) 3 I73 I201
2)
4 O57 O892) 4 I72 I200
2)
5 O58 O902) 5 I71 I199
2)
6 O59 O912) 6 I70 I198
2)
7 O60 O922) 7 I69 I197
2)
8 O61 O932) 8 I68 I196
2)
9 O62 O942) 9 I67 I195
10 Control ready 10 I66 I194
11 Do not use 11 I65 I193
12 +24 V not interruptible by 12 I64 I192
ext. EMERGENCY STOP1)
1)
+24V must always be connected even if the non-interruptible outputs are not used.
2)
Outputs not interruptible by ext. EMERGENCY STOP
X7 X8
Pin number Assignment Assignment Pin number Assignment Assignment
PL 400 #1 PL 400 #2 PL 400 #1 PL 400 #2
1 I110 I238 1 I122 I250
2 I109 I237 2 I121 I249
3 I108 I236 3 I120 I248
4 I107 I235 4 I119 I247
5 I106 I234 5 I118 I246
6 I105 I233 6 I117 I245
7 I104 I232 7 I116 I244
8 I103 I231 8 I115 I243
9 I102 I230 9 I114 I242
10 I101 I229 10 I113 I241
11 I100 I228 11 I112 I240
12 I99 I227 12 I111 I239
X9
Pin number Assignment Assignment
PL 400 #1 PL 400 #2
1 Do not use
2 Do not use
3 Do not use
4 I125 I253
5 I124 I252
6 I123 I251
X5 Assignment X6 Assignment
Pin number PL 410 B #1 PL 410 B #2 Pin number PL 410 B #1 PL 410 B #2
PL 410 #1 PL 410 #2 PL 410 #1 PL 410 #2
1 I96 I224 1 I112 I240
2 I97 I225 2 I113 I241
3 I98 I226 3 I114 I242
4 I99 I227 4 I115 I243
5 I100 I228 5 I116 I244
6 I101 I229 6 I117 I245
7 I102 I230 7 I118 I246
8 I103 I231 8 I119 I247
9 I104 I232 9 I1201) I2481)
10 I105 I233 10 I1211) I2491)
1)
11 I106 I234 11 I122 I2501)
1)
12 I107 I235 12 I123 I2511)
1)
13 I108 I236 13 I124 I2521)
1)
14 I109 I237 14 I125 I2531)
1)
15 I110 I238 15 I126 I2541)
1)
16 I111 I239 16 I127 I2551)
1)
These PLC inputs are not available when analogue inputs are active.
1)
These PLC outputs are not available when analogue inputs are active.
max. 40 m
If a transfer unit is not required, use HEIDENHAIN connecting cable Id.-Nr. 244 005 ..
Assignment:
If the connector is to be mounted at the customer's facility, HEIDENHAIN can provide a 37-pin
solderable connector (Id.-Nr. 243 937 ZY).
max. 20 m
max. 20 m
X1 X2 X1
PL 410 PL 410 LE
max. 20 m
PA 110
LE
Id.-Nr. 289 111 ..
max. 3 m max. 20 m
X1 X11 X10 X 47
PA 110 PL 400
LE
Id.-Nr. 275 478 .. Id.-Nr. 250 481 ..
max. 20 m
I+
1
Measuring input U+
2
Measuring input U
3
I 4
5
HEIDENHAIN now offers a machine operating panel. It is installed beneath the TNC keyboard. The
dimension drawings show the standard set of keys. Four additional black keys are supplied with the
panel. The machine tool builder to use them replace unneeded axis keys, for example. Keys with
other symbols are also available upon request.
I
I I I I I I I 146
136 135 134 137 138 143 145
I I I I I I I
128 148 133 149 139 144 150
I I I I I I I I
129 130 131 132 140 141 142 147
The PLC inputs I128 to I152 must be supplied with power only from pins 36 and 37, since this
power supply is properly safeguarded.
max. 40 m
If the machine operating panel does not have a 37-pin D-subminiature connector, the HEIDENHAIN
connecting cable Id.-Nr. 244 005 .. may be used.
max. 40 m
If for any reason the manufacturers of the machine have to produce their own cable, a 37-pin
connector is available from HEIDENHAIN (Id.-Nr. 243 937 ZY).
X1 for the connection to the soft keys on the Visual Display Unit (BC)
Pin Number Assignment
1 SL0
2 SL1
3 SL2
4 SL3
5 Do not use
6 RL15
7 RL14
8 RL13
9 RL12
Standardkabel Verlngerungskabel
Id.-Nr. 263 954 .. Id.-Nr. 263 955 ..
TE 400 LE
max. 40 m
The flat cable between the TNC keyboard and the VDU is included in the
package delivered with the VDU.
Standardkabel Verlngerungskabel
Id.-Nr. 250 477.. Id.-Nr. 254 640
BC 110 LE
max. 40 m
The flat connecting cable between the VDU and the TNC keyboard is one of the items supplied with
the VDU.
4 Do not assign 4 4 4
5 Do not assign 5 5 5
7 R 7 Coax S Green 7 7
9 VSYNC 9 9 9
10 HSYNC 10 Gray 10 10
11 GND 11 Green 11 11
12 Do not assign 12 12 12
14 G 14 Yellow 14 14
15 B 15 15 15
Encoders Accessories
KA
60m VL VL 274 556 .. VB 50m
263 955 .. 263 955 .. 272 291 .. HR 332
VB 266 064 ..
VL VB
289 111 ..
254 640 .. 244 005 ..
HR 130
Cable assembly VB 254 040 ..
289 111 ..
HR 330
251 534 ..
VL KA
262 006 .. 50m 249 889 ..
VL
281 429.. VB max. 20 m HR 150
270 909 ..
HR 150
HRA 110
261 097 01
HR 150
257 061 ..
max. 20 m
RS-422-C Adapter block
TNC 407: 4 inputs 249 819 01 Step switch
TNC 415: 5 inputs
LE 415 B/ VB
289 208 ..
270 908 ..
VL TS 120
VB VB 265 348 ..
262 011 ..
290 110 .. 263 954 ..
VB APE 510 227 590 01 SE 510
274 539 .. APE 511 275 759 01 230 473 01
20m 40m max. 30 m
max. 7m 3m
15-pin male connector 37-pin male connector
243 971 ZY 243 937 ZY TS 511
VB VL
262 009 .. 274 540 .. 265 349 ..
Nominal value PLC I / 0 40m
output
16.1 LE 407
16 Dimensions
476+5
135.5+2
18.7"+.2" 456+2
0 5.3"+.08"
17.95"+.08" 132.5+2
M3 (Einschraublnge max.3)
.51"
TNC 407/TNC 415/TNC 425
10
13
5.2"+.08"
.4" M3 (LENGTH OF ENGAGEMENT .12")
.79"
20
15
.6"
.28"
7
Befestigungsmglichkeit
PL 400
MOUNTING POSSIBILITY
11.024".012"
12.83.02"
PL 400
3260.5
2800.3
12.9"
328
10.5".008"
2670.2
16 Dimensions
392
15.43" 83.5
3.29"
12.5
10,5
.5"
.41"
9
.35"
25 427
01.98
1" 16.8"
01.98
16.2 LE 415
476+5
18.7"+.2" 456+2
10 17.95"+.08" 165+2
M3 (Einschraublnge max.3)
.51"
13
.4"
TNC 407/TNC 415/TNC 425
6.5"+.08"
M3 (LENGTH OF ENGAGEMENT .12")
15
.6"
.28"
.79"
20
7
Befestigungsmglichkeit
PL 400
MOUNTING POSSIBILITY
11.024".012"
10.5".008"
PL 400
12.83".02"
2670,2
2800,3
3260,5
12.9"
328
16 Dimensions
412 391,5
1.6" .08" 15.41" 83,5
0
3.29"
12,5
10,5
.5"
.41"
9
.35"
26 424
3-75
1.02" 16.7"
3-76
16.3 TE 400
.236".008"
400
60.2
60.2 15.75" 3880.2 371 18
18
.7"
.236".008" 15.276".008" 14.6" .7"
TNC 407/TNC 415/TNC 425
105
4.1"
196
7.7"
10.315".008"
2620.2
10.8"
274
232
9.1"
16 Dimensions
5.5 47
.217" 1.8"
M5
.37"
9.5
1.4"+.2"
36+5
8+1
DIA.3+.04"
.08"
Frontplattenausschnitt
2
9.53"+.02"
10.315"0.2"
242+0.5
25
2620.2
1"
10
DIA.4"
Montageflche 380+0.5
0.5
MOUNTING SURFACE 14.96"+.02" 388+0.2
01.98
.02"
15.276"+.008"
01.98
16.4 BC 110 B
400 375 14 1
0 15.75" 14.76" .55" .04"
60.2 1120.2 2760.2 3880.2 105 2
.236".008" 4.41".008" 10.866".008" 15.275".008" 4.13" .08"
TNC 407/TNC 415/TNC 425
2-0.5
.08"-.02"
.236".008"
.59"
15
60.2
Z
DIA.34"
DIA.4"
10
MAX. 10.83"
8.6
12.6"
320
max.275
A
12.162".008"
7.99"
3080.2
203
Z
16 Dimensions
.79"
20
Frontplattenausschnitt
365 FRONT PANEL OPENING
14.37" 8-1
16 19 Ansicht A .31"-.04"
.63" .75" VIEW A 372+2
.31"-.04"
14.65"+.08"
8-1
M5
11.50"+.08"
292+2
X4 X1
X3 X2
3-77
16.5 PLC expansion boards
PL 400
2.42"
2.30"
61.5
58.5
1.48"
37.5
14.5 31
.57" 1.22"
360+1
14.2"+.04"
M4 20.5
.8"
.2"
5
3.11"
79
9.252".008"
2.64"
67
9.65"+.04"
2350.2
8.86"+.04"
245+1
225+1
14.5 363+1
.57" 14.3"+.04"
391+1
15.4"+.04"
4.5
DIA.177"
10 800.2 2100.2 3400.2
.4" 3.15".008" 8.268".008" 13.386".008"
0
282
11.1"
23.5 2350.2
.93" 9.252.008"
180.5 52.5
.7.02" 2.07"
PL-Eingnge
.35"
9.3
DIA.37"
8.268.008"
2100.2
8.98"
228
180.5 PL-Ausgnge
.7.02" PL OUTPUTS
Masseanschlu M5
GROUND CONNECTION M5
PL 410 B
282 8
11.1" .315"
23.5 2350.2
.93" 9.252.008"
180.5 52.5
.7.02" 2.07"
PL-Eingnge
.35"
9.3
DIA.37"
8.268.008"
2100.2
8.98"
228
180.5 PL-Ausgnge
.7.02" PL OUTPUTS
Masseanschlu M5
GROUND CONNECTION M5
1.5+0.5
.06+.02"
Masseanschlu M5
GROUND CONNECTION 42+1
1.65+.04"
205+1 30
.12"
8.07+.04" 1.18"
3
3.62+.04"
X2
X3
X4
X5
X6
24V
92+1
X1
X10
X7
X8
X9
1400.2
5.512.008" Montageschiene nach DIN 50022
2.362.008"
1.28"
16.5
.65"
5.5
.217"
DIA.315"
.118"
8
DIA2.165"
1.575"
55
40
DIA1.858".012"
47.20.3
max. 7 52
MAX.276" 2.047"
M5 38 14 54 23
1.469" .551" 2.126" .906"
1.26"x.59"
2.165"
32x15
55
DIA1.417"
36
4
.158"
Mounting opening for wall thickness S<4 Mounting opening for wall thickness S>4
23
.906"
1.732"
1.339"
1.457"
1.732"
.787"
44
34
37
44
20
5.5 S M4 S
.217"
1
.039"
DIA 1.181"
DIA 1.104"
29
28
29.4
1.155"
1.155"
29.4
1.5"
38
38
M3 1.5"
93 0
0
R 1
7"
R
5
3.
.2"
5 8
.2" DIA .315"
7 780.2
.275" 3.071".008" M4
1.5"
38
92 31.5
3.62" 1.24"
7 780.2
.275" 3.071".008"
M4
1.5"
38
1.24"
31.5
15
.6"
92
3.62"
.35" 2.36"+.04" 5
10.5
.41"
.2"
0.2 Befestigungsgewinde M3 x 5
DIA .008" FIXING HOLE M3 x .197"
361.5 3x
1.417.06"
DIA .3937.0004"
DIA .3937.0008"
14
.551"
100.01
100.02
DIA 2.283"
3 x 120
120
58
48
12.5 1.890"
DIA 1.4173.0025"
DIA 1.4173.0010"
.492"
.630"
16
36 f8
30
4.4
DIA .173
19.5+1
.768+.04"
10
.394"
SW 5.5
M3
M3
3x
max. 10
7 6
MAX .394" .276" .236"
1
.0394" HR ...
DIA 2.402"
10
61
DIA .394"
SW 14
18
.709" (18)
(.709")
Frontplatte (2)
FRONT PANEL (.079")
Knob large
12
.472"
SW 5.5
M3
M3
3x
7 6
.276" .236"
max. 15.5
MAX .610"
HR ...
SW 1.5
27
1.063" (12)
48 (.472") 90
1.89" 3.543"
Frontplatte (2) 10 F7
FRONT PANEL (.079") DIA .3937 +.0011"
DIA .3937 +.0005"
12
.472"
SW 5.5
17.7
M3
M3
.697"
3x
10
.394" 7 6
.276" .236"
4
.158"
HR ...
SW 2
(12)
(.472")
6 70
.236" 2.756"
22
.866"
10 H7
Frontplatte (2) DIA .3937 +.0006"
FRONT PANEL (.079")
0.2 A
.008" A
0.1 A M3 0.3 C
.004" A 361.5
SW 5.5 DIA .012" C
1.417.06"
HEX FLATS
DIA .3937.0004"
DIA .3937.0008"
C 14
.551"
100.01
100.02
A
DIA 2.283"
3 x 120
120
58
48
12.5 1.890"
DIA 1.4173.0010"
DIA 1.4173.0025"
.492"
.630"
16
B
36 f8
30
6
DIA .236
19.5+1
0.2 B
DIA .008" B .768+.04"
10
DIA 1.102
.394"
28
52
2.047
2.83"
72
2.87"
73
45
16 Dimensions
190
7.48"
87"
6.77"
FULLY EXTENDED
CABLE LENGTH
HEIDENHAIN
HR 330.001
Kabel ungewendelt, Kabellnge = 6m
IV
+
.197"
.87"
22
8
4.17"
106
2.677".00 8"
680.2
Halter
HOLDER
96
3.78"
87 68.5
3.42" 2.7"
26
8.66"
220
1.02"
237.5
9.37"
X IV
Y V
Z
2.36"
60
2.28 .04"
58 1
HR 150
2.08"
53
.04 .02"
1 0.5
248
9.76"
1.8 .04"
45 1
DIA .24"
6
X
.55"
4.567 .008"
4.567 .008"
14
8.15 + .08"
116 0.2
116 0.2
207 + 2
9
.35"
230 0.2
9.055 .008"
X
Datenausgang HRA
DATA INTERFACE HRA
S1 S2 X31 24V
X23 +
Masseanschlu M5
GROUND CONNECTION M5
40
0.01 0.03
// A A
.0004" .00012"
20
.275"
7
.157"
4
2.598"
66
3.701"
94
15
1.811"
46
9
.338"
8.6
1.102"
28
.020"
0.5
30
A DIA.1.181"
34
DIA.1.338"
76.5
3.011"
Lnge 3m
LENGTH 9.8ft
R
20
1.575"
40
41.5
1.634"
.236.008"
400
60.2
15.75"
2.047"
60.2 3880.2 20
.354"
52
9
.236.008" 15.276.008" .787"
IV+ Z+ FN
Y+ V+ 1
3.386"
1
4.33"
110
86
FN
X X+ 2 0
FN FN FN
Y Z IV V 3 4 5 0
3.858.008"
5.5 234 75
980.2
0.5 Montageflche
2.36"
60
9 .02" MOUNTING SURFACE
DIA .35" M5
.2.02"
50.5
3880.2
1.26"
15.276+.008"
32
.16"
4
3.858.008"
3.465+.04"
980.2
Frontplattenausschnitt
88+1
.08"
2
.315.008"
400
80.2
15.75"
2.05"
120.2 3760.2 20
52
.35"
9
.472.008" 14.803.008" .8"
IV+ Z+ FN
Y+ V+ 1
1
4.33"
3.39"
110
86
FN
X X+ 2 0
FN FN FN
Y Z IV V 3 4 5 0
3.7.008"
940.2
5.5 234 75
.217" 9.21" 2.95"
0.5
M
.02"
2.36"
60
9 3760.2 M5
DIA .35" 14.803.008"
1.26"
32
.16"
4
.47"x45 (4x)
12x45 (4x)
F
.08"
2
10
3.7.008"
DIA .4" 4
940.2
40
.16"
1.57" F 384+0.5
356.5
14.04" 15.118+.02"
400 25 378.5+1
.98"
15.75" .98" 14.9+.04"
25
.39"
12
10
.47"
40 13
13.07.012"
1.57"
3320.3
9.92"
252
12.34+.04"
313.5+1
13.78"
350
.98"
25
0
DIA .22" 3.86.012" 10.94.012" 14.8.012"
13.07.008"
12.56+.04"
3320.2
F 319+1
0.5
.31"
M
8
.02" F 372+1
2
.08" 14.65+.04"
8 Key-simulation 4-164
8.1 TNC-keyboard (TE 400) 4-164
8.2 Machine-control panel 4-174
The machine parameter MP10 can be set to determine which axes should be operational on the
machine. If necessary, MP10 can be used to select all the axes functions (control, display, pass over
reference marks etc.)
Linear measurement
For linear measurement systems with sinusoidal output signals the signal period is the same as
the graduation period:
Signal period (~) = grating period
Signal period ( 1
) = ballscrew pitch [mm] 1000 [mm / mm] line count interpolation factor
The TNC always does a 4-fold evaluation of the signals at the square-wave inputs.
1
If a counting step < 1 m or is desired, the signal period ( ) must not be greater than
1000
4
4 m or .
1000
Only on the TNC 407 is it possible in MP340 to enter the interpolation factor of the external
electronics (EXE) at the encoder input X5 or X6. The TNC needs this information in order to be able
to determine the absolute position when encoders with distance-coded reference marks are used.
The interpolation factor is entered individually for each axis.
Angular measurement: For angular measurement systems the signal period is calculated as
follows:
signal period (~) = line360
count
1000
or
signal period ( ) = line360 1
count interpolation factor
1000
If the angular measurement is made by gearing up or down this must be taken into account when
calculating the signal period.
0 = No encoder at X5, X6
or EXE without interpolation
1 = EXE without Interpolation
5 = EXE with 5-fold interpolation
MP340.0 X axis
MP340.1 Y axis
MP340.2 Z axis
MP340.3 4th axis
MP340.4 5th axis
MP210 defines the counting direction for the measuring system signals. The counting direction
depends on the mounting orientation of the measuring systems.
Machine parameter MP1040 determines the polarity of the nominal value voltage during the positive
direction of traverse.
MP1040 Polarity of the nominal value voltage for the positive direction of traverse
Entry: %xxxxx
M2160 Direction of NC NC
to M2164 traverse
0 = positive
1 = negative
M2160 X axis
M2161 Y axis
M2162 Z axis
M2163 4th axis
M2164 5th axis
Error message
The absolute position of distance-coded reference marks C
The amplitude of the measuring system signals A
The edge separation of the measuring system signals B
If one of the conditions is not fulfilled, the error message "Measuring system <axis> defective
A/B/C" will appear.
For sinusoidal signals the LE monitors the amplitude of the measuring system signals, for square-
wave signals the LE evaluates the fault detection signal (UaS) of the external electronics (EXE).
The directions of traverse may be simply determined by using the "Right-hand rule".
+Z
+X
+Y
If the machine moves the workpiece, then the direction of movement and the direction of the axis
are opposite to one another. The positive relative directions of movement are then designated +X',
+Y' etc.
+X
+X
The fourth or fifth axis can be used either as an axis of rotation or alternatively as an extra linear axis.
While the three principal axes have the standard designations X, Y and Z, the designations of the
fourth and fifth axes can be selected by a machine parameter.
An axis of rotation is designated by the letter A, B or C. The correlation with the principal axes and
determination of the direction of rotation is standardized in ISO 841.
+Z
+Y
+C
+B
+X
+A
+Z
+W +Y
+V
+X
+U
Entry: 0=A
1=B
2=C
3=U
4=V
5=W
1.2.1 Assignment
The measuring system inputs X1 to X6 and the analogue outputs, Output 1 to Output S (on the
connector X8 ) can be assigned to the individual axes. The assignment is determined by the machine
parameters MP110 and MP120.
The assignment of measuring system input X6 and the nominal value output S to one of the five
axes is only possible when the function Spindle-Orientation is not utilised.
MP110.0 X axis
MP110.1 Y axis
MP110.2 Z axis
MP110.3 4th axis
MP110.4 5th axis
Entry: 0 = output 1
1 = output 2
2 = output 3
3 = output 4
4 = output 5
5 = output S
MP120.0 X axis
MP120.1 Y axis
MP120.2 Z axis
MP120.3 4th axis
MP120.4 5th axis
The input values for the software limit switches are related to the machine datum (MP960.x). The
momentary software limit switch range is selected by the markers (M2817, M2816) and activated
by the strobe-marker (M2824).
The software limit switches for axes of rotation are not active unless a value of 0 is entered in
machine parameter MP810 (see section "Display and operation").
The MOD-function "Axis-limit" can be used to enter an additional limitation for each traverse range.
Traverse range 1
Initial values after Power-On;
Activated by PLC M2817 = 0, M2816 = 0
Traverse range 2
Activated by PLC M2817 = 0, M2816 = 1
Traverse range 3
Activated by PLC: M2817 = 1, M2816 = 0
MP7490 is used to select whether one or three traverse ranges can be defined with the MOD
function. MP7490 is also used to select whether the datum applies for all traverse ranges or
whether a separate datum can be set for each traverse range (see table below).
Markers M2816 and M2817 are used to define the traverse range and/or datum point.
The change-over to the selected traverse range must be activated by the strobe-marker M2824 by
the PLC. This strobe-marker is reset by the NC after the change-over has been carried out.
If one of the software limit switches is reached, the error message "LIMIT SWITCH ..." appears and
the appropriate marker (M2624 to M2633) is set.
Example:
PLC-program example of changing the traverse ranges. The PLC-input I10 is used as a condition for
change.
M2816
M2817
M2824
M555
M556
Example:
If the stored path limit for an axis is exceeded, the NC sets a marker (M2012 to M2015, M2029) to
"1".
After carrying out the lubrication the PLC must reset the accumulated traverse distance (M2548 to
M2551, M2613).
MP4060.0 X axis
MP4060.1 Y axis
MP4060.2 Z axis
MP4060.3 4th axis
MP4060.4 5th axis
In the machine parameter MP4060.0 the traverse distance after which the X-axis should be
lubricated is entered. The duration of the lubrication is defined by the timer T0 (MP4110.0).
The PLC-output O24 is to be set for the duration of the X-axis lubrication.
In our example the lubrication is activated as soon as the marker M2012 is set. If , for some reason,
the lubrication should only be activated when the axis is at rest, then this must be taken into
account in the PLC-program.
M2012
M2548
T0
T48
024
backlash compensation,
compensation of reversal errors in circular motion,
linear axis-error compensation,
non-linear axis-error compensation,
compensation of thermal expansion.
Either the linear or the non-linear axis-error compensation can be activated. The other types of
compensation can always be activated in parallel.
Depending on the design, the movement of the rotary encoder may be advanced or retarded relative
to the table. The professional jargon describes this as positive or negative backlash. Backlash
occurring outside the control loop can be automatically compensated by the TNC.
Positive backlash: rotary encoder advanced relative to the table (traverse movement of the table is
too short).
Negative backlash: rotary encoder retarded relative to the table (traverse movement of the table is
too long).
For every direction reversal the TNC subtracts or adds the value from machine parameter MP710.x
to the value resulting from the measuring system signals.
Commercially available devices such as the HEIDENHAIN Double Ball Bar system can diagnose
these errors and determine the size and duration of their peaks.
m
12
9
6
MP711
3
0
3 Spitzenweite
6 Peak width
9
12
91 92 93 94 95 96 97 98 99
The TNC can then compensate for these errors. The size of the reversal error which is to be
compensated is entered in machine parameter MP711, and the portion of the peaks to be
compensated per closed loop cycle time is entered in MP712.
The diagram from the DBB system shows the size and duration of a reversal peak.
Compensation per control loop cycle time (3 ms with TNC 415, 6 ms with TNC 407)
Reversal peaks [mm] Control loop cycle time [s]
Compensation [mm] = 10-3
0.5 tPr [s]
The compensation value is entered in MP712.
If the computed values have no effect this is because the machine dynamics are too weak.
MP711.0 X axis
MP711.1 Y axis
MP711.2 Z axis
MP711.3 4th axis
MP711.4 5th axis
MP712.0 X axis
MP712.1 Y axis
MP712.2 Z axis
MP712.3 4th axis
MP712.4 5th axis
A second block of Kv factors can be activated with M function M105 (M106 deactivates).
A second block of machine parameters for reversal peak compensation is also activated.
MP715 (as MP711) and MP716 (as MP712)
MP715.0 X axis
MP715.1 Y axis
MP715.2 Z axis
MP715.3 4th axis
MP715.4 5th axis
MP716.0 X axis
MP716.1 Y axis
MP716.2 Z axis
MP716.3 4th axis
MP716.4 5th axis
MP730 set the axis error compensation to linear or non-linear. Linear axis error compensation is not
active for rotary axes.
Error
[mm]
0.02
0.01
0
-0.01 Ref. mark 500 1000 Encoder
[mm]
-0.02
MP720.0 X axis
MP720.1 Y axis
MP720.2 Z axis
MP720.3 4th axis
MP720.4 5th axis
For example, the lead-screw pitch error for the Z axis (Z=F(Z)) or the sag as a function of the Y axis
(Z=F(Y)) could be determined.
The TNC can compensate ballscrew pitch error and sag at the same time. A correction table (file
extension .COM) is created for each axis in the "PLC Programming" mode (code number 80 76 67).
A number of dependencies can be entered in a correction table. The number of possible
compensations is limited to ten dependencies and a total of 640 points (256 points per dependency).
The datum is the distance from the machine datum (MP960.X). The distance of the compensation
points is entered as an exponent to the base 2 (e.g. enter 16 = 216 = 6.5536 mm). Maximum input
value is 223.
The datum and the selected distance of the compensation points must be allowed for when plotting
the error curve. Only enter the kinks on the error curve. The controller performs automatic linear
interpolation between the kinks.
Non-linear axis error compensation is not active until the function is activated by MP730 and there is
a valid file of the .CMA type.
Example:
Error in Z
[mm]
0.05
0.04
0.03
Machine
0.02 datum
Datum
0
0.01 Y
[mm]
0.02
0.03
0.04
0.05
A number of different assignments can be entered in the CONFIG.CMA file if required. Only one line
can be active at any one time. The active line is selected by soft key. In our example this must be
line 0.
The .CMA and .COM files can be uploaded and downloaded via the data interface in the "PLC
Programming" mode. The .CMA file is assigned the extension .S and the .COM file the extension .V.
With an axis of rotation, the system only recognizes corrections of entries from 0 to 360.
In the interest of compatibility we have retained the entry of correction tables with code number 105
296. This was the only possible way of entering the correction tables up to software issue 250 94X
07 (243 03X 07).
If no .CMA file has been defined and non-linear axis error compensation is selected with MP730,
then the correction tables from code number 105 296 apply.
The temperature measured through the PA 110 and Pt 100 is filed in PLC words W504 to W510 or
W472 to W478 (see Section "Analog inputs"). The thermal expansion is largely proportional to the
temperature value: you can directly determine the amount of expansion by multiplying the
temperature value by a certain factor. This calculated expansion value must be transferred through
the PLC program to the PLC word W576 to W584. As soon as the words W576 to W584 receive a
value, the "lag tracking" becomes active.
"Lag tracking" means that the actual machine position changes by a certain value per PLC cycle until
it has changed by the full value from the words W576 to W584. This does not change the value in
the actual position display. The increment of change per PLC cycle must be defined in MP4070.
MP4070 Compensation per PLC cycle for lag tracking error compensation
Entry: 0.000 1 to 0.005 [mm]
Example:
The temperature value transmitted through the PA110 to the word W506 is multiplied by a
compensation factor (linear expansion is assumed) and is sent to the word W578 (Y axis) for "lag
tracking". The correction factor, which can only be determined through exact measurements of the
machine, is entered, for example, in MP4210.44.
.
.
.
L D944 ;correction factor from MP4210.44
X W506 ;correction factor temperature value from PA 110 (X8) = current thermal
expansion
= W578 ;value for lag tracking of the Y axis
.
.
.
sa m
Fadd = kv MP1511 Fadd = Additional feed rate [ ]
tC min
sa = Servo lag difference after one control loop cycle [mm]
tC = Control loop cycle time [s]
m/min
kv = Position loop gain [ ]
mm
MP1511 = Factor for stiction compensation [s]
This increase in nominal value is limited by MP1512. If this limit is set too high then the machine will
oscillate at standstill (guideline: < 50). MP 1512 limits the value sa in the above formula.
Compensation may only be active at low feed rates as the increased nominal value would cause
oscillation at high speed. The feed-rate limit for stiction compensation is defined in MP1513.
Stiction compensation is effective only during operation with feed precontrol. If stiction
compensation is to be in effect in the manual operating modes as well, feed precontrol (MP1391)
must be activated for manual operation in each axis.
MP1511.0 X axis
MP1511.1 Y axis
MP1511.2 Z axis
MP1511.3 4th axis
MP1511.4 5th axis
MP1512.0 X axis
MP1512.1 Y axis
MP1512.2 Z axis
MP1512.3 4th axis
MP1512.4 5th axis
MP1513.0 X axis
MP1513.1 Y axis
MP1513.2 Z axis
MP1513.3 4th axis
MP1513.4 5th axis
The feed for positioning the individual axes is stored in W560 to W568. The transfer of the
positions and the feed to the PLC is carried out, for example, by Q-parameters or machine
parameters (MP4210.X, MP4220.X).
Five of 5 axes (3 of 5 axes on TNC 407) can be traversed simultaneously [simultaneous activation of
all the strobe-markers (M2704 to M2708)].
The PLC positioning can be interrupted by resetting the strobe-marker (M2704 to M2708).
The NC resets the strobe-markers (M2704 to 2708) if:
the axes have reached the given position
there is an NC STOP in the manual or handwheel mode
NC STOP and internal stop in the automatic operating modes
EMERGENCY STOP is output
an error message is released that results in a stop
Strobe markers M2704 to M2708 may only be set when no program has started or when an M/S/T
strobe is present. In "Manual" mode the strobe markers may only be set when no axis direction key
has been pressed.
The Doublewords D528 to D544 have a multiple usage. They have the following meaning for the
PLC positioning:
Address Function
The positions which are given are relative to the machine datum (MP960.x).
Software limit switches are not considered.
Tool compensations are not calculated.
The path compensation must be terminated before a PLC positioning.
PLC positioning is not displayed in the test graphics.
A PLC positioning in the Z-axis is to be initiated with the M-function M70. The target position is
stored in the machine parameter MP4210.2. The feed for the PLC positioning is defined in machine
parameter MP4220.2
.
.
.
67 L M0
68 ON M0
69 S M2496 ;decoded M-code output (M1900 to M1999)
70 S M2719 ;Word processing (incompatible with TNC 155/355)
71 L M1970 ;M-function M70?
72 A M2045 ;change signal M-function?
73 AN M4 ;edge marker
74 CMT 110 ;load position and feed
75 S M2706 ;activate PLC positioning Z axis
76 S M4 ;edge marker
77 L M1970 ;M-function M70?
78 A M2045 ;change signal M-function?
79 AN M2706 ;PLC positioning Z axis done
80 S M2482 ;acknowledgement M-function done
81 LN M2045 ;no M-function?
82 R M2482 ;acknowledgement reset
83 R M4 ;edge marker reset
.
.
.
1210 EM ;main program end
1211 LBL 110 ;load Z position and feed rate
1212 L D776 ;load target position from MP4210.2
1213 = D536 ;target position PLC positioning Z axis
1214 L W964 ;load feed from MP4220.2
1215 = W564 ;feed PLC positioning Z axis
1216 EM
M2045
M4
M2706
M2482
Example:
A tool sequence is to be pre-positioned with TOOL DEF. The tool sequence is driven by a controlled
axis. The acknowledgement for the TOOL DEF block is given when positioning starts.
The feed-rate for positioning with TOOL DEF is filed in MP 4210.0 and the feed-rate for reference
traversing the tool sequence is filed in MP 4210.1.
Machine parameters:
MP 10 :%1XXXX ;activate 5th axis
MP 60 :%1XXXX ;declare 5th axis
MP 410.4 : 2 ;declare 5th axis as axis of rotation C
MP 810.4 : 360 ;modulo value of tool sequence
MP 960.4 : XX ;datum shift
MP 7261 : XX ;number of tools with pocket number
MP 7480.1 : 1 to 3 ;output tool and pocket no. with TOOL DEF
MP 4210.0 : XX ;(D768) feedrate of PLC axis with TOOL DEF
MP 4210.1 : XX ;(D772) feedrate of PLC axis with
reference traverse
Auxiliary addresses:
D 168 ;desired position
W 230 ;number of tools in sequence (=MP 7261)
D 232 ;length of sequence (=MP 810)
B 236 ;status of PLC axis
B 238 ;Identifier Submit job
M 544 ;reference traverse
M 599 ;logic one
PS K+4 ;AXIS
PS D168 ;POSITION
PS D768 ;FEED-RATE
PS K+0 ;ABSOLUTE
CM 9120 ;START POSITIONING
L M599 ;LOG ONE
S M2484 ;TOOL DEF ACKNOWLEDGE
EM
LBL 45
PS K+810 ;MP NUMBER (MODULO VALUE)
PS K+4 ;MP INDEX
CM 9032 ;CALL MODULE
PL D232 ;STORE (SEQUENCE LENGTH)
PS K+7261 ;MP NUMBER (NUMBER OF TOOLS E
WITH POCKET NUMBER
PS K+0 ;INDEX
CM 9032 ;CALL MODULE
PL W230 ;STORE (NUMBER OF
TOOLS WITH POCKET NUMBER)F
EM
Swivelling heads and/or swivelling tables are used for multi-faced machining on milling machines.
The NC programs are either generated by a CAD system or are created direct on the TNC using the
"Tilt working plane" function.
The position of the swivel axis is defined in Cycle 19 "Tilt working plane" (e.g. A-45, B-45). When
Cycle 19 is activated the TNC performs a coordinate transformation. The Z axis stays parallel to the
tool axis while the X/Y plane is perpendicular to the direction vector of the tool axis. The swivel axes
must first be positioned manually or with an appropriate NC block.
The status window displays the swivelled coordinate system. The machining plane can be
transformed spatially at random with this procedure. However the NC program is still programmed
in the normal way in the X/Y plane. The NC automatically interpolates the affected axes as it runs
the program. All path functions and cycles such as "Set datum" and "Probe" can also be used in the
transformed machining plane. The combination of coordinate transformation cycles must match the
activate and deactivate sequence.
Tool radius compensation in the machining plane and tool length compensation parallel to the tool
axis is active. The "3D ROT" soft key can be used to activate the swivelled machining plane for
"Manual" and "Program Run" separately. The position of the swivel axes can be edited for manual
operation.
The mechanical offset between the swivel axes is entered in machine parameters. The machine
parameters that describe the machine geometry are divided into nine blocks, each block describing
either a paraxial shift or a rotation.
With swivel heads the starting point is the tool datum of the machine (usually the spindle head). The
shift or rotation to the next nearest swivel axis is then entered one at a time. This operation is
repeated until a point is reached that is not separated from the machine by a free axis of rotation.
The swivel head must be in its datum position when the shifts are being calculated (e.g. A = 0, B =
0).
For tilting tables, the machine geometry is described starting from the centre of rotation of the first
swivel axis (as seen from the workpiece) and not from tool datum. First the centre of rotation is
defined in absolute coordinates in relation to the machine datum then the shifts and rotations
are entered one at a time until a point is reached that is not separated from the machine by a free
axis of rotation.
When machining with tilting tables, the coordinate system stays parallel to the machine coordinate
system. The "Tilt working plane" function is enabled with MP7500. The descriptions in MP7510 to
MP7592 are also used for other functions (e.g. "Cylinder interpolation").
Bit 0 X axis
Bit 1 Y axis
Bit 2 Z axis
Bit 3 A axis
Bit 4 B axis
Bit 5 C axis
+Z
+B
+A
+Y
+X
4 B Z
A
Z2
Z1
X
1
Spindle centre
Y
A
2 Y1
X
X1
3
B
Z1 = 200.4 mm
Z2 = 3.1 mm
X1 = 201.5 mm
Y1 = 1.9 mm
Z Z
4 Z 3
Y
B
Y A1
Y
Z
Z
Y 2
Y
Z Z1
1
Z2 Y
Z1 = 150.5 mm
Z2 = 251.5 mm
A1 = 45
+Z
+C
+B
+A
+Y +X
C
Z
Z1 B
X
Z2 A
B
Y
C
A X
Y1
Coordinates (related to machine datum) of the centre of rotation of rotary table C with all swivel axes
in datum position:
XR = 420.0 mm
YR = 151.2 mm
ZR = 395.4 mm
The tool tip is always on the programmed nominal coordinates, so the postprocessor can disregard
the machine geometry. The tool radius must still be corrected by the CAD system or postprocessor
however.
Unlike the "Tilt working plane" function, the coordinate system does not swivel. For machines with
rotary tables therefore, remember that rotating the table also rotates the coordinate system in
relation to the machine coordinate system. This is not affected by the M114 function.
The programmed feed-rate relates to the tool tip but this is only achieved when tool length
compensation is provided by the TNC. If tool length is already compensated by the CAD system, the
programmed feed-rate will be the feed-rate of the tool datum. Finally, function M114 is deactivated
by M115 or END PGM.
In the following description the main axis and tracked axis are referred to as master and slave,
respectively.
The Synchronize function is activated with MP850 which defines the master axis to which the
specified slave axis must be tracked.
MP850.0 0
MP850.1 0
MP850.2 0
MP850.3 1
MP850.4 0
MP850.0 X axis
MP850.1 Y axis
MP850.2 Z axis
MP850.3 4th axis
MP850.4 5th axis
In this mode, any offset between the two axes is compensated in the slave axis at the speed from
MP1330 after both reference marks are traversed, and synchronization does not activate until
compensation is completed. The way in which the reference marks are traversed (MP1350) must be
set the same for both axes. The master axis must be defined before the slave axis in the sequence
for approaching the reference marks (MP1340).
Where rotary encoders are used for linear measurement (MP1350 = 2), only one end position switch
should be used for both axes because the reference end position marker for the slave axis is only
used to evaluate the reference mark and not to evaluate the direction of traverse when controlling
the sequence. The direction of traverse is defined by the value of the reference end position marker
for the master axis.
Traversing the reference mark is completed when one reference mark has been evaluated for both
axes (see also section "Reference marks").
The nominal value displayed for the slave axis indicates the nominal value of the master axis.
The PLC program must ensure that the master axis does not move until the slave axis is ready
(locking, feed-rate enable).
The markers for direction of traverse (M2160 ff.) and axis in motion (M2128 ff.) for the slave
axis are not set.
Axis error compensation (both linear and non-linear) must be entered separately for both axes.
The values for rapid traverse, acceleration, software limit switches, feed-rate for passing over
reference marks and manual feed-rate are confirmed from the input values of the master axis.
In servo lag mode the kv factor for master and slave axis should be the same.
The HEIDENHAIN linear measurement systems are therefore equipped with one or more reference
marks. On passing a reference mark a signal is generated which identifies the particular position as a
reference point. By passing over the reference marks after a power interruption, the relationships
between the axis positions and positional values (and, at the same time, the fixed machine
relationships) which were most recently determined by the datum point setting are re-established.
Machine table
Position encoder
Reference mark
Machine datum
Since it is often inconvenient to re-establish the reference points by traversing large distances after
switching on, HEIDENHAIN recommends the use of measuring systems with distance-coded
reference marks. With this kind of measuring system the absolute position is available after crossing
two reference marks.
Scale with distance-coded reference marks
The scale graduation consists of the line grating and a reference mark track which runs parallel to it.
The distances between any two consecutive reference marks are defined differently, so that the
absolute position of the machine slide can be determined from this distance.
pressing the external START key. The axis sequence is determined by machine parameter
MP1340.X (automatic passing of the reference marks),
pressing the external axis direction keys. The sequence is determined by the operator.
is PLC positioning and positioning with the miscellaneous functions M91 and M92 possible,
For distance-coded measuring systems the machine datum (MP960.x) is reference to the Zero-
Reference mark. In linear measurement systems the Zero-Reference mark is the first reference
mark after the start of the measuring length; in angular measurement systems the Zero-Reference
mark is marked.
The direction of traverse and the velocity on passing the reference marks is defined by machine
parameters (MP1320, MP1330.X).
The functional sequence for passing the reference marks can be fixed specifically for the axes by
machine parameters (MP1350.X).
The operating condition "PASS OVER REFERENCE MARKS" is sent to the PLC by the NC (W272). If
the operating mode is changed before all reference marks have been passed, the Soft key "PASS
OVER REFERENCE" will appear. The markers M2136 to M2140 inform the PLC for which axes the
reference marks have not yet been crossed.
In order to avoid exceeding the traverse range when passing over the reference marks a trip dog
(reference end-position) is necessary. This trip dog must be fixed at the end of the traverse range by
the manufacturer of the machine. The trigger signal from the trip dog is connected to an available
PLC input. In the PLC program this PLC input is combined with the markers for "Reference end-
position" (M2506, M2556 to M2559).
Reference marks
"Reference end
closed postion" trip dog
open
Machine traverse
in direction from
MP1320.x
Machine traverses in
inverted direction from
Trip dog MP1320.x
"Reference end position" is Yes
closed before reference mark
is passed over
No
Machine moves to
No software limit switch
Machine stops
Reference marks
Trip dog
Closed "Reference end position"
Open
Is the machine
Yes
outside the software
limit switch range?
Machine moves to
No software limit switch range
Machine stops
If during automatic pass-over the trip dog is not closed until it is in the "Reference end-position"
range, the contouring control will ignore the signal. It is therefore necessary that there be at least
two reference marks in the range of the "Reference end-position".
Reference marks
Machine traverse
in direction from
MP1320.x
Machine traverses in
inverted direction from
Trip dog MP1320.x
"Reference end position" is Yes
closed before reference mark
is passed over
No
Machine moves to
No software limit switch
Machine stops
For linear measurement using a rotary encoder a reference pulse is produced on each revolution of
the encoder. It must be ensured that, after switching on the machine, always the same reference
pulse is evaluated. This can also be achieved by using the trip dog "Reference end-position".
Measuring length
Reference pulse
Is the
machine outside Yes
the software limit
switch range?
Machine moves to
No software limit switch
Machine stops
MP1330.0 X axis
MP1330.1 Y axis
MP1330.2 Z axis
MP1330.3 Axis 4
MP1330.4 Axis 5
MP1331.0 X axis
MP1331.1 Y axis
MP1331.2 Z axis
MP1331.3 Axis 4
MP1331.4 Axis 5
MP1350.0 X axis
MP1550.1 Y axis
MP1350.2 Z axis
MP1350.3 Axis 4
MP1350.4 Axis 5
1 = Manual operation
2 = Handwheel
3 = Positioning with manual entry
4 = Program run/single block
5 = Program run/full sequence
7 = Pass over reference points
Further parameters for the NC-axes can be found under "Machine axes".
The control of the main spindle (S-axis) is described under "Main spindle".
The motor speed control and the current control (both in the drive amplifier) are integrated into the
servo position control (CNC-control). The servo controlled system consists of the motor and machine
slide.
Linear/
Nom. Servo Position Nom. Speed Nom. Current
Drive Tacho angle
pos. lag controller rpm controller cur. regulator
encoder
position
position
current
Actual
Actual
Actual
Actual
Actual
rpm
rpm
01.98 TNC 407/TNC 415/TNC 425 3 Servo positioning of the NC-axes 4-65
3.2 Servo positioning in TNC controls
Two control methods are possible with the control. They can be used alternatively.
The choice of control method is determined by machine parameters MP1390 and MP1391.
The machine adjustment must always be carried out for both methods of control.
MP1390 Velocity feedforward control in the operating modes "Positioning with MDI",
"Program run, single block", and "Program run, full sequence"
Input: 0 or 1
0 = operation with feedforward control
1 = operation with servo lag
MP1391 Velocity feedforward control in the operating modes "Manual" and "Handwheel"
Input: %xxxxx
The advantage of operation with servo lag lies in the "softer" control, which is especially suitable for
machining 3D-contours, since corners and radii are smoothed out, depending on the Kv factor
(position loop gain factor) and the machining feed rate.
Depending on how far these "contour errors" can be tolerated, the machine operator or manufacturer
must decide and choose either operation with servo lag or with feedforward control.
Operation with servo lag is depicted in a simplified form in the following block diagram for the X axis.
It shows a part of the cascade control mentioned previously.
All machine parameters which influence the control characteristic are shown here.
4-66 TNC 407/TNC 415/TNC 425 3 Servo positioning of the NC-axes 01.98
kv factor: MP1810
Kinkpoint: MP1830
Multiplication factor: MP1820
Servo
amplifier
ax
XS
v s
- -
k
sax
=
v
vx Actl
X Actl
v U
at
s=s0+vt
v=
t t
The control calculates a velocity value every 3 ms (TNC 415) or every 6 ms (TNC 407) from the
feed rate programmed in the NC-program and the final position, allowing for the acceleration
which has been stored (MP1060). The stored acceleration is valid for the rising as well as the
falling slope. If several axes are traversed simultaneously, then the smallest value for
acceleration is effective.
Every 3 ms (6 ms) a nominal position value is derived from the calculated velocity.
s = so + v t s = Nominal path value
so = Previous nominal path value
v = Calculated velocity
t = Cycle time 3 ms
The nominal path value is resolved into the individual axis components, depending on which
axes have been programmed.
The axis-dependent nominal path value is compared with the actual value of the positions and
the lag sa is calculated.
sax = xNoml - xActl sax = Lag for X-axis
xNoml = Nominal path value for X-axis
xAct l = Actual path value for X-axis
The lag is multiplied by the kv factor MP1810 and passed on to the drive amplifier as a nominal
velocity value (analogue voltage).
vx= kv sax vx = Nominal velocity-value for X-axis
If the axes are stopped, the integral factor MP1080 is effective as well. It causes an offset
adjustment (see the section "Offset adjustment").
01.98 TNC 407/TNC 415/TNC 425 3 Servo positioning of the NC-axes 4-67
The kv factor (position loop gain) determines the amplification of the control loop. The optimal kv
factor must be determined by trial and error.
If you choose a very high kv factor, the lag is very small. However, this can lead to oscillations when
moving into a new position. If the kv factor is too small, the new position will be reached too slowly.
For axes that are interpolated with each other the kv factor must be equal to prevent contour
deviations.
U [V]
MP1810
kv correct
kv too large
kv too small
MP1060 MP1810
t [s]
The acceleration can be programmed by the machine parameter MP1060. It determines the slope of
the ramp on the rising and falling edges.
For axes which are mutually interpolated the kv factor must be the same, in order to avoid contour
distortion!
MP1060 Acceleration
Entry: 0.001 to 5.0 [m/s2]
The following formula shows the relationship among Kv factor, feed rate and servo lag:
ve m/min
kv = kv = position loop gain [ ]
sa mm
m
ve = rapid traverse [ ]
mm
sa = servo lag [mm]
or
ve
sa =
kv
4-68 TNC 407/TNC 415/TNC 425 3 Servo positioning of the NC-axes 01.98
Rapid traverse
[m/min]
kv = 2
10
8 kv = 1
6
kv = 0,5
4
2 4 6 8 10 12 sa [mm]
The maximum feed rate stored in machine parameter MP1010 can be reduced by the PLC.
If the PLC enters a feed value in Doubleword D596 which is lower than that in machine parameter
MP1010, then the value in D596 is effective. If the value which is entered is higher, then MP1010
remains effective. After switching on the control, or an interruption of the running of the PLC, the
Doubleword D596 is pre-loaded with the value 300000.
The rapid traverse (maximum traversing speed) must be adjusted by the desired analogue voltage
(e.g. 9 V) on the servo-amplifier (see section "Commissioning and start-up procedure"). For each
axis-specific rapid traverse there is an analogue voltage which is stored in the machine parameter
MP1050.
U[V]
10
8
kv = 1, Rapid traverse
10 m/min
6
2 4 6 8 10 12 sa [mm]
A special feed rate for manual operation (Manual-feed) is stored in machine parameter MP1020. In
general, it is significantly lower than the rapid traverse.
01.98 TNC 407/TNC 415/TNC 425 3 Servo positioning of the NC-axes 4-69
MP1810 Kv factor for operation with lag
m/min
Entry: 0.100 to 20.000 [ ]
mm
MP1810.0 kv factor X axis
MP1810.1 kv factor Y axis
MP1810.2 kv factor Z axis
MP1810.3 kv factor 4th axis
MP1810.4 kv factor 5th axis
Address Function
D596 Rapid traverse from PLC
4-70 TNC 407/TNC 415/TNC 425 3 Servo positioning of the NC-axes 01.98
Servo resolution:
The internal calculating resolution of the control is always 0.1 m. However the display step can be
set with MP7290. The rounding up or down is only in display (see section "Display and operation").
Normally a servo resolution of 1 m is sufficient, i.e. the control must be able to generate at least
one voltage step per 1 m positional deviation. For 0.1 m servo resolution at least one potential
step must be generated per 0.1 m.
MP1050 [mV]
U =
sa [m]
If U is divided by the smallest voltage step which can be produced (0.15 mV for TNC 415 or 0.6 mV
for TNC 407), the result is the number of voltage steps which are produced per m or 0.1 m
positional deviation.
Example:
m/min
kv = 2 rapid traverse 5 000 [mm/min], U = 9 [V]
mm
9 000 [mV]
U = = 3.6 [mV/m]
2 500 [m]
01.98 TNC 407/TNC 415/TNC 425 3 Servo positioning of the NC-axes 4-71
Kink point:
For machines with high rapid-traverse rates it is usually not possible to raise the K v factor enough to
give an optimal loop characteristic over the entire range of speeds (stop, machining feed rates, rapid
traverse). In such cases one can introduce a kink point, which gives the following advantages:
for lower rates, a high Kv, i.e. a larger voltage step per m of positional deviation,
for higher rates (above the machining rates) a lower Kv.
The position of the kink point is determined by machine parameter MP1830. In the higher range the
Kv factor is multiplied by the factor from MP1820.
U [V]
MP1810 MP1820
MP1830
MP1810 (= kv)
sa
The kink point must lie above the range of machining feeds!
Under these conditions, the lag can be calculated as follows:
sa = Ve
kv
[
MP1830 [%] + 100 [%] MP1830 [%]
100 [%] MP1820 100 [%]
]
MP1820 Multiplication factor for the Kv factor
Entry: 0.001 to 1.000
MP1820.0 X axis
MP1820.1 Y axis
MP1820.2 Z axis
MP1820.3 4th axis
MP1820.4 5th axis
MP1830.0 Axis X
MP1830.1 Axis Y
MP1830.2 Axis Z
MP1830.3 4th axis
MP1830.4 5th axis
4-72 TNC 407/TNC 415/TNC 425 3 Servo positioning of the NC-axes 01.98
01.98 TNC 407/TNC 415/TNC 425 3 Servo positioning of the NC-axes 4-73
3.2.2 Feedforward control
Control with feedforward control means that the nominal velocity value for the machine is varied by
a machine parameter (control element of the nominal velocity). Together with the velocity element
which is calculated from the lag (servo-controlled element of the nominal velocity), this gives the
final nominal velocity value.
The lag is very small with this method. Operation with feedforward control has the advantage that
contours can be followed very accurately at a high speed. Normally, work will be carried out using
feedforward control.
MP1390 switches feedforward control on in the "Positioning with manual data input", "Program
run/single block" and "Program run/full sequence" modes. MP1391 has the same effect for the
"Manual" and "Handwheel" modes.
Operation with feedforward control for the X axis can be shown in a simplified form in the following
block diagram. All machine parameters which influence the servo characteristic are shown here.
vY
v MP1520 kv factor for
feed precontrol
at
MP1510
v=
Servo
vX amplifier
sax vx + vx nom
X nom.+ +
ax
sX +
v s
- + -
k
sax
=
+
v
vx act.
X act.
s=s0+vt
U
sY
t
4-74 TNC 407/TNC 415/TNC 425 3 Servo positioning of the NC-axes 01.98
When operating with feedforward control the set velocity value (the analogue potential for
the drive amplifier) is formed from three components: feedforward control, servo lag,
integral component.
The feedforward control value, which is adjusted to the dynamic characteristics of the
machine by machine parameters, makes it possible to control the loop with a lag distance
which is nearly "0".
Deviations in the actual positional value are compensated as described under "Operation
with lag". The servo follows the pre-compensated curve.
The Kv factor for the feedforward control then comes into play.
If the axes are stopped, the integral factor will also be effective: it results in an offset
correction.
MP1390 Feedforward control in the "Positioning with manual data input", "Program run,
single block" and "Program run, full sequence" modes
Entry: 0 or 1
0 = Operation with feedforward control
1 = Operation with servo lag
The feedforward control value is adjusted to the dynamics of the machine by two machine
parameters.
Precontrol
U [V]
MP1520
Input value correct
Input value too large
9 Input value too small
MP1060
t [ms]
The machine parameter MP1060 determines the acceleration (= slope of the precontrolled speed
curve).
MP1520 determines the transient response into the nominal position when accelerating and
decelerating. The greater the value which is entered, the more the system will tend to oscillate.
01.98 TNC 407/TNC 415/TNC 425 3 Servo positioning of the NC-axes 4-75
The fine control of the precontrolled speed set-value is influenced by the Kv factor for feedforward
control MP1510.
The transient response when accelerating is defined separately by MP1530 in software types 243
05, 259 96, 243 07 and 243 02.
U [V]
t [ms]
If the Kv factor is too large, the system will oscillate about the precontrolled speed set-value.
The size of the Kv factor is normally the same as the Kv factor for operation with lag distance.
Depending on the dynamic characteristics of the machine it may also be higher (see "Commissioning
and start-up procedure").
A second set of kv factors can be defined in machine parameter MP1515.x and selected with M
function M105 (see section "Display and operation").
4-76 TNC 407/TNC 415/TNC 425 3 Servo positioning of the NC-axes 01.98
3.3 Offset adjustment
The TNC 407/TNC 415 controls include several possibilities for compensating for an offset voltage
which would cause the axes to drift.
The maximum permissible offset-voltage in the control is 100 mV. If this voltage is reached or
exceeded, then the error message
will appear.
The automatic cyclical offset-adjustment and the adjustment via integral factor must not be active
simultaneously!
On pressing the ENT key or the CONTINUE soft key the offset values are automatically
compensated. The control puts out an appropriate compensating voltage. In the TNC 407
compensation only takes place if the offset voltage is > 0.6 mV. To switch off the automatic offset
adjustment, enter the code number and press the NO ENT key or the QUIT soft key. If the code
number has been entered but no changes are desired, press the END soft key.
The offset values are stored in the control and are non-volatile. If the control is exchanged, the code
number must be entered to reactivate the offset adjustment.
The machine parameter MP1220 can be used to program a time interval, after which an offset
adjustment will be performed cyclically.
An automatic adjustment will be carried out, when the predetermined time has elapsed and the
following conditions are fulfilled:
For each adjustment cycle there will be a 1 mV correction if the offset voltage is larger than 1 mV. If
the offset voltage is smaller than 1 mV then, in the TNC 415, compensation steps of 0.15 mV will be
used (in the TNC 407 in steps of 0.6 mV).
0 = no automatic adjustment
01.98 TNC 407/TNC 415/TNC 425 3 Servo positioning of the NC-axes 4-77
3.3.3 Offset adjustment with integral factor
The integral factor MP1080 also results in an automatic offset adjustment. It is only effective in the
stop condition (see block diagram of control loop).
According to the size of the factor the offset voltage will be reduced quickly or slowly.
Even a small amount of play in the drives can lead to instability in the control loop. An integral factor
of 0 is entered in this case.
MP1080 sa = 150
6
1 2 3 4 t [s]
4-78 TNC 407/TNC 415/TNC 425 3 Servo positioning of the NC-axes 01.98
01.98 TNC 407/TNC 415/TNC 425 3 Servo positioning of the NC-axes 4-79
3.4 Contour behaviour
As well as the normal acceleration (MP1060) there is also a machine parameter for radial
acceleration (MP1070).
The machine parameter limits the feed for circular movements according to the following formula:
It is recommended that a value should be entered which is between the half of and the same as that
in MP1060 (Acceleration). If the programmed feed is lower than that above, then the programmed
feed will be used. MP1070 is effective for operation with lag and with feedforward control.
MP7460
This machine parameter is effective for operation with feedforward control as well as for operation
with lag. The permissible size of the angle depends on the drives in the machine.
4-80 TNC 407/TNC 415/TNC 425 3 Servo positioning of the NC-axes 01.98
The resulting path is as follows:
Axis standstill
sa
without M90
with M90
When M function M109 is active the feed-rate at radii is increased or reduced to maintain a constant
feed-rate at the cutting edge of the tool.
When M function M110 is active the feed-rate is reduced only. There is no increase in feed-rate.
When M function M111 is active the programmed feed-rate is re-assigned to the path of the cutter
centre.
01.98 TNC 407/TNC 415/TNC 425 3 Servo positioning of the NC-axes 4-81
3.4.5 Preset tolerance at corners
3D forms are often described by a progression of very short linear blocks. The control reduces the
feed rate at the discontinuous transitions in order to keep the tool exactly on path.
If you are working with servo lag, depending on the feed rate the corners will be more or less
"rounded" if M90 is entered or if MP7460 is set correspondingly. Since feedforward control is
intended to virtually eliminate servo lag, working with feedforward control will result in sharp
corners. This is not desired, however, on 3D forms.
With the M function M112 you can enter a tolerance for the deviation from the programmed contour
at corners and a limit angle for activation of the tolerance.
T
r
A rounding arc is inserted at corners. The radius of the arc is a function of the entered tolerance T
and the limit angle A. Three radii are calculated:
T sin(b) 1 v
r1 = r2 = tan(b) r3 =
1sin(b) 2 a
T= The tolerance entered with M112. If no tolerance was entered, the tolerance is be
considered to be infinite.
b= Half of the angle of the adjacent line segments
= The shorter of the two adjacent line segments
v= Programmed feed rate 1.5 (Feed rate override = 150%)
a= Smaller value from the acceleration of the interpolated axes (MP1060) and the radial
acceleration (MP1070).
The smallest of the 3 radii is used. r3 is included in the calculation only if the change in direction is
greater than the given angle A. As long as the limit angle A is not exceeded, the size of the inserted
arc is independent of the feed rate; the largest possible arc is inserted.
If the feed rate during program run too large for the calculated rounding arc, the TNC automatically
reduces the feed rate. M112 is inactivated again by M113. M112 is effective in NC blocks without
radius compensation both in operation with servo lag and with feedforward control. M124 influences
the point spacing for calculating the rounding arc. Refer to your User's Manual for more information.
4-82 TNC 407/TNC 415/TNC 425 3 Servo positioning of the NC-axes 01.98
3.5 Monitoring functions
The NC monitors the axis positions and the dynamic behaviour of the machine. If the fixed values in
the machine parameters are exceeded, an error message is displayed and the machine is stopped.
If monitoring is not wanted, it can be deactivated for the following using M2688 to M2692:
Position monitoring
Standstill monitoring
Movement monitoring
Monitoring of the analog voltage
The monitoring functions can also be switched off conditionally. In the machine parameter MP4130
a PLC-input is defined, which is interrogated with the same cycle time as the control loop (TNC 415:
3 ms; TNC 407: 6 ms). The condition for activating this input is stored in MP4131. This function must
be activated from the PLC by setting Bit 0 in Word W522.
If monitoring functions are switched off, safe operation of the machine cannot be
guaranteed. Uncontrolled movements of the axes are not recognized.
01.98 TNC 407/TNC 415/TNC 425 3 Servo positioning of the NC-axes 4-83
3.5.1 Position monitoring for operation with lag
The machine parameters MP1710 and MP1720 determine the ranges for the continuous position
monitoring in the machine (lag monitoring). The monitoring is active as soon as the axes are under
the control of the position control loop.
"Positioning error"
will appear and the machine stops. The error message can be cancelled by the "CE" key.
appears.
This error can only be cancelled by switching off the control. An entry value of approx. 1 to 1.4 times
lag for rapid traverse is realistic. MP1720 is larger than MP1710.
MP1710.0 Axis X
MP1710.1 Axis Y
MP1710.2 Axis Z
MP1710.3 4th axis
MP1710.4 5th axis
MP1720.0 Axis X
MP1720.1 Axis Y
MP1720.2 Axis Z
MP1720.3 4th axis
MP1720.4 5th axis
4-84 TNC 407/TNC 415/TNC 425 3 Servo positioning of the NC-axes 01.98
3.5.2 Position monitoring for operation with feedforward control
In operation with feedforward control the ranges for continuous position monitoring are determined
by MP1410 and MP1420 lag monitoring. The monitoring is active as soon as the axes are under the
control of the position control loop.
"Position error"
will appear, which can be cancelled with the "CE" key. If the limit of parameter MP1420 is exceeded,
the flashing error message
appears. This error can only be cancelled by switching off the control.
If clamped axes cause the error message "Position error", a residual voltage can remain at the
nominal value output, since the machine axes can no longer be traversed. MP1150 can be used to
program a time after which the residual voltage becomes zero. After this period a nominal/actual
value transfer is carried out. If the error message is cancelled by "CE" before the time has elapsed
the nominal/actual value transfer is carried out and the residual voltage is switched off.
The machine parameter functions in operation with lag as well as with feedforward control.
MP1410.0 Axis X
MP1410.1 Axis Y
MP1410.2 Axis Z
MP1410.3 4th axis
MP1410.4 5th axis
MP1420.0 Axis X
MP1420.1 Axis Y
MP1420.2 Axis Z
MP1420.3 4th axis
MP1420.4 5th axis
MP1150 Delay time before switching off the residual voltage on error message
"Position error"
Entry: 0 to 65.535 (s)
01.98 TNC 407/TNC 415/TNC 425 3 Servo positioning of the NC-axes 4-85
3.5.3 Monitoring the analogue voltage
Monitoring of the analogue voltage is only possible in operation with feedforward control.
If it exceeds 10 V, the flashing error message
is displayed.
3.5.4 Movement-monitoring
The movement-monitoring functions in operation with feedforward control as well as with lag.
During movement monitoring, the actual path travelled is compared with a nominal path calculated
by the NC at short intervals (several servo cycles). If, during this period, the actual path travelled
differs from the calculated path, the flashing error message
is displayed.
In machine parameter MP1140 a voltage can be stored, below which the movement-monitoring is
out of action.
MP1140.0 Axis X
MP1140.1 Axis Y
MP1140.2 Axis Z
MP1140.3 4th axis
MP1140.4 5th axis
4-86 TNC 407/TNC 415/TNC 425 3 Servo positioning of the NC-axes 01.98
3.5.5 Standstill monitoring
The Standstill monitoring operates with feedforward control and with lag. The monitoring begins
when the axes have reached the positioning window. The range in which the axes may move is
defined in MP1110.
As soon as position deviation is greater than the value which is stored in MP1110, the flashing error
message "GROSS POSITIONING ERROR D" is displayed. The message also appears if, on running-
in to a position, an overshoot occurs which is larger than the value in MP1110, or if the axis moves
in the opposite direction on beginning a positioning movement.
MP1110.0 X axis
MP1110.1 Y axis
MP1110.2 Z axis
MP1110.3 4th axis
MP1110.4 5th axis
During feedforward control the positioning window is not evaluated until the velocity falls below the
value in MP1525*. This MP does not exist on old software versions, in which the maximum velocity
for positioning window evaluation is fixed at 0.5 mm/min.
If the value which is entered is too small, the run-in time and therefore the time between one
program block and the next will be lengthened.
If the axes have reached the positioning window after a movement, the markers M2008 to M2011
and M2017 are set (see section "Axis in position").
MP1030.0 X axis
MP1030.1 Y axis
MP1030.2 Z axis
MP1030.3 4th axis
MP1030.4 5th axis
*
As of software versions 280 54x 02, 280 56x 02 and 280 58x 02
01.98 TNC 407/TNC 415/TNC 425 3 Servo positioning of the NC-axes 4-87
4-88 TNC 407/TNC 415/TNC 425 3 Servo positioning of the NC-axes 01.98
3.6 Controlled axes
The machine parameter MP50 determines which of the five NC-axes should be controlled.
Further parameters for the NC-axes may be found in the section "machine axes".
The PLC functions which are described in the following sections are only effective for controlled
axes.
The axis-enable markers can be reset by the NC if the control loop is opened by the PLC, see
section "Open control loop").
The feed rate enable must be specified for all axes by M2451 and complement marker M2467 or
through byte B520 before the axes can be moved. If the feed rate enable is removed, the analogue
voltage is output as 0 V and the axes immediately stop moving. The letter "F" is then highlighted in
the status display.
01.98 TNC 407/TNC 415/TNC 425 3 Servo positioning of the NC-axes 4-89
Marker Function Set Reset
Address Function
As soon as a positioning is started, the markers are reset by the NC. This is also valid when passing
over the reference marks. In the "Electronic handwheel" mode of operation the markers M2008 to
M2011 and M2017 are reset.
For contours which can be machined with constant feed rate the "Axis in position" markers are not
set.
4-90 TNC 407/TNC 415/TNC 425 3 Servo positioning of the NC-axes 01.98
3.6.3 Axes in motion
If the axes are in motion the appropriate "Axis in motion" markers are set by the NC.
Note: The markers are only set in the operating modes "Positioning with manual entry", "Single block"
and "Full sequence".
P3 .
.
.
L X80 Y20 RL
L X0 RL
P2 L X80 RL
.
P1 P0 .
.
P0 P1 P2 P3
M2008
M2009
M2128
M2129
01.98 TNC 407/TNC 415/TNC 425 3 Servo positioning of the NC-axes 4-91
3.6.4 Open control loop
After Marker M2830 is set, the control loops of each axis and of the spindle are opened, and an NC
stop is performed. This makes it possible, for example, for the control loops to be opened at the
same time as the drives are switched off. If Marker M2827 is set, no external EMERGENCY STOP
(Input I3 Control is operational) is sent to the NC; instead, the spindle and the position controllers
are opened in all axes, and an NC stop is carried out.
If, after the execution of an NC block, the control loop for a particular axis is opened and this axis is
clamped, then it is necessary to delay this opening to give the clamp sufficient time to operate. The
markers M2492 to M2495 and M2500 serve this purpose. If one of these markers is set, and the
appropriate axis is in position, then the next NC block will only then be processed when the "Open
control loop" marker (M2544 to M2547, M2507) has been set. After the control loops are opened the
markers M2000 to M2003 and M2016 are reset by the NC. As soon as the "Axis in position" markers
are reset, the control loop must be closed again so that the axis can be moved.
Actual value transfer is only possible in the "Manual" and Electronic handwheel" modes of operation.
4-92 TNC 407/TNC 415/TNC 425 3 Servo positioning of the NC-axes 01.98
01.98 TNC 407/TNC 415/TNC 425 3 Servo positioning of the NC-axes 4-93
4
4 Main Spindle
The spindle is controlled by the PLC.
The spindle speed (S output) can be either an analogue voltage output or a coded output. The
spindle speed is programmed in rpm in the NC-program.
The machine parameter MP3010 determines whether the spindle speed is a coded output or an
analogue output, and whether the spindle orientation should be active.
Tapping cycles are available for tapping with and without floating tap holder.
6 =As for Entry value 3, but with controlled spindle for orientation
7 =As for Entry value 4, but with controlled spindle for orientation
8 =As for Entry value 5, but with controlled spindle for orientation
For S-analogue the value 991 must be entered in the machine parameter MP3020!
If the control is operating with S-analogue, marker M2042 is set. The programmed spindle speed is
stored in D356 in 1/1 000 [rpm]. The nominal spindle speed is stored in Word W320 in rpm. The
actual spindle speed is stored in Word W322 in rpm.
The S-analogue voltage appears at the output as soon as the marker M2485 for M03 or M2486 for
M04 is set. At the same time the miscellaneous function is displayed in the status window of the
control (see section "Display and operation"). Marker M2487 turns off the analogue voltage and
displays M05.
If more than one of the markers M2485 to M2487 is set at the same time, this will release the
flashing error message
Marker M2608 can be used to remove the spindle-enable, at the same time M03, M04 or M05 is
displayed inversely. The S-analogue voltage will then go to 0 V.
M2485 Status display and output of the analogue voltage PLC PLC
for M03
M2486 Status display and output of the analogue voltage PLC PLC
for M04
Machine parameter MP3515 can be used to define a maximum achievable spindle speed for each
gear range which cannot be exceeded by S-override.
MP3120 can determine whether zero spindle speed is permitted, in spite of a minimum producable
analogue output voltage.
If an S-analogue voltage output 0 V is produced, marker M2005 will be set. This is also the case
when the potential has been turned down to zero with the override potentiometer.
The ramp slope for the S-analogue voltage on output of M03, M04 is stored in MP3410.0.
If the spindle voltage is on a rising or falling ramp, marker M2004 will be set. This also happens
when the spindle voltage is altered with the override potentiometer, the voltage changes very
quickly, and the ramp of MP3410.0 cannot be followed.
The %-factor which is adjusted by S-override is kept in Word W492 and W764. However, W764 be
changed by the PLC. As soon as a different value is entered here it will be adopted by the NC. In this
way the %-factor can be influenced by the PLC .
If W764 is not changed by the PLC, the normal override-function remains active.
MP7620 bit 3 determines whether the override is effective in 1% steps or according to a non-linear
characteristic curve. In the non-linear characteristic, the lower range changes in 0.01% steps, and in
the range over 2.5% the step is 0.75%. The range of override values in W492 and W764 lies
between 1 and 150 in 1% steps for the linear characteristic, and between 0 and 15 000 for the non-
linear characteristic.
U [V]
MP3210.1
=8V
MP3210.0
=6V
MP3240.1
=1V
I II
Gear range I: 1500 rpm at 6V (MP3510.0, MP3210.0)
Gear range II: 3000 rpm at 8V (MP3510.1, MP3210.1)
Upper S override limit: 125% (MP3310.0)
Lower S override limit: 50% (MP3310.1)
Max. output speed for gear range II: 3375 rpm (MP3515.1)
Minimum output voltage: 1V (MP3240.1)
The spindle speed which is programmed in the NC-program as TOOL CALL S is stored in
Doubleword D356 and D756 in 1/1000 [rpm] by the NC.
If a different spindle speed (from the spindle speed fixed by the NC) is to be activated by the PLC,
the speed must be entered by the PLC in D756, this can then be activated by marker M2814 .
A different gear range from that which is selected by the NC can be activated by setting Word W256
and marker M2814 with the PLC. Word W256 remains unchanged until the next gear change signal.
Marker M2814 is reset by the NC after the gear change .
Check that the spindle speed selected by the PLC is within the spindle-speed limits of the selected
gear range.
An alternating S-analogue voltage can be produced for changing gear. For this purpose the marker
M2490 and the marker M2491 must be alternately set and reset by the PLC. This may be achieved
by interrogating a particular timer in the PLC-program. The markers M2490 and M2491 are reset to
stop the spindle. The output voltage is defined by MP3240.2.
Machine parameter MP3030 can be used to determine whether an axis-halt should occur on a TOOL
CALL with only a spindle speed output.
If a non-permissible spindle speed is programmed, the marker M2092 will be set by the NC, and
simultaneously the error message "Wrong spindle speed" is displayed.
A spindle speed is entered in the TOOL CALL-block with a maximum of four figures in rpm, if
necessary, rounded off by the NC to the nearest standard value. Spindle speeds of 0 to 9 000 are
possible. The spindle speed which has been entered is put out by the control as S-Code according to
DIN 66025, as shown in the list of S-Codes.
With MP3020 the minimum and maximum spindle speeds and the desired spindle-speed steps can
be defined.
Example:
The minimum spindle speed is to be 1 rpm (S-code 20), the maximum spindle speed is to be
1000 rpm (S-code 80). Only every second spindle speed should be programmable. This gives an
entry value of 20802 for MP3020. An entry value of 991 would mean no limit.
The S-code is stored in the PLC in Word W258. The minimum spindle speed from MP3020 is stored
in Word W1008.
There are three ways in which the PLC can orient the spindle:
with Module 9171
with Marker M2712
through initiator with M2501
MP3410.1
MP3410.1
RPM for
orientation
0 t
M19 Target
position
Distance
to target position
Orientation from standstill:
S
[rpm]
Prog. rpm
MP3410.0
Stand-
still
RPM for MP3410.1
orientation
0 t
M05 M19 Target
position
360 degrees
=
1024 lines fourfold evaluation
MP3430 Deviation of the reference mark from the desired position (spindle preset)
Entry: 0 to 360 [degrees]
Program description:
Using the M-Function M19 to activate a spindle-orientation to the value which is determined by the
spindle-orientation cycle.
Using the M-Function M20 to activate a spindle-orientation to the value which is stored in
MP4210.47.
;Main program
LN M1 ;Generate logic ONE
S M1 ;Buffer marker which is continuously ONE
. . .
. . .
. . .
LN M2045 ;M-strobe inactive
R M12 ;Spindle-orientation cycle active
R M2482 ;Acknowledgement of M-code
The tapping cycle is defined in the NC-program and can be called with CYCL CALL (M03). Tapping is
adjusted to the dynamic behaviour of the machine by machine parameters.
MP7120.2
30 ms
S
(Software-controlled)
MP3410.0
0
MP3410.2 MP3410.0
MP7120.0
M03
M05
M04
M2482
(M03) M2485
(M04) M2486
(M05) M2487
M2048
After switching on the spindle with M03 and successful acknowledgement (marker M2482) the set
spindle-speed should have been reached when the feed commences. Upon switch-on, the spindle
follows the ramp from MP3410.0, on switching off it follows the ramp from MP3410.2. Switch-off is
initiated by the NC with M05. The M functions that are output must be acknowledged.
However, if the feed-ramp is flatter than the spindle-ramp, then the spindle follows the flatter feed-
ramp. Switch-off can be delayed by MP7120.2.
Example:
If spindle speed s = 1000 [rpm] = 1.8 [V] and the thread ramp is 0.05 [V/ms], then:
1.8 [V]: 0.05 [V/ms] = 36 ms
The spindle is decelerated 36 ms before reaching the total hole depth. If the spindle deceleration is
delayed by the spindle slow-down time, then it is only possible to delay up to 30 ms before reaching
the total hole depth. Any greater delay will be ignored. In this example a maximum slow-down time
of 6 ms is in effect.
The restarting of the Spindle with M04 can be delayed by MP7120.0. The ramp follows MP3410.2
again. The restarting of the feed can be delayed with the dwell-time which is programmed in the
cycle. The dwell-times permit an optimal adjustment of the floating tap holder.
The switch-off of the spindle is again performed by the NC with M05. The switch-off ramp follows
MP3410.0. After this, the spindle is switched on again with M03.
The feed-override can only be effective within limits when tapping, otherwise the floating tap holder
may be damaged. MP7110 was introduced for this limit.
M03
M05
MP7120.0
M04
Acknow-
ledgement
of M code
M2048
Cycle End of
start cycle
Since, with BCD-coded spindle speed output, the spindle- and feed ramps cannot be synchronized
by the NC, a machine parameter MP7120.1 was introduced to enable the spindle to be switched off
early.
The machine parameter MP7120.0 (dwell-time for change of direction of rotation) and the
programmable dwell-time are just as effective as for analogue spindle-speed output.
MP7120.1 Pre-cut out time for the spindle when tapping with BCD-coded output
Entry: 0.0000 to 65.535 (s)
0
Positioning window
reached (MP7150)
M05
Acknowledge-
ment of
M function
M2095
Cycle End of
start cycle
M2499
MP7140
Greater
Smaller Greater
MP7130
Smaller
Cycle 18
With Cycle 18 the tool axis tracks the actual position of the spindle. The starting position is the
current position. The target position is the total hole depth. Approaching and departing movements
must be programmed separately. During Cycle 18 marker M2095 is set. M2499 must be reset so
that the cycle is run. MP7130, MP7140 and MP7150 have the same function as for Cycle 17.
If a malfunction is recognized in the control, the TNC switches the control-is-ready output signal off,
a flashing error message appears on the VDU-screen and the PLC-program is stopped. This error
message can not be cancelled. After removing the fault the switch-on routine must be gone through
again.
If the control-is-ready signal is switched off by an event outside the control, the error message
EXTERNAL EMERGENCY STOP is displayed and the NC sets the marker M2190 and M2191. This
error message can only be cancelled after the control voltage is switched on again.
The external EMERGENCY STOP is evaluated by the control as an external stop. If the external
EMERGENCY STOP is triggered during an axis movement, the moving axis is stopped in a controlled
manner. If the drive amplifiers are blocked by the external EMERGENCY STOP, the nominal-value
output may exceed the position-monitoring fixed by the machine parameter. In this case, the error
message POSITIONING ERROR or GROSS POSITIONING ERROR <AXIS> will be displayed.
EMERGENCY STOP can be suppressed with Marker M2827. If Marker M2827 is set, an external
EMERGENCY STOP is not reported to the NC and, instead, all control loops are opened and the NC
stops.
Logic unit
Switch opens briefly when the control voltage
of each microprocessor is switched on
EMERGENCY
STOP k1
buttons
+ -
k1
Control 24 V
voltage PLC
on K1
This is merely a suggestion for switching. The machine manufacturer must ensure that all
necessary safety specifications are met.
X42/4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
VDU display
17. The control switches off the control-is-ready output Flashing error-
(X41/34) after recognizing a fault. message
X22/4
1 2 3 4 5 6 7 8 9
VDU-display
The display is divided into several "Windows" for optimum depiction of the information on the VDU-
screen.
Background
Foreground mode mode
Graphics
window
Program Text
or additional
status display
PLC window
Status window
Soft keys
If the NC positioning blocks should always be referenced to the machine datum, then the "datum
setting" can be disabled for the individual axes through MP7295.
With MP950.x you can define a further machine-referenced position. If you wish to reference to this
position in a positioning block, you must program it in with M92. MP950.x defines the distance from
this machine-referenced position to the machine datum.
MP7296 can be used to select whether a new datum point can be set with the "DATUM SET" soft
key or additionally with the axis keys.
RM RM
The entry values for colour adjustment are byte-oriented. The preferred entry is hexadecimal.
HEX Ranges 0 to 3 0 to F 0 to 3 0 to F 0 to 3 0 to F
Adjustment coarse fine coarse fine coarse fine
Entry for yellow:
$0.... 3 9 3 9 0 0
Since it is possible to make mistakes when setting the colours (e.g.. red error messages on red
background), HEIDENHAIN recommends a standard colour-adjustment. This standard colour setting
is the setting generally used by HEIDENHAIN and is prompted by the control system when creating
the MP list.
Example
:
The cursor position can be shown in the 3-plane display mode. This function must be activated with
machine parameter MP7310, bit 3.
X Z
Z X
No rotation 90 rotation
Bit 2 BLK form after datum shift 0 = BLK form will not shift
1 = BLK form will shift
The colours for the status-window display can be altered by machine parameters.
The display-step for the axis positions can be selected for specific axes by machine parameter.
Regardless of this selection the TNC always attempts to position precisely to 0.0001 mm or 0.0001
(regardless of the grating period of the measuring system and the smallest voltage increment).
The most recently selected axis is displayed inversely. The PLC is informed (by a marker) which axis
has an inverse display. This information can be evaluated, for example, in connection with hand-
control equipment.
Machine parameter MP7285 can be used to select whether, in the positional-display, the tool axis
takes account of the tool length or not.
MP7285 Calculation of the tool length in the position-display of the tool axis
Entry: 0 or 1
0 = 0.1 mm or 0.1
1 = 0.05 mm or 0.05
2 = 0.01 mm or 0.01
3 = 0.005 mm or 0.005
4 = 0.001 mm or 0.001
5 = 0.0005 mm or 0.0005 TNC 415 B only
6 = 0.0001 mm or 0.0001 TNC 415 B only
The following input values apply for software types 259 96 (TNC 415 A) and 243 02 (TNC 407):
0 = 0.001 mm or 0.001
1 = 0.005 mm or 0.005
2 = 0.0001 mm or 0.0001 TNC 415 A only
MP810 is used to set whether the range of traverse limits (software limit switches) are active for
rotary axes; it also defines the modulo value for the counting mode. An entry of 0 means that the
software limit switches are active and the display ranges from -99,999.999 to +99,999.999.
Any other entry defines the modulo value for the position, target position and non-linear axis error
correction. The software limit switches are not active for all entries other than 0.
MP810.0 Axis X
MP810.1 Axis Y
MP810.2 Axis Z
MP810.3 4th axis
MP810.4 5th axis
Contrary to the above, the following applies for software types 259 36. .., 259 97. .., 243 02. .. and
243 03., 259 93., 259 94, up to version 08: MP810 is not available but MP7470 is, with the following
meaning:
MP7470 Position display and software limit switches for rotary axes
Entry: 0 or 1
A free rotation of the rotary axis can be activated by the PLC. "Free rotation" means that the axis of
rotation can be turned as often as required (with a display of 0 to 360) without being affected by
software limit switches.
The free rotation function is a PLC-function, i.e. the PLC-program must be created by the
manufacturer of the machine in the proper form. The function could, for example, be activated by M-
functions. The choice of axes and the direction of traverse are made by specific bytes. The feed for
free rotation is the same as the feed for PLC-positioning of the axes 4 and 5 (W566 and W568).
The max. feed is 300 000 /min. The feed is not displayed in the status-window. The feed can be
continuously varied by the PLC with an override-percentage (W754), e.g. by copying W494 (current
feed-override) to W754. The free rotation function is activated and deactivated with marker M2720.
If M2720 is set by PLC, the NC takes the information from B518 and B519 and resets M2720.
Address Function
+ Entry value
4th and 5th axes 0
4th axis 5th axis 8
5th axis 4th axis 16
4th and 5th axes 24
If rapid traverse was programmed, this is indicated in the display with FMAX and marker M2151 is
set.
With machine parameter MP7620 you can set whether the feed rate override is active in 1% steps
or according to a non-linear curve. The non-linear override curve permits fine a resolution in the
lower range of the potentiometer.
The override values are shown in the PLC in word W766 and W494. If the PLC program overwrites a
value in W766, it will become active regardless of the potentiometer setting. For 1% steps the value
range is 0 to 150, for a non linear curve it is 0 to 15 000, corresponding to 0 to 150%.
In the manual operating modes the axis feed-rate is displayed, not the contour feed-rate.
There is a choice of two display modes:
The axis-specific feed-rate from machine parameter MP1020.X is only displayed after pressing
an axis-direction key. If two axis-direction keys are pressed simultaneously no feed-rate will be
shown.
Even when none of the axis-direction keys is operated one feed-rate will be displayed, which
can also be adjusted by the feed-potentiometer. The smallest feed-rate from MP 1020.X is valid
for all axes. The axis feed-rate will also be shown if several axis-direction keys are pressed
simultaneously.
Address Function
W494 %-factor feed rate override (NC PLC)
W766 %-factor feed rate override (PLC NC)
The TNC interprets the programmed feed-rate for a rotary axis in degrees/min. The contour feed-rate
is therefore governed by the distance of the tool centre from the centre of rotation of the rotary axis.
When M function M116 is activated the contour feed-rate is interpreted in mm/min., i.e. the feed-
rate is now independent of the distance of the tool centre from the centre of rotation of the rotary
axis.
M116 is automatically cancelled by PGM END. M116 is only active when the centre of rotation of a
rotary axis is defined in machine parameters MP7510 ff.
The display of other M-functions can be achieved in the PLC-window (see chapter "PLC-description",
section "Modules")
M2485 Status display and sign of S-analogue for M03 PLC PLC
M2486 Status display and sign of S-analogue for M04
M2487 Status display for M05 and spindle stop
M2608 Status display M03, M04, M05 inverse and S-analogue output = 0V
0 0 M09
0 1 M07
1 0 M08
1 1 MK
The manufacturer of the machine determines the conditions under which the PLC will produce error
messages. Up to 100 different PLC error messages can be generated.
The dialogues for PLC error messages can be determined by the manufacturer of the machine.
Please contact HEIDENHAIN about this. The standard version has dialogues with the reserved
designations "PLC: ERROR 0" to "PLC: ERROR 99". These PLC error messages can be activated by
the PLC-markers M2924 to M3023.
The error messages can be cancelled either by pressing the CE-key or by resetting the appropriate
markers.
If several PLC error messages are activated simultaneously, they can be read out one after another
by pressing the CE key.
If the program run is to be stopped on output of a PLC error message, this must be explicitly
programmed in the PLC-program (NC STOP).
In order to show a PLC error message as a flashing message, the marker M2815 must also be set.
If marker M2815 is set, but none of the 100 PLC error messages is activated, then the flashing error
message "EMERGENCY STOP PLC" will be displayed.
If, for some reason, the display of the PLC error message is not wanted in the field under the
operating-mode display, the message can also be displayed in the PLC-window.
Stepover
Whether a channel should first be milled around the contour and the pocket cleared out afterwards,
or the pocket cleared out first, and then a channel milled round the contour.
Whether the channel should be milled in a clockwise or anti-clockwise direction.
Under which conditions programmed pockets should be merged. The choice is between:
merging programmed pockets when the programmed contours overlap, or when the tool centre
paths intersect.
Whether the channel-milling should be performed in one operation for all stepovers, or whether
for each peck depth channel-milling and clearing out should be performed alternately.
Whether after the pocket has been machined, the tool should be moved back to the initial
position before the cycle was called or should merely be moved to setup clearance.
These functions must be enabled by machine parameters and the PLC program must
be changed accordingly.
Markers inform the PLC about the individual conditions during the resumption of the program or
block scan. Depending on these markers, certain functions can be enabled in the PLC-program (e.g.
operating the axis-direction keys in "Manual operation").
M2019 is set if the "Return to contour" function is activated with the "RESTORE POSITION" soft key.
M2059 is set if the "RESTORE AT N" soft key is pressed. M2059 is reset if the "RESTORE
POSITION" or "INTERNAL STOP" soft key is pressed.
During the block scan the PLC positioning commands are only included in the calculation if they are
also executed. The TOOL CALL block usually releases PLC positioning commands for the tool
change position. If these movements are to be offset in the block scan, the absolute position must
be entered referenced to the machine datum in MP951.x and the offset must be activated for
specific axes with MP7450.
When using random selection in the central tool memory (see section "Tool change"), an alteration of
the position numbers in the tool memory must be avoided during block scan. This is transmitted
from the PLC to the NC by marker M2612.
Machine parameter MP7680 can be used to select whether the block scan may be interrupted by a
programmed STOP or M06 and whether the programmed dwell time should be taken into account
during the block scan.
The feed for returning to the contour is specifically defined in machine parameter MP4220.X. This
machine parameter is also used to set a number in the PLC (see "PLC description.")
MP951 Simulated tool change position for TOOL CALL during block scan
Entry: 99 999.9999 to +99 999.9999 [mm] or []
MP951.0 Axis X
MP951.1 Axis Y
MP951.2 Axis Z
MP951.3 4th axis
MP951.4 5th axis
MP7450 Calculate the tool change position from MP951 in block scan
Entry: %xxxxx
.H = HEIDENHAIN program
.I = DIN/ISO program
.T = Tool table
.D = Datum table
.P = Pallet table
.A = Text file
.HLP = Help file
.PNT = Point table
The file name can be up to 16 characters long (letters and digits). The maximum length of the file
name is defined in MP7222.
MP7330.0 User-parameter 0
MP7330.1 User-parameter 1
. .
. .
MP7330.14 User-parameter 14
MP7330.15 User-parameter 15
6.11 Code-numbers
The MOD functions can be used to enter code-numbers for the control. These code numbers can be
used to activate certain control functions.
The following code-numbers have a fixed meaning:
Code-number Function
Address Function
If the basic language English has been selected, then marker M2041 is set by the NC.
0 = Decimal comma
1 = Decimal point
The Doubleword D528 has a multiple usage. See also the sections "PLC positioning" and "Datum
shift correction".
Address Function
M2713 Activate the transfer of the value from D528 to the PLC NC
Q-Parameter defined in W516
Paraxially corrected positioning blocks (R+/R-) and radius-corrected positioning blocks (RR/RL) must
not be entered one after another.
To avoid erroneous entries MP7246 can be used to disable the input of paraxial positioning blocks.
The machine tool manufacturer creates the HELP file in the "PLC Programming" mode. Help texts
(information) or machine commands can be edited in the HELP file. With machine commands a
numerical value in the format "#xxxx" is edited at the start of line.
As soon as the cursor is moved on a line with a numerical value, this value is available in W270 of
the PLC, and the corresponding command is evaluated in the PLC program. If the cursor is moved
on a line without a valid numerical value, then the value -2 is entered in word W270. If no HELP file
is selected the value in W270 is 1.
Example:
Several HELP files can be created. The user selects the desired file with the PGM NAME key after
operating the HELP soft key.
If a HELP file is selected in the foreground and background modes then the message "Background
programming not possible" will appear.
Address Function
The execution of the M-function must be signalled to the NC by setting the markers M2482. The
next NC-block is only processed when the signal is acknowledged and the marker M2045 (strobe
signal for M-function) is reset by the NC. The M-functions M00 to M99 can also be decoded and
transferred to the markers M1900 to M1999. This function is activated by the marker M2496. The
decoded output is retained for reasons of compatibility. However, HEIDENHAIN recommends
M-code evaluation using Word W260.
All M-functions over 99 are not transferred to the PLC but have a specific significance for the NC to
activate functions (see User's Manual).
M2045
M2485
O10
I10
M2482
For some applications this can be disadvantageous (e.g. laser cutting-machines, DNC-operation). In
such applications the program should be executed continuously and not wait for the
acknowledgement of the M-function. This function can be selected by machine parameter MP7440,
Bit 2. If this function is selected then PLC-positioning, datum-correction, spindle-orientation or limit
switch range-change are all not permitted during the output of the M-Function.
This function must not be used with milling machines or boring machines.
Fmax = Fprog*F%
Fmax = Maximum feed-rate in negative direction of tool axis
Fprog = Last programmed feed-rate
F% = Programmed factor after M103 in %
M103 F... is cancelled by a new entry for M103 without a factor.
The function M103 F... is enabled by MP7440, Bit 4.
The key-code from the TNC-keyboard is directly evaluated by the NC. PLC inputs and outputs for the
machine-control panel are available on connector X46 . These PLC inputs and outputs must be
evaluated by the PLC and the appropriate information passed to the NC.
The keys on the TNC-keyboard and the soft keys on the BC 110 B can be inhibited by the PLC. With
M2876 the entire alphabetic keyboard can be inhibited. M2877 inhibits the soft-key row and M2878
inhibits the changeover keys to the right of the screen. All other keys can be inhibited selectively
with M2854 to M2923. If an inhibited key is pressed, the NC sets the marker M2182 and deposits
the key-code for the key which was operated in word W274. The PLC must reset the marker
M2182 after evaluating this information.
The keys on the TNC-keyboard and the soft keys on screen can also be simulated by the PLC. To
achieve this the appropriate key-code is entered in Word W516 and activated by the strobe-marker
M2813. After execution of the key-code the NC resets the strobe-marker M2813.
A fixed code has been introduced for certain soft key functions. As with key simulation, this function
is executed by entering the required code in W516 and activating with M2813. The appropriate soft
key function must be displayed in the foreground or background mode for this. With the trailing edge
of M2813 the PLC is told whether the function was properly executed.
CHF
M2854 inhibit 58 PLC PLC
PGM
M2855 NAME
inhibit 59 PLC PLC
RND
M2857 inhibit 61 PLC PLC
CC
M2858 inhibit 62 PLC PLC
C
M2859 inhibit 63 PLC PLC
PGM
M2865 CALL
inhibit 69 PLC PLC
CR
M2867 inhibit 71 PLC PLC
M2874 TOUCH
PROBE inhibit 78 PLC PLC
TOOL
M2880 DEF
inhibit 84 PLC PLC
TOOL
M2881 CALL
inhibit 85 PLC PLC
CYCL
M2887 DEF
inhibit 91 PLC PLC
CYCL
M2888 CALL
inhibit 92 PLC PLC
LBL
M2889 SET
inhibit 93 PLC PLC
LBL
M2890 CALL
inhibit 94 PLC PLC
M2891 NO
ENT
inhibit 95 PLC PLC
CL
M2894 PGM
inhibit 98 PLC PLC
DEL
M2895 inhibit 99 PLC PLC
GOTO
M2898 inhibit 102 PLC PLC
END
M2915 inhibit 119 PLC PLC
xx 50 (Hex)
ASCII key-code (see "Appendix")
xx51 (Hex)
xx results as follows:
08 00 01 02 03 04 05 06 07 0A
xx52 (Hex)
xx results as follows:
00
GRAPHICS 01
TEXT
SPLIT
SCREEN
Code for soft key functions:
If the "Positions-transfer" key is pressed in the operating mode "Positioning with manual entry" , a
linear NC-block with all three principal coordinates (X, Y, Z) is to be generated.
25 PLC inputs (I 128 to I 152) and 8 PLC outputs (O 0 to O 7) are available on the female connector
X46 for the evaluation of the keys on the machine-control panel. The evaluation of the signals from
the machine-control panel must be performed in the PLC-program. The appropriate markers will be
set thereby. For safety reasons a complement-marker must be reset when some functions are
activated. This is especially so for keys with several contacts. If the complement-marker is not
properly set or reset, the flashing error message "Error in PLC-program" will appear. The displayed
code identifies the marker where the error has occurred.
An axis-direction key which has been operated can be stored by marker M2450 (Complement-
marker M2466) . This means that the axis will be traversed until NC STOP occurs. This memory
function must be activated by machine parameter MP7680 Bit 0.
M2451 Feed-release 1D
M2467 Complement - feed-release
Example:
NC-start key with two contacts I 128 and I 129
axis-direction key X+ with one contact I 130
.
71 L I128 ;First contact NC-start key
72 = M2448 ;NC-start
73 LN I129 ;Second contact NC-start key
74 = M2464 ;Complement - NC-start
.
100 L I130 ;Axis-direction key X+
101 = M2456 ;Manual traverse X+
102 LN I130
103 = M2472 ;Complement - manual traverse X+
.
- The TNC 415/425 also supports the TM 110 measuring touch probe.
The chapter "Mounting and Electrical Installation" contains instructions for connecting the touch
probes. Machine parameters MP6010, MP6200 and MP6500 determine which touch probes are
connected. The machine tool builder must ensure that the spindle locks as soon as the touch probe
has been inserted.
F1
F2
Max. measuring range
(MP6130)
F1 = Rapid traverse during probing cycle: MP6150 for triggering touch probe MP6200 = 0
MP6361 for measuring touch probe MP6200 = 1
F2 = Probing feed rate: MP6120 for triggering touch probe MP6200 = 0
MP6360 for measuring touch probe MP6200 = 1
The probing sequence must be enabled by the PLC with marker M2503. This marker is set by the
NC when a probing cycle starts and the NC waits until the PLC resets marker M2503 before
executing the probing function. A number of conditions are transferred to the PLC with markers
M2022 to M2027. This information can be processed further in the PLC program. The probing
function is controlled entirely from the NC.
In all modes if the stylus is deflected and marker M2502 is set, the controller stops the machine.
If M2502 is not set, the controller only detects stylus deflection if the probing function has started.
This is why HEIDENHAIN recommend setting marker M2502 as soon as the touch probe is in the
spindle. This recommendation does not apply to the TS 511, however, since a stylus deflection is
only recognised when the system is not in standby mode.
If M2502 is set, then the maximum feed-rate is limited by MP6150 in addition to MP 1010 and
MP1020. MP7411 selects whether the tool data (length, radius, axis) from the last TOOL CALL block
or from the calibrated data of the probe system are used in a touch probe block. The centre offset of
the probe system can be determined when calibrating. This centre offset is then automatically
corrected in all probing operations (see User's Manual). MP6160 defines whether spindle orientation
for a rotation by 180 will be performed directly by the NC or through the PLC. If the NC orients the
spindle directly, the PLC need only reset Marker M2499. If the PLC orients the spindle, the number
of the M function will be entered in MP6560. For the triggering touch probe the rotation is activated
by pressing a soft key. For the measuring touch probe the rotation is automatically activated during
calibration. This can be deselected with MP6321. During every spindle orientation the Marker
M2127 is set.
MP6361 Rapid traverse in the touch probe cycle (measuring touch probe)
Entry: 10 to 10 000 [mm/min]
1 = The current tool data are retained even with a touch probe block.
M2502 NC STOP with deflected stylus in all modes (not TS 511) PLC PLC
Technical Requirements
- "Digitizing with TS 120" is possible with TNC 415 using software types 259 96 and 259 97 and
with TNC 407 using type 243 02 (see also the section "Software" in the chapter headed
"Introduction", ).
- Installing the software module "Digitizing with the TS 120". The ID. number of the logic unit
indicates whether the software module is already installed (see the section "EPROM Locations" in
the chapter headed "Introduction", and the section "Hardware Components" in the chapter
"Installation and Electrical Connection").
If the module is already installed, the software number of the option will appear beneath the NC
and PLC software number, when the system is switched on or when the MOD key is pressed.
- Interfaced touch probe TS 120.
- The machine must be optimized for "Trailing error operation".
Machine parameter MP6210 is the value for the oscillations executed by the touch probe as it scans
the form. It is governed by the dynamic response of the machine.
The dynamic response is in turn determined by the Kv factor (trailing error operation). The greater
the Kv factor, the greater the number of oscillations.
Machine parameter MP6210 determines the maximum probing feed rate in conjunction with the
programmed probe point interval, PP.INT from the scanning cycles "Meander" and "Contour Lines":
This relation gives the formula for calculating the input value of MP6210:
1) The optimized probing feed rate depends on the feed rate in the normal direction (MP6230).
Normal direction
Apart from the oscillation amplitude, the feed rate in the normal direction also determines the
maximum scanning feed rate. If MP6230 is too low, the machine dynamics will be under-utilized and
the scanning feed rate will also be low. If MP6230 is too high the oscillation amplitude will be too
high. In this case the stylus will be seen to lift off from the contour (the stylus "taps" the surface of
the workpiece) and the scanning feed rate no longer increases.
The maximum stylus deflection is defined by machine parameter MP6240. MP6240 will depend on
the length of the stylus used. MP6240 defines the maximum travel by which the stylus retracts on
inside corners. If the touch probe is not "cleared" after the stylus backs out by the travel defined in
MP6240, the touch probe axis (e.g. Z) is retracted in the positive direction. Digitizing continues as
soon as the touch probe is cleared.
Machine parameter MP6260 defines whether an M90 is appended to each NC block in the output
digitized data (see also "Constant contour speed at corners with M90").
Machine parameter MP6270 defines the output format of the digitized data, i.e. the number of
decimal places to which the coordinates are output.
The "Range" cycle defines the cuboid scanning range and the file where the digitized data are stored.
The "Meander" cycle digitizes a 3-D form The "Contour Lines" cycle digitizes a 3-D form
meander-wise (line by line) in the pre-defined level-by-level in contour lines within a pre-
range. defined range. Level-by-level digitizing is mainly
used for forms with steep edges.
Z
Y
Y
X
During meander digitizing a very flat surface may cause little movement in the probe axis. This can
result in a lack of lubrication in the probe axis. MP6220 and MP6221 make it possible to lubricate the
axis at the end of the lines.
FE 401
Further particulars about scanning cycles will be found in the TNC User's Manual.
The scanning sequence responds differently for inside and outside corners. Here the two
parameters PP.INT (maximum probe point interval) and TRAVEL from the "Meander" and "Contour
Lines" scanning cycles operate like a travel limiter. Depending on the values that are entered for
these parameters, either the travel or the probe point interval are limited.
The travel is also responsible for geometrical accuracy at the corners. The smaller the stroke, the
greater the accuracy of corner resolution. If too small a stroke is defined however, it may affect
clearance at acute inside corners (minimum travel = 0.1 mm).
Outside Corners
PP. INT
Contour 1
TRAVEL
2
4
On outside corners, having probed the last point the touch probe moves down the resultant
straight line until it either makes workpiece contact again or hits one of the two limits TRAVEL or
PP.INT . In the illustrated example TRAVEL is the limit, and the touch probe returns to the contour
in the inverse scanning direction. The new scanning direction is defined by the probed points
and .
Maximum stylus
deflection MP 6240
Contour
5
P.I
N
6 4
3
1 2
LE
AV
TR
P.I
N
On inside corners, having probed the last point the touch probe continues to oscillate in the same
scanning direction but changes direction because it cannot get clear. It then moves down the
resultant straight line until it either gets clear or hits one of the limits TRAVEL or PP.INT.
The touch probe moves in inverse scanning direction to get clear. If the programmed probe point
interval PP.INT is too small for the probe to clear, it travels in negative direction by up to the value
of MP6240 (maximum stylus deflection). As soon as the touch probe is clear it returns to the
contour in the inverse travel direction. The new scanning direction is defined by the probed points
and . If the touch probe has failed to clear even after it has backed out by the value of MP6240
, the touch probe axis (e.g. Z) is cleared in the positive direction. If the stylus is still deflected after
it reaches the "clearance height" (see "Range" scanning cycle) the scanning sequence is aborted and
an error message is displayed.
- Set up the flat workpiece with vertical face and plane surface in the machining plane (e.g. XY
plane).
- Probe the surface with probing function "Surface = Datum" ("MANUAL" or "EL. HANDWHEEL
MODE") and enter the reference plane as +0 mm.
- The interface must be configured in the "PROGRAMMING AND EDITING" mode, depending on
the type of desired memory for the digitized data (internal controller RAM, FE 401 or PC with
"Block Transfer" program). See TNC 407/TNC 415 Operating Manual.
- Connect FE 401 or PC to the serial data interface if necessary.
- Enter NC program with the scanning cycles "Range" and "Meander" and the scanning direction X
and the probe point interval 1 mm, e.g.
Z
Y
X
MA
MI
N
Optimize the Z axis by defining the range such that mainly the vertical face is scanned.
Z Y
X
MA
MI
N X
In the
"PROGRAM RUN/FULL SEQUENCE"
mode, select OPTIDIGI program and operate
the external START KEY.
Machine runs, digitizing starts.
U[V]
Umax
Increment MP6230
(e.g. by 10 mm/min) t[s]
Are oscillations in
no normal direction visible
(stylus tip is seen to lift off
workpiece surface)?
yes
When the calculated machine parameter MP 6210 is entered the feed override potentiometer is
trimmed to the "attained feed rate".
1)
Maximum possible feed rate noted during optimizing
2)
PP.INT is the programmed maximum probe point interval from the "Meander" scanning
cycle (in the example, PP.INT = 1 mm).
The TM 110 measuring touch probe permits high digitising speeds up to 3 m/min (1181 ipm). The
stylus deflection is measured in every direction directly by integral measuring systems and
evaluated in the TNC.
Technical prerequisites
The machine must be prepared for the use of the TM 110 measuring touch probe. The ballscrew
must be mechanically clamped and it must be ensured that the spindle drive cannot be started while
the probe is in use. The TM 110 must be at right angles to the machine axes (use a dial gauge if
necessary). The square cover on the TM 110 can be used as a datum surface.
The "Digitising with TM 110" software module also enables digitising with the TS 120 touch trigger
probe. The machine parameters for digitising with the TM 110 and TS 120 become available when
the software module has been installed.
MP6200 defines whether the measuring or the triggering touch probe is to be used.
Danger of breakage!
If you wish to use both the triggering and the measuring touch probe, you must make quite
sure that the type of touch probe in use is entered in MP6200.
The counting direction of the measuring system signals must match the counting direction of the
measuring systems for the machine tool axes (MP210). In the "Positioning with MDI" mode the
machine can be positioned by pressing the PNT soft key. The machine must move in the direction in
which the stylus was deflected. If this is not the case, the counting directions must be changed in
MP6320.
MP6322 assigns the touch probe axes (the measuring systems in the probe) to the machine axes.
For machines with swivel heads the user must enter the respective mounting position of the touch
probe in MP6322. If the touch probe is in a horizontal position, the undefined deflection resulting
from the stylus's own weight makes it impossible to find the centre of the stylus tip. It is therefore
not possible to use the TM in a horizontal attitude to locate a workpiece. In a horizontal attitude the
TM can be used only for digitizing.
Danger of breakage!
The mounting position of the touch probe must be entered correctly in MP6322, otherwise
the calculation of the maximum deflection from MP6330 may be incorrect.
MP 6310 defines the mean constant deflection depth during digitising. On standard parts an entry
value of 1 mm has proven to be useful. On parts with sharp changes in directions (steep edges) that
are scanned at high speed the deflection depth must be increased. The probing for can also be
adjusted with the deflection depth (approx. 4 N per mm deflection).
After the "Meander" or "Contour line" cycle has been started, the probe moves at the feed rate
defined in MP6361 to the clearance height, and then in the working plain to the point above the
starting point. It then moves at the feed rate defined in MP6350 to the MIN point. If no touch point
is reached, the probe moves to the first touch point in the direction defined in the cycle at the feed
rate given in MP6350.
MP6360 (probing feed rate) and MP6361 (rapid traverse in the probe cycle) are effective in the
standard touch cycles (Chapter 9.1).
MP6362 makes it possible to automatically reduce the probing feed rate if the ball tip moves too far
from the path.
During contour-line scanning the probe sometimes ends the contour line at a point located near but
not exactly at the starting point. MP6390 defines a target window within which the probe is
considered to have returned to the starting point. The target window is a square. The entry value is
half the length of one side of the square.
MP6320 Counting direction of the measuring system signals (measuring touch probe)
Entry: %xxx
MP6350 Feed rate for positioning to the MIN point and contour approach
(measuring touch probe)
Entry: 10 to 3000 [mm/min]
MP6362 Feed rate reduction if stylus of the TM 110 is deflected away from its path
Entry: 0 or 1
0= Feed rate reduction not active
1= Feed rate reduction active
The HEIDENHAIN TT 110 touch probe serves for measuring and inspecting tools. HEIDENHAIN
provides standard cycles for automatic tool measurement and calibration with the TT 110 (see
User's Manual).
Technical Prerequisites:
TT 110
TNC 4xx as of software version 280 58, 280 54, 280 56
Central tool file TOOL.T must be active (via machine parameter)
The machine must feature a controlled spindle (for spindle orientation)
MP6500 enables the cycles for tool measurement. The cycles should only be enabled when a TT
110 is mounted and interfaced.
MP6505 defines the probing direction for tool radius measurement. For tool radius measurement,
MP6530 defines the distance from the tool bottom to the top of the probe contact. In the tool table
an additional tool-specific offset is entered in the field L-OFFS. MP6540 defines a safety zone around
the probe contact of the TT 110. When a cycle for tool measurement is started the tool moves
automatically from the "clearance height" entered in the cycle at the feed rate defined in MP6550 to
the limit of the safety zone.
The probe disk diameter or the cube edge length is entered in MP6531. The coordinates of the
probe contact centre referenced to the machine datum is entered in MP6580.
For calibrating and measuring individual teeth, the spindle must be brought to a stop at a defined
angular orientation. MP6560 defines whether the spindle is oriented directly through the NC or
through the PLC. If the spindle is oriented by the NC, the PLC need only reset the Marker M2499. If
the PLC orients the spindle the number of the M function is entered in MP6560. The respective
positions are then transferred as for the "Spindle Orientation" cycle. Marker M2127 is set during
every spindle orientation.
For tool measurement of a non-rotating tool the probing feed rate is taken from MP6520.
For tool measurement of a rotating tool the probing feed rate and the spindle speed are
automatically calculated by the TNC. The rotational speed is calculated from the maximum
permissible surface cutting speed (MP6570) and the tool radius from the tool table. The rotational
speed is limited to a maximum of 1000 rpm.
Markers M2502, M2503, M2022, M2023, M2025 and M2026 function as in the standard probing
cycles. The cycles for tool measurement must therefore also be released by the PLC with Marker
M2503.
If the spindle is oriented directly by the NC (MP6560 = 1), Marker M2499 must be reset by the
PLC.
MP6510 Max. permissible measuring error for tool measurement with rotating tool
Entry: 0.002 to 0.999 [mm]
MP6520 Probing feed rate for tool measurement with non-rotating tool
Entry: 10 to 3000 [mm/min]
MP6530 Distance from tool lower edge to probe contract upper edge for tool radius
measurement
Entry: 0.001 to 99.9999 [mm]
MP6540 Safety zone around the probe contact TT 110 for pre-positioning
Entry: 0.001 to 99 999.9999 [mm]
MP6580 Coordinates of the TT 110 stylus centre referenced to the machine datum
Entry: 99 999.9999 to 99 999.9999 [mm]
MP6580.0 Axis X
MP6580.1 Axis Y
MP6580.2 Axis Z
Machine parameter MP7640 defines which handwheel is connected to the control. If a value greater
than zero is entered but no handwheel is connected, the error message "Handwheel?" appears.
Shock and vibration can cause a slight movement of the handwheel and thus lead to an unwanted
traverse movement. In order to avoid this a threshold sensitivity for the electronic handwheel is
entered in machine parameter MP7660.
Traversing with the handwheel is disabled by setting marker M2826, i.e. handwheel pulses are
suppressed.
A interpolation factor can be selected in the "Handwheel" operating mode. This interpolation factor
determines the traverse distance per turn. In order to ensure that the rapid traverse rate fixed by the
machine parameter MP1010.x is not exceeded the NC determines the minimum entry value for the
interpolation factor. The NC control goes by the smallest value which was entered, i.e. according to
the slowest axis.
MP7641 defines whether the interpolation factor can be entered direct at the TNC control panel or
via PLC module 9036 (see also Chapter 7, section "PLC Modules").
Interpolation factor Traverse distance per turn Effective from rapid traverse rate:
[mm] MP1010.x [mm/min.]
0 20 12 000
1 10 6 000
2 5 3 000
3 2.5 1 500
4 1.25 750
5 0.625 80
6 0.312 80
7 0.156 80
8 0.078 80
9 0.039 80
10 0.019 80
Machine parameter MP7670 can be used to select a higher limit than that calculated by the NC.
Initializing parameters for the handwheel are defined in machine parameters MP7645.x. These
initializing parameters are currently only evaluated by HR 332 and HRA 110. The functions are
described in the corresponding sections.
0 = no handwheel
1 = HR 330 (all keys evaluated by NC)
2 = HR 130 or HR 330
3 = HR 330 (+, - and "rapid traverse" keys evaluated by PLC)
4 = HR 332 (all keys evaluated by PLC)
5 = up to three HR 150 via HRA 110
6 = HR 410
MP7645.0 to MP7645.7 currently evaluated only by HR 332, HR 410 or HRA 110 (see following
description).
When the axis keys are activated the corresponding highlight and the on-screen handwheel symbol
move together.
The axis keys on the keyboard are used to move the highlight for actual-value transfer or for setting
datum point. The axis keys on the HR are used to move the handwheel symbol on the screen. The
+, - and rapid traverse keys are evaluated directly by the NC and inputs I160 to I162 are also set
accordingly.
The axis keys on the keyboard and on the HR are used to move both the highlight and the on-screen
handwheel symbol.
The +, - and rapid traverse keys are evaluated directly by the NC and inputs I160 to I162 are also set
accordingly.
The axis keys on the keyboard are used to move the highlight for actual-value transfer or for setting
datum point. The axis keys on the HR are used to move the handwheel symbol on the screen. The
+, - and rapid traverse keys must be evaluated by the PLC. Inputs I160 to I162 are set accordingly.
The axis keys on the keyboard are used to move the highlight for actual-value transfer or for setting
datum point. The axis keys on the HR are used to move the handwheel symbol on the screen.
MP7645.0 defines whether all 12 keys and their LEDs can be addressed by the PLC or whether the
axis select keys and their LEDs are excluded.
When MP7645.0 = 0, the X, Y, Z, IV and V keys and their LEDs are assigned to the NC. The other
keys are assigned to PLC inputs I164 to I170. The LEDs are assigned to the PLC outputs O100 to
O106.
X IV O100
I164
Y V O102
I166
Z O103 O104
I167 I168
When MP7645.0 = 1, all 12 keys are assigned to PLC inputs I160 to I171 and all LEDs to PLC
outputs O96 to O107.
;Main program
LBL 1
PS K+9 Interrogate selected handwheel axis with module 9035
CM 9035
PL B0
L K+0 Delete the 8 markers for "Manual
B= M2456 Traverse" of axis X to IV
L K$FF Set the 8 complement markers
B= M2472
L MO PLC outputs O100
ON MO to O106 are deleted.
R O100 All LEDs are
R O101 turned off except the
R O102 LED of the selected axis.
R O103
R O104
R O105
R O106
Case BO Evaluation of selected handwheel axis
CM 10 X-axis
CM 11 Y-axis
CM 12 Z-axis
ENDC
EM
LBL 10 X-axis
LN M2457 Unless X- is active
A I170 and + key is pressed,
S M2456 traverses in
R M2472 X+ direction.
S O106 LED on - key lights up.
EM
LBL 11 Y-axis
.
EM
LBL 12 Z-axis
.
EM
LBL 13 Axis IV
EM
MP7645.0 = 0 MP7645.0 =1
Keys are evaluated by NC Keys are evaluated by PLC
O96 O97
X IV I160 I161
O98 O99
Y V I162 I163
ACTUAL-
O100 O103
Z POSITION
CAPTURE I164 I167
FEED RATE FEED RATE FEED RATE
SLOW MEDIUM FAST
O104 O105 O106
I168 I169 I170
+ I171 I172
O109 O110 O111 O109 O110 O111
I173 I174 I175 I173 I174 I175
All keys except for the functions keys A, B, and All keys are evaluated by the PLC. Module
C, are evaluated by the NC. MP7670.x defines 9036 sets the handwheel's axis and
the interpolation factor for the slow, medium interpolation. With W766 you can influence
and fast settings. MP7671.x defines the speed the feed rate by pressing the direction keys.
for the slow, medium and fast settings. The
speed is entered as a percentage of the manual
feed rate (MP1020.x).
If the step switch is used for the selection of the interpolation factor (S1) then inputs I160 to I167
must be evaluated in the PLC and the result must be displayed with the aid of PLC module 9036.
The third handwheel can be assigned to any desired axis. MP7645.2 defines whether the axis for
the third handwheel is selected with the axis selector switch (switch S2, see MP7645.0) or is
permanently assigned in machine parameter MP7645.1.
MP7645.0 to MP7645.2 have the following meaning when an HRA 110 is connected:
If no axis selector switch is connected (see also MP7645.2) the third handwheel is assigned an axis
according to the input value of MP7645.1.
The two switches operate with a 0 V logic, e.g. if switch S1 is in position 3 then input I162 is logic 0
and inputs I160, I161 and I163 to I167 are logic 1.
Step switch S1
Step switch S2
In this PLC example the minimum interpolation factor is read from MP7670 and processed with PLC
module 9032.
LBL 101
PL B4 Result is in byte 4
LBL 102
L B6 if transfer fails,
> K0 then error message
JPT 203
EM
Example:
Switch position 4:
The content of the words can be further processed in the PLC for a variety of purposes (e.g.
compensating for thermal expansion, see section "Thermal compensation").
The word addresses in the PLC depend on whether the analogue inputs are on the first or second
extension. Machine parameter 4410 defines the extension on which the analogue inputs are found.
On the PL 410 the analogue inputs must be activated by a DIL switch. See chapter
"Installation and electrical connection", section "PLC Inputs/Outputs".
4-206 TNC 407/TNC 415/TNC 425 11 Analogue inputs and outputs 01.98
11.2 Analogue outputs
The logic unit has six analogue outputs. Five of these are always used to output the nominal value of
the axes. The sixth analogue output is usually used as a nominal value output for the spindle.
If the nominal value for the spindle is not an analogue output, or if the spindle is not needed (e.g.
water jet and laser cutting machines), then an alternative function can be defined for analogue
output S (X8, Pin 8) in MP3011.
01.98 TNC 407/TNC 415/TNC 425 11 Analogue inputs and outputs 4-207
4-208 TNC 407/TNC 415/TNC 425 11 Analogue inputs and outputs 01.98
12 Increment positioning
In the "Electronic handwheel" mode, the function "Incremental jog positioning" can be activated by
the PLC program.
The function "Increment positioning" is enabled by marker M2498. In the "Electronic Handwheel"
mode the "Jog Increment" dialogue is displayed in addition to the "Interpolation factor" dialogue.
For increment positioning, the start marker and the corresponding complement marker for the
desired axis must be activated. If start and complement markers are not set correctly then the
message ERROR IN PLC-PROGRAM XX appears.
In the PLC program the activation of increment positioning is usually combined with the axis
direction keys (see following PLC example). The jog increment can be limited with Module 9036.
EM
.
The Hirth functions are implemented in the PLC program. The only operation in the NC is a rounding
off according to the grid spacing in MP430 when setting the datum point. Repositioning is initiated
as PLC positioning or an error message is displayed depending on whether the axis is automatically
or manually positioned with the Hirth coupling. MP420 defines the "Hirth coupling" functions and
MP430 the grid spacing. The positioning accuracy and other parameters are defined in free machine
parameters.
Left grid
L D44
PSW ;load to stack
< K+0
CMT 331 ;decrement by Hirth grid
PLW ;load to ACCU
/ D28
x D28 ;suppress residual spacing
= D36 ;left grid point
Right grid
L D36
+ D28
= D40 ;right grid point
Each axis (X, Y, Z, 4, 5) is assigned a double word (D528 to D544) for the correction value. The
datum correction is activated by Marker M2716 during a strobe. The correction is computed in the
actual value display; the display then relates to the shifted coordinate system.
Example:
The corrections can be transferred to double words, D528 to D544, from different memory areas:
- Enter values in MP4210.0 to MP4210.47 and they will also be in D768 to D956; now copy values
via PLC program into D528 to D544.
- Define corrections in the NC program in function FN19 and they will also be in D280 or D284 (see
description of FN19); now copy values via PLC program into D528 to D544.
A description of the machine geometry via machine parameters MP7510 and following (e.g. cylinder
surface) must have the same reference position as any datum shift.
Address Function
D528 Datum correction for X axis
D532 Datum correction for Y axis
D536 Datum correction for Z axis
D540 Datum correction for IV axis
D544 Datum correction for V axis
Marker Function
M2716 Strobe marker for datum correction
L M1920
A M2045 ;M20 activated
A M10 ;Buffered marker for strobe marker 2716
CMT 200 ;Datum correction call
R M10
L M1921
A M2045 ;M21 activated
S M10 ;Buffered marker for strobe marker 2716
C 201 ;Deactivate datum correction call
R M10
.
.
L M1920
O M1921
A M2045
AN M2716
S M2482 ;Feedback for M20 and M21
EM ;End of main program
LBL 200 ;Activate module for datum correction
L D896 ;Value from MP4210.32
= D528 ;Shift X axis
L K0 ;Do not shift Y, Z, 4th and 5th axis
= D532
= D536
= D540
= D544
L M10
S M2716 ;Activate datum compensation
EM
LBL 201 ;Deactivate module for datum correction
L D900 ;Value from MP4210.33
= D528 ;Shift X axis
L K0 ;Do not shift Y, Z, 4th and 5th axis
= D532
= D536
= D540
= D544
L M10
S M2716 ;Activate datum correction
EM
Tool data are stored in the tool table and complete tool management (replacement tool, tool life etc.)
is handled by the NC. The NC supplies the PLC with the information it needs to control the tool
changer via markers and words.
The tool table is called with the "TOOL TABLE" soft key. From here the operator calls the pocket
table with the "POCKET TABLE" soft key (see User's Manual).
When the operator is in the tool table or pocket table editor, he can upload or download the tool or
pocket table with the EXT key.
Identifiers T and R are assigned for the tool table and pocket table respectively on the external
memory.
Left side of the tool table Right side of the tool table
The tool and pocket tables cannot be edited if they are disabled or protected by MP7224 (see
section "Display and operation").
The number of tools in the tool table is defined in machine parameter MP7260. If MP7260 contains
a zero value, then the system will run without a tool table ("TOOL.T" does not exist). Tool length and
tool radius are programmed in the NC program with TOOL DEF (see User's Manual). Automatic tool
management is not possible when operating with no tool table.
The number of pockets in the tool magazine is defined in machine parameter MP7621. No pocket
table is generated if MP7621 is defined as zero. The elements displayed in the tables and their
sequence are defined in machine parameters MP7266.x and MP7264.x. The PLC can read and
overwrite the tool and pocket tables with modules 9092, 9093 and 9094 (see chapter "PLC
Programming"). The current tool data appear in the additional status display (see section "Display and
Programming").
P5 P6 P7 P8 P9 P10
Variable pocket coding can be restricted by the "F" field (fixed pocket). For special tools, variable
pocket coding can also be restricted with marker M2601. If marker M2601 is set then all special
tools are returned to their original pocket despite "variable pocket coding" being selected. This
function can also be defined for specific normal tools in the "F" field.
In software types 243 05, 259 91, 259 96, 259 97, 243 07 and 243 02 the special tools are identified
by "S" in the tool table. The number of reserved pockets has been defined in machine parameter
MP7264. MP7264 is no longer available.
If on TOOL CALL the current tool life (CUR.TIME) is greater than TIME2, the pocket number or tool
number (MP7480) of the replacement tool is automatically downloaded. If TIME2 is greater than
zero and no replacement tool is defined, a TOOL CALL for the replacement tool provokes the error
message "MAX. TOOL LIFE EXPIRED" when this time elapses.
If the current tool life is greater than TIME1, the NC sets flag M2094. Further action can be defined
by the machine tool manufacturer (e.g. output a PLC error message).
With the M function M101, the tool can be replaced automatically after a certain service life (TIME 1
or TIME 2). The replacement tool is not installed exactly when tool life ends but can vary by several
NC blocks depending on processor capacity. A T strobe M2046 is sent to the PLC and marker
M2404 is set. With automatic replacement tool installation (M101) the same radius must be defined
for the replacement tool as for the original tool in standard NC programs (NC blocks with RR, RL or
R0).
No radius correction is defined in NC blocks with surface-normal vectors. A delta value (DR, DL) for
length and radius can be defined for each tool in the tool table. The TNC uses these delta values in
NC programs with surface-normal vectors. If the radius of the replacement tool differs from that of
the original tool, then this must be defined in the "DR" field in the tool table. The delta value must
always be negative. If a positive delta value is defined then the error message "Tool radius too large"
will appear. This error message can be reset by M-function M107. M107 is reset by M108.
MP7680 can define whether the oversize for the tool radius (DR2) is considered when calculating
tool length for NC blocks with surface-normal vectors.
The current tool life is only counted from TOOL CALL to TOOL CALL in the automatic modes
("Program run/Single block" and "Program run/Full sequence"). It does not matter whether the spindle
is turning or the machine is traversing. The tool life counter does not stop until the program is
interrupted with "Internal Stop", M02, M30 or END PGM.
The tool life counter does not run in the manual modes ("Manual Operation", "El. Handwheel" and
"Positioning with manual input").
The operator can reset the current tool life by entering zero.
When a TOOL CALL BLOCK is executed the tool geometry of the defined tool is taken from the tool
table. With Marker M2717 the PLC can activate the tool geometry of the tool defined in W264.
M2717 can only be activated together with a strobe or when the axis is stationary ( off). With this
marker the PLC can ensure that the current tool geometry is active even when the tool changing
process is interrupted.
The TOOL DEF block can be used to pre-position the tool changer. After a tool has been changed,
the next tool is programmed with TOOL DEF. The PLC evaluates the tool and pocket number and
pre-positions the tool changer at the follow-up tool.
Example of NC program:
.
.
.
TOOL CALL 1 Z S500
TOOL DEF 2
L Z+20 R0 F500 M03
.
.
.
TOOL CALL 2 Z S1000
TOOL DEF 3
.
.
.
The system can be operated with either variable or fixed tool pocket coding.
Machine parameter MP7480 defines whether the tool number or the pocket number is transferred
to the PLC. For variable pocket coding the pocket number must be transferred to the PLC (MP7480
= 3 or 4). With fixed pocket coding it is advisable to work with the tool number (MP7480 = 1 or 2).
When executing a TOOL CALL or TOOL DEF block, depending on the setting of MP7480, the NC
transfers either only the tool number or the pocket number and the tool number of the programmed
tool to the word W262 or W262 and W264 respectively. The strobe marker M2046 (TOOL CALL) or
M2047 (TOOL DEF) is set. The NC does not reset these strobe markers until the PLC sets marker
M2483 (TOOL CALL) or M2484 (TOOL DEF) after processing the tool or pocket number. The
machining program is resumed when strobe markers M2046/M2047 are reset.
If tool number 0 is executed, then NC sets marker M2400 and this is not reset until there is a TOOL
CALL for another tool.
0= No output
1= Tool number output only when tool number changes (W262)
2= Tool number output with every TOOL CALL block (W262)
3= Output of pocket number (W262) and tool number (W264) only when tool
number changes
4= Output of pocket number (W262) and tool number (W264) with every TOOL
CALL block
5= Output of pocket number (W262) and tool number (W264)only when tool
number changes. Pocket table does not change.
6= Output of pocket number (W262) and tool number (W264) with every TOOL
CALL block. Pocket table does not change.
0= No output
1= Tool number output only when tool number changes (W262)
2= Tool number output with every TOOL DEF block (W262)
3= Output of pocket number (W262) and tool number (W264) only when tool
number changes
4= Output of pocket number (W262) and tool number (W264) with every TOOL
DEF block
Word Function
If MP7261 > 0, then pocket numbers are displayed in the pocket table. Entering 5 or 6 in MP7480.0
transfers the pocket number to W262 and the tool number to W264. Unlike the setting with variable
pocket coding (MP7480 = 3 or 4) the assignment of tool and pocket numbers in the pocket table
does not change.
The number of tools with a pocket number is defined in machine parameter MP7261. The input
value for MP7261 matches the number of pockets in the tool magazine. This means that more tools
can be defined in the tool table than there is room for in the tool magazine [(MP7260) > (MP7261)]. If
a tool number is programmed and no pocket is defined for it, pocket number 255 (W262) is
transferred on TOOL CALL, and marker M2402 is set.
Only the tool number and the pocket number are transferred when TOOL DEF is programmed. A
TOOL DEF for a manual tool has no relevance in the PLC.
A fixed pocket can be defined in the field ' F' of the pocket table. Tools for which a fixed pocket is
defined are returned to the same pocket despite variable coding.
A variety of tool types can be called from the machining program. The following definitions are used
in the examples that follow:
N = Tool for which a pocket number is defined in the tool table. (Normal).
M = Tool for which no pocket number is defined in the tool table. These tools must be changed
by hand. (Manual).
S = Special tool (defined in tool table).
Nine different combinations of tool-change sequence are therefore possible. For many tool-change
sequences, for the tool magazine to be controlled, two pocket numbers (tool numbers) must be
output in succession for one TOOL CALL. This is reported to the PLC by markers M2093 and
M2600. The PLC must evaluate and acknowledge both pocket numbers (tool numbers).
The logic diagrams for the nine different tool-change sequences are shown on the following pages
(activated by TOOL CALL).
The pocket number and tool number of the called tool are transferred.
1
M2046
0
1
M2483
0
1
M2093
0
1
M2600
0
1
M2401
0
1
M2402
0
1
M2403
0
1
M2601
0
With this toolchange, two pocket numbers (or tool numbers) must be transferred in succession.
M2093 indicates that another TOOL CALL strobe (M2046) follows.
With M2600 the PLC can determine the sequence in which the pocket numbers are transferred. The
decision will depend on whether a single or double changing arm is in use.
The pocket number of the old tool and tool number 0 are transferred first. Tool number 0 tells the
PLC to clear the spindle. After acknowledging with M2483 the pocket number and tool number of
the new tool are transferred.
1
M2046
0
1
M2483
0
1
M2093
0
1
M2600
0
1
M2401
0
1
M2402
0
1
M2403
0
1
M2601
0
The pocket number and tool number of the new tool are transferred first. After acknowledging with
M2483 the pocket number of the old tool and tool number 0 are transferred. Tool number 0 tells the
PLC to clear the spindle.
1
M2046
0
1
M2483
0
1
M2093
0
1
M2600
0
1
M2401
0
1
M2402
0
1
M2403
0
1
M2601
0
With this tool-change sequence two pocket numbers (or tool numbers) must be transferred in
succession. M2093 indicates that another TOOL CALL strobe (M2046) follows.
Irrespective of flag M2600, pocket number 255 and tool number 0 are transferred first. Tool number
0 tells the PLC to clear the spindle. Pocket number 255 means that there is no pocket in the tool
magazine for the called tool. After acknowledging with M2483, the pocket number and tool number
of the new tool (called tool) are transferred.
1
M2046
0
1
M2483
0
1
M2093
0
1
M2600
0
1
M2401
0
1
M2402
0
1
M2403
0
1
M2601
0
The pocket number 255 tells the PLC that there is no pocket in the tool magazine for the called tool.
1
M2046
0
1
M2483
0
1
M2093
0
1
M2600
0
1
M2401
0
1
M2402
0
1
M2403
0
1
M2601
0
With this tool-change sequence two pocket numbers (or tool numbers) must be transferred in
succession. M2093 indicates that another TOOL CALL strobe (M2046) follows.
Irrespective of flag M2600, the pocket number of the old tool and tool number 0 are transferred first.
Tool number 0 tells the PLC to clear the spindle. After acknowledging with M2483, pocket number
255 and the tool number of the called tool are transferred. Pocket number 255 tells the PLC that
there is no pocket in the tool magazine for the called tool.
1
M2046
0
1
M2483
0
1
M2093
0
1
M2600
0
1
M2401
0
1
M2402
0
1
M2403
0
1
M2601
0
With this tool-change sequence two pocket numbers (or tool numbers) must be transferred in
succession. M2093 indicates that another TOOL CALL strobe (M2046) follows.
Irrespective of flag M2600, the pocket number of the old tool and tool number 0 are transferred first.
Tool number 0 tells the PLC to clear the spindle. After acknowledging with M2483, pocket number
255 and the tool number of the called tool are transferred. Pocket number 255 tells the PLC that
there is no pocket in the tool magazine for the called tool.
1
M2046
0
1
M2483
0
1
M2093
0
1
M2600
0
1
M2401
0
1
M2402
0
1
M2403
0
1
M2601
0
Flag 2601 or field "F" in the pocket table can be used to set whether the special tool is to be returned
to its original pocket despite variable pocket coding
The same logic diagram applies to single and double changing arms (M2600 = 0 and 1) with variable
pocket coding for special tools (M2601 = 0).
1
M2046
0
1
M2483
0
1
M2093
0
1
M2600
0
1
M2401
0
1
M2402
0
1
M2403
0
1
M2601
0
If the special tool is to return to its original pocket despite variable pocket coding (M2601 = 1), there
is a different pocket number transfer sequence for single and double changing arms (M2600).
The pocket number of the old tool and tool number 0 are transferred first. Tool number 0 tells the
PLC to clear the spindle. After acknowledging with M2483, the pocket number and tool number of
the new tool are transferred.
1
M2046
0
1
M2483
0
1
M2093
0
1
M2600
0
1
M2401
0
1
M2402
0
1
M2403
0
1
M2601
0
The pocket number and tool number of the new tool are transferred first. After acknowledging with
M2483, the pocket number of the old tool and tool number 0 are transferred. Tool number 0 tells the
PLC to clear the spindle.
1
M2046
0
1
M2483
0
1
M2093
0
1
M2600
0
1
M2401
0
1
M2402
0
1
M2403
0
1
M2601
0
With this tool-change sequence two pocket numbers (or tool numbers) must be transferred in
succession. M2093 indicates that another TOOL CALL strobe (M2046) follows.
There is a different pocket number transfer sequence depending on M2600 (single/double changing
arm). M2601 is not relevant.
The pocket number of the old tool and tool number 0 are transferred first. Tool number 0 tells the
PLC to clear the spindle. After acknowledging with M2483, the pocket number and tool number of
the new tool are transferred
1
M2046
0
1
M2483
0
1
M2093
0
1
M2600
0
1
M2401
0
1
M2402
0
1
M2403
0
1
M2601
0
The pocket number and tool number of the new tool are transferred first. After acknowledging with
M2483, the pocket number of the old tool and tool number 0 are transferred. Tool number 0 tells the
PLC to clear the spindle.
1
M2046
0
1
M2483
0
1
M2093
0
1
M2600
0
1
M2401
0
1
M2402
0
1
M2403
0
1
M2601
0
With this tool-change sequence two pocket numbers (or tool numbers) must be transferred in
succession. M2093 indicates that another TOOL CALL strobe (M2046) follows.
Irrespective of flag M2600 and M2601, pocket number 255 and tool number 0 are transferred first.
Tool number 0 tells the PLC to clear the spindle. Pocket number 255 means that there is no pocket
in the tool magazine for the called tool. After acknowledging with M2483, the pocket number and
tool number of the new tool (called tool) are transferred.
1
M2046
0
1
M2483
0
1
M2093
0
1
M2600
0
1
M2401
0
1
M2402
0
1
M2403
0
1
M2601
0
SPIREG
The following sequence diagram uses variables for greater clarity. In the PLC program these
variables are replaced by byte addresses.
ISTREG = B10 = Pocket number at the tool-change position of the tool magazine
GRE1 = B11 = Pocket number of tool in changing arm facing tool magazine
GRE2 = B12 = Pocket number of tool in changing arm facing spindle
SPIREG = B13 = Pocket number of tool in spindle
The sequence diagram for this tool changer is subdivided into modules.
Feedback is
TOOL DEF immediate so
feedback that the NC PGM
can continue
No Message:
P < 255 CANNOT
Manual tool PREPARE
MANUAL
Yes TOOL
No
P = SPIREG Tool already in spindle
Yes
No
P = GRE1 Tool already in GRE1
Yes
Load GRE1
No
GRE1 = 0 STANDBY Module
GRE1 empty
Yes
GRE1 assigned
STANDBY BACK
End
Module
No Tool already
P = SPIREG
in spindle
Yes
No
P = GRE1
Tool already in changing arm
Yes
Yes
COMPARE
P-CODE Load ISTREG Load tool from
WITH ISTREG to GRE1 magazine to GRE1
Module
End
Yes
End
The old tool is returned to the tool magazine and the operator is prompted to load a manual tool (not
in tool magazine).
Move GRE2 to
No spindle and
GRE1 = 0 load SPIREG Old tool out
to GRE2
Yes
Move axes to
TOOL CALL man. change
feedback
position
Prompt user to
load tool and press
No OK key
M2046 = 1
Yes
Strobe set
again OK key No
pressed
Yes
The operator is prompted to unload the spindle manually as there is no pocket for the current tool in
the magazine. The called tool is loaded automatically.
No GRE1
Prompt user to GRE1 = 0 empty
unload tool and
press OK key Yes
Unload GRE1
STANDBY BACK
Module
No
OK key
pressed
Yes STANDBY
Fetch tool to
Module
GRE1
Load zero in
SPIREG
(spindle empty) CHANGE
Module
TOOL CALL
feedback
End
No
M2046 = 1
Yes
TOOL CALL
strobe set again
Move axis to
manual change
position
Prompt user to
unload old and
load new tool
Press OK key
No OK key
pressed
Yes
Load T code to
SPIREG
End
Move GRE2 to
spindle, load Old tool out
SPIREG to
GRE2
Turn changing
arm, load
SPIREG with Turn changing arm
GRE1, set and load new tool
GRE1 to zero,
retract arm
Wait No
M2046 = 1
Yes
TOOL CALL
strobe set
again
No
P = ISTREG
Magazine in position
Yes
COMPARE
P-CODE WITH Position tool magazine
ISTREG
Module
Transfer
P code
to data stack
COMPUTE THE
SHORTEST
PATH IN
M3042
Module
No
P = ISTREG End
Yes
No
M3042 = 1
Yes
Transfer GRE1
to data stack
COMPUTE THE
SHORTEST
PATH IN
M3042
Module
GRE1 = No
ISTREG End
Yes
No
M3042 = 1
Yes
Fetch search
pocket from data
stack to NOMREG
Divide number of
mag. pockets by
two and save to
MAGREG
Save absolute
value from
ISTREG-NOMREG
difference to
ABSREG
No
NOMREG >
ISTREG
Yes
No No
ABSREG < NOMREG <
MAGREG ISTREG
Yes Yes
ABSREG > No
MAGREG
Yes
Magazine Magazine
M3042 = 1 forward M3042 = 0 reverse
End
4-258 TNC 407/TNC 415/TNC 425 16 Commissioning and start-up procedure 01.98
Tuning of the drive amplifier:
As far as the control is concerned, the actual servo-loop consists of the drive amplifier, motor
and axis slide (see section "Servo positioning"). The servo-loop must be tuned before the position
control loop in the control can be optimized.
To achieve this, a battery supply is used to apply a (9 V) step function to the nominal value input
of the drive amplifier. The step response can be recorded by an oscilloscope via the tachometer
signal. The axis should be loaded with the permissible workpiece weight during the acquisition of
the step response. The subordinate control loop (current control, spindle speed control) must be
so optimized that the step response shows an overshoot. The following picture shows the ideal
response of the tacho-signal.
Given step
U [V] function 1 Overshoot
Umax
Tacho-signal
T t [ms]
Incorrect!
t [ms]
The P-component of the subordinate control loop is too high, or the I-component too low.
U [V]
Umax
Too flat
Incorrect!
t [ms]
The P-component of the subordinate control loop is too low, or the I-component too high..
01.98 TNC 407/TNC 415/TNC 425 16 Commissioning and start-up procedure 4-259
Calculating acceleration
The maximum acceleration time T can be deduced from the step response.
U [V]
Umax
T t [ms]
vmax
a= vmax = velocity at Umax
T 11
.
a = acceleration
After adjustment, switch off the supply voltage to the drive amplifiers.
4-260 TNC 407/TNC 415/TNC 425 16 Commissioning and start-up procedure 01.98
01.98 TNC 407/TNC 415/TNC 425 16 Commissioning and start-up procedure 4-261
16.3 Commissioning the control
The machine must be prepared in accordance with section 16.2 before the machine parameters for
commissioning can be optimized.
Before connecting the control, the NC- and PLC- supply voltages and the ground connections should
be tested once more (see "Mounting and Electrical Installation ").
Most machine parameters can be pre-defined and entered according to the machine parameter list
and the functional descriptions. The parameters which affect the control loop must be assigned
provisional values (see section 16.3.6).
In order to avoid lengthy delays on restarting during the commissioning of the control, the memory
test can be suppressed by MP7690 (see section "Display and operation").
Machine parameter MP4010 (see section "Display and operation") selects whether the processing
uses a PLC-program from EPROM or from RAM.
The PLC-program in RAM is used for commissioning purposes. It only makes sense to create an
EPROM when all functions are operating without error.
In case of doubt, please contact HEIDENHAIN customer service.
Test the Function "Control operational" according to the section "EMERGENCY STOP routine".
Test the EMERGENCY STOP-circuit by pressing the EMERGENCY STOP keys and by traversing
past the EMERGENCY STOP limit switches.
4-262 TNC 407/TNC 415/TNC 425 16 Commissioning and start-up procedure 01.98
16.3.4 Testing the direction of traverse
Test the controls for the direction of traverse according to the following diagram (effective machine
parameters: MP210 count direction of the measuring system signals, MP1040 polarity of the
nominal value voltage, MP1320 direction of traverse on passing over the reference marks).
START
Was
"gross positioning
error"
YES or
direction of traverse
wrong or direction
Modify traverse wrong when
MP210 approaching
MP1040 ref. marks
MP1320 ?
NO
Is Is
direction of direction of
NO traverse correct? traverse of axes NO
(determined correct? (determined
by MP1320) by MP1040 and
MP210)
YES
01.98 TNC 407/TNC 415/TNC 425 16 Commissioning and start-up procedure 4-263
16.3.5 Fixing the software limit switch ranges
Determine the software limit switch ranges (see section "Machine axes") as follows:
Position-displays show the distance to the
machine datum .
Move all axes with the aid of the direction keys or
the handwheel in positive and negative direction to
just before the EMERGENCY STOP limit switches. Note the
values in the positional-displays and their sign.
Enter the noted values in MP910 or MP920.
Select actual-value display with MOD key.
4-264 TNC 407/TNC 415/TNC 425 16 Commissioning and start-up procedure 01.98
kv factor
Adjust the kv factor (MP1810) so that the voltage characteristic is as described in the section "Servo
positioning". If a different kv-factor is required for rapid traverse to that for the machining feed-rate, it
must be optimized separately.
t [s]
Machining feed-rate
U [V]
t [s]
01.98 TNC 407/TNC 415/TNC 425 16 Commissioning and start-up procedure 4-265
Kink point
U [V]
t [s]
YES NO
1)
Program the traverse paths for the axis concerned as large as possible.
4-266 TNC 407/TNC 415/TNC 425 16 Commissioning and start-up procedure 01.98
01.98 TNC 407/TNC 415/TNC 425 16 Commissioning and start-up procedure 4-267
16.3.7 Optimizing the control with feedforward control (MP1390 = 0)
The following provisional values can be entered for the machine parameters which determine the
control characteristics:
Optimize kv factor
t [ms]
U [V]
t [ms]
1)
Program the traverse paths for the axis concerned as large as possible.
4-268 TNC 407/TNC 415/TNC 425 16 Commissioning and start-up procedure 01.98
Optimize acceleration
If the maximum acceleration of the servo loop cannot be determined with the battery supply, the
acceleration can be optimized as follows:
Increase MP1060
"Acceleration"
progressively
Does control
stop machine No
with error message
POSITIONING
ERROR"?
Yes
Enter acceleration from MP1060.0
in MP 1060.1 to 1060.4. Traverse
axes Y, Z, IV and V with the
acceleration value found. Reduce
values as required.
1)
Program the traverse paths for the axis concerned as large as possible.
01.98 TNC 407/TNC 415/TNC 425 16 Commissioning and start-up procedure 4-269
Optimize transient response
MP1520 defines the transient response when accelerating and braking. The approach behaviour is
optimized to the target position.
Tacho U [V]
voltage
MP1530 correct
MP1530 too high
MP1530 too low
t [ms]
Since MP1520 is effective for all axes, the worst axis determines the entry value. No axis should
show an overshoot.
If MP1520 is set too low then the positioning times to the target position will increase substantially.
Optimize MP1520 with great care!
4-270 TNC 407/TNC 415/TNC 425 16 Commissioning and start-up procedure 01.98
Connect storage oscilloscope to
tachometer of servo-amplifier of X axis.
t [ms]
t [ms]
1)
Program the traverse paths for the axis concerned as large as possible.
7/95 TNC 407/TNC 415/TNC 425 16 Commissioning and start-up procedure 4-271
16.3.8 Optimize the integral factor
MP7290: "4" (display step = 1 m)
Machine stands in position, under servo control.
MP1080 integral factor (for X-axis):
raise entry value 1) , until the
Servo positioning becomes noticeably unstable
(observe the actual value display).
MP1080: reduce the entry value in small steps
until the servo positioning is steady again 2).
Repeat adjustment for Y axis, Z, IV and V.
Whether or not an integral factor is possible in connection with the automatic offset adjustment with
MP 1220 can only be judged when observing the complete machine.
The optimum solution must be found during the commissioning procedure.
4-272 TNC 407/TNC 415/TNC 425 16 Commissioning and start-up procedure 01.98
16.3.9 Adjust the offset
The rough offset-adjustment has already been carried out on the servo-amplifier. A fine offset-
adjustment can be performed with the offset-adjustment possibility described in the section "Servo
positioning".
If the drives of the machine permit narrower limits, these may be entered.
01.98 TNC 407/TNC 415/TNC 425 16 Commissioning and start-up procedure 4-273
4
17 Special functions for laser cutting machines
Special functions can be activated to interface the TNC to laser cutting machines and water jet
machines.
If the analogue output (X8, pin 8) is not needed for the spindle, MP3011 can define another function
for this analogue output. The input values in MP3011 show an effect only if the value in MP3010 is
less than 3.
0 = No special function
1 = Voltage proportional to current contour feed rate (depending on MP3012)
2 = Voltage as defined by PLC module 9130
3 = Voltage is defined via M function (M200 to M204)
A voltage proportional to the current contour feed rate is output. The feed rate achieved when 10 V is
output is entered in MP3012.
The voltage defined through the PLC module 9130 is output. See also chapter "PLC Programming".
The analogue voltage output can be defined in the positioning block with the miscellaneous functions
M200 to M204. These M functions are available only if the value 3 is entered in MP3011. The M
functions are executed synchronously to the positioning blocks and are effective at the beginning of
the block.
01.98 TNC 407/TNC 415/TNC 425 17 Special functions for laser cutting machines 4-275
Direct output of the programmed voltage: M200 V...
The TNC outputs the value programmed behind M200 V... as a voltage.
Entry: 0 to 9.999 [V]
Duration: M200 V... is effective until a new voltage is output through M200 to M204.
The TNC outputs the voltage as a function of the traversed distance. The TNC increases or decreases
the voltage linearly from the active voltage to the value programmed behind M201 V...
Entry: 0 to 9.999 [V]
Duration: M201 V... is effective unit a new voltage is output through M200 to M204.
The TNC outputs the voltage as a function of the velocity. With machine parameters MP3013.x and
MP3014.x up to 3 characteristic curves are defined in a table. In the table certain analogue voltages
are assigned to certain feed rates. M202 FNR. selects the characteristic curve in which the TNC finds
the voltage to be output.
Entry: 1 to 3
Duration: M202 FNR. is effective until a new voltage is output through M200 to M204.
You can enter in the table up to four kink points per characteristic curve. The output values are
interpolated linearly between the kink points. The first kink point must have the value 0. The entry
values of the following kink points must increase in sequence. The TNC recognizes the beginning of a
new characteristic curve from the entry value 0.
Example:
Velocity Voltage
MP3013.0 0 MP3014.0 0 Characteristic 1
MP3013.1 25 MP3014.1 0 "
MP3013.2 500 MP3014.2 4.5 "
MP3013.3 1000 MP3014.3 9.999 "
MP3013.4 0 MP3014.4 0 Characteristic 2
MP3013.5 10 000 MP3014.5 9.999 "
MP3013.6 0 MP3014.6 9 Characteristic 3
MP3013.7 50 MP3014.7 0.5 "
MP3013.8 300 MP3014.8 1.5 "
MP3013.9 5000 MP3014.9 9.999 "
MP3013.10 0 MP3014.10 0 Not used
MP3013.11 0 MP3014.11 0 here
4-276 TNC 407/TNC 415/TNC 425 17 Special functions for laser cutting machines 01.98
MP3013.0 to Characteristic kink points for analogue voltage output with M202
MP3013.11
Entry: 10 to 300 000 [mm/min]
MP3014.0 to Characteristic kink points for analogue voltage output with M202
MP3014.11
Entry: 0.000 to 9.999 [V]
Voltage varies with the time (time-voltage ramp): M203 V... TIME...
The TNC outputs the voltage as a function of the time. It increases or decreases the voltage linearly in
the time programmed behind TIME from the current voltage to the voltage value programmed behind
V...
Entry: Voltage V: 0 to 9.999 [V]
TIME: 0 to 1.999 [sec]
Duration: M203 V... TIME... is effective until a new voltage is output through M200 to M204.
The TNC outputs the voltage programmed behind V... as a pulse. The duration of the pulse is entered
with TIME....
Entry: Voltage V: 0 to 9.999 [V]
TIME: 0 to 1.999 [sec]
Duration: M204 V... TIME... is effective until a new voltage is output through M200 to M204.
01.98 TNC 407/TNC 415/TNC 425 17 Special functions for laser cutting machines 4-277
17.2 Graphic simulation without TOOL CALL
Graphic simulation is also available on machines that operate without tool definition (e.g. water jet and
laser cutters).
The tool radius for graphic simulation is defined in machine parameter MP7315. MP7316 defines the
depth of penetration of the simulated tool. The program sections to be displayed are marked with M
functions that are defined in machine parameters MP7317.0 and MP7317.1.
This can be a disadvantage in certain applications, such as with laser cutting machines. For such
applications it is more desirable not to wait for the acknowledgement of the M function, but rather to
run the program continuously. This function can be selected through machine parameter MP7440, Bit
2. There must be no PLC positioning, datum shift, spindle orientation or limit switch during M function
output.
4-278 TNC 407/TNC 415/TNC 425 17 Special functions for laser cutting machines 01.98
5
Machine parameters Contents
1 What is a machine parameter? 5-2
1.1 User parameters 5-2
The machine tool builder provides these data in so-called machine parameters. In addition, machine
parameters can be used to activated certain functions, which are possible with HEIDENHAIN
contouring controls, but are required only on certain types of machines (e.g. automatic tool
changing).
The list of machine parameters is not numbered in sequence but is split into groups according to
function.
If there is more than one input value for a single function (e.g., a separate input for each axis), the
parameter number is provided with indices.
Example:
The indices are assigned to the corresponding axes according to a fixed pattern. For example, if an
entry is possible only in axes 4 and 5, then only the indices 3 and 4 will appear.
You can add a written comment to your entry by placing a semicolon ";" behind the numerical entry,
followed by your comment.
The input values can be entered in decimal, binary (%) or hexadecimal ($) format.
There are machine parameters with which individual functions are activated bit-coded. Binary entry
(%) is recommended for these machine parameters. The hexadecimal format ($) may be advisable
for other machine parameters.
Example:
The datum tables, pallet tables and text files are to be disabled.
With software types 243 05, 259 96, 243 07 and 243 02 only the decimal format is possible for the
machine parameters. The corresponding decimal input value must be computed for bit-coded
entries. You will find a "Power of 2" table in the chapter entitled "Appendix".
0 No MP number found
1 Invalid MP number
2 No separator ";" found
3 Entry value incorrect
4 MP doubly defined
5 MP not defined
6 MP can not be stored
If the control does not recognise any errors, it automatically exits the machine parameter editor and
is ready for operation.
If during commissioning no entries are made in the parameter list (MP NAME), the TNC will
generate a standard machine parameter list when the END key is pressed. In this list the TNC is
defined as a programming station with the HEIDENHAIN standard colours. All other machine
parameters assume the minimum value.
It is also possible to keep several machine parameter lists and load the desired list into the TNC
when needed. The desired list can be selected in the machine parameter editor by pressing the
PGM NAME key and the SELECT soft key. The parameter list which is active when you exit the
machine parameter editor goes into effect.
Enter the code number 95 148 to access the complete list of machine parameters.
Entering the code number 123 opens a partial list of machine parameters. These are the machine
parameters that may be changed by the control user (see User's Manual for TNC 407/TNC 415).
The machine parameters which can be changed with the code number 123 are marked in the
following list with CN 123.
The machine parameters which can by changed through the PLC are marked in the following list
with PLC EDIT or PLC RUN. PLC EDIT means that the machine parameters can only be changed if
no program is being executed on the machine. PLC RUN means that the machine parameter can be
changed even while a program is being executed.
MP32 Checking the edge separation of the measuring PLC RUN 4-10
system signals
Entry: %xxxxx
MP110.0 X axis
MP110.1 Y axis
MP110.2 Z axis
MP110.3 4th axis
MP110.4 5th axis
0 = output 1
1 = output 2
2 = output 3
3 = output 4
4 = output 5
5 = output S
MP120.0 X axis
MP120.1 Y axis
MP120.2 Z axis
MP120.3 4th axis
MP120.4 5th axis
MP340.0 X axis
MP340.1 Y axis
MP340.2 Z axis
MP340.3 4th axis
MP340.4 5th axis
0 = No Hirth coupling
1 = Hirth coupling active
MP710.0 X axis
MP710.1 Y axis
MP710.2 Z axis
MP710.3 4th axis
MP710.4 5th axis
MP711.0 X axis
MP711.1 Y axis
MP711.2 Z axis
MP711.3 4th axis
MP711.4 5th axis
MP712.0 X axis
MP712.1 Y axis
MP712.2 Z axis
MP712.3 4th axis
MP712.4 5th axis
MP715 Compensation for reversal spikes in circular PLC RUN 4-25
interpolation (M105)
Entry: 1.0000 to +1.0000 [mm]
MP715.0 X axis
MP715.1 Y axis
MP715.2 Z axis
MP715.3 4th axis
MP715.4 5th axis
MP716 Compensation per control loop cycle time (M105) PLC RUN 4-25
Entry: 0.000000 to 99.999999 [mm]
MP716.0 X axis
MP716.1 Y axis
MP716.2 Z axis
MP716.3 4th axis
MP716.4 5th axis
MP720 Linear axis-error compensation PLC EDIT 4-26
Entry: 1.0000 to +1.0000 [mm/m]
MP720.0 X axis
MP720.1 Y axis
MP720.2 Z axis
MP720.3 4th axis
MP720.4 5th axis
MP730 Selection of linear or non-linear axis error PLC EDIT 4-26
compensation 4-31
Entry: %xxxxx
MP810.0 X axis
MP810.1 Y axis
MP810.2 Z axis
MP810.3 4th axis
MP810.4 5th axis
MP850 Synchronized axes PLC EDIT 4-49
Entry: 0 to 5
0 = Main axis
1 = Axis tracked to X axis
2 = Axis tracked to Y axis
3 = Axis tracked to Z axis
4 = Axis tracked to 4th axis
5 = Axis tracked to 5th axis
MP850.0 X axis
MP850.1 Y axis
MP850.2 Z axis
MP850.3 4th axis
MP850.4 5th axis
MP855 Synchronization monitoring PLC EDIT 4-50
Entry: 0 to 100.0000 [mm]
0 = Monitoring inactive
MP855.0 X axis
MP855.1 Y axis
MP855.2 Z axis
MP855.3 4th axis
MP855.4 5th axis
MP860 Datum for synchronization control PLC EDIT 4-50
Entry: 0 or 1
0 = Datum at position upon switch-on
1 = Datum at reference marks (machine datum)
MP860.0 X axis
MP860.1 Y axis
MP860.2 Z axis
MP860.3 4th axis
MP860.4 5th axis
MP950.0 X axis
MP950.1 Y axis
MP950.2 Z axis
MP950.3 4th axis
MP950.4 5th axis
MP951 Simulated toolchange position for TOOL CALL with PLC RUN 4-149
block scan:
99 999.9999 to +99 999.9999 [mm] or []
Values referenced to machine datum
MP951.0 X axis
MP951.1 Y axis
MP951.2 Z axis
MP951.3 4th axis
MP951.4 5th axis
MP960.0 X axis
MP960.1 Y axis
MP960.2 Z axis
MP960.3 4th axis
MP960.4 5th axis
3.2 Positioning
Machine Function and input Change Reaction Page
parameter via
MP1010 Rapid traverse PLC EDIT 4-70
Entry: 10 to 300 000 [mm/min]
MP1010.0 X axis
MP1010.1 Y axis
MP1010.2 Z axis
MP1010.3 4th axis
MP1010.4 5th axis
MP1020.0 X axis
MP1020.1 Y axis
MP1020.2 Z axis
MP1020.3 4th axis
MP1020.4 5th axis
MP1030.0 X axis
MP1030.1 Y axis
MP1030.2 Z axis
MP1030.3 4th axis
MP1030.4 5th axis
MP1050.0 X axis
MP1050.1 Y axis
MP1050.2 Z axis
MP1050.3 4th axis
MP1050.4 5th axis
MP1060.0 X axis
MP1060.1 Y axis
MP1060.2 Z axis
MP1060.3 4th axis
MP1060.4 5th axis
MP1110.0 X axis
MP1110.1 Y axis
MP1110.2 Z axis
MP1110.3 4th axis
MP1110.4 5th axis
MP1140 Movement monitoring PLC RUN 4-86
Entry: 0.030 to 10.000 [V]
MP1140.0 X axis
MP1140.1 Y axis
MP1140.2 Z axis
MP1140.3 4th axis
MP1140.4 5th axis
MP1150 Delay time before switching off the residual PLC RUN 4-85
voltage on error message "Position error"
Entry: 0 to 65 535 [s]
MP1220 Automatic cyclical offset adjustment PLC RUN 4-77
Entry: 0 to 65 536 [s]
0 = no automatic adjustment
MP1320 Direction for traversing the reference marks PLC EDIT 4-62
Entry: %xxxxx
MP1330.0 X axis
MP1330.1 Y axis
MP1330.2 Z axis
MP1330.3 4th axis
MP1330.4 5th axis
MP1513.0 X axis
MP1513.1 Y axis
MP1513.2 Z axis
MP1513.3 4th axis
MP1513.4 5th axis
MP1515 kv factor for feed precontrol activated (M105) PLC RUN 4-76
m/min
Entry: 0.100 to 20.000 [ ]
mm
MP1510.0 X axis
MP1510.1 Y axis
MP1510.2 Z axis
MP1510.3 4th axis
MP1510.4 5th axis
MP1520 Transient response PLC EDIT 4-76
Entry: 0.100 to 10.000
MP1525 Maximum velocity for checking the positioning PLC EDIT 4-87
window
Entry: 0.100 to 10.000 [mm/min]
Recommended value: 0.5 [mm/min]
MP1710.0 X axis
MP1710.1 Y axis
MP1710.2 Z axis
MP1710.3 4th axis
MP1710.4 5th axis
MP1720.0 X axis
MP1720.1 Y axis
MP1720.2 Z axis
MP1720.3 4th axis
MP1720.4 5th axis
MP1810.0 X axis
MP1810.1 Y axis
MP1810.2 Z axis
MP1810.3 4th axis
MP1810.4 5th axis
MP1815 kv factor for operation with lag activated by M105 PLC EDIT 4-70
m/min
Entry: 0.100 to 20.000 [ ]
mm
MP1815.0 X axis
MP1815.1 Y axis
MP1815.2 Z axis
MP1815.3 4th axis
MP1815.4 5th axis
MP1820.0 X axis
MP1820.1 Y axis
MP1820.2 Z axis
MP1820.3 4th axis
MP1820.4 5th axis
MP1830.0 X axis
MP1830.1 Y axis
MP1830.2 Z axis
MP1830.3 4th axis
MP1830.4 5th axis
MP1910.0 X axis
MP1910.1 Y axis
MP1910.2 Z axis
MP1910.3 4th axis
MP1910.4 5th axis
MP1920.0 X axis
MP1920.1 Y axis
MP1920.2 Z axis
MP1920.3 4th axis
MP1920.4 5th axis
MP1940.0 X axis
MP1940.1 Y axis
MP1940.2 Z axis
MP1940.3 4th axis
MP1940.4 5th axis
MP1945.0 X axis
MP1945.1 Y axis
MP1945.2 Z axis
MP1945.3 4th axis
MP1945.4 5th axis
MP1955.0 X axis
MP1955.1 Y axis
MP1955.2 Z axis
MP1955.3 4th axis
MP1955.4 5th axis
MP1960.0 X axis
MP1960.1 Y axis
MP1960.2 Z axis
MP1960.3 4th axis
MP1960.4 5th axis
MP1970.0 X axis
MP1970.1 Y axis
MP1970.2 Z axis
MP1970.3 4th axis
MP1970.4 5th axis
0 = No spindle-speed output
1 = BCD-coded output of the spindle speed,
only if the spindle speed changes
2 = BCD-coded output of the spindle-speed
at every TOOL CALL
3 = Analogue output of the spindle speed, but
gear-change signal only if the gear range
changes
4 = Analogue output of the spindle speed and
gear-change signal at every TOOL CALL
5 = Analogue output of the spindle speed and
no gear-change signal
6 = As for entry value 3, but with controlled
spindle for orientation
7 = As for entry value 4, but with controlled
spindle for orientation
8 = As for entry value 5, but with controlled
spindle for orientation
0 = No special function
1 = Voltage proportional to current contour feed
rate (dependent on MP3012)
2 = Voltage as defined by PLC module 9130
3 = Voltage as defined via M function (M200 to
M204)
MP3140 Count direction of the measuring system signals PLC RUN 4-96
for the spindle
Entry: 0 or 1
0 = positive count direction with M03
1 = negative count direction with M03
MP3210.0-7 S-analogue voltage for gear range PLC RUN 4-97
Entry: 0 to 9.999 [V]
MP3240.1 Minimum S-analogue voltage output PLC RUN 4-97
Entry: 0 to 9.999 [V]
MP3240.2 Jog-voltage for gear change PLC RUN 4-101
Entry: 0 to 9.999 [V]
MP3310.0 Limit with S-override (maximum) PLC RUN 4-99
Entry: 0 to 150 [%]
MP3310.1 Limit with S-override (minimum) PLC RUN 4-99
Entry: 0 to 150 [%]
MP3410.0 Spindle ramp gradient for M03, M04, M05 PLC RUN 4-97
Entry: 0 to 1.9999 [V/ms]
MP3410.1 Spindle ramp gradient for spindle orientation PLC RUN 4-106
Entry: 0 to 1.9999 [V/ms]
MP3410.2 Spindle ramp gradient for tapping PLC RUN 4-114
Entry: 0 to 1.9999 [V/ms]
MP3410.3 Spindle ramp gradient for rigid tapping PLC RUN 4-118
Entry: 0 to 1.9999 [V/ms]
MP3430 Reference mark deviation from the desired PLC RUN 4-108
position (Spindle-pre-set)
Entry: 0 to 360 []
MP3440.0-7 kv factor for spindle-orientation PLC RUN 4-108
1000/min
Entry: 0.1 to 10 [ ]
MP3510.0-7 Spindle speed for each gear range PLC EDIT 4-97
Entry: 0 to 99 999.999 [rpm]
MP3515.0-7 Maximum spindle speed in each gear range PLC EDIT 4-97
Entry: 0 to 99 999.999 [rpm]
MP3520.0 Spindle-speed activated by marker M2501 PLC RUN 4-108
Entry: 0 to 99 999.999 [rpm]
MP3520.1 Spindle-speed for spindle-orientation PLC RUN 4-106
Entry: 0 to 99 999.999 [rpm]
0 = EPROM-operation
1 = RAM-operation
MP4060.0-4 Path dependent lubrication PLC RUN 4-19
Entry: 0 to 65 535
[units of 65 536 m]
MP 4070 Compensation value per PLC cycle for axis error 4-32
compensation with lag tracking
Entry: 0.0001 to 0.005 [mm]
MP4110.0 Value for Timer T0 to T47 PLC RUN 7-25
to Entry: 0 to 65 535 [PLC-cycles]
MP4110.47 (TNC 415: 20 ms; TNC 407: 24 ms)
MP4120.0 Pre-set value for counters C0 to C31 PLC RUN 7-26
to Entry: 0 to 65 535 [PLC cycles]
MP4120. 31
MP4130 Fast PLC input to suppress the monitoring PLC EDIT 4-83
functions
Entry: 0 to 255 [No. of the PLC input]
MP4131 Activation condition for fast PLC input from PLC EDIT 4-83
MP4130
Entry: 0 or 1
MP4210.0 Set a number in the PLC (D768 to D956) PLC EDIT 7-21
to Entry: 99 999.9999 to +99 999.9999 [mm] or []
MP4210.47
MP4220.0-4 Machine parameter with multiple function PLC EDIT
Entry: 10 to 30 000
Feed rate for returning to the contour 4-148
To set a number in the PLC in the word range
W960 to W968 7-23
MP4230.0 Set a number in the PLC (Module 9032) 7-23
to Entry: 99 999.9999 to +99 999.9999
MP4230.31
MP4231.0 Set a number in the PLC (Module 9032) 7-23
to Entry: 99 999.9999 to +99 999.9999
MP4231.31
MP4310.0-6 Set a number in the PLC ( W976 to W988) PLC EDIT 7-22
Entry: 0 to 65 535 7-178
MP4410 Activation of analogue inputs PLC RUN 4-206
Entry: %xx
0 = Not inhibited
1 = RS-232-C/V.24 inhibited
2 = RS-422/V.11 inhibited
MP5020.0 Operating mode EXT 1 PLC RUN 8-24
MP5020.1 Operating mode EXT 2 CN 123
MP5020.2 Operating mode EXT 3 (PLC)
Entry: %xxxxxxx
Bit 6 Bit 7
1 1/2 Stop-Bits Bit 0 Bit 0
2 Stop-Bits Bit 1 Bit 0
1 Stop-Bit Bit 0 Bit 1
1 Stop-Bit Bit 1 Bit 1
MP6580.0 Axis X
MP6580.1 Axis Y
MP6580.2 Axis Z
3.10 Tapping
0 = Not disabled
1 = Disabled
Bit 0 HEIDENHAIN programs
Bit 1 DIN/ISO programs
Bit 2 Tool tables
Bit 3 Datum tables
Bit 4 Pallet tables
Bit 5 Text files
Bit 6 Help files
Bit 7 Point tables
0 = Not protected
1 = Protected
Bit 0 HEIDENHAIN programs
Bit 1 DIN/ISO programs
Bit 2 Tool tables
Bit 3 Datum tables
Bit 4 Pallet tables
Bit 5 Text files
Bit 6 Help files
Bit 7 Point tables
0 = Inhibited
1 = Not inhibited
MP7270 Display of the feed rates in manual operating PLC RUN 4-138
modes (Manual operation, Electronic handwheel) CN 123
Entry: 0 or 1
MP7290.0 = X axis
MP 7290.1 = Y axis
MP 7290.2 = Z axis
MP 7290.3 = 4th axis
MP 7290.4 = 5th axis
Bit 0 Changeover of
3-plane display
0 = European preferred
1 = American preferred
Bit 1 Rotation of the coordinate system
in the machining plane + 90
0 = no rotation
1 = coordinate system rotated by +90
Bit 2 BLK form after datum shift
0 = BLK form will not shift
1 = BLK form will shift
Bit 3 Show cursor position in 3-plane display
0 = not shown
1 = cursor position shown
MP7315 Tool radius for graphic simulation without PLC RUN 4-272
TOOL CALL CN 123
Entry: 0.0000 to 99 999.9999 [mm]
MP7420 Cycles for milling pockets with free-programmed PLC RUN 4-147
contours CN 123
Entry: %xxxx
MP7480.0 Output of tool number or pocket number with PLC RUN 4-229
TOOL CALL block
Entry: 0 to 6
0 = No output
1 = Output of tool number only when tool number
changes (W262)
2 = Output of tool number with every TOOL
CALL block (W262)
3 = Output of pocket number (W262) and tool
number (W264) only when tool number
changes
4 = Output of pocket number (W262) and tool
number (W264) with every TOOL CALL block
5 = Output of pocket number (W262) and tool
number (W264) only when tool number
changes. Pocket table does not change.
6 = Output of pocket number (W262) and tool
number (W264) with every TOOL CALL
block. Pocket table does not change.
0 = No output
1 = Output of tool number only when tool number
changes (W262)
2 = Output of tool number with every TOOL DEF
block (W262)
3 = Output of pocket number (W262) and tool
number (W264) only when tool number
changes
4 = Output of pocket number (W262) and tool
number (W264) with every TOOL DEF block
0 = inactive
1 = active
Bit 0 X axis
Bit 1 Y axis
Bit 2 Z axis
Bit 3 A axis
Bit 4 B axis
Bit 5 C axis
3.13 Hardware
Machine Function and input Change Reaction Page
parameter via
MP7620 Feed rate and spindle override PLC RUN 4-99
Entry: %xxxx
0 = no handwheel
1 = HR 330 (all keys evaluated by NC)
2 = HR 130 or HR 330
3 = HR 330 (+, and "rapid traverse" keys
evaluated by PLC)
4 = HR 332 (all keys evaluated by PLC)
5 = up to three HR 150 via HRA 110
6 = HR 410
MP7645.0 4-200
MP7645.1 4-202
MP7645.2 4-202
MP7645.3-7 at present without function 4-202
Bit 0 RAM-test
0 = Memory test at switch-on
1 = No memory test at switch-on
Bit 1 EPROM-test
0 = Memory test at switch-on
1 = No memory test at switch-on
The markers listed in italics have been retained to ensure compatibility with the TNC 355. It is
recommended, however, that these functions be activated through the new word functions.
W576 Axis X
W578 Axis Y
W580 Axis Z
W582 Axis 4
W584 Axis 5
D592 Nominal position for spindle orientation (Strobe M2712) 4-106
D596 Rapid traverse from PLC 4-70
W754 %-factor of feed-override "feed rotation" (0 to 300 %) 4-136
D756 Set spindle-speed from the PLC; programmed spindle speed 4-101
3 Commands 7-36
3.1 Load and Assign Commands 7-36
3.1.1 LOAD (L) 7-36
3.1.2 LOAD NOT (LN) 7-38
3.1.3 LOAD TWO'S-COMPLEMENT (L) 7-40
3.1.4 LOAD BYTE (LB) 7-41
3.1.5 LOAD WORD (LW) 7-41
3.1.6 LOAD DOUBLEWORD (LD) 7-41
3.1.7 ASSIGN (=) 7-43
3.1.8 ASSIGN BYTE (B=) 7-45
3.1.9 ASSIGN WORD (W=) 7-45
3.1.10 ASSIGN DOUBLEWORD (D=) 7-45
3.1.11 ASSIGN NOT (=N) 7-46
The functions TRACE and TABLE, as well as a Syntax check on entering the PLC commands and a
logical test with the Function COMPILE were introduced to make it easier to find faults in the PLC
program (see section "Test functions").
10 ms are available for a PLC run. Up to 8 000 logic commands, equivalent to 64 KB, can be
processed within this period (executable memory). A new PLC run commences every 20 ms in the
TNC 415 and every 24 ms in the TNC 407 (PLC cycle time), i.e. every 20 ms or 24 ms the inputs are
read and outputs are set.
Press MOD
key
Enter code number 807 667
ENT key
PLC operation is selected
(Main menu)
PLC operation can be stopped by pressing the soft key END or the END key.
Provided the TNC has not been switched off and the PLC operation has already been selected once
with the code number, it is possible to return to PLC operation quite simply, without using the code
number, by means of the MOD key and the soft key PLC EDIT.
Select edit Select table Select TRACE Compile PLC Binary output Activate Call machine Quit PLC
mode M/I/O/T/C function program of PLC dialogue or parameter list Mode
program error message
file
Processing time
The PLC processing time (time for a PLC run) is given in % of the maximum time of 10 ms, whereby
10 ms is equivalent to 200 %
Code length
This is the length of the compiled executable program in KB.
Executable program
The last compiled PLC program is displayed here. If you are working from the RAM (MP4010) then
the desired program can be selected using the PGM NAME and SELECT soft key and must be
compiled with the COMPILE function (soft key).
A program which was already selected as an executable program before switching on will be
compiled automatically. The PLC program is only active after compilation!
Editor program
The name of a file which was selected with the soft key SELECT can be seen in the line
PGM IN EDIT MEM.
If no executable program has been activated and no Editor program has been selected, then the
relevant name fields will be empty!
The various PLC functions can be accessed from inside the Main menu.
Scroll Select file Copy Modify display Select file type Switch to Return to main
for selected display with menu
window two windows
The following soft-key row is displayed when the MODIFY WINDOW soft key is operated.
Select file type List from RAM List from List across
EPROM data interface
You can choose whether the file list from the RAM, the EPROM or across the data interface will be
displayed in the selected window. You can also define the type of files to be listed using the
SELECT TYPE soft key.
Use the WINDOW soft key to toggle between the display with one and the display with two
windows. The display with two windows is useful for the input/output of data and for copying data
from the EPROM. The following soft-key rows are offered with the two-window display.
Scroll Copy file from window to window Select file type Switch to Return to main
display with menu
one window
The soft key functions are only active for the selected window. Use the arrow keys to toggle
between the two windows.
Operate the SELECT TYPE soft key to select a different file type. The following soft-key rows are
shown:
Display all file PLC programs PLC error PLC error Dialogues for Dialogues for ASCII files
types messages, first messages, OEM cycles, OEM cycles,
language English first language English
Operate the CONVERT soft key to change the type of the selected file. The following soft-key row
is shown:
PLC programs, PLC error messages and dialogues for OEM cycles can be transferred as ASCII text
via the data interface (see chapter "Data interface").
PLC programs, PLC error messages, dialogues for OEM cycles and the OEM cycles themselves can
also be given out as binary code for the creation of EPROMs.
After operating the soft key "OUTPUT BINARY CODE 0001" it is possible to collect the files that
are to be transferred in a list. The required ID number for the EPROM which is to be created must
be entered in the first line of this table. The preset names in the list can be overwritten.
To start data transfer, the user must press the EXT key.
The HEIDENHAIN service department is at your disposal for further information about creating
EPROMs.
If the PLC program is to be transferred to a 2MB EPROM, the command "SIZE 2MB" must be
entered in the table (as of software 280 58, 280 54, 280 56). The PLC main program is designated
with /M. Help files (.HLP) and machine parameters lists (.MP) can also be transferred into the
EPROM.
These functions are available from the Main menu by using the soft key TRACE.
The list of instructions for the compiled program will then be displayed. In addition, the contents of
the Operand and Accumulator for each line of the program are shown in HEX or decimal code. Every
active command in the LIST is identified with a "*". The cursor keys or the GOTO function can be
used to display the required portion of the program.
The soft keys now have the following meaning:
HEX DECIMAL
The contents of the Operands and the Accumulators can be displayed either in decimal or HEX code.
The soft key can be used to toggle the display.
START/STOP DISPLAY
The dynamic display of the Operands and the Accumulators can be frozen with STOP DISPLAY.
On operating START DISPLAY they will again be continuously updated.
The cursor keys can be used to select the desired range in the TRACE buffer.
After operating the soft keys SELECT M/I/O/T/C the soft keys will have the following meaning:
HEIDENHAIN can supply the PLC.EXE PLC development software for creating PLC programs on
your personal computer. Further particulars can be obtained from your HEIDENHAIN customer
service.
2.1.1 Command
A command is the smallest unit in a PLC program. It consists of the
operation portion and the Operand portion.
A I 28 ;Comment
Operand
The operation describes the function which is to be performed. It explains what is done with the
Operands.
The Operand shows what is to be operated on. It consists of the Operand abbreviation and a
parameter (Address). Register and memory contents can be gated, erased and loaded by using PLC
commands.
Both Bit and Word processing are possible. In Word processing it is possible to address memory
contents with a length of 8 Bits (Byte), 16 Bits (Word) or 32 Bits (Doubleword) (see section
"Commands").
Only the most important PLC functions should be programmed in the main routine.
Individual PLC functions such as spindle orientation and key simulation are programmed in their own
modules.
0 L M2719
1 SN M2719 ;Activate the strobes for Word processing
2 L M2497
3 SN M2497 ;Activate the edge evaluation
4 L M2496
5 SN M2496 ;Activate transfer of decoded M codes
;(M1900 to M1999)
. . .
. . .
. . .
20 L M1919 ;M Function M19
21 A M2045 ;Change signal for M function
22 AN M12 ;Spindle orientation already active?
23 CMT 180 ;Spindle orientation
24 LM 2182 ;Disabled key operated?
25 CMT 31 ;Yes, then call key simulation
. . .
. . .
. . .
150 EM ;End main program
151 LBL 31 ;Key simulation
. . .
. . .
. . .
200 EM
201 LBL 180 ;Spindle orientation
. . .
. . .
. . .
259 EM
. . .
. . .
. . .
Error conditions in the machine should be interrogated in the PLC program and a plain language error
message should be displayed on the VDU screen. See chapter "Machine integration", section
"Display and operation" and chapter "PLC programming", section "Modules".
In Byte addressing every address from 0 to 1023 is accessible. In Word addressing, every second
address from 0 to 1022 is accessible and in Doubleword addressing every fourth from 0 to 1020.
The address parameter gives the High Byte for a Word Address (W) , or the Highest Byte for a
Doubleword address (D).
During the transfer the marker M2149 is set by the NC. The transfer must be confirmed by the PLC
by setting marker M2611.
Address Function
D 280 1st Number value from FN 19
D 284 2nd Number value from FN 19
PLC program .
.
.
LN M2149 ;Strobe signal/Transfer
R M2611 ;Acknowledgement
.
.
.
L M2149 ;Strobe signal/Transfer
CMT 199
.
.
.
LBL 199
L D280 ;1st value from FN19
= D120 ;Internal buffer 1st value
.
.
.
L D284 ;2nd value from FN19
= D124 ;Internal buffer 2nd value
L M2149 ;Change signal for transfer
S M2611 ;Acknowledgement
After the program has been performed, the following data will be in the Doublewords D120 and
D124 :
Address Function
D 528 Doubleword with multiple function, in this instance data for transfer
from the PLC to the NC (07, Q number from W516, strobe marker
M2713)
W516 Q number for numerical value transfer from PLC to NC (transfer of
the value from D528, strobe marker M2713)
122 different machine parameters are reserved for data transfer in the PLC. MP4210.x, MP4220.x
and MP4310.x are stored in PLC words. The contents of MP4230.x and 4231.x must be called by
module 9032. For example, PLC positioning, datum shifts, feed rates for PLC positioning or coding
for the release of certain PLC functions can be filed in these machine parameters. These numerical
values are evaluated in the PLC program.
Although the TNC 407 / TNC 415F / TNC 425E accept entry values to 0.0001 mm (or ), the controls
round these values to 0.001 mm (or ) for their calculations.
Address Function
D768 Value from MP4210.0
D772 Value from MP4210.1
D776 Value from MP4210.2
D780 Value from MP4210.3
D784 Value from MP4210.4
D788 Value from MP4210.5
MP4220.0 X axis
MP4220.1 Y axis
MP4220.2 Z axis
MP4220.3 axis 4
MP4220.4 axis 5
MP4310.0 Set a number in the PLC, in the Word range W976 to W988
to MP4310.6 Entry : 0 to 65 535
Example:
When an M function is output, the NC sets the strobe signal M2045. After evaluating the M
function, the PLC sets the acknowledge marker M2482. The PLC must reset M2482 otherwise no
further strobes can be transferred by the NC.
2.4.1 Timers
48 timers are available in the PLC. These 48 timers are controlled by special markers with the
abbreviation symbol T. The time period for the timer is defined in the machine parameter MP4110.X.
The time unit corresponds to the PLC cycle time (TNC 415: 20 ms; TNC 407: 24 ms).
The timers are started by setting the markers T0 to T47 which also sets the timer to the value from
MP4110.X. This activation may only be performed for a single PLC run, as otherwise the timers will
be restarted by every succeeding run.
The markers T48 to T95 (timer running) will remain set for the period defined in the machine
parameters.
Example:
Start of Timer 1
Period in MP4110.1 = 9 (PLC cycles)
T1
T49
Entry range for MP4110.X: 0 to 65 535 [PLC cycles] (TNC 415: 20 ms, TNC 407: 24 ms)
C1
C49
C97
During the creation and test of the PLC program the control should operate from the RAM area.
HEIDENHAIN recommends that an EPROM is created for the PLC program before delivering the
machine to the customer (see also chapter "Introduction").
A PC and the MEGA-PROMMER-Software (Version 2.12.or later) are necessary for programming
the PLC EPROMS.
The PLC files from the RAM area in the control can be transferred to the PC via the data interface
(see chapter "Data interface").The output is initiated from the control with the soft key "BINARY
OUTPUT" (see section "PLC functions").
The PLC files are then transferred to the PC in the Motorola EXORMAX S3 format. With the MEGA-
PROMMER these data can be read in the MOX format and the EPROM programmed.
Please contact the HEIDENHAIN customer service if you have further questions.
In the PLC Editor or when compiling the program in the PLC programming mode, errors are
displayed by the message "INPUT ERROR n". The flashing message "ERROR IN PLC Program n" is
displayed when compiling the program after switching on the control system or when a timing error
occurs. After resetting, the error can be located by calling the PLC Editor. Basically, when an error is
displayed in the PLC Editor, the relevant file is opened and the cursor is on the error line. With timing
error 53 (maximum PLC cycle time has timed out) the cursor is on the last jump instruction to be
executed.
Error classification:
The system indicates when every error was detected. The following abbreviations are used:
Operands: M, I, O, T, C
Operation:
The addressed operand is copied into the Accumulator. A load command is always used at the start
of a logic chain, in order to enable subsequent gating commands. The same function is achieved
when the gating commands A, O, XO are used at the start of a logic chain, however this should
only be used when compatibility with the TNC 355 is required.
Example:
Input I4 and Input I5 is to be gated with AND and the result assigned to Output O2. Thus the logic
state of Input I4 is loaded into the Accumulator to enable subsequent gating commands.
Bit 31 . . . 7 0
... x x x x x x X x x x x x x x
1 L I4 ... x x x x x x 1 x x x x x x x 1
2 A I5 ... x x x x x x 0 x x x x x x x 0
3 = O2 ... x x x x x x 0 x x x x x x x 0
Line 1: The operand contents are loaded into the Logic Accumulator.
Line 2: The contents of the Logic Accumulator and Input I5 are gated with AND.
Line 3: The gating result is assigned to output O2.
Operands: B, W, D, K
Operation:
The addressed Operand (B, W, D) or a Constant (K) is copied into the Word Accumulator. In addition,
the Accumulator is filled, if necessary, according to the sign bit. In contrast to logic execution the
start of a word gating chain must always be with the L command. It is not possible to use a gating
command.
Example:
A Constant and Byte B5 is to be gated with AND and the result assigned to Byte B8.
Bit 31 . . . 15 7 0 7 0
... x x x x x x x x x x x x x x x x x x
1 L K+54 ... 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0
2 A B5 ... 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 00101010
3 = B8 ... 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 00100010
Operands: M, I, O, T, C
Operation:
The complement of the addressed operand is loaded into the Logic Accumulator. A load command is
always used at the start of a logic chain in order to enable subsequent gating commands. The same
function is achieved when the gating commands AN, ON, XON are used at the start of a logic chain,
however this should only be used when compatibility with TNC 355 is required.
Example:
The inverted logic state of Input I4 and Input I5 is to be gated with AND and the result assigned to
Output O2. Thus the inverted logic state of Input I4 is loaded into the Accumulator to enable
subsequent gating commands.
Bit 31 . . . 7 0
... x x x x x x X x x x x x x x
1 LN I4 ... x x x x x x 1 x x x x x x x 0
2 A I5 ... x x x x x x 1 x x x x x x x 1
3 = O2 ... x x x x x x 1 x x x x x x x 1
Line 1: The inverted operand contents are loaded into the Logic Accumulator.
Line 2: The contents of the Logic Accumulator and Input I5 are gated with AND.
Line 3: The gating result is assigned to Output O2.
Operands: B, W, D, K
Operation:
The complement of the contents of the addressed Operand (B, W, D) or Constant (K) is loaded into
the Word Accumulator. In addition, the Accumulator is filled, if necessary, according to the sign bit.
In contrast to logic execution a word gating chain must always start with a load command. It is not
possible to use a gating command.
Example:
The complement of Byte B6 and Byte B5 is to be gated with AND and the result assigned to Byte
B8.
Bit 31 . . . 15 7 0 7 0
... x x x x x x x x x x x x x x x x x x
1 LN B6 ... 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 10110110
2 A B5 ... 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 00101010
3 = B8 ... 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 00001000
Line 1: The inverted contents of Byte B6 are loaded into the Word Accumulator.
Line 2: The contents of the Word Accumulator and Byte B5 are gated with AND.
Line 3: The gating result is assigned to Byte B8.
Operands: B, W, D, K
Operation:
The contents of the addressed Operand (B, W, D) or a Constant (K) are loaded into the Word
Accumulator as a two's complement. In addition, the Accumulator is filled, if necessary, according to
the sign bit. The two's complement allows negative numbers to be stored. i.e. a number loaded with
the L- command appears in the Accumulator with an inverted sign.
This command may only be used with Word execution.
Example:
The contents of Byte B5 is to be negated, added to Byte B6 and the result assigned to Byte B8.
Bit 31 . . . 15 7 0 7 0
... x x x x x x x x x x x x x x x x x x
To aid understanding of this example, the contents of the Accumulator and operands are shown as
decimal values in parentheses.
Line 1: The contents of Byte B5 are loaded into the Accumulator and the sign of the value is
inverted.
Line 2: The contents of the Word Accumulator and Byte B6 are added.
Line 3: The result is assigned to Byte B8.
Operands: M, I, O, T, C
Operation:
With the command LB, 8 Markers, Inputs, Outputs, Timers or Counters with ascending numbering
are loaded into the Word Accumulator. Each operand occupies 1 bit in the Accumulator. The
designated operand address occupies the LSB in the Accumulator, the designated address + 1 the
LSB + 1 and so on. In this way, the last affected operand occupies the MSB!
If necessary, the Accumulator is filled according to the sign bit.
Operands: M, I, O, T, C
Operation:
With the command LW, 16 Markers, Inputs, Outputs, Timers or Counters with ascending numbering
are loaded into the Word Accumulator. Each operand occupies 1 bit in the Accumulator. The
designated operand address occupies the LSB in the Accumulator, the designated address + 1 the
LSB + 1 and so on. In this way, the last affected operand occupies the MSB!
If necessary, the Accumulator is filled according to the sign bit.
Operands: M, I, O, T, C
Operation:
With the command LD, 32 Markers, Inputs, Outputs, Timers or Counters with ascending numbering
are loaded into the Word Accumulator. Each operand occupies 1 bit in the Accumulator. The
designated operand address occupies the LSB in the Accumulator, the designated address + 1 the
LSB + 1 and so on. In this way, the last affected operand occupies the MSB!
If necessary, the Accumulator is filled according to the sign bit.
Bit 31 . . . 15 7 0 I10 I3
... x x x x x x x x x x x x x x x x x x
1 LB I3 ... 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 1 01100111
7 0
2 = B8 ... 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 1 01100111
Line 1: Inputs I3 to I10 are loaded into the Word Accumulator (Bit 0 to Bit 7).
Line 2: The Accumulator Contents are assigned to Byte 8.
The Commands LW and LD are processed in the same way except that 16 or 32 operands are used
accordingly.
Operands: M, I, O, T, C
Operation:
ASSIGN in conjunction with the Logic-Operands (M, I, O, T, C) copies the contents of the Logic
Accumulator to the addressed operand. The = command is only used at the end of a logic chain in
order that a gating result is available. The command may be used several times in succession (see
example).
Example:
Input I4 and Input I5 should be gated with AND and the result assigned to Outputs O2 and O5.
Bit 31 . . . 7 0
... x x x x x x X x x x x x x x
1 L I4 ... x x x x x x 1 x x x x x x x 1
2 A I5 ... x x x x x x 0 x x x x x x x 0
3 = O2 ... x x x x x x 0 x x x x x x x 0
4 = O5 ... x x x x x x 0 x x x x x x x 0
Line 1: The operand contents are loaded into the Logic Accumulator.
Line 2: The contents of the Logic Accumulator and Input I5 are gated with AND.
Line 3: The gating result is assigned to Output O2.
Line 4: The gating result is assigned to Output O5.
Operands: B, W, D
Operation:
ASSIGN in conjunction with the Word-Operands (B, W, D) copies the contents of the Word
Accumulator to the addressed operand. In contrast to bit processing, the = command can also be
used within a word gating chain. The command can be used several times in succession (see
example).
Example:
A Constant (K) and the contents of Byte B5 should be gated with AND and the result assigned to
Byte B8 and Byte B10.
Bit 31 . . . 15 7 0 7 0
... x x x x x x x x x x x x x x x x x x
1 L K+54 ... 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0
2 A B5 ... 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 00101010
3 = B8 ... 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 00100010
Operands: M, I, O, T, C
Operation:
With the command B=, 8 bits are copied from the Word Accumulator to Markers, Inputs, Outputs,
Timers or Counters with ascending numbering. Each bit corresponds to 1 operand. The LSB in the
Accumulator is copied to the designated operand address, the LSB + 1 to the designated address +
1 and so on. The last affected operand is occupied by the MSB.
Operands: M, I, O, T, C
Operation:
With the command W=, 16 bits are copied from the Word Accumulator to Markers, Inputs,
Outputs, Timers or Counters with ascending numbering. Each bit corresponds to 1 operand. The
LSB in the Accumulator is copied to the designated operand address, the LSB + 1 to the designated
address + 1 and so on. The last affected operand is occupied by the MSB.
Operands: M, I, O, T, C
Operation:
With the command D=, 32 bits are copied from the Word Accumulator to Markers, Inputs, Outputs,
Timers or Counters with ascending numbering. Each bit corresponds to 1 operand. The LSB in the
Accumulator is copied to the designated operand address, the LSB + 1 to the designated address +
1 and so on. The last affected operand is occupied by the MSB.
Example:
A bit pattern, as defined in Word W8 , is to be assigned to Outputs O5 to O20.
Bit 31 . . . 15 7 0 15 87 0
... x x x x x x x x x x x x x x x x x x
The Commands B= and D= are processed in the same way except that 8 or 32 bits are used
accordingly.
Logic processing
Operands: M, I, O, T, C
Operation:
An ASSIGN NOT in conjunction with a logic operand (M,I,O,T,C) copies the one's complement of the
contents of the logic accumulator to the addressed operand.
For example see ASSIGN command (=).
Word processing
Operands: B, W, D
Operation:
An ASSIGN NOT in conjunction with a word operand (B,W,D) copies the one's complement of the
contents of the word accumulator to the addressed operand.
Operation:
An ASSIGN TWO'S COMPLEMENT copies the two's complement of the contents of the word
accumulator to the addressed operand.
For example see ASSIGN command (=).
Operands: M, I, O, T, C
Operation:
The function of the command depends on the contents of the Logic Accumulator. If the Logic
Accumulator = 1, the addressed operand is set to 1, otherwise the operand remains unchanged. An
S-command is used at the end of a logic chain so that the gating result may influence the operand.
The command may be used several times in succession (see example).
Example:
Input I4 and input I5 should be gated with OR.
If the gating result is 1, output O2 and marker M500 should be set.
Bit 31 . . . 7 0
... x x x x x x X x x x x x x x
1 L I4 ... x x x x x x 1 x x x x x x x 1
2 O I5 ... x x x x x x 1 x x x x x x x 0
3 S O2 ... x x x x x x 1 x x x x x x x 1
4 S M500 ... x x x x x x 1 x x x x x x x 1
Line 1: The contents of the operand are loaded into the Accumulator.
Line 2: The contents of the Logic Accumulator and Input I5 are gated with OR.
Line 3: The gating result = 1: output O2 is set.
Line 4: The gating result = 1: marker M500 is set.
Operands: M, I, O, T, C
Operation:
The function of the command is dependent on the contents of the Logic Accumulator. If the Logic
Accumulator = 1, the addressed operand is set to 0, otherwise the operand remains unchanged. An
R command is used at the end of a logic chain, in order that a gating result may influence the
operand. The command may be used several times in succession (see example).
Example:
Input I4 and Input I5 should be gated with OR.
If the gating result = 1, Output O2 and Marker M500 should be reset.
Bit 31 . . . 7 0
... x x x x x x X x x x x x x x
1 L I4 ... x x x x x x 1 x x x x x x x 1
2 O I5 ... x x x x x x 1 x x x x x x x 0
3 R O2 ... x x x x x x 1 x x x x x x x 0
4 R M500 ... x x x x x x 1 x x x x x x x 0
Operands: M, I, O, T, C
Operation:
The function of the command is dependent upon the contents of the Logic Accumulator. If the Logic
Accumulator = 0 , then the addressed operand is set to 1, otherwise the operand remains
unchanged. An SN command is used at the end of a logic chain, in order that a gating result may
influence the operand. The command may be used several times in succession (see example).
Example:
Input I4 and Input I5 are to be gated with OR.
If the gating result = 0, Output O2 and Marker M500 are set.
Bit 31 . . . 7 0
... x x x x x x X x x x x x x x
1 L I4 ... x x x x x x 0 x x x x x x x 0
2 O I5 ... x x x x x x 0 x x x x x x x 0
3 SN O2 ... x x x x x x 0 x x x x x x x 1
4 SN M500 ... x x x x x x 0 x x x x x x x 1
Operands: M, I, O, T, C
Operation:
The function of the command is dependent upon the contents of the Logic Accumulator. If the Logic
Accumulator = 0, then the addressed operand is set to 0, otherwise the operand remains
unchanged. An RN command is used at the end of a logic chain, in order that a gating result may
influence the operand. The command may be used several times in succession (see example).
Example:
Input I4 and Input I5 are to be gated with OR.
If the gating result = 0, Output O2 and Marker M500 are reset.
Bit 31 . . . 7 0
... x x x x x x X x x x x x x x
1 L I4 ... x x x x x x 0 x x x x x x x 0
2 O I5 ... x x x x x x 0 x x x x x x x 0
3 RN O2 ... x x x x x x 0 x x x x x x x 0
4 RN M500 ... x x x x x x 0 x x x x x x x 0
Operands: M, I, O, T, C
Operation:
This command functions in different ways according to its position in the program:
a) At the start of a logic chain the command functions as an L command, i.e. the logic state of the
operand is loaded into the Logic Accumulator. This is to ensure compatibility with the TNC 355
control which did not have the special L command.
In PLC programs for the TNC 407/TNC 415, a logic chain should always be started with a load
command (see L, LN, L).
b) Within a logic chain the contents of the Logic Accumulator and the logic state of the operand
(M, I, O, T, C) are gated with AND. The gating result is stored in the Logic Accumulator.
Example:
Input I4 and Input I5 are to be gated with AND and the result assigned to Output O2.
Bit 31 . . . 7 0
... x x x x x x x x x x x x x x
1 L I4 ... x x x x x x 1 x x x x x x x 1
2 A I5 ... x x x x x x 0 x x x x x x x 0
3 = O2 ... x x x x x x 0 x x x x x x x 0
Operands: B, W, D, K
Operation:
The contents of the Word Accumulator and the contents of the operand (B, W, D, K) are gated with
AND. In accordance with the different sizes of operand (B = 8 bit; W = 16 bit; D = K = 32 bit), 8, 16
or 32 bits will be influenced in the Accumulator.
Thus: Bit 0 of the Accumulator is gated with bit 0 of the operand
Bit 1 of the Accumulator is gated with bit 1 of the operand and so on.
The result of the operation is stored in the Word Accumulator.
Example:
The contents of Byte B5 and Byte B6 should be gated with AND and the result assigned to Byte B8.
Bit 31 . . . 15 7 0 15 87 0
... x x x x x x x x x x x x x x x x x x
1 L B6 ... 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 00110110
2 A B5 ... 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 00101010
3 = B8 ... 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 00100010
Operands: M, I, O, T, C
Operation:
This command functions in different ways according to its position in the program:
a) At the start of a logic chain the command functions as an LN command, i.e. the complement of
the operand is loaded into the Logic Accumulator. This is to ensure compatibility with the TNC 355
control which did not have the special LN command.
In PLC programs for the TNC 407/TNC 415 a logic chain should always be started with a load
command (see L, LN, L).
b) Within a logic chain, the contents of the Logic Accumulator and the logic state of the operand
(M, I, O, T, C) are gated with AND NOT.
The gating result is stored in the Logic Accumulator.
Example:
Input I4 and Input I5 should be gated with AND NOT and the result assigned to Output O2.
Bit 31 . . . 7 0
... x x x x x x x x x x x x x x
1 L I4 ... x x x x x x 1 x x x x x x x 1
2 AN I5 ... x x x x x x 0 x x x x x x x 1
3 = O2 ... x x x x x x 0 x x x x x x x 0
Operands: B, W, D, K
Operation:
The contents of the Word Accumulator and the contents of the operand (B, W, D, K) are gated with
AND NOT. In accordance with the different sizes of operand (B = 8 bit; W = 16 bit; D = K = 32 bit),
8, 16 or 32 bits will be influenced in the Accumulator.
Thus: Bit 0 in the Accumulator is gated with bit 0 in the operand.
Bit 1 in the Accumulator is gated with bit 1 in the operand and so on.
The result of the operation is stored in the Word Accumulator.
Example:
The contents of Word W4 and Word W6 should be gated with AND NOT and the result assigned to
Word W8.
Bit 31 . . . 15 7 0 15 87 0
... x x x x x x x x x x x x x x x x x x
Operands: M, I, O, T, C
Operation:
This command functions in different ways according to its position in the program:
a) At the start of a logic chain the command functions as an L command, i.e. the logic state of the
operand is loaded into the Logic Accumulator. This is to ensure compatibility with the TNC 355
control which did not have the special L command.
In PLC programs for the TNC 407/TNC 415 a logic chain should always be started with a load
command (see L, LN, L).
b) Within a logic chain, the contents of the Logic Accumulator and the logic state of the operand
(M, I, O, T, C) are gated with OR.
The result of the operation is stored in the Logic Accumulator.
Example:
Input I4 and Input I5 are to be gated with OR and the result assigned to Output O2.
Bit 31 . . . 7 0
... x x x x x x x x x x x x x x
1 L I4 ... x x x x x x 0 x x x x x x x 0
2 O I5 ... x x x x x x 1 x x x x x x x 1
3 = O2 ... x x x x x x 1 x x x x x x x 1
Operands: B, W, D, K
Operation:
The contents of the Word Accumulator and the contents of the operand (B, W, D, K) are gated with
OR. In accordance with the different sizes of operand (B = 8 bit; W = 16 bit; D = K = 32 bit), 8, 16 or
32 bits will be influenced in the Accumulator.
Thus: Bit 0 in the Accumulator is gated with bit 0 in the operand
Bit 1 in the Accumulator is gated with bit 1 in the operand and so on.
The result of the operation is stored in the Word Accumulator.
Example:
The contents of Byte B5 and Byte B6 are to be gated with OR and the result assigned to Word W8.
Bit 31 . . . 15 7 0 15 87 0
... x x x x x x x x x x x x x x x x x x
1 L B6 ... 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 00110110
2 O B5 ... 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 00101010
Operands: M, I, O, T, C
Operation:
This command functions in different ways according to its position in the program:
a) At the start of a logic chain this command functions as an LN command, i.e. the complement of
the operand is loaded into the Logic Accumulator. This is to ensure compatibility with the TNC 355
control which did not have the special LN command. In PLC programs for the TNC 407/TNC 415 a
logic chain should always be started with a load command (see L, LN, L).
b) Within a logic chain, the contents of the Logic Accumulator and the logic state of the operand
(M, I, O, T, C) are gated with OR NOT. The result of the operation is stored in the Logic
Accumulator.
Example:
Input I4 and Input I5 are to be gated with OR NOT and the result assigned to Output O2.
Bit 31 . . . 7 0
... x x x x x x x x x x x x x x
1 L I4 ... x x x x x x 0 x x x x x x x 0
2 ON I5 ... x x x x x x 1 x x x x x x x 0
3 = O2 ... x x x x x x 1 x x x x x x x 1
Operands: B, W, D, K
Operation:
The contents of the Word Accumulator and the contents of the operand (B, W, D, K) are gated with
OR NOT. In accordance with the different sizes of operand (B = 8 bit; W = 16 bit; D = K = 32 bit), 8,
16 or 32 bits will be influenced in the Accumulator.
Thus: Bit 0 in the Accumulator is gated with bit 0 in the operand
Bit 1 in the Accumulator is gated with bit 1 in the operand and so on.
The result of the operation is stored in the Word Accumulator.
Example:
The contents of Word W4 and Word W6 are to be gated with OR NOT and the result assigned to
Word W8.
Bit 31 . . . 15 7 0 15 87 0
... x x x x x x x x x x x x x x x x x x
Operands: M, I, O, T, C
Operation:
This command functions in different ways according to its position in the program:
a) At the start of a logic chain the command functions as an L command, i.e. the logic state of the
operand is loaded into the Logic Accumulator. This is to ensure compatibility with the TNC 355
control which did not have the special L command.
In PLC programs for the TNC 407/TNC 415 a logic chain should always be started with a load
command (see L, LN, L).
b) Within a logic chain the contents of the Logic Accumulator and the logic state of the operand
(M, I, O, T, C) are gated with EXCLUSIVE OR.
The result of the operation is stored in the Logic Accumulator.
Example:
Input I4 and Input I5 are to be gated with EXCLUSIVE OR and the result assigned to Output O2.
Bit 31 . . . 7 0
... x x x x x x X x x x x x x x
1 L I4 ... x x x x x x 1 x x x x x x x 1
2 XO I5 ... x x x x x x 0 x x x x x x x 1
3 = O2 ... x x x x x x 0 x x x x x x x 0
Operands: B, W, D, K
Operation:
The contents of the Word Accumulator and the contents of the operand (B, W, D, K) are gated with
EXCLUSIVE OR. In accordance with the different sizes of operand (B = 8 bit; W = 16 bit;
D = K = 32 bit), 8, 16 or 32 bits will be influenced in the Accumulator.
Thus: Bit 0 in the Accumulator is gated with bit 0 in the operand
Bit 1 in the Accumulator is gated with bit 1 in the operand and so on.
The result of the operation is stored in the Word Accumulator.
Example:
The contents of Byte B5 and Byte B6 are to be gated with EXCLUSIVE OR and the result assigned
to Word W8.
Bit 31 . . . 15 7 0 15 87 0
... x x x x x x x x x x x x x x x x x x
1 L B6 ... 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 00110110
2 XO B5 ... 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 00101010
Operands: M, I, O, T, C
Operation:
This command functions in different ways according to its position in the program:
a) At the start of a logic chain this command functions as a LN command, i.e. the complement of the
operand is loaded into the Logic Accumulator. This is to ensure compatibility with the TNC 355
control which did not have the special LN command.
In PLC programs for the TNC 407/TNC 415 a logic chain should always be started with a load
command (see L, LN, L).
b) Within a logic chain the contents of the Logic Accumulator and the logic state of the operand
(M, I, O, T, C) are gated with EXCLUSIVE OR NOT.
The result of the operation is stored in the Logic Accumulator.
Example:
Input I4 and Marker M500 are to be gated with EXCLUSIVE OR NOT and the result assigned to
Output O2.
Bit 31 . . . 7 0
... x x x x x x X x x x x x x x
1 L M500 ... x x x x x x 0 x x x x x x x 0
2 XON I4 ... x x x x x x 1 x x x x x x x 0
3 = O2 ... x x x x x x 1 x x x x x x x 1
Operands: B, W, D, K
Operation:
The contents of the Word Accumulator and the contents of the operand (B, W, D, K) are gated with
EXCLUSIVE OR NOT. In accordance with the different sizes of operand (B = 8 bit; W = 16 bit;
D = K = 32 bit), 8, 16 or 32 bits will be influenced in the Accumulator.
Thus: Bit 0 in the Accumulator is gated with bit 0 in the operand
Bit 1 in the Accumulator is gated with bit 1 in the operand and so on.
The result of the operation is stored in the Logic Accumulator.
Example:
The contents of Word W4 and Word W6 are to be gated with EXCLUSIVE OR NOT and the result
assigned to Word W8.
Bit 31 . . . 15 7 0 15 87 0
... x x x x x x x x x x x x x x x x x x
Operands: B, W, D, K
Operation:
With arithmetic functions the operand is firstly expanded to the size of the Accumulator (32 bits).
Then the contents of the operand are added to the Word Accumulator. The result of the operation is
stored in the Word Accumulator and may be processed further.
Example:
A constant and a stored value in Word W6 are to be added. The result is then stored in Doubleword
D8.
In the interests of clarity the contents of the Accumulator and operand are shown in decimal
notation.
The 10 bit wide Accumulator allows the entry of the highest possible Accumulator contents
(2 147 483 647).
x x x x x x x x x x
1 L K100000 1 0 0 0 0 0
2 + W6 1 0 0 2 0 0 2 0 0
3 = D8 1 0 0 2 0 0 1 0 0 2 0 0
Operands: B, W, D, K
Operation:
With arithmetic functions the operand is firstly expanded to the size of the Accumulator (32 bits).
Then the contents of the operand are subtracted from the contents of the Word Accumulator. The
result of the operation is stored in the Word Accumulator and may be processed further.
Example:
A stored value in Word W6 is to be subtracted from a Constant. The result is then stored in
Doubleword D8.
In the interests of clarity the contents of the Accumulator and the operand are shown in decimal
notation. The 10 bit wide Accumulator allows the entry of the highest possible Accumulator
contents (2 147 483 647).
x x x x x x x x x x
1 L K100000 1 0 0 0 0 0
2 W6 9 9 8 0 0 2 0 0
3 = D8 9 9 8 0 0 9 9 8 0 0
Operands: B, W, D, K
Operation:
With arithmetic functions the operand is firstly expanded to the size of the Accumulator (32 bits).
Then the contents of the operand are multiplied with the contents of the Word Accumulator. The
result of the operation is stored in the Word Accumulator and may be processed further. If the
multiplication is not correctly executed the Marker M3168 is set, otherwise it is reset.
Example:
A Constant and a value stored in Word W6 are to be multiplied. The result is then stored in
Doubleword D8.
In the interests of clarity the contents of the Accumulator and the operand are shown in decimal
notation. The 10 bit wide Accumulator allows the entry of the highest possible Accumulator
contents (2 147 483 647).
x x x x x x x x x x
1 L K100 1 0 0
2 x W6 2 0 0 0 2 0
3 = D8 2 0 0 0 2 0 0 0
Operands: B, W, D, K
Operation:
With arithmetic functions the operand is firstly expanded to the size of the Accumulator (32 bits) .
Then the contents of the Word Accumulator are divided by the contents of the operand. The result
of the operation is stored in the Word Accumulator and may be processed further. If the division is
not correctly executed the Marker M3169 is set, otherwise it is reset.
Example:
A Constant is to be divided by the value stored in Word W6 . The result is then assigned to
Doubleword D8.
In the interests of clarity the contents of the Accumulator and the operand are shown in decimal
notation. The 10 bit wide Accumulator allows the entry of the highest possible Accumulator
contents (2 147 483 647).
x x x x x x x x x x
1 L K100 1 0 0
2 / W6 5 2 0
3 = D8 5 5
Operands: B, W, D, K
Operation:
With arithmetic functions the operand is firstly expanded to the size of the Accumulator (32 bits).
Then the REMAINDER is determined from a division of the contents of the Word Accumulator by
the contents of the operand. The REMAINDER is stored in the Word Accumulator and may be
processed further. If the MOD command is not correctly executed then the Marker M3170 is set,
otherwise it is reset.
Example:
The REMAINDER of a division of the value stored in Word W6 by a constant is to be determined.
The REMAINDER is then stored in Doubleword D8.
In the interests of clarity the contents of the Accumulator and the operand are shown in decimal
notation. The 10 bit wide Accumulator allows the entry of the highest possible Accumulator
contents (2 147 483 647).
x x x x x x x x x x
1 L W6 5 0
2 MOD K15 5 5 0
3 = D8 5 5
Operation:
The contents of the addressed operand increases by one.
Operation:
The contents of the word accumulator increases by one.
Operation:
The contents of the index register increases by one.
Operation:
The contents of the addressed operand decreases by one.
Operation:
The contents of the word accumulator decreases by one.
Operation:
The contents of the index register decreases by one.
Byte/Word/Double Constant
Execution time [s] 1.0 to 1.2 0.3 to 0.5
Number of bytes 6 8
Operands: B, W, D, K
Operation:
With this command, a direct transfer from Word to Logic processing occurs. The contents of the
Word Accumulator and the contents of the addressed operand are compared. If the Word
Accumulator and the operand are equal, the condition is true and the Logic Accumulator is set to 1.
If they are not equal the Logic Accumulator is set to 0. The comparison takes place over the number
of bits corresponding to the operand, i.e. B = 8 bit, W = 16 bit and D = K = 32 bit.
Example:
A constant is to be compared with the contents of Doubleword D8. The result is then assigned to
Marker M500.
The Accumulator and operand contents are shown in decimal notation. The 10 bit wide Accumulator
allows the entry of the highest possible Accumulator contents (2 147 483 647).
x x x x x x x x x x
1 L K16000 1 6 0 0 0
Bit 31 . . . 7 0
2 == D8 ... x x x x x x 0 x x x x x x x 1 5 0 0 0
3 = M500 ... x x x x x x 0 x x x x x x x 0
Byte/Word/Double Constant
Execution time [s] 1.0 to 1.2 0.3 to 0.5
Number of bytes 6 8
Operands: B, W, D, K
Operation:
With this command, a direct transfer from Word to Logic processing occurs. The contents of the
Word Accumulator are compared with the contents of the addressed operand. If the Word
Accumulator is smaller than the operand, the condition is true and the Logic Accumulator is set to 1.
If the Word Accumulator is smaller or equal to the operand, the Logic Accumulator is set to 0. The
comparison takes place over the number of bits in the operand, i.e. B = 8 bit, W = 16 bit and
D = K = 32 bit.
Example:
A constant is to be compared with the contents of Doubleword D8. The result is then assigned to
Marker M500.
The Accumulator and operand contents are shown in decimal notation. The 10 bit wide Accumulator
allows the entry of the highest possible Accumulator contents (2 147 483 647).
x x x x x x x x x x
1 L K16000 1 6 0 0 0
Bit 31 . . . 7 0
1 < D8 ... x x x x x x 0 x x x x x x x 1 5 0 0 0
2 = M500 ... x x x x x x 0 x x x x x x x 0
Byte/Word/Double Constant
Execution time [s] 1.0 to 1.2 0.3 to 0.5
Number of bytes 6 8
Operands: B, W, D, K
Operation:
With this command, a direct transfer from Word to Logic processing occurs. The contents of the
Word Accumulator are compared with the contents of the addressed operand. If the Word
Accumulator is greater than the operand, the condition is true and the Logic Accumulator is set to 1.
If the Word Accumulator is less than or equal to the operand, the Logic Accumulator is set to 0. The
comparison takes place over the number of bits in the operand, i.e. B = 8 bit, W = 16 bit and
D = K = 32 bit.
Example:
A constant is to be compared with the contents of Doubleword D8. The result is then assigned to
Marker M500.
The Accumulator and operand contents are shown in decimal notation. The 10 bit wide Accumulator
allows the entry of the highest possible Accumulator contents (2 147 483 647).
x x x x x x x x x x
1 L K16000 1 6 0 0 0
Bit 31 . . . 7 0
1 > D8 ... x x x x x x 1 x x x x x x x 1 5 0 0 0
2 = M500 ... x x x x x x 1 x x x x x x x 1
Byte/Word/Double Constant
Execution time [s] 1.0 to 1.2 0.3 to 0.5
Number of bytes 6 8
Operands: B, W, D, K
Operation:
With this command, a direct transfer from Word to Logic processing occurs. The contents of the
Word Accumulator are compared with the contents of the addressed operand. If the Word
Accumulator is less than or equal to the operand, the condition is true and the Logic Accumulator is
set to 1. If the Word Accumulator is greater than the operand, the Logic Accumulator is set to 0. The
comparison takes place over the number of bits in the operand, i.e. B = 8 bit, W = 16 bit and
D = K = 32 bit.
Example:
A constant is to be compared with the contents of Doubleword D8. The result is then assigned to
Marker M500.
The Accumulator and operand contents are shown in decimal notation. The 10 bit wide Accumulator
allows the entry of the highest possible Accumulator contents (2 147 483 647).
x x x x x x x x x x
1 L K16000 1 6 0 0 0
Bit 31 . . . 7 0
1 <= D8 ... x x x x x x 0 x x x x x x x 1 5 0 0 0
2 = M500 ... x x x x x x 0 x x x x x x x 0
Byte/Word/Double Constant
Execution time [s] 1.0 to 1.2 0.3 to 0.5
Number of bytes 6 8
Operands: B, W, D, K
Operation:
With this command, a direct transfer from Word to Logic execution occurs. The content of the Word
Accumulator is compared with the content of the addressed operand. If the Word Accumulator is
greater than or equal to the operand, the condition is true and the Logic Accumulator is set to 1. If
the Word Accumulator is smaller than the operand, the Logic Accumulator is set to 0. The
comparison takes place over the number of bits corresponding to the operand i.e. B=8 bit, W=16 bit
and D=K=32 bit.
Example:
A constant is to be compared with the content of Doubleword D8. The result is then assigned to
marker M500.
Accumulator and operand contents are entered here in decimal notation. The ten-position
Accumulator thus permits the maximum possible Accumulator content (2 147 483 647).
x x x x x x x x x x
1 L K16000 1 6 0 0 0
Bit 31 . . . 7 0
1 >= D8 ... x x x x x x 1 x x x x x x x 1 5 0 0 0
2 = M500 ... x x x x x x 1 x x x x x x x 1
Byte/Word/Double Constant
Execution time [s] 1.0 to 1.2 0.3 to 0.5
Number of bytes 6 8
Operands: B, W, D, K
Operation:
With this command, a direct transfer from Word to Logic execution occurs. The content of the Word
Accumulator is compared with the content of the addressed operand. If the Word Accumulator and
the operand are not equal, the condition is true and the Logic Accumulator is set to 1. If the Word
Accumulator is equal to the operand, the Logic Accumulator is set to 0. The comparison takes place
over the number of bits corresponding to the operand i.e. B=8 bit,W=16 bit and D=K=32 bit.
Example:
A constant is to be compared with the contents of Doubleword D8. The result is then assigned to
marker M500.
Accumulator and operand contents are entered here in decimal notation. The ten position
Accumulator thus permits the maximum possible Accumulator content (2 147 483 647).
x x x x x x x x x x
1 L K16000 1 6 0 0 0
Bit 31 . . . 7 0
1 <> D8 ... x x x x x x 1 x x x x x x x 1 5 0 0 0
2 = M500 ... x x x x x x 1 x x x x x x x 1
Logic Byte/Word/Double
Execution time [s] 0.6 to 1.2 0.7 to 1.3
Number of bytes 6 6
Operands: none
Logic Byte/Word/Double
Execution time [s] 0.5 to 1.2 0.7 to 1.5
Number of bytes 6 6
Operands: none
3.6.3 OR [ ] (O[ ])
Abbreviation for PLC Editor: O[ ] (OR [ ])
Logic Byte/Word/Double
Execution time [s] 0.6 to 1.2 0.7 to 1.3
Number of bytes 6 6
Operands: none
Logic Byte/Word/Double
Execution time [s] 0.5 to 1.2 0.7 to 1.5
Number of bytes 6 6
Operands: none
Logic Byte/Word/Double
Execution time [s] 0.5 to 1.2 0.7 to 1.5
Number of bytes 6 6
Operands: none
Logic Byte/Word/Double
Execution time [s] 0.7 to 1.5 0.7 to 1.5
Number of bytes 8 8
Operands: none
The "close-parentheses" instruction initiates the gating of the buffered value from the Program Stack
with the Logic Accumulator and/or the Word Accumulator, depending on which Accumulator was
addressed prior to the "parentheses-open" instruction. The result is then available in the
corresponding Accumulator. The maximum nesting level is 16 parentheses.
M500
OR
M501
AND O12
I0
OR
I1
bit 31 7 0
... x x x x x x x x x x x x x x
1 L M500 ... x x x x x x 0 x x x x x x x 0
2 O M501 ... x x x x x x 1 x x x x x x x 1
3 A [ ... x x x x x x 1 x x x x x x x
4 L I0 ... x x x x x x 0 x x x x x x x 0
5 O I1 ... x x x x x x 1 x x x x x x x 1
6 ] ... x x x x x x 1 x x x x x x x
7 = O12 ... x x x x x x 1 x x x x x x x 1
Program-stack:
xxxxxxxx 1 xxxxxxx
bit 15 7 0
Line 1: Marker state M500 is loaded into the Logic Accumulator.
Line 2: The Logic Accumulator is gated with Marker M501.
Line 3: Open parentheses: the Accumulator contents are buffered on the Program Stack.
Line 4: Input state I0 is loaded into the Logic Accumulator.
Line 5: The Logic Accumulator is gated with Input I1.
Line 6: Close parentheses: Accumulator content is gated with the content of the Program Stack,
according to the command (A[, O[, NO[ ...).
Line 7: The result of the complete logical process is assigned to Output O12.
Logic Byte/Word/Double
Execution time [s] ----- 0.9 to 2.2
Number of bytes ----- 6
Operands: none
3.7.2 SUBTRACT [ ] ([ ])
Abbreviation for PLC Editor: [ ] (MINUS [ ])
Logic Byte/Word/Double
Execution time [s] ----- 0.9 to 2.1
Number of bytes ----- 6
Operands: none
Logic Byte/Word/Double
Execution time [s] ----- 3.7 to 4.7
Number of bytes ----- 12
Operands: none
Logic Byte/Word/Double
Execution time [s] ----- 6.5 to 7.5
Number of bytes ----- 16
In the event of an error (Divisor = 0) in the Division and MODULO functions, the execution time will
be in the range 0.9 to 1.3 s.
Operands: none
Logic Byte/Word/Double
Execution time [s] ----- 6.5 to 7.5
Number of bytes ----- 14
In the event of an error (Divisor = 0) in the Division and MODULO functions, the execution time will
be in the range 0.9 to 1.3 s.
Operands: none
The specification of Accumulator and operand contents is given in decimal notation. The ten-place
Accumulator thus permits the maximum possible Accumulator content of (2 147 483 647).
x x x x x x x x x x
1 L D12 1 5 0 0 0 1 5 0 0 0
2 + K1000 1 6 0 0 0
3 / D36 1 6 0 1 0 0
4 = D100 1 6 0 1 0 0
x x x x x x x x x x
1 L D12 1 5 0 0 0 1 5 0 0 0
2 + [ 1 5 0 0 0
3 L K1000 1 0 0 0
4 / D36 1 0 1 0 0
5 ] 1 5 0 1 0
6 = D100 1 5 0 1 0 1 5 0 1 0
Program-stack:
1 5 0 0 0
Line 1: The content of Doubleword D12 is loaded into the Word Accumulator.
Line 2: Open parentheses: buffer the Accumulator content in the Program Stack.
Line 3: A constant is loaded into the Word Accumulator.
Line 4: The content of the Word Accumulator is divided by the content of Doubleword D12.
Line 5: Close parentheses: Accumulator content is gated, corresponding to the command
(+[, -[, x[ ...) with the content of the Program Stack.
Line 6: The result of the complete logical process is assigned to Doubleword D100.
Logic Byte/Word/Double
Execution time [s] ---- 0.5 to 0.8
Number of bytes ---- 6
Operands: none
Logic Byte/Word/Double
Execution time [s] ---- 0.5 to 0.8
Number of bytes ---- 6
Operands: none
Logic Byte/Word/Double
Execution time [s] ---- 0.5 to 0.8
Number of bytes ---- 6
Operands: none
Logic Byte/Word/Double
Execution time [s] ---- 0.5 to 0.8
Number of bytes ---- 6
Operands: none
Logic Byte/Word/Double
Execution time [s] ---- 0.5 to 0.8
Number of bytes ---- 6
Operands: none
Logic Byte/Word/Double
Execution time [s] ---- 0.5 to 0.8
Number of bytes ---- 6
Operands: none
Example:
The Accumulator contents and operand contents are shown in decimal notation. The ten-position
Accumulator thus permits the maximum possible Accumulator content of 2 147 483 647.
The Accumulator is again represented in binary notation after program line 5, as the transition to
logic execution occurs here.
x x x x x x x x x x
1 L D12 1 5 0 0 0 1 5 0 0 0
2 >= [ 1 5 0 0 0
3 L K1000 1 0 0 0
4 x D36 1 0 0 0 0 1 0
bit 31 . . . 7 0
5 ] x x x x 1 x x x x x x x
6 = O15 x x x x 1 x x x x x x x 1
Program-stack:
1 5 0 0 0
Line 1: The content of Doubleword D12 is loaded into the Word Accumulator.
Line 2: Open parentheses: buffering of the Accumulator content in the Program Stack.
Line 3: Loading of a Constant into the Word Accumulator.
Line 4: The content of the Word Accumulator is multiplied by the content of Doubleword D12.
Line 5: Close parentheses: Word Accumulator content is gated, corresponding to the
command(==[, >=[, <=[ ...) with the content of the Program Stack . The transition from
Word to Logic processing occurs in this program line. The Logic Accumulator is set or
reset, depending on the result of the comparison.
Line 6: The result of the complete logical process is assigned to output O15.
Byte/Word/Double Constant
Execution time [s] 0.7 to 1.0 0.5 to 0.6
Number of bytes 6 8
Operands: B, W, D, K
Operation:
Since the sign bit (MSB) is included with this command, it is grouped in with arithmetic commands.
For this reason and out of time considerations, this command should not be used for the isolation of bits.
A SHIFT LEFT instruction causes the contents of the Word Accumulator to be multiplied by two. For this
purpose, the bits in the Accumulator are simply shifted by one place to the left. The result must lie in the
range of 2 147 483 648 to +2 147 483 647, otherwise the Accumulator contains an undefined value.
The number of shift events is defined by the operand. The Accumulator is filled on the right side
with nulls.
The Accumulator content is shown here in binary notation, and the operand content in hexadecimal
notation.
Byte/Word/Double Constant
Execution time [s] 0.6 to 0.9 0.3 to 0.5
Number of bytes 6 8
Operands: B, W, D, K
Operation:
Since the sign bit (MSB) is included with this command, it is grouped in with arithmetic commands.
For this reason and out of time considerations, this command should not be used for the isolation of bits.
A SHIFT RIGHT instruction causes the contents of the Word Accumulator to be divided by two. For this
purpose, the bits in the Accumulator are simply shifted by one place to the right. The number of the shift
operations is determined via the operand. Thus the set bits, which are shifted beyond the Accumulator to
the right, are lost; the Accumulator is filled according to the sign, from the left-hand side. With operand
contents greater than 32, the operand value Modulo 32 is used, i.e. the integer remainder from the division
(operand value)/32.
Example:
The content of the Doubleword D8 is to be shifted four times to the right and then stored in D12.
The Accumulator content is shown here in binary notation and the operand content in hexadecimal
notation.
Byte/Word/Double Constant
Execution time [s] 0.5 to 0.8 0.3 to 0.4
Number of bytes 6 8
Operands: B, W, D, K
Operation:
With this command, each bit in the Accumulator can be acted on. The addressed bit is set to "1"
through the use of the BS command. The selection (addressing) of the corresponding bit is derived
from the content of the specified Operand or a Constant. In the bit-numbering, bit 0 corresponds to
the LSB and bit 31 the MSB. For operand contents larger than 32, the operand value Modulo 32 is
used, i.e. the integer remainder from the division (operand value)/32.
Example:
Load Doubleword D8 in the Accumulator, set the bit 0 of the Accumulator to "1" and store the result
in Doubleword D12.
xx xx xx xx
1 L D8 00 00 3E 80 00 00 3E 80
2 BS K+0 00 00 3E 81
3 = D12 00 00 3E 81 00 00 3E 81
Byte/Word/Double Constant
Execution time [s] 0.5 to 0.8 0.3 to 0.4
Number of bytes 6 8
Operands: B, W, D, K
Operation:
With this command, each bit in the Accumulator can be acted on. The addressed bit is set to "0"
through the use of the BC command. The selection (addressing) of the corresponding bit is derived
from the content of the specified Operand or a Constant. In the bit-numbering, bit 0 corresponds to
the LSB and bit 31 the MSB. For operand contents larger than 32, the operand value Modulo 32 is
used, i.e. the integer remainder from the division (operand value)/32.
Example:
Load Doubleword D8 in the Accumulator, set bit 0 of the Accumulator to "0" and store the result in
Doubleword D12.
xx xx xx xx
1 L D8 00 00 3E 81 00 00 3E 81
2 BC K+0 00 00 3E 80
3 = D12 00 00 3E 80 00 00 3E 80
Byte/Word/Double Constant
Execution time [s] 0.6 to 1.1 0.3 to 0.5
Number of bytes 8 0
Operands: B, W, D, K
Operation:
With this command, the status of each individual bit in the Accumulator may be interrogated. With
BT commands, a direct transition from Word to Logic execution takes place. The BIT TEST tests the
status of a bit from the Word Accumulator and then acts correspondingly on the Logic Accumulator.
If the tested bit is "1", then the Logic Accumulator is also set to "1"; if it is "0" ,it is set to "0". The
program continues in logic execution. The selection (addressing) of the corresponding bit is derived
from the content of the specified Operand or a Constant. In the bit-numbering, bit 0 corresponds to
the LSB and bit 31 the MSB. For operand contents larger than 32, the operand value Modulo 32 is
used, i.e. the integer remainder from the division (operand value)/32.
Example:
Load Doubleword D8 in the Accumulator, and assign the logic state of bit 0 to an Output.
Word Accumulator and operand contents are shown here in hexadecimal notation, the Logic
Accumulator in binary representation.
xx xx xx xx
1 L D8 00 00 3E 81 00 00 3E 81
2 BT K+0 00 00 3E 81
3 = O12 x x x x x x 1 x x x x x x x 1
Operands: M, I, O, T, C
Operation:
With the PS command, data can be buffered. Thus the addressed operand is loaded onto the Data
Stack. Since the Data Stack is organised as 16 bit, a minimum width of one Word must be used in
writing to it. During this the operand value is copied into bit 7 of the current address in the Data
Stack. The free bits of the reserved memory are undefined or unused. In the event of a Stack
overflow, an error message will be issued.
Bit 15 7 0
x x x x x x x x L x x x x x x x
Operands: B, W, D, K
Operation:
With the PS command, data can be buffered. Thus the addressed memory area (B, W, D, K) is
copied into the current address of the Data Stack. With Word execution, two Words are reserved as
standard on the Data Stack per PS command. The operand is extended in the Stack with sign
justification corresponding to the MSB. In the event of a Stack overflow, an error message will be
issued.
Bit 31 15 7 0
Byte X X X X X X X X X X X X X X X X X X X X X X X X B B B B B B B B
Word X X X X X X X X X X X X X X X X W WW WW WW W W W W WW WW W
Constant K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K
Operands: M, I, O, T, C
Operation:
The PL command complements the PS command. Data which are saved with PUSH can be taken
from the Data Stack again with PULL. With logic execution, bit 7 is copied from the current address
of the Data Stack into the addressed operand with a PL command. If the Stack is empty, an error
message will be issued.
Operands: B, W, D
Operation:
The PL command complements the PS command. Data which are saved with PUSH can be taken
from the Data Stack again with PULL. With Word execution, two Words are copied from the current
address of the Data Stack into the addressed memory area with a PL command. If the Stack is
empty, an error message will be issued.
Operands: none
Operation:
The Logic Accumulator can be buffered with the PSL command. For this purpose, the Logic
Accumulator is loaded onto the Data Stack. Since the Data Stack is organised as 16 bits, it must be
written to with a minimum width of one Word. During this the content of the Logic Accumulator is
copied into the current address of the Data Stack. The free bits of the reserved memory are
undefined or unused. In the event of a Stack overflow, an error message will be issued.
Bit 15 7 0
x x x x x x x x L x x x x x x x
Operands: none
Operation:
The content of the Word Accumulator can be buffered with the PSW command. For this purpose,
the Word Accumulator is copied into the Data Stack. The content of the Word Accumulator (32 bit)
reserves two Words on the Data Stack. In the event of a stack overflow, an error message will be
issued.
Operands: none
Operation:
The PLL command complements the PSL command. With a PLL instruction, bit 7 from the current
address of the Data Stack is copied into the Logic Accumulator. If the stack is empty, an error
message will be issued.
Operands: none
Operation:
The PLW command complements the PSW command. With a PLW instruction, two Words are
copied from the Data Stack into the Word Accumulator. If the stack is empty, an error message will
be issued.
50 PSW 1 A 4 4 3 E 1 8
52 CM 15
54 PLW 1 A 4 4 3 E 1 8
55 .
.
.
Data stack:
1 A 4 4
3 E 1 8
Line 50: Save the Word Accumulator onto the Data Stack.
Line 52: Subprogram 15 is called up.
Line 54: The original Accumulator contents are transferred back from the Data Stack and
is available for further program run.
Note:
The sequence for stack operations is the same for all commands. Only the data width varies.
Operation:
A JP command instructs the processor to continue the program at the specified jump address
(Label). This command interrupts a logic sequence.
Operation:
A JPT command is a conditional jump command. If the Logic Accumulator is "1", the program is
continued from the specified jump address (Label). If the Logic Accumulator is "0" the jump is not
processed. This command interrupts a logic sequence.
Operation:
A JPF command is a conditional jump command. If the Logic Accumulator is "0", the program is
continued from the specified jump address (Label). If the Logic Accumulator is "1", the jump is not
processed. This command interrupts a logic sequence.
Bit 31 . . . 7 0
... x x x x x x X x x x x x x x
1 L I5 ... x x x x x x 1 x x x x x x x 1
2 JPT 10 ... x x x x x x 1 x x x x x x x
3 L I3
4 O M500
5 = O20
6 LBL 10
7 L M100 ... x x x x x x 0 x x x x x x x 0
Operation:
A Call Module instructs the processor to leave the main program and process the Module
designated by the jump address (LBL). Modules are independent subprograms and are terminated
by the command EM. They can also be called at multiple points in the main program. This command
interrupts a logic sequence.
Operation:
A CMT command is a conditional Call Module. If the Logic Accumulator is "1", the Module with the
specified jump address (Label) is processed. If the Logic Accumulator is "0", the main program
continues without a Call Module. This command interrupts a logic sequence.
Operation:
A CMF command is a conditional Call Module. If the Logic Accumulator is "0", the Module with the
specified jump address (Label) is processed. If the Logic Accumulator is "1", the main program
continues without a Call Module. This command interrupts a logic sequence.
Bit 31 . . . 7 0
... x x x x x x X x x x x x x x
1 L I5 ... x x x x x x 0 x x x x x x x 0
2 CMF 10 ... x x x x x x 0 x x x x x x x
3 L M100 ... x x x x x x 1 x x x x x x x 1
499 EM
500 LBL 10
501 L I3 ... x x x x x x 0 x x x x x x x 0
504 EM
Operands: none
Operation:
Every program and/or every subprogram (Module) is terminated with an EM command. An EM
command in a Module initiates the return jump to the Call Module (CM, CMT, CMF). The program is
continued with the instruction following the Call Module. The command EM is handled as program
end criterion; thus subsequent program instructions can be reached using a jump address.
Operation:
An EMT command only initiates a return jump to the Call Module (CM, CMT, CMF) when the Logic
Accumulator is "1".
Operation:
An EMF command only initiates a return jump to the Call Module (CM, CMT, CMF) when the Logic
Accumulator is "0".
Operation:
The jump label defines a program position as an entry point for the CM and JP commands. Jump
labels may be allocated addresses in the range 0 to 511. Up to 1000 jump labels per file can be
defined.
The ASCII name of the jump label may be up to 32 characters long, but only the first 16 characters
are used to distinguish jump labels.
For importing global jump labels, see EXTERN instruction.
Example: = B100[X]
X can assume values from -100 to +923 which corresponds to addressing the complete available
address space for the Byte operand type. If the address space is overshot the error message
"ERROR IN PLC PROGRAM 56" flashes in the display. Reset with END to display the error line in the
PLC Editor.
Before using a command with the index-register it must be assigned a defined value. At the
beginning of each PLC cycle the index register is set to 0.
Mn[X]
In[X]
On[X]
Cn[X]
Tn[X] Operand number = n+X
The following commands have been introduced to permit data interchange between the Word
Accumulator and the Index Register or between the Stack and Index Register:
1 128
1 128
S0
S1
S2
S3
Example:
1 128
C O O L A N T 1 O N
STRING Accumulator and STRING memory are volatile, and so are again deleted upon powering off.
For STRING execution, the new operand "S" has been introduced. The operand "S" may be used with
various arguments.
The operand "S" is only used in STRING execution. The following locations may be addressed with
the various arguments:
STRING memory: Should a STRING memory be addressed, the number of the required memory
(S0-S3) must be specified after the Operand-Designation.
Part of a STRING: If only part of a STRING is to be addressed, then this can be done by addressing
Sn^X (see INDEX REGISTER).
The substring will be addressed from the X-th character in the specified STRING.
Immediate STRING: A STRING can also be entered directly into the PLC program. The Text
STRING, which may contain 0 37 characters, must be identified by quotation marks.
Example: S "COOLANT 1 ON"
Text from the PLC-Error Message files and/or from the PLC-Dialogue files: Text from the active
error message or dialogue files may be read by the input of the line number.
The character sequence #Exx or #Dxx is entered in the Argument <arg> for the STRING-Command.
A 5 Byte long character train <SUB> E0xx or <SUB> D0xx is loaded into the Accumulator ( <SUB>
= ASCII <SUB> ). Instead of this character train, the line xx of the active error message or dialogue
file is read for display on the screen.
Note:
The execution times depend on the length of the STRINGS. The specified times indicate maximum
values. For the Immediate STRINGS, the length "n" of the STRINGS must respectively be added to
the command length; should this be odd, the next larger even length must be added.
Operands: S <arg>
Operation:
The STRING Accumulator is loaded with this L command. The selection of the STRINGS to be
loaded, proceeds using the Argument <arg> after the operand designation.
Refer also to operand explanation.
Operands: S <arg>
Operation:
With this command another STRING is added to the STRING in the STRING Accumulator. The
selection of the STRINGS, which should be added, proceeds using the Argument <arg> after the
operand designation. Refer also to operand explanation. The resultant STRING must not be longer
than 128 characters.
Operands: S <arg>
Operation:
With the = command a STRING from the STRING Accumulator is stored in a STRING memory. The
selection of the memory, into which the STRING should be copied, proceeds using the Argument
<arg> after the operand designation. Whereby only the Arguments 0 3, which address a STRING
memory (S0 S3) are valid here.
Refer also to operand explanation.
Operands: S <arg>
Operation:
With the OVWR command a STRING from the STRING Accumulator is stored in a STRING memory.
This command functions in a similar manner to the = command, with the difference that the
character "STRING-End" is not transferred alongside. By this means, the beginning of a STRING
which is already in the STRING memory, can be overwritten.
The selection of the memory, into which the STRING should be copied, proceeds using the
Argument <arg> after the operand designation. Whereby only the Arguments 0 3, which address a
STRING memory (S0 S3) are valid here.
Refer also to operand explanation.
1 128
S0 O I L
S1 N O C O O L A N T
S2
S3
Line Instruction STRING Accumulator
1 128
1 L S "HYDRAULICS" H Y D R A U L I C S
2 + S0 H Y D R A U L I C S O I L
3 OVWR S1 H Y D R A U L I C S O I L
If PLC-Error messages or PLC-Dialogue texts are entered, the position in the file (0 to 4095) is
compared, not the actual text as with Immediate STRING.
The execution times depend on the length of the STRINGS. The quoted times represent maximum
values. With the Immediate STRINGS, the length "n" of the STRINGS respectively must be added to
the command length. In the event that this is odd, the next larger even-numbered length must be
added.
Operands: S <arg>
Operation:
With this command a direct transition from STRING- to logic execution takes place. The content of
the STRING Accumulator is compared with the STRING in the Argument.
If the STRING Accumulator and the operand are equal, the condition is true and the Logic
Accumulator is set to 1. If they are not equal the Logic Accumulator is set to 0.
Operands: S <arg>
Operation:
With this command a direct transition from STRING to Logic execution takes place. The content of
the STRING Accumulator is compared with the STRING in the Argument. If the STRING Accumulator
is smaller than the operand, the condition is true and the Logic Accumulator is set to 1. If the STRING
Accumulator is greater than or equal to the operand the Logic Accumulator is set to 0.
Operands: S <arg>
Operation:
With this command a direct transition from STRING- to logic execution takes place. The content of the
STRING Accumulator is compared with the STRING in the Argument.
If the STRING Accumulator is greater than the operand, the condition is true and the Logic Accumulator is
set to 1. If the STRING Accumulator is less than or equal to the operand the Logic Accumulator is set to 0.
Operands: S <arg>
Operation:
With this command a direct transition from STRING- to logic execution takes place. The content of the
STRING Accumulator is compared with the STRING in the Argument.
If the STRING Accumulator is less than or equal to the operand, the condition is true and the Logic
Accumulator is set to 1. If the STRING Accumulator is greater than the operand the Logic Accumulator is
set to 0.
Operands: S <arg>
Operation:
With this command a direct transition from STRING- to logic execution takes place. The content of the
STRING Accumulator is compared with the STRING in the Argument. If the STRING Accumulator is
greater than or equal to the operand, the condition is true and the Logic Accumulator is set to 1. If the
STRING Accumulator is less than the operand the Logic Accumulator is set to 0.
Operands: S <arg>
Operation:
With this command a direct transition from STRING- to logic execution takes place. The content of
the STRING Accumulator is compared with the STRING in the Argument.
If the STRING Accumulator is not equal to the operand, the condition is true and the Logic
Accumulator is set to 1. If the STRING Accumulator is equal to the operand the Logic Accumulator is
set to 0.
1 128
S0 S P I N D L E 2
S1
2 <> S0 S P I N D L E 2
These markers are listed separately in the submit job. This means that the same markers can be
edited as those in the PLC run program without changing the original markers.
Exact times cannot be given for the commands for the management of the Submit queue. The
execution times denote maximum values.
Operation:
The SUBM command allots an "Identifier" (1 to 255) to the subprogram, designated by the jump
address (LBL). Simultaneously, the allocated number is written to the Word Accumulator. If there
are already programs transferred into the Submit queue, the addressed program will not be
processed until the program immediately prior to it is finished. A submission to the queue may only
take place from a PLC program, a SUBM command in a Submit program is not possible.
If no location is free in the queue, or if the SUBM command is programmed in a Submit program
(nesting), a "0" will be returned to the Word Accumulator.
Operands: B, W, D
Operation:
With the RPLY command the Status of the Submit program is interrogated with the specified
Identifier. This Identifier must already be stored in a Byte, Word or Doubleword prior to the calling up
of the Submit program. With the RPLY command and the memory address specified above, which
contains the Identifier, one of the following messages about the status is transferred to the Word
Accumulator:
Operands: B, W, D
Operation:
With the CAN command the Submit-Program with the specified Identifier is cancelled during
execution or removed from the queue. This Identifier must already be stored in a Byte, Word or
Doubleword prior to the calling up of the Submit-Program. After the cancellation of the Program, the
next Submit program in the queue will immediately be processed.
The following PLC modules cannot be cancelled with CANCEL at any desired point:
PLC module for access to the screen (908X).
PLC module for reading NC files (909X).
In these cases, the RPLY command must be used to check whether or not the CAN command may
be used.
In this case, the contents of the Submit program could, for example, be a display in the PLC
window, which can be done via a fixed PLC Module.
Example:
L KF VALUESFIELD ;ACCESS TO VALUESFIELD WITH
VALUESFIELD[X]
;X=[0 TO 3]
= W0 ONE OF THE CONSTANTS IS
STORED
EM
KFIELD VALUESFIELD
K+10 CONSTANT TO BE LOADED IF X=0
K+1
K$ABC
K-100000 CONSTANT TO BE LOADED IF X=3
ENDK
Access to Constants Fields is checked in the same way as write access to indexed operands. This is
why X may only assume positive values from 0 to "Length of Constants Field -1".
Instructions IFT, IFF, WHILET, WHILEF, ENDW, UNTILT and UNTILF require a valid gating result in
the Logic Accumulator. They terminate the gating chain.
Instructions ELSE, ENDI and REPEAT require all gating chains to be terminated first.
IFT (If Logic Accu True) Following code only if Logic Accumulator=1
IFF (If Logic Accu False) Following code only if Logic Accumulator=0
ELSE (else) Following code only if IF not fulfilled
ENDI (End of IF-Structure) End of IF Structure
Example:
L I0
IFT ;If Logic Accu=1
.... ;Program code for I0 = 1
ELSE ; can be omitted
Internal jump labels are generated for the IF and ELSE instructions.
Example:
= M100 ;end of previous chain
REPEAT ;repeat following code
..... ;code to be executed
LX ;load Index Register
>= K100 ;check Index Register
UNTILT ;repeat until X>=100
An internal jump label is generated for the REPEAT ... UNTIL structure.
A WHILE ... ENDW loop is only run when the WHILE condition is fulfilled at the beginning. The
execution condition must be repeated before the ENDW instruction. The condition can also be
repeated differently than before the WHILE instruction!
Example:
.....
L M100 ;create condition for 1st WHILE scan
WHILET ;execute following code if Logic Accumulator = 1
..... ;code to be executed
L M101 ;create condition for repeat processing
A M102 ;next condition
ENDW ;return to WHILE scan
Two internal jump labels are generated for the WHILE ... ENDW structure.
Byte Word
Execution time [s] 3.3 to 3.8 3.3 to 3.8
Number of bytes 46 44
4 bytes must be added to the length for each entry in the jump table (CM).
Operands: B, W
Operation:
The CASE command is used to select a defined subprogram from a list of module calls (CM). These
CM commands come directly after the CASE command and are numbered internally in ascending
order from 0 to 127 maximum. The content of the operand (B, W) addresses the desired module.
Byte Word
Execution time [s] 0 0
Number of bytes 0 0
Operands: none
Operation:
The ENDC command is used together with the CASE command. It must come directly after the list
of CM commands.
Line 1: Command + Operand; the internal address of the required module must be filed in the
operand
Line 2: Call Module if operand content 0
Line 3: Call Module if operand content 1
Line 4: Call Module if operand content 2
Line 5: Call Module if operand content 3
Line 6: Call Module if operand content 4
Line 7: Call Module if operand content 5
Line 8: Call Module if operand content 6
Line 9: End of CASE instruction
Splitting the source code up into a number of files helps improve clarity and overview by swapping
out individual function groups.
The number of possible jump labels increases dramatically because the maximum of 1000 jump
labels can be used for each individual file. This means a theoretical number of 60,000 jump labels for
60 files.
In all, up to 64 files can be linked to form a program. Each file can generate up to 64 K of code. The
total potential length of the code is limited to 128 K (TNC 407: 64 K).
Where several files exist, the main program must have the status flag "M" in the directory. In the
RAM this is done by selecting the PLC program function "COMPILE" once, in the EPROM it is done
by specifying the /M option after the main program in the Linker file for binary output.
Linking files from the RAM is not allowed when executing from the EPROM (MP4010 = 0).
When executing from the RAM (MP4010 = 1) the file is searched first in the RAM and then in the
EPROM.
The USES instruction only links the file, the program code for the file is not executed, i.e. USES
cannot be compared to a CM instruction. The linked files must therefore contain individual modules
which can then be called with CM instructions.
PLCMAIN.PLC
;main program
USES SPINDEL.PLC
USES TCHANGE.PLC
;code
TCHANGE.PLC SPINDEL.PLC
;tool change ;spindle control
USES PLCUPG.PLC USES PLCUPG.PLC
;code ;code
PLCUPG.PLC
;general subprograms
;Code
Syntax:
GLOBAL jump label ;declaration of "jump label" beyond the file boundary
GLOBAL definitions must not be written in the main program. A single jump label cannot be
declared globally by more than one module, however a name that has been declared globally by file
A can be used again locally in file B.
In all, 1000 jump labels can be defined globally by all modules.
Syntax:
EXTERN Jump label ;the "Jump Label" Module can now be called from another file
with the CM instruction.
73 Commands
Constraints:
- Copying is sequential, starting with the first memory cell. This means that the function is not
guaranteed when the source and destination blocks overlap and the source block begins at a lower
address than the destination block. In this case the overlapping part of the source block is
overwritten before copying takes place.
Possible errors:
- A block of the defined length cannot be read from the defined address in the marker or word RAM
(address is too high or block is too long).
- A block of the defined length cannot be written to the defined address in the marker or word RAM
(address is too high or block is too long).
Call:
or
Possible errors:
- The defined address is outside the valid range (0..1023).
- Module 9011: The defined address is not a word address (not divisible by 2).
- Module 9012: The defined address is not a doubleword address (not divisible by 4).
Call:
or
or
Wortspeicher STACK
B10 35 ..
.
35 (80) PS B10
CM9010
B35 80
PL
.. B100
.
B100 80
Possible errors:
- The defined address is outside the valid range (0..1023).
- Module 9021: The defined address is not a word address (not divisible by 2).
- Module 9022: The defined address is not a doubleword address (not divisible by 4).
Call:
or
or
Wortspeicher STACK
B10 35 ..
.
120 PS B10
PS B100
B35 120 35
CM9020
..
.
B100 120
Constraints:
- The value of the machine parameter must be specified as an integer, with the decimal point
shifted by the number of possible places after the decimal. Example: to set MP910.0 to 100.12
mm write 1001200 (four places after the decimal lead to a multiplication by 10000).
- Only the value in the run-time memory is modified, the value in the editable machine parameter list
does not change. This means that the old value is valid again after editing and escaping from the
machine parameter list.
- Zero must be given as the index for non-indexed machine parameters.
- Once the NC program has started the module only operates during the output of M/G/S/T/T2/Q
strobes.
- Not every MP can be modified by the PLC. The machine parameters that can be modified by the
PLC are marked "PLC" in the chapter "Machine Parameters".
Possible errors:
- The machine parameter specified by the MP number and index does not exist.
- The specified MP cannot be modified by the PLC or not once the NC program has started.
- The module was not called from a Submit Job.
- The module was called after the NC program started without a strobe marker being active.
Call:
Constraints:
- The value of the machine parameter is returned as an integer, with the decimal point being shifted
by the number of possible places after the decimal. Example MP910.0 = 100.12 mm is read as
1001200 (four places after the decimal lead to a multiplication by 10000).
- Only the value from the editable machine parameter list is read, not any value in the run-time
memory modified by PLC Module 9031.
- Zero must be given as the index for non-indexed machine parameters.
Possible errors:
- The machine parameter specified by the MP number and index does not exist.
- The module was not called from a Submit Job.
Call:
Constraints:
- The module can only be called from a SUBMIT Job.
- The module disregards any safety problems when initiating the control reset (e.g. free run-out of
axes and spindle).
- The module can only be used on files in the RAM.
- The new MP file to be selected is checked, a faulty file is not selected.
- There is no return to the calling PLC program if file selection is successful.
- The file name is specified in a string that must contain the file name with extension. Additional
characters (including blanks) are not allowed.
- If the PLC program is created externally ensure that lower-case letters are not used for the file
name.
- Once the NC program has started the module only operates during the output of M/G/S/T/T2/Q
strobes.
Call:
11 Handwheel 0..10
subdivision factor X axis
12 Handwheel 0..10
subdivision factor Y axis
13 Handwheel 0..10
subdivision factor Z axis
14 Handwheel 0..10
subdivision factor 4th axis
15 Handwheel 0..10
subdivision factor 5th axis
17 Display units 0 = MM
1 = INCH
18 Working plane Bit0 = 1 Tilting is active
Bit1 = 1 Tilting is selected for manual operation
Bit2 = 1 Tilting selected for program run
Possible errors:
- The specified input parameter describes none of the status information available in the software
version used.
Call:
Constraints:
- Handwheel subdivision factors are limited to the lowest possible value according to the rapid
traverse of the corresponding axis. There is no error message however.
- A handwheel subdivision can only be specified by MP7641=1.
- The value for the jog increment limit is transmitted in units of 1/10 000 mm
- After power switch-on the jog increment limit is always erased
- If the jog increment limit is entered in inches, the limit value [] for rotary axes is calculated from
the limit value in millimeters divided by 24.5.
- The input parameter "Number of status information" does not identify status information that can
be overwritten in this software version.
- The specified value is outside the range valid for this status information.
- The entry of this status information is disabled, e.g. by machine parameters.
Call:
PS B/W/D/K <Number of status information>
PS B/W/D/K <value to be written>
CM 9036
PL B/W/D <Error identifier> 0: Status written
1: Wrong status identifier
2: Specified value out of range
3: Entry disabled (e.g. by MP)
Module 9040 downloads axis coordinates for all NC axes from the control loop. The values are filed
in 5 doublewords in the format 1/1000 mm starting with the specified target address.
Constraints:
- The values for all axes are always downloaded irrespective of whether individual axes are disabled
by machine parameter MP10. The values for disabled axes are undefined.
- Before the reference point is traversed on an axis the coordinate value of that axis is undefined.
Possible errors:
- The argument for the coordinate type is outside the permitted range.
- The specified target address is not a doubleword address (i.e. not divisible by 4).
- 5 doublewords cannot be written at the specified target address (target address too big).
Call:
PS K/B/W/D <Target address Dxxx>
PS K/B/W/D <Coordinate type>
0 = Actual value
1 = Nominal value
2 = Actual value in reference system
3 = Trailing error
4 = Distance to go
5 = Deflection (measuring touch probe)
6 = Actual values in the shifted datum system (datum shift)
CM 9040
Module 9041 downloads axis coordinates for all NC axes from the control loop. The values are filed
in 5 doublewords in the format 1/10000 mm starting with the specified target address.
Constraints:
- The values for all axes are always downloaded irrespective of whether individual axes are disabled
by machine parameter MP10. The values for disabled axes are undefined.
- Before the reference point is traversed on an axis the coordinate value of that axis is undefined.
Call:
The coordinates for actual value, nominal value, actual value in reference system, trailing error and
distance-to-go of the spindle are filed in 5 consecutive doublewords starting from the specified
target address. The data for actual, nominal and reference values are standardized to 0..+360.000
degrees, the data for trailing error and distance to go are displayed between -2879.912 degrees and
+2879.912 degrees. The display is in 1/1000th degree format.
Constraints:
- All coordinates are read as 0 when MP3010 < 6 (not a controlled spindle).
- During operation as an analogue spindle (M3/M4 active or M5 and spindle control not active) the
nominal value equals the actual value. Trailing error and distance to go are 0.
Possible errors:
- The specified target address is not a doubleword address (i.e. not divisible by 4).
- 5 doublewords cannot be written at the specified target address (target address too big).
Call:
The number specified as mantissa and exponent is converted to a decimal number and stored at the
specified address as a string. The exponent relates to the lowest-value place in the number. A
negative number is detected when the mantissa corresponds to a negative number in the notation
as a two's complement. A sign is only set in front of negative numbers. Trailing zeroes after the
decimal point or leading zeroes before the decimal point are not converted, the string is written left-
justified starting from the specified target address in the string buffer.
Constraints:
- The decimal sign is defined by machine parameter MP7280 as a decimal comma (MP7280 = 0) or
a decimal point (MP7280 = 1).
Possible errors:
- The number of the target string is outside the permitted range (0..3).
- The conversion would result in more than 10 places after the decimal point.
- The conversion would result in more than 10 places before the decimal point.
Call:
Examples:
The specified number is converted to a decimal number and stored as a string in the specified
address.
The number is notated as a two's complement. When notated without a sign the absolute amount
of the number is converted without a sign being put before the string. With the signed notation a
sign ("+" or "-") is placed before the string in any event.
With the inch notation the numerical value is divided by 25.4 before being converted. If the number
has more decimal places than the total of specified places before and after the decimal point, then
the highest-value decimal places are omitted. With right-justified notation leading zeroes before the
decimal point are replaced by blanks, with left-justified notation they are suppressed. Trailing zeroes
after the decimal point are always converted.
Constraints:
- The decimal sign is defined by machine parameter MP7280 as a decimal comma (MP7280 = 0) or
a decimal point (MP7280 = 1).
Possible errors:
- The number of the target string is outside the permitted range (0..3).
- There are more than 16 decimal places in all (before and after decimal point).
- No places before the decimal point are specified.
Call:
The string identified by the source string number is read and converted to a signed number and an
exponent to the base 10. If the sign is missing the number is detected as positive. Both the comma
and the point are accepted as the decimal character. If the full extent of the mantissa cannot be
notated in a doubleword then the last places are omitted and the exponent corrected accordingly. If
possible the exponent is adjusted to correspond with the ASCII notation of the number.
Possible errors:
- The number of the source string is outside the valid range (0..3).
- The source string does not contain a string that can be interpreted as a number.
- The string overflows the end of the string buffer, 128 characters were read without an end of
string being found.
Call:
The specified number of bytes is read from the place specified by the source address and converted
to a hexadecimal-coded ASCII string. Each byte in the source block makes 2 characters in the
destination string. the destination string is identified by the destination string number.
Possible errors:
- The address for the source block is outside the range 0 to 1023.
- The number of the destination string is outside the valid range (0..3).
Call:
Example:
S0 = Hex 63 6 3
B0 = 99 0110 0011
The string in the string buffer with the specified number is interpreted as a chain of ASCII coded
hexadecimal numbers and converted into a block of corresponding binary bytes. Two ASCII
characters make one binary byte. The binary block is stored in the word marker range starting from
the specified destination address.
Possible errors:
- The number of the source string is outside the permitted range (0..3).
- The address for the destination block is outside the range 0 to 1023.
- The source string contains characters that cannot be interpreted as hexadecimal values (different
characters 0..9, A..F).
- The source string contains an uneven number of characters (the last byte is not fully defined).
- The destination block has no room at the specified address.
Example:
S0 = Hex 63 6 3
B0 = 99 0110 0011
Possible errors:
- The numbers of source or destination string are outside the valid range (0..3).
- There is no number in the specified source string.
- The source string has been searched without an end of string being found.
- The found number string is longer than 79 characters, i.e. internal overflow.
Call:
Beispiel: 1 11
S0 X - P O S . : 1 2 3
S1 1 2 3 1 1 STACK
Possible errors:
- The number of the source string is outside the valid range (0..3).
- The source string has been searched without an end of string (<NUL>) being found.
Call:
Constraints:
- This job cannot be aborted by a CAN command during processing of the module in a SUBMIT Job.
The module is also active when the currently selected screen shows no PLC status window (e.g.
large graphic displays) or when the screen with PLC status window is in the background.
Possible errors:
- The module has not been called from a SUBMIT Job.
CM 9080
The status is transferred bit-coded to the stack. Bit #0 is set when a window for PLC status display
is on the selected screen. This is not the case with a full-page graphic display, when a program is
selected or in the MOD operating mode. Bit #1 is set when the screen with the PLC status window
is in the foreground. All other bits are cancelled.
Call:
CM 9081
PL B/W/D <Status of screen window>
The string that is identified by the string number and which ends on the ASCII character <NUL> is
displayed in the screen window for the PLC status display on line 0 (top line) or 1 (bottom line) and
from column 0 (left margin) to 37 (right margin) in the specified color (1 to 15).
Line 0
Line 1
Column 0 37
References to PLC dialogues or PLC error messages are deleted. If the specified dialogue or error
number is greater than the length of the corresponding file, then ASCII character `@' is displayed
instead . If the text contains a non-displayable character except the string end, then ASCII character
`^' is displayed instead.
Constraints:
- The character set that is used is determined by the size of the screen window, i.e. the current
operating mode, and cannot be modified. The color refers to one of the machine parameters
MP735x or MP732x and can be seen from the following table:
Colors 1 to 5 (or 1, 2 and 4 with NC software 24305 and 24307) are background colors and contrast
poorly. Color 2 in particular is the background color for the PLC window and so cannot be used as a
foreground color in this window. Colors 11 and 12 are the foreground colors that go with background
color 2 depending on how the machine parameters are grouped, and should therefore be given
preference for displaying dialogues and status information. The NC control uses color 15 to display
error messages and is therefore recommended for displaying alarms and error conditions.
If color 0 is specified, then the text appears in the same color as the last displayed character.
Because the complete line is always displayed again in the window when a string is displayed (even
when a column greater than 0 is specified), a text (e.g. "Spindle Output") with the color 0 is always
displayed in the color of the numerical value to its left (e.g. color 11 when output is under 110% and
color 15 when output is over 110%) even though PLC Module 9082 only displays the numerical
value again. If the color 0 is specified for the first characters on a line however, then the color in
which these characters are displayed is not defined and can change between two displays of the
line.
When PLC Module 9082 is used in conjunction with software 24305 or 24307, the display of colors
3 to 7 varies with the selected graphics. These colors should therefore be avoided where possible to
prevent the display changing when different graphics are selected. This problem does not arise with
NC software releases 25996, 24302 and 25993.
If no screen window is currently shown for the PLC status display (window is not opened or in
background) the module will run through normally and the string is not displayed until the
corresponding screen window is displayed again and provided the string has not been overwritten
by a repeat call of Module 9082 in the meantime. Module 9081 can be used to check whether the
display is currently active. This job cannot be aborted by a CAN command during processing of the
module in a SUBMIT Job.
Call:
Error status after call: M3171 = 0: String displayed (when screen window for
PLC status is displayed)
1: No display, error condition see above
A bar chart can be displayed in the left half of each line in the PLC status window. In this mode the
ASCII text only appears in the right half of every line (19 characters max.).
Line 0
Line 1
Column 0 150 0 19
The operator must specify the line, maximum length (0...150), current length (<= maximum length)
and the colors of the bars or the margin and scale graduation (0...15). If the maximum length
exceeds 150 it is limited to 150. If current length exceeds maximum length then it is limited to the
maximum length.
The chart comprises a rectangular grid with the maximum length and height of the ASCII characters.
A scale graduation is shown at the top after every 10 units. The bar starts from the left hand edge of
the grid. The unused part of the grid is filled in with the background color.
Constraints:
- The height of the bar chart varies according to the size of the screen window, i.e. the current
operating mode, and cannot be modified.
Color 2 is the background color for the screen window and can be used for margin and scale
graduations if these are not to be displayed. If no screen window is currently shown for the PLC
status display (window is not opened or in background) the module will cycle normally and the bar
chart will not be displayed until the corresponding screen window reappears and provided the chart
is not overwritten by a repeat call of Module 9083 in the meantime. Module 9081 can be used to
check whether the display is currently active. This job cannot be aborted by a CAN command during
processing of the module in a SUBMIT Job.
Possible errors:
- The module was not called from a SUBMIT Job.
- A line less than 0 or greater than 1 was specified.
The bar chart is not displayed on screen in any of these error modes.
Call:
Error status after call: M3171 = 0: String displayed (when screen window for PLC status is
displayed)
1: No display, error condition see above
With module 9090 the PLC can select a block of NC files for execution. The file names must be
defined in a pallet file (.P) that must be selected by the machine (status "M" in directory). Module
9090 can only run within a SUBMIT Job in the PLC Queue.
Constraints:
- If no datum table is specified in the pallet file then the previous file is retained.
- If the file type "Datum Table" is disabled in machine parameter MP7224 then any datum table
specified in the pallet file will be ignored.
- If the file types "Plain Language NC Program" or "DIN/ISO NC Program" are disabled in machine
parameter MP7224 then the system will not search for files of this type. If a file of this type is
explicitly defined in the pallet file then the routine will report an error (NC program not found).
- This job cannot be aborted by a CAN command during processing of the module in a SUBMIT Job.
Possible errors:
- The module was not called from a SUBMIT Job.
- The module was called while an NC program was being executed.
- The control is not in the basic mode for executing NC programs (full sequence or single block
mode).
- There is no pallet file in the NC memory that bears an "M" flag in the directory.
- A line number has been specified but is not in the selected Pallet file.
- The NC program in the pallet file has an incorrect type designation or the point between filename
and file extension is missing (i.e. all extensions except ".I" or ".H" and more than 8 characters in the
filename).
- The NC program specified in the pallet file is not in the NC memory.
- The NC program name specified in the pallet file is not clear. It has no extension and the NC
memory contains both an ".H" program and an ".I" program with this name.
- The datum table (".D") specified in the pallet file is not in the NC memory.
With Module 9092 values can be sought in specific columns in a table (with M status set) selected
for machining. The function supplies the number of the line in which the value is found. This makes
it possible, for example, to search for the vacant pocket (corresponding to T0) in the pocket table
(.TCH).
Constraints:
- The module can only run within a SUBMIT Job.
- The value must be entered as an integer, shifted by the number of definable places after the
decimal point.
- If the value is to be sought again, the starting line must be entered as the line in which the value
was found plus one.
Possible errors:
- The module was not called from a SUBMIT Job.
- There is no file of the specified type that has M status.
- The specified line number is not in the file.
- The specified file type does not exist.
- The specified element does not exist.
- The entered numerical value was not found.
Call:
PS B/W/D/K <File type>
PS B/W/D/K <Element value>
PS B/W/D/K <Element number>
PS B/W/D/K <Line number for beginning the search>
CM 9092
PL B/W/D <Line number> (1, if M3171=1)
PL B/W/D <Error number>
Values for file type: Values for element number for .T file:
0: .T file (Tool table) 0: Tool length
1: .D file (Datum table) 1: Tool radius
2: .TCH file (Pocket table) 2: spare
3: Replacement tool (-1 if not defined)
Values for element number for .D file: 4: spare
0: Offset X 5: Max. tool life
1: Offset Y 6: Max. tool life with Tool Call
2: Offset Z 7: Current tool life
3: Offset 4 8: 2nd tool radius
4: Offset 5 9: Allowance on tool length
10: Allowance on tool radius
Values for element number for .TCH file 11: Allowance on 2nd tool radius
(pocket table): 12: Tool disabled (0= no, 1= yes)
0: Tool number (1 if no tool entered) 13: Number of tool cutting edges (CUT)
1: Special pocket (0= no, 1= yes) 14: Tolerance for tool length (LTOL)
2: Fixed pocket (0= no, 1= yes) 15: Tolerance for tool radius (RTOL)
3: Disabled pocket (0= no, 1= yes) 16: Cutting direction of the tool (DIRECT) (0 (0 =
4: PLC status (PLC) (available for OEM) = )
17: PLC status (PLC) (available for OEM)
18: Tool length offset (TT:LOFFS)
19: Tool radius offset (TT:ROFFS)
20: Breakage tolerance for tool length (LBREAK)
21: Breakage tolerance for tool radius (RBREAK)
Error numbers:
0: No error, element was read
1: Call was not from SUBMIT Job
2: No such file type
3: No file of specified type with M status found
4: Line number not in file
5: Wrong element number
6: Element value not found
PLC Module 9093: Read data from tables selected for execution (.T/.D/.TCH)
With Module 9093 the contents of a line can be read in a table (with M status set) selected for
execution. The module must be told the identifier of the desired table, the line number (= tool
number for .T, vector number for .D or pocket number for .TCH) and the number of the element to
be read.
Constraints:
- The module can only run within a SUBMIT Job.
- The values are returned as integers shifted by the number of definable places after the decimal
point.
Possible errors:
- The module was not called from a SUBMIT Job.
- There is no file of the specified type that has M status.
- The specified line number is not in the file.
- The specified file type does not exist.
- The specified element does not exist.
Error numbers:
0: No error, element was read
1: Call was not from SUBMIT Job
2: No such file type
3: No file of specified type with M status found
4: Line number not in file
5: Wrong element number
With Module 9094 the contents of a line can be overwritten in a table (with M status set) selected
for execution. The module must be told the identifier of the desired table, the line number (= tool
number for .T, vector number for .D or pocket number for .TCH), the number of the element to be
written and the new value. Running the module 9094 results in a new initialization of the geometry.
Constraints:
- The module can only run within a SUBMIT Job.
- The values must be entered as integers shifted by the number of definable places after the
decimal point.
Possible errors:
- The module was not called from a SUBMIT Job.
- There is no file of the specified type that has M status.
- The specified line number is not in the file.
- The specified file type does not exist.
- The specified element does not exist.
- The specified value is outside the permitted range.
Call:
PS B/W/D/K <File type>
PS B/W/D/K <Line number>
PS B/W/D/K <Element number>
PS B/W/D/K <Element value>
CM 9094
PL B/W/D <Error status>
The module selects the specified line in the active compensation assignment table (.CMA) as the
active line and activates the non-linear axis error compensation according to the compensation
tables entered on this line.
Constraints:
- The specified line stays selected as the active line after a control reset.
- Once an NC program starts the module only operates during the output of M/G/S/T/T2/Q strobes.
- The axis nominal values may alter slightly when the compensation table is switched over.
Possible errors:
- There is no .CMA file.
- The specified line does not exist in the selected .CMA file.
- One or more compensation tables (.COM) from the selected line do not exist.
- The module was not called from a Submit Job.
- The module was called after the start of an NC program without any strobe marker being active.
Call:
The PLC assigns and enables the interfaces with Modules 9100 and 9101 respectively; the current
status of the data interface can be interrogated with Module 9102.
The transmit and receive buffers for the PLC are 128 characters long. Since every STRING ends with
an END character a STRING in the transmit or receive buffer can only be up to 127 characters long.
As well as transmitting and receiving a STRING from the STRING memory (Modules 9103 and
9104), Modules 9105 and 9106 can be used to transfer a block of binary values (bytes) from the
Word memory.
However ASCII characters are transmitted and received across the interface in both instances
(STRING and binary transmission).
.
B126 11111010 = $ FA
. 10000001 = $ 81
. .
.
.
.
When transferring binary data from the Word memory from address B126 the ASCII characters "F",
"A", "8", "1" etc. are transmitted consecutively across the interface.
Since each byte contains two ASCII characters when transferring binary data, the transmit and
receive buffers are 63 bytes long.
With the help of Module 9107, when transferring binary data, each byte (two ASCII characters) can
be read from the receive buffer without the buffer being erased.
Constraints:
- The assignment of an interface to the PLC is cancelled when the PLC program is recompiled.
- Configuration for 19200 baud is not possible when the other interface is already configured for
38400 baud, and vice versa (irrespective of whether this interface is assigned to the PLC or the
NC).
- Module 9100 only operates within the scope of a Submit Job.
Possible errors:
- The interface is already assigned elsewhere (by the Input/Output program of the NC user
interface).
- The call parameters contain no valid values (0/1 for selecting the interface and defining the transfer
parameters).
- The required baud rate is not possible owing to the configuration of the other interface (see
Constraints).
- The Module was not called from a Submit Job.
Call:
Error status after call: M3171 = 0: Interface was configured for PLC
1: Error condition see above
Constraints:
- Module 9101 only operates within the scope of a Submit Job.
Possible errors:
- The interface was not assigned to the PLC.
- The Module was not called from a Submit Job.
Constraints:
- The information "interface ready" is only updated when the interface is assigned to either the PLC
or the NC. If the interface is not assigned, the Module reads the status which was valid before the
last interface enable (whether by PLC or NC).
- Module 9102 can also be called from the cyclical PLC program section.
Possible errors:
- The call parameter for interface selection is outside the permitted range (0..1).
Call:
Constraints:
- The interface must be assigned to the PLC and initialized by Module 9100 before Module 9103 is
called.
- Module 9103 only operates within the scope of a Submit Job.
Possible errors:
- The call parameters are outside the permitted range (0..1 for the interface, 0..3 for the string
number).
- The interface is not assigned to the PLC.
- The module was not called from a SUBMIT Job.
- The transmit buffer is not empty.
- Deleting the references to error and dialogue files has resulted in a string that is longer than 127
characters.
- A transfer error was detected when the transfer was initialized.
Call:
Constraints:
- The interface must be assigned to the PLC and initialized by Module 9100 before Module 9104 is
called.
- Module 9104 only operates within the scope of a Submit Job.
Possible errors:
- The call parameters are outside the permitted range (0..1 for the interface, 0..3 for the string
number).
- The interface is not assigned to the PLC.
- The module was not called from a SUBMIT Job.
- There is no complete string in the receive buffer.
- The string in the receive buffer is longer than 127 characters.
Constraints:
- The interface must be assigned to the PLC and initialized by Module 9100 before Module 9105 is
called.
- Module 9105 only operates within the scope of a Submit Job.
Possible errors::
- The call parameters are outside the permitted range (0..1 for the interface, 0..1023 for the start of
the binary block, 0..63 for the length of the binary block).
- The interface is not assigned to the PLC.
- The module was not called from a Submit Job.
- The transmit buffer is not empty.
- Because of its length the binary block cannot be read from the specified address (start+length >
1024).
- A transmit error was detected when the transmission was initialized.
Call:
Constraints:
- The interface must be assigned to the PLC and initialized by Module 9100 before Module 9106 is
called.
- Module 9106 only operates within the scope of a Submit Job.
Call:
Constraints:
- The interface must be assigned to the PLC and initialized by Module 9100 before Module 9106 is
called.
- Module 9106 only operates within the scope of a Submit Job.
- The system does not check whether characters of the received string are still at the place in the
receive buffer indicated by the offset. If this is not the case, then an undefined value is read.
Possible errors:
- The call parameters are outside the permitted range (0..1 for the interface, 0..63 for the offset in
the binary block).
- The interface is not assigned to the PLC
- The module was not called from a Submit Job.
- The receive buffer contains no data.
- The characters in the receive buffer cannot be interpreted as ASCII coded hexadecimal values
(== 0..9,A..F).
Constraint:
- The message is transmitted to the host by the LSV/2 command "M PC<msg.I>".
Possible errors:
- The control has no LSV/2 connection to a host computer.
- The transmit buffer for the transfer is full.
- A wrong value was specified for the data type (doubleword or string).
- A wrong value was specified for the address. String: 0..3 Binary: 0..1020, divisible by 4.
Call:
Constraint:
- The message must be sent from the host by the LSV/2 command "M PC<msg.I>".
Possible errors:
- The control has no LSV/2 connection to a host computer.
- There is no message of the desired type in the receive buffer.
- A wrong value was specified for the data type (doubleword or string).
- A wrong value was specified for the address. String: 0..3 Binary: 0..1020, divisible by 4.
Call:
Constraints:
- The specified axis must be activated by MP10 and declared by MP60 as a PLC axis.
- The values for rapid traverse, analogue voltage for rapid traverse, acceleration etc. must be set
correctly in the machine parameters.
- For axes with automatic reduction (modulo value in MP810.x) the axis always traverses to the
target position in the direction of the shorter traverse path unless the target position has been
specified as an incremental value.
- The system does not check for limit switch overshoot!
- The axis must be stationary. Any ongoing positioning must first be aborted with Module 9121.
- There is no feed-rate override.
- If the axis was previously in the "Search Reference Point" mode, this mode is cancelled.
Positioning always starts from the current register contents.
- If Modules 9120 (Start PLC Axis), 9121 (Stop PLC Axis) and 9122 (Traverse reference mark) are
called more than once for the same axis during a PLC cycle then only the last activated command
is executed.
- Any "Positioning error" status that is set in this axis is cancelled.
Possible errors:
- A non-existent axis has been specified.
- An axis has been specified that is not declared as a PLC axis by MP10 and MP60.
- An absolute target position outside the range (0 .. modulo value) has been specified for a modulo
axis.
- The axis is already positioning.
Call:
PS B/W/D/K <Axis> (0..4 for X/Y/Z/4/5)
PS B/W/D/K <Target position>
(in reference system, format 0.0001 mm)
PS B/W/D/K <Feed-rate>(mm/min)
PS B/W/D/K <Flag register>
Bit 0 = 1: Target position incremental
CM 9120
PL B/W/D <Error code>
0: Positioning has started
1: Non-existent axis specified
2: Axis not configured as PLC axis
3: Axis is already positioning
4: Absolute position outside modulo range
Constraints:
- The specified axis must be activated by MP10 and declared by MP60 as a PLC axis.
- If Modules 9120 (Start PLC Axis), 9121 (Stop PLC Axis) and 9122 (Traverse reference mark) are
called more than once for the same axis during a PLC cycle then only the last activated command
is executed.
Possible errors:
- A non-existent axis has been specified.
- An axis has been specified that is not declared as a PLC axis by MP10 and MP60.
- The specified axis is already stationary.
Call:
Constraints:
- Status changes as a result of commands sent by the PLC to the controller of the PLC axes
(Modules 9120, 9121, 9123) are not detected until the next PLC cycle.
- After power-up Bit 1 (axis over ref.) is cancelled. It is also possible to traverse the axis without first
approaching the reference point.
Possible errors:
- A non-existent axis has been specified.
Constraints:
- The specified axis must be activated by MP10 and declared by MP60 as a PLC axis.
- The values for rapid traverse, analogue voltage for rapid traverse, acceleration etc. must be set
correctly in the machine parameters.
- The system does not check for limit switch overshoot!
- The axis must be stationary. Any ongoing positioning must first be aborted with Module 9121.
- There is no feed-rate override.
- The "Search Reference Point" mode is set for the axis.
- An existing reference point on this axis is cancelled but not the numerical value of the axis. This is
not re-initialized until the reference point is located.
- If Modules 9120 (Start PLC Axis), 9121 (Stop PLC Axis) and 9122 (Traverse reference mark) are
called more than once for the same axis during a PLC cycle then only the last activated command
is executed.
- Any "Positioning error" status that is set in this axis is cancelled.
- Positioning stops as soon as the reference point is reached. Depending on the braking distance of
the axis, the latter will be slightly beyond the reference point in the direction of motion.
Possible errors:
- A non-existent axis has been specified.
- An axis has been specified that is not declared as a PLC axis by MP10 and MP60.
- The axis is already positioning.
The traversing speed of a PLC axis can be influenced by setting an override value.
Constraints:
- The axis must be activated through MP10 and be declared as a PLC axis in MP60.
- The override value can lie between 0% and 100.00% (resolution 0.01%) and must be transmitted
as an integer (0 .. 10000).
- The last transmitted override value is accounted for at the beginning of movement.
- After a reset or interruption of the PLC program the override value of each PLC axis is set to
100.00%.
- The modules can also be called while a PLC axis is moving.
- The module can be called in addition to a module from the group (9120/9121/9123) in the same
PLC scan. However, it becomes effective after this module.
Possible errors:
- A non-existent axis was transferred.
- An axis was transferred that has not been declared as a PLC axis in MP10 and MP60.
- An incorrect override value was transferred.
Call:
Constraints:
- Only the analogue voltage for the spindle can be output. There is no access to the analogue
outputs for the NC, nor is there any access to analogue outputs for PLC axes that are driven with
Modules 9120 .. 9123.
- The voltage is output with a slight delay after the end of the PLC run. The module should be called
only once per PLC run.
- The analogue voltage for the spindle can only be output when MP3010 < 3 and MP3011 = 2.
- The voltage must be transferred in 1mV format. Voltages are limited to a value between 10 V
and 10 V.
Possible errors:
- The indicated analogue output does not exist.
- The indicated analogue output is not available for the PLC.
Call:
With Module 9150 is it possible to define an NC block during an active M/S/T/G/Q output from the
NC to the PLC, or also when no program has been started. The defined NC block is executed after
the acknowledgement of the M/S/T/G/Q strobe (immediately, if no PGM is started), before the
control continues with the execution the NC program.
Constraints:
- If there are several commands during a strobe output, only the last one is executed.
- If there are several commands when the spindle is stationary, it is not defined which command is
recognized.
- Erroneous parameters (e.g. incorrect tool number, non-existent file) result in a abortion of the NC
program with the corresponding error message. If the error occurs while the spindle is stationary,
there is no error message.
Possible errors:
- The call was made during a running NC program without active M/S/T/G/Q strobe.
- The call was made with an unknown command code.
Call:
Constraints:
- If Marker M2712 and Module 9171 are set in the same scan, the tool is oriented with the
parameters from the module call.
- If the module is called several times in the same scan, the tool is oriented with the parameters
of the last call.
- If the module is called while the tool is still being oriented from a previous PLC scan, the call is
ignored.
- The module works only in the cyclic PLC program.
- If the module is called while the spindle is turning, the transferred direction is ignored. The
spindle is always oriented in the direction in which it is already turning.
- When the values +2 to +4 are transferred it is possible to start an orientation to the angle last
defined in CYCL DEF 13. The transferred angle is added to the value from CYCL DEF 13. An
additional spindle preset, therefore, can be transferred from the PLC.
- The nominal position during tool measurement with TT 110 is transferred exactly as with CYCL
DEF 13
- If 0 is transferred as the spindle speed, the speed is taken from MP3520.1.
- The module can function only if M2719 = 1 (word processing).
Possible errors:
- The module was called from a SUBMIT Job.
- The parameter for the direction is erroneous.
- The spindle is already being oriented.
- A negative spindle speed was transferred.
Call:
PS B/W/D/K <Angle> [1/10 000 ]
or additional preset with value from CYCL DEF 13
PS B/W/D/K <RPM> [1/1 000 revolution per minute] 0 = value from MP3520.1
PS B/W/D/K <Direction of rotation> 1: Negative direction (M04)
0: Direction of the shortest path
1: Positive direction (M03)
2: Same as 1 but with angle from CYCL DEF 13
3: Same as 0 but with angle from CYCL DEF 13
4: Same as +1 but with angle from CYCL DEF 13
CM 9150
However there are many functions that can be programmed much more simply with PLC words
with the TNC 407 and TNC 415. PLC marker M2719 must be set to activate the strobes for word
processing.
M2719 = 1 M2719 = 0
Meaning Marker Data Marker Data
Start PLC-Pos. X 2704 D528 2452 M2560 to M2564
Start PLC-Pos. Y 2705 D532 2453 M2565 to M2569
Start PLC-Pos. Z 2706 D536 2454 M2570 to M2574
Start PLC-Pos. IV 2707 D540 2455 M2575 to M2579
Read out strobe for 2713 D528 2809 M2560 to M2576
values in Q
parameter (Q100
to Q107)
Read out strobe -- 1) 2599 M2560 to M2567
tool number M2112 to M2119
Read in strobe tool 1) 2598 M2560 to M2567
number M2572 to M2579
Strobe datum 2716 D528 to D540 2819 MP4210.32 to
correction MP4210.46
Spindle orientation 2712 D592 2527 M2585 to M2589
HEIDENHAIN recommend programming the PLC functions over the word range only. This makes
the PLC program easy to read and a lot shorter.
1) Module 9093/9094
7-178 TNC 407/TNC 415/TNC 425 5 Compatibility with TNC 355 01.98
5.1 PLC Program Conversion
PLC programs created for the TNC 355 can also be used on the TNC 407 and TNC 415.
When these PLC programs are downloaded to the TNC 407 or TNC 415 the following command
codes are automatically modified:
U A
UN AN
E I
A O
Z C
01.98 TNC 407/TNC 415/TNC 425 5 Compatibility with TNC 355 7-179
5.2 Compatibility Markers
The table below lists the PLC markers that have only been retained for compatibility with the TNC
355. However the various PLC functions should be programmed with the TNC 407 and TNC 415
using the appropriate PLC words.
7-180 TNC 407/TNC 415/TNC 425 5 Compatibility with TNC 355 01.98
Marker Function Set Reset TNC 407/415
M2104 G-Code S-analogue 1st Bit (lsb) W256
M2105 G-Code S-analogue 2nd Bit
M2106 G-Code S-Analogue 3rd Bit (msb)
M2112 T number (P number) decade 1 (lsb)
M2113 T number (P number) decade 1
M2114 T number (P number) decade 1
M2115 T number (P number) decade 1 (msb) W262
M2116 T number (P number) decade 2 (lsb) W264
M2117 T number (P number) decade 2
M2118 T number (P number) decade 2
M2119 T number (P number) decade 2 (msb)
M2176 Mode code (lsb)
M2177 Mode code W272
M2178 Mode code
M2179 Mode code (msb)
M2186 Code number 84159 entered NC PLC D276
M2192 Markers controllable by MP4310.0, MP4310.1 and NC NC W976
to MP4310.2 to
M2239 W980
M2452 Activate PLC positioning X axis PLC NC M2704
M2453 Activate PLC positioning Y axis PLC NC M2705
M2454 Activate PLC positioning Z axis PLC NC M2706
M2455 Activate PLC positioning axis 4 PLC NC M2707
M2468 Complement PLC positioning X axis NC PLC
M2469 Complement PLC positioning Y axis NC PLC
M2470 Complement PLC positioning Z axis NC PLC
M2471 Complement PLC positioning axis 4 NC PLC
M2522 Activate PLC positioning axis 5 PLC NC M2708
M2527 Activate spindle orientation PLC NC M2712
M2538 Complement PLC positioning axis 5 NC PLC
M2543 Complement spindle orientation NC PLC
M2560 BCD numerical values for PLC positioning, tool PLC PLC D528
to number, spindle orientation and Q parameters to
M2589 D544
M2597 Tool number: output mode, 0 = binary, 1 = BCD PLC PLC
M2800 Key-Code PLC PLC W516
to
M2807
M2808 Strobe for key code PLC NC M2813
M2809 Activate numerical value transfer PLC to NC PLC PLC M2713
M2817 Q-number (lsb) PLC PLC W516
M2818 Q-number (msb) PLC PLC W516
M2819 Activate datum correction PLC NC M2716
M2832 Key code of the operated disabled key NC NC W274
to
M2839
01.98 TNC 407/TNC 415/TNC 425 5 Compatibility with TNC 355 7-181
Marker Function Set Reset TNC 407/415
M3200 Values from MP4310.3 to MP4310.6 NC NC W 972
to to
M3263 W 988
5.3 Incompatibility
It has not been possible to maintain compatibility in all areas of the PLC programs. This is because
the TNC 355 differs considerably from the TNC 407 and TNC 415 both in memory organization and
ergonomics.
These macro programs are no longer available in the TNC 407 and TNC 415. The following PLC
subroutines can be used in place of the macro programs.
7-182 TNC 407/TNC 415/TNC 425 5 Compatibility with TNC 355 01.98
JPT 211
L K+1 ;load 1 as actual value
B= M3032 ;
LBL 211
EM
01.98 TNC 407/TNC 415/TNC 425 5 Compatibility with TNC 355 7-183
L B255 ;Max. tool's
>> K+1 ;DIV 2
= B255 ;Max. tool's DIV 2
This means that, to select the appropriate error message, it is no longer necessary to interrogate the
dialog language with PLC marker M2041 as was the case with the TNC 355.
PLC marker M2041 has no function in the TNC 407 or TNC 415.
7-184 TNC 407/TNC 415/TNC 425 5 Compatibility with TNC 355 01.98
5.3.4 Non-Implemented Markers
Marker Function
M2020 Spindle speed under-ranged
M2021 Nominal/actual speed difference over-ranged
M2024 Touch probe ready
M2049 Mode : Background Programming
M2050 Mode: Programming & Editing
M2056 Mode: Test program
M2060 DIN/ISO Programming
M2062 "Code number" dialog
M2063 Central tool file
M2188 Checksum error for non-volatile Q parameters
M2288 X axis was moving when program aborted
M2289 Y axis was moving when program aborted
M2290 Z axis was moving when program aborted
M2291 Axis 4 was moving when program aborted
M2292 Axis 5 was moving when program aborted
M2504 Axis clamping after constant contour transition
M2509 Activate a % factor for feed rate over-ride
M2510 Deactivate spindle over-ride
M2511 Deactivate feed rate over-ride
M2526 Switch X/Y or Z to 4th axis
M2542 Complement for M2526
M2585 PLC positioning axis S (lsb)
M2586 PLC positioning axis S
M2587 PLC positioning axis S
M2588 PLC positioning axis S
M2589 PLC positioning axis S (msb)
M2590 Define the axis to be switched to 4th axis (lsb)
M2591 Define the axis to be switched to 4th axis (msb)
M2592 Tool number from M2560 to M2567
M2593 Go to Hirth grid after NC STOP
M2594 Central tool file cannot be edited
M2595 Output tool number in addition to pocket number
M2596 Select central tool file during active program run mode
M2598 Transfer tool number
M2599 Transfer tool number
M2602 Define reference point traverse
M2603 Axis sequence for reference point traverse (lsb)
M2604 Axis sequence for reference point traverse
M2605 Axis sequence for reference point traverse
M2606 Axis sequence for reference point traverse
M2607 Axis sequence for reference point traverse (msb)
M2657 Display a second auxiliary function
M2664 No standstill monitoring X axis
M2665 No standstill monitoring Y axis
M2666 No standstill monitoring Z axis
01.98 TNC 407/TNC 415/TNC 425 5 Compatibility with TNC 355 7-185
Marker Function
M2667 No standstill monitoring axis 4
M2668 No standstill monitoring axis 5
M2810 Data format of a numerical value in M2560 to M2576
M2811 Data format of a numerical value in M2560 to M2576
M2812 Data format of a numerical value in M2560 to M2576
M2820 Update the central tool file
M2821 Strobe for updating the central tool file
M2822 Strobe for % factor for spindle voltage
M2823 Select ramp pairs for S analogue
7-186 TNC 407/TNC 415/TNC 425 5 Compatibility with TNC 355 01.98
8Data Interface Contents
1 Introduction 8-3
1.1 Principles of data transfer 8-4
1.1.1 Serial/parallel 8-4
1.1.2 Asynchronous data format 8-5
1.1.3 Checking data 8-7
1.1.4 Data transfer rate 8-8
1.2 Handshaking 8-9
1.2.1 Hardware handshaking 8-9
1.2.2 Software handshaking 8-9
Communication between the CPU and the peripherals is made possible by using a data interface.
Communication requires facilities for transferring data to the peripherals and of course, physical
connection via a transmission line. Peripheral device control and communication, via the interface, is
generally the responsibility of the computer system. The computer system therefore has to meet
certain requirements.
The interfaces, which primarily consist of the physical links between the computer system and the
peripherals, need appropriate software in order to control the transfer of information between the
individual units. The relationship between hardware and software, which fully defines an interface, is
illustrated by the following diagram:
Interface
The "hardware" in the diagram covers all the physical components, such as circuit construction, pin
layout, electrical characteristics, etc. The "software" includes, for example, the drivers for the output
modules, which are part of the operating software both of the computer system and the peripherals.
Due to the wide variety of computers, controllers and peripherals, standard interfaces have been
introduced, which, in an ideal situation, enable extremely varied devices to be connected to each
other.
Such standards include, for example, the RS-232-C/V.24 and RS-422/V.11 interfaces, which are
described in detail later.
1.1.1 Serial/parallel
Data can be transmitted in either serial or parallel format.
Basically, data is coded in the computer system, e.g. as bytes (8 bits) and supplied to the interface in
parallel.
In the case of serial data transmission, the parallel information from the computer system has to be
converted into a serial data-flow by using an USART (Universal Synchronous/Asynchronous
Receiver/Transmitter).
The receiver accepts the serial data-flow and converts it back again into parallel information.
Sender Empfnger
Transmitter Receiver
Speicher Schnittstellen-Puffer Schnittstellen-Puffer Speicher
Memory Interface buffer Interface buffer Memory
0 MSB 0 0 MSB 0
1 1 1 1
1 1 1 1
0 0 0 0
1 1 1 1
0 0 0 0
1 1 1 1
1 LSB 1 1 LSB 1
0 1 1 0 1 0 1 1
bertragungsstrecke
Transmission path
A parallel interface, on the other hand, does not need a USART: just a line driver. Typically, the
connection between the computer system and a peripheral consists of a 36-way ribbon cable. Its
maximum length is generally about 3 metres.
0 MSB 0 0 0 MSB 0
1 1 1 1 1
1 1 1 1 1
0 0 0 0 0
1 1 1 1 1
0 0 0 0 0
1 1 1 1 1
1 LSB 1 1 1 LSB 1
bertragungsstrecke
Transmission path
One obvious advantage of serial data transmission becomes apparent when long distances have to
be covered. With parallel transmission, the cost of the cable increases with every additional bit
which has to be transmitted. In addition, the effect of interference on adjacent wires from sharp
signal edges and electrical coupling is far greater over long lines than it is with serial transmission
which is relatively slower and uses fewer wires.
The comparatively slow speed of serial data transmission is, at the same time, its greatest
drawback. Since the individual bits are sent along the line one after the other and each transfer takes
a specified time, it takes far longer to send a binary word to the receiver than it would if conveyed by
parallel transmission. As it happens, most peripheral devices work fairly slowly and cannot in fact
cope with data transmitted at high speed. Serial data transmission is generally adequate for devices
such as external memories or mechanical printers, especially as such devices have a large internal
buffer for incoming characters.
One of the most common codes is the ASCII code (American Standard Code for Information
Interchange) which codes all characters with seven bits.
In all, it is possible to code 27 = 128 characters. According to the ASCII code, the control character
"Line Feed" or <LF> is coded with the following combination of bits:
0 0 0 1 0 1 0 = 10 dec = 0A hex
MSB LSB
i.e. when the letter "z" is transmitted via a serial interface, the appropriate bits are sent one after the
other. The ASCII code is shown in full in the Appendix.
Proper data transmission requires the device concerned to interpret incoming data correctly and, in
particular, to determine the start of a transmission. For this purpose, there is a synchronization
process which ensures that the receiver detects the first bit of a character correctly. With an
asynchronous data format, a start bit is sent before each data word and the word is then ended by
one or two stop bits. One feature of this data format is that, starting from a quiescent state,
transmission of a data word can begin at any time.
A quiescent state exists before switch-on and is reverted to after each transmission. Before a data
bit can be transmitted this has to be communicated to the receiver. Otherwise, if the first bit of the
data word has the same value as the quiescent state, the receiver will not notice any difference
from the quiescent state.
For the duration of a single bit, the transmitter emits a logic value which clearly differs from the
quiescent state and which gives the receiver an opportunity to prepare its polling logic to read in the
data bit. After the start bit has been sent, the data word is transmitted, bit by bit, starting with the
LSB (Least Significant Bit). After the MSB (Most Significant Bit) of the data word, a so-called "parity
bit" is inserted (see paragraph 1.1.3 "Checking data").
The parity bit is followed by one or two stop bits. These final stop bits ensure that the receiver has
enough time to recognise the transmitter again before the start of the next character.
Synchronization is repeated before each character. The complete word is referred to as a character
frame.
Character frame
Start 1st Bit 2nd Bit 3rd Bit 4th Bit 5th Bit 6th Bit 7th Bit Parity 1 or 2
bit LSB MSB bit stop bits
Data bits
The parity bit can take three different forms; the same form of parity must be set at both interfaces.
No parity check
Error detection is dispensed with.
Even parity
The transmitter counts bits with a value of 1. If the number is odd, the parity bit is set to 1,
otherwise it is cleared to 0. The sum of the set data bits and the parity bit is therefore always even.
Upon receiving a word, the receiver counts all of the set bits, including the parity bit. If this count
yields an odd number, there is a transmission error and the data word must be repeated, or an error
message will be displayed.
Odd parity
In this case, the parity bit is so chosen by the transmitter that the total number of all the set bits is
odd. In this case, an error will be detected if the receiver observes an even number of set bits in its
evaluation.
Example:
Parity bit
1 Even parity
Letter: "z" 1111010
0 Odd parity
[ Bits]
1 baud = 1
The time taken to transmit one bit (tB) can be calculated from the baud rate:
"1"
"0"
t
tB
1
tB =
bits
Baud rate[ ]
s
For example, a baud rate of 19,200 baud will have a bit duration of tB = 52.083 s.
The number of characters transmitted can be calculated from the baud rate and the transmission
format:
bits
Baud rate[ ]
s
Characters per second =
Number of bits per character
Example:
With a transmission format of seven data bits, one start bit, two stop bits and a data transfer rate of
exactly 300 baud:-
300 Baud
= 30 characters per second
10 bits
will be transmitted.
Either hardware or software handshaking can be chosen for communication between two units.
2.1 General
Besides the standard RS-232-C/V.24 interface, the TNC 407/415 has another data interface, the
RS-422/V.11, which is used for long transmission distances.
The two interfaces differ only in the construction of their hardware (signal lines, signal levels and pin
layout).The data format and transmission protocol are the same for both interfaces.
The HEIDENHAIN FE 401 floppy disk unit, ME 101 magnetic tape unit (no longer in production) and
external devices with appropriate data interfaces (computers, printers, readers, punches) can be
connected via either RS-232-C/V.24 or RS-422/V.11 interfaces.
The two interfaces of the TNC can also be operated in parallel; for example, a program can be read
in via the RS-232-C/V.24 interface and simultaneously executed, while a data file could be read in via
the RS-422/V.11 interface.
However, an external interface for level conversion must be used when connecting a floppy disk unit
and magnetic tape unit to the RS-422/V.11 interface.
The data format and control characters concerned are freely configurable within the framework of
these protocols.
The RS-232-C interface has been adopted with slight modifications and has been introduced into
Europe as the V.24 interface. The relevant German standard is DIN 66020.
2.2.1 Hardware
The physical connection between two RS-232-C/V.24 interfaces is an asymmetrical line, i.e. the
common ground connection between transmitter and receiver is used as a return wire.
Sender Empfnger
Transmitter Receiver
TxD RxD
RxD TxD
bertragungsstrecke
Transmission path
Data lines:
The data signals are defined as being logic "1" (MARK) over the range -3V to -15V and as logic "0"
(SPACE) over the range +3V to +15V.
For all of the signals, the voltage range from -3V to +3V is not defined as a logic level and can
therefore not be evaluated.
Data lines:
Control/signal lines:
DCD (Data Carrier Detect): Received signal level. The DCD signal indicates
to the transmitter that the information received
at the receiver lies within the defined level.
DTR (Data Terminal Ready): This signal shows that the TNC is ready for service
(e.g. receiving buffer full => DTR = Low).
RTS (Request to Send): Switch transmission unit on. TNC wishes to transmit
data.
Chassis GND
Peripheral TNC
V.24-Adapter-Block
LE
RS-232-C Adapter block
ws/br
Chassis GND 1 1 1 1 WH/BN
ge
ws/br
WH/BN 1 1 GND Chassis
TXD 2 2 2 2 GN 2 2 RXD
gn YL
RXD 3 3 3 3 3 3 TXD
rs GY
RTS 4 4 4 4 4 4 CTS
gr PK
CTS 5 5 5 5 5 5 RTS
br BL
DSR 6 6 6 6 6 6 DTR
rt RD
Signal GND 7 7 7 7 7 7 GND Signal
8 8 8 8 8 8
9 9 9 9 9 9
10 10 10 10 10 10
11 11 11 11 11 11
12 12 12 12 12 12
13 13 13 13 13 13
14 14 14 14 14 14
15 15 15 15 15 15
16 16 16 16 16 16
17 17 17 17 17 17
18 18 18 18 18 18
19 19 19 19 19 19
bl BN
DTR 20 20 20 20 20 20 DSR
Pin Allocation
1 Not in use
2 RxD
3 TxD
4 DTR
5 GND
6 DSR
7 RTS
8 CTS
9 RI (Ring Indicator)
2.3.1 Hardware
The standard RS-422/V.11 works with differential voltages. The advantage of this method is that, on
the transmission path, radiated interference acts simultaneously and by the same amount on both
signal lines. At the receiver only the differential voltage of the two signal lines is evaluated and
therefore the radiated interference is unimportant.
Considerably longer lines can therefore be used and, because of the suppression of interference, the
transfer speed can be considerably higher.
Physical connections:
Sender Empfnger
Transmitter Receiver
TxD RxD
RxD TxD
bertragungsstrecke
Transmission path
are transmitted and the control unit detects the differential voltages between
"0" "0"
OFF OFF
+ 0.2
+ 0.2
0.2
0.2
"1" "1"
ON ON
0.5
0.6
Data signals:
The transmission protocol is absolutely identical for the RS-232-C/V.24 and RS-422/V.11 interfaces.
In addition, the protective earth connects the transmitter and receiver casings. The signal GND
represents the differential voltage reference conductor.
V.11-Adapter-Block
RS-422 Adapter block LE
sw sw
1 1 1
BL bl BL BL
1 1 GND Chassis
2 2 2 2 2 RXD
gr GY
3 3 3 3 3 CTS
ws WH
4 4 4 4 4 TXD
gn GN
5 5 5 5 5 RTS
ws/gn WH/GN
6 6 6 6 6 DSR
gr/rs GY/PK
7 7 7 7 7 DTR
sw BK
8 8 8 8 8 GND Signal
rt RD
9 9 9 9 9 RXD
rs PK
10 10 10 10 10 CTS
br BN
11 11 11 11 11 TXD
ge YL
12 12 12 12 12 RTS
br/gn BN/GN
13 13 13 13 13 DSR
rt/bl RD/BL
14 14 14 14 14 DTR
15 15 15 15 15
After the appropriate key numbers for the PLC, the machine parameters and the correction table
have been entered, these files can be written-to or read-from via the data interfaces.
Current values of Q parameters, PLC error messages and dialogs can also be outputted via the two
interfaces (NC program: FN 15: PRINT).
The magnetic tape unit is only suitable as an external data carrier to a limited extent, because only
one file can be stored per cassette side. However, this file can contain several programs.
Using the floppy disk unit, up to 256 programs (approximately 25,000 program blocks) can be
stored. This represents a storage capacity of approximately 790 kilobytes.
When transmitting and receiving a file the appropriate code file is outputted and read in again
complete with a Block Check Character (BCC).
If the file is stored in an external computer using HEIDENHAIN's TNC.EXE data transfer software, a
new file extension is generated. This extension consists of the code and the letters NC.
Example:
If a pallet-table is stored, it is given the file extension *.LNC.
The setting selected at the external devices must of course match the TNC. On printers, this is done
by setting the DIP-switches or adjusting the transmission parameters.
After the program has started, executed blocks are erased and further blocks are continuously called
from the external memory.
The minimum and maximum memory requirement for the drip feed mode is defined with machine
parameters MP7228.0 and MP7228.1 respectively. The maximum memory requirement can also be
set to leave enough spare for parallel programming during execution.
The error message "Program Memory Overflow" is output if the minimum storage is not enough.
If the program blocks are read into the TNC faster than they can be executed, the entire NC memory
is initially fully loaded up to the maximum memory limit (MP7288.1). If it is full, transfer is suspended
until a storage space of 256 bytes is vacated by execution. Only then is transfer resumed, until once
again the memory is filled.
The simplest form of data exchange is the transfer of files (e.g. NC programs) from one TNC to
another. To do this, the same transmission format must be set at both control units and transfer
started. It must be ensured that the reading-in control unit is the first to start.
For the application "Positioning module", i.e. further NC axes are required, the positioning values
have to be transmitted from the master logic unit to the slave logic unit. On this basis, data can be
transferred to another TNC via the data interface, using PLC modules at the PLC level (see Section 5
"Data transfer via PLC").
0 = no interface inhibited
1 = interface RS-232-C/V.24 inhibited
2 = interface RS-422/V.11 inhibited
If neither of the two interfaces is inhibited, the following settings can be selected with the
appropriate data format and the data transmission protocol.
In addition to the three freely configurable operating modes EXT1/EXT2/EXT3 (for PLC only, see
Section 5 "Data transfer by PLC"), there are three fixed modes (ME, FE1/FE2). The FE1 and FE2
modes have to be set if the HEIDENHAIN floppy disk unit or an external computer using the
TNC.EXE transmission software is connected. In both these modes, the transmission protocol with
Block Check Character is rigidly defined [for the difference between FE1 and FE2 operation: see
Section 4 "Data transfer with block Check Character (BCC)"].
The ME operating mode matches the HEIDENHAIN ME 101 magnetic tape unit and must be
selected if this is to be connected.
The character <EOT> is never sent because this character cannot be processed by the magnetic
tape unit.
The data format and the type of handshake are set in the MP 5020.
Data bits
Bit 0 can be set to determine whether transmission is to be with 7 or 8 data bits. Transmission with
7 bits is normally used, but 8 bits are needed, especially for printer interfacing.
BCC
If calculation of the BCC produces a number less than $20 (i.e. a control character) then a "Space"
character ($20) is sent in addition immediately before <ETB>. The BCC will consequently always be
greater than $20 and cannot therefore be recognised as a control character.
TNC EXT
+ +
RTS CTS
Receiving
+ buffer full +
CTS RTS
Data Data Data
+ +
TxD RxD
Start
+ +
RxD TxD
TNC EXT
Receiving
+ buffer full +
RTS CTS
+ +
CTS RTS
+ +
TxD RxD
+ +
RxD TxD
Start
Software handshaking
Bit 3 determines whether the TNC stops transfer from an external device with control character
<DC3>. Transfer is resumed with character <DC1>.
If transfer is stopped with character <DC3>, up to 12 characters can still be stored. The remaining
incoming characters are lost. Software handshake is normally recommended when interfaces are
connected to an external device.
Peripheriegert V.24-Adapter-Block LE
Peripheral unit RS-232-C Adapter block
ws/br
GND 1 1 1 1 1 1 WH/BN ws/br
WH/BN 1 1 GND Chassis
ge GN
TXD 2 2 2 2 2 2 2 2 RXD
gn Yl
RXD 3 3 3 3 3 3 3 3 TXD
rs GY
RTS 4 4 4 4 4 4 4 4 CTS
gr PK
CTS 5 5 5 5 5 5 5 5 RTS
br BL
DSR 6 6 6 6 6 6 6 6 DTR
rt RD
GND 7 7 7 7 7 7 7 7 GND Signal ground
8 8 8 8 8 8 8 8
9 9 9 9 9 9 9 9
10 10 10 10 10 10 10 10
11 11 11 11 11 11 11 11
12 12 12 12 12 12 12 12
13 13 13 13 13 13 13 13
14 14 14 14 14 14 14 14
15 15 15 15 15 15 15 15
16 16 16 16 16 16 16 16
17 17 17 17 17 17 17 17
18 18 18 18 18 18 18 18
19 19 19 19 19 19 19 19
bl BN
DTR 20 20 20 20 20 20 20 20 DSR
The TNC reacts both to hardware and software handshakes, regardless of the setting in
MP5020.x.
If no transmission stop is set in the MP5020.x, the TNC stops the peripheral unit with the software
handshake.
If transmission stop by both RTS and by DC3 is active, the TNC stops transfer with the hardware
handshake.
Stop bits
Bits 6 and 7 determine the number of stop bits sent at the end of a character.
When selecting ASCII characters, it must be ensured that the control characters are not arbitrarily
mixed and that no figures or letters which occur in the transferred text are used.
Example: The control character for Start of Text (MP5200.x) must not be assigned to <DC3>,
otherwise transmission will stop when software handshaking is set on the peripheral.
Example: If a DIN/ISO program is to be output in operating mode EXT2, MP5204.1 = 68 (='D') must
be set (or MP5204.1=0).
The ASCII characters for input and output identification can also be freely defined.
If the machine parameters concerned are loaded with nought, the standard settings apply
(E=Input/A=Output).
<CR><LF> or <LF> must be programmed at the start of the program and after each program
block
After the end-of-program block <CR> <LF> and, in addition, the end-of-text control character must
be programmed (standard setting <ETX> or via MP 5201.x)
Blank characters between the individual words can be omitted in NC programs.
When reading in DIN blocks, '*' is not needed at the end of the block
Comments are separated from the NC block by a semicolon ';'
Comments located in front of the program are not stored
Block numbers do not need to be programmed - they are generated by the TNC (only for dialog
programming)
Consider the example of interfacing EXT1 with a printer using a serial interface (Example: NEC
P7PLUS).
The following setting is selected at the printer itself (see the Operating Manual of the printer
concerned):
Serial interface
Data bits
Even character parity
XON/XOFF protocol (software handshake)
9,600 baud
In the "RS-232/RS-422 Setup" of the TNC, the EXT1 operating mode must still be assigned to the
RS-232 interface and the baud rate set to 9,600 (see the TNC 407/415 Operating Manual).
These transmission protocols can be selected in six different operating modes, as follows:
If a file which is read in is already stored in the TNC, the message "ERASE/OVERREAD" is
displayed. In this case the TNC aborts transmission with the appropriate handshake and does not
continue transfer until after acknowledgement.
In the event of an attempt to erase write-protected files, the error message "PROTECTED PGM" is
displayed and the dialog "CONTINUE = ENT/END = NOENT ". In this case, either the next file can
be read in or the transfer can be aborted.
If a file has been read out and the data transfer menu has been terminated with the END key,
the TNC outputs characters <ETX> and <EOT> (or ASCII characters according to setting in
MP5201.x and MP5210.x in operating modes EXT1, EXT2 and EXT3).
If a transmission is terminated with the END-key, the error message "PROGRAM INCOMPLETE" is
issued.
3.1.1 General
This protocol is set as standard in operating mode ME and can also be optionally selected for
operating modes EXT1/EXT2/EXT3 via the machine parameters. In the following, the control
characters which are sent and received with this protocol are listed for the various transmission
alternatives. When outputting a file, the <NUL> character is sent exactly 50 times at the start of the
file. When reading in, however, the control unit ignores this character. Therefore it is of no
importance how often the peripheral unit sends the <NUL> character before the file.
If, however, ME mode is set instead of EXT1/EXT2/EXT3, attention must be paid to the following:
All the programs in a file which end with the end-of-text character <ETX> are stored in the magnetic
tape unit ME.
In this protocol, if an error is to be signalled to the TNC, the following sequence of instructions must
be sent:
The blocks are not checked for correctness but are transmitted one after the other. If the receiver's
data buffer is full it can stop the transfer and resume in one of two ways:
<NUL><NUL><NUL><NUL><NUL><NUL><NUL>... 50 times
0 BEGIN PGM 1 MM<CR><LF> Program block 1
1 TOOL DEF 1 L+0 R+3<CR><LF> Program block 2
.
.
.
26 END PGM 1 MM <CR><LF> End of program
<ETX><EOT> Close data transfer menu
.
.
.
12 Z+Z FMAX <CR> <LF>
Receive butter
ready again
<DC1>
3.1.2 Protocols
This section lists the transfer protocols for the various methods of data output and input.
Using the soft key "Show ext. directory", the list of file names can be requested from an external
memory and displayed in the TNC.
If the external directory is requested, the TNC sends control character <DC1>.
If the request is immediately interrupted with the END key, the TNC sends characters <ETX><EOT>
and no directory is read in.
If the request is not interrupted, the peripheral unit sends all of the external programs in order. Their
names are then shown in the TNC.
.
<NUL> <NUL> <NUL>
1st line of file <CR><LF>
Last .
file .
.
Last line of file <CR> <LF>
<ETX>
<EOT>
The TNC outputs all of the program lines in order. The peripheral unit can stop transmission with
character <DC3> and start it again with character <DC1>.
<DC3>
<DC1>
.
.
.
Last line of file <CR> <LF>
The procedure is similar to the protocol described in paragraph 3.1.2 "Outputting a selected file". The
TNC arranges all the programs in order and transmits them. No control character is sent between
the individual files.
The programs are transmitted in the same way as described in section 3.1.3 "Outputting all files".
However, an acknowledgement is expected from the user between the transmission of individual
programs.
If a file is read in from a peripheral unit (e.g. a PC), the corresponding name must be indicated in the
TNC and the TNC be started first, i.e. the TNC outputs the character <DC1>. Transmission of the file
concerned is then initiated at the peripheral unit.
When the entire file has been transferred, the TNC sends character <EOT>.
<EOT>
In this transfer method, the TNC can stop transmission with <DC3> and continue it with <DC1>.
If the file name in the first line of the file and the name indicated in the TNC are not identical, the
TNC reads each block in and searches for the file name concerned.
If the END PGM-block has been read in, and the selected name is not known, the TNC remains
static without an error message, and transfer must be terminated with the END key.
<NUL> <NUL>
1st line PGM100 <CR> <LF>
. .
. .
. .
Last line PGM 100 <CR> <LF> <ETX>
<EOT>
If, in this case, the last PGM-block ends with the <ETX> character then transfer is terminated
without an error message but the data is not stored.
If both the peripheral unit and the TNC have been started, the following protocol is followed:
<NUL> <NUL>
Last line of file 1. <CR> <LF> .
.. .
1st line of file 1 <CR> <LF> .
<DC1>
<NUL> <NUL>
1st line of file 2 <CR> <LF> .
..
. .
.
Last line of file 2 <CR> <LF>
<DC1>
<NUL> <NUL>
1st line of last file <CR> <LF>
.. .
. .
.
Last line of last file <CR> <LF> <ETX>
<EOT>
If several programs are gathered together in a file which ends with <ETX> then these programs are
read in without being requested by <DC1>.
The request <DC1> is not sent until a program has ended with <ETX>.
After commencement of transfer, the peripheral unit sends the first program module until the
receiving buffer of the TNC is full. The TNC then stops transmission with <DC3> and awaits
acknowledgement from the user. If the file is to be transferred, the TNC sends <DC1> and the
program is read in and stored. Otherwise the file is in fact read in but not stored. If hardware
handshaking is set, transfer by using the RTS signal is stopped and restarted.
<DC1>
<NUL> <NUL>
1st line of file 1 <CR> <LF>
<DC3> Polling:
<DC1> Read in
Yes / No
.
.
. <DC1>
<NUL>
.
.
. .
.
.
Last line of last file <CR> <LF> <ETX>
<DC1>
<ETX>
<EOT>
3.2.1 General
This protocol is specific to HEIDENHAIN and operates with different control characters and an
additional data check feature when transferring.
- FE1 mode
- FE2 mode
- EXT1/EXT2/EXT3 mode (selectable)
The data transfer protocol is fully identical for all these modes except for the FE1 mode in which a
command sequence is automatically output at the beginning to request the contents directory from
the peripheral unit.
In the freely configurable modes (EXT1/EXT2/EXT3) the following control characters (<SOH>,
<ETB>, <STX>, <ACK>, <NAK>, <ETX>, <EOT>) can be defined at will as ASCII characters
(see section "Freely configurable interfaces").
When a file is transferred the first block - the so-called Header - is transmitted, consisting of the
following characters:
<SOH> (Start of Header): This character identifies the beginning of the header.
The header contains the identifier "H" of the program (see section "Saving/reading files"), the program
name "Name" and the transfer mode "M" (E=Input/A=Output).
The header terminates with the character <ETB> which ends a data transfer block.
As well as checking the parity of the individual characters (see chapter "Checking data") the parity of
the complete transferred block is also checked. The BCC (Block Check Character) always rounds the
individual bits of the transferred characters in a data transfer block to even parity.
The character <DC1> is transmitted after the BCC. This character (XON) is necessary for certain
devices in order to explicitly request an answer from them and to reactivate the transfer.
The transfer of the <DC1> character can be suppressed in modes EXT1, EXT2 and EXT3 by setting
bit 3 in machine parameter 5020.X ("Transmission stop by DC3") to zero (see section "Freely
configurable interfaces").
The <DC1> character is not required when reading in a file in the format with BCC.
At the end of every block the receiver checks that it has transferred correctly. To do this the receiver
computes a BCC from the received block and compares it with the received BCC. If the received
BCC and the computed BCC are identical, the receiver transmits the <ACK> character (= positive
checkback), i.e. the data block has been transmitted without error.
If the two BCCs are not identical then the receiver transmits the <NAK> character (= negative
checkback), i.e. the data block was not transmitted correctly and must be re-transmitted. This
process is repeated three times, then the error message ("TRANSFERRED DATA INCORRECT E {XE
"TRANSFERRED DATA INCORRECT E") is output and the transfer is aborted.
If the header is acknowledged with <ACK> however the first file block can be transmitted:
<STX>0 BEGIN PGM 1 MM <ETB> BCC <DC1>
The beginning of a data block is always identified by the control character <STX>. The other control
characters in this block are identical with the control characters in the header.
If the block is acknowledged by <ACK> then the next program block is transmitted, with <NAK> the
same block has to be re-transmitted etc.
Once the last program block has transferred successfully (acknowledged by <AC>) the transmission
is terminated by the characters <ETX> (end of text) and <EOT> (end of transmission).
To upload a Pallet file with the name "PPP" to a peripheral device (e.g. FE 401).
<ACK>
.
.
. <STX> "1st line" <ETB> BCC <DC1>
<ACK> .
.
.
.
.
.
<STX> "10th line" <ETB> BCC <DC1>
<NAK>
<ACK>
<ACK> .
.
.
.
. .
. .
. <STX> "last line" <ETB> BCC <DC1>
<ACK>
<ETX> <EOT>
The software handshake can also be done with the aid of the control characters <DC1> and <DC3>
however. If the hardware handshake (EXT1/EXT2/EXT3) was selected this is identical with the
standard data transfer and BCC transfer (see section "Freely configurable interfaces").
3.2.2 Protocols
In the following, the transmission protocols are listed for the various file input and output
possibilities. FE2 mode is set.
If an error occurs at a peripheral device, the following block must be sent to the TNC.
<SOH>"Error text"<ETB>BCC
<ACK> <EOT>
The received error message is displayed in the TNC, but can be acknowledged and erased with the
CE key.
If the soft key "Show ext. directory" is operated, the TNC outputs a header without a program name.
The peripheral then starts to output the files to the TNC, but, after the first file block has been sent,
the TNC immediately requests the next file.
<ACK>
<STX> Name 1 <ETB> BCC <DC1>
<ACK>
<SOH> <N> <E> <ETB> BCC <DC1>
<ACK>
<STX> Name 2 <ETB> BCC <DC1>
.
. .
. .
.
<ACK>
<SOH> <N> <E> <ETB> BCC <DC1>
<ETX>
<EOT>
In FE1 mode, the following 'Escape' sequence is sent to request the external directory:
<DC3><ESC><DC1><0><SP><D><CR><LF>
xxxxxx"Name" "Sectors"xxxxxx<CR><LF>
If the character combination 'FREE:' is detected, only a number (= number of free sectors) will be
read in.
<ACK>
.
. .
. .
.
<ACK>
. <STX> Last line of file <ETB> BCC <DC1>
.
.
<ACK>
<ETX> <EOT>
The files are output in order, as in section 4.1.2 "Outputting a selected file". Control characters
<ETX><EOT> are sent to the peripheral device between files.
In this mode, a question is asked before each file output in order to determine whether or not the
file is to be output. After each file, control characters <ETX> and <EOT> are sent, as in section 4.1.3
"Outputting all files". If output of a file is not desired, the TNC immediately offers the next file in the
directory for output.
If a file is to be read in from an external memory, the TNC sends a header with the file name
concerned, whereupon the peripheral sends the file.
<ACK>
<STX> 1st line of file <ETB> BCC <DC1>
<ACK>
.
.
. .
.
.
<ACK>
<ETX>
<EOT>
In this case the TNC sends a header without a program name, and the peripheral unit sends the first
file. The TNC again outputs a header without a program name, the next program is sent and so on.
<ACK>
<STX> 1st line PGM1 <ETB> BCC <DC1>
. <ACK>
.
.
.
.
<STX> Last line PGM1 <ETB> BCC <DC1> .
<ACK>
<SOH> <H> <E> <ETB> BCC <DC1>
<ACK>
.
. .
. .
.
<STX> Last line of last file <ETB>
BCC <DC1>
<ACK>
<SOH> <H> <E> <ETB> BCC <DC1>
<ETX>
<EOT>
In this mode, the TNC first of all sends a header without a program name. The peripheral unit then
starts data transfer, until it is stopped by the TNC. The TNC interrupts transfer by not sending a
positive acknowledgement (no <ACK>) and awaits acknowledgement.
If a positive acknowledgement is given then the program is read in. Otherwise a header is
immediately sent again.
<ACK>
<STX> 1st line PGM1 <ETB> BCC <DC1>
<ACK>
<ACK>
<ACK> Yes
.
<STX> 4th line PGM1 <ETB> BCC <DC1> .
. .
.
.
<STX> 3rd line PGM2 <ETB> BCC <DC1>
"Read in program Yes/No"
<ACK>
<STX> 1st line PGM3 <ETB> BCC <DC1>
.
.
. <ACK>
.
<STX> Last line of last PGM <ETB> .
BCC <DC1> .
<ACK>
<SOH> <H> <E> <ETB> BCC <DC1>
<ACK> <ETX>
<EOT>
The number of blocks transmitted before the TNC stops to await acknowledgement will depend on
the transfer rate set. At a low data transfer rate, the TNC will stop after the first block.
Data transfer
File management (delete, copy and rename files)
Write screen to a file (screen dump)
Remote operation of the control functions, i.e. the control screen appears on the screen of the
computer and all TNC functions can be executed from the external computer.
Real DNC operation, i.e. starting and stopping the machine from the PC.
Diagnosis of TNC error messages and key operations for service purposes (the last 100 events
are stored in the TNC).
The LSV/2 protocol always runs in the background (independently of the interface set-up; standard
baud
rate 9600) and is started externally by a PC. A higher baud rate can be set in the interface set-up at
the control.
- TNC REMOTE: Software for TNC remote control. Can be run on an AT compatible PC with MS-
DOS. All the above functions are available with this software.
- LSV/2 TOOL BOX: Software tools in C programming language for creating the transfer telegrams
(library, executable files for telegrams, source codes, INCLUDE files for LSV/2,
MAKE files).
4.1.1 General
When data is transmitted by the PLC, use of the interface is inhibited by the input/output program of
the user interface. The user has the possibility of configuring the PLC interface according to the FE1,
FE2 or ME mode already described, from the RS-232-/RS-422 setup, or to configure it freely.
However, the following limitation applies:
A configuration at 19,200 baud is impossible if the other interface is already configured at 38,400
baud, regardless of whether this interface is assigned to the PLC or NC.
MP5040 Data transfer rate in operating mode EXT3 (data transfer via PLC)
Entry : 0 to 9
0 = 110 baud 5 = 2400 baud
1 = 150 baud 6 = 4800 baud
2 = 300 baud 7 = 9600 baud
3 = 600 baud 8 = 19 200 baud
4 = 1200 baud 9 = 38 400 baud
BAUD RATE NOT POSSIBLE One interface is configured for 19,200 baud and the other
for 38,400 baud.
INTERFACE ALREADY ASSIGNED Transfer is already taking place via interface, or data transfer
has not been completed.
PROGRAM INCOMPLETE A transfer has been interrupted or the file has not ended
correctly (no END character or END block).
EXT. OUTPUT/INPUT NOT READY Interface is not connected; peripheral unit is switched off of
faulty.
TRANSFERRED DATA INCORRECT X X can assume the values A to H, K or L (error codes).
Error codes:
E During data transfer with Block Check Character (BCC), a (<NAK>) has been received
three times in sequence.
A to H The receiving component has detected an error with one of the following causes:
except Same baud rate not set at TNC and peripheral unit
E Parity bit wrong
Incorrect data frame (e.g. no stop bit)
Receiving component of interface faulty
K During the transmission of an error to the TNC the <1> character was not transmitted
after the <ESC> character.
L An incorrect error number was received after the <ESC><1> error sequence (error
numbers 0 to 7 are permitted).
N An expected <ACK> or <NAK> acknowledgement was not transmitted within a certain
time.
M For data transmission with BCC, <NAK> was transmitted three times in sequence.
Error codes K and L are displayed only for transfer with standard data transmission protocol.
If a magnetic tape unit is connected, the following error codes could be sent to the TNC and an
appropriate error message outputted:
A detailed description of these peripherals can be found in the appropriate operating manual.
PROGRAM INCOMPLETE
NC program does not contain an end block.
PROTECTED FILE
File which is protected with read-only or hidden attribute is likely to be overwritten.
A precise description of this software is given in the Operating Manual of the transmission software.
By using these cycles in machining programs created in the HEIDENHAIN dialog or in accordance
with DIN/ISO, repetitive machining tasks or machine-specific functions can be executed via a single
call. Execution of the OEM-cycles can be affected by parameter transfer.
Up to 32 different OEM-cycles, with a maximum of 128 different customer-specific dialog texts, can
be produced, tested and stored in the NC program memory.
In order not to tie up the NC program memory (RAM) with the OEM-cycles and dialogs, it is possible
to store this data in the PLC EPROM.
OEM-cycles in the NC program memory can be called for testing by cycle 12: "Program call". It is
thus also possible to test serviceability in the "Program run/single block" mode. (With a program call,
all the Q parameters are globally effective!)
Tool definition with numerical values or Q parameters for tool length and radius (only in PLC
EPROM).
Tool call.
M functions apart from M02, M30, M06, without program-run stop.
Nesting OEM-cycles:
Other OEM-cycles or standard cycles can be called in the OEM-cycles (nesting depth four levels).
Call from main programs of OEM-cycles which are transmitted in "block mode" and are executed
simultaneously. The OEM-cycles must be stored in the control unit memory.
Re-approach to contour after an external STOP. With an external and internal STOP, re-approach
must be via block scan (mid-program start-up) (see the "Machine Interfacing" Manual and the TNC
407/TNC 415 Operating Manual).
Programming the dialog block is initiated by key "LBL SET" and then "NO ENT".
DLG-DEF
If the OEM-cycles are to be active in the NC program immediately after the definition, a "DEF-active"
OEM-cycle is programmed with the "ENT" key, e.g. cycle for co-ordinate transformation.
DLG-CALL
If the OEM-cycles are to be activated later in the NC program via CYCL-CALL or M99, a "CALL-
active" OEM-cycle is programmed with the "NO ENT" key, e.g. for a machining cycle.
Up to 15 dialog numbers can then be input. The first dialog number is always assigned to the
designation of the OEM-cycles. The remaining numbers are assigned to the Q parameters in
ascending order.
If fewer than 15 dialogs are to be programmed, the dialog block can end with "END". In this
connection, see also MP7250 in the following description of the relevant machine parameters.
Example:
0 BEGIN PGM 99999968 MM
1 DLG-DEF 0/2/8/100
.
.
.
15 END PGM 99999968 MM
Using machine parameter MP7240, it is possible to inhibit program input for [Program name] =
[OEM-cycles number].
If MP7240 has a value 0, no program with the program name of an OEM-cycle which is held in the
EPROM can be input or read into the NC program memory.
If MP7240 has a value 1, the program-name range of the OEM-cycles can also be used when the
OEM-cycles are held in the PLC EPROM. If a OEM-cycles is generated in the NC program memory
and if at the same time there is a OEM-cycles with the same number in the PLC EPROM, then the
OEM-cycles in the NC program memory will be executed at a cycle call.
MP7251 determines whether the values of the Q parameters which are changed in the OEM-cycles
by calculation or assignment are globally transferred to the called program (e.g. in the case of
"nesting" of OEM-cycles).
With machine parameter MP7251, the range of Q parameters from Q[100 - MP7251] to Q99 is
defined as "global".
The operation of global and local Q parameters may be shown by reference to following example:
MP7251 = 40
Q [100 40] = Q60 => Q60 to Q99 are global Q parameters and
Q1 to Q59 are local Q parameters
STOP +2 +15 +2 +5
END PGM 100 MM
MP7250 Difference between Q-parameter number for "DLG-CALL" and "DLG-DEF" block
in OEM-cycles.
Input range: 0 to 50
OEM-cycles stored in the PLC EPROM can be inhibited in the PLC program via flags M2240 to
M2271. Inhibited cycles cannot be defined in NC programs.
If programs with definitions of inhibited OEM-cycles are transferred to the control unit, an error
message "ERROR=..." is generated in the transferred program and the program cannot be executed.
A detailed description of Q parameters and functions is given in the TNC 407/TNC 415 Operating
Manual.
During a program run, data is transferred to the following Q parameters. When creating OEM-cycles,
these can be read and also overwritten:
The following FN functions can be used to execute various tasks, such as error messages and data
transfer NC -> PLC in the OEM-cycles.
FN19 Assignment of two numerical values or Q-parameter values from an OEM-cycle to PLC.
(Function FN19 is described in detail in the "PLC Programming" Manual).
The dialog numbers (input: 0 to 127) of the dialog block are assigned to the first 128 lines of a dialog
file.
Example:
DLG-DEF 0/1/.../127
Y Input parameters:
Q1 = Number of holes
Q2 = Radius of bolt hole circle
Q3 = X co-ordinate of centre of bolt hole circle
Q4 = Y co-ordinate of centre of bolt hole circle
Q2 Q5 = Safety clearance for Z axis
(negative input)
0 Q6 = Hole depth in Z axis (negative input)
Q7 = Drilling feed
Q4
Q3 X
01.98 TNC 407/TNC 415/TNC 425 4 "Bolt hole circle" OEM-cycle example 9-9
5 OEM-cycles in NC programs
OEM-cycles in the NC program memory or PLC EPROM can be defined, called and executed both in
HEIDENHAIN dialog programs and also in DIN/ISO programs.
The dialog for cycle definition is initiated with the "CYCL DEF" key. The desired cycle is selected
either by skimming through the pages using the vertical arrow keys or by "GOTO" and input of the
cycle number (e.g. 68). The cycle is entered with the "ENT" key.
The individual parameters are input via the digital keyboard and entered with "ENT".
In the case of a "DEF-active" OEM-cycle, the cycle is effective immediately after definition. Once
defined, a "CALL-active" OEM-cycle can be called and hence activated either via "CYCL CALL" or
M99.
Example:
The desired OEM-cycle is entered by inputting its number (e.g. 68) and "ENT". The individual
parameters are input via the digital keyboard and entered with "ENT". The definition of the OEM-
cycles ends with "END".
In the case of a "DEF-active" OEM-cycle, the cycle is effective immediately after definition. Once
defined, a "CALL-active" OEM-cycle can be called and hence activated either via G79 or M99.
Example:
% 1000 G71*
N10 G30 G17 X+0 Y+0 Z20* Definition of blank
N20 G31 G90 X+100 Y+100 Z+0* For test/program-run graphics
N30 G99 T1 L+0 R+2* Tool definition
N40 T1 G17 S1000* Tool call
N50 G00 G40 G90 Z+2 M3* Safety clearance
N60 D68 P1+8 P2+40 P3+60 Definition of cycle 68 "Bolt hole circle"
P4+50 P52 P620 P7+100*
N70 G79* Call cycle
N99999 % 1000 G71*
1.1 Introduction
One hardware version of the LE 360 - the LE 234.003 - can be used in conjunction with the
TNC407/TNC415 as a positioning module.
This means that the TNC 407/TNC 415 can be extended by up to 4 secondary axes. PLC inputs and
outputs of the LE 234.003 can also be used.
The positioning module can be used for toolchangers, for pallet infeed and for controlling rotary axes
and swivel heads.
The NC software of the TNC 360 can also run on the LE 234.003, i.e. all functions of the TNC 360
are also available with the positioning module.
Connecting cable
LE 234.003 LE 407/415
Id.-Nr. 292
265 123
479 ..
max. 50 m
Suitable protective circuitry must be used to ensure that the positioning module is not ready for
operation if the NC test reveals an error, i.e. the voltage for the feedback is mutually interrupted.
This can be achieved by the circuit illustrated. The test starts when the control voltage is switched
on.
LE 407/415
EMERGENCY
STOP buttons k1
Control + -
voltage k1
on 24 V
k3 PLC
K1
LE 234.003
Switch opens for a short time when control
voltage to each processor is turned on
EMERGENCY
STOP buttons k1
+ -
k1
Control 24 V
voltage PLC
on K1
Software installation is done with the PLC program of the master controller (TNC 407 or TNC 415).
Modules 9100 and 9107 are used for this: they activate the RS-422/V.11 data interface and make it
possible to transmit and receive binary data respectively.
The PLC program for the positioning module can be written either on the LE 234.003 itself, in which
case it must be connected up to screen BE 212 and control panel TE 355 A/B, or on a PC using the
HEIDENHAIN PLC programming software.
Please contact HEIDENHAIN should you have any queries about the PLC programming software.
Actual current
Actual speed
Actual position
2.1 Hardware
The TNC 425 consists of the following hardware components:
The following Identification Numbers have been allocated for the LE 425 so far:
Identification number for software module "Digitizing with TS 120": 246 051 01
01.98 TNC 407/TNC 415/TNC 425 2 Mounting and electrical installation 11-3
2.2 Summary of connections
Processor Board
11-4 TNC 407/TNC 415/TNC 425 2 Mounting and electrical installation 01.98
2.2.1 Pin assignment
Logic unit LE 425
01.98 TNC 407/TNC 415/TNC 425 2 Mounting and electrical installation 11-5
2.3.1 Connection of linear encoders
The LE 425 can process up to five encoders with sinusoidal output signals (7 to 16 App).
Max. input frequency: 50 kHz
or
Talk with your drive supplier and HEIDENHAIN about possible mounting configurations.
For various types of motors HEIDENHAIN offers the ERN 281 modular rotary encoder with a special
assembly kit that enables the machine tool builder to install the rotary encoder on the motor. The
mounting procedure is quite simple: the motor housing is extended by the length of the spacer in
the assembly kit, and the lid is then re-fitted.
A straightforward solution with a standard encoder from the ROD series can be applied to modify
the first machine when using a drive type for which no assembly kit is yet available.
or
or
11-6 TNC 407/TNC 415/TNC 425 2 Mounting and electrical installation 01.98
2.3.3 Connection of rotary encoder for spindle orientation
The encoder for oriented spindle stop is connected at the input X6 (square-wave signals).
Max. input frequency: 300 kHz
or
This drive concept eliminates the need for tachogenerators. The rpm actual value is measured by a
HEIDENHAIN incremental rotary encoder.
01.98 TNC 407/TNC 415/TNC 425 2 Mounting and electrical installation 11-7
3 Machine interfacing
The position and speed controllers receive their feedback signals from separate encoders. A linear
encoder (or angle encoder for rotary axes) is the standard device for measuring distances. Speed is
controlled by HEIDENHAIN rotary encoders that are fitted to the motor.
The new machine parameters for speed control make it possible to specify and optimise the control
loop. Irrespective of this the controller can still be operated as before in trailing mode or with feed
pre-control. The TNC 425 also positions in the manual modes in trailing mode.
The term "counting step" is one which is used in connection with the new machine parameters.
Counting steps are the counting pulses from the measuring system multiplied internally by a factor
of 256.
The following additional machine parameters are available for digital speed control:
The following machine parameters are inactive for axes with digital speed control.
MP1910.0 X axis
MP1910.1 Y axis
MP1910.2 Z axis
MP1910.3 4th axis
MP1910.4 5th axis
The entry is axis-specific and made in counting steps. MP1910.x monitors the theoretically
calculated output voltage of the speed controller. If this voltage exceeds the limit specified in
MP1910.x the error message "Gross positioning error 3F" appears. This voltage is always limited
to 10 V at the output.
Ulimit
MP 1910.x =
MP1920.x * 9.7 V
The speed controller integrated in the control system is a PI controller. The P and I components of
the speed controller can be set in machine parameters MP1920.x and MP1940.x.
MP1920.0 X axis
MP1920.1 Y axis
MP1920.2 Z axis
MP1920.3 4th axis
MP1920.4 5th axis
MP1925.0 X axis
MP1925.1 Y axis
MP1925.2 Z axis
MP1925.3 4th axis
MP1925.4 5th axis
MP1940.0 X axis
MP1940.1 Y axis
MP1940.2 Z axis
MP1940.3 4th axis
MP1940.4 5th axis
MP1040 is still active but for internal voltage between position and speed controller.
MP210 is only active for position encoders. The counting direction for the rotary encoder
is compensated with MP1950.
The ratio of grating periods of the linear encoder to the motor rotary encoder should be greater than
5 (see MP1970).
Example: 2000 lines per revolution for the rotary encoder 4 mm screw pitch
2 m grating period with ROD 20 m grating period with LS
4000 [m]
Grating period of rotary encoder: = 2 [m]
2000 [lines]
20 [m]
Entry value for MP1955: = 10
2 [m]
MP1960.0 X axis
MP1960.1 Y axis
MP1960.2 Z axis
MP1960.3 4th axis
MP1960.4 5th axis
For digitally controlled axes reversal spikes of the order of the entry range of MP1960.x are
compensated during circular interpolation at the quadrant transitions.
MP1970 is used to set encoder monitoring. The position is computed from the pulses received from
the position encoder (LS) and from the pulse received from the rotary encoder (ROD). The input
value from MP1955 is used for this. The difference between the two results must not exceed
MP1970. Movement monitoring by MP1140 is not active.
The movement monitor must be active at all times for safety reasons. It can only be
deactivated by entering 0 while approach behaviour is being trimmed if the "Gross
positioning error C" message appears despite the maximum value of 1 [mm] being
entered.
In the event of a fault, braking resistors in the servo amplifier are required to stop the axes as quickly
as possible to prevent danger from axes running down uncontrolled. This braking time can be
reduced by delaying the shutdown of the TNC speed controller in MP1980.
At the same time, the controller outputs a braking torque which immediately brings the machine to a
stop.
The position controller is automatically inactive when starting with the step function. The axes can
only be traversed manually.
The controller can be trimmed in the sequence described. Provisional input values and input values
for monitoring are empirical values that can vary depending on the type and size of the machine as
well as on the drives, and it is therefore difficult to recommend suitable values. The characteristic
curves will also vary from one type of machine to another.
Assign the smallest possible value to the integral component of the speed controller (MP1920.x
0).
Increase monitoring of the speed controller (MP1910.x).
Trim the proportional component of the speed controller (MP1940.x) as described below.
Trim the integral component of the speed controller.
The speed can be trimmed with or without first evaluating the reference marks.
For traversing reference marks, the highest possible values must be entered in machine parameters
MP1920.x, MP1940.x and MP1910.x to prevent the speed controller monitor responding.
MP1920.x = 200
MP1940.x = 200
MP1910.x = 300 000
Before trimming commences, provisional values must be entered for the corresponding machine
parameters of the speed controller.
The integral component (MP1920.x) should be as low as possible so the P component can be
trimmed without being unduly affected by the I component.
Since the input value for monitoring the speed controller is calculated as follows (error message:
"Gross positioning error 3F"):
Vlimit
MP1910.x =
MP1920.x * 9.7 V
a greater value for the monitor must be set when entering a low integral component (MP1920.x).
Given an ideal setting of 5 for the I component (MP1920.x) and a limit voltage of 15 V, the input
value for MP1920.x is approximately 310 000.
Cancel override and start axes with direction keys for a short period. Watch drive response, modify
polarity while turning.
The monitor via MP1910 is in effect (error message: "GROSS POSITIONING ERROR 3F "
if polarity is wrong).
Optimizing
The following curves should be displayed in the oscilloscope for each axis:
mm
Nominal speed ( ) : NNOMINAL
min
mm
Actual speed ( ) : NACTUAL
min
A step function is output for optimizing (see "Oscilloscope", later in this chapter). The feed rate must
be selected such that the analogue voltage is < 8 V. It is now only necessary to press the
appropriate axis direction keys to output a step function to the servo amplifier.
MP1940.x is increased until the step response (actual speed) shows large control fluctuations. This
value is then halved to reduce overshoot to virtually nil.
MP1920.x is then increased until large control fluctuations again occur for the actual speed. Half
this value is then entered in MP1920.x. The resulting overshoot should not exceed 40%.
Once the proportional and integral components of the speed controller have been trimmed, a
suitable value must be calculated for MP1910.x.
Vlimit
MP1910.x = = 9000
MP1920.x * 9.7 V
After trimming the speed controller, the desired evaluation of the reference marks must be entered
in MP1350.
The directions of traverse and counting must be checked again after the linear encoder for the
position controller is activated with MP1951. The position controller is matched to the machine
coordinate system with the following machine parameters:
Start axes with direction keys for a short period and correct the input values for polarity or counting
direction if necessary.
With digital drive control the limits and/or ideal values are more dependent on the drives and the
machine's mechanical systems than with previous control systems. In terms of the control principle,
it is possible to work with high Kv factors and very small trailing errors. It is important to remember
that the mechanical load on the machine will be greater.
Additional selectable Kv factors have been introduced for this reason, and they are stored in
machine parameters MP1515.x and MP1815.x. Reduced Kv factors can be used for general milling
work without great demands on accuracy at higher feed rates.
Because the speed controller is integrated in the control system, the controlled axis runs down
when the torque signal is turned off. For this reason the control system continues to be active for a
certain time (MP1980) in an EMERGENCY STOP condition and outputs a torque. The time entered
for this must be matched to the relevant drives and machine.
The axes must be stopped immediately by external holding brakes if the control fails and no braking
torque can be output.
The characteristic curves which the oscilloscope records can be stored in 4 channels and for all axis.
Rotational speeds are recorded as feed rates in mm/min. The speed in rpm. can be calculated with
the help of the distance covered per revolution, i.e.
The data recorded for the display are stored until an NC graphic is called. Likewise a computed
graphic simulation is deleted by the oscilloscope display.
A total of 5 colours can be selected in machine parameters for the oscilloscope display. They are
selected in exactly the same way as the 3-plane view in NC graphic simulation.
MP7361.0 Background
MP7261.1 Grid
MP7361.2 Non-selected channels
MP7361.3 Cursor line, data, screen window
MP7361.4 Selected channel
If you leave the Oscilloscope mode you can re-enter it using the MOD key and the OSZI soft key.
The code number must only be re-keyed when the supply voltage has been switched off.
Start recording
Activate cursor
Trigger threshold
The trigger threshold for the selected channel is entered as a numerical value in the following units:
Edge
Pre-Trigger
Defines the start of the recording as a % of the total recording time; possible entries are 0%, 25%,
50%, 75% and 100%. Press the ENT key to select.
3.4.3 Recording
The recording parameters to be edited are selected with the arrow keys. The values for FEED RATE
and TRIGGER THRESHOLD are entered with the numerical keys. The values for all other recording
parameters are selected by pressing the ENT key.
Output
In the Manual mode you can choose between the set ramp and a step function for outputting a
nominal value.
The step function is only possible with digitally controlled axes and is necessary for trimming the
speed controller. The step function and the oscilloscope recording facility can also be used to
determine the maximum acceleration of the machine when the provisional input value is not known.
In the MDI or Automatic modes acceleration is always by the set ramp.
With a step function as the output signal, the feed rate is entered in [mm/min]. The programmed
feed rate dictates the acceleration after the ramp.
Time resolution
The recording time ranges from 2.4576 sec. to 24.576 sec. (set time x4096). The time set between
0.6 and 6 ms is the cycle time for recording curves. The recording time is overlaid beneath the grid.
The beginning and end of the image are also displayed relative to the trigger point (cursor line T1).
Channels 1 to 4
A total of 4 channels can be selected for recording. The axes can be randomly assigned to the
channels - this is done using the ENT key after selecting the entry position.
For each channel a characteristic curve is selected from the following variables:
Recording is activated with START (soft key). This calls a soft-key row in which the sole option is
STOP. Recording can be interrupted at will. Saved channels cannot be displayed at the same time as
recording is in progress because synchronization between the saved channels and the channels
currently recording is not possible.
Whereas the complete memory contents are displayed at the start, the time window selected
before the start is displayed after the image is restored. The time to trigger point is shown as T1 at
the left of the display. Beneath it is the absolute value in [mm/min], [mm] or [mV].
If the CURSOR 1/2 key is used to overlay a second cursor for time T2, then this cursor can also be
moved using the arrow keys on the TNC control panel. The time that is displayed as T2 is the
difference from T1. The numerical value overlaid underneath is also the difference from the value
associated with T1. The display for T2 and the second cursor are deleted using the END or "Cursor
1/2" soft key.
The vertical grid display of each previously selected channel can be modified in fixed steps using
soft keys. The value of the grid in the vertical axis is overlaid at the left hand margin beneath the
channel number and the name of the recording.
Centring
Now return to original vertical deflection: use the NO ENT key to restore the original display of the
stored data in the vertical axis.
Horizontal zoom
The recording gathers 4096 evaluated data. Time resolution, i.e., the cycle time between the
recorded data, can be set from 0.6 to 6 ms. The range of display stretching and condensing is
limited as follows.
The length of the displayed window and its beginning as an absolute position within the recording
length of the data is displayed as a bar (scroll bar) in the status field.
MB 410 20m
293 757 01
VL: Extension cable
40m for separation points with connecting cable
for extending existing connecting cable
VB: Connecting cable between two components
that do not have their own cable.
KA: Cable adapter
30.03.95
VB VB VB VB
Connecting cable 263 954 .. 263 954 ..
250 477 .. 289 111 ..
included with BC 110B
Encoders for
position control VB Accessories
KA
60m 244 005 ..
274 556 .. VB 50m
VL VL 272 291 .. HR 332
263 955 .. 263 955 .. VB 266 064 ..
VL
289 111 ..
254 640 ..
HR 130
11 A PP Cable assembly VB 254 040 ..
289 111 ..
HR 330
251 534 ..
KA KA
267 269 .. 50m 249 889 ..
VL
11 A PP 281 429.. VB max. 20 m HR 150
270 909 ..
VB HR 150
268 371 .. HRA 110
261 097 01
HR 150
257 061 ..
11 A PP 5 inputs
max. 20 m
RS-422-C Adapter block
Step switch
VB 249 819 01
TTL 270 908 ..
1 input
LE 425 289 208 ..
VB
20m
1 VPP 5 inputs 239 760 ..
VB Included with FE
268 372 .. 274 545 01
FE 401 B
251 029 01
20m
TTL RS-232-C Adapter block
KA 239 758 01 VB
Connection box 285 289 .. 284 574 ..
KA 12pin / 15pin 251 249 01
267 268 ..
50m
12m
Rotary encoder TT 110
for spindle orientation 288 949 ..
KA
VB VB 274 543 ..
50m
290 109 .. 244 005 ..
1 VPP TS 120
VB VB VB 265 348 ..
268 372 .. 290 110 .. 263 954 ..
VB APE 510 227 590 01 SE 510
60m 274 539 .. APE 511 275 759 01 230 473 01
20m 40m max. 30 m
max. 7m 3m
KA 15-pin male connector 37-pin male connector
Rotary encoder 267 268 .. 243 971 ZY 243 937 ZY VL TS 511
for speed control 274 540 .. 265 349 ..
Nominal value PLC I / 0 40m
output
2 Powers of 2 12-5
n 2n
0 1
1 2
2 4
3 8
4 16
5 32
6 64
7 128
8 256
9 512
10 1 024
11 2 048
12 4 096
13 8 192
14 16 384
15 32 768
16 65 536
17 131 072
18 262 144
19 524 288
20 1 048 576
. 3
.A ................................................... 4-150; 8-18
.CMA ............................................. 4-28; 7-161 3D ROT ..................................................... 4-41
.COM .................................... 4-28; 7-161; 8-18
.D ................................................... 4-150; 8-18 5
.DI1 ........................................................... 8-18 531 210............................... 4-152; 4-258; 7-19
.DIE........................................................... 8-18
.ER1 .......................................................... 8-18 6
.ERE.......................................................... 8-18 688 379................................................... 4-152
.H ................................................... 4-150; 8-18 75 368................................. 4-77; 4-152; 4-258
.I..................................................... 4-150; 8-18
.MP ........................................................... 8-18
.P ................................................... 4-150; 8-18 8
.PLC .......................................................... 8-18 807 667........................................ 4-152; 4-258
.T.................................................... 4-150; 8-18 86 357..................................................... 4-152
/ 9
/ (DIVIDE) ................................................ 7-69 95 148................................... 4-152; 4-258; 5-4
/ [ ] (DIVIDE [ ]) ........................................ 7-85
+
+ ............................................................. 7-115
+ (PLUS) ................................................. 7-66
+ [ ] (PLUS [ ]) ......................................... 7-85
<
< (LESS THAN) ............................ 7-74; 7-119
< [ ] (LESS THAN [ ]) ............................... 7-89
<< (SHIFT LEFT)..................................... 7-93
<= (LESS EQUAL) ....................... 7-76; 7-120
<= [ ] (LESS EQUAL [ ]) .......................... 7-89
<> (NOT EQUAL) ........................ 7-78; 7-121
<> [ ] (NOT EQUAL [ ]) ........................... 7-90
=
= ............................................................. 7-116
= (ASSIGN) ............................................. 7-43
= = (EQUAL)........................................... 7-73
== (equal) ............................................. 7-119
== [ ] (EQUAL [ ]).................................... 7-89
G
Gantry axes .............................................. 4-49
G-code .................................................... 4-101
Gear change ........................................... 4-100
Gear range ....................................... 2-15; 4-96
Gear-code change signal ........................ 4-101
GLOBAL Instruction ............................... 7-132
Global Q parameters .................................. 9-4
Graduation period ..................................... 3-24
Graduation period...................................... 4-6
Graphics display ..................................... 4-133
Graphics window.................................... 4-132
GREATER THAN (>) .................... 7-75; 7-120
GREATER THAN [ ] (>[ ]) ........................ 7-89
GREATER THAN OR EQUAL TO (>=).. 7-120
GREATER THAN OR EQUAL TO (>=)..... 7-77
GREATER THAN OR EQUAL TOL[ ] (>=[ ])7-90
Gross positioning error ............................. 4-84
Gross positioning error A.......................... 4-85
Gross positioning error B.......................... 4-86
Gross positioning error C.......................... 4-86
Gross positioning error D.......................... 4-87
Gross positioning error E .......................... 4-77