Escolar Documentos
Profissional Documentos
Cultura Documentos
280 472-12
280 473-12
280 474-12
280 475-12
280 476-01
280 477-01
April 1999 208 896 21 7 4/99 S Printed in Germany Subject to change without notice
(208 896 EC)
Foreword
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 manuals format (17 cm x 24 cm) by a factor of 1.225 will produce pages in 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.
2 Introduction 21
2.1 Integrated Current Control 21
2.2 Brief Description 22
2.3 Software 27
2.3.1 NC Software 27
2.3.2 Software Option 27
2.3.3 PLC Software 28
2.3.4 Software Exchange 28
2.3.5 Data Backup 29
2.4 Hardware 29
2.4.1 ID Numbers 210
2.5 Release Dates 213
2.5.1 NC Software Versions 280 470 and 280 471 213
2.5.2 NC software versions 280 472 and 280 473 215
4 Machine Integration 41
4.1 Machine Axes 41
4.1.1 Encoders 42
4.1.2 Axis Designation 44
4.1.3 Assignment of Axes 45
4.1.4 Reading axis information 47
4.1.5 Traverse Ranges 48
4.1.6 Lubrication Pulse 410
4.2 PLC Axes 411
4.3 Axis Error Compensation 414
4.3.1 Backlash Compensation 414
4.3.2 Linear Axis-Error Compensation 415
4.3.3 Nonlinear Axis Error Compensation 416
4.3.4 Temperature Compensation 420
4.3.5 Compensation for Reversal Errors in Circular Motion 421
4.3.6 Compensation of Static Friction 424
4.3.7 Compensation of Sliding Friction 425
4.4 PLC Positioning Commands 426
5 PLC Programming 51
5.1 PLC Functions 51
5.1.1 Select PLC Operation 51
5.1.2 PLC Main Menu 52
5.1.3 File Management 54
5.1.4 TRACE Functions 55
5.1.5 Logic Diagram 56
5.1.6 TABLE Function 57
5.1.7 COMPILE Function 58
5.2 Operands 59
5.2.1 Operand Directory 59
5.2.2 Operand Addressing 510
5.2.3 Data Transfer 511
5.2.4 Data Transfer NC PLC 511
5.2.5 Data Transfer PLC NC 517
5.2.6 Timer 525
5.2.7 Counters 527
5.2.8 Fast PLC Inputs 529
6 Data Interfaces 61
6.1 Introduction 61
6.1.1 Principles of Data Transfer 62
6.1.2 Handshaking 67
6.2 TNC Data Interfaces 68
6.2.1 General 68
6.2.2 RS-232-C/V.24 Interface 68
6.2.3 RS-422/V.11 Interface 610
6.2.4 Saving/Reading Files 612
8 Appendix 81
8.1 Error Messages 81
8.2 Tables 87
8.2.1 Seven-Bit ASCII Code 87
8.2.2 Powers of Two 811
8.3 Dimensions 812
8.3.1 LE 426 PB, LE 430 PA 812
8.3.2 LE 426 CB, LE 430 PA 813
8.3.3 TE 420 814
8.3.4 MB 420 815
8.3.5 BC 120 816
8.3.6 BF 120 817
8.3.7 PL 410 B 818
8.3.8 Adapter Block for Data Interface 819
8.3.9 Electronic Handwheels 820
8.3.10 Touch Probe Systems 826
8.4 Grounding Diagram 831
8.5 Basic Circuit Diagram: Motor Control with TNC 426 PB, TNC 430 PA 833
8.6 Block Diagram TNC 426 PB, TNC 430 PA 835
9 Machine Parameters 91
9.1 What is a Machine Parameter? 91
9.2 Input and Output of Machine Parameters 92
9.2.1 Input Format 92
9.2.2 Activating the Machine Parameter Settings 93
9.2.3 Changing the Input Values 93
9.3 List of Machine Parameters 97
9.3.1 Encoders and Machine 97
9.3.2 Positioning 914
9.3.3 Operation with Velocity Feedforward 917
9.3.4 Operation with Servo Lag 918
9.3.5 Integral Speed and Current Control (Digital Axes Only) 919
9.3.6 Spindle 924
9.3.7 Integral PLC 927
9.3.8 Configuration of Data Interfaces 929
9.3.9 3-D Touch Probe 930
9.3.10 Digitizing with TS (Available Only with Digitizing Option) 932
9.3.11 Digitizing with Measuring Touch Probe (Available Only with Digitizing Option) 933
9.3.12 Tool Measurement with TT 934
9.3.13 Tapping 938
9.3.14 Display and Operation 939
9.3.15 Colors 945
9.3.16 Machining and Program Run 948
9.3.17 Hardware 954
9.3.18 Second Spindle 958
Improvements:
On the TNC 426 PB without spindle DSP (from hardware version xxx xxx 4x) the maximum
spindle speed was increased from 9000 rpm to 12 000 rpm.
On the TNC 426 PB with spindle DSP and the TNC 430 PA (from hardware version xxx xxx 4x)
the maximum spindle speed was increased from 15 000 rpm to 24 000 rpm.
Module 9135 has been introduced:
The infrared touch probe TS 630 can be switched on by the PLC. If the touch probe does not
report readiness while M4056 is set, the feed rate enable is reset (previously: NC stop).
Call:
CM 9135
Improvements:
New touch probe cycles. These cycles are defined like the fixed cycles via the TOUCH PROBE
key and soft keys. All touch probe system functions are now described in a separate manual:
User's Manual touch probe cycles German 329203 10
English 329203 20
Three new markers for workpiece measurement:
Set Reset
M4065: All dimensions of the workpiece are OK NC PLC
M4066: Workpiece needs rework NC PLC
M4067: Workpiece must be scrapped NC PLC
Timers T96 to T143 have been added:
The new timers can be started only through Module 9006. The timer is set immediately after
module call and reset after expiration of the run time.
FN17:SYSWRITE has been expanded:
The touch probe monitoring can be switched on and off.
ID990
NR2 = numerical value
Numerical value = 0 touch probe monitoring off
Numerical value 1 touch probe monitoring on
FN17:SYSWRITE has been expanded:
The touch probe data of the manual probing cycles are transferred to the tool table.
ID990
NR3 = Qxxx or any numerical value
1.1 NC Software
1.2 Hardware
The maximum input frequency of the position encoder inputs X1 to X5 was reduced to 50 kHz for 1
VPP signals. You will find the new ID numbers on page 3-10. Changeover date will be end of
December 1997. We will still provide the old logic units with unchanged input frequency under the
old ID numbers upon special request.
1.3 Documentation
Various changes were made to the Technical Manual. The list on the next 3 pages gives an insight
into what changes were made, and where the information can be found.
With Update Information No. 3 you received completely new pages for your TNC 426 B / TNC 430
Technical Manual. Since then the following changes have been made to the software.
NC Software Release
280 472 01 6/97 Export version: 280 473 01
NC Software Release
280 472 02 7/97 Export version: 280 473 02
MP6500 expanded:
Bit 9 reserved
Bit 10 probing routine (Bit 8 = 1)
0 = The starting point is pre-positioned in all three principle axes.
1 = The starting point is pre-positioned only in the tool axis and in the axis of the probing
direction (MP6505).
Bit 11 Checking the tool and adjusting the tool table
0 = After "tool checking" the tool table is adjusted.
1 = After "tool checking" the tool table is not adjusted.
MP7500 expanded:
Bit 3 Setting the datum in a tilted coordinate system
0 = Datum setting is possible in tilted coordinate system.
1 = During datum setting the current positions of the tilting axes are not offset.
NC Software Release
280 472 03 8/97 Export version: 280 473 03
MP7680 expanded:
Bit 10 see item 1.1.2 "Optimization of Tool-Radius-Compensated Outside Corners."
The software also runs on the old hardware of the LE 426 CB/PB and LE 430 CA/PA, however
with less feature content.
For optimum adjustment of the velocity and acceleration the nominal position values are filtered.
This results in smoother (jerk-limited) traverse. The TNC calculates the filter parameters weighting
and width (order) using the permissible axis-specific jerk and the tolerance. The filter is effective in
all operating modes. For rigid tapping (Cycle 17) the nominal position value filter is automatically
switched off.
With MP1095 you can select whether the TNC uses a single or double filter. The single filter causes
a linear change in acceleration and therefore a step in the jerk.
With Cycle 32 the user can overwrite the tolerance defined in MP1096 for contour transitions. Cycle
32 was renamed to "fast contour milling" because the nominal position value filter is effective not
only for 3-D contours.
MP1096 Tolerance
Input: 0 = no nominal position value filter
0.001 to 3.000 [mm] = permissible tolerance at contour transitions
Commissioning
With MP7680, bit 10 you set whether a circular arc or a spline should be inserted for the tool center
path at tool-radius-compensated outside corners. Inserting a spline has the advantage of limiting the
jerk at the corners and, when the nominal position value filter (MP1096 > 0) is active, of milling the
corners more precisely.
A new type of backlash compensation is effective beginning with NC software 280 470 08 and
280 472 01. Unlike the backlash compensation possible with MP710, you can compensate the
backlash in the entire controlled system with MP750 and MP752. This means that you can now also
compensate play between the motion of the motor and the table with position measurement via
linear encoders. This feature also compensates the reversal spikes resulting from circular traverse,
and the machine parameters MP711 to MP716 are therefore no longer needed.
In MP750 you enter the backlash in mm. In MP752 you enter the time within which the
compensated distance should be traversed.
Example:
MP750 = 0.03 mm, MP752 = 15 ms
For every reversal in axis direction, for 15 ms a nominal speed command signal is output
corresponding to a feed rate of 120 mm/min (0.03 mm / 15 ms = 0.002 m/s = 120 mm/min).
MP750 Backlash
Input: 1.0000 to +1.0000 [mm]
MP750.0-8 Axis 1 to axis 9
Commissioning
MP7460 (constant contouring speed at corners) has been replaced by MP1096 (tolerance), pages
4-77, 9-45.
MP1091 (Jerk limiting for 3-D milling with Cycle 32) will not be introduced, pages 4-62, 4-78,
9-13.
Module 9037 (read general axis information) was renamed to Module 9038, pages 4-7,
11-1.
NC Software Release
280 470 08 5/97 Export version: 280 471 08
NC Software Release
280 470 09 6/97 Export version: 280 471 09
MP6500 expanded:
Bit 9 reserved
Bit 10 probing routine (bit 8 = 1)
0 = The starting point is pre-positioned in all three principle axes.
1 = The starting point is pre-positioned only in the tool axis and the axis for the probing direction
(MP6505).
Bit 11 Checking the tool and adjusting the tool table
0 = After "tool checking" the tool table is adjusted.
1 = After "tool checking" the tool table is not adjusted.
NC Software Release
280 470 10 7/97 Export version: 280 471 10
Conditions of delivery
As of June 1997 HEIDENHAIN will only supply the new hardware (Id. Nr. xxx xxx 4x). The NC
software 280 480 runs on this new hardware as of version 06. For the present the new software (Id.
Nr. 280 472 xx) will be supplied only where expressly ordered. As of September 1997 the old NC
software will no longer be delivered.
NC software Release
280 472 01 6/97 Export version: 280 473 01
If you are using OEM cycles, you need to create a new cycle structure with CycleDesign to
be able to program the new HEIDENHAIN cycles 32 and 204. You will need the
CycleDesign software version 1.21
The TNC 426 PB / TNC 430 PA has integral drive controllers; these control the drive amplifier by
means of Pulse Width Modulated (PWM) signals.
Integration of the drive controllers in the TNC 426 PB / 430 PA offers the following advantages:
All the software is contained centrally in the NC; this means that the individual components of
the NC such as feed axes, spindle, NC or PLC are optimally matched.
High control quality, because the position control, speed control and current control are
combined into one unit.
For commissioning, optimization and diagnosis, the same functions are available both for the
feed drive and the main spindle.
The TNC 426 PB can control machines with up to five axes and spindle speeds up to 9000 rpm,
option: 15 000 rpm (spindle speeds are valid for motors with two pole pairs). Powerful
microprocessor hardware and an integrated hard disk with 900 MB guarantee almost unlimited NC
memory and a short processing time even for long programs. These are ideal preconditions for
tool and mold construction.
The TNC 430 PA supports six digitally controlled NC axes and three analog controlled secondary
axes, as well as digitally controlled spindle speeds up to 15 000 rpm (for motors with two pole pairs).
The TNC 426 CB is the version of the TNC 426 that is equipped with analog speed command
interface and can control machines with up to five axes plus spindle.
The TNC 430 CA also has analog speed command interface for machines with up to eight axes plus
spindle. A ninth axis can be controlled with an additional PCB.
Error compensation Linear / non-linear axis error, backlash, reversal spikes during
circular movements, offset, thermal expansion, stiction,
sliding friction
Integrated PLC
PLC memory Hard disk
Main memory (RAM) 128 KB (approx. 16 000 commands)
PLC cycle time 21 ms
PLC inputs 24 Vdc 56 (additional inputs as option: see PL 410 B)
PLC outputs 24 Vdc 31 (additional outputs as option: see PL 410 B)
Analog inputs 10 V 3 (additional analog inputs as option: see PL 410 B)
Analog outputs 10 V TNC 426 PB: 13 TNC 430 PA: 13
TNC 430 CB: 7 (with 5 NC TNC 430 CA: 3 (with 9 NC
axes + spindle) axes + spindle)
Inputs for thermistors 3 (additional inputs as option: see PL 410 B)
Commissioning aids Oscilloscope
Trace function
Data interfaces One each RS-232-C/ V.24 and RS-422/ V.11 up to 115 kbaud
Expanded data interface with LSV2 protocol for external
operation of the TNC
Option: Ethernet interface, approx. 200 to 1000 kilobaud
Export versions TNC 426 CF, TNC 426 PF TNC 430 CE, TNC 430 PE
Linear interpolation 4 of 5 axes 4 of 9 axes
2.3.1 NC Software
NC software number
The first 6 figures of the NC software number identify the type of control, the last two identify the
version of the software.
Software type
Due to restrictions on the export of the TNC, HEIDENHAIN can also deliver a special export version.
This export version differs from the standard control through the installed software type.
HEIDENHAIN assigns a new software type whenever comprehensive new functions are introduced.
The PLC software is stored on the hard disk of the TNC. HEIDENHAIN has developed a PLC
commissioning program for the TNC. The source code is available from HEIDENHAIN. This program
can be easily adapted to suit your machine with the PLC programming software PLCdesign.
IC 3 IC 4
NC 4 MB NC 4 MB
IC S IC 1 IC 2
SW module NC 4 MB NC 4 MB
2.4 Hardware
The eight-digit ID number of the logic unit consists of the 6-digit basic ID number followed by the 2-
digit version number. The basic ID number designates significant hardware differences (e.g. type of
logic unit encoder inputs). The version number identifies the following differences:
version xy:
x= Identifier for a hardware change
y= 3 = Export version with Digitizing with Triggering Touch Probe option
4 = Standard version with Digitizing with Triggering Touch Probe option
7 = Standard version with Digitizing with Measuring and Triggering Touch Probes option
8 = Export version without option
9 = Standard version without option
BC 120 BF 120
LE 426 CB
5 position inputs 1 VPP (350 kHz) Id. Nr. 312 001 .. Id. Nr. 313 524 ..
1 spindle position 1 VPP (350 kHz)
5 position inputs 1 VPP (50 kHz) Id. Nr. 326 415 .. Id. Nr. 326 419 ..
1 spindle position 1 VPP (350 kHz)
5 position inputs 11 APP (50 kHz) Id. Nr. 312 002 .. Id. Nr. 313 525 ..
1 spindle position 1 VPP (350 kHz)
LE 426 PB
5 position inputs 1 VPP (350 kHz)
1 spindle position 1 VPP (350 kHz)
6 motor encoder inputs 1 VPP
Spindle with up to 9000 rpm Id. Nr. 312 000 .. Id. Nr. 313 527 ..
Spindle with up to 15 000 rpm Id. Nr. 315 475 .. Id. Nr. 318 178 ..
5 position inputs 1 VPP (50 kHz)
1 spindle position 1 VPP (350 kHz)
6 motor encoder inputs 1 VPP
Spindle with up to 9000 rpm Id. Nr. 326 414 .. Id. Nr. 326 421 ..
Spindle with up to 15 000 rpm Id. Nr. 326 416 .. Id. Nr. 326 420 ..
5 position inputs 11 APP (50 kHz)
1 spindle position 1 VPP (350 kHz)
6 motor encoder inputs 1 VPP
Spindle with up to 9000 rpm Id. Nr. 311 999 .. Id. Nr. 313 526 ..
Spindle with up to 15 000 rpm Id. Nr. 317 349 .. Id. Nr. 318 177 ..
LE 430 CA
8 position inputs 1 VPP (350 kHz) Id. Nr. 311 050 .. Id. Nr. 313 523 ..
1 spindle position 1 VPP (350 kHz)
5 position inputs 1 VPP (50 kHz) Id. Nr. 326 418 .. Id. Nr. 326 424 ..
3 position inputs 1 VPP (350 kHz)
1 spindle position 1 VPP (350 kHz)
LE 430 PA
5 position inputs 1 VPP (350 kHz) Id. Nr. 311 049 .. Id. Nr. 313 521 ..
1 spindle position 1 VPP (350 kHz)
7 motor encoder inputs 1 VPP
5 position inputs 1 VPP (50 kHz) Id. Nr. 326 417 .. Id. Nr. 325 716 ..
1 spindle position 1 VPP (350 kHz)
7 motor encoder inputs 1 VPP
Version Change
xxx xxx 2x First issue
xxx xxx 3x More powerful inverter
xxx xxx 4x 4 MB RAM; 3-row VGA connection; 3-phase current controller
BC 110 B (black)
14-inch screen with color graphics Id. Nr. 260 520 01
(640 x 490 pixels)
2-row/3-row adapter for connection to LE Id. Nr. 313 434 01
with Id. Nr. xxx xxx 4x via connecting
cable Id. Nr. 312 878 ..
2-row/3-row adapter for connection to Id. Nr. 324 862 01
LE with Id. Nr. xxx xxx 4x via connecting
cable Id. Nr. 250 477 ..
BC 120 (gray)
15-inch screen with color graphics Id. Nr. 313 037 01
(640 x 490 pixels)
3-row/2-row adapter for connection to LE Id. Nr. 313 434 02
with Id. Nr. xxx xxx 3x
BF 120
TFT color flat-panel display Id. Nr. 313 506 10
PL 410 B
64 switching inputs 24 Vdc Id. Nr. 263 217 12
31 switching outputs 24 Vdc
64 switching inputs 24 Vdc Id. Nr. 263 217 02
31 switching outputs 24 Vdc
4 analog inputs 10 V
4 inputs for thermistors
Improvements:
MP2541 and MP2551 (frequency filter for spindle) are new. Input as with MP2540 and MP2551
for the axes.
The compensation of reversal peaks during circular traverse was improved (MP711.x to
MP716.x).
Improvements:
New function "Fast contour milling": Cycle 32 or G62 and MP1091.x
Automatic calculation of cutting data
TCPM (Tool Center Point Management): With M128 you can superimpose manual axis traverse
during machine run. Any misalignments in tilted axes are then corrected automatically.
Additional information with the HELP key
Input menu for fixed input values can be selected with the GOTO key
(e.g. baud rate)
New pallet management
Freely-definable tables
NC blocks can be transferred in spline format
More hard-disk memory space (1.5 gigabytes)
You can select between standard and enhanced file management with the MOD function PGM
MGT
The positions of all nine axes are shown in the status display. The spindle position overwrites the
ninth axis
Copying progress is shown in a superimposed window
The number of Q parameters was increased from 299 to 399
Q parameters also permissible in FK blocks
M110 also effective in contour pocket cycle
Cycle 204: Back boring
With MP7682 Bit 2 you can set whether rotary axes should always be positioned by the shorter
path
A chamfer feed rate can be entered in the NC block "Chamfer" (CHF)
Cycle 19 "Machining plane" was expanded by the parameters feed rate and setup clearance
(only when the tilting axes are positioned with Cycle 19. This is set in MP7500)
M114 can also be used with non-controlled or PLC axes
Hungarian as additional conversational language
All soft keys appear in the set conversational language
Language-dependent soft keys for OEM cycles
The soft keys for FK programming only appear once you press the FK key
Soft key F for feed rate in the manual operating modes
New soft key: INCREMENT OFF/ON
New soft key: HIDE TOOLS OFF/ON: the only tools shown in the tool table are those in the tool
magazine
New soft keys for copying fields in the tool table
PLC soft keys can be added to NC soft-key rows
Ethernet: the name of a network printer can be given
The probe results of the manual probing function can be taken over immediately in the datum
tables
MP6170, MP6171: Multiple measurement with measuring tolerance
A separate block of calibration data for TS and TT for every traverse range
With MP6500 Bit 4 you can set whether or not speed should be limited to 1000 rpm during tool
measurement with TT
MP6500 Bit 9: Automatic determination of the basic rotation for the cubical probe contact
W760: Angular misalignment of the tilting axes for automatic adjustment of the touch probe
center misalignment
The TS calibration data can be stored in the tool table via soft key
Remember that the vulnerability of electronic equipment to noise increases with faster signal
processing and higher sensitivity. Protect your equipment by observing the following rules and
recommendations.
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.
Incorrect Correct
LE
Obstructive
elements
LE
Heat generating
elements
mechanical accessibility,
permissible environmental conditions,
electrical noise immunity,
the electrical regulations that are in force in your country.
>577
>22.72"
>110
>4.33"
80 80
Minimum clearance
for servicing! 3.15" 3.15"
40 40
recommended: = 1.57"
approx. 250 mm 1.57"
3.94"
C Air outlet C
100
* *
1.18"
30
Maintain clearance C
for screwdriver
*
6.3"
160
1.18"
30
Connecting cables
must not hinder
3.94"
swivel movement
C* *
100
of the control C
Air inlet
246
9.65"
C
5 Illustration of
* 32 "
R 12.8 max. swivel range.
R The minimum angle of
swivel for exchange
1.57"
of subassemblies should
40
be at least 90.
5.71"
145
40
40
1.57"
3.94"
Air outlet
100
* *
1.18"
30
Maintain clearance C
for screwdriver
*
6.3"
160
1.18"
30
Connecting cables
must not hinder
3.94"
swivel movement
C* *
100
of the control C
Air inlet
307
12.09"
C
1 Illustration of
* 33
R 2.8" max. swivel range.
1 The minimum angle of
R
swivel for exchange
1.57"
of subassemblies should
40
be at least 90.
8.46"
215
40
40
1.57"
BC 120
When mounting the BC 120, remember that this unit is very sensitive to magnetic or electro-
magnetic pick-up. The picture can be disturbed by strong magnetic fields. For this reason, keep a
minimum distance of 0.5 m between the VDU housing and the source of any disturbance (e.g.
permanent magnets, motors, transformers etc.).
BF 120
The BF 120 flat-panel display must be viewed at the so-called "6 o'clock angle". Thus the display
must be mounted as shown below.
BF 120
TE
3.7.1 LE 426 CB
X1
X44 to
X2 X1 X13 X48
X5 Position encoder
B Signal ground
X1
X44 to
X2 X1 X13 X48 X16 X15 X51
X5 Position encoder
X57 Reserved
B Signal ground
X1
X44 to
X2 X1 X13 X48 X16 X15 X51
X5 Position encoder
B Signal ground
Protective ground (YE/GN)
B Signal ground
U1 Phase 1 330 Vac to 450 Vac via 140 Vac to 450 Vac
U2 Phase 2 isolating transformer 50 to 50 to 60 Hz
60 Hz
UZ DC-link voltage 385 Vdc to 660 Vdc 1)
+UZ DC-link voltage +
+
+
X131
U1 V1 W1
U
32.6 V
31 V
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.
If the TNC 426 is used as a programming station, the PLC power supply must also be connected
(connections no. 1 and 2).
The PL 410 B input/output unit for the PLC is available as an option. It provides additional analog
inputs and inputs for Pt 100 thermistors. The power supply for these analog inputs and thermistors
must comply with IEC 742 EN 50 178, 5.88, low-voltage electrical separation.
Terminal Assignment
1 + 24 Vdc (IEC 742 EN 50 178, 5.88, low-voltage electrical separation)
2 0V
BF 120
X1 Power supply
Terminal Assignment
1 +24Vdc operational voltage with basic insulation in accordance with
IEC 742, EN 50 178
2 0V
Power consumption: 15 W
The interface complies with the recommendations in IEC 742, EN 50 178 for separation
from line power.
The interface complies with the recommendations in IEC 742, EN 50 178 for separation
from line power.
The interface complies with the recommendations in IEC 742, EN 50 178 for separation
from line power.
Remember also that a square-wave signal has only 4-fold evaluation (cannot be interpolated).
Neither can the TNC evaluate the fault detection signal of a square-wave encoder.
>2 V 1V
LE
>2 V 1V
SIEMENS
LE
0 11A U0 1V
Id.-Nr. 313 119 01
LE
The expansion board must be connected according to the Basic Circuit Plan.
X51 to X56, X61 Output to motor power stage (only TNC 426 PB, TNC 430 PA)
2 PWM U1 2 Blue 2 2
3 PWM U2 3 Gray 3 3
4 PWM U3 4 White 4 4
5 Reset 5 Green 5 5
6 Ready 6 White/Green 6 6
7 Iactual. 2 7 Gray/Pink 7 7
8 Iactual. 1 8 Black 8 8
9 0V U1 9 Red 9 9
10 0V U2 10 Pink 10 10
11 0V U3 11 Brown 11 11
12 0V (analog) 12 Yellow 12 12
14 Iactual. 2+ 14 Red/Blue 14 14
15 Iactual. 1+ 15 Violet 15 15
The interface complies with the recommendations in IEC 742, EN 50 178 for separation
from line power.
Logic level: 5V
Analog signals Iactual: 7.5 V
Maximum PWM frequency: 5 kHz
X51 Axis 1 X54 Axis 4 X61 Only TNC 430 PA: Spindle
X52 Axis 2 X55 Axis 5 TNC 426 PB (15 000):
X53 Axis 3 X56 TNC 430 PA: Axis 6
TNC 426 PB (9000): Spindle
November 97 Motor Power Stage Connection TNC 426 B, TNC 430 325
Connection overview of the HEIDENHAIN expansion board
X351
326 TNC 426 B, TNC 430 Motor Power Stage Connection November 97
November 97 Motor Power Stage Connection TNC 426 B, TNC 430 327
328 TNC 426 B, TNC 430 Motor Power Stage Connection November 97
3.11 Analog Inputs
The logic unit and the PLC input/output board have analog inputs ( 10 V) and inputs for Pt 100
thermistors. The PL 410 B is available with or without analog inputs. The analog inputs must be
activated on the PL 410 B by a DIL switch.
The current values of these inputs are interrogated with Module 9003.
Analog inputs:
Voltage range 10 V to + 10 V
Input resistance > 250 k
Resolution 100 mV
Internal value range 100 to + 100
Terminal Assignment
1 10 V to +10 V
2 0 V (reference potential)
3 Shield
Terminal Assignment
1 I + Constant current for Pt 100
2 U + Measuring input for Pt 100
3 U Measuring input for Pt 100
4 I Constant current for Pt 100
5 Shield
The following wiring plan is suggested for shielding the terminal box:
LE
Insulated against housing.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Cable shielding is led onto 14 mm
insulated strands via crimp eyelets.
X Y Z IV V S
SERVO
X8 Analog output 1 to 6
Logic unit
D-sub terminal Assignment
(female) 15-pin
1 0 V (internal shield)
3 Ready
4 Start
5 +15 V 10% (UP)
6 + 5 V 5% (UP)
7 Battery warning
8 0 V (UN)
9 Trigger signal
10 Trigger signal 1)
2, 11 to 15 Do not assign
Housing External shield
The interface complies with the recommendations in IEC 742, EN 50 178 for separation
from line power.
Connecting Cable Id. Nr. 310 197 .. EA Id. Nr. 262 904 01 TS 630
D-sub Connector Coupling on Id. Nr.
connector (female) mounting 293 714 ..
(male) 15-pin 7-pin base 7-pin
1 White/Brown 7 7 Internal shield
Internal shield
3 Gray 5 5 Gray
4 Yellow 3 3
5 Brown 2 2 Brown
7 Blue 6 6 Blue
8 White 1 1 White
10 Green 4 4 Green
Housing External shield Housing Housing External shield
Logic unit
D-sub terminal Assignment
(female) 9-pin
1 Ready
2 0 V (UN)
4 +15 V 5% (UP)
7 +5 V 5% (UP)
8 Trigger signal
9 Trigger signal 1)
3, 5, 6 Do not assign
Housing External shield
The interface complies with the recommendations in IEC 742, EN 50 178 for separation
from line power.
Adapter Cable Id. Nr. 310 200 .. TT 120 Id. Nr. 295 743 03
D-sub Coupling on Connector
connector mounting base (male) 6-pin
(male) 9-pin (female) 6-pin
1 Pink 6 6
2 White/Green 1 1 White
4 Gray 5 5
7 Brown/Green 2 2 Brown
8 Green 3 3 Green
9 Yellow 4 4 Yellow
Housing External shield Housing Housing External shield
Logic unit (adapter kit Adapter Cable Connecting Cable A-1016-6640 Renishaw SP
Id. Nr. 311 647 51) Id. Nr. 296 839 Renishaw 2/1
3 Ua2 3 Pink 7
16 Ua2 16 Gray 6
17 Ua1 17 Green 4
7 Ua2 7 Brown/Blue 11
20 Ua2 20 White/Blue 10
21 Ua1 21 Blue 8
11 Ua2 11 Violet 19
24 Ua2 24 Black 18
25 Ua1 25 Gray/Pink 12
1 0V 1 White 1
5 + 12 V 5 Brown 3
9 Overtravel 1 9 White/Green 15
13 0V 13
14 Overtravel 2 14 Brown/Green 21
18 ERROR 18 White/Gray 14
22 SWITCH 22 Gray/Brown 20
Housing External shield Housing External shield Housing Housing External Housing Housing
shield
The interface complies with the recommendations in IEC 742, EN 50 178 for separation
from line power.
Devices can be connected to all three interfaces, and the user can select which one he wishes to
use, see "Data Interface."
The interfaces complies with the recommendations in IEC 742 EN 50 178 for separation
from line power.
Cable type LIYCY [7 (2 x 0.14 mm2)] Cu must be used for connection to the peripheral device.
HEIDENHAIN offers a 15-pin D-subminiature connector (Id. Nr. 315 650 03) for this cable.
2 RXD 2 Blue 2 2 2
3 CTS 3 Gray 3 3 3
4 TXD 4 White 4 4 4
5 RTS 5 Green 5 5 5
6 DSR 6 White/Green 6 6 6
7 DTR 7 Green/Pink 7 7 7
9 RXD 9 Red 9 9 9
10 CTS 10 Pink 10 10 10
11 TXD 11 Brown 11 11 11
12 RTS 12 Yellow 12 12 12
13 DSR 13 Brown/Green 13 13 13
14 DTR 14 Red/Blue 14 14 14
The interfaces complies with the recommendations in IEC 742 EN 50 178 for separation
from line power.
The interfaces complies with the recommendations in IEC 742 EN 50 178 for separation
from line power.
The interfaces complies with the recommendations in IEC 742 EN 50 178 for separation
from line power.
Dummy plug for EMERGENCY STOP circuit Id. Nr. 271 958 03
Connecting cables: Helix cable 3m Id. Nr. 312 879 01
Normal cable Id. Nr. 296 467 ..
Metal armor Id. Nr. 296 687 ..
Housing Shield Housing Housing Shield Housing Housing Shield Housing Housing Shield
6 6 BK 6 6
7 7 RD/BL 7 7
5 5 RD 5 5
4 4 BL 4 4
2 2 WH/G 2 2
N
3 3 BN/GN 3 3
1 1 GY/PK 1 1
WH/BN 3 Contact 1 + 2
WH/BL 1 Contact 1
YL/BK 3 Contact 2
WH/BK 4 Contact 2
Internal wiring of the contacts to the permissive buttons and the EMERGENCY STOP button of the
HR 410:
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 plug-in terminal strips are included in delivery with the adapter cable. If you have an immediate
need for these terminal strips before the adapter cable, they can be ordered separately:
Extension Cable Id. Nr. 281 429 .. HR 130 Id. Nr. 254 040 ..
D-sub D-sub D-sub
connector connector connector
(male) 9-pin (female) 9-pin (male) 9-pin
Housing Shield Housing Housing Shield
2 White 2 2 White
4 Brown 4 4 Brown
6 Yellow 6 6 Yellow
8 Green 8 8 Green
7 Gray 7
X31 24 V
X1 S2 Achswahl (Option)
AXIS SELECTION (OPTIONAL)
S1 Unterteilungsfaktorwahl (Option)
X2
INTERPOLATION FACTOR (OPTIONAL)
max. 20 m max. 50 m
A further step switch (option) offers the possibility to select the interpolation factor for the
handwheels. You have to evaluate the current position of the switch in the PLC, and then you can
activate the corresponding interpolation factor with Module 9036.
HRA 110
Terminal (female) Assignment
9-pin
1 I1+
2 I1
5 I2+
6 I2
7 I0+
8 I0
3 +5V
4 0V
9 Internal shield
Housing External shield
HRA 110
D-sub connector Assignment
(male) 9-pin
1 RTS
2 0V
3 CTS
4 +12V + 0.6 V (Uv)
5 Do not use
6 DSR
7 RxD
8 TxD
9 DTR
Housing External shield
HRA 110
Terminal Assignment
1 + 24 Vdc
2 0V
Power supply: 24 Vdc in accordance with IEC 742 EN 50 178 (basic insulation)
Max. current consumption: 200 mA
The same power supply must not be used for the PLC and the HRA 110 at the same time,
because this would bridge the metallic isolation of the PLC inputs/outputs.
Terminal Assignment
1 +24 V
2 0V
3.17 Input: Drive Motor Enabling (Only TNC 426 PB, TNC 430 PA)
A power supply of 24 V is necessary for drive motor enabling.
Terminal Assignment
1 + 24 Vdc
2 Do not assign
3 0V
Terminal Assignment
1 + 24 Vdc
2 Do not assign
3 0V
November 97 Input: Spindle Reference Signal TNC 426 B, TNC 430 353
3.18 Switching Inputs 24 Vdc (PLC)
Current ranges:
1 signal: Ii 3.8 mA to 8.9 mA 2.5 mA to 6 mA
0 signal: Ii when Ui = 3.2 V 1.0 mA 0.65 mA
354 TNC 426 B, TNC 430 Switching Inputs 24 Vdc (PLC) November 97
X42 PLC Inputs on the LE
Logic unit Conn. Cable Id. Nr 244 005 .. / Id. Nr. 263 954 ..
D-sub terminal Assignment D-sub connector
(female) 37-pin (male) 37-pin
1 I0 1 Gray/Red
2 I1 2 Brown/Black
3 I2 3 White/Black
6 I5 6 White/Red
7 I6 7 White/Green
8 I7 8 Red/Blue
9 I8 9 Yellow/Red
10 I9 10 Gray/Pink
11 I10 11 Black
12 I11 12 Pink/Brown
13 I12 13 Yellow/Blue
14 I13 14 Green/Blue
15 I14 15 Yellow
16 I15 16 Red
17 I16 17 Gray
18 I17 18 Blue
19 I18 19 Pink
20 I19 20 White/Gray
21 I20 21 Yellow/Gray
22 I21 22 Green/Red
23 I22 23 White/Pink
24 I23 24 Gray/Green
25 I24 25 Yellow/Brown
26 I25 26 Gray/Brown
27 I26 27 Yellow/Black
28 I27 28 White/Yellow
29 I28 29 Gray/Blue
30 I29 30 Pink/Blue
31 I30 31 Pink/Red
32 I31 32 Brown/Blue
November 97 Switching Inputs 24 Vdc (PLC) TNC 426 B, TNC 430 355
PLC Inputs on the PL 410 B
X3 X4
X5 X6
356 TNC 426 B, TNC 430 Switching Inputs 24 Vdc (PLC) November 97
3.19 Switching Outputs 24 Vdc (PLC)
Permissible load: resistive load; inductive load only with quenching diode parallel to the
inductance.
No more than one output may be shorted on the logic unit at any time. Short circuit of one
output does not cause an overload.
No more than half the PLC outputs may be driven at the same time (simultaneity factor 0.5).
November 97 Switching Outputs 24 Vdc (PLC) TNC 426 B, TNC 430 357
X41 PLC output on the LE
Logic unit Conn. Cable Id.-Nr 244 005 .. / Id. Nr. 263 954 ..
D-sub terminal Assignment D-sub connector
(female) 37-pin (male) 37-pin
2 O1 2 Brown/Black
3 O2 3 White/Black
4 O3 4 Green/Black
5 O4 5 Brown/Red
6 O5 6 White/Red
7 O6 7 White/Green
8 O7 8 Red/Blue
9 O8 9 Yellow/Red
10 O9 10 Gray/Pink
11 O10 11 Black
12 O11 12 Pink/Brown
13 O12 13 Yellow/Blue
14 O13 14 Green/Blue
15 O14 15 Yellow
16 O15 16 Red
18 O17 18 Blue
19 O18 19 Pink
20 O19 20 White/Gray
21 O20 21 Yellow/Gray
22 O21 22 Green/Red
23 O22 23 White/Pink
24 O23 24 Gray/Green
26 O25 26 Gray/Brown
27 O26 27 Yellow/Black
28 O27 28 White/Yellow
29 O28 29 Gray/Blue
30 O29 30 Pink/Blue
31 O30 31 Pink/Red
358 TNC 426 B, TNC 430 Switching Outputs 24 Vdc (PLC) November 97
Logic unit Conn. Cable Id.-Nr 244 005 .. / Id. Nr. 263 954 ..
D-sub terminal Assignment D-sub connector
(female) 37-pin (male) 37-pin
34 Control-is-ready 34 Brown
X7 X8
November 97 Switching Outputs 24 Vdc (PLC) TNC 426 B, TNC 430 359
3.20 Connection of the PLC Expansion
Up to four PL 410 B can be connected to the TNC.
TNC 426 CB, TNC 430 CA: One PL can be mounted on the logic unit. Further PLs must
be mounted separately in the control cabinet.
TNC 426 PB, TNC 430 PA: No PL may be mounted on the logic unit.
The PL 410 B is available with or without analog inputs. The analog inputs must be activated by
means of a DIL switch on the PL.
360 TNC 426 B, TNC 430 Connection of the PLC Expansion November 97
X47 PLC expansion on the LE
Logic unit Conn. Cable Id. Nr. 289 111 .. 1st PL 410 B
D-sub Assignment D-sub D-sub X1 D-sub Assignment
terminal connector connector terminal
(male) (female) (male) (female)
25-pin 25-pin 25-pin 25-pin
2 0V 2 Red/Blue, Brown/Green, 2 2 0V
Yellow/Brown, Gray/Brown,
Pink/Brown
3 0V 3 Brown/Blue, Brown/Red, 3 3 0V
Brown /Black, Yellow/Gray,
Yellow/Pink
Housing External shield Housing External shield Housing Housing External shield
November 97 Connection of the PLC Expansion TNC 426 B, TNC 430 361
X2 PLC expansion on the PL 410 B
2 0V 2 Red/Blue, Brown/Green, 2 2 0V
Yellow/Brown, Gray/Brown,
Pink/Brown
3 0V 3 Brown/Blue, Brown/Red, 3 3 0V
Brown /Black, Yellow/Gray,
Yellow/Pink
Housing External shield Housing External shield Housing Housing External shield
362 TNC 426 B, TNC 430 Connection of the PLC Expansion November 97
November 97 Connection of the PLC Expansion TNC 426 B, TNC 430 363
364 TNC 426 B, TNC 430 Connection of the PLC Expansion November 97
3.21 Machine Operating Panel
For machines with up to four axes, HEIDENHAIN offers the MB 420 machine operating panel. This
is mounted below the TNC operating panel. The standard arrangement of keys may be seen in the
dimension drawing.
The operating panel is supplied with four additional black keys, which can be substituted for
unrequired axis keys. Other keys with different symbols are also available on 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
PLC inputs I128 to I152 and the PLC outputs O0 to O7 are on connection X46 (machine operating
panel). The PLC reference potential for outputs O0 to O7 are connected to pins 34 and 35.
X1 on the TNC Keyboard for connecting the soft keys of the Visual Display Unit
1 RL0 1 Gray/Red 1 1
2 RL1 2 Brown/Black 2 2
3 RL2 3 White/Black 3 3
4 RL3 4 Green/Black 4 4
5 RL4 5 Brown/Red 5 5
6 RL5 6 White/Red 6 6
7 RL6 7 White/Green 7 7
8 RL7 8 Red/Blue 8 8
9 RL8 9 Yellow/Red 9 9
10 RL9 10 Gray/Pink 10 10
11 RL10 11 Black 11 11
12 RL11 12 Pink/Brown 12 12
13 RL12 13 Yellow/Blue 13 13
14 RL13 14 Green/Blue 14 14
15 RL14 15 Yellow 15 15
16 RL15 16 Red 16 16
17 RL16 17 Gray 17 17
18 RL17 18 Blue 18 18
19 RL18 19 Pink 19 19
20 SL0 20 White/Gray 20 20
21 SL1 21 Yellow/Gray 21 21
22 SL2 22 Green/Red 22 22
23 SL3 23 White/Pink 23 23
24 SL4 24 Gray/Green 24 24
25 SL5 25 Yellow/Brown 25 25
26 SL6 26 Gray/Brown 26 26
27 SL7 27 Yellow/Black 27 27
28 RL19 28 White/Yellow 28 28
29 RL20 29 Gray/Blue 29 29
31 RL21 31 Pink/Red 31 31
32 RL22 32 Brown/Blue 32 32
33 RL23 33 Pink/Green 33 33
When ordering, make sure that you also order the corresponding logic unit for the screen. You will
need the 3-row/2-row adapter, Id. Nr. 313 434 02, for connecting the BC 120 to LEs with
Id. Nr. xxx xxx 3x. The predecessor of the BC 120, the BC 110 B (supplied in the past), could be
connected directly to LEs with Id. Nr. xxx xxx 3x no adapter was necessary. The BC 120 can be
connected without an adapter to LEs with Id. Nr. xxx xxx 4x. If you want to connect these LEs with
old BC 110 B screens, you will need a 3-row/2-row adapter (Id. Nr. 313 434 01).
1 GND 1 1 1
2 Do not assign 2 2 2
3 Do not assign 3 3 3
4 Do not assign 4 4 4
5 Do not assign 5 5 5
6 Do not assign 6 6 6
7 R 7 Coax Red 7 7
8 GNC 8 8 8
9 VSYNC 9 Yellow 9 9
10 HSYNC 10 Pink 10 10
11 GND 11 Black 11 11
12 Do not assign 12 12 12
13 Do not assign 13 13 13
14 G 14 Coax Green 14 14
15 B 15 Coax Blue 15 15
The interface complies with the recommendations in IEC 742 EN 50 178 for separation from
line power.
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
The interface complies with the recommendations in IEC 742 EN 50 178 for separation from
line power.
1 R 1 Coax I Red 1 1
2 G 2 Coax I Green 2 2
3 B 3 Coax I Blue 3 3
4 Do not assign 4 4 4
5 Do not assign 5 5 5
9 Do not assign 9 9 9
10 GND 10 Gray 10 10
11 GND 11 Green 11 11
12 Do not assign 12 12 12
13 HSYNC 13 Pink 13 13
14 VSYNC 14 Yellow 14 14
15 Do not assign 15 15 15
The interface complies with the recommendations in IEC 742 EN 50 178 for separation from
line power.
1 R 1 Coax I Red 1 1
2 G 2 Coax I Green 2 2
3 B 3 Coax I Blue 3 3
4 Do not assign 4 4 4
5 Do not assign 5 5 5
9 Do not assign 9 9 9
10 GND 10 Gray 10 10
11 GND 11 Green 11 11
12 Do not assign 12 12 12
13 HSYNC 13 Pink 13 13
14 VSYNC 14 Yellow 14 14
15 Do not assign 15 15 15
The interface complies with the recommendations in IEC 742 EN 50 178 for separation from
line power.
1 0V 1 1 1 1 1
2 CLK. P 2 2 2 2 2
3 HSYNC 3 3 3 3 3
4 BLANK 4 4 4 4 4
5 VSYNC 5 5 5 5 5
6 0V 6 6 6 6 6
7 R0 7 7 7 7 7
8 R1 8 8 8 8 8
9 R2 9 9 9 9 9
10 R3 10 10 10 10 10
11 0V 11 11 11 11 11
12 G0 12 12 12 12 12
13 G1 13 13 13 13 13
14 G2 14 14 14 14 14
15 G3 15 15 15 15 15
16 0V 16 16 16 16 16
17 B0 17 17 17 17 17
18 B1 18 18 18 18 18
19 B2 19 19 19 19 19
20 B3 20 20 20 20 20
21 0V 21 21 21 21 21
22 0V 22 22 22 22 22
23 CLK. P 23 23 23 23 23
24 HSYNC 24 24 24 24 24
25 BLANK 25 25 25 25 25
26 VSYNC 26 26 26 26 26
27 0V 27 27 27 27 27
28 R0 28 28 28 28 28
29 R1 29 29 29 29 29
30 R2 30 30 30 30 30
31 R3 31 31 31 31 31
32 0V 32 32 32 32 32
33 G0 33 33 33 33 33
34 G1 34 34 34 34 34
35 G2 35 35 35 35 35
36 G3 36 36 36 36 36
37 0V 37 37 37 37 37
38 B0 38 38 38 38 38
39 B1 39 39 39 39 39
40 B2 40 40 40 40 40
41 B3 41 41 41 41 41
42 0V 42 42 42 42 42
43 DISP.LOW 43 43 43 43 43
44 DISP.LOW 44 44 44 44 44
45 DISP. ON 45 45 45 45 45
46 DISP.ON 46 46 46 46 46
47 C0 47 47 47 47 47
48 C1 48 48 48 48 48
49 C2 49 49 49 49 49
50 C3 50 50 50 50 50
51 C4 51 51 51 51 51
52 C5 52 52 52 52 52
53 to 62 Do not 53 to 62 53 to 62 53 to 62 53 to 62 53 to 62
assign
Housing Housing Housing Housing Housing Housing
The interface complies with the recommendations in IEC 742 EN 50 178 for separation from
line power.
X1
4(
X3
8)
X1
4
X3
7
X3
6
X3
5
November 97 Mounting the Optional PCBs TNC 426 B, TNC 430 375
4 Machine Integration
Screen display
With MP7291.x you can select the line on which the axis is to be displayed on the screen. You must
set the axes to be displayed in MP100.x (capital letters for NC axes and small letters for PLC axes).
You can define a new arrangement for each traverse range. The spindle is always displayed on the
last line.
Signal period
The signal period is calculated by the TNC automatically. To make this possible, however, you must
enter a distance (MP331.x) and the number of signal periods it covers (MP332.x).
MP331.x
Signal period =
MP332.x
Encoder output signals with 1 VPP and 7 to 16 APP are interpolated 1024-fold.
Traverse direction
With machine parameters MP210 and MP1040 you define the traversed directions of the axes. The
traverse directions for numerically controlled machine tools are described in ISO 841.
With MP 210 you define the counting direction of the measuring signals from the position
encoder. The counting direction depends on the mounting arrangement of the encoder.
With MP1040 you define the polarity of the nominal value for the positive traverse
direction. If MP1040 and MP210 do not match, the error message Movement monitoring
error in <axis> C is displayed.
With W1030 the NC informs the PLC the direction in which the axes are being moved.
Digital axes: The counting direction of the measuring signals from the speed encoder is set in the
motor table. If the error message Standstill monitoring error in <axis> D appears, you
must change this value.
MP210 Counting direction of the measuring signals from the position encoder.
Input: %xxxxxxxxx
Bit 0 to 8 0 = positive
Axis 1 to 9 1 = negative
MP1040 Analog axes: Polarity of the nominal value voltage for the positive traverse
direction
Digital axes: Polarity of the speed nominal value for the positive traverse
direction
Input: %xxxxxxxxx
Bit 0 to 8 0 = positive
Axis 1 to 9 1 = negative
Set Reset
W1030 Current traversing direction NC NC
Bit 0 to 8 0 = positive
Axis 1 to 9 1 = negative
Position encoder monitoring can be activated via machine parameter. The TNC automatically
compensates offset of the encoder signals.
Digital axes:
The monitoring function for speed encoders is always active. If an error message refers to a speed
encoder, an ` is displayed after the axis designation (e.g. Encoder <axis>`: frequency too
high). The absolute position with distance-coded reference marks is not checked for speed
encoders.
MP20 Checking the absolute position of distance-coded reference marks for the axes
Input: %xxxxxxxxx
Bit 0 to 8 0 = not active
Axis 1 to 9 1 = active
MP20.1 Monitoring the amplitude of the encoder signals for the axes
Input: %xxxxxxxxxx
Bit 0 to 8 0 = not active
Axis 1 to 9 1 = active
MP20.2 Checking the edge separation of the encoder signals for the axes
Input: %xxxxxxxxxx
Bit 0 to 8 0 = not active
Axis 1 to 9 1 = active
MP21.0 Checking the absolute position of distance-coded reference marks for the spindle
Input: %x 0 = not active
1 = active
MP21.1 Monitoring the amplitude of the encoder signals for the spindle
Input: %x 0 = not active
1 = active
MP21.2 Checking the edge separation of the encoder signals for the spindle
Input: %x 0 = not active
1 = active
+Z
+X
+Y
For the spindle axis direction, a movement of the tool toward the workpiece represents the negative
direction. When writing an NC program, the programmer always enters the sign for traverse
direction as if the tool is moving and the workpiece is stationary. If the machine table moves in a
particular axis, then the direction of actual motion is opposite to the direction of axis traverse. Such
positive relative axis movements are then designated with an index (+X', +Y' etc.).
+X
+X
An axis of rotation is designated by the letter A, B or C. The correlation of rotary axes with the
primary axes and determination of the direction of rotation are standardized in ISO 841.
+Z
+Y
+C
+B
+X
+A
A secondary linear axis is designated by the letter U, V or W. The correlation of secondary axes
with the primary axes and their directions of traverse are also standardized in ISO 841.
+W +Y
+V
+X
+U
With MP410.x you can determine which axes are assigned to the keys IV and V on the keyboard and
the HR 410. The other axes are assigned to soft keys or ASCII characters. The axis designations are
set with MP100.x. Capitals are used for NC axes and small letters or a hyphen (-) for PLC axes. Each
of the three traverse ranges can have different axis designations, see also "Screen display." Module
9151 is used to overwrite the designations set in MP100.x (see "Traverse Ranges").
Analog axes: With MP120.x the nominal speed command outputs can be assigned to the axes. If
you do not assign a nominal speed output to an axis, this axis can only be displayed and not
controlled. You can assign a nominal speed command output to the spindle with MP121.
Digital axes: You can define digital axes by entering D1 to D6 in MP120. To define a digital spindle
enter S1 in MP121. If you enter zero in MP110.x or MP111, the speed encoder will be used for
determining position.
NC software 280 470 ..: Only 0 to 13 and definition of digital axes in MP2000
NC software 280 470 ..: Only 0 to 13 and definition of digital spindle in MP2001
Call:
PS B/W/D/K <Axis> axis-specific = 0 to 8, spindle = 15
bit-coded = -1
PS B/W/D/K <Status information> [see table for numbers]
CM 9038
PL B/W/D <Information> [see table]
Set Reset
M4526 Axis 1 is tool axis NC NC
M4527 Axis 2 is tool axis NC NC
M4528 Axis 3 is tool axis NC NC
M4529 Axis 4 is tool axis NC NC
M4530 Axis 5 is tool axis NC NC
M4531 Axis 6 is tool axis NC NC
M4532 Axis 7 is tool axis NC NC
M4533 Axis 8 is tool axis NC NC
M4534 Axis 9 is tool axis NC NC
Call:
PS B/W/D/K/S <String with axis designation>
1 = use axis designation from MP100.x
PS B/W/D/K <Traverse range>
0 to 2 = traverse range
1 = do not change traverse range
CM 9151
MP910.0-8 Positive software limit switch for traverse range 1; default setting after power-on;
Activation via PLC M4575 = 0, M4574 = 0
Input: 99 999.9999 to +99 999.9999 [mm] or []
(Input values are referenced to the machine datum)
MP920.0-8 Negative software limit switch for traverse range 1; Default setting after power-on;
Activation via PLC M4575 = 0, M4574 = 0
Input: 99 999.9999 to +99 999.9999 [mm] or []
(Input values referenced to the machine datum)
Set Reset
M4574 Selection of the traverse range PLC PLC
M4575 Selection of the traverse range PLC PLC
M4135 Activation of the selected traverse range PLC PLC
W1034 Positive software limit switch was traversed NC NC
Bit 0 to 8
Axis 1 to 9
Set Reset
W1056 Lubrication pulse. Value from MP4060.x exceeded NC NC
Bit 0 to 8
Axis 1 to 9
PLC axes are always controlled in servo lag mode. All other axis-specific machine parameters have
the same function as for NC axes. You can start several PLC axes simultaneously. However, these
axes are not interpolated with each other.
In MP810.x you can enter a modulo value for the counting mode of rotary axes (see the
section "Display and Operation"). If you have entered a modulo value in MP810.x, the PLC axis will
always be moved by the shortest path to the target position, even if this means crossing the zero
point. You program the positioning of PLC axes in the PLC program using the following modules:
Constraints:
You must activate the axis using MP10 and identify it as a PLC axis using MP100.x.
The system does not check for limit switch overshoot.
The axis must be stationary. You must abort any positioning movement beforehand with
Module 9121.
There is no feed-rate override. You can influence the feed rate with Module 9124.
If the reference marks were not yet traversed, the positioning movement starts from the counter
value as it existed upon switch-on.
Call:
PS B/W/D/K <Axis> [0 to 8]
CM 9121
PL B/W/D <Error code> 0: Positioning command is aborted
1: Axis does not exist
2: Axis is not defined as a PLC axis
3: Axis was already stationary
Call:
PS B/W/D/K <Axis> [0 to 8]
CM 9122
PL B/W/D <Status> Bit 0: Type
=0: NC axis
=1: PLC axis
Bit 1: Reference mark
=0: Reference mark has not yet been traversed
=1: Reference mark has been traversed
Bit 2: Positioning
=0: Not active
=1: Active
Bit 3: Direction of traverse
=0: Positive
=1: Negative
Bit 4: Positioning error
=0: No error
=1: Positioning error
Call:
PS B/W/D/K <Axis> [0 to 8]
PS B/W/D/K <Feed rate> [mm/min]
PS B/W/D/K <Mode>
Bit 0: Traverse direction
=0: positive
=1: negative
CM 9123
PL B/W/D <Error code> 0: No error. Positioning has started
1: Axis does not exist
2: Axis is not defined as a PLC axis
3: Axis is already being positioned
Call:
PS B/W/D/K <Axis> [0 to 8]
PS B/W/D/K <Override> (Format 0.01%)
CM 9124
PL B/W/D <Error code> 0: No error: feed rate override was set.
1: Axis does not exist
2: Axis is not defined as a PLC axis
3: Override value is incorrect
You can activate either linear or nonlinear axis-error compensation. The other types of error
compensation can always be activated in parallel.
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).
MP750.0-8 Backlash
Input: 1.0000 to +1.0000 [mm]
Error
[mm]
0.02
0.01
0
-0.01 Ref. mark 500 1000 Encoder
[mm]
-0.02
Such an axis-error is usually determined by a comparator measuring instrument (e.g. the VM 101 from
HEIDENHAIN).
Error trace for sag as a function of Y (Z = F(Y)):
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
Example: Axis 2 = Y
Axis 3 = Z
Compensation value table at 20C = AXIS-Y.COM and AXIS-Z.COM
Compensation value table at 35C = AXIS-YT.COM and AXIS-ZT.COM
Enter the complete name of the configuration file with path in the OEM.SYS file using the
command TABCMA =
Create a compensation value table type .COM using the program manager
Using soft keys enter columns for the dependencies of the axis for which you have created the
compensation table
Press HEAD LINE soft key
Enter the datum for the compensation values. Input value = distance from machine datum
(MP960.x)
Enter the distance of the compensation points. Input value = exponent to the base 2
(e.g. input 16 = 216 = 6.5536 mm). Maximum input value = 23
Press the END key to exit the header
With the soft key APPEND N LINES enter the number of compensation points.
A maximum of 256 compensation points can be entered per column; a maximum of 10 columns
in all active compensation value tables; in total not more than 1280 compensation points
Example: Axis 2 = Y
Axis 3 = Z
Ballscrew pitch error in Z and Y (Z = F(Z) and Y = F(Y))
Sag in Z as dependency of Y.
Traverse range: Z = 800 mm, Y = 500 mm.
Datum for the compensation values: Z = 90 mm, Y = 200 mm.
Desired distance of compensation points: 7 mm
In the compensation value table for axis Y enter the ballscrew pitch error in the column 2 = F( )
and the sag in the column 3 = F( )
In the compensation value table for axis Z enter the ballscrew pitch error in the column 3 = F( )
Call:
PS B/W/D/K <19>
CM 9035
PL B/W/D <Active line number>
0: Active line number
1: No .CMA file active
The temperature measured through the Pt 100 thermistors is filed in PLC words (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.
The value to be compensated can be given with Module 9231. As soon a you transfer a value with
Module 9231, the lag tracking becomes active. Lag tracking means that the actual machine
position changes by a certain value per PLC cycle until it has been completely compensated. This
does not change the value in the actual position display. The increment of change per PLC cycle
must be defined in MP4070.
You don't have to use Module 9231 for axes 1 to 5. In this case the value to be compensated can be
entered directly into W576 to W584.
Set Reset
W576 to W584 Lag-tracking error compensation PLC PLC
(compensation speed from MP4070)
Input: +32 767 to 32 768 [1/10 m]
W576 to W584
Axis 1 to Axis 5
Call:
PS B/W/D/K <Axis> [0 to 8]
PS B/W/D/K <Compensation value> [1/10 000 mm] Range: 30 000 to +30 000
CM 9231
Digital axes
For digital axes you must enter the friction compensation within the range of the speed controller
(MP2610.x to MP2620.x). You cannot use MP711.x to MP716.x.
Analog axes
If you have compensated the backlash using MP750.x, there should be no more occurrence of
reversal peaks. If reversal peaks can however still be measured, you can try to compensate them
with MP711.x to MP716.x. In MP711.x you enter the height of the reversal peaks, in MP712.x the
share of the reversal peaks to be compensated per control-loop cycle time.
MP711.0-8 Analog axes: Height of the reversal peaks during circular traverse
Input: 1.0000 to + 1.0000 [mm]
MP715.0-8 Analog axes: Height of the reversal peaks during circular traverse with M105
Input: 1.0000 to + 1.0000 [mm]
MP716.0-8 Analog axes: Compensation value per control-loop cycle time with M105
Input: 0.000000 to 99.999999 [mm]
s a m
Fadd = kv MP1511 Fadd = additional feed rate [
min
]
tC
sa = lag difference after one control loop cycle [mm]
tC = control loop cycle time [s]
m/min
kv = position loop gain [ ]
mm
MP1511.x = factor for stiction compensation [s]
This increase in nominal value is limited by MP1512. If you set this limit too high, the machine will
oscillate at standstill (recommended value: < 50).
Compensation may only be active at low feed rates because the increased nominal value would
cause oscillation at high speed. The feed-rate limit for stiction compensation is defined in MP1513.x.
MP1391 Velocity feedforward control for Manual and Handwheel operating modes
Input: %xxxxx
Bit 0 to 8 0 = operation with lag
Axis 1 to 9 1 = operation with velocity feedforward
A simultaneous PLC positioning movement of several axes is interpolated. If you start an additional
axis while already positioning another, the first movement is aborted, and then all the programmed
axes (e.g. X, Y and Z) are positioned together.
There is no tool compensation. The tool path compensation must be ended before a PLC
positioning command. PLC positioning is not shown in the test graphics.
After the module call the corresponding markers M4120 to M4128 are set. You can abort
the PLC positioning command by resetting this marker. If you wish to change a parameter (e.g. feed
rate) of a positioning command in progress, you must first abort it with M4120 to M4128, change
the parameter, and call Module 9221 again.
Interrogate status:
PS B/W/D/K <Axis> [0 to 8]
CM 9222
PL B/W/D <Status> 0: No PLC positioning command started yet.
1: Target position has been reached
2: PLC positioning command started.
3: Aborted. Target position not reached.
4: Target position outside of the traverse range.
5: Positioning not possible (e.g. because of free rotation).
Unlike PLC positioning with Module 9221, here the parameters are transferred in words.
The target position is in doublewords D528 to D544.
The feed rate is in words W560 to W568
To start the PLC positioning command, set markers M4120 to M4124. Software limit switches are
not recognized. Otherwise the restraints are the same as for Module 9221.
Set Reset
D528 to D544 Target for PLC positioning [0.0001 mm] PLC PLC
D528 to D544
Axis 1 to Axis 5
W560 to W568 Feed rate for PLC positioning [mm/min] PLC PLC
W560 to W568
Axis 1 to Axis 5
Set Reset
M4120 PLC positioning axis 1 active NC/PLC NC/PLC
M4121 PLC positioning axis 2 active NC/PLC NC/PLC
M4122 PLC positioning axis 3 active NC/PLC NC/PLC
M4123 PLC positioning axis 4 active NC/PLC NC/PLC
M4124 PLC positioning axis 5 active NC/PLC NC/PLC
M4125 PLC positioning axis 6 active NC/PLC NC/PLC
M4126 PLC positioning axis 7 active NC/PLC NC/PLC
M4127 PLC positioning axis 8 active NC/PLC NC/PLC
M4128 PLC positioning axis 9 active NC/PLC NC/PLC
In Cycle 19, Tilt Working Plane, you define the position of the working plane (e.g. A-45, B-45). With
MP7500 bit 1 you define whether the entered value should correspond to the position of the
individual tilting axes or the position of the working plane. The position of the working plane can be
entered only for certain tilting-axis combinations. If you enter the position of the working plane, the
TNC offsets the positions of the tilting axes. The resulting coordinates are stored in the following
Q parameters:
Q120 = coordinate of the A axis
Q121 = coordinate of the B axis
Q122 = coordinate of the C axis
After activation of Cycle 19, the TNC undertakes a coordinate transformation. The other axes remain
parallel to the tool axis, and the X-Y plane is perpendicular to the directional vector of the tool axis.
With MP7500, bit 2, you define whether the tilting axes should be positioned when Cycle 19 is
called. If you select automatic positioning in bit 2, you may enter a feed rate and a setup clearance in
Cycle 19. With Cycle 19 the TNC then moves automatically to setup clearance and interpolates the
main axes and the tilting axes so that the tool tip is once again at the same position in the tilted
coordinate system.
The values displayed in the status window refer to the tilted coordinate system. In this way
you can transform the working plane to any desired position, then enter the part program in the X-Y
plane as usual. The NC automatically interpolates the affected axis during program run. You can use
all the path functions, cycles, and datum setting and probing functions in the transformed working
plane. For controlled axes the current coordinates of the tilting axes are accounted for during datum
setting. The reference in this case is the machine datum. Therefore in the 0 position the set datum
for the tilting axes must coincide with the coordinates referenced to the machine datum. A
misalignment can be compensated with MP960.x. In MP7682 bit 1 you can set whether the nominal
or the actual values should be used for calculating the preset during "datum setting". For non-
controlled axes you must enter the current positions of the tilting axes using the 3D ROT soft key.
Workpieces on rotary tables are often aligned with the turning of the table. After this
alignment the set datum no longer coincides with the machine zero position. If MP7500 bit 3 is set,
the TNC assumes that the workpiece is aligned at "datum setting" and the Cycle Tilt Working Plane
uses the new position after the table has been rotated as datum.
When combining coordinate transformation cycles you must consider the sequence of
activation and deactivation. The tool radius offset in the working plane and the tool length offset
parallel to the tool axis are active. With the 3D ROT soft key you can activate the tilted working
plane separately for the Manual and Program Run modes.
You must enter the mechanical offset between the tilting axes in the machine parameters.
The tilting head must be in its home position (all tilting axes in the 0 position) when the shifts are
entered. For tilting heads the initial position is the tool datum of the machine (usually the spindle
head). Enter the shift or rotation to the tilting axis closest to the machine, then do the same for the
next axis, and continue this in sequence until you reach the end of the tilting-axis chain. If a rotation
has been entered, this must be removed in an additional transformation.
If Cycle 19 Tilt Working Plane is active it is not possible to position with M91 or M92.
The Basic Rotation function can be performed only when the tilting axes are at their 0
positions.
PLC positioning commands are always executed paraxially to the machine coordinate
system. Cycle 19 therefore has no influence on PLC positioning commands.
The datum shift via PLC also works together with the Tilt Working Plane function
Entering the angle for the angle in space (MP7500 Bit 1 = 1) is possible only for the
following combination of tilting axes:
- Double swivel head 45: axis sequence A fixed/ B or C variable / A fixed/ B or C variable
- Rectangular double swivel head: axis sequence A or B variable / C variable
- Tilt and turn table: axis sequence C variable / A or B variable
- Swivel head and rotary table: axis sequence A or B variable / C variable
- Rotary table 45: axis sequence C variable / A fixed / B variable / A fixed
As of NC software 280 472 01:
- Double swivel head 90: axis sequence A variable / B variable
The axis designation for tilting axes is limited to A, B, C. Each designation can only occur
once.
+Z
Z1 = 200.4 mm
Z2 = 3.1 mm
X1 = 201.5 mm
+B Y1 = 1.9 mm
+A
+Y
+X
4 B Z
A
Z2
Z1
X
1
Spindle
Spindle center
centre
Y
A
2 Y1
X
X1
3
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 (referenced to the machine datum) of the center of rotation of the rotary table C with all
swivel axes in home position: XR = 420.0 mm
YR = 151.2 mm
ZR = 395.4 mm
B
B
dx dz
dB
Tilting axes and linear axes can be interpolated at the same time. With M114 or M128 the TNC
compensates the tool offset resulting from tilting axis positioning due to the axes' geometrical
design. This is a 3-D length compensation. The radius compensation must be calculated by the CAD
system or by the postprocessor. A programmed radius compensation (RL or RR) results in an error
message.
Since the TNC accounts for the machine geometry values from MP7510 to MP7530, the
postprocessor does not need to account for them. The tool point is always on the programmed
nominal coordinates.
Unlike the Tilting Working Plane function, the coordinate system is not tilted.
If the TNC performs the tool length compensation, the programmed feed rate refers to the
tool point, otherwise it refers to the tool datum.
M114
Kinematic deviations resulting from the superposition of translational and rotatory movements
are dependent on the length of the linear interpolation.
For machines with rotary tables note that the rotating of the table causes a rotation in the
workpiece coordinate system relative to the machine coordinate system. The TNC does not take
this into consideration.
M114 can also be used with non-controlled axes or PLC tilting axes. The current tilting angle and
the tilting axis are entered in the NC block after M114.
M128
The superposition of translational and rotatory movements does not cause kinematic deviations.
For machines with rotary tables, the TNC takes into consideration the rotation in the workpiece
coordinate system caused by the rotating of the table.
M128 is not deactivated by a change in operating mode, which means that the tilting axes can
be traversed with machine-geometric compensation using the axis-direction keys in the Manual
operating mode and using the handwheel in the Handwheel operating mode.
With M118, handwheel positioning of the tilting axes can be superimposed during program run,
and the TNC automatically carries out an offset compensation in the main axes.
4.6.2 Conventions
The slave axis cannot be moved independently.
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, etc.).
The bits for direction of traverse (W1030) and axis in motion (W1028) are not set for the slave
axis.
An axis cannot be master and slave at the same time.
You must enter axis error compensation (both linear and nonlinear) 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 lag mode, the kv factor for master and slave axis should be the same.
Both axes must be under either analog or digital control.
Up to NC software 280 470 04: master and slave must be linear axes.
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 encoders with distance-coded reference marks.
With distance-coded reference marks, the absolute position is available after crossing two reference
marks.
Scale with distance-coded reference marks
The scale graduation consists of the line grating track and a reference mark track 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.
Machine datum
The reference mark identifies a point on the position encoder. The reference points of all axes define
the scale reference point. The distance from the scale reference point to the machine datum is
defined in MP960.x. All REF-based display values and positioning movements are referenced to the
machine datum.
For distance-coded measuring systems the machine datum (MP960.x) is referenced to the scale
reference point. In linear encoders the scale reference point is the first reference mark after the start
of the measuring length; in angle encoders the scale reference point is marked.
The direction of traverse and the velocity on passing the reference marks is defined by machine
parameters (MP1320.x, 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 PASS
OVER REFERENCE soft key will appear. The markers M2136 to M2140 inform the PLC of the axes
for which 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 in each axis. This trip dog must be fixed at the end of the
traverse range by the manufacturer of the machine. The signals from the trip dogs are connected to
available PLC inputs. In the PLC program these PLC inputs are combined with W1054 (Reference
end-position).
NC axis:
The module can be called only in the operating modes Traverse Reference Points, Manual
Operation, and Electronic Handwheel.
The functional sequence (MP1350.x) and the velocity for leaving the reference end position
(MP1331.x) is always defined by the machine parameter values.
The velocity and traversing direction for traversing the reference mark is either taken from
MP1330.x and MP1320.x or entered in the module. Only in specific exceptional cases should the
traversing direction be defined in the module. This is because the module does not regard the
reference end positions and therefore the traverse limits may be exceeded.
Controlled spindle:
The speed for approaching the reference mark is entered in the module.
The spindle must be started from standstill for reference mark traverse.
If a spindle is started for referencing, the marker M4018 is set.
Call:
PS B/W/D/K <Axis / Spindle>
0 to 8 for axis 1 to 9; 15 for spindle
PS B/W/D/K <Feed rate / Speed>
0: Feed rate from MP1330.x
>0: Feed rate in mm/min or speed in 1/1000 rpm
PS B/W/D/K <Direction of traverse>
1: Negative direction
0: Direction from MP1320.x
1: Positive direction
CM 9220
PL B/W/D <Error code>
0: No error: Ref positioning is commanded
1: Axis or spindle does not exist
2: Illegal values for feed rate / direction were transferred
3: Wrong operating mode (only NC axes)
4: Ref positioning not possible because previous reference run was not yet
started
5: Axis is already being positioned or spindle in motion
6: Another axis is being positioned (only NC axes)
MP1331.0-8 Velocity when leaving the reference end position (only for rotary encoders MP1350=2)
Input: 80 to 500 [mm/min]
Set Reset
W272 Mode of operation NC NC
1 = manual
2 = electronic handwheel
3 = positioning with Manual Data Input
4 = program run, single block
5 = program run, full sequence
7 = traversing the reference points
Reference marks
"Reference end
closed postion" trip dog
open
directionMP1320
Traverse dirction MP1320
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 referencing 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. You must ensure that during referencing the same reference pulse is always evaluated.
This can also be achieved using the trip dog for the reference end position.
Measuring length
Reference pulse
Trip dog
Closed
"Reference end position"
Open
Is the
machine outside Yes
the software limit
switch range?
Machine moves to
No software limit switch
Machine stops
The individual control loops and their machine parameters are described in the following pages.
A block diagram for the control loop of a digital axis is provided in the Appendix.
In the TNC 426 CB, TNC 430 CA the machine parameters for the speed and current controllers are
not accessible. You must adjust these controllers in accordance with the documentation for your
servo amplifier.
SNoml s SNoml
Axis 1
v
f
MP1096
t MP1099
MP1097.0 or
MP1098.0 (MP1095 =?)
MP1060.x
t SNoml s SNoml
s = S0+vt Axis 2
f
MP1096
MP1090.x
j
MP1099
MP1097.1 or
MP1098.1 (MP 1095 =?)
t
SNoml
Axis 3
The interpolator calculates a velocity every 3 ms from the feed rate in the NC program. The value is
also dependent on the acceleration curve and the end position. If several axes are traversed at the
same time, the smallest acceleration value is effective.
In two machine parameters you adjust the velocity feedforward value to the dynamics of the
machine.
With MP1060.x you determine the acceleration (= slope of the velocity curve with feedforward).
With MP1090.x you limit the jerk during acceleration and deceleration. The jerk is the derivative
of the acceleration. The greater the entered value, the more the system will tend to oscillate.
In order for the desired acceleration to be reached, the following must be taken into consideration:
At high feed rates (e.g. rapid traverse), a higher rate-of-change (jerk) is permissible than at lower
feed rates. Thus you can set the jerk for low feed rates in MP1090.0 and for high feed rates in
MP1090.1. In MP1092 you can set the feed rate threshold from which MP1090.1 becomes
effective.
MP1090 is not axis-specific. Thus when entering the values you must consider the weakest
axis.
The nominal position value is resolved into the individual axis components, depending on which axes
have been programmed.
MP1060.0-8 Acceleration
Input: 0.001 to 5.0 [m/s2]
MP1096 Tolerance
Input: 0 = no nominal position value filter
0.001 to 3.000 [mm] = permissible tolerance at contour transitions
MP1390 Velocity feedforward control in the "Positioning with MDI, "Program run, single block"
and "Program run, full sequence operating modes
Input: 0 = velocity feedforward control
1 = control with lag
MP1391 Velocity feedforward control in the "Manual" and "Handwheel" operating modes
Input: %xxxxx
Bit 0 to 8 0 = control with lag
Axis 1 to 9 1 = velocity feedforward control
SNoml vNoml
SActl
The axis-dependent nominal position value is compared with the actual position value and the servo
lag sa is calculated..
sa = sNoml - sActl sa = lag
sNoml = nominal position value
sActl = actual position value
The lag is multiplied by the kv factor MP1810.x and passed on as a nominal velocity value.
v = kv s a v = nominal velocity value
Analog axes: If the axes are stopped, the integral factor MP1080.x becomes effective as well. It
causes an offset adjustment.
Digital axes: There is no offset. MP1080.x is without function.
With MP1815.x you define a second set of kv factors that the operator can activate with the M
function M105. This allows the operator to selectively choose higher contour accuracy at critical
contours. M105 also influences the compensation of reversal peaks during circular movement.
M106 returns the control to the original set of kv factors.
You must enable the M functions M105/M106 with MP7440, bit 3.
The following formula shows the relationship among kv factor, feed rate and servo lag:
ve m/min
kv = s kv = position loop gain [ mm ]
a
m
ve = rapid traverse [min]
sa = servo lag [mm]
or
ve
sa = k
v
MP1815.0-8 kv factor for control with servo lag effective after M105
m/min
Input: 0.100 to 20.000 [ mm ]
The following block diagram gives a simplified illustration of operation with velocity feedforward.
SNoml
t
v
SNoml + Sa + vNoml
Sa +
SActl
MP1510.x
MP1080.x
Analog axes: If the axes are stopped, the integral factor MP1080.x becomes effective as well. It
causes an offset adjustment.
Digital axes: There is no offset. MP1080.x is without function.
U [V]
t [ms]
If the kv factor is too large, the system will oscillate about the feedforward-controlled speed nominal
value. Unlike control with servo lag, here you enter the optimum kv factor for each axis, even for
interpolating axes. With MP1515.x you define a second set of kv factors that you activate with the M
function M105. By selecting a higher kv factor you can selectively increase the contour accuracy.
M105 also influences the compensation of reversal peaks in circular movement. M function M106
reselects the original set of kv factors. You must enable the M functions M105/M106 with MP7440
bit 3.
Digital axes:
18 000
vmax [mm/min] = number of pole pairs [1/min] screw pitch [mm]
Analog axes: You must adjust the rapid traverse (maximum traversing speed) with the desired
analog voltage (for example 9 V) at the servo amplifier. Enter the desired analog voltage for rapid
traverse in MP1050.x.
for lower feed rates, a high kv factor, i.e. a larger voltage step per m of positional deviation,
for higher feed rates (above the machining rates) a lower kv factor.
Enter the desired position of the kink in machine parameter MP1830. In the higher range the
kv factor is multiplied by the factor from MP1820.x.
U [V]
MP1810 MP1820
MP1830
MP1810 (= kv)
sa
The kink point must lie above the range of machining feeds! Under these conditions, the servo lag
can be calculated as follows:
sa = k 100[%]
ve MP1830.x[%] 100[%] MP1830.x[%]
v +
MP1820.x 100[%]
Set Reset
M4580 Suppress EMERGENCY STOP, open all position
control loops, NC stop PLC PLC
M4581 Open all position control loops, NC stop PLC PLC
Clamping axes
If you wish to lock one axis after running an NC block, you must:
wait for the axis to come into position (W1026)
clamp the axis
open the position control loop (W1040)
switch off the motor.
Normally a waiting period is required between "axis clamping" and "opening the position control
loop." With W1038 you can prepare "opening the position control loop" after the positioning window
has been reached. If the corresponding bit is set in W1038 for one axis, the next NC block will not
be run until the target position has been reached and the position control loop has been opened with
W1040.
With an open position control loop the axis enabling is reset in W1024. You can, therefore,
link switching off the motors with W1024.
If a clamped axis is to be repositioned, the NC will reset the axis-in-position message in
W1026. After this message has been reset you must:
switch on the motors
unlock the axis
close the position control loop.
The motors are switched on and off through a PLC output for analog axes, and with Module 9161 for
digital axes.
Set Reset
W1038 Preparing to open the position control loop PLC PLC
Bit 0 to 8 0 = not active
Axis 1 to 9 1 = active
W1040 Open the position control loop for each axis PLC PLC
Bit 0 to 8 0 = do not open the control loop
Axis 1 to 9 1 = open the control loop
Set Reset
M4563 Feed rate enable for all axes PLC PLC
W1060 Axis-specific feed-rate enable PLC PLC
Bit 0 to 8 0 = no feed rate enable
Axis 1 to 9 1 = feed rate enable
Set Reset
W1044 Actual position capture PLC PLC
Bit 0 to 8 0 = no actual position capture
Axis 1 to 9 1 = actual position capture
The actual rotational speed values are measured with HEIDENHAIN rotary encoders directly at the
motors. The speed controller evaluates the difference between the nominal and actual speed value.
It outputs the nominal current value. The position controller provides the rotational speed nominal
value.
TNC
MP2520
MP2500 MP2400
Actual current
MP2510
Actual rpm
With MP2500.x (proportional component) and MP2510.x (integral component) you adjust the step
response of the speed controller so that only one overshoot is visible and the settling time is as
small as possible. 3 ms to 15 ms are realistic results for the settling time.
For more information on commissioning the speed controller, see section "Commissioning."
1
Resolution = 100 000 [1/min]
line count 1024
Call:
PS B/W/D/K <Axis> 0 to 14, 15 = axis 1 to 5, spindle
CM 9164
PL B/W/D <Actual speed value in the format 0.001 [1/min]>
Differential factor
Normally the speed controller does not need a differential factor. The differential factor can reduce
low-frequency oscillations. However, it increases the tendency to oscillate in higher frequency
ranges. You must therefore make very sure that the system is sufficiently stable.
The use of the differential factor is not recommended for machines with belt drive, since
the aging and temperature influence is too great.
Frequency filter
On critical axes oscillations can arise in a frequency range that can neither be compensated with the
differential factor or the PT2 element. In this case the frequency filter can be of help. You can
determine the basic frequency of the disturbance oscillation with the oscilloscope of the TNC, and
enter this in MP2550.x. You then increase MP2540.x enough to minimize the disturbance oscillation.
You should not increase the dampening to an unnecessarily high level, as this limits the dynamic
performance of the control loop. Realistic input values would be three to nine dB.
Acceleration feedforward
Acceleration feedforward is active only in velocity feedforward control (MP1390 = 0). Every change
in velocity results in brief spikes in the servo lag. With acceleration feedforward, which functions
parallel to the speed controller, you can minimize these spikes.
Before you adjust the acceleration feedforward, you must have adjusted the friction
compensation with machine parameters MP2610.x to MP2620.x.
The input value for MP2600.x for acceleration feedforward is then calculated from the
integral-action component of the nominal current value I (INT RPM). For this purpose, I (INT RPM) is
recorded with the TNC's integral oscilloscope during a positioning movement. For better illustration,
the actual speed value V (ACT RPM) and the nominal current value (I NOMINAL) are also recorded.
Holding current
The electrical current that is necessary to keep a vertical axis stationary is the holding current. This
current is automatically preset by the TNC through the integral-action component of the nominal
current value (N INTEG.)
In the event of an EMERGENCY STOP during axis movement, however, this integral action
component is switched off immediately. If this occurs on your machine and the axis sinks, you must
enter the required holding current in MP2630.x.
To find the proper value for the holding current, proceed as follows:
To exclude the effects of static friction, measure the current at low speed in both directions (e.g.
10 rpm). The value for the holding current is calculated from the mean of the two measured current
values:
I NOMINAL1 + I NOMINAL2
MP2630.x = 2
The phase currents I1 and I2 are controlled and the phase current I3 is determined from I1 and I2 (the
sum of all phase currents = 0). The actual current values for I1 and I2 are determined by the motor
power stage and provided as voltage signals for X51 to X56 and X61. The phase current signals I1, I2
and I3 are transferred as PWM signals to the power stage of the motor.
TNC 426 PA
Power stage Motor
+ I1Noml PI
U PWM U1 I1
PWM
MP2400
I1Actl I1Actl
PT2
+ I2Noml PI
PWM U2 I2
U
PWM
MP2400
I2Actl I2Actl
PWM U3 I3
U
PWM
You design the current controller according to the optimum result, with the position and speed
controller switched off. The step response shows a slight overshoot with a short rise time and
settling time.
The settling time tout should be less than the cycle time of the speed controller (600 s).
In MP2400.x you enter the current gain at standstill. For information on putting the current controller
into service, see "Commissioning."
Analog axes:
If an offset exists at the output of the position controller, there are several possible methods of
compensating it. The maximum permissible offset-voltage in the control is 100 mV. If this voltage is
reached or exceeded, then the error message Excessive offset in <axis> will appear.
The automatic cyclical offset-adjustment and the adjustment via integral factor must not be active
simultaneously!
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 compensation steps of 0.15 mV will be used.
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 velocity feedforward.
With its jerk limiting function and its nominal position value filter, the TNC is well suited to the high-
speed machining of 3-D contours comprising short linear segments. In order that cutter-
compensated outside corners remain exact, a spline must be inserted into the cutter midpoint path
instead of a transitional arc. This can be set with MP7680, bit10. A spline also has the advantage of
additionally limiting jerk.
MP1096 Tolerance
Input: 0 = no nominal position value filter
0.001 to 3.000 [mm] = permissible tolerance at contour transitions
MP7460
Axis standstill
Defined curves independent of feed rate are inserted at these corners with the M functions M112 and M124, see User's Manual.
The feed rate is not decreased by the insertion of these curves, but twice the amount of NC blocks are generated. You can select
with MP7680 bit 7 whether the curves are always to be inserted or only when the acceleration from MP1060.x or MP1070 is
exceeded at the corners.
With the M function M132 you can reduce the jerk in axis-specific changes in acceleration along the contour. M132
can be switched off again with M133.
With MP7680, bit 8 you can select whether a curve or a cubic spline should be inserted between the straight lines
during the M112 function. The cubic spline also causes a decrease in jerk, but requires more calculating time than a curve. If you
have selected the cubic spline with bit 8, you can then set with bit 9 whether the jerk should remain constant along the spline or
not. If the jerk remains constant, the speed will be adapted accordingly.
Under certain circumstances the reaction time of the PLC for switching off the monitoring function
(21 ms) may be too slow. In such cases you must use a fast PLC input. Fast PLC inputs are
interrogated in the control loop cycle time of 3 ms. In MP4130.0 you enter the number of the PLC
input that should be polled more quickly. In MP4131.0 you define the criterion for activating the
input. In W522, bit 0 you must enable the function for switching off the monitoring functions with
the fast PLC input that was defined in MP4130.0. Once you have accomplished this, as soon as the
input is set the monitoring functions are switched off. Also, the axes are automatically stopped, the
drives switched off, and an automatic nominal and actual value transfer is carried out. This automatic
nominal and actual value transfer is only carried out if the servo lag is greater than MP1030
(positioning window). The monitoring functions are not activated again until the fast PLC input is
reset or the function is disabled with W522, bit 0.
It is not possible to operate the machine safely with the monitoring functions switched off,
since the TNC does not recognize noncontrolled movements of the axes.
MP4130.0 Number of the fast PLC input for switching off the monitoring functions
Input: 0 to 255 [No. of the PLC input]
MP4131.0 Criterion for activating a fast PLC input for switching off the monitoring functions
Input: 0 = activation at low level
1 = activation at high level
Set Reset
W522 Enabling the fast PLC inputs PLC PLC
Bit 0 Fast PLC input defined in MP4130.0 for switching off
the monitoring functions
MP1720.0-8 Position monitoring for control with servo lag (EMERGENCY STOP)
Input: 0.0000 to 300.0000 [mm]
Recommended: 1.4 servo lag
MP1420.0-8 Position monitoring for operation with velocity feedforward control (EMERGENCY
STOP)
Input: 0.0010 to 30.0000 [mm]
Recommended: 2 mm
MP1150 Delay time for erasing the nominal velocity value after an erasable error message
Excessive servo lag in <axis>
Input: 0 to 65.535 [s]
Recommended: 0
Analog axes: An existing offset at a standstill may cause a potential at the analog output without
any resulting positioning movement. In MP1140.x you must therefore enter a threshold from which
the movement monitoring should go into effect.
Digital axes: Since there is no offset, always enter the minimum value in MP1140.x. On digital
axes, the calculated position from the pulses of the position encoder (MP331.x, MP332.x) is
compared with that calculated from shaft speed encoder. If this difference is greater than the input
value from MP2800.x, the error message Movement monitoring error in <axis> B
appears.
If you enter the maximum values in MP1140.x and MP2800.x, you effectively deactivate
movement monitoring. It is not possible to operate the machine safely without movement
monitoring.
Axes in position
If the axes have reached the positioning window after a movement, the corresponding bits are set in
W1026. This also applies for the condition after the control voltage has been switched on. As soon
as you start a positioning movement, the NC resets the bits. This also applies for traversing the
reference marks. In the "Electronic handwheel" mode, the axis-in-position bit is reset for the active
handwheel axis. On contours that can be machined with constant surface speed, W1026 is not set.
Set Reset
W1026 Axes in position NC NC
Bit 0 to 8 0 = axis not in positioning window
Axis 1 to 9 1 = axis in positioning window
Set Reset
W1028 Axes in motion NC NC
Bit 0 to 8 0 = axis not in motion
Axis 1 to 9 1 = axis in motion
P3 .
.
.
L X80 Y20 RL
L X0 RL
P2 L X80 RL
.
P1 P0 .
.
P0 P1 P2 P3
W1026
BIT0
W1026
BIT1
W1028
BIT0
W1028
BIT1
Call:
PS B/W/D/K <Error code>
0: Switch the monitoring for supply voltage >385 Vdc off
1: Switch it on
CM 9167
PL B/W/D <Error code>
0: Command was executed
1: Transferred parameter is invalid
Call:
PS B/W/D/K <Axis> 0 to 5, 15 = axis 1 to 6, spindle
CM 9165
PL B/W/D <Temperature> Range: 0 to 255 C
Pin 13 of X51 to X56 and X61 provides the Temperature warning signal. If this signal is reset, it
means that the permissible temperature of the heat sink for the power stage was exceeded. The
manufacturer of the power stage determines when this signal is reset.
Normally the drives are brought to a stop immediately after a temperature warning in order
to prevent the power stage from being destroyed. The power stage manufacturer can give you more
detailed information. This signal is not evaluated in the NC. Therefore you must interrogate the
temperature warning in the PLC with Module 9160 and provide for the appropriate reactions.
Call:
CM 9160
PL D <Temperature monitoring>
Bit: 31 16 15 0
Axis: Sxxxxxxxxxx54321
PL D <It monitoring>
Bit: 31 16 15 0
Axis xxxxxxxxxxx54321 Sxxxxxxxxxx54321
It limitation It warning
As soon as the Ready signal is reset, the servo drive controllers are switched off. This means that an
error message is output through the position control loop, usually in the form of Movement
monitoring error in <axis> A.
After the servo drive controller is switched off, the Reset signal switches off the PWM
signal release. After switching on the servo drive controller with Module 9161 you can inquire the
readiness of the servo drive controller with Module 9162. The servo drive controller can only be
switched on if there is a voltage supply to connection X50.
Call:
CM 9162
PL B/W/D <Drive ready>
Bit: 15 0 0 = not ready
Axis Sxxxxxxxxxx54321 1 = ready
Speed range nActl < rated speed nActl >= rated speed
Asynchronous motor |M| |P|
|MNoml| |PNoml|.
Synchronous motor |M|
|MNoml|
Instead of the drive moment, the effective component Iq of the current that is proportional to it is
used. IqMean is calculated as the mean of the individual current values Iqx of the last 20 ms according
to the formula:
Asynchronous motor:
IqRate = <Reference value for utilization display> <Magnetization current>
Synchronous motor:
IqRated = <Reference value for utilization display>
Call:
PS B/W/D/K <Axis> 0 to 4, 15 = axis 1 to 5, spindle
CM 9166
PL B/W/D <Utilization of the drive motor in %>
For disconnected axes, the value zero is transferred.
MP2312.0-5 Reference value for utilization display of the feed drive motors
Input: 0 to 1000.000 [ motor rated current]
0 or 1 = reference value is the motor rated current
MP2313 Reference value for utilization display of the spindle drive motor
Input: 0 to 1000.000 [ motor rated current]
0 or 1 = reference value is the motor rated current
Set Reset
M4177 Erasable error message is displayed NC NC
M4178 Error message EMERGENCY STOP is displayed NC NC
M4580 Suppress EMERGENCY STOP, open all position loops, NC stop PLC PLC
Connection diagram
Under fault conditions the control-is-ready output must trip an EMERGENCY STOP. Because of the
great importance of this function, this output is tested by the control every time the line power is
switched on. Refer to the basic circuit diagram (Appendix) for the wiring recommended by
HEIDENHAIN.
The external electronics must meet the specified conditions. In particular, the acknowledgment for
the control-is-ready signal must reach the TNC within 380 ms.
X41/34
X42/4
1 2 3 4 5 6 7 8 9 10 11 12 13
X41/34
X42/4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Display on screen
You control the spindle through the PLC. You can output the programmed rotational speed as:
The analog or digital spindle can also be operated with closed position control loop. In this case, you
need a separate position encoder for the spindle. In machine parameter MP3010 you define how
you wish to operate the spindle.
The analog or digital spindle can also be operated with closed-loop position controller. In this case
you need a separate position encoder for the spindle. The input for this position encoder can be
defined in MP111. If you wish to use the speed encoder on a digital spindle as a position encoder,
MP110 must be 0. Enter the line count of the rotary encoder in MP3142. Signals with levels of 1 VPP
are subdivided by 1024.
In MP3143 you enter the mounting configuration of the spindle position encoder . To
ensure adequate accuracy, the position encoder should be mounted directly on the spindle. If the
machine design prevents this, you must enter in MP3450.x and MP3451.x the encoder-to-spindle
transmission ratio for each gear range. In this case, the encoder outputs several reference pulses
per revolution of the spindle. The reference mark evaluation is then carried out with Module 9020
(see Reference Marks).
If MP3143 = 2, the reference pulse release for the spindle position encoder is set with X30
pin 1. In this way you can be sure that the same reference signal is always evaluated. If MP3143 =
1, then X30 pin 1 is evaluated as a reference signal. In this case the reference mark of the position
encoder is not evaluated. Due to the low accuracy of such a solution, this setting is not to be
recommended. Input value 3 has the same effect as input value 1, however in this case the TNC
waits to evaluate the second reference pulse.
Call:
PS B/W/D/K <Target address Dxxxx>
CM 9042
You can program spindle speeds of 0 to 99 999.999 rpm both for analog and digital nominal speed
value output. If you have selected nominal speed value output in MP3010 (entry 3 to 8), then M4003
is set. The programmed speed is stored in D356 (in units of 0.001 rpm). The nominal speed value is
stored in W320 (in rpm). You will find the actual speed value in rpm in W322.
Analog spindle: The nominal speed value of the motor is output as an analog dc voltage of 10 V to
socket X8.
Digital spindle: The nominal speed value of the motor is transferred to the internal speed
controller.
Set Reset
M4003 Nominal speed value output analog or digital NC NC
(MP3010 = 3 to 8)
D356 Programmed speed [0.001 rpm] NC NC
W320 Nominal speed [rpm] NC NC
W322 Nominal speed [rpm] NC NC
MP3415.x
MP3411.x MP3411.x
MP3412.x MP3412.x
t
MP3415.x
For M03, M04 and M05, set MP3411.x such that the motor accelerates and decelerates within the
current limitation. Enter a value for MP3415.0 that results in only one overshoot. If the spindle speed
nominal value is in the acceleration or deceleration ramp, marker M4001 is reset. This also applies
when the speed is changed through the override potentiometer. If the spindle speed nominal value
zero is output, M4002 is set.
MP3415.0 Transient response of the spindle with M03, M04 and M05
Input: 0 to 1000 [ms]
Set Reset
M4001 Spindle speed nominal value not in the ramp NC NC
M4002 Spindle speed nominal value = 0 NC NC
MP3130 Polarity of the nominal speed command signal for the spindle
Input: 0= M03 positive; M04 negative
1= M03 negative; M04 positive
2= M03 and M04 positive
3= M03 and M04 negative
Set Reset
M4008 Disable speed output for spindle PLC PLC
Set Reset
W256 Gear code NC/PLC NC/PLC
D356 Programmed speed [0.001 rpm] NC NC
D756 Programmed speed NC/PLC NC/PLC
or speed of the PLC [0.001 rpm]
M4070 Strobe signal for gear code NC NC
M4090 Acknowledgment "gear change completed" PLC PLC
M4134 Activation of a gear range and speed through the PLC PLC NC
M4009 Spindle rotation left (for gear shifting) PLC PLC
M4010 Spindle rotation right (for gear shifting) PLC PLC
U [V]
MP3210.1
=8V
MP3210.0
=6V
MP3240.1
=1V
I II
Set Reset
W492 % factor for spindle override (NC PLC) NC NC
W764 % factor for spindle override (PLC NC) NC/PLC NC/PLC
If in MP3010 you have selected spindle-speed code output (input value 1 or 2), an S code is entered
in W258. You must send this speed code through the PLC outputs to the spindle drive.
If the speed code changes, the NC sets the S strobe marker (M4071). The NC program
does not continue until you acknowledge the S code with M4091. As soon as you set M4091, the
NC resets the S strobe (M4071). The NC may round off the programmed spindle speed to the next
standard value. Spindle speeds of 0 to 9000 are possible.
The NC indicates the programmed spindle speed in the S code in accordance with ISO
6983 (see S code table). With MP3020 you define the permissible speed range and the speed step.
The S code for the minimum speed is stored in W1008.
Example: Minimum speed = 1 rpm (S-Code 20); Maximum speed = 1000 rpm (S code 80);
Speed step = 2:
MP3020 = 20802
W1008 = 20
Set Reset
W258 S code NC NC
M4071 Strobe signal S code NC NC
M4091 Acknowledgment S code PLC PLC
W1008 S code for minimum rpm NC NC
To carry out an oriented spindle stop, the axis S must be kept in the position control loop. You must
therefore mount a position encoder for the spindle. In MP3010 (input values 6 to 8) you define
whether the control works with spindle orientation. For special NC functions (probe cycles, rigid
tapping) the spindle is oriented directly from the NC. In such cases the NC sets M4017, and you
need only reset M4012 in the PLC. In most cases, an oriented spindle stop is requested through an
M function (e.g. M19) or a cycle. Then you must activate it in the PLC.
Spindle orientation functions asynchronously to the NC positioning movements. Therefore
you must not acknowledge the orientation until the spindle is in position (M4000). The spindle
orientation will not be started by the NC until the drive is switched on (Module 9161).
You have three possible methods of orienting the spindle in the PLC:
With Module 9171
With marker M4130
With a proximity switch and marker M4011
MP3410.0
Stand-
still MP3410.1
Speed for
orientation MP3415.1
0 t
M05 M19 Target
position
MP3430 Deviation of the reference mark from the desired position (spindle preset)
Input: 0 to 360 []
Set Reset
D592 Nominal position for spindle orientation PLC PLC
M4013 Direction for spindle orientation from a stop PLC PLC
0 = M03 ; 1 = M04
M4016 Cycle 13 is being run NC NC
M4130 Activation of the spindle orientation, NC,PLC NC
or spindle orientation has been started with 9171
Set Reset
M4011 Activate spindle speed from MP3520.0
and direction of rotation from M4013 PLC PLC
During tapping with floating tap holder the spindle position control loop is open. During the tapping
cycle M4030 is set. After the spindle is switched on with M03 and acknowledged with M4092 the
nominal speed must be attained before feed motion begins. After switch-on the spindle follows the
ramp from MP3411.x; after switch-off it follows the ramp from MP3412.2. With MP3415.2 you can
define the transient response of the spindle.
You must acknowledge the M functions immediately. An NC stop cannot be carried out
until a preceding M function has been acknowledged. If the feed rate ramp is flatter than the spindle
ramp, the spindle follows the feed rate ramp. With MP7120.2 you can delay switch-off.
Example:
From speed s = 1000 [rpm] = 1.8 [V] and MP3410.2 = 0.05 [V/ms] follows:
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 slow-down time (MP7120.2), then it is possible only to delay up to 30 ms before
reaching the total hole depth. Any greater delay will be ignored.
With MP7120.0 you can delay the restarting of the spindle with M04. The ramp follows MP3412.2
again. You can delay the restarting of the feed by programming a longer dwell time in the cycle. The
dwell times enable you to make 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 MP3412.0. After this, the spindle is switched on again with M03.
The feed-rate override can only be effective within limits when tapping, otherwise the
floating tap holder may be damaged. You enter the limits in MP7110.x.
MP7120.2
30 ms
S
(software-controlled)
MP3410.0
0
MP3410.2 MP3410.0
MP7120.0
M03
M05
M04
M4092
(M03) M4005
(M04) M4006
(M05) M4007
M4030
MP7120.2 Spindle slow-down time after reaching the total hole depth
Input: 0 to 65.535 [s]
Set Reset
M4030 Cycle 2 or Cycle 17 active NC NC
The following diagram shows the temporal sequence of operations of the cycle:
0
MP7120.1
M03
M05
MP7120.0
M04
M4092
M4030
Since, when using the coded spindle speed output, the spindle- and feed ramps cannot be
synchronized by the NC, you must enter the advanced switching time for the spindle in MP7120.1.
MP7120.0 (dwell time for reversing the direction of rotation) and the programmable dwell time have
the same effect at the nominal-speed-value output.
MP7120.1 Advanced switching time of the spindle for the tapping with coded output of the
spindle speed
Input: 0 to 65.535 [s]
Cycle 17
During rigid tapping the spindle position control loop is open. The machine tool operator defines rigid
tapping with Cycle 17 in the NC part program. While Cycle 17 is being run the TNC automatically
switches to operation with velocity feedforward. You define the dynamic behavior of the spindle and
the tool axis in machine parameters. The tool axis tracks the actual position of the spindle during
tapping. Before tapping begins, the axes, for example Z and S, are synchronized by means of an
oriented spindle stop. This means the every Z position is assigned to a corresponding spindle
position. The NC carries out the oriented spindle stop. M4017 is set by the NC and in the PLC the
spindle position control loop must be closed (M4012).
Synchronization makes it possible to cut the same thread more than once. The permanently
assigned spindle position depends on the thread pitch entered in the cycle. To save machining time
you can deselect this function with MP7160. Then, however, it is no longer possible to cut the
thread more than once. M4031 and M4030 are set while the cycle is running.
0
Positioning window reached
(MP7150)
M05
M4092
M4030
M4031
Cycle End of
start cycle
M4012
MP3415.3
MP3410.3 MP3410.3
MP7130
Set Reset
M4030 Cycle 2 or Cycle 17 active NC NC
M4031 Cycle 17 or Cycle 18 active NC NC
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 M4031 is set. M4012 must be reset so
that the cycle is run. MP3410.3, MP3415.3, MP7130 and MP7150 have the same function as for
Cycle 17.
A digital speed controller for the spindle is integrated in the TNC 426 PB and TNC 430 PA. With
MP2501.x you set the proportional factor and with MP2511.x the integral factor for the speed
controller of the spindle.
With Module 9164 you can read the actual speed of the motor (see section "Control Loop").
As with the axes, you can also define a differential factor, a PT2 element and a frequency filter for
the spindle speed controller (see sections "Control Loop" and "Commissioning").
4.12.9 Current Controller (Only TNC 426 PB, TNC 430 PA)
Depending on the hardware, the TNC may have different types of current controller. We
differentiate between logic units with or without spindle DSP:
TNC 426 PB max. spindle speed 9 000 rpm without spindle DSP
TNC 426 PB max. spindle speed 15 000 rpm with spindle DSP
TNC 430 PA max. spindle speed 15 000 rpm with spindle DSP
MP2403 Gain for current controllers of the spindle at maximum rotational speed
Input: 0.00 to 9 999.99 [V/A]
0 = value from MP2401
You can run the spindle motor either in a wye (Y) or delta () connection. A delta connection enables
you to run the motor at higher speeds than the wye connection, but at low speeds the motor
develops less power than with the wye connection. For this reason, you will switch between a wye
and delta connection depending on the desired speed. The technical data of the motor are stored
internally both for a wye and a delta connection. Also, there are two sets of machine parameters
available for the current and speed controllers: index 0 is for wye connection and index 1 for delta
connection.
With Module 9163 you activate the change between a wye and delta connection. As soon
as Module 9163 is called, the NC disables the spindle drive and activates the motor data and
machine parameters of the selected circuit (wye or delta). You can check this with Module 9162.
After an external relay has changed the motor circuit, you enable the spindle with Module 9161.
Call:
PS B/W/D/K <Axis> 15 = spindle
PS B/W/D/K <Type of connection> 0 = wye connection
1 = delta connection
CM 9163
Background
Foreground mode mode
Graphics
window
Program Text or additional
status display
PLC window
Status window
Soft keys
M91 and M92 are active only in the block in which they are programmed.
With MP7296 you define whether the datum can be set only by the DATUM SET soft key or also
with the axis keys.
If you enter the code number 555 343 you can change the datum via the NC program using FN25
(OEM cycles).
Input format: FN25: PRESET <Axis> /Q<Number> /<Value>
<Axis> = Axis for which the datum is to be set
Q<Number> = Number of the Q parameter where the reference position for the datum is stored
<Value> = Desired datum value
RM RM
You mix the desired color by combining the basic colors red, green and blue. You can enter each of
these elementary colors in 64 different intensity levels. The input values for color adjustment are
byte-oriented. We recommend hexadecimal input.
Since it is possible to make mistakes when setting the colors (red error messages on red
background, for example) HEIDENHAIN supplies the controls with a standard color adjustment. This
is the setting used by HEIDENHAIN. It is used by the control system when you edit the MP list.
MP7362 Additional status display in the graphic window and pocket calculator
MP7362.0 Background graphic window and pocket calculator $0080400
MP7362.1 Background status display and keys of the pocket calculator $00C0800
MP7362.2 Status symbols and symbols of the pocket calculator (c in cos) $038240C
MP7362.3 Status values and texts of the pocket calculator (os in cos) $03F2C18
MP7365 Oscilloscope
MP7365.0 Background $0000000
MP7365.1 Channel 1 $0203038
MP7365.2 Channel 2 $0003F00
MP7365.3 Channel 3 $03F3F00
MP7365.4 Channel 4 $03F003F
MP7365.5 Selected channel ($00000FF = color from MP7365.1-4) $03F0000
MP7365.6 Grid $030200C
MP7365.7 Cursor and Text $03F3F3F
For the test graphics and parallel graphics can you choose one of three display modes:
View in three planes
Plan view
3-D view
Example
:
X Z
Z X
No rotation 90 rotation
Position display
With MP7290.x you select the display step for the individual axes. The position loop resolution is not
affected by this machine parameter. With MP7285 you define whether the tool length should be
calculated into the position display (i.e. tool length offset). If it is, the displayed position value then
refers to the tool point.
MP7285 Offset of tool length in the position display in the tool axis
Input: 0 = tool length is not offset
1 = tool length is offset
MP810.0-8 Display mode for rotary axes and PLC auxiliary axes
Input: 0.0000 to 99 999.9999[]
0 = display 99 999.9999; software limit switch active
0 = modulo value for display; software limit switch inactive
Free rotation
Free rotation means that the rotary axis rotates as often as required (with a display range of 0 to
360) without being affected by software limit switches.
You define the free-rotation function in the PLC program either in words (only axes 4 and 5)
or with Module 9223 (axes 1 to 9). The max. feed rate is 300 000 /min. The feed rate is not
displayed in the status window. You can vary the feed rate continuously through the override
percentage (W754). To do this, copy W494 (current feed-rate override) to W754.
You start and stop the free-rotation function with M4133. If you set M4133, the NC takes the
information from B518 and B519, and resets M4133.
Call:
PS B/W/D/K <Axis> [0 to 8]
PS B/W/D/K <Feed rate> [/min]
PS B/W/D/K <Mode> 0: Stop
+1: Start in positive direction
1: Start in negative direction
CM 9223
PL B/W/D <Error code> 0: No error: Positioning is started/stopped.
1: No rotary axis transferred.
2: Feed rate not allowed
3: The axis did not cross over REF
4: No M,S,T,Q strobe after program was started
Set Reset
M4133 Starting and stopping the free rotation function PLC NC
B518 Definition of the free-rotation function PLC PLC
0= Cancel the function
8= Free rotation for axis 4
16 = Free rotation for axis 5
B519 Traverse direction for free rotation PLC PLC
0: Axis 4 and axis 5 = +
8: Axis 4 = , axis 5 = +
16: Axis 4 = +, axis 5 =
24: Axis 4 and axis 5 =
W754 Percentage of feed-rate override for free rotation PLC PLC
The axis-specific feed rate (MP1020.x or value programmed via soft key F) is displayed only after
pressing an axis-direction key. If two axis-direction keys are pushed simultaneously, no feed is
displayed.
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 MP1020.x (or value
programmed via soft key F) is effective for all axes. PLC axes are not taken into account in the
selection of the smallest feed rate. The axis feed rate will also be shown if several axis-direction keys
are pressed simultaneously.
MP7270 Feed-rate display in the "Manual operation" and "Electronic handwheel" modes
Input: 0= display of the axis feed rate only when an axis-direction key is pressed (axis-
specific feed from MP1020.x)
1= display of the axis feed-rate even before operating an axis-direction key
(smallest value from MP1020.x for all axes)
Set Reset
M4005 Status display and nominal speed value output for M03 PLC PLC
M4006 Status display and nominal speed value output for M04 PLC PLC
M4007 Status display M05 and spindle stop PLC PLC
M4008 Disable speed output for spindle PLC PLC
M4040 Status display M07, M08, M09 highlighted PLC PLC
M4041 Status display M07, M08, M09, MK PLC PLC
M4042 Status display M07, M08, M09, MK PLC PLC
Control in operation
If the control is at work, i.e. if it is positioning an axis or executing an M function, the status window
displays a star-like symbol known as the control-in-operation symbol. If a running NC program is
interrupted with the machine stop button, this symbol starts to blink. With M4175 and M4176 these
conditions are reported to the PLC. M4175 and M4176 are effective in the "Positioning with MDI,"
"Program run, single block" and "Program run, full sequence" modes of operation.
With Module 9089 you can use the PLC to display or erase the control-in-operation symbol. You can
activate the control-in-operation symbol only if it has not already been shown or set to blinking by
the NC. The NC has priority over the PLC for setting, resetting, or blinking the control-in-operation
symbol.
If the NC displays the control-in-operation symbol, you cannot erase it. If the PLC displays
the control-in-operation symbol, this has no effect on marker M4176.
Call:
PS B/W/D/K <Command code>
0: Erase the control-in-operation symbol.
1: Display the control-in-operation symbol.
CM 9089
PL B/W/D <Error code>
0: Control-in-operation symbol erased/displayed.
1: Incorrect command code.
2: Control-in-operation symbol is already displayed by the NC .
3 Control-in-operation symbol flashes.
4: Because it was displayed by the NC, control-in-operation symbol could not be
erased.
Set Reset
M4175 Program interruption (control-in-operation symbol flashes) NC NC
Input Erase with PGM Erase with M02, Status display Tool data Q parameters
MGT M30,
END PGM
0 x x x x
1 x x x x x
2 x x x
3 x x x x
4 x x x
5 x x x x
6 x x
7 x x x
16 Input format for the $MDI 0: .H file type (plain language part PGM)
file 1: .I file type (ISO part PGM)
17 Display format 0: MM
1: INCH
Call:
PS B/W/D/K <Number of the desired status information>
CM 9035
PL B/W/D <Status information>
You can show any ASCII text in two lines, each with 38 characters. In the left half of the line you can
also show a moving-bar diagram. Text and moving-bar diagram can be mixed. In the PLC program
you can use the following modules to determine what is shown in this window:
9080: Delete the small PLC window
9081: Interrogate the status of the small PLC window
9082: Show string in the small PLC window
9083: Show moving-bar graphic in the small PLC window
Call:
CM 9080
Line 0
Line 1
Column 0 37
References to PLC dialogs or PLC error messages are deleted. If the specified dialog or error
number is not found, then the ASCII character @ is displayed instead. If the text contains a non-
displayable character except the string end, then the ASCII character ^ is displayed instead.
The character size is determined by the size of the screen window, i.e. by the current mode
of operation, and cannot be altered. The color refers to MP735x according to the following table:
Line 0
Line 1
Column 0 150 0 19
You 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 ten 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.
The specified color refers to MP735x and the table for Module 9082. The color zero uses
the background color of the currently selected graphic (MP736x.1). The color two is the background
color of the PLC window and can be used for margin and scale graduation if you do not want them
to be visible.
You determine the character size with charsize=. The specified position 0 refers to the lower left
corner of the first character.
The contents of the PLC window are defined in a screen mask. The screen mask is an
ASCII file containing format instructions and special commands. In Module 9210 the name of the
screen mask for activating the PLC window is indicated.
Format instructions:
The format instructions are similar to the programming language C and are written in quotation
marks ("). Variable names are transferred as parameters.
Unlike in the standard C language, the letters in the format instruction that specify the variable type
can be written in capitals. For example, "%D" can be used instead of "%d" for a natural number.
The variable types in the format instructions must agree with the indicated variables.
Internally, the TNC assigns fixed variable types (see list below). Please remember that, unlike PCs
with MS-DOS/WINDOWS, the integer variables in the TNC have a length of 32 bits. If you wish to
display a PLC variable as a number with decimal places you must first convert the type from integer
to double with the switch /n=x.
Variable names:
B0 to B4095 PLC bytes integer
W0 to W4094 PLC words integer
D0 to D4092 PLC doublewords integer
M0 to M4999 PLC marker integer 0/1
I0 to I383 PLC inputs integer 0/1
O0 to O191 PLC outputs integer 0/1
T0 to T96 PLC timer integer 0/1
C0 to C143 PLC counter integer 0/1
S0 to S3 PLC strings char[128]
S#D0 to S#D999 PLC dialogs char*
S#E0 to S#E999 PLC error texts char*
TIME[0] to TIME[15] System time as in Module 9055 char*
AXISCHAR[0] to AXISCHAR[4] Letter for NC axis char
MP to .. Machine parameters, format: "MP910.1"
Input value: Decimal places double
Hex or binary integer
Text char*
Time:
HOUR int Number of hours from the real-time clock
MIN int Number of minutes from the real-time clock
SEC int Number of seconds from the real-time clock
DAY int Day from the real-time clock
MONTH int Month as number from the real-time clock
STR_MONTH string Month as string abbreviation from the real-time clock
YEAR2 int Two-digit year two digits from the real-time clock
YEAR4 int Four digit year from the real-time clock
Miscellaneous:
MISC.MDI string
MISC.OUTPRECISION string
MISC.TEACHINAXIS int
Special commands:
/*<comment>*/ You can enter any comment between the two stars.
MMINCH variables that contain a position value (or /mi switch) are converted and displayed in
inches, provided that this was selected under Mode. The default setting is "no
conversion."
POS=xpix,ypix
Write the next text or graphic at the designated position (xpix = distance in pixels from
the upper edge of the current page, ypix = distance in pixels from the left edge of the
window). The default setting is to begin writing at the upper edge and then line by line.
IPOS=xpix,ypix
Write the next text or graphic shifted by the indicated number of pixels from the current
position (xpix = distance in pixels from the current x position, ypix = distance in pixels
from the current y position).
CPOS=column, line
Write the next text or graphic at the designated position (line = line on the current
page, column = column from the left edge of the window). The width of a column is
calculated from the current character set; the height of a line is preset and can be
changed with LINEDIST.
Input fields
With the switches /e and /i you assign input fields to the variables. The switch /e shows the
present value of the variable that can then be overwritten. The switch /i shows an empty field in
which a new value can be entered. As soon as the switch /e or /i is used, the cursor keys move
the cursor among the input fields. If necessary the current page is scrolled. Under certain
circumstances, text that is located between the input fields may no longer be visible. For this
reason, especially, you should refrain from editing any text before the first input field or after the last
one.
The format instruction stored in the mask file must contain a format suited for the C
command "printf", which defines the exact length of the numerical field (highlight). Otherwise the
length of the input field depends on the coincidental contents of the accompanying variable. For the
input function this format instruction is converted to a form suitable for the C command "scanf":
printf: %[flags][digits1][.[digits2]][l]conversion_char
scanf: %[digits1][size]conversion_char
The Size indicator h (short integer) of the scanf function cannot be written. It is not necessary,
however, since all integer variables are expanded for 32-bit input/output.
Call:
PS B/W/D/K <No. of string memory / Erase>
0 to 3 = String memory S0 to S3
1 = Erase PLC window
CM 9210
PL B/W/D <Status/Error>
0: No error: Mask opened / Mask erased
1: PLC window not ready yet
1: Error
If an erroneous mask file was activated an error message is shown in the PLC window:
Call:
PS B/W/D/K <Number>
CM 9211
PL B/W/D <Status information>
1: error
W1022 = 1: Incorrect transfer parameter (e.g. KF address not in the address range of
the PLC code
2: Line no. < 0 (however not 1) in the constant field
24: Module was called in submit job
25: More than 32 elements in the constant field
Module 9202: Selecting and deselecting PLC soft keys and PLC windows
With Module 9202 you activate the display with PLC window or the display with PLC soft keys. This
module functions like the screen management key.
Call:
PS B/W/D/K <Display mode> 0 = Deselect PLC soft key / window
1 = Select PLC soft key / window (small)
2 = Select PLC soft key / window (large)
CM 9202
Set Reset
W302 Number of the activated PLC soft key NC NC
Example:
You can create several help files. To select the corresponding file, the user presses first the PGM
MGT key and then the HELP soft key. With MP7230.3 you select the dialog language for the help
files, i.e. the entry behind MODEHELP= in the file OEM.SYS is overwritten with the path for the
desired language. If a HELP file is selected both in the foreground and background modes, then the
message BACKGROUND PROGRAMMING NOT POSSIBLE will appear.
Set Reset
W270 Help-file line number NC NC
1 = No help file selected
2 = No valid value
0 to 9 999 = Line number
Example:
If you wish the same to happen with PLC error messages, you must store the corresponding error
texts in files. Set up two files: one for the "causes of error" and one for the "correction of error".
The names of the two files must be defined in the system file OEM.SYS with the commands
PLCERRREASON= (cause of error) and PLCERRFIX= (correction of error). Store the files in the
corresponding language directory (PLC:\LANGUAGE\<language>), and using MP7230.3 select the
current language (file).
The files are divided into text blocks. Each text block can have a maximum of 10 lines with
each 60 characters and is ended with <FF>. Use the keys SHIFT and RETURN to enter <FF> on the
TNC. The TNC locates the appropriate text block in the files (with description of error and
suggestions for correction) via the error number (line number) in the PET table. Error number 0 is the
first text block. The error number is also displayed in the header of the help window.
A simpler alternative would be to create a PET table with the appropriate text files and
transfer it to the TNC using the PLC development software PLCdesign.
Set Reset
W260 Code for M function NC NC
M4072 Strobe signal for M function NC NC
M4092 Acknowledgment of M function PLC PLC
M4571 Activation of decoded M-code transfer PLC PLC
in M1900 to M1999
M1900 to M1999 Decoded M function if M4571 is set NC NC
If M89 is not defined as a modal cycle call, then M89 will be transferred to the PLC as a normal M
function at the beginning of the block.
In the individual columns you can assign special attributes to the PLC error messages. The PLC error
message table (.PET) consists of the following columns:
NR
Line number in the table. The PLC error message is addressed in the modules by assigning the line
number.
ERROR
Error text. There are three possibilities for defining the error text:
Directly entering the error text (max. 32 characters)
Line number of the PLC error text file (#<line no.>) defined in OEM.SYS with PLCERROR =.
Number of the string memory where the error text is located (#S<string no.>)
You can call up additional information on the error messages by pressing the HELP key (see section
"Help".)
MARKER
The PLC error message can be activated without a module call by setting the marker defined here.
Only markers in the range of M4800 to M4899 may be entered. The marker is also set if the error
message was activated through Module 9085. The entry value 0 means no error marker.
RESET
0= No NC reset upon activation of the error message. Non-blinking error message.
1= NC reset upon activation of the error message. Blinking error message.
NC STOP
0= No NC stop when error message is activated.
1= NC stop when error message is activated.
F STOP
0= Feed-rate enable.
1= Feed-rate enable is reset when error message is activated.
CE
0= Error message can be deleted with the CE key.
1= Error message cannot be deleted with the CE key.
PRIOR
A priority level of 0 to 2 can be entered for the error message. Priority 0 is the highest priority level.
The active error messages are displayed in the sequence of their priority.
Call:
PS B/W/D/K <Line no. in PET table>
0 to 999: Line no.
1: Blinking error message EMERGENCY STOP PLC
CM 9085
Call:
PS B/W/D/K <Line no. in PET table>
0 to 999: Line no.
1: Erase all PLC error messages
CM 9086
M4203 = 0: No error
1: Error code in W1022
Call:
PS B/W/D/K <Line no. in PET table >
0 to 999: Line no.
1: PLC error message general
CM 9087
PL B/W/D <Status/Error code>
0: No error message with this number, or it was erased
Bit 0: PLC error message displayed
Bit 1: PLC error message in queue
1: Line number not found
Pocket milling
You enter the overlap factor for clearing out a rectangular or circular pocket (Cycle 4 and Cycle 5)
MP7430.
Stepover
MP7420 Bit 2 = 0:
The control clears out the pockets separately, since the tool center paths do not intersect. Material
will remain in inside corners.
MP7420 Bit 2 = 1:
The control clears out the pockets jointly, since the programmed contours overlap. No material will
remain in inside corners.
Scaling factor
In MP7410 you indicate whether Cycle 11 "scaling factor" should be effective only in the working
plane or also in the tool axis.
Cylindrical surface
With Cycle 27 "cylinder surface" it is possible to machine a contour on a cylindrical surface (see the
User's Manual). For this cycle to be effective you must first define the center of rotation of a rotary
axes in MP7510 and following (see section "Tilting Axes").
These functions must be enabled by machine parameters and the PLC program must
be adapted accordingly.
Markers inform the PLC about individual conditions during mid-program startup (also called block
scan). Depending on these markers, you can enable certain functions in the PLC program (e.g.
operating the axis-direction keys in MANUAL OPERATION).
M4156 is set if the MANUAL OPERATION soft key is set. M4157 is set if the return to
contour function is activated with the RESTORE POSITION soft key. M4158 is set if the RESTORE
POS. AT N soft key is pressed M4158 is reset if the RESTORE POSITION or INTERNAL STOP soft
key is pressed.
During a block scan, PLC positioning commands are included in the calculation only if they
are also executed. The TOOL CALL block normally releases PLC commands to move the tool to the
tool-change position. If you want these positioning commands to be calculated in the block scan you
must enter in MP951.x the absolute tool-change position referenced to the machine datum and
activate the calculation for the specific axes with MP7450.
With flexible tool pocket coding in the central tool file (see section "Tool Changer"), a
change in the position numbers in the tool memory must be prevented during block scan. This is
ensured by setting M4542.
With MP7680 you define whether the block scan should be interrupted through a
programmed STOP or M06, and whether the programmed dwell time should be considered during
the block scan. You define the feed rate for returning to the contour in MP7451.x.
The tool data cannot be correctly offset in the block scan if you change them in the
PLC or update them with M4538.
MP951.0-8 Simulated tool change position for TOOL CALL during block scan
Input: 99 999.9999 to +99 999.9999 [mm] or []
MP7450 Calculate the tool change position from MP951 in block scan
Input: %xxxxx
Bit 0 to 8 0 = do not calculate
Axis 1 to 9 1 = calculate
Set Reset
M4156 MANUAL OPERATION soft key was pressed NC NC
M4157 Returning-to-contour function (RESTORE POSITION) active NC NC
M4158 Block scan is active NC, PLC NC, PLC
M4542 Do not update the pocket number in the pocket table PLC PLC
SPECIAL=
With SPECIAL = you define all M functions that should be sent to the PLC after a block scan and are
not defined in a group.
Example: SPECIAL=M19,M22,M25
MFIRST=
MLAST=
With MFIRST= and MLAST= you define the M functions to be sent to the PLC at the start and end,
respectively, of an output sequence after a block scan. In this way you can recognize from the PLC
program that a sequence of M/S/T/Q strobes is being transferred that was collected during a block
scan. You can omit these instructions if you do not need this information.
Example: MFIRST=M80
MLAST=M81
REMAIN=OUTPUT
If you enter this instruction, all M functions that are not defined in MGROUPS.SYS are transferred to
the PLC during a block scan. If you do not enter this instruction such M functions are ignored. With
the following functions you must use REMAIN=OUTPUT:
Datum shift with M4132
PLC positioning except with TOOL CALL
Traverse range switchover with M4135 if MP7490=1
ORDER=PRIO
If you enter this instruction, the M functions will be transferred in the sequence in which they are
entered in the file MGROUPS.SYS. If you do not enter this instruction, the M functions are
transferred after a block scan in the sequence in which they were programmed. HEIDENHAIN
recommends that you not use this instruction.
NCMACRO=TC
During a TOOL CALL you can also call an NC program instead of the T strobe (see chapter "Tool
Changer"). With the instruction NCMACRO=TC you define that this tool-change program is not run
during the block scan, but rather is started at the end of the block scan instead of the T strobe.
Instructions in MSPLIT.SYS:
M functions that are effective in several groups are divided in the file MSPLIT.SYS into function
components.
Example: M13=M3,M8
Set Reset
M4161 M/S/T/Q transfer after mid-program start-up NC NC
Field designations
The following different types of fields are differentiated:
Obligatory fields:
Values must be entered in these fields
Optional fields:
You do not have to enter values in these fields. However they have a fixed predefined meaning
for the NC.
Freely defined fields:
You also have the opportunity to define your own additional fields and assign them a meaning.
These entries serve as information only, or can be interrogated and changed via the PLC.
Name Meaning
PAL/PGM (Obligatory) Definition of the entry (PAL=Pallet / PGM=NC program).
NAME (Obligatory) Name of the pallet or the NC program. If an NC program name has no
path indication it will be searched for in the same directory as the pallet table can
be found. You should only allow decimals be used for pallet names, so that the
name can then be interrogated with FN18 in the pallet change macro.
DATUM (Optional field) Name of the datum table. If a datum table has no path indication it
will be searched for in the same directory as the pallet table can be found..
X, Y, Z, U, V, W, (Optional fields) Definition of the datum. For pallet entries these values are
A, B, C referenced to the machine datum (MP960.x). For NC programs the values are
referenced to the pallet datum. Only the fields X, Y and Z are used in the standard
format.
LOCATION (Optional field, not used in standard format) Location of the pallet. Entries are only
necessary in pallet lines. If the LOCATION field exists, an NC program can only be
run if this field contains the entry MA (= pallet in machine).
Others Freely defined
Example:
NR PAL/PGM NAME DATUM X Y Z
0 PAL 120 DATUM1 0 0 0
1 PGM PART1.H
2 PAL 130 10 20 30
3 PGM PART21.H DATUM2 5 3 1
4 PGM PART22.I 100 100 100
Line 0:
The pallet with name "120" is defined. The NC macro for changing the pallet is activated. The datum
table "DATUM1" is also active. The current datum corresponds with the machine datum.
Line 1:
The NC program "PART1.H" is called. The datum table "DATUM1" is still active. The current datum
still corresponds with the machine datum.
Line 2:
The pallet with name "130" is defined. The NC macro for changing the pallet is activated. The datum
table "DATUM1" is still active. The current datum is displaced from the machine datum by the given
values.
Line 3:
The NC program "PART22.I" is called. The datum table "DATUM2" is now active. The current datum
is displaced from the pallet datum by the given values. The pallet datum was defined in Line 2.
Line 4:
The NC program "PART21.H" is called. The datum table "DATUM2" is still active. The current datum
is displaced from the pallet datum by the given values. The pallet datum was defined in Line 2.
Set Reset
M4170 END-PGM, M02 or M30 was executed NC NC
You can define tables to suit your own specific applications. The names and numbers of your fields
are defined in prototypes. If you wish to edit these entries, they can be interrogated and changed via
special modules. Freely defined tables always have the file name extension TAB (except pallet
tables and cutting data tables).
Data transfer
When a freely defined table (file extensions TAB, P or CDT) is being transferred via data interface,
the defined structure format is stored between the lines #STRUCTBEGIN and #STRUCTEND in the
external storage device. The contents of the table follow the line #STRUCTEND.
Example: Search in pallet table for the line containing NC program 1.H and the set datum
X= 10.
String contents: (PAL/PGM LIKEPGM) AND (NAME LIKE1.H) AND (X==10)
Set Reset
M4159 PLC editor: END button or END soft key activated NC NC, PLC
The entered code number is registered in doubleword D276. You can evaluate this code and define
your own functions for code numbers, or disable the code numbers with fixed meanings.
Set Reset
D276 Code number last entered via MOD NC NC
PLC:\LANGUAGE\ CZECH\
DANISH\
DUTCH\
ENGLISH\
FINNISH\
FRENCH\
GERMAN\
ITALIAN\
POLISH\
PORTUGUE\
SPANISH\
SWEDISH\
HUNGARIAN\
This makes it possible for you to store PLC dialog files, PLC error files, and help files with the
identical file names in the different languages.
In the system file OEM.SYS you enter only the file names after the commands
PLCDIALOG= and PLCERROR=. The NC looks for the files in the paths given in MP7230.1 and
MP7230.2, respectively. The entry MODEHELP= is overwritten with the selected path whenever
MP7230.3 is changed (see above).
TNCTIME Control on
MACHINETIME Machine on
PROGTIME Program run
PLCTIME0 to PLCTIME7 Freely defined times of the PLC
The operating times are displayed in the MOD function "machine time." With MP7237 you identify
which times you can reset with the code number 857282 and which PLC times you wish to display.
You define the dialogs which shall be displayed for the individual PLC operating times in MP7238.x.
The time is measured in seconds. During measurement the time information is updated
every minute so that if the control is switched off no more that one minute will be lost. The NC
measures the time for TNCTIME, MACHINETIME and PROGTIME. You start measuring the
operating times for PLCTIME0 to PLCTIME7 with Module 9190, and stop it with Module 9191.
Except for TNCTIME, all operating times are saved during a hard-disk backup with the program
TNCBACK (see section "Software Exchange").
You can evaluate and change the operating times with the following modules:
Module 9190: Start operating times
Module 9191: Stop operating times
Module 9192: Read operating times
Module 9193: Set operating times
Module 9194: Alarm when operating times exceeded
System time
The TNC operates with UNIX system time. This system time contains the number of seconds
accumulated since 0:00 hours of January 1, 1970. When the TNC is shipped it is calibrated for
Universal Time (also known as Greenwich Mean Time). To ensure that the time data in your program
management reflects your local time, you must enter in MP7235 the difference between local time
and Universal Time.
With Module 9195 you can read the current value of the system time. The value read with
Module 9195 is independent of MP7235 and always reflects Universal Time. With Module 9055 you
can convert the value read in Module 9195 into a readable ASCII format. Module 9055 compensates
the transferred value by the difference to local time, which was entered in MP7235. The value
calculated by Module 9055 therefore represents the local time.
Call:
CM 9195
PL D <System time> [Number of seconds since Jan.1, 1970, 0.00 hours]
If your country has adopted daylight savings time, these example values must be adjusted
correspondingly.
HEIDENHAIN provides the following modules to help you influence the effect of keys and soft keys:
Module 9180: Simulation of NC keys
Module 9181: Disabling individual NC keys
Module 9182: Re-enabling individual NC keys
Module 9183: Disabling groups of NC keys
Module 9184: Re-enabling groups of NC keys
Module 9186: Calling a soft-key function
Module 9187: Status of a soft-key function call
Set Reset
W274 Code of the depressed key NC NC
M4577 Disabled key was pressed NC PLC
Call:
PS B/W/D/K <Key code>
CM 9180
PL B/W/D <Number of the occupied elements / Error status>
0: Key code was transferred, keystroke queue empty
1 to 16 : Key code was not yet simulated (max. 16 entries in the keystroke
queue are possible)
1: For error see W1022
Call:
PS B/W/D/K <Key code>
CM 9181
PL B/W/D <Error status>
0 : NC key was disabled
1: For error see W1022
Call:
PS B/W/D/K <Key code>
CM 9182
PL B/W/D <Error status>
0 : NC key was released
1: For error see W1022
Call:
PS B/W/D/K <Key-group code>
CM 9183
PL B/W/D <Error status>
0: The group of NC keys was disabled
1 : Transferred parameter greater than maximum value
Call:
PS B/W/D/K < Key-group code >
CM 9184
PL B/W/D <Error status>
0: Group of NC keys was released
1 : Transferred parameter greater than maximum value
Call:
PS B/W/D/K <Number of the soft-key function>
0: INTERNAL STOP
1: M output
2: S output
3: TOUCH PROBE
4: PASS OVER REFERENCE
5: RESTORE POSITION
6: INCREMENT
CM 9186
Call:
CM 9187
PL B/W/D <Status>
0: Soft-key function executed or none called
1: Soft key function not yet executed
2: Error: Because the soft key is not available (wrong operating mode) the
soft-key function cannot be executed
Set Reset
W1046 Manual traverse in positive direction PLC PLC
Bit 0 to 8 0 = do not move axis
Axis 1 to 9 1 = move axis
W1048 Manual traverse in negative direction PLC PLC
Bit 0 to 8 0 = do not move axis
Axis 1 to 9 1 = move axis
M4562 Memory
_______________
function for axis direction keys (MP7680 bit 0 = 1) PLC PLC
M4560 NC stop ("0" corresponds to stop) PLC PLC
M4561 Rapid traverse PLC PLC
M4564 NC START PLC
See chapter "Mounting and Electrical Installation" for information on connecting the touch probes.
With MP6010, MP6200 and MP6500 you can define which touch probe is connected. You must
ensure that the spindle is locked during the measuring process. The current touch probe data can be
read with FN18.
Programmed probing
(Touch Probe Function
"reference plane")
F1
F2
Setup clearance
Max. measuring range (MP6140)
(MP6130)
F2
If the maximum measuring range (MP6130) is exceeded, the error message TOUCH POINT
INACCESSIBLE appears. For the probing cycles in the "Manual" and "Electronic Handwheel" modes,
MP6140, MP6150 and MP6361 have no function.
M4055 is set by the NC before the probing process is started. The NC then waits until you
reset M4055 before it performs the probe function. This allows you, for example, to clean the
measured object with compressed air before probing. The probing function is controlled entirely
from the NC.
M4050 to M4054 inform you of certain conditions and allows you to process this information
if desired. If you set M4056, the NC stops the machine in all operating modes as soon as the stylus
is deflected. Also, the maximum feed rate is limited to the value in MP6150 or MP6361. If M4056 is
not set, the control recognizes stylus deflection only if the probing function has been started.
HEIDENHAIN therefore recommends setting M4056 as soon as the touch probe is in the spindle.
With MP7411 you select whether the tool data (length, radius, axis) used in a touch probe
block are taken from the last TOOL CALL block or from the calibrated data of the probe system.
When MP7411 = 1 is set, you can use soft keys to have the effective length and the effective radius
taken over by the tool table. Enter the tool number in the menu for touch probe calibration.
The TNC can store the calibration data for up to three touch probes at the same time. The
current data can be activated using M4574/M4575. For three sets of calibration data to be stored at
the same time, bit 2 must be set in MP7490.
Center misalignment
You can find the center offset of the probe system while calibrating. This center offset is then
automatically compensated in all probing operations (see User's Manual). With MP6160 you define
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, you need only reset M4012 (see the section "Spindle
Orientation"). The PLC orients the spindle, you must enter the number of the M function in MP6160.
The respective position is then transferred as in the "spindle orientation" cycle.
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 measurement. You can
deselect this with MP6321. During every spindle orientation the Marker M4017 is set.
Measuring tolerance
During programmed probing with the TOUCH PROBE function you can define a measuring tolerance
via machine parameters. In MP6170 enter the number of measurements that are to be carried out
with each probe function. The average value is calculated from these measurements and this is
recorded. If the results of each individual measurement differ by more than the value from MP6171,
an error message is output. This function can be used to identify if a measurement result is being
influenced by dirt or chips.
MP6200 Choosing between triggering or measuring touch probe (only with "digitizing with
measuring touch probe" option)
Input: 0= triggering touch probe (e.g. TS 220)
1= measuring touch probe
MP6321 Finding the center offset while calibrating the measuring touch probe
Input: 0 = calibration with center offset determination
1 = calibration without center offset determination
Set Reset
M4050 Touch probe not ready (ready signal is missing) NC NC
M4051 Stylus deflected before start of probing cycle NC NC
M4052 Stylus deflected (probing process not executed) NC PLC
M4053 Probing sequence ended or interrupted NC NC
M4054 Battery voltage too low (battery warning at touch probe NC NC
connection); evaluated only during the probing process)
M4055 Enabling the probing process NC PLC
M4056 NC stop in all operating modes if stylus is deflected PLC PLC
Variable names:
Time management
Name Format type Description
HOUR Int Number of hours from the real-time clock
MIN Int Number of minutes from the real-time clock
SEC Int Number of seconds from the real-time clock
DAY Int Day from the real-time clock
MONTH Int Month as number from the real-time clock
STR_MONTH String Month as string abbreviation from the real-time clock
YEAR2 Int Two-digit year from the real-time clock
YEAR4 Int Four-digit year from the real-time clock
Technical prerequisites
The software module for digitizing with the TS must be installed. The ID number (Id. Nr. ....) of
the logic unit indicates whether the module is already installed (see the "Software Options"
section). Also, if the module is already installed the message OPT: %00000001 will appear
beneath the NC and PLC software numbers when you press the MOD key.
Interfaced TS 220 touch probe
The machine must be optimized for operation with servo lag.
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 (operation with servo lag). 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 provides the formula for calculating the input value of MP6210, whereby the optimized
scanning feed rate depends on the feed rate in the surface-normal direction (MP6230).
The feed rate in normal direction (MP6230) is the velocity that results when the touch probe moves
perpendicularly to the contour from the non-deflected to the deflected condition, and vice versa.
Normal direction
Aside 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's dynamic capabilities will not be
fully exploited and the scanning feed rate will also be too low. If MP6230 is too high, the oscillation
amplitude will be too high. In this case the stylus will visibly lift off from the contour and "tap" the
surface of the workpiece, and the scanning feed rate will no longer increase.
If your input value is too small, the touch probe may get caught up in an endless repetitive attempt
to come free of an inside corner.
Machine parameter MP6260 defines whether an M90 is appended to each NC block in the output
digitized data (see also "Contouring Behavior").
Machine parameter MP6270 defines the output format of the digitized data, i.e. the number of
decimal places to which the coordinates are output
Scanning cycles
Because it has direct access to the position control loop of the TNC controller, the touch probe can
record measured values very rapidly (3 to 5 values per second). With a programmed probe point
interval of 1 mm, this produces a scanning feed rate of 180 to 300 mm/min. Three scanning cycles
are used for digitizing: "Range," "Meander" and "Contour Lines."
The "Range" cycle defines the cuboid scanning range and the file where the digitized data are
stored. You can save the digitized data in the program memory of the control or on a PC.
Z Z
Y
Y
X
X
Lubrication
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. With MP6220 and MP6221 you can lubricate the axis
at the end of the lines.
MP6220 Traverse distance for lubricating the probe axis at end of line
Input: 0.000 to 999.999 [mm]
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 .
Inside Corners
Maximum stylus
deflection MP 6240
Contour
5
P.I
PP.INT
N
6 4
3
1 2
EL
AV
TR
P.IN
PP.INT
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.
Optimize the X and Y axes by defining the range such that only the level surface of the component is
scanned.
Z
Y
X
MA
MI
N
Z Y
X
MA
MI
N X
Connect
With the aintegral
storageoscilloscope,
oscilloscope to the nominal
command
record input of the servo amplifier for the
ACT.SPEED.
X axis.
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."
Technical prerequisites
Interfaced measuring touch probe
Adapter kit for digitizing with the measuring touch probe
The machine must be prepared for the use of the measuring touch probe. You must mechanically
clamp the ballscrew and must ensure that the spindle drive cannot be started while the probe is in
use.
The adapter kit for digitizing with the measuring touch probe also enables digitizing with the TS
touch trigger probe.
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 you can
position the machine 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, you must change the counting direction in
MP6320.
With MP6322 you assign the touch probe axes (the measuring systems in the probe) to the
machine axes. For machines with swivel heads you 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 center of the stylus tip. It is
therefore not possible to use the measuring touch probe in a horizontal attitude to locate a
workpiece. In a horizontal attitude the measuring touch probe 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.
MP6200 Selection of triggering or measuring touch probe (only with the digitizing-with-
measuring-probe option)
Input: 0= triggering touch probe (e.g. TS 220)
1= measuring touch probe (e.g. TM 110)
MP6320 Counting direction of the measuring system signals (measuring touch probe)
Input: %xxx
Bit 0 to 2 0 = positive
Axis X to Z 1 = negative
MP6321 Measuring the center offset while calibrating the measuring touch probe
Input: 0= Calibrate and measure center offset
1= Calibrate without measuring center offset
MP6350 Feed rate for positioning to the MIN point and contour approach (measuring touch
probe)
Input: 10 to 3000 [mm/min]
MP6362 Feed rate reduction if stylus of the measuring touch probe is deflected away from its
path
Input: 0= Feed rate reduction not active
1= Feed rate reduction active
MP6370 Radial acceleration for digitizing with the measuring touch probe
Input: 0.001 to 3.000 [m/s]
Recommended input value: 0.1
Technical Prerequisites:
TT 120
Central tool file TOOL.T must be active (via machine parameter)
The TNC can store the calibration data for up to three different touch probes. The current data can
be activated using M4574/M4575. For three sets of calibration data to be stored at the same time,
bit 3 must be set in MP7490.
Probing direction
You define the probing direction for tool radius measurement in MP6505.x.
Safety zone
In MP6540 you define a safety zone around the contact of the TT 120. After a cycle for tool
measurement starts, the tool automatically moves at the feed rate defined in MP6550 from the
"clearance height" defined in the cycle to the limit of the safety zone.
The probing feed rate is calculated from the calculated rotational speed and the measuring tolerance
given in MP6510.
With MP6507 you define the method of calculating the probing feed rate:
Tool breakage
With MP6500 bit 5 and bit 6, you can set whether or not the NC program should be stopped if the
breakage tolerance is exceeded. Marker M4063 is always set if the breakage tolerance is exceeded.
If bit 11 is set, the result of "Check tool" is not entered in the tool table.
MP6510 Max. permissible measuring error for tool measurement with rotating tool
Input: 0.002 to 0.999 [mm]
MP6520 Probing feed rate for tool measurement with non-rotating tool
Input: 10 to 3000 [mm/min]
MP6530 Distance from tool lower edge to probe contract upper edge for tool radius
measurement
Input: 0.001 to 99.9999 [mm]
MP6530.0 Traverse range 1
MP6530.1 Traverse range 2
MP6530.2 Traverse range 3
MP6540 Safety zone around the probe contact TT 120 for pre-positioning
Input: 0.001 to 99 999.9999 [mm]
MP6581.0-2 Coordinates of the TT 120 probe center referenced to the machine datum
(traverse range 2)
Input: 99 999.9999 to +99 999.9999 [mm]
MP6582.0-2 Coordinates of the TT 120 probe center referenced to the machine datum
(traverse range 3)
Input: 99 999.9999 to +99 999.9999 [mm]
Set Reset
M4060 Cycle for tool measurement started NC NC
M4061 0 = tool measurement NC NC
1 = tool inspection
M4062 0 = wear tolerance not exceeded NC NC, PLC
1 = wear tolerance exceeded
M4063 0 = breakage tolerance not exceeded NC NC, PLC
1 = breakage tolerance exceeded
For information on connecting the handwheels, see the chapter "Mounting and Electrical
Installation." Handwheel operation is described in the User's Manual.
In MP7640 you indicate which handwheel is connected to the control. If you enter a value greater
than zero but no handwheel is connected, the error message Handwheel? appears. Shock and
vibration can result in a slight motion of the handwheel and therefore cause undesired motion in the
machine axis. To prevent this, enter a threshold sensitivity in MP7660.
You can block traverse with the handwheel by setting M4576. In the "Handwheel" mode of
operation you can enter in interpolation factor, which defines the traverse distance per handwheel
revolution. In order to ensure that the rapid traverse rates fixed in machine parameter MP1010.x are
not exceeded, the NC determines the minimum entry value for the interpolation factor. With
MP7641 you determine whether the interpolation factor can be entered directly through the TNC
keyboard or through the PLC Module 9036.
With MP7670.x you enter an even higher limit than that calculated by the NC. In MP7645.x you
enter initializing parameters for the handwheel. These initializing parameters are presently evaluated
only by the HRA 110 and HR 410. The functions are described in the corresponding chapters.
Set Reset
M4576 Handwheel lock PLC PLC
Call:
PS B/W/D/K <Number of the status information>
PS B/W/D/K <Value to be written>
CM 9036
PL B/W/D <Error identifier>
0: Status was written: no error
1: Incorrect status identifier
2: Transferred value out of range
3: Entry disabled (e.g. per MP)
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
O100 O103
Z ACTUAL-
POSITION
CAPTURE I164 I167
FEED RATE FEED RATE FEED RATE O104 O105 O106
SLOW MEDIUM FAST
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. W766 makes it possible to
and fast settings. MP7671.x defines the influence the feed rate by pressing the
velocity for the slow, medium and fast settings. direction keys.
The speed is entered as a percentage of the
manual feed rate (MP1020.x).
Step switch S1
Step switch for selecting interpolation factor
Step switch S2
Step switch for axis selection
To interrogate and set the inputs and outputs of the PLC I/O unit you need PLC modules.
Control-is-ready output 2 1 1
Control-is-ready input 2
Call:
PS B/W/D/K <Number of the PL>
0: First PLC I/O unit
1: Second PLC I/O unit
2: Third PLC I/O unit
3: Fourth PLC I/O unit
CM 9002
Call:
PS B/W/D/K <Number of the PL>
0: First PLC I/O unit
1: Second PLC I/O unit
2: Third PLC I/O unit
3: Fourth PLC I/O unit
CM 9005
Call:
PS B/W/D/K <Number of the first PLC input>
PS B/W/D/K <Number of the first edge marker or edge byte>
PS B/W/D/K <Number of PLC inputs>
PS B/W/D/K <Edge evaluation>
0: Rising edge, entry in edge marker
1: Falling edge, entry in edge marker
2: Rising edge, entry in edge byte
3: Falling edge, entry in edge byte
CM 9004
Set Reset
M4579 INCREMENT ON/OFF soft key set to on NC NC
NC software: 280470..:
With M4572 you can enable the "electronic handwheel" mode and the "incremental jog" function. Besides the "interpolation factor"
prompt the "jog increment" prompt is also displayed. To activate incremental jog positioning you must set the corresponding bit in
W1050 or W1051. Activation of incremental jog positioning is normally linked to the axis direction keys.
Set Reset
M4572 Enabling of incremental jog positioning PLC PLC
W1050 Incremental jog positioning in positive direction PLC PLC
Bit 0 to 8 0 = not active
Axis 1 to 9 1 = active
W1052 Incremental jog positioning in negative direction PLC PLC
Bit 0 to 8 0 = not active
Axis 1 to 9 1 = active
Call:
PS B/W/D/K <Number of the status information>
PS B/W/D/K <Value to be written>
CM 9036
PL B/W/D <Error identifier>
0: Status written
1: Incorrect error identifier
2: Transferred value out of range
"Manual" positioning
As soon as an axis direction key is pressed, the NC resets the corresponding bit in W1026 (axis in
position). From it you derive the unclamping of the PLC in the Hirth axis. As soon as the axis-in-
position bit is set, you check the nominal position with the Hirth grid and derive from that a PLC
positioning to the next grid point.
Controlled positioning
The positions of the Hirth axis must be programmed in the grid. You must check the positions in the
PLC during the program run. As soon as the "axis-in-position" bit is reset, check the target position
with the Hirth grid. If the target position is not in the Hirth grid, you put out a PLC error message.
Example:
Actual position display for X axis without offset = 50
Offset value in D528 = +20
M4132 is set, i.e. the offset is active
New actual-value display X= +70
A description of the machine geometry via machine parameters MP7510 and following
(see "Tilting axes") must have the same reference position as any datum shift.
Set Reset
D528 Datum shift for axis 1 PLC PLC
D532 Datum shift for axis 2 PLC PLC
D536 Datum shift for axis 3 PLC PLC
D540 Datum shift for axis 4 PLC PLC
D544 Datum shift for axis 5 PLC PLC
M4132 Activate datum shift from D528 to D544 PLC NC
or Module 9230 is called
Call:
PS B/W/D/K <Axis> [0 to 8]
PS B/W/D/K <Shift> [0.0001 mm]
CM 9230
In MP7266.x you can define the elements of the tool table that are to be displayed and the
sequence in which they appear.
Example:
Left side of the tool table Right side of the tool table
When configuring the tool table, note that the complete width cannot be more than 250
characters. Wider tables cannot be transferred via data interface. The width of individual
columns is included in the description of MP7266.x.
Example:
If you wish to edit the tool and pocket tables, they must not be locked or protected through
MP7224.x (see files). In MP7260 you define the number of tools in the tool table. If you enter the
value zero in MP7260, there will be no tool table (TOOL.T will not exist). You then use TOOL DEF to
program the tool length and tool radius in the NC part program (see the User's Manual). If the
control is used without a tool table, there will also be no automatic tool management. You define the
number of pockets in the tool magazine in MP7261. If you enter the value zero in MP7261, no
pocket table will be generated. With Modules 9092, 9093, 9094 and 9096 you can read the tool and
pocket tables and overwrite them. If an input field has been opened with the editor at the time the
modules are called, this field is closed automatically. The current tool data are shown in the
additional status display (graphic window).
Module 9093: Read data from the tables selected for program run (.T/.D/.TCH)
You can read the content of certain elements in the tables selected for program run (M status is
set). For this purpose you transfer the line number (= tool number for .T, vector number for .D, or
pocket number for .TCH) and the element number of the element to be read.
You must start the module through a Submit job. You must enter the new values as a natural
number, shifted by the number of decimal places that can be entered.
P5 P6 P7 P8 P9 P10
You deselect the variable pocket coding for special tools with M4541. As soon as M4541 is set, all
special tools are returned to their original places in spite of the "variable pocket coding" setting. With
the "F" field (fixed pocket) you can also define this function selectively for individual tools (including
normal tools).
Set Reset
M4541 In spite of the variable pocket coding, return special PLC PLC
tool to its original pocket
With the M function M101 you activate the automatic insertion of the replacement tool after
expiration of the tool life (TIME1 of TIME2). M101 is deactivated with M102. The replacement tool is
not changed exactly upon expiration of the tool life; it can vary by a few NC blocks depending on the
degree of utilization of the processor. A T-strobe M4073 is sent to the PLC and the marker M4525 is
set. For automatic tool changing in standard NC programs (NC blocks with RR, RL or R0), the
replacement tool must have the same radius defined as for the original tool.
No radius compensation is entered in NC blocks with surface-normal vectors. For each tool a delta
value is entered for radius (DR) and length (DL). These delta values are offset by the TNC in NC
programs with surface-normal vectors. If the radius of the replacement tool is different from the
radius of the original tool, you must enter the difference in the DR field in the tool table. The delta
value must always be negative. Entering a positive delta value will provoke the error message TOOL
RADIUS TOO LARGE. You can suppress this error message with the M function M107. You can
cancel M107 with M108. With MP7680 you define for NC blocks with surface-normal vectors
whether calculation of the tool length includes the oversize for the tool radius (DR2).
The current tool age between tool calls is counted only in the "Program run, full sequence" and
"Program run, single block" modes. Spindle operation time and machine traversing time play no role
in the current tool age. The tool time counter is not stopped until the program is terminated with an
"internal stop," M02, M30, or END PGM. The tool time counter does not run in the "Manual
operation," "Electronic Handwheel," or "Positioning with Manual Data Input" modes. The operator can
reset the current tool age by entering zero.
Set Reset
M4543 Tool life expired (TIME1 in the tool table) NC NC, PLC
The optimal speed and its corresponding feed rate can be calculated from the values entered in
cutting data tables for workpiece and tool material. Depending on the type of tool (for milling or
drilling), the values for cutting speed, feed rate per tooth or feed rate per revolution may be included
in these tables.
Tool table
In the tool table enter the name of the cutting data table that is to be used for that tool (under the
column CDT). Define the tool type under TYP (DRILL/TAP/MILL). You also need to indicate the
radius of the tool (R), the tool material (TMAT) and, in the case of milling machines, the number of
teeth (CUT).
The three tool types are defined in the file PLC.\TTYP.TAB. If you edit this file, you must enter
the new name and path in the system file OEM.SYS using the command TTYP =.
Principle
TOOL.T FRAISA.CDT
NC-Programm
0 BEGIN ---
1 WMAT ALU
2 TOOL CALL 1 Z S---- F----
3 -------
4 -------
5 -------
6 L ----- F500
7 L ----- FAUTO
8 -------
Define the name of the calling NC program in the file PLC:\NCMACRO.SYS as follows:
TC = <Path name>\<File name>
With such a program you can, for example, very easily program a positioning motion to the tool-
change position. It is best to file the program in the PLC partition to protect it against being changed
by the end user. Since the tool data, as mentioned above, are not active in the activated program,
you must interrogate them in with FN18 (see the chapter "PLC Programming"). With these data you
can program a TOOL CALL at an appropriate location in the called program so that the tool data
become active and a T-strobe is transferred to the PLC.
With FN18 you can also overwrite the software limit switch for tool-change positioning. If you
use FN18 to also call the programmed position after the TOOL CALL, you can program a continuous
movement from the tool magazine to the connecting position (M112).
With FN20: WAIT FOR you can suspend execution of the NC program until the entered
condition is fulfilled. Comparisons of a PLC variable with a constant are permitted (see "PLC
Programming" chapter). To ensure that during a block scan the tool-change program is not run until
the end you must enter the instruction NCMACRO=TC in the MGROUPS.SYS file. See
"Reapproaching the Contour." If no NC program is specified in the file NCMACRO.SYS, the TOOL
CALL is executed as before.
Set Reset
W262 Pocket number NC NC
W264 Tool number NC NC
M4073 Strobe signal T code (P code) with TOOL CALL NC NC
M4074 Strobe signal T code (P code) with TOOL DEF NC NC
M4093 Acknowledgment of T code (P code) with TOOL CALL PLC PLC
M4094 Acknowledgment of T code (P code) with TOOL DEF PLC PLC
M4521 Tool no. zero programmed NC NC
M4538 Geometry of the tool from W264 PLC NC
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. You must change these tools 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. You can recognize this with M4520 and M4540. You must
evaluate and acknowledge both pocket numbers (tool numbers).
1
M2046
M4073
0
1
M2483
M4093
0
1
M4520
M2093
0
1
M2600
M4540
0
1
M2401
M4522
0
1
M2402
M4523
0
1
M2403
M4524
0
1
M2601
M4541
0
W262
W262 Pocket No. [new N]
W264
W264 Tool No. [new N]
1
M2046
M4073
0
1
M2483
M4093
0
1
M4520
M2093
0
1
M2600
M4540
0
1
M4522
M2401
0
1
M2402
M4523
0
1
M2403
M4524
0
1
M4541
M2601
0
W262
W262 Pocket No. [S] Pocket No. [N]
W264
W264 Tool No. Tool No. [N]
1
M4073
M2046
0
M4093 1
M2483
0
M4520 1
M2093
0
1
M4540
M2600
0
M4522 1
M2401
0
M4523 1
M2402
0
M4524 1
M2403
0
M4541 1
M2601
0
W262
W262 Pocket No. [N] Pocket No. [S]
W264
W264 Tool No. N Tool No. 0
1
M2046
M4073
0
1
M2483
M4093
0
1
M4520
M2093
0
1
M2600
M4540
0
1
M2401
M4522
0
1
M2402
M4523
0
1
M2403
M4524
0
1
M2601
M4541
0
W262
W262 1
Pocket No. 255 Pocket No. [N]
W264
W264 Tool No. 0 Tool No. [N]
1
M2046
M4073
0
1
M2483
M4093
0
1
M4520
M2093
0
1
M2600
M4540
0
1
M2401
M4522
0
1
M2402
M4523
0
1
M2403
M4524
0
1
M4541
M2601
0
W262
W262 Pocket No. 1
255
W264
W264 Tool No. [new M]
1
M4073
M2046
0
1
M2483
M4093
0
1
M4520
M2093
0
1
M2600
M4540
0
1
M4522
M2401
0
1
M2402
M4523
0
1
M4524
M2403
0
1
M4541
M2601
0
W262
W262 Pocket No. [N] Pocket No. 1
255
W264
W264 Tool No. 0 Tool No. [M]
1
M4073
M2046
0
1
M4093
M2483
0
1
M4520
M2093
0
1
M2600
M4540
0
1
M4522
M2401
0
1
M4523
M2402
0
1
M4524
M2403
0
1
M4541
M2601
0
1
M2046
M4073
0
1
M2483
M4093
0
1
M4520
M2093
0
1
M2600
M4540
0
1
M4522
M2401
0
1
M2402
M4523
0
1
M2403
M4524
0
1
M4541
M2601
0
W262
W262 Pocket No. [new S]
W264
W264 Tool No. [new S]
1
M4073
M2046
0
1
M2483
M4093
0
1
M4520
M2093
0
1
M2600
M4540
0
1
M4522
M2401
0
1
M2402
M4523
0
1
M4524
M2403
0
1
M4541
M2601
0
W262
W262 Pocket No. [old S] Pocket No. [new S]
W264
W264 Tool No. 0 Tool No. [new S]
1
M2046
M4073
0
1
M2483
M4093
0
1
M4520
M2093
0
1
M2600
M4540
0
1
M4522
M2401
0
1
M2402
M4523
0
1
M2403
M4524
0
1
M4541
M2601
0
W262
W262 Pocket No. [new S] Pocket No. [old S]
W264
W264 Tool No. [new S] Tool No. 0
1
M2046
M4073
0
1
M2483
M4093
0
1
M4520
M2093
0
1
M2600
M4540
0
1
M4522
M2401
0
1
M2402
M4523
0
1
M2403
M4524
0
1
M4541
M2601
0
W262
W262 Pocket No. [N] Pocket No. [S]
W264
W264 Tool No. 0 Tool No. [S]
1
M2046
M4073
0
1
M2483
M4093
0
1
M4520
M2093
0
1
M2600
M4540
0
1
M2401
M4522
0
1
M2402
M4523
0
1
M2403
M4524
0
1
M2601
M4541
0
W262
W262 Pocket No. [S] Pocket No. [N]
W264
W264 Tool No. [S] Tool No. 0
1
M4073
M2046
0
1
M4093
M2483
0
M4520 1
M2093
0
1
M4540
M2600
0
M4522 1
M2401
0
1
M4523
M2402
0
1
M4524
M2403
0
M4541 1
M2601
0
W262
W262 Pocket No. 1
255 Pocket No. [S]
W264
W264 Tool No. 0 Tool No. [S]
SPIREG
The sequence diagram below uses the following variables for greater clarity:
ISTREG = Pocket number at the tool-change position of the tool magazine
GRE1 = Pocket number of tool in changing arm facing tool magazine
GRE2 = Pocket number of tool in changing arm facing spindle
SPIREG = Pocket number of tool in spindle
Set Reset
W262 Pocket number NC NC
W264 Tool number NC NC
M4073 Strobe signal T code (P code) with TOOL CALL NC NC
M4074 Strobe signal T code (P code) with TOOL DEF NC NC
M4093 Acknowledgment T code (P code) with TOOL CALL NC NC
M4094 Acknowledgment T code (P code) with TOOL DEF NC NC
M4520 Another T code (P code) follows with TOOL CALL NC NC
M4524 Special tool called (TOOL CALL) NC NC
M4540 Sequence of tool number or pocket number transfer PLC PLC
(M4520 = 1)
M4541 Special tool to original pocket despite PLC PLC
variable pocket coding
The sequence diagram for this tool changer is subdivided into modules.
List of modules (subroutines):
TOOL DEF Search tool and load in GRE1
TOOL CALL Automatic tool-change
STANDBY Search tool and load in GRE1
STANDBY BACK Return tool from GRE1 to magazine
MANUAL TOOL IN Manual tool follows Normal or Special tool
MANUAL TOOL OUT Normal or Special tool follows Manual tool
MANUAL OUT/IN Manual tool follows Manual tool
INSERT Take old tool out and put new tool in
COMPUTE SHORTEST PATH
COMPARE P-CODE WITH ISTREG
COMPARE GRE1 WITH ISTREG
Feedback is
TOOL DEF immediate so
feedback that the NC PGM
can continue
No Message:
1
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
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
M4573=1
Yes
Strobe set
again OK key No
pressed
Yes
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
M4573=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
The spindle is emptied and the new tool is automatically inserted. The program takes into account
whether the tool should be returned to its old pocket in the tool magazine (e.g. special tool).
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
M4573=1
Yes
TOOL CALL
strobe set
again
No
P = ISTREG
Magazine in position
Yes
COMPARE
P-CODE WITH Position tool magazine
ISTREG
Module
The tool magazine is positioned in the shortest direction to the desired pocket number.
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
M3042 = 0: backward
M3042 = 1: forward
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
November 97 Special Functions for Laser Cutting Machines TNC 426 B, TNC 430 4297
Voltage varies with the velocity: M202 FNR.
The TNC outputs the voltage as a function of the velocity. With machine parameters MP3013.x and
MP3014.x you can define up to three characteristic curves in a table. In the table certain analog
voltages are assigned to certain feed rates. M202 FNR. selects the characteristic curve in which the
TNC finds the voltage to be output.
Input: 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 zero. 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 zero.
Example:
MP3013.0-11 Characteristic kink points (velocity) for analog voltage output with M202
Input: 10 to 300 000 [mm/min]
MP3014.0-11 Characteristic kink points (voltage) for analog voltage output with M202
Input: 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...
Input: 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.
4298 TNC 426 B, TNC 430 Special Functions for Laser Cutting Machines November 97
Voltage for a specific time (time pulse): M204 V... TIME...
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.
November 97 Special Functions for Laser Cutting Machines TNC 426 B, TNC 430 4299
4.22.3 Program Stop with M Functions and TOOL CALL S
When an M function is output in the "Program run, full sequence" and "Program run, single block"
modes, the program run is normally interrupted until you report with M4092 that the M function was
executed. The same applies for a TOOL CALL with which only a spindle speed is programmed
(TOOL CALL S).
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 acknowledgment, but rather to run the
program continuously. You can therefore select with machine parameter MP7440 bit 2 and MP3030
whether program run should be interrupted in these cases. There must be no PLC positioning, datum
shift, spindle orientation or changes in limit-switch range during M function output.
4300 TNC 426 B, TNC 430 Special Functions for Laser Cutting Machines November 97
November 97 Special Functions for Laser Cutting Machines TNC 426 B, TNC 430 4301
4.23 Integrated Oscilloscope
The TNC features an integrated oscilloscope. To activate it, enter the code number 688 379. It
enables you to record and store the following axis characteristics in up to four channels:
ACTL.SPEED Actual value of the axis feed rate (mm/min).
NOML SPEED Nominal value of the axis feed rate (mm/min). The axis feed rate as calculated
from the differences of the nominal position values. The servo lag is not
included.
FEED RATE Machining feed rate (mm/min)
ACTUAL POS Actual position (mm)
NOML.POS Nominal position (mm)
LAG Servo lag of the position controller (m)
ENCODER: I1 Signal 1 of the position encoder
ENCODER: I2 Signal 2 of the position encoder
SAVED The signal recorded last gets stored
PLC The PLC operands (B, W, D, I, O, T, C) are recorded. Enter the desired operands
in the input field next to PLC.
Analog axes: VOLT.ANLOG Analog voltage = nominal velocity value (mV)
Digital axes: V (ACT RPM) Rotational speed actual value (mm/min). Calculated via
tachometer and standardized with MP2020.
V(NOM RPM) Nominal velocity value (mm/min). Output quantity of the position
controller.
I(INT RPM) Integral component of the nominal current value (A)
I NOMINAL Nominal current value that determines torque (A)
The recorded data remains stored until you start recording again or activate another graphic function.
You can configure the colors for the oscilloscope in MP7356.x.
After you have entered the code number the Setup Menu appears.
OUTPUT
Here you can define whether the nominal velocity value is output as a step or as a ramp. For output
as a ramp, the programmed feed rate and the kv factors and acceleration rates set in the machine
parameters go into effect.
If you have selected step output, a step will be output as nominal velocity value when you
press the axis direction buttons in the "Manual" operating mode. The position control loop is open
while the step is being output. You define the height of the step in the NOML. FEED RATE input
field.
SAMPLE TIME
You can set the time interval for recording the signals to between 0.6 and 6 ms. 4096 samples are
stored. The signals are therefore stored for a time duration of 2.4576 s to 24.576 seconds.
CHANNEL 1 to CHANNEL 4
Here you assign to each of the four channels the signal and axis that you wish to record. The input
possibilities are described above.
TRIGGER
Here you define the type of recording. You have the following possibilities:
FREE RUN The recording is started and stopped manually via soft keys. When you
press the STOP key, the last 4096 events are recorded.
SINGLE SHOT When you press the START key, the next 4096 events are recorded.
CHANNEL 1 to 4 Recording begins when the triggering threshold of the selected channel is
exceeded.
TRIGGER THRESHOLD
Here you enter the trigger threshold in the following dimensions:
Velocity [mm/min]
Position [mm]
Rotational speed [mm/min]
Servo lag [m]
Analog voltage [mV]
Current [A]
SLOPE
Here you set whether the rising (positive) or falling (negative) edge should be triggered.
PRE-TRIGGER
The stored recording starts before the trigger time point by the value defined here.
The selected signals are continually displayed during recording. The memory contents are displayed
after completion of the recording. For every channel the manner of the signal and the resolution are
also shown. The length of the recorded range, relative to the entire memory content, is shown as a
bar in the status field.
To move the cursor, press the arrow keys. The status field shows the amplitude of the
selected channel and the time from the beginning of recording. With the CURSOR 1/2 soft key you
activated a second cursor. The oscilloscope shows you the current amplitude and time for this
cursor as well. The time of the second cursor refers to the position of the first cursor. The time of
the second cursor refers to the position of the first cursor. You can use this function to measure the
acceleration time of an axis, for example.
You select one of the four channels and get a new soft-key row with the following soft
keys:
Inverts the signal
Optimal vertical resolution. The signal is centered in the screen. With NO ENT
you return to the originally selected resolution.
Changes over on second cursor
Select the memory area to be displayed. A new soft-key row with the following soft keys
appears:
Arrows Move the signal to the left or on the right
Reducing horizontal resolution
Start recording. The recording is ended either with a trigger condition or with the STOP
soft key.
Exit the oscilloscope function.
4.24.1 Preparation
Check the wiring against the grounding diagram and the safety concept (see "Basic Circuit
Diagram")
Check the "control-is-ready" function (see "EMERGENCY STOP Monitoring").
Check the EMERGENCY STOP circuit by pressing the EMERGENCY STOP keys and the
EMERGENCY STOP limit switch.
The current machine parameter file must be selected. Most of the input values can be clearly
determined from the present documentation. Enter preliminary values for those machine
parameters that are determined during commissioning.
The PLC program for integration to the machine must be written prior to commissioning. Ensure
that in the system file OEM.SYS the instruction PLCMAIN= refers to the current PLC program. To
write the PLC program, use the PLC programming software PLCdesign.
NC software: 280470..:
Digital and analog axes are defined in MP2000.x.
MP2000.0-5 Type of drive
Input: 0 = output of nominal speed command signal (analog axis)
1 = output of current pulses (digital axis)
MP2001 Type of drive for spindle
Input: 0 = output of nominal speed command signal (analog spindle)
1 = output of current pulses (digital spindle)
Change the data for the motors. The TNC shows either the list of
synchronous or asynchronous motors, depending on the selected motor.
After you have selected the motor and the power stage, the correct data is automatically entered in
MP2100.x, MP2101, MP2200.x and MP2201.
If you are using motors or power stages that are not listed in the menus, please contact
your HEIDENHAIN representative.
You can overwrite the standard data or add additional models to the tables. If you change
the list of motor models or power stages, the altered tables are saved in the PLC partition.
PLC:\MP\MOTOR.ASY list of asynchronous motors
PLC:\MP\MOTOR.SN list of synchronous motors
PLC:\MP\MOTOR.AMP list of power stages
The TNC then uses these tables. If at any time you wish to use the HEIDENHAIN standard table
again, you must erase the tables in the PLC partition.
The maximum speed indicated in motor data sheets always depends on a specific dc-link voltage
supply. If you are working with a lower dc-link voltage, this speed will not be reached. You can
combat this effect on synchronous motors by entering a field angle offset. This means however that
more current is required starting from the speed at which the field angle begins to shift. The thermal
limit curve is shifted as a result.
MP2340.0-5 Speed starting from which the field angle begins to shift on synchronous motors
Input: 0 to 100 000 [rpm]
0 = no field angle offset
Please note that, with these data, starting from the speed at which the field angle begins to shift, the motors draw 16% more
current than the SIEMENS data specify. This shifts the thermal limit curve.
Call:
CM 9168
PL D <Status>
1: Commissioning not active or no axis yet selected.
Bit 0 to Bit 5: Axis 1 to axis 6 selected
Bit 15: Spindle selected
Bit 16: Circuitry of the spindle
0: Wye connection
1: Delta connection
Procedure:
Switch on the control.
Do not acknowledge the message POWER INTERRUPTED and, in the editing mode (via MOD)
enter the code number 688 379. This starts the integrated oscilloscope.
Press the soft key I CONTROL.
In the Manual operating mode, acknowledge the message POWER INTERRUPTED. This begins
translation of the PLC program that is defined with the command PLCPWM= in the OEM.SYS file.
In the oscilloscope mode, use the SELECT AXIS soft key to select the axis to be optimized.
Press the START STEP soft key. This sends a step function to the current controller, whose step
response is measured. The height and length of the step function is calculated automatically by
the TNC using the entered machine parameters.
With the and soft keys, change the current gain until the step response shows only a slight
overshoot. The settling time tout should be 600 s.
When the current gain is properly adjusted, press the STORE MP2400 soft key to transfer the
optimized value directly into the machine parameter.
Press the END key to exit the I CONTROL mode again.
Procedure:
MP2500.x = 0.5 Proportional factor of the speed controller
MP2510.x = 0 Integral factor of the speed controller (for axes requiring a holding
force, such as vertical axes, you must enter the value 1 to prevent
the axis from drifting)
MP2520.x = 0 Differential factor of the speed controller
MP2530.x = 0 2nd order time-delay (PT2) element of the speed controller
In the manual operating mode, use the oscilloscope function to send a step function to the
speed controller (approx. 500 mm/min). Display the nominal velocity value V (NOM RPM), the
actual speed value V (ACT RPM) and the nominal current value (I NOMINAL).
Choose a step height that will not overload the speed controller.
Activate the step function by pressing the axis direction buttons.
To change the machine parameters, press the MP EDIT soft key in the setup menu.
Increase MP2500.x (P factor) up to the oscillation limit.
You can compensate high frequency disturbance oscillations (> 400 Hz) with MP2530.x.
However, this compensation dampens the control loop. Try first to correct the mechanical
causes of the disturbance oscillations.
Increase the damping for the band-stop filter (MP2540.x) until the oscillation is minimized.
Realistic inputs values lie between 3 to 9 dB.
This compensation dampens the control loop. For this reason it is best to attempt first to
correct the mechanical causes of the oscillation.
Increase MP2510.x (I factor) until you see one overshoot followed by a light undershoot.
Fmax
a=
tr 66 000
acceleration (MP1060.x) s
m
a=
Fmax = maximal machining feed rate
(MP1010.x) min
mm
tr = rise time [s]
Counting direction
On the oscilloscope, set the TRIGGER to FREE RUN.
Start recording
Change to Manual operating mode.
Press the axis direction buttons.
Check the counting direction on the display and, if necessary, correct it with MP210.x.
Position controller
You must activate a PLC program that is interfaced to the machine. The position control loop must
be closed (W1038/W1040) and all PLC inputs and outputs must be operated correctly. To optimize
the position control loop, proceed as follows:
YES
GROSS POSITIONING ERROR
<AXIS> D
?
PRESS END.
Change MP1040.
TRAVERSE
NO REFERENCE POINTS YES
with axis direction keys.
YES YES
Traverse direction Traverse direction
correct? correct?
? ?
NO
Power off.
Power off. Change MP1320.
Change MP210 and MP1040.
Finished
MP1390 = 1
MP1810 1 (provisional input value)
MP1096 = 0
Enter the following test program:
LBL 1
L X<maximum traverse> R0 F<maximum machining feed rate>
L X0 R0 F<maximum machining feed rate>
CALL LBL1 REP 100/100
With the internal oscilloscope, display the actual feed rate (ACTL.SPEED)
Start the test program. Feed rate override = 100 %
Increase MP1810.x until you can clearly recognize an oscillation tendency.
Compensation of backlash
Case 1: The cause is outside the controlled loop.
Enter the backlash in MP710.0-8.
Holding moment
See section "Control Loop" in this chapter.
Enter the following test program (holding moment for axis Z):
LBL 1
L Z+2 R0 F50
L Z2 R0 F50
CALL LBL 1/10
With the integrated oscilloscope, record the actual speed value V(ACT.RPM) and the nominal
current value (I NOMINAL).
Start the program.
With the feed-rate override knob, adjust the motor speed to 10 rpm (MP2020.x) in each of both
traverse directions.
I NOML1 + I NOML2
MP2630.x = 2
I NOML1 I NOML2
MP2610.x = 2
Change the test program so that the motor rotates at its rated speed.
Start the program.
I NOML1 + I NOML2
MP2620.x = 2
In the event that the motor cannot be driven at the rated speed, measure I NOMINAL at the
maximum speed (rapid traverse) and calculate the current at the rated speed as follows:
Acceleration feedforward
MP1390 = 0 Operation with velocity feedforward.
Enter the following test program:
LBL 1
L X+100 R0 F5000
L X100 R0 F5000
CALL LBL 1/10
With the integral oscilloscope, record the actual speed value V (ACT RPM), the nominal current
value (I NOMINAL) and the integral-action component of the nominal current value I (INT RPM).
Start the program.
With the feed-rate override knob, adjust the speed so that I NOMINAL is not limited.
Measure the gradient of the acceleration ramp in the part in which I (INT RPM) remains constant,
and calculate MP2600.x as follows:
Circular test
With the circular test you can check the exact input values for compensating sliding friction.
Determine the radial acceleration: MP1070 = 0.7 MP1060.x, where MP1060.x = smallest
acceleration in the machining plane
At a mid-range feed rate (approx. 500 mm/min), check whether MP2610 is at the optimum
setting. At the optimum setting the reversal peaks are at a minimum.
At high feed rates (from approx. 6000 rpm), the reversal peaks might point inward as a result of
overcompensation. Increase MP2612.x until the reversal peaks no longer point inward.
Fmax
a=
tr 66 000
acceleration (MP1060.x) s
m
a=
Fmax = maximal machining feed rate
(MP1010.x) min
mm tr
tr = rise time [s]
Power on
YES
GROSS POSITIONING ERROR
<AXIS> D
?
Press END.
Change MP1040
or MP210
TRAVERSE
NO REFERENCE POINTS YES
with axis direction keys.
YES YES
Traverse direction Traverse direction
correct? correct?
? ?
NO
Power off.
Power off. Change MP1320.
Change MP210 and MP1040.
Finished
Offset adjustment
You can carry out the fine adjustment of the offset at the TNC. See the "Position Control Loop"
chapter above.
Monitoring functions:
To ensure that the monitoring functions become active at the proper moment, you must first have
entered meaningful values. HEIDENHAIN recommends the following input values. You must then
adjust these input values slightly to fit the design of the individual machine.
Current controller
As with digital axes, except that MP2401 is adjusted instead of MP2400.x.
Speed controller
You do not use the internal oscilloscope to define the step function as with the axes. Rather, you
simply enter the maximum acceleration (MP3411.x) and start the step by switching the spindle on.
Procedure:
MP2501 = 2 Proportional factor of the speed controller
MP2511 = 1 Integral factor of the speed controller
MP2521 = 0 Differential factor of the speed controller
MP2531 = 0 PT2 element of the speed controller
Activate a spindle speed from the highest gear range.
With the integrated oscilloscope, record the nominal speed value V(NOM RPM), actual speed
value V(ACT RPM) the nominal current value (I NOMINAL).
Output a step by activating the spindle on function (M03/M04).
Select the height of the step function for a very low speed so as not to overload the speed
controller (I NOMINAL).
To change the machine parameters, in the setup menu press the soft key MP EDIT.
Increase MP2501 (P factor) until the system oscillates or until no change is visible:
Output a step with maximum speed. I NOMINAL is within the limit during acceleration. After the
maximum speed has been reached, I NOMINAL should not oscillate. If it does, you must
decrease MP2501 and MP2511 by the same amounts until the overshoot is minimized.
In MP3412.0 you enter a factor for MP3411.x that takes effect in the braking ramp with M05.
Braking also occurs in the current limit.
In the tapping and spindle orientation operating modes, I NOMINAL must not be in the limit
during acceleration. With MP3412.1 to MP 3412.3 you enter a factor for MP3411.x for these
operating modes.
With MP3415.x you determine an individual transient response for each operating mode of the
spindle. You adapt the nominal value curve to the actual value curve.
Direction of rotation
Check the rotational direction of the spindle when M03 is output. If the spindle does not rotate in
clockwise direction, change MP3130.
Close the position control loop of the spindle. See Oriented Spindle Stop.
If the error message Nominal speed value too high appears, you must change MP3140.
Now optimize the kv factor individually for each gear range (MP3440.x). A TOOL CALL must be
run before the changed gear-specific MPs are transferred.
Current controller
Switch on the control.
Do not acknowledge the message POWER INTERRUPTED and, in the Programming and Editing
mode, enter the code number 688 379. This starts the integrated oscilloscope.
Press the I CONTROL soft key.
In the Manual operating mode acknowledge the message POWER INTERRUPTED. This translates
the PLC program defined in the OEM.SYS file with PLCPWM=.
In the oscilloscope mode of operation, use the SELECT AXIS soft key to select the spindle.
With the STAR / DELTA soft key select either the wye (star) or delta connection.
With the I FACTOR / P FACTOR soft key, select the I factor and set MP2431.x to zero.
With the I FACTOR / P FACTOR soft key, select the P factor.
Press START STEP. This sends a step function to the current controller and measures the step
response. The height and length of the step function is calculated automatically by the TNC using
the entered machine parameters.
With the soft key, increase the P factor (MP2421.x) to the oscillation limit.
Speed controllers
Same procedure as for a digital spindle with TNC 426.
Acceleration
Same procedure as for a digital spindle with TNC 426.
Direction of rotation
Same procedure as for a digital spindle with TNC 426.
Position controller
Same procedure as for a digital spindle with TNC 426.
Acceleration
Procedure is same as for a digital spindle. You measure the signals directly at the servo amplifier
with an external oscilloscope.
Direction of rotation:
Same procedure as for a digital spindle.
Position controller:
Same procedure as for a digital spindle.
You can use the functions TRACE and TABLE, as well as a syntax check on entering the PLC
commands and a logical test with the COMPILE function to make it easier to find faults in the PLC
program.
For the compiled PLC program you have 256 KB (approx. 32 000 blocks) available in the sequential
program. A new PLC run begins every 21 ms (PLC cycle time). This means that every 21 ms the
inputs are read and outputs are set. A PLC run must not take more than 7 ms.
CODE LENGTH
This is the length of the translated sequential program in KB. A maximum of 256 KB is possible.
Show logical states of the M/I/O/T/C or contents of the B/W/D (see section "Table
Function" below).
Show trace function or logic diagram.
Unlike the normal programming mode, however, pressing the soft key SELECT TYPE calls the
following soft-key row:
Pressing the MORE FUNCTIONS soft keys calls the following additional soft keys:
Generates a cross-reference list; the file name extension must not be one
already used by the system (e.g. .PLC, .CMA, etc.).
Generates a program listing numbered by line.
Pressing the TRACE soft key calls a series of new soft keys with the following meanings:
This soft key can start and stop the dynamic display of the operand,
accumulator, and logic diagrams.
Start trace.
End trace.
This soft key can start and stop the dynamic display of the operand,
accumulator, and logic diagrams.
Start trace.
End trace.
In this way it is possible to show the logical states of up to 16 operands (M, I, O, T, C) graphically
and simultaneously on the VDU screen. 1024 PLC runs can be recorded. The selection is made by
soft key SELECT M/I/O/T/C, which makes it possible to create a table with the required operands.
The individual positions in the table are determined by dialog. Incorrect entries can be erased with
the DEL key. For each operand a trigger condition can be entered. 512 states are recorded before
and 512 after a trigger event. The following trigger conditions are possible:
If no trigger condition is wanted, then confirm with NO ENT. If no trigger condition is entered for any
of the operands, then the operand states will be continuously recorded and the last 1024 remain in
memory.
A recording commences with START TRACE and is ended either with STOP TRACE or
when the trigger event takes place. During recording of the logical states, the message PCTR will
blink in the status window. The blinking will stop when the recording is finished. The cursor keys
can be used to select the desired range in the TRACE buffer.
The following soft keys are available for selecting, setting and resetting the markers, inputs, outputs,
timers and counters:
Set M/I/O/T/C.
Reset M/I/O/T/C.
Save operand ranges as file. The ranges of several operands can be saved,
e.g. M0 to M100, W100 to W118.
Show file of saved operands.
* After entry of the code number 531 210 markers M0 to M999 and Byte B0 to B127 are erased.
8 bit
In byte addressing every address from 0 to 4095 is accessible. In word addressing, every second
address from 0 to 4094 is accessible and in doubleword addressing every fourth from 0 to 4092. The
address parameter gives the high byte for a word address (W) , or the highest byte for a doubleword
address (D).
The markers, timer and counters are addressed by the corresponding letters M, T or C
followed by the operand number (e.g. M500, T7, C18).
Set Reset
M4075 Transfer with FN19 active NC NC
M4095 Acknowledgment of transfer with FN19 PLC PLC
M4570 Unit of measure through transfer with FN19
0 = mm; 1 = inch NC NC
D280 1st value from FN 19 NC NC
D284 2nd value from FN 19 NC NC
Group name Group Sys. data Sys. data Input value for system
number number index datum
ID...... NR...... IDX.....
Data in tool table 50 1 - Tool length
2 - Tool radius
3 - Tool radius R2
4 - Oversize in tool length DL
5 - Oversize in tool radius DR
6 - Oversize in tool radius DR2
7 - Tool locked
0 = not locked, 1 = locked
8 - Number of replacement tool
9 - Maximum tool life TIME1
10 - Maximum tool life TIME2
11 - Current tool life CUR. TIME
12 - PLC status
13 - Maximum tooth length
LCUTS
14 - Maximum plunge angle
ANGLE
15 - TT: Number of teeth CUT
16 - TT: Tolerance for wear
detection in tool length LTOL
17 - TT: Tolerance for wear
detection in tool radius RTOL
18 - TT: Direction of rotation
DIRECT
0 = pos; 1 = neg
19 - TT: Offset in the plane
R-OFFS
R = 99999.9999
20 - TT: Offset in tool length
L-OFFS
21 - TT: Breakage tolerance in tool
length LBREAK
22 - TT: Breakage tolerance in tool
radius RBREAK
The control rounds input values of < 0.001 mm (or ) internally to 0.001 mm (or ).
Set Reset
D768 Value from MP4210.0 NC NC
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
D792 Value from MP4210.6
D796 Value from MP4210.7
D800 Value from MP4210.8
D804 Value from MP4210.9
D808 Value from MP4210.10
D812 Value from MP4210.11
D816 Value from MP4210.12
D820 Value from MP4210.13
D824 Value from MP4210.14
D828 Value from MP4210.15
D832 Value from MP4210.16
D836 Value from MP4210.17
D840 Value from MP4210.18
D844 Value from MP4210.19
D848 Value from MP4210.20
D852 Value from MP4210.21
D856 Value from MP4210.22
D860 Value from MP4210.23
D864 Value from MP4210.24
D868 Value from MP4210.25
D872 Value from MP4210.26
D876 Value from MP4210.27
D880 Value from MP4210.28
D884 Value from MP4210.29
D888 Value from MP4210.30
D892 Value from MP4210.31
D896 Value from MP4210.32
D900 Value from MP4210.33
D904 Value from MP4210.34
D908 Value from MP4210.35
D912 Value from MP4210.36
D916 Value from MP4210.37
D920 Value from MP4210.38
D924 Value from MP4210.39
D928 Value from MP4210.40
D932 Value from MP4210.41
MP4310.0-6 Set a number in the PLC, in the word range W 976 to W 988
Input: 0 to 65 535
Example:
When an M function is output, the NC sets the strobe signal M4072. After evaluating the M
function, the PLC sets the acknowledge marker M4092. The PLC must reset M4092 otherwise no
further strobes can be transferred by the NC.
Group name Group Sys. data Sys. data System data for
number number index
Program information 10 1 - mm=0, inch=1
2 - Overlap factor at the pocket
milling
3 - Number of active fixed cycle
4 - Number of the last DEF-
active OEM cycle
Machine status 20 1 - Active tool number
2 - Prepared tool number
3 - Active tool axis
0=X 6=U
1=Y 7=V
2=Z 8=W
4 - Programmed spindle speed
5 - Active spindle state
0 = off, 1 = on
8 - Coolant state
0 = off, 1 = on
9 - Active feed rate
Cycle parameters 30 1 - Setup clearance
2 - Total hole depth / milling
depth
3 - Pecking depth
4 - Feed rate for plunging
5 - 1st side length for pocket
6 - 2nd side length for pocket
7 - 1st side length for slot
8 - 2nd side length for slot
9 - Radius for circular pocket
10 - Feed rate for milling
Examples:
FN20: WAIT FOR I10==1 NC program will only continue if PLC input I10 is set
FN20: WAIT FOR I10 NC program will only continue if PLC input I10 is equal to 0
FN20: WAIT FOR B3000>255 NC program will only continue if byte 3000 is set to a value
greater than 255.
Transfer by Q parameters
Numerical values are transferred from the PLC to the part program by means of Q parameters
Q100 to Q107, which means that the Q parameters Q100 to Q107 can be overwritten by the PLC.
The numerical value is registered in double word D528 and the Q parameter numbers 0 to 7 are
defined in W516. Transfer is activated with the strobe marker M4131. The Q parameter values are
taken over with the next M/S/T strobe.
Set Reset
M4131 Activate Q-parameter transfer to the NC
Data from D528; Q-no. from W516 PLC NC
D528 Doubleword with multiple-function. Here: data from
transfer from the PLC to the NC (Q-no. from W516,
strobe marker M4131) PLC PLC
W516 Q nos. 0 to 7 with numerical transfer from PLC to NC
(Transfer of the value from D528, strobe marker M4131) PLC PLC
Example:
Start of Timer 1
Period in MP4110.1 = 9 (PLC cycles)
T1
T49
Constraints:
If during a PLC scan a timer T0 to T47 is set in the PLC program and the same timer is activated
through Module 9006, then the direct activation through T0 to T47 has priority regardless of
whether the module is called before or after setting T0 to T47.
The corresponding timer from T48 to T96 is set immediately after the module is called. T0 to T47
is not set.
The cycle time is transferred with the unit of measure millisecond [ms].
The effective cycle time is rounded upward to whole-number PLC cycle times.
The PLC scan can be interrupted by resetting the timers T48 to T95.
Call:
PS B/W/D/K <Timer no.>
Input value: 0 to 47
PS B/W/D/K <Cycle time>
Input value: 0 to 1 000 000 ms
CM 9006
5.2.7 Counters
Thirty-two counters are available in the PLC. Each of these 32 counters is controlled by special
markers with the abbreviation symbol C. After setting a marker from the range C0 to C31 the
counter is loaded with the value from machine parameter MP4120.X. The marker range C48 to C79
indicates whether the count has been completed or not. The marker range C96 to C127 is used to
start the counter (counter release pulse).
C1
C49
C97
Set Reset
W522 Activate the fast PLC inputs PLC PLC
Bit 2 Fast PLC input defined in MP4130.2
Bit 3 Fast PLC input defined in MP4130.3
Bit 4 Fast PLC input defined in MP4130.4
Bit 5 Fast PLC input defined in MP4130.5
Note: Changes in the SYS partition can impair the proper functioning of your system!
The PLC partition is most significant for the machine tool builder. The following is an example of a
meaningful directory structure for the PLC partition:
1) NC software 280 470 xx: TNC 900 megabytes, PLC 32 megabytes, SYS 64 megabytes
OEM.SYS
Code words for calling certain functions are registered in OEM.SYS. After the code word, and
separated by an equal sign "=", you enter the directory in which the files for these functions are to be
found, as well as the file names themselves. Most entries in OEM.SYS must be made manually or
with Module 9271 (see below for exceptions). Module 9271 overwrites the contents of existing
code words and adds new code words at the end of the file. MPFILE and PLCMAIN cannot be
written with Module 9271. You can read the entries in OEM.SYS with Module 9270.
MGROUPS.SYS
The M functions to be output after a block scan are defined in the system files PLC:\MGROUPS.SYS
and PLC:\MSPLIT.SYS (see section "Returning the Contour).
MSPLIT.SYS
M functions that affect several groups are resolved into partial functions in the file MSPLIT.SYS (see
section "Returning to the Contour").
PLCSOFTK.SYS
Path for the file names of the PLC soft-key graphics (see section "PLC Soft Keys").
CYCLE.SYS
Definition of the soft-key structure if OEM cycles were integrated. This file is created automatically
by the PC software CycleDesign (see OEMCYC directory).
NCMACRO.SYS
Name of the NC macro for tool and pallet change.
TC= <program name of the tool change program>
PALETT= < program name of the pallet change program >
Example for entry: TC =PLC:\NC_MACRO\TOOLCALL.H
For a detailed description of the editor including the associated soft keys see the User's Manual for
the control.
A I 28 ;Comment
Operand
The operation describes the function 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 execution are possible. In word execution it is possible to address
memory contents with a length of 8 bits (byte), 16 bits (word) or 32 bits (doubleword).
The control can recognize an input error immediately upon entry and respond by displaying an error
message. Refer to the Appendix for a list of these error messages.
For debug purposes you can interrogate the contents of the processing stack using Module 9019.
This function indicates the number of bytes that are currently present in the processing stack of the
PLC. If the stack is empty, the value zero is sent. One byte, word or doubleword occupies four bytes
in the stack, one marker, input, output, timer or counter occupies two bytes.
Syntax:
>Group.Name
Name of the entry
Group name (NCPATH or OEM)
Identifier for logical name
Example:
>NCPATH.NCEDIT Transfers the complete name and path of the file which is currently
selected in the editing mode.
>OEM.PLCMAIN Transfers the complete name and path of the PLC program that was
entered in the file OEM.SYS with the command PLCMAIN.
The following is an example for the definition of a general symbol name, in which individual concepts
are separated by an underline "_":
MG_Active_PWM_axis
Separators
Operand type
Inputs: M, B, W, D, K
Special cases:
Interface operands PLC-NC or NC-PLC, inputs and outputs, timers and counters, and positive and
negative edge markers are always global and are therefore not indicated as such.
Example: NP_M2008_X_InPos
I_release_tool
TS_5_clamp_unclmp
CS_RS_Err_ReStart
1 #type
2
3 *+----------------------------------------------------+
4 * Spindle
5 *+----------------------------------------------------+
6
M4000 7 NP_M4000_S_in_position M4000
M4001 8 NP_M4001_S_analog_not_in_ramp M4001
M4002 9 NP_M4002_S_analog_0_V M4002
10
M4005 11 PN_M4005_S_M03_analog_volt_status M4005
M4006 12 PN_M4006_S_M04_analog_volt_status M4006
M4007 13 PN_M4007_S_M05_0V_status M4007
M4012 14 PN_M4012_S_close_loop_open M4012
15
16 *+----------------------------------------------------+
17 * Strobe signals from NC to PLC
18 *+----------------------------------------------------+
19
M4070 20 NP_M4070_strobe_G_code M4070
M4071 21 NP_M4071_strobe_S_code M4071
M4072 22 NP_M4072_strobe_M_function M4072
23
24 *+----------------------------------------------------+
25 * Quit NC strobe signals
24 #define /g Config.Def
1
2 *+---------------------------------------------------+
3 * Configuartion file for this PLC program
4 *+---------------------------------------------------+
5
6 * Read MP MP2000 or MP120
7 * for NC-SW 280470 xx or 280472 yy
K280472 8 #define MP_Read_NC_SW 280472
9
K0 10 #define First_PL 0 * PL boards
11
K0 12 #define NC_Type_PA 0 * Control_type_CA_PA
13
K5 14 #define Max_NC_Axis 5 * NC-axis without spindle
15
K255 16 #define Motor_Temp_1 255 * supervison motor temperatur
axis 1
K255 17 #define Motor_Temp_2 255 * supervison motor temperatur
axis 2
K255 18 #define Motor_Temp_3 255 * supervison motor temperatur
axis 3
K255 19 #define Motor_Temp_4 255 * supervison motor temperatur
axis 4
K255 20 #define Motor_Temp_5 255 * supervison motor temperatur
axis 5
K255 21 #define Motor_Temp_S 255 * supervison motor temperatur
axis S
25
26 *+----------------------------------------------------+
27 * List of include files
28 *+----------------------------------------------------+
29
30 #if MP_Read_NC_SW = 280470
31 USES Initi470.Src
32 #else
1 USES PLC:\EXAMPLE\IN 33 USES Initi472.Src
34 #endif
2 EXTERN INITIALIZATIO 35 EXTERN initialization
36
3 USES PLC:\EXAMPLE\M_ 37 USES M_Funct.Src
4 EXTERN M_FUNCTION 38 EXTERN M_Function
39
5 USES PLC:\EXAMPLE\RE 40 USES Ref_Endl.Src
6 EXTERN REFERENCE_END 41 EXTERN reference_endswitch
42
7 USES PLC:\EXAMPLE\DI 43 USES DircBut.Src
8 EXTERN MANUEL_BUTTON 44 EXTERN Manuel_button_funcktion
45
9 USES PLC:\EXAMPLE\AX 46 USES Axis.Src
10 EXTERN NC_AXIS 47 EXTERN NC_Axis
48
11 USES PLC:\EXAMPLE\SP 49 USES Spindle.Src
12 EXTERN SPINDLE_FUNCT 50 EXTERN spindle_function
51
13 USES PLC:\EXAMPLE\GE 52 USES Gear.Src
14 EXTERN GEAR_CHANGING 53 EXTERN Gear_Changing
54
15 USES PLC:\EXAMPLE\HE 55 USES HelpDiag.Src
16 EXTERN AXIS_SUPERVIS 56 EXTERN Axis_Supervision
57
17 USES PLC:\EXAMPLE\SO 58 Uses Softkeys.Src
18 EXTERN PLC_SOFT_KEYS 59 Extern PLC_Soft_keys
60
M_FUNK_TAB : 21 LBL 15
14
ML_1_SERVO_ENABLE_AXIS : 15 M3977
L:178
ML_2_SERVO_ENABLE_AXIS : 16 M3978
L:180
ML_3_SERVO_ENABLE_AXIS : 17 M3979
L:182
ML_4_SERVO_ENABLE_AXIS : 18 M3980
L:184
ML_5_SERVO_ENABLE_AXIS : 19 M3981
L:186
ML_CLAMPING_1_AXIS : 22 M3972
L:188
ML_CLAMPING_2_AXIS : 23 M3973
L:190
ML_CLAMPING_3_AXIS : 24 M3974
L:192
ML_CLAMPING_4_AXIS : 25 M3975
L:194
ML_CLAMPING_5_AXIS : 26 M3976
L:196
WL_AXIS_MASK : 12 W2048
=:4 L:27 =:29 O:60 O:63 O:66 O:69
AN:75 A:79 A:88 O:96 AN:116 AN:120 AN:123
AN:126 A:133 O:158 O:161 AN:167
________________________________Static Symbols _______________________________
BL_AXIS_STEP : 11 B4052
=:13 CASE:15 INCW:82 INCW:91 INCW:100 INCW:109 INCW:128
1
2 *+----------------------------------------------------+
3 * Spindle function
4 *+----------------------------------------------------+
5
1 GLOBAL SPINDLE_FUNCT 6 GLOBAL spindle_function
7
M3971 8 #define /s ML_spi_pos_start M
M3970 9 #define /s ML_servo_activ_poweron M
10
2 LBL SPINDLE_FUNCTION 11 LBL spindle_function
3 L M3994 12 L MG_spi_Pos_M19_R_M0X
4 AN M3971 13 AN ML_spi_pos_start
5 CMT M19_START_SPI_PO 14 CMT M19_start_spi_pos
6 S M3971 15 S ML_spi_pos_start
16
7 LN M3994 17 LN MG_spi_Pos_M19_R_M0X
8 A M4000 18 A NP_M4000_S_in_position
9 R M3971 19 R ML_spi_pos_start
20
10 L M3997 21 L MG_spindle_on_M03
11 S M4005 22 S PN_M4005_S_M03_analog_volt_status
12 R M4006 23 R PN_M4006_S_M04_analog_volt_status
24
13 L M3996 25 L MG_spindle_on_M04
14 R M4005 26 R PN_M4005_S_M03_analog_volt_status
15 S M4006 27 S PN_M4006_S_M04_analog_volt_status
28
16 L M3994 29 L MG_spi_Pos_M19_R_M0X
17 O M3995 30 O MG_spindle_off_M05
18 O M3993 31 O MG_T_I_N_supervision
19 ON I3 32 ON I_not_emergency_stop
20 R M4005 33 R PN_M4005_S_M03_analog_volt_status
21 R M4006 34 R PN_M4006_S_M04_analog_volt_status
35
22 LN M4005 36 LN PN_M4005_S_M03_analog_volt_status
23 AN M4006 37 AN PN_M4006_S_M04_analog_volt_status
24 = M4007 38 = PN_M4007_S_M05_0V_status
39
25 L M4012 40 L PN_M4012_S_close_loop_open
26 R M4012 41 R PN_M4012_S_close_loop_open
42
27 L M3995 43 L MG_spindle_off_M05
28 O M3993 44 O MG_T_I_N_supervision
29 O M4005 45 O PN_M4005_S_M03_analog_volt_status
30 O M4006 46 O PN_M4006_S_M04_analog_volt_status
31 S M4012 47 S PN_M4012_S_close_loop_open
48
32 L M4002 49 L NP_M4002_S_analog_0_V
33 S M3970 50 S ML_servo_activ_poweron
34 L M4005 51 L PN_M4005_S_M03_analog_volt_status
35 O M4006 52 O PN_M4006_S_M04_analog_volt_status
36 ON M4002 53 ON NP_M4002_S_analog_0_V
37 O M4130 54 O PN_M4130_Strobe_PLC_pos_spindle
38 A M3970 55 A ML_servo_activ_poweron
39 S O15 56 S O_Spindle_servo_enable
57
40 L M3995 58 L MG_spindle_off_M05
41 O M3993 59 O MG_T_I_N_supervision
42 ON I3 60 ON I_not_emergency_stop
43 ON I129 61 ON I_servo_ready_1
44 ON I144 62 ON I_servo_ready_2
45 R O15 63 R O_Spindle_servo_enable
64
46 LN M4072 65 LN NP_M4072_strobe_M_function
47 = T7 66 = TS_M_func_delay
67
48 L M4072 68 L NP_M4072_strobe_M_function
49 A M4001 69 A NP_M4001_S_analog_not_in_ramp
50 AN M4130 70 AN PN_M4130_Strobe_PLC_pos_spindle
51 AN T7 71 AN TS_M_func_delay
52 AN T55 72 AN TR_M_func_delay
53 AN M4805 73 AN PN_error_not_used_M_function
54 = M4092 74 = PN_M4092_quit_M_function
55 EM 75 EM
76
K0 77 #define KL_angle_spindle_pos K+0
K100000 78 #define KL_RPM_spindle_pos K+100000
ACTIVATION : 63 LBL 30
33
END : 130 LBL 34
37
GEAR_RANGE_1 : 92 LBL 36
87
GEAR_RANGE_SWITC : 77 LBL 32
35
GEAR_RANGFE_2 : 103 LBL 37
88
QUIT : 114 LBL 33
36
RESET : 132 LBL 35
60
SPINDLE_ZERO : 70 LBL 31
34
1
1 GLOBAL AXIS_SUPERVIS 2 GLOBAL Axis_Supervision
3
4 *+----------------------------------------------------+
5 * Supervison of the drives by the TNC 430
6 *+----------------------------------------------------+
7
2 LBL AXIS_SUPERVISION 8 LBL Axis_Supervision
3 CM 9160 9 CM 9160
4 L M4203 10 L NP_M4203_error_Modul_9xxx
5 S M4810 11 S PN_error_modul_9xxx_Supervision
6 PLW 12 PLW
7 <> K0 13 <> K+0
8 S M4808 14 S PN_error_Temp_powersupply
9 PLW 15 PLW
10 PSW 16 PSW
11 A K$FFFF 17 A K$0000FFFF
12 <> K0 18 <> K+0
13 S M4809 19 S PN_error_I2T_caution
14 PLW 20 PLW
15 A K$FFFF0000 21 A K$FFFF0000
16 <> K0 22 <> K+0
17 S M4813 23 S PN_error_I2T_limitation
24
18 CM 9162 25 CM 9162
19 L M4203 26 L NP_M4203_error_Modul_9xxx
20 S M4810 27 S PN_error_modul_9xxx_Supervision
21 LN W4084 28 LN WG_servo_enable_internal_servo
22 B= T8 29 B= TS_1_servo_supervison
23 L W4084 30 L WG_servo_enable_internal_servo
24 AN[ 31 AN[
25 PLW 32 PLW
26 ] 33 ]
27 AN[ 34 AN[
28 LB T56 35 LB TR_1_servo_supervison
29 ] 36 ]
30 <> K0 37 <> K+0
31 S M4807 38 S PN_error_servo_activ
39
32 L K0 40 L K+0
33 =X 41 =X
34 REPEAT 42 REPEAT
35 L M3984 43 L MG_active_PWM_axis
36 IFT 44 IFT
37 PS KF AXIS_BIT_CODE[ 45 PS KF Axis_Bit_Code[X]
38 CM 9165 46 CM 9165
39 PLW 47 PLW
40 >= W4068[X] 48 >= WG_motor_temp[X]
41 S M4812 49 S PN_error_motor_temp
50
42 L M4203 51 L NP_M4203_error_Modul_9xxx
43 S M4810 52 S PN_error_modul_9xxx_Supervision
53
44 PS KF AXIS_BIT_CODE[ 54 PS KF Axis_Bit_Code[X]
3 *+--------------------------------------------------------------
-
4 * Macros for the error messages
5 *
6 *+-------------------------------------------- ----------------
-+
7
8
9 #define /m M_Error_display(No) \
10 IFT \
11 PS (No) \
12 CM 9085 \
13 ENDI
14
15 #define /m M_Modul_Error_display(No) \
16 L NP_M4203_error_Modul_9xxx \
17 IFT \
18 PS (No) \
19 CM 9085 \
20 ENDI
21
17
KL_ASCII_KEY : 12 K83
==:18
KL_EMPTY : 11 K0
KF:61 KF:64 KF:68
KL_MASK_1_ON : 8 K3
I_NOT_EMERGENCY_STOP GLB_IO.DEF : 10 I3
AXIS.SRC LN:8 ON:137
SPINDLE.SRC ON:19 ON:42
GEAR.SRC ON:41
I_REF_ENDSWITCH_1_AXIS GLB_IO.DEF : 7 I0
REF_ENDL.SRC L:3
I_REF_ENDSWITCH_2_AXIS GLB_IO.DEF : 8 I1
REF_ENDL.SRC L:5
I_REF_ENDSWITCH_3_AXIS GLB_IO.DEF : 9 I2
REF_ENDL.SRC L:7
I_REF_ENDSWITCH_4_AXIS GLB_IO.DEF : 11 I4
REF_ENDL.SRC L:9
I_REF_ENDSWITCH_5_AXIS GLB_IO.DEF : 12 I6
REF_ENDL.SRC L:11
I_SERVO_READY_1 GLB_IO.DEF : 28 I129
AXIS.SRC ON:9 ON:138
SPINDLE.SRC ON:43
I_SERVO_READY_2 GLB_IO.DEF : 29 I144
AXIS.SRC ON:10 ON:139
SPINDLE.SRC ON:44
AXIS.SRC O:140
SPINDLE.SRC O:18 O:28 O:41
HELPDIAG.SRC =:61
O_1_CLAMPING GLB_IO.DEF : 48 O7
AXIS.SRC =:189
O_2_AXIS_ENABLE GLB_IO.DEF : 43 O1
AXIS.SRC =:181
________________________________Global Symbols _______________________________
O_2_CLAMPING GLB_IO.DEF : 49 O8
AXIS.SRC =:191
O_3_AXIS_ENABLE GLB_IO.DEF : 44 O2
AXIS.SRC =:183
O_3_CLAMPING GLB_IO.DEF : 50 O9
AXIS.SRC =:193
O_4_AXIS_ENABLE GLB_IO.DEF : 45 O3
AXIS.SRC =:185
O_4_CLAMPING GLB_IO.DEF : 51 O10
AXIS.SRC =:195
O_5_AXIS_ENABLE GLB_IO.DEF : 46 O4
AXIS.SRC =:187
O_5_CLAMPING GLB_IO.DEF : 52 O11
AXIS.SRC =:197
TS_2_CLAMPING GLB_TCMB.DEF : 90 T1
- not used -
TS_2_SERVO_SUPERVISON GLB_TCMB.DEF : 102 T9
- not used -
TS_3_CLAMPING GLB_TCMB.DEF : 92 T2
- not used -
TS_3_SERVO_SUPERVISON GLB_TCMB.DEF : 104 T10
- not used -
TS_4_CLAMPING GLB_TCMB.DEF : 94 T3
- not used -
TS_4_SERVO_SUPERVISON GLB_TCMB.DEF : 106 T11
- not used -
TS_5_CLAMPING GLB_TCMB.DEF : 96 T4
- not used -
TS_5_SERVO_SUPERVISON GLB_TCMB.DEF : 108 T12
- not used -
TS_6_SERVO_SUPERVISON GLB_TCMB.DEF : 110 T13
- not used -
TS_7_SERVO_SUPERVISON GLB_TCMB.DEF : 112 T14
- not used -
TS_8_SERVO_SUPERVISON GLB_TCMB.DEF : 114 T15
- not used -
TS_GEAR_TIMEOUT GLB_TCMB.DEF : 117 T20
GEAR.SRC =:16 AN:34
TS_M_FUNC_DELAY GLB_TCMB.DEF : 98 T7
SPINDLE.SRC =:47 AN:51
WG_ACTIVE_PWM_AXIS GLB_TCMB.DEF : 44 W4082
INITI472.SRC =:92 L:95 =:98
AXIS.SRC A:50
Used Files:
File Class Date
MAIN_PGM.SRC Module 14.11.97
GLB_TCMB.DEF Define 14.11.97
GLB_IO.DEF Define 14.11.97
GLB_NC.DEF Define 14.11.97
CONFIG.DEF Define 14.11.97
INITI472.SRC Module 14.11.97
M_FUNCT.SRC Module 14.11.97
REF_ENDL.SRC Module 14.11.97
DIRCBUT.SRC Module 14.11.97
AXIS.SRC Module 14.11.97
SPINDLE.SRC Module 14.11.97
GEAR.SRC Module 14.11.97
HELPDIAG.SRC Module 14.11.97
SOFTKEYS.SRC Module 14.11.97
MAC_LIB.DEF Include 14.11.97
MASKEN.SRC Include 14.11.97
Compiler Memory Assignment:
Range Max.Local/in File Global/Static used
Marker (remanent) : 200- 999 - 990- 999
Marker (nonrem. ) : 3200-3999 3200-3215 REF_ENDL.SRC 3969-3999
Byte (remanent) : 4- 127 - 120- 127
Byte (nonrem. ) : 2048-4095 2048-2051 AXIS.SRC 4052-4095
PL,PS B B - -
PLL,PLW,PSL,PSW,PSX,PLX - - - A
A[ .. XON[ - - - A
] for these commands - - - A
+[,-[,X[, - - - A
] for these commands - - - A
/[,MOD[ - - - A
] for these commands - - - B
==[ .. <>[ - - - A
] for these commands - - - A
LBL - - - 0
JP,JPT,JPF - - - A
Modules
Execution times for modules that run as a submit job:
These modules communicate with other parts of the control software (e.g. screen display, file
system). This results in unavoidable waiting times and response times that make it impossible to
specify the execution times. They must therefore be determined empirically. Some factors that
influence response times are:
CPU load from processing an NC program
Load on the file system, for example from copying
Load of the CPU and the video system, e.g. due to a PLC window
The execution time are even longer for certain comprehensive modules:
Numbers Function Time
9002 Read 64 inputs from a PL 450 s
9005 Write to 32 outputs of a PL 280 s
9004 Generate edge markers (e.g. 100 pieces) 150 s
9003 Read analog input of a PL 150 s
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.
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.
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
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.
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.
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.
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.
Operation:
ASSIGN in conjunction with the Word Operands (B, W, D) copies the contents of the Word
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:
A Constant and the contents of Byte B5 are to be gated with UND and the result assigned to Bytes
B8 and B10.
Initial state: Byte B5 = 2A (hex)
Constant 54 = 36 (hex)
Byte B8 = ?
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 = B8 ... 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 00110110
3 A B5 ... 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 00101010
4 = B8 ... 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 01010000
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. For an example, see ASSIGN
command (=)
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
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, 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
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
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. A logic chain, however, 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
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. A logic chain, however, 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
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. A logic chain, however, 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
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
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. A logic chain, however, 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
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. A logic chain, however, 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 first 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 first 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 M4200 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 M4201 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 M4202 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.
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
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
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
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
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
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
Operands: none
Operands: none
5.6.39 OR [ ] (O[ ])
Abbreviation for PLC Editor: O[ ] (OR [ ])
Operands: none
Operands: none
Operands: none
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 pairs of 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
Programm-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.
Note:
The functional sequence is in principle the same for word execution, with the exception that the
whole Accumulator is written onto the Stack.
Operands: none
5.6.44 SUBTRACT [ ] ([ ])
Abbreviation for PLC Editor: [ ] (MINUS [ ])
Operands: none
Operands: none
Operands: none
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
ZeileInstruction
Line AWL Akku-InhaltContent
Accumulator Operanden-Inhalt
Operand Content
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
Programmstack:
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.
Operands: none
Operands: none
Operands: none
Operands: none
Operands: none
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, because 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
Programm-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.
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 zeros.
Example:
The content of the Doubleword D8 is to be shifted four times to the left and then assigned to D12.
The Accumulator content is shown here in binary notation, and the operand content in hexadecimal
notation.
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.
Operands: B, W, D, K, X
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
Operands: B, W, D, K, X
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
Operands: B, W, D, K, X
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 organized 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 organized 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.
Zeile Instruction
Line AWL Akku-Inhalt
Accumulator Contents
.
.
49 . 1 A 4 4 3 E 1 8
50 PSW 1 A 4 4 3 E 1 8
52 CM 15
54 PLW 1 A 4 4 3 E 1 8
55 .
.
.
Daten-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]
If the address space is overshot the error message PLC: index range incorrect 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
Caution: When addressing S#Dn[X] and S#En[X] the sequence <SUB>Dnnn or <SUB>Ennn is
loaded in the string accumulator, with nnn as the modified string number!
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"
5146 TNC 426 B, TNC 430 Commands for STRING Execution November 97
Text from the PLC-Error Message files and/or from the PLC-dialog files: Text from the active
error message or dialog files may be read by the input of the line number.
PLC ERROR: S#Exx xx: Line number from the PLC error message file (0 to 999)
PLC DIALOG: S#Dxx xx: Line number from the PLC dialog file (0 to 4095)
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 dialog file is read for display on the screen.
ASCII character entered in string. The ASCII character is defined by its code S#Axxx.
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.
November 97 Commands for STRING Execution TNC 426 B, TNC 430 5147
5.8.4 Overwriting of a STRING (OVWR)
Abbreviation for PLC Editor: OVWR (OVERWRITE)
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
5148 TNC 426 B, TNC 430 Commands for STRING Execution November 97
5.8.5 Logical Comparisons in STRING Execution
Two STRINGS are compared according to the argument as follows:
If STRING memory or Immediate STRING are entered in the command, both STRINGS are compared
character for character. The Logic Accumulator is reset after the first character for which the comparison
conditions are not fulfilled. The remaining characters are checked no further. For the purposes of
comparison, the number of the character in the ASCII table is always used. This results in, for example:
A < B
AA > A
If PLC-Error messages or PLC-Dialog 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.
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.
November 97 Commands for STRING Execution TNC 426 B, TNC 430 5149
5.8.9 LESS THAN OR EQUAL TO (<=)
Abbreviation for PLC Editor: <= (LESS EQUAL)
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.
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.
5150 TNC 426 B, TNC 430 Commands for STRING Execution November 97
Example of STRING execution:
An Immediate STRING is to be compared with the content of the STRING-Memory S0. Depending
on the comparison result, Module 50 is called.
1 128
S0 S P I N D L E 2
S1
2 <> S0 S P I N D L E 2
November 97 Commands for STRING Execution TNC 426 B, TNC 430 5151
5.8.12 Modules for String Execution
Copying a number from a string (Module 9070)
The source string in the string buffer with the given source string number is searched for a
numerical value. The first numerical value found is copied into the string designated by the
destination string number.
If any conflict between the source string and destination string is not examined, the source
string may be overwritten. (Even if this occurs, the proper function of the module is ensured.)
Numbers with and without algebraic signs are both recognized. Decimal characters can be either a
point or comma. The distance (in characters) of the first character after the number found in the
source string is sent back.
Possible errors:
The numbers of the source or destination string are outside of the permissible range (0..3).
There is no number in the source string.
The source string was searched and no end was found.
The numerical string has a length of more than 79 characters, which leads to an internal overflow.
Call:
PS K/B/W/D <Number of the source string>
PS K/B/W/D <Number of the destination string>
CM 9070
PL B/W/D <Offset end of number string in the source string >
Example:
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 lies outside of the permissible range (0..3)
The source string was searched, but no end ( <NUL> ) was found.
Call:
PS K/B/W/D <Number of the source string>
CM 9071
PL B/W/D <Length of the string>
5152 TNC 426 B, TNC 430 Commands for STRING Execution November 97
5.9 Submit Programs
Submit programs are subprograms which the PLC submits to the NC for processing. This allows
tasks to be performed which are very processor-intensive, require program loops, or must wait for
external results. It is assumed, however, that these programs are not bound by a particular time
frame. Depending on processor loading, each Submit program is allocated a certain computing
power, but always at least 5% of the total power. Submit programs are started from the PLC
program and can access all the same data memories (M/B/W/D) as can the main program. This can
lead to problems in certain circumstances. Such problems can be avoided if the data processed by
the PLC program are clearly separated from the data processed by the Submit program.
Up to eight Submit programs can be entered in a queue (Submit Queue). Each receives an
"Identifier," a number between 1 and 255 assigned by the NC, which is transferred into the Word
Accumulator. With this Identifier and the REPLY function, you can inquire whether or not the
program is in the queue, is being processed, or is already complete. The Submit programs are
executed in the order of their placement in the queue. Should an error occur during the execution of
the Submit programs, the following Markers are set:
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
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 or Word 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
Operation:
With the CAN command the Submit-Program with the specified Identifier is canceled during
execution or removed from the queue. This Identifier must already be stored in a Byte or Word 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 canceled 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.
List of events
In the file OEM.SYS enter the complete name for the ASCII file containing your list of events using
the command PLCEVENTS=.
The entries in the events file must have the following syntax:
<job name> ; <condition> ; <event> [;comment ]
<job name> This name is identical with the jump label in the SPAWN command. Only the first
16 characters are taken into consideration.
<condition> Logical expression in accordance with C language convention, identical with the
syntax used in function FN20:
Operand:
M/I/O/T/C/B/W/D with a permissible number for this type
Condition: == equal to
!= or <> not equal to
< less than
> greater than
<= less than or equal to
>= greater than or equal to
If you do not enter any condition, the condition = 0 will be tested .
<event mask> Hexadecimal coded mask of events that are triggered if the condition is met.
The limits defined in Module 9260 are valid for bits 16 to 31.
Example:
Entry in OEM.SYS:
PLCEVENTS=PLC:\EXAMPLE.PEV
Contents of file PLC:\EXAMPLE.PEV:
JOB_1;I5==1;$0010 ; Event $0010 to process JOB_1, if I5==1
JOB_1;B20==5;$0004 ; Event $0004 to process JOB_1, if B20==5
AUXJOB;W6<10;$0100 ; Event $0100 to process AUXJOB, if W6<10
An event is triggered if a particular condition is met after one run of the cyclic PLC program, and if
this condition was not met after the previous run of the cyclic PLC program (edge formation). The
number of events that can be triggered at the same time is limited to 15.
When a PLC process is generated (with the SPAWN command), the events file is searched
for entries for this process. All of the entries found are transferred to a list which is executed after
each run of the cyclic PLC program. If a PLC process ends itself, or if is ended through a recompiling
of the PLC program, the entries are deleted from the list and are once again available.
Process monitor
The PROCESS MONITOR soft key is available in the PLC programming operating mode. This soft
key opens a screen showing all of the parallel processes as well as the process for the submit
queue. The current status (ready to run, running, waiting for event) of each process is shown in one
second intervals. You can also see how many context changes were carried out by each process in
the previous second, and how much CPU time it used. The distribution of the CPU time is shown in
a bar chart.
This module can be called up in the cyclical program section, in submit jobs and in the SPAWN
processes. The identifier indicates the destination address. This identifier is then sent back with the
SPAWN command. The submit queue is addressed with the identifier $80000000 (and not with the
identifier sent back with the SUBM command!).
The events that are sent to the submit queue are always assigned to the job that is running
at the time of arrival. If they are not read by this job, they are kept for the next job.
If the receiver process is also to start immediately, Module 9262 must be called immediately after
Module 9261 so that a context change will be triggered.
The event bits 16 to 31 are reserved for the operating system (see Module 9260).
Call:
PS D/K <Identifier> Identifier from SPAWN command of the receiver
K$80000000 = submit queue
PS B/W/D/K <Events> Events bit-coded
CM 9261
Error recognition: M4203 = 0: Events were sent
M4203 = 1: Error code in W1022
W1022 = 2: Incorrect identifier
Types of addressing:
L KF <Name> [X]: (X 0): The value of the constant defined by X from the Constants Field
<Name>is transferred.
L KF <Name> [X]: (X = 1): The length of the Constants Field <Name> is transferred.
L KF <Name>: The absolute address of the Constants Field <Name> is transferred. This is
only worthwhile in conjunction with modules (e.g. module 9200). This type of
addressing can also be used within a Constants Field.
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>.
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
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
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
The USES command links another file to the program. The GLOBAL command supplies a jump label
from its own file as an entry that can be used by all other files. The EXTERN command supplies a
jump label defined in another file where it is declared as GLOBAL for use in its own file.
Splitting the source code up into a number of files helps improve clarity and overview by swapping
out individual function groups.
In all, up to 60 files can be linked to form a program. Each file can generate up to 64 KB of code. The
total potential length of the code is limited to 128 KB.
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.
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.
USES PLCMOD1 ;
USES EPRUPG ;
USES RAMPLC ;
Example of file linking:
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.
The commands CM, CMT and CMF can then jump to this label in the program code.
The instructions JP, JPT, JPF, access to a Constants Field and linking with CM to a CASE Branch are
not possible with external jump labels.
The name of the jump label cannot be assigned again in this file for a local jump label. Every external
jump label reduces the number of available local jump labels.
Syntax:
EXTERN Jump label ;the "Jump Label" Module can now be called from another file
with the CM instruction.
You will find a description of these modules in the corresponding function descripions. There is a list
of all available modules in the chapter entitled "List of PLC Modules."
Improper execution of a module sets Marker 4203. This marker can then be used to evaluate an
error message.
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:
PS B/W/D/K <Number 1st marker source block>
PS B/W/D/K <Number 1st marker destination block>
PS B/W/D/K <Length of block in markers>
CM 9000 Transfer in marker range
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
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:
PS B/W/D/K < Number of byte to be written > (Address)
PS B/W/D/K <byte to be written>
CM 9020 write byte (value)
or
or
B10 35 ..
.
120 PS B10
PS B100
B35 120 35
CM9020
..
.
B100 120
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:
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:
PS K/B/W/D <Numerical value to >
PS K/B/W/D <display mode (bit coded)>
Bit #3: Display with sign
Bit #2: Display converted to INCH
Bit #1/#0: Format
00: Sign and number left-justified
1: Sign left-justified, number right-justified
10: Sign and number right-justified
11: Not permitted
PS K/B/W/D <Number of places after the decimal point>
PS K/B/W/D <Number of places before the decimal point>
PS K/B/W/D <Target address in string buffer>
CM 9051
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:
PS K/B/W/D <Number of the source string>
CM 9052
PL B/W/D <Numerical value>
PL B/W/D <Exponent 10Exx)
Possible errors:
The address for the source block is outside the range 0 to 4095.
The number of the destination string is outside the valid range (0 to 3).
The number of data bytes is too high (0 to 63).
Call:
PS K/B/W/D <Source address in Word-RAM>
PS K/B/W/D <Number of destination string>
PS K/B/W/D <Number of data bytes>
CM 9053
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 4095.
The source string contains characters that cannot be interpreted as hexadecimal values (different
characters 0 to 9, A to 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
Call:
Example:
S0 = Hex 63 6 3
B0 = 99 0110 0011
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.
Standard interfaces were developed in an effort to enable the extremely wide variety of
existing computers, controllers and peripherals to be connected to each other. Such standards
include the
RS-232-C/V.24 and RS-422/V.11 interfaces, which are described in detail later.
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 a 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
Sender Empfnger
Transmitter Receiver
Speicher Schnittstellen-Puffer Schnittstellen-Puffer Speicher
Memory Interface buffer Interface buffer Memory
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 that
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 certain 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, unless such devices have a large internal buffer
for incoming characters.
0 0 0 1 0 1 0 = 10 dec = 0A hex
MSB LSB
When the letter "z" is transmitted via a serial interface, the appropriate bits are sent one after the
other.
Successful data transmission requires the device concerned to interpret incoming data
correctly and, in particular, to recognize the start of a transmission. For this purpose, there is a
synchronization process that 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 an idle state,
transmission of a data word can begin at any time.
An idle state exists before switch-on and is returns 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 idle state, the receiver will not notice any difference from the idle
state.
A so-called "start bit" is used for this purpose: for the duration of a single bit, the transmitter
emits a logic value that clearly differs from the idle state and 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 added in order to detect transmission errors.
The parity bit is followed by one or two stop bits. These final stop bits ensure that the
receiver has enough time to recognize the transmitter again before the start of the next character.
Synchronization is repeated before each character and applies for one character frame.
Character frame
Quiescent
Idle state state Quiescent
Idle state state
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
No parity check:
Error detection is dispensed with.
Even parity:
The transmitter counts bits with a value of one. If the number is odd, the parity bit is set to one,
otherwise it is cleared to zero. 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:
Letter "z" 1111010 Parity bit: with even parity bit = 1
with odd parity bit = 0
bit
1 baud = 1
s
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: with a transmission format of one start bit, seven data bits, two stop bits and a data
transfer rate of exactly 300 baud:
300 baud
= 30 characters per second will be transmitted.
10 bits
Hardware handshaking
With this procedure, data transfer is controlled by electrical signals. Important information, such as
Clear To Send (CTS), Request To Send (RTS), "Start transmission" and "Stop transmission" is signaled
by the hardware.
For example, when a computer character is to be transmitted, the CTS signal line is checked
to see whether it is active (ON). If it is, the character is transmitted. Otherwise the computer will
delay transmission until the CTS line is switched to active.
Hardware handshaking requires as a minimum the two data lines TXD and RXD, the RTS
control line, the CTS signal line, and a ground connection.
Software Handshaking
With software handshake, control of data transfer is achieved by appropriate control characters
transmitted via the data line. One such handshake is the XON/XOFF method, which is in widespread
use with the RS-232-C/V.24 interface. The meaning XON is assigned to a control character DC1 and
the meaning XOFF to control character DC3. Before transmitting a character, the computer checks
whether the receiving unit is transmitting the XOFF character. If it is, it delays transmission until it
receives the character XON, indicating that the connected unit is ready to receive further characters.
Besides the ground line and the data lines TXD and RXD, no other lines are needed for
software handshaking.
6.2.1 General
The TNC features two data interfaces: one RS-232-C/V.24 and one RS-422/V.11 interface. Both
interfaces differ only in the design of their hardware (signal lines, signal levels and pin layout).The
data format and transmission protocol are the same for both interfaces.
You can connect the HEIDENHAIN FE 401 floppy disk unit and external devices with
appropriate data interfaces (computers, printers, readers, punches) 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.
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.
Physical connections:
Sender Empfnger
Transmitter Receiver
TxD RxD
RxD TxD
bertragungsstrecke
Transmission path
Data lines:
The data signals are defined as being logic one (MARK) over the range 3 V to 15 V and as logic
zero (SPACE) over the range +3 V to +15 V.
Control and signal lines:
These signals are defined as being ON (High) over the range +3 V to +15 V and as OFF (Low)
over the range from 3 V to 15 V.
For all of the signals, the voltage range from 3 V to +3 V is not defined as a logic level and can
therefore not be evaluated.
Signal Designations
The RS-232-C/V.24 interface distinguishes between the following types of lines.
Data lines:
TxD Transmitted data
RxD Received data
Control/signal lines:
DCD Data Carrier Detect): Received signal level. With the DCD signal the receiver indicates
that the information it has received lies within the defined level.
The DCD signal (pin 8) is not used by the TNC, i.e. the TNC
delivers no signal from pin 8.
DTR (Data Terminal Ready): This signal shows that the TNC is ready for service (e.g.
receiving buffer full DTR = Low).
DSR (Data Set Ready): Peripheral ready for service.
RTS (Request to Send): Switch transmission unit on. TNC wishes to transmit data.
CTS (Clear to Send): Readiness for transmission. The peripheral is ready to receive.
Hardware
The standard RS-422/V.11 works with differential voltages. The advantage of this method is that, on
the transmission path, electromagnetic interference acts simultaneously and with the same effect
on both signal lines. At the receiver only the difference in voltage of the two signal lines is evaluated
and therefore the electromagnetic 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
Signal levels
On an RS-422/V.11 interface, the signals are both transmitted and received as differential voltage. A
positive differential voltage corresponds to logic zero (OFF), and a negative differential voltage to
logic one (ON).
"0" "0"
OFF OFF
+ 0.2
+ 0.2
0.2
0.2
"1" "1"
ON ON
0.5
0.6
Signal designations
With an RS-422/V.11 interface, the following signals are transmitted as differential signals:
In addition, the protective ground connects the transmitter and receiver housings. The signal GND
represents the differential voltage reference conductor.
These signals perform the same functions as those on the RS-232-C/V.24 interface. The
transmission protocol is fully identical for the RS-232-C/V.24 and RS-422/V.11 interfaces.
Pin layouts
The TNC logic unit and adapter block have the same pin layout (see the chapter "Installation and
Electrical Connection").
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 file code and the letters NC.
Example:
If a pallet table is stored, it is given the file extension *.LNC.
For data transmission with the HEIDENHAIN software TNC Remote, the file code has no
significance. The files are saved on the PC with the same extension as on the TNC.
Files that have no code () can only be transmitted with LSV2 protocol (TNC Remote).
The PLC provides you with access to the data interfaces (EXT3).
Data bits
With bit 0 you determine whether transmission is to be with seven or eight data bits. Transmission
with seven bits is normally used, but in some cases, especially for printer interfacing, eight bits are
needed.
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 interpreted as a control character.
Hardware handshaking
Bit 2 can be set to determine whether the TNC stops transfer from an external device by sending an
RTS signal.
TNC EXT
Activate
+ +
RTS data output 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
The DTR and DSR signals from the TNC indicate the operational status of the TNC and peripheral
(these cannot be set via the machine parameters).
Software handshaking
With bit 3 you determine whether the TNC stops transfer from an external device with control
character <DC3>. Transfer is then resumed with character <DC1>.
If transfer is stopped with a character <DC3>, up to three more characters can be stored; any
further incoming characters are lost. Software handshake is normally recommended when
interfaces are connected to an external device.
The TNC reacts both to hardware and software handshakes, regardless of the setting in
MP5020.x.
If no transmission stop is set in MP5020.x, the TNC stops the peripheral unit with the software
handshake. If a transmission stop by both RTS and by DC3 is active, the TNC stops transfer with the
hardware handshake.
Character parity
Bits 4 and 5 determine the type of parity check.
Transmission protocol
For operating modes EXT1/EXT2/EXT3, MP5030 defines the transmission protocol.
In the "RS-232/RS-422 Setup" of the TNC, you must assign the EXT1 operating mode to the
RS-232 interface and set the baud rate to 9600.
FE1, FE2 Transmission with Block Check Character and with fixed control characters
(7 data bits, 1 start bit, 1 stop bit)
EXT1, EXT2, EXT3 Freely configurable operating modes: using machine parameters you can
select data format, transmission protocol and control characters.
LSV2 Two-way transfer for TNC diagnostics and remote operation conforms to
DIN 66019. This protocol always runs in the background of the TNC and can
be started from a PC or from the TNC.
Twelve characters before the receive buffer is full, the TNC transmits the character <DC3> to the
transmitter in order to terminate transmission.
.
.
.
12 Z+Z FMAX <CR> <LF>
Receive buffer fulll
<DC3>
Receive butter
ready again
<DC1>
The following section lists the transfer protocols for the various methods of data output and input.
The EXT 1 mode is set with software handshake.
<DC3>
<DC1>
.
.
.
Last line of file <CR> <LF>
If you read-in a file from a peripheral unit (e.g. a PC), you must enter the corresponding name in the
TNC.
<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 desired file name.
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.
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.
Header
When a file is transferred the first block the so-called Header is transmitted, consisting of the
following characters:
<SOH><K><Name><M><ETB><BCC><DC1>
where:
<SOH>: Start Of Header
<K>: File code
<Name>: File name
<M>: Data transfer mode (E = input, A = output)
<ETB>: End of Transmission Block Indicates end of header
<BCC>: Block Check Character
<DC1>. XON
In this example, program 15, which has been written in HEIDENHAIN dialog (H) is input (E) through
the data interface. A parity bit is also generated for the BCC (with even parity the BCC parity bit in
this example is assigned the significance 1).
If the header is acknowledged with <ACK>, the first file block can be transmitted: The beginning of
a file 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 <ACK>) the
transmission is terminated by the characters <ETX> (end of text) and <EOT> (end of transmission).
Handshaking
The character <DC1> (XON) follows the BCC. It is required by many devices to explicitly request an
answer and to provoke the transmission once again.
You can suppress transmission of the <DC1> character in the EXT1, EXT2 and EXT3 modes
by setting MP5020.x bit 3 = 0. The <DC1> character is not required for reading-in a file in the format
with BCC.
A software handshake is very easy to arrange when transmitting with BCC. The receiver transmits
at first neither a positive acknowledgment (<ACK>) nor a negative one (<NAK>), and the transmitter
waits to receive one of these characters. When the receiving device's receiving buffer is ready, it
transmits an <ACK> and its partner resumes transmission.
To read out 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>
<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.
<DC3><ESC><DC1><0><SP><D><CR><LF>
The TNC expects the following input to this request: The first four lines, each ending in <CR><LF>,
are ignored. In subsequent lines ending with <CR><LF>, only the program name and, after any
number of blank characters, the number of occupied sectors are stored.
xxxxxx<Name> <Sectors>xxxxxx<CR><LF>
If the character combination <FREE:> is detected, only a number (= number of free sectors) will be
read in. The TNC always requests the complete directory. It then saves the directory, but displays
only the files of the selected type.
The peripheral device ends transmission with <ETX>. In response the TNC sends an <EOT>.
<ACK>
.
. .
. .
.
<ACK>
. <STX> Last line of file <ETB> BCC <DC1>
.
.
<ACK>
<ETX> <EOT>
<ACK>
<STX> 1st line of file <ETB> BCC <DC1>
<ACK>
.
.
. .
.
.
<ACK>
<ETX>
<EOT>
Timeouts
If you choose not to use the standard times for timeouts, you must define your own times in the
system file OEM.SYS.
LSV2TIME0 = Timeout for receiving block STX to ETX (standard 3 s)
LSV2TIME1 = Timeout for acknowledging ENQ or check sum (standard 3 s)
LSV2TIME2 = Timeout when sending DLE 0, DLE 1 or NAK until a valid character is sent
(standard 1 s)
Input range: 0.001 to 3.600 [s]
If the code words are not defined or if the value range is exceeded, the standard values are used.
6.5.1 Settings
PLC modules make it possible for the PLC to transfer data via the RS-232-C/V.24 or RS-422/V.11
data interfaces. These modules, for example, permit communication between two logic units at PLC
level via the interface.
When data is transmitted by the PLC, use of the interface is inhibited for the input/output program of
the user interface. You select either a standard operating mode (FE1 or FE2) or you configure the
data interface with MP5020.x to MP5040 in EXT3 mode.
MP5040 Data transfer rate in operating mode EXT3 (data transfer via PLC)
Input: 0 = 110 baud 5 = 2400 baud 10 = 57 600 baud
1 = 150 baud 6 = 4800 baud 11 = 115 200 baud
2 = 300 baud 7 = 9600 baud
3 = 600 baud 8 = 19 200 baud
4 = 1200 baud 9 = 38 400 baud
.
B126 11111010 = $ FA
. 10000001 = $ 81
. .
.
.
.
Call:
PS B/W/D/K <Data type>
0: Binary data doubleword
1: String
PS B/W/D/K <Source address>
With binary: number of doubleword (0 to 1020)
With string: number of string (0 to 3)
CM 9110
PL B/W/D <Error code>
0: Message is being transmitted
1: No connection to host
2: Send buffer full
3: Wrong data type (not 0 or 1)
4: Wrong source address
Error recognition: M4203 = 0: Message was transmitted
M4203 = 1: Error code in W1022
W1022 = 2: Incorrect data type
W1022 = 4: No double word or incorrect string
W1022 = 11: String too long
W1022 = 13: No connection
W1022 = 15: Send buffer not empty
W1022 = 16: Receiving buffer empty
Call:
PS B/W/D/K <Data type>
0: Binary data doubleword
1: String
PS B/W/D/K <Target address>
For binary: number of doubleword (0 to 1020)
For string: number of string (0 to 3)
CM 9111
PL B/W/D <Error code>
0: Message was read
1: No connection to host
2: No message of this type in receive buffer
3: Wrong data type (not 0 or 1))
4: Wrong target address
Error recognition: M4203 = 0: Message was received
M4203 = 1: Error code in W1022
W1022 = 2: Incorrect data type
W1022 = 4: No double word or incorrect string
W1022 = 11: String too long
W1022 = 13: No connection
W1022 = 15: Send buffer not empty
W1022 = 16: Receiving buffer empty
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 or
faulty.
Transferred data incorrect X x = error code (see table)
Error codes:
E During data transfer with Block Check Character (BCC), a "Not Acknowledged" control
character (<NAK>) has been received 15 times in a row.
A to H The receiving unit has detected an error from one of the following causes:
except Different baud rates are 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> acknowledgment was not transmitted within a certain
time.
M During data transfer with Block Check Character (BCC), a "Not Acknowledged" control
character (<NAK>) has been transmitted 15 times in a row.
Error codes K and L are displayed only for transfer with the standard data transmission protocol.
FE 401
The TNC display the following error messages:
With an Ethernet interface you can connect your TNC to your facility's local area network and all its
PCs and workstations. The data transfer rate is highly dependent on the amount of traffic at the time
on the net.
Realistic values: NC program to 200 Kbits/s,
ASCII program to 1 Mbit/s
6.8.1 Hardware
The integrated Ethernet expansion card provides you with both the 10Base2 (BNC) port and the
10BaseT (twisted pair). You can use only one of the two ports. Both ports are metallically isolated
from the control electronics. For the pin layout, see the chapter "Mounting and Electrical Installation."
6.8.2 Software
In order for the TNC to be able to communicate with the remote station, the remote station must
work according to the TCP/IP protocol principle. It must also be a NFS server (Network File System).
ADDRESS Internet address of the TNC: Enter the address as four decimal
characters separated by points (dotted-decimal notation). Your network
supervisor can give you an internet address.
MASK Subnet mask: Enter as four decimal numbers separated by points (dotted-
decimal notation).
ROUTER Internet address of default router: Enter as four decimal
numbers separated by points (dotted-decimal notation). This entry is required
only if your network consists of several subnetworks interconnected by
router.
PROT Protocol (RFC / IEEE): You can choose one of two transmission
protocols for the Ethernet interface:
RFC 894 or IEEE 802.2/802.3.
HW Connection (10BASET / 10BASE2): Here you define which of the two
ports you wish to use for your network.
As of NC software 280 472 01:
HOST Host name: This is the name used by the TNC in the network. If you use a
host-name server, you must enter the Fully Qualified Host Name here. If you
leave this entry blank the TNC will use the so-called null authentication. If
you work with null identification, the entries under UID, GID, DCM and FCM
will be ignored.
Here you define the devices in the network that can be addressed from the TNC. For
each device you define a separate line in the table.
ADDRESS Internet address of server: Enter as four decimal numbers
separated by points (dotted-decimal notation). Your network supervisor can
give you the internet address.
RS Datagram size for input [byte]: An entry of zero means that the
optimum transfer size as indicated by the NFS server is used. Do not enter
any other input values unless you have encountered throughput problems.
Input range: 512 to 4096 bytes.
WS Datagram size for output [byte]: An entry of zero means that the
optimum transfer size as indicated by the NFS server is used. Do not enter
any other input values unless you have encountered throughput problems.
Input range: 512 to 4096 bytes.
TIMEOUT Timeout [ms]: A Remote Procedure Call that is not answered by the NFS
server is repeated after expiration of the time defined here. The standard
value is 0 = 700. Do not enter a higher value unless the datagrams are led
through several routers.
Define the name and address of the network printer. You can print directly from the
TNC on the printer defined here.
ADDRESS Internet address of printer: Enter as four decimal numbers
separated by points (dotted-decimal notation). Your network supervisor can
give you the internet address.
DEVICE TNC device name: The device name entered here is displayed on the
NAME TNC after the print soft keys have been activated.
PRINTER Printer name: Name of the printer for the printer server.
NAME
If a ping is sent, the receiver sends it back to the sender. Thus a ping can be used to
check whether a connection to a particular remote station is possible. The address is
input as four decimal values separated by points (dotted decimal notation).
After the ping has been sent, one of the following messages appears:
HOST RESPOND Data package was received again
TIMEOUT Data package was not sent back within a certain period of time
CAN NOT ROUTE TNC could not send data package to the receiver
The User's Manual for the TNC provides a comprehensive description of the HEIDENHAIN fixed
cycles.
7.2 CycleDesign
HEIDENHAIN offers a PC program called CycleDesign that enables you to add your own cycles,
help graphics, and soft keys to the HEIDENHAIN standard cycles. The CycleDesign software
includes all files from the HEIDENHAIN standard cycles, so that you can change the arrangement of
soft keys, remove cycles, reorganize cycle groups, and add cycles that you have developed yourself.
With its soft-key editor you can define you own soft-key contents. The help graphics for input
parameter illustration can be created with any commercially available graphics program (not
included), such as AutoSketch, that can export its files in DXF format. In machine parameter
MP7364.x you can define the colors in which the graphic will be displayed on the TNC.
Q parameter Effect
Q0 to Q59 Local
Q60 to Q99 Depends on MP7251
Q200 to Q299 Global
Because they are always local and can be changed within the program, Q parameters Q0 to Q59 are
used in HEIDENHAIN standard cycles for mathematical operations. We recommend this for your
OEM cycles as well.
Before the TNC 426 was introduced, OEM cycles were created directly at the TNC and then stored
in the PLC EPROM. Such OEM cycles, which have the program numbers 99999968 to 99999999,
are of limited use on the TNC 426, TNC 430.
In order to be able to run old NC programs in which these OEM cycles are called, you must
use CycleDesign to save the old OEM cycles on the TNC's hard disk. CycleDesign provides a
separate routine for this purpose. Such OEM cycles can be run on the TNC, but they cannot be
defined. To enable your old OEM cycles to be defined on the TNC you must use CycleDesign to
rewrite them in the new format.
74 TNC 426 B, TNC 430 Compatibility with Old OEM Cycles November 97
8 Appendix
Classification of errors
Each error message indicates the time at which the error was recognized:
E recognized during editing, the line is not formatted.
S recognized during syntax check in the PLC editor (soft-key compile).
(S) recognized, under some circumstances, during the syntax check, otherwise during the compiler run.
C recognized during the compiler run either after control switch-on or in the PLC programming mode.
R recognized during the run time of the PLC program.
0 ESC The line that was read cannot be interpreted as PLC command.
3 ESC Operand not found. A type was entered for the operand, but no value.
4 ESC Operand is outside of the permissible range. An operand number was entered that lies outside the value
range available for this operand.
5 ESC No limiter after the command. Additional characters found behind the PLC command cannot be
interpreted.
6 ESC End of line not found. The line is longer than 128 characters.
7 SC Label not defined. A reference was made to a label that is not defined elsewhere with LBL, KFIELD or
EXTERN.
8 SC No end of block found. At the end of the program file are PLC commands that are not concluded with an
EM or JP command. The danger therefore exists that at run time an undefined program area will be run.
9 SC Program too long (RAM overflow). The total length of the program code to be generated exceeds the
memory space available in the control.
11 SC Parentheses nested too deeply. An attempt was made to nest more than 16 parentheses.
12 SC Jump within a logic chain. An unconditional jump was programmed, although the assignment chain
previously begun was not yet assigned.
13 SC Closing parenthesis without opening parenthesis. A "close parenthesis" command was programmed
before writing the "open parenthesis" command.
14 SC Label within a parenthesis. A label was set within a parenthesis gate. This is not permitted because
"close parenthesis" commands cannot be executed before the corresponding "open parenthesis"
commands.
15 SC Label within a logic chain. A label has been programmed in a gate that has already begun. This is not
permitted because the first command after the label would have to be interpreted either as a gate or as a
load command depending on the program flow.
16 SC Jump within a parenthesis. A jump command was programmed in a parenthesis. This is not possible
because opened parentheses must always be closed again due to internal implementation, and this
would not happen with the jump.
17 SC Parenthesis opened at end of block. An EM instruction was programmed with parenthesis open.
Parentheses must always be closed again.
18 SC Label defined twice. A label name imported from another module with EXTERN was used again with an
LBL or KFIELD instruction. A name reserved for internal modules (9000 9255) was used with an LBL,
KFIELD or EXTERN instruction.
19 SC No word assignment. A word gate was executed but the result had not been assigned to any operand,
and a new gate had begun instead.
20 SC No logic assignment. A logic gate was executed but the result had not been assigned to any operand,
and a new gate had begun instead.
21 SC Word accumulator not loaded. A command was programmed that gates, assigns or manipulates the
already loaded word accumulator even though the accumulator was not previously loaded.
22 SC Logic accumulator not loaded. A command was programmed that gates, assigns or manipulates the
already loaded logic accumulator even though the accumulator was not previously loaded.
23 SC Accumulators not loaded with open parenthesis. An "open parenthesis" command has been programmed
even though neither a logic nor a word string was begun beforehand.
24 SC Wrong type of parenthesis result. Depending on the gate formed before a parenthesis and the
parenthesis command used, the system expects the string in the parenthesis to provide a result of the
same type (word/logic). With different types the gate required by the "open parenthesis" command
cannot be formed.
25 SC Conditional jump with invalid logic accumulator. A conditional jump was programmed
(CMT/CMF/JPT/JPF/EMT/EMF), without first beginning a gating chain in the logic accumulator.
26 SC ENDC/ENDK outside a CASE/KFIELD instruction. An ENDC command has been programmed without a
prior CASE instruction. And ENDK command has been programmed without a prior KFIELD label.
27 SC Wrong command within CASE table/KFIELD. A command other than CM was programmed after a CASE
instruction and before the corresponding ENDC instruction. A command other than K was programmed
after a KFIELD label and before the corresponding ENDK label.
28 SC Too many table entries in CASE. A CASE table was programmed with more than 128 entries.
29 SC Blank CASE instruction/KFIELD. A CASE instruction was programmed followed immediately by an ENDC
label. A KFIELD instruction was programmed followed immediately by an ENDK label.
30 SC String accumulator not loaded. A command was programmed that gates, assigns or manipulates the
already loaded string accumulator even though the accumulator was not previously loaded.
31 SC String instruction within parentheses. A string instruction was programmed within parentheses even
though string gates cannot be nested with parentheses.
32 SC No string assignment. A new gating chain was started without assigning the gating result previously
formed in the string accumulator.
33 SC GLOBAL/EXTERN not at start of file. The commands GLOBAL or EXTERN were written after another
program code in the file. These commands must always come before the program code.
34 (S) C Too many modules. An attempt was made to link more than 64 files into one program with the USES
instruction.
35 (S) C File not found. A file linked with USES cannot be found. An attempt was made to link a file of the .PLC
type with MP4010=0 (EPROM).
36 SC File too long. The program code for an individual file is bigger than 64 K and therefore cannot be
compiled. The file must be split up into several files and linked with USES.
37 SC Too many local labels. More than 1000 labels have been issued in a file. All LBL, KFIELD and EXTERN
instructions are added together, also the (invisible) labels generated by structured commands. The file
must be split up into several files and linked with USES.
38 C Too many global labels. Over 1000 global labels were defined from all participating files.
39 C External label not defined. A label declared as EXTERN was not defined as GLOBAL in any of the
participating modules.
40 SC External label in CASE instruction. A label declared as EXTERN was entered in the CM List of a CASE
instruction. A local module must be defined that in the simplest case calls only the global module with
CM.
41 SC External label in JP instruction. An attempt was made to jump to a label defined as EXTERN with a
JP/JPF/JPT instruction.
42 (S) C Global label defined twice. The same label was defined as GLOBAL several times in the same or in
different files.
44 SC Structure open at end of file. A structured instruction was opened but not closed again by the end of file.
45 SC GLOBAL instruction in main file. A module from the main file was defined as GLOBAL. Only modules
from files linked with USES can be made accessible to other files using the GLOBAL instruction.
50 R Nesting too deep. An attempt was made to nest more than 32 module calls. A recursive module call was
programmed that exceeds the nesting depth limit of 32.
51 R Stack Underflow. An attempt was made to fetch data from the stack even though they were not
previously saved there.
52 R Stack Overflow. An attempt was made to save more than 128 bytes of data to the stack. Word operands
(B/W/D/K) occupy 4 bytes each, logic operands (M/I/O/T/C) occupy 2 bytes each.
53 R Time Out. It took longer than 10.5 ms to process the program section that runs cyclically. Check the
subprogram structure. It may be necessary to start very processor-intensive sections as SUBMIT jobs.
The displayed computer time may be increased by RS-232-C transfers and handwheel mode. In case of
doubt, select handwheel mode and start data transfer with RS-232-C (baud rate 115 000 if possible), then
check "MAXIMUM PROCESSING TIME" in the PLC programming environment. 100% corresponds to 3.5
ms, the block processing speed is still achieved with this load. Values above 150% should not occur
(safety margin for adverse operating conditions!).
54 R CASE out of range. The operand for the CASE instruction contains a value that cannot be interpreted as
an offset in the CM table (<0 or > table length 1).
56 R Indexed access outside of the permissible range. The address for a write access to data types
B/W/D/M/I/O/T/C is in a range invalid for this operand type owing to inclusion of the index register. While
accessing a constants field the index register contains a value that is not possible for that field (<0 or >
field length -1). The address of a string leads to a prohibited value owing to inclusion of the index register.
The number of a dialog (S#Dn[X]) or an error message (S#En[X]) leads to a prohibited value owing to
inclusion of the index register (<0 or >999). While addressing a substring (Sn^X) the value range for the
index register (0..127) was exceeded.
57 R No PLC error table. A PLC error module 9085/9086 was called although no error table was compiled, or
the table contains no entries. A PLC error module
9085/9086 was called or an error marker was set, although the error table was changed or erased after
compiling.
58 R Fatal error during PLC module call. An MP was overwritten with the PLC module 9031 so that converting
the MP resulted in an illegal value.
90 C PLC error table. The error table selected in OEM.SYS is not a PET file.
91 C PLC error table. The error table selected in OEM.SYS was not found (file name or path incorrect).
92 C PLC error table. The error table selected in OEM.SYS has no up-to-date binary format (e.g. software
exchange).
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
12.5
.49" 15
.6"
7
84
D
3.3"
26
9
10
1.02"
IA 10,5 .278"
.35"
.39"
.4
1"
476+5
18.74+.2"
424
16.69"
456+2
17.95+.08"
2800.3
11.024.012"
326+0.5 13
12.83+.02" .51"
21510 45+2
8.5.4" 1.8+.08"
83.5
3.29"
193.5+2
7.62+.08"
R
R1 331
3"
12 kg Weight
8.3 Dimensions
November 97
Weight
1.8+.08"
45+2
3.3" 18.74+.2" 5.41+.08"
10 456+2 132.5+2
.39" 17.95+.08" 5.2+.08"
.51"
13
2. 5
R1 32
8"
.6"
15
8.8 kg
Dimensions
.278"
7
12.83+.02"
11.024.012"
326+0.5
2800.3
83.5
9
14510
5.7.4"
3.29"
.35"
TNC 426 B, TNC 430
12.5
IA 10,5
.49"
1"
.4
D
24 427.5+0.5
813
.94" 16.83+.02"
814
Weight 2.4 kg
8.3.3 TE 420
400 2 371 18
15.75" .08" 14.61" .71"
3760.2 12
.32"
14.803.008" .47"
8
TNC 426 B, TNC 430
18
.71"
0
DIA .4"
10
10.157.008"
2580.2
105
4.13"
M5
10.8"
274
Dimensions
232
9.13"
5.5 32.5+1 47
DIA .216" 1.28+.04" 30+1 1.85"
1.18+.04"
M5
7.5
.3"
0.5
M
.02"
9.528+.2"
F 242+0.5
M M MOUNTING SURFACE
F FRONT PANEL OPENING
F
November 97
2
.079"
F 380+0.5
14.96+.2"
November 97
8.3.4 MB 420
.315.008"
400
80.2
15.75"
2.05"
120.2 3760.2 20
52
.35"
9
.472.008" 14.803.008" .8"
Dimensions
IV+ Z+ V+ FN
Y+ 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
TNC 426 B, TNC 430
.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"
815
816
Weight:
8.3.5 BC 120
400 25 378.5+1
.98"
15.75" .98" 14.9+.04"
25
.39"
12
10
.47"
TNC 426 B, TNC 430
40 13
13.07.012"
1.57"
Approx. 14 kg
3320.3
9.92"
252
12.34+.04"
313.5+1
13.78"
350
Dimensions
.98"
25
0
DIA .22" 3.86.012" 10.94.012" 14.8.012"
13.07.008"
12.44+.04"
3320.2
F 316+1
0.5
.43"
11
M
.02" F 367+1
4.5
.18" 14.45+.04"
M MOUNTING SURFACE
November 97
Weight:
8.3.6 BF 120
400
15.75"
3760.5 12
.39"
10
14.803.02" .47"
3 kg
5.5
.79"
20
Dimensions
DIA .216"
9.685.016"
2460.4
10.39"
264
.98"
25
.98"
25
25 25 M5
.98" .98" 0.5
M
M5 .02"
3.543"
.315"
90
8
12x45
9.763+.04"
.47"x45
9.685.008"
248+1
24602
45.5 264.5 354.5
11.5
.45"
0
1.8" 10.41" 13.96"
F
F 376+1
TNC 426 B, TNC 430
14.803+.04"
9.37"
238 376+0.2
14.803+.008"
2. 0
7
.18"
"
76
5
R
M MOUNTING SURFACE
817
9.3
DIA.37"
8.268.008"
2100.2
8.98"
228
33+2 PL-Ausgnge
1.3"+.08" PL OUTPUTS
Masseanschlu M5
GROUND CONNECTION M5
92 780.2
3.62" 3.071.008"
.83"+.02"
7 780.2 60+1
21+0.5
.28" 3.071.008" 2.36+.04"
M4
1.5"
38
5
.2"
1.5 0
4
7"
R
R
2.24"
M5
57
.12"
3
DIA .3937.0008"
DIA .3937.0004" 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"
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.02
100.01
A
DIA 2.283"
3 x 120
120
58
48
12.5 1.890"
.492"
DIA 1.4173.0025"
DIA 1.4173.0010"
.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
51
2.01"
2.5
.984"
13.031"
12.244"
331
311
X IV
Y V
M5 38 14 64 23
1.26x.59"
32x15
2.165" 1.469" .551" 2.52" .906"
55
DIA 1.417"
4
36
.158"
23
.906"
1.732"
1.457"
1.732"
1.339"
44
37
44
34
.787"
20
5.5 S M4 S
.217"
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"
X 6
.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
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")
40
// 0.01 A DIA 1.575" 0.003 A
// .0004" A .00012" A
20
.275"
DIA .787"
7
.157"
4
2.598"
66
20
3.701"
DIA .787"
94
1.925"
48.9
13.5
.512"
13
DIA .531"
1.102"
.039"
28
M 12 28
A DIA 1.102"
34
DIA1.339"
70
2.756"
R 787
R
20 "
.
1.575"
40
35
1.378"
1
.039"
DIA 1.181"
DIA 1.104"
29
28
29.4
1.16"
M3
1.16"
29.4
1.5"
38
38
M3 1.5"
5
.2"
max. 5 8
.2" DIA .315"
60
DIA 2.362"
DIA .709"
.925"
.669"
23.5
DIA .63"
DIA .158"
17
85
18
16
3.346"
4
2.992"
76
45
DIA 1.772"
DIA 1.10"
51
M3 2.008"
28
1.181"
.252"
6.4
30
6.2
DIA .244"
25
DIA .984"
42.8
DIA 1.858.012"
DIA 2.165"
1.685"
47.20.3
55
max. 7
.276"
1.721"
43.7
60
DIA 2.362"
.236"
.669"
17
6
1.575"
40
4.803"
.551"
122
14
50
DIA 1.969"
M3
.252"
1.181"
6.4
30
6.2
DIA .244"
25
DIA .984"
.709"
.15
4"
4
35 0.1
00
2.8 72
.157"
.
M5
DIA 3.15"
DIA .18"
4.5
80
5
.2"
35
7
6 1 .276"
DIA .236" .039"
DIA 1.181"
DIA 1.104"
29.4
29
28
1.155"
1.5"
38
M3
1.155"
29.4
38
1.5"
5
.2"
max. 5
.2"
November 97 TNC 426 B, TNC 430 Block Diagram TNC 426 PB, TNC 430 PA 832
8.6 Block Diagram TNC 426 PB, TNC 430 PA
TNC
Holding torque
OSCI MP2630
V NOML
OSCI Acceleration feedforward control
v FEED RATE
D P +
+
t
MP1060 MP2600
MP1090
PT1 +
n +
Velocity feedforward
s = s0 + v . t control MP2610 MP2612
D Vx Friction compensation
n + I (FDFWD)
MP2620
Current Machine
Speed controllers OSCI controller Power stage Motor slide
OSCI OSCI OSCI
s S SOLL S DIFF P V (N SOLL) + P + PT2 I NOML PI PT2 I
sx + sx + + I (N PROP) + +
Position nominal Nominal + Nominal
t value velocity value current
MP1095 MP1510 MP2020 MP2500 MP2530 MP2540 value MP2400
sy MP1096 MP2550 MP2402
MP1097 OSCI MP2421
sz OSCI OSCI I MP2431
MP1098 I (N INT)
S ACTL V ACTL
MP1099
OSCI
I ACTL Actual current
MP2510
MP2512
D I (N DIFF)
OSCI
V(N ACTL) MP2520
Actual rpm
Actual position
November 97 TNC 426 B, TNC 430 Block Diagram TNC 426 PB, TNC 430 PA 833
8.7 Cable Overview
50m
TNC 426 PB BC 120 TE 420
PL 410 B
263 371 x2
VL: Extension cable
313 037 01 313 038 01 for separation points with connecting cable
40m for extending existing connecting cable
BF 120
313 506 01
8.10.97
10m
263 954 ..
289 111 ..
312 875 .. 263 954 ..
1m
Included with
visual display unit
Accessories
289 111 ..
VL HR 410
263 955 .. 50m 296 469 ..
Encoders for VL 296 466 .. 312 879 01 3 m
VL
position control 312 878 .. 263 955 ..
244 005 ..
312 874 ..
9m HR 130
VL
254 040 ..
312 876 ..
VL
298 429 .. 281 429 .. 50m
1 Vpp max. 20 m
298 430 .. HR 150
60m (288 593 .. 257 061 ..
11 App)
(295 052 .. HRA 110
261 097 01
270 909 ..
or 3 inputs
309 783 .. 1 Vpp
(309 782 .. 11 App)
5 inputs Option:
Ethernet 10Base2 20m
310 199 .. 1 Vpp Adapter kit
RS-422-C Adapter
(310 198 .. 11 App) 293 890 51 Ethernet 10BaseT
310 086 01
289 208 ..
LE 426 CB PC
1 Vpp 1 input
Option: 296 839 .. RS-232-C Adapter
Adapter kit 310 085 01
50m
1 Vpp 6 inputs 311 647 51
310 200 .. A-1016-6640
Rotary encoder Measuring
touch probe
for spindle orientation SP 2/1
60m 50m
20m 274 543 ..
1 Vpp TT 120
310 199 ..
Terminal box 295 743 03
251 249 01 Nominal value
output
309 783 .. 40m
290 109 .. 244 005 .. 50m
289 208 ..
November 97 TNC 426 B, TNC 430 Block Diagram TNC 426 PB, TNC 430 PA 834
8.7.2 TNC 430
November 97 TNC 426 B, TNC 430 Block Diagram TNC 426 PB, TNC 430 PA 835
9 Machine Parameters
9.1 What is a Machine Parameter?
A contouring control must have access to specific data (e.g., traverse distances, acceleration) before it
can execute its programmed instructions. You define 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 divided 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. Index zero is always axis 1, index one is axis 2, etc.
Other machine parameters function as on/off switches for specific functions. These machine
parameters are bit-encoded. Each bit is assigned either to an axis or a function.
The soft keys for datum tables and text files are to be disabled.
Input value for MP7224.0 = Binary %00101000
Hexadecimal $ 38
Decimal 40 (23 + 25)
Functions:
+ addition sin sine
subtraction cos cosine
* multiplication tan tangent
/ division asin arcsine
log logarithm acos arccosine
log10 logarithm to the base 10 atan arctangent
exp exponent sqrt square root
() remove the brackets sqr square
Variable:
REF Current position of the axis with relation to the machine datum
(resolution 0.0001mm or )
92 TNC 426 B, TNC 430 Input and Output of Machine Parameters March 99
9.2.2 Activating the Machine Parameter Settings
After you have entered the values for the machine, exit the machine parameter list by pressing the
END key. Missing or incorrect entries result in error messages from the control that prompt you to
correct your entry.
If the control does not recognize any errors, it automatically exits the machine parameter editor and is
ready for operation. If during commissioning you do not make any entries in the parameter list (MP
NAME), the TNC will generate a standard machine parameter list when you press the END key and
leave the machine parameter editor. In this list the TNC is defined as a programming station with the
HEIDENHAIN standard colors. All other machine parameters assume the minimum value.
You can 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 MGT
key and the SELECT soft key. The parameter list that is active when you exit the machine parameter
editor goes into effect.
Manual input
Call the machine parameter editor through the MOD function "code number":
Code number 95148
This code number give you access to the complete list of machine parameters.
Code number 123
This code number gives you access to only some of the machine parameters. These are the
machine parameters that the user is authorized to change (see User's Manual). In the following list,
the machine parameters that can be changed through the code number 123 are indicated by
CN123.
March 99 Input and Output of Machine Parameters TNC 426 B, TNC 430 93
User parameters
With the USER PARAMETER MOD function you can easily access certain machine parameters
without having to first enter a code number. In MP7330.x you can define up to 16 machine
parameters, and in MP7340.x you define the associated dialog to be shown when the USER
PARAMETER soft key is pressed. See also the chapter Display and Operation.
94 TNC 426 B, TNC 430 Input and Output of Machine Parameters March 99
Read Machine Parameter (Module 9032)
With Module 9032 you can read the value of a machine parameter defined by its number and index
from the current machine parameter list. The value is transferred as a natural number including all
possible decimal places.
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.
March 99 Input and Output of Machine Parameters TNC 426 B, TNC 430 95
Loading a Machine Parameter Partial File (Module 9034)
With Module 9034 you load the contents of the given machine parameter file into the main memory.
All parameters not contained in this file remained unchanged. The new MP file to be selected is
checked; no faulty files are loaded. The MP file is not loaded if it contains parameters that require a
system reset. The file name is transferred in a string that must contain the complete path with file
name and extension. Additional characters (including blank characters) 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/S/T/Q strobes.
96 TNC 426 B, TNC 430 Input and Output of Machine Parameters March 99
9.3 List of Machine Parameters
Bit 2:
0 = The tilting axes are not positioned with
Cycle 19
1 = The tilting axes are positioned with
Cycle 19
Bit 3:
0 = <set datum> = <machine datum> also
valid for rotary tables
1 = With rotary tables, Tilt Working Plane
cycle is referenced to new datum after
the workpiece has been aligned
Bit 4:
1 = In the default setting, the offset that
results from exchanging the spindle
head is compensated through PLC
datum shift. During call-up of M128,
M114 or the "tilt working plane" cycle,
this offset is not compensated again.
0 = In the default setting this offset is not
compensated until M128, M114 or the
"tilt working plane" cycle is called.
Bit 5: Position of Tilted axis during "datum
setting" 1)
0 = Current position of tilted axis referenced
to the machine datum
1 = Position of tilted axis as it is entered
with the 3D ROT soft key
Bit6 : Cycle 19 with spatial angle C 0
1)
Marker S R Page
M1900 Decoded M function if M4571 is set NC NC 4157
to
M1999
Spindle
M4000 Spindle in Position NC NC 4106
M4001 Nominal speed command signal of the spindle not in the ramp NC NC 497
M4002 Nominal speed command signal of the spindle = zero NC NC 497
M4003 Nominal speed output analog or digital NC NC 496
M4004 Illegal rotational speed NC NC 498
M4005 Status display and nominal speed value output for M03 PLC PLC 497;
4128
M4006 Status display and nominal speed value output for M04 PLC PLC 497;
4128
M4007 Status display for M05 and spindle stop PLC PLC 497;
4128
M4008 Disable speed output for spindle PLC PLC 497;
4128
M4009 Spindle rotation counterclockwise (for gear change) PLC PLC 499
M4010 Spindle rotation clockwise (for gear change) PLC PLC 499
M4011 Activate rotational speed MP3520.0 and direction of rotation from PLC PLC 4107
M4013
M4012 Open the spindle control loop PLC PLC 4106
M4013 Direction for spindle orientation PLC PLC 4107
0 = M03
1 = M04
M4014 Reverse the direction of spindle rotation PLC PLC 497
M4015 Renewed evaluation of the spindle reference mark PLC NC 4106
M4016 Cycle 13 is executed NC PLC 4107
M4017 Servo-controlled spindle in motion NC NC 4106
M4018 Reference mark for spindle not yet traversed NC NC 4106
M4019 Reverse the count direction of the spindle position encoder PLC PLC 497
Thread Cutting
M4030 Cycle 2 or Cycle 17 active NC NC 4110;
4113
M4031 Cycle 17 or Cycle 18 active NC NC 4113
6 B
BACKGROUND PROGRAMMING NOT
688 379...................................... 4188; 4302
POSSIBLE ..........................................4152
Backlash compensation...........................414
7 Band-rejection filter..................................469
75 368.......................................... 475; 4188 Bar graphic.............................................4135
Basic circuit diagram................................833
8 Baud rates..................................................65
807 667.......................................... 4188; 51 BC (BIT CLEAR) ...................................5129
Block Check Character ............................623
Block diagram ..........................................835
9 Block scan..............................................4167
95 148............................................ 4188; 93
Block-number increment .......................4171
Byte ................................................. 59; 533
F I
F AUTO.................................................. 4255 I CONTROL............................................4311
F STOP .................................................. 4159 I NOMINAL ............................................4302
Feed rate ............................................... 4302 I(INT RPM) .............................................4302
rotary axes ......................................... 4127 It monitoring ...........................................485
Feed rate display ................................... 4126 It warning................................................485
Feed-rate enable...................................... 463 Identifier.................................................5153
File Illegal NC block ........................................437
lock, protect ....................................... 4171 Incremental jog positioning....................4242
File code .................................................. 612 Index register.........................................5144
File extension .......................................... 612 Input...........................................................59
File management....................................... 54 Input field
File name not program name .................. 641 PLC window.......................................4143
Filter......................................................... 454 Instruction not allowed ............................641
FN17 ........................................................ 512 Integral factor...........................................476
FN18 ........................................................ 517 Interface already assigned.......................639
FN19 ........................................................ 511 Internal temperature ................................484
FN25: PRESET....................................... 4117 Interpolation factor.................................4232
Following error............................... 456; 457 Interpolator ..............................................453
Format instructions................................ 4137 Isolating transformer................................315
Free rotation .......................................... 4125
Frequency filter........................................ 469
The tool change can be executed via an OEM-specific NC macro. The following PLC functions may not
be activated in this NC macro:
Datum shift
Traverse range switching
Spindle switching (module 9175)
If one of these functions is programmed in the NC macro, and this NC macro is started at the end of
the mid-program startup, (NCMACRO=TC in MGROUPS.SYS), a positioning error occurs after "mid-
program startup" and "restore position".
The above functions must also be transferred to the PLC and executed via the PLC sequential program
during the mid-program startup (do not list the functions in MGROUPS.SYS, but enter
REMAIN=OUTPUT).
To ensure that positioning errors do not occur on your machine, please check your PLC program for the
functioning described above.
HEIDENHAIN will make the following changes with the next software release:
The error message "PLC function not permitted" will be generated if a datum shift or a traverse
range switch is executed by the PLC during the function "Restore machine status".
If the spindle is switched during "Restore machine status", module 9175 will acknowledge with an
error code.
PLC module
Module 9175 (Activate spindle) was expanded by error code 6:
W1022 = 6: Marker M4157 = 1 (RESTORE POSITION active)
Other improvements
With the machining cycles 212 (POCKET FINISHING) and 214 (CIRCULAR POCKET FINISHING),
the contour is always approached at the machining feed.
With the machining cycles 210 (SLOT) and 211 (CIRCULAR SLOT), the starting point for the
finishing cycle is approached at the machining feed.
The default values for Q208 in the machining cycles 201 (REAMING), 202 (BORING) and 203
(UNIVERSAL DRILLING) were increased from 500 mm/min or 20 inch/min to 30000 mm/min or
1200 inch /min.
Other improvements
With the touch-probe cycles 421 and 422, the probing direction depends on whether a basic
rotation or a rotation via Cycle 10 is active.
The default values for Q208 in the machining cycles 201 (REAMING), 202 (BORING) and 203
(UNIVERSAL DRILLING) were increased from 500 mm/min or 20 inch/min to 30000 mm/min or
1200 inch /min.
With the machining cycles 210 (SLOT) and 211 (CIRCULAR SLOT), the starting point for the
finishing cycle is approached at the machining feed.
With the machining cycles 212 (POCKET FINISHING) and 214 (CIRCULAR POCKET FINISHING),
the contour is always approached at the machining feed.
Machine parameter
MP1090 was expanded:
The input range was expanded from 1 to 1000 [m/s3] to 0.1 to 1000.0 [m/s3]
Other improvements
With the touch-probe cycles 421 and 422, the probing direction depends on whether a basic
rotation or a rotation via Cycle 10 is active.
Machine parameter
MP2221 is new:
Monitoring the reference pulse of the spindle motor encoder was introduced. If you get a DSP
error message (in particular in connection with gear encoders), you can switch off this monitoring
with MP2221.
Input: 0 = monitoring active
1 = monitoring not active
Machine adjusting
M4181 is new:
Set Reset
NC program selected NC PLC
The max. input value for the rated frequency F-N in the motor table for asynchronous motors was
increased from 999.9 Hz to 2000.0 Hz.
Call:
PS B/W/D/K <line number in the pallet table>
PS B/W/D/K <mode>
0 = datum shift / do not execute datum set
1 = datum shift / execute datum set
CM 9281
PL B/W/D <Error code>
0: Cursor was placed in the line
1: Module was not called in a SPAWN or submit job
2: Module was called when NC program already started
3: No pallet table selected as main program
4: Line does not exist
5: Error during datum set, or error in datum or pallet table
Error code: M4203 = 0: Cursor was placed in the line
M4203 = 1: Error according to error code
Other improvements
The new error number 1068 (datum table?) was introduced for the function FN14: ERROR.
The maximum input value for Q239 in cycle 207 (RIGID TAPPING NEW) and for the pitch in cycles
17 (RIGID TAPPING) and 18 (THREAD CUTTING) was increased to 99.9999 mm.
Machine parameters
MP1097 and MP1098 were expanded:
Input range was expanded from 1 to 1000 [m/s3] to 0.1 to 1000.0 [m/s3]
MP1150 was expanded:
MP1150 was changed to MP1150.0 with the same meaning, MP1150.1 and MP1150.2 were
added new
MP1150.0 Delay time for canceling the nominal speed value with the blinking error
message Excessive servo lag <axis>
Input: 0 to 65.535 [s]
Recommended input value: 0
MP1150.1 Time during which the monitoring functions should remain switched off after the
fast PLC input defined in MP4130.0 is set. Once this time has elapsed, the
monitoring functions once again become active.
Input: 0 to 65.535 [s]
Recommended input range: 0.2 s to 0.5 s
MP1150.2 Minimum time for which the monitoring functions should remain active after the
time set in MP1150.1 has elapsed (e.g. if the input changes quickly).
Input: 0 to 65.535 [s]
MP2221 is new:
Monitoring of the reference pulse of the spindle motor encoder was introduced. If you get a DSP
error message (in particular in connection with gear encoders), you can switch off this monitoring
with MP2221.
Input: 0 = monitoring active
1 = monitoring not active
MP2360, MP2361 and MP2391 are new:
In the event of an emergency stop, the spindle must be braked to a stop as quickly as possible.
Increasing the recovered power shortens the braking process. However, if the recovered power is
too high, the braking energy is not dissipated quickly enough: the inverter may under certain
circumstances switch off and the spindle will coast to a stop.
For spindles without a dedicated spindle DSP, you can enter a time constant in MP2360.x or
MP2361 by which the recovered power is reduced. The larger the time constant, the less the
mean recovered power during braking, and the longer the braking process.
To find the optimum value, begin with a large time constant. Then make an emergency stop to
brake the spindle from maximum speed. Reduce the time constant until you find the shortest
possible braking time at which the inverter does not switch off. Since the temperature of the
braking resistor and the mass of the tool in the spindle affect the braking power, this time constant
must be increased somewhat to provide a safety margin, or it must be found with the heaviest tool
and a hot braking resistor.
MP2361 Time constant for braking the spindle during EMERGENCY STOP
Input: 0.01 to 5.00 [s]
0 = function not active (braking is only dependent on MP2191)
For spindles with dedicated spindle DSP the braking power can be limited in MP2391.
U2Z min
Input value MP2391.x = 0,9
R 1000
UZmin = minimum dc-link voltage [V]
R = braking resistance []
MP2391.0 Wye connection
MP2391.1 Delta connection
Input: 0.1 to 3000.0 [kW]
0 = braking power is not limited
(preferable for inverters with dc-link power recovery)
MP2393 is new:
To achieve a "wide range" performance from a spindle motor, the power of the motor must be
limited. With MP2393 the power for spindles with their own spindle DSP can be limited for wye
and delta connection.
MP2393.0 Wye connection
MP2393.1 Delta connection
Input: 0.1 to 3000.0 [kW]
0 = no power limit
MP4030 is new:
A max. 4 PL 4xx B PLC I/O units can be connected to the LE 426 and LE 430. The first PL is
connected to the LE and the other PLs to the first PL. The number of the physical PL corresponds
to the number of the logical PL. With MP4030.x the logical number of a PL can be assigned to a
different physical PL.
MP4030.0 to MP4030.3 First to fourth physical PL
Input: 0 = first logical PL
1 = second logical PL
2 = third logical PL
3 = fourth logical PL
MP6585 Monitoring the positions of the rotary and additional linear axes during the tool
measurement cycles
Bit0 A-axis 0 = axis is not monitored
Bit1 B-axis 1 = axis is monitored
Bit2 C-axis
Bit3 U-axis
Bit4 V-axis
Bit5 W-axis
MP6586 Ref-coordinate for the monitoring of the rotary and additional linear axis positions
during the tool measurement cycles
Input: 99 999.9999 to + 99 999.9999 [mm]
MP6586.0 A-axis
MP6586.1 B-axis
MP6586.2 C-axis
MP6586.3 U-axis
MP6586.4 V-axis
MP6586.5 W-axis
MP7245 is new:
With MP7245 the auxiliary cycles 18 (THREAD CUTTING) and cycle 33 (TAPER THREAD BORING)
can be disabled.
Input: 0 = auxiliary cycles are inhibited
1 = auxiliary cycles are permitted
MP7266 was expanded:
MP7266.28 Probe center misalignment main axis (CAL-OF1)
MP7266.29 Probe center misalignment secondary axis (CAL-OF2)
MP7266.30 Spindle angle during calibration (CAL-ANG)
See also section on Machine integration
MP7411 was expanded:
Bit1 = 0: Only one set of probe calibration data
= 1: More than one set of probe calibration data in the tool table
See also section on Machine integration
MP7500 was expanded:
Bit6 Cycle 19 (Tilt working plane) with spatial angle C 0 (for A = 0 and
B = 0) on machines with C rotary table and tool axis Z
= 0: Spatial angle C is achieved by rotating the coordinate system.
= 1: Spatial angle C is achieved by rotating the table (and storing the angle in
Q122).
MP7530 was expanded:
In MP7530.x (dimensions for transformation) a formula can be entered for temperature
compensation for swivel heads and tilting tables with M128 and for "Tilt working plane". The
formulas may not have more than 31 characters and must contain PLC words as variables.
As soon as M128 or the "Tilt working plane" function are activated in the Automatic modes, the
dimensions of the swivel head or tilting table are recalculated.
PLC programming
FN17: SYSWRITE was expanded:
The software limit switches can be overwritten.
ID230
NR4
IDX xxx = yyy
PLC modules
Module 9122 was expanded:
With bit 6 of the status word, you can interrogate whether the PLC axis has reached the target
position (0 = target position not yet reached, 1 = target position reached)
Module 9151 was expanded:
The axis designations defined with Module 9151 remain unchanged, even if other machine
parameters are edited.
Module 9152 is new:
With module 9152 you can select a freely-definable axis display or designation and one of the
three traverse ranges. The same conditions apply as for traverse range selection with M4135.
When the module is called, M4135 is set and it is reset after the change has been made. When
inputting the string for axis designation and display, you can use the same syntax as for input in
MP100.x or MP7291.
MP100.x or MP7291 cannot be activated again until the string for axis display or axis assignment
has been transferred to Module 9151 or 9152 1, a traverse range has been activated with M4135,
MP100.x or MP7291 have been edited or a control reset has been carried out.
Call:
PS B/W/D/K/S <string with axis display>
1 = use axis display from MP7291
PS B/W/D/K/S <string with axis assignment>
1 = use axis assignment from MP100.x
PS B/W/D/K <traverse range>
0 to 2 = traverse range
1 = do not change traverse range
CM 9152
Error code: M4203 = 0: traverse range, axis designation or display has been
switched
M4203 = 1: Error code in W1022
W1022 = 2: Value not valid for the traverse range, or string for the
display configuration too long
W1022 = 3: Neither a string nor 1 was transferred for the axis
assignment or display
W1021 = 21: The module was called when the program was already
started, or without a M/S/T/T2/Q strobe
Call:
PS B/W/D/K/S <axis number>
PS B/W/D/K/S <torque in 1/1000 Nm>
1 = torque from motor data
CM 9158
Error code: M4203 = 0: Torque indicator active
M4203 = 1: Error code in W1022
W1022 = 1: Transfer torque value 0
W1022 = 2: Invalid axis number
W1022 = 24: Module was called in a SPAWN or submit job
Module 9169 is new:
With Module 9169 you can define axes that are not switched off by the input I32 (X42/33, drive
enable, acknowledgment for control-is-ready signal) . This module works only in conjunction with
the TNC 426 M / TNC 430 M controls.
Call:
PS B/W/D/K <bit-coded axes>
CM 9169
Error code: M4203 = 0:no errors possible
Module 9175 (Activate spindle) was expanded by error code 6:
W1022 = 6: Marker M4157 = 1 (APPROACH POSITION active)
Module 9275 is new:
With module 9275, ASCII data can be written to the log book. Each entry can be given an
identification for future processing.
Module 9275 should not be used in the general PLC program, but rather only for debug purposes,
because the processing time may be negatively influenced, unnecessary space used on the hard
disk and the log book used for purposes not intended for its function (namely recording keys and
error messages).
Call:
PS B/W/D/K/S <log book entry>
1 = no entry
PS B/W/D/K/S <log book identification>
1 = no entry
PS B/W/D/K <priority>
0 = information
1 = warning
2 = error
CM 9275
Error code: M4203 = 0: Entry was written in book
M4203 = 1: Error code in W1022
W1022 = 1: Invalid priority
W1022 = 2: Invalid string or invalid immediate string
W1022 = 12: No string end identifier
W1022 = 20: Module was not called in SPAWN or submit job
Call:
PS B/W/D/K <identification for operand designation>
0 = M (marker)
1 = I (input)
2 = O (output)
3 = C (counter)
4 = T (timer)
5 = B (byte)
6 = W (word)
7 = D (double word)
PS B/W/D/K <address of the first operand>
PS B/W/D/K <number of operands>
PS B/W/D/K/S <log book identification>
1 = no entry
PS B/W/D/K <priority>
0 = information
1 = warning
2 = error
CM 9276
Error code: M4203 = 0: Entry was written in log book
M4203 = 1: Error code in W1022
W1022 = 1: Invalid priority
W1022 = 2: Invalid identification for operand designation
W1022 = 3: Invalid first operand address
W1022 = 4: Sum from the first operand address and number of
operands invalid
W1022 = 5: Address is not a word/doubleword address
W1022 = 20: Module was not called in a SPAWN or submit job
W1022 = 36: Entry in log book was shortened to 210 characters
Call:
PS B/W/D/K <line number in the pallet table>
PS B/W/D/K <mode>
0 = datum shift / do not execute datum set
1 = datum shift / execute datum set
CM 9281
PL B/W/D <Error code>
0: Cursor was placed in the line
1: Module was not called in a SPAWN or submit job
2: Module was called when NC program already started
3: No pallet table selected as main program
4: Line does not exist
5: Error during datum set, or error in datum or pallet table
Error code: M4203 = 0: Cursor was placed in the line
M4203 = 1: Error according to error code
Other improvements
Cycle 33 (TAPER THREAD BORING) is new:
With auxiliary cycle 33, a thread can be turned on a taper with a Davis head. For this cycle, in
addition to the tool axis, a further axis is tracked to the turning spindle for the radial movement.
The values from the offset adjusting via code number 75368 are displayed in a superimposed
window.
With the machine parameters MP910.x, MP911.x, MP912.x, MP920.x, MP921.x, MP922.x,
MP950.x and MP951.x, the values related to the machine datum, and with MP960.x related to the
scale datum, are transferred with the "Actual position capture" key. With synchronized axes both
values are transferred automatically.
M136 was changed:
Feed rate has been changed from mm/min to mm/spindle revolution (280 474-xx: m/spindle
revolution).
In the NC program the feed rate can be indicated with three decimal places.
In the OEM cycles, the number of possible transfer parameters has been increased to 32.
With the soft keys "F" and "F max", the last value input is suggested as the default value.
With M91 and M92, linear movements can be executed in the machine coordinate system with a
tilted working plane.
With TNCremoNT, data access to the LSV2 protocol is also possible via Ethernet.
The maximum input value for Q239 in cycle 207 (RIGID TAPPING NEW) and for the pitch in cycles
17 (RIGID TAPPING) and 18 (THREAD CUTTING) was increased to 99.9999 mm.
The new error number 1068 (datum table?) was introduced for the function FN14: ERROR.
Encoders with EnDat interface can be connected to certain inputs on the LE 426 M and LE 430 M logic
units as of hardware version xxx xxx-3x. The evaluation of the encoder signals is supported from NC
software 280 474-07.
Note:
A maximum of two encoders with EnDat interface can be connected per numerical control!
X3 Inputs X4 Outputs
The new hardware variant xxx xxx-3x of the LE 426 M, LE 430 M has been released. This
hardware allows the connection of encoders with EnDat interface to certain encoder inputs.
In MP7682, bit 0 must be set = 1 (Tool length is not offset in an I block following a TOOL
CALL).
If the above bit = 1, the tool length of the replacement tool is not compensated during an
automatic TOOL CALL (M101 = automatic tool change with replacement tool).
If the replacement tool is longer than the previous tool, a collision may result. If it is shorter, its
depth of cut may be insufficient.
Machine parameters
Other improvements
Cycle 420 (angle measuring) can also find an angle in the touch probe axis.
Cycle 427 (coordinate measuring) can automatically compensate tool length and radius.
NC software Release
280 472-10 11/98 Export version: 280 473-10
Other improvements
Pressing the MOD key now also shows the version of the setup diskettes.
NC software Release
280 472-11 11/98 Export version: 280 473-11
Machine parameters
NC software Release
280 472-12 12/98 Export version: 280 473-12
Machine parameters
PLC programming
PLC Modules
Call:
PS B/W/D/K/S <String number or file name>
CM 9290
Error code: M4203 = 0: No error
M4203 = 1: Error code in W1022
W1022 = 2: Invalid string transferred
W1022 = 8: Control is not in the Program Run, Single Block or Program
Run, Full Sequence operating mode
W1022 = 20: Module was not called in a SPAWN job or Submit job
W1022 = 29: Selected file is invalid or does not exist
Other improvements
NC software Release
280 474-10 12/98 Export version: 280 475-10
Machine parameters
Acceleration
(MP1060.x)
MP2360.x Time constant for braking a second digital spindle through an emergency stop
MP2361 Time constant for braking the spindle through an emergency stop
Input: 0.00 to 5.00 [s]
0 = Function inactive (braking depends only on MP2191)
For spindles with dedicated spindle DSP the braking power can be limited in MP2391.
U2
Input value MP2391.x = 0,9 Zmin
R
UZmin = minimum dc-link voltage [V]
R = Braking resistor []
MP2391.0 Wye connection
MP2391.1 Delta connection
Input: 0.0 to 3000.0 [kW]
0 = Braking power is not limited
(primarily for inverters with energy recovery)
MP6500 has been expanded:
Bit 13 Coordinate system in which the tool is to be measured. If the measurement is not
made in the same coordinate system in which the tool touch probe was calibrated, it
must be ensured that the tool is perpendicular to the touch probe's contact plate.
= 0: Tool is measured in the coordinate system in which the tool touch probe was
calibrated.
= 1: Tool is measured in another coordinate system.
MP7160 has been expanded:
With MP7160 bit 2 you can define whether the spindle is position controlled during rigid
tapping. If the spindle is position controlled it shows a better speed curve.
Input: %xxx
Bit2 = 0: Spindle is not position controlled
= 1: Spindle is position controlled
Machine Interfacing
PLC programming
The maximum size of the PLC program was increased to 512 KB.
FN18: SYSREAD has been expanded:
The index of the active tool can be found.
ID20
NR11
FN18: SYSREAD has been expanded:
With FN18 you can find out whether the run is in block scan or in the automatic operating
modes. The following values are reported:
ID990
NR2
IDXx 10: Execution in block scan?
16: Execution in the automatic operating modes?
Call:
CM 9159
PL W/D <Drives bit-coded that will be switched on in 200 ms>
Bit 15 0
Axis Sxxxxxx987654321
Error code: M4203 = 0: No error
Module 9169 has been added:
With Module 9169 you can define axes that are not switched off by the input I32 (X42/33,
drive enable, acknowledgment for control-is-ready signal) . This module works only in
conjunction with the TNC 426 M / TNC 430 M controls.
Call:
PS B/W/D/K <Axes bit-coded>
CM 9169
Error code: M4203 = 0: No error possible
If in Modules 9120, 9123, 9221 or 9223 a noncontrolled axis is programmed, an error is
reported.
The setup diskettes contain the current *.CDF and CONSTCYC.CDC files.
Two new soft keys appear during use of the manual measuring cycles in connection with
datum tables. You can select whether the result of measurement is transferred to the datum
table or as a datum to the control.
Reentry in a radius-compensated NC program with block scan is necessary only if a transitional
spline was interrupted.
The default value of Q208 in the fixed cycles 201 (REAMING), 202 (BORING) and 203
(UNIVERSAL DRILLING) was increased from 500 mm/min or 20 ipm to 30 000 mm/min or
1200 ipm.
The starting point for the finishing process in the fixed cycles 210 (SLOT) and 211 (CIRCULAR
SLOT) is approached with the programmed machining feed rate.
With Cycle 427 (MEASURE COORDINATES) you can automatically compensate tool length
and radius.
The MOD key now also calls the version of the setup diskettes.
With the manual measuring cycles the datum must be transferred with a soft key. In addition,
you can enter delta values (distances between measured points and datum).
1.4.1 Securing the Hard Disk of the LE 426 M/LE 430 M for Shipping
The hard disks of the LE 426 M and LE 430 M can be secured for shipping. Before the LE is
transported, the hard disk is fastened to the housing with two screws. There are two vacant
threaded holes in the housing to hold the screws after they have been removed from the hard disk.
A sticker on the LE describes how to secure the hard disks and release them again.
Before commissioning the LE, the bracing screws must be removed from the hard disk and
driven into the vacant holes.
If the LE is to be shipped already installed in a machine tool, it is not necessary to brace the
hard disks.
If service becomes necessary (i.e., the LE is shipped alone) the hard disks must be secured
with the bracing screws.
Product ID Number
UV 111A (6 axes + spindle) 317 559-22
UV 111B (9 axes + spindle) 317 559-32
Expansion card with D-sub ports 324 952-10
PWM cable with C-sub connectors 289 208-xx
Machine parameters
MP6163 Difference between current spindle angle and angle in MP6162 from which a spindle
orientation is to be carried out.
Input: 0 to 3.0000 []
PLC programming
PLC modules
Others
To prevent data loss on the hard disk, the soft key was introduced in the Manual
Operation mode to bring down the control. After confirming your intentions with the YES soft
key, the control is brought down. Now the control can be switched off or brought up again with
the END key.
DIN/ISO: With spindle orientation with G36, a Q parameter can also be programmed as the
angular value.
Touch probe cycles 421 to 426 allow automatic tool compensation in the tool table and breakage
tolerance is monitored.
NC software Release
280 474-07 08/98 Export version: 280 475-07
Machine parameters
MP1094 new:
For controls with their own spindle DSP, an HSC filter can be activated instead of the single or
double filter. A cutoff frequency must be entered in MP1094. The cutoff frequency should be
approx. 20% to 30% below the resonance frequency of the machine. The axis-specific jerk from
MP1098 is valid. MP1095, MP1097 and MP1099 have no effect. With input value 0, the old
filters are active.
Input: 0 = No HSC filter active
0 to 166.0 [Hz] Cutoff frequency for an HSC filter
MP1220 was removed as it had no function.
MP1390 was removed and MP1392 was added instead.
MP1392 is new:
With MP1390 operation with servo lag or velocity feedforward control could only be selected for
all axes. With MP1392 operation with servo lag or feedforward can be set on an axis-specific
basis. M90 (operation with servo lag: constant speed at corners) is only effective if operation
with servo lag is selected for all axes.
Input: %xxxxxxxxx
Bit 0 to 8 0 = Operation with servo lag
Axis 1 to 9 1 = Operation with velocity feedforward control
MP2560 and MP2561 new:
With machine parameters MP2560.x and MP2561 a 1st or 2nd order low pass filter can be
activated for the axes and the spindle. This filter is suitable for dampening disruptive high-
frequency vibrations (> 600 Hz). If you have problems with such vibrations, first try this filter.
Use the first order filter for vibrations of < approx. 700 Hz and the second order filter for
vibrations of > approx. 700 Hz. If these filters do not give satisfactory results, then try using the
PT2 time-delay element (MP2530).
MP2560.0 to MP2560.8 low pass filter for the axes 1 to 9
MP2561 low pass filter for the spindle
Input: 0 = No low pass filter
1 = low pass filter 1st order
2 = low pass filter 2nd order
MP6161, MP6162 and MP6163 new:
see improvements of NC software 280 472-08
MP7267 expanded:
MP7267.5 Tool name (TNAME)
See also the section "Machine Integration."
The gear range from W256 (G code with S-analog) is output with spindle speed = 0.
The pocket table was expanded by the column TNAME. The tool name from the tool table is
entered in this column and therefore cannot be edited. With indexed tools, the name of the tool
is entered with the index 0.
The column LOCK can be added to a pallet table. Lines containing any entry in this column will
not be processed. If several programs or pallets are being run, the TNC will move to the next
unlocked line. Likewise unlocked lines in a locked pallet will be skipped.
PLC programming
W1062 new:
W1062 inhibits handwheel pulses on an axis-specific basis if several handwheels are being used
via the HRA 110 handwheel adapter. If marker M4576 (Suppression of handwheel pulses) is set,
then all axes are inhibited. When marker M4576 is reset, W1062 is valid. If only one handwheel
is being used, it can be inhibited with W1062.
PLC modules
Call:
PS B/W/D/K <axis number 0...2>
CM 9153
Error code: M4203 = 0: No error
M4203 = 1: Error code in W1022
W1022 = 2: Invalid axis number
W1022 = 20: Module was not called in the SPAWN or submit job.
Call:
PS B/W/D/K <number of the status information>
0 = Status
1 = Horizontal length
2 = Vertical length
3 = Displayed page
4 = Identifier
CM 9211
PL B/W/D <status information>
1 = error
Error code: M4203 = 0: No error
M4203 = 1: Error code in W1022
W1022 = 1: Invalid number of the status information
Module 9280 new:
Module 9280 starts the NC macro which is called when running a pallet entry (PAL). The NC
macro must be defined in the file PLC:\NCMAKRO.SYS under the entry PALETT.
The NC macro can only be activated if the control is in the Full Sequence or Single Block
mode and only if a pallet table is selected and no NC macro or NC program is being run at that
time. The NC macro can read the transferred values with the function FN18: SYSREAD Qxxx =
ID510 NR1 or NR2.
Call:
PS B/W/D/K <pallet number>
PS B/W/D/K <line number>
CM 9280
Error code: M4203 = 0: No error
M4203 = 1: Error code in W1022
W1022 = 7: The file entered under PALETT in NCMAKRO.SYS does not exist.
W1022 = 8: The control is not in Full Sequence or Single Block mode.
W1022 = 20: Module was not called in SPAWN or Submit job.
W1022 = 28: An NC program or an NC macro is already being run.
W1022 = 29: No pallet table is selected.
W1022 = 30: There is no entry PALETT in NCMAKRO.SYS.
W1022 = 36: NCMAKRO.SYS does not exist.
A customer-specific company logo can be displayed while the control is starting. To convert a
picture of this logo to a format that can be read by the TNC (16-color bitmap format, pixel width
divisible by 8), you need the conversion tool Bmp2Logo 1.0. This tool includes two files. The
*.SYS file must be copied to the main directory PLC:\ as LOGO.SYS and the *.VEC file must be
copied to the directory PLC:\LOGO as LOGO.VEC.
Soft key "Shut down" new:
See improvements for NC software 280 472-08
The cycle structure can be composed of up to 9 cycle trees. This function is only supported with
CycleDesign as of version 2.2.
M117 new:
M117 can deactivate module M116 (feed rate in mm/min for angular axes).
M116 is also automatically deactivated when a tool change macro or a manufacturing cycle is
being executed.
M136 and M137 new:
M136 switches the programming of the contouring feed rate from mm/min to
m/spindle/revolution. The position of the spindle override is taken into consideration. M137
switches back to mm/min.
M138 new:
Initially all of the tilting axes defined in MP7510 are affected by the functions M114, M128 and
"Tilt the working plane." With M138 you can define axes which are affected by these functions,
but not by M116 (feed rate in mm/min for angular axes). M138 with no axis indication cancels
the previous selection made.
The new touch probe cycle 3 allows probing without retraction. The cycle can be effective at
input X12 or input X13. You can switch between the two inputs with FN17: SYSWRITE ID990
NR6 = <input>.
The block number for the mid-program startup or the block number up to which the test run is to
be carried out, is superimposed in a window.
NC software Release
280 474-08 09/98 Export version: 280 475-08
Other improvements
ISO: New soft key for ordering block numbers with a constant increment.
The BTS 1x0 has been added to the standard product program. Thus it is now possible to
connect 2 keyboards and 2 monitors to one LE. Both monitors are always active. You can switch
between keyboard units via a PLC input on the BTS 1x0.
Connections ID number
BTS 110 2 x BC 120 317 292-01
2 x TE 420
1 x PLC input for switching keyboards
1 x keyboard connection from the LE
1 x monitor connection from the LE
BTS 120 2 x BF 120 329 965-01
2 x TE 420
1 x PLC input for switching keyboards
1 x keyboard connection from the LE
1 x monitor connection from the LE
1 x power supply unit
The mounting foot of the TT 120 table touch probe was updated. The TT can now be secured
either with 2 fixing clamps or via an adapter with screw.
(ID number: 295 743-xx)
The PW 120 braking resistor ((Id. Nr. 333 000-01) was added to the standard product program for
the new modular controls TNC 426 M / TNC 430 M. It should be used from a spindle power
output of 20 kW.
Continuous power: 4 kW
Peak power: 36 kW (2% cyclic duration factor at a cycle duration of 120 seconds)
If the LE 426 M / LE 430 M is being run with the HEIDENHAIN compact inverter or with the
SIMODRIVE 611 D, either the UV 102 or the UV 101 is necessary for power supply to the LE.
Voltage must be supplied to terminals U1 and U2 at X31 of the UV 10x via an isolating
transformer (250 VA). A simple insulation is sufficient for the isolating transformer (basic
insulation in accordance with EN 50178 or VDE 0550).
1.1 Hardware
The PLC input/output unit PL 405 B (Id. Nr. 263 371-22) has been added to the standard product
program. The PL 405 B has 32 switching inputs (24 Vdc) and 15 switching outputs (24 Vdc). No
further PL can be connected to the PL 405 B.
1.2 NC software
The following NC software versions have been released:
NC software Release
280 470-11 06/98 Export version: 280 471-11
Improvements:
Improvements:
Call:
PS B/W/D/K <axis number>
PS B/W/D/K <new ref value in 1/10 m>
CM 9147
Error code: M4203 = 0: No error
M4203 = 1: Error code in W1022
W1022 = 2: Invalid axis number
W1022 = 21: Missing strobe or M4176 = 1
W1022 = 24: Module was called in SPAWN or SUBMIT job
Call:
PS B/W/D/K <axes bit-coded>
CM 9155
Error code: M4203 = 0: No error
M4203 = 1: Error code in W1022
W1022 = 2: Invalid axis number
W1022 = 21: W1022 = 21: Missing strobe or M4176 = 1
W1022 = 24: Module was called in SPAWN or SUBMIT job
Module 9156 is new:
With 9156 you can switch axes that you have already switched from controlled to non-controlled
status with 9155, back to controlled status.
Call:
PS B/W/D/K <axes bit-coded>
CM 9156
Error code: M4203 = 0: No error
M4203 = 1: Error code in W1022
W1022 = 2: Invalid axis number
W1022 = 21: W1022 = 21: Missing strobe or M4176 = 1
W1022 = 24: Module was called in SPAWN or SUBMIT job
Module 9220 was expanded:
Module 9220 (traverse over the reference marks a second time) also has effect for PLC axes.
Module 9225 was expanded:
With module 9225 a compensation value can be assigned to the zero pulse before reference-
mark traverse. It is then possible to use encoders with more than one reference mark. The
compensation value must be the distance between the reference mark being traversed and the
reference mark whose distance to the machine datum is entered in MP960.x. Both NC and PLC
axes can be selected.
Call:
PS B/W/D/K <axis>
0 to 8 = axis 1 to 9
15 = spindle
PS B/W/D/K <compensation value>
0 = starting value for zero pulse
CM 9225
PL B/W/D <error code>
1 = axis does not exist
Error code: M4203 = 0: No error
M4203 = 0: Axis does not exist
Improvements:
Two motors which are coupled mechanically constitute one master-slave torque pair.
The position control of the slave is deactivated. The nominal speed of the master axis is the same as
the nominal speed of the slave axis. The speed controllers for both axes are active - independent of
each other. The variables of the speed controllers, the nominal torque currents, weighted with the
torque constants of the motors are compared with each other. A torque bias (MP2900.x) can be
added to the comparison at this point. To enable a distribution of the drive torques, the nominal
torque of the slave axis can be multiplied by a weighting factor (MP2920.x). The result at this
comparison point is input into a torque compensating controller (MP2910.x) which amplifies it
proportionally. The variable of this torque compensating controller is a speed compensation value,
which is divided and added to the current nominal speed values of the master and slave axes,
usually in equal proportions. Sometimes however it may be useful to distribute the speed
compensation value in an unequal ratio between master and slave axis. Thus a factor for variable
speed compensation (MP2930.x) can be entered.
With NC software 280 474-05, it is possible to move an axis and a spindle with the same servo
drive. This is called C-axis operation as the spindle motor of the tool axis Z is often used also to drive
a rotary axis. The rotary axis corresponding to the tool axis Z is the C axis. It is however possible to
drive any other axis with the spindle drive. The spindle and the axis can each have their own position
encoder. As the speed encoder is built into the motor, both spindle and axis will have the same
speed encoder.
Enter the encoder inputs in the corresponding machine parameters, e.g.:
MP110.3: 4 (X4: position encoder for the C-axis)
MP111.0: 6 (X6: position encoder for the spindle)
MP112.3: 0 (speed encoder for the C axis: the speed encoder for the spindle is used
from MP113.0)
MP113.0: 60 (X60: speed encoder for the spindle)
The spindle and the axis can only be operated digitally. It is not important whether the digital spindle
has its own spindle DSP or not.
As the same drive is used for the axis and the spindle, the same output is entered in the machine
parameter for nominal speed value outputs, e.g.:
MP120.3: 61 (X61: PWM output for the C-axis)
MP121.0: 61 (X61: PWM output for the spindle)
Commissioning of the current and speed controller only takes place for the spindle; the value zero is
entered in the machine parameter for the current and speed controller of the axis (MP2xxx.x).
Commissioning of the position encoders is separate for the spindle and for the axis.
Use bit 15 (spindle) from module 9161 to enable the integrated drive controller (current and speed
controller) for the axis and the spindle.
If the position controller for the axis is closed (corresponding bit set in W1024), the output of a
spindle speed has no effect. For a spindle speed to be output, the position controller for the axis
needs to be open (corresponding bit not set in W1024). An axis can be switched from controlled to
noncontrolled status with module 9155. With module 9156 controlled status is regained and an
automatic actual and nominal position capture is carried out.
The following improvements to the user functions have been made to date in NC software version
280 474-xx:
Improvement From NC
software
In the creation of OEM cycles, a separate standard value entry for INCH programs is
supported.
F AUTO can be programmed in OEM cycles.
New touch-probe cycles for workpiece measurement, with datum setting and sensor
calibration.
With the touch-probe cycles 6, 7, 8, 16, 17 and 18, it is now also possible to digitize
just one line only.
The Q parameters Q150 to Q167 and Q180 to Q182 are used for the measurement
results of the touch-probe cycles.
M128 with radius compensation: The radius compensation RR/RL is effective in the
plane perpendicular to the tool axis programmed in TOOL CALL.
New soft key: F MAX
In the Program Run/Single Block and Program Run/Full Sequence modes, the rapid
traverse speed can be reduced. 280 474-01
New soft key: STATUS OF M FUNCT.
The active M functions are displayed in their own status window.
M118 positioning can be shown in the status display.
Indexed tools can be entered.
In the NC editor it is possible to mark program sections and then copy or delete them.
ISO: When the tool numbers are programmed, finishing allowances can be entered.
With M128 you can enter a feed rate for the max. speed of the linear-axis
compensation movements.
Cycle 205: Universal pecking
Cycle 206: Tapping with floating tap holder
Cycle 207: Rigid tapping
Cycle 208: Helical finish milling
Cycle 200 (Drilling) expanded by input parameters for the dwell time at the bottom of
the hole.
Cycle 203 (Universal drilling) expanded by input parameters for the retraction path
during chip breaking.
Cycle 220 (circle pattern) and Cycle 221 (line pattern) expanded by input parameter as
to whether or not the safety clearance should be approached between the
machinings in the pattern.
The cycles 210, 211, 212, 213, 214, 215, 220, 221 are now prepositioned with a
positioning logic.
Touch-probe cycles 410 to 418 expanded by input parameter allowing the datum be
set unequal to zero. 280 474-03
Cycle 28: Cylinder surface slot
ISO: With G36 (spindle orientation), a Q parameter can be programmed as the angle.
ISO: In Cycle G80 (Tilt the working plane), a feed rate and a setup clearance can be
programmed as an option .
Cycle 202 (Boring) and Cycle 204 (Back boring) were expanded by input parameter for
angle of spindle orientation. 280 474-04
1.1 NC Software
NC Software Release
280 474 03 04/98 Export version: 280 475 03
There is a new User's Manual for the NC software 280 474 xx.
Improvements:
MP111 changed to MP111.0 and MP111.1:
(see also section 1.2 New Functions for a Second Spindle)
MP111.0 Position encoder for the first spindle
MP111.1 Position encoder for the second spindle
Input: 0= no position encoder
1 to 6 = position encoder inputs X1 to X6
35 to 38 = position encoder inputs X35 (only LE 430 M/9 axes) to X38
MP112 is new:
Assignment of speed encoder inputs to the axes
Input: Connector designations (see table)
MP112.0 to MP112.8 = axis 1 to axis 9
Axis 1 2 3 4 5 6 7 8 9
MP110.x 1 to 6
LE 426 M MP112.x 15 to 19
MP120.x 51 to 55
MP110.x 1 to 6
LE 430 M / MP112.x 15 to 20
6 axes MP120.x 51 to 56
MP110.x 1 to 6 and 35 to 38
LE 430 M / MP112.x 15 to 20 62 to 64
9 axes MP120.x 51 to 56 57 to 59
Call:
PS B/W/D/K <Number of the PL>
0: First PLC input/output board
1: Second PLC input/output board
2: Third PLC input/output board
3: Fourth PLC input/output board
PS D/K <Bit 0...31 = PL input 0...31>
PS D/K <Bit 0...31 = PL input 32...63>
CM 9008
Error recognition: M4203 = 0: Inputs were read
M4203 = 1: Error code in W1022
W1022 = 2: Invalid PL number or PL not connected
W1022 = 20: Module was called from a SPAWN job or submit job.
Call:
PS B/W/D/K <number of the PL>
0: First PLC input/output board
1: Second PLC input/output board
2: Third PLC input/output board
3: Fourth PLC input/output board
PS D/K <Bit 0...31 = PL output 0...31>
CM 9009
Error flag: M4203 = 0: Outputs were set
M4203 = 1: Error code in W1022
W1022 = 2: Invalid PL number or PL not connected
W1022 = 20: Module was called from a SPAWN job or submit job.
Module 9088 has been added:
M functions are shown in their own status window, which is called with a new soft key. The
upper part of the window shows the M functions of the NC. The lower part shows the M
functions that are activated by the PLC. These M functions are shown by means of Module
9088.
Call:
PS B/W/D/K <Number of the M function>
PS B/WD/K <Mode>
-1: Delete all M functions
0: Delete M function
1: Display M function
CM 9088
Error recognition: M4203 = 0: M function displayed or deleted
M4203 = 1: Error code in W1022
W1022 = 1: Invalid M function number
W1022 = 2: Invalid mode number
Module 9091 has been added:
Module 9091 can find the line number of a tool in the tool table. This is required for the use of
indexed tools, because Modules 9092, 9093 and 9094 need the line number.
Call:
PS B/W/D/K <Tool number>
PS B/WD/K <Index number>
CM 9091
PL B/W/D <Line number>
Error recognition: M4203 = 0: line number were shown
M4203 = 1: Error code in W1022
W1022 = 2: Invalid value for tool number or index number
W1022 = 20: Module was called from a SPAWN job or submit job.
W1022 = 29: Tool table (TOOL.T) missing
W1022 = 30: Tool number not found
W1022 = 32: Index number not found
Call:
PS B/W/D/K <axes bit coded>
CM 9145
Error recognition: M4203 = 0: Automatic actual and nominal value transfer
M4203 = 1: Error code in W1022
W1022 = 2: Invalid axis number
W1022 = 24: Missing M/S/T/T2/G strobe or M4176 = 1
Module 9175 has been added:
With Module 9175 the first or second spindle can be activated (see also section
1.2 New Functions for a Second Spindle).
Call:
PS B/W/D/K <Spindle number> 0 = first spindle
1 = second spindle
CM 9175
Error recognition: M4203 = 0: Given spindle was activated
M4203 = 1: Error code in W1022
W1022 = 2: Invalid spindle number
W1022 = 20: Module was called from a SUBMIT job.
W1022 = 21: Missing strobe or M4176 = 1
Module 9202 has been expanded:
With the new transfer value 3, Module 9202 can now activate a PLC window while a table editor
is active.
Call:
PS B/W/D/K <display mode>
0: PLC soft key and window deselected
1: PLC soft key and window (small) selected
2: PLC soft key and window (large) selected
3: PLC soft key and window (large) selected while the table editor is active
CM 9202
Error recognition: M4203 = 0: No error
M4203 = 1: Transfer parameter is incorrect
NC software 280 474 03 makes it possible to control a second spindle. Control of the second spindle
can be digital (not on an LE 426 M without spindle DSP) or analog. The second spindle is controlled
in place of an axis, which means that one available axis must be sacrificed to control a second
spindle.
Note: The PWM output in gray can be used for the second spindle if a modular HEIDENHAIN
inverter is used.
The digital second spindle should be operated in place of the axis shown in the above table, because
otherwise the same machine parameters set in MP2020.x to MP2800.x may apply both for the axis
and the spindle. Axis-specific machine parameters that are not needed for the second spindle are
set to zero. Because the second spindle is described by axis parameters, it may not have all the
machine parameters that are available for the second spindle.
Call:
PS B/W/D/K <Spindle number>
0 = first spindle
1 = second spindle
CM 9175
Error recognition: M4203 = 0: Indicated spindle is activated
M4203 = 1: Error code in W1022
W1022 = 2: Invalid spindle number
W1022 = 20: Module was called from a SUBMIT job.
W1022 = 21: Missing strobe or M4176 = 1
1.1 NC software
The following NC software version has been released:
NC software Release
280 472 07 02/98 Export version: 280 473 07
Improvements:
FN18: SYSREAD expanded:
Certain tool data can be read from the tool tables.
ID50
NRxx System datum
IDXxxxx Tool number (0 = current tool)
FN18: SYSREAD expanded:
The current datum shift can be read.
ID220
NR2
IDXx Axis number (1 to 9 = X/Y/Z/A/B/C/U/V/W)
FN18: SYSREAD expanded:
The current PLC datum shift can be read.
ID220
NR4
IDXx Axis number (1 to 9 = X/Y/Z/A/B/C/U/V/W)
Module 9008 new:
The current conditions of certain inputs on the PLC I/O unit are read to PLC addresses (see
Mounting and Electrical Installation). These addresses remain unchanged until this module or
module 9002 is called. It is not known however whether a PLC I/O unit is actually connected;
with NC software 280 474 xx, this is known.
Call:
PS B/W/D/K <Number of the PL>
0: First PLC I/O unit
1: Second PLC I/O unit
2: Third PLC I/O unit
3: Fourth PLC I/O unit
PS D/K <Bit 0...31 = PL input 0...31>
PS D/K <Bit 0...31 = PL input 32...63>
CM 9008
Error code: M4203 = 0: Inputs were read
M4203 = 1: Error code in W1022
W1022 = 2: PL number not valid
(280 474 xx: PL not connected or invalid PL number)
W1022 = 20: Module was called in SPAWN or submit job.
Module 9009 new:
Certain outputs of a PLC I/O unit can be set. The outputs are set or reset at the same time as the
module is being executed. The outputs remain in this state until they are set again with this
module or module 9005. It is not known however whether a PLC I/O unit is actually connected;
with NC software 280 474 xx, this is known.
Call:
PS B/W/D/K <Bit-coded axes>
CM 9145
Error code: M4203 = 0: Automatic actual and nominal value transfer
M4203 = 1: Error code in W1022
W1022 = 2: Axis number not valid
W1022 = 24: M/S/T/T2/G strobe missing or M4176 = 1
MP6120, MP6350, MP6360, MP6520 expanded:
Minimum input value reduced to 1 mm/min
MP7260 expanded:
Max. input value reduced to 30 000
MP7683 expanded:
Bit 3: If bit 3 and bit 2 are set, machining begins again at the first line when the end of a pallet
table is reached.
MP6500 expanded:
Bit12: 0 = a PLC datum shift is not taken into consideration during tool measurement.
1 = a PLC datum shift is taken into consideration during tool measurement.
MP2180 new:
PWM frequency for the axes and the spindle (without spindle DSP). If 0 is input, the standard
PWM frequency of 5 000 Hz will be used. The values between 1 Hz and
2 999 Hz, and between 7 001 Hz and 10 000 Hz will lead to a DSP error message (DSP ERROR
FF0A) after the message POWER INTERRUPTION has been acknowledged.
See also 1.2 Current reduction with SIMODRIVE power stages at a high PWM frequency
Input: 0. 3 000 to 10 000 [Hz]
MP7500 expanded:
An offset results is the spindle head is exchanged in the basic position.
Bit 4: 0 = this offset is not compensated until M128, M114 or "Tilt working plane" is called.
1 = this offset can be compensated via PLC datum shift.
It is not compensated again if M128, M114 or "Tilt working plane" is called.
MP7550.x new:
Angular coordinates of the basic position of the tilting unit in the machine coordinate system.
With input value 0 in MP7550.x, the description of the tilting unit from MP7510, MP7520,
MP7530 will be based on the position 0 in the machine coordinate system.
Input: 99 999,9999 to +99 999,9999
MP7550.1 A-axis
MP7550.2 B-axis
MP7550.3 C-axes
MP120.x, MP121 input values changed:
Assignment of the nominal speed value outputs to the axes through indication of the connector
and/or pin number.
0 = no controlled axis/spindle
1 = nominal analog value at X8/1
2 = nominal analog value at X8/2
3 = nominal analog value at X8/3
4 = nominal analog value at X8/4
5 = nominal analog value at X8/5
6 = nominal analog value at X8/6
7 = nominal analog value at X9/7
8 = nominal analog value at X9/8
9 = nominal analog value at X9/9
10 = nominal analog value at X9/10
11 = nominal analog value at X9/11
12 = nominal analog value at X9/12
13 = nominal analog value at X9/13
51 = nominal digital value at X51
52 = nominal digital value at X52
53 = nominal digital value at X53
54 = nominal digital value at X54
55 = nominal digital value at X55
56 = nominal digital value at X56
57 = nominal digital value at X57
58 = nominal digital value at X58
59 = nominal digital value at X59
61 = nominal digital value at X61
NC software Release
280 474 02 01/98 Export version: 280 475 02
No improvements
SIEMENS power stages are usually operated at a PWM frequency of 3.2kHz (spindle) and 4kHz
(axes). The rated currents IN are defined for these frequencies.
If these power stages are operated at a higher PWM frequency (5kHz), the modules can, in certain
cases, overheat (in particular 6SN1123-1AA00-0CA0 and 6SN1123-1AB00-0CA0 as axis modules). In
machines where the modules are not used to their full capacity, there is no danger of overheating.
The percentage reduction of the rated current can be calculated using the following formula:
From this we get the following reference value for I2t monitoring:
X [%]
XB = 1 R 100 ;
Note:
The reduction of the rated current of the power stage can cause a reduction in the rated torque and
the rated power of the motor, if the rated current of the power stage and the rated current of the
motor had been set the same.
If you wish you can reduce the rated currents IN of your power stages in the power stage table
motor.amp, using the calculated reduction values, or lower the reference value for I2t monitoring.
The edited motor.amp table will automatically be stored in the PLC partition.