Page 1
P3: Basic PLC program for SINUMERIK 840D sl P4: PLC for SINUMERIK 828D R1: Referencing Valid for S1: Spindles Controllers SINUMERIK 840D sl / 840DE sl V1: Feedrates SINUMERIK 828D W1: Tool offset Software Version CNC software 4.7 SP1 Z1: NC/PLC interface signals...
Page 2
Note the following: WARNING Siemens products may only be used for the applications described in the catalog and in the relevant technical documentation. If products and components from other manufacturers are used, these must be recommended or approved by Siemens. Proper transport, storage, installation, assembly, commissioning, operation and maintenance are required to ensure that the products operate safely and without any problems.
Training For information about the range of training courses, refer under: ● www.siemens.com/sitrain SITRAIN - Siemens training for products, systems and solutions in automation technology ● www.siemens.com/sinutrain SinuTrain - training software for SINUMERIK FAQs You can find Frequently Asked Questions in the Service&Support pages under Product Support.
Page 4
Preface SINUMERIK You can find information on SINUMERIK under the following link: www.siemens.com/sinumerik Target group This publication is intended for: ● Project engineers ● Technologists (from machine manufacturers) ● System startup engineers (Systems/Machines) ● Programmers Benefits The function manual describes the functions so that the target group knows them and can select them.
Page 5
The description of functions include as <signal address> of an NC/PLC interface signal, only the address valid for SINUMERIK 840D sl. The signal address for SINUMERIK 828D should be taken from the data lists "Signals to/from ..." at the end of the particular description of functions.
Page 6
Preface Quantity structure Explanations concerning the NC/PLC interface are based on the absolute maximum number of sequential components: ● Mode groups (DB11) ● Channels (DB21, etc.) ● Axes/spindles (DB31, etc.) Data types The control provides the following data types that can be used for programming in part programs: Type Meaning...
Table of contents Preface.................................3 Fundamental safety instructions.........................33 General safety instructions.....................33 Industrial security........................33 A2: Various NC/PLC interface signals and functions.................35 Brief description........................35 NC/PLC interface signals - only 840D sl................35 2.2.1 General..........................35 2.2.2 Ready signal to PLC......................37 2.2.3 Status signals to PLC......................37 2.2.4 Signals to/from the operator panel front.................38 2.2.5...
Page 8
Table of contents 2.5.3 Signals...........................74 2.5.3.1 Signals to NC.........................74 2.5.3.2 Signals from NC........................74 2.5.3.3 Signals to operator panel front....................75 2.5.3.4 Signals from operator panel front...................75 2.5.3.5 Signals to channel........................76 2.5.3.6 Signals from channel......................76 2.5.3.7 Signals to axis/spindle......................76 2.5.3.8 Signals from axis/spindle.......................76 A3: Axis Monitoring, Protection Zones.......................79 Brief description........................79 3.1.1...
Page 9
Table of contents 3.3.6 Protection zone violation and temporary enabling of individual protection zones....144 3.3.7 Restrictions in protection zones...................148 3.3.8 Checking for protection zone violation, working area limitation and software limit switches (CALCPOSI)......................149 Supplementary conditions....................159 3.4.1 Axis monitoring functions.....................159 Examples..........................159 3.5.1 Axis monitoring functions.....................159 3.5.1.1...
Page 10
Table of contents 4.5.2 Compression of short spline blocks..................230 4.5.3 Supplementary conditions....................231 Contour/Orientation tolerance....................232 Tolerance and compression of G0 blocks................235 RESET behavior........................238 Supplementary conditions....................238 4.9.1 Block change and positioning axes..................238 4.9.2 Block change delay......................239 4.10 Data lists..........................239 4.10.1 Machine data........................239 4.10.1.1 General machine data......................239 4.10.1.2...
Page 11
Table of contents 5.2.8.2 Parameterization........................256 5.2.9 Excessive acceleration for non-tangential block transitions (axis-specific)......256 5.2.9.1 General Information......................256 5.2.9.2 Parameterization........................257 5.2.10 Acceleration margin for radial acceleration (channel-specific)..........257 5.2.10.1 General Information......................257 5.2.10.2 Parameterization........................258 5.2.11 Jerk limitation with path interpolation (SOFT) (channel-specific).........259 5.2.11.1 General Information......................259 5.2.11.2 Parameterization........................261 5.2.11.3...
Page 13
Table of contents 7.4.4 Speed setpoint output......................345 7.4.5 Machine data of the actual value system................347 7.4.6 Actual-value resolution......................348 7.4.6.1 Machine data of the actual value resolution.................348 7.4.6.2 Example: Linear axis with linear scale.................351 7.4.6.3 Example: Linear axis with rotary encoder on motor.............352 7.4.6.4 Example: Linear axis with rotary encoder on the machine...........353 7.4.6.5...
Page 14
Table of contents Programmable output duration.....................414 Auxiliary function output to the PLC..................415 8.10 Auxiliary functions without block change delay..............416 8.11 M function with an implicit preprocessing stop..............417 8.12 Response to overstore......................417 8.13 Behavior during block search....................418 8.13.1 Auxiliary function output during type 1, 2, and 4 block searches.........418 8.13.2 Assignment of an auxiliary function to a number of groups..........420 8.13.3...
Page 15
Table of contents 9.5.2 Program execution in single-block mode................473 9.5.3 Program execution with dry run feedrate................475 9.5.4 Skip part-program blocks.....................477 Workpiece simulation......................478 Block search, types 1, 2, and 4:...................479 9.7.1 Description of the function....................480 9.7.2 Block search in connection with other NCK functions............482 9.7.2.1 ASUB after and during block search..................482 9.7.2.2...
Page 16
Table of contents 9.9.10.1 Jump back to start of program.....................538 9.9.11 Program section repetitions....................540 9.9.11.1 Overview..........................540 9.9.11.2 Individual part program block....................541 9.9.11.3 A part program section after a start label................542 9.9.11.4 A part program section between a start label and end label..........543 9.9.11.5 A part program section between a Start label and the key word: ENDLABEL.....544 9.9.12...
Page 17
Table of contents 9.14.8 Executing external subprograms (EXTCALL)..............600 9.15 EES (optional)........................603 9.15.1 Function..........................603 9.15.2 Commissioning........................604 9.15.2.1 Preconditions........................604 9.15.2.2 Global part program memory (GDIR)...................606 9.15.2.3 Settings for file handling in the part program for EES............607 9.15.2.4 Memory configuration......................609 9.16 System settings for power-up, RESET / part program end and part program start.....609 9.16.1 Tool withdrawal after POWER ON with orientation transformation........614 9.17...
Page 18
Table of contents 10.1.2 Coordinate systems......................663 10.1.3 Frames..........................664 10.2 Axes.............................667 10.2.1 Overview..........................667 10.2.2 Machine axes........................669 10.2.3 Channel axes........................670 10.2.4 Geometry axes........................670 10.2.5 Special axes.........................670 10.2.6 Path axes..........................671 10.2.7 Positioning axes........................671 10.2.8 Main axes..........................672 10.2.9 Synchronized axes.......................673 10.2.10 Axis configuration.........................675 10.2.11 Link axes..........................677 10.3 Zeros and reference points....................678...
Page 19
Table of contents 10.5.4.4 Manual traversing of geometry axes either in the WCS or in the SZS ($AC_JOG_COORD)......................726 10.5.4.5 Suppression of frames......................727 10.5.5 Frames of the frame chain....................728 10.5.5.1 Overview..........................728 10.5.5.2 Settable frames ($P_UIFR[<n>])..................729 10.5.5.3 Grinding frames $P_GFR[<n>].....................730 10.5.5.4 Channel-specific basic frames[<n>]..................732 10.5.5.5 NCU-global basic frames $P_NCBFR[<n>].................734 10.5.5.6...
Page 20
12.6 Data lists..........................820 12.6.1 Machine data........................820 12.6.1.1 Channelspecific machine data.....................820 12.6.1.2 Axis/spindlespecific machine data..................820 P3: Basic PLC program for SINUMERIK 840D sl..................821 13.1 Brief description........................821 13.2 Key data of the PLC CPU....................823 13.3 PLC operating system version.....................824 13.4 PLC mode selector.......................824 13.5...
Page 21
Table of contents 13.7.5 Data backup.........................828 13.7.6 PLC series startup, PLC archive..................828 13.7.7 Software upgrade.........................831 13.7.8 I/O modules (FM, CP modules)....................831 13.7.9 Troubleshooting........................832 13.8 Coupling of the PLC CPU....................833 13.8.1 General..........................833 13.8.2 Properties of the PLC CPU....................833 13.8.3 Interface with integrated PLC....................833 13.8.4 Diagnostic buffer on PLC.....................835 13.9...
Page 22
Table of contents 13.14.2 Performing a start-up......................895 13.14.3 Example..........................896 13.15 Memory requirements of the basic PLC program..............897 13.16 Basic conditions and NC VAR selector................900 13.16.1 Supplementary conditions....................900 13.16.1.1 Programming and parameterizing tools................900 13.16.1.2 SIMATIC documentation required..................902 13.16.1.3 Relevant SINUMERIK documents..................902 13.16.2 NC VAR selector........................903 13.16.2.1...
Page 23
Table of contents 13.17.4.35 PI service: FDPLMT......................964 13.17.5 FB5: GETGUD - read GUD variable..................965 13.17.6 FB7: PI_SERV2 - request PI service..................973 13.17.7 FB9: MtoN - operator panel switchover................974 13.17.8 FB10: Safety relay (SI relay)....................979 13.17.9 FB11: Brake test........................981 13.17.10 FB29: Signal recorder and data trigger diagnostics.............987 13.17.11 FC2 : GP_HP - basic program, cyclic section..............990 13.17.12...
Page 24
Table of contents 13.20.2.1 Signals from operator panel....................1077 P4: PLC for SINUMERIK 828D......................1079 14.1 Overview..........................1079 14.1.1 PLC firmware........................1079 14.1.2 PLC user interface......................1079 14.1.2.1 Data that are cyclically exchanged..................1081 14.1.2.2 Alarms and messages......................1081 14.1.2.3 Retentive data........................1082 14.1.2.4 Non-retentive data......................1082 14.1.2.5 PLC machine data......................1082 14.1.3 PLC key data........................1082 14.1.4...
Page 25
Table of contents 14.6.4.4 Spindle positioning......................1128 14.6.4.5 Rotate spindle........................1129 14.6.4.6 Oscillate spindle.........................1131 14.6.4.7 Indexing axis........................1132 14.6.4.8 Positioning axis metric.......................1134 14.6.4.9 Positioning axis inch......................1135 14.6.4.10 Positioning axis metric with handwheel override..............1137 14.6.4.11 Positioning axis inch with handwheel override..............1138 14.6.4.12 Rotate spindle with automatic gear stage selection............1140 14.6.4.13 Rotate spindle with constant cutting rate [m/min]...............1141 14.6.4.14...
Page 26
Table of contents 15.9.8 Enabling the measurement system..................1188 15.9.9 Referencing variants not supported...................1190 15.10 Automatic restoration of the machine reference..............1190 15.10.1 Automatic referencing......................1191 15.10.2 Restoration of the actual position..................1192 15.11 Supplementary conditions....................1194 15.11.1 Large traverse range......................1194 15.12 Data lists..........................1195 15.12.1 Machine data........................1195 15.12.1.1 NC-specific machine data....................1195...
Page 27
Table of contents 16.6 Selectable spindles......................1269 16.7 Programming........................1272 16.7.1 Programming from the part program..................1272 16.7.2 Programming via synchronized actions................1276 16.7.3 Programming spindle controls via PLC with FC18 - only 840D sl........1276 16.7.4 Special spindle motion via the PLC interface..............1277 16.7.5 External programming (PLC, HMI)..................1282 16.8 Spindle monitoring......................1283...
Page 28
Table of contents 17.2.3.4 Fast retraction during thread cutting..................1322 17.2.3.5 Convex thread (G335, G336).....................1326 17.2.4 Feedrate for tapping without compensating chuck (G331, G332)........1331 17.2.5 Feedrate for tapping with compensating chuck (G63)............1332 17.3 Feedrate for positioning axes (FA)..................1333 17.4 Feedrate control.........................1334 17.4.1 Feedrate disable and feedrate/spindle stop...............1334 17.4.2...
Page 30
Table of contents 18.8.1 G91 extension........................1481 18.8.2 Machining in direction of tool orientation................1483 18.9 Basic tool orientation......................1484 18.10 Special handling of tool compensations................1488 18.10.1 Relevant setting data......................1488 18.10.2 Mirror tool lengths (SD42900 $SC_MIRROR_TOOL_LENGTH)........1489 18.10.3 Mirror wear lengths (SD42920 $SC_WEAR_SIGN_CUTPOS)..........1490 18.10.4 Tool length and plane change (SD42940 $SC_TOOL_LENGTH_CONST).......1491 18.10.5 Tool type (SD42950 $SC_TOOL_LENGTH_TYPE)............1492...
Page 31
Table of contents Z1: NC/PLC interface signals.........................1551 19.1 Various interface signals and functions (A2)..............1551 19.1.1 Signals from PLC to NC (DB10)..................1551 19.1.2 Selection/Status signals from HMI to PLC (DB10).............1551 19.1.3 Signals from the NC to the PLC (DB10)................1552 19.1.4 Signals to Operator Panel (DB19)..................1556 19.1.5 Signals from operator control panel (DB19)...............1561 19.1.6...
Page 32
Table of contents 19.11.2 Signals from axis/spindle (DB31, ...)..................1642 19.12 Feeds (V1).........................1652 19.12.1 Signals to channel (DB21, ...)....................1652 19.12.2 Signals to axis/spindle (DB31, ...)..................1663 19.12.3 Signals from axis/spindle (DB31, ...)..................1670 Appendix..............................1671 List of abbreviations......................1671 Documentation overview....................1680 Glossary..............................1681 Index...............................1703 Basic Functions Function Manual, 01/2015, 6FC5397-0BP40-5BA2...
Siemens recommends strongly that you regularly check for product updates. For the secure operation of Siemens products and solutions, it is necessary to take suitable preventive action (e.g. cell protection concept) and integrate each component into a holistic, state-of-the-art industrial security concept.
Page 34
● Keep the software up to date. You will find relevant information and newsletters at this address (http:// support.automation.siemens.com). ● Incorporate the automation and drive components into a holistic, state-of-the-art industrial security concept for the installation or machine. You will find further information at this address (http://www.siemens.com/...
A2: Various NC/PLC interface signals and functions Brief description Contents The PLC/NCK interface comprises a data interface on one side and a function interface on the other. The data interface contains status and control signals, auxiliary functions and G functions, while the function interface is used to transfer jobs from the PLC to the NCK. This Description describes the functionality of interface signals, which are of general relevance but are not included in the Descriptions of Functions.
Page 36
A2: Various NC/PLC interface signals and functions 2.2 NC/PLC interface signals - only 840D sl Cyclic signal exchange The following interface signals are transferred cyclically, i.e. in the clock grid of the OB1, by the basic PLC program: ● NC and operator-panel-front-specific signals ●...
A2: Various NC/PLC interface signals and functions 2.2 NC/PLC interface signals - only 840D sl References ● Description of the basic PLC program: → Function Manual, Basic Functions, Basic PLC Program (P3) ● Description of the event-driven signal exchange (auxiliary and G functions): →...
A2: Various NC/PLC interface signals and functions 2.2 NC/PLC interface signals - only 840D sl DB10 DBX109.6 (ambient temperature alarm) The ambient temperature or fan monitoring function has responded. DB10 DBX109.7 (NCK battery alarm) The battery voltage has dropped below the lower limit value. The control can still be operated. A control system shutdown or failure of the supply voltage will lead to loss of data.
Page 39
A2: Various NC/PLC interface signals and functions 2.2 NC/PLC interface signals - only 840D sl Screen darkening via keyboard/automatic screen saver If no buttons are pressed on the operator panel front within the assigned time (default = 3 minutes): MD9006 $MM_DISPLAY_BLACK_TIME (time for screen darkening), the screen is automatically darkened.
A2: Various NC/PLC interface signals and functions 2.2 NC/PLC interface signals - only 840D sl DB19 DBB17 (part program handling: Index of the file to be transferred from the user list) Control byte for file transfer via hard disk to indicate the line in the user control file in which the control file to be transferred is stored DB19 DBB26 (part program handling: Status) Status byte for current status of data transfer for "select", "load"...
Page 41
A2: Various NC/PLC interface signals and functions 2.2 NC/PLC interface signals - only 840D sl DB31, ... DBX1.3 (axis/spindle disable) Stationary axis If the interface signal is set for a stationary axis, all travel request are ignored as of this time. The travel requests are retained.
Page 42
A2: Various NC/PLC interface signals and functions 2.2 NC/PLC interface signals - only 840D sl During "hold", clamping or standstill monitoring are active. Note The following error is suddenly corrected if the controller enable is set without complying with the axial acceleration characteristic (speed jump). Application example Positioning response of machine axis Y following clamping when "controller enable"...
Page 43
A2: Various NC/PLC interface signals and functions 2.2 NC/PLC interface signals - only 840D sl Figure 2-3 Trajectory for clamping and "follow-up" Drives with analog setpoint interface A drive with an analog setpoint interface is capable of traversing the machine axis with an external setpoint.
Page 44
A2: Various NC/PLC interface signals and functions 2.2 NC/PLC interface signals - only 840D sl not exceeded during follow-up mode. If the encoder limit frequency is exceeded, the controller will detect this: ● DB31, ... DBX60.4 / 60.5 = 0 (referenced/synchronized 1 / 2) ●...
Page 45
A2: Various NC/PLC interface signals and functions 2.2 NC/PLC interface signals - only 840D sl Functionality of the "Position measuring system 1 / 2" interface signals in conjunction with the "Controller enable": DB31, ... DB31, ... DB31, ... Function DBX1.5 DBX1.6 DBX2.1 Position measuring system 1 active...
Page 46
A2: Various NC/PLC interface signals and functions 2.2 NC/PLC interface signals - only 840D sl Alarm: "21612 Controller enable reset during motion" ● The machine axis is decelerated taking into account the parameterized duration of the braking ramp for error states with a fast stop (speed setpoint = 0): MD36610 $MA_AX_EMERGENCY_STOP_TIME (max.
Page 47
A2: Various NC/PLC interface signals and functions 2.2 NC/PLC interface signals - only 840D sl Figure 2-5 Cancelling the controller enable when the machine axis is in motion DB31, ... DBX2.2 (distance-to-go/spindle reset (axis/spindle-specific)) "Delete distance-to-go" is effective in AUTOMATIC and MDA modes only in conjunction with positioning axes.
A2: Various NC/PLC interface signals and functions 2.2 NC/PLC interface signals - only 840D sl Controller parameter set DBX9.2 DBX9.1 DBX9.0 Parameter set changeover must be enabled via the machine data (not required for spindles): MD35590 $MA_PARAMSET_CHANGE_ENABLE = 1 or 2 For detailed information on the parameter set changeover, see Section "Parameter set selection during gear step change (Page 1246)".
Page 49
A2: Various NC/PLC interface signals and functions 2.2 NC/PLC interface signals - only 840D sl DB31, ... DBX61.0 == 1 (drive test travel request) The motion is carried out once the motion is enabled: DB31, ... DBX1.0 == 1 (drive test travel enable) DB31, ...
A2: Various NC/PLC interface signals and functions 2.2 NC/PLC interface signals - only 840D sl 2.2.8 Signals to axis/spindle (digital drives) DB31, ... DBX21.0 - 4 (requesting a switchover of a motor and/or drive data set) The PLC issues a request to the drive to switch over to a new motor and/or drive data set. The interface can be flexibly parameterized using: DB31, ...
A2: Various NC/PLC interface signals and functions 2.2 NC/PLC interface signals - only 840D sl ● Setpoint enable ● "Ready to run state" – No drive alarm (DClink1 error) – DC link connected – Ramp-up completed Feedback signal via: DB31, ... DBX93.7 (pulses enabled) 2.2.9 Signals from axis/spindle (digital drives) DB31, ...
Page 52
A2: Various NC/PLC interface signals and functions 2.2 NC/PLC interface signals - only 840D sl DB31, ... DBX94.1 (heat sink temperature prewarning) The temperature of the heat sink in the power unit is outside the permissible range. If the overtemperature remains, the drive switches itself off after approx. 20 s. Note Temperature prewarning DB31, ...
A2: Various NC/PLC interface signals and functions 2.3 Functions DB31, ... DBX94.5 (|n | < n The actual speed value n is less than n (speed threshold value 2, p2155). DB31, ... DBX94.6 (n The actual speed value is within the tolerance band (p2163) surrounding the speed setpoint. DB31, ...
A2: Various NC/PLC interface signals and functions 2.3 Functions 2.3.2 Settings for involute interpolation - only 840D sl Introduction The involute of the circle is a curve traced out from the end point on a "piece of string" unwinding from the curve. Involute interpolation allows trajectories along an involute. Figure 2-6 Involute (unwound from base circle) Programming...
Page 55
A2: Various NC/PLC interface signals and functions 2.3 Functions Accuracy If the programmed end point does not lie exactly on the involute defined by the starting point, interpolation takes place between the two involutes defined by the starting and end points (see illustration below).
Page 56
A2: Various NC/PLC interface signals and functions 2.3 Functions Limit angle If AR is used to program an involute leading to the base circle with an angle of rotation that is greater than the maximum possible value, an alarm is output and program execution aborted. Figure 2-8 Limited angle of rotation towards base circle The alarm display can be suppressed using the following parameter settings:...
A2: Various NC/PLC interface signals and functions 2.3 Functions MD28530 $MC_MM_PATH_VELO_SEGMENTS > 1 (number of memory elements for limiting the path velocity) A setting of 5 is recommended. This setting need not be made if only involute sections are used which have radii of curvature that change over a relatively small area. 2.3.3 Activate DEFAULT memory - only 840D sl GUD start values...
Page 58
A2: Various NC/PLC interface signals and functions 2.3 Functions Access from NC System variables are available in the NC for fast access to PLC variables from a part program or synchronized action. The data is read/written directly by the NC. The data type results from the identifier of the system variables.
Page 59
A2: Various NC/PLC interface signals and functions 2.3 Functions ● The user's programming engineer is responsible for coordinating access operations to the communications buffer from different channels. ● Data consistency can be guaranteed only for access operations up to 16 bits (byte and word).
Other status transitions have no effect in this respect. References A detailed description of the data exchange by the PLC with FC 21 can be found in: SINUMERIK 840D sl: Section "FC21: transfer PLC NCK data exchange (Page 1037)" 2.3.5 Access protection via password and keyswitch...
Page 61
● Conversely, protection rights for a certain protection level can only be altered from a higher protection level. ● Access rights for protection levels 0 to 3 are permanently assigned by Siemens and cannot be altered (default). ● Access rights can be set by querying the current keyswitch positions and comparing the passwords entered.
Example: DIAGNOSTIC operating area, softkey: SET PASSWORD References: Commissioning Manual SINUMERIK 840D sl base software and HMI sl Delete password Access rights assigned by means of setting a password remain effective until they are explicitly revoked by deleting the password.
A2: Various NC/PLC interface signals and functions 2.3 Functions Defaults The following default passwords are defined for protection levels 1 to 3: ● Protection level 1: SUNRISE ● Protection level 2: EVENING ● Protection level 3: CUSTOMER Note Following NC-CPU ramp-up in commissioning mode (NCK commissioning switch: position 1) the passwords for protection levels 1 –...
A2: Various NC/PLC interface signals and functions 2.3 Functions References ● CNC Commissioning Manual: NCK, PLC, Drives, Fundamentals, Section: Basics on the protection levels ● Commissioning Manual SINUMERIK Operate (IM9); General Settings, Section: Access levels Default settings via the PLC user program The keyswitch positions are transferred to the NC/PLC interface via the basic PLC program.
A2: Various NC/PLC interface signals and functions 2.3 Functions 2.3.6 Switching over motor/drive data sets 2.3.6.1 General Information Motor and drive data sets For optimum adaptation to the particular machining situation or because of different machine configurations, it may be necessary that several different data sets are available in a drive for motors, drive parameters and encoders.
A2: Various NC/PLC interface signals and functions 2.3 Functions Motor and drive data sets in the drive Formatting depends on the number of motor data sets (MDS) and drive data sets (DDS) in the drive. The number can be determined using the following drive parameters: ●...
A2: Various NC/PLC interface signals and functions 2.3 Functions Motor and drive data sets in the drive The number of motor data sets (MDS) and drive data sets (DDS) in the drive can be determined using the following drive parameters: ●...
A2: Various NC/PLC interface signals and functions 2.3 Functions Interfaces of the motor data sets (MDS) Relevant bit positions of the request and display interfaces: ● DB31, ... DBX21.1 / DBX93.1 – DB31, ... DBX21.1 / DBX93.1 == 0 ⇒ 1st motor data set MDS[0] –...
A2: Various NC/PLC interface signals and functions 2.3 Functions Number of motor data sets DDS per MDS Number of drive data sets per motor data set DB31, ... DBX21.x Request interface DB31, ... DBX93.x Display interface DB31, ... DBX130.x Formatting interface Figure 2-11 Principle of the motor/drive data set switchover 2.3.6.7...
A2: Various NC/PLC interface signals and functions 2.4 Examples The number of drive data sets for the individual motor data sets is therefore: Motor data set (MDS) Number of drive data sets (DDS) per motor data set (MDS) MDS[ 0 ] ... MDS[ 2 ] MDS[ 3 ] 1 - 8 Switchover instant: Drive parameter set...
Page 71
A2: Various NC/PLC interface signals and functions 2.4 Examples Machine data Comment MD32200 $MA_POSCTRL_GAIN [2, AX1] = 1.0 setting for parameter set 3 MD32200 $MA_POSCTRL_GAIN [3, AX1] = 0.5 setting for parameter set 4 MD32200 $MA_POSCTRL_GAIN [4, AX1] = 0.25 setting for parameter set 5 MD32200 $MA_POSCTRL_GAIN [5, AX1] = 0.125 setting for parameter set 6...
A2: Various NC/PLC interface signals and functions 2.5 Data lists Data lists 2.5.1 Machine data 2.5.1.1 Display machine data Number Identifier: $MM_ Description SINUMERIK Operate 9000 LCD_CONTRAST Contrast 9001 DISPLAY_TYPE Monitor type 9004 DISPLAY_RESOLUTION Display resolution 2.5.1.2 NC-specific machine data Number Identifier: $MN_ Description...
Page 73
A2: Various NC/PLC interface signals and functions 2.5 Data lists Number Identifier: $MA_ Description 35590 PARAMSET_CHANGE_ENABLE Parameter set definition possible from PLC 36060 STANDSTILL_VELO_TOL Maximum velocity/speed when axis/spindle stationary 36610 AX_EMERGENCY_STOP_TIME Length of the braking ramp for error states 36620 SERVO_DISABLE_DELAY_TIME Cutout delay servo enable Basic Functions...
Data on PLC (DWORD type data) $A_DBR[n] Data on PLC (REAL type data) 2.5.3 Signals 2.5.3.1 Signals to NC Signal name SINUMERIK 840D sl SINUMERIK 828D Keyswitch setting 0 to 3 DB10.DBX56.4 - 7 DB2600.DBX0.4 - 7 2.5.3.2 Signals from NC Signal name...
A2: Various NC/PLC interface signals and functions 2.5 Data lists 2.5.3.5 Signals to channel Signal name SINUMERIK 840D sl SINUMERIK 828D Delete distancetogo (channelspecific) DB21, ..DBX6.2 DB320x.DBX6.2 2.5.3.6 Signals from channel Signal name SINUMERIK 840D sl SINUMERIK 828D Channel-specific NC alarm is present DB21, ...
Page 77
A2: Various NC/PLC interface signals and functions 2.5 Data lists Signal name SINUMERIK 840D sl SINUMERIK 828D Pulses enabled DB31, ..DBX93.7 DB390x.DBX4001.7 Motor temperature prewarning DB31, ..DBX94.0 DB390x.DBX4002.0 Heat sink temperature prewarning DB31, ..DBX94.1 DB390x.DBX4002.1 Run-up completed DB31, ...
Page 78
A2: Various NC/PLC interface signals and functions 2.5 Data lists Basic Functions Function Manual, 01/2015, 6FC5397-0BP40-5BA2...
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions Axis monitoring functions 3.2.1 Contour monitoring 3.2.1.1 Contour error Contour errors are caused by signal distortions in the position control loop. Signal distortions can be linear or non-linear. Linear signal distortions Linear signal distortions are caused by: ●...
Page 81
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions The following error that arises depends on: ● Position control loop gain MD32200 $MA_POSCTRL_GAIN (servo gain factor) ● Maximum acceleration MD32300 $MA_MAX_AX_ACCEL (maximum axis acceleration) ● Maximum velocity MD32000 $MA_MAX_AX_VELO (maximum axis velocity) ●...
Page 82
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions Effectiveness The following-error monitoring only operates with active position control and the following axis types: ● Linear axes with and without feedforward control ● Rotary axes with and without feedforward control ●...
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions 3.2.2 Positioning, zero speed and clamping monitoring 3.2.2.1 Correlation between positioning, zero-speed and clamping monitoring Overview The following overview shows the correlation between the positioning, zero speed and clamping monitoring functions: 3.2.2.2 Positioning monitoring Function...
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions MD36020 $MA_POSITIONING_TIME (delay time exact stop fine) After reaching "Exact stop fine", the position monitoring is deactivated. Note The smaller the exact stop fine tolerance is, the longer the positioning operation takes and the longer the time until block change.
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions checks the zero-speed monitoring to ensure that the following error of every participating machine axis is smaller than the standstill tolerance during the delay time. MD36040 $MA_STANDSTILL_DELAY_TIME (zero-speed monitoring delay time) MD36030 $MA_STANDSTILL_POS_TOL (standstill tolerance) After reaching the required exact-stop state, the positioning operation is completed: DB31, ...
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions 3.2.2.5 Clamping monitoring Function For machine axes that are mechanically clamped upon completion of a positioning operation, larger motions can result from the clamping process (> standstill tolerance). As a result, standstill monitoring is replaced by clamping monitoring during the clamping process.
Page 87
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions Requirements for the PLC user program ● The axis is always removed from the clamp when a travel command is pending. ● The following is always valid for the axis: DB31, ... DBX2.1 (controller enable) = 0: Axis is clamped. DB31, ...
Page 88
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions Program code Comment N520 G0 Z2 N610 G1 Z-4 ; Machining N620 G1 X0 Y-20 Optimized release of the axis clamping via travel command If a clamped axis is to be traversed in continuous-path mode, a travel command is issued for the clamped axis in the rapid traverse blocks (G0) immediately before the traversing block of the clamped axis.
Page 89
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions Figure 3-3 Release axis clamp if MD36052 $MA_STOP_ON_CLAMPING = 'H03' Automatic stop to set the clamping If an axis is to be clamped in continuous-path mode, the NC stops the path motion before the next "Non-rapid traverse block"...
Page 90
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions The following figure shows an example of the interface signals and states upon setting of the axis clamp. The part program blocks N410, N510, N520 and N610 refer to the schematic example under supplementary conditions.
Page 91
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions Part program blocks without path motion (e.g. M82/M83) interrupt continuous-path mode and thus also the "Look Ahead" function. Example: The part program blocks N320 and N420 are inserted in the programming example used. Program code Comment N100 G0 X0 Y0 Z0 A0 G90 G54 F500...
Page 92
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions Block change criterion: Clamping tolerance After activation of clamping monitoring (DB31, ... DBX2.3 = 1), the block change criterion for traversing blocks in which the axis stops at the end of the block no longer acts as the corresponding exact-stop condition, but rather as the configured clamping tolerance: MD36050 $MA_CLAMP_POS_TOL (clamping tolerance with interface signal "Clamping active")
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions 3.2.3 Speed-setpoint monitoring Function The speed setpoint comprises: ● Speed setpoint of the position controller ● Speed setpoint portion of the feedforward control (with active feedforward control only) ● Dift compensation (only for drives with analog setpoint interface) Figure 3-5 Speed setpoint calculation The speed-setpoint monitoring ensures by limiting the control or output signal (10 V for analog...
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions Speed-setpoint monitoring delay To prevent an error reaction from occurring in every speed-limitation instance, a delay time can be configured: MD36220 $MA_CTRLOUT_LIMIT_TIME (speed-setpoint monitoring delay) Only if the speed limitation is required for longer than the configured time does the corresponding error reaction occur.
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions Activation The actual-velocity monitoring is activated as soon as the active measuring system returns valid actual values (encoder limit frequency not exceeded). Effectiveness The actual-velocity monitoring only operates with active position control and the following axis types: ●...
Page 96
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions MD36310 $MA_ENC_ZERO_MONITORING Value Meaning Monitoring of HW faults: If a hardware fault is detected in the active measuring system, POWER ON alarm 25000 is displayed: "Axis <Axis name> Hardware fault active encoder" The affected axis is stopped via the configured braking ramp in follow-up mode: MD36610 $MA_AX_EMERGENCY_STOP_TIME (maximum time...
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions Monitoring functions in the NCK ● Encoder-limit-frequency monitoring ● Plausibility check for absolute encoders 3.2.5.1 Encoder-limit-frequency monitoring Function The NC encoder-limit-frequency monitoring is based on the configuration and telegram information of the drive. It monitors that the encoder frequency does not exceed the configured encoder limit frequency: MD36300 $MA_ENC_FREQ_LIMIT (encoder limit frequency) Encoder-limit-frequency monitoring always refers to the active measuring system selected in...
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions Fault Upon exceeding of the encoder limit frequency, the following occurs: ● Message to the PLC: DB31, ... DBX60.2 or 60.3 = 1 (encoder limit frequency exceeded 1 or 2) ● Spindles Spindles are not stopped but continue to turn with speed control.
Page 99
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions Note Rotary absolute encoders If the plausibility check is to be used for a rotary absolute encoder, the SINAMICS parameter p0979 must be taken into account when setting the modulo range (MD34220 $MA_ENC_ABS_TURNS_MODULO).
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions Fault Alarm 25020 If the plausibility check is tripped in the active measuring system, alarm 25020 is displayed: "Axis <Axis name> Zero-mark monitoring active encoder" The affected axis is stopped via the configured braking ramp in follow-up mode: MD36610 $MA_AX_EMERGENCY_STOP_TIME (maximum time for braking ramp when an error occurs) Alarm 25021...
Page 101
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions stops before the machining quality of the workpiece is assessed using appropriate synchronized action commands. Effectiveness Customized monitoring can be activated in parallel to or as an alternative to standard zero- mark monitoring, depending on the setting in machine data: MD36310 $MA_ENC_ZERO_MONITORING Value...
Page 102
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions System variables You can implement customized error reactions using the following system variables: System variable Meaning $VA_ENC_ZERO_MON_ERR_CNT[<n>,<axis>] Number of detected limit value violations. Contains the current number of detected limit value violations when comparing the absolute and the incremental encoder tracks.
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions 3.2.6 Limit-switch monitoring Overview of the end stops and possible limit-switch monitoring: 3.2.6.1 Hardware limit switch Function A hardware limit switch is normally installed at the end of the traversing range of a machine axis.
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions Effect Upon reaching the hardware limit switch, the following occurs: ● Alarm 21614 "Channel <Channel number> Axis <Axis name> Hardware limit switch <Direction>" ● The machine axis is braked according to the configured braking behavior. ●...
Page 105
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions Effects Automatic operating modes (AUTOMATIC, MDA) ● Without transformation, without overlaid motion, unchanged software limit switch: A part program block with a programmed traversing motion that would lead to overrunning of the software limit switch is not started. ●...
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions 3.2.7 Monitoring of the working area limitation 3.2.7.1 General Function The "working area limitation" function can be used to limit the traversing range of a channel's geometry and special axes to a permissible operating range. The function monitors compliance with working area limits both in AUTOMATIC mode and in JOG mode.
Page 107
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions Reference point at the tool Taking into account the tool data (tool length and tool radius) and therefore the reference point at the tool when monitoring the working area limitation depends on the status of the transformation in the channel: ●...
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions Powerup response If an axis moves outside the permissible working area when activating the working area limits, it will be immediately stopped with the maximum permissible acceleration. Overrunning of the working area limitation in JOG mode In JOG mode, an axis is moved to no further than its working area limit by the control system.
Page 109
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions Figure 3-7 Programmed working area limitation The programmed working area limitation has priority and overwrites the values entered in SD43420 and SD43430. Activation/Deactivation Working area limitation through setting data The activation/deactivation of the working area limitation for each axis takes place in a direction- specific manner via the immediately effective setting data: SD43400 $SA_WORKAREA_PLUS_ENABLE (working area limitation active in the positive direction)
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions Activation or deactivation of the overall "working area limitation in the BCS" is arranged via part program commands: Working area limitation ON WALIMON Working area limitation OFF WALIMOF Changing the working area limitation Working area limitation through setting data HMI user interface: Operating area "Parameter"...
Page 111
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions Requirement The channel axes must be referenced. Working area limitation group In order that the axis-specific working area limits do not have to be rewritten for all channel axes when switching axis assignments, e.g. when switching transformations or the active frame on/off, working area limitation groups are available.
Page 112
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions Activation of working area limits The working area limits of a working area limitation group are activated in the part program with the command: WALCSn (activation of the working area limits of group n, where n = 1, 2, ... ) Deactivation of working area limits The working area limits of a working area limitation group are deactivated in the part program with the command:...
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions Behavior when a working area limitation responds: ● The traversing motions of the geometry axes that are not affected are continued ● The affected geometry axis is stopped at the working area limit Set initial setting The specification of the working area limitation group that is to take effect at power up, reset or end of the part program and start of the part program is performed channel-specifically via...
Page 114
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions ● DB31, ... DBX102.5 (position measuring system 1 activated) == 0 ● DB31, ... DBX102.6 (position measuring system 2 activated) == 0 Deactivation "Parking" a machine axis is deactivated by setting the axis-specific NC/PLC interface signals for the position measuring system to be activated and the controller enable of the machine axis: ●...
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions Machine axis without position measuring system For a machine axis without a position measuring system (speed-controlled spindle), a status equivalent to "parking" is activated by canceling the controller enable: ● DB31, ... DBX2.1 (controller enable) = 0 3.2.9 Parking the passive position measuring system 3.2.9.1...
Page 116
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions Activation / deactivation Activation The passive position measuring system of a machine axis is parked under the following conditions: ● "Park passive position measuring system" function is active for the measuring system: MD31046 $MA_ENC_PASSIVE_PARKING[<n>] = 1 with <n>...
Page 117
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions DB31, ... DBX102.6 (position measuring system 2 activated) == 1 Note Switching over to a parked position measuring system takes longer than to a non-parked position measuring system. Because of the time taken, we recommend switching over while the axes are stationary.
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions with <n> = 0 (position measuring system 1) or 1 (position measuring system 2) Value Meaning Only the position from the previous active position measuring system is transferred. The position measuring system is not referenced: DB31, ...
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions Interaction with APC (option for SINUMERIK 840D sl) The "Park passive measuring system" function cannotbe used in conjunction with the "Advanced positioning control (APC)" drive function. Interaction with encoder safety protection concept Only the 1 encoder safety protection concept can be used in conjunction with the "Park passive...
Page 120
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions Objective The user would like to change from attachment head "A" to attachment head "B." Implementation Basic Functions Function Manual, 01/2015, 6FC5397-0BP40-5BA2...
Page 121
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions ① Before changing an attachment head, using the function "Parking a machine axis (Page 113)", the user must deactivate all position measuring systems of the machine axis: DB31, ... DBX1.5 (position measuring system 1) = 0 DB31, ...
Page 122
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions Implementation ① Using the "Park machine axis" function, the user deactivates position measuring system DB31, ... DBX1.5 (position measuring system 1) = 0 The controller then resets the status signal for the position measuring system: DB31, ...
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions ③ Attachment head "A" is now mounted on the spindle. ④ The user activates position measuring system 2: DB31, ... DBX1.6 (position measuring system 2) = 1 As a consequence, position measuring system 1 is also simultaneously activated; This is because the "Park passive position measuring system"...
Page 124
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions Objective The user would like to change from attachment head "A" to attachment head "B." Implementation Basic Functions Function Manual, 01/2015, 6FC5397-0BP40-5BA2...
Page 125
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions ① Before changing an attachment head, using the function "Parking a machine axis (Page 113)", the user must deactivate all position measuring systems of the machine axis: DB31, ... DBX1.5 (position measuring system 1) = 0 DB31, ...
Page 126
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions Implementation ① Using the "Park machine axis" function, the user deactivates position measuring system DB31, ... DBX1.5 (position measuring system 1) = 0 The controller then resets the status signal for the position measuring system: DB31, ...
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions ③ Attachment head "A" is now mounted on the spindle. ④ The user activates position measuring system 2: DB31, ... DBX1.6 (position measuring system 2) = 1 As a consequence, position measuring system 1 is also simultaneously activated; This is because the "Park passive position measuring system"...
Page 128
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions ● The "Park passive position measuring system" function is: – not active for position measuring system 1: MD31046 $MA_ENC_PASSIVE_PARKING [ 0 ] = 0 – active for position measuring system 2: MD31046 $MA_ENC_PASSIVE_PARKING [ 1 ] = 1 ●...
Page 129
A3: Axis Monitoring, Protection Zones 3.2 Axis monitoring functions Implementation Basic Functions Function Manual, 01/2015, 6FC5397-0BP40-5BA2...
A3: Axis Monitoring, Protection Zones 3.3 Protection zones ① Before the table reaches the end of the linear position measuring system, a switchover must be made to the motor measuring system. The user does this by activating both position measuring systems: DB31, ...
Page 131
A3: Axis Monitoring, Protection Zones 3.3 Protection zones The following elements can be protected: ● Permanent parts of the machine and attachments (e.g. toolholding magazine, swiveling probe). Only the elements that can be reached by possible axis constellations are relevant. ●...
A3: Axis Monitoring, Protection Zones 3.3 Protection zones Orientation The orientation of the protection zones is determined by the plane definition (abscissa/ ordinate), in which the contour is described, and the axis perpendicular to the contour (vertical axis). The orientation of the protection zones must be the same for the tool and workpiecerelated protection zones.
Page 133
A3: Axis Monitoring, Protection Zones 3.3 Protection zones Examples In the following figures some examples for protection zones have been presented: Figure 3-8 Example of application on turning machine Basic Functions Function Manual, 01/2015, 6FC5397-0BP40-5BA2...
Page 134
A3: Axis Monitoring, Protection Zones 3.3 Protection zones Figure 3-9 Example of a milling machine Figure 3-10 Example of a turning machine with relative protection zone for tailstock Basic Functions Function Manual, 01/2015, 6FC5397-0BP40-5BA2...
A3: Axis Monitoring, Protection Zones 3.3 Protection zones 3.3.3 Definition via part program instruction General A protection-zone definition must contain the following information: ● Protection zone type (workpiece- or tool-related) ● Orientation of the protection zone ● Type of limitation in the third dimension ●...
Page 136
A3: Axis Monitoring, Protection Zones 3.3 Protection zones Parameters Type Description Type of limitation in the third dimension applim No limitation Limit in plus direction Limit in minus direction Limit in positive and negative direction REAL Value of the limit in the negative direction in the 3rd dimension appminus REAL Value of the limit in the positive direction in the 3rd dimension...
Page 137
A3: Axis Monitoring, Protection Zones 3.3 Protection zones Figure 3-12 Examples: convex and concave tool-related protection zones Contour elements The following contour elements are permissible: ● G0, G1 for straight contour elements ● G2 for circle segments in the clockwise direction Permissible only for workpiece-related protection zones.
A3: Axis Monitoring, Protection Zones 3.3 Protection zones Inch/metric switchovers with G70/G71 or G700/G710 are effective. End of definition The end of definition is defined by the following subroutine: EXECUTE(NOT_USED) Parameters Type Description Error variable has no effect in protection zones with EXECUTE. NOT_USED The definition of a machine-specific or channel-specific protection zone is completed with the subroutine EXECUTE(n).
Page 139
A3: Axis Monitoring, Protection Zones 3.3 Protection zones System variable Type Meaning $SN_PA_LIM_3DIM[n] Type of limitation in the third dimension $SC_PA_LIM_3DIM[n] No limitation Limit in plus direction Limit in minus direction Limit in positive and negative direction $SN_PA_PLUS_LIM[n] REAL Value of the limit in the positive direction in the 3rd dimension $SC_PA_PLUS_LIM[n] $SN_PA_MINUS_LIM[n] REAL...
A3: Axis Monitoring, Protection Zones 3.3 Protection zones The protection zone definitions are saved in the following files: File Blocks _N_INITIAL_INI All data blocks of the protection zones _N_COMPLETE_PRO All data blocks of the protection zones _N_CHAN_PRO All data blocks of the channel-specific protection zones 3.3.5 Activating and deactivating protection zones The activation state of a protection zone can have the following values:...
Page 141
A3: Axis Monitoring, Protection Zones 3.3 Protection zones Activation via NC/PLC interface signals Only protection zones that have been preactivated via the part program (see paragraph below "Preactivation via part program") can be activated in the PLC user program via the NC/PLC interface signals: ●...
Page 142
A3: Axis Monitoring, Protection Zones 3.3 Protection zones Preactivated protection zones are displayed via the following NC/PLC interface signals: ● DB21, ... DBX272.0 - 273.1 == 1 (machine-related protection zone 1 - 10 preactivated) ● DB21, ... DBX274.0 - 275.1 == 1 (channel-specific protection zone 1 - 10 preactivated) Figure 3-13 Example: Turning machine with preactivated protection zone for a sensor.
Page 143
A3: Axis Monitoring, Protection Zones 3.3 Protection zones Deactivation via NC/PLC interface signal Only protection zones that have been preactivated via a part program and activated via the NC/PLC interface signals, can be deactivated again via the NC/PLC interface signals: ●...
A3: Axis Monitoring, Protection Zones 3.3 Protection zones NC RESET and end of program The activation status of a protection zone is retained even after an NC RESET and end of program. Memory requirements The memory required for protection zones is parameterized via the following machine data: ●...
Page 145
A3: Axis Monitoring, Protection Zones 3.3 Protection zones Behavior in the AUTOMATIC and MDA modes In AUTOMATIC and MDA mode, no traversing motion is enabled into or through active protection zones: ● A traversing motion that would lead from outside into an active protection zone, is stopped at the end of the last block located outside the protection zone.
Page 146
A3: Axis Monitoring, Protection Zones 3.3 Protection zones After the end of the traversing motion, the alarm is cleared automatically. If the current position is within an activated or preactivated protection zone, the following is performed: ● Alarm 10702 or 10703 is displayed ●...
Page 147
A3: Axis Monitoring, Protection Zones 3.3 Protection zones The resulting maximum traversing range at the start time does not take protection zone 3 into account. Therefore, a protection zone violation in protection zone 3 is possible. Note Activated and preactivated protection zones are also monitored in the manual operating modes JOG, INC and DRF.
A3: Axis Monitoring, Protection Zones 3.3 Protection zones Reset of an enable The enable is reset internally and on the NC/PLC interface at the next standstill of a geometry axis for which the temporarily enabled protection zone has been completely exited: DB21, …...
A3: Axis Monitoring, Protection Zones 3.3 Protection zones Machine-related protection zones A machine-related protection zone or its contour is defined using the geometry axis, i.e. with reference to the basic coordinate system (BCS) of a channel. In order that correct protection- zone monitoring can take place in all channels in which the machine-related protection zone is active, the basic coordinate system (BCS) of all affected channels must be identical (position of the coordinate point of origin with respect to the machine zero point and orientation of the...
Page 150
A3: Axis Monitoring, Protection Zones 3.3 Protection zones Function return value. Negative values indicate error states. <Status>: (Part 1) Data type: Range of values: -8 ≤ x ≤ 100000 Values Meaning The distance can be traversed completely. At least one component is negative in <Limit>. Error in a transformation calculation.
Page 151
A3: Axis Monitoring, Protection Zones 3.3 Protection zones Hundreds digit <Status>: (Part 3) AND units digit == 1 or 2: The positive limit value has been violated. AND units digit == 3 An NC-specific protection zone has been violated. AND units digit == 1 or 2: The negative limit value has been violated.
Page 152
A3: Axis Monitoring, Protection Zones 3.3 Protection zones Reference to a vector. <Dist>: Input: Incremental traversing distance ● <Dist> [0]: Abscissa ● <Dist> [1]: Ordinate ● <Dist> [2]: Applicate Output (only for set hundred thousands digit in <Status>): <Dist> contains a unit vector v as output value which defines the further travers‐ ing direction in the WCS.
Page 153
A3: Axis Monitoring, Protection Zones 3.3 Protection zones Reference to a vector with the incremental traversing distance in which the specified <MaxDist>: minimum clearance of an axis limit is not violated by any of the relevant machine axes: ● <Dist> [0]: Abscissa ●...
Page 154
A3: Axis Monitoring, Protection Zones 3.3 Protection zones Example In the example (see figure), the active software limit switches and working area limits in the X- Y plane and the following three protection zones are displayed ● C2: Tool-related, channel-specific protection zone, active, circular, radius = 2 mm ●...
Page 157
A3: Axis Monitoring, Protection Zones 3.3 Protection zones N... <status> <MaxDist>[0] ≙ X <MaxDist>[1] ≙ Y Remarks 1221 0.000 21.213 Frame with translation and rotation active. The permissible traversing distance in _MOVDIST applies in the shifted and rotated WCS. 102121 18.000 18.000 The software limit switch of the Y axis is violated.
Page 158
A3: Axis Monitoring, Protection Zones 3.3 Protection zones the MCS. Therefore, when monitoring the software limit switches, the machine position at the time when CALCPOSI() is executed is used to resolve the ambiguity in such cases. Note Preprocessing stop When using CALCPOSI() in conjunction with transformations, it is the sole responsibility of the user to program a preprocessing stop (STOPRE) with the preprocessing before CALCPOSI() for the synchronization of the machine axis positions.
A3: Axis Monitoring, Protection Zones 3.5 Examples Supplementary conditions 3.4.1 Axis monitoring functions Settings For correct operation of the monitoring, the following settings must be made or checked, in addition to the machine data mentioned: General ● MD31030 $MA_LEADSCREW_PITCH (leadscrew pitch) ●...
Page 160
A3: Axis Monitoring, Protection Zones 3.5 Examples MD28600 $MC_MM_NUM_WORKAREA_CS_GROUP = 3 Define the working area limitation groups Additionally two working area limitation groups will be defined: Working area limitation group 1 In the first working area limitation group the axes in the SZS coordinate system will be limited: ●...
Page 161
A3: Axis Monitoring, Protection Zones 3.5 Examples ● Z axis in the plus direction: No limitation ● Z axis in the minus direction: -600 mm ● A axis in the plus direction: No limitation ● A axis in the minus direction: No limitation The system variables are assigned as follows: Program code Comment...
A3: Axis Monitoring, Protection Zones 3.5 Examples 3.5.2 Protection zones 3.5.2.1 Definition and activation of protection zones Requirement The following internal protection zones are to be defined for a turning machine: ● One machine- and workpiece-related protection zone for the spindle chuck, without limitation in the third dimension ●...
Page 163
A3: Axis Monitoring, Protection Zones 3.5 Examples Protection zone definition in the part program Table 3-1 Part program excerpt for protection zone definition: Program code Comment DEF INT AB Definition of the working plane NPROTDEF(1,FALSE,0,0,0) Start of definition: Protection zone for spindle chuck G01 X100 Z0 Contour definition: 1.
Page 164
A3: Axis Monitoring, Protection Zones 3.5 Examples System variable Val‐ Remark $SN_PA_PLUS_LIM[0] ; Value of the limit in the positive direction in the 3rd dimension $SN_PA_MINUS_LIM[0] ; Value of the limitation in the negative direction in the 3rd di‐ mension $SN_PA_CONT_NUM[0] ;...
Page 165
A3: Axis Monitoring, Protection Zones 3.5 Examples System variable Val‐ Remark $SN_PA_CONT_ABS[0,1] ; Endpoint of contour[i], abscissa value ; Protection zone for spindle chuck, contour element 1 $SN_PA_CONT_ABS[0,2] ; Endpoint of contour[i], abscissa value ; Protection zone for spindle chuck, contour element 2 $SN_PA_CONT_ABS[0,3] ;...
Page 166
A3: Axis Monitoring, Protection Zones 3.5 Examples System variable Val‐ Remark $SN_PA_CENT_ABS[0,4] ; Midpoint of contour[i], abscissa value ; Protection zone for spindle chuck, contour element 4 $SN_PA_CENT_ABS[0,5] ; Midpoint of contour[i], abscissa value ; Protection zone for spindle chuck, contour element 5 $SN_PA_CENT_ABS[0,6] ;...
Page 167
A3: Axis Monitoring, Protection Zones 3.5 Examples System variable Val‐ Remark $SN_PA_CONT_TYP[0,2] ; Contour type[i] : 1 = G1 for even ; Protection zone for workpiece, contour element 2 $SN_PA_CONT_TYP[0,3] ; Contour type[i] : 1 = G1 for even ; Protection zone for workpiece, contour element 3 $SN_PA_CONT_TYP[0,4] ;...
Page 168
A3: Axis Monitoring, Protection Zones 3.5 Examples System variable Val‐ Remark $SN_PA_CONT_ORD[0,5] ; Endpoint of contour[i], ordinate value ; Protection zone for workpiece, contour element 5 $SN_PA_CONT_ORD[0,6] ; Endpoint of contour[i], ordinate value ; Protection zone for workpiece, contour element 6 $SN_PA_CONT_ORD[0,7] ;...
Page 169
A3: Axis Monitoring, Protection Zones 3.5 Examples System variable Val‐ Remark $SN_PA_CONT_ABS[0,8] ; Endpoint of contour[i], abscissa value ; Protection zone for workpiece, contour element 8 $SN_PA_CONT_ABS[0,9] ; Endpoint of contour[i], abscissa value ; Protection zone for workpiece, contour element 9 $SN_PA_CONT_ABS[1,0] ;...
Page 170
A3: Axis Monitoring, Protection Zones 3.5 Examples System variable Val‐ Remark $SN_PA_CENT_ORD[1.1] -190 ; Midpoint of contour[i], ordinate value ; Protection zone for toolholder, contour element 1 $SN_PA_CENT_ORD[1.2] ; Midpoint of contour[i], ordinate value ; Protection zone for toolholder, contour element 2 $SN_PA_CENT_ORD[1.3] ;...
A3: Axis Monitoring, Protection Zones 3.6 Data lists System variable Val‐ Remark $SN_PA_CENT_ABS[1.4] ; Midpoint of contour[i], abscissa value ; Protection zone for toolholder, contour element 4 $SN_PA_CENT_ABS[1.5] ; Midpoint of contour[i], abscissa value ; Protection zone for toolholder, contour element 5 $SN_PA_CENT_ABS[1.6] ;...
A3: Axis Monitoring, Protection Zones 3.6 Data lists Protection zones Number Identifier: $MN_ Description 10618 PROTAREA_GEOAX_CHANGE_MODE Protection zone for switchover of geo axes 18190 MM_NUM_PROTECT_AREA_NCK Number of files for machinerelated protection zones 3.6.1.2 Channelspecific machine data Axis monitoring functions Number Identifier: $MC_ Description 20150...
A3: Axis Monitoring, Protection Zones 3.6 Data lists Protection zones Number Identifier: $MC_ Description 28200 MM_NUM_PROTECT_AREA_CHAN (SRAM) Number of files for channelspecific protection zones 28210 MM_NUM_PROTECT_AREA_ACTIVE Number of simultaneously active protection zones in one channel 28212 MM_NUM_PROTECT_AREA_CONTUR Elements for active protection zones (DRAM) 3.6.1.3 Axis/spindlespecific machine data Axis monitoring functions...
A3: Axis Monitoring, Protection Zones 3.6 Data lists Number Identifier: $MA_ Description 36300 ENC_FREQ_LIMIT Encoder limit frequency 36302 ENC_FREQ_LIMIT_LOW Encoder limit frequency for encoder resynchronization 36310 ENC_ZERO_MONITORING Zero-mark monitoring 36312 ENC_ABS_ZEROMON_WARNING Zero-mark monitoring warning threshold 36400 CONTOUR_TOL Tolerance band contour monitoring 36500 ENC_CHANGE_TOL Maximum tolerance for position actual value switchover...
B1: Continuous-path mode, Exact stop, Look Ahead Brief Description Exact stop or exact stop mode In exact stop traversing mode, all axes involved in the traversing motion (except axes of modal traversing modes) are decelerated at the end of each block until they come to a standstill. The transition to the next block occurs only when all axes involved in the traversing motion have reached their programmed target position with subject to the selected exact stop criterion.
Page 178
B1: Continuous-path mode, Exact stop, Look Ahead 4.1 Brief Description This results in the following advantages: ● Improved surface quality and machining time by avoiding excitation of machine resonances. ● Constant profile of path velocity and cutting rates by avoiding "unnecessary" acceleration processes, i.e.
Page 179
B1: Continuous-path mode, Exact stop, Look Ahead 4.1 Brief Description The "NC block compressor" function uses polynomial blocks to perform a subsequent approximation of the contour specified by the linear blocks. During this process, an assignable number of linear blocks is replaced by a polynomial block. Furthermore, the number of linear blocks that can be replaced by a polynomial block also depends on the specified maximum permissible contour deviation and the contour profile.
B1: Continuous-path mode, Exact stop, Look Ahead 4.2 Exact stop mode Exact stop mode Exact stop or exact stop mode In exact stop traversing mode, all path axes and special axes involved in the traversing motion that are not traversed modally, are decelerated at the end of each block until they come to a standstill.
Page 181
B1: Continuous-path mode, Exact stop, Look Ahead 4.2 Exact stop mode Exact stop criteria "Exact stop coarse" and "Exact stop fine". The exact stop criteria "Exact stop coarse" and "Exact stop fine" are used to specify tolerance windows for a machine axis reaching the "exact stop" state. Figure 4-1 Tolerance windows of exact stop criteria Parameters are assigned to the two exact stop criteria via the machine data:...
Page 182
B1: Continuous-path mode, Exact stop, Look Ahead 4.2 Exact stop mode Activation of an exact stop criterion An exact stop criterion is activated in the part program by programming the appropriate G command: G command Exact-stop criterion Exact stop fine G601 Exact stop coarse G602...
Page 183
B1: Continuous-path mode, Exact stop, Look Ahead 4.2 Exact stop mode Assignable specification of the active exact stop criterion The active exact stop criterion can be permanently specified for the part program commands of the first G function group irrespective of the exact stop criterion programmed in the part program.
B1: Continuous-path mode, Exact stop, Look Ahead 4.3 Continuous-path mode Value Meaning Like 0, in addition, the override of the next non-G0 block is taken into account with LookAhead in the G0 block during the transition from G0 to non-G0. Like 0;...
Page 185
B1: Continuous-path mode, Exact stop, Look Ahead 4.3 Continuous-path mode Implicit exact stop In some cases, an exact stop needs to be generated in continuous-path mode to allow the execution of subsequent actions. In such situations, the path velocity is reduced to zero. ●...
B1: Continuous-path mode, Exact stop, Look Ahead 4.3 Continuous-path mode 4.3.2 Velocity reduction according to overload factor Function The function lowers the path velocity in continuou-path mode until the non-tangential block transition can be traversed in one interpolation cycle while respecting the deceleration limit and taking an overload factor into account.
Page 187
B1: Continuous-path mode, Exact stop, Look Ahead 4.3 Continuous-path mode Overload factor The overload factor restricts step changes in the machine axis velocity at block ends. To ensure that the velocity jump does not exceed the maximum load on the axis, the jump is derived from the acceleration of the axis.
B1: Continuous-path mode, Exact stop, Look Ahead 4.3 Continuous-path mode 4.3.3 Rounding Function The "Rounding" function adds intermediate blocks (positioning blocks) along a programmed contour (path axes) at non-continuous (angular) block transitions so that the resulting new block transition is continuous (tangential). Synchronized axes The rounding considers not only the geometry axes but also all synchronous axes.
Page 189
B1: Continuous-path mode, Exact stop, Look Ahead 4.3 Continuous-path mode ● Geometry axes traverse in N10 but not in N20 ● Geometry axes traverse in N20 but not in N10 ● Activation of thread-cutting G33 in N20 ● Change from BRISK and SOFT ●...
B1: Continuous-path mode, Exact stop, Look Ahead 4.3 Continuous-path mode Impact on synchronization conditions The programmed blocks between which the rounding contour is added are shortened during rounding. The original programmed block boundary disappears and is then no longer available for any synchronization conditions (e.g.
Page 191
B1: Continuous-path mode, Exact stop, Look Ahead 4.3 Continuous-path mode Scope of the path criterion ● ADIS or ADISPOS must be programmed. If the default is "zero", G641 behaves like G64. ● If only one of the blocks involved is rapid traverse G0, the smaller rounding distance applies. ●...
B1: Continuous-path mode, Exact stop, Look Ahead 4.3 Continuous-path mode Program example Program code Comment N1 G641 Y50 F10 ADIS=0.5 ; Continuous-path mode with rounding based on a path criterion (rounding clearance: 0.5 mm) N2 X50 N3 X50.7 N4 Y50.7 N5 Y51.4 N6 Y51.0 N7 X52.1...
Page 193
B1: Continuous-path mode, Exact stop, Look Ahead 4.3 Continuous-path mode Parameterization Maximum path deviation The maximum path deviation permitted with G642/G643 is set for each axis in the machine data: MD33100 $MA_COMPRESS_POS_TOL Contour tolerance and orientation tolerance The contour tolerance and orientation tolerance are set in the channel-specific setting data: SD42465 $SC_SMOOTH_CONTUR_TOL (maximum contour deviation) SD42466 $SC_SMOOTH_ORI_TOL (maximum angular deviation of the tool orientation) The settings data can be programmed in the NC program and can in this way be specified...
Page 194
B1: Continuous-path mode, Exact stop, Look Ahead 4.3 Continuous-path mode Value E or Z Meaning Geometry axes: Rounding by maintaining the contour tolerance and the orientation tolerance: SD42465 $SC_SMOOTH_CONTUR_TOL SD42466 $SC_SMOOTH_ORI_TOL Remaining axes: Rounding by maintaining the maximum permitted path deviation: MD33100 $MA_COMPRESS_POS_TOL All axes: The rounding length programmed with ADIS or with ADISPOS is used (as in case of...
B1: Continuous-path mode, Exact stop, Look Ahead 4.3 Continuous-path mode MD35240 $MC_ACCEL_TYPE_DRIVE = FALSE (acceleration characteristic DRIVE for axes on/off) 4.3.3.3 Rounding with maximum possible axial dynamic response (G644) Function Maximizing the dynamic response of the axes is key to this type of continuous-path mode with rounding.
Page 196
B1: Continuous-path mode, Exact stop, Look Ahead 4.3 Continuous-path mode Value Meaning 2xxx: Input the maximum possible frequencies of each axis in the rounding area using the ma‐ chine data: MD32440 $MA_LOOKAH_FREQUENCY (smoothing frequency for LookAhead) The rounding area is defined so that no frequencies in excess of the specified maximum can occur while the rounding motion is in progress.
Page 197
B1: Continuous-path mode, Exact stop, Look Ahead 4.3 Continuous-path mode Jerk limitation The smoothing of the velocity jump on each axis and thus the shape of the rounding path depends on whether an interpolation is performed with or without jerk limitation. Without jerk limitation the acceleration of each axis reaches its maximum value in the entire rounding area.
B1: Continuous-path mode, Exact stop, Look Ahead 4.3 Continuous-path mode With jerk limitation, the jerk of each axis is limited to its maximum value within the rounding area. The rounding motion thus generally consists of three phases: ● Phase 1 During phase 1, each axis builds up its maximum acceleration.
B1: Continuous-path mode, Exact stop, Look Ahead 4.3 Continuous-path mode Activation/deactivation Continuous-path mode with rounding of tangential block transitions can be activated in any NC part program block by the modal command G645. Selecting the exact stop which works on a block-by-block basis enables rounding to be interrupted (G9).
B1: Continuous-path mode, Exact stop, Look Ahead 4.3 Continuous-path mode RMBBL Repositioning at the start of the interrupted traversal block RMIBL Repositioning at the interruption location RMEBL Repositioning at the end of the interrupted traversal block RMNBL Repositioning at the next contour point ①...
Page 201
B1: Continuous-path mode, Exact stop, Look Ahead 4.3 Continuous-path mode Figure 4-5 Velocity control with short distances and exact stop G60 or continuous-path mode G64 with LookAhead Deceleration to velocity limits is possible with LookAhead such that violation of the acceleration and velocity limit is prevented.
Page 202
B1: Continuous-path mode, Exact stop, Look Ahead 4.3 Continuous-path mode Figure 4-6 Example for modal velocity control (number of blocks considered by the LookAhead function = 2) Activation/deactivation LookAhead is activated by selecting continuous-path mode G64, G641, G642, G643, G644 or G645.
Page 203
B1: Continuous-path mode, Exact stop, Look Ahead 4.3 Continuous-path mode unnecessarily. For this reason, the required number of blocks is derived from the velocity which is calculated from the following multiplication: ● Programmed velocity * MD12100 $MN_OVR_FACTOR_LIMIT_BIN (when using a binary-coded feedrate override switch) ●...
Page 204
B1: Continuous-path mode, Exact stop, Look Ahead 4.3 Continuous-path mode ● Definition of override points If the velocity profile of the following block velocity is not sufficient because, for example, very high override values (e.g. 200%) are used or a constant cutting rate G96/G961 is active, with the result that the velocity must be further reduced in the following block, LookAhead provides a way of reducing the programmed velocity over several NC blocks.
Page 205
B1: Continuous-path mode, Exact stop, Look Ahead 4.3 Continuous-path mode – MD20400 $MC_LOOKAH_USE_VELO_NEXT_BLOCK = 1 A combination of both procedures (determination of following block velocity and determination of override points) can be used to calculate the velocity profiles and is generally advisable because the preset machine data for these functions already takes the widest range of override- dependent velocity limits into account.
B1: Continuous-path mode, Exact stop, Look Ahead 4.3 Continuous-path mode Supplementary conditions Axis-specific feed stop/axis disable Axis-specific feed stop and axis-specific axis disable are ignored by LookAhead. If an axis is to be interpolated that should on the other hand be made stationary by axis-specific feed stop or axis disable, LookAhead does not stop path motion before the block in question but decelerates in the block itself.
Page 207
B1: Continuous-path mode, Exact stop, Look Ahead 4.3 Continuous-path mode Activation The function is only effective: ● In AUTOMATIC ● In the "Acceleration with jerk limit (SOFT)" mode Parameterization Working memory The memory for the "Free-form surface mode: Extended function" is configured via the machine data: MD28533 $MC_MM_LOOKAH_FFORM_UNITS = <value>...
Page 208
B1: Continuous-path mode, Exact stop, Look Ahead 4.3 Continuous-path mode Index <n> Dynamic response mode <value> Free-form surface mode: Extension function Smooth finishing (DYNFINISH) The "Free-form surface mode: Extension function" is typically only active if the "Free-form surface mode: Basic functions" are also active. Therefore, the settings in MD20443 $MC_LOOKAH_FFORM[<n>] should correspond to the settings in MD20606 $MC_PREPDYN_SMOOTHING_ON[<n>].
Page 209
B1: Continuous-path mode, Exact stop, Look Ahead 4.3 Continuous-path mode Program code Comment N10012 X11.635 Y149.679 Z5.010 N10013 X12.032 Y149.679 Z5.031 Note When switching between the standard Look Ahead functionality and the "Free-form surface mode: Extension function" or vice versa, continuous-path mode is interrupted by an interpolator stop.
B1: Continuous-path mode, Exact stop, Look Ahead 4.4 Dynamic adaptations Dynamic adaptations 4.4.1 Smoothing of the path velocity Introduction The velocity control function utilizes the specified axial dynamic response. If the programmed feedrate cannot be achieved, the path velocity is brought to the parameterized axial limit values and the limit values of the path (velocity, acceleration, jerk).
Page 211
B1: Continuous-path mode, Exact stop, Look Ahead 4.4 Dynamic adaptations Requirements ● The smoothing of the path velocity is only effective in continuous-path mode with LookAhead over multiple blocks with SOFT and BRISK. Smoothing is not effective with G0. ● The controller's cycle times must be configured in such a way that preprocessing can prepare sufficient blocks to enable an acceleration process to be analyzed.
Page 212
B1: Continuous-path mode, Exact stop, Look Ahead 4.4 Dynamic adaptations Acceleration and deceleration processes, which run with a high frequency, are smoothed depending upon the parameterization of the following machine data or else are reduced in dynamics: MD20460 $MC_LOOKAH_SMOOTH_FACTOR (smoothing factor for LookAhead) MD20465 $MC_ADAPT_PATH_DYNAMIC (adaptation of the dynamic path response) For further information on MD20465, see Section "Adaptation of the dynamic path response (Page 213)".
B1: Continuous-path mode, Exact stop, Look Ahead 4.4 Dynamic adaptations Figure 4-7 Characteristic of time-optimum path velocity (without smoothing) If, however, the time t is less than 200 ms or if the additional program execution time is no more than 10% of t , the following time characteristic applies: Figure 4-8 Characteristic of the smoothed path velocity...
Page 214
B1: Continuous-path mode, Exact stop, Look Ahead 4.4 Dynamic adaptations The dynamic response of the acceleration and deceleration processes can be adapted to the machine conditions using the "adaptation of the dynamic path response" function. Note The "adaptation of the dynamic path response" function only concerns the resulting path and not the deceleration and acceleration processes of the individual axes involved in the path.
Page 215
B1: Continuous-path mode, Exact stop, Look Ahead 4.4 Dynamic adaptations Parameterization Adaptation factor of the dynamic path response Via the adaptation factor of the dynamic path response, temporary changes in the path velocity are executed with smaller dynamic response limit values. The adaptation factor is to be set on a channel-specific basis: ●...
Page 216
B1: Continuous-path mode, Exact stop, Look Ahead 4.4 Dynamic adaptations Example The following example is intended to show the effect of the "adaptation of the dynamic path response" function on traversing motions with acceleration and without jerk limitation (BRISK). The following parameters are assumed: MD20465 $MC_ADAPT_PATH_DYNAMIC[0] = 1.5 MD20460 $MC_LOOKAH_SMOOTH_FACTOR = 1.0 MD32440 $MA_LOOKAH_FREQUENCY[AX1] = 20 Hz...
B1: Continuous-path mode, Exact stop, Look Ahead 4.4 Dynamic adaptations Figure 4-10 Path velocity profile with adaptation of dynamic path response Intervals t and t The acceleration process between t and the deceleration process between t are extended in terms of time to t adapt01 or t as a result of the acceleration being adapted.
B1: Continuous-path mode, Exact stop, Look Ahead 4.4 Dynamic adaptations Procedure The determination of the dynamic response limits for the traversing of path axes by means of acceleration with jerk limiting (SOFT) is described below. This procedure can be applied by analogy to the case of acceleration without jerk limiting (BRISK).
Page 219
B1: Continuous-path mode, Exact stop, Look Ahead 4.4 Dynamic adaptations Figure 4-11 Path velocity profile optimized for time without smoothing or dynamic adaptation response Figure 4-12 Path velocity profile with smoothing of the path velocity and adaptation of dynamic path response Effects of smoothing on path velocity: Interval t...
Page 220
B1: Continuous-path mode, Exact stop, Look Ahead 4.4 Dynamic adaptations Note The example shows that those acceleration or deceleration processes that are not eliminated by the smoothing of the path velocity can be subsequently optimized by adapting the dynamic path response. For this reason, both functions should always be activated, if possible. Example 2 Acceleration mode: SOFT The path involves the 3 axes X = AX1, Y = AX2, Z = AX3.
Page 221
B1: Continuous-path mode, Exact stop, Look Ahead 4.4 Dynamic adaptations The smoothing factor is set to 0% instead of 1% (in accordance with the default!): MD20460 $MC_LOOKAH_SMOOTH_FACTOR = 0.0 A smoothing factor of 100% comes into effect with this parameter assignment. This gives rise to a path velocity profile with smoothing of the path velocity and adaptation of dynamic path response: Basic Functions...
B1: Continuous-path mode, Exact stop, Look Ahead 4.4 Dynamic adaptations 4.4.5 Dynamic response mode for path interpolation Function Technology-specific, dynamic response settings can be saved in machine data and can be activated in the part program via the commands from G function group 59 (dynamic response mode for path interpolation).
Page 223
B1: Continuous-path mode, Exact stop, Look Ahead 4.4 Dynamic adaptations ● MD32432 $MA_PATH_TRANS_JERK_LIM[<n>] (maximum axial jerk at the block transition in continuous-path mode) ● MD32433 $MA_SOFT_ACCEL_FACTOR[<n>] (scaling of the acceleration limitation with SOFT) Channel-specific dynamic response settings: ● MD20600 $MC_MAX_PATH_JERK[<n>] (path-related maximum jerk) ●...
B1: Continuous-path mode, Exact stop, Look Ahead 4.4 Dynamic adaptations References You can find detailed information about programming the G commands from G function group 59 (dynamic response mode for path interpolation) in: References: Programming Manual, Job Planning; Section: Path traversing behavior 4.4.6 Free-form surface mode: Basic functions Introduction...
Page 225
B1: Continuous-path mode, Exact stop, Look Ahead 4.4 Dynamic adaptations Applications The function is used to process workpieces which primarily comprise free-form surfaces. Requirements The function can only be activated if the requisite memory capacity is reserved during memory configuration: MD28610 $MC_MM_PREPDYN_BLOCKS = 10 The value entered prescribes the number of blocks which have to be taken into consideration in the determination of the path velocity (velocity preparation).
Page 226
B1: Continuous-path mode, Exact stop, Look Ahead 4.4 Dynamic adaptations The secant error which occurs during the interpolation of curved contours is dependent on the following factors: ● Curvature ● Interpolator clock cycle (display in the MD10071 $MN_IPO_CYCLE_TIME) ● Velocity with which the relevant contour is traversed The maximum possible secant error is defined for each axis in the machine data: MD33100 $MA_COMPRESS_POS_TOL (maximum tolerance with compression) If the set interpolator clock cycle is not sufficiently small, the max.
B1: Continuous-path mode, Exact stop, Look Ahead 4.5 Compressor functions the commands DYNROUGH, DYNSEMIFIN, and DYNFINISH and switched off via the commands DYNNORM and DYNPOS. See also Rounding of tangential block transitions (G645) (Page 198) Velocity-dependent jerk adaptation (axis-specific) (Page 268) Free-form surface mode: Extension function (Page 206) Compressor functions 4.5.1...
Page 228
B1: Continuous-path mode, Exact stop, Look Ahead 4.5 Compressor functions COMPCAD is very CPU time and memory-intensive. It is therefore recommended that COMPCAD only be used where surface improvements were not successful by measures taken within the CAD/CAM program. Common features ●...
Page 229
B1: Continuous-path mode, Exact stop, Look Ahead 4.5 Compressor functions Note Corner limit angle and compressor function COMPCAD The corner limit angle for COMPCAD set via the setting data SD42470 $SC_CRIT_SPLINE_ANGLE is only used as an approximate measure for corner detection. By evaluating the plausibility, the compressor can also identify flatter block transitions as corners and larger angles as outliers.
Availability System Availability SINUMERIK 840D sl Standard (basic scope) SINUMERIK 828D Option Parameterization The compression of short spline blocks can be activated for the following spline types: ●...
B1: Continuous-path mode, Exact stop, Look Ahead 4.5 Compressor functions Example To achieve a higher path velocity when executing the traversing blocks, compression for short spline blocks is activated for BSPLINE interpolation: MD20488 $MC_SPLINE_MODE, Bit 0 = 1 Program code Comment N10 G1 G64 X0 Y0 Z0 F1000 ;...
B1: Continuous-path mode, Exact stop, Look Ahead 4.6 Contour/Orientation tolerance Contour/Orientation tolerance Parameter assignment Machine data ● Contour tolerance / orientation tolerance MD33100 $MA_COMPRESS_POS_TOL[<axis>] = <value> (maximum tolerance with compression) Via the axis-specific machine data, the maximum permitted contour deviation (contour tolerance) or angle deviation of the tool orientation (orientation tolerance) of each axis is set.
Page 233
B1: Continuous-path mode, Exact stop, Look Ahead 4.6 Contour/Orientation tolerance Meaning Programmable contour tolerance CTOL: Preprocessing stop: Effective: Modal Programmable orientation tolerance OTOL: Preprocessing stop: Effective: Modal Programmable axis-specific contour tolerance ATOL: Preprocessing stop: Effective: Modal Name of the channel axis to which the programmed tolerance will apply <axis>: Tolerance value <value>:...
Page 234
B1: Continuous-path mode, Exact stop, Look Ahead 4.6 Contour/Orientation tolerance System variables Reading with preprocessing stop Via the following system variables, the currently active tolerances can be read in the NC part program and synchronized action: ● $AC_CTOL Channel-specific contour tolerance effective when the current main run record was preprocessed.
B1: Continuous-path mode, Exact stop, Look Ahead 4.7 Tolerance and compression of G0 blocks Supplementary conditions Programming The tolerances programmed with CTOL, OTOL, and ATOL also affect functions that indirectly depend on these tolerances: ● Limiting the chord error in the setpoint value calculation ●...
Page 236
B1: Continuous-path mode, Exact stop, Look Ahead 4.7 Tolerance and compression of G0 blocks G0 tolerance factor The tolerance factor for rapid traverse movements is only effective if both conditions are met: 1. One of the following functions is active: –...
Page 237
B1: Continuous-path mode, Exact stop, Look Ahead 4.7 Tolerance and compression of G0 blocks Programming The tolerance factor set using MD20560 $MC_G0_TOLERANCE_FACTOR can be temporarily overwritten by programming STOLF in the part program: Syntax STOLF = <tolerance factor> Meaning Command to program the G0 tolerance factor STOLF: G0 tolerance factor <tolerance...
B1: Continuous-path mode, Exact stop, Look Ahead 4.9 Supplementary conditions System variables The active G0 tolerance factor can be read via the following system variables. ● $AC_STOLF (active G0 tolerance factor) ● $P_STOLF (programmed G0 tolerance factor) Reset response After power-on reset, channel reset, or end of part program, the value parameterized in machine data MD20560 $MC_G0_TOLERANCE_FACTOR becomes effective again.
B1: Continuous-path mode, Exact stop, Look Ahead 4.10 Data lists 4.9.2 Block change delay Even if all path axes and special axes traversing in the part program block have satisfied their specific block transition criteria, the block change can still be delayed due to other unsatisfied conditions and/or active functions: Examples: ●...
Core limit angle, compressor 42475 COMPRESS_CONTUR_TOL Maximum contour deviation in the compressor 4.10.3 Signals 4.10.3.1 Signals from channel Signal name SINUMERIK 840D sl SINUMERIK 828D All axes stationary DB21, ..DBX36.3 DB330x.DBX4.3 4.10.3.2 Signals from axis/spindle Signal name SINUMERIK 840D sl...
Page 242
B1: Continuous-path mode, Exact stop, Look Ahead 4.10 Data lists Basic Functions Function Manual, 01/2015, 6FC5397-0BP40-5BA2...
B2: Acceleration Brief description 5.1.1 General Scope of functions The Description of Functions covers the following sub-functions: ● Acceleration ● Jerk ● Kneeshaped acceleration characteristic Acceleration and jerk The effective acceleration and jerk can be optimally matched to the machine and machining situation concerned using axis- and channel-specific programmable maximum values, programmable acceleration profiles in part programs and synchronized actions, and dynamic adaptations and limitations.
Page 244
B2: Acceleration 5.1 Brief description Channel-specific functions: ● Acceleration profile that can be selected via part-program instruction: Acceleration without jerk limitation (BRISK) ● Programmable constant travel time for the purpose of avoiding extreme sudden acceleration ● Programmable acceleration margin for overlaid traversing ●...
B2: Acceleration 5.2 Functions Functions 5.2.1 Acceleration without jerk limitation (BRISK/BRISKA) (channel/axis-specific) 5.2.1.1 General Information General Information In the case of acceleration without jerk limitation (jerk = infinite) the maximum value is applied for acceleration immediately. As regard to acceleration with jerk limitation, it differs in the following respects: ●...
B2: Acceleration 5.2 Functions The following features of the acceleration profile can be identified from the figure above: ● Time: t Sudden acceleration from 0 to +a ● Interval: t Constant acceleration with +a ; linear increase in velocity ● Time: t Sudden acceleration from 2 * a with immediate switchover from acceleration to braking Note...
B2: Acceleration 5.2 Functions MD18960 $MN_POS_DYN_MODE = <mode> <mode> Meaning Effective maximum axial acceleration: MD32300 $MA_MAX_AX_ACCEL[ 0 ] Effective maximum axial acceleration: MD32300 $MA_MAX_AX_ACCEL[ 1 ] Maximum axial acceleration for JOG motions For JOG mode, a JOG-specific maximum acceleration value can be configured for each machine axis (see Section "Acceleration and jerk for JOG motions (Page 282)").
B2: Acceleration 5.2 Functions Function The BRISKA part-program command is used to select the "without jerk limitation" acceleration profile for single-axis movements (JOG, JOG/INC, positioning axis, reciprocating axis, etc.). G group: - Effectiveness: Modal Axis: ● Value range: Axis name of the channel axes Axis-specific initial setting Acceleration without jerk limitation can be set as the axis-specific initial setting for single-axis movements:...
B2: Acceleration 5.2 Functions Characteristic with constant travel time Characteristic without constant travel time Maximum acceleration value Maximum velocity value Time Figure 5-2 Schematic for abrupt acceleration The effect of the constant travel time can be seen from the figure above: ●...
B2: Acceleration 5.2 Functions 5.2.3 Acceleration matching (ACC) (axis-specific) 5.2.3.1 General Information Function Using the ACC command, the currently effective maximum axis acceleration parameterized in the acceleration-specific machine data can be reduced for a specific axis. The reduction is in the form of a percentage factor, which is specified when programming the command.
B2: Acceleration 5.2 Functions Further information System variable The acceleration reduction (set using ACC), currently active in the channel, can be read on an axis-for-axis basis using: $AA_ACC[<axis>] Reset response The acceleration reduction set using ACC can be kept after a channel reset or after the end of the program.
B2: Acceleration 5.2 Functions The value specified in the setting data is only taken into account if it is smaller than the path acceleration calculated during preprocessing. The limitation must be activated for specific channels using setting data: SD42502 $SC_IS_SD_MAX_PATH_ACCEL = TRUE 5.2.5.2 Parameterization Parameterization is carried out for specific channels using setting data:...
B2: Acceleration 5.2 Functions Value Parameter: ● Value range: TRUE, FALSE Application: ● Part program ● Static synchronized action 5.2.6 Path acceleration for real-time events (channel-specific) 5.2.6.1 General Information General Information So that no compromise has to be made between machining-optimized acceleration on the one hand and time-optimized acceleration in connection with the following real-time events on the other: ●...
B2: Acceleration 5.2 Functions Effectiveness Effective Real-time event acceleration is only enabled in AUTOMATIC and MDA operating modes in conjunction with the following real-time events: ● NC Stop / NC Start ● Override changes ● Changing the velocity default for "safely reduced velocity" within the context of the "Safety Integrated"...
B2: Acceleration 5.2 Functions 5.2.7 Acceleration with programmed rapid traverse (G00) (axis-specific) 5.2.7.1 General Information Frequently, the acceleration for the machine axes involved in the machining process must be set lower than the machine's performance capability officially allows because of the supplementary conditions associated with the specific process concerned.
B2: Acceleration 5.2 Functions 5.2.8 Acceleration with active jerk limitation (SOFT/SOFTA) (axis-specific) 5.2.8.1 General Information Function Compared with acceleration without jerk limitation, acceleration with jerk limitation results in a certain degree of time loss, even when the same maximum acceleration value is used. To compensate for this time loss, a specific maximum value can be programmed for the axis- specific acceleration as far as traversing of the machine axes with active jerk limitation (SOFT/ SOFTA) is concerned.
B2: Acceleration 5.2 Functions 5.2.9.2 Parameterization Excessive acceleration for non-tangential block transitions is parameterized using the axis- specific machine data: MD32310 $MA_MAX_ACCEL_OVL_FACTOR (overload factor for velocity jumps) 5.2.10 Acceleration margin for radial acceleration (channel-specific) 5.2.10.1 General Information Overview In addition to the path acceleration (tangential acceleration), radial acceleration also has an effect on curved contours.
B2: Acceleration 5.2 Functions The corresponding maximum values are generally calculated as follows: Radial acceleration = MD20602 $MC_CURV_EFFECT_ON_PATH_ACCEL * MD32300 $MA_MAX_AX_ACCEL Path acceleration = (1 - MD20602 $MC_CURV_EFFECT_ON_PATH_ACCEL) * MD32300 $MA_MAX_AX_ACCEL Example The following machine parameters apply: ● MD32300 $MA_MAX_AX_ACCEL for all geometry axes: 3 m/s ●...
B2: Acceleration 5.2 Functions 5.2.11 Jerk limitation with path interpolation (SOFT) (channel-specific) 5.2.11.1 General Information Overview As far as the functionality described in the rest of this document is concerned, constant acceleration, i.e., acceleration with jerk limitation (jerk = infinite value), is the assumed acceleration profile.
Page 260
B2: Acceleration 5.2 Functions Acceleration profile Maximum jerk value Maximum acceleration value Maximum velocity value Time Figure 5-4 Jerk, acceleration and velocity schematic with jerk limitation acceleration profile The following features of the acceleration profile can be identified from the figure above: ●...
B2: Acceleration 5.2 Functions ● Interval: t Constant braking acceleration with -a ; linear decrease in velocity ● Interval: t Constant jerk with -r ; linear decrease in braking acceleration; quadratic decrease in velocity reduction until zero velocity is reached v = 0 5.2.11.2 Parameterization Maximum jerk value for path motions (axis-specific)
B2: Acceleration 5.2 Functions G group: 21 Effective: Modal Reset response The channel-specific initial setting is activated via a reset: MD20150 $MC_GCODE_RESET_VALUES[20] Boundary conditions If the acceleration mode is changed in a part program during machining (BRISK ↔ SOFT), a block change is performed at the point of transition with an exact stop at the end of the block, even in continuous-path mode.
B2: Acceleration 5.2 Functions Maximum axial jerk for JOG motions For JOG mode, a JOG-specific maximum jerk value can be configured for each machine axis (see Section "Acceleration and jerk for JOG motions (Page 282)"). 5.2.12.2 Programming Syntax Axis { Axis }) SOFTA ( Functionality The SOFTA part-program command is used to select acceleration with jerk limitation for single-...
B2: Acceleration 5.2 Functions The limitation must be activated for specific channels using setting data: SD42512 $SC_IS_SD_MAX_PATH_JERK = TRUE 5.2.13.2 Parameterization Parameterization is carried out for specific channels using setting data: SD42510 $SC_SD_MAX_PATH_JERK (maximum path jerk) SD42512 $SC_IS_SD_MAX_PATH_JERK (activation of path-jerk limitation) 5.2.13.3 Programming Maximum path jerk...
B2: Acceleration 5.2 Functions Value Parameter: ● Value range: TRUE, FALSE Application: ● Part program ● Static synchronized action 5.2.14 Path jerk for real-time events (channel-specific) 5.2.14.1 General Information Overview So that no compromise has to be made between machining-optimized jerk on the one hand and time-optimized jerk in connection with the following real-time events on the other: ●...
B2: Acceleration 5.2 Functions Effectiveness Effective Path jerk for real-time events is only enabled in AUTOMATIC and MDA operating modes in conjunction with the following real-time events: ● NC Stop / NC Start ● Override changes ● Changing the velocity default for "safely reduced velocity" within the context of the "Safety Integrated"...
B2: Acceleration 5.2 Functions Boundary conditions Programming $AC_PATHJERK in the part program automatically triggers a preprocessing stop with REORG (STOPRE). 5.2.15 Jerk with programmed rapid traverse (G00) (axis-specific) 5.2.15.1 General Information Overview Frequently, the maximum jerk for the machine axes involved in the machining process must be set lower than the machine's performance capability officially allows because of the supplementary conditions associated with the specific process concerned.
B2: Acceleration 5.2 Functions 5.2.16 Excessive jerk for block transitions without constant curvature (axis-specific) 5.2.16.1 General Information Overview In the case of block transitions without constant curvature (e.g. straight line > circle), the programmable controller has to decelerate movement of the geometry axes significantly in order to ensure compliance with the parameterized axis dynamics.
Page 269
B2: Acceleration 5.2 Functions Availability The "velocity-dependent jerk adaptation" function is available independent of the function "Free-form surface mode: Basic functions (Page 224)". Parameterization The "Velocity-dependent jerk adaptation" function is parameterized with the following machine data: ● MD32437 $MA_AX_JERK_VEL0[<n>] = <threshold value >...
B2: Acceleration 5.2 Functions Note The velocity-dependent jerk adaptation is only active, if: MD32439 $MA_MAX_AX_JERK_FACTOR > 1.0 Example Example of parameter assignment: ● MD32437 $MA_AX_JERK_VEL0 = 3000 mm/min ● MD32438 $MA_AX_JERK_VEL1 = 6000 mm/min ● MD32439 $MA_MAX_AX_JERK_FACTOR[AX1] = 2.0 ● MD32439 $MA_MAX_AX_JERK_FACTOR[AX2] = 3.0 ●...
Page 271
B2: Acceleration 5.2 Functions To enable the jerk filter to be optimally matched to the machine conditions, various filter modes are available: ● 2nd-order filter (PT2) ● Sliding mean value generation ● Bandstop filter Mode: 2nd-order filter Owing to the fact that it is a simple low-pass filter, "2nd-order filter" mode can only meet the requirements specified above where relatively small filter time constants (around 10 ms) are concerned.
B2: Acceleration 5.2 Functions Since a vibration-capable filter setting is not expected to yield useful results in any case, as with the jerk filter's "2nd-order filter" (PT2) low-pass filter (PT2) mode there is no setting option for the denominator damping D .
Page 273
B2: Acceleration 5.2 Functions Filter mode The filter mode is selected via the machine data: MD32402 $MA_AX_JERK_MODE Value Filter mode 2nd-order filter Sliding mean value generation Bandstop filter Time constant The time constant for the axial jerk filter is set with the machine data: MD32410 $MA_AX_JERK_TIME The jerk filter is only effective when the time constant is greater than a position-control cycle.
B2: Acceleration 5.2 Functions 5.2.19 Kneeshaped acceleration characteristic curve 5.2.19.1 Adaptation to the motor characteristic curve Function Various types of motor, particularly stepper motors, have a torque characteristic that is highly dependent upon speed and shows a steep decrease in torque in the upper speed range. To ensure optimum utilization of the motor characteristic curve, it is necessary to reduce the acceleration once a certain speed is reached.
Page 275
B2: Acceleration 5.2 Functions The following figures show typical velocity and acceleration characteristic curves for the respective types of characteristic: Constant characteristic Figure 5-7 Acceleration and velocity characteristic with acceleration reduction: 0 = constant Hyperbolic characteristic Figure 5-8 Acceleration and velocity characteristic with acceleration reduction: 1 = hyperbolic Linear characteristic Figure 5-9 Acceleration and velocity characteristic with acceleration reduction: 2 = linear...
B2: Acceleration 5.2 Functions The key data for the characteristic curves equate to: = $MA_MAX_AX_VELO = $MA_ACCEL_REDUCTION_SPEED_POINT * $MA_MAX_AX_VELO = $MA_MAX_AX_ACCEL = (1 - $MA_ACCEL_REDUCTION_FACTOR) * $MA_MAX_AX_ACCEL 5.2.19.2 Effects on path acceleration Function The path acceleration characteristic curve is generated on the basis of the types of characteristic for the axes that are of relevance for the path.
Page 277
B2: Acceleration 5.2 Functions Substitute characteristic curve with linear path sections Limitation to this value is applied if the programmed path velocity is greater than that at which 15 % of the maximum acceleration capacity is still available (v ). Consequently, 15 % of the 15%a maximum acceleration capacity/motor torque always remains available, whatever the machining situation.
Page 278
B2: Acceleration 5.2 Functions Substitute characteristic curve with curved path sections In the case of curved path sections, normal and tangential acceleration are considered together. The path velocity is reduced so that only up to 25 % of the speed-dependent acceleration capacity of the axes is required for normal acceleration.
B2: Acceleration 5.2 Functions ① Normal range ⇒ a = a ② Reducing range ⇒ a < a ③ Constant travel range ⇒ a = 0 m/s ④ Brake application point Creep velocity Maximum velocity Traversing block with block number Nx Figure 5-12 Deceleration with LookAhead 5.2.19.4...
B2: Acceleration 5.2 Functions 5.2.19.5 Programming Channel-specific activation (DRIVE) Syntax DRIVE Functionality The knee-shaped characteristic curve is activated for path acceleration using the DRIVE part- program instruction. G group: 21 Effective: Modal Reset response The channel-specific default setting is activated via a reset: MD20150 $MC_GCODE_RESET_VALUES[20] Dependencies If the knee-shaped acceleration characteristic curve is parameterized for a machine axis, then...
B2: Acceleration 5.2 Functions Axis : ● Value range: Axis name of the channel axes Reset behavior The channel-specific default setting is activated via a reset: MD20150 $MC_GCODE_RESET_VALUES[20] Dependencies If the knee-shaped acceleration characteristic curve is parameterized for a machine axis, then this becomes the default acceleration profile for all traversing operations.
B2: Acceleration 5.2 Functions 5.2.20 Acceleration and jerk for JOG motions In order to avoid unwanted machine motions in JOG mode, separate axial acceleration and jerk limit values can be specified for JOG motion. It is also possible to limit acceleration and jerk channel-specifically for manual traversing of geometry and orientation axes.
Page 283
B2: Acceleration 5.2 Functions With MD21166 = 0, the axis-specific limit value from MD32301 $MA_JOG_MAX_ACCEL is effective instead of the channel-specific acceleration limitation. Note With MD21166 $MC_JOG_ACCEL_GEO [<geometry axis>], there is no direct limitation to MD32300 $MA_MAX_AX_ACCEL. Note When a transformation is active, MD32300 $MA_MAX_AX_ACCEL determines the maximum possible axial acceleration.
B2: Acceleration 5.2 Functions 5.2.20.2 Supplementary conditions Path override / overlaid motion With path override / overlaid motion (e.g. DRF), the JOG-specific maximum values for acceleration and jerk (MD32301 $MA_JOG_MAX_ACCEL and MD32436 $MA_JOG_MAX_JERK) are not effective. Instead, the values for positioning axis motions are effective: ●...
B2: Acceleration 5.3 Examples As with SOFTA, the part program instructions BRISKA and DRIVEA are also effective in JOG mode, i.e. the acceleration is without jerk limitation, even when MD32420 $MA_JOG_AND_POS_JERK_ENABLE is set to "TRUE" for the relevant machine axes. Note The manual traversing of orientation axes is not affected by BRISKA/SOFTA/DRIVEA.
B2: Acceleration 5.3 Examples Path velocity characteristic Acceleration profile: BRISK Accelerate to 100% of path velocity (F10000) in accordance with acceleration default: ACC (N2200...) Brake to 10% of path velocity as a result of override modification ($AC_OVR) in accordance with real-time accel‐ eration $AC_PATHACC (N53/N54...) Accelerate to 100% of path velocity as a result of override modification ($AC_OVR) in accordance with real-time acceleration $AC_PATHACC (N53/N55...)
Page 287
B2: Acceleration 5.3 Examples Program code ; Synchronized action: varying the override (simulation of external interventions) N0530 ID=1 WHENEVER ($AC_TIMEC > 16) DO $AC_OVR=10 N0540 ID=2 WHENEVER ($AC_TIMEC > 30) DO $AC_OVR=100 ;Approach N1000 G0 X0 Y0 SOFT N1100 TRANS Y=-50 N1200 AROT Z=30 G642 ;...
B2: Acceleration 5.3 Examples 5.3.3 Acceleration and jerk The following example shows the characteristic of velocity and acceleration of the X axis based on the programmed traversing motion of the part program extract. Further, which of the velocity and acceleration-relevant machine data are decisive for which section of the contour. Part program extract Program code Comment...
B2: Acceleration 5.3 Examples Velocity and acceleration characteristic Figure 5-16 Velocity and acceleration characteristic curves X axis 5.3.4 Knee-shaped acceleration characteristic curve 5.3.4.1 Activation The example illustrates how the knee-shaped acceleration characteristic curve is activated on the basis of the machine data and a part program extract. Machine data Machine data Value...
B2: Acceleration 5.4 Data lists Number Identifier: $MC_ Description 20600 MAX_PATH_JERK Path-related maximum jerk 20602 CURV_EFFECT_ON_PATH_ACCEL Influence of path curvature on path dynamic response 20610 ADD_MOVE_ACCEL_RESERVE Acceleration reserve for overlaid motions 21158 JOG_JERK_ORI Maximum jerk of the orientation axes when traversing in JOG 21159 JOG_JERK_ORI_ENABLE Initial setting of the channel-specific jerk limitation of orienta‐...
F1: Travel to fixed stop Brief description Function With the "Travel to fixed stop" function, moving machine parts, e.g. tailstock or sleeve, can be traversed so that they can apply a defined torque or force with respect to other machine parts over any time period.
F1: Travel to fixed stop 6.2 Detailed description Detailed description 6.2.1 Programming Function Travel to fixed stop The "Travel to fixed stop" function is controlled via the FXS, FXST and FXSW commands. The activation can also be performed without traversing motion of the relevant axis. The torque is immediately limited.
Page 295
F1: Travel to fixed stop 6.2 Detailed description Changes to the torque limiting (FXST) The torque limit value can be changed in each block. The change becomes effective before executing the traversing motion programmed in the block. The torque limitation acts in addition to the acceleration limitation (ACC).
F1: Travel to fixed stop 6.2 Detailed description 6.2.2 Functional sequence 6.2.2.1 Selection Figure 6-1 Example of travel to fixed stop Procedure The NC detects that the function "Travel to fixed stop" is selected via the command FXS[x]=1 and signals the PLC using the IS DB31, ... DBX62.4 ("Activate travel to fixed stop") that the function has been selected.
F1: Travel to fixed stop 6.2 Detailed description 6.2.2.2 Fixed stop is reached Detecting the fixed stop Detecting the fixed stop or identifying that the machine axis has reached the fixed stop can be set using the following machine data: MD37040 $MA_FIXED_STOP_BY_SENSOR = <value>...
Page 298
F1: Travel to fixed stop 6.2 Detailed description Monitoring window If, in the traversing block to the fixed stop or since the beginning of the program, no specific value for the monitoring window is programmed with FXSW then the value set in the machine data is active: MD37020 $MA_FIXED_STOP_WINDOW_DEF (default for fixed stop monitoring window) If the axis leaves the position it was in when the fixed stop was detected by more than the...
F1: Travel to fixed stop 6.2 Detailed description 6.2.2.3 Fixed stop is not reached Alarm suppression Alarms for various causes of breakage can be suppressed using the machine data: MD37050 $MA_FIXED_STOP_ALARM_MASK = <value> Value Description: Suppressed alarms Alarm 20091 "Fixed stop not reached" Alarm 20091 "Fixed stop not reached"...
F1: Travel to fixed stop 6.2 Detailed description Overview Figure 6-3 Fixed stop is not reached 6.2.2.4 Deselection The "travel to fixed stop" function is deselected using the command FXS[<axis>] = 0 in a block of an NC program. Actions when deselecting the function When deselecting the function, the following actions are executed: ●...
Page 301
F1: Travel to fixed stop 6.2 Detailed description Pulse enable The pulse enable or pulse inhibit can be canceled via: ● Drive: Via terminal EP (enable pulses) ● NC/PLC interface signal: DB31, ... DBX21.7 ("pulse enable") The behavior at the fixed stop can be set via the following machine data: MD37002 $MA_FIXED_STOP_CONTROL, bit 0 and bit 1 (sequence control for traversing to fix stop) Val‐...
F1: Travel to fixed stop 6.2 Detailed description Overview ① Traversing block with deselection FXS[<axis>]=0 Figure 6-4 Fixed stop deselection 6.2.3 Behavior during block search Function Block search with calculation ● If the target block is located in a program section in which the axis must stop at a fixed limit, then the fixed stop is approached if it has not yet been reached.
Page 303
F1: Travel to fixed stop 6.2 Detailed description Effectiveness of FOCON/FOCOF The state of the modal-acting torque/force reduction FOCON/FOCOF is maintained during the search and is effective in the approach block. Block search with FXS or FOC The user selects FXS or FOC in a program area of the target block in order to acquire all states and functions of the machining last valid.
Page 304
F1: Travel to fixed stop 6.2 Detailed description Example The current state of the "Travel to fixed stop" function can be determined in the SERUPRO ASUB via the system variables $AA_FXS and $VA_FXS, and the appropriate response initiated: Program code: FXS_SERUPRO_ASUP.MPF Comment N100 WHEN ($AA_FXS[X]==3) AND ($VA_FXS[X]==0) DO ;...
F1: Travel to fixed stop 6.2 Detailed description Deactivating FXS-REPOS FXS-REPOS is deactivated by: ● An FXS synchronized action which refers to REPOSA ● $AA_FXS[X] = $VA_FXS[X] in the SERUPRO_ASUB Note A SERUPRO ASUB without FXS treatment or no SERUPRO ASUB results automatically in FXS-REPOS.
F1: Travel to fixed stop 6.2 Detailed description Function abort A function abort can be triggered by the following events: ● Emergency stop CAUTION Dangerous machine situations possible for travel to limit stop It must be ensured that no dangerous machine situations occur while travel to fixed stop is active when an "Emergency stop"...
F1: Travel to fixed stop 6.2 Detailed description This corresponds to an electronic weight compensation for the vertical axis and can be configured via the following machine data: MD37052 $MA_FIXED_STOP_ALARM_REACTION References Further information on vertical axes can be found in: ●...
F1: Travel to fixed stop 6.2 Detailed description Default setting The defaults for the setting data are set via the following machine data: ● Clamping torque: MD37010 $MA_FIXED_STOP_TORQUE_DEF (default clamping torque) ● Monitoring window: MD37020 $MA_FIXED_STOP_WINDOW_DEF (default monitoring window) Effectiveness The setting data for the clamping torque and monitoring window takes effect immediately.
Page 309
F1: Travel to fixed stop 6.2 Detailed description Additional information If errors occurred when traversing to the fixed stop ($VA_FXS == 2), then additional information is displayed in the following system variables: ● $VA_FXS_INFO = <value> (additional information when "traveling to fixed stop") <val‐...
F1: Travel to fixed stop 6.2 Detailed description 6.2.8 Alarms Alarm 20091 "Fixed stop not reached" If the fixed stop position is not reached during travel to fixed stop, alarm 20091 "Fixed stop not reached" is displayed and a block change executed. Alarm 20092 "Travel to fixed stop is still active"...
F1: Travel to fixed stop 6.2 Detailed description Alarm suppression after new programming Travel to fixed stop can be used for simple measuring processes. For example, it is possible to carry out a check for tool breakage by measuring the tool length by traversing onto a defined obstacle.
Page 312
F1: Travel to fixed stop 6.2 Detailed description Parameterization Machine data ● MD37010 $MA_FIXED_STOP_TORQUE_DEF (default for fixed stop clamping torque) The value specified in the machine data is effective after activating the function, as long as no explicit value is programmed using FXST. ●...
Page 313
F1: Travel to fixed stop 6.2 Detailed description Changing the status of the "Travel to fixed stop" function FXS does not change the status of the "Force Control" function. $AA_FOC Value Meaning FOC not active FOC modal active FOC non-modal active Status of torque limiting The actual status of the torque limiting can be read using system variable $VA_TORQUE_AT_LIMIT.
F1: Travel to fixed stop 6.3 Examples Examples Example 1: Travel to fixed stop with static synchronized actions Travel to fixed stop (FXS) is initiated when requested via R parameter ($R1) in a static synchronized action. Program code Comment N10 IDS=1 WHENEVER ;...
F1: Travel to fixed stop 6.4 Data lists Example 2: Traveling to fixed stop with block-related synchronized actions "Travel to fixed stop" is activated from a specific position of the traversing motion of the following block Program code Comment N10 G0 G90 X0 ;...
G2: Velocities, setpoint / actual value systems, closed- loop control Brief description The description of functions explains how to parameterize a machine axis in relation to: ● Actual-value/measuring systems ● Setpoint system ● Operating accuracy ● Travel ranges ● Axis velocities ●...
Page 318
G2: Velocities, setpoint / actual value systems, closed-loop control 7.2 Velocities, traversing ranges, accuracies Example: Interpolation cycle = 12 ms N10 G0 X0 Y0; [mm] N20 G0 X100 Y100; [mm] ⇒ Path length programmed in block = 141.42 mm ⇒ V = (141.42 mm/12 ms) 0.9 = 10606.6 mm/s = 636.39 m/min Minimum path, axis velocity...
G2: Velocities, setpoint / actual value systems, closed-loop control 7.2 Velocities, traversing ranges, accuracies Range of values for feedrate for positioning axes: Metric system: Inch system: 0.001 ≤ FA ≤ 999,999.999 0.001 ≤ FA ≤ 399,999.999 [mm/min, mm/rev, degrees/min, degrees/rev] [inch/min, inch/rev] Range of values for spindle speed S: 0.001 ≤...
G2: Velocities, setpoint / actual value systems, closed-loop control 7.2 Velocities, traversing ranges, accuracies References: Function Manual, Extended Functions; Rotary Axes (R2) 7.2.3 Positioning accuracy of the control system Actual-value resolution and computational resolution The positioning accuracy of the control depends on the actual-value resolution (=encoder increments/(mm or degrees)) and the computational resolution (=internal increments/(mm or degrees)).
Page 321
G2: Velocities, setpoint / actual value systems, closed-loop control 7.2 Velocities, traversing ranges, accuracies The input and display resolution is determined by the specified operator panel front used, whereby the display resolution for position values with the machine data: MD9004 $MM_DISPLAY_RESOLUTION (display resolution) can be changed.
G2: Velocities, setpoint / actual value systems, closed-loop control 7.2 Velocities, traversing ranges, accuracies ⇒ Example of related part program: Program code Comment N20 G0 X 1.0000 Y 1.0000 ; Axes travel to the position X=1.0000 mm, Y=1.0000 mm; N25 G0 X 5.0002 Y 2.0003 ;...
Page 323
G2: Velocities, setpoint / actual value systems, closed-loop control 7.2 Velocities, traversing ranges, accuracies Physical unit Unit Revolutional feedrate 1 mm/degree Compensation value linear position 1 mm Compensation value angular position 1 degree The user can define different input/output units for machine and setting data. This also requires an adjustment between the newly selected input/output units and the internal units via the following machine data: ●...
Page 324
G2: Velocities, setpoint / actual value systems, closed-loop control 7.2 Velocities, traversing ranges, accuracies (The internal unit is mm/s) ⇒ The scaling factor for the linear velocities is to differ from the standard setting. For this, in machine data: MD10220 $MN_SCALING_USER_DEF_MASK bit number 2 must be set.
G2: Velocities, setpoint / actual value systems, closed-loop control 7.3 Metric/inch measuring system Metric/inch measuring system 7.3.1 Conversion of basic system by part program Programmable switchover of the system of units The basic system can be switched over within a part program via the G functions G70/G71/ G700/G710 (G group 13).
Page 326
G2: Velocities, setpoint / actual value systems, closed-loop control 7.3 Metric/inch measuring system The following length-related data is displayed in the programmed system of units: ● Data in the workpiece coordinate system Reading in part programs from external sources If part programs, including data sets (zero offsets, tool offsets, etc.), programmed in a system of units other than the basic system are read in from an external source, the initial setting must first be changed in machine data MD10240.
Page 327
G2: Velocities, setpoint / actual value systems, closed-loop control 7.3 Metric/inch measuring system Program code Comment N170 ENDIF N180 IF ($AA_IW[X] > 10) ; [mm] (basic system) > 10 [inch] ; (programmed system of units) N190 R2=1 N200 ENDIF N210 IF ( (R1+R2) = 1 ) ;...
Page 328
Tool offsets Length-related machine data Length-related setting data Length-related system variables R parameters Siemens cycles Jog/handwheel increment factor P: Writing/reading is performed in the programmed system of units. G: Writing/reading takes place in the configured basic system. Note Read position data in synchronized actions...
G2: Velocities, setpoint / actual value systems, closed-loop control 7.3 Metric/inch measuring system References: Programming Manual, Fundamentals; List of Addresses NC-specific conversion factor The default conversion factor in the machine data: MD10250 $MN_SCALING_VALUE_INCH (conversion factor for switchover to inch system) is set to 25.4 for converting from the metric to the inch system.
Page 330
G2: Velocities, setpoint / actual value systems, closed-loop control 7.3 Metric/inch measuring system The following machine data are automatically switched over consistently for all configured channels: ● MD10240 $MN_SCALING_SYSTEM_IS_METRIC ● MD20150 $MN_GCODE_RESET_VALUES Reset position When the system of units is switched over, the reset position of the G group 13 is automatically adapted.
Page 331
G2: Velocities, setpoint / actual value systems, closed-loop control 7.3 Metric/inch measuring system Data, for which no unique physical units are defined, is not converted automatically. This includes: ● R parameters ● GUDs (Global User Data) ● LUDs (Local User Data) ●...
Page 332
G2: Velocities, setpoint / actual value systems, closed-loop control 7.3 Metric/inch measuring system Input resolution and computational resolution The input and calculation resolution is defined as an internal number of increments per millimeter. MD10200 $MN_INT_INCR_PER_MM The precision of entry of linear positions is limited to the calculation resolution. The product of the programmed position value and the calculation resolution is rounded up to the next integer.
G2: Velocities, setpoint / actual value systems, closed-loop control 7.3 Metric/inch measuring system The identifier records in which system of units the data have been read out. This ensures that no data sets are read into the control with a system of units other than that which is currently set.
Page 334
G2: Velocities, setpoint / actual value systems, closed-loop control 7.3 Metric/inch measuring system Special features of the feedrate weighting for rotary axes in FGROUP: Program code N100 FGROUP(X,Y,Z,A) N110 G1 G91 A10 F100 N120 G1 G91 A10 X0.0001 F100 The programmed F value in block N110 is evaluated as a rotary axis feedrate in degrees/min, while the feedrate weighting in block N120 is either 100 inch/min or 100 mm/min, depending on the current inch/metric setting.
Page 335
G2: Velocities, setpoint / actual value systems, closed-loop control 7.3 Metric/inch measuring system Program code Comment N260 DO $R7=$AC_TIME N270 A10 ; Feedrate = 100 degrees/min, path = 10 degrees, R7 = approx. 6 s N280 DO $R8=$AC_TIME N290 X0.001 A10 ;...
A control loop with the following structure can be configured for every closed-loop controlled axis/spindle: Figure 7-1 Block diagram of a control loop Setpoint output A setpoint telegram can be output for each axis/spindle. The setpoint output to the actuator is realized from the SINUMERIK 840D sl. Basic Functions Function Manual, 01/2015, 6FC5397-0BP40-5BA2...
Page 337
G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system Actual-value acquisition A maximum of two measuring systems can be connected for each axis/spindle, e.g. a direct measuring system for machining processes with high accuracy requirements and an indirect measuring system for high-speed positioning tasks.
Page 338
G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system If the axis is not referenced (at least in the current control measuring system), then the related monitoring is not active if MD36510 = 0 or if neither of the two measuring systems in the axis is active/available.
G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system 7.4.2 Setpoint and encoder assignment Setpoint marshalling The following machine data is relevant for the setpoint assignment of a machine axis. MD30100 $MA_CTRLOUT_SEGMENT_NR Setpoint assignment: Bus segment System Value Meaning 840D sl...
Page 340
G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system MD30220 $MA_ENC_MODULE_NR[ n ] Actual value assignment: Drive number/measuring circuit number System Value Meaning 840D sl The logical I/O address of the drive is assigned from MD13050 $MN_DRIVE_LOGIC_ADDRESS[ n ] via the drive number. The drive number (x) results from the index (n) of MD13050: x = n + 1 MD30230...
Page 341
G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system MD30242 $MA_ENC_IS_INDEPENDENT[ n, axis ] Encoder is independent System Value Meaning 840D sl The encoder is not independent. The encoder is independent. If the actual-value corrections, which are made for the encoder selected for the position control, are not to influence the actual value of the second encoder defined in the same axis, then this should be declared as independent.
G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system Note Machine data index [ n ] The machine data index [ n ] for encoder assignment has the following meaning: ● n = 0: First encoder assigned to the machine axis ●...
Page 343
G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system Local position of gear unit/encoder Figure 7-2 Gear unit types and encoder locations Motor/load gear The motor/load gear supported by SINUMERIK is configured via the following machine data: MD31060 $MA_DRIVE_AX_RATIO_NUMERA (numerator load gearbox) MD31050 $MA_DRIVE_AX_RATIO_DENOM (denominator load gearbox) The transmission ratio is obtained from the numerator/denominator ratio of both machine data.
Page 344
G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system Power tools generally have their "own" intermediate gear. Such variable mechanics can be configured by multiplying the active intermediate gearbox and the motor/load gearbox. CAUTION Different gearbox transmission ratios for switching Unlike the motor/load gear, there is no parameter set for the intermediate gear and, therefore, no way of controlling the time-synchronized switchover to the part program or PLC (NC/PLC interface).
G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system Reference point and position reference CAUTION Loss of the position reference The controller cannot detect all possible situations that can lead to loss of the machine position reference. Therefore, it is the responsibility of the commissioning engineer or user to initiate explicit referencing of zero marker synchronization in such cases.
Page 346
PROFIdrive drives (manufacturer- specific setting parameters in the drive, e.g. p1082 for SINAMICS). The output of the spindle speed is implemented in the NC for SINUMERIK 840D sl. Data for five gear stages are realized in the controller.
G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system Figure 7-3 Maximum speed setpoint However, due to control processes, the axes should not reach their maximum velocity (MD32000 $MA_MAX_AX_VELO) at 100% of the speed setpoint, but at 80% to 95%. In case of axes, whose maximum speed is attained at around 80% of the speed setpoint range, the default value (80%) of the machine data: MD32000 $MA_MAX_AX_VELO (maximum axis velocity)
G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system Encoder-dependent machine data: $MA_ Meaning MD30210 ENC_SEGMENT_NR[ n ] Actual value assignment: Number of bus segments MD30220 ENC_MODULE_NR[ n ] Actual value assignment: Drive number/ measuring circuit number MD30230 ENC_INPUT_NR[ n ] Actual value assignment: Input on drive module/measuring circuit module...
Page 349
G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system Parameterizing the actual value resolution depending on the axis type (linear/rotary axis) The control system calculates the actual value resolution based on the following machine data. Machine data for calculating the actual value resolution Linear axis Linear axis Rotary axis...
Page 350
G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system Machine data of the actual value resolution The actual-value resolution results from the design of the machine, whether gearboxes are available and their gear ratio, the leadscrew pitch for linear axes and the resolution of the encoder being used.
G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system Computational resolution: Rotary axes Machine data General machine data: $MN_ Meaning MD10200 INT_INCR_PER_MM Computational resolution for linear positions MD10210 INT_INCR_PER_DEG Computational resolution for angular posi‐ tions Recommended setting The above components and settings that are responsible for the actual-value resolution, should be selected so that the actual-value resolution is higher than the parameterized computational resolution.
G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system 7.4.6.3 Example: Linear axis with rotary encoder on motor Figure 7-5 Linear axis with rotary encoder on motor The ratio of the internal increments to the encoder increments per mm is calculated as follows: Example Assumptions: ●...
G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system Machine data Value MD31040 $MA_ENC_IS_DIRECT[0] MD31020 $MA_ENC_RESOL[0] 2048 MD31025 $MA_ENC_PULSE_MULT 2048 MD31030 $MA_LEADSCREW_PITCH MD31080 $MA_DRIVE_ENC_RATIO_NUMERA[0] MD31070 $MA_DRIVE_ENC_RATIO_DENOM[0] MD31060 $MA_DRIVE_AX_RATIO_NUMERA[0] MD31050 $MA_DRIVE_AX_RATIO_DENOM[0] MD10210 $MN_INT_INCR_PER_DEG 10000 An encoder increment corresponds to 0.004768 internal increments or 209.731543 encoder increments correspond to an internal increment.
G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system 7.4.6.5 Example: Rotary axis with rotary encoder on motor Figure 7-7 Rotary axis with rotary encoder on motor The ratio of the internal increments to the encoder increments per degree is calculated as follows: Basic Functions Function Manual, 01/2015, 6FC5397-0BP40-5BA2...
Page 355
G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system Example Assumptions: ● Rotary encoder on the motor: 2048 pulses/revolution ● Internal pulse multiplication: 2048 ● Gearbox, motor / rotary axis: 5:1 ● Computational resolution: 1000 increments per degree Machine data Value MD30300 $MA_IS_ROT_AX...
G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system 7.4.6.6 Example: Rotary axis with rotary encoder on the machine Figure 7-8 Rotary axis with rotary encoder on the machine The ratio of the internal increments to the encoder increments per degree is calculated as follows: Basic Functions Function Manual, 01/2015, 6FC5397-0BP40-5BA2...
G2: Velocities, setpoint / actual value systems, closed-loop control 7.5 Closed-loop control 7.4.6.7 Example: Intermediate gear with encoder on the tool Figure 7-9 Intermediate gear with encoder directly on the rotating tool The ratio of the internal increments to the encoder increments per degree is calculated as follows: Closed-loop control 7.5.1...
Page 358
G2: Velocities, setpoint / actual value systems, closed-loop control 7.5 Closed-loop control Figure 7-10 Principle representation of the setpoint processing and closed-loop control For information on the jerk limitation, see Section "B2: Acceleration (Page 243)". For a description of the feedforward control, backlash, friction compensation, and leadscrew error compensation.
Page 359
G2: Velocities, setpoint / actual value systems, closed-loop control 7.5 Closed-loop control However, if the servo gain factor (K ) is too high, instability, overshoot and possibly impermissible high loads on the machine will result. The maximum permissible servo gain factor (K ) depends on the following: ●...
Page 360
G2: Velocities, setpoint / actual value systems, closed-loop control 7.5 Closed-loop control Figure 7-11 Dynamic response adaptation Example of a dynamic response adaptation of three axes without speed feedforward control The equivalent time constant of the position control loop is: Axis 1: 30 ms Axis 2:...
G2: Velocities, setpoint / actual value systems, closed-loop control 7.5 Closed-loop control ● With speed feedforward control: ● For combined torque/speed feedforward control Note If dynamic response adaptation is realized for a geometry axis, then all other geometry axes must be set to the same dynamic response. References: Commissioning Manual CNC: NCK, PLC, Drives 7.5.2...
G2: Velocities, setpoint / actual value systems, closed-loop control 7.6 Optimization of the control Tapping, thread cutting For tapping or thread cutting, the following applies with regard to the parameter sets of axes: ● For machine axes that are not involved in tapping or thread cutting, parameter set 1 (index = 0) is active.
Page 363
G2: Velocities, setpoint / actual value systems, closed-loop control 7.6 Optimization of the control MD32620 $MA_FFW_MODE (feedforward control mode) Value Meaning Speed precontrol Combined torque/speed precontrol Activating and deactivating via the part program Part programs can be used to activate and deactivate the feedforward control for all axes, using commands FFWON and FFWOF.
Page 364
G2: Velocities, setpoint / actual value systems, closed-loop control 7.6 Optimization of the control The following rules apply to making manual fine adjustments: Monitoring Measure Overshoot Increase MD32810 Increasing the value slows the axis down but increases the geometric contour error on curves;...
G2: Velocities, setpoint / actual value systems, closed-loop control 7.6 Optimization of the control Different servo gain display values (K ) usually point to the following: ● The gear ratios do not match in one or several axes. ● The feedforward control setting data does not match. Setting the equivalent time constant of the current control loop (MD32800) The activation of the torque feedforward control filter is performed with: MD32620 $MA_FFW_MODE = 4...
Page 366
G2: Velocities, setpoint / actual value systems, closed-loop control 7.6 Optimization of the control The effect of the filter can be monitored by means of the effective servo gain factor (K ), which is displayed on the "Axis service" screen form. The filtering effect rounds the position setpoints slightly, thus reducing the path accuracy so that with increasing filter time a smaller effective servo gain factor (K ) is displayed.
Page 367
G2: Velocities, setpoint / actual value systems, closed-loop control 7.6 Optimization of the control Fine adjustment The fine adjustment of the jerk filter is carried out as follows: 1. Assess the traversing response of the axis (e.g. based on positioning processes with servo trace). 2.
G2: Velocities, setpoint / actual value systems, closed-loop control 7.6 Optimization of the control 7.6.3 Position controller, position setpoint filter: Phase filter Function The axial phase filter setpoint (dead time / delay) implements a pure phase shift with which the setpoint phase response can be influenced. Together with the axial setpoint jerk filter (MD32402_$MA_AX_JERK_MODE[<Axis>] = 2;...
Page 369
G2: Velocities, setpoint / actual value systems, closed-loop control 7.6 Optimization of the control Parameter assignment: Activation The function of the axial phase filter setpoint must be activated with the following machine data: MD32890 $MA_DESVAL_DELAY_ENABLE[<Axis>] = "TRUE" Examples Assumption: Position control cycle clock = 2 ms 1.
G2: Velocities, setpoint / actual value systems, closed-loop control 7.6 Optimization of the control 7.6.4 Position controller: injection of positional deviation Preconditions ● The function can only be used on axes with two encoders: MD30200 $MA_NUM_ENCS = 2 One of the encoders must be parameterized as an indirect measuring system and the other as a direct measuring system: –...
G2: Velocities, setpoint / actual value systems, closed-loop control 7.6 Optimization of the control An input value "100%" means: A supplementary torque in accordance with SINAMICS parameter p2003 is applied when the determined position difference between the two measuring systems reaches the following value: ●...
Page 372
G2: Velocities, setpoint / actual value systems, closed-loop control 7.6 Optimization of the control Procedure 1. First optimize the position control loop as a proportional-action controller using the tools described in the previous subsections. 2. Increase the tolerances of the following machine data while measurements are being taken to determine the quality of the position control with proportional-plus-integral-action controller: –...
Page 373
G2: Velocities, setpoint / actual value systems, closed-loop control 7.6 Optimization of the control Supplementary conditions If the integrator function is used, DSC (Dynamic Stiffness Control) must be switched off. Example Setting result after several iterative processes for R and T Machine data settings: ●...
G2: Velocities, setpoint / actual value systems, closed-loop control 7.7 Data lists Data lists 7.7.1 Machine data 7.7.1.1 Displaying machine data Number Identifier: $MM_ Description 9004 DISPLAY_RESOLUTION Display resolution 9010 SPIND_DISPLAY_RESOLUTION Display resolution for spindles 9011 DISPLAY_RESOLUTION_INCH Display resolution for INCH system of measurement 7.7.1.2 NC-specific machine data Number...
G2: Velocities, setpoint / actual value systems, closed-loop control 7.7 Data lists 7.7.1.4 Axis/spindlespecific machine data Number Identifier: $MA_ Description 30110 CTRLOUT_MODULE_NR Setpoint assignment: Drive number 30120 CTRLOUT_NR Setpoint assignment: Setpoint output on drive module 30130 CTRLOUT_TYPE Output type of setpoint 30200 NUM_ENCS Number of encoders...
Page 376
G2: Velocities, setpoint / actual value systems, closed-loop control 7.7 Data lists Number Identifier: $MA_ Description 32711 CEC_SCALING_SYSTEM_METRIC System of measurement of sag compensation 32800 EQUIV_CURRCTRL_TIME Equivalent time constant current control loop for feed‐ forward control 32810 EQUIV_SPEEDCTRL_TIME Equivalent time constant speed control loop for feed‐ forward control 32890 DESVAL_DELAY_ENABLE...
H2: Auxiliary function outputs to PLC Brief description 8.1.1 Function Auxiliary functions permit activation of the system functions of the NCK and PLC user functions. Auxiliary functions can be programmed in: ● Part programs ● Synchronized actions ● User cycles For detailed information on the use of auxiliary function outputs in synchronized actions, see: References: Function Manual, Synchronized Actions...
Group membership also affects output of an auxiliary function after block search. For more detailed information on auxiliary function output to the NC/PLC interface, see Section "P3: Basic PLC program for SINUMERIK 840D sl (Page 821)". 8.1.3 Overview of the auxiliary functions...
Page 379
H2: Auxiliary function outputs to PLC 8.1 Brief description M (special function) Remarks: The address extension is 0 for the range between 0 and 99. Mandatory without address extension: M0, M1, M2, M17, M30 Range of values Meaning Range of values Type Meaning Number...
Page 380
H2: Auxiliary function outputs to PLC 8.1 Brief description ● The predefined auxiliary functions M0, M1, M17, M30, M6, M4, M5 cannot be redefined. ● M function-specific machine data: MD10800 $MN_EXTERN_CHAN_SYNC_M_NO_MIN MD10802 $MN_EXTERN_CHAN_SYNC_M_NO_MAX MD10804 $MN_EXTERN_M_NO_SET_INT MD10806 $MN_EXTERN_M_NO_DISABLE_INT MD10814 $MN_EXTERN_M_NO_MAC_CYCLE MD10815 $MN_EXTERN_M_NO_MAC_CYCLE_NAME MD20094 $MC_SPIND_RIGID_TAPPING_M_NR MD20095 $MC_EXTERN_RIGID_TAPPING_M_NR MD20096 $MC_T_M_ADDRESS_EXT_IS_SPINO...
Page 381
H2: Auxiliary function outputs to PLC 8.1 Brief description H (aux. function) 0 ... 99 - 2147483648 ... + 2147483647 0 ... ± 3.4028 exp38 REAL 2) 3) 4) Remarks: The functionality must be implemented by the user in the PLC user program. See "Meaning of footnotes"...
Page 382
H2: Auxiliary function outputs to PLC 8.1 Brief description D functions D (tool offset) Address extension Value Range of values Meaning Range of values Type Meaning Number - - - - - - 0 ... 9 Selection of the tool offset Remarks: Clearing the tool offset with D0.
Page 383
H2: Auxiliary function outputs to PLC 8.1 Brief description ● Deselection of the additive tool offset: DL = 0 ● DL function-specific machine data: MD22252 $MC_AUXFU_DL_SYNC_TYPE (output time DL functions) F functions F (feedrate) Address extension Value Range of values Meaning Range of values Type...
H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions Meaning of footnotes If tool management is active, neither a T change signal nor a T word is output to the interface (channel). The type for the values can be selected by the user via MD22110 $MC_AUX‐ FU_H_TYPE_INT.
H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions Definition of a predefined auxiliary function The parameters of the predefined auxiliary function are stored in machine data and can be changed in some cases. All machine data, which are assigned to an auxiliary function, have the same index <n>.
Page 386
H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions Spindle-specific auxiliary functions, spindle 1 System function Index <n> Type Address ex‐ Value Group tension Spindle stop Position spindle Axis mode Automatic gear stage Gear stage 1 Gear stage 2 Gear stage 3 Gear stage 4 Gear stage 5...
Page 387
H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions Spindle-specific auxiliary functions, spindle 2 System function Index <n> Type Address ex‐ Value Group tension Gear stage 1 (74) Gear stage 2 (74) Gear stage 3 (74) Gear stage 4 (74) Gear stage 5 (74)
Page 388
H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions Spindle-specific auxiliary functions, spindle 5 System function Index <n> Type Address ex‐ Value Group tension Spindle right (81) Spindle left (81) Spindle stop (81) Position spindle (81) Axis mode (81) Automatic gear stage (83) Gear stage 1...
Page 389
H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions Spindle-specific auxiliary functions, spindle 7 System function Index <n> Type Address ex‐ Value Group tension Automatic gear stage (89) Gear stage 1 (89) Gear stage 2 (89) Gear stage 3 (89) Gear stage 4 (89)
Page 390
H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions Spindle-specific auxiliary functions, spindle 10 System function Index <n> Type Address ex‐ Value Group tension Spindle right (96) Spindle left (96) Spindle stop (96) Position spindle (96) Axis mode (96) Automatic gear stage (98) Gear stage 1...
Page 391
H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions Spindle-specific auxiliary functions, spindle 12 System function Index <n> Type Address ex‐ Value Group tension Automatic gear stage (104) Gear stage 1 (104) Gear stage 2 (104) Gear stage 3 (104) Gear stage 4 (104)
Page 392
H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions Spindle-specific auxiliary functions, spindle 15 System function Index <n> Type Address ex‐ Value Group tension Spindle right (111) Spindle left (111) Spindle stop (111) Position spindle (111) Axis mode (111) Automatic gear stage (113) Gear stage 1...
Page 393
H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions Spindle-specific auxiliary functions, spindle 17 System function Index <n> Type Address ex‐ Value Group tension Automatic gear stage (119) Gear stage 1 (119) Gear stage 2 (119) Gear stage 3 (119) Gear stage 4 (119)
Page 394
H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions Spindle-specific auxiliary functions, spindle 20 System function Index <n> Type Address ex‐ Value Group tension Spindle right (126) Spindle left (126) Spindle stop (126) Position spindle (126) Axis mode (126) Automatic gear stage (128) Gear stage 1...
Page 395
H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions Toolholder-specific auxiliary functions, M6 auxiliary functions System function Index <n> Type Address ex‐ Value Group tension Tool change Tool change Tool change Tool change Tool change Tool change Tool change Tool change Tool change Tool change...
H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions The value is set using machine data: MD10714 $MN_M_NO_FCT_EOP (M function for spindle active after reset) The value is set using machine data: MD26008 $MC_NIBBLE_PUNCH_CODE (definition of M functions) 8.2.2 Overview: Output behavior Significance of the parameters listed in the following table: Parameter...
Page 397
H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions System function Index <n> Output behavior, bit Conditional stop (asso‐ (0) (1) ciated) End of subroutine (0) (1) Nibbling (0) (0) (0) (0) (0) (1) (0) (0) (0) (0) (1) Nibbling (0) (0) (0) (0) (0) (1) (0) (0) (0) (0) (1)
Page 398
H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions Meaning No predefined auxiliary function A predefined auxiliary function is treated like a user-defined auxiliary function with this setting. The auxiliary function then no longer triggers the corresponding system function but is only output to the PLC. Example: Reconfiguration of the "Position spindle"...
H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions Meaning Nibbling on Nibbling Note In the case of auxiliary functions for which no output behavior has been defined, the following default output behavior is active: ● Bit 0 = 1: Output duration one OB1 cycle ●...
Page 400
H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions Type The identifier of an auxiliary function is defined via the "type," e.g.: "M" For additional function "S" For spindle function "F" For feed The setting is made via the following machine data: MD22050 $MC_AUXFU_PREDEF_TYPE[<n>] (type of predefined auxiliary functions) Note The "type"...
H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions MD22070 $MC_AUXFU_PREDEF_VALUE[<n>] (value of predefined auxiliary functions) Note The "value" cannot be changed for a predefined auxiliary function. For some predefined auxiliary functions, the "value" can be reconfigured via additional machine data (see Section "Associated auxiliary functions (Page 408)").
Page 402
H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions Examples of different output behavior The following figures illustrate the differing behavior regarding: ● Output and acknowledgment of the auxiliary function ● Spindle response (speed change) ● Traverse movement (velocity change) The binary values specified in the diagrams under "Output behavior"...
Page 403
H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions Basic Functions Function Manual, 01/2015, 6FC5397-0BP40-5BA2...
H2: Auxiliary function outputs to PLC 8.3 Userdefined auxiliary functions Userdefined auxiliary functions There are two uses for user-defined auxiliary functions: ● Extension of predefined auxiliary functions ● User-specific auxiliary functions Extension of predefined auxiliary functions Because there is only one set of machine data for the predefined auxiliary functions, they can only ever be used to address one spindle of the channel.
Page 405
H2: Auxiliary function outputs to PLC 8.3 Userdefined auxiliary functions The relevant predefined auxiliary functions can be extended for the following system functions: System function Type Address extension Value Tool change Spindle right Spindle left Spindle stop Position spindle Axis mode Automatic gear stage Gear stage 1 Gear stage 2...
H2: Auxiliary function outputs to PLC 8.3 Userdefined auxiliary functions ● A user-specific auxiliary function is output to the PLC according to the parameterized output behavior. ● The functionality of a user-specific auxiliary function is implemented by the machine manufacturer/user in the PLC user program. 8.3.1 Parameterization 8.3.1.1...
Page 407
H2: Auxiliary function outputs to PLC 8.3 Userdefined auxiliary functions Type The name of an auxiliary function is defined via the "type". The identifiers for user-defined auxiliary functions are: Type Identifier Meaning "H" Auxiliary function User-specific auxiliary functions "M" Special function Extension of predefined auxiliary func‐...
H2: Auxiliary function outputs to PLC 8.4 Associated auxiliary functions All user-specific auxiliary functions with the address extension "= 2" are assigned to the eleventh auxiliary function group. MD22000 $MC_AUXFU_ASSIGN_GROUP [ 2 ] = 11 MD22010 $MC_AUXFU_ ASSIGN_TYPE [ 2 ] = "H"...
Page 409
H2: Auxiliary function outputs to PLC 8.4 Associated auxiliary functions Group assignment The group assignment of an associated user-defined auxiliary function is always the group assignment of the corresponding predefined auxiliary function. Application Associated auxiliary functions can be used in: ●...
H2: Auxiliary function outputs to PLC 8.5 Type-specific output behavior Type-specific output behavior Function The output behavior of auxiliary functions relative to a traversing motions programmed in the parts program block can be defined type-specifically. Parameter assignment Parameters are assigned to type-specific output behavior via the machine data: MD22200 $MC_AUXFU_M_SYNC_TYPE (output time for M functions) MD22210 $MC_AUXFU_S_SYNC_TYPE (output time for S functions) MD22220 $MC_AUXFU_T_SYNC_TYPE (output time for T functions)
H2: Auxiliary function outputs to PLC 8.6 Priorities of the output behavior for which parameters have been assigned Output behavior for which parameters have been assigned: MD22200 $MC_AUXFU_M_SYNC_TYPE = 1 ⇒ M function: Output during motion MD22220 $MC_AUXFU_T_SYNC_TYPE = 0 ⇒...
H2: Auxiliary function outputs to PLC 8.7 Programming an auxiliary function Output duration The following priorities apply to the output duration: Priority Output behavior Defined via: Highest Auxiliary function-specific Part program instruction: QU(…) (see Section "Programmable output duration (Page 414)") ↓...
Page 413
H2: Auxiliary function outputs to PLC 8.7 Programming an auxiliary function Note If no address extension is programmed, the address extension is implicitly set = 0. Predefined auxiliary functions with the address extension = 0 always refer to the master spindle of the channel.
H2: Auxiliary function outputs to PLC 8.8 Programmable output duration Program code Comment H17=3.5 ; Output to PLC: H17=3.5 H[coolant]=13.8 ; Output to PLC: H12=13.8 H='HFF13' ; Output to PLC: H0=65299 H='B1110' ; Output to PLC: H0=14 H5.3=21 ; Error Programmable output duration Function User-specific auxiliary functions, for which the output behavior "Output duration of an OB1...
H2: Auxiliary function outputs to PLC 8.9 Auxiliary function output to the PLC Program code Comment N50 M100 M200 Output of M200: immediate 1) Output of M100: immediate 1) Acknowledgment: slow Without a traverse movement, auxiliary functions are always output to the PLC immediately. The following figure shows the time sequence of the part program.
DB21, ... DBB194 - DBB206 (dynamic M functions) For information on the access procedure to the NC/PLC interface, see Section "P3: Basic PLC program for SINUMERIK 840D sl (Page 821)". A detailed description of the above data areas in the NC/PLC interface can be found in: References: List Manual, Lists, Book 2;...
H2: Auxiliary function outputs to PLC 8.12 Response to overstore 8.11 M function with an implicit preprocessing stop Function Triggering a preprocessing stop in conjunction with an auxiliary function can be programmed explicitly via the STOPRE part program command. Always triggering a preprocessing stop in M function programming can be parameterized for each M function via the following machine data: MD10713 $MN_M_NO_FCT_STOPRE[<n>] (M function with preprocessing stop)
H2: Auxiliary function outputs to PLC 8.13 Behavior during block search Possible applications include: ● Addition of auxiliary functions after block search ● Restoring the initial state to position a part program Types of auxiliary functions that can be overstored The following types of auxiliary functions can be overstored: ●...
Page 419
H2: Auxiliary function outputs to PLC 8.13 Behavior during block search Output control Whether or not the auxiliary function is output to the PLC after a block search can be configured via bit 8 of the machine data: ● MD22080 $MC_AUXFU_PREDEF_SPEC[<n>] (output behavior of predefined auxiliary functions) where <n>...
H2: Auxiliary function outputs to PLC 8.13 Behavior during block search In this case, the spindle-specific auxiliary functions M3, M4, and M5 are not suitable because they might not be output to the PLC until after the spindle positioning. For detailed information on the block search, see Section "K1: Mode group, channel, program operation, reset response (Page 455)".
Page 422
H2: Auxiliary function outputs to PLC 8.13 Behavior during block search AUXFUMSEQ(VAR INT _NUM_IN, VAR INT _M_IN[], VAR INT _EXT_IN[], VAR INT _NUM_OUT, VAR INT _M_OUT[], VAR INT _EXT_OUT[]) Input parameters: Number of relevant M commands VAR INT _NUM_IN: Field of relevant M codes VAR INT _M_IN[]: Field of relevant M address extensions VAR INT _EXT_IN[]:...
H2: Auxiliary function outputs to PLC 8.13 Behavior during block search During block searches, the auxiliary functions are collected on the basis of specific groups. The last auxiliary function in an auxiliary function group is output to the PLC following a block search: ●...
Page 424
H2: Auxiliary function outputs to PLC 8.13 Behavior during block search System variables The spindle-specific auxiliary functions are always stored in the following system variables during block searches, irrespective of the parameter assignment described above: System variable Description $P_SEARCH_S [<n> ] Accumulated spindle speed Range of values: 0 ...
Page 425
H2: Auxiliary function outputs to PLC 8.13 Behavior during block search Program code Comment N30 SPOS[2]=IC(77) ; Spindle 2 traverses incrementally by 77 degrees N55 X10 G0 ; Target block N60 G4 F10 N99 M30 ASUB: Program code Comment PROC ASUP_SAVE MSG ("Output of the spindle functions") DEF INT SNR=1 AUSG_SPI:...
H2: Auxiliary function outputs to PLC 8.13 Behavior during block search The meaning of an S value in the part program depends on the feed type that is currently active: The S value is interpreted as the speed G93, G94, G95, G97, G971: The S value is interpreted as a constant cutting rate G96, G961: If the feed operation is changed (e.g.
Page 427
H2: Auxiliary function outputs to PLC 8.13 Behavior during block search Output control Whether an auxiliary function is output to the PLC during a type 5 block search (SERUPRO) and/or collected on a group-specific basis in the following system variables can be configured via bits 9 and 10 of the machine data: ●...
Page 428
H2: Auxiliary function outputs to PLC 8.13 Behavior during block search Explanation ● An auxiliary function package comprises a maximum of ten auxiliary functions. ● Two packages can be processed per IPO cycle in each channel during SERUPRO because synchronized actions are processed in this cycle. ●...
Page 429
H2: Auxiliary function outputs to PLC 8.13 Behavior during block search The global list is structured on the basis of the sequence in which the search target was found. It is intended to be used as a system proposal for auxiliary functions to be output in the following ASUB at the end of SERUPRO.
Page 430
H2: Auxiliary function outputs to PLC 8.13 Behavior during block search This affects the groups of auxiliary functions for any spindle configured in the system, whereby the spindle number corresponds to an auxiliary function's address extension. Group a: M3, M4, M5, M19, M70 Group b: M40, M41, M42, M43, M44, M45 Group c:...
H2: Auxiliary function outputs to PLC 8.13 Behavior during block search Cross-channel auxiliary function An auxiliary function can also be collected on a cross-channel basis in the global auxiliary function list in the case of type 5 block searches (SERUPRO). Only the last auxiliary function collected from this group (highest counter state) is entered in the global list.
Page 432
H2: Auxiliary function outputs to PLC 8.13 Behavior during block search Function AUXFUSYNC(...) Function: The function AUXFUSYNC generates a complete part program block as string from the global list of auxiliary functions at each call. The part program block either contains auxiliary functions or commands to synchronize auxiliary function outputs (WAITM, G4, etc.).
Page 433
H2: Auxiliary function outputs to PLC 8.13 Behavior during block search Parameters: Type of auxiliary function to be deleted <TYPE>: Address extension of the auxiliary function to be deleted <EXTENSION>: Value of auxiliary function to be deleted <VALUE>: Number of the auxiliary function group <GROUP>: Function AUXFUDELG(...) Function:...
Page 434
H2: Auxiliary function outputs to PLC 8.13 Behavior during block search Program code Comment N140 AUXFUDEL("M",2,3,5) ; M2=3 (5th auxiliary function group) delete N150 N170 AUXFUDELG(6) Delete the collected auxiliary function of the 6. group. N180 N190 IF ISFILE(FILENAME) N210 DELETE(ERROR,FILENAME) ;...
Page 435
H2: Auxiliary function outputs to PLC 8.13 Behavior during block search Example 2: Deleting auxiliary functions and generating the auxiliary function output without AUXFUSYNC(...) Program code Comment N0610 DEF STRING[400] ASSEMBLED="" N0620 DEF STRING[31] FILENAME="/_N_CST_DIR/_N_AUXFU_SPF" N0630 DEF INT GROUPINDEX[10] N0640 DEF INT NUM N0650 DEF INT LAUF N0660 DEF INT ERROR N0670 DEF BOOL ISQUICK...
Page 436
H2: Auxiliary function outputs to PLC 8.13 Behavior during block search Program code Comment N1010 N1020 ASSEMBLED="" N1030 N1050 FOR LAUF=0 TO NUM-1 Collected auxiliary functions for a block. N1060 N1080 IF GROUPINDEX[LAUF]<>0 Auxiliary functions deleted from the global list have the group index 0. N1090 N1100 ISQUICK=$AC_AUXFU_SPEC[GROUPINDEX[LAUF]] BAND'H2'...
H2: Auxiliary function outputs to PLC 8.15 Information options Parameterization The M codes for auxiliary functions to be output implicitly are defined with the machine data: ● MD22530 $MC_TOCARR_CHANGE_M_CODE (M code at toolholder change) This machine data value indicates the number of the M code which is output when a toolholder is activated at the NC/PLC interface.
H2: Auxiliary function outputs to PLC 8.15 Information options 8.15.1 Group-specific modal M auxiliary function display Function The output status and acknowledgement status of M auxiliary functions can be displayed on the user interface on a group-specific basis. Requirements To implement function-oriented acknowledgement and display of M auxiliary functions, the auxiliary functions must be managed in the PLC and, thus, in the user program itself.
H2: Auxiliary function outputs to PLC 8.15 Information options Display update The display is organized in such a way that the collected auxiliary functions are always displayed first, before those that were managed by the PLC and before those that were managed by the NC.
Page 441
H2: Auxiliary function outputs to PLC 8.15 Information options system variables Meaning $AC_AUXFU_VALUE[<n>] <value>: Value of the last auxiliary function collected for an auxiliary function group (search) or the last or M function specific: auxiliary function to be output $AC_AUXFU_M_VALUE[<n>] Type REAL <n>:...
H2: Auxiliary function outputs to PLC 8.16 Supplementary conditions 8.16 Supplementary conditions 8.16.1 General constraints Spindle replacement Because the auxiliary functions are parameterized channel-specifically, if function: "spindle replacement" is used, the spindle-specific auxiliary function must be parameterized immediately in all channels that use the spindles. Tool management If tool management is active, the following constraints apply: ●...
H2: Auxiliary function outputs to PLC 8.16 Supplementary conditions 8.16.2 Output behavior Thread cutting During active thread cutting G33, G34 and G35, the following output behavior is always active for the spindle-specific auxiliary functions: ● M3 (spindle right) ● M4 (spindle left) ●...
H2: Auxiliary function outputs to PLC 8.17 Examples MD20800 $MC_SPF_END_TO_VDI, bit 1 (subprogram end / stop to PLC) Bit Value Meaning The auxiliary function M01 (conditional stop) is always output to the PLC. A quick ac‐ knowledgement is ineffective, because M01 is permanently assigned to the first auxiliary function group and is therefore always output at the end of the block.
Page 445
H2: Auxiliary function outputs to PLC 8.17 Examples ● Address extension: 2 as appropriate for the 2nd spindle of the channel ● Output behavior: – Output duration one OB1 cycle (normal acknowledgment) – Output prior to motion Parameter assignment: MD22000 $MC_AUXFU_ASSIGN_GROUP[ 0 ] MD22010 $MC_AUXFU_ASSIGN_TYPE [ 0 ] = "M"...
H2: Auxiliary function outputs to PLC 8.17 Examples ● Address extension: 2 as appropriate for the 2nd spindle of the channel ● Output behavior: – Output duration one OB1 cycle (normal acknowledgment) – Spindle response following acknowledgment – Output at block end Parameter assignment: MD22000 $MC_AUXFU_ASSIGN_GROUP [ 2 ] MD22010 $MC_AUXFU_ASSIGN_TYPE [ 2 ]...
Page 447
H2: Auxiliary function outputs to PLC 8.17 Examples Requirements Spindle 1 (master spindle) Note Default assignments ● The auxiliary functions M3, M4, M5, M70 and M1=3, M1=4, M1=5, M1=70 of spindle 1 (master spindle) are assigned as standard to the second auxiliary function group. ●...
Page 448
H2: Auxiliary function outputs to PLC 8.17 Examples Cooling water ● It is not permissible to switch the cooling water on and off in one part program block. After a block search, the cooling water will be switched on or off. For this purpose, the following auxiliary functions are assigned, for example, to auxiliary function group 12 or 13: –...
Page 449
H2: Auxiliary function outputs to PLC 8.17 Examples Program code Comment $MN_AUXFU_GROUP_SPEC[9] = 'H22' ; Output behavior of auxiliary function group 10 $MC_AUXFU_ASSIGN_TYPE[12]="M" ; Description of auxiliary function 13: M2=3 $MC_AUXFU_ASSIGN_EXTENSION[12]=2 $MC_AUXFU_ASSIGN_VALUE[12]=3 $MC_AUXFU_ASSIGN_GROUP[12]=10 $MC_AUXFU_ASSIGN_TYPE[13]="M" ; Description of auxiliary function 14: M2=4 $MC_AUXFU_ASSIGN_EXTENSION[13]=2 $MC_AUXFU_ASSIGN_VALUE[13]=4 $MC_AUXFU_ASSIGN_GROUP[13]=10...
H2: Auxiliary function outputs to PLC 8.18 Data lists Program code Comment $MC_AUXFU_ASSIGN_TYPE[19]="M" ; Description of auxiliary function 20: M52 $MC_AUXFU_ASSIGN_EXTENSION[19]=0 $MC_AUXFU_ASSIGN_VALUE[19]=52 $MC_AUXFU_ASSIGN_GROUP[19]=13 $MC_AUXFU_ASSIGN_TYPE[20]="M" ; Description of auxiliary function 21: M53 $MC_AUXFU_ASSIGN_EXTENSION[20]=0 $MC_AUXFU_ASSIGN_VALUE[20]=53 $MC_AUXFU_ASSIGN_GROUP[20]=13 8.18 Data lists 8.18.1 Machine data 8.18.1.1 NC-specific machine data Number...
M code for change of tool holder 22560 TOOL_CHANGE_M_CODE Auxiliary function for tool change 8.18.2 Signals 8.18.2.1 Signals to channel Signal name SINUMERIK 840D sl SINUMERIK 828D Activate associated M01 DB21, ..DBX30.5 DB320x.DBX14.5 8.18.2.2 Signals from channel Signal name SINUMERIK 840D sl...
Page 452
H2: Auxiliary function outputs to PLC 8.18 Data lists Signal name SINUMERIK 840D sl SINUMERIK 828D T function 1 - 3 quick DB21, ..DBX61.4-6 D function 1 - 3 change DB21, ..DBX62.0-2 DB250x.DBX10.0 D function 1 - 3 quick DB21, ...
H2: Auxiliary function outputs to PLC 8.18 Data lists Signal name SINUMERIK 840D sl SINUMERIK 828D H function 1 (real or DInt) DB21, ..DBB142-145 DB250x.DBD6000 Extended address H function 2 (16 bit int) DB21, ..DBB146-147 DB250x.DBB6012 H function 2 (REAL or DInt) DB21, ...
H2: Auxiliary function outputs to PLC 8.18 Data lists 8.18.2.4 Signals from axis/spindle Signal name SINUMERIK 840D sl SINUMERIK 828D M function for spindle (Int) DB21, ..DBB86-87 DB370x.DBD0000 S function for spindle (real) DB21, ..DBB88-91 DB370x.DBD0004 Basic Functions...
K1: Mode group, channel, program operation, reset response Product brief Channel An NC channel represents the smallest unit for manual traversing of axes and automatic processing of part programs. At any one time, a channel will always be in a particular mode, e.g.
Page 456
K1: Mode group, channel, program operation, reset response 9.1 Product brief ● Type 4 with calculation at block end point ● Type 5 automatic start of the selected program point with calculation of all required data from history ● Automatic start of an ASUB after a block search ●...
K1: Mode group, channel, program operation, reset response 9.2 Mode group Program execution from external source When complex workpieces are machined, the NC may not have enough memory for the programs. Using the function "Execution from external source" or "EES (execution from external storage) enables part programs to be called and executed from an external memory (e.g.
Page 458
K1: Mode group, channel, program operation, reset response 9.2 Mode group A mode group is essentially characterized by the fact that all channels assigned to it are any instant are always in the same mode (AUTOMATIC, JOG, MDI). Note This description continues on the assumption that there is one mode group and one channel. Functions that need several channels, e.g.
Page 459
K1: Mode group, channel, program operation, reset response 9.2 Mode group The mode-group-specific NC/PLC interface essentially comprises the following interface signals: ● Request signals PLC → NC – Mode group reset – Mode group stop axes plus spindles – Mode group stop –...
K1: Mode group, channel, program operation, reset response 9.2 Mode group that are required for the machine in question. The unoccupied memory can be freely used as additional user memory. Table 9-1 Example Machine data Meaning MD10010 $MN_AS‐ Channel 1, mode group 1 SIGN_CHAN_TO_MODE_GROUP[0] = 1 MD10010 $MN_AS‐...
K1: Mode group, channel, program operation, reset response 9.3 Mode types and mode type change Effect Effect on the channels of mode group: ● Part program preparation (preprocessing) is stopped. ● All axes and spindles are decelerated to zero speed according to their acceleration curves without contour violation.
Page 462
K1: Mode group, channel, program operation, reset response 9.3 Mode types and mode type change ● JOG Manual traversing of axes via traversing keys of the machine control panel or via a handwheel connected to the machine control panel: – Channel-specific signals and interlocks are taken into account for motions executed by means of an ASUB or via static synchronized actions.
Page 463
K1: Mode group, channel, program operation, reset response 9.3 Mode types and mode type change Display The current mode of the mode group is displayed via the NC/PLC interface: DB11 DBX6.0, 0.1, 0.2 (active mode) Mode-group signal (NCK → PLC) Active operating mode DB11 DBX6.2 DB11 DBX6.1...
Page 464
K1: Mode group, channel, program operation, reset response 9.3 Mode types and mode type change Supplementary condition for submode TEACH IN TEACH IN is not permissible for leading or following axes of an active axis grouping, e.g. for: ● Gantry-axis grouping or a gantry axis pair ●...
Page 465
K1: Mode group, channel, program operation, reset response 9.3 Mode types and mode type change ● An ongoing JOG movement is not complete until the end position of the increment has been reached (if this has been set) or the movement has been aborted with “Delete distance-to- go”.
K1: Mode group, channel, program operation, reset response 9.3 Mode types and mode type change Following the JOG movement, the NCK deactivates “Internal JOG” again and selects AUTO mode again. The internal mode change is delayed until the movement is complete. This avoids unnecessary multiple switching operations, e.g.
K1: Mode group, channel, program operation, reset response 9.4 Channel Possible mode changes The following table shows possible mode changes for one channel. AUTOMATIC AUTO JOG without hand‐ AUTO wheel Reset Interrupt Reset Interrupt Interrupt Reset Interrupt active Interrupt AUTOMATIC Possible mode changes are shown by an "X".
Page 468
K1: Mode group, channel, program operation, reset response 9.4 Channel ● A channel has an interface with the PLC. Via this NC/PLC interface, the PLC user program can read various channel-specific status data and write requests to the channel. ● Channel-specific tool offsets (Page 1363) are active in a channel. ●...
Page 469
K1: Mode group, channel, program operation, reset response 9.4 Channel The assignment between the link axes and a channel is implemented as follows: ● For permanent assignment using machine data: Allow the direct logic machine axis image to show link axes. ●...
● Reset axis/spindle to the initial state For more information on the channel-specific signal exchange (PLC → NCK), see Section "P3: Basic PLC program for SINUMERIK 840D sl (Page 821)." The exact functionality of independent single-axis operations is described in: References: Function Manual, Extended Functions;...
K1: Mode group, channel, program operation, reset response 9.5 Program test Messages If desired, a message can be issued when a Start attempt occurs while a global block disable is active. The control is exercised using machine data: MD11411 $MN_ENABLE_ALARM_MASK Bit 6 Alarm 16956 appears: Channel %1, Program %2 cannot be started because of "Global Start disable".
Page 472
K1: Mode group, channel, program operation, reset response 9.5 Program test Activation The function is activated via interface signal: DB21, ... DBX1.7 (activate program test) Display The corresponding field on the operator interface is reversed and the interface signal in the PLC as a checkback of the active program test: DB21, ...
K1: Mode group, channel, program operation, reset response 9.5 Program test Note Tool management Because of the axis disable, the assignment of a tool magazine is not changed during program testing. A PLC application must be used to ensure that the integrity of the data in the tool management system and the magazine is not corrupted.
Page 474
K1: Mode group, channel, program operation, reset response 9.5 Program test The single-block types are determined via the user interface in the menu "Program controls". CAUTION Function feature for single-block type series In a series of G33/G34/G35 blocks, a single block is only operative if "dry run feed" is selected. Calculation blocks are not processed in single-step mode (only if single decoding block is active).
K1: Mode group, channel, program operation, reset response 9.5 Program test ● Non-reorganizable blocks ● Non-repositionable blocks ● Reposition block without travel information ● Tool approach block. The setting is made via the following machine data: MD10702 $MN_IGNORE_SINGLEBLOCK_MASK (prevent single-block stop) References: List Manual, Detailed Description of the Machine Data 9.5.3...
Page 476
K1: Mode group, channel, program operation, reset response 9.5 Program test Application DANGER High cutting speeds Workpieces may not be machined when "dry run feedrate" is active because the altered feedrates might cause the permissible tool cutting rates to be exceeded and the workpiece or machine tool could be damaged.
K1: Mode group, channel, program operation, reset response 9.5 Program test 9.5.4 Skip part-program blocks Function When testing or breaking in new programs, it is useful to be able to disable or skip certain part program blocks during program execution. For this, the respective records must be marked with a slash.
K1: Mode group, channel, program operation, reset response 9.6 Workpiece simulation Display Activated "Skip block" function is indicated by a reversal of the relevant field on the operator interface. Workpiece simulation Function The actual part program is completely calculated in the tool simulation and the result is graphically displayed in the user interface.
K1: Mode group, channel, program operation, reset response 9.7 Block search, types 1, 2, and 4: Program code Comment ELSE N5 X300 OMA1=10 ENDIF Block search, types 1, 2, and 4: Function Block search offers the possibility of starting part program execution from almost any part program block.
K1: Mode group, channel, program operation, reset response 9.7 Block search, types 1, 2, and 4: Note For further explanations regarding the block search, see Section "Behavior during block search (Page 418)." Subsequent actions After completion of a block search, the following subsequent actions may occur: ●...
Page 481
K1: Mode group, channel, program operation, reset response 9.7 Block search, types 1, 2, and 4: Time sequence Last Block search Search target 2 NC Start Block search Search target 1 action block starting found action blocks starting found being output Block search active (DB21, ...
K1: Mode group, channel, program operation, reset response 9.7 Block search, types 1, 2, and 4: Single block If you do not wish to stop after each action block after the search target during block search type 2 or type 4 (block search with calculation to ...) is found and while function "Single block" (DB21, ...
K1: Mode group, channel, program operation, reset response 9.7 Block search, types 1, 2, and 4: Effect ● All channel axes are moved to their search position that was collected during the block search. ● $P_EP == "accumulated search position of the channel axis (WCS)" Block search type 4: REPOS behavior After block search type 4 (block search with calculation to block end point), no automatic repositioning is triggered during the period described by the beginning and end by the REPOS...
K1: Mode group, channel, program operation, reset response 9.7 Block search, types 1, 2, and 4: When the alarm is displayed can be set via machine data: MD11450 $MN_SEARCH_RUN_MODE, Bit 0 = <value> <value> Meaning With the change of the last action block after a block search, the following takes place: ●...
K1: Mode group, channel, program operation, reset response 9.7 Block search, types 1, 2, and 4: System variable Description $P_SEARCH_SPOSMODE [ <n> ] Position approach mode last programmed by means of M19, SPOS, or SPOSA <n>: Spindle number For later output of the spindle-specific auxiliary functions, the system variables can be read, for example, in an ASUB, and output after output of the action blocks: DB21, ...
Page 486
K1: Mode group, channel, program operation, reset response 9.7 Block search, types 1, 2, and 4: MD11620 $MN_PROG_EVENT_NAME Behavior when the single-block processing is set The following channel-specific machine data are used to set whether the activated ASUP will be processed without interruption although single-block processing is set or whether single- block processing will be activated: MD20106 $MC_PROG_EVENT_IGN_SINGLEBLOCK, bit 4 = <value>...
K1: Mode group, channel, program operation, reset response 9.7 Block search, types 1, 2, and 4: 7. Last ASUP block (REPOSA) is activated ⇒ DB21, ... DBX32.6 = 1 (last action block active) 8. Optional: Execution of user-specific requirements via PLC user program 9.
K1: Mode group, channel, program operation, reset response 9.7 Block search, types 1, 2, and 4: You can change the search target specifications and block search function prior to each block search start. Example: Sequence with cascaded block search ● RESET ●...
Page 489
MD11602 $MN_ASUB_START_MASK Bit 0 = 1 (ASUB Start from stopped state) 2. Select ASUB "BLOCK_SEARCH_END" from PLC via FB4 (see also Section "P3: Basic PLC program for SINUMERIK 840D sl (Page 821)"). 3. Load and select part program "WORKPIECE_1". 4. Search to block end point, block number N220.
Page 490
K1: Mode group, channel, program operation, reset response 9.7 Block search, types 1, 2, and 4: 9. Manual operator actions (JOG, JOG-REPOS, overstoring) 10.Continue part program with NC Start. Tool change point (450,300) Approach movement Target block N220 Approach point (170,30) Figure 9-3 Approach motion for search to block end point (target block N220)
Page 491
K1: Mode group, channel, program operation, reset response 9.7 Block search, types 1, 2, and 4: Tool change point (450,300) Approach movement N260 Approach point Figure 9-4 Approach motion for search to contour (target block N260) Note "Search to block end point" with target block N260 would result in Alarm 14040 (circle end point error).
K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 (SERUPRO) 9.7.6 Supplementary conditions 9.7.6.1 Compressor functions (COMPON, COMPCURV, COMPCAD) ● If the target block for block search type 2 or type 4 (block search with calculation to ...) is in a program section in which a compressor function (COMPON, COMPCURV, COMPCAD) is active, positions are approached on the path calculated by the compressor on repositioning.
Page 494
K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 (SERUPRO) Activation SERUPRO is activated via the HMI. SERUPRO is operated using the "Prog.Test Contour" softkey. SERUPRO uses REPOS to approach the target block. Chronological sequence of SERUPRO 1.
Page 495
K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 (SERUPRO) Controlling SERUPRO behavior For the functions listed below as an example, the SERUPRO behavior can be set specifically for the NC: ● Programmed stop (M0) ● Program coordination command START ●...
Page 496
K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 (SERUPRO) Acknowledgement of FC9 only after completion of REPOS block: The ASUB can only be signaled as complete from the FC9 block with "ASUB Done" if the REPOS block has also been completed.
K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 (SERUPRO) 9.8.2 Repositioning to the contour (REPOS) The "Reposition to the contour" (REPOS) function can be used to continue an interrupted machining at the interrupted location. Unlike REPOS, SERUPRO permits the "refetching" or "repetition"...
Page 498
K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 (SERUPRO) Repositioning with controlled REPOS The REPOS mode can be specified for the path axes via the NC/PLC interface: DB21, ... DBX31.0 - .2 (REPOS mode A, B, C) This mode is programmed in the part program and defines the approach behavior (see Section "Repositioning with controlled REPOS (Page 505)").
Page 499
K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 (SERUPRO) The user starts the individual axes by selecting the appropriate feedrate enables. The target block motion is then executed. Repositioning positioning axes in the repositioning block Positioning axes are not repositioned in the residual block but rather in the repositioning block, and their effect is not limited to the block search via program test on SERUPRO approach.
Page 500
K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 (SERUPRO) Whether this axis is currently subject to a REPOS offset can be scanned via synchronized actions with $AA_REPOS_DELAY. CAUTION Risk of collision Interface signal: DB31, ... DBX10.0 (REPOSDELAY) has no effect on machine axes that form a path.
Page 501
K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 (SERUPRO) Note In the current ASUB, DB21, ... DBX31.4 (REPOSMODEEDGE) does not affect the final REPOS unless this signal applies to the REPOS blocks. In case 1, the signal is allowed only in the stopped state. Response to RESET: ●...
Page 502
K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 (SERUPRO) REPOS acknowledgement signals The following NC/PLC interface signals can be used to acknowledge from the NC, functions that control the REPOS response via PLC: ● DB21, ... DBX319.0 (REPOSMODEEDGEACKN) channel-specific ●...
Page 503
K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 (SERUPRO) Figure 9-5 REPOS sequence in part program with timed acknowledgement signals from NCK NC sets acknowledgement again Phase with REPOSPATHMODE still active (residual block of the program stopped at → Time (2) is not yet completely executed).
Page 504
K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 (SERUPRO) The effects of this signal on the relevant axis are as follows: Value 0: No REPOS offset is applied. Value 1: REPOS offset is applied. Range of validity Interface signal: DB31, ...
K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 (SERUPRO) REPOS offset with synchronized synchronous spindle coupling When repositioning with SERUPRO, processing continues at the point of interruption. If a synchronous spindle coupling was already synchronized, there is no REPOS offset of the following spindle and no synchronization path is present.
K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 (SERUPRO) Specifying the REPOS mode via the NC/PLC interface The REPOS mode can be specified via the following NC/PLC interface signal: DB21, ... DBX31.0 - .2 (REPOS mode A, B, C) Note RMNBL is a general REPOS extension and it is not restricted to SERUPRO.
Page 507
K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 (SERUPRO) <value> Meaning Program test with dry run feedrate Under program test, traversing is performed with the programmed velocity / speed. Dynamic limitations of axes / spindles are considered. Program test with block search velocity Under program test, traversing is performed with the following velocity: ●...
K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 (SERUPRO) Rigid tapping ● With "rigid tapping" (G331/G332), the spindle is interpolated under position control in a path grouping. The drilling depth (linear axis), the thread pitch, and speed (spindle) are defined. During dry run, the velocity of the linear axis is specified, the speed remains constant, and the pitch is adjusted.
Page 509
K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 (SERUPRO) In addition, machine data setting MD20310 $MC_TOOL_MANAGEMENT_MASK Bit 11 = 1 is required because the ASUB may have to repeat a T selection. Systems with tool management and auxiliary spindle are not supported by SERUPRO! Example Tool change subprogram Program code...
Page 510
K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 (SERUPRO) Program code Comment N1080 L6 ; Call tool change routine N1085 ASUP_ENDE1: N1090 IF TNR_VORWAHL == TNR_SUCHLAUF GOTOF AS- UP_ENDE N1100 T = $TC_TP2[TNR_VORWAHL] ; Restore T preselection by tool name N1110 ASUP_ENDE: N1110 M90 ;...
K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 (SERUPRO) 9.8.5 Selfacting SERUPRO Selfacting SERUPRO The channel-specific function "Self-acting SERUPRO" allows a SERUPRO sequence without having to previously define a search target in a program of the associated SERUPRO channels. In addition, a special channel, the "serurpoMasterChan", can be defined for each "Self-acting SERUPRO".
K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 (SERUPRO) Activation "Self-acting SERUPRO" is activated via the HMI as a block search start for the Type 5 block search for target channel "seruproMasterChan". No search target is specified for dependent channels started from the target channel. 9.8.6 Locking a program section for "Continue machining at the contour"...
Page 513
K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 (SERUPRO) Program code Comment N200 IPTRUNLOCK() ; Locked area: End N220 R1=R1+1 N230 G4 F1 ; Release block Boundary conditions ● IPTRLOCK acts within a program (*.MPF, *.SPF) at the most up to the end of the program (M30, M17, RET).
Page 514
K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 (SERUPRO) Example 3: Multiple programming of IPTRLOCK Program code Comment PROC PROG_1 ; Program 1 N010 IPTRLOCK() N020 R1=R1+1 N030 G4 F1 ; Hold block ; Locked area: Start N150 IPTRLOCK() ;...
K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 (SERUPRO) The automatic interrupt pointer is not active for couplings that were activated or deactivated via synchronized actions. Example: Automatically declaring axial master value coupling as search-suppressed: Program code Comment N100 G0 X100...
K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 (SERUPRO) 9.8.8 Supplementary conditions 9.8.8.1 STOPRE in the target block STOPRE block The STOPRE block receives all modal settings from the preceding block and can, therefore, apply conditions in advance in relation to the following actions: ●...
K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 (SERUPRO) Implicit preprocessing stop Situations in which Interpreter issues an implicit preprocessing stop: 1. In all blocks in which one of the following variable access operations occurs: -Programming of a system variable beginning with $A...
K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 (SERUPRO) References For detailed information on the SERUPRO block search, see Section "Detailed description (Page 294)". 9.8.8.4 Travel with limited torque/force (FOC) During repositioning (REPOS), the "Travel with limited torque/force" function (FOC) is repeated automatically.
K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 (SERUPRO) 9.8.8.6 Couplings and master-slave Setpoint and actual value couplings The SERUPRO operation is a program simulation in Program Test mode with which setpoint and actual value couplings can be simulated. Specifications for EG simulation For simulation of EG, the following definitions apply: 1.
Page 520
K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 (SERUPRO) Reaching simulated target point for LEAD with JOG At the time of "Search target found", the coupling is already active, especially for the JOG motions. If the target point is not reached, SERUPRO approach can be used to traverse the following axis with active coupling and an overlaid motion to the target point.
Page 521
K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 (SERUPRO) Example ● System ASUB – Path and name: /_N_CMA_DIR/PROGEVENT.SPF – Master axis: X – Slave axis: Y Program code PROG PROGEVENT N10 IF(($S_SEARCH_MASLC[Y]< >0) AND ($AA_MASL_STAT[Y]< >0)) MASLOF(Y) SUPA Y = $AA_IM[X] - $P_SEARCH_MASLD[Y] MASLON(Y)
K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 (SERUPRO) Axis couplings ● Acceleration of the processing speed and leading axis and following axes in different channels For a leading axis whose following axes are assigned to a different channel than that of the leading axis, the setting for acceleration of the processing speed has no effect (MD22601 $MC_SERUPRO_SPEED_FACTOR): ●...
K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 (SERUPRO) Autonomous axis operations Autonomous single-axis operations are axes controlled by the PLC that can also be simulated on SERUPRO. During SERUPRO operation, as in normal operation, the PLC can take over or give up control of an axis.
K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 (SERUPRO) The gear stage change must then be performed in REPOS; this will work even if the axis involved is to be in "speed control mode" at the target block. In other cases, the automatic gear stage change is denied with an alarm if, for example, the axis was involved in a transformation or coupling between the gear stage change and the target block.
K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 (SERUPRO) 9.8.8.11 Making the initial settings more flexible Initial setting/initial SERUPRO setting Machine data MD20112 $MC_START_MODE_MASK defines the initial setting of the control for part program start with respect to the G codes (especially the current plane and settable zero offset), tool length compensation, transformation, and axis couplings.
K1: Mode group, channel, program operation, reset response 9.9 Program operation 9.8.9 System variable Overview of the system variables relevant for SERUPRO: System variable Meaning $AC_ASUP, bit 20 ASUB activation reason: $AC_ASUP, Bit 20 == 1 ⇒ system ASUB active, reason: SERUPRO search goal reached $AC_SERUPRO SERUPRO status:...
Programming Manual, Fundamentals Basic configurations of the NC language scope for SINUMERIK solution line For SINUMERIK 840D sl, certain basic configurations of the NC language scope can be generated (configurable) via machine data. The options and functions of the NC language scope is specially tailored (configured) to the needs of the user.
Page 528
12550 "Name not defined or option/function not available". Whether the command in question is generally unavailable in the Siemens NC language or whether this is true only on the corresponding system cannot be distinguished in this scenario.
K1: Mode group, channel, program operation, reset response 9.9 Program operation 200: Name/symbol is known, but interpretation is not possible 2xx: Name/symbol is known, the command can be programmed, if xx > 0 Definition for name/symbol: Name: Any STRING that is checked to see whether it is a component of the NC language in the existing NCK version or configuration.
Page 530
K1: Mode group, channel, program operation, reset response 9.9 Program operation The START command can only be executed in AUTOMATIC and MDA modes. For this, the channel concerned must be in the following state: DB21, ... DBX35.7(channel status reset) or DB21, ...
K1: Mode group, channel, program operation, reset response 9.9 Program operation 9.9.3 Part program interruption Channel status A part program interruption is only executed when the channel and program are active: ● DB21, ... D35.5 == 1 ("Channel active") ● DB21, ... D35.0 == 1 ("Program running") STOP commands The part program processing can be interrupted via the following STOP commands: ●...
K1: Mode group, channel, program operation, reset response 9.9 Program operation Possible actions in the interrupt state Various functions can be performed in the channel during a part program interruption, for example: ● Overstore References Operating Manual, HMI Advanced, Section "Machine operating area" > Automatic mode" >...
K1: Mode group, channel, program operation, reset response 9.9 Program operation Commands RESET-Command The following Reset commands are available: ● DB11, ... DBX0.7 ("mode group reset") ● DB21, ... DBX7.7 ("Reset") For a further explanation of the individual interface signals, please see References: /FB1/ Function Manual Basic Functions;...
K1: Mode group, channel, program operation, reset response 9.9 Program operation Effects of commands and NC/PLC interface signals The program state of an active program is influenced by various commands and NC/PLC interface signals. The following table shows the respective resulting state. Initial state: "Running"...
K1: Mode group, channel, program operation, reset response 9.9 Program operation Effects of commands and NC/PLC interface signals The channel state of an active program is influenced by various commands and NC/PLC interface signals. The following table shows the respective resulting state. Initial state: "Active"...
Page 536
K1: Mode group, channel, program operation, reset response 9.9 Program operation the righthand side of the table, the number of the situation after the action has been carried out is shown in brackets after each action. Table 9-3 Responses to operator or program actions Situation Channel sta‐...
K1: Mode group, channel, program operation, reset response 9.9 Program operation 9.9.8 Part-Program Start Start handling Table 9-4 Typical program sequence Sequence Command Conditions Comments (must be satisfied before the com‐ mand) Load program (via the operator in‐ terface or part program) Select AUTOMATIC mode Program preselection Channel preselected...
K1: Mode group, channel, program operation, reset response 9.9 Program operation 9.9.9 Example of a timing diagram for a program run NC START (from PLC, HMI, COM, X user language) NC STOP (from PLC, HMI, COM, X user language) IS "NC START DISABLE" (DB21, ...
Page 539
K1: Mode group, channel, program operation, reset response 9.9 Program operation ● The timer for the program runtime can be reset to "0" at the restart of the program. ● The timer for workpiece counting can be incremented by "1" at program restart. Application The function is used, if the processing of subsequent workpieces is to be done through an automatic program restart e.g.
K1: Mode group, channel, program operation, reset response 9.9 Program operation MD27880 $MC_PART_COUNTER (activation of workpiece counters) Val‐ Description In case of a program restart through the function "jump back to start of program", the workpiece counter: $AC_TOTAL_PARTS is not incremented. $AC_TOTAL_PARTS is incremented.
K1: Mode group, channel, program operation, reset response 9.9 Program operation For more information on labels, please see: References: Programming Manual Fundamentals; Program Jumps and Program Repetitions Definition options of part program sections The program repetition offers various options for defining a part program section that is supposed to be repeated: ●...
K1: Mode group, channel, program operation, reset response 9.9 Program operation Programming Syntax: REPEATB <Label> [P=n] Label Start label to which the instruction: REPEAT branches Type: String Number of repetitions -{}-n Number of repetitions Type: Integer 9.9.11.3 A part program section after a start label Functionality Via REPEAT in part program block N150, the part program processing branches to the part program block N120 that is labeled START_1.
K1: Mode group, channel, program operation, reset response 9.9 Program operation 9.9.11.4 A part program section between a start label and end label Functionality Via REPEAT in part program block N160, the part program processing branches to the part program block N120 that is labeled START_1 with a start label. This part program block and all the part program blocks up to and including the part program block marked with the end label END_1 (N140) are repeated x number of times.
K1: Mode group, channel, program operation, reset response 9.9 Program operation 9.9.11.5 A part program section between a Start label and the key word: ENDLABEL Functionality Via REPEAT in part program block N150, the part program processing branches to the part program block N120 that is labeled START_1 with a start label.
K1: Mode group, channel, program operation, reset response 9.9 Program operation 9.9.12 Event-driven program call (PROG_EVENT) 9.9.12.1 Function Function The "Event-driven program calls" function provides the option that when a certain event occurs in the NC, an NC program with user-defined content can be executed. For example, to initiate the basic setting of functions or initialize system and user variables.
Page 546
K1: Mode group, channel, program operation, reset response 9.9 Program operation 4. Processing of the data part of the main program 5. Processing of the program part of the main program Sequence when activated by an event: End of program Initial state Channel: Active...
Page 547
K1: Mode group, channel, program operation, reset response 9.9 Program operation Sequence when activated by an event: Powering-up of the NC 1. Control activates after power-up reset-sequence with evaluation of machine data: – MD20110 $MC_RESET_MODE_MASK – MD20150 $MC_GCODE_RESET_VALUES – MD20152 $MC_GCODE_RESET_MODE 2.
Page 548
K1: Mode group, channel, program operation, reset response 9.9 Program operation Figure 9-8 Signal sequence when activated by a channel reset Interface signals DB21, ... DBX35.4 (program state interrupted) and DB21, ... DBX35.7 (channel state reset) ● The interface signals are only set if the activated, event-driven user program has already been exited.
K1: Mode group, channel, program operation, reset response 9.9 Program operation 9.9.12.2 Parameterization Events The events that activate the user program are selected on a channel-specific basis using machine data: MD20108 $MC_PROG_EVENT_MASK, bit x Note MD20108 $MC_PROG_EVENT_MASK is not evaluated in the simulation. Program The program (default setting: _N_PROG_EVENT_SPF) must be loaded and cleared.
Page 550
K1: Mode group, channel, program operation, reset response 9.9 Program operation MD20109 $MC_PROG_EVENT_MASK_PROPERTIES Value Meaning The occurrence of an event set with MD20108 (part program start, part program end and/or operator panel reset) leads to the activation of the event-driven user program. The occurrence of an event set with MD20108 does not lead to the activation of the event-driven user program.
Page 551
K1: Mode group, channel, program operation, reset response 9.9 Program operation MD20107 $MC_PROG_EVENT_IGN_INHIBIT Value Meaning In the event-driven user program: ● After an activation through part program start: The read-in disable is effective If the user program is exited with the RET part program command, then an executable block is not created The read-in disable is suppressed If the user program is exited with the RET part program command, then an executable...
K1: Mode group, channel, program operation, reset response 9.9 Program operation Note The system variables $AC_STAT and $AC_PROG are not affected by this function, i.e. in the running event-driven user program, $AC_STAT is set to "active" and $AC_PROG to "running". NC/PLC interface signals DB21, ...
Page 553
K1: Mode group, channel, program operation, reset response 9.9 Program operation The following must be kept in mind, if the user program is to be activated through the part program start. ● The user program must be ended with M17 or RET. ●...
K1: Mode group, channel, program operation, reset response 9.9 Program operation 9.9.12.4 Boundary conditions Emergency stop / error message If an error is present when the operator panel is reset or after powerup EMERGENCY STOP or Mode group/NCKContinue, then the event-driven user program will only be processed after EMERGENCY STOP or the error has been acknowledged in all channels.
Page 555
K1: Mode group, channel, program operation, reset response 9.9 Program operation Program code Comment IF $MC_CHAN_NAME=="CHAN1" IDS=1 EVERY $A_INA[1]>5.0 DO $A_OUT[1]=1 ENDIF ENDIF Example 2: Call through Operator panel reset Parameter assignment: MD20108 $MC_PROG_EVENT_MASK = 'H04' Call of _N_PROG_EVENT_SPF for: ●...
K1: Mode group, channel, program operation, reset response 9.9 Program operation 9.9.13 Influencing the Stop events through Stop delay area Stop delay area The reaction to a stop event can be influenced by the conditioned interruptible area in the current part program. Such a program area is called stop delay area. Within the stop delay areas there should be no stop and the feed should not be changed.
Page 557
K1: Mode group, channel, program operation, reset response 9.9 Program operation NCK events Reaction Stop criteria PROGMODESLASHON Delayed IS: DB21, ... DBB26 Activate / switch over skip block PROGMODESLASHOFF Delayed IS: DB21, ... DBB26 Deactivate skip block PROGMODEDRYRUNON Delayed IS: DB21, ... DBX0.6 Activate DryRun PROGMODEDRYRUNOFF Delayed IS: DB21, ...
K1: Mode group, channel, program operation, reset response 9.10 Asynchronous subprograms (ASUBs), interrupt routines A stop event can be triggered by the following ● NC/PLC interface signals from the PLC → "Hard" stop event ● Alarms with NOREADY response → "Hard" stop event ●...
Page 559
K1: Mode group, channel, program operation, reset response 9.10 Asynchronous subprograms (ASUBs), interrupt routines Interrupt routines Interrupt routines are NC programs which are started by interrupt events (interrupt inputs, process or machine status). A part program block currently being executed will be aborted by the activation of an interrupt routine if it is not specifically declared to be locked against interruption.
Page 560
Figure 9-9 Interrupt signals For further information about PLC control of the rapid NC inputs (interrupt signals) see Section "P3: Basic PLC program for SINUMERIK 840D sl (Page 821)". References: Function Manual, Extended Function; Digital and Analog NCK I/O (A4)
K1: Mode group, channel, program operation, reset response 9.10 Asynchronous subprograms (ASUBs), interrupt routines Activation The activation of an interrupt routine is initiated via: ● 0/1 edge of the interrupt signal, triggered by a 0/1 edge at the associated fast NC input ●...
K1: Mode group, channel, program operation, reset response 9.10 Asynchronous subprograms (ASUBs), interrupt routines A REPOS instruction must have been programmed at the end of the interrupt routine if return positioning to the point of interruption is required, e.g. N104 REPOSL M17 Part program: Interrupt routine: PROGNAME...
K1: Mode group, channel, program operation, reset response 9.10 Asynchronous subprograms (ASUBs), interrupt routines 9.10.1.4 NC response The different reactions of the control to an activated interrupt routine in the various operating modes are given in the following table: Status of NC ASUB start Control system reaction Program is active...
K1: Mode group, channel, program operation, reset response 9.10 Asynchronous subprograms (ASUBs), interrupt routines Status of NC ASUB start Control system reaction Processing of INITIAL.INI not possible The signal "Interrupt request not possible" is generated. Block search Alarm that cannot be re‐ moved by NC start.
Page 565
K1: Mode group, channel, program operation, reset response 9.10 Asynchronous subprograms (ASUBs), interrupt routines NC-specific start enable for NC stop, M0, M01, read-in disable MD11602 $MN_ASUP_START_MASK Channel-specific start enable for non-referenced axes in the channel ● The start enable can be set separately for the following states via the machine data for event-driven program calls (ProgEvent) for non-referenced axes in the channel: –...
Page 566
K1: Mode group, channel, program operation, reset response 9.10 Asynchronous subprograms (ASUBs), interrupt routines MD11602 $MN_ASUP_START_MASK.bit 3 Note Multi-channel systems In multi-channel systems, the following machine data must also be set: MD11600 $MN_BAG_MASK, bit 1 = 1 Continuation of the ASUB After manually traversing the axes, NC Start must be initiated by the operator.
Page 567
K1: Mode group, channel, program operation, reset response 9.10 Asynchronous subprograms (ASUBs), interrupt routines Behavior when the single-block processing is set The following channel-specific machine data is used to set for each interrupt signal whether the assigned ASUBs are processed without interruption with active single-block processing or whether the single-block processing is to apply: MD20117 $MC_IGNORE_SINGLEBLOCK_ASUP, bit 0 - bit 31 Bit x is assigned to the interrupt signal (x+1).
K1: Mode group, channel, program operation, reset response 9.10 Asynchronous subprograms (ASUBs), interrupt routines Lists Manual "Detailed Description of the Machines" 9.10.3 Programming Assignment interrupt signal ↔ part program The assignment interrupt signal ↔ part program is performed with the command SETINT. Example: Program code Comment...
Page 569
K1: Mode group, channel, program operation, reset response 9.10 Asynchronous subprograms (ASUBs), interrupt routines The interrupt routines are executed in the sequence of the priority values if the inputs become available simultaneously (are energized simultaneously): First "ABHEBEN_Z", then "ABHEBEN_X". REPOS-query With interrupt routines, sequences may be generated for which there is no unambiguous return to an interruption point in the block processing sequence (REPOS).
DANGER Programming fault The machine manufacturer is responsible for the contents of ASUB routines used to replace ASUP.SYF supplied by Siemens. Installation In the manufacturer directory _N_CMA_DIR or in the user directory _N_CUS_DIR a routine with the name "_N_ASUP_SPF" can be loaded. It must implement the actions desired by the user for the functions RET and REPOS.
Page 572
K1: Mode group, channel, program operation, reset response 9.11 User-specific ASUB for RET and REPOS Bit 0 and bit 1 specify which of the internal system routines are to be replaced by the user- specific ASUB: Binary value Meaning Neither in case of RET nor in case of REPOS is the user-specific routine _N_AS‐ UP_SPF activated.
K1: Mode group, channel, program operation, reset response 9.11 User-specific ASUB for RET and REPOS 9.11.3 Programming Determining the cause of the ASUB activation The cause of the activation of the ASUB can be read bit-coded via the system variable $AC_ASUP.
K1: Mode group, channel, program operation, reset response 9.12 Perform ASUB start for user alarms 9.12 Perform ASUB start for user alarms 9.12.1 Function Description An ASUB can be initiated in various situations, either by the user, the system or event- controlled.
K1: Mode group, channel, program operation, reset response 9.12 Perform ASUB start for user alarms 9.12.2 Activation Setting Each ASUB channel can be set separately with the following channel-specific machine data: MD20194 $MC_IGNORE_NONCSTART_ASUP (ASUB start permitted despite pending alarm response "NC Start disable" for certain user alarms) A change of the MD setting acts only with the NEWCONF part program command or from the user interface per softkey.
K1: Mode group, channel, program operation, reset response 9.12 Perform ASUB start for user alarms Main program Program code N10 G90 G0 Z10 N20 SETAL(65500) N30 X100 N40 Z0 N50 M30 User ASUB Program code N110 G91 G0 X-10 Z5 N120 X20 N130 REPOSA Sequence...
K1: Mode group, channel, program operation, reset response 9.12 Perform ASUB start for user alarms Main program Program code N4 $MC_IGNORE_NONCSTART_ASUP=1 N6 NEWCONF N10 G90 G0 Z10 N20 SETAL(65500) N30 X100 N40 Z0 N50 M30 User ASUB Program code N110 G91 G0 X-10 Z5 N120 X20 N130 REPOSA Sequence...
Page 578
K1: Mode group, channel, program operation, reset response 9.12 Perform ASUB start for user alarms Main program Program code N4 $MC_IGNORE_NONCSTART_ASUP=1 N6 NEWCONF N10 G90 G0 Z10 N20 SETAL(65500) N30 X100 N40 Z0 N50 M30 User ASUB Program code N110 G91 G0 X-10 Z5 N120 X10 N122 M0 N124 X10...
K1: Mode group, channel, program operation, reset response 9.12 Perform ASUB start for user alarms 9.12.3.4 User ASUB with stop MD20194 is set in the application. Main program Program code N4 $MC_IGNORE_NONCSTART_ASUP=1 N6 NEWCONF N10 G90 G0 Z10 N20 SETAL(65500) N30 X100 N40 Z0 N50 M30...
K1: Mode group, channel, program operation, reset response 9.12 Perform ASUB start for user alarms 9.12.3.5 User ASUB from stopped MD20194 is or not set in the application. Main program Program code N10 G90 G0 Z10 N20 SETAL(65500) N30 X50 N35 M0 N38 X100 N40 Z0...
K1: Mode group, channel, program operation, reset response 9.13 Single block 9.13 Single block With the "single block" function, the user can execute a part program block-by-block. Function versions The "single block" function is available in three versions: ● SBL1 (= IPO single block) When SBL1 is active, machining stops or pauses after each machine action block (IPO block).
K1: Mode group, channel, program operation, reset response 9.13 Single block deceleration to be performed in this block (with continuouspath mode G64 active), further block changes are allowed. Note For decode single block SBL2, machine data MD10702 $MN_IGNORE_SINGLEBLOCK_MASK (prevent single-block stop) is only effective with "internal ASUB", "user ASUB", and "subprograms with the attribute DISPLOF".
Page 583
K1: Mode group, channel, program operation, reset response 9.13 Single block Note When single-block execution SBL3 is active (stop after every part program block – even in the cycle), the SBLOF command has no effect. Single-block suppression for the complete program Programs designated with SBLOF are completely executed just like a block when single-block execution is active, i.e.
Page 584
K1: Mode group, channel, program operation, reset response 9.13 Single block Single-block suppression in the system ASUB or user ASUB In order to execute an ASUB in one step, a PROC instruction must be programmed in the ASUB with SBLOF. This also applies to the function "Editable system ASUB" (see MD11610 $MN_ASUP_EDITABLE).
Page 585
K1: Mode group, channel, program operation, reset response 9.13 Single block Program code Comment N110 R10=3*SIN(R20)+5 N120 IF (R11 <= 0) N130 SETAL(61000) N140 ENDIF N150 G1 G91 Z=R10 F=R11 N160 M17 CYCLE1 is processed for an active single block, i.e. the Start key must be pressed once to process CYCLE1.
K1: Mode group, channel, program operation, reset response 9.14 Program control Type A determines Stop (analogous to Stop key). Type B determines Stop (analogous to stop at block limit). Channel classification In one channel (KS) in a mode group, the user should select single block (NST DB21 ... DBX0.4 (activate single block)).
K1: Mode group, channel, program operation, reset response 9.14 Program control 5. Execution from external source (buffer size and number) 6. Execution from external subroutines 9.14.1 Function selection (via operator panel front or PLC) User interface or PLC The user can control part program execution via the operator panel front or PLC. Selection, activation, feedback Selection Different functions are available under the Program control soft key.
K1: Mode group, channel, program operation, reset response 9.14 Program control 9.14.2 Activation of skip levels Function It is possible to skip blocks which are not to be executed every time the program runs. Blocks to be skipped are indicated in the part program by the character "/" before the block number. The skip levels in the part program are specified by "/0"...
K1: Mode group, channel, program operation, reset response 9.14 Program control References: Operating Manual Note The levels to be skipped can only be changed when the control is in the STOP/RESET state. 9.14.3 Adapting the size of the interpolation buffer MD28060 The channelspecific interpolator executes prepared blocks from the interpolation buffer during the part program run.
Page 591
K1: Mode group, channel, program operation, reset response 9.14 Program control Note If SD42990 $SC_MAX_BLOCKS_IN_IPOBUFFER is set in the part program, the interpolation buffer limitation takes effect immediately if the block with the SD is being preprocessed by the interpreter. This means that the limitation of the IPO buffer may take effect a few blocks before the intended limitation (see also MD 28070 $MC_MM_NUM_BLOCKS_IN_PREP).
K1: Mode group, channel, program operation, reset response 9.14 Program control 9.14.4 Program display modes via an additional basic block display Basic block display (only for ShopMill/ShopTurn) A second so-called basic block display can be used with the existing block display to show all blocks that produce an action on the machine.
Page 593
K1: Mode group, channel, program operation, reset response 9.14 Program control MD9004 $MM_DISPLAY_RESOLUTION For metric measurements MD9011 $MM_DISPLAY_RESOLUTION_INCH For inch measurements MD9010 $MM_SPIND_DISPLAY_RESOLUTION Settable coordinate system for spindle display resolution MD9424 $MM_MA_COORDINATE_SYSTEM For actual value display in WCS or SZS These display machine data are copied to NCK machine data MD17200 $MN_GMMC_INFO_UNIT[0] to MD17200 $MN_GMMC_INFO_UNIT[3].
Page 594
K1: Mode group, channel, program operation, reset response 9.14 Program control Radius / diameter values Diameter values shown in the basic block display and position display may be needed as a radius for internal calculation. These values for measurements in radius/diameter according to G code group 29 can be manipulated using the following options: ●...
K1: Mode group, channel, program operation, reset response 9.14 Program control 9.14.6 Structure for a DIN block Structure of display block for a DIN block Basic structure of display block for a DIN block ● Block number/label ● G function of the first G group (only if changed as compared to the last machine function block).
Page 596
K1: Mode group, channel, program operation, reset response 9.14 Program control Examples Comparisons between display block (original block) and basic block display: ● Programmed positions are displayed as absolute. The addresses AP/RP are displayed with their programmed values. Original block: Display block: N10 G90 X10.123 N10 X10.123...
Page 597
K1: Mode group, channel, program operation, reset response 9.14 Program control The following applies for H functions: Each programmed value is display irrespective of the output type to the PLC. (MD22110 $MC_AUXFU_H_TYPE_INT (type of H auxiliary function is integer)). ● For Tool selection by tool command Display information is generated in the form T<value>...
K1: Mode group, channel, program operation, reset response 9.14 Program control Original block: Display block: N710 Y157.5 G42 N710 Y157.5 G42 N720 Z-67.5 RND=7.5 N720 Z-67.5 RND=7.5 ● With the EXECTAB command (processing a table of contour elements), the block generated by EXECTAB is shown in the display block.
Page 599
K1: Mode group, channel, program operation, reset response 9.14 Program control External program memory External program memory can be found on the following data carriers: ● Local drive ● Network drive ● USB drive Note Only the USB interfaces on the operator panel front or the TCU can be used as interface for the processing of an external program on a USB drive.
K1: Mode group, channel, program operation, reset response 9.14 Program control Note ShopMill/ShopTurn programs The contour descriptions added at the file end mean the ShopMill and ShopTurn programs must be stored completely in the read-only memory. Number of FIFO buffers One FIFO buffer must be provided for each one of the programs that are executed simultaneously in "execution from external source"...
Page 601
K1: Mode group, channel, program operation, reset response 9.14 Program control Note Subprograms with jump commands For external subprograms that contain jump commands (GOTOF, GOTOB, CASE, FOR, LOOP, WHILE, REPEAT, IF, ELSE, ENDIF etc.) the jump destinations must lie within the post loading memory.
Page 602
K1: Mode group, channel, program operation, reset response 9.14 Program control Note Path specification: Short designations The following short designations can be used to specify the path: ● LOCAL_DRIVE: for local drive ● CF_CARD: for CompactFlash Card ● USB: for USB front connection CF_CARD: and LOCAL_DRIVE: can be alternatively used.
K1: Mode group, channel, program operation, reset response 9.15 EES (optional) Program code N020 G1 F1000 N030 X= ... Y= ... Z= ... N040 ... N999999 M17 The "MAIN.MPF" main program is stored in NC memory and is selected for execution. The "SCHRUPPEN.SPF"...
K1: Mode group, channel, program operation, reset response 9.15 EES (optional) ● A network drive provided through Windows ● Statically managed USB drive NOTICE Tool/workpiece damage caused by the USB FlashDrive A USB FlashDrive cannot be recommended when executing an external program. A communication interruption to the USB FlashDrive during the execution of the program due to contact problems, failure, abort through trigger or unintentional unplugging, results in an uncontrolled stop of the machining.
Page 605
Note The CF card of an NCU/PPU cannot be shared by several stations. SINUMERIK 840D sl only For operation with an external HMI, the drives must be configured on the external HMI! The drive configuration (logdrive.ini) must be loaded into the corresponding NCU from the external HMI.
K1: Mode group, channel, program operation, reset response 9.15 EES (optional) 9.15.2.2 Global part program memory (GDIR) When declaring the drives, one of the drives can be designated the global part program memory (GDIR). References: Operating Manual; Section: "Managing programs" > "Setting up drives" The system automatically creates the MPF.DIR, SPF.DIR and WKS.DIR directories on the drive that acts as the GDIR.
K1: Mode group, channel, program operation, reset response 9.15 EES (optional) Selecting the main program on an external archive/data storage medium released for EES Search sequence for the subprograms: 1. Actual directory on an external archive/data storage medium 2. SPF.DIR in the NC part program memory 3.
Page 608
K1: Mode group, channel, program operation, reset response 9.15 EES (optional) MD10125 $MN_EES_NC_NAME = <NC name> Note Name of the NC unique throughout the system To avoid access conflicts, the EES-specific name of the NC must be unique throughout the system.
K1: Mode group, channel, program operation, reset response 9.16 System settings for power-up, RESET / part program end and part program start 9.15.2.4 Memory configuration Reducing the end user program memory in the passive file system With active EES, the end user program memory in the passive file system can be reduced: MD18352 $MN_MM_U_FILE_MEM_SIZE (end user memory for part programs / cycles / files) The released memory can then be used, for example, for tool data or manufacturer cycles (MD18353 $MN_MM_M_FILE_MEM_SIZE).
Page 610
K1: Mode group, channel, program operation, reset response 9.16 System settings for power-up, RESET / part program end and part program start The control-system response after: Can be set with: Part program start MD20112 $MC_START_MODE_MASK MD20110 $MC_RESET_MODE_MASK see also POWER ON (Page 783) Basic Functions Function Manual, 01/2015, 6FC5397-0BP40-5BA2...
Page 611
K1: Mode group, channel, program operation, reset response 9.16 System settings for power-up, RESET / part program end and part program start System settings after run-up MD20110 $MC_RESET_MODE_MASK, bit 0 = 0 or 1 Figure 9-12 System settings after run-up (power-on) Basic Functions Function Manual, 01/2015, 6FC5397-0BP40-5BA2...
Page 612
K1: Mode group, channel, program operation, reset response 9.16 System settings for power-up, RESET / part program end and part program start System settings after reset / part program end and part program start MD20110 $MC_RESET_MODE_MASK, bit 0 = 0 or 1 Figure 9-13 System settings after reset / part program end and part program start Basic Functions...
Page 613
K1: Mode group, channel, program operation, reset response 9.16 System settings for power-up, RESET / part program end and part program start G code effective after run-up and reset / part program end The G code that is effective in every G group after run-up (power-on) and reset / part program end is set in the following machine data: MD20150 $MC_GCODE_RESET_VALUES[<G group>] = <default-G code>...
K1: Mode group, channel, program operation, reset response 9.16 System settings for power-up, RESET / part program end and part program start Transformation remains with reset / part program start: ● MD20110, bit 0 = 1 ● MD20110, bit 7 = 1 ●...
Page 615
K1: Mode group, channel, program operation, reset response 9.16 System settings for power-up, RESET / part program end and part program start Parameterization The following machine data must be set so that the last active transformation is retained after POWER ON: ●...
Page 616
K1: Mode group, channel, program operation, reset response 9.16 System settings for power-up, RESET / part program end and part program start Program code Comment IF $P_PROG_EVENT == 4 ; Run-up IF $P_TRAFO <> 0 ; Transformation has been selected. WAITENC ;...
K1: Mode group, channel, program operation, reset response 9.17 Replacing functions by subprograms 9.17 Replacing functions by subprograms 9.17.1 Overview Function User-specific auxiliary functions (e.g. M101) do not trigger any system functions. They are only output to the NC/PLC interface. The functionality of the auxiliary function must be implemented by the user / machine manufacturer in the PLC user program.
K1: Mode group, channel, program operation, reset response 9.17 Replacing functions by subprograms 9.17.2 Replacement of M, T/TCA and D/DL functions 9.17.2.1 Replacement of M functions General Information The following conditions are applicable for replacing the M functions: ● Per block only one M function is replaced. ●...
Page 619
K1: Mode group, channel, program operation, reset response 9.17 Replacing functions by subprograms The M function is selected with the index of machine data MD10715 $MC_M_NO_FCT_CYCLE[<Index>] in which the M function to be replaced has been parameterized: MD10718 $MC_M_NO_FCT_CYCLE_PAR = <Index> Note For an M function replacement with transfer of information via system variable, the address extension and function value of the M function must be programmed as constant values.
K1: Mode group, channel, program operation, reset response 9.17 Replacing functions by subprograms Machine data Meaning MD10806 $MN_EXTERN_CHAN_M_NO_DISABLE_INT M function for ASUB deactivation (ex‐ ternal mode) MD10814 $MN_EXTERN_M_NO_MAC_CYCLE Macro call via M function MD20094 $MC_SPIND_RIGID_TAPPING_M_NR M function for switchover to controlled axis mode MD20095 $MC_EXTERN_RIGID_TAPPING_M_NR M function for switchover to controlled...
Page 621
K1: Mode group, channel, program operation, reset response 9.17 Replacing functions by subprograms Parameterization: Replacement subprogram The replacement subprogram is specified function-specific in the machine data: Function Machine data MD10717 $MN_T_NO_FCT_CYCLE_NAME MD15710 $MN_TCA_CYCLE_NAME D/DL MD11717 $MN_D_NO_FCT_CYCLE_NAME Note It is recommended that the same subprogram is used to replace T, TCA and D/DL functions. Parameterization: Behavior regarding D or DL function with simultaneous T function When D or DL and T functions are simultaneously programmed in a block, the D or DL number is either transferred as parameter to the replacement subprogram or the D or DL function is...
Page 622
K1: Mode group, channel, program operation, reset response 9.17 Replacing functions by subprograms MD10719 $MN_T_NO_FCT_CYCLE_MODE, bit 1 and bit 2 Bit 2 Bit 1 Time that the replacement subprogram is called At the end of the block After the replacement subprogram has been executed, the interpretation is resumed with the program line following the line that triggered the replacement operation.
K1: Mode group, channel, program operation, reset response 9.17 Replacing functions by subprograms 9.17.2.3 System variable General Information The replacement subprogram is provided with all of the information relevant to the functions programmed in the block (T or TCA, D or DL, M) via system variables. Exception D or DL number is not transferred if: ●...
K1: Mode group, channel, program operation, reset response 9.17 Replacing functions by subprograms System variable Meaning $C_TE Contains for: ● $C_T_PROG == TRUE ● $C_TS_PROG == TRUE the value of the address extension of the T function $C_TS_PROG TRUE, if for the T or TCA replacement, a tool name has been programmed.
Page 625
K1: Mode group, channel, program operation, reset response 9.17 Replacing functions by subprograms Programming Comment N10 T1 D1 M6 M6 is replaced by subroutine "SUB_M6" N90 M30 Subprogram "SUB_M6" Programming Comment PROC SUB_M6 N110 IF $C_T_PROG==TRUE ; IF address T is programmed N120 T[$C_TE]=$C_T Execute T selection...
Page 626
K1: Mode group, channel, program operation, reset response 9.17 Replacing functions by subprograms Parameterization Parameterization Meaning MD22550 $MC_TOOL_CHANGE_MODE = 1 Tool change prepared with T function MD10717 $MN_T_NO_FCT_CYCLE_NAME = "MY_T_CYCLE" Replacement subprogram MD10719 $MN_T_NO_FCT_CYCLE_MODE = 1 No transfer of the D/DL number Main program Program code Comment...
K1: Mode group, channel, program operation, reset response 9.17 Replacing functions by subprograms 9.17.2.5 Example: Replacement of a T and D function The functions T and D are replaced by calling the subprogram "D_T_SUB_PROG". The following should also be true for the example: ●...
K1: Mode group, channel, program operation, reset response 9.17 Replacing functions by subprograms Programming Comment N4330 ENDIF ; ENDIF N4400 IF $C_DL_PROG==TRUE ; IF address DL is programmed N4420 D=$C_DL Select insert offset N4430 ENDIF ; ENDIF N9999 RET 9.17.2.6 Behavior in the event of a conflict Conflict case A conflict is present if several functions are programmed in one block and the functions should...
K1: Mode group, channel, program operation, reset response 9.17 Replacing functions by subprograms 9.17.3 Replacement of spindle functions 9.17.3.1 General Function When a coupling is active the following spindle functions can be replaced for leading spindles: ● M40: Automatic gear stage change ●...
Value Meaning Manufacturer cycle folder: /_N_CMA_DIR User cycle folder: /_N_CUS_DIR Siemens cycle folder: /_N_CST_DIR System variable: Time that the replacement subprogram is called The time that the replacement subprogram is called can be read using the system variable $P_SUB_STAT: Value...
K1: Mode group, channel, program operation, reset response 9.17 Replacing functions by subprograms Time that the subprogram is called ● M40 The time of the call cannot be set. The replacement subprogram is always called at the block start. ● M41 ... M45 The call time depends on the configured output behavior of the auxiliary function to the PLC (see below MD22080): –...
K1: Mode group, channel, program operation, reset response 9.17 Replacing functions by subprograms Time that the replacement subprogram is called ● SPOS, SPOSA The time of the call cannot be set. The replacement subprogram is always called at the block start. ●...
K1: Mode group, channel, program operation, reset response 9.17 Replacing functions by subprograms System variable Meaning $P_SUB_SPOSA TRUE, if the SPOSA replacement is active $P_SUB_M19 TRUE, if the M19 replacement is active $P_SUB_SPOSIT Contains the programmed spindle position Note If the variable is called outside the replacement subprogram, program pro‐ cessing is cancelled with an alarm.
Page 634
K1: Mode group, channel, program operation, reset response 9.17 Replacing functions by subprograms Programming Comment N120 G01 F100 X100 S5000 M3 M43 ; Subprogram call due to M43 N130 M40 ; Switch-on automatic gear stage change N140 M3 S1000 Subprogram call due to S1000 and as a result initiated automatic Gear stage change N9999 M30...
K1: Mode group, channel, program operation, reset response 9.17 Replacing functions by subprograms Programming Comment N1180 DELAYFSTOF ; End of stop delay area N1190 COUPON(_CA,_LA) ; Close the synchronous spindle coupling N1200 ENDIF N9999 RET 9.17.3.6 Example: Spindle positioning In the subprogram, only the replacement of commands SPOS and SPOSA is explicitly executed. Additional replacements should be supplemented in essentially the same fashion.
Page 636
K1: Mode group, channel, program operation, reset response 9.17 Replacing functions by subprograms Programming Comment N2110 ;Replacement of SPOS/SPOSA/M19 for active synchronous spindle coupling N2185 DELAYFSTON ; Start of stop delay area N2190 COUPOF(S2,S1) ; Open synchronous spindle coupling N2200 ;...
Page 637
K1: Mode group, channel, program operation, reset response 9.17 Replacing functions by subprograms Replacement subprogram "LANG_SUB", version 2 Flexibility through indirect addressing using the system variable (leading spindle: $P_SUB_LA, following spindle: $P_SUB_CA). Programming Comment N1000 PROC LANG_SUB DISPLOF SBLOF N1010 DEF AXIS _LA ;...
SBLOF and DISPLOF. ● The replacement is also made in the ISO language mode. However, the replacement subprograms are exclusively processed in the standard language mode (Siemens). There is an implicit switchover into the standard language mode. The original language mode is reselected with the return jump from the replacement subprogram.
Page 639
K1: Mode group, channel, program operation, reset response 9.17 Replacing functions by subprograms Value Meaning The replacement subprogram behaves like a "normal" subprogram: ● Return jump with M17: Stop at the end of the subprogram Note The output of the M function at the PLC depends on: MD20800 $MC_SPF_END_TO_VDI, bit 0 (subprogram end to PLC) - Bit 0 = 0: No output - Bit 0 = 1: M17 is output to the PLC.
K1: Mode group, channel, program operation, reset response 9.18 Program runtime / part counter 9.17.5 Restrictions ● Function replacements are not permitted in: – Synchronized actions – Technology cycles ● There must be no blockwise synchronized actions in front of a block that contains functions at the beginning to be replaced.
K1: Mode group, channel, program operation, reset response 9.18 Program runtime / part counter 9.18.1 Program runtime Function The "Program runtime" function provides various timers to monitor technological processes, which can be read into the part program and into synchronized actions via system variables. There are two types of timers: 1.
Page 642
K1: Mode group, channel, program operation, reset response 9.18 Program runtime / part counter Program runtime The timers to measure the program runtimes are only available in AUTOMATIC mode. System variable (channel-specific) Description $AC_ACT_PROG_NET_TIME Actual net runtime of the current program in seconds Net runtime means that the time, in which the program was stopped, has been deducted.
Page 643
K1: Mode group, channel, program operation, reset response 9.18 Program runtime / part counter System variable (channel-specific) Description $AC_OLD_PROG_NET_TIME_COUNT Changes to $AC_OLD_PROG_NET_TIME After POWER ON, $AC_OLD_PROG_NET_TIME_COUNT is at "0". $AC_OLD_PROG_NET_TIME_COUNT is always increased if the control has newly written to $AC_OLD_PROG_NET_TIME. If the user terminates the running program with RESET, $AC_OLD_PROG_NET_TIME and $AC_OLD_PROG_NET_TIME_COUNT re‐...
Page 644
K1: Mode group, channel, program operation, reset response 9.18 Program runtime / part counter Note Using STOPRE The system variables $AC_OLD_PROG_NET_TIME and $AC_OLD_PROG_NET_TIME_COUNT do not generate any implicit preprocessing stop. This is uncritical when used in the part program if the value of the system variables comes from the previous program run.
Page 645
K1: Mode group, channel, program operation, reset response 9.18 Program runtime / part counter MD27860 $MC_PROCESSTIMER_MODE, bit 0 - 2 = <value> Value Meaning Timer for $AC_OPERATING_TIME not active. Timer for $AC_OPERATING_TIME active. Timer for $AC_CYCLE_TIME not active. Timer for $AC_CYCLE_TIME active. Timer for $AC_CUTTING_TIME not active.
Page 646
K1: Mode group, channel, program operation, reset response 9.18 Program runtime / part counter Value Meaning Only for bit 2 = 1 (timer for $AC_CUTTING_TIME is active) Timer for $AC_CUTTING_TIME counts only for the active tool. Timer for $AC_CUTTING_TIME counts independent of the tool. Only for bit 1 = 1 (timer for $AC_CYCLE_TIME is active) $AC_CYCLE_TIME is not reset to "0"...
K1: Mode group, channel, program operation, reset response 9.18 Program runtime / part counter Program code N70 mySubProgrammA N80 DO $AC_PROG_NET_TIME_TRIGGER=1 N95 ENDFOR N97 mySubProgrammB N98 M30 After the program has processed line N80, the net runtime of "mySubProgrammA" is located in $AC_OLD_PROG_NET_TIME.
Page 648
K1: Mode group, channel, program operation, reset response 9.18 Program runtime / part counter System variables for workpiece counting System variable Meaning $AC_REQUIRED_PARTS Number of workpieces to be produced (setpoint number of workpieces) In this counter the number of workpieces at which the actual workpiece count ($AC_ACTUAL_PARTS) will be reset to "0"...
Page 649
K1: Mode group, channel, program operation, reset response 9.18 Program runtime / part counter Value Meaning $AC_ACTUAL_PARTS is incremented by the value "1" through M02/M30. $AC_ACTUAL_PARTS is incremented by the value "1" through the M command de‐ fined with MD27882[1]. $AC_ACTUAL_PARTS is also active for program test / block search.
Page 650
K1: Mode group, channel, program operation, reset response 9.18 Program runtime / part counter Examples ● Activation of the workpiece counter $AC_REQUIRED_PARTS: MD27880 $MC_PART_COUNTER = 'H3' – $AC_REQUIRED_PARTS is active – Display alarm at: $AC_REQUIRED_PARTS == $AC_SPECIAL_PARTS ● Activation of the workpiece counter $AC_TOTAL_PARTS: MD27880 $MC_PART_COUNTER = 'H10' MD27882 $MC_PART_COUNTER_MCODE[0] = 80 –...
K1: Mode group, channel, program operation, reset response 9.19 Data lists ● Workpiece counter $AC_ACTUAL_PARTS is not processed during the program test / block search: MD27880 $MC_PART_COUNTER = 'H700' MD27882 $MC_PART_COUNTER_MCODE[1] = 75 – $AC_ACTUAL_PARTS is active; the counter is incremented by a value of "1" with each M75, apart from during the program test and search.
Page 652
K1: Mode group, channel, program operation, reset response 9.19 Data lists NC-specific machine data Number Identifier: $MN_ Description 10010 ASSIGN_CHAN_TO_MODE_GROUP Channel valid in mode group 10125 EES_NC_NAME NCU name for the generation of unique NC program names in the EES mode 10280 PROG_FUNCTION_MASK Comparison commands ">"...
K1: Mode group, channel, program operation, reset response 9.19 Data lists 9.19.1.2 Channel-specific machine data Basic machine data Number Identifier: $MC_ Description 20000 CHAN_NAME Channel name 20050 AXCONF_GEOAX_ASSIGN_TAB Assignment of geometry axis to channel axis 20060 AXCONF_GEOAX_NAME_TAB Geometry axis name in channel 20070 AXCONF_MACHAX_USED Machine axis number valid in channel...
Page 654
K1: Mode group, channel, program operation, reset response 9.19 Data lists Number Identifier: $MC_ Description 20600 MAX_PATH_JERK Path-related maximum jerk 20610 ADD_MOVE_ACCEL_RESERVE Acceleration reserve for overlaid motions 20700 REFP_NC_START_LOCK NC start disable without reference point 20750 ALLOW_GO_IN_G96 G0 logic for G96, G961 20800 SPF_END_TO_VDI Subprogram end to PLC...
Page 655
K1: Mode group, channel, program operation, reset response 9.19 Data lists Number Identifier: $MC_ Description 20156 MAXNUM_GCODES_EXT Reset behavior of the external G groups 22620 START_MODE_MASK_PRT Initial setting at special NC Start after power-up and at RESET Auxiliary function settings Number Identifier: $MC_ Description...
Program path for external subroutine call EXTCALL 42750 ABSBLOCK_ENABLE Enable basic block display 42990 MAX_BLOCKS_IN_IPOBUFFER Maximum number of blocks in the interpolation buffer 9.19.3 Signals 9.19.3.1 Signals to NC Signal name SINUMERIK 840D sl SINUMERIK 828D Emergency stop DB10.DBX56.1 DB2600.DBX0.1 Basic Functions Function Manual, 01/2015, 6FC5397-0BP40-5BA2...
K1: Mode group, channel, program operation, reset response 9.19 Data lists Signal name SINUMERIK 840D sl SINUMERIK 828D Program test active DB21, ..DBX33.7 DB330x.DBX1.7 Program state: Running DB21, ..DBX35.0 DB330x.DBX3.0 Program state: Waiting DB21, ..DBX35.1 DB330x.DBX3.1 Program state: Stopped DB21, ...
Page 660
K1: Mode group, channel, program operation, reset response 9.19 Data lists Basic Functions Function Manual, 01/2015, 6FC5397-0BP40-5BA2...
K2: Axis Types, Coordinate Systems, Frames 10.1 Brief description 10.1.1 Axes Machine axes Machine axes are the axes that actually exist on a machine tool. Channel axes Every geometry axis and every special axis is assigned to a channel and, therefore, a channel axis.
Page 662
K2: Axis Types, Coordinate Systems, Frames 10.1 Brief description All path axes and all synchronous axes of a channel have the same acceleration phase, constant travel phase and deceleration phase. Axis configuration The machine data below are used to assign the geometry axes, special axes, channel axes and machine axes as well as the names of the individual axis types: MD20050 $MC_AXCONF_GEOAX_ASIGN_TAB (assignment of geometry axis to channel axis)
K2: Axis Types, Coordinate Systems, Frames 10.1 Brief description The entry in a circular buffer location contains: ● A local axis ● A link axis The axis container function is described in References: Function Manual, Extended Functions; Several Operator Panels on Multiple NCUs, Distributed Systems (B3) 10.1.2 Coordinate systems...
K2: Axis Types, Coordinate Systems, Frames 10.1 Brief description ● Geometry axes always form a perpendicular Cartesian coordinate system ● Special axes form a coordinate system without any geometrical relation between the special axes. ● The names of the geometry axes and special axes can be defined. ●...
Page 665
K2: Axis Types, Coordinate Systems, Frames 10.1 Brief description Frame components Programmable with: Rotation ROT / ROTS AROT / AROTS CROTS Scaling SCALE ASCALE Mirroring MIRROR AMIRROR Figure 10-1 Frame components Coarse and fine offsets As the assignment of machine axes to channel axes and, in particular, to geometry axes, can be different in all channels, there is consequently no unique cross-channel geometric relationship between the channel axes.
Page 666
K2: Axis Types, Coordinate Systems, Frames 10.1 Brief description Rotation Orientations in space are defined via frame rotations as follows: ● Rotation with ROT defines the individual rotations for all geometry axes. ● Solid angles with ROTS, AROTS, CROTS define the orientation of a plane in space. ●...
K2: Axis Types, Coordinate Systems, Frames 10.2 Axes Consistency When writing, reading and activating frames, e.g. using channel coordination, the user is solely responsible for achieving consistent behavior within the channels. Cross-channel activation of frames is not supported. 10.2 Axes 10.2.1 Overview Figure 10-2...
Page 668
K2: Axis Types, Coordinate Systems, Frames 10.2 Axes Figure 10-3 Local and external machine axes (link axes) Basic Functions Function Manual, 01/2015, 6FC5397-0BP40-5BA2...
K2: Axis Types, Coordinate Systems, Frames 10.2 Axes 10.2.2 Machine axes Meaning Machine axes are the axes that actually exist on a machine tool. Figure 10-4 Machine axes X, Y, Z, B, S on a Cartesian machine Application The following can be machine axes: ●...
K2: Axis Types, Coordinate Systems, Frames 10.2 Axes ● Axes for tool magazine ● Axes for automatic tool changer ● Spindle sleeves ● Axes for pallet changers ● Etc. 10.2.3 Channel axes Meaning Each geometry axis and each special axis is assigned to a channel. Geometry axes and additional axes are always traversed in "their"...
K2: Axis Types, Coordinate Systems, Frames 10.2 Axes Special axes are part of the basic coordinate system (BCS). With FRAMES (translation, scaling, mirroring), special axes of the workpiece coordinate system can be mapped on the basic coordinate system. Application Typical special axes are: ●...
● Loaders for moving workpieces away from machine ● Tool magazine/turret Reference For further information, see Section "P3: Basic PLC program for SINUMERIK 840D sl (Page 821)" and "S1: Spindles (Page 1199)". References: ● Function Manual, Extended Functions; Positioning Axes (P2) ●...
K2: Axis Types, Coordinate Systems, Frames 10.2 Axes This interpolation can be started as follows: ● From synchronized actions (as command axes due to an event via block-related, modal or static synchronized actions) ● From the PLC via special function blocks in the basic PLC program (named as a concurrent positioning axis or a PLC axis) ●...
Page 674
K2: Axis Types, Coordinate Systems, Frames 10.2 Axes All path axes and all synchronous axes of a channel have the same acceleration phase, constant travel phase and deceleration phase. The feedrate (path feedrate) programmed under address F applies to all the path axes programmed in a block but not to the synchronous axes.
Page 676
K2: Axis Types, Coordinate Systems, Frames 10.2 Axes Figure 10-5 Axis configuration Special features ● Leading zeros for user-defined axis names are ignored: MD10000 `$MN_AXCONF_MACHAX_NAME_TAB[0] = X01 corresponds to X1 ● The geometry axes must be assigned to the channel axes in ascending order without any gaps.
K2: Axis Types, Coordinate Systems, Frames 10.2 Axes Example: Channel axis gap Channel axis B is not assigned a machine axis in the following example. Figure 10-6 Axis configuration with channel axis gap (excerpt) Special situations: Channel axis gaps Regarding channel axis gaps, the following also have to be taken into account: ●...
K2: Axis Types, Coordinate Systems, Frames 10.3 Zeros and reference points References: Function Manual, Extended Functions; Several Operator Panels on Multiple NCUs, Distributed Systems (B3) 10.3 Zeros and reference points 10.3.1 Reference points in working space Zeros and reference points The neutral position of the machine is obtained from the coordinate axes and the constructive characteristics of the machine.
Page 679
K2: Axis Types, Coordinate Systems, Frames 10.3 Zeros and reference points Toolholder reference point T The toolholder reference point T is located on the toolholder locator. By entering the tool lengths, the control calculates the distance between the tool tip (TCP Tool Center Position) and the toolholder reference point.
K2: Axis Types, Coordinate Systems, Frames 10.3 Zeros and reference points 10.3.2 Position of coordinate systems and reference points Control POWER ON For incremental measuring probes, the reference point must be approached each time the control is activated so that the control can transfer all position values to the coordinate system. Figure 10-7 Position of coordinate systems by machine zero M and workpiece zero W Figure 10-8...
K2: Axis Types, Coordinate Systems, Frames 10.4 Coordinate systems 10.4 Coordinate systems 10.4.1 Overview Definitions DIN 66217 stipulates that machine tools must use right-angled, rectangular (Cartesian) coordinate systems. The positive directions of the coordainate axes are determined using the "Right Hand Rule". The coordinate system is related to the workpiece and programming takes place independently of whether the tool or the workpiece is being traversed.
Page 682
K2: Axis Types, Coordinate Systems, Frames 10.4 Coordinate systems Coordinate systems The following coordinate systems are defined for machine tools: Coordinate system Abbreviation Machine Coordinat System Basic Coordinate System Basic Zero System Settable Zero System Workpiece Coordinate System Basic Functions Function Manual, 01/2015, 6FC5397-0BP40-5BA2...
Page 683
K2: Axis Types, Coordinate Systems, Frames 10.4 Coordinate systems Figure 10-11 Interrelationships between coordinate systems Basic Functions Function Manual, 01/2015, 6FC5397-0BP40-5BA2...
Page 684
K2: Axis Types, Coordinate Systems, Frames 10.4 Coordinate systems Starting from the machine coordinate system, the various coordinate systems are defined using kinematic transformation and frames: ● MCS ⇒ BCS: Kinematic transformation If kinematic transformation is not active, then the BCS is the same as the MCS. ●...
K2: Axis Types, Coordinate Systems, Frames 10.4 Coordinate systems 10.4.2 Machine coordinate system (MCS) Machine coordinate system (MCS) The machine coordinate system (MCS) is made up of all physically available machine axes. Figure 10-12 MCS with machine axes X, Y, Z, B, C (5-axis milling machine) Basic Functions Function Manual, 01/2015, 6FC5397-0BP40-5BA2...
K2: Axis Types, Coordinate Systems, Frames 10.4 Coordinate systems Figure 10-13 MCS with machine axes X, Z (turning machine) Axial preset offset The reference point of the control in the machine coordinate system (machine zero) can be reset via the "Preset offset (PRESETON)" function. CAUTION Loss of the encoder adjustment After a preset offset, the appropriate machine axis is in the "Not referenced"...
Page 687
K2: Axis Types, Coordinate Systems, Frames 10.4 Coordinate systems A preprocessing stop with synchronization is triggered by PRESETON. The actual position is not assigned until the axis is at standstill. If the axis is not assigned to the channel at PRESETON, the further procedure depends on the axis-specific configuration of the axis interchange behavior: MD30552 $MA_AUTO_GET_TYPE Referencing status...
Page 688
K2: Axis Types, Coordinate Systems, Frames 10.4 Coordinate systems System variable $AC_PRESET The axis-specific system variable $AC_PRESET provides the vector from the zero point of the currently offset MCS' to the zero point of the original MCS after the referencing of the machine axis.
Page 689
K2: Axis Types, Coordinate Systems, Frames 10.4 Coordinate systems Geometry axes ● PRESETON can be used on a stationary geometry axis when a further geometry axis is not being traversed in the channel at the same time. ● PRESETON can be used on a stationary geometry axis even when a further geometry axis is being traversed in the channel at the same time, but this axis is in the "neutral axis"...
Page 690
K2: Axis Types, Coordinate Systems, Frames 10.4 Coordinate systems Axis couplings ● Leading axes: The sudden change of the leading axis position caused by PRESETON is not traversed in the following axes. The coupling is not changed. ● Following axes: Only the overlaid position component of the following axis is affected by PRESETON.
K2: Axis Types, Coordinate Systems, Frames 10.4 Coordinate systems JOG mode ● PRESETON must only be used on a stationary axis. JOG mode, REF machine function ● PRESETON must not be used. 10.4.2.2 Actual value setting without loss of the referencing status (PRESETONS) Function The PRESETONS() procedure sets a new actual value for one or more axes in the machine coordinate system (MCS).
Page 692
K2: Axis Types, Coordinate Systems, Frames 10.4 Coordinate systems MD30455 $MA_MISC_FUNCTION_MASK, bit 9 = 1 Note PRESETON deactivated Activation of the "Actual value setting without loss of the referencing status PRESETONS" function deactivates the "Actual value setting with loss of the referencing status PRESETON" function.
Page 693
K2: Axis Types, Coordinate Systems, Frames 10.4 Coordinate systems The programmed end position of the X axis (command axis) is transformed to the new MCS with PRESETONS. Program code N10 G1 X10 F5000 N20 PRESETONS(X, $AA_IM[X]+70) ; Actual value = 10 + 70 = 80 => $AC_PRESET = $AC_PRESET - 70 Supplementary conditions Axes for which PRESETONS must not be used...
Page 694
K2: Axis Types, Coordinate Systems, Frames 10.4 Coordinate systems Geometry axes ● PRESETONS can be used on a stationary geometry axis when a further geometry axis is not being traversed in the channel at the same time. ● PRESETONS can be used on a stationary geometry axis even when a further geometry axis is being traversed in the channel at the same time, but this axis is in the "neutral axis"...
Page 695
K2: Axis Types, Coordinate Systems, Frames 10.4 Coordinate systems PRESETONS in the NC program Spindle mode Traversing sta‐ Assigned to the NC Main axis program Axis mode In motion Stationary +: Possible -: Not possible Axis couplings ● Leading axes: The sudden change of the leading axis position caused by PRESETONS is not traversed in the following axes.
K2: Axis Types, Coordinate Systems, Frames 10.4 Coordinate systems Overlaid movement $AA_OFF ● An overlaid movement from a synchronized action with $AA_OFF is not affected by PRESETONS. Online tool offset FTOC ● An active online tool offset from a synchronized action with FTOC remains active even after PRESETONS.
Page 697
K2: Axis Types, Coordinate Systems, Frames 10.4 Coordinate systems Machine tools with kinematic transformation The BCS and MCS do not coincide when the BCS is mapped onto the MCS with kinematic transformation (e.g. TRANSMIT / face transformation, 5-axis transformation or more than three axes).
K2: Axis Types, Coordinate Systems, Frames 10.4 Coordinate systems 10.4.4 Additive offsets External work offsets The external work offset is a linear offset between the basic coordinate system (BCS) and the basic zero system (BZS). The external work offset $AA_ETRANS is effective in two ways depending on the machine data parameterization: 1.
Page 699
K2: Axis Types, Coordinate Systems, Frames 10.4 Coordinate systems Programming ● Syntax $AA_ETRANS[<axis>] = <value> ● Meaning System variable to buffer the external work offset $AA_ETRANS: Channel axis <axis>: Offset value <value>: NC/PLC interface signal DB31, ... DBX3.0 = 0 → 1 ⇒ $P_EXTFRAME[<axis>] = $P_EXTFR[<axis>] = $AA_ETRANS[<axis>] DRF offset The DRF offset enables the adjustment of an additive incremental work offset for geometry...
K2: Axis Types, Coordinate Systems, Frames 10.4 Coordinate systems Power On After control run-up (Power On), the last used offset values of the external work offset are stored and do not become effective again until there is a renewed activation signal. System frames are retained during Power ON, depending on the following machine data: MD24008 $MC_CHSFRAME_POWERON_MASK (reset system frames after Power On) Suppression: External work offset...
Page 701
K2: Axis Types, Coordinate Systems, Frames 10.4 Coordinate systems Basic offset The basic offset describes the coordinate transformation between BCS and BZS. It can be used, for example, to define the palette window zero. The basic offset comprises: ● Zero offset external ●...
K2: Axis Types, Coordinate Systems, Frames 10.4 Coordinate systems 10.4.6 Settable zero system (SZS) Settable zero system (SZS) The "settable zero system" (SZS) is the workpiece coordinate system WCS with a programmable frame (viewed from the perspective of the WCS). The workpiece zero is defined by the settable FRAMES G54 to G599.
K2: Axis Types, Coordinate Systems, Frames 10.4 Coordinate systems Note Display of the current coordinate system When "Actual-value display in relation to the SZS" is active, the WCS is still displayed on the HMI operator interface as the coordinate system to which the actual-value display relates. Example Actual-value display in relation to the WCS or SZS Code (excerpt)
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames 10.5 Frames 10.5.1 Frame types A frame is a data structure that contains values for offset (TRANS), fine offset (FINE), rotation (ROT), mirroring (MIRROR) and scaling (SCALE) for axes. When activating the frame, using the frame values, a static coordinate transformation for the axes contained in the frame is performed using a defined algorithm.
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames Axis TRANS FINE MIRROR SCALE 10.0 10.5.2 Frame components 10.5.2.1 Translation Programming The programming of the translation or coarse offset can be performed via the following commands: ● Example of data management frames $P_UIFR –...
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames Figure 10-20 Offset in the Z direction 10.5.2.2 Fine offset Parameterization The fine offset is enabled via the machine data: MD18600 $MN_MM_FRAME_FINE_TRANS = <value> Value Meaning The fine offset cannot be entered or programmed. Fine offset is possible for settable frames, basic frames and the programmable frame via command or program.
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames Program code Remark $P_UIFR[1,X,TR] = 10 Frame components TRANS X=10 Y=10 Programmable frame 10.5.2.3 Rotation Overview (geometry axes only) Function The direction of rotation around the coordinate axes is determined by means of a right-hand, rectangular coordinate system with axes x, y and z.
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames MD10600 $MN_FRAME_ANGLE_INPUT_MODE = <value> Value Meaning Euler angles in zy'x'' convention (RPY angles) Euler angles in zx'z" convention Note For historical reasons, Euler angles in zx'z" convention can be used. However, it is strongly recommended that only Euler angles in zy'x"...
Page 709
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames Value range With RPY angles, programmed values can only be unambiguously calculated back within the following value ranges: -180 <= <= < < -180 <= <= Programming of the complete frame When programming the complete frame, all rotation components of the frame are always written.
Page 710
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames Meaning Arbitrary active or data management frame <Frame>: Array index of the frame, e.g. $P_UIFR[0 ... n] <Index>: Name of the geometry axis around which rotation is to be performed <GAx>: with the specified angle. Keyword for rotation "RoTation"...
Page 711
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames Programmed Saved rotation components x, RT y, RT z, RT 40 - 30 = 10 <Frame>=CROT(X,30,Y,90,Z,40) CAUTION Different values for reading back the rotation component z Because of the different conversion times after writing the complete frame or the writing of individual rotation components of a data management frame and the writing of individual rotation components of an active frame, different values can be read back for rotation component z.
Page 712
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames Examples: Writing individual rotation components of a data management frame A conversion is performed on the activation of the data management frame. In the example, at any time after N30. Programmed Saved rotation components x, RT y, RT z, RT...
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames 10.5.2.5 Rotation with a Euler angles: ZX'Z" convention With Euler angles, the rotations are in the order z, x', z". Note Recommended use For historical reasons, Euler angles in zx'z" convention can be used. However, it is strongly recommended that only Euler angles in zy'x"...
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames For data outside the specified value ranges, a modulo conversion is made referred to the value of the particular range limit. Note It is recommended that when writing the rotation components of the frame, the specified value ranges are observed so that the same values are obtained when reading back the rotation components.
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames 10.5.2.8 Mirroring Programming The program commands below are used to program a mirroring: $P_UIFR[1] = CMIRROR(x,1,y,1) MIRROR x = 1y = 1 $P_UIFR[1,x,mi] = 1 10.5.2.9 Chain operator Frame components or complete frames can be combined into a complete frame using the chain operator ( : ).
Page 717
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames CSCALE() A spindle can only be assigned to one rotary axis at a time. The CROT(..) function can therefore not be programmed withSPI(), as only geometry axes are permitted forCROT(). The channel axis name or machine axis name of the axis belonging to the spindle is always output when decompiling frames, even when axis names have been programmed in the part program with SPI(..).
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames 10.5.2.11 Coordinate transformation The formulae below are used to discover the coordinate transformation for geometry axes: Position vector in BCS Position vector in WCS 10.5.3 Data management frames and active frames 10.5.3.1 Overview Frame types The following frame types are available:...
Page 719
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames For all frame types except the programmable frame, one or more frames exist in the data management (data management frames) in addition to the frame active in the channel. For the programmable frame, only the frame active in the channel exists. Writing frames Data management frames and active frames can be written from the part program.
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames Archiving frames Only data management frames can be archived. 10.5.3.2 Activating data management frames Data management frames become active frames as a result of the following actions: ● "Settable frames" G group: G54 ... G57, G500, G505 ... G599 ●...
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames MD24050 $MC_FRAME_SAA_MODE (save and activate data management frames) Val‐ Meaning ● Data management frames are only activated by programming the system variables $P_CHBFRMASK, $P_NCBFRMASK and $P_CHSFRMASK. ● G500...G599 activates the appropriate settable frame. Data management frames are implicitly described by functions, such as TOROT, PAROT, external work offset and transformations.
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames ● All channels of an NCU can read and write NCU-global frames equally. ● As the assignment of machine axes to channel axes and, in particular, to geometry axes, can be different in all channels, there is consequently no unique cross-channel geometric relationship between the channel axes.
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames WCS: Workpiece Coordinate System SZS: Settable Zero System BZS: Basic Zero System BCS: Basic Coordinate System MCS: Machine Coordinate System Complete frame The current complete frame $P_ACTFRAME results from the chaining of all active frames of the frame chain: $P_ACTFRAME = $P_PARTFRAME : $P_SETFRAME : $P_EXTFRAME :...
Page 724
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames The position indicator for axis setpoints is done in WCS or in ENS. The configuring is done via HMI machine data. Always only one display-coordinate system is active in the channel. For this reason only one relative frame is provided which generates both relative coordinate systems in the same ratio.
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames The setting of a relative reference point via the operator panel is done via the general command interface for the workpiece and tool measuring. The system frame $P_RELFR for relative coordinate systems is calculated and activated as follows: ●...
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames Effects The reconfiguration of the SZS has an effect on: ● SZS-related actual values: Actual-value displays, system variables, e.g. $AA_IEN, etc. ● Manual traversing (JOG) of geometry axes in the SZS 10.5.4.4 Manual traversing of geometry axes either in the WCS or in the SZS ($AC_JOG_COORD) Previously, geometry axes have been traversed manually in JOG mode in the WCS.
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames 10.5.4.5 Suppression of frames Suppression of frames is performed channel-specifically via the commands G53, G135 and SUPA described in the following. Activation of the frame suppression results in jumps in the position display (HMI) as well as in the position values in system variables that refer to the WCS, SZS or BZS.
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames Val‐ Meaning Position values in system variables with frame suppression Position values in system variables without frame suppression 1) Jump of the position value 2) No jump of the position value Programming Com‐...
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames 10.5.5.2 Settable frames ($P_UIFR[<n>]) Machine data Channel-specific settable frames The number of channel-specific settable frames is set with the following machine data: MD28080 $MC_MM_NUM_USER_FRAMES = <number> System variable index n = 0, 1, 2, ... <number> - 1 NCU-global settable frames The number of NCU-global settable frames is set with the following machine data: MD18601 $MN_MM_NUM_GLOBAL_USER_FRAMES = <number>...
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames $P_UIFRNUM (number of active settable frame) System variable $P_UIFRNUM can be used to read the index <n> of the settable frame of the data management active in the channel: Settable frame active in the channel $P_IFRAME == $P_UIFR[ $P_UIFRNUM ] $P_UIFRNUM $P_IFRAME == $P_UIFR[<n>], where n = Programming...
Page 731
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames MD28079 $MN_MM_NUM_G_FRAMES = <number> System variable index n = 0, 1, 2, ... <number> - 1 NCU-global grinding frames The number of NCU-global grinding frames is set with the following machine data: MD18603 $MN_MM_NUM_GLOBAL_G_FRAMES = <number>...
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames $P_GFRNUM $P_GFRAME == $P_GFR[<n>], where n = Programming A channel-specific grinding frame of the data management $P_GFR[<n>] becomes the grinding frame $P_GFRAME active in the channel through the appropriate command (GFRAME0 ... GFRAME100). Command Activation of the grinding frame of the data man‐...
Page 733
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames $P_CHBFRAME[<n>] (active channel-specific basic frames) System variable $P_CHBFRAME[<n>] can be used to read and write the active channel- specific basic frames. When writing an active channel-specific basic frame, the new values take effect immediately through the recalculation of the active complete basic frame $P_ACTBFRAME.
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames 10.5.5.5 NCU-global basic frames $P_NCBFR[<n>] Machine data Number of NCU-global basic frames The number of NCU-global basic frames is set with the following machine data: MD18602 $MN_MM_NUM_GLOBAL_BASE_FRAMES = <number> System variable index n = 0, 1, 2, ... <number> - 1 System variables $P_NCBFR[<n>] (NCU-global basic frames of the data management) System variable $P_NCBFR[<n>] can be used to read and write the NCU-global basic frames...
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames Command Activation of the NCU-global and channel-specific basic frames of the data management $P_CHBFR[ 4 ] : $P_NCBFR[4] G505 $P_CHBFR[ 5 ] : $P_NCBFR[5] G599 $P_CHBFR[ 99 ] : $P_NCBFR[99] 10.5.5.6 Active complete basic frame $P_ACTBFRAME Function All active NCU-global and channel-specific basic frames are combined into the complete basic frame $P_ACTBFRAME:...
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames MD20110 $MC_RESET_MODE_MASK, bit0 = 1 and bit14 = 1 ● Bit 1 = 0: Default value ⇒ reset behavior corresponding to the setting of the further bits ● Bit14 = 0: The basic frames are completely deselected with reset. ●...
Page 737
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames MIRROR Mirrorings of a geometry axis were previously (up to SW-P4) related to a defined reference axis only using the machine data: MD10610 $MN_MIRROR_REF_AX (reference axis for the mirroring). From the user's point of view, this definition is difficult to understand. When mirroring the z axis, the display showed that the x axis was mirrored and the y axis had been rotated through 180 degrees.
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames Example TRANS X10 Y10 Z10 ATRANS X5 Y5 ; Total translations X15 Y15 Z10 G58 X20 ; Total translations X25 Y15 Z10 G59 X10 Y10 ; Total translations X30 Y20 Z10 G58 and G59 can only be used if: MD24000 $MC_FRAME_ADD_COMPONENTS (frame components for G58 / G59) == TRUE The table below shows the effect of various program commands on the absolute and additive translation.
Page 739
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames Value System frame available: $P_TRAFR: Frame for selection and deselection of transformations $P_ISO1FRAME : Frame for G51.1 mirroring (ISO) $P_ISO2FRAME : Frame for G68 2DROT (ISO) $P_ISO3FRAME : Frame for G68 3DROT (ISO) $P_ISO4FRAME: Frame for G51 scale (ISO) $P_RELFR: Frame for relative coordinate systems Parameterization of the SZS (ACS) coordinate system...
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames Note Cycle programming The frame variables of the system frames are only for the cycle programming. Therefore, in NC programs the system frames should not be written directly by the user, but rather only via system functions such as TOROT, PAROT, etc.
Page 741
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames Four modes can be set via machine data: ● MD10602 $MN_FRAME_GEOAX_CHANGE_MODE = 0 The current complete frame is deleted when geometry axes are switched over, when transformations are selected and deselected, and on GEOAX(). The modified geometry axis configuration is not used until a new frame is activated.
Page 742
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames Program code Comment GEOAX(1, a) ; a becomes x axis; $P_ACTFRAME=CROT(x,10, y,20,z,30):CTRANS(x10). Several channel axes can become geometry axes on a transformation change. Example: Channel axes 4, 5 and 6 become the geometry axes of a 5axis transformation. The geometry axes are thus all substituted before the transformation.
Page 744
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames TRANSMIT Transmit expansions: The machine data below can be used to take the axial complete frame of the TRANSMIT rotary axis, i.e., the translation, fine offset, mirroring and scaling, into account in the transformation: MD24905 $MC_TRANSMIT_ROT_AX_FRAME_1 = 1 MD24955 $MC_TRANSMIT_ROT_AX_FRAME_2 = 1 A rotary axis offset can, for example, be entered by compensating the oblique position of a...
Page 745
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames When selecting TRANSMIT, translations of the virtual axis are deleted. Translations of the rotary axis can be taken into account in the transformation. Rotations: Rotation before the transformation is taken over. Mirroring: Mirroring of the virtual axis is deleted.
Page 751
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames MD24855 $MC_TRACYL_ROT_AX_FRAME_2 = 2 With this setting, the axial offset of the rotary axis is taken account of in the transformation up to the SZS. The axial offsets of the rotary axis included in the SZS frames are entered into the transformation frame as offsets on the peripheral surface.
Page 752
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames $MN_MM_NUM_GLOBAL_USER_FRAMES = 0 $MN_MM_NUM_GLOBAL_BASE_FRAMES = 3 $MC_MM_NUM_USER_FRAMES = 10 ; from 5 to 100 $MC_MM_NUM_BASE_FRAMES = 3 ; from 0 to 8 $MN_NCBFRAME_RESET_MASK = 'HFF' $MC_CHBFRAME_RESET_MASK = 'HFF' $MN_MIRROR_REF_AX = 0 ; No scaling when mirroring. $MN_MIRROR_TOGGLE = 0 $MN_MM_FRAME_FINE_TRANS = 1 ;...
Page 755
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames N1290 if $P_IFRAME <> $P_UIFR[1] N1300 setal(61000) N1310 endif N1320 if $P_ACTFRAME <> TRANS(X,21,Y,22,Z,33,B,19):CROT(X,10,Y,20,Z,30):CMIRROR(X,B) N1330 setal(61002) N1340 endif N1350 N1360 G00 x0 y0 z0 G90 N1370 N1380 m30 TRAANG Frame expansions: The expansions described below are only valid for the following machine data settings: MD10602 $MN_FRAME_GEOAX_CHANGE_MODE = 1 MD10602 $MN_FRAME_GEOAX_CHANGE_MODE = 2 Translations:...
Page 756
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames Scalings of the virtual axis are taken over. Example: Machine data for TRAANG: ; FRAME configurations $MC_MM_SYSTEM_FRAME_MASK = 'H1' ; SETFRAME $MC_CHSFRAME_RESET_MASK = 'H41' ; Frames are active after RESET. $MC_CHSFRAME_POWERON_MASK = 'H41' ;...
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames Bitmask for adapting the active frames with reference to the axis constellation. The following settings apply: Bit 0: Rotations in active frames, which rotate coordinate axes with no geometry axes, are deleted from the active frames. Bit 1: Shear angles in the active frames are orthogonalized.
Page 762
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames Preconditions The following requirements must be fulfilled for frame mapping: ● The data management frames used for mapping must be configured: MD28083 $MC_MM_SYSTEM_DATAFRAME_MASK (system frames) ● Channel-specific data management frames must be explicitly enabled for mapping: MD10616 $MN_MAPPED_FRAME_MASK (enable frame mapping) Note For global data management frames, mapping is always carried out.
Page 763
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames Description Parameterization: $MA_ ① Simple mapping relationship: MAPPED_FRAME[<AX1>] = "AX4" AX1(K1) ↔ AX4(K2) ② Chained mapping relationships: MAPPED_FRAME[<AX1>] = "AX4" MAPPED_FRAME[<AX4>] = "AX7" AX1(K1) ↔ AX4(K2) ↔ AX7(K3) ③ Mapping relationship to itself, with AX1 as chan‐ MAPPED_FRAME[<AX1>] = "AX1"...
Page 764
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames Activating the data management frame Data management frames can be written in the part program and via the user interface of SINUMERIK Operate. The following should be noted when activating the data management frames in the channels written directly and via frame mapping: ●...
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames N110 Writing of the settable data management frame $P_UIFR[1]: Moving the zero point of the Z axis to 10 mm Mapping the axial frame data: Channel 1: Z ≙ AX1 ⇔ channel 2: Z ≙ AX4 N120 / N220 Channel synchronization for consistent activation of new frame data N130 / N230...
Page 766
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames A frame calculated, for example, via a measuring function, must be entered in the current SETFRAME such that the new complete frame is a chain of the old complete frame and the measurement frame.
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames Program code Comment IF $AC_MEAS_CORNER_ANGLE <> 90 SETAL(61000 + $AC_MEAS_CORNER_ANGLE) ENDIF ; Transform measured frame and write to $P_SETFRAME so that a complete frame is cre- ated, ; which linked from the old total frame results in the measurement frame. $P_SETFRAME = $P_ACTFRAME : $AC_MEAS_FRAME : INVFRAME($P_ACTFRAME) : $P_SETFRAME $P_SETFR = $P_SETFRAME ;...
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames "Scratching" means workpiece and tool measuring. The position of the workpiece in relation to an edge, a corner or a hole can be measured. To determine the zero position of the workpiece or the hole, position setpoints can be added to the measured positions in the WCS. The resultant offsets can be entered in a selected frame.
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames command and PLC axes, are stopped immediately and the advance is reorganized. The rough offset of the current system frame and of the system frame in data management is set to the value of the axial system variable $AA_ETRANS[<axis>].
Page 771
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames Figure 10-24 Frame on activation of a rotary table with TCARR With kinematics of type M (tool and table are each rotary around one axis), the activation of a toolholder with TCARR simultaneously produces a corresponding change in the effective tool length (if a tool is active) and the work offset.
Page 772
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames The rotation component of the part frame can be deleted with PAROTOF, irrespective of whether this frame is in a basic or a system frame. The translation component is deleted when a toolholder which does not produce an offset is activated or a possibly active orientable toolholder is deselected with TCARR=0.
Page 773
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames Programming with MOVT is independent of the existence of a toolholder that can be oriented. The direction of the motion is dependent on the active plane. It runs in the directions of the vertical axes, i.e. with G17 in Z direction, with G18 in Y direction and with G19 in X direction.
Page 774
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames Z, Z-X planes) (see figure). The machine operator is not expected to convert these solid angles into the angles of rotation of a chaining of individual rotations. ① Inclined plane α, β, Solid angle γ...
Page 775
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames of the plane then specifies the axis, around which the other axis of the plane must be rotated in order to move this into the line of intersection, which the rotated plane forms with the plane surrounded by the other and the third axis.
Page 776
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames TOFRAME or TOROT defines frames whose Z direction points in the tool direction. This definition is suitable for milling, where G17 is usually active. However, particularly with turning or, more generally, when G18 or G19 is active, it is desirable that frames which will be aligned on the X or Y axis, can be defined.
Page 777
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames SD42980 $SC_TOFRAME_MODE (frame definition for TOFRAME, TOROT and PAROT) Value Meaning The new X direction is chosen to lie in the X-Z plane of the old coordinate system. In this setting, the angle difference between the old and new Y axis will be minimal. The new Y direction is chosen to lie in the Y-Z plane of the old coordinate system.
Page 778
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames N100 describes a rotation by 45 degrees in the X-Y plane. It is assumed that the toolholder activated in N110 rotates the tool by 30 degrees around the X axis, i.e. the tool lies in the Y-Z plane and is rotated by 30 degrees relative to the Z axis.
Page 779
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames The system frame for TCARR and PAROT is configured with: MD28082 $MC_MM_SYSTEM_FRAME_MASK, bit 2 = 1 The following machine data is then no longer evaluated: MD20184 $MC_TOCARR_BASE_FRAME_NUMBER If the system frame for TCARR is configured, TCARR and PAROT describe that corresponding system frame;...
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames Settable frames G54 to G599 The behavior of the adjustable frames can be set using MD10617 $MN_FRAME_SAVE_MASK.BIT0 : ● BIT0 = 0 Using the subprogram, if only the values of the active adjustable frame are changed using the system variable $P_IFRAME, but the G functions are kept, then the change is also kept after the end of the subprogram.
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames The machine data $MC_MM_SYSTEM_DATAFRAME_MASK can be used to configure data management frames for the system frames. If you do not want a data management frame for a system frame, the frame does not have to be saved.
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames 10.5.12 Control system response 10.5.12.1 POWER ON Frame Frame conditions after POWER ON Programmable frame: Deleted. $P_PFRAME Settable frames: $P_IFRAME Are retained, depending on: ● MD24080 $MC_USER_FRAME_POWERON_MASK, bit 0 ● MD20152 $MC_GCODE_RESET_MODE[7] Grinding frames: $P_GFRAMES Are retained, depending on: ●...
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames 10.5.12.3 RESET, end of part program RESET responses of basic frames The RESET response of basic frames is set via the machine data: MD20110 $MC_RESET_MODE_MASK (definition of initial control settings after RESET/TP- End) RESET responses of system frames The system frames are retained in the data management after a Reset.
Page 785
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames The setting is made with machine data: ● MD20110 $MC_RESET_MODE_MASK, bit<n> (definition of initial control setting after RESET / TP end) Value Meaning TCARR and PAROT system frames are retained as before the RESET. MD20152 $MC_GCODE_RESET_MODE[51] = 0 - MD20150 $MC_GCODE_RESET_VALUES[51] = 1 PAROTOF...
K2: Axis Types, Coordinate Systems, Frames 10.5 Frames Frame Condition after RESET / part program end Complete basic frame: $P_ACTB‐ Is retained, depending on: FRAME ● MD20110 $MC_RESET_MODE_MASK bit 0 and bit 14 ● MD10613 $MN_NCBFRAME_RESET_MASK ● MD24002 $MC_CHBFRAME_RESET_MASK System frames: Are retained, depending on: $P_PARTFRAME, $P_SETFRAME, ●...
K2: Axis Types, Coordinate Systems, Frames 10.6 Workpiece-related actual value system 10.6 Workpiece-related actual value system 10.6.1 Overview Definition The term "workpiece-related actual-value system" designates a series of functions that permit the user: ● To use a workpiece coordinate system defined in machine data after powerup. Features: –...
Page 789
K2: Axis Types, Coordinate Systems, Frames 10.6 Workpiece-related actual value system Interrelationships between coordinate systems The figure below shows the interrelationships between the machine coordinate system (MCS) and the workpiece coordinate system (WCS). Figure 10-26 Interrelationship between coordinate systems For further information, see "H2: Auxiliary function outputs to PLC (Page 377)" and "W1: Tool offset (Page 1363)".
K2: Axis Types, Coordinate Systems, Frames 10.6 Workpiece-related actual value system ● Function Manual, Special Functions; Axis Couplings and ESR (M3); Section: Coupled motion, Section: Master value coupling ● Function Manual, Special Functions; Tangential Control (T3) 10.6.3 Special reactions Overstore Overstoring in RESET state of: ●...
Page 791
K2: Axis Types, Coordinate Systems, Frames 10.6 Workpiece-related actual value system Actual-value reading If the actual value of $AA_IW is read in the WCS after activation of a frame (zero offset) or a tool offset, the activated changes are already contained in the result read even if the axes have not yet been traversed with the activated changes.
K2: Axis Types, Coordinate Systems, Frames 10.8 Examples 10.7 Restrictions There are no supplementary conditions to note. 10.8 Examples 10.8.1 Axes Axis configuration for a 3axis milling machine with rotary table 1. Machine axis: X1 Linear axis 2. Machine axis: Y1 Linear axis 3.
Page 793
K2: Axis Types, Coordinate Systems, Frames 10.8 Examples Parameterization of the machine data Machine data Value MD10000 AXCONF_MACHAX_NAME_TAB[0] = X1 MD10000 AXCONF_MACHAX_NAME_TAB[1] = Y1 MD10000 AXCONF_MACHAX_NAME_TAB[2] = Z1 MD10000 AXCONF_MACHAX_NAME_TAB[3] = B1 MD10000 AXCONF_MACHAX_NAME_TAB[4] = W1 MD10000 AXCONF_MACHAX_NAME_TAB[5] = C1 MD20050 AXCONF_GEOAX_ASSIGN_TAB[0] MD20050 AXCONF_GEOAX_ASSIGN_TAB[1] MD20050 AXCONF_GEOAX_ASSIGN_TAB[2]...
Page 795
K2: Axis Types, Coordinate Systems, Frames 10.8 Examples ● The global basic frame can be read by either channel. ● Either channel can activate the global basic frame for that channel. Machine data Machine data Value MD10000 $MN_AXCONF_MACHAX_NAME_TAB[0] = X1 MD10000 $MN_AXCONF_MACHAX_NAME_TAB[1] = X2 MD10000 $MN_AXCONF_MACHAX_NAME_TAB[2]...
K2: Axis Types, Coordinate Systems, Frames 10.8 Examples Part program in second channel Code (excerpt) Comment . . . N100 $P_NCBFR[0] = CTRANS( x, 10 ) The NCU global basic frame is also active in second chan- nel..N510 G500 X10 Activate basic frame N520 $P_CHBFRAME[0] = CTRANS( x, 10 )
K2: Axis Types, Coordinate Systems, Frames 10.9 Data lists Number Identifier: $MN_ Description 10613 NCBFRAME_RESET_MASK ActiveNCU-global basic frame after reset 10615 NCBFRAME_POWERON_MASK Reset global basic frames after Power On 10617 FRAME_SAVE_MASK Behavior of frames for SAVE subprograms 10650 IPO_PARAM_NAME_TAB Name of interpolation parameters 10660 INTERMEDIATE_POINT_NAME_TAB Name of intermediate point coordinates for G2/G3...
K2: Axis Types, Coordinate Systems, Frames 10.9 Data lists Number Identifier: $MC_ Description 24905 TRANSMIT_ROT_AX_FRAME_1 Rotary axis offset TRANSMIT1 24955 TRANSMIT_ROT_AX_FRAME_2 Rotary axis offset TRANSMIT2 28080 MM_NUM_USER_FRAMES Number of settable Frames (SRAM) 28081 MM_NUM_BASE_FRAMES Number of basic frames 28082 MM_SYSTEM_FRAME_FRAMES System frames (SRAM) 28560 MM_SEARCH_RUN_RESTORE_MODE...
Page 801
K2: Axis Types, Coordinate Systems, Frames 10.9 Data lists Identifier Description $P_CHBFRAME[<n>] Active basic frame $P_CHBFRMASK Basic frame mask in the channel $P_CHSFRMASK System frame mask $P_CYCFR Data management frame: System frame for cycles $P_CYCFRAME Active system frame for cycles $P_EXTFR Data management frame: System frame for work offset external $P_EXTFRAME...
K2: Axis Types, Coordinate Systems, Frames 10.9 Data lists 10.9.4 Signals 10.9.4.1 Signals from channel Signal name SINUMERIK 840D sl SINUMERIK 828D T function modification DB21, ..DBX61.0-.2 D function modification DB21, ..DBX62.0-.2 T function 1 DB21, ..DBB118-119 DB250x.DBD2000...
N2: Emergency stop 11.1 Brief Description Function The control system supports the machine manufacturer in implementing an emergency stop function on the basis of the following functions: ● An emergency stop button is installed in a location easily accessible to the machine operator on all SINUMERIK machine control panels.
N2: Emergency stop 11.3 Emergency stop control elements Hazards In the terms of EN 418, risks may arise from: ● Functional irregularities (machine malfunctions, unacceptable properties of the material to be machined, human error, etc.). ● Normal operation. Stadard EN ISO 12000-2 In accordance with the basic safety requirement of the EC Machinery Directive regarding emergency stop, machines must be equipped with an energency stop device.
N2: Emergency stop 11.4 Emergency stop sequence Emergency stop button and control Actuation of the emergency stop button or a signal derived directly from the button must be routed to the controller (PLC) as a PLC input. In the PLC user program, this PLC input must be forwarded to the NC on the interface signal: DB10 DBX56.1 (Emergency stop) Resetting of the emergency stop button or a signal derived directly from the button must be...
N2: Emergency stop 11.5 Emergency stop acknowledgement 5. After the expiry of a paramaterized delay time, the servo enables of machine axes are reset. The setting of the delay time is programmed in machine data: MD36620 $MA_SERVO_DISABLE_DELAY_TIME (OFF delay of the controller enable) The following setting rule must be observed: MD36620 ≥...
Page 807
N2: Emergency stop 11.5 Emergency stop acknowledgement A machine restart must be impossible until all of the actuated emergency stop control elements have been deliberately reset by hand. Emergency stop acknowledgement The EMERGENCY STOP state is only reset if the interface signal:DB10 DBX56.2 (acknowledge EMERGENCY STOP) is set followed by the interface signal:DB11, ...
N2: Emergency stop 11.6 Data lists Effects Resetting the emergency stop state has the following effects: ● Within the controller for all machine axes: – The servo enables are set. – The follow-up mode is canceled. – The position control is activated. ●...
P1: Transverse axes 12.1 Function Transverse axis Within the framework of "turning" technology, the transverse axis refers to the machine axis that travels perpendicular to the axis of symmetry of the spindle, in other words, to longitudinal axis Z. Figure 12-1 Position of the transverse axis in the machine coordinate system Geometry axis as transverse axis Every geometry axis of a channel can be defined as a transverse axis.
Page 812
P1: Transverse axes 12.1 Function Several transverse axes in the channel The introduction several transverse axes in the channel involves a functional decoupling of diameter programming and reference axis for G96/G961/G962. Diameter programming and reference axis for G96/G961/G962 can be active for different transverse axes (see table below). Programming and display Reference axis for in the diameter...
Page 813
P1: Transverse axes 12.1 Function ● Part program programming: – End positions, independent of reference mode (G90 / G91) – Interpolation parameters of circular-path programming (G2 / G3) if these are programmed with part program instruction AC absolute. ● Actual values read with reference to the workpiece coordinate system (WCS): –...
P1: Transverse axes 12.2 Parameterization ● Working area limitation ● Software limit switch ● Feed ● Display data with reference to the machine coordinate system ● Display data of the service images for axis, FSD and MSD Extended functions for data that is always radius-related: The following applies for PLC axes, via FC18 or axes controlled exclusively from the PLC: ●...
Page 815
P1: Transverse axes 12.2 Parameterization An axis can be simultaneously defined in MD20100 and in MD30460 (bit 2). For this, the channel-specific MD20100 has a higher priority than the axis-specific MD30460. With MD20100, during power up, the transverse axis: ● is assigned the function G96/G961/G962. ●...
Page 816
P1: Transverse axes 12.2 Parameterization MD20360 $MC_TOOL_PARAMETER_DEF_MASK Value Meaning Display of remaining path in WCS always as a radius For all transverse axes, with MD11346 $MN_HANDWH_TRUE_DISTANCE==1 ● half of the path of the specified handwheel increment is traveled, if channel- specific or axis-specific diameter programming is active for this axis.
P1: Transverse axes 12.3 Programming A reference axis for G96/G961/G962 can also be assigned without the application of a transverse axis in MD20100 via SCC[AX]. For this scenario, the constant cutting speed cannot be activated with G96. For more detailed information, see: References: Programming Manual Fundamentals, Feedrate Control and Spindle Motion "Constant cutting rate (G96/G961/G962, G97/G971/G972, G973, LIMS, SCC)
P1: Transverse axes 12.4 Supplementary conditions Axis-specific diameter programming for several transverse axes in one channel Note The additionally specified axis must be activated via MD30460 $MA_BASE_FUNCTION_MASK with bit 2 = 1. The axis specified must be a known axis in the channel. Geometry, channel or machine axes are permitted.
P1: Transverse axes 12.5 Examples Axis replacement via axis container rotation By rotating the axis container, the assignment of a channel axis can change to assignment of a machine axis. The current diameter programming status is retained however for the channel axis after the rotation.
P1: Transverse axes 12.6 Data lists Program code Comment N30 Y200 X200 ;Dimensions: X in the diameter, Y in the radius N40 DIAMONA[Y] ;Y axis-specific modal diameter programming N50 Y250 X300 ;Dimensions: X and Y in diameter N60 SETM(1) ;Synchronous marker 1 N70 WAIT(1,2) ;wait for synchronous marker 1 in channel 2 Channel 2...
P3: Basic PLC program for SINUMERIK 840D sl 13.1 Brief description General The PLC basic program organizes the exchange of signals and data between the PLC user program and the NCK (Numerical Control Kernel), HMI (Human Machine Interface) and MCP (Machine Control Panel).
Page 822
P3: Basic PLC program for SINUMERIK 840D sl 13.1 Brief description Event-driven signal exchange PLC → NCK An "event driven signal exchange PLC → NCK" takes place whenever the PLC transfers a request to the NCK (e.g. traversal of an auxiliary axis). In this case, data transfer is also acknowledgement-driven.
P3: Basic PLC program for SINUMERIK 840D sl 13.2 Key data of the PLC CPU 13.2 Key data of the PLC CPU Key data of the PLC CPU The overview of the key data of the PLC CPU integrated in the SINUMERIK NCU can be found References NCU 7x0.3 PN Manual, Section "Technical data"...
P3: Basic PLC program for SINUMERIK 840D sl 13.4 PLC mode selector 13.3 PLC operating system version The PLC operating system version is displayed at: ● User interface of SINUMERIK Operate: "Operating area switchover" > "Diagnostics" > "Version" ⇒ version data / system software NCU: Selection "PLC" > "Details" ⇒ version data / system software NCU/PLC: The PLC operating system version is displayed in the first line is at "PLC 3xx…".
P3: Basic PLC program for SINUMERIK 840D sl 13.7 Starting up the PLC program 13.5 Reserve resources (timers, counters, FC, FB, DB, I/O) Reserve resources (timers, counters, FC, FB, DB, I/O) The components below are reserved for the basic program: ●...
PLC program" Note Installation/update Before installing the toolbox for SINUMERIK 840D sl, SIMATIC STEP 7 must be installed. It is recommended that the hardware expansions for STEP 7 be installed again from the toolbox after an update of STEP 7.
P3: Basic PLC program for SINUMERIK 840D sl 13.7 Starting up the PLC program 13.7.3 Version codes Basic program The version of the basic program is displayed on the Version screen of the user interface along with the controller type.
P3: Basic PLC program for SINUMERIK 840D sl 13.7 Starting up the PLC program 13.7.5 Data backup The PLC-CPU does not save any symbolic names, but instead only the datatype descriptions of the block parameters VAR_INPUT, VAR_OUTPUT, VAR_IN_OUT, VAR and the datatypes of the global data blocks.
Page 829
P3: Basic PLC program for SINUMERIK 840D sl 13.7 Starting up the PLC program Automation The process of generating a series archive can be automated (comparable to the command interface in STEP 7). In generating this series archive, the command interface is expanded.
Page 830
P3: Basic PLC program for SINUMERIK 840D sl 13.7 Starting up the PLC program = Internal error (problem in STEP 7 project) = Write error when generating series startup files (e.g. diskette full) Use in script Program code If S7Ext.Magic("") < 0 Then Wscript.Quit(1)
P3: Basic PLC program for SINUMERIK 840D sl 13.7 Starting up the PLC program 13.7.7 Software upgrade A general PLC reset should be performed to achieve a defined initial state before the PLC software is upgraded. In this case, among other things, all user data (program and data blocks) will be deleted.
P3: Basic PLC program for SINUMERIK 840D sl 13.7 Starting up the PLC program Identical numbers If handling and basic program blocks have identical numbers, the block numbers of the basic program must remain unchanged. The block numbers of the handling blocks must be renamed to free numbers via STEP 7.
13.8.1 General A CPU of the S7-300 automation system is used as PLC for the SINUMERIK 840D sl. The PLC-CPU is integrated into the NCU component as a sub-module. A reference to the performance data of the PLC CPU can be found in Section "Key data of the PLC CPU (Page 823)".
Page 834
P3: Basic PLC program for SINUMERIK 840D sl 13.8 Coupling of the PLC CPU Figure 13-1 NCK/PLC coupling on SINUMERIK 840D sl (integrated PLC) Interface: NCK/PLC The data exchange between NCK and PLC is organized by the basic program on the PLC side.
P3: Basic PLC program for SINUMERIK 840D sl 13.8 Coupling of the PLC CPU (e.g. M08 for cooling medium on), the transfer of these "fast" auxiliary functions is directly acknowledged in OB40, so that decoding is only insignificantly influenced by the transfer to the PLC.
P3: Basic PLC program for SINUMERIK 840D sl 13.9 Interface structure 13.9 Interface structure Interface DBs Mapping in interface data blocks is necessary due to the large number of signals exchanged between the NCK and PLC. These are global data blocks from the viewpoint of the PLC program.
Page 837
P3: Basic PLC program for SINUMERIK 840D sl 13.9 Interface structure Function interface The function interface is formed by FBs and FCs. The figure below illustrates the general structure of the interface between the PLC and the NCK. Figure 13-2...
Page 838
P3: Basic PLC program for SINUMERIK 840D sl 13.9 Interface structure Compile-cycle signals In addition to the standard signals exchanged between the PLC and NCK, an interface data block for compile cycles is also generated if required (DB9). The associated signals, which are dependent on the compile cycles, are transmitted cyclically at the start of OB1.
Page 839
P3: Basic PLC program for SINUMERIK 840D sl 13.9 Interface structure NCK/PLC signals The group of signals from the NCK to PLC includes: ● Actual values of the digital and analog I/O signals of the NCK ● Ready and status signals of the NCK Also output in this group are the HMI handwheel selection signals and the status signals.
Page 840
P3: Basic PLC program for SINUMERIK 840D sl 13.9 Interface structure Figure 13-4 PLC/Mode group interface Signals PLC/NCK channels The signal groups below must be considered on the interface: ● Control/status signals ● Auxiliary/G functions ● Tool management signals ● NCK functions The control/status signals are transmitted cyclically at the start of OB1.
Page 841
P3: Basic PLC program for SINUMERIK 840D sl 13.9 Interface structure Some of the above functions are described in their own function documentation. Figure 13-5 PLC/NCK channel interface PLC/axis, spindle, drive signals The axis-specific and spindle-specific signals are divided into the following groups: ●...
P3: Basic PLC program for SINUMERIK 840D sl 13.9 Interface structure An axial F value is entered via the M, S, F distributor of the basic program if it is transferred to the PLC during the NC machining process. The M and S value are also entered via the M, S, F distributor of the basic program if one or both values require processing.
Page 843
P3: Basic PLC program for SINUMERIK 840D sl 13.9 Interface structure Control signals Some control signals are signal inputs, for example, via the machine control panel, which have to be taken into account by the HMI. This group of signals includes, for example, display actual values in MCS or WCS, key disable, etc.
Page 844
P3: Basic PLC program for SINUMERIK 840D sl 13.9 Interface structure The message acquisition structure is shown in the figure "Acquisition and signaling of PLC events". The features include: ● Bit fields for events related to the NC/PLC interface are combined in a single data block (DB2) with bit fields for user messages.
Page 845
P3: Basic PLC program for SINUMERIK 840D sl 13.9 Interface structure User program The user PLC program merely needs to call the basic program block FC10 with appropriate parameter settings in the cyclic program section and set or reset the bit fields in DB2. All further necessary measures are implemented by the basic program and HMI.
Page 846
P3: Basic PLC program for SINUMERIK 840D sl 13.9 Interface structure The extensions are: ● Support for 10 channels, 31 axes, 64 user areas (the number of user areas should be entered in the FB1 parameter "MsgUser"). ● Areas for feed stop, read-in disable, etc. are available without messages. The information from this area is stored on the interface in DB21, DB31 depending on FC10 parameter "ToUserIF"...
Ethernet components. On the SINUMERIK 840D sl, the machine control panel (MCP) and handheld unit (HHU) are connected via the Ethernet bus, which also links the TCU to the NCU. The advantage of this is that only one bus cable is required to connect the operating unit.
Page 848
P3: Basic PLC program for SINUMERIK 840D sl 13.9 Interface structure Figure 13-8 Connection of the machine control panel on 840D sl Bus addresses On Ethernet components, MAC and IP addresses or logic names are determining factors in respect of communication. The control system's system programs convert logic names into MAC or IP addresses.
P3: Basic PLC program for SINUMERIK 840D sl 13.10 Structure and functions of the basic program Figure 13-9 Interface to and from machine control panel 13.10 Structure and functions of the basic program General The PLC program has a modular structure. The organization blocks (OB) form the interface between the operating system and the basic and user programs.
P3: Basic PLC program for SINUMERIK 840D sl 13.10 Structure and functions of the basic program Figure 13-10 Structure of the basic program (principle) 13.10.1 Startup and synchronization of NCK PLC Loading the basic program The basic program must be loaded with the S7 tool when the PLC is in the Stop state. This ensures that all blocks in the basic program will be initiated correctly the next time they are called.
P3: Basic PLC program for SINUMERIK 840D sl 13.10 Structure and functions of the basic program Synchronization The PLC is synchronized with the HMI and NCK and CP during powerup. Sign-of-life After a correct initial start and the first complete OB1 cycle (initial setting cycle) the PLC and NCK continuously exchange sign-of-life signals.
Page 852
P3: Basic PLC program for SINUMERIK 840D sl 13.10 Structure and functions of the basic program Auxiliary and G functions The auxiliary and G functions have the following characteristics: ● Transfer to the PLC is block-synchronous (referred to a part program block) ●...
P3: Basic PLC program for SINUMERIK 840D sl 13.10 Structure and functions of the basic program G group decoders In the case of G functions sent by the NCK, the related groups are decoded and the current G number is entered in the corresponding interface byte of the CHANNEL DB, i.e. all active G functions are entered in the channel DBs.
P3: Basic PLC program for SINUMERIK 840D sl 13.10 Structure and functions of the basic program 13.10.5 Diagnostic alarm, module failure processing (OB82, OB86) General In the event of a diagnostic alarm or failure of an I/O module, organization block OB82 or OB86 is called (components of the basic program).
P3: Basic PLC program for SINUMERIK 840D sl 13.10 Structure and functions of the basic program 13.10.6 Response to NCK failure General During cyclic operation, the PLC basic program continuously monitors NCK availability by polling the signoflife character. If the NCK is no longer reacting, the NCK PLC interface is initialized, and the NCK CPU ready signal in the area of the signals from NC (DB 10.DBX...
P3: Basic PLC program for SINUMERIK 840D sl 13.10 Structure and functions of the basic program 13.10.7 Functions of the basic program called from the user program General In addition to the modules of the basic program, which are called at the start of OB1, OB40 and OB100, functions are also provided which have to be called and supplied with parameters at a suitable point in the user program.
Page 857
P3: Basic PLC program for SINUMERIK 840D sl 13.10 Structure and functions of the basic program Figure 13-11 FC18 input/output parameters Asynchronous subprograms (ASUBs) An ASUB can be used to activate arbitrary functions in the NCK. Before an asynchronous subprogram can be started from the PLC, it must be ensured that it is available and prepared by the NC program or by FB4 PI services (ASUB).
P3: Basic PLC program for SINUMERIK 840D sl 13.10 Structure and functions of the basic program bit mantissa and 8-bit exponent) and vice versa]. A loss of accuracy results from the conversion from 64-bit to 32-bit REAL. The maximum precision of 32-bit REAL numbers is approximately 10 to the power of 7.
Page 859
P3: Basic PLC program for SINUMERIK 840D sl 13.10 Structure and functions of the basic program The assignments have been made as follows: UDT assignments UDT number Assignment to interface DB Meaning UDT2 Alarms/messages UDT10 DB10 NCK signals UDT11 DB11...
P3: Basic PLC program for SINUMERIK 840D sl 13.10 Structure and functions of the basic program The symbolic names, commands and absolute addresses can be viewed by means of a STEP 7 editor command when the UDT block is opened.
Page 861
P3: Basic PLC program for SINUMERIK 840D sl 13.10 Structure and functions of the basic program Figure 13-12 M decoding acc. to list Activation M decoding is activated using FB1 parameter "ListMDecGrp" The number of M groups to the evaluated and/or decoded is specified using the appropriate parameter.
Page 862
P3: Basic PLC program for SINUMERIK 840D sl 13.10 Structure and functions of the basic program ● There must be an entry in the decoding list for every group of M functions to be decoded. ● The assignment between the M function with extended address and the signal to be set in the signal list is specified in the decoding list using the first and last M function of the associated group.
Page 863
P3: Basic PLC program for SINUMERIK 840D sl 13.10 Structure and functions of the basic program Program code DATA_BLOCK DB 75 TITLE = VERSION : 0.0 STRUCT MSigGrp : ARRAY [1 .. 16 ] OF STRUCT MExtAdr : INT; MFirstAdr : DINT;...
P3: Basic PLC program for SINUMERIK 840D sl 13.10 Structure and functions of the basic program 13.10.10 PLC machine data General The user has the option of storing PLC-specific machine data in the NCK. These machine data can then be processed during power-up of the PLC (OB100). This enables, for example, user options, machine expansion levels, machine configurations, etc., to be implemented.
Page 865
P3: Basic PLC program for SINUMERIK 840D sl 13.10 Structure and functions of the basic program Note If the number of PLC machine data used is increased later, then DB20 must be deleted beforehand. To prevent such extensions in use having any effect on the existing user program, the data in DB20 should be accessed in symbolic form wherever possible, e.g.
Page 866
P3: Basic PLC program for SINUMERIK 840D sl 13.10 Structure and functions of the basic program BP parameters (to scan runtime): l gp_par.UDInt; //=4, l gp_par.UDHex; //=2, l gp_par.UDReal; //=1 ) During PLC power-up, DB20 was generated with a length of 28 bytes:...
P3: Basic PLC program for SINUMERIK 840D sl 13.10 Structure and functions of the basic program Access operations in user program (list includes only symbolic read access): "UData".UDInt[0]; "UData".UDInt[1]; "UData".UDInt[2]; "UData".UDInt[3]; "UData".UDHex0[0]; "UData".UDHex0[1]; "UData".UDHex0[2]; "UData".UDHex0[3]; "UData".UDHex0[4]; "UData".UDHex0[5]; "UData".UDHex0[6]; "UData".UDHex0[7]; "UData".UDHex0[15];...
Page 868
P3: Basic PLC program for SINUMERIK 840D sl 13.10 Structure and functions of the basic program Activation Each component is activated either via the number of machine control panels ("MCPNum" parameter) or, in the case of the handheld unit, via the "HHU" parameter. The MCP and HHU connection settings are entered in FB1 parameters "MCPMPI", "MCPBusType"...
Page 869
P3: Basic PLC program for SINUMERIK 840D sl 13.10 Structure and functions of the basic program Figure 13-14 Ethernet connection Relevant parameters (FB1) MCPNum=1 or 2 (number of MCPs) HHU = 5 (via CP 840D sl) MCP1In MCP2In BHGIn MCP1Out...
Page 870
P3: Basic PLC program for SINUMERIK 840D sl 13.10 Structure and functions of the basic program Example: OP with direct keys The direct keys of the OPs at the Ethernet bus should be transferred to the PLC. Previously, the direct keys have been transferred to the PLC via the PROFIBUS or via a special cable connection between OP and MCP.
Page 871
P3: Basic PLC program for SINUMERIK 840D sl 13.10 Structure and functions of the basic program Relevant parameters (FB1) Direct keys e.g. direct keys OP 08T Op1KeyOut Op2KeyOut OpKey1BusAdr Op2KeyBusAdr Address: TCU index: Op1KeyStop Op2KeyStop Op1KeyNotSend Op2KeyNotSend OpKeyBusType = b#16#55 (via CP 840D sl)
Page 872
P3: Basic PLC program for SINUMERIK 840D sl 13.10 Structure and functions of the basic program Relevant parameters (FB1) MCP device identification Input parameters, e.g. OP 08T Direct keys such as e.g. OP 08T, OP 12T B#16#1 IdentMcpType (Mcp-Type) no device connected...
Page 873
P3: Basic PLC program for SINUMERIK 840D sl 13.10 Structure and functions of the basic program Figure 13-15 PROFIBUS connection Relevant parameters (FB1) MCPNum = 1 or 2 (number of MCPs) HHU = 5 (via CP 840D sl) MCP1In MCP2In...
Page 874
P3: Basic PLC program for SINUMERIK 840D sl 13.10 Structure and functions of the basic program PROFIBUS connection on the MPI/DP port (MCPBusType = 4) With the PROFIBUS connection of the MCP, this component must be considered in the STEP 7 hardware configuration.
Page 875
P3: Basic PLC program for SINUMERIK 840D sl 13.10 Structure and functions of the basic program Relevant parameters (FB1) BHGMPI = FALSE BHGStop MCP failure normally switches the PLC to the STOP state. If this is undesirable, then OB82, OB86 can be used to avoid a PLC stop. The basic program has, as standard, the OB82 and OB86 call.
P3: Basic PLC program for SINUMERIK 840D sl 13.10 Structure and functions of the basic program Relevant parameters (FB1) MCPNum = 1 or 2 (number of MCPs) HHU = 5 (via CP 840D sl) MCP1In MCP2In BHGIn MCP1Out MCP2Out BHGOut MCP1StatSend (n.r.)
Page 877
P3: Basic PLC program for SINUMERIK 840D sl 13.10 Structure and functions of the basic program routine must copy the signals of the active MCP from the I/O area configured in HW Config to DB77. This enables a number of MCPs on the PROFIBUS to be switched via signals. Set the MCPxStop parameter to TRUE for the switchover phase from one MCP to another.
P3: Basic PLC program for SINUMERIK 840D sl 13.12 Assignment overview Setting for switching off the flashing The Send status must be set in MCPxStop before the start of communication with the MCP. Before the start of communication means either during power-up (OB100) or during cyclic...
P3: Basic PLC program for SINUMERIK 840D sl 13.12 Assignment overview 13.12.2 Assignment: FB/FC Number Meaning FB15 Basic program FB1, FC2, FC3, FC5 Basic program FC0 ... 29 Reserved for Siemens FB0 ... 29 Reserved for Siemens FC30 ... 999 Free for user assignment FB30 ...
P3: Basic PLC program for SINUMERIK 840D sl 13.12 Assignment overview Overview of data blocks DB no. Name Name Pack‐ Reserved for basic program HMI interface PLC machine data 21 ... 30 CHANNEL 1 ... n Interface NC channels 31 ... 61 AXIS 1 ...
P3: Basic PLC program for SINUMERIK 840D sl 13.13 PLC functions for HMI 13.13 PLC functions for HMI 13.13.1 Program selection from the PLC Function Preselected programs/workpieces can be selected for machining by the NC via the PLC/HMI interface. The preselection is realized by entering programs/workpiece in files (these are known as PLC program lists (*.ppl).
Page 882
P3: Basic PLC program for SINUMERIK 840D sl 13.13 PLC functions for HMI ● Program path The program path must be completely specified in absolute terms. For specifying the program path, see: References Programming Manual, Work Planning, Chapter "File and Program Administration" >...
Page 883
P3: Basic PLC program for SINUMERIK 840D sl 13.13 PLC functions for HMI DB19.DBB17 = <program number> ● user area: 1 - 100 ● individual area: 101 - 200 (only SINUMERIK 828D) ● oem area: 201 - 255 Requesting program selection DB19.DBX13.7 = 1...
P3: Basic PLC program for SINUMERIK 840D sl 13.13 PLC functions for HMI 6. To complete the order, the program selection request must be reset: DB19.DBX13.7 = 0 7. The HMI signals that it is ready to accept a new order by resetting the acknowledgment byte: DB19.DBB26 == 0...
P3: Basic PLC program for SINUMERIK 840D sl 13.13 PLC functions for HMI Screen number ranges The following screen number ranges are available: ● JOG, manual machine (Page 885) ● Reference point approach (Page 890) ● MDA (Page 890) ● AUTOMATIC (Page 890) ●...
Page 886
P3: Basic PLC program for SINUMERIK 840D sl 13.13 PLC functions for HMI Screen Number User screen User screen User screen User screen User screen User screen User screen Measure edge Z Turning technology: Workpiece, measurement Measure tool (main menu)
Page 887
P3: Basic PLC program for SINUMERIK 840D sl 13.13 PLC functions for HMI Screen Number Probe radius calibration Milling technology: Workpiece, measurement Measure tool (main menu) Measure length, manual (with milling tool) or measure length in X, manual (with turning tool)
Page 888
P3: Basic PLC program for SINUMERIK 840D sl 13.13 PLC functions for HMI DB19.DBB24 Screen Screen number Stop Straight line 1300 Straight all axes 1330 Straight X alpha 1340 Straight Z alpha 1350 Circle 1360 Drilling 1400 Center drilling 1410...
P3: Basic PLC program for SINUMERIK 840D sl 13.13 PLC functions for HMI DB19.DBB24 Screen Screen number Turning view 1782 Milling technology: Simultaneous recording Top view 1743 3D view 1761 From the front 1745 From the rear 1747 From the Left...
P3: Basic PLC program for SINUMERIK 840D sl 13.13 PLC functions for HMI Screen Number Actual zoom value MCS/WCS Handwheel Action synchronization Turning technology: Simultaneous recording Side view Front view 3D view 2-window view Machine space Half section Milling technology: Simultaneous recording...
P3: Basic PLC program for SINUMERIK 840D sl 13.13 PLC functions for HMI Screen Number From the right Half section Turning view 13.13.4.7 Screen numbers: Program manager operating area Screen Number NC directory Local drive USB / configured drive1 Configured drive2...
Page 894
P3: Basic PLC program for SINUMERIK 840D sl 13.13 PLC functions for HMI with "string" = "DB<DB number>.DBB<byte address>" Note Even byte address The data area must start at an even byte address. Structure of the data area Byte Meaning...
P3: Basic PLC program for SINUMERIK 840D sl 13.14 PLC functions for drive components on the integrated PROFIBUS 13.14 PLC functions for drive components on the integrated PROFIBUS 13.14.1 Overview Using the function described below, input and output data from drive components on the integrated PROFIBUS can be consistently, cyclically read and written from the PLC user program of the hardware PLC.
P3: Basic PLC program for SINUMERIK 840D sl 13.14 PLC functions for drive components on the integrated PROFIBUS 13.14.3 Example Determining slot addresses After selecting the DP Slave "SINAMICS_Integrated" on the integrated PROFIBUS "PROFIBUS Integrated: DP master system (3)" in the station window of HW Config, its PROFIdrive message frame and associated slot addresses are displayed in the detailed view.
P3: Basic PLC program for SINUMERIK 840D sl 13.15 Memory requirements of the basic PLC program The SIMATIC S7 block FB390 "ALM_Control" checks the status of the ALM and enables the user to switch it on or off. A description of the block and an example project are available for download under the following link to Industry Online Support: http://support.automation.siemens.com/WW/view/de/49515414...
Page 898
P3: Basic PLC program for SINUMERIK 840D sl 13.15 Memory requirements of the basic PLC program Basic program options FC25 Transfer of MCP signals, Must be loaded when T variant of MCP is installed T variant FC24 Transfer of MCP signals, Must be loaded when slim variant of MCP is in‐...
Page 899
P3: Basic PLC program for SINUMERIK 840D sl 13.15 Memory requirements of the basic PLC program Basic program options Transfer function Load for tool management option turret Transfer function Load for tool management option FC22 Direction selection Load, when direction selection is needed...
13.16 Basic conditions and NC VAR selector 13.16.1 Supplementary conditions 13.16.1.1 Programming and parameterizing tools Hardware For the PLCs used in SINUMERIK 840D sl, the following equipment is required for the programming devices or PCs: Minimum Recommendation Processor Pentium Pentium...
Page 901
P3: Basic PLC program for SINUMERIK 840D sl 13.16 Basic conditions and NC VAR selector The following functions are possible with this package: ● Programming – Editors and compilers for STL (complete scope of the language incl. SFB/SFC calls), LAD, FBD –...
P3: Basic PLC program for SINUMERIK 840D sl 13.16 Basic conditions and NC VAR selector ● Archiving of utility routines – Allocation of the output states of individual blocks – Comparison of blocks – Rewiring – STEP 5 → STEP 7 converter ●...
P3: Basic PLC program for SINUMERIK 840D sl 13.16 Basic conditions and NC VAR selector ● Lists sl (Book1) ● Lists sl (Book2) 13.16.2 NC VAR selector 13.16.2.1 Overview General The PC application "NC VAR selector" retrieves the addresses of required NC variables and processes them for access in the PLC program (FB2/FB3).
Page 904
P3: Basic PLC program for SINUMERIK 840D sl 13.16 Basic conditions and NC VAR selector Figure 13-19 NC VAR selector After the "NC VAR selector" application has been started, select a list of variables of an NC variant (hard disk → file Ncv.mdb) to display all the variables contained in this list in a window.
P3: Basic PLC program for SINUMERIK 840D sl 13.16 Basic conditions and NC VAR selector System features, supplementary conditions The PC application "NC VAR selector" requires Windows 2000 or a higher operating system. The assignment of names to variables is described in: References: /List sl (Book1);...
Page 906
P3: Basic PLC program for SINUMERIK 840D sl 13.16 Basic conditions and NC VAR selector Basic display / basic menu After the NC VAR selector has been selected (started), the basic display with all input options (upper menu bar) appears on the screen. All other displayed windows are placed within the general window.
Page 907
P3: Basic PLC program for SINUMERIK 840D sl 13.16 Basic conditions and NC VAR selector Figure 13-22 Window with selected variables for new project The selected variables are displayed in a window. Open an already existing project Select "Open" under the "Project" menu item to open an existing project (variables already selected).
Page 908
The basic list of all variables is saved in NC Var Selector path Data\Swxy (xy stands for software version no., e.g. SW 5.3:=xy=53). This list can be selected as an NC variables list. In case of SINUMERIK 840D sl the basic lists are present in the path Data\Swxy_sl. Basic Functions...
Page 909
P3: Basic PLC program for SINUMERIK 840D sl 13.16 Basic conditions and NC VAR selector Selecting an NC variable list A list of all the NC variables for an NC version can now be selected and displayed via the "NC Variable List", "Select"...
Page 910
P3: Basic PLC program for SINUMERIK 840D sl 13.16 Basic conditions and NC VAR selector There are three options: ● Display all data ● Input area, block and name (incl. combinations) ● Display MD/SE data number The following wildcards can also be used:...
Page 911
P3: Basic PLC program for SINUMERIK 840D sl 13.16 Basic conditions and NC VAR selector Figure 13-26 Screen with complete list and selected variables Scrolling A scroll bar is displayed if it is not possible to display all variables in the window. The remaining variables can be reached by scrolling (page up/down).
Page 912
P3: Basic PLC program for SINUMERIK 840D sl 13.16 Basic conditions and NC VAR selector Delete variables Variables are deleted in the window of selected variables by selecting the appropriate variables (single mouse click) and pressing the "Delete" key. No deletion action is taken with the double- click function.
Page 913
P3: Basic PLC program for SINUMERIK 840D sl 13.16 Basic conditions and NC VAR selector Code generation This menu item contains three selection options: 1. Settings (input of data block number to be generated) and other settings 2. Generate (create data block) 3.
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions 13.16.2.3 Startup, installation The Windows application "NC Var selector" is installed using the SETUP program supplied with the package. 13.17 Block descriptions 13.17.1 FB1: RUN_UP - basic program, start section Function The synchronization of NC and PLC is performed during startup.
Page 917
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions ActivAxis: ARRAY[1..31] OF BOOL; UDInt : INT; UDHex: INT; UDReal : INT; IdentMcpType : BYTE ; IdentMcpLengthIn : BYTE ; IdentMcpLengthOut BYTE ; END_VAR Description of formal parameters of SINUMERIK 840D sl...
Page 918
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions Signal Type Value range Description MCP1NotSend : BOOL 0 (FALSE), 1 (TRUE) 0: Send and receive operation activated MCP2NotSend: 1: Receive machine control panel signals only MCPSDB210: BOOL false...
Page 919
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions Signal Type Value range Description BHGSendGDNo: HHU default: 2 Available owing to compatibility BHGSendGBZNo: HHU default: 1 Available owing to compatibility BHGSendObjNo: HHU default: 1 Available owing to compatibility...
Page 920
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions Signal Type Value range Description OpKeyNum : 0, 1, 2 Number of active direct control key mod‐ ules 0: No Ethernet direct control keys availa‐ ble. Op1KeyIn: POINTER P#Ex.0...
Page 921
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions If an error occurs during communication with a machine control panel (MCP) or handheld unit (HHU), the following alarms are displayed on the HMI and the input signals (MCP1In, MCP2In...
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions 13.17.2 FB2: GET - read NC variable Function The FB2 "GET" function block is used to read variables from the NC area. In order to reference the NC variables, they are first selected with the "NC VAR selector" tool and generated as STL source in a data block.
Page 923
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions Variable addressing For some NC variables, it is necessary to select "Area no." and/or "Line" or "Column" from the NC VAR selector. It is possible to select a basic type, i.e. "Area no.", "Line" and "Column" are preassigned "0".
Page 926
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions State Description Note High byte Low byte Negative acknowledgement, Internal error, possible remedy: job not executable ● Check job data ● NC reset 1 - 8 Insufficient local user memo‐...
Page 927
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions ● Generate a DB with the associated address data. ● Enter the symbol for the generated DB in the symbol table so that it is possible to access the address parameters symbolically in the user program.
Page 928
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions S7 symbol table "NCVAR" is entered in the S7 symbol table as a symbolic name for the data block DB120: Symbol Operand Data type NCVAR DB120 DB120 File DB120.AWL must be compiled and transferred to the PLC.
Page 929
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions C1_RP_rpa0_0: STRUCT SYNTAX_ID : BYTE := B#16#82; area_and_unit : BYTE := B#16#41; column : WORD := W#16#1; line : WORD := W#16#0; block type : BYTE := B#16#15; NO. OF LINES : BYTE := B#16#1;...
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions Example For example, to be able to read an NC variable of the type DOUBLE without adapting the format, an ANY pointer with REAL2 type must be specified in the destination area "RDx" (e.g.: P#M100.0 REAL2).
Page 931
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions ● When drive-specific variables are written, only variables from exactly one SERVO drive object may be addressed via "Addr1" to "Addr8" if FB2 is called. The SERVO drive object must be assigned to a machine axis of the NC.
Page 934
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions State Description Note High byte Low byte FIFO full Job must be repeated since queue is full Option not set FB1 parameter "NCKomm" is not set 1 - 8 Incorrect target area (SD) "SD1"...
Page 935
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions Pulse diagram ① User: Set request, Req = 0 → 1 ② FB4: PI service successfully completed, Done = 1 User: Reset request, IF Done == 1 THEN Req = 0 ③...
Page 936
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions END_DATA_BLOCK I 7.7; // Unassigned machine control panel key M 100.0; // Activate req. M 100.1; // Done completed message M 100.0; // Terminate job I 7.6; // Manual error acknowledgment M 102.0;...
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions Req := M 10.0, NumVar := Addr1 := "NCVAR".C1_RP_rpa0_0, Line1 := W#16#1, Addr2 := "NCVAR".C1_RP_rpa0_0, Line3 := W#16#2 Error := M 11.0, Done := M 11.1, State := MW 12, SD1 := P#M 4.0 REAL 1,...
Page 938
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions General conditions ● Every call of FB4 must be assigned a separate instance DB from the user area. ● The start of a PI service (FB4 call with "Req" = 1) is only permitted in the cyclic part of the PLC basic program (OB1).
Page 939
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions Description of formal parameters Signal Type Value range Description Req: BOOL 0 (FALSE), 1 (TRUE) Job request PIService: "<DBName>".<PI serv‐ Requested PI service ice> ● <DBName>: symbol name for DB16, default: "PI"...
Page 940
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions DATA_BLOCK DB126 // Instance for FB4, unassigned user DB BEGIN END_DATA_BLOCK // ------------------------------------------------------------------------ DATA_BLOCK DB124 STRUCT PName: string[32]:= '_N_TEST_MPF // Main program Path: string[32]:= '/ // Main program path _N_MPF_DIR/';...
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions Flow diagram ① User: Set request, Req = 0 → 1 ② FB4: PI service successfully completed, Done = 1 User: Reset request, IF Done == 1 THEN Req = 0 ③...
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions PI service Function CREATO (Page 949) Create a tool with specification of a T number. DELECE (Page 949) Delete a tool cutting edge DELETO (Page 950) Delete tool MMCSEM (Page 950)
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions Signal Type Value range Description WVar4: WORD 0, 1 BLSYNC 1) As an alternative for the interrupt assignment, the SETINT command can be used. See 2) 2) References: Programming Manual, Job Planning; Section: "Flexible NC programming" > "Interrupt routine (ASUB)"...
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions 13.17.4.6 PI service: DIGION Function: Digitizing on Selecting digitizing in the parameterized channel. Description of formal parameters Signal Type Value range Description PIService: "PI".DIGION Digitizing on Unit: 1, 2, 3 ... 10 Channel 13.17.4.7...
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions 13.17.4.9 PI service: LOGIN Function: Create password Transfers the parameterized password to the NC. The passwords generally consist of eight characters. If required, blanks must be added to the string of the password.
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions 13.17.4.14 PI service: SETUFR Function: Activate user frames User frames are loaded to the NC. All necessary frame values must be transferred to the NC first with FB3 "Write variables".
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions Signal Type Value range Description WVar1: WORD 0, 1, 2, 3 Retraction axis 0: Automatic determination of the retraction axis by the 1: Retraction axis is the 1st geometry axis of the WCS...
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions Description of formal parameters Signal Type Value range Description PIService: "PI".CREACE Create tool cutting edge Unit: 1, 2, 3 ... 10 WVar1: T number 13.17.4.18 PI service: CREATO Function: Create tool Creation of a tool with specification of a T number.
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions 13.17.4.20 PI service: DELETO Function: Delete tool Deletes the tool assigned to the transferred T number with all cutting edges (in TO, in some cases TU, TUE and TG (type 4xx), TD and TS blocks).
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions IF semaphore == FREE THEN ELSE // Semaphore is blocked Set bit memory for "Function could not be executed, repeat necessary" ENDIF Description of formal parameters Signal Type Value range...
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions After execution of the PI service, the T number of the tool created is available in the TV block under TnumWZV. Note Before and after this PI service, the PI service MMCSEM with parameter "WVar1" must be called with function number 1 for TMCRTO.
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions The parameters "WVar1" and "WVar2" are located at the source. Loading: If the source is an internal loading magazine, then the parameters are located at the target (a real magazine).
Page 954
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions Signal Type Value range Description WVar1: Magazine number of the magazine from which the search is to be performed WVar2: Location number of the location in the magazine from "WVar1"...
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions 13.17.4.25 PI service: TMGETT Function: Determine T number for the specified tool name with duplo number The PI service is used to determine the T number of a tool via the tool name and duplo number.
Page 956
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions Case 2 and 6: The following BTSS variables of the block TMC (magazine data: configuration data) are written: ● magCBCmd (area no. = TO unit) ● magCBCmdState ← "acknowledgment"...
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions 13.17.4.27 PI service: TMPOSM Function: Position magazine location or tool, depending on the parameter assignment A magazine location, which has either been specified directly or via a tool located on it, is traversed to a specified position (e.g.
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions 13.17.4.28 PI service: TMPCIT Function: Set increment value for workpiece counter Incrementing the workpiece counter of the spindle tool Description of formal parameters Signal Type Value range Description PIService: "PI".TMPCIT...
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions Description of formal parameters Signal Type Value range Description PIService: "PI". TRESMO Reset monitoring values Unit: 1, 2, 3 ... 10 TO area WVar1: WORD - max ... max...
Page 960
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions Parameterization of the tool properties The properties of the searched for tools are set in the BTSS block TF (parameterization, return parameters from TMGETT, TSEARC ) via the following variables: ●...
Page 961
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions Symmetrical search To ensure that a symmetrical search can be carried out relative to a tool location, the following prerequisites must be met: ● The search range must encompass only one magazine: "WVar1" (from: magazine number) == "WVar3"...
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions Signal Type Value range Description WVar7: 1, 2, 3 Search direction: 1: Forwards from the first location of the search do‐ main 2: Backwards from the last location of the search...
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions 13.17.4.33 PI service: TMDLMT Function: Delete multitool The PI service is used to delete a multitool in all of the data blocks in which it is saved. Tools equipped in multitool are then no longer equipped and no longer loaded, but they are still defined.
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions Description of formal parameters Signal Type Value range Description PIService: "PI".POSMT Position multitool Unit: 1, 2, 3 ... 10 Addr1: STRING Tool name of the tool to be positioned in the multi‐...
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions Description of formal parameters Signal Type Value range Description PIService: "PI".FDPLMT Search/check an empty tool location within a multi‐ tool Unit: 1, 2, 3 ... 10 Addr1: STRING Tool name of the tool to be positioned in the multi‐...
Page 966
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions Parameters "Area", "Unit", "Index1", and "Index2": Additional information for addressing the variables When the parameter "CnvtToken" is activated, the user receives a token (variable pointer) for the GUD variable to be read. Using this, the GUD variables can then be read or written via FB2 and FB3 with parameter "Addr1"...
Page 967
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions Note Error case When reading variables from different channels or drive objects, or simultaneously from a channel and a drive object, the following feedback message is output: ● "Error" == TRUE ●...
Page 968
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions Description of formal parameters Signal Type Value range Description Req: BOOL Job start with positive signal edge Addr: "<DBName>".<Var‐ Variable name in a variable of the type Name> STRING...
Page 969
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions State Description Note WORD H WORD L Error in addressing Unit contains value 0 Address of variable invalid Address check (or variable name), area, unit 1 - 8 ANY data reference incorrect String/NcVar data required has not been par‐...
Page 970
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions Conversion to a 10 byte variable pointer. See table in "Assignment of the data types" in Chapter "FB2: GET - read NC variable (Page 922)" Reading the GUD variables: FB5 with instance DB111...
Page 971
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions I 7.6; // Manual error acknowledgment M 102.0; // Error pending M 100.0; // Terminate job CALL FB5, DB111( := M 100.0, // Starting edge for reading Area := B#16#2,...
Page 972
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions STRUCT SYNTAX_ID : BYTE ; area_and_unit : BYTE ; column : WORD; line : WORD; block type : BYTE ; NO. OF LINES : BYTE ; type : BYTE ;...
Page 975
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions Tabulated overview of functions: Basic function Description Operating focus changeover to serv‐ Change operating focus from one NCU to the other er mode Active/passive operating mode: Operator control and monitoring/monitoring only...
Page 976
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions Approvals When one MCP is switched over to another, any active feed or axis enables will be retained. Note Keys actuated at the moment of switchover remain operative until the new MCP is activated (by the HMI, which is subsequently activated).
Page 977
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions Signal Type Value range Description ActivEnable: BOOL 0 (FALSE), 1 (TRUE) Function is not supported. Operator panel switchover Interlocking using MMCx_SHIFT_LOCK in DB19 MCPEnable: BOOL 0 (FALSE), 1 (TRUE)
Page 978
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions Example of a call for FB (call in the OB100) CALL "RUN_UP", "gp_par" ( MCPNum := 1, MCP1In := P#I 0.0, MCP1Out := P#Q 0.0, MCP1StatSend := P#Q 8.0, MCP1StatRec := P#Q 12.0,...
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions SPB MCP; //Call MCP program // Route the stored override to the interface of the switched MCP // until the override values match L EB28; //Buffer storage open T DB21.DBB4;...
Page 980
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions General conditions ● FB10 has multi-instance capability ● After the start of the SPL program, FB10 is called once per SI relay in the cyclic part of the PLC basic program (OB1).
Page 982
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions When an error occurs, the actual position value exits the parameterizable monitoring window. The position controller prevents sagging of the axis. The function test of the brake mechanical system is negatively acknowledged.
Page 983
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions General conditions ● FB2 has multi-instance capability. ● Every call of FB11 must be assigned a separate instance DB from the user area. Declaration of the function Function_BLOCK FB11...
Page 984
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions Signal Type Type Description TV_FXShold S5TIME Monitoring time value → test brake CloseBrake BOOL Request, close brake MoveAxis BOOL Request, initiate traversing motion Done BOOL Test successfully completed Error...
Page 985
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions m001: 68.6; //Checkback signal, axis is neutral 110.6; 110.1; 110.6; 110.5; //Next step 28.7; //Request PLC-monitored axis 63.1; //Checkback signal, axis monitored by PLC 110.5; 110.2; 110.5; 111.0; //Start brake test for FB...
Page 986
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions 111.4; //Error has occurred 110.3; 28.7; //Request, PLC-monitored axis 63.1; //Checkback signal, axis monitored by PLC 111.0; //Start brake test for FB 110.7; //Brake test running 110.4; 111.0; //Start brake test for FB 110.7;...
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions 13.17.10 FB29: Signal recorder and data trigger diagnostics Function Signal recorder FB29 "Diagnostics" allows various diagnostic routines to be performed on the PLC user program. A diagnostic routine logs signal states and signal changes. In this diagnostic routine, function number 1 is assigned to the "Func"...
Page 989
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions END_STRUCT; END_STRUCT; BEGIN END_DATA_BLOCK Description of formal parameters Signal Type Type Value range Description Func: 0, 1, 2 Function 0: Switch off 1: Signal recorder 2: Data trigger Parameters for function 1 Signal_1 ...
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions Call example FUNCTION FC99: VOID TITLE = VERSION : 0.0 BEGIN NETWORK TITLE = NETWORK CALL FB29, DB80( Func := 1, Signal_1 100.0, Signal_2 100.1, Signal_3 100.2, Signal_4 100.3, Signal_5 10.4,...
Page 991
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions Declaration FUNCTION FC2: VOID // no parameters Call example As far as the time is concerned, the basic program must be executed before the user program. It is, therefore, called first in OB1.
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions 13.17.12 FC3: GP_PRAL - basic program, interruptdriven section Function Blocksynchronized transfers from the NCK to the PLC (auxiliary and G functions) are carried out in the interruptdriven part of the basic program. Auxiliary functions are subdivided into normal and highspeed auxiliary functions.
Page 993
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions Even if the selection for the auxiliary function groups (T, H, DL) is made using interrupt control, only one interrupt can be processed by the user program for the selected functions.
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions OB40_DATE_TIME : DATE_AND_TIME; //Assigned to basic program GP_IRFromNCK : BOOL; //Interrupt by NCK for user GP_TM : BOOL; //Tool management GP_InPosition : ARRAY [1..3] OF BOOL; //Axis-oriented for positioning, //Indexing axes, spindles GP_AuxFunction : ARRAY [1..10] OF BOOL;...
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions Description of formal parameters Signal Type Type Value range Description Start: BOOL 0 (FALSE), 1 See block description FC8 (TRUE) TaskIdent: BYTE See block description FC8 TaskIdentNo: BYTE See block description FC8...
Page 998
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions References ● For detailed information about tool management, refer to the Function Manual Tool Manager. ● PI services for tool management – FB4: Request PI service (Page 937) – FC8: TM_TRANS - transfer block for tool management (Page 1000) –...
Page 999
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions Description of formal parameters Signal Type Value range Description Start: BOOL 0 (FALSE), 1 1 = start transfer (TRUE) ChgdRevNo: BYTE 1, 2, 3, ... Number of revolver interface...
P3: Basic PLC program for SINUMERIK 840D sl 13.17 Block descriptions Ready := m 20.6, Error := DB61.DBW12 m 20.6; // Poll ready m 20.5; // Reset start m001; // Jump, if everything OK db61.dbw 12; // Error information w#16#0;...
Need help?
Do you have a question about the SINUMERIK 840D sl and is the answer not in the manual?
Questions and answers
Emergency alarm 3000