Siemens SINUMERIK 840D sl Function Manual

Siemens SINUMERIK 840D sl Function Manual

Hide thumbs Also See for SINUMERIK 840D sl:
Table of Contents

Advertisement

SINUMERIK
SINUMERIK 840D sl
Extended Functions
Function Manual
Valid for
SINUMERIK 840D sl/840DE sl controller
Software Version
NCU system software for 840D sl/840DE sl 2.6
03/2009
6FC5397-1BP10-4BA0
Preface
Digital and Analog NCK I/Os
(A4)
Several Operator Panels on
Several NCUs, Distributed
Systems (B3)
Operation via PG/PC (B4)
Manual and Handwheel
Travel (H1)
Compensations (K3)
Mode Groups, Channels,
Axis Replacement (K5)
Kinematic Transformation
(M1)
Measurement (M5)
Software Cams, Position
Switching Signals (N3)
Punching and Nibbling (N4)
Positioning Axes (P2)
Oscillation (P5)
Rotary Axes (R2)
Synchronous Spindles (S3)
Memory Configuration (S7)
Indexing Axes (T1)
Tool Change (W3)
Grinding-Specific Tool Offset
and Tool Monitoring (W4)
NC/PLC Interface Signals
(Z2)
Appendix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
A

Advertisement

Table of Contents
loading

Summary of Contents for Siemens SINUMERIK 840D sl

  • Page 1 Memory Configuration (S7) Indexing Axes (T1) Tool Change (W3) Grinding-Specific Tool Offset and Tool Monitoring (W4) Valid for NC/PLC Interface Signals (Z2) SINUMERIK 840D sl/840DE sl controller Appendix Software Version NCU system software for 840D sl/840DE sl 2.6 03/2009 6FC5397-1BP10-4BA0...
  • 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.
  • Page 3: Preface

    ● Researching documentation online Information on DOConCD and direct access to the publications in DOConWEB. ● Compiling individual documentation on the basis of Siemens contents with the My Documentation Manager (MDM), refer to http://www.siemens.com/mdm. My Documentation Manager provides you with a range of features for generating your own machine documentation.
  • Page 4 Preface Standard version This documentation only describes the functionality of the standard version. Extensions or changes made by the machine tool manufacturer are documented by the machine tool manufacturer. Other functions not described in this documentation might be executable in the control. This does not, however, represent an obligation to supply such functions with a new control or when servicing.
  • Page 5 Preface Notation of system data The following notation is applicable for system data in this documentation: Signal/Data Notation Example NC/PLC interface ... NC/PLC interface signal: When the new gear step is engaged, the following NC/PLC signals interface signals are set by the PLC program: Signal data (signal name) DB31, ...
  • Page 6 If you have any questions, please contact our hotline: Europe/Africa Phone +49 180 5050 - 222 +49 180 5050 - 223 €0.14/min. from German landlines, cell phone prices may differ Internet http://www.siemens.de/automation/support-request Americas Phone +1 423 262 2522 +1 423 262 2200 E-mail mailto:techsupport.sea@siemens.com...
  • Page 7: Table Of Contents

    Contents Preface ..............................3 Digital and Analog NCK I/Os (A4)......................25 Brief description ...........................25 NCK I/O via PLC ..........................26 1.2.1 General functionality ........................26 1.2.2 NCK digital inputs/outputs......................33 1.2.2.1 NCK digital inputs ........................33 1.2.2.2 NCK digital outputs ........................35 1.2.3 Connection and logic operations of fast NCK inputs/outputs ............38 1.2.4 NCK analog inputs/outputs ......................40 1.2.4.1...
  • Page 8 Contents Several Operator Panels on Several NCUs, Distributed Systems (B3) ............ 77 Brief description .......................... 77 2.1.1 Topology of distributed system configurations................77 2.1.2 Several operator panels and NCUs with control unit management (option)....... 82 2.1.2.1 General information........................82 2.1.2.2 System features ..........................
  • Page 9 Contents 2.6.5 Programming with channel and machine axis identifiers............152 2.6.6 Flexible configuration .........................152 Axis container..........................154 2.7.1 System variables for axis containers ..................160 2.7.2 Machining with axis container (schematic) ................162 2.7.3 Axis container behavior after Power ON..................163 2.7.4 Axis container response to mode switchover ................163 2.7.5 Axis container behavior in relation to ASUBs ................163 2.7.6...
  • Page 10 Contents 2.15.4.7 Switchover between MCP and HT6 ..................243 2.15.4.8 General information........................244 2.15.5 Link axis ............................ 246 2.15.6 Axis container coordination ....................... 247 2.15.6.1 Axis container rotation without a part program wait..............247 2.15.6.2 Axis container rotation with an implicit part program wait............248 2.15.6.3 Axis container rotation by one channel only (e.g.
  • Page 11 Contents 4.1.4 Control-system response to power ON, mode change, RESET, block search, REPOS...289 Continuous travel ........................290 4.2.1 General functionality ........................290 4.2.2 Distinction between inching mode continuous mode..............291 4.2.3 Special features of continuous travel..................292 Incremental travel (INC)......................293 4.3.1 General functionality ........................293 4.3.2 Distinction between inching mode and continuous mode............294 4.3.3...
  • Page 12 Contents 4.12.3.5 Signals to channel........................348 4.12.3.6 Signals from channel......................... 349 4.12.3.7 Signals to axis/spindle....................... 350 4.12.3.8 Signals from axis/spindle ......................350 Compensations (K3) ..........................351 Brief description ........................351 Temperature compensation ...................... 353 5.2.1 General information........................353 5.2.2 Temperature compensation parameters................... 355 Backlash compensation ......................
  • Page 13 Contents 5.11.3.1 Signals from NC.........................464 5.11.3.2 Signals from mode group......................464 5.11.3.3 Signals from channel .........................464 5.11.3.4 Signals to axis/spindle .......................464 Mode Groups, Channels, Axis Replacement (K5).................. 465 Brief description .........................465 Mode groups ..........................467 Channels ............................468 6.3.1 Channel synchronization (program coordination) ..............468 6.3.2 Conditional wait in continuous path mode WAITMC ..............471 Axis/spindle replacement ......................476...
  • Page 14 Contents 7.2.7 Working area limitations......................527 7.2.8 Overlaid motions with TRANSMIT .................... 528 7.2.9 Monitoring of rotary axis rotations over 360º ................528 7.2.10 Constraints ..........................529 TRACYL ............................ 530 7.3.1 Preconditions for TRACYL ......................532 7.3.2 Settings specific to TRACYL ..................... 536 7.3.3 Activation of TRACYL .......................
  • Page 15 Contents 7.11.1.2 TRACYL .............................610 7.11.1.3 TRAANG ............................612 7.11.1.4 Chained transformations......................613 7.11.1.5 Non transformation-specific machine data ................613 7.11.2 Signals ............................614 7.11.2.1 Signals from channel .........................614 Measurement (M5) ..........................615 Brief description .........................615 Hardware requirements ......................617 8.2.1 Probes that can be used ......................617 8.2.2 Measuring probe connection......................619 Channel-specific measuring.......................624...
  • Page 16 Contents 8.5.5 Continuous measurement (cyclic measurement)..............702 Measurement accuracy and functional testing................705 8.6.1 Measurement accuracy......................705 8.6.2 Probe functional testing......................706 Marginal conditions ........................707 Examples........................... 707 8.8.1 Measuring mode 1 ........................707 8.8.2 Measuring mode 2 ........................708 8.8.3 Continuous measurement ......................
  • Page 17 Contents 10.2.5 PLC signals specific to punching and nibbling................746 10.2.6 Punching and nibbling-specific reactions to standard PLC signals ...........747 10.2.7 Signal monitoring ........................747 10.3 Activation and deactivation ......................748 10.3.1 Language commands ........................748 10.3.2 Functional expansions .......................753 10.3.3 Compatibility with earlier systems....................757 10.4 Automatic path segmentation ....................759 10.4.1...
  • Page 18 Contents 11.7 Control by the PLC........................821 11.7.1 Starting concurrent positioning axes from the PLC ..............822 11.7.2 PLC-controlled axes........................823 11.7.3 Control response PLC-controlled axes ..................825 11.8 Response with special functions....................826 11.8.1 Dry run (DRY RUN)........................826 11.8.2 Single block..........................
  • Page 19 Contents 12.6.1.1 General machine data........................868 12.6.2 Setting data ..........................868 12.6.2.1 Axis/spindle-specific setting data ....................868 12.6.3 Signals ............................869 12.6.3.1 Signals to axis/spindle .......................869 12.6.3.2 Signals from axis/spindle ......................869 12.6.4 System variables........................869 12.6.4.1 Main run variables for motion-synchronous actions ..............869 Rotary Axes (R2) ........................... 873 13.1 Brief description .........................873 13.2...
  • Page 20 Contents 14.4.1 Special features of synchronous mode in general..............927 14.4.2 Restore synchronism of following spindle................. 929 14.4.3 Influence on synchronous operation via PLC interface ............931 14.4.4 Differential speed between leading and following spindles ............934 14.4.5 Behavior of synchronism signals during synchronism correction ..........940 14.4.6 Delete synchronism correction and NC reset ................
  • Page 21 Contents 16.5.1 Function .............................980 16.5.2 Hirth tooth system ........................982 16.5.3 Response of the Hirth axes in particular situations..............983 16.5.4 Restrictions ..........................984 16.5.5 Modified activation of machine data ..................985 16.6 Starting up indexing axes......................986 16.7 Special features of indexing axes ....................989 16.8 Examples ...........................990 16.8.1...
  • Page 22 Contents 18.3.4 Example of writing online tool offset continuously ..............1024 18.3.5 Write online tool offset discretely .................... 1026 18.3.6 Information about online offsets....................1026 18.4 Online tool radius compensation..................... 1028 18.5 Grinding-specific tool monitoring..................... 1029 18.5.1 General information......................... 1029 18.5.2 Geometry monitoring.......................
  • Page 23 Contents 19.8.2 Signals from axis/spindle (DB31, ...)..................1093 19.9 Software cams, position switching signals................1094 19.9.1 Signal overview ........................1094 19.9.2 Signals from NC (DB10) ......................1094 19.9.3 Signals to axis/spindle (DB31, ...) ....................1096 19.9.4 Signals from axis/spindle (DB31, ...)..................1096 19.10 Punching and nibbling......................1097 19.10.1 Signal overview ........................1097 19.10.2 Signals to channel (DB21, ...) ....................1097 19.10.3 Signals from channel (DB21, ...) ....................1100...
  • Page 24 Contents Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 25: Digital And Analog Nck I/Os (A4)

    Digital and Analog NCK I/Os (A4) Brief description General information Signals can be read and output in the interpolation cycle via the "digital and analog NCK I/Os". The following functions can be executed with these signals, for example: ● Several feedrate values in one block ●...
  • Page 26: Nck I/O Via Plc

    Digital and Analog NCK I/Os (A4) NCK I/O via PLC NCK I/O via PLC 1.2.1 General functionality General The ability to control or influence time-critical NC functions is dependent on high-speed NCK I/O interfaces or the facility to rapidly address particular PLC I/Os. Therefore, the functions below can be carried out using the SINUMERIK 840D/840Di: ●...
  • Page 27 Digital and Analog NCK I/Os (A4) NCK I/O via PLC 840Di hardware digital I/Os Digital inputs/outputs are provided for the SINUMERIK 840Di via the MCI-Board-Extension module. The following connections are available: ● Two handwheels ● Two probes ● Four digital inputs/outputs Note The MCI-Board-Extension module is an option for the SINUMERIK 840Di.
  • Page 28 Digital and Analog NCK I/Os (A4) NCK I/O via PLC Number The number of addressable digital NCK input/output bytes and analog inputs/outputs must be defined by means of general machine data. Machine data Number of active ... Max. number MD10350 $MN_FASTIO_DIG_NUM_INPUTS ...
  • Page 29 Digital and Analog NCK I/Os (A4) NCK I/O via PLC [hw]: Index for addressing the external digital I/O bytes (0 to 3) or the external analog inputs/outputs (0 to 7) Note The hardware assignment is different on the SINUMERIK 840D and 840Di controls. The assignment of I/Os for SINUMERIK 840Di is specified via the machine data: MD10362 to MD10368 with the following default values:...
  • Page 30 Digital and Analog NCK I/Os (A4) NCK I/O via PLC ● The value 05000000 in the machine data: $MN_HW_ASSIGN_... represents the signal "Slot is not present physically". ● The input is then treated like a simulation input. System variable The following table lists the system variables with which NCK I/Os can be read or written directly by the part program.
  • Page 31 Digital and Analog NCK I/Os (A4) NCK I/O via PLC Example for 840D Analog-value range is 10 V (maximum modulation); MD10330 $MN_FASTIO_ANA_OUTPUT_WEIGHT[hw] = 10000 (standard value for 840D) $A_OUTA[1] = 9500 ; 9.5 V is output at analog NCK output 1 $A_OUTA[3] = -4120 ;...
  • Page 32 Digital and Analog NCK I/Os (A4) NCK I/O via PLC The processing mode is selected for individual modules by means of general machine data: MD10384 $MN_HW_CLOCKED_MODULE_MASK[tb] [tb] = Index for terminal block (0 to 1) In synchronous processing mode, one of the following clock rates can be selected (MD10380 $MN_HW_UPDATE_RATE_FASTIO[tb]): ●...
  • Page 33: Nck Digital Inputs/Outputs

    Digital and Analog NCK I/Os (A4) NCK I/O via PLC 1.2.2 NCK digital inputs/outputs 1.2.2.1 NCK digital inputs Number General machine data is used to define available digital NCK inputs (in groups of 8). MD10350 $MN_FASTIO_DIG_NUM_INPUTS (Number of active digital NCK input bytes) Function The digital NCK inputs allow external signals to be injected which can then be used, for example, to control the workpiece-machining program sequence.
  • Page 34 Digital and Analog NCK I/Os (A4) NCK I/O via PLC RESET/POWER ON response After POWER ON and RESET, the signal level at the respective input is passed on. If necessary, the PLC user program can disable or set the individual inputs to "1" in a defined manner as described above.
  • Page 35: Nck Digital Outputs

    Digital and Analog NCK I/Os (A4) NCK I/O via PLC Figure 1-1 Signal flow for digital NCK inputs 1.2.2.2 NCK digital outputs Number The available digital NCK outputs can be defined (in groups of eight) using the following general machine data (number of active digital NCK output bytes): MD10360 $MN_FASTIO_DIG_NUM_OUTPUTS Function The digital NCK outputs provide the option of outputting important switching commands at...
  • Page 36 Digital and Analog NCK I/Os (A4) NCK I/O via PLC Disable output The PLC user program is capable of disabling the digital NCK outputs individually with interface signal DB10, DBB4 or DBB130 ... (disable digital NCK outputs). In this case, the "0" signal is output at the hardware output (see fig.). Overwrite mask Every output that can be set by the NC part program can be overwritten from the PLC using the overwrite mask.
  • Page 37 Digital and Analog NCK I/Os (A4) NCK I/O via PLC Read setpoint The current NCK value of the digital outputs can be read by the PLC user program: DB10, DBB64 or DBB186 ... (setpoint for digital NCK outputs) Please note that this setpoint ignores disabling and the PLC setting mask. Therefore, the setpoint can differ from the actual signal state at the hardware output (see fig.).
  • Page 38: Connection And Logic Operations Of Fast Nck Inputs/Outputs

    Digital and Analog NCK I/Os (A4) NCK I/O via PLC Figure 1-2 Signal flow for digital NCK outputs 1.2.3 Connection and logic operations of fast NCK inputs/outputs Function Fast NCK I/O inputs can be set using software as a function of fast-output signal states. Overview: Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 39 Digital and Analog NCK I/Os (A4) NCK I/O via PLC Connect The NCK I/O fast input is set to the signal state of the assigned fast output. OR operation The NCK I/O fast input adopts the signal state as a result of the ORing of the output signal with the assigned input signal.
  • Page 40: Nck Analog Inputs/Outputs

    Digital and Analog NCK I/Os (A4) NCK I/O via PLC Examples Connect: MD10361 $MN_FASTIO_DIG_SHORT_CIRCUIT = '04010302H' Output 4, byte 1, connect to Input 3, byte 2 AND operation: MD10361 $MN_FASTIO_DIG_SHORT_CIRCUIT = '0705A201H' Output 7, byte 5 AND operation with Input 2, byte 1 OR operation: MD10361 $MN_FASTIO_DIG_SHORT_CIRCUIT = '0103B502H' Output 1, byte 3 OR operation with...
  • Page 41 Digital and Analog NCK I/Os (A4) NCK I/O via PLC Disable input The PLC user program is capable of disabling the NCK inputs individually using interface signal DB10 DBB146 (disable analog NCK inputs). In this case, they are set to "0" in a defined manner inside the control. Set input from PLC The PLC can also specify a value for each analog NCK input using interface signal DB10 DBB147 (setting mask for analog NCK inputs) (see fig.).
  • Page 42 Digital and Analog NCK I/Os (A4) NCK I/O via PLC Analog NCK input without hardware The following values are read in the case of parts-program access to analog NCK inputs that are defined via machine data, but are not available as hardware inputs: MD10300 $MN_FASTIO_ANA_NUM_INPUTS ●...
  • Page 43 Digital and Analog NCK I/Os (A4) NCK I/O via PLC Fast analog NCK inputs The fast analog inputs must be isochronous. The assignment is defined by the machine data: MD10384 $MN_HW_CLOCKED_MODULE_MASK Figure 1-3 Signal flow for analog NCK inputs Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 44: Nck Analog Outputs

    Digital and Analog NCK I/Os (A4) NCK I/O via PLC 1.2.4.2 NCK analog outputs Number The available analog NCK outputs are defined using general machine data MD10310 $MN_FASTIO_ANA_NUM_OUTPUTS (number of analog NCK outputs). Function The value of the analog output [n] can be defined directly in the part program using system variable $A_OUTA[n].
  • Page 45 Digital and Analog NCK I/Os (A4) NCK I/O via PLC Setting mask Furthermore, a PLC setting for each output can determine whether the current NCK value (e.g. as specified by the NC part program) or the PLC value specified via the setting mask (DB10, DBB167) should be sent to the hardware analog output (see fig.).
  • Page 46 Digital and Analog NCK I/Os (A4) NCK I/O via PLC Weighting factor The weighting factor in general machine data MD10330 $MN_FASTIO_ANA_OUTPUT_WEIGHT[hw]. can be used to adapt the analog NCK outputs to the different digital-to-analog converter hardware variants for the purpose of programming in the part program (see fig.). In this machine data, it is necessary to enter the value x that is to cause the analog output [n] to be set to the maximum value or the value 32767 to be set for this output in the PLC interface, if $A_OUTA[n] = x is programmed.
  • Page 47 Digital and Analog NCK I/Os (A4) NCK I/O via PLC Application This function allows analog values to be output instantaneously by bypassing the PLC cycles. The analog NCK outputs are used in particular for grinding and laser machines. Figure 1-4 Signal flow for analog NCK outputs Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 48: Direct Plc I/Os, Addressable From The Nc

    Digital and Analog NCK I/Os (A4) NCK I/O via PLC 1.2.5 Direct PLC I/Os, addressable from the NC Introduction The fast data channel between the NCK and PLC I/Os is processed directly and, therefore, quickly by the PLC operating system. There is no provision for control of the PLC basic and user programs.
  • Page 49 Digital and Analog NCK I/Os (A4) NCK I/O via PLC Variable-value ranges Values within the following ranges can be stored in the variables: $A_PBB_OUT[n] ;(-128 ... +127) or (0 ... 255) $A_PBW_OUT[n] ;(-32768 ... +32767) or (0 ... 65535) $A_PBD_OUT[n] ;(-2147483648 ...
  • Page 50 Digital and Analog NCK I/Os (A4) NCK I/O via PLC Little-/big-endian format display of system variables $A_PBx_OUT, $A_PBx_IN for PLC I/Os that can be controlled directly from the NCK value = 0 (Default) System variables are displayed in little-endian format (i.e.
  • Page 51: Analog-Value Representation Of The Nck Analog Input/Output Values

    Digital and Analog NCK I/Os (A4) NCK I/O via PLC 1.2.6 Analog-value representation of the NCK analog input/output values Conversion of analog values The analog values are only processed by the NCU in a digital form. Analog input modules convert the analog process signal into a digital value. Analog output modules convert the digital output value into an analog value.
  • Page 52 Digital and Analog NCK I/Os (A4) NCK I/O via PLC Table 1- 2 Examples of digital analog-value representation Resolution Binary analog value High byte Low byte Bit number Significance of the bits 14-bit analog value 12-bit analog value For the resolutions and rating ranges of the analog input/output modules used, see: References: /PHD/ SINUMERIK 840D Configuration Manual NCU (HW) /S7H/ SIMATIC S7-300 Software Installation Manual, Technology Functions.
  • Page 53: Comparator Inputs

    Digital and Analog NCK I/Os (A4) NCK I/O via PLC 1.2.7 Comparator inputs Function Two internal comparator inputs bytes (with eight comparator inputs each) are available in addition to the digital and analog NCK inputs. The signal state of the comparator inputs is generated on the basis of a comparison between the analog values present at the fast analog inputs and the threshold values parameterized in setting data (see fig.).
  • Page 54 Digital and Analog NCK I/Os (A4) NCK I/O via PLC Example MD10530 $MN_COMPAR_ASSIGN_ANA_INPUT_1[0] = 1 MD10530 $MN_COMPAR_ASSIGN_ANA_INPUT_1[1] = 1 MD10530 $MN_COMPAR_ASSIGN_ANA_INPUT_1[7] = 7 Analog input 1 acts on input bits 0 and 1 of comparator byte 1. Analog input 7 acts on input bit 7 of comparator byte 1. Similarly, the assignment for comparator byte 2 should be set using the following machine data: MD10531 $MN_COMPAR_ASSIGN_ANA_INPUT_2[b]...
  • Page 55 Digital and Analog NCK I/Os (A4) NCK I/O via PLC Comparator signals as digital NCK inputs All NC functions that are processed as a function of digital NCK inputs can also be controlled by the signal states of the comparators. The byte address for comparator byte 1 (HW byte 128) or 2 (HW byte 129) must be entered in the MD associated with the NC function ("Assignment of hardware byte used").
  • Page 56 Digital and Analog NCK I/Os (A4) NCK I/O via PLC Figure 1-5 Functional sequence for comparator input byte 1 (or 2) Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 57: Nck I/O Via Profibus

    Digital and Analog NCK I/Os (A4) NCK I/O via PROFIBUS NCK I/O via PROFIBUS 1.3.1 Functionality General The function "NCK-I/O via PROFIBUS" implements a direct data exchange between NCK and PROFIBUS-I/O. The PROFIBUS-I/O is connected to the control. Like for any other PLC-I/O, an S7-HW- configuration (PLC) must be done before using this PROFIBUS-I/O.
  • Page 58: Parameter Assignment

    Digital and Analog NCK I/Os (A4) NCK I/O via PROFIBUS Parallel data access A parallel read access through compile cycles and part programs/synchronous actions on data of the same I/O-range is possible, as long as the corresponding I/O-range has been configured for this.
  • Page 59 Digital and Analog NCK I/Os (A4) NCK I/O via PROFIBUS If the length "0" is entered, only the useful-data slot found under the corresponding logical start address is configured as I/O-range. In such a case, the length of the I/O-range is then compared with the length of the useful-data slot found Further attributes Further attributes can be allocated to each I/O-range with the following machine data:...
  • Page 60: Programming

    Digital and Analog NCK I/Os (A4) NCK I/O via PROFIBUS 1.3.3 Programming Requirement ● Correct configuration of the corresponding I/O-ranges. ● PLC must actually be able to provide the required I/O-ranges (useful-data slots). ● The configured I/O-ranges are released for use only when the PROFIBUS- communication interface is able to do a data exchange with the corresponding PROFIBUS-I/O for the first time.
  • Page 61 Digital and Analog NCK I/Os (A4) NCK I/O via PROFIBUS Table 1- 4 PROFIBUS-I/O → NCK System variables Value Description $A_DPB_IN[n,m] 8 bit unsigned Reading a data byte (8 bit) from PROFIBUS-IO $A_DPW_IN[n,m] 16 bit unsigned Reading a data word (16 bit) from PROFIBUS-IO $A_DPSB_IN[n,m] 8 bit signed Reading a data byte (8 bit) from PROFIBUS-IO...
  • Page 62: Communication Via Compile Cycles

    Digital and Analog NCK I/Os (A4) NCK I/O via PROFIBUS Query length of an I/O-range The configured length an I/O-range can be queried with the help of the following system variables. System variables Description $A_DP_IN_LENGTH[n] Reading the length of the input data range n = index for the input data range $A_DP_OUT_LENGTH[n] Reading the length of the output data range...
  • Page 63 Digital and Analog NCK I/Os (A4) NCK I/O via PROFIBUS CC-Bindings The following CC-bindings are available: CCDataOpi: getDpIoRangeConfiguration() CCDataOpi: getDpIoRangeValid() CCDataOpi: getDpIoRangeInInformation() CCDataOpi: getDpIoRangeOutInformation() CCDataOpi: getDpIoRangeInState() CCDataOpi: getDpIoRangeOutState() CCDataOpi: getDataFromDpIoRangeIn() CCDataOpi: putDataToDpIoRangeOut() Note ● The bindings CCDataOpi: getDataFromDpIoRangeIn() or CCDataOpi: putDataToDpIoRangeOut() monitor during the read/write accesses the adherence to the limits of the respective I/O- range configured at the NCK and PLC-side.
  • Page 64: Constraints

    Digital and Analog NCK I/Os (A4) Constraints Constraints 1.4.1 NCK I/O via PLC Availability of the function "digital and analog NC inputs/outputs" Digital and analog CNC inputs/outputs (DI, DO, AI, AO) are available as follows: ● SINUMERIK 840D with NCU 571 4 DI/4 DO (on board) 32 DI/32 DO with expansion via NCU terminal block ●...
  • Page 65: Nck I/O Via Profibus

    Digital and Analog NCK I/Os (A4) Constraints 1.4.2 NCK I/O via PROFIBUS System The function is available in the systems SINUMERIK 840D/840D sl and 840Di/840Di sl for isochronous and non-isochronous configured PROFIBUS-I/Os. Hardware ● The required PROFIBUS-I/O must be available and ready to use. ●...
  • Page 66: Examples

    Digital and Analog NCK I/Os (A4) Examples Examples 1.5.1 NCK I/O via PLC 1.5.1.1 Writing to PLC-I/Os The following assumptions are made in this example: ● Data are to be output directly to the following PLC I/Os: - log. addr. 521: ;8-bit digital output module - log.
  • Page 67: Reading From Plc-I/Os

    Digital and Analog NCK I/Os (A4) Examples 1.5.1.2 Reading from PLC-I/Os The following assumptions are made in this example: ● PLC I/Os: - log. addr. 420: 16-bit analog input module - log. addr. 422: 32-bit digital input module - log. addr. 426: 32-bit DP slave input - log.
  • Page 68: Nck I/O Via Profibus

    Digital and Analog NCK I/Os (A4) Examples 1.5.2 NCK I/O via PROFIBUS 1.5.2.1 PROFIBUS-I/O in write direction Requirement The S7-HW-configuration is already done. Configuration for programming via part program/synchronous actions ● RangeIndex = 5 (NCK-internal configuration) ● as per S7-HW-configuration: –...
  • Page 69 Digital and Analog NCK I/Os (A4) Examples Programming $A_DPB_OUT[5,6]=128 ; write (8 bit) to RangeIndex=5, RangeOffset=6 $A_DPW_OUT[5,5]='B0110' ; write (16 bit) to RangeIndex=5, RangeOffset=5 ; Little-Endian-format ; Caution: RangeData of byte 6 are overwritten $A_DPSD_OUT[5,3]=’8FHex’ ; write (32 bit) to RangeIndex=5, RangeOffset=3 ;...
  • Page 70: Profibus-I/O In Read Direction

    Digital and Analog NCK I/Os (A4) Examples 1.5.2.2 PROFIBUS-I/O in read direction Requirement The S7-HW-configuration is already done. Configuration for programming via part program/synchronous actions ● RangeIndex = 0 (NCK-internal configuration) ● as per S7-HW-configuration: – log. start address = 456 –...
  • Page 71: Query Of The Rangeindex In Case Of "Profibus-I/O In Write Direction

    Digital and Analog NCK I/Os (A4) Examples Programming $AC_MARKER[0]=$A_DPW_IN[0,0] ; read (16 bit) on RangeIndex=0, RangeOffset=0 ; Big-Endian-format $AC_MARKER[1]=$A_DPSD_IN[0,1] ; read (32 bit) on RangeIndex=0, RangeOffset=1 ; Big-Endian-format $AC_MARKER[1]=$A_DPSD_IN[0,8] ; read (32 bit) on RangeIndex=0, RangeOffset=8 ; Big-Endian-format $AC_MARKER[2]=0 $AC_MARKER[3]=8 $AC_MARKER[1]=$A_DPSD_IN[$AC_MARKER[2],$AC_MARKER[3]] ;...
  • Page 72 Digital and Analog NCK I/Os (A4) Examples Programming before an access query the status of RangeIndex = 5 check: ; Jump marker IF $A_DP_OUT_STATE[5]==2 GOTOF write ; if data range valid ; => jump to N15 GOTOB check ; jump back to check write: ;...
  • Page 73: Data Lists

    Digital and Analog NCK I/Os (A4) Data lists Data lists 1.6.1 Machine data 1.6.1.1 General machine data Number Identifier: $MN_ Description 10300 FASTIO_ANA_NUM_INPUTS Number of active analog NCK inputs 10310 FASTIO_ANA_NUM_OUTPUTS Number of active analog NCK outputs 10320 FASTIO_ANA_INPUT_WEIGHT Weighting factor for analog NCK inputs 10330 FASTIO_ANA_OUTPUT_WEIGHT Weighting factor for analog NCK outputs...
  • Page 74: Channel-Specific Machine Data

    Digital and Analog NCK I/Os (A4) Data lists 1.6.1.2 Channel-specific machine data Number Identifier: $MC_ Description 21220 MULTFEED_ASSIGN_FASTIN Assignment of input bytes of NCK I/Os for "multiple feedrates in one block" 1.6.2 Setting data 1.6.2.1 General setting data Number Identifier: $SN_ Description 41600 COMPAR_THRESHOLD_1...
  • Page 75: Signals From Nc

    Digital and Analog NCK I/Os (A4) Data lists 1.6.3.2 Signals from NC DB number Byte.bit Description 60, 186-189 Actual value for digital NCK inputs 64, 190-193 Setpoint for digital NCK outputs 194-209 Actual value for analog NCK inputs 210-225 Setpoint for analog NCK outputs Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 76 Digital and Analog NCK I/Os (A4) Data lists Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 77: Several Operator Panels On Several Ncus, Distributed Systems (B3)

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Brief description 2.1.1 Topology of distributed system configurations Features Rotary indexing machines, multi-spindle turning machines and complex NC production centers all exhibit one or more of the following features: ● More than one NCU due to large number of axes and channels ●...
  • Page 78 Several Operator Panels on Several NCUs, Distributed Systems (B3) Brief description Figure 2-1 Topology of distributed system configurations PLC-PLC communication entails one of the following: - PLC-PLC cross-communication master, slave comm.) - Local PLC I/Os Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 79 Several Operator Panels on Several NCUs, Distributed Systems (B3) Brief description M: N Assignment of several control units (M) to several NCUs (N): ● Bus addresses, bus type ● Properties of the control units: – Main control panel/secondary control panel ●...
  • Page 80 Several Operator Panels on Several NCUs, Distributed Systems (B3) Brief description NCU link with different IPO cycles It is possible to use an NCU link between NCUs with different interpolation cycles for special applications, such as eccentric turning. Host computer Communication between host computers and control units is described in: References: /FBR/ Function Manual RPC SINUMERIK Computer Link...
  • Page 81 Several Operator Panels on Several NCUs, Distributed Systems (B3) Brief description Bus capacities The buses illustrated in the diagram above are specially designed for their transmission tasks. The resultant communication specifications are shown in the next diagram: ● Number of bus nodes ●...
  • Page 82: Several Operator Panels And Ncus With Control Unit Management (Option)

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Brief description 7-layer model structure Communication takes place on the following protocol layers: Figure 2-3 Protocol levels of 7-layer model The NCU link and DP can operate faster because they are assigned directly to layer 2. 2.1.2 Several operator panels and NCUs with control unit management (option) 2.1.2.1...
  • Page 83: System Features

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Brief description 2.1.2.2 System features M:N concept This concept allows the user to connect any control units to any NCUs in the system (within the limits imposed by the hardware) via the bus and to switch them over as and when required.
  • Page 84: Hardware

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Brief description 2.1.2.3 Hardware Operator panel fronts The OP/TP operator panel fronts incorporate a slimline screen, softkeys, a keyboard, interfaces and a power supply. Machine control panel The machine control panel (MCP) incorporates a keyboard, a rotary button pad and interfaces.
  • Page 85 Several Operator Panels on Several NCUs, Distributed Systems (B3) Brief description Address assignments Bus nodes each have a unique address on the bus. The NCU uses: ● A common address for the NC and PLC on the OPI ● Two separate addresses (for NC and PLC) on the MPI interface The following applies: –...
  • Page 86: Functions

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Brief description Number of MCPs/HHUs on 1 NCU Two MCPs and one HHU can be connected to the OPI or MPI interface of an NCU as standard. Note The MPI/OPI network rules outlined in the "SINUMERIK 840D Commissioning Manual" must be applied.
  • Page 87 Several Operator Panels on Several NCUs, Distributed Systems (B3) Brief description Dynamic properties The dynamic properties can be changed during runtime. The states: Online Offline Normal HMI operating mode with communication between PCU/HT6 and No communication NCU: Operation and/or monitoring possible. between PCU/HT6 and NCU: Active...
  • Page 88: Configurability

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Brief description 2.1.2.5 Configurability NETNAMES.INI When the M:N system powers up, it must be aware of the existing control units, NCUs and communications links and their properties. All this information is contained in the configuration file NETNAMES.INI, which is configured before power up.
  • Page 89: Functions

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Brief description ● Two MCPs and one HHU can be connected to the MPI or OPI on one NCU. ● The necessary configuration in the NC for the connection of MCPs/HHUs is defined using the basic PLC program (see Function Manual, P3: Basic PLC Program).
  • Page 90 Several Operator Panels on Several NCUs, Distributed Systems (B3) Brief description Possible faults The NCU with which the connection is to be set up can reject the connection setup. Reason: NCU faulty or the NCU cannot operate any additional control units at this time. Machine data MD10134 $MN_MM_NUM_MMC_UNITS (number of possible simultaneous HMI communications partners) contains the setting which defines how many control units can be processed by an NCU at one time.
  • Page 91: Configurability

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Brief description M:N function The M:N function is operated via the "Control unit management" option. Prerequisite: Configuration via the NETNAMES.INI file References: /IAD/ 840D Commissioning Manual The channel menu is selected using the "Channel switchover" softkey. Use the horizontal softkeys to select a channel group (HMI Embedded: max.
  • Page 92 Several Operator Panels on Several NCUs, Distributed Systems (B3) Brief description Features When operating two control units in the configuration illustrated above, the user will observe the following system operating characteristics: ● For the NCU, there is no difference between inputs from the various control units. ●...
  • Page 93 Several Operator Panels on Several NCUs, Distributed Systems (B3) Brief description Features The operating characteristics are as follows when several NCUs are linked to one operator panel: ● NCU operation: The user must select the NCU to be operated by means of a softkey. The operator display in the "Connection"...
  • Page 94 Several Operator Panels on Several NCUs, Distributed Systems (B3) Brief description Features The following operating characteristics are typical of the OEM solution illustrated in the diagram above: ● NCU operation: The user must select the NCU to be operated by means of a softkey. The operator display shows the name of the connection and of the NCU to which the control unit is currently linked.
  • Page 95 Several Operator Panels on Several NCUs, Distributed Systems (B3) Brief description At any given time, only one preselected NCU can be connected to the HMI Advanced operator panel for operations: ● HMI Embedded also only has one connection for alarms. ●...
  • Page 96: Mpi/Opi Network Rules

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Brief description 2.1.3.4 MPI/OPI network rules Network installations Please take the following basic rules into account when undertaking network installations: ● The bus line must be terminated at both ends. To do this, you switch on the terminating resistor in the MPI connector of the first and last node, and switch off any other terminators.
  • Page 97: Ncu Link

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Brief description 2.1.4 NCU link 2.1.4.1 General information The NCU link, the link between several NCU units of an installation, is used in distributed system configurations. When there is a high demand for axes and channels, e.g. in case of revolving machines and multi-spindle machines, the computing capacity, configuration options and memory areas can reach their practical limits when only one NCU is used.
  • Page 98: Types Of Distributed Machines

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Brief description 2.1.4.2 Types of distributed machines Machine characteristics Rotary indexing machines/multi-spindle machines exhibit the following characteristics: ● Global, cross-station units (not assignable to one station): – Drum/rotary switching axis and –...
  • Page 99 Several Operator Panels on Several NCUs, Distributed Systems (B3) Brief description Figure 2-8 Sectional diagram of a drum changeover Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 100: Link Axes

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Brief description When advancing the rotary table with RVM or the drum with MS, the axis holding the workpiece moves to the next machining unit. The axis holding the workpiece is now assigned to the channel of the machining unit. This is on another NCU in the example, but this is not necessarily the case.
  • Page 101: Flexible Configuration

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Brief description Hardware ● The NCUs involved in alternate use of axes across NCU limits must be equipped with a link module. The NCU link module offers fast NCU-to-NCU communication based on a synchronized 12-Mbaud Profibus interface.
  • Page 102: User Communication Across The Ncus

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Brief description 2.1.4.5 User communication across the NCUs Link variables ● Every NCU connected by means of a link module can address uniformly accessible global link variables for all connected NCUs. Link variables can be programmed in the same way as system variables.
  • Page 103: Lead Link Axes

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Brief description 2.1.4.6 Lead link axes Following axis movements The configuration illustrated below shows how to traverse following axes on several NCUs (NCU2 to NCU n in the diagram) in relation to the movement of the leading axis controlled by another NCU (NCU 1 in the example).
  • Page 104: Ncu Link With Different Interpolation Cycles

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Brief description 2.1.4.7 NCU link with different interpolation cycles Function An extension of the link concept whereby NCUs are connected to link modules with different interpolation cycle settings offers additional application possibilities. This functionality is also called "Fast IPO link", because when different cycles are set, one of the connected NCUs has the fastest interpolation cycle.
  • Page 105 Several Operator Panels on Several NCUs, Distributed Systems (B3) Brief description Essential features ● Cross-NCU interpolation of fast (X) and standard (C,Z) axes/spindles (see diagram). ● The part program is running on the NCU with the faster interpolation cycle and can "see" the other axes as link axes or container link axes.
  • Page 106: Several Operator Panel Fronts And Ncus With Control Unit Management Option

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Several operator panel fronts and NCUs with control unit management option Several operator panel fronts and NCUs with control unit management option The following section provides a detailed description of the preparations and implementation of the operating steps for the M:N concept.
  • Page 107 Several Operator Panels on Several NCUs, Distributed Systems (B3) Several operator panel fronts and NCUs with control unit management option Properties The M:N system features control units with the following properties: Server Control panel Maintains a constant 1:N connection Can be switched over to different NCUs and maintains a constant 1:1 connection (only one at any one time!).
  • Page 108: Configuration File Netnames.ini

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Several operator panel fronts and NCUs with control unit management option Permissible combinations in one installation If a server (alarm/data management server) is configured in an M:N system, it also acts as a main control panel.
  • Page 109: Structure Of The Configuration File

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Several operator panel fronts and NCUs with control unit management option 2.2.4 Structure of the configuration file The structure of the configuration file NETNAMES.INI is as follows: Figure 2-12 Structure of the configuration file NETNAMES.INI In the following tables, italics ●...
  • Page 110 Several Operator Panels on Several NCUs, Distributed Systems (B3) Several operator panel fronts and NCUs with control unit management option III. Bus identification Defines which bus the HMI is connected to: Element Explanation Example [param network] Header [param network] bus = Bus designation bus = OPI opi: Operator panel front interface with 1.5 Mbaud...
  • Page 111 Several Operator Panels on Several NCUs, Distributed Systems (B3) Several operator panel fronts and NCUs with control unit management option Note Note that the NCU configured via the DEFAULT channel must be the same as the NCU specified under NcddeDefaultMachineName in file MMC.INI. Explanatory notes on mmc_typ: mmc_typ contains type and connection identifiers for the control units and is transferred to the PLC in the event of a switching request.
  • Page 112 Several Operator Panels on Several NCUs, Distributed Systems (B3) Several operator panel fronts and NCUs with control unit management option Element Explanation Example nck_address = Address of NCU component on nck_address = 14 the bus: = 1, 2, ..., 30 *) plc_address = Address of PLC component on plc_address = 14...
  • Page 113: Creating And Using The Configuration File

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Several operator panel fronts and NCUs with control unit management option Element Explanation Example group Header (2.) [mill1] channel1, logChanList = Groups channels separated by logChanList = channel11, channel2,... comma (2.) channel12, channel13 channel Header (3.)
  • Page 114: Power Up

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Several operator panel fronts and NCUs with control unit management option 2.2.6 Power up Defaults standard functionality The following defaults are applied (standard M:N = 1:1) if no NETNAMES.INI configuration file is loaded into the HMI Embedded/OP030/HT6 or if the file cannot be interpreted: ●...
  • Page 115 Several Operator Panels on Several NCUs, Distributed Systems (B3) Several operator panel fronts and NCUs with control unit management option Sequence 1. HMI/HT6 boots on the NCU with bus address 13 if the NETNAMES.INI file has not been changed (original factory settings). 2.
  • Page 116 Several Operator Panels on Several NCUs, Distributed Systems (B3) Several operator panel fronts and NCUs with control unit management option Note In the event of an error, check the active bus nodes in the menu: • Commissioning/NC/NCK addresses (HMI Embedded, HT6 and HMI Advanced) •...
  • Page 117: Hmi Switchover

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Several operator panel fronts and NCUs with control unit management option 2.2.7 HMI switchover With the M:N concept, you can change the control unit properties and states configured in the NETNAMES.INI file during runtime. For example, the user can intervene in order to ●...
  • Page 118 Several Operator Panels on Several NCUs, Distributed Systems (B3) Several operator panel fronts and NCUs with control unit management option Suppression strategy The PLC program "Control Unit Switchover" operates according to the ● priorities of the control units and ● the active processes The priority depends on the parameter mmc_typ in configuration file NETNAMES.INI (see Section "Structure of the configuration file").
  • Page 119: Connection And Switchover Conditions

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Several operator panel fronts and NCUs with control unit management option 2.2.9 Connection and switchover conditions Proceed as follows to allow a previously offline control unit on a particular NCU to go online or to switch an online control unit over to another NCU: 1.
  • Page 120: Implementation Of Control Unit Switchover

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Several operator panel fronts and NCUs with control unit management option 2.2.10 Implementation of control unit switchover Control unit switchover is an extension of channel switchover. Channel switchover Channel configuration allows channels of selected NCUs to be individually grouped and named.
  • Page 121: Operating Mode Switchover

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Several operator panel fronts and NCUs with control unit management option Channel switchover You can switch over to other channels by means of the vertically arranged softkeys. Group switchover You can switch to another group by means of the softkeys on the horizontal menu (see Section "Implementation of control unit switchover");...
  • Page 122 Several Operator Panels on Several NCUs, Distributed Systems (B3) Several operator panel fronts and NCUs with control unit management option Active operating mode ● The user requests active operating mode by pressing a key on the operator panel front. Active mode has the following characteristics: –...
  • Page 123: Mcp Switchover

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Several operator panel fronts and NCUs with control unit management option ● The change from the active to the passive operating mode can be rejected by the PCU/HT6 if the current HMI application cannot be aborted or if it is still in progress. Similarly, active mode cannot be selected on a PCU/HT6 if the other PCU/HT6 currently linked to the NCU cannot be switched to passive mode.
  • Page 124: Plc Program "Control Unit Switchover

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Several operator panel fronts and NCUs with control unit management option 2.2.14 PLC program "Control Unit Switchover" Introduction Control unit switchover is an important controlling function in the overall M:N concept: ●...
  • Page 125 Several Operator Panels on Several NCUs, Distributed Systems (B3) Several operator panel fronts and NCUs with control unit management option Power-up condition: To prevent the previously selected MCP from being activated again when the NCU is restarted, input parameter MCP1BusAdr must be set to 255 (address of 1st MCP) and MCP1Stop to TRUE (deactivate 1st MCP) when FB1 is called in OB100.
  • Page 126 Several Operator Panels on Several NCUs, Distributed Systems (B3) Several operator panel fronts and NCUs with control unit management option Mixed mode Definition: The term "mixed mode" refers to a state in which a conventional OP without control unit switchover function is connected to the first HMI interface on the NCU. The control unit switchover then operates exclusively on the 2nd HMI interface.
  • Page 127 Several Operator Panels on Several NCUs, Distributed Systems (B3) Several operator panel fronts and NCUs with control unit management option Wait times for acknowledgement signals To render the program independent of timers, two wait times based on repeated reading of the system time are implemented via SFC64 in the control unit switchover program.
  • Page 128 Several Operator Panels on Several NCUs, Distributed Systems (B3) Several operator panel fronts and NCUs with control unit management option Identifier for PCU/HT6 "Control unit switchover exists" In certain operating states, PCUs/HT6s must be able to detect whether the control unit switchover function exists.
  • Page 129: Several Operator Panel Fronts And Ncus, Standard Functionality

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Several operator panel fronts and NCUs, standard functionality Several operator panel fronts and NCUs, standard functionality The M:N concept without the Control Unit Management option is described below. Note This section does not apply to the HT6, since only one HT6 can be operated on an NCU without control unit management.
  • Page 130 Several Operator Panels on Several NCUs, Distributed Systems (B3) Several operator panel fronts and NCUs, standard functionality Examples For complete examples of configuration files, please refer to Section "Examples" in this description. Syntactic declarations The configuration file must be generated as an ASCII file. The syntax is the same as that used in Windows *.ini"...
  • Page 131 Several Operator Panels on Several NCUs, Distributed Systems (B3) Several operator panel fronts and NCUs, standard functionality II. Connections Description of connections from the operator panel components to the NCU to be addressed. An entry of the following type is required for each operator panel. Table 2- 2 Description of connections Descriptive entry...
  • Page 132 Several Operator Panels on Several NCUs, Distributed Systems (B3) Several operator panel fronts and NCUs, standard functionality IV. Description of operator component(s) A separate entry must be generated for each operator panel connected to the bus. A maximum of two entries in SW 3.x. Table 2- 4 Description of operator component Descriptive entry...
  • Page 133 Several Operator Panels on Several NCUs, Distributed Systems (B3) Several operator panel fronts and NCUs, standard functionality V. Description of NCU component(s) A separate entry must be generated for each NCU component connected to the bus. Table 2- 5 Description of NCU component Descriptive entry Formal Example...
  • Page 134: Switchover Of Connection To Another Ncu

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Several operator panel fronts and NCUs, standard functionality Defaults The following defaults are applied if no NETNAMES.INI configuration file has been copied into the HMI Embedded/OP030 or if the file cannot be interpreted: ●...
  • Page 135: Power Up

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Several operator panel fronts and NCUs, standard functionality 2.3.4 Power up Differences between HMI Embedded and HMI Advanced Due to the differences in power-up characteristics, different commissioning procedures are required. ● HMI Embedded always runs in "M:N" mode, when "M:N" is configured in the NETNAMES.INI file.
  • Page 136: Ncu Replacement

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Several operator panel fronts and NCUs, standard functionality 2.3.5 NCU replacement The procedure for NCU replacement or configuration of an additional NCU is similar to that for commissioning (see "Power up"). Variant 1 1.
  • Page 137: Restrictions For Switchover Of Operator Components

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Restrictions for switchover of operator components Restrictions for switchover of operator components Rejection of link On switchover to another NCU, the NCU selected for the new link may reject the connection. There may be a defect in the NCU or no further operator panel can be accepted.
  • Page 138: Ncu Link

    Several Operator Panels on Several NCUs, Distributed Systems (B3) NCU link NCU link 2.5.1 Introduction The number of channels or axes per NCU is restricted due to the limitation on memory and computing capacity elements. A single NCU is not sufficient to fulfill the requirements made by complex and distributed machines, such as multi-spindle and rotary indexing machines.
  • Page 139: Technological Description

    Several Operator Panels on Several NCUs, Distributed Systems (B3) NCU link 2.5.2 Technological description Figure 2-15 Sectional diagram of a drum changeover Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 140 Several Operator Panels on Several NCUs, Distributed Systems (B3) NCU link The diagram shows the main components of a simple multi-spindle plant. Several spindles are mounted mechanically on the drum, each of which can used to perform a different machining operation. Together with the slide (X and Z axes), they form a machining station which is assigned to one channel.
  • Page 141: Link Axes

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Link axes Link axes Introduction This subsection describes how an axis (for example, B1 in diagram "Overview of link axes"), which is physically connected to the drive control system of NCU2, can be addressed not only by NCU2, but also by NCU1.
  • Page 142 Several Operator Panels on Several NCUs, Distributed Systems (B3) Link axes Terminology The following terms are important for understanding the subsequent description: ● Link axis Link axes are machine axes, which are physically connected to another NCU and whose position is controlled from this NCU. Link axes can be assigned dynamically to channels of another NCU.
  • Page 143: Configuration Of Link Axes And Container Axes

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Link axes ● Home channel Channel in which the setpoint-generating part program for the axis is executed after the installation has powered up. ● Lead link axis leading axis From the point of view of an NCU (2) that traverses following axes, a that is traversed by another NCU (1).
  • Page 144 Several Operator Panels on Several NCUs, Distributed Systems (B3) Link axes Figure 2-17 Configuration of link axes Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 145 Several Operator Panels on Several NCUs, Distributed Systems (B3) Link axes Differentiation between local/link axes To enable link axes to be addressed throughout the system, the configuration must contain information about the axis NCUs. There are two types of NCU axis, i.e. local axes and link axes.
  • Page 146 Several Operator Panels on Several NCUs, Distributed Systems (B3) Link axes NC: stands for NCU with j: NCU number, 1 <= j <= 16 i: Axis number, 1 <= i <= 31 Channel axes are assigned to logical machine axis image A via machine data: MD20070 $MC_AXCONF_MACHAX_USED Viewed from the part program, the only accessible machine axes are those which can be addressed by the channel (possibly via axis container, see below) via the logical machine...
  • Page 147: Axis Data And Signals

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Link axes 2.6.2 Axis data and signals Introduction Axis data and signals for a link axis are produced on the home NCU of the link axis. The NCU that has caused the movement of a link axis is provided with axis data and signals from the system: Figure 2-19 Views of axes...
  • Page 148 Several Operator Panels on Several NCUs, Distributed Systems (B3) Link axes Position control The position control is implemented on the NCU on which the axis is physically connected to the drive. This NCU also contains the associated axis interface. The position setpoints for link axes are generated on the active NCU and transferred via the NCU link.
  • Page 149: Output Of Predefined Auxiliary Functions In The Case Of An Ncu Link

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Link axes Response of the AXIS-VAR server to errors If the server cannot supply any values for an axis (e.g. because the axis concerned is a link axis), then it returns a default value (generally 0). For the purposes of testing, the machine data of the axis data servers below can be set to sensitive, with the result that it returns an error message instead of default values: MD11398 AXIS_VAR_SERVER_SENSITIVE...
  • Page 150: Supplementary Conditions For Link Axes

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Link axes Examples An NC program with M3 S1000 is executed for the 7th channel on NCU_2. This spindle corresponds to the 5th machine axis of NCU_1 and is therefore link axis. Therefore the auxiliary function output here for NCU_2 is in Channel 7 with the axis number 0, as the link axis is on another NCU (NCU_1 here).
  • Page 151 Several Operator Panels on Several NCUs, Distributed Systems (B3) Link axes Output of alarms with alarm reaction NCK-NoReady If a serious alarm resulting in dropout of the NCK-Ready relay is activated on an NCU, then the effects of the alarm will apply to all other NCUs which are addressing an axis via link communication on the first NCU.
  • Page 152 Several Operator Panels on Several NCUs, Distributed Systems (B3) Link axes Revolutional feedrate Setting data SD43300 SA_ASSIGN_FEED_PER_REV_SOURCE refers to the logical machine axis image and then via this to a machine axis (local or link axis). 2.6.5 Programming with channel and machine axis identifiers Channel axis identifier Example: WHENEVER $AA_IW[Z] <...
  • Page 153 Several Operator Panels on Several NCUs, Distributed Systems (B3) Link axes Solution A configuration of the relevant axes in an axis container specified in machine data enables different machine axes to be located in succession behind a channel axis that remains constant.
  • Page 154 Several Operator Panels on Several NCUs, Distributed Systems (B3) Axis container Axis container Axis container An axis container can be imagined as a circular buffer in which the assignment ● Local axes and/or ● link axes are assigned to channels. container axes Axes in an axis container are also referred to as container axes.
  • Page 155 Several Operator Panels on Several NCUs, Distributed Systems (B3) Axis container Axis container names The axis containers can be named with the machine data: MD12750 $MN_AXCT_NAME_TAB The axis container names can be used: ● in the axis container rotation commands AXCTSWE() and AXCTSWED() to address the container to be rotated.
  • Page 156 Several Operator Panels on Several NCUs, Distributed Systems (B3) Axis container Example: The following assignment is thrown up for the container axes after the control is ramped up (initial state before a first container rotation): ③ 3rd channel axis Z of Channel 1 = 4th machine axis of NCU1 Explanation: The 3rd channel axis (MD20070 $MC_AXCONF_MACHAX_USED[2]) shows on the 8th machine axis in the logical NCK machine axis image...
  • Page 157 Several Operator Panels on Several NCUs, Distributed Systems (B3) Axis container Container rotation The contents of the axis container slots are variable inasmuch as the contents of the circular buffer (axis container) can be shifted together by ± n increments. The number of increments n is defined for each axis container in setting data: SD41700 $SN_AXCT_SWWIDTH The number of increments n is evaluated modulo in relation to the number of actually...
  • Page 158 Several Operator Panels on Several NCUs, Distributed Systems (B3) Axis container Activation of axis container rotation The application must ensure that the desired local or link axes are addressed by issuing commands in the part program for rotating the axis container to a specific position. For example, when rotating the drum of a multi-spindle machine into a new position, it must be ensured that each position addresses the newly changed spindle by rotation of the axis container.
  • Page 159 Several Operator Panels on Several NCUs, Distributed Systems (B3) Axis container Programming Comment AXCTSWED(CT1) ; The function name represents: AXis ConTainer SWitch Enable Direct The axis container rotates according to the settings in setting data: SD41700 $SN_AXCT_SWWIDTH[container number] This call may only be used if the other channels, which have axes in the container are in the RESET state.
  • Page 160 Several Operator Panels on Several NCUs, Distributed Systems (B3) Axis container Home channel of an axis container axis If more than one channel has access authorization ("reference") to the axis via the machine data, write authorization can be passed to the axis (setpoint input): MD20070 $MC_AXCONF_MACHAX_USED This machine data below creates a standard assignment between an axis and a channel: MD30550 $MA_AXCONF_ASSIGN_MASTER_CHAN...
  • Page 161 Several Operator Panels on Several NCUs, Distributed Systems (B3) Axis container Name Type/SW Description/values Index cess cess $AC_AXCTSWA[n] BOOLEAN Channel state of axis container rotation/ Iden- tifier (AXis ConTainer SWitch 1: The channel has enabled axis container rotation for Active) axis container n and this is not yet finished.
  • Page 162 Several Operator Panels on Several NCUs, Distributed Systems (B3) Axis container 2.7.2 Machining with axis container (schematic) Figure 2-23 Schematic machining of a station/position Note An NCU machining cycle which is in charge of the rotation of the rotary table or the drum for multi-spindle machines contains the query of enables for container rotation of all NCUs concerned.
  • Page 163 Several Operator Panels on Several NCUs, Distributed Systems (B3) Axis container 2.7.3 Axis container behavior after Power ON The container always assumes the state defined in the machine data on Power On, irrespective of its status when the power supply was switched off, i.e. the user must distinguish between the actual status of the machine and the default setting and compensate accordingly by specifying appropriate axis container rotations.
  • Page 164 Several Operator Panels on Several NCUs, Distributed Systems (B3) Axis container Axial machine data If an axis is assigned to an axis container, then certain axial machine data must be identical for all axes in the axis container as the data are activated. This can be ensured by making a change to this type of machine data effective on all container axes and all NCUs which see the axis concerned.
  • Page 165 Several Operator Panels on Several NCUs, Distributed Systems (B3) Axis container Command axes A container axis in a container enabled for rotation cannot be declared a command axis. The traverse request is stored in the channel and executed on completion of the axis container rotation.
  • Page 166 Several Operator Panels on Several NCUs, Distributed Systems (B3) Axis container Transformations If the container axis is a spindle which is involved in a transformation, then the transformation must be deselected before the axis container rotation is enabled. Otherwise alarm 17605 is activated. Gantry grouping Gantry axes cannot be axes in an axis container.
  • Page 167 Several Operator Panels on Several NCUs, Distributed Systems (B3) Link communication Link communication 2.8.1 Link variables Function Complex systems often feature multiple NCUs, each with multiple channels. Each NCU has a link communication channel for the purpose of coordinating manufacturing processes throughout the entire system.
  • Page 168 Several Operator Panels on Several NCUs, Distributed Systems (B3) Link communication Properties of the link variables memory Assigning parameters for the memory size The size of the link variables memory in bytes is set by means of the following machine data: MD18700 $MN_MM_SIZEOF_LINKVAR_DATA (size of the NCU link variables memory) The setting for the size of the link variables memory should be identical for all NCUs involved in the link grouping.
  • Page 169 Several Operator Panels on Several NCUs, Distributed Systems (B3) Link communication Writing A link variable is written with main-run synchronism. Reading A preprocessing stop is triggered when a link variable is read. Checks The following checks are performed for the link variables and link variables memory: ●...
  • Page 170 Several Operator Panels on Several NCUs, Distributed Systems (B3) Link communication Dynamic response during write The link variables are written with main-run synchronism. The new value may be read by the other channels in its own NCU no later than the next interpolation cycle. It can be read in the next part program block in its own channel.
  • Page 171 Several Operator Panels on Several NCUs, Distributed Systems (B3) Link communication The data is arranged in the link variables memory as follows, with the data format limits taken into account: Figure 2-24 Example: Structure of the link variables memory Note Memory structure The data in the link variables memory is always arranged randomly and may therefore appear different (although the data format limits will still be taken into account).
  • Page 172 Several Operator Panels on Several NCUs, Distributed Systems (B3) Link communication 2.8.2 Reading drive data via link variables Task A system contains 2 NCUs called NCU1 and NCU2. The two NCUs are connected via an NCU link. Several machine axes are connected to NCU1. Of these, axis AX2 is traversed in an interpolatory manner as a link axis of NCU2.
  • Page 173 Several Operator Panels on Several NCUs, Distributed Systems (B3) Link communication Programming NCU1 A static synchronized action is used to write actual current value $VA_CURR of axis AX2 to the first 8 bytes of the link variables memory cyclically in the interpolation cycle, via link variable $A_DLR[ 0 ] (REAL value): Program code N111 IDS=1 WHENEVER TRUE DO $A_DLR[0]=$VA_CURR[AX2]...
  • Page 174 Several Operator Panels on Several NCUs, Distributed Systems (B3) Configuration of a link grouping Configuration of a link grouping Introduction The preceding sections described how to configure link axes and axis containers. Both require a link communication to be established between the NCUs concerned. Setting up the link communication takes place by means of: ●...
  • Page 175 Several Operator Panels on Several NCUs, Distributed Systems (B3) Configuration of a link grouping Machine data MD18780 $MN_MM_NCU_LINK_MASK This machine data ensures that link communication is established. It provides the dynamic memory space that is required for communication in the NCUs equipped with link modules. The machine data below determines the data transfer rate of link communication based on the assignments listed below: MD12540 $MN_LINK_BAUDRATE_SWITCH...
  • Page 176 Several Operator Panels on Several NCUs, Distributed Systems (B3) Configuration of a link grouping The set values refer to the entries defined with machine data: MD12510 $MN_NCU_LINKNO 0 corresponds to the first definition, 1 to the second, etc. from machine data: MD12510 $MN_NCU_LINKNO.
  • Page 177 Several Operator Panels on Several NCUs, Distributed Systems (B3) Communication in link grouping 2.10 Communication in link grouping Although communication by means of link modules is high-speed communication, the following aspects have to be taken into account during configuration. Data transport Both cyclic and acyclic services are used for data communication.
  • Page 178 Several Operator Panels on Several NCUs, Distributed Systems (B3) Communication in link grouping Examples Let an axis container contain 12 slots. Three axes are local on NCU1, and three link axes are located on each of NCU 2, NCU3, and NCU4. The MD is set with 0 as the value. Figure 2-26 Resources insufficient Let an axis container contain 12 slots.
  • Page 179 Several Operator Panels on Several NCUs, Distributed Systems (B3) Communication in link grouping Figure 2-27 Resources sufficient Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 180 Several Operator Panels on Several NCUs, Distributed Systems (B3) Communication in link grouping Figure 2-28 Increase in communication time of the number of NCUs connected via the link (for scaling refer to Interdependencies) Configuration limit The diagram above illustrates how the communication overhead grows as the number of NCUs increases.
  • Page 181 Several Operator Panels on Several NCUs, Distributed Systems (B3) Communication in link grouping Rule In a configuration, the time requirement must remain below the interpolation cycle in accordance with curve trace A. If it is not possible to alter the number of required NCUs, the interpolation may have to be adapted if necessary.
  • Page 182 Several Operator Panels on Several NCUs, Distributed Systems (B3) Lead link axis 2.11 Lead link axis Term A lead link axis allows read access to the axis data (setpoint, actual value, ...) on another NCU. Introduction The lead link axis concept offers a solution for the following problems: The individual machining and handling stations are to move synchronous with or in relation to a common master value in so-called clocked sequences.
  • Page 183 Several Operator Panels on Several NCUs, Distributed Systems (B3) Lead link axis Couplings The following coupling types can be used: ● Master value (setpoint, actual value, simulated master value) ● Coupled motion ● Tangential correction ● Electronic gear (ELG) ● Synchronous spindle Configuration of leading axis NCU The lead link axis that is being interpolated as a leading axis on the NCU is configured on the interpolating NCU as a standard local axis.
  • Page 184 Several Operator Panels on Several NCUs, Distributed Systems (B3) Lead link axis ● The lead link axis must be configured in the logical machine axis image with machine data: MD AXCONF_LOGIC_MACHAX_TAB[i] = "NC " This allows a relation to be established with the NCU that is interpolating the lead link axis.
  • Page 185 Several Operator Panels on Several NCUs, Distributed Systems (B3) Lead link axis The following steps are illustrated: ● 1.1 Position control on NCU1 reads in actual values of leading value axis from the drive and writes them in the communication buffer for interpolation. ●...
  • Page 186 Several Operator Panels on Several NCUs, Distributed Systems (B3) Lead link axis 2.11.1 Programming a lead link axis Master value axis view Only the NCU which is physically assigned to the master value axis can program travel motions for this axis. The travel program must not contain any special functions or operations.
  • Page 187 Several Operator Panels on Several NCUs, Distributed Systems (B3) NCU link with different interpolation cycles 2.12 NCU link with different interpolation cycles Problem description In the engineering world, parts which deviate slightly from a precise round/cylindrical shape are also required. (Example: Pistons that are oval in the manufacturing state. The operating temperature gives them their required almost round shape during use).
  • Page 188 Several Operator Panels on Several NCUs, Distributed Systems (B3) NCU link with different interpolation cycles Motion sequences While the workpiece is rotating about the C axis, the X axis must be advanced with high precision between the smallest and largest radius/diameter according to the required shape (sine, double sine, etc.).
  • Page 189 Several Operator Panels on Several NCUs, Distributed Systems (B3) NCU link with different interpolation cycles Generalized solution In a link grouping with several (up to 8) NCUs, some NCUs are set up with short interpolation cycles, some with standard interpolation cycles, and the axes are configured as in the diagram above.
  • Page 190 Several Operator Panels on Several NCUs, Distributed Systems (B3) NCU link with different interpolation cycles Abbreviations and terms NCU-A, NCU-B NCUs with standard interpolation cycle NCU-U Eccentric NCU with fast interpolation cycle Position control cycle i "slower" position control cycle Position control cycle j "faster"...
  • Page 191 Several Operator Panels on Several NCUs, Distributed Systems (B3) NCU link with different interpolation cycles Axis assignments Link axes may only be connected to NCUs that have the same IPO cycle as the link cycle. Example: Axis X9 on the fast NCU-U in the diagram above cannot be interpolated as a link axis by NCU-A or NCU-B.
  • Page 192 Several Operator Panels on Several NCUs, Distributed Systems (B3) NCU link with different interpolation cycles Effect of the SERVO_FIFO_SIZE settings ● All functions that use actual values when interpolating for setpoint generation will be affected by the delay of the slower link cycle instead of the fast IPO cycle. This also applies to the response at faults (alarms that are issued to disable a mode group or for interpolatory braking).
  • Page 193 Several Operator Panels on Several NCUs, Distributed Systems (B3) NCU link with different interpolation cycles Special MD settings In some cases, it may be necessary to be able to adapt the delay (see examples below). This machine data was introduced for this purpose: MD10065 $MN_POSCTRL_DESVAL_DELAY It allows you to adapt the setpoint delay in the position controller for the entire NCU.
  • Page 194 Several Operator Panels on Several NCUs, Distributed Systems (B3) NCU link with different interpolation cycles Appropriate changes to parameter settings A change in the parameter settings of machine data: MD10065 $MN_POSCTRL_DESVAL_DELAY is appropriate in the following cases: ● DSC is always activated or feedforward control is never activated for axis operation. In these cases, an additional delay is only necessary on the NCU with the fast position control cycle.
  • Page 195 Several Operator Panels on Several NCUs, Distributed Systems (B3) NCU link with different interpolation cycles 2.12.3 Supplementary conditions ● The option "different interpolation cycle" can only be used in conjunction with NCU link (options, dependent on the axis number). The connected NCUs must all be fitted with the link module hardware components.
  • Page 196 Several Operator Panels on Several NCUs, Distributed Systems (B3) NCU link with different interpolation cycles 2.12.6 System variable with different interpolation cycles There are no new system variables. The existing general system variable $A_LINK_TRANS_RATE only displays a value not equal to zero in the link communication cycle on an NCU with an IPO cycle with a shorter length than the link communication cycle.
  • Page 197 Several Operator Panels on Several NCUs, Distributed Systems (B3) Link grouping system of units 2.13 Link grouping system of units Introduction Cross-NCU interpolations are possible in the link grouping with: ● Link axes (see "Link axes") ● Lead link axes (see "Lead link axes") ●...
  • Page 198 Several Operator Panels on Several NCUs, Distributed Systems (B3) Supplementary conditions 2.14 Supplementary conditions 2.14.1 Several operator panels and NCUs with control unit management option Configuration The number of configurable control units/NCUs is only limited by the availability of bus addresses on the individual bus segments of the different bus types.
  • Page 199 Several Operator Panels on Several NCUs, Distributed Systems (B3) Supplementary conditions 2.14.3 Link axes Availability 1. Precondition is that the NCUs are networked with link modules. 2. The link axis function is an option which is necessary for each link axis (max. 32). 3.
  • Page 200 Several Operator Panels on Several NCUs, Distributed Systems (B3) Supplementary conditions 2.14.6 NCU link with different interpolation cycles Availability NCU link with different interpolation cycles is an option. All requirements that apply for link axes must be fulfilled. If the non-local axes - seen from the point of view of the NCU with the fast interpolation cycle - are container axes (e.g.
  • Page 201 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples 2.15 Examples 2.15.1 Configuration file NETNAMES.INI with control unit management option A sample configuration file NETNAMES.INI for the MMC 1 control unit for a system with four NCUs on the OPI is outlined below. See Section "Structure of configuration file"...
  • Page 202 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples HMI description [param MMC_1] mmc_typ = 40 ; = 0100 0000: HMI is server and main control panel mmc_bustyp = OPI ; Bus the HMI is attached to mmc_address = 10 ;...
  • Page 203 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples Channel data Sample of a channel menu configuration with M:N assignment option: [chan MMC_1] DEFAULT_logChanSet = G_1 ; Group to be set on power up DEFAULT_logChan = K_1_1 ; Channel to be set on power up ShowChanMenu = TRUE ;...
  • Page 204 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples 2.15.2 User-specific reconfiguring of PLC program control unit switchover Introduction The solution outlined roughly below should be selected only if at least one of the following configuring requirements is applicable: ●...
  • Page 205 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples Operating focus switchover in server mode A server maintains a permanent link to the NCUs to which it is assigned. The operator can switch the operating focus from one NCU to another without interrupting the existing link. Active/passive operating mode An online operator panel can operate in two different modes: Active mode: Operator can control and monitor...
  • Page 206 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples On receipt of the positive acknowledgement OFFL_CONF_OP/OK, the operator panel sends client its online request to the target PLC of the relevant NCU by transmitting its identification Client identification : Unique HMI identifier comprising bus type and bus address. (ONL_REQUEST DB19, DBW100) The target PLC sends the operator panel a positive or negative acknowledgement: Pos.
  • Page 207 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples Operator panel coming Once the operator panel has sent an online request to the target PLC and received online permission from it, it can set up a link to the target NCU. It goes online and notifies the PLC with (station active) S_ACT/CONNECT that it has linked up with the NCU.
  • Page 208 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples The falling edge combined with the sequence described above signals to the online PLC that the operator panel has broken off the link to the online NCU. If an MCP is assigned to the operator panel and activated, it must now be deactivated by the PLC.
  • Page 209 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples If an MCP has been configured for the online operator panels, the MCP of the active operator panel is switched on. The MCP of the passive operator panel is deactivated, i.e. only one MCP is active at a time on an NCU.
  • Page 210 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples We must differentiate between two cases here: 1. MMC_1 can change to passive operating mode: MMC_1 changes from active to passive operating mode and acknowledges the changeover with MMC1_ACTIVE_CHANGED = FALSE. If an MCP is assigned to the MMC and activated, it is now deactivated by the PLC.
  • Page 211 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples Figure 2-33 MMC_1 requests active mode, MMC_2 is in passive mode Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 212 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples Note for the reader The arrangement of the signals of a block in box PLC_x (marked as B) corresponds to the arrangement of signal names in the header section (marked as A). Blocks B repeat in box PLC_x from top to bottom as a function of time.
  • Page 213 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples Figure 2-35 MMC_1 requests active mode, MMC_2 is in active mode, but cannot change to passive mode Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 214 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples MCP SWITCHOVER A control unit consists of an operator panel and an MCP; these can both be switched over as a unit. If an MCP has been configured for the operator panel in configuring file NETNAMES.INI, it will be activated and deactivated with the operator panel.
  • Page 215 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples Figure 2-36 MMC_1 is linked online to NCU_1 and wants to switch over to NCU_2, switchover disable is set in PLC_1 Figure 2-37 MMC_1 online to NCU_1, MMC_1 wants to switch over to NCU_2, online-request interface in PLC_2 occupied by another MMC Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 216 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples Figure 2-38 MMC_1 online to NCU_1, MMC_1 wants to switch over to NCU_2, but does not receive permission from PLC_2 Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 217 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples Figure 2-39 MMC_1 online to NCU_1, MMC_1 switches over to NCU_2 (no suppression) Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 218 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples Figure 2-40 MMC_1 online to NCU_1, MMC_2 online to NCU_2, MMC_1 wants to switch over to NCU_2, but MMCs executing uninterruptible processes are online to NCU_2 Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 219 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples Figure 2-41 MMC_1 online to NCU_1, MMC_2 online to NCU_2, MMC_1 switches from NCU_1 to NCU_2, MMC_2 is suppressed Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 220 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples Figure 2-42 MMC_1 server, wishes to switch operating focus from NCU_1 to NCU_2, switchover disabled in PLC_1 Figure 2-43 MMC_1 is server, wishes to switch operating focus from NCU_1 over to NCU_2, switchover is disabled in PLC_2 Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 221 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples Figure 2-44 MMC_1 is server, wishes to switch operating focus from NCU_1 over to NCU_2, switchover not disabled in PLCs, MMC_1 can switch operating focus Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 222 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples 2.15.3 Configuration file NETNAMES.INI, standard functionality 2.15.3.1 Two operator panel fronts and one NCU A sample configuration file for the second control unit is given below for a system consisting of two control units and one NCU on the OPI.
  • Page 223 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples 2.15.3.2 One operator panel front and three NCUs A sample configuration file is given below for a system consisting of one control unit and three NCUs on the OPI. Any adaptations which may need to be made are described in Section "Configurations". ;...
  • Page 224 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples [param NCU_3] name= any_name3 type= ncu_573 nck_address= 15 plc_address= 15 ; NETNAMES.INI, example 3 End 2.15.4 Quick M:N commissioning based on examples Introduction The MPI/OPI bus network rules are not described. See References: /BH/, Operator Components Manual Three examples are used to demonstrate the steps involved in starting up an M:N grouping.
  • Page 225 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples Step 1: Configuration file NETNAMES.INI The following entries are made in this example: [own] owner = MMC_1 ; Connection entry [conn MMC_1] conn_1 = NCU_1 conn_2 = NCU_2 ; Extcall not required for a PCU ;...
  • Page 226 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples [Station_1] logChanList = N1_K1, N1_K2 [N1_K1] logNCName = NCU_1 ChanNum = 1 [N1_K2] logNCName = NCU_1 ChanNum = 2 [Station_2] logChanList = N2_K1, N2_K2 [N2_K1] logNCName = NCU_2 ChanNum = 1 [N2_K2] logNCName = NCU_2 ChanNum = 2...
  • Page 227 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples Step 4: An FB9 call is not required for this configuration, because no suppression or active/passive switching takes place. Softkey label The texts are transferred from the NETNAMES.INI file. No extra texts over and above those in NETNAMES.INI are required for the present example.
  • Page 228 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples Step 1a): NETNAMES.INI configuration files In this example, separate entries are input for the operator panels in NETNAMES.INI files. Operator panel 1 Entries for HMI Advanced/PCU50: [own] owner = MMC_1 ;...
  • Page 229 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples ; Channel data [chan MMC_1] DEFAULT_logChanSet = Station_1 DEFAULT_logChan = N1_K1 ShowChanMenu = True logChanSetList = Station_1, Station_2 [Station_1] logChanList = N1_K1, N1_K2 [N1_K1] logNCName = NCU_1 ChanNum = 1 [N1_K2] logNCName = NCU_1 ChanNum = 2...
  • Page 230 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples Step 1b): Operator panel 2 Entries for HMI Embedded/PCU20: [own] owner= PCU20 ; Connection entry [conn PCU20] conn_1 = NCU_1 conn_2 = NCU_2 ; Network parameters [param network] bus= opi ;...
  • Page 231 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples ShowChanMenu = True logChanSetList = Station_1, Station_1 [Station_1] logChanList = N1_K1, N1_K2 [N1_K1] logNCName = NCU_1 ChanNum = 1 [N1_K2] logNCName = NCU_1 ChanNum = 2 [Station_2] logChanList = N1_K1, N1_K2 [N1_K1] logNCName = NCU_2 ChanNum = 1...
  • Page 232 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples Step 2b: PCU20 After the NETNAMES.INI and chan.txt files have been created, they are included in the *.abb file with the application. Step 3: Set the NCK bus addresses HMI Advanced/PCU50: 1.
  • Page 233 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples 2.15.4.3 Example 3 Hardware configuration The hardware comprises the following components: ● 1 operator panel (PCU50 with HMI Advanced, operator panel) ● 1 HT6 ● 2 NCUs with two channels each Figure 2-47 Operator panel and HT6 for two NCUs The operator panel (server) can access NCU1 and NCU2.
  • Page 234 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples ; HMI descriptions [param MMC_1] mmc_type = 0x40 mmc_bustyp = OPI mmc_address = 1 mstt_address = 255 ; 255 is necessary if no MCP ; is configured. name = MMC_Serv start_mode = ONLINE ;...
  • Page 235 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples [N1_K1] logNCName = NCU_2 ChanNum = 1 [N1_K2] logNCName = NCU_2 ChanNum = 2 ; End Step 1b: Create the NETNAMES.INI file for HT6 [own] owner = HT_6 ; Connection part [conn HT_6] conn_1 = NCU_2 ;...
  • Page 236 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples ; Channel data [chan HT_6] DEFAULT_logChanSet = Station_2 DEFAULT_logChan = N1_K1 ShowChanMenu = True logChanSetList = Station_2 [Station_2] logChanList = N2_K1, N2_K2 [N2_K1] logNCName = NCU_2 ChanNum = 1 [N2_K2] logNCName = NCU_2 ChanNum = 2 ;End of file...
  • Page 237 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples Step 4: Include FB9 in the PLC user program. You will find more details in the following section. 2.15.4.4 Description of FB9 Function description This block allows switchover between several operator panels (PCU with operator panel and/or machine control panel), which are connected to one or more NCU control modules via a bus system.
  • Page 238 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples MCP switchover: As an option, an MCP assigned to the PCU can be switched over at the same time. This can be done on condition that the MCP address is entered in parameter mstt_adress of PCU configuration file NETNAMES.INI and MCPEnable is set to true.
  • Page 239 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples Report : BOOL ;// Message: Sign-of-life monitoring ErrorMMC : BOOL ; // Error detection HMI END_VAR Explanation of the formal parameters The following table shows all formal parameters of function FB9 Table 2- 8 Formal parameters of FB9 Signal...
  • Page 240 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples 2.15.4.5 Example of calling FB9 CALL FB 9 , DB 109 ( Ack := Fehler_Quitt, // e.g. MCP reset OPMixedMode := FALSE, AktivEnable := TRUE, // Enable PCU switchover MCPEnable := TRUE, // Enable MCP switchover Alarm1 := DB2.dbx188.0, // Error message 700.100 Alarm2 := DB2.dbx188.1, // Error message 700.101 Alarm3 := DB2.dbx188.2, // Error message 700.102...
  • Page 241 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples Example of calling FB1 (call in OB100): CALL "RUN_UP" , "gp_par" ( MCPNum := 1, MCP1In := P#E 0.0, MCP1Out := P#A 0.0, MCP1StatSend := P#A 8.0, MCP1StatRec := P#A 12.0, MCP1BusAdr := 255, // Address of 1st MCP MCP1Timeout := S5T#700MS, MCP1Cycl := S5T#200MS,...
  • Page 242 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples SPB wei2; U M 100.2; //Switchover has taken place R M 100.2; // Reset auxiliary flag 1 SPB wei2; U M 100.3; //Comparison has taken place SPB MCP; //Call MCP program // Guide the stored override to the interface of the switched MCP // until the override values match L EB28;...
  • Page 243: Switchover Between Mcp And Ht6

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples 2.15.4.7 Switchover between MCP and HT6 CALL FCxx L DB7.DBB 27 // act. MCP L 6 // Machine control panel SPB MSTT // Call FC 19 L DB7.DBB 27 // act. MCP L 14 // HT 6 SPB HT6 // Call FC 26 SPA END...
  • Page 244: General Information

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples 2.15.4.8 General information ● In a configuration with only one NCU, the additional entry : " ,SAP=202 " must be set for the PLC address in the [param NCU_xx] section of the NETNAMES.INI file. Example: [param NCU_1] type =NCU_573...
  • Page 245 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples HT6 removal/insertion Trouble-free removal and insertion of the HT 6 during machine operation requires the following: ● Release or override of the HT 6 EMERGENCY STOP ● Connection of the HT 6 to the OPI/MPI via a PROFIBUS repeater. Figure 2-48 Connecting the HT 6 using a PROFIBUS repeater A PROFIBUS repeater must be connected upstream of the HT 6 distributor box for each...
  • Page 246: Link Axis

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples 2.15.5 Link axis Assumption NCU1 and NCU2 have one link axis each, machine data e.g.: ; Machine data for NCU1: $MN_NCU_LINKNO = 1 ; Set NCU number to 1 ; (Master NCU) $MN_MM_NCU_LINK_MASK = 1 ;...
  • Page 247: Axis Container Coordination

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples $MN_AXCONF_LOGIC_MACHAX_TAB[0] = "AX1" $MN_AXCONF_LOGIC_MACHAX_TAB[1] = "AX2" $MN_AXCONF_LOGIC_MACHAX_TAB[2] = "NC1_AX3" ; Link axis ; Unique NCU axis names $MN_AXCONF_MACHAX_NAME_TAB[0] = "NC2_A1" $MN_AXCONF_MACHAX_NAME_TAB[1] = "NC2_A2" $MN_AXCONF_MACHAX_NAME_TAB[2] = "NC2_A3" CHANDATA(1) $MC_AXCONF_MACHAX_USED[0] = 1 $MC_AXCONF_MACHAX_USED[1] = 2 $MC_AXCONF_MACHAX_USED[2] = 3 With software version 5 the machine data is:...
  • Page 248: Axis Container Rotation With An Implicit Part Program Wait

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples 2.15.6.2 Axis container rotation with an implicit part program wait Channel 1 Channel 2 Comment AXCTWE(C1) Part program ... Channel 1 enables the axis container for rotation. Part program with movement of a Part program ...
  • Page 249: Wait For Certain Completion Of Axis Container Rotation

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples 2.15.7.3 Wait for certain completion of axis container rotation If you want to wait until the axis container rotation is reliably completed, you can use one of the examples below selected to suit the relevant situation. Example 1 rl = $AN_AXCTAS[ctl];...
  • Page 250: Configuration Of A Multi-Spindle Turning Machine

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples N2150 WHILE (rl == $AN_AXCTAS[ctl]) Note Programming in the NC program: WHILE ($AN_AXCTSWA[n] == 0) ENDWHILE cannot be used as a reliable method of determining whether an earlier axis container rotation has finished.
  • Page 251 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples ● Couplings: – If drum A rotates, all main spindles of this drum are subordinate to another group of slides. – If drum B rotates, all main counterspindles and all transfer axes of this drum are subordinate to another group of slides.
  • Page 252 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples Axis container With rotation of drums A/B, HS , GS , ZG and STN must be assigned to another NCU and must therefore be configured as link axes in axis containers. Figure 2-49 Schematic diagram of main spindles HSi, countersp.
  • Page 253 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples Figure 2-50 Two slides per position can also operate together on one spindle. Note The axes are given the following names in order to clarify the assignments of axes to slides and positions: Xij with i slide (1, 2), j position (A-D) Zij with i slide (1, 2), j position (A-D)
  • Page 254 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples Axes of master NCU Table 2- 9 Axes of master NCU: NCUa Common axes Local axes Comment TRV (drum V) Master NCU only TRH (drum H) Master NCU only Slide 1 Slide 1 Slide 2 Slide 2...
  • Page 255 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples Configuration options ● Main or counterspindles are flexibly assigned to the slide. ● The speed of the main spindle and the counterspindle can be defined independently in each position. Exceptions: During the parts change from front-plane machining in drum V to rear-plane machining in drum H, the speeds of the main spindle and the counterspindle must be synchronized (synchronous spindle coupling).
  • Page 256 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples Table 2- 10 NCUa, position: a, channel: 1, slide: 1 Channel axis name ..._MACHAX $MN_ Container, slot Machine axis name _USED AXCONF_LOGIC_MACH entry (string) AX_TAB, AX1: CT1_SL1 NC1_AX1 AX2: CT3_SL1 NC1_AX2 AX3: AX4:...
  • Page 257 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples Note * due to program coordination via axis positions and 4-axis machining in one position Entries in the axis container locations should have the following format: "NC1_AX.." with the meaning NC1 = NCU 1. In the above tables, NCUa is imaged on NC1_..., NCUb on NC2_... etc.
  • Page 258 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples Table 2- 12 Axis container and their position-dependent contents for drum A Container Slot Initial position Switch 1 Switch 2 Switch 3 Switch 4 = (TRA 0°) (TRA 90°) (TRA 180°) (TRA 270°) (TRA 0°) NC1_AX1, HS1...
  • Page 259: Lead Link Axis

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples 2.15.9 Lead link axis 2.15.9.1 Configuration Figure 2-52 NCU2 to NCUn use a lead link axis to enable coupling to the machine axis on NCU1 (NCU1-AX3). The following example refers to the axis coupling section between Y(LAX2, AX2) as following axis on NCU2 and Z(LAX3, NC1_AX3) as lead link axis.
  • Page 260 Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples Machine data for NCU1 NCU traversing leading axis $MN_NCU_LINKNO = 1 ; Master NCU $MN_MM_NCU_LINK_MASK = 1 ; NCU link active $MN_MM_LINK_NUM_OF_MODULES = 2 ; Number of link modules $MN_MM_SERVO_FIFO_SIZE = 4 ;...
  • Page 261: Programming

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples 2.15.9.2 Programming Program on NCU 1 NCU1 traverses leading axis Z. The variable is 1 for as long as NCU2 is prepared for movement of the leading axis (messages via link variable $A_DLB[0]); after completion of movement, the variable is 0.
  • Page 262: Ncu Link With Different Interpolation Cycles

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Examples 2.15.10 NCU link with different interpolation cycles 2.15.10.1 Example of eccentric turning Task assignment Create a non-circular shape with the following characteristics: Ellipticity: 0.2 mm Base circle diameter: 50 mm Z path per revolution: 0.1 mm Spindle speed: 3000 rpm A sinusoidal approximation via a cubic polynomial per 45 degrees of spindle revolution...
  • Page 263: Data Lists

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Data lists 2.16 Data lists 2.16.1 Machine data 2.16.1.1 General machine data Number Identifier: $MN_ Description 10002 AXCONF_LOGIC_MACHAX_TAB[n] Logical NCU machine axis image 10065 POSCTRL_DESVAL_DELAY Position setpoint delay 10087 SERVO_FIFO_SIZE Size of data buffer between interpolation and position controller task (up to software version 5, then MD18720, see below) 10134...
  • Page 264: Axis/Spindle-Specific Machine Data

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Data lists 2.16.1.3 Axis/spindle-specific machine data Number Identifier: $MA_ Description 30550 AXCONF_ASSIGN_MASTER_CHAN Default assignment between an axis and a channel 30554 AXCONF_ASSIGN_MASTER_NCU Initial setting defining which NCU generates setpoints for the axis 30560 IS_LOCAL_LINK_AXIS Axis is a local link axis...
  • Page 265: Signals From Hmi/Plc

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Data lists 2.16.3.2 Signals from HMI/PLC DB number Byte.Bit Description DBW100 ONL_REQUEST Online request from MMC DBW102 ONL_CONFIRM Acknowledgement to MMC DBW104 PAR_CLIENT_IDENT MMC bus address, bus type DBB106 PAR_MMC_TYP Main/secondary control panel/alarm server DBB107 PAR_MSTT_ADR Address of MCP to be activated DBB108...
  • Page 266: Signals To Axis/Spindle

    Several Operator Panels on Several NCUs, Distributed Systems (B3) Data lists 2.16.3.4 Signals to axis/spindle DB number Byte.bit Description 31, ... 60.1 NCU link axis active 31, ... 61.1 Axis container rotation active 31, ... 61.2 Axis ready Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 267: Operation Via Pg/Pc (B4)

    Operation via PG/PC (B4) Brief description Applications Operation via PG/PC ● must be utilized if no operator panel front is installed. ● can be utilized as a handling support for OP030 panels. Hardware The following hardware requirements must be fulfilled: ●...
  • Page 268 Operation via PG/PC (B4) Brief description Implementation Variant 2 Operator panel front and up to three NCUs The machine control panel is permanently allocated to the NCU concerned. Figure 3-2 Configuration m:n corresponds to 1:3 Reference: /FB2/ Function Manual, Extended Functions; Several Operator Panel Fronts and NCUs (B3) Operator interfaces The operator interfaces are described in the operator's guides for the operator panel fronts used.
  • Page 269: Software Installation

    Operation via PG/PC (B4) Software installation Software installation 3.2.1 System requirements Hardware requirements The following hardware requirements must be fulfilled to allow operation via PG/PC: ● IBM AT-compatible PG/PC with 486DX33 microprocessor ® ● At least 8 MB of main memory ●...
  • Page 270: Installation

    Operation via PG/PC (B4) Software installation 3.2.2 Installation Storage area of MPI card The storage area of the MPI card must be excluded from use by the memory manager (files: CONFIG.SYS, SYSTEM.INI). Example for entry in SYSTEM.INI: [386enh] EmmExclude=..<storage area of card> (See hardware description of card) Scope of delivery System software:...
  • Page 271 Operation via PG/PC (B4) Software installation Figure 3-3 Enter installation path 3. Select operation with MPI or without MPI Figure 3-4 Operation with/without MPI Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 272 Operation via PG/PC (B4) Software installation 4. Select turning or milling Figure 3-5 Select turning/milling Note If you want to change your selection later, select the directory "mmc2" and copy "dpturn.exe" (turning) or "dpmill.exe" (milling) into the directory "dp.exe". 5. Select drive Only if several local disk drives are available.
  • Page 273 Operation via PG/PC (B4) Software installation Following the selection, a status display with the inputs made is shown. Figure 3-7 Status display of the installation mode 6. Continue When you press Continue, you are prompted to insert the installation diskettes. Note Please observe the requests made on the screen.
  • Page 274 Operation via PG/PC (B4) Software installation 7. Make settings OPI interface (1.5 Mbaud), Configuration: 1 MMC to 1 NCU (on delivery) Additional settings are not required. MPI interface (187.5 Kbaud), Configuration: 1 MMC to 1 NCU (on delivery) 1. Determination of the NCK/PLC bus address –...
  • Page 275: Supplementary Software Conditions

    Operation via PG/PC (B4) Software installation – "netnames.ini" file The following lines in the file must be changed: # bus = opi must be replaced by = mpi # nck_address = 13 must be replaced by = 3 (if PLC ≥ software version 3.2) = 13 (if PLC <...
  • Page 276: Start Program

    Operation via PG/PC (B4) Software installation 3.2.4 Start program Program call The MMC 102/103 software is started on a PG/PC either ● from the program manager through selection of the "SINUMERIK 840D MMC V2.3" program group followed by a double click on the "MMC Startup" symbol or Figure 3-8 SINUMERIK 840D MMC program group ●...
  • Page 277: Operation Via Pg/Pc

    Operation via PG/PC (B4) Operation via PG/PC Operation via PG/PC 3.3.1 General operation Operating philosophy The special function keys of the operator keyboard can be used with the full keyboard. Operator inputs can be made using the mouse or via the keyboard. Keyboard operation The following table shows the assignments between the function keys and the softkeys/special keys:...
  • Page 278 Operation via PG/PC (B4) Operation via PG/PC Selection fields i and R, which appear in every display, have the following meaning: ● The i field is selected with the Help key or by mouse click. ● The R field is selected with the F9 key or by mouse click. Selection of this field activates the Recall function, i.e.
  • Page 279: Additional Information

    Operation via PG/PC (B4) Operation via PG/PC Activation of fields To be able to alter values and functions, the window with the input field must be activated using the CTRL + TAB keys or the HOME key (yellow frame = focus). 3.3.2 Additional information Axis selection...
  • Page 280: Operation Of Operator Panel Fronts

    Operation via PG/PC (B4) Simulation of part programs 3.3.3 Operation of operator panel fronts The system responds as follows, for example, when two operator panel fronts are operated in the configuration illustrated below: 1. For the NCU, there is no difference whether the input is from the MMC or OP030 operator panel front.
  • Page 281: Marginal Conditions

    Operation via PG/PC (B4) Marginal conditions Marginal conditions The "Operation via PG/PC" function is available in the basic version with software version 3.1 and higher. With software version 3.1, the number of NCUs which may be connected is limited to one and the number of operator panel fronts to two. One of these must be an OP030.
  • Page 282 Operation via PG/PC (B4) Data lists Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 283: Manual And Handwheel Travel (H1)

    Manual and Handwheel Travel (H1) Brief description 4.1.1 Overview Applications Even on modern, numerically controlled machine tools, a facility must be provided that allows the user to traverse the axes manually. Setting up the machine This is especially necessary when a new machining program is being set up and the machine axes have to be moved with the traversing keys on the machine control panel or with the electronic handwheel.
  • Page 284: General Characteristics Of Manual Travel In Jog

    Manual and Handwheel Travel (H1) Brief description The differential resolver function (DRF) generates an additional incremental work offset in AUTOMATIC mode via the electronic handwheel. This function can be used, for example, to correct tool wear within a programmed block. Fixed point approach The "fixed point approach in JOG"...
  • Page 285 Manual and Handwheel Travel (H1) Brief description Simultaneous travel All axes can be traversed simultaneously in JOG. If several axes are moved simultaneously, there is no interpolatory relation. Velocity The velocity for a JOG traversing movement is determined by the following value settings depending on the feedrate mode: ●...
  • Page 286 Manual and Handwheel Travel (H1) Brief description Feedrate override The JOG velocity can also be influenced by the axial feedrate override switch provided that interface signal DB31, ... DBX1.7 (axial feedrate override active) is active. Percentages are assigned to the individual feedrate-override switch positions via machine data.
  • Page 287: Control Of Manual-Travel Functions Via Plc Interface

    Manual and Handwheel Travel (H1) Brief description Geometry axes In manual travel, a distinction must be made as to whether the affected axis is to be traversed as a machine axis (axis-specific) or as a geometry axis (channel-specific). First we will focus on the characteristics of machine axes. Special features relating to manual traversal of geometry axes are described in more detail in "Geometry-axis manual travel".
  • Page 288 Manual and Handwheel Travel (H1) Brief description Selection of machine function The machine functions available in JOG mode can be selected from the following locations: Via machine control panel (MCP) → e.g. user DB interface Via PLC user program → PLC/NCK interface The PLC user program transfers the machine function pending at the machine-control-panel interface to the relevant PLC/NCK interface.
  • Page 289 Manual and Handwheel Travel (H1) Brief description 4.1.4 Control-system response to power ON, mode change, RESET, block search, REPOS A RESET will always abort (with braking ramp) any traversing movement triggered by handwheel travel. Selection from MCP The following example shows the sequence of operations for selecting the "continuous" machine function for a machine axis of the machine control panel.
  • Page 290 Manual and Handwheel Travel (H1) Continuous travel Continuous travel 4.2.1 General functionality Selection In JOG mode, continuous travel must be activated via the PLC interface: DB21, ... DBX13.6, ff (machine function: continuous) As soon as continuous travel is active, interface signal DB21, …...
  • Page 291 Manual and Handwheel Travel (H1) Continuous travel 4.2.2 Distinction between inching mode continuous mode Selection In JOG mode, we distinguish between traversing in inching mode and in continuous mode. The selection is made using general setting data SD41050 $SN_JOG_CONT_MODE_LEVELTRIGGRD (inching mode/continuous mode in continuous JOG) and applies to all axes.
  • Page 292 Manual and Handwheel Travel (H1) Continuous travel Abort traversing movement The traversing movement can be stopped and aborted by means of the following operations or monitoring functions: ● Pressing the same traversing key again (second rising edge) ● Pressing the traversing key for the opposite direction ●...
  • Page 293 Manual and Handwheel Travel (H1) Incremental travel (INC) Incremental travel (INC) 4.3.1 General functionality Programming increments The path to be traversed by the axis is defined by so-called increments (also called "incremental dimensions"). The required increment must be set by the machine user before the axis is traversed.
  • Page 294 Manual and Handwheel Travel (H1) Incremental travel (INC) 4.3.2 Distinction between inching mode and continuous mode Selection When machine axes are in incremental mode, we also distinguish between inching mode and continuous mode. The selection is made using general machine data MD11300 $MN_JOG_INC_MODE_LEVELTRIGGRD (INC and REF in inching mode).
  • Page 295 Manual and Handwheel Travel (H1) Incremental travel (INC) CAUTION Software limit switches and working-area limitations are only activated after reference point approach. ● On deselection or change of the current increment (e.g. change from INC100 to INC10) ● In the event of faults (e.g. on cancellation of the servo enable) Note While an axis is moving, a change of mode from JOG to AUT or MDI is not permitted within the control.
  • Page 296 Manual and Handwheel Travel (H1) Handwheel travel in JOG Handwheel travel in JOG 4.4.1 General functionality Selection JOG mode must be active. The user must also set the increment INC1, INC10, etc., which applies to handwheel travel. As with incremental travel, the required machine function must be set at the PLC interface accordingly.
  • Page 297 Manual and Handwheel Travel (H1) Handwheel travel in JOG Handwheel assignment A handwheel is assigned to a geometry or machine axes via a separate axis-specific VDI interface signal. The axis to be moved as a result of rotating handwheel 1 or 2 is set as follows: ●...
  • Page 298 Manual and Handwheel Travel (H1) Handwheel travel in JOG Input frequency The handwheel connections can receive handwheel pulses with a maximum input frequency of 100 kHz. Velocity In handwheel travel the following axis velocities, effective during JOG mode, are used: SD41110 $SN_JOG_SET_VELO (axis velocity in JOG), SD41130 $SN_JOG_ROT_AX_SET_VELO (axis velocity of rotary axis in JOG mode),...
  • Page 299 Manual and Handwheel Travel (H1) Handwheel travel in JOG A traversing movement defined by the handwheel for a machine axis is defined by: ● Traverse path ● Size of the variable increment (SD41010 $SN_JOG_VAR_INCR_SIZE) ● Machine-axis assignment (MD32080 $ HANDWH_MAX_INCR_SIZE) Movement in the opposite direction MD11310 $MN_HANDWH_REVERSE (threshold for direction change handwheel) Depending on the machine data mentioned above, behavior for a change of traversing...
  • Page 300 Manual and Handwheel Travel (H1) Handwheel travel in JOG Response at software limit switches, working-area limitation When axes are traversed in JOG mode, they can traverse only up to the first active limitation before the corresponding alarm is output. MD11310 $MN_HANDWH_REVERSE (threshold for direction change handwheel) Depending on the above machine data, the behavior is as follows (as long as the axis on the setpoint side has not yet reached the end point): ●...
  • Page 301 Manual and Handwheel Travel (H1) Handwheel travel in JOG 4.4.2 Travel request Compared to the previous response, additional options are possible with the travel-request signals, as described in the following. "Travel-request" signals DB21, … DBX40.5 Travel request + Geometry axis 1 DB21, …...
  • Page 302 Manual and Handwheel Travel (H1) Handwheel travel in JOG Handwheel travel with path default If a pending stop condition is not an abort criterion (see MD32084 $MA_HANDWH_STOP_COND MD20624 $MC_HANDWH_CHAN_STOP_COND) during handwheel travel with path default (MD11346 $MN_HANDWH_TRUE_DISTANCE == 1 or == 3), the "travel request"...
  • Page 303 Manual and Handwheel Travel (H1) Handwheel travel in JOG If a pending stop condition is selected as an abort criterion via machine data MD32084 $MA_HANDWH_STOP_COND MD20624 $MC_HANDWH_CHAN_STOP_COND during handwheel travel, once again no motion command is output (compatibility), but the corresponding travel request is output.
  • Page 304 Manual and Handwheel Travel (H1) Handwheel travel in JOG With velocity specification If the handwheel is no longer moved with velocity specification (MD11346 $MN_HANDWH_TRUE_DISTANCE == 0 or == 2), the "travel request" PLC signal is reset. The "travel request" PLC signal is also reset when the handwheel is deselected. Figure 4-5 Signal/timing diagram, handwheel travel with velocity specification when stop condition is abort criterion...
  • Page 305 Manual and Handwheel Travel (H1) Handwheel travel in JOG Examples In machine data MD32084 $MA_HANDWH_STOP_COND (control of VDI signals relating to handwheel) the feed stop is set as the abort criterion. The "feed stop" PLC signal is present. Handwheel travel is selected (JOG mode, DRF travel in AUTOMATIC mode).
  • Page 306 Manual and Handwheel Travel (H1) Handwheel travel in JOG Example: Velocity override of positioning axis Assumption: Channel 1: Channel axis A corresponds to machine axis 4 and handwheel 1 is assigned to this axis. If block POS[A]=100 FDA[A]=0 is processed in the main run, machine axis 4 cannot be traversed with DRF.
  • Page 307 Manual and Handwheel Travel (H1) Handwheel override in automatic mode Handwheel override in automatic mode 4.5.1 General functionality Function With this function it is possible to traverse axes or to change their velocities directly with the handwheel in automatic mode (Automatic, MDI). The handwheel override is activated in the NC part program using the NC language elements FD (for path axes) and FDA (for positioning axes) and is non-modal.
  • Page 308 Manual and Handwheel Travel (H1) Handwheel override in automatic mode Path default With axis feedrate = 0 (e.g. FDA[AXi] = 0), the traversing movement of the positioning axis towards the programmed target position is controlled entirely by the user rotating the assigned handwheel.
  • Page 309 Manual and Handwheel Travel (H1) Handwheel override in automatic mode Application example The "Handwheel override in automatic mode" function is frequently used on grinding machines. For example, the user can position the reciprocating grinding wheel on the workpiece using the handwheel (path default). After scratching, the traversing movement is terminated and the block change is initiated (by activating DB31, ...
  • Page 310 Manual and Handwheel Travel (H1) Handwheel override in automatic mode For example, the axis traverses by 0.001 mm per handwheel detent position if machine function INC1 and the default setting of the above machine data are selected. In the case of velocity override, the velocity results from the traverse path covered using the handwheel within a certain period of time.
  • Page 311 Manual and Handwheel Travel (H1) Handwheel override in automatic mode NC Stop/override = 0 If the feedrate override is set to 0% or an NC Stop is initiated while the handwheel override is active, the following applies: ● For path default: The handwheel pulses arriving in the meantime are summated and stored.
  • Page 312 Manual and Handwheel Travel (H1) Handwheel override in automatic mode Positioning axis Syntax for handwheel override: FDA[AXi] = [feedrate value] Example 1: Activate velocity override N10 POS[U]=10 FDA[U]=100 POSA[V]=20 FDA[V]=150 . . . POS[U]=10 Target position of positioning axis U FDA[U]=100 Activate velocity override for positioning axis U;...
  • Page 313 Manual and Handwheel Travel (H1) Handwheel override in automatic mode Example 3 Activate velocity override N10 G01 X10 Y100 Z200 FD=1500 . . . X10 Y100 Z200 Target position of path axes X, Y and Z FD=1500 Activate velocity override for path axes; path velocity = 1500 mm/min Concurrent positioning axis The handwheel override for concurrent positioning axes is activated from the PLC via FC15...
  • Page 314 Manual and Handwheel Travel (H1) Handwheel override in automatic mode Dry-run feedrate With active dry run DB21, ... DBX0.6 (activate dry-run feedrate) = 1, the dry-run feedrate is always effective SD42100 $SC_DRY_RUN_FEED. In this way, the axis is traversed to the programmed target position at dry-run feedrate without any influence from the handwheel despite the active handwheel override with path default (FDA[AXi] = 0), i.e.
  • Page 315 Manual and Handwheel Travel (H1) Third handwheel via SIMODRIVE 611D (SINUMERIK 840D) Third handwheel via SIMODRIVE 611D (SINUMERIK 840D) Function Via cable distributor (Peripheral interface of the NCU: X121) two handwheels can be connected. A third handwheel can be connected via an encoder interface of a SIMODRIVE 611D drive, for instance, to be used as contour handwheel.
  • Page 316 Manual and Handwheel Travel (H1) Third handwheel via SIMODRIVE 611D (SINUMERIK 840D) Activation, machine data and interface signals The following machine data and interface signals are required to activate the third handwheel: Machine data Description MD11340 $MN_ENC_HANDWHEEL_SEGMENT_NR 3rd handwheel: drive type MD11342 $MN_ENC_HANDWHEEL_MODULE_NR 3rd handwheel: drive no./measuring circuit no.
  • Page 317 Manual and Handwheel Travel (H1) Contour handwheel/path default using handwheel (optional for SINUMERIK 840D) Contour handwheel/path default using handwheel (optional for SINUMERIK 840D) Function When the function is activated, the feedrate of path and synchronized axes can be controlled via a handwheel in AUTOMATIC and MDI modes. Function response MD11346 $MN_HANDWH_TRUE_DISTANCE The response below can be set for the contour handwheel using above machine data...
  • Page 318 Manual and Handwheel Travel (H1) Contour handwheel/path default using handwheel (optional for SINUMERIK 840D) Traversing direction The traversing direction depends on the direction of rotation: ● Clockwise → Results in travel in the programmed direction If the block-change criterion (IPO end) is reached, the program advances to the next block (response identical to G60).
  • Page 319 Manual and Handwheel Travel (H1) DRF offset Supplementary conditions ● Preconditions Fixed feedrate, dry-run feedrate, thread cutting, or tapping must not be selected. ● Limit values The acceleration and velocity of the axes are limited to the values defined in the machine data.
  • Page 320 Manual and Handwheel Travel (H1) DRF offset Applications The DRF offset can be used, for example, in the following application cases: ● Offsetting tool wear within an NC block Where NC blocks have very long processing times, it becomes necessary to offset tool wear manually within the NC block (e.g.
  • Page 321 Manual and Handwheel Travel (H1) DRF offset Control of DRF offset The DRF offset can be modified, deleted or read: Traversing with the handwheel User: • Reading via axis-specific system variable $AC_DRF[<axis>] Part program: • Deleting via parts-program command (DRFOF) for all axes in a •...
  • Page 322 Manual and Handwheel Travel (H1) DRF offset Figure 4-7 Control of DRF offset Display The axis actual-position display (ACTUAL POSITION) does not change while an axis is being traversed with the handwheel via DRF. The current axis DRF offset can be displayed in the DRF window.
  • Page 323 Manual and Handwheel Travel (H1) Start-up: Handwheels Start-up: Handwheels 4.9.1 General information In order to operate handwheels of a SINUMERIK control system, they have to be parameterized via NCK machine data. If the handwheels are not connected to the control directly through a cable distributor, other measures must be taken, e.g.
  • Page 324 Manual and Handwheel Travel (H1) Start-up: Handwheels 4.9.2 Connection via cable distributor Parameter setting Parameterization of handwheels connected via cable distributor is done via the following NCK machine data: Handwheel_No._in_NCK - 1 ● MD11350 $MN_HANDWHEEL_SEGMENT[< >] = 1 When connected via cable distributor, the hardware segment has always to be entered as 1 (local hardware segment).
  • Page 325 Manual and Handwheel Travel (H1) Start-up: Handwheels 4.9.3 Connection via SIMODRIVE 611D (SINUMERIK 840D) Parameter setting For SINUMERIK 840D a third handwheel can be connected via an encoder interface of a drive, in connection with SIMODRIVE 611D. Parameterization of the third handwheel is done via the following NCK machine data: Encoder interface ●...
  • Page 326 Manual and Handwheel Travel (H1) Start-up: Handwheels 4.9.4 Connection via PROFIBUS Parameter setting Parameterization of handwheels connected via PROFIBUSmodules (e.g. machine control table "MCP 483") is done with the following NCK machine data: Handwheel_No._in_NCK - 1 ● MD11350 $MN_HANDWHEEL_SEGMENT[< >] = 5 When connected via PROFIBUSmodule, the hardware segment has always to be entered as 5 (PROFIBUS).
  • Page 327 Manual and Handwheel Travel (H1) Start-up: Handwheels Note Machine data gaps are allowed when parameterizing handwheels in NCK machine data. Machine control tables have been configured in SIMATIC STEP 7, HW Config as follows: Slot DP ID Order No./Description I address O address 1st MCP Standard+Handwheel...
  • Page 328 Manual and Handwheel Travel (H1) Start-up: Handwheels Machine data Value Description MD11351 $MN_HANDWHEEL_MODULE[3] No handwheel parameterized MD11352 $MN_HANDWHEEL_INPUT[3] No handwheel parameterized 5th handwheel in NCK MD11350 $MN_HANDWHEEL_SEGMENT[4] Hardware segment: PROFIBUS MD11351 $MN_HANDWHEEL_MODULE[4] Reference to logical base address of the handwheel slot of the 3rd MD11352 $MN_HANDWHEEL_INPUT[4] 1st handwheel in handwheel slot 6th handwheel in NCK...
  • Page 329 Manual and Handwheel Travel (H1) Start-up: Handwheels Handwheel interfaces at the Ethernet Bus The handwheel interfaces at the Ethernet bus are numbered on the basis of the following considerations: ● The sequence of the operator component interfaces is: MCP1, MCP2, BHG ●...
  • Page 330 Manual and Handwheel Travel (H1) Start-up: Handwheels Table 4- 1 NCK machine data for the handwheel assignment Machine data Value Description HT 8: Handwheel number in the NC = 1 MD11350 $MN_HANDWHEEL_SEGMENT[ 0 ] Segment: Ethernet MD11350 $MN_HANDWHEEL_MODULE[ 0 ] Module: Ethernet MD11350 $MN_HANDWHEEL_INPUT[ 0 ] Handwheel interface at Ethernet bus...
  • Page 331 Manual and Handwheel Travel (H1) Start-up: Handwheels Filter time Since the handwheel pulses on the Ethernet bus are not transferred deterministically, filtering (smoothing) of the handwheel pulse transfer process may be necessary for highly dynamic drives. The parameter for the filter time is assigned using the following machine data: ●...
  • Page 332 Manual and Handwheel Travel (H1) Special features of manual travel 4.10 Special features of manual travel 4.10.1 Geometry-axis manual travel Coordinate systems in JOG In JOG mode, the user can also traverse the axes declared as geometry axes in the workpiece coordinate system manually.
  • Page 333 Manual and Handwheel Travel (H1) Special features of manual travel Alarms Alarm 20062, "Axis already active", is triggered in the case of geometry-axis manual travel under the following conditions: ● The axis is already being traversed in JOG mode via the axial PLC interface. ●...
  • Page 334 Manual and Handwheel Travel (H1) Special features of manual travel Velocity override The spindle-override-switch JOG velocity is active for spindles. JOG acceleration As a spindle often uses many gear stages in speed-control and position-control modes, the acceleration associated with the current gear stage is always applied to the spindle in JOG mode.
  • Page 335 Manual and Handwheel Travel (H1) Special features of manual travel 4.10.3 Monitoring functions Limitations The following limitations are active for manual travel: ● Working-area limitation (axis must be referenced) ● Software limit switches 1 and 2 (axis must be referenced) ●...
  • Page 336 Manual and Handwheel Travel (H1) Special features of manual travel Maximum velocity and acceleration The velocity and acceleration used during manual travel are defined by the startup engineer for specific axes using machine data. The control limits the values acting on the axes to the maximum velocity and acceleration specifications.
  • Page 337 Manual and Handwheel Travel (H1) Special features of manual travel Transverse axes If a geometry axis is defined as a transverse axis and radius programming is selected (MD20100 $MC_DIAMETER_AX_DEF (geometry axes with transverse-axis functions)), the following features should be observed when traversing in JOG: ●...
  • Page 338 Manual and Handwheel Travel (H1) Approaching a fixed point in JOG 4.11 Approaching a fixed point in JOG 4.11.1 Introduction Function The machine user can use the "Approaching fixed point in JOG" function to approach axis positions defined through machine data by actuating the traverse keys of the machine control table.
  • Page 339 Manual and Handwheel Travel (H1) Approaching a fixed point in JOG 4.11.2 Functionality Procedure Procedure in "Approaching fixed point in JOG" ● Selection of JOG mode ● Enabling the "Approach fixed point in JOG" function ● Traversing of the machine axis with traverse keys or handwheel Activation The PLC sets the interface signal after the "Approach fixed point in JOG"...
  • Page 340 Manual and Handwheel Travel (H1) Approaching a fixed point in JOG Movement in the opposite direction The response while traversing in the opposite direction, i.e. against the direction of the approaching fixed point depends on the setting of Bit 2 in the machine data: MD10735 $MN_JOG_MODE_MASK (settings for the JOG mode) Traverse in the opposite direction is possible only if the bit is set.
  • Page 341 Manual and Handwheel Travel (H1) Approaching a fixed point in JOG Special features of incremental travel If, during incremental travel, the fixed point is reached before the increment is completed, then the increment is considered to have been completed fully. This is the case even when only whole increments are traveled.
  • Page 342 Manual and Handwheel Travel (H1) Approaching a fixed point in JOG 4.11.3 Parameter setting Movement in the opposite direction The response while traversing in the opposite direction, i.e. against the direction of the approaching fixed point depends on the setting of Bit 2 in the machine data: MD10735 $MN_JOG_MODE_MASK (settings for the JOG mode) Value Description...
  • Page 343 Manual and Handwheel Travel (H1) Approaching a fixed point in JOG 4.11.5 Supplementary conditions Axis is indexing axis The axis is not traversed and an alarm is output if the axis to be traversed is an indexing axis and the fixed point position to be approached does not match an indexing position. Frames active All active frames are ignored.
  • Page 344 Manual and Handwheel Travel (H1) Approaching a fixed point in JOG 4.11.6 Application example Target A rotary axis (machine axis 4 [AX4]) is to be moved to Fixed Point 2 (90 degrees) with the "Approaching fixed point in JOG" function. Parameter setting The machine data for the "Approaching fixed point"...
  • Page 345 Manual and Handwheel Travel (H1) Data lists 4.12 Data lists 4.12.1 Machine data 4.12.1.1 General machine data Number Identifier: $MN_ Description 10000 AXCONF_MACHAX_NAME_TAB[n] Machine axis name 10735 JOG_MODE_MASK Settings of the JOG mode 11300 JOG_INC_MODE_LEVELTRIGGRD INC and REF in inching mode 11310 HANDWH_REVERSE Defines movement in the opposite direction...
  • Page 346 Manual and Handwheel Travel (H1) Data lists 4.12.1.3 Axis/spindle-specific machine data Number Identifier: $MA_ Description 30450 IS_CONCURRENT_POS_AX Default setting at reset: neutral axis or channel axis 30600 FIX_POINT_POS[n] Fixed point positions of the axis 30610 NUM_FIX_POINT_POS Number of fixed point positions of an axis 31090 JOG_INCR_WEIGHT Weighting of an increment for INC/handwheel...
  • Page 347 Manual and Handwheel Travel (H1) Data lists 4.12.3 Signals 4.12.3.1 Signals to NC DB number Byte.bit Description Handwheel 1 is operated Handwheel 2 is operated Handwheel 3 is operated 4.12.3.2 Signals from NC DB number Byte.bit Description 97, 98, 99 Channel number for geometry axis, handwheel 1, 2, 3 100, 101, 102 Axis number for handwheel 1, 2, 3, handwheel selected and machine axis...
  • Page 348 Manual and Handwheel Travel (H1) Data lists 4.12.3.5 Signals to channel DB number Byte.bit Description 21, ... Activate DRF 21, ... 12.2, 12.1, Activate handwheel (3, 2, 1) 12.0 16.2, 16.1, 16.0 20.2, 20.1, 20.0 21, ... 12.4, 16.4, Traversing-key lock 20.4 21, ...
  • Page 349 Manual and Handwheel Travel (H1) Data lists 4.12.3.6 Signals from channel DB number Byte.bit Description 21, ... 24.3 DRF selected 21, ... 40.2, 40.1, Handwheel active (3, 2, 1) 40.0 46.2, 46.1, 46.0 52.2, 52.1, 52.0 21, ... 40.5, 40.4 Geometry axis travel request 46.5, 46.4 52.5, 52.4...
  • Page 350 Manual and Handwheel Travel (H1) Data lists 4.12.3.7 Signals to axis/spindle DB number Byte.bit Description 31, ... Feedrate/spindle override 31, ... Override active 31, ... Axial delete distance-to-go 31, ... 4.2, 4.1, 4.0 Activate handwheel (3, 2, 1) 31, ... Traversing-key lock 31, ...
  • Page 351 Compensations (K3) Brief description Reason The accuracy of machine tools is impaired as a result of deviations from the ideal geometry, power transmission faults and measuring system errors. Temperature differences and mechanical forces often result in great reductions in precision when large workpieces are machined.
  • Page 352 Compensations (K3) Brief description Interpolatory compensation The "Interpolatory compensation" function allows position-related dimensional deviations (for example, by leadscrew errors, measuring system errors or sag) to be corrected. The compensation values are measured during commissioning and stored in a table as a position-related value.
  • Page 353 Compensations (K3) Temperature compensation Temperature compensation 5.2.1 General information Deformation due to temperature effects Heat generated by the drive equipment or high ambient temperatures (e.g. caused by sunlight, drafts) cause the machine base and parts of the machinery to expand. The degree of expansion depends on the temperature and the thermal conductivity of the machine parts.
  • Page 354 Compensations (K3) Temperature compensation Figure 5-1 Example of an error curve for heat expansion Compensation equation The compensation value ∆K is calculated on the basis of current actual position P of this axis and temperature T according to the following equation: ΔK (T) + tanβ...
  • Page 355 Compensations (K3) Temperature compensation 5.2.2 Temperature compensation parameters Temperature-dependent parameters Error curves for different temperatures can be defined for each axis, as illustrated in the diagram above. For each error curve the following parameters must be determined and then entered in the setting data: ●...
  • Page 356 Compensations (K3) Temperature compensation Activation The following conditions must be fulfilled before temperature compensation can be applied: 1. The option must be enabled. 2. The compensation type is selected (MD32750 $MA_TEMP_COMP_TYPE). 3. The parameters for the compensation type are defined. 4.
  • Page 357 Compensations (K3) Temperature compensation Smooth the compensation value To prevent overloading of the machine or tripping of monitoring functions in response to step changes in the above parameter settings, the compensation values are distributed among several IPO cycles by an internal control function as soon as they exceed the maximum compensation value specified for each cycle in the following machine data: MD32760 $MA_COMP_ADD_VELO_FACTOR (velocity violation caused by compensation)
  • Page 358 Compensations (K3) Temperature compensation Figure 5-3 Error curves determined for the Z axis Specify parameters The temperature compensation parameters must now be set on the basis of the measurement results (see diagram above). Reference position P As the diagram above illustrates, there are basically two methods of configuring reference position P 1.
  • Page 359 Compensations (K3) Temperature compensation Figure 5-4 Characteristic of coefficient tanβ as a function of measured temperature T Depending on the resulting line, the following dependency on T results for the coefficient tanβ: tanβ(T) = (T - T ) * TK * 10 / (T max -...
  • Page 360 Compensations (K3) Backlash compensation Backlash compensation Mechanical backlash During power transmission between a moving machine part and its drive (e.g. ball screw), there is normally a small amount of backlash because setting mechanical parts so that they are completely free of backlash would result in too much wear and tear on the machine. Thus, backlash (play) can occur between the machine component and the measuring system.
  • Page 361 Compensations (K3) Backlash compensation Positive backlash The encoder leads the machine part (e.g. table). Since the actual position acquired by the encoder also leads the real actual position of the table, the table travels too short a distance (see diagram below). The backlash compensation value must be entered as a positive value here (= normal case).
  • Page 362 Compensations (K3) Backlash compensation 2nd measuring system If there is a 2nd measuring system for the axis/spindle, a backlash compensation must be entered for this too. As the second measuring system is mounted in a different way from the first measuring system, the backlash can be different from that of the first measuring system. When the measuring system is switched over the associated compensation value is always activated.
  • Page 363 Compensations (K3) Interpolatory compensation Interpolatory compensation 5.4.1 General information Compensation methods The "interpolatory compensation" function uses the following two compensation methods: ● "Leadscrew error compensation" or "measuring system error compensation" (referred to as LEC below). ● Sag compensation or angularity error compensation, referred to as sag compensation below.
  • Page 364 Compensations (K3) Interpolatory compensation Leadscrew and measuring system errors The measuring principle of "indirect measurement" on NC-controlled machines is based on the assumption that the lead of the ball screw is constant at any point within the traversing range, so that the actual position of the axis can be derived from the position of the drive spindle (ideal case).
  • Page 365 Compensations (K3) Interpolatory compensation Entry of compensation table The size of the compensation table, i.e. the number of interpolation points, must first be defined in a machine data - a power ON must then be executed. Compensation tables can be loaded to the backed up NC user memory by two different methods.
  • Page 366 Compensations (K3) Interpolatory compensation Logging Compensation tables are not saved with the series commissioning file. To archive compensation tables, they must be output via the serial interface on the PCU. The following compensation types can be selected for archiving in the operating area "Services", "Data OUT": ●...
  • Page 367 Compensations (K3) Interpolatory compensation 5.4.2 Measuring system error compensation (MSEC) Function The leadscrew error compensation function is part of the measuring system error compensation system. With "measuring system error compensation" (referred to below as MSEC), the base and compensation axes are always identical. It is therefore an axial compensation for which a definition of the base axis and compensation axis in the compensation table is not necessary.
  • Page 368 Compensations (K3) Interpolatory compensation Compensation interpolation points For every machine axis and for every measuring system (if a 2nd measuring system is installed), the number of reserved interpolation points of the compensation table must be defined and the necessary memory reserved with the following machine data: MD38000 $MA_MM_ENC_COMP_MAX_POINTS (number of interpolation points for interpolat.
  • Page 369 Compensations (K3) Interpolatory compensation ● Initial position ($AA_ENC_COMP_MIN[e,AXi]) The initial position is the axis position at which the compensation table for the relevant axis begins (≙ interpolation point 0). The compensation value for the initial position is $AA_ENC_COMP[e,0,AXi)]. For all positions smaller than the initial position the compensation value of interpolation point zero is used (does not apply for table with modulo).
  • Page 370 Compensations (K3) Interpolatory compensation ● Compensation with modulo function ($AA_ENC_COMP_IS_MODULO[e,AXi]) When compensation with modulo function is activated, the compensation table is repeated cyclically, i.e. the compensation value at position $AA_ENC_COMP_MAX (≙ interpolation point $AA_ENC_COMP[e,k,AXi]) is immediately followed by the compensation value at position $AA_ENC_COMP_MIN (≙ interpolation point $AA_ENC_COMP[e,0,AXi]).
  • Page 371 Compensations (K3) Interpolatory compensation Example The following example shows compensation value inputs for machine axis X1. %_N_AX_EEC_INI CHANDATA(1) $AA_ENC_COMP[0,0,X1] = 0.0 ; 1st compensation value (≙ interpolation point 0) ; +0µm $AA_ENC_COMP[0,1,X1] = 0.01 ; 2nd compensation value (≙ interpolation point 1) ;...
  • Page 372 Compensations (K3) Interpolatory compensation 5.4.3 Sag compensation and angularity error compensation Function In contrast to the MSEC, the base and compensation axes need not be identical for "Sag compensation" or "Angularity error compensation", requiring an axis assignment in every compensation table. In order to compensate for sag of one axis (base axis) which results from its own weight, the absolute position of another axis (compensation axis) must be influenced.
  • Page 373 Compensations (K3) Interpolatory compensation Setting options The many ways in which the compensation value for sag compensation can be produced/influenced are listed below (see diagram below). 1. An axis can be defined as the input variable (base axis) for several compensation tables (settable via system variables).
  • Page 374 Compensations (K3) Interpolatory compensation 10. Setting: MD10260 $MN_CONVERT_SCALING_SYSTEM=1 (basic system switchover active) activates the following axial machine data: MD32711 $MA_CEC_SCALING_SYSTEM_METRIC (system of units of sag compensation) The measuring system for all tables effective for this axis is set in this machine data. Hereby all position entries are interpreted together with the calculated total compensation value in the configured measuring system.
  • Page 375 Compensations (K3) Interpolatory compensation Figure 5-10 Generation of compensation value for sag compensation Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 376 Compensations (K3) Interpolatory compensation Complex compensation Since it is possible to use the position of an axis as the input quantity (base axis) for several tables, to derive the total compensation value of an axis from several compensation relationships (tables) and to multiply tables, it is also possible to implement sophisticated and complex beam sag and angularity error compensation systems.
  • Page 377 Compensations (K3) Interpolatory compensation Compensation interpolation points The number of required interpolation points in the compensation table must be defined for every compensation relationship and the requisite memory space reserved with the following general machine data: MD18342 $MN_MM_CEC_MAX_POINTS (size of FFS) MD18342 $MN_MM_CEC_MAX_POINTS[t] with: [t] = Index of compensation table...
  • Page 378 Compensations (K3) Interpolatory compensation ● Interpolation point distance ($AN_CEC_STEP[t]) The interpolation point distance defines the distance between the input values for the compensation table [t]. ● Initital position ($AN_CEC_MIN[t]) The initial position is the base axis position at which the compensation table [t] begins (≙ interpolation point 0).
  • Page 379 Compensations (K3) Interpolatory compensation ● Directional compensation ($AN_CEC_DIRECTION[t]) This system variable can be used to define whether the compensation table [t] should apply to both travel directions of the base axis or only either the positive or negative direction. 0: Table applies to both directions of travel of the base axis 1: Table applies only to position direction of travel of the base axis -1: Table applies only to negative direction of travel of the base axis Possible applications:...
  • Page 380 Compensations (K3) Interpolatory compensation ● Compensation with modulo function ($AN_CEC_IS_MODULO[t]) When compensation with modulo function is activated, the compensation table is repeated cyclically, i.e. the compensation value at position $AN_CEC_MAX[t] (interpolation point $AN_CEC[t,k]) is immediately followed by the compensation value at position $AN_CEC_MIN[t] (interpolation point $AN_CEC[t,0]).
  • Page 381 Compensations (K3) Interpolatory compensation Table example The following example shows the compensation table for sag compensation of axis Y1. Depending on the position of the Y1 axis, a compensation value is applied to the Z1 axis. The 1st compensation table (t = 0) is used for this. %_N_NC_CEC_INI CHANDATA(1) $AN_CEC [0,0]...
  • Page 382 Compensations (K3) Interpolatory compensation To implement compensation, the compensation values of the X1 and Z1 axes must be multiplied according to the following equation: ΔX1 = Z1 * sinβ(X1) ≈ Z1 * β(X1) Figure 5-11 Table multiplication Compensation table 1 (table index = 0) describes the reaction of axis X1 on axis X1 (sine of the position-dependent tilting angle β(X1)).
  • Page 383 Compensations (K3) Interpolatory compensation The following example explains in more detail how sag and angularity compensation can be implemented by a grid of 4 x 5 (lines x columns) in size. The size of the whole grid is 2000x900mm . The compensation values are each measured in steps of 500mm along the x axis and 300mm along the y axis.
  • Page 384 Compensations (K3) Interpolatory compensation Fundamental principle The compensation values cannot be entered directly as a 2-dimensional grid. Compensation tables in which the compensation values are entered must be created first. A compensation table contains the compensation values of one line (four lines in the example, i.e.
  • Page 385 Compensations (K3) Interpolatory compensation ;Function values f_1(x) for table with index [0] $AN_CEC [0,0] =0.1 $AN_CEC [0,1] =0.2 $AN_CEC [0,2] =0.3 $AN_CEC [0,3] =0.4 $AN_CEC [0,4] =0.5 ;Function values f_2(x) for table with index [1] $AN_CEC [1,0] =0.6 $AN_CEC [1,1] =0.7 $AN_CEC [1,2] =0.8...
  • Page 386 Compensations (K3) Interpolatory compensation $AN_CEC_INPUT_AXIS[2] =(X1) $AN_CEC_INPUT_AXIS[3] =(X1) ;Define compensation axis Z1 $AN_CEC_OUTPUT_AXIS[0] =(Z1) $AN_CEC_OUTPUT_AXIS[1] =(Z1) $AN_CEC_OUTPUT_AXIS[2] =(Z1) $AN_CEC_OUTPUT_AXIS[3] =(Z1) ;Define distance between interpolation points for compensation values in f tables $AN_CEC_STEP[0] =500.0 $AN_CEC_STEP[1] =500.0 $AN_CEC_STEP[2] =500.0 $AN_CEC_STEP[3] =500.0 ;Compensation starts at X1=0 $AN_CEC_MIN[0] =0.0 $AN_CEC_MIN[1]...
  • Page 387 Compensations (K3) Interpolatory compensation $AN_CEC [5,3] =0.0 ;Function values g_3(x) for table with index [6] $AN_CEC [6,0] =0.0 $AN_CEC [6,1] =0.0 $AN_CEC [6,2] =1.0 $AN_CEC [6,3] =0.0 ;Function values g_4(x) for table with index [7] $AN_CEC [7,0] =0.0 $AN_CEC [7,1] =0.0 $AN_CEC [7,2] =0.0...
  • Page 388 Compensations (K3) Interpolatory compensation ;Compensation starts at Y1=0 $AN_CEC_MIN[4] =0.0 $AN_CEC_MIN[5] =0.0 $AN_CEC_MIN[6] =0.0 $AN_CEC_MIN[7] =0.0 ;Compensation ends at Y1=900 $AN_CEC_MAX[4] =900.0 $AN_CEC_MAX[5] =900.0 $AN_CEC_MAX[6] =900.0 $AN_CEC_MAX[7] =900.0 $MA_CEC_ENABLE[Z1] = TRUE ;Activate compensation again NEWCONF ;Carry out a program test to check whether the ;compensation is effective G01 F1000 X0 X0 Z0 G90 R1=0 R2=0...
  • Page 389 Compensations (K3) Interpolatory compensation $MN_MM_CEC_MAX_POINTS[0]=5 $MN_MM_CEC_MAX_POINTS[1]=5 $MN_MM_CEC_MAX_POINTS[2]=5 $MN_MM_CEC_MAX_POINTS[3]=5 $MN_MM_CEC_MAX_POINTS[4]=4 $MN_MM_CEC_MAX_POINTS[5]=4 $MN_MM_CEC_MAX_POINTS[6]=4 $MN_MM_CEC_MAX_POINTS[7]=4 $MA_CEC_MAX_SUM[AX3]=10.0 ; Define the maximum ; total compensation value $MA_CEC_MAX_VELO[AX3]=100.0 ; Limit the maximum changes in the ; total compensation value 5.4.4 Extension of the sag compensation with NCU link Application If a system is operated with NCU link, any number of axes of the NCU link grouping can be compensated mutually.
  • Page 390 Compensations (K3) Interpolatory compensation The following variants can be used to parameterize if the axes to be coupled are on different channels: ● Version 1: "Programming with channel axis identifier": Two different part programs TP1 and TP2 are created, they are then processed in different channels.
  • Page 391 Compensations (K3) Interpolatory compensation Assignment of the axes The assignment of the input and output axes is done via the following system variables: $AN_CEC_INPUT_NCU $AN_CEC_INPUT_AXIS $AN_CEC_OUTPUT_NCU $AN_CEC_OUTPUT_AXIS The system variables become effective only after a restart. Data backup is always undertaken with machine axis identifiers. Note The sag compensation can couple the axis only on one NCU, which can also be traversed from this NCU either via the part program or via a synchronized action.
  • Page 392 Compensations (K3) Interpolatory compensation 2. Programming with machine axis identifier $AN_CEC_INPUT_NCU[0]=1 ; optional ... $AN_CEC_INPUT_AXIS[0] = (AX2) $AN_CEC_OUTPUT_NCU[0]=2 $AN_CEC_OUTPUT_AXIS[0] = (AX2 This couples Axis AX2 of NCU1 with Axis 2 of NCU2. NOTICE YY is coupled to XX with each container rotation, there is a different axis behind YY now: YY "AX5 of NCU-1"...
  • Page 393 Compensations (K3) Interpolatory compensation Figure 5-14 Configuration 1: NCU link from channel to real axis Machine data of Configuration 1 ; ########## NCU1 ########## $MN_NCU_LINKNO = 1 $MN_MM_NCU_LINK_MASK = 1 $MN_MM_LINK_NUM_OF_MODULES = 2 $MN_MM_SERVO_FIFO_SIZE = 3 $MN_ASSIGN_CHAN_TO_MODE_GROUP[1]=1 $MN_AXCONF_LOGIC_MACHAX_TAB[0] = "NC1_AX1" $MN_AXCONF_LOGIC_MACHAX_TAB[1] = "NC1_AX3"...
  • Page 394 Compensations (K3) Interpolatory compensation CHANDATA(2) $MC_REFP_NC_START_LOCK=0 $MC_AXCONF_MACHAX_USED[0]=2 $MC_AXCONF_MACHAX_USED[1]=6 $MC_AXCONF_MACHAX_USED[2]=3 $MC_AXCONF_MACHAX_USED[3]=0 $MC_AXCONF_MACHAX_USED[4]=0 $MC_AXCONF_MACHAX_USED[5]=0 $MC_AXCONF_CHANAX_NAME_TAB[0] = "XX" $MC_AXCONF_CHANAX_NAME_TAB[1] = "YY" $MC_AXCONF_CHANAX_NAME_TAB[2] = "ZZ" ; ########## NCU-2 ########## $MN_NCU_LINKNO = 2 $MN_MM_NCU_LINK_MASK = 1 $MN_MM_LINK_NUM_OF_MODULES = 2 $MN_MM_SERVO_FIFO_SIZE = 3 $MN_AXCONF_LOGIC_MACHAX_TAB[0] = "NC2_AX1" $MN_AXCONF_LOGIC_MACHAX_TAB[1] = "NC1_AX6"...
  • Page 395 Compensations (K3) Interpolatory compensation Figure 5-15 Configuration 2: NCU link with axis container in output state Figure 5-16 Configuration 3: NCU link with axis container in rotary state Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 396 Compensations (K3) Interpolatory compensation Machine data of Configuration 2 ; ########## NCU1 ########## $MN_NCU_LINKNO = 1 $MN_MM_NCU_LINK_MASK = 1 $MN_MM_LINK_NUM_OF_MODULES = 2 $MN_MM_SERVO_FIFO_SIZE = 3 $MN_ASSIGN_CHAN_TO_MODE_GROUP[1]=1 $MN_AXCONF_LOGIC_MACHAX_TAB[0] = "NC1_AX1" $MN_AXCONF_LOGIC_MACHAX_TAB[1] = "NC1_AX3" $MN_AXCONF_LOGIC_MACHAX_TAB[2] = "NC2_AX2" $MN_AXCONF_LOGIC_MACHAX_TAB[3] = "NC1_AX4" $MN_AXCONF_LOGIC_MACHAX_TAB[4] = "CT1_SL3" $MN_AXCONF_LOGIC_MACHAX_TAB[5] = "CT1_SL4"...
  • Page 397 Compensations (K3) Interpolatory compensation $MC_AXCONF_CHANAX_NAME_TAB[2] = "ZZ" ; ########## NCU-2 ########## $MN_NCU_LINKNO = 2 $MN_MM_NCU_LINK_MASK = 1 $MN_MM_LINK_NUM_OF_MODULES = 2 $MN_MM_SERVO_FIFO_SIZE = 3 $MN_AXCONF_LOGIC_MACHAX_TAB[0] = "CT1_SL1" $MN_AXCONF_LOGIC_MACHAX_TAB[1] = "CT1_SL2" $MN_AXCONF_LOGIC_MACHAX_TAB[2] = "NC2_AX3" $MN_AXCONF_LOGIC_MACHAX_TAB[3] = "NC2_AX4" $MN_AXCONF_LOGIC_MACHAX_TAB[4] = "NC2_AX5" $MN_AXCONF_LOGIC_MACHAX_TAB[5] = "NC2_AX6" CHANDATA(1) $MC_AXCONF_MACHAX_USED[0]=1 $MC_AXCONF_MACHAX_USED[1]=2...
  • Page 398 Compensations (K3) Interpolatory compensation 5.4.5 Special features of interpolatory compensation Measurement The "Measurement" function supplies the compensated actual positions (ideal machine) required by the machine operator or programmer. TEACH IN The "TEACH IN" function also uses compensated position values to determine the actual positions to be stored.
  • Page 399 Compensations (K3) Interpolatory compensation Access protection Currently there is no protection against access to the compensation tables. Setting servo enables As a result of the compensation relationship, a traversing movement by the base axis may also cause the compensation axis to move, making it necessary for controller enable signals to be set for these axes (PLC user program).
  • Page 400 SIMODRIVE 611 digital (option for SINUMERIK 840D) Note Torque feedforward control is not supported by the SIMODRIVE 611 universal drive on the SINUMERIK 840D sl or SINUMERIK 840Di/840Di sl/840D with PROFIBUS DP. Activating The required method of feedforward control must be selected for the relevant axis/spindle...
  • Page 401 Compensations (K3) Dynamic feedforward control (following error compensation) Value Description The method of feedforward control is taken from MD32620. The feedforward control can be controlled within the part program; the FFWON/FFWOF instruction comes into effect immediately. The feedforward control can be controlled within the part program; the FFWON/FFWOF instruction comes into effect only after the axis stops the next time.
  • Page 402 Compensations (K3) Dynamic feedforward control (following error compensation) Please note the following in this context: A block search stop is not effective for command or PLC axes traversing asynchronously to the subprogram processing. To ensure that FFWON/FFWOF only has an effect on the axis/spindle when it is next stationary during axis mode, you must set the following explicitly for each axis/spindle during axis mode: MD32630 $MA_FFW_ACTIVATION_MODE = 2...
  • Page 403 Compensations (K3) Dynamic feedforward control (following error compensation) Effect on servo gain factor When the feedforward control is set correctly, the response to setpoint changes in the controlled system under speed feedforward control is as dynamic as that of the speed control loop or, under torque feedforward control, as that of the current control loop, i.e.
  • Page 404 Compensations (K3) Dynamic feedforward control (following error compensation) Commissioning The following procedure should be followed to activate the feedforward control: 1. Check the stoppage velocity in MD36060. 2. Check the existing following error of the axis in stoppage condition. 3. Set and activate the changeover condition via machine data: MD32630 $MA_FFW_ACTIVATION_MODE = 2.
  • Page 405 Compensations (K3) Dynamic feedforward control (following error compensation) 5.5.3 Speed feedforward control In the case of speed feedforward control, a velocity setpoint is also applied directly to the input of the speed controller. This additional setpoint can be weighted with a factor in the range 0 to 1, where "0"...
  • Page 406 Compensations (K3) Dynamic feedforward control (following error compensation) With this value the following error will be reduced to nearly zero (i.e. control deviation is 0) when speed is constant. This should be checked by making positioning movements based on the actual "control deviation" shown on the service display. References: /FB1/ Function Manual, Basic Functions;...
  • Page 407 Compensations (K3) Dynamic feedforward control (following error compensation) Example Example with X axis: MD32300 $MA_MAX_AX_ACCEL = 0.1 ; m/s2 MD32000 $MA_MAX_AX_VELO = 20000.0 ; mm/min ; Part program for setting the equivalent time constant G1 F20000 FFWON LOOP: X1000 GOTOB LOOP Example for active speed feedforward control of axes 1, 2 and 3.
  • Page 408 Compensations (K3) Dynamic feedforward control (following error compensation) Machine data MD10082 determines the lead time for the output of speed setpoints. The larger the value entered, the sooner the drive transfers the speed setpoints. The following meanings apply: ● 0 %: Setpoints are transferred at the beginning of the next position control cycle ●...
  • Page 409 Compensations (K3) Dynamic feedforward control (following error compensation) 5.5.4 Torque feedforward control In the case of torque feedforward control, an additional current setpoint proportional to the torque is applied directly to the current controller input. This value is formed using the acceleration and moment of inertia.
  • Page 410 Compensations (K3) Dynamic feedforward control (following error compensation) In addition, the current setpoint of the 1st drive of each module on the 1st DA converter of the module is output so that it can also be observed with an oscilloscope. The equivalent time constant must be determined as exactly as possible.
  • Page 411 Compensations (K3) Friction compensation (quadrant error compensation) Friction compensation (quadrant error compensation) 5.6.1 General information Function Friction occurs predominantly in the gearing and guideways. Static friction is especially noticeable in the machine axes. Because it takes a greater force to initiate a movement (breakaway) than to continue it, a greater following error occurs at the beginning of a movement.
  • Page 412 Compensations (K3) Friction compensation (quadrant error compensation) Methods of friction compensation One of two friction compensation methods can be selected on the SINUMERIK 840D (MD32490 $MA_FRICT_COMP_MODE (friction compensation method)): ● Conventional friction compensation (MD32490 = 1) With this type, the intensity of the compensation pulse can be set according to the characteristic as a function of the acceleration.
  • Page 413 Compensations (K3) Friction compensation (quadrant error compensation) 5.6.2 Conventional friction compensation Type of friction compensation Conventional friction compensation is selected by entering the value 1 in machine data MD32490 $MA_FRICT_COMP_MODE (friction compensation method). Amplitude adaptation In many cases, the injected amplitude of the friction compensation value does not remain constant over the whole acceleration range.
  • Page 414 Compensations (K3) Friction compensation (quadrant error compensation) Characteristic parameters The parameters of the adaptation characteristic in the diagram above must be entered as machine data for specific axes. Δn Injection amplitude of friction compensation value Δn Maximum friction compensation value MD32520 $FRICT_COMP_CONST_MAX[n] (maximum friction compensation value) Δn...
  • Page 415 Compensations (K3) Friction compensation (quadrant error compensation) 5.6.3 Commissioning of conventional friction compensation Circularity test The friction compensation function can be commissioned most easily by means of a circularity test. Here, deviations from the programmed radius (especially at the quadrant transitions) can be measured and displayed while traversing a circular contour.
  • Page 416 Compensations (K3) Friction compensation (quadrant error compensation) Figure 5-20 Uncompensated radius deviation at quadrant transitions 2. Enabling friction compensation After this, the friction compensation must be activated for the axis/spindle in question. Activate friction compensation with machine data → MD32500 $MA_FRICT_COMP_ENABLE[n] = 1 (friction compensation active) 3.
  • Page 417 Compensations (K3) Friction compensation (quadrant error compensation) Starting value A relatively low injection amplitude plus a time constant of a few position controller cycles should be entered as the start value when measuring commences. Example: MD32520 $MA_FRICT_COMP_CONST_MAX[n] = 10 (mm/min) MD32540 $FRICT_COMP_TIME[n] = 0.008 (8 ms) The effect of changing the parameters must be checked using the measured and plotted circles.
  • Page 418 Compensations (K3) Friction compensation (quadrant error compensation) Amplitude too low When the injection amplitude setting is too low, radius deviations from the programmed radius are compensated inadequately at quadrant transitions during circularity testing. Figure 5-22 Amplitude too low Amplitude too high When the injection amplitude setting is too high, radius deviations at quadrant transitions are manifestly overcompensated at quadrant transitions.
  • Page 419 Compensations (K3) Friction compensation (quadrant error compensation) Time constant too low When the compensation time constant settings are too low, radius deviations are compensated briefly at quadrant transitions during circularity testing, but are followed immediately again by greater radius deviations from the programmed radius. Figure 5-24 Compensation time constant too small Extended Functions...
  • Page 420 Compensations (K3) Friction compensation (quadrant error compensation) Time constant too high When the compensation time constant settings are too high, radius deviations are compensated at quadrant transitions during circularity testing (on condition that the optimum injection amplitude has already been calculated), but the deviation in the direction of the arc center increases significantly after quadrant transitions.
  • Page 421 Compensations (K3) Friction compensation (quadrant error compensation) 1. Calculate the adaptation characteristic For different radii and velocities ... 1..it is necessary to determine the required injection amplitudes, 2..it is necessary to check the compensatory effect of the injection amplitudes using the circularity test, 3.
  • Page 422 Compensations (K3) Friction compensation (quadrant error compensation) Example of characteristic settings 1. Calculate the existing acceleration The axial acceleration rate is calculated at the zero speed crossing of a circular movement with formula a = v With a radius of r = 10 mm and a circular velocity of v = 1 m/min (=16.7 mm/s), the acceleration rate is thus a = 27.8 mm/s 2.
  • Page 423 Compensations (K3) Neural quadrant error compensation Neural quadrant error compensation 5.7.1 Fundamentals Principle of QEC The purpose of quadrant error compensation (QEC) is to reduce contour errors occurring during reversal as the result of drift, backlash or torsion. Compensation is effected through prompt injection of an additional speed setpoint.
  • Page 424 Compensations (K3) Neural quadrant error compensation Requirements for neural QEC An essential requirement for implementing QEC with neural network is that the errors occurring on the workpiece at quadrant transitions are detected by the measuring system. This is only possible either with a direct measuring system, with an indirect measuring system with clear reactions of the load on the motor (i.e.
  • Page 425 Compensations (K3) Neural quadrant error compensation For the QEC function: The QEC must be enabled (and activated) with the following machine data: MD32500 $MA_FRICT_COMP_ENABLE = 1 (QEC active) Recommended commissioning procedure As mentioned above, the neural network integrated in the control automatically adapts the optimum compensation data during the learning phase.
  • Page 426 Compensations (K3) Neural quadrant error compensation QEC system variables The data for parameterizing the neural network are defined as system variables that can be written and read by an NC program. The following system variables are used for parameterization of the neural network: ●...
  • Page 427 Compensations (K3) Neural quadrant error compensation ● $AA_QEC_ACCEL_1/_2/_3 "Acceleration limit values for the characteristic areas 1/2/3" The acceleration characteristic is divided into three areas. In each area there is a different quantization of the acceleration steps. In the low acceleration range, an especially high resolution is required for the characteristic in order to reproduce the widely varying compensation values there.
  • Page 428 Compensations (K3) Neural quadrant error compensation ● $AA_QEC_TIME_2 "Compensation time constant for adaptation of compensation value decay time" At a value of zero of less than or equal to $AA_QEC_TIME_1, no adaptation is performed. The decay time is usually constant over the entire working range. In rare cases however, it can be advantageous to raise the decay time in the very small acceleration range, or to lower it at high accelerations.
  • Page 429 Compensations (K3) Neural quadrant error compensation Quantization of characteristic The quantization, and thus the resolution, of the characteristic is defined via the two quantities fine quantization($AA_QEC_FINE_STEPS) and coarse quantization ($AA_QEC_COARSE_STEPS). The finer the resolution, the higher the memory requirement and the longer the duration of time required for the learning phase. The number of memory locations required and the total number of quantization intervals is calculated by the formula: Number of memory locations = $AA_QEC_FINE_STEPS * ($AA_QEC_COARSE_STEPS+1)
  • Page 430 Compensations (K3) Neural quadrant error compensation Case 2: Coarse quantization > 1; fine quantization > 1; "Detailed learning" is deactivated (this setting is the default): In this case, discrete linear interpolation is used for fine quantization between the interpolation points of the coarse quantization. The learning duration is identical with 1 because learning only occurs at the interpolation points of the coarse quantization.
  • Page 431 Compensations (K3) Neural quadrant error compensation Case 3: Coarse quantization > 1; fine quantization > 1; "Detailed learning" active (its use is only recommended for very high precision requirements): With "Detailed learning", learning occurs both at the interpolation points of the coarse quantization and of the fine quantization.
  • Page 432 Compensations (K3) Neural quadrant error compensation 5.7.3 Learning the neural network Learning process sequence A certain type of response is impressed upon the neural network during the learning phase. The relation between the input and output signals is learnt. The learning process is controlled entirely by NC programs and is divided into the following areas: 1.
  • Page 433 Compensations (K3) Neural quadrant error compensation Note The circularity test is an integral component of HMI Advanced. The commissioning tool must be used with HMI Embedded. Learning motion The axis traversing motions that must be executed to learn a specific response are generated by an NC program.
  • Page 434 Compensations (K3) Neural quadrant error compensation Learning ON/OFF The actual learning process of the neural network is then activated in the reference NC program. This is done using the following high-level language command: QECLRNON(axis name 1, ... 4) Learning ON (for specified axes) Only during this phase are the characteristics changed.
  • Page 435 Compensations (K3) Neural quadrant error compensation ● Number of learning passes Default value = 15; range > 0 The effect of this parameter depends on whether "Detailed learning active" is set or not. a) Detailed learning not active (= FALSE): The number of test motions (back and forth) is defined for each acceleration stage.
  • Page 436 Compensations (K3) Neural quadrant error compensation 5.7.4 Commissioning of neural QEC General information Commissioning the QEC function with neural networks is described in brief below. As we have already mentioned, the compensation characteristics during the learning phase are determined automatically. The axis involved must perform reversals with acceleration values constant section by section.
  • Page 437 Compensations (K3) Neural quadrant error compensation 3. Create the NC program that moves the machine axes to the required positions and parameterizes and calls the reference learning cycle QECLRN.SPF (as in the example program QECSTART.MPF). The feedrate override switch must be set to 100% of the learning phase so that the parameters can take effect in accordance with the defaults.
  • Page 438 Compensations (K3) Neural quadrant error compensation "Relearning"sequence "Relearning” -> cycle parameters "Learning mode" = 1 "Relearning" can be used to perform a simple, automatic re-optimization process on previously learned characteristics. The values already in the user memory are taken as the basis.
  • Page 439 Compensations (K3) Neural quadrant error compensation 5.7.5 Further optimization and intervention options Optimization options In cases where the results of the circularity test do not meet the required accuracy standards, the system can be further improved by selective changes to QEC system variables.
  • Page 440 Compensations (K3) Neural quadrant error compensation Figure 5-31 Example of directional friction compensation (circularity test) Changing the characteristic ranges The acceleration characteristic is divided into three ranges. In the low acceleration range, an especially high resolution is required for the characteristic in order to reproduce the widely varying compensation values there.
  • Page 441 Compensations (K3) Neural quadrant error compensation Figure 5-32 Interval width in acceleration ranges Adaptation of the decay time In special cases, it is possible to adapt the decay time of the compensation setpoint pulse in addition to the compensation amplitude. If, for example, the circularity test reveals that in the low acceleration range (a ) the quadrant transitions yield good compensation results but that radius deviations occur again...
  • Page 442 Compensations (K3) Neural quadrant error compensation Figure 5-33 Adaptation of the decay time Alteration of error measuring time During the learning phase for the neural network, the error measuring time determines the time window within which contour errors are monitored after a zero-speed passage. Experience has shown that the error measuring time to be used for average acceleration rates (approx.
  • Page 443 Compensations (K3) Neural quadrant error compensation Figure 5-34 Dependency of error measuring time on acceleration rate In special cases, it might be necessary to reparameterize the error measuring times: ● Setting of very extreme values for the QEC compensation time constant. Experience indicates that it is not useful to set an error measuring time of less than 10ms or more than 200ms.
  • Page 444 Compensations (K3) Neural quadrant error compensation Overcompensation with short traversing motions Practical experience has shown that the optimum friction compensation value calculated from the circularity test may result in overcompensation on the relevant axis if it executes very short axial positioning movements (e.g. on infeeds in the mm range). To improve accuracy in such cases too, it is possible to reduce the compensation amplitude for short traversing motions.
  • Page 445 Compensations (K3) Neural quadrant error compensation 5.7.6 Quick commissioning Preparation for "Learning" ● Calculate the optimum friction compensation time constant (MD32540 $MA_FRICT_COMP_TIME (backlash)) with the conventional friction compensation. ● Enter the following machine data without power ON: Machine data Standard Change to Meaning MD19330 NC-CODE_CONF_NAME_TAB[8]...
  • Page 446 Compensations (K3) Neural quadrant error compensation ● Copy the Toolbox programs to the NC (with archive!) QECDAT.MPF QECSTART.MPF QECLRNP.SPF (learn program "Polynomial") or QECLRNC.SPF (learn program "Circle") is stored as QECLRN.SPF on the NC! The learn program "Circle" should be used where possible for GEO axes, but only the learn program "Polynomial"...
  • Page 447 Compensations (K3) Neural quadrant error compensation Activate QEC Machine data Standard Change to Meaning MD32500 Switch on "Friction $MA_FRIC_COMP_ENABLE compensation active" (friction compensation active) "Circularity test" Use the "Circularity test" to check the result! Save compensation data Save compensation data (QEC data are not included in back-up with "SERIES COMM."): HMI Embedded: Save with PCIN under SERVICES\Data\Circle error compensation\All HMI Advanced:...
  • Page 448 Compensations (K3) Circularity test Circularity test Function One of the purposes of the circularity test is to check the contour accuracy obtained by the friction compensation function (conventional or neural QEC). It works by measuring the actual positions during a circular movement and displaying the deviations from the programmed radius as a diagram (especially at the quadrant transitions).
  • Page 449 Compensations (K3) Circularity test Figure 5-35 Circularity test measurement menu Display mode The following parameter assignments for programming the mode of representation of measurement results can also be made: ● Display based on mean radius ● Display based on programmed radius ●...
  • Page 450 Compensations (K3) Circularity test Stop measurement The measurement can be stopped at any time by pressing the Stop softkey. Any incomplete measurement recordings are best displayed by selecting the Display softkey. There is no monitoring in this respect. To allow direct access to the required controller parameters, the softkeys Axis-specific MD, FDD-MD and MSD-MD are displayed.
  • Page 451 Compensations (K3) Circularity test File functions The displayed measurement results and the parameter settings can be stored as a file on the MMC by selection of softkey File Functions. Printer settings The basic display for selecting a printer can be called by means of softkeys HMI \ Printer selection.
  • Page 452 Compensations (K3) Circularity test Output as bitmap file The graphic is stored in a bitmap file (*.bmp). "Output as bitmap file" is selected in the dropdown menu of printer settings. The screen form for entering a file name is then displayed when softkey Print graphic is selected in the "Circularity test display"...
  • Page 453 Note The electronic weight compensation function is not currently available for: • SINUMERIK 840D sl in conjunction with drive system SINAMICS • SINUMERIK 840Di in conjunction with drive system SIMODRIVE 611 universal The parameters required by the electronic weight compensation function cannot be transferred to the drive via PROFIBUS-DP.
  • Page 454 Compensations (K3) Electronic weight compensation (vertical axis) The amount the axis (Z) is lowered increases in proportion to the speed controller reset time parameterized with the SIMODRIVE 611, see machine data MD1409 $MD_SPEEDCTRL_INTEGRATOR_TIME_1 (reset time velocity controller, reset time speed controller) Through activation of the electronic weight compensation function, it is possible to minimize the amount by which the axis is lowered.
  • Page 455 Compensations (K3) Electronic weight compensation (vertical axis) Deactivation The electronic weight compensation function is deselected by setting the machine data as shown below: MD32460 $MA_TORQUE_OFFSET = 0 The deselection takes effect after the next RESET or POWER ON or on selection of softkey "Activate MD".
  • Page 456 Compensations (K3) Electronic weight compensation (vertical axis) ● The motor brakes along the current limit. For further details, see machine data: MD36610 $MA_AX_EMERGENCY_STOP_TIME (braking ramp time when errors occur) MD36620 $MA_SERVO_DISABLE_DELAY_TIME (switch-off delay controller release) Note The NCK deactivates the position control after SERVO_DISABLE_DELAY_TIME. ●...
  • Page 457 Compensations (K3) Electronic weight compensation (vertical axis) 5.9.3 Electronic weight compensation with travel to fixed stop SIMODRIVE 611 digital With NC SW 6 and SW 5.1 SIMODRIVE 611 digital and earlier, both functions "electronic weight compensation" and "travel to fixed stop" can be used simultaneously, However, the following features must be observed: Interaction with traverse against fixed stop The electronic weight compensation may not be used to offset the zero point for the fixed...
  • Page 458 Compensations (K3) Electronic weight compensation (vertical axis) Required adjustments The torque/force limit is entered for the different drive types in the drive machine data provided for this purpose. Drive machine data Drive type Description MD1192 $MD_TORQUE_LIMIT_WEIGHT FSD/MSD The torque corresponding to the (Weight torque) force due to weight MD1192 $MD_FORCE_LIMIT_WEIGHT...
  • Page 459 Compensations (K3) Electronic weight compensation (vertical axis) Manual NC format adjustment with SIMODRIVE MD1728 $MD_DESIRED_TORQUE (torque setpoint) To facilitate setting, the momentary torque/force setpoint is displayed in the above machine data in the same format as in machine data: MD1192 and MD32460 $MA_TORQUE_OFFSET[n] (additional torque for electr.
  • Page 460 Compensations (K3) Supplementary conditions 5.10 Supplementary conditions 5.10.1 Availability The individual compensation types are: ● Backlash compensation ● Leadscrew and measuring system error compensation ● Multi-dimensional beam sag compensation ● Manual quadrant error compensation ● Automatic quadrant error compensation (neural network) ●...
  • Page 461 Compensations (K3) Supplementary conditions "Temperature compensation" function The function is an option and is available for: ● SINUMERIK 840D with NCU 571/572/573 "Electronic counterweight" function This function is available for: ● SINUMERIK with NCU 571/572/573, in conjunction with SIMODRIVE 611D. Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 462 Compensations (K3) Data lists 5.11 Data lists 5.11.1 Machine data 5.11.1.1 SIMODRIVE 611D machine data Number Identifier: $MC_ Description 1004 CTRL_CONFIG Configuration structure 1117 MOTOR_INERTIA Motor moment of inertia 5.11.1.2 General machine data Number Identifier: $MN_ Description 10050 SYSCLOCK_CYCLE_TIME Basic system clock cycle 10070 IPO_SYSCLOCK_TIME_RATIO Factor for interpolator clock cycle...
  • Page 463 Compensations (K3) Data lists 5.11.2 Setting data 5.11.2.1 General setting data Number Identifier: $SN_ Description 41300 CEC_TABLE_ENABLE[t] Enable evaluation of beam sag compensation table 41310 CEC_TABLE_WEIGHT[t] Weighting factor for beam sag compensation table 5.11.2.2 Axis/spindle-specific setting data Number Identifier: $SA_ Description 43900 TEMP_COMP_ABS_VALUE...
  • Page 464: Signals From Nc

    Compensations (K3) Data lists 5.11.3 Signals 5.11.3.1 Signals from NC DB number Byte.bit Description 108.7 NC Ready 5.11.3.2 Signals from mode group DB number Byte.Bit Description Mode group ready 5.11.3.3 Signals from channel DB number Byte.Bit Description 21, ... 36.5 Channel ready 5.11.3.4 Signals to axis/spindle...
  • Page 465: Mode Groups, Channels, Axis Replacement (K5)

    Mode Groups, Channels, Axis Replacement (K5) Brief description Mode group A mode group is a collection of machine axes, spindles and channels which are programmed to form a unit. In principle, a single mode group equates to an independent NC control (with several channels).
  • Page 466 Mode Groups, Channels, Axis Replacement (K5) Brief description Axis/spindle replacement After control system power ON, an axis/spindle is assigned to a specific channel and can only be utilized in the channel to which it is assigned. With the function "Axis/spindle replacement" it is possible to enable an axis/spindle and to allocate it to another channel, that means to replace the axis/spindle.
  • Page 467: Mode Groups

    Mode Groups, Channels, Axis Replacement (K5) Mode groups Mode groups Mode groups A mode group combines NC channels with axes and spindles to form a machining unit. A mode group contains the channels that are required to run simultaneously in the same mode from the point of view of the machining sequence.
  • Page 468: Channels

    Mode Groups, Channels, Axis Replacement (K5) Channels Channels Note A description of the terms Channel, Channel Configuration, Channel States, Effects of Commands/Signals, etc. for the first channel can be found in: References: /FB1/ Function Manual, Basic Functions; Mode Group, Channel, Program Operation Mode (K1) For all other channels, this information applies, too.
  • Page 469 Mode Groups, Channels, Axis Replacement (K5) Channels Table 6- 1 Program coordination statements Statement Description Selection of a program for processing in a certain channel: Acknowledgment mode: n (without) or s (synchronous) Name of the program with specification of the path Number of channel: Values 1 to 4 possible CLEAR (identifier) Deletion of a program by indicating the program identifier...
  • Page 470 Mode Groups, Channels, Axis Replacement (K5) Channels Behavior up to SW-Stand 3 When a WAITM() call is reached, the axes in the current channel are decelerated and the system waits until the tag number specified in the call is received from the other channels to be synchronized.
  • Page 471: Conditional Wait In Continuous Path Mode Waitmc

    Mode Groups, Channels, Axis Replacement (K5) Channels Channel 2: %200 ; Processing in channel 2 N70 WAITM(1,1,2) ; Wait for WAIT-tag 1 in the channel 1 and in the channel 2 ; Additional processing in Channel 2 N270 WAITM(2,1,2) ; Wait for WAIT-tag 1 in the channel 2 and ;...
  • Page 472 Mode Groups, Channels, Axis Replacement (K5) Channels Response A) Starting with the motion block before the WAITMC() call, the wait marks of the other channels to be synchronized are checked. If these have all been supplied, then the channels continue to operate without deceleration in continuous-path mode. No wait. The path velocity remains unchanged.
  • Page 473 Mode Groups, Channels, Axis Replacement (K5) Channels Example of conditional wait in continuous-path mode Conditional wait involving three channels (schematic) The example is schematic and shows only those commands that are relevant to the synchronization process. Channel 1: %100 N10 INIT(2, "_N_200_MPF","n") ;...
  • Page 474 Mode Groups, Channels, Axis Replacement (K5) Channels N70 M30 ; End Channel 1 Channel 2: %200 N200 ; Processing in Channel 2 N210 SETM(7) ; Channel 2 sets wait marker 7 ; Additional processing in Channel 2 N250 SETM(8) ; Channel 2 sets wait marker 8 N260 M30 ;...
  • Page 475 Mode Groups, Channels, Axis Replacement (K5) Channels Example of WAITMC and read-in disabled M555 is output in channel 3 while the axis is traversing and generates a read-in disabled (RID). As the WAITMC is appended to BLOCK N312, the wait mark is set and processing in channel 2 continues.
  • Page 476: Axis/Spindle Replacement

    Mode Groups, Channels, Axis Replacement (K5) Axis/spindle replacement Axis/spindle replacement 6.4.1 Introduction General information An axis/a spindle is permanently assigned to a specific channel via machine data. The axis/spindle can be used in this channel only. Definition With the function "Axis or spindle replacement" it is possible to enable an axis or a spindle and to allocate it to another channel, that means to replace the axis/spindle.
  • Page 477 Mode Groups, Channels, Axis Replacement (K5) Axis/spindle replacement Axis in another channel This is actually not a proper type of axis. It is the internal state of a replaceable axis. If this happens to be active in another channel (as channel, PLC or neutral axis). If an axis is programmed in another channel in the part program: ●...
  • Page 478 Mode Groups, Channels, Axis Replacement (K5) Axis/spindle replacement Example of an axis replacement between channels With 6 axes and 2 channels, the 1st, 2nd, 3rd and 4th axis in channel 1 and the 5th and 6th axis in channel 2 shall be used. It shall be possible to replace the 1st axis, this shall be allocated to channel 2 after power ON.
  • Page 479: Example Of An Axis Replacement

    Mode Groups, Channels, Axis Replacement (K5) Axis/spindle replacement 6.4.2 Example of an axis replacement Assumption With 6 axes and 2 channels, the 1st, 2nd, 3rd and 4th axis in channel 1 and the 5th and 6th axis in channel 2 shall be used. It shall be possible to replace the 2nd axis between the channels and to allocate to channel 1 after power ON.
  • Page 480: Axis Replacement Options

    Mode Groups, Channels, Axis Replacement (K5) Axis/spindle replacement 6.4.3 Axis replacement options One or more axes/spindles can be activated for replacement between channels by the part program or by motion-synchronous actions. An axis/spindle replacement can also be requested and released from the PLC via the VDI interface. The axis/spindle must have been released in the current channel and will be taken over by the other channel with the GET command and released with the RELEASE command.
  • Page 481: Replacement Behavior Nc Program

    Mode Groups, Channels, Axis Replacement (K5) Axis/spindle replacement 6.4.4 Replacement behavior NC program Possible transitions The following diagram shows which axis replacement possibilities are available. Figure 6-2 Transitions of possible axis states during axis replacement Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 482: Axis Transfer To Neutral State (Release)

    Mode Groups, Channels, Axis Replacement (K5) Axis/spindle replacement 6.4.5 Axis transfer to neutral state (release) RELEASE Notation in part program: RELEASE (axis name, axis name, SPI (Spindle no.), ..) Note The axis name corresponds to the axis allocations in the system and is either •...
  • Page 483: Transferring Axis Or Spindle In The Part Program

    Mode Groups, Channels, Axis Replacement (K5) Axis/spindle replacement 6.4.6 Transferring axis or spindle in the part program Options The release time and the behavior of an axis or spindle replacement is influenced in the part program as follows: – Programming with the GET command in the same channel. –...
  • Page 484: Automatic Axis Replacement

    Mode Groups, Channels, Axis Replacement (K5) Axis/spindle replacement Note If the GET or GETD command has been programmed, take-over is delayed and the channel is reset; the channel will no longer try to take over the axis. An axis assumed with GET remains allocated to this channel even after a key RESET or program RESET.
  • Page 485 Mode Groups, Channels, Axis Replacement (K5) Axis/spindle replacement Example 2 ; (axis 1 = X) N1 RELEASE (AX1) ; => Transition to neutral condition N2 G04 F2 N3 G0 X100 Y100: ; Motion of the released axis ; MD AUTO_GET_TYPE = ;...
  • Page 486: Axis Replacement Via Plc

    Mode Groups, Channels, Axis Replacement (K5) Axis/spindle replacement 6.4.8 Axis replacement via PLC ● The type of an axis can be determined at any time via an interface byte (PLC-axis, channel axis, neutral axis). TYPE display Figure 6-3 TYPE display axis replacement via PLC * neutral axis/spindle also contains the Command-/Oscillation-axis Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 487 Mode Groups, Channels, Axis Replacement (K5) Axis/spindle replacement Figure 6-4 Changing an axis from K1 to K2 via part program ● The PLC can request and traverse an axis at any time and in any operating mode. TYPE display Figure 6-5 TYPE display axis replacement via PLC In principle, the PLC must set the signal "Request new type".
  • Page 488 Mode Groups, Channels, Axis Replacement (K5) Axis/spindle replacement Examples The following diagrams show the IS signal sequences for changing an NC axis to a PLC axis and transferring an NC axis to a neutral axis through the PLC. Figure 6-6 Changing an NC axis to a PLC axis Figure 6-7 Changing an NC axis to a neutral axis through the PLC...
  • Page 489: Set Axis Replacement Behavior Variable

    Mode Groups, Channels, Axis Replacement (K5) Axis/spindle replacement 6.4.9 Set axis replacement behavior variable. The axis is replaced in the currently enabled channel and, depending on the respective axis type, the axis replacement behavior can be influenced via machine data MD10722 $MN_AXCHANGE_MASK: Table 6- 2 Time of release of axes or spindles during replacement...
  • Page 490: Axis Replacement Via Axis Container Rotation

    Mode Groups, Channels, Axis Replacement (K5) Axis/spindle replacement 6.4.10 Axis replacement via axis container rotation Release axis container rotation When an axis container rotation is released, all axis container axes that can be assigned to the channel are assigned to the channel by means of implicit GET or GETD commands. The axes can only be released again after the axis container rotation.
  • Page 491: Axis Replacement With And Without Preprocessing Stop

    Mode Groups, Channels, Axis Replacement (K5) Axis/spindle replacement 6.4.11 Axis replacement with and without preprocessing stop Axis replacement extension without preprocessing stop Instead of a GET block with a preprocessing stop, this GET request only generates an intermediate block. In the main run, when this block is executed, the system checks whether the states of the axes in the block match the current axis states.
  • Page 492: Exclusively Plc Controlled Axis And Permanently Assigned Plc Axis

    Mode Groups, Channels, Axis Replacement (K5) Axis/spindle replacement Special case: Axis replacement with preprocessing stop Without a GET or GETD instruction having previously occurred in the main run, the spindle or the axis can be made available again by RELEASE (axis) or WAITP (axis), for example. A subsequent GET leads to a GET with a preprocessing stop.
  • Page 493 Mode Groups, Channels, Axis Replacement (K5) Axis/spindle replacement Permanently assigned PLC axis The permanently assigned PLC axis is activated by machine data MD30460 $MA_BASE_FUNCTION_MASK with Bit 5 = 1 During acceleration the axis becomes a neutral axis. When a traverse request is transferred via the VDI interface, a neutral axis without preceding axis replacement, automatically changes to a competing positioning axis (PLC axis).
  • Page 494: Geometry Axis In Rotated Frame And Axis Replacement

    Mode Groups, Channels, Axis Replacement (K5) Axis/spindle replacement 6.4.13 Geometry axis in rotated frame and axis replacement Replacement expansion via Frame with Rotation In JOG mode, a geometry axis with rotated frame can be traversed as PLC axis or as a command axis via static synchronized actions.
  • Page 495: Axis Replacement From Synchronized Actions

    Mode Groups, Channels, Axis Replacement (K5) Axis/spindle replacement Boundary conditions If in MD32074 $MA_FRAME_OR_CORRPOS_NOTALLOWED bit 10=0 and in NC program ROT Z45 is programmed, then no axis replacement is possible for the X axis and the Y axis. Similarly this applies to the Z axis, for instance with ROT X45 or ROT Y45 and also during JOG mode, when a block with such programming is interrupted.
  • Page 496 Mode Groups, Channels, Axis Replacement (K5) Axis/spindle replacement Current state and interpolation right of the axis With which axis type and interpolation right a possible axis replacement is to be performed, can be deducted from the system variable $AA_AXCHANGE_TYP[axis]. 0: The axis is assigned to the NC program 1: Axis assigned to PLC or active as command axis or oscillating axis 2: Another channel has the interpolation right.
  • Page 497 Mode Groups, Channels, Axis Replacement (K5) Axis/spindle replacement State transitions GET, RELEASE from synchronous actions and when GET is completed Figure 6-8 Transitions from synchronized actions For more information, please refer to: References: /FBSY/ Function Manual Synchronized Actions; "Actions in Synchronous Actions" /PGA/ Programming Manual Work Preparation;...
  • Page 498: Marginal Conditions

    This function is available for ● SINUMERIK 840D with NCU 572/573 ● SINUMERIK 840D sl with NCU 710/720/730 Change to the channel axis If an axis is changed from PLC axis, neutral axis or axis in another channel to the axis type channel axis, a synchronization must take place.
  • Page 499 Mode Groups, Channels, Axis Replacement (K5) Marginal conditions Block search During block search with calculation, all GET, GETD or RELEASE blocks are stored and output after the next NC Start. Exception: Blocks which are mutually exclusive are deleted. Example: RELEASE (AX1) Blocks are deleted.
  • Page 500: Data Lists

    Mode Groups, Channels, Axis Replacement (K5) Data lists Data lists 6.6.1 Machine data 6.6.1.1 General machine data Number Identifier: $MN_ Description 10010 ASSIGN_CHAN_TO_MODE_GROUP[n] Channel valid in mode group [Channel No.]: 0, 1 10722 AXCHANGE_MASK Parameterization of the axis replacement response 6.6.1.2 Channel-specific machine data Basic machine data of channel...
  • Page 501 Mode Groups, Channels, Axis Replacement (K5) Data lists Number Identifier: $MC_ Description 20240 CUTCOM_MAXNUM_CHECK_BLOCKS Blocks for predictive contour calculation with tool radius compensation 20250 CUTCOM_MAXNUM_DUMMY_BLOCKS Max. no. of dummy blocks with no traversing movements with TRC 20270 CUTTING_EDGE_DEFAULT Basic setting of tool cutting edge without programming 20400 LOOKAH_USE_VELO_NEXT_BLOCK Look Ahead to programmed following block velocity...
  • Page 502: Axis/Spindle-Specific Machine Data

    Mode Groups, Channels, Axis Replacement (K5) Data lists Number Identifier: $MC_ Description 22260 AUXFU_E_SYNC_TYPE (available soon) Output timing of E functions 22400 S_VALUES_ACTIVE_AFTER_RESET S function active after RESET 22410 F_VALUES_ACTIVE_AFTER_RESET F function active after reset 22500 GCODE_OUTPUT_TO_PLC G functions to PLC 22550 TOOL_CHANGE_MODE New tool offset for M function...
  • Page 503: Setting Data

    Mode Groups, Channels, Axis Replacement (K5) Data lists 6.6.2 Setting data 6.6.2.1 Channel-specific setting data Number Identifier: $SC_ Description 42000 THREAD_START_ANGLE Start angle for thread 42100 DRY_RUN_FEED Dry run feedrate 6.6.3 Signals 6.6.3.1 Signals to/from BAG The BAG-signals from PLC → NCK and from NCK → PLC are stored in data block 11. The signals are described in: References: /FB1/ Function Manual, Basic Functions;...
  • Page 504 Mode Groups, Channels, Axis Replacement (K5) Data lists Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 505: Kinematic Transformation (M1)

    Kinematic Transformation (M1) Brief description 7.1.1 TRANSMIT The TRANSMIT function allows the following: ● Face-end machining on turned parts in the turning clamp – Holes – Contours ● A cartesian coordinate system can be used to program these machining operations. ●...
  • Page 506: Tracyl

    Kinematic Transformation (M1) Brief description 7.1.2 TRACYL The cylinder generated surface curve transformation TRACYL allows the following: Machining of ● Longitudinal grooves on cylindrical bodies, ● Transverse grooves on cylindrical bodies ● Arbitrary groove patterns on cylindrical objects. The path of the grooves is programmed with reference to the unwrapped, level surface of the cylinder.
  • Page 507: Traang

    Kinematic Transformation (M1) Brief description ● The velocity control makes allowance for the limits defined for the rotations. TRACYLtransformation, without groove side compensation, with additional longitudinal axis (cylinder surface curve transformation without groove side offset TRAFO_TYPE_n= 514) ● Transformation without groove side offset requires only a rotary axis and a linear axis positioned perpendicular to the rotary axis.
  • Page 508: Activating Transformation Machine Data Via Part Program/Softkey

    Kinematic Transformation (M1) Brief description 7.1.5 Activating transformation machine data via part program/softkey Most of the machine data relevant to kinematic transformations were activated by POWER ON up to now. Transformation machine data can also be activated via the part program/softkey and it is not necessary to boot the control.
  • Page 509: Transmit

    Kinematic Transformation (M1) TRANSMIT TRANSMIT Note The TRANSMIT transformation described below requires that unique names are assigned to machine axes, channel and geometry axes when the transformation is active. MD10000 $MN_AXCONF_MACHAX_NAME_TAB, MD20080 $MC_AXCONF_CHANAX_NAME_TAB, MD20060 $MC_AXCONF_GEOAX_NAME_TAB. Besides this, no unequivocal assignments exist. Task specification Complete machining, see diagram: Figure 7-1...
  • Page 510: Preconditions For Transmit

    Kinematic Transformation (M1) TRANSMIT 7.2.1 Preconditions for TRANSMIT Axis configuration Before movements can be programmed in the Cartesian coordinate system (according to Fig. X, Y, Z), the control system must be notified of the relationship between this coordinate system and the real machine axes (CM, XM, ZM, ASM): ●...
  • Page 511 Kinematic Transformation (M1) TRANSMIT The following machine data must be set for a maximum of 2 of these TRANSMIT transformations: MD24950 $MC_TRANSMIT_ROT_AX_OFFSET_t MD24910 $MC_TRANSMIT_ROT_SIGN_IS_PLUS_t MD24920 $MC_TRANSMIT_BASE_TOOL_t MD24911 $MC_TRANSMIT_POLE_SIDE_FIX_t In this case, t specifies the number of the declared TRANSMIT transformation (maximum of 2). Figure 7-2 Axis configuration for the example in the figure "Face-end machining of turned part"...
  • Page 512 Kinematic Transformation (M1) TRANSMIT Assignment of names to geometry axes According to the axis configuration overview shown above, the geometry axes involved in the TRANSMIT operation must be defined with: MD20060 $MC_AXCONF_GEOAX_NAME_TAB[0]="X" MD20060 $MC_AXCONF_GEOAX_NAME_TAB[1]="Y" MD20060 $MC_AXCONF_GEOAX_NAME_TAB[2]="Z" (The choice of names in the above figure is in accordance with defaults). Assignment of geometry axes to channel axes A distinction has to be made, whetherTRANSMIT is active or not: ●...
  • Page 513: Settings Specific To Transmit

    Kinematic Transformation (M1) TRANSMIT Identification of spindles It is specified per machine axis, whether a spindle is present (value > 0: spindle number) or a path axis (value 0). MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[0]=1 MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[1]=0 MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[2]=0 MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[3]=2 Assignment of names to machine axes With the cd of the machine axes as a reference, a machine axis name is transferred to the control system.
  • Page 514 Kinematic Transformation (M1) TRANSMIT Transformation with supplementary linear axis If the machine has another linear axis which is perpendicular to both the rotary axis and the first linear axis, transformation type 257 can be used to apply tool offsets with the real Y axis. It is assumed that the working area of the second linear axis is small and is not to be used for the retraction of the part program.
  • Page 515 Kinematic Transformation (M1) TRANSMIT Rotational position The rotational position of the Cartesian coordinate system is specified by machine data as described in the following paragraph. TRANSMIT_ROT_AX_OFFSET_t The rotational position of the x-y plane of the Cartesian coordinate system in relation to the defined zero position of the rotary axis is specified with: MD24900 $MC_TRANSMIT_ROT_AX_OFFSET_t= ...
  • Page 516 Kinematic Transformation (M1) TRANSMIT TRANSMIT_BASE_TOOL_t Machine data: MD24920 $MC_TRANSMIT_BASE_TOOL_t is used to inform the control system of the position of the tool zero point in relation to the origin of the coordinate system declared for TRANSMIT. The machine data has three components for the three axes of the Cartesian coordinate system.
  • Page 517: Activation Of Transmit

    Kinematic Transformation (M1) TRANSMIT 7.2.3 Activation of TRANSMIT TRANSMIT After the settings described above have been made, the TRANSMIT function can be activated: TRANSMIT or TRANSMIT (t) The first declared TRANSMIT function is activated with TRANSMIT. TRANSMIT(t) activates the t-th declared TRANSMIT function – t may not be greater than 2. From software version 4 upwards, special procedures for pole transition etc.
  • Page 518: Special System Reactions With Transmit

    Kinematic Transformation (M1) TRANSMIT 7.2.5 Special system reactions with TRANSMIT The transformation can be selected and deselected via part program or MDA. Please note on selection ● An intermediate motion block is not inserted (phases/radii). ● A series of spline blocks must be concluded. ●...
  • Page 519 Kinematic Transformation (M1) TRANSMIT Rotary axis The rotary axis cannot be programmed because it is occupied by a geometry axis and cannot thus be programmed directly as a channel axis. Extensions An offset in the rotary axis CM can be entered, for example, by compensating the inclined position of a workpiece in a frame within the frame chain.
  • Page 520 Kinematic Transformation (M1) TRANSMIT Exceptions Axes affected by the transformation cannot be used ● as a preset axis (alarm) ● to approach the fixed point (alarm) ● for referencing (alarm) Velocity control The velocity monitoring function for TRANSMIT is implemented by default during preprocessing.
  • Page 521: Machining Options For Transmit

    Kinematic Transformation (M1) TRANSMIT In AUTOMATIC mode The velocity-optimized velocity planning function remains active for as long as the axes relevant to the transformation are traversed in mutual synchronism as path axes. If an axis involved in the transformation is traversed as a positioning axis, the online velocity check remains active until the transformation is deactivated or until all axes involved in the transformation are operating as path axes again.
  • Page 522 Kinematic Transformation (M1) TRANSMIT New features Definition: A pole is said to exist if the line described by the tool center point intersects the turning center of the rotary axis. The following cases are covered: ● Under what conditions and by what methods the pole can be traversed ●...
  • Page 523 Kinematic Transformation (M1) TRANSMIT Rotation in pole Figure 7-6 Traversal of x axis into pole (a), rotation (b), exit from pole (c) Selection of method The method must be selected according to the capabilities of the machine and the requirements of the part to be machined. The method is selected by machine data: MD24911 $MC_TRANSMIT_POLE_SIDE_FIX_1 MD24951 $MC_TRANSMIT_POLE_SIDE_FIX_2 The first MD applies to the first TRANSMIT transformation in the channel and the second MD...
  • Page 524 Kinematic Transformation (M1) TRANSMIT Special features relating to pole traversal The method of pole traversal along the linear axis may be applied in the AUTOMATIC and JOG modes. System response: Table 7- 1 Traversal of pole along the linear axis Operating mode State Response...
  • Page 525 Kinematic Transformation (M1) TRANSMIT Traversal close to pole If a tool center point traverses past the pole, the control system automatically reduces the feedrate and path acceleration rate such that the settings of the machine axes (MD32000 $MA_MAX_AX_VELO[AX*] and MD32300 $MA_ MAX_AX_ACCEL[AX*]) are not exceeded. The closer the path is to the pole, the greater the reduction in the feedrate.
  • Page 526 Kinematic Transformation (M1) TRANSMIT Corner without pole traversal Figure 7-8 Machining on one pole side Requirements: AUTOMATIC mode, MD24911 $MC_TRANSMIT_POLE_SIDE_FIX_1 = 1 or 2 MD24951 $MC_TRANSMIT_POLE_SIDE_FIX_2 = 1 or 2 The control system inserts a traversing block at the step change point. This block generates the necessary rotation so that machining of the contour can continue on the same side of the pole.
  • Page 527 Kinematic Transformation (M1) TRANSMIT machining is done before the rotational center point (linear axis in positive traversing range), MD24911 $MC_TRANSMIT_POLE_SIDE_FIX_1 = 2 MD24951 $MC_TRANSMIT_POLE_SIDE_FIX_2 = 2 behind the rotational center point (linear axis in negative traversing range). Transformation selection outside pole The control system moves the axes involved in the transformation without evaluating machine data MD24911 $MC_TRANSMIT_POLE_SIDE_FIX_t.
  • Page 528 Kinematic Transformation (M1) TRANSMIT Traverse into working area limitation Any motion that leads into the working area limitation is rejected with alarm 21619. Any corresponding part program block is not processed. The control system stops processing at the end of the preceding block. If the motion cannot be foreseen promptly enough (JOG modes, positioning axes), then the control stops at the edge of the working area limitation.
  • Page 529 Kinematic Transformation (M1) TRANSMIT 7.2.10 Constraints Look Ahead All functions requiring Look Ahead (traversal through pole, Look Ahead) work satisfactorily only if the relevant axis motions can be calculated exactly in advance. With TRANSMIT, this applies to the rotary axis and the linear axis perpendicular to it. If one of these axes is the positioning axis, then the Look Ahead function is deactivated by alarm 10912 and the conventional online velocity check activated instead.
  • Page 530 Kinematic Transformation (M1) TRACYL TRACYL Note The TRACYL transformation described below requires that unique names are assigned to machine axes, channels and geometry axes when the transformation is active. See MD10000 $MN_AXCONF_MACHAX_NAME_TAB, MD20080 $MC_AXCONF_CHANAX_NAME_TAB, MD20060 $MC_AXCONF_GEOAX_NAME_TAB. Besides this, no unequivocal assignments exist. Task specification Groove machining, see diagram.
  • Page 531 Kinematic Transformation (M1) TRACYL Axis Configuration (1) The generated cylinder surface curve transformation allows a traversing path to be specified with respect to the generated surface of a cylinder coordinate system. The machine kinematics must correspond to the cylinder coordinate system. It must include one or two linear axes and a rotary axis.
  • Page 532 Kinematic Transformation (M1) TRACYL Functionality During transformation (both axis configurations), the full functionality of the control is available, both for processing from the NC program and in JOG mode Groove traversing-section In the case of axis configuration 1, longitudinal grooves along the rotary axis are subject to parallel limits only if the groove width corresponds exactly to the tool radius.
  • Page 533 Kinematic Transformation (M1) TRACYL Number of TRACYL structures Three of the 10 permitted data structures for transformations may be assigned to the TRACYL function. They are characterized by the fact that the value assigned with MD24100 $MC_TRAFO_TYPE_n is 512 or 513 or 514. The following machine data must be set for a maximum of 3 of these TRACYL transformations: MD24800 $MC_TRACYL_ROT_AX_OFFSET_t...
  • Page 534 Kinematic Transformation (M1) TRACYL Axis configuration The following overview shows the relationship between the axes of the machine and the relevant axis data. Figure 7-13 Axis configuration for the example in Figure "Machining grooves on a cylinder surface with X-Y-Z-C kinematics" The configurations highlighted in the figure above apply when TRACYL is active.
  • Page 535 Kinematic Transformation (M1) TRACYL Assignment of geometry axes to channel axes A distinction has to be made, whetherTRACYL is active or not: ● TRACYL not active A Y axis is operated normally. MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[0]=1 MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[1] = 2 MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[2] = 3 ●...
  • Page 536 Kinematic Transformation (M1) TRACYL Identification of spindles It is specified per machine axis, whether a spindle is present (value > 0: spindle number) or a path axis (value 0). MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[0]=1 MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[1]=0 MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[2]=0 MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[3]=0 MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[4]=2 Assignment of names to machine axes With the cd of the machine axes as a reference, a machine axis name is transferred to the control system: MD10000 $MN_AXCONF_MACHAX_NAME_TAB[0]="CM"...
  • Page 537 Kinematic Transformation (M1) TRACYL Transformation type 514 without groove side offset Cylinder surface curve transformation TRAFO_TYPE_n = 514 If the machine has another linear axis which is perpendicular to both the rotary axis and the first linear axis, transformation type 514 can be used to apply tool offsets with the real Y axis. In this case, it is assumed that the user memory of the second linear axis is small and will not be used to execute the part program.
  • Page 538 Kinematic Transformation (M1) TRACYL Grooves without groove wall offset For transformation type 514 the following indices apply for $MC_TRAFO_AXES_IN_n[ ]. Meaning of indices in relation to base coordinate system (BCS): ● [0]: Cartesian axis radial to rotary axis (if configured) ●...
  • Page 539 Kinematic Transformation (M1) TRACYL TRACYL_ROT_SIGN_IS_PLUS_t If the direction of rotation of the rotary axis on the x-y plane is counter-clockwise when viewed against the z axis, then the machine data must be set to TRUE, otherwise to FALSE. MD24810 $MC_TRACYL_ROT_SIGN_IS_PLUS_t=TRUE In this case, "t"...
  • Page 540 Kinematic Transformation (M1) TRACYL Figure 7-15 Position of tool zero in relation to machine zero Example: MD24820 $MC_TRACYL_BASE_TOOL_t[0]=tx MD24820 $MC_TRACYL_BASE_TOOL_t[1]=ty MD24820 $MC_TRACYL_BASE_TOOL_t[2]=tz In this case, "t" is substituted by the number of the TRACYL transformations declared in the transformation data blocks (t may not be greater than 2). Figure 7-16 Cylinder coordinate system Extended Functions...
  • Page 541 Kinematic Transformation (M1) TRACYL 7.3.3 Activation of TRACYL TRACYL After the settings described above have been made, the TRACYL function can be activated: TRACYL(d) TRACYL(d,t) TRACYL(reference diameter, Tracyl data block) TRACYL(d) is used to activate the first declared TRACYL function. TRACYL(d,t) activates the t-th declared TRACYL function –...
  • Page 542 Kinematic Transformation (M1) TRACYL 7.3.5 Special system reactions with TRACYL The transformation can be selected and deselected via part program or MDA. Please note on selection ● An intermediate motion block is not inserted (phases/radii). ● A series of spline blocks must be concluded. ●...
  • Page 543 Kinematic Transformation (M1) TRACYL Rotary axis The rotary axis cannot be programmed because it is occupied by a geometry axis and cannot thus be programmed directly as a channel axis. Extensions An offset of the rotary axis CM can be entered, for example, by compensating the inclined position of a workpiece in a frame within the frame chain.
  • Page 544 Kinematic Transformation (M1) TRACYL Exceptions Axes affected by the transformation cannot be used ● as a preset axis (alarm) ● to approach the fixed point (alarm) ● for referencing (alarm) Interrupt part program The following points must be noted with respect to interrupting part program processing in connection with TRACYL: AUTOMATIC after JOG If part program processing is interrupted when the transformation is active followed by...
  • Page 545 Kinematic Transformation (M1) TRAANG TRAANG Note The TRAANG transformation described below requires that unique names are assigned to machine axes, channels and geometry axes when the transformation is active. See MD10000 $MN_AXCONF_MACHAX_NAME_TAB, MD20080 $MC_AXCONF_CHANAX_NAME_TAB, MD20060 $MC_AXCONF_GEOAX_NAME_TAB. Besides this, no unequivocal assignments exist. Task specification Grinding operations Figure 7-18...
  • Page 546 Kinematic Transformation (M1) TRAANG ● Longitudinal grinding ● Face grinding ● Grinding of a specific contour ● Oblique plunge-cut grinding Figure 7-19 Possible grinding operations Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 547 Kinematic Transformation (M1) TRAANG 7.4.1 Preconditions for TRAANG (inclined axis) Axis configuration To be able to program in the Cartesian coordinate system (see figure "Machine with inclined infeed axis": X, Y, Z), it is necessary to inform the control of the correlation between this coordinate system and the actually existing machine axes (MU,MZ): ●...
  • Page 548 Kinematic Transformation (M1) TRAANG Axis configuration The axes of the grinding machine illustrated in the figure, must be entered as follows in the machine data: Axis configuration for the example in figure "Machine with inclined infeed axis" The configurations highlighted in the figure above apply when TRAANG is active. Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 549 Kinematic Transformation (M1) TRAANG 7.4.2 Settings specific to TRAANG Type of transformation TRAFO_TYPE_n The user must specify the transformation type for the transformation data blocks (maximum n = 10) in the following machine data: MD24100 $MC_TRAFO_TYPE_n The value for an inclined axis is 1024: MD24100 $MC_TRAFO_TYPE_1=1024 Axis image TRAFO_AXES_IN_n...
  • Page 550 Kinematic Transformation (M1) TRAANG MD24996 $MC_TRACON_CHAIN_2[0] = 2 input variables in TRACON MD24996 $MC_TRACON_CHAIN_2[1] = 3 input variables in TRACON MD24996 $MC_TRACON_CHAIN_2[2] = 0 input variables in TRACON MD24996 $MC_TRACON_CHAIN_2[3] = 0 input variables in TRACON Angle of inclined axis TRAANG_ANGLE_m The following machine data is used to inform the control system of the angle which exists between a machine axis and the inclined axis in degrees:...
  • Page 551 Kinematic Transformation (M1) TRAANG TRAANG_PARALLEL_VELO_RES_m Machine data MD24720 $MC_TRAANG_PARALLEL_VELO_RES_m is used to set the velocity reserve which is held on the parallel axis for compensatory motion (see the following machine data). MD24110 $MC_TRAFO_AXES_IN_n[1] Range of values: 0 ... 1 0: When value 0 is set, the control system automatically determines the reserve: the axes are limited with equal priority (= default setting).
  • Page 552 Kinematic Transformation (M1) TRAANG 7.4.3 Activation of TRAANG TRAANG(a) After the settings described above have been made, the TRAANG function can be activated: TRAANG(a) TRAANG(a,n) With TRAANG(a) the first declared transformation inclined axis is activated. The angle of the inclined axis can be specified with α. ●...
  • Page 553 Kinematic Transformation (M1) TRAANG 7.4.5 Special system reactions with TRAANG The transformation can be selected and deselected via part program or MDA. Selection and deselection ● An intermediate motion block is not inserted (phases/radii). ● A spline block sequence must be terminated. ●...
  • Page 554 Kinematic Transformation (M1) TRAANG Exceptions Axes affected by the transformation cannot be used ● as a preset axis (alarm) ● to approach the fixed point (alarm) ● for referencing (alarm) Velocity control The velocity monitoring function for TRAANG is implemented as standard during preprocessing.
  • Page 555 Kinematic Transformation (M1) TRAANG Programming Figure 7-21 Machine with inclined infeed axis Example: N... Program axis for inclined axis N50 G07 X70 Z40 F4000 Approach starting position N60 G05 X70 F100 Oblique plunge-cutting N... Constraints ● It is only meaningful to select the function "Cartesian PTP travel" in JOG mode (motion according to G05) if transformation is active (TRAANG).
  • Page 556 Kinematic Transformation (M1) Chained transformations Chained transformations Introduction It is possible to chain the kinematic transformation described here, with an additional transformation of the type "Inclined axis": ● TRANSMIT ● TRACYL ● TRAANG (oblique axis) as described in References: /FB3/ Function Manual Special Functions; 3- to 5-axis Transformation (F2). ●...
  • Page 557 Kinematic Transformation (M1) Chained transformations Axis configuration The following configuration measures are necessary for a chained transformation: ● Assignment of names to geometry axes ● Assignment of names to channel axes ● Assignment of geometry axes to channel axes – general situation (no transformation active) ●...
  • Page 558 Kinematic Transformation (M1) Chained transformations Constraints The supplementary conditions and special cases indicated in the individual transformation descriptions are also applicable for use in chained transformations. 7.5.1 Activating chained transformations TRACON A chained transformation is activated by: TRACON(trf, par) ● trf: Number of the chained transformation: 0 or 1 for first/only chained transformation.
  • Page 559 Kinematic Transformation (M1) Chained transformations 7.5.3 Special characteristics of chained transformations Tool data A tool is always assigned to the first transformation in a chain. The subsequent transformation then behaves as if the active tool length were zero. Only the basic tool lengths set in the machine data (_BASE_TOOL_) are valid for the first transformation in the chain.
  • Page 560 Kinematic Transformation (M1) Chained transformations Selection and deselection Persistent transformation is selected via the following machine data: MD20144 $MC_TRAFO_MODE_MASK, Bit 0 = 1 MD20144 $MC_TRAFO_RESET_VALUE defines persistent transformation. MD20140 $MC_TRAFO_RESET_VALUE=Number of the transformation data set of the persistent transformation In addition the following must be set (i.e. noted): MD20110 $MC_RESET_MODE_MASK Bit 0 = 1 (Bit 7 is evaluated) Bit 7 =0 (MD20140 $MC_TRAFO_RESET_VALUE determines the transformation data set)
  • Page 561 Kinematic Transformation (M1) Chained transformations System variables New system variables return the transformation types of the active chained transformations. Description NCK variable no transformation active: 0 $P_TRAFO_CHAIN[0] one transformation active: Type of 1st chained transformation with TRACON, or type of active transformation if not TRACON no transformation active: 0 $P_TRAFO_CHAIN[1]...
  • Page 562 Kinematic Transformation (M1) Chained transformations Example For a lathe with an inclined additional Y axis, the transformation of the inclined axis should be part of the machine configuration and therefore does not have to be considered by the programmer. With TRACYL or TRANSMIT transformations are selected, which must then include the TRAANG.
  • Page 563 Kinematic Transformation (M1) Chained transformations MD24210 $MC_TRAFO_AXES_IN_2[0] = 1 MD24210 $MC_TRAFO_AXES_IN_2[1] = 4 MD24210 $MC_TRAFO_AXES_IN_2[2] = 3 MD24210 $MC_TRAFO_AXES_IN_2[3] = 0 MD24210 $MC_TRAFO_AXES_IN_2[4] = 0 MD24220 $MC_TRAFO_GEOAX_ASSIGN_TAB_2[0] =1 MD24220 $MC_TRAFO_GEOAX_ASSIGN_TAB_2[1] =4 MD24220 $MC_TRAFO_GEOAX_ASSIGN_TAB_2[2] =3 MD24300 $MC_TRAFO_TYP_3 = 514 MD24310 $MC_TRAFO_AXES_IN_3[0] = 1 MD24310 $MC_TRAFO_AXES_IN_3[1] = 4 MD24310 $MC_TRAFO_AXES_IN_3[2] = 3 MD24310 $MC_TRAFO_AXES_IN_3[3] = 0...
  • Page 564 Kinematic Transformation (M1) Chained transformations ; matching part program: $TC_DP1[1,1]=120; Tool type $TC_DP2[1,1] = 0 $TC_DP3[1,1]=3 ; length compensation vector $TC_DP4[1,1]=25 $TC_DP5[1,1] =5 $TC_DP6[1,1]= 2; Radius; tool radius ; transformation change: N1000 G0 X0 Y=0 Z0 A80 G603 SOFT G64 N1010 N1020 X10 Y20 Z30 ;...
  • Page 565 Kinematic Transformation (M1) Chained transformations 7.5.5 Axis positions in the transformation chain Function System variables having the following content are provided for machines with system- or OEM transformations, especially for chained transformations (TRACON): Type System variable Description REAL $AA_ITR[ax,n] Current setpoint value at output of the nth transformation REAL $AA_IBC[ax] Current setpoint value of a cartesian axis...
  • Page 566 Kinematic Transformation (M1) Chained transformations $AA_ITR[ <axis>, <transformer layer> ] The $AA_ITR[ax,n] variable determines the setpoint position of an axis at the output of the nth chained transformation. Figure 7-22 Transformer layer Transformer layer The 2nd index of the variable corresponds to the transformer layer in which the positions are tapped: ●...
  • Page 567 Kinematic Transformation (M1) Chained transformations $AA_IBC[ <axis>] The variable $AA_IBC[ax] determines the setpoint position of a cartesian axis lying between BCS and MCS. If an axis is cartesian at the output of the nth transformation, then this output value is delivered. If the corresponding axis at the output of all transformations is not cartesian, then the BCS value including all BCS offsets of the axis are determined.
  • Page 568 Kinematic Transformation (M1) Cartesian PTP travel Cartesian PTP travel Function This function can be used to approach a Cartesian position with a synchronized axis movement. It is particularly useful in cases where, for example, the position of the joint is changed, causing the axis to move through a singularity.
  • Page 569 Kinematic Transformation (M1) Cartesian PTP travel Reset MD20152 $MC_GCODE_RESET_MODE[48] (group 49) defines which setting is active after RESET/end of part program. ● MD=0: Settings are effected in accordance with machine data MD20150 $MC_GCODE_RESET_VALUES[48] ● MD=1: Active setting remains valid Selection The setting MD20152 $MC_GCODE_RESET_MODE[48] =0, with MD20150 $MC_GCODE_RESET_VALUES[48] can activate the following: ●...
  • Page 570 Kinematic Transformation (M1) Cartesian PTP travel ● With PTPG0, CP travel is used for smooth approach and retraction (SAR). SAR requires a contour in order to construct approach and retraction motion and to be able to lower and raise tangentially. The blocks required for this purpose are therefore traversed with the CP command.
  • Page 571 Kinematic Transformation (M1) Cartesian PTP travel Alarm 10754: Still possible in case of conflict. Alarm 10778: Still possible in case of conflict. Alarm 10744: With PTPG0, CP travel is used for smooth approach and retraction (SAR), in order to ensure correct processing of soft approach and retraction. Alarm 10746: Still possible in case of conflict.
  • Page 572 Kinematic Transformation (M1) Cartesian PTP travel Note It is only meaningful to program the STAT address for "Cartesian PTP travel", since changes in position are not normally possible while an axis is traversing with active transformation. The starting point position is applied as the destination point for traversal with the CP command.
  • Page 573 Kinematic Transformation (M1) Cartesian PTP travel Figure 7-25 Ambiguity of top or bottom elbow Figure 7-26 Ambiguity of axis B1 7.6.4 Example of ambiguity in rotary axis position The rotary axis position shown in the following diagram can be approached in the negative or positive direction.
  • Page 574 Kinematic Transformation (M1) Cartesian PTP travel 7.6.5 PTP/CP switchover in JOG mode In JOG mode, the transformation can be switched on and off via a PLC control signal. This control signal is active only in JOG mode and when a transformation has been activated via the program.
  • Page 575 Kinematic Transformation (M1) Cartesian manual travel (optional) Cartesian manual travel (optional) Note SINUMERIK 840D The "Handling transformation package" option is necessary for the "Cartesian manual travel" function. Function The "Cartesian manual travel" function, as a reference system for JOG mode, allows axes to be set independently of each other in the following Cartesian coordinate systems: ●...
  • Page 576 Kinematic Transformation (M1) Cartesian manual travel (optional) Selecting reference systems For JOG motion, one of three reference systems can be specified separately both for Translation (coarse traverse) with geometry axes, as well as for Orientation with orientation axes via the SD42650 $SC_CART_JOG_MODE.
  • Page 577 Kinematic Transformation (M1) Cartesian manual travel (optional) Translation in the WCS The workpiece coordinate system (WCS) lies in the workpiece zero. The workpiece coordinate system can be shifted and rotated relative to the reference system via frames. As long as the frame rotation is active, the traversing movements correspond to the translation of the movements in the basic coordinate system.
  • Page 578 Kinematic Transformation (M1) Cartesian manual travel (optional) Translation and orientation in the TCS simultaneously If translation and orientation motions are executed at the same time, the translation is always traversed corresponding to the current orientation of the tool. This permits infeed movements that are made directly in the tool direction or movements that run perpendicular to tool direction.
  • Page 579 Kinematic Transformation (M1) Cartesian manual travel (optional) Orientation in BCS The rotations are made around the defined directions of the basic coordinate system. Figure 7-31 Cartesian manual travel in the basic coordinate system orientation angle A Figure 7-32 Cartesian manual travel in the basic coordinate system orientation angle B Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 580 Kinematic Transformation (M1) Cartesian manual travel (optional) Figure 7-33 Cartesian manual travel in the basic coordinate system orientation angle C Orientation in TCS The rotations are around the moving directions in the tool coordinate system. The current homing directions of the tool are always used as rotary axes. Figure 7-34 Cartesian manual travel in the tool coordinate system, orientation angle A Extended Functions...
  • Page 581 Kinematic Transformation (M1) Cartesian manual travel (optional) Figure 7-35 Cartesian manual travel in the tool coordinate system, orientation angle B Figure 7-36 Cartesian manual travel in the tool coordinate system, orientation angle C Marginal conditions If only NST DB31, ... DBX33.6 ("Transformation active") is on 1, is it possible to execute the Cartesian manual travel function.
  • Page 582 Kinematic Transformation (M1) Cartesian manual travel (optional) Table 7- 2 Conditions for Cartesian manual travel Transformation in G codes PTP/CP IS "Activate PTP/CP IS "Transformation program active travel" active" (TRAORI..) FALSE Not functional Not functional DB31, ... DBX33.6 = 0 TRUE DB31, ...
  • Page 583 Kinematic Transformation (M1) Cartesian manual travel (optional) Combining reference systems The table below shows all the combination options for reference systems. Table 7- 4 Combination options for reference systems SD42650 $SC_CART_JOG_MODE Reference system for Bit 10 Bit 9 Bit 8 Bit 2 Bit 1 Bit 0...
  • Page 584 Kinematic Transformation (M1) Activating transformation machine data via part program/softkey Activating transformation machine data via part program/softkey 7.8.1 Functionality Transformation MD can now be activated by means of a program command softkey, i.e. these can, for example, be written from the part program, thus altering the transformation configuration completely.
  • Page 585 Kinematic Transformation (M1) Activating transformation machine data via part program/softkey Note In the case of a program interruption (Repos, deletion of distance to go, ASUBs, etc.), the control system requires a number of different blocks that have already been executed for the repositioning operation.
  • Page 586 Kinematic Transformation (M1) Activating transformation machine data via part program/softkey The first data set for orientation transformations is assigned to the first transformation (equaling the first orientation transformation) and the second transformation data set to the third transformation (equaling the second orientation transformation). If the third transformation is active when the NEWCONFIG command is executed, it is not permissible to change the first transformation into a transformation of another group (e.g.
  • Page 587 Kinematic Transformation (M1) Activating transformation machine data via part program/softkey 7.8.4 List of machine data affected Machine data which can be made NEWCONFIG compatible are listed below. All transformations Machine data which are relevant for all transformations: ● MD24100 $MC_TRAFO_TYPE_1 to MD24480 $MC_TRAFO_TYPE_10 ●...
  • Page 588 Kinematic Transformation (M1) Activating transformation machine data via part program/softkey ● MD24564 $MC_TRAFO5_NUTATOR_AX_ANGLE_1 and MD24664 $MC_TRAFO5_NUTATOR_AX_ANGLE_2 ● MD24566 $MC_TRAFO5_NUTATOR_VIRT_ORIAX_1 and MD24666 $MC_TRAFO5_NUTATOR_VIRT_ORIAX_2 Transmit transformations Machine data which are relevant for Transmit transformations: ● MD24920 $MC_TRANSMIT_BASE_TOOL_1 and MD24970 $MC_TRANSMIT_BASE_TOOL_2 ● MD24900 $MC_TRANSMIT_ROT_AX_OFFSET_1 and MD24950 $MC_TRANSMIT_ROT_AX_OFFSET_2 ●...
  • Page 589 Kinematic Transformation (M1) Activating transformation machine data via part program/softkey Inclined axis transformations Machine data which are relevant for inclined axis transformations: ● MD24710 $MC_TRAANG_BASE_TOOL_1 and MD24760 $MC_TRAANG_BASE_TOOL_2 ● MD24700 $MC_TRAANG_ANGLE_1 and MD24750 $MC_TRAANG_ANGLE_2 ● MD24720 $MC_TRAANG_PARALLEL_VELO_RES_1 and MD24770 $MC_TRAANG_PARALLEL_VELO_RES_2 ●...
  • Page 590 Kinematic Transformation (M1) Constraints Constraints 7.9.1 TRANSMIT Availability The TRANSMIT function is optional. It can be acquired for: ● SINUMERIK 840D with NCU 571-573 Pole traversal and optimized response in pole vicinity are available. 7.9.2 TRACYL (peripheral surface transformation) Availability The TRACYL function is optional.
  • Page 591 Kinematic Transformation (M1) Constraints 7.9.4 Chained transformations Two transformations can be chained. However, not just any transformation can be chained to another one. In this case, the following restrictions apply: ● The first transformation of the chain has to be one of the following transformations: –...
  • Page 592 Kinematic Transformation (M1) Examples 7.10 Examples 7.10.1 TRANSMIT The following example relates to the configuration illustrated in the following figure and shows the sequence of main steps required to configure the axes and activate TRANSMIT. ; General axis configuration for rotation MD20060 $MC_AXCONF_GEOAX_NAME_TAB[0]="X"...
  • Page 593 Kinematic Transformation (M1) Examples MD24110 $MC_TRAFO_AXES_IN_1[1] = 3 ; channel rotary axis MD24110 $MC_TRAFO_AXES_IN_1[2]=2 ; channel axis parallel to rotary axis MD24120$MC_TRAFO_GEOAX_ASSIGN_TAB_1[ ; 1st channel axis becomes GEOAX X 0]=1 MD24120 ; 2nd channel axis becomes GEOAX Y $MC_TRAFO_GEOAX_ASSIGN_TAB_1[1]=3 MD24120 ;...
  • Page 594 Kinematic Transformation (M1) Examples MD20070 $MC_AXCONF_MACHAX_USED[2] = 4 ; Z as machine axis 4 MD20070 $MC_AXCONF_MACHAX_USED[3] = 1 ; C as machine axis 1 MD20070 $MC_AXCONF_MACHAX_USED[4] = 5 ; AS as machine axis 5 MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[AX1]= 1 ; C is spindle 1 MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[AX2]= 0 ;...
  • Page 595 Kinematic Transformation (M1) Examples MD24820 $MC_TRACYL_BASE_TOOL_1 ; tool center distance in Z [2] = 0.0 ; activation TRACYL(40.0) ; programming in Y and Z see below ; return to rotational operation TRAFOOF Programming with groove wall offset (TRAFO_TYPE_n=513) Contour It is possible to produce a groove which is wider than the tool by using address OFFN to program the compensation direction (G41, G42) in relation to the programmed reference contour and the distance of the groove side wall from the reference contour (see fig.).
  • Page 596 Kinematic Transformation (M1) Examples Figure 7-37 Groove with wall compensation, cylinder coordinates (simplified sketch) ; Example program, which guides the tool after transformation selection ; on path I via path II back to the starting position ; (machine data see "Data Description", Example X-Y-Z-C kinematics): N1 SPOS=0;...
  • Page 597 Kinematic Transformation (M1) Examples ; Approach of groove wall N60 G1 Z100 G42 ; TRC selection to approach groove wall Machining groove sector path I N70 G1 Z50 ; Groove part parallel to cylinder plane N80 G1 Y10 ; Groove part parallel to circumference ;...
  • Page 598 Kinematic Transformation (M1) Examples MD24110 $MC_TRAFO_AXES_IN_1[3] = 2 ; Channel axis special ; axis to index [0] MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_1 [0] = 1 ; 1st channel axis ; becomes GEOAX X MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_1 [1] = 4 ; 2nd channel axis ; becomes GEOAX Y MD24110 $MC_TRAFO_GEOAX_ASSIGN_TAB_1 [2] = 3 ;...
  • Page 599 Kinematic Transformation (M1) Examples 7.10.3 TRAANG For the configuration shown in Figure "Groove with Groove Wall Offset, Cylinder Coordinates", an example relating to the configuration of axes which shows the sequence of main steps required to configure the axes up to activation by TRAANG is shown. ;...
  • Page 600 Kinematic Transformation (M1) Examples MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_1 [1] ; Y 2nd channel axis MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_1 [2] ; Z 3rd channel axis MD24700 $MC_TRAANG_ANGLE_1 = 30. ; Angle of inclined axis MD24710 $MC_TRAANG_BASE_TOOL_1 [0] = 0 ; tool center distance in X MD24710 $MC_TRAANG_BASE_TOOL_1 [1] = 0 ;...
  • Page 601 Kinematic Transformation (M1) Examples MD20070 $MC_AXCONF_MACHAX_USED[7] = 0 MD20080 $MC_AXCONF_CHANAX_NAME_TAB[3]="A" MD20080 $MC_AXCONF_CHANAX_NAME_TAB[4]="B" MD20080 $MC_AXCONF_CHANAX_NAME_TAB[5] = "C" MD36902 $MA_IS_ROT_AX[ AX4 ] = TRUE MD36902 $MA_IS_ROT_AX[ AX5 ] = TRUE MD36902 $MA_IS_ROT_AX[ AX6 ] = TRUE MD36902 $MA_IS_ROT_AX[ AX7 ] = TRUE MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[AX5]= 0 MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[AX7] = 1 MD35000 $MA_ROT_IS_MODULO[AX7] = TRUE...
  • Page 602 Kinematic Transformation (M1) Examples MD24220 $MC_TRAFO_GEOAX_ASSIGN_TAB_2[1] =6 MD24220 $MC_TRAFO_GEOAX_ASSIGN_TAB_2[2] =3 ; 3. TRAANG MD24300 $MC_TRAFO_TYPE_3 = 1024 ; TRAANG MD24310 $MC_TRAFO_AXES_IN_3[0] = 1 MD24310 $MC_TRAFO_AXES_IN_3[1] = 3 MD24310 $MC_TRAFO_AXES_IN_3[2] = 2 MD24310 $MC_TRAFO_AXES_IN_3[3] = 0 MD24310 $MC_TRAFO_AXES_IN_3[4] = 0 MD24320 $MC_TRAFO_GEOAX_ASSIGN_TAB_3[0] =1 MD24320 $MC_TRAFO_GEOAX_ASSIGN_TAB_3[1] =3 MD24320 $MC_TRAFO_GEOAX_ASSIGN_TAB_3[2] =2 MD24700 $MC_TRAANG_ANGLE_1 = 45.
  • Page 603 Kinematic Transformation (M1) Examples Part program (extracts) Example of an NC program which uses the set transformations: ; Call single transformations ; Tool specification $TC_DP1[1,1] = 120 ; Tool type $TC_DP3[1,1] = 10 ; Tool length n2 x0 y0 z0 a0 b0 f20000 t1 d1n4 x20 n30 TRANSMIT ;...
  • Page 604 Kinematic Transformation (M1) Examples n360 x0 y-20 z0 n370 x20 y0 z0 n380 TRAFOOF ; 2nd chained transformation to be deactivated n1000 M30 7.10.5 Activating transformation MD via a part program It would be permissible in the following example to reconfigure (write) a machine data affecting the second transformation (e.g.
  • Page 605 Kinematic Transformation (M1) Examples 7.10.6 Axis positions in the transformation chain Two chained transformations are configured in the following example, and the system variables for determining the axis positions in the synchronous action are read cyclically in the part program. Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 606 Kinematic Transformation (M1) Examples Machine data CHANDATA(1) MD24100 $MC_TRAFO_TYPE_1=256 ; TRANSMIT MD24110 $MC_TRAFO_AXES_IN_1[0] = 2 MD24110 $MC_TRAFO_AXES_IN_1[1] = 1 MD24110 $MC_TRAFO_AXES_IN_1[2] = 3 MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_1 [0] = 2 MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_1 [1] = 1 MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_1 [2] = 3 MD24200 $MC_TRAFO_TYPE_2=512 ;...
  • Page 607 Kinematic Transformation (M1) Examples MD24410 $MC_TRAFO_AXES_IN_4[1]=2 MD24410 $MC_TRAFO_AXES_IN_4[2]=3 MD24420 $MC_TRAFO_GEOAX_ASSIGN_TAB_4[0] =2 MD24420 $MC_TRAFO_GEOAX_ASSIGN_TAB_4[1] =1 MD24420 $MC_TRAFO_GEOAX_ASSIGN_TAB_4[2] =3 2. TRACYL/TRAANG chaining MD24430 $MC_TRAFO_TYPE_5=8192 ; TRACON (2) MD24996 $MC_TRACON_CHAIN_2[0] = 2 MD24996 $MC_TRACON_CHAIN_2[1] = 3 MD24996 $MC_TRACON_CHAIN_2[2]=0 MD24996 $MC_TRACON_CHAIN_2[3]=0 MD24432 $MC_TRAFO_AXES_IN_5[0]=1 MD24432 $MC_TRAFO_AXES_IN_5[1]=2 MD24432 $MC_TRAFO_AXES_IN_5[2]=3 MD24434 $MC_TRAFO_GEOAX_ASSIGN_TAB_5[0] =2 MD24434 $MC_TRAFO_GEOAX_ASSIGN_TAB_5[1] =1...
  • Page 608 Kinematic Transformation (M1) Examples Part program Program code Comment N10 $TC_DP1[1,1]=120 N20 $TC_DP3[1,1]= 20 N30 $TC_DP4[1,1]=0 N40 $TC_DP5[1,1]=0 N60 X0 Y0 Z0 F20000 T1 D1 ; cyclical reading of the variables in the synchronous action N90 ID=1 WHENEVER TRUE DO $R0=$AA_ITR[X,0] $R1=$AA_ITR[X,1] $R2=$AA_ITR[X,2] N100 ID=2 WHENEVER TRUE DO $R3=$AA_IBC[X] $R4=$AA_IBC[Y] $R5=$AA_IBC[Z] N110 ID=3 WHENEVER TRUE DO $R6=$VA_IW[X]-$AA_IW[X] N120 ID=4 WHENEVER TRUE DO $R7=$VA_IB[X]-$AA_IB[X]...
  • Page 609 Kinematic Transformation (M1) Data lists 7.11 Data lists 7.11.1 Machine data 7.11.1.1 TRANSMIT Channel-specific machine data Number Identifier: $MC_ Description 20110 RESET_MODE_MASK Definition of control basic setting after run-up and RESET/part program end 20140 TRAFO_RESET_VALUE Basic transformation position 22534 TRAFO_CHANGE_M_CODE M code for transformation changeover 24100 TRAFO_TYPE_1...
  • Page 610 Kinematic Transformation (M1) Data lists Number Identifier: $MC_ Description 24910 TRANSMIT_ROT_SIGN_IS_PLUS_1 Sign of rotary axis for TRANSMIT (1st TRANSMIT) 24911 TRANSMIT_POLE_SIDE_FIX_1 Limitation of working range in front of/behind pole, 1st transformation 24920 TRANSMIT_BASE_TOOL_1 Distance of tool zero point from origin of geo-axes (1st TRANSMIT) 24950 TRANSMIT_ROT_AX_OFFSET_2...
  • Page 611 Kinematic Transformation (M1) Data lists Number Identifier: $MC_ Description 24436 TRAFO_INCLUDES_TOOL_5 Tool handling with active transformation 5. 24440 TRAFO_TYPE_6 Definition of the 6th transformation in channel 24442 TRAFO_AXES_IN_6 Axis assignment for the 6th transformation 24444 TRAFO_GEOAX_ASSIGN_TAB_6 Assignment geometry axes for 6th transformation 24446 TRAFO_INCLUDES_TOOL_6 Tool handling with active transformation 6.
  • Page 612 Kinematic Transformation (M1) Data lists 7.11.1.3 TRAANG Channel-specific machine data Number Identifier: $MC_ Description 20110 RESET_MODE_MASK Definition of control basic setting after run-up and RESET/part program end 20140 TRAFO_RESET_VALUE Basic transformation position 20144 RAFO_MODE_MASK Selection of the kinematic transformation function 20534 TRAFO_CHANGE_M_CODE M code for transformation changeover...
  • Page 613 Kinematic Transformation (M1) Data lists Number Identifier: $MC_ Description 24760 TRAANG_BASE_TOOL_2 Distance of tool zero point from origin of geometry axes (2nd TRAANG) 24770 TRAANG_PARALLEL_ACCEL_RES_1 Axis acceleration reserve of parallel axis for compensatory motion (1st TRAANG) 24771 TRAANG_PARALLEL_ACCEL_RES_2 Axis acceleration reserve of parallel axis for compensatory motion (2nd TRAANG) 7.11.1.4 Chained transformations...
  • Page 614 Kinematic Transformation (M1) Data lists 7.11.2 Signals 7.11.2.1 Signals from channel DB number Byte.bit Description 21, ... 33.6 Transformation active Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 615 Measurement (M5) Brief description Channel-specific measuring In the case of channel-specific measuring, a trigger event is programmed for a part program block. This triggers the measuring operation and selects a measuring mode for performing the measurements. The instructions apply to all axes programmed in this particular block. Preset actual value memory and scratching The preset actual value memory is initiated by means of an HMI operator action.
  • Page 616 Measurement (M5) Brief description Axial measurement In the case of axial measuring, a trigger event which initiates a measuring operation is programmed in a part program block. A measuring mode for the measurement is selected together with the axis in which the measurements must be taken. Measuring cycles A description of how to handle measuring cycles can be found in: References:...
  • Page 617 Measurement (M5) Hardware requirements Hardware requirements 8.2.1 Probes that can be used General information In order to measure tool and workpiece dimensions, a touch-trigger probe is required that supplies a constant signal (rather than a pulse) when deflected. The probe must operate virtually bounce-free. Most sensors can be adjusted mechanically to ensure that they operate in this manner.
  • Page 618 Measurement (M5) Hardware requirements Bidirectional probe This probe type is handled in the same way as a mono probe in milling and machining centers. Bi-directional probes can be used to take workpiece measurements on turning machines. Monodirectional probe This probe type can be used, with only a few restrictions, to take workpiece measurements on milling and machining centers.
  • Page 619 Measurement (M5) Hardware requirements 8.2.2 Measuring probe connection Connection to SINUMERIK 840D The probe is connected to the SINUMERIK 840D system via the I/O device interface X121 located on the front plate of the NCU module. Figure 8-2 Interfaces, control and display elements on the NCU module Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 620 Hardware requirements Connection to SINUMERIK 840D sl The probe is connected to the SINUMERIK 840D sl system via the peripheral device interface X121 located on the upper front plate of the NCU module. Various factory-specific message frame types are programmable for the digital inputs/outputs of this interface.
  • Page 621 Measurement (M5) Hardware requirements Figure 8-3 SINUMERIK 840Di interfaces (PCU 50, MCI board and MCI board extension) Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 622 Measurement (M5) Hardware requirements I/O device interface X121 The interface connection for a probe is made via the ● I/O device interface 37-pin D-sub plug connector (X121), a maximum of 2 probes can be connected; The 24 V load power supply is also connected by means of this connector. Table 8- 3 Extract from PIN assignment table for X121 front connectors Name...
  • Page 623 Measurement (M5) Hardware requirements SIMODRIVE 611 universal drives support the measurement functionality of distributed probes by storing the actual encoder value in the hardware concurrent to the measurement signal edge. The more accurate measurement method for a distributed probe is preferred for PROFIBUS-DP drives.
  • Page 624 Measurement (M5) Channel-specific measuring Channel-specific measuring 8.3.1 Measuring mode Measuring commands MEAS and MEAW The measuring operation is activated from the part program. A trigger event and a measuring mode are programmed. A distinction is made between two measuring modes: ●...
  • Page 625 Measurement (M5) Channel-specific measuring 8.3.2 Measurement results Read measurement results in PP The results of the measurement commands are stored in system data of the NCK and can be read via system variables in the part program. ● System variable $AC_MEA[No] Query measurement job status signal.
  • Page 626 Measurement (M5) Setting zeros, workpiece measuring and tool measuring Setting zeros, workpiece measuring and tool measuring 8.4.1 Preset actual value memory and scratching Preset actual value memory Preset actual value memory is initiated by means of an HMI operator action or via measuring cycles.
  • Page 627 Measurement (M5) Setting zeros, workpiece measuring and tool measuring 8.4.2 Workpiece measuring Workpiece measuring For workpiece measurement, a probe is moved up to the clamped workpiece in the same way as a tool. Due to the variety of different measuring types available, the most common measurement jobs can be performed quite simply and easily on a turning or milling machine.
  • Page 628 Measurement (M5) Setting zeros, workpiece measuring and tool measuring Table 8- 5 Validity bits for the input values of the variables $AC_MEAS_VALID Input value Description $AA_MEAS_POINT1[axis] 1st measuring point for all channel axes $AA_MEAS_POINT2[axis] 2nd measuring point for all channel axes $AA_MEAS_POINT3[axis] 3rd measuring point for all channel axes $AA_MEAS_POINT4[axis]...
  • Page 629 Measurement (M5) Setting zeros, workpiece measuring and tool measuring Measuring points A maximum of four measuring points are available for all channel axes for measurement: Type Input variable Description REAL $AA_MEAS_POINT1[axis] 1st measuring point for all channel axes REAL $AA_MEAS_POINT2[axis] 2nd measuring point for all channel axes REAL $AA_MEAS_POINT3[axis]...
  • Page 630 Measurement (M5) Setting zeros, workpiece measuring and tool measuring Setpoints The resultant frame is calculated so that the measurement complies with the setpoints specified by the user. Table 8- 6 Input values for the user setpoint values Type System variable Description REAL $AA_MEAS_SETPOINT[ax]...
  • Page 631 Measurement (M5) Setting zeros, workpiece measuring and tool measuring ● If the following machine data is not preset to 1: MD18600 $MN_MM_FRAME_FINE_TRANS The compensation is always entered in the course offset. Calculated frame When a workpiece is measured, the calculated frame is entered in the specified frame. Type System variable Description...
  • Page 632 Measurement (M5) Setting zeros, workpiece measuring and tool measuring Value Description 2506 $P_RELFR (ACS) System frame in data management 3010..3025 $P_CHBFR[0..15] Channel-spec. Basic frames with active G500 in data management 3050..3065 $P_NCBFR[0..15] NCU-global basic frames with active G500 in data management The MEASURE( ) function calculates frame $AC_MEAS_FRAME according to the specified frame.
  • Page 633 Measurement (M5) Setting zeros, workpiece measuring and tool measuring Array variable for workpiece and tool measurement The following array variable of length n is used for further input parameters that are used in the various measurement types Type System variable Description Values REAL...
  • Page 634 Measurement (M5) Setting zeros, workpiece measuring and tool measuring Whether or not the radius of a milling tool is included in the calculation can be determined from the tool position and approach direction. If the approach direction is not specified explicitly, it is determined by the selected plane.
  • Page 635 Measurement (M5) Setting zeros, workpiece measuring and tool measuring Value Description Rectangle Measurement of a rectangle Save Saving data management frames Restore Restoring data management frames Taper turning Additive rotation of the plane * Types of workpiece measurement The individual methods are listed under "Types of workpiece measurement" or "Types of tool measurement"and explained in more detail using an appropriate programming example.
  • Page 636 Measurement (M5) Setting zeros, workpiece measuring and tool measuring 8.4.2.4 Calculation method Activating the calculation The calculation is activated by an HMI operator action with PI service _N_SETUDT. This Pl service can accept one of the following parameter types: Type Description Active tool offset Active basic frames...
  • Page 637 Measurement (M5) Setting zeros, workpiece measuring and tool measuring Measuring cycles The calculation in the measuring cycles is performed according to the predefined function: INT MEASURE( ) MEASURE() delivers a result frame that can be read via $AC_MEAS_FRAME: ● The result is the translation and rotation from the setpoint values recalculated on the selected frame.
  • Page 638 Measurement (M5) Setting zeros, workpiece measuring and tool measuring Error messages If the client does not log on, group error number 0xD003 is always generated. If a logon takes place through DIAGN:errCodeSetNrGent or DIAGN:errCodeSetNrPi, then PI_SETUDT provides the error code corresponding to the following syntax: EX_ERR_PI_REJ_<Return value>, e.g.: EX_ERR_PI_REJ_ MEASNOTYPE The following return values are output via the pre-defined MEASURE() function: Table 8- 8...
  • Page 639 Measurement (M5) Setting zeros, workpiece measuring and tool measuring 8.4.2.5 Units of measurement and measurement variables for the calculation INCH or METRIC unit of measurement The following input and output variables are evaluated with inch or metric units of measurement: $AA_MEAS_POINT1[axis] Input variable for 1st measuring point $AA_MEAS_POINT2[axis]...
  • Page 640 Measurement (M5) Setting zeros, workpiece measuring and tool measuring Diameter programming Diameter programming is set via machine data: MD20100 $MC_DIAMETER_AX_DEF = "X" ; Transverse axis is x MD20150 $MC_GCODE_RESET_VALUES[28] = 2 ; DIAMON MD20360 $MC_TOOL_PARAMETER_DEF_MASK ; Tool length, frames and = 'B1001010' ;...
  • Page 641 Measurement (M5) Setting zeros, workpiece measuring and tool measuring 8.4.3 Types of workpiece measurement 8.4.3.1 Measurement of an edge (measurement type 1, 2, 3) Measurement of an x edge ($AC_MEAS_TYPE = 1) The edge of a clamped workpiece is measured by approaching this edge with a known tool. Figure 8-4 x edge The values of the following variables are evaluated for measurement type 1:...
  • Page 642 Measurement (M5) Setting zeros, workpiece measuring and tool measuring Example x edge measurement DEF INT RETVAL DEF FRAME TMP $TC_DP1[1,1]=120 ; Type $TC_DP2[1,1]=20 $TC_DP3[1,1]= 10 ; (z) length compensation vector $TC_DP4[1,1]= 0 ; (y) $TC_DP5[1,1]= 0 ; (x) $TC_DP6[1,1]= 2 ;...
  • Page 643 Measurement (M5) Setting zeros, workpiece measuring and tool measuring endif $P_IFRAME = $AC_MEAS_FRAME $P_UIFR[1] = $P_IFRAME ; Describe system frame in data management g1 x0 y0 ; Approach the edge Measurement of a y edge ($AC_MEAS_TYPE = 2) Figure 8-5 y edge The values of the following variables are evaluated for measurement type 2: Input variable...
  • Page 644 Measurement (M5) Setting zeros, workpiece measuring and tool measuring The following output variables are written for measurement type 2: Output variable Description $AC_MEAS_FRAME Result frame with translation $AC_MEAS_RESULTS[0] Position of the measured edge Measurement of a z edge ($AC_MEAS_TYPE = 3) Figure 8-6 z edge The values of the following variables are evaluated for measurement type 3:...
  • Page 645 Measurement (M5) Setting zeros, workpiece measuring and tool measuring 8.4.3.2 Measurement of an angle (measurement type 4, 5, 6, 7) Measurement of a corner C1 - C4 ($AC_MEAS_TYPE = 4, 5, 6, 7) A corner is uniquely defined by approaching four measuring points P1 to P4. Three measurement points suffice in the case of known angles of intersection...
  • Page 646 Measurement (M5) Setting zeros, workpiece measuring and tool measuring Input variable Description $AA_MEAS_POINT4[axis] Measuring point 4 irrelevant for $AC_MEAS_CORNER_SETANGLE $AA_MEAS_WP_SETANGLE Setpoint workpiece position angle * $AA_MEAS_CORNER_SETANGLE Setpoint angle of intersection * $AA_MEAS_SETPOINT[axis] Setpoint position of corner * $AC_MEAS_ACT_PLANE Calculated as active plane unless otherwise specified * $AC_MEAS_FINE_TRANS 0: Coarse offset, 1: Fine offset * $AC_MEAS_FRAME_SELECT...
  • Page 647 Measurement (M5) Setting zeros, workpiece measuring and tool measuring $P_CHBFRAME[0] = crot(z,45) $P_IFRAME[x,tr] = -sin(45) $P_IFRAME[y,tr] = -sin(45) $P_PFRAME[z,tr] = -45 ; Measure corner with 3 measuring points $AC_MEAS_VALID = 0 ; Set all input values to invalid g1 x-1 y-3 ;...
  • Page 648 Measurement (M5) Setting zeros, workpiece measuring and tool measuring g1 x0 y0 ; Approach the corner g1 x10 ; Approach the rectangle 8.4.3.3 Measurement of a hole (measurement type 8) Measuring points for determining a hole ($AC_MEAS_TYPE = 8) Three measuring points are needed to determine the center point and diameter. The three points must all be different.
  • Page 649 Measurement (M5) Setting zeros, workpiece measuring and tool measuring Input variable Description $AC_MEAS_FINE_TRANS 0: Coarse offset, 1: Fine offset * $AC_MEAS_FRAME_SELECT Calculated as additive frame unless otherwise specified * $AC_MEAS_T_NUMBER Calculated as active T unless otherwise specified (T0) * $AC_MEAS_D_NUMBER Calculated as active D unless otherwise specified (D0) * $AC_MEAS_TYPE * optional...
  • Page 650 Measurement (M5) Setting zeros, workpiece measuring and tool measuring g1 x0 y3 ; Approach 2nd measuring point $AA_MEAS_POINT2[x] = $AA_IW[x] $AA_MEAS_POINT2[y] = $AA_IW[y] $AA_MEAS_POINT2[z] = $AA_IW[z] g1 x3 y0 ; Approach 3rd measuring point $AA_MEAS_POINT3[x] = $AA_IW[x] $AA_MEAS_POINT3[y] = $AA_IW[y] $AA_MEAS_POINT3[z] = $AA_IW[z] $AA_MEAS_SETPOINT[x] = 0 ;...
  • Page 651 Measurement (M5) Setting zeros, workpiece measuring and tool measuring 8.4.3.4 Measurement of a shaft (measurement type 9) Measuring points for determining a shaft ($AC_MEAS_TYPE = 9) Three measuring points are needed to determine the center point and diameter. The three points must all be different.
  • Page 652 Measurement (M5) Setting zeros, workpiece measuring and tool measuring The following output variables are written for measurement type 9: Output variable Meaning $AC_MEAS_FRAME Result frame with translation $AC_MEAS_DIAMETER Diameter of hole $AC_MEAS_RESULTS[0] Abscissa of the calculated center point $AC_MEAS_RESULTS[1] Ordinate of the calculated center point $AC_MEAS_RESULTS[2] Applicate of the calculated center point $AC_MEAS_RESULTS[3]...
  • Page 653 Measurement (M5) Setting zeros, workpiece measuring and tool measuring Input variable Description $AC_MEAS_INPUT[0] Approach direction for 2nd measuring point for a recess measurement. Must have the same coordinate as the approach direction of the 1st point. * 0: +x, 1: -x, 2: +y, 3: -y, 4: +z, 5: -z $AC_MEAS_TYPE * optional The following output variables are written for measurement type 12:...
  • Page 654 Measurement (M5) Setting zeros, workpiece measuring and tool measuring g1 x4 ; Approach 2nd measuring point $AA_MEAS_POINT2[x] = $AA_IW[x] $AA_MEAS_POINT2[y] = $AA_IW[y] $AA_MEAS_POINT2[z] = $AA_IW[z] $AA_MEAS_SETPOINT[x] = 0 ; Set setpoint position of the groove center $AA_MEAS_SETPOINT[y] = 0 $AA_MEAS_SETPOINT[z] = 0 $AC_MEAS_DIR_APPROACH = 0 ;...
  • Page 655 Measurement (M5) Setting zeros, workpiece measuring and tool measuring 8.4.3.6 Measurement of a web (measurement type 13) Measuring points for determining the position of a web ($AC_MEAS_TYPE = 13) A web is measured by approaching the two outside corners or inner edges. The web center can be set to a setpoint position.
  • Page 656 Measurement (M5) Setting zeros, workpiece measuring and tool measuring 8.4.3.7 Measurement of geo axes and special axes (measurement type 14, 15) Preset actual value memory for geo axes and special axes ($AC MEAS TYPE = 14) This measurement type is used on the HMI operator interface. Figure 8-13 Preset actual value memory The values of the following variables are evaluated for measurement type 14:...
  • Page 657 Measurement (M5) Setting zeros, workpiece measuring and tool measuring TRANS x=10 ; Offset between WCS and ENS G0 x0 f10000 ; WCS(x) = 0; ENS(x) = 10 $AC_MEAS_VALID = 0 ; Set all input variables to invalid $AC_MEAS_TYPE = 14 ;...
  • Page 658 Measurement (M5) Setting zeros, workpiece measuring and tool measuring The following output variables are written for measurement type 15: Output variable Description $AC_MEAS_FRAME Result frame with translations 8.4.3.8 Measurement of an oblique edge (measurement type 16) Measurement of an oblique edge ($AC_MEAS_TYPE = 16) This measurement determines the position angle of the workpiece and enters it in the frame.
  • Page 659 Measurement (M5) Setting zeros, workpiece measuring and tool measuring Input variable Description $AC_MEAS_INPUT[1] Unless otherwise specified, the workpiece position angle is entered in the frame as a rotation. Otherwise, a channel axis index can be specified for a rotary axis whose translation is set to the current rotary axis position plus the calculated rotation.
  • Page 660 Measurement (M5) Setting zeros, workpiece measuring and tool measuring $AC_MEAS_TYPE = 17 defines two resulting angles α and α for the skew of the plane; these are entered in $AC_MEAS_RESULTS[0..1]: ● $AC_MEAS_RESULTS[0] → Rotation at the abscissa ● $AC_MEAS_RESULTS[1] → Rotation at the ordinate These angles are calculated by means of the three measuring points P1, P2 and P3.
  • Page 661 Measurement (M5) Setting zeros, workpiece measuring and tool measuring The following output variables are written for measurement type 17: Output variable Description $AC_MEAS_FRAME Result frame $AC_MEAS_RESULTS[0] Angles around abscissa from which three measuring points are calculated $AC_MEAS_RESULTS[1] Angles around ordinate from which three measuring points are calculated $AC_MEAS_RESULTS[2] Angles around applicate from which three measuring points are...
  • Page 662 Measurement (M5) Setting zeros, workpiece measuring and tool measuring $AA_MEAS_POINT3[_xx] = $AA_MW[_xx] ; Assign measurement value to abscissa $AA_MEAS_POINT3[_yy] = $AA_MW[_yy] ; Assign measurement value to ordinate $AA_MEAS_POINT3[_zz] = $AA_MW[_zz] ; Assign measurement value to applicate ; Define setpoints for angle $AA_MEAS_SETANGLE[_xx] = 12 ;...
  • Page 663 Measurement (M5) Setting zeros, workpiece measuring and tool measuring 8.4.3.10 Redefine measurement around a WCS reference frame (measurement type 18) Redefine WCS coordinate system ($AC_MEAS_TYPE = 18) The zero point of the new WCS is determined by measuring point P1 at surface normal on the oblique plane.
  • Page 664 Measurement (M5) Setting zeros, workpiece measuring and tool measuring Define the new WCS' zero After performing the calculation, the measuring cycle can write and activate the selected frame in the frame chain with the measuring frame. After activation, the new WCS is positioned at surface normal on the inclined plane, with measuring point P1 as the zero point of the new WCS.
  • Page 665 Measurement (M5) Setting zeros, workpiece measuring and tool measuring Example Workpiece coordinate system on the inclined plane DEF INT RETVAL DEF AXIS _XX, _YY, _ZZ T1 D1 ; Activate probe ; Activate all frames and G54 $AC_MEAS_VALID = 0 ; Set all input values to invalid $AC_MEAS_TYPE = 18 ;...
  • Page 666 Measurement (M5) Setting zeros, workpiece measuring and tool measuring $AC_MEAS_T_NUMBER = 1 ; Select tool $AC_MEAS_D_NUMBER = 1 RETVAL = MEASURE() ; Start measurement calculation if RETVAL <> 0 setal(61000 + RETVAL) endif ; Calculation results for the solid angles ;...
  • Page 667 Measurement (M5) Setting zeros, workpiece measuring and tool measuring The following output variables are written for measurement type 19: Output variable Description $AC_MEAS_FRAME Result frame with rotations and translation Example 1-dimensional setpoint selection DEF INT RETVAL DEF REAL _CORMW_XX, _CORMW_YY, _CORMW_ZZ DEF AXIS _XX, _YY, _ZZ T1 D1...
  • Page 668 Measurement (M5) Setting zeros, workpiece measuring and tool measuring 2-dimensional setpoint value ($AC_MEAS_TYPE = 20) Setpoints for two dimensions can be defined using this measuring method. Any combination of 2 out of 3 axes is permissible. If three setpoints are specified, only the values for the abscissa and the ordinate are accepted.
  • Page 669 Measurement (M5) Setting zeros, workpiece measuring and tool measuring $AA_MEAS_POINT1[_xx] = $AA_MW[_xx] ; Assign measurement value to abscissa $AA_MEAS_POINT1[_yy] = $AA_MW[_yy] ; Assign measurement value to ordinate $AA_MEAS_POINT1[_zz] = $AA_MW[_zz] ; Assign measurement value to applicate $AA_MEAS_SETPOINT[_xx] = 10 ; Define setpoint for abscissa and ordinate $AA_MEAS_SETPOINT[_yy] = 10 $AC_MEAS_FRAME_SELECT = 102 ;...
  • Page 670 Measurement (M5) Setting zeros, workpiece measuring and tool measuring Example 3-dimensional setpoint selection DEF INT RETVAL DEF REAL _CORMW_XX, _CORMW_YY, _CORMW_ZZ DEF AXIS _XX, _YY, _ZZ T1 D1 ; Activate probe ; Activate all frames and G54 $AC_MEAS_VALID = 0 ;...
  • Page 671 Measurement (M5) Setting zeros, workpiece measuring and tool measuring 8.4.3.12 Measurement of an oblique angle (measurement type 24) Measurement method for converting a measuring point in any coordinate system Coordinate transformation of a position ($AC_MEAS_TYPE = 24) With this method of measurement, a measuring point in any coordinate system (WCS, BCS, MCS) can be converted with reference to a new coordinate system by coordinate transformation.
  • Page 672 Measurement (M5) Setting zeros, workpiece measuring and tool measuring The following output variables are written for measurement type 24: Output variable Description $AC_MEAS_POINT2[axis] Converted axis positions Example WCS coordinate transformation of a measured position DEF INT RETVAL DEF INT LAUF DEF REAL_CORMW_xx, _CORMW_yy, _CORMW_zz DEF AXIS _XX, _YY, _ZZ $TC_DP1[1,1]=120...
  • Page 673 Measurement (M5) Setting zeros, workpiece measuring and tool measuring $AC_MEAS_ACT_PLANE = 0 ; Measuring plane is G17 ; Assign measured values $AA_MEAS_POINT1[_xx] = $AA_IW[_xx] ; Assign measurement value to abscissa $AA_MEAS_POINT1[_yy] = $AA_IW[_yy] ; Assign measurement value to ordinate $AA_MEAS_POINT1[_zz] = $AA_IW[_zz] ;...
  • Page 674 Measurement (M5) Setting zeros, workpiece measuring and tool measuring if $AA_MEAS_PIONT2[A] <> 0 setal(61000) stopre if $AA_MEAS_PIONT2[B] <> 7 setal(61000) stopre 8.4.3.13 Measurement of a rectangle (measurement type 25) Measuring points for determining a rectangle ($AC_MEAS_TYPE = 25) To determine a rectangle, tool dimensions are required in the following working planes. ●...
  • Page 675 Measurement (M5) Setting zeros, workpiece measuring and tool measuring The values of the following variables are evaluated for measurement type 25: Input variable Meaning $AC_MEAS_VALID Validity bits for input variables $AA_MEAS_POINT1[axis] Measuring point 1 $AA_MEAS_POINT2[axis] Measuring point 2 $AA_MEAS_POINT3[axis] Measuring point 3 $AA_MEAS_POINT4[axis] Measuring point 4 $AA_MEAS_SETPOINT[axis]...
  • Page 676 Measurement (M5) Setting zeros, workpiece measuring and tool measuring 8.4.3.14 Measurement for saving data management frames (measurement type 26) Saving data management frames ($AC_MEAS_TYPE = 26) This measurement type offers the option of saving some or all data management frames with their current value assignments to a file.
  • Page 677 Measurement (M5) Setting zeros, workpiece measuring and tool measuring 8.4.3.15 Measurement for restoring backed-up data management frames (measurement type 27) Restoring data management frames last backed up ($AC_MEAS_TYPE = 27) This measurement type allows data management frames backed up by measurement type 26 to be restored to the SRAM.
  • Page 678 Measurement (M5) Setting zeros, workpiece measuring and tool measuring 8.4.3.16 Measurement for defining an additive rotation for taper turning (measurement type 28) Taper turning Additive rotation of plane ($AC_MEAS_TYPE = 28) This measurement type 28 is used via the ManualTurn Advanced user interface for the taper turning application.
  • Page 679 Measurement (M5) Setting zeros, workpiece measuring and tool measuring 8.4.4 Tool measuring The control calculates the distance between the tool tip and the tool carrier reference point T from the tool length specified by the user. The following measurement types can be used to measure a tool loaded on a turning or milling machine: Measurement types Tool measuring...
  • Page 680 Measurement (M5) Setting zeros, workpiece measuring and tool measuring 8.4.5 Types of workpiece measurement 8.4.5.1 Measurement of tool lengths (measurement type 10) Tool length measurement on a reference part that has already been measured ($AC_MEAS_TYPE = 10) The tool length can be measured on a reference part that has already been measured. Depending on the position of the tool, it is possible to select plane G17 for tool position in the z direction, G18 for tool position in the y direction and G19 for tool position in the x direction.
  • Page 681 Measurement (M5) Setting zeros, workpiece measuring and tool measuring The following output variables are written for measurement type 10: Output variable Description $AC_MEAS_TOOL_LENGTH Tool length $AC_MEAS_RESULTS[0] Tool length in x $AC_MEAS_RESULTS[1] Tool length in y $AC_MEAS_RESULTS[2] Tool length in z $AC_MEAS_RESULTS[3] Tool length L1 $AC_MEAS_RESULTS[4]...
  • Page 682 Measurement (M5) Setting zeros, workpiece measuring and tool measuring 8.4.5.2 Measurement of tool diameter (measurement type 11) Tool diameter measurement on a reference part ($AC_MEAS_TYPE = 11) The tool diameter can be measured on a reference part that has already been measured. Depending on the position of the tool, it is possible to select plane G17 for tool position in the z direction, G18 for tool position in the y direction and G19 for tool position in the x direction.
  • Page 683 Measurement (M5) Setting zeros, workpiece measuring and tool measuring The following output variables are written for measurement type 11: Output variable Meaning $AC_MEAS_TOOL_DIAMETER Tool diameter 8.4.5.3 Measurement of tool lengths with zoom-in function (measurement type 22) Tool length with zoom-in function Tool length measurement with zoom-in function ($AC_MEAS_TYPE = 22) If a zoom-in function is available on the machine, it can be used to determine the tool dimensions.
  • Page 684 Measurement (M5) Setting zeros, workpiece measuring and tool measuring The following output variables are written for measurement type 22: Output variable Description $AC_MEAS_RESULT[0] Tool length in x $AC_MEAS_RESULT[1] Tool length in y $AC_MEAS_RESULT[2] Tool length in z $AC_MEAS_RESULT[3] Tool length L1 $AC_MEAS_RESULT[4] Tool length L2 $AC_MEAS_RESULT[5]...
  • Page 685 Measurement (M5) Setting zeros, workpiece measuring and tool measuring The values of the following input variables are evaluated for measurement type 23: Input variable Description $AC_MEAS_VALID Validity bits for input variables $AA_MEAS_POINT1[axis] Current or marked position $AC_MEAS_P1_COORD Coordinate system of the measuring point * $AA_MEAS_SETPOINT[axis] Setpoint position (minimum one geo axis must be specified) $AC_MEAS_SET_COORD...
  • Page 686 Measurement (M5) Setting zeros, workpiece measuring and tool measuring 8.4.5.5 Measurement of a tool length of two tools with the following orientation: Tool orientation Tools oriented towards the tool carrier must be marked by $AC_MEAS_TOOL_MASK = 0x200. The calculated tool lengths are then included negatively. Two turning tools each with their own reference point with a tool orientation in the approach direction In the case of the tool position of two turning tools each with their own reference point, not only are the input variables of measurement type 23 evaluated but also the values of the...
  • Page 687 Measurement (M5) Setting zeros, workpiece measuring and tool measuring Two turning tools with one reference point with a tool position opposite to the orientation In the case of the tool position of two turning tools with one reference point, not only are the input variables of measurement type 23 evaluated but also the values of the following input variables: Approach direction and tool orientation +x...
  • Page 688 Measurement (M5) Setting zeros, workpiece measuring and tool measuring In the case of the tool position of two turning tools with one reference point, not only are the input variables of measurement type 23 evaluated but also the values of the following input variables: Approach direction and tool orientation +x Approach direction and tool orientation -x...
  • Page 689 Measurement (M5) Setting zeros, workpiece measuring and tool measuring Two milling tools each with their own reference point with a tool orientation in -y direction In the case of the tool position of two milling tools each with their own reference point, not only are the input variables of measurement type 23 evaluated but also the values of the following input variables: Approach direction +x, tool orientation -y...
  • Page 690 Measurement (M5) Setting zeros, workpiece measuring and tool measuring Two milling tools with one reference point with a tool orientation in -y In the case of the tool position of two milling tools with one reference point, not only are the input variables of measurement type 23 evaluated but also the values of the following input variables: Approach direction +x, tool orientation -y...
  • Page 691 Measurement (M5) Setting zeros, workpiece measuring and tool measuring In the case of the tool position of two milling tools with one reference point, not only are the input variables of measurement type 23 evaluated but also the values of the following input variables: Approach direction +x, tool orientation -y Approach direction -x, tool orientation -y...
  • Page 692 Measurement (M5) Setting zeros, workpiece measuring and tool measuring Two milling tools each with their own reference point with a tool orientation in the approach direction In the case of the tool position of two milling tools each with their own reference point, not only are the input variables of measurement type 23 evaluated but also the values of the following input variables: Approach direction and tool orientation +x...
  • Page 693 Measurement (M5) Setting zeros, workpiece measuring and tool measuring Two milling tools with one reference point with a tool position opposite to the orientation In the case of the tool position of two milling tools with one reference point, not only are the input variables of measurement type 23 evaluated but also the values of the following input variables: Approach direction and tool orientation +x...
  • Page 694 Measurement (M5) Setting zeros, workpiece measuring and tool measuring In the case of the tool position of two milling tools with one reference point, not only are the input variables of measurement type 23 evaluated but also the values of the following input variables: Approach direction and tool orientation +x Approach direction and tool orientation -x...
  • Page 695 Measurement (M5) Setting zeros, workpiece measuring and tool measuring Randomly oriented tools Figure 8-25 Two turning tools each with their own reference point Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 696 Measurement (M5) Setting zeros, workpiece measuring and tool measuring Figure 8-26 Two milling tools each with its own reference point Figure 8-27 Two milling tools rotated at 90 degrees each with their own reference point Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 697 Measurement (M5) Axial measurement (optional) Axial measurement (optional) A measuring operation can be initiated from both the part program and synchronized actions. A measuring mode, the encoder and up to four trigger events are programmed, where the trigger events are comprised of the probe number (1 or 2) and the activation criterion (rising/falling signal edge).
  • Page 698 Measurement (M5) Axial measurement (optional) 8.5.2 Measuring mode The measuring mode specifies whether trigger events must be activated in parallel or sequentially in ascending sequence and defines the number of measurements to be taken. Measuring mode 1 The user can program up to 4 different trigger events in the same position controller cycle. The measurement signal edges are evaluated in chronological order.
  • Page 699 Measurement (M5) Axial measurement (optional) 8.5.3 Programming Programming Axial measurement can be programmed with and without deletion of distance-to-go. MEASA: With deletion of distance-to-go MEAWA: Without deletion of distance-to-go MEASA[axis] = (mode, trigger event1, trigger event2, trigger event3, trigger event4) Parameter description: ●...
  • Page 700 Measurement (M5) Axial measurement (optional) Note MEASA and MEAWA can be programmed in the same block. MEASA cannot be programmed in synchronized actions. The axes for which MEASA has been programmed are not decelerated until all programmed trigger events have arrived. Measurement jobs started from a part program are aborted by RESET or when the program advances to a new block.
  • Page 701 Measurement (M5) Axial measurement (optional) 8.5.4 Measurement results Measurement results The results of the measurement commands are stored in system data of the NCK and can be read via system variables in the part program. ● System variable $AC_MEA[No] Query measurement job status signal. <No.>stands for probe (1 or 2) The variable is deleted at the beginning of a measurement.
  • Page 702 Measurement (M5) Axial measurement (optional) PLC service display The functional test for the probe is conducted via an NC program. The measuring signal can be checked at the end of the program in the diagnostic menu "PLC status". Table 8- 10 Status display for measurement signal Status display Probe 1 deflected...
  • Page 703 Measurement (M5) Axial measurement (optional) MEAC Continuous, axial measurement without deletion of distance-to-go MEAC[axis] = (mode, measurement memory, trigger event 1, trigger event 2, trigger event 3, trigger event 4) Parameter description: ● Axis: Channel axis name (X, Y, ...) ●...
  • Page 704 Measurement (M5) Axial measurement (optional) The values can be read from the FIFO both in the part program and from synchronized actions. The measurement is active until ● MEAC["axis"]=(0) is programmed, ● a FIFO is full, ● RESET is pressed or end of program M02/M30 is detected. Endless measuring In order to implement endless measuring, FIFO values must be read cyclically from the part program.
  • Page 705 Measurement (M5) Measurement accuracy and functional testing Measurement accuracy and functional testing 8.6.1 Measurement accuracy Accuracy The propagation time of the measuring signal is determined by the hardware used. The delay times when using SIMODRIVE 611D are in the 3.625 μ ... 9.625 μ range plus the reaction time of the probe.
  • Page 706 Measurement (M5) Measurement accuracy and functional testing 8.6.2 Probe functional testing Example of function test %_N_PRUEF_MESSTASTER_MPF ;$PATH=/_N_MPF_DIR ;Testing program probe connection N05 DEF INT MTSIGNAL ; Flag for trigger status N10 DEF INT ME_NR=1 ; Measurement input number N20 DEF REAL MESSWERT_IN_X N30 G17 T1 D1 ;...
  • Page 707 Measurement (M5) Marginal conditions Marginal conditions The function "Axial Measurement" is not contained in the export versions SINUMERIK 840DE/840DiE. Examples 8.8.1 Measuring mode 1 Measurement with one encoder ● One-time measurement ● One probe ● Trigger signals are the rising and falling edges ●...
  • Page 708 Measurement (M5) Examples 8.8.2 Measuring mode 2 ● Two probes ● Trigger signals are the rising and falling edges ● Actual value from the current encoder MEASA[X] = (2, 1, -1, 2, -2) G01 X100 F100 STOPRE IF $AC_MEA[1]==FALSE gotof MESSTASTER2 R10=$AA_MM1[X] R11=$AA_MM2[X] PROBE2...
  • Page 709 Measurement (M5) Examples 8.8.3.2 Continuous measurements with deletion of distance-to-go ● Delete distance-to-go after last measurement ● The measurement is done in measuring mode 1: ● Measurement with 100 values ● One probe ● Trigger signal is the falling edge ●...
  • Page 710 Measurement (M5) Examples 8.8.4 Functional test and repeat accuracy Function test %_N_PRUEF_MESSTASTER_MPF ;$PATH=/_N_MPF_DIR ;Testing program probe connection N05 DEF INT MTSIGNAL ; Flag for trigger status N10 DEF INT ME_NR=1 ; Measurement input number N20 DEF REAL MESSWERT_IN_X N30 G17 T1 D1 ;...
  • Page 711 Measurement (M5) Examples N15 G17 T1 D1 ; Initial conditions, : Tool compensation ; preselect for probe N20 _ANF: G0 X0 F150 ← ; Prepositioning in the measured axis N25 MEAS=+1 G1 X100 ← ; at 1st measurement input when ;...
  • Page 712 Measurement (M5) Data lists Data lists 8.9.1 Machine data 8.9.1.1 General machine data Number Identifier: $MN_ Description 13200 MEAS_PROBE_LOW_ACTIVE Switching characteristics of probe 13201 MEAS_PROBE_SOURCE Measurement pulse simulation via digital output 13210 MEAS_TYPE Type of measurement for PROFIBUS DP drives 8.9.1.2 Channel-specific machine data Number...
  • Page 713 Measurement (M5) Data lists 8.9.2 System variables Table of all the input values Type System variable name Description $AC_MEAS_SEMA Interface assignment $AC_MEAS_VALID Validity bits for input values REAL $AA_MEAS_POINT1[ax] 1st measuring point for all channel axes REAL $AA_MEAS_POINT2[ax] 2nd measuring point for all channel axes REAL $AA_MEAS_POINT3[ax] 3rd measuring point for all channel axes...
  • Page 714 Measurement (M5) Data lists Table of all the output values Type System variable name Description FRAME $AC_MEAS_FRAME Result frame REAL $AC_MEAS_WP_ANGLE Calculated workpiece position angle REAL $AC_MEAS_CORNER_ANGLE Calculated angle of intersection REAL $AC_MEAS_DIAMETER Calculated diameter REAL $AC_MEAS_TOOL_LENGTH Calculated tool length REAL $AC_MEAS_RESULTS[n] Measurement results (depending on...
  • Page 715 Software Cams, Position Switching Signals (N3) Brief description Function The "Software cams" function generates position-dependent switching signals for axes that supply an actual position value (machine axes) and for simulated axes. These cam signals can be output to the PLC and also to the NCK I/Os. The cam positions at which signal outputs are set can be defined and altered via setting data.
  • Page 716 Software Cams, Position Switching Signals (N3) Cam signals and cam positions Cam signals and cam positions 9.2.1 Generation of cam signals for separate output General information Both cam signals can be output to the PLC and to the NCK I/Os. Separate output of the plus and minus cam signals makes it easy to detect whether the axis is within or outside the plus or minus cam range.
  • Page 717 Software Cams, Position Switching Signals (N3) Cam signals and cam positions Note Position switching signals: If the axis is positioned exactly on the cam (plus or minus), the defined output flickers. If the axis moves one increment further, the output becomes a definite zero or one. Flickering of the actual position causes the signals to flicker in this manner.
  • Page 718 Software Cams, Position Switching Signals (N3) Cam signals and cam positions Modulo rotary axes The switching edges of the cam signals are generated as a function of the rotary axis traversing direction: ● The plus cam signal switches from 0 to 1 when the axis traverses the minus cam in a positive axis direction and from 1 back to 0 when it traverses the plus cam.
  • Page 719 Software Cams, Position Switching Signals (N3) Cam signals and cam positions Figure 9-4 Software cams for modulo rotary axis (plus cam - minus cam > 180 degrees) 9.2.2 Generation of cam signals with gated output General information The plus and minus cam output signals are gated in the case of: ●...
  • Page 720 Software Cams, Position Switching Signals (N3) Cam signals and cam positions Linear axes Figure 9-5 Position switching signals for linear axis (minus cam < plus cam) Figure 9-6 Position switching signals for linear axis (plus cam < minus cam) Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 721 Software Cams, Position Switching Signals (N3) Cam signals and cam positions Modulo rotary axis The default signal response for modulo rotary axes is dependent on the cam width: Figure 9-7 Software cams for modulo rotary axis (plus cam - minus cam < 180 degrees) Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 722 Software Cams, Position Switching Signals (N3) Cam signals and cam positions Figure 9-8 Software cams for modulo rotary axis (plus cam - minus cam > 180°) Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 723 Software Cams, Position Switching Signals (N3) Cam signals and cam positions Suppression of signal inversion Machine data setting: MD10485 SW_CAM_MODE Bit 1=1 can be used to select the suppression of signal inversion for: plus cam - minus cam > 180° Figure 9-9 Software cams for modulo rotary axis (plus cam - minus cam >...
  • Page 724 Software Cams, Position Switching Signals (N3) Cam signals and cam positions 9.2.3 Cam positions Setting cam positions The cam positions of the plus and minus cams are defined via the following general setting data: SD41500 SW_CAM_MINUS_POS_TAB_1[n] Position of minus cams 1 - 8 SD41501 SW_CAM_PLUS_POS_TAB_1[n] Position of plus cams 1 –...
  • Page 725 Software Cams, Position Switching Signals (N3) Cam signals and cam positions Writing/reading of cam positions The setting data can be read and written via HMI, PLC and part program. Accesses from the part program are not synchronous to machining. Synchronization can only be achieved by means of a programmed block preprocessing stop (STOPRE command).
  • Page 726 Software Cams, Position Switching Signals (N3) Cam signals and cam positions Input in machine data The first lead or delay time is entered in the following general machine data: MD10460 SW_CAM_MINUS_LEAD_TIME[n] (lead or delay time on minus cams) MD10461 SW_CAM_PLUS_LEAD_TIME[n] (lead or delay time on plus cams) The following can be entered in these machine data, for example: ●...
  • Page 727 Software Cams, Position Switching Signals (N3) Output of cam signals Output of cam signals 9.3.1 Activating The status of the cam (cam signals) can be output to the PLC as well as to the NCK I/Os. Activation of cam signal output The output of cam signals for an axis is activated via axis-specific NC/PLC interface signal: DB31, ...
  • Page 728 Software Cams, Position Switching Signals (N3) Output of cam signals Plus cam signals The status of the plus cam signals is entered in the general NC/PLC interface signals: DB10 DBX114.0 to 117.7 (plus cam signals 1 to 32). If no measuring system is selected or NC/PLC interface signal: DB31, ...
  • Page 729 Software Cams, Position Switching Signals (N3) Output of cam signals Note It is possible to define one HW byte for the output of eight minus cam signals and one HW byte for the output of eight plus cam signals in each machine data. In addition, the output of the cam signals can be inverted with the two machine data.
  • Page 730 Software Cams, Position Switching Signals (N3) Output of cam signals 9.3.4 Timer-controlled cam signal output Timer-controlled output A significantly higher degree of accuracy can be achieved by outputting the cam signals independently of the position control cycle using a timer interrupt. The following general machine data can be set to select timer-controlled output to the 4 NCU onboard outputs for 4 cam pairs: MD10480 SW_CAM_TIMER_FASTOUT_MASK...
  • Page 731 Software Cams, Position Switching Signals (N3) Output of cam signals PLC interface The NCK image of the onboard outputs and the status of the plus and minus cams is displayed on the PLC interface. These signals are irrelevant, however, or correspondingly inaccurate with the timer- controlled cam output variant, as described in the following paragraphs.
  • Page 732 Software Cams, Position Switching Signals (N3) Output of cam signals Signal generation MD10485 SW_CAM_MODE Bit 1 The above machine data must be set beforehand to specify how the signals to be gated are to be generated: Signal generation Not set Inversion of signal response of plus cam when: plus cam - minus cam ≥...
  • Page 733 Software Cams, Position Switching Signals (N3) Position-time cams Position-time cams Position-time cams The term "position-time cam" refers to a pair of software cams that can supply a pulse of a certain duration at a defined axis position. Solution The position is defined by a pair of software cams. The pulse duration is defined by the lead/delay time of the plus cam.
  • Page 734 Software Cams, Position Switching Signals (N3) Position-time cams Settings The following settings must be made to program a position-time cam: ● Position The position must be defined by a cam pair with which the minus cam position is equal to the plus cam position.
  • Page 735 Software Cams, Position Switching Signals (N3) Supplementary conditions Supplementary conditions Availability of function "Software cams, position switching signals" The function is an option and is available for: ● SINUMERIK 840D with NCU 572/573, SW 2 and higher Extensions ● The extension: 32 instead of 16 cam pairs is available with software version 4.1 and higher.
  • Page 736 Software Cams, Position Switching Signals (N3) Data lists Data lists 9.6.1 Machine data 9.6.1.1 General machine data Number Identifier: $MN_ Description 10260 CONVERT_SCALING_SYSTEM Basic system switchover active 10270 POS_TAB_SCALING_SYSTEM System of measurement of position tables 10450 SW_CAM_ASSIGN_TAB[n] Assignment of software cams to machine axes 10460 SW_CAM_MINUS_LEAD_TIME[n] Lead or delay time on minus cams 1-16...
  • Page 737 Software Cams, Position Switching Signals (N3) Data lists 9.6.2 Setting data 9.6.2.1 General setting data Number Identifier: $SN_ Description 41500 SW_CAM_MINUS_POS_TAB_1[n] Position of minus cams 1-8 41501 SW_CAM_PLUS_POS_TAB_1[n] Position of plus cams 1-8 41502 SW_CAM_MINUS_POS_TAB_2[n] Position of minus cams 9-16 41503 SW_CAM_PLUS_POS_TAB_2[n] Position of plus cams 9-16...
  • Page 738 Software Cams, Position Switching Signals (N3) Data lists 9.6.3 Signals 9.6.3.1 Signals to axis/spindle DB number Byte.bit Description 31, ... Cam activation 9.6.3.2 Signals from axis/spindle DB number Byte.bit Description 31, ... 62.0 Cams active Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 739 Punching and Nibbling (N4) 10.1 Brief description Subfunctions The functions specific to punching and nibbling operations comprise the following: ● Stroke control ● Automatic path segmentation ● Rotatable punch and die ● Clamp protection They are activated and deactivated via language commands. Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 740 Punching and Nibbling (N4) Stroke control 10.2 Stroke control 10.2.1 General information Functionality The stroke control is used in the actual machining of the workpiece. The punch is activated via an NC output signal when the position is reached. The punching unit acknowledges its punching motion with an input signal to the NC.
  • Page 741 Punching and Nibbling (N4) Stroke control Axis motion of the machine as function v(t) "Stroke initiation" signal "Stroke active" signal Figure 10-1 Signal chart Note The "Stroke active" signal is high-active for reasons relating to open-circuit monitoring. The chronological sequence of events for punching and nibbling is controlled by the two signals A and E Set by the NCK and identical to stroke initiation.
  • Page 742 Punching and Nibbling (N4) Stroke control The signal states characterize and define times t to t in the following way: The motion of the workpiece (metal sheet) in relation to the punch is completed at instant t Depending on the criterion defined for stroke initiation (refer to "Criteria for stroke initiation"), high-speed output A is set for punch initiation ①.
  • Page 743 Punching and Nibbling (N4) Stroke control 10.2.3 Criteria for stroke initiation Initiate a stroke The stroke initiation must be set, at the earliest, for the point in time at which it can be guaranteed that the axes have reached a standstill. This ensures that at the instant of punching, there is absolutely no relative movement between the punch and the metal sheet in the machining plane.
  • Page 744 Punching and Nibbling (N4) Stroke control Programming Activation Description G603 Stop interpolation The interpolation reaches the block end. In this case, the axes continue to move until the overtravel has been traversed, i.e. the signal is output at an appreciable interval before the axes have reached zero speed (see t"...
  • Page 745 Punching and Nibbling (N4) Stroke control 10.2.4 Axis start after punching Input signal "Stroke ON" The start of an axis motion after stroke initiation is controlled via input signal "Stroke ON". Figure 10-3 Signal chart: Axis start after punching In this case, the time interval between t and t' acts as a switching-time-dependent reaction time.
  • Page 746 Punching and Nibbling (N4) Stroke control 10.2.5 PLC signals specific to punching and nibbling Function In addition to the signals used for direct stroke control, channel-specific PLC interface signals are also available. These are used both to control the punching process and to display operational states.
  • Page 747 Punching and Nibbling (N4) Stroke control 10.2.6 Punching and nibbling-specific reactions to standard PLC signals DB21, ... DBX12.3 (feed stop) With interface signal: DB21, ... DBX12.3 (feed stop), the NC reacts in the following way with respect to the stroke control: Signal is detected in advance of instant Stroke initiation is suppressed.
  • Page 748 Punching and Nibbling (N4) Activation and deactivation 10.3 Activation and deactivation 10.3.1 Language commands Punching and nibbling functions are activated and deactivated via configurable language commands. These replace the special M functions that were used in earlier systems. References: /PGA/ Programming Manual Work Preparation Groups The language commands are subdivided into the following groups: Group 35...
  • Page 749 Punching and Nibbling (N4) Activation and deactivation SPOF Punching and nibbling OFF The SPOF function terminates all punching and nibbling functions. In this state, the NCK responds neither to the "Stroke active" signal nor to the PLC signals specific to punching and nibbling functions.
  • Page 750 Punching and Nibbling (N4) Activation and deactivation SONS Nibbling ON (in position control cycle) SONS behaves in the same way as SON. The function is activated in the position control cycle, thus allowing time-optimized stroke initiation and an increase in the punching rate per minute.
  • Page 751 Punching and Nibbling (N4) Activation and deactivation PDELAYOF Punching with delay OFF PDELAYOF deactivates punching with delay function, i.e. the punching process continues normally. PDELAYON and PDELAYOF form a G code group. Programming example: SPIF2activates the second punch interface, i.e. the stroke is controlled via the second pair of high-speed I/Os (see machine data MD26004 and MD26006).
  • Page 752 Punching and Nibbling (N4) Activation and deactivation SPIF2 Activation of second punch interface SPIF2 activates the second punch interface, i.e. the stroke is controlled via the second pair of high-speed I/Os (see machine data MD26004 and MD26006). Programming example: N170 SPIF1 X100 PON At the end of the block, a stroke is initiated at the first high-speed output.
  • Page 753 Punching and Nibbling (N4) Activation and deactivation 10.3.2 Functional expansions Alternate interface Machines that alternately use a second punching unit or a comparable medium can be switched over to a second I/O pair. The second I/O pair can be defined via the following machine data: MD26004 $MC_NIBBLE_PUNCH_OUTMASK MD26006 $MC_NIBBLE_PUNCH_INMASK The interface is switched by command SPIF1 or SPIF2.
  • Page 754 Punching and Nibbling (N4) Activation and deactivation Example: With an IPO cycle of 5 ms, a stroke shall be released two cycles after reaching the interpolation end: ⇒ MD26018 $MC_NIBBLE_PRE_START_TIME = 0.01 [s] A pre-initiation time can also be programmed in setting data: SD42402 $SC_NIBPUNCH_PRE_START_TIME This setting takes effective only if MD26018 = 0 has been set.
  • Page 755 Punching and Nibbling (N4) Activation and deactivation Travel-dependent acceleration An acceleration characteristic can be defined with PUNCHACC (Smin, Amin, Smax, Amax). This command can be used to define different acceleration rates depending on the distance between holes. Example 1 The characteristic defines the following acceleration rates: Distance Acceleration between holes...
  • Page 756 Punching and Nibbling (N4) Activation and deactivation Example 2 The characteristic defines the following acceleration rates: Distance Acceleration between holes < 3 mm The axis accelerates at a rate corresponding to 75 % of maximum acceleration. 3 - 8 mm Acceleration is reduced to 25 %, proportional to the spacing.
  • Page 757 Punching and Nibbling (N4) Activation and deactivation Block search In the case of a search for a block containing a nibbling function, it is possible to program whether the punch stroke is executed at the block beginning or suppressed. The setting is programmed in machine data: MD11450 $MN_SEARCH_RUN_MODE Value Meaning...
  • Page 758 Punching and Nibbling (N4) Activation and deactivation Examples DEFINE M20 AS SPOF Punching/nibbling OFF DEFINE M20 AS SPOF M=20 Punching with auxiliary function output DEFINE M20 AS SPOF PDELAYOF Punching/nibbling OFF and punching with delay OFF DEFINE M22 AS SON Nibbling ON DEFINE M22 AS SON M=22 Nibbling ON with auxiliary function output...
  • Page 759 Punching and Nibbling (N4) Automatic path segmentation 10.4 Automatic path segmentation 10.4.1 General information Function One of the following two methods can be applied to automatically segment a programmed traversing path: ● Path segmentation with maximum path segment programmed via language command SPP ●...
  • Page 760 Punching and Nibbling (N4) Automatic path segmentation The automatic path segmentation function SPP divides the programmed traversing path into sections of equal size according to the segment specification. The following conditions apply: ● Path segmentation is active only when SON or PON is active. (Exception: MD26014 $MC_PUNCH_PATH_SPLITTING = 1) ●...
  • Page 761 Punching and Nibbling (N4) Automatic path segmentation 10.4.2 Operating characteristics with path axes MD26010 All axes defined and programmed via machine data: MD26010 $MC_PUNCHNIB_AXIS_MASK are traversed along path sections of identical size with SPP and SPN until the programmed end point is reached. This also applies to rotatable tool axes if programmed. The response can be adjusted for single axes.
  • Page 762 Punching and Nibbling (N4) Automatic path segmentation If the programmed path segmentation is not an integral multiple of the total path, then the feed path is reduced. X2/Y2: Programmed traversing distance SPP: Programmed SPP value SPP': Automatically rounded-off offset distance Figure 10-4 Path segmentation Extended Functions...
  • Page 763 Punching and Nibbling (N4) Automatic path segmentation Example of SPN The number of path segments per block is programmed via SPN. A value programmed via SPN takes effect on a non-modal basis for both punching and nibbling applications. The only difference between the two modes is with respect to the first stroke.
  • Page 764 Punching and Nibbling (N4) Automatic path segmentation Example Figure 10-5 Workpiece Extract from program Position at starting point ① of N100 G90 X130 Y75 F60 SPOF vertical nibbling path sections N110 G91 Y125 SPP=4 SON End point coordinates (incremental); path segment: 4 mm, activate nibbling N120 G90 Y250 SPOF Absolute dimensioning, position at starting point ②...
  • Page 765 Punching and Nibbling (N4) Automatic path segmentation 10.4.3 Response in connection with single axes MD26016 The path of single axes programmed in addition to path axes is distributed evenly among the generated intermediate blocks as standard. In the following example, the additional rotary axis C is defined as a synchronous axis. If this axis is programmed additionally as a "Punch-nibble axis": MD26010 $MC_PUNCHNIB_AXIS_MASK = 1, then the behavior of the synchronous axis can be varied as a function of machine data:...
  • Page 766 Punching and Nibbling (N4) Automatic path segmentation MD26016 $MC_PUNCH_PARTITION_TYPE=1 In contrast to the behavior described above, here the synchronous axis travels the entire programmed rotation path in the first sub-block of the selected path segmentation function. Applied to the example, the C axis already reaches the programmed end position C=45 when it reaches X position X=15.
  • Page 767 Punching and Nibbling (N4) Automatic path segmentation MD26016 $MC_PUNCH_PARTITION_TYPE=2 MD26016=2 is set in cases where the axis must behave as described above in linear interpolation mode, but according to the default setting in circular interpolation mode (see 1st case). The axis behavior for the example is then as follows: In block N20, the C axis is rotated to C=45°...
  • Page 768 Punching and Nibbling (N4) Automatic path segmentation The axis response illustrated in the diagram above can be particularly useful when applied to the axis of a rotatable tool in cases where it is used to place the tool in a defined direction (e.g.
  • Page 769 Punching and Nibbling (N4) Rotatable tool 10.5 Rotatable tool 10.5.1 General information Function overview The following two functions are provided for nibbling/punching machines with rotatable punch and lower die: ● Coupled motion for synchronous rotation of punch and die ● Tangential control for normal alignment of rotary axes for punches in relation to workpiece Figure 10-6 Illustration of a rotatable tool axis...
  • Page 770 Punching and Nibbling (N4) Rotatable tool 10.5.2 Coupled motion of punch and die Function Using the standard function "Coupled motion", it is possible to assign the axis of the die as a coupled motion axis to the rotary axis of the punch. Activation The "Coupled motion"...
  • Page 771 Punching and Nibbling (N4) Rotatable tool 10.5.3 Tangential control Function The rotary tool axes on punching/nibbling machines are aligned tangentially to the programmed path of the master axes by means of the "Tangential control" function. Activation The "Tangential control" function is activated and deactivated with language commands TANGON and TANGOF respectively.
  • Page 772 Punching and Nibbling (N4) Rotatable tool Example: Linear interpolation The punching/nibbling machine has a rotatable punch and die with separate drives. Programming example: N2 TANG (C, X, Y, 1, "B") ; Define master and slave axes, C is slave axis for X and Y in the base coordinate system N5 G0 X10 Y5 ;...
  • Page 773 Punching and Nibbling (N4) Rotatable tool Figure 10-7 Illustration of programming example in XY plane Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 774 Punching and Nibbling (N4) Rotatable tool Example: Circular interpolation In circular interpolation mode, particularly when path segmentation is active, the tool axes rotate along a path tangentially aligned to the programmed path axes in each sub-block. Programming example: N2 TANG (C, X, Y, 1, "B") ;...
  • Page 775 Punching and Nibbling (N4) Rotatable tool Figure 10-8 Illustration of programming example in XY plane Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 776 Punching and Nibbling (N4) Protection zones 10.6 Protection zones Clamping protection zone The "clamping protection zone" function is contained as a subset in the "Protection zones" function. Its purpose is to simply monitor whether clamps and tool could represent a mutual risk.
  • Page 777 Punching and Nibbling (N4) Examples 10.8 Examples 10.8.1 Examples of defined start of nibbling operation Example 1 Example of defined start of nibbling operation N10 G0 X20 Y120 SPP= 20 Position 1 is approached N20 X120 SON Defined start of nibbling, first stroke at "1", last stroke at "2"...
  • Page 778 Punching and Nibbling (N4) Examples Example 2 This example utilizes the "Tangential control" function. Z has been selected as the name of the tangential axis. N5 TANG (Z, X, Y, 1, "B") Define tangential axis N8 TANGON (Z, 0) Select tangential control N10 G0 X20 Y120 Position 1 is approached N20 X120 SPP=20 SON...
  • Page 779 Punching and Nibbling (N4) Examples Examples 3 and 4 for defined start of nibbling Example 3 Programming of SPP N5 G0 X10 Y10 Position N10 X90 SPP=20 SON Defined start of nibbling, 5 punch initiations N20 X10 Y30 SPP=0 One punch is initiated at end of path N30 X90 SPP=20 4 punches initiated at intervals of 20 mm N40 SPOF...
  • Page 780 Punching and Nibbling (N4) Examples Examples 5 and 6 without defined start of nibbling Example 5 Programming of SPP N5 G0 X10 Y30 Position N10 X90 SPP=20 PON No defined start of nibbling, 4 punches initiated N15 Y10 One punch is initiated at end of path N20 X10 SPP=20 4 punches initiated at intervals of 20 mm N25 SPOF...
  • Page 781 Punching and Nibbling (N4) Examples Example 7 Application example of SPP programming Figure 10-11 Workpiece Extract from program: N100 G90 X75 Y75 F60 PON Position at starting point 1 of vertical line of holes, punch one hole N110 G91 Y125 SPP=25 PON End point coordinates (incremental), path segment: 25 mm, activate punching N120 G90 X150 SPOF...
  • Page 782 Punching and Nibbling (N4) Data lists 10.9 Data lists 10.9.1 Machine data 10.9.1.1 General machine data Number Identifier: $MN_ Description 11450 SEARCH_RUN_MODE Block search parameter settings 10.9.1.2 Channel-specific machine data Number Identifier: $MC_ Description 20150 GCODE_RESET_VALUES[n] Reset G groups 26000 PUNCHNIB_ASSIGN_FASTIN Hardware assignment for input-byte with stroke control...
  • Page 783 Punching and Nibbling (N4) Data lists 10.9.2 Setting data 10.9.2.1 Channel-specific setting data Number Identifier: $SC_ Description 42400 PUNCH_DWELL_TIME Dwell time 42402 NIBPUNCH_PRE_START_TIME Pre-start time 42404 MINTIME_BETWEEN_STROKES Minimum time interval between two consecutive strokes 10.9.3 Signals 10.9.3.1 Signals to channel DB number Byte.bit Name...
  • Page 784 Punching and Nibbling (N4) Data lists 10.9.4 Language commands G group Language Meaning command SPOF Stroke/Punch OFF Punching and nibbling OFF Stroke ON Nibbling ON SONS Stroke ON Nibbling ON (position controller) Punch ON Punching ON PONS Punch ON Punching ON (position controller) PDELAYON Punch with Delay ON Punching with delay ON...
  • Page 785 Positioning Axes (P2) 11.1 Brief description Axes for auxiliary movements In addition to axes for machining a workpiece, modern machine tools can also be equipped with axes for auxiliary movements, e.g.: ● Axis for tool magazine ● Axis for tool turret ●...
  • Page 786 Positioning Axes (P2) Brief description Axes for auxiliary movements are traversed independently of the path axes at a separate, axis-specific feedrate. In the past, many of these axes were moved hydraulically and started by an auxiliary function in the part program. With the closed-loop axis control implemented in the NC, the axis can be addressed by name in the part program and its actual position displayed on the screen.
  • Page 787 Positioning Axes (P2) Brief description ● During PLC configuring/commissioning: No allowance has to be made on PLC or external computers (PCs) for synchronization between axes for machining and axes for auxiliary movements. ● During system configuring: A second channel is not required. Motions and interpolations Each channel has one path interpolator and at least one axis interpolator with the following interpolation functions:...
  • Page 788 Positioning Axes (P2) Own channel, positioning axis or concurrent positioning axis 11.2 Own channel, positioning axis or concurrent positioning axis When axes are provided for auxiliary movements on a machine tool, the required properties will decide whether the axis is to be: ●...
  • Page 789 Positioning Axes (P2) Own channel, positioning axis or concurrent positioning axis References For more information on the channel functionality, please refer to: Function Manual, Basic Functions; BAG, Channel, Program Operation, Reset Response (K1) 11.2.2 Positioning axis (posAxis) Positioning axes are programmed together with path axes, i.e. with the axes that are responsible for workpiece machining.
  • Page 790 Positioning Axes (P2) Own channel, positioning axis or concurrent positioning axis Traverse path axes in G0 as positioning axis Each path axis can be traversed as positioning axis in rapid traverse movement (G0). Thus all axes travel to their endpoint independently. In this way, two sequentially programmed X and Z axes are treated like positioning axes in conjunction with G0.
  • Page 791 Positioning Axes (P2) Own channel, positioning axis or concurrent positioning axis ● The last block with a programmed end-of-motion criterion that was processed in the search run serves as a container for setting all axes. ● Group 1 (modal movement commands) of the G functions G0, G1, G2, ...) does not apply to positioning axes.
  • Page 792 Positioning Axes (P2) Own channel, positioning axis or concurrent positioning axis Activation from PLC The concurrent positioning axis is activated via FC 18 from the PLC. ● Feed For feedrate = 0, the feedrate is determined from the following machine data: MD32060 $MA_POS_AX_VELO (initial setting for positioning axis velocity) ●...
  • Page 793 Positioning Axes (P2) Motion behavior and interpolation functions 11.3 Motion behavior and interpolation functions 11.3.1 Path interpolator and axis interpolator Path interpolator Every channel has a path interpolator for a wide range of interpolation modes such as linear interpolation (G1), circular interpolation (G2/G3), spline interpolation etc. Axis interpolator Each channel has axis interpolators in addition to path interpolators.
  • Page 794 Positioning Axes (P2) Motion behavior and interpolation functions Linear interpolation is always performed in the following cases: ● For a G-code combination with G0 that does not allow positioning axis motion, e.g.: G40, G41, G42, G96, G961 and MD20750 $MC_ALLOW_G0_IN_G96 == FALSE ●...
  • Page 795 Positioning Axes (P2) Motion behavior and interpolation functions Selection of interpolation type The interpolation type that should effective for G0 is adjusted with the following machine data: MD20730 $MC_G0_LINEAR_MODE (interpolation response in G0) Value Description In the rapid traversing mode (G0) the non-linear interpolation is active. Path axes are traversed as positioning axes.
  • Page 796 Positioning Axes (P2) Motion behavior and interpolation functions Marginal conditions Axes/spindles currently operating according to the NC program are not controlled by the PLC. Command axis movements cannot be started via non-modal or modal synchronized actions for PLC-controlled axes/spindles. Alarm 20143 is signaled. Sequence coordinator The sequence of autonomous single-axis functions with the respective transfers is represented in a so-called "Use Case"...
  • Page 797 Positioning Axes (P2) Motion behavior and interpolation functions Alternatives The channel status is "interrupted" because a channel stop signal is active. The axis is handled analogously to the sequence description. The following two alternatives are possible depending on the status of the axis to be controlled: ●...
  • Page 798 Positioning Axes (P2) Motion behavior and interpolation functions 4. NCK executes an axial RESET in accordance with use case 4 "Reset axis/spindle" by reading and activating the required reset machine data for RESET for a single axis. 5. NCK confirms the takeover and transfers the axis status to the PLC via the axial VDI interface with the NC/PLC interface signals: DB31, ...
  • Page 799 Positioning Axes (P2) Motion behavior and interpolation functions Note The axis/spindle must be operating under PLC control. This supplementary condition basically applies to all applications: Use cases 1 to 4. The exchange of signals at the VDI interface during autonomous single operations is described by means of machine axis 1 in a comparison of PLC actions as the NCK reaction in Section "Control by the PLC".
  • Page 800 Positioning Axes (P2) Motion behavior and interpolation functions ● NCK switches the axis to the ’stopped’ state and notifies the PLC of the status change via the VDI interface (NCK→PLC) as follows with: DB31, ... DBX63.2 (Axis stop active) == 0, DB31, ...
  • Page 801 Positioning Axes (P2) Motion behavior and interpolation functions Use Case 3 Resume axis/spindle motion The axis/spindle motions controlled by the main run and interrupted according to use case 2 "Stop axis" are resumed. Description of operational sequence: ● PLC requests the NCK to resume motion on the relevant axis with NST: DB31, ...
  • Page 802 Positioning Axes (P2) Motion behavior and interpolation functions Use Case 4 Reset axis/spindle An axis/spindle is reset to its initial state. Description of operational sequence: ● PLC requests the NCK to reset motion on the relevant axis with NST: DB31, ... DBX28.1 (AXRESET) == 1. ●...
  • Page 803 Positioning Axes (P2) Motion behavior and interpolation functions 11.3.4 Autonomous single-axis functions with NC-controlled ESR Extended stop numerically controlled The numerically controlled extended stop and retract function is also available for single axes and is configurable with axial machine data: Delay time for ESR single axis with MD37510 $MA_AX_ESR_DELAY_TIME1 ESR time for interpolatory braking of the single axis with...
  • Page 804 Positioning Axes (P2) Motion behavior and interpolation functions Examples Extended stopping of a single axis: MD37500 $MA_ESR_REACTION[AX1]=22 MD37510 $MA_AX_ESR_DELAY_TIME1[AX1]=0.3 MD37511 $MA_AX_ESR_DELAY_TIME2[AX1]=0.06 $AA_ESR_ENABLE[AX1] = 1 $AA_ESR_TRIGGER[AX1]=1 ; axis begins stop process here Extended retraction of a single axis: MD37500 $MA_ESR_REACTION[AX1]=21 $AA_ESR_ENABLE[AX1] = 1 POLFA(AX1, 1, 20.0);...
  • Page 805 Positioning Axes (P2) Velocity 11.4 Velocity The axis-specific velocity limits and acceleration limits are valid for positioning axes. Feed override The path and positioning axes have separate feedrate overrides. Each positioning axis can be adjusted by its own axis-specific feed override. Rapid traverse override Rapid traverse override applies only to path axes.
  • Page 806 Positioning Axes (P2) Programming 11.5 Programming 11.5.1 General Note For the programming of position axes, please observe the following documentation: References: Programming Manual Basics; Chapter: "Feed rate control" and "Spindle motion" Note The maximum number of positioning axes that can be programmed in a block is limited to the maximum number of available channel axes.
  • Page 807 Positioning Axes (P2) Programming Programming in synchronized action Axes can be positioned completely asynchronously to the part program from synchronized actions. Example: Program code Comment ID=1 WHENEVER $R==1 DO POS[Q4]=10 FA[Q3]=990 ; The axial feedrate is specified permanently. References: Programming Manual, Job Planning; Chapter "Motion synchronized actions": Block change The block change can be adjusted for positioning axis types 1 and 2 with: FINEA=<axis identifier>...
  • Page 808 Positioning Axes (P2) Programming Reprogram type 2 positioning axes With type 2 positioning axes (motion across block limits), you need to be able to detect in the part program whether the positioning axis has reached its end position. Only then is it possible to reprogram this positioning axis (otherwise an alarm is issued).
  • Page 809 Positioning Axes (P2) Programming 11.5.2 Revolutional feed rate in external programming The two following setting data can be used to specify that the revolutional feed rate of a positioning axis should be derived from another rotary axis/spindle: SD43300 $SA_ASSIGN_FEED_PER_REV_SOURCE(revolutional feed rate for position axes/spindles) SD42600 JOG_FEED_PER_REV_SOURCE (control of revolutional feed rate in JOG) The following settings are possible:...
  • Page 810 Positioning Axes (P2) Block change 11.6 Block change Positioning axes can be programmed in the NC block individually or in combination with path axes. Path axes and positioning axes are always interpolated separately (path interpolator and axis interpolators) and this causes them to reach their programmed end positions at different times.
  • Page 811 Positioning Axes (P2) Block change Properties of type 1 positioning axis With SW 5 and lower, type 1 positioning axes have the following behavior: ● The block change occurs (NC block finished) when all the path and positioning axes have reached the respective end-of-motion criterion.
  • Page 812 Positioning Axes (P2) Block change Positioning axis type 2 Block change at programmed end point of all path axes Figure 11-2 Block change with positioning axis type 2, example of sequence Properties of type 2 positioning axis With SW 5 and lower, type 2 positioning axes have the following behavior: ●...
  • Page 813 Positioning Axes (P2) Block change ● Programming with POSA[Name] = end point FA[Name] = feed or abbreviated with POSA[Name] = end point in which case the feed is determined by the setting in MD32060 $MA_POS_AX_VELO. ● The programmed instruction is effective on a non-modal basis. The geometry and synchronous axes are separated with the instructions from the path axis grouping and traversed at an axis-specific velocity.
  • Page 814 Positioning Axes (P2) Block change Properties of type 3 positioning axis With type 3 positioning axes the end-of-motion criterion can be programmed with FINEA, COARSEA or IPOENDA. The block change condition can be set within the braking ramp of the single-axis interpolation. ●...
  • Page 815 Positioning Axes (P2) Block change Reciprocating axes Reciprocating axes always brake at their reversal position and then move in the opposite direction. Therefore, reciprocating axes do not require an expansion. Note The behavior of PLC axes at block changes is described in Section "Control by the PLC". For further information about block changes with programmed end-of-motion criteria FINEA, COARESA and IPOENDA , please refer to: References:...
  • Page 816 Positioning Axes (P2) Block change Advantages of the percent setting Setting SD43600 in percent offers the following advantages: ● The block change condition is not dependent on a position and is therefore dependent on the override set. ● Maximum override will result in the greatest smoothing deviation. ●...
  • Page 817 Positioning Axes (P2) Block change Activation and deactivation End-of-motion criterion IPOBRKA and precise time of activation. For part program execution: ● The braking ramp end-of-motion criterion can be activated via the NC command IPOBRKA. ● The precise time of activation is defined in setting data SD43600 $SA_IPOBRAKE_BLOCK_EXCHANGE ●...
  • Page 818 Positioning Axes (P2) Block change Examples For block change condition "Braking ramp" in the part program: ; Default effective N10 POS[X]=100 ; Block change occurs when the X axis reaches ; position 100 and exact stop fine. N20 IPOBRKA(X,100) ; Braking ramp block change condition N30 POS[X]=200 ;...
  • Page 819 Positioning Axes (P2) Block change With tolerance window For block change condition "Braking ramp" in the part program: ; Default effective N10 POS[X]=100 ; Block change occurs when the X axis reaches ; position 100 and exact stop fine. N20 IPOBRKA(X,100) ;...
  • Page 820 Positioning Axes (P2) Block change POS[X]=0 ; the X axis brakes and traverses back ; to position 0 ; the block change occurs at position 0 ; and exact stop fine. 11.6.2 End of motion criterion with block search Last block serves as container The last end-of-motion criterion programmed for an axis is collected and output in an action block.
  • Page 821 Positioning Axes (P2) Control by the PLC 11.7 Control by the PLC PLC axes PLC axes are traversed by the PLC via special function blocks in the basic program; their movements can be asynchronous to all other axes. The travel motions are executed separate from the path and synchronized actions.
  • Page 822 Positioning Axes (P2) Control by the PLC The channel-specific interface signal PLC→NCK ● IS DB21, ... DBX6.0 ("feed disable") does apply to a PLC-controlled axis if bit 6 = 0 in machine data MD30460 $MA_BASE_FUNCTION_MASK. The channel-specific VDI interface signal NCK→PLC ●...
  • Page 823 Positioning Axes (P2) Control by the PLC The following functions are defined: ● Linear interpolation (G01) ● Feedrate in mm/min or degrees/min (G94) ● Exact stop (G09) ● Settable zero offsets currently selected are valid Since each axis is assigned to exactly one channel, the control can select the correct channel from the axis name/axis number and start the concurrent positioning axis on this channel.
  • Page 824 Positioning Axes (P2) Control by the PLC PLC actions NCK reaction Trigger axial RESET Machine axis 1 is stopped and the traversing IS DB31, ... DBX28.1 (”AXRESET”) movement is aborted. IS DB31, ... DBX63.2==1 (”axis stop active”) is reset to 0, its axial machine data are read in, IS DB31, ...
  • Page 825 Positioning Axes (P2) Control by the PLC 11.7.3 Control response PLC-controlled axes Response to channel reset, NEWCONFIG, block search and MD30460 Control response to PLC-controlled axis Mode change and NC program control work independently of axis. Channel RESET No axial machine data are effective and a traversing movement is not aborted.
  • Page 826 Positioning Axes (P2) Response with special functions 11.8 Response with special functions 11.8.1 Dry run (DRY RUN) The dry run feedrate is also effective for positioning axes unless the programmed feedrate is larger than the dry run feedrate. Activation of the dry run feed entered in SD42100 $SA_DRY_RUN_FEED can be controlled with SD42101 $SA_DRY_RUN_FEED_MODE.
  • Page 827 Positioning Axes (P2) Examples 11.9 Examples 11.9.1 Motion behavior and interpolation functions In the following example, the two positioning axes Q1 and Q2 represent two separate units of movement. There is no interpolation relationship between the two axes. In the example, the positioning axes are programmed as type 1 (e.g.
  • Page 828 Positioning Axes (P2) Examples 11.9.1.1 Traversing path axes without interpolation with G0 Example in G0 for positioning axes Path axes traverse as positioning axes with no interpolation in rapid traverse mode (G0): ; Activation of nonlinear interpolation ; MD20730 $MC_GO_LINEAR_MODE == FALSE ;...
  • Page 829 Positioning Axes (P2) Data lists 11.10 Data lists 11.10.1 Machine data 11.10.1.1 Channel-specific machine data Number Identifier: $MC_ Description 20730 G0_LINEAR_MODE Interpolation behavior with G0 20732 EXTERN_G0_LINEAR_MODE Interpolation behavior with G00 22240 AUXFU_F_SYNC_TYPE Output timing of F functions 11.10.1.2 Axis/spindle-specific machine data Number Identifier: $MA_ Description...
  • Page 830 Positioning Axes (P2) Data lists 11.10.3 Signals 11.10.3.1 Signals to channel DB number Byte.Bit Description 21, ... Feed disable 21, ... NC Start 21, ... NC stop axes plus spindle 21, ... Reset 11.10.3.2 Signals from channel DB number Byte.Bit Description 21, ...
  • Page 831 Positioning Axes (P2) Data lists 11.10.3.4 Signals from axis/spindle DB number Byte.Bit Description 31, ... 60.6 Exact stop coarse 31, ... 60.7 Exact stop fine 31, ... 61.1 Axial alarm 31, ... 61.2 Axis ready (AX_IS_READY) 31, ... 62.7 Axis container rotation active 31, ...
  • Page 832 Positioning Axes (P2) Data lists Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 833 Oscillation (P5) 12.1 Brief description Definition When the "Oscillation" function is selected, an oscillation axis oscillates backwards and forwards at the programmed feedrate or a derived feedrate (revolutional feedrate) between two reversal points. Several oscillation axes can be active at the same time. Oscillation variants Oscillation functions can be classified according to the axis response at reversal points and with respect to infeed:...
  • Page 834 Oscillation (P5) Brief description Control methods Oscillation movements can be controlled by various methods: ● The oscillation movement and/or infeed can be interrupted by delete distance-to-go. ● The reversal points can be altered via NC program, PLC, HMI, handwheel or directional keys.
  • Page 835 Oscillation (P5) Asynchronous oscillation 12.2 Asynchronous oscillation Characteristics The characteristics of asynchronous oscillation are as follows: ● The oscillation axis oscillates backwards and forwards between reversal points at the specified feedrate until the oscillation movement is deactivated or until there is an appropriate response to a supplementary condition.
  • Page 836 Oscillation (P5) Asynchronous oscillation 12.2.1 Influences on asynchronous oscillation Setting data The setting data required for oscillation can be set with special language commands in the NCK part program, via the HMI and/or the PLC. Feedrate The feed velocity for the oscillation axis is selected or programmed as follows: ●...
  • Page 837 Oscillation (P5) Asynchronous oscillation Reversal points The positions of the reversal points can be entered via setting data before an oscillation movement is started or while one is in progress. ● The reversal point positions can be entered by means of manual travel (handwheel, JOG keys) before or in the course of an oscillation movement, regardless of whether the oscillation movement has been interrupted or not.
  • Page 838 Oscillation (P5) Asynchronous oscillation On switchover from asynchronous oscillation to spark-out and during spark-out, the response at the reversal point regarding exact stop corresponds to the response determined by the stop time programmed for the appropriate reversal point. A sparking-out stroke is the movement towards the other reversal point and back.
  • Page 839 Oscillation (P5) Asynchronous oscillation NC language The NC programming language allows asynchronous oscillation to be controlled from the part program. The following functions allow asynchronous oscillation to be activated and controlled as a function of NC program execution. Note If the setting data are directly written in the part program, then the data change takes effect prematurely with respect to processing of the part program (at the preprocessing time).
  • Page 840 Oscillation (P5) Asynchronous oscillation 4) Stopping times at reversal points: ● OST1[oscillation axis] = stop time at reversal point 1 in [s] ● OST2[oscillation axis] = stop time at reversal point 2 in [s] A stop time is entered into the appropriate setting data in synchronism with the block in the main run and thus remains effective until the setting data is next changed.
  • Page 841 Oscillation (P5) Asynchronous oscillation Note The option values 0-3 encode the behavior at reversal points at Power OFF. You can choose one of the alternatives 0-3. The other settings can be combined with the selected alternative according to individual requirements. A + character can be inserted to create a string of options.
  • Page 842 Oscillation (P5) Asynchronous oscillation If a non-modal oscillation process does not require an infeed motion if the start position coincides with reversal position 1, this option can be configured with another synchronized action, see examples in the chapter "Non-modal oscillation (starting position = reversal point 1)". Programming example The "Examples"...
  • Page 843 Oscillation (P5) Asynchronous oscillation 12.2.3 Special reactions during asynchronous oscillation With PLC control The PLC program can take over the control of an oscillation axis via VDI signals. These VDI signals also include program end, operating mode changeover and single block. The following VDI interface signals are ignored in SW 6.2 and earlier: Feed/spindle stop and NC-STOP;...
  • Page 844 Oscillation (P5) Asynchronous oscillation Reset The oscillation movement is interrupted and deselected with a braking ramp. The options selected subsequently are not processed (sparking-out strokes, end point approach). Working area limitation, limit switches If it is detected during preprocessing that the oscillation movement would violate an active limitation, then an alarm is output and the oscillation movement not started.
  • Page 845 Oscillation (P5) Asynchronous oscillation Single-block processing If the axis is not controlled by the PLC, then it responds to a single block in the same way as a positioning axis (POSA), i.e. it continues the movement. Override The override is specified by the: VDI interface Axial override acts on the oscillation axis.
  • Page 846 Oscillation (P5) Oscillation controlled by synchronized actions 12.3 Oscillation controlled by synchronized actions General procedure An asynchronous oscillation movement is coupled via synchronized actions with an infeed motion and controlled accordingly. References: /FB2/ Function Manual, Extended Functions; Synchronous Actions (S5) The following description concentrates solely on the motion-synchronous actions associated with the oscillation function.
  • Page 847 Oscillation (P5) Oscillation controlled by synchronized actions Programming The parameters governing oscillation (see Chapter "Assigning Oscillation and Infeed Axis OSCILL") must be defined before the movement block containing the assignment between the infeed and oscillation axes (see ), the infeed definition (POSP) and the motion- synchronous actions: The oscillation axis is enabled via a WAITP [oscillation axis] (see MD30552 $MA_AUTO_GET_TYPE), allowing the oscillation parameters to be transferred, i.e.
  • Page 848 Oscillation (P5) Oscillation controlled by synchronized actions Example 1 Oscillation, reversal position firmly set via setting data: $SA_OSCILL_REVERSE_POS1[Z]=-10 $SA_OSCILL_REVERSE_POS2[Z]=10 G0 X0 Z0 WAITP(Z) ID=1 WHENEVER $AA_IM[Z] < $SA_OSCILL_REVERSE_POS1[Z] DO $AA_OVR[X]=0 ID=2 WHENEVER $AA_IM[Z] > $SA_OSCILL_REVERSE_POS2[Z] DO $AA_OVR[X]=0 ; If the actual value of the oscillation axis ;...
  • Page 849 Oscillation (P5) Oscillation controlled by synchronized actions 12.3.1 Infeed at reversal point 1 or 2 Function As long as the oscillation axis has not reached the reversal point, the infeed axis does not move. Application Direct infeed in reversal point Programming For reversal point 1: WHENEVER $AA_IM[Z] <>...
  • Page 850 Oscillation (P5) Oscillation controlled by synchronized actions 12.3.2 Infeed in reversal point range Function Reversal point range 1: No infeed takes place provided the oscillation axis has not reached the reversal point range (position at reversal point 1 plus contents of variables ii1). This applies on the condition that reversal point 1 is set to a lower value than reversal point 2.
  • Page 851 Oscillation (P5) Oscillation controlled by synchronized actions Programming Reversal point range 2: WHENEVER $AA_IM[Z] < $SA_OSCILL_REVERSE_POS2[Z] - ii2 DO $AA_OVR[X] = 0 Explanation: $AA_IM[Z]: Current position of oscillating axis Z $SA_OSCILL_REVERSE_POS2[Z]: Position of reversal point 2 of the oscillation axis $AA_OVR[X]: Axial override of the infeed axis ii2: Magnitude of reversal range 2 (user variable) Infeed...
  • Page 852 Oscillation (P5) Oscillation controlled by synchronized actions One-sided infeed to U1 to U2 range U1 range U2 These options are described in the chapter "Infeed in Reversal Point 1 or 2" and the chapter "Infeed in the Reversal Range". 12.3.4 Stop oscillation movement at the reversal point Function Reversal point 1:...
  • Page 853 Oscillation (P5) Oscillation controlled by synchronized actions Application The synchronized action is used to hold the oscillation axis stationary until part infeed has been executed. This synchronized action can be omitted if the oscillation axis need not wait at reversal point 2 until part infeed has been executed. At the same time, this synchronized action can be used to start the infeed movement if this has been stopped by a previous synchronized action which is still active.
  • Page 854 Oscillation (P5) Oscillation controlled by synchronized actions 12.3.6 Do not start partial infeed too early Function The functions described above prevent any infeed movement outside the reversal point or the reversal point range. On completion of an infeed movement, however, restart of the next partial infeed must be prevented.
  • Page 855 Oscillation (P5) Oscillation controlled by synchronized actions 12.3.7 Assignment of oscillation and infeed axes OSCILL Function One or several infeed axes are assigned to the oscillation axis with command OSCILL. Oscillation motion starts. The PLC is informed of which axes have been assigned via the VDI interface. If the PLC is controlling the oscillation axis, it must now also monitor the infeed axes and use the signals for the infeed axes to generate the reactions on the oscillation axis via 2 stop bits of the interface.
  • Page 856 Oscillation (P5) Oscillation controlled by synchronized actions Programming POSP[infeed axis] = (end position, part section, mode) End position: End position for the infeed axis after all partial infeeds have been traversed. Part section: Part infeed at reversal point/reversal point range Mode 0: For the last two part steps, the remaining path up to the target point is divided into two equally large residual steps (default setting).
  • Page 857 Oscillation (P5) Marginal conditions System variables The braking position can be scanned via system variable $AA_OSCILL_BREAK_POS1, when approach to reversal position 1 is aborted or via $AA_OSCILL_BREAK_POS2 when approach to reversal position 2 is aborted. If the relevant reversal point is approached again, the position of the reversal point can be scanned in $AA_OSCILL_BREAK_POS1 or $AA_OSCILL_BREAK_POS2.
  • Page 858 Oscillation (P5) Examples 12.5 Examples Requirements The examples given below require components of the NC language specified in the sections entitled: ● Asynchronous oscillation ● Oscillation controlled by synchronized actions. 12.5.1 Example of asynchronous oscillation Exercise The oscillation axis Z must oscillate between -10 and 10. Approach reversal point 1 with exact stop coarse and reversal point 2 without exact stop.
  • Page 859 Oscillation (P5) Examples Figure 12-2 Sequences of oscillation movements and infeed, example 1 12.5.2 Example 1 of oscillation with synchronized actions Exercise Direct infeed must take place at reversal point 1; the oscillation axis must wait until the part infeed has been executed before it can continue traversal. At reversal point 2, the infeed must take place at a distance of -6 from reversal point 2;...
  • Page 860 Oscillation (P5) Examples OSE[Z]=0 ; End position = 0; WAITP(Z) ; enable oscillation for Z axis ; motion-synchronous actions ; always, when the current position of the oscillating axis in the MCS ; not equal to reversal position 1 ; then set the marker with index 1 to value 0 (reset marker 1) WHENEVER $AA_IM[Z]<>$SA_OSCILL_REVERSE_POS1[Z] DO $AC_MARKER[1]=0 ;...
  • Page 861 Oscillation (P5) Examples ; equal to ; then set the axial override of the infeed axis to 0%; this prevents premature infeed (oscillation axis has not left reversal range 2 yet) ; and set the axial override of the oscillation axis to 100% ('Start' oscillation) WHENEVER $AC_MARKER[1]==1 DO $AA_OVR[X]=0 $AA_OVR[Z]=100 ;...
  • Page 862 Oscillation (P5) Examples 12.5.3 Example 2 of oscillation with synchronized actions Exercise No infeed must take place at reversal point 1. At reversal point 2, the infeed must take place at distance ii2 from reversal point 2; the oscillation axis must wait at this reversal point until part infeed has been executed.
  • Page 863 Oscillation (P5) Examples WHENEVER $AA_DTEPW[X] == 0 DO $AC_MARKER[0]=1 ; always, when the flag with index 0 is ; equal to ; then set the axial override of infeed axis X to 0% in order to inhibit premature infeed (oscillating axis has not yet left reversal area 2 but infeed axis is ready for a new infeed) ;...
  • Page 864 Oscillation (P5) Examples 12.5.4 Examples for starting position 12.5.4.1 Define starting position via language command WAITP(Z) ; Enable oscillation for Z axis OSP1[Z]=10 OSP2[Z]=60 ; Explain reversal points 1 and 2 OST1[Z]=-2 OST2[Z]=0 ; Reversal point 1: Without exact stop ;...
  • Page 865 Oscillation (P5) Examples STOPRE X30 F100 $SA_OSCILL_IS_ACTIVE[ Z ] = 0 ; stop WAITP(Z) Description When the Z axis starts oscillation, it first approaches the starting position (position = -50 in the example) and then begins the oscillation motion between the reversal points -10 and 30. When the X axis has reached its end position 30, the oscillation finishes at the next approached reversal point.
  • Page 866 Oscillation (P5) Examples WHENEVER ($AC_MARKER[2] == 0) AND $AA_IW[Z]>$SA_OSCILL_REVERSE_POS1[Z]) DO $AC_MARKER[1]=0 ; always, when the current position of the oscillation axis is smaller than the beginning of reversal range 2, ; then set the axial override of the infeed axis to 0 and set the marker with index 0 to 0 WHENEVER $AA_IW[Z]<$SA_OSCILL_REVERSE_POS2[Z]-6 DO $AA_OVR[X]=0 $AC_MARKER[0]=0 ;...
  • Page 867 Oscillation (P5) Examples ; which has to infeed up to end position 5 ; in steps of 1 and the sum of all partial distances ; must add up to the end position. N780 WAITP(Z) ; Release the Z axis N790 X0 Z0 N799 M30 ;...
  • Page 868 Oscillation (P5) Data lists 12.6 Data lists 12.6.1 Machine data 12.6.1.1 General machine data Number Identifier: $MN_ Description 10710 PROG_SD_RESET_SAVE_TAB Oscillations to be saved from SD 11460 OSCILL_MODE_MASK Control screen form for asynchronous oscillation 12.6.2 Setting data 12.6.2.1 Axis/spindle-specific setting data Number Identifier: $SA_ Description...
  • Page 869 Oscillation (P5) Data lists 12.6.3 Signals 12.6.3.1 Signals to axis/spindle DB number Byte.bit Description 31, ... 28.0 External oscillation reversal 31, ... 28.3 Set reversal point 31, ... 28.4 Alter reversal point 31, ... 28.5 Stop at next reversal point 31, ...
  • Page 870 Oscillation (P5) Data lists $AA_IM[<axial expression>] Actual position MCS axis (IPO setpoints) (real) With $AA_IM[S1] setpoints for spindles can be evaluated. Modulo calculation is used for spindles and rotary axes, depending on machine data $MA_ROT_IS_MODULO and $MA_DISPLAY_IS_MODULO. $AA_OSCILL_BREAK_POS1 Breaking position after external oscillation reversal when approaching reversal point 1 $AA_OSCILL_BREAK_POS2 Breaking position after external oscillation reversal...
  • Page 871 Oscillation (P5) Data lists $AA_DTEPB[<axial expression>] Axial distance-to-go for oscillation infeed in BCS (Distance to end, pendulum, baseCoor) (real) $AA_DTEPW[<axial expression>] Axial distance-to-go for oscillation infeed in PCS (Distance to end, pendulum, workpieceCoor) (real) $AC_DTEPB Path distance-to-go for oscillation infeed in BCS (not P2) (Distance to end, pendulum, baseCoor) (real) $AC_DTEPW...
  • Page 872 Oscillation (P5) Data lists Conditions Conditions for motion-synchronous actions are formulated: Main run variable comparison operator expression For details see: References: /FBSY/ Function Manual Synchronized Actions Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 873 Rotary Axes (R2) 13.1 Brief description Rotary axes in machine tools Rotary axes are used on many modern machine tools. They are required for tool and workpiece orientation, auxiliary movements and various other technological or kinematic purposes. A typical example of an application using rotary axes is the 5-axis milling machine. Only with the aid of rotary axes can the tip of the tool be positioned on any point on the workpiece on this type of machine.
  • Page 874 Rotary Axes (R2) Brief description Types of rotary axis Depending on the application, the operating range of a rotary axis can be unlimited (endlessly rotating in both directions [MD30310 $MA_ROT_IS_MODULE = 1]), limited by a software limit switch (e.g. operating range between 0° and 60°) or limited to an appropriate number of rotations (e.g.
  • Page 875 Rotary Axes (R2) Brief description ● The positive rotary-axis direction of rotation corresponds to a clockwise rotation when looking in the positive axis direction of the corresponding middle axis (see fig.). Figure 13-1 Axis identifiers and directions of movement for rotary axes Extended addressing (e.g.
  • Page 876 Rotary Axes (R2) Brief description Operating range The operating range can be defined by means of axis-specific machine and setting data (software limit switches and working-area limitations). As soon as modulo conversion is activated for the rotary axis (MD30310 $MA ROT_IS_MODULO = 1), the operating range is set to unlimited and the software limit switches and working-area limitations become inactive.
  • Page 877 Rotary Axes (R2) Brief description Feedrate The programmed feedrate F corresponds to an angular velocity (degrees/min) in the case of rotary axes. If rotary axes and linear axes traverse a common path with G94 or G95, the feedrate should be interpreted in the linear-axis unit of measurement (e.g. mm/min, inch/min). The tangential velocity of the rotary axis refers to diameter D (unit diameter D =360/π).
  • Page 878 Rotary Axes (R2) Modulo 360 degrees 13.2 Modulo 360 degrees Term "modulo 360°" Rotary axes are frequently programmed in the 360° representation mode. The axis must be defined as a rotary axis in order to use the modulo feature. With respect to a rotary axis, the term "modulo" refers to the mapping of the axis position within the control in the range 0°...
  • Page 879 Rotary Axes (R2) Modulo 360 degrees Axis is modulo MD30310 $MA_ROT_IS_MODULO = 1: Activation of this machine data allows the special rotary-axis response to be utilized. The rotary-axis positioning response is thus defined during programming (G90, AC, ACP, ACN or DC).
  • Page 880 Rotary Axes (R2) Modulo 360 degrees Starting position for the modulo rotary axis A start position, not equal to zero, can be specified in machine data for the modulo range: MD30340 $MA_MODULO_RANGE_START. This allows, for instance, a modulo range of -180° to +180° with a presetting of -180 in MD30340.
  • Page 881 Rotary Axes (R2) Programming rotary axes 13.3 Programming rotary axes 13.3.1 General information Note For general information on programming, please refer to: References: /PG/ Programming Manual Fundamentals MD30310 Axis-specific machine data MD30310 ROT_IS_MODULO (modulo conversion for rotary axis) is used to define whether the rotary axis behaves as a linear axis during programming and positioning or whether rotary-axis special features are taken into account.
  • Page 882 Rotary Axes (R2) Programming rotary axes ● ACP (positive) and ACN (negative) unambiguously define the rotary-axis traversing direction (irrespective of the actual position). ● When programming AC exclusively or with G90, the traversing direction depends on the rotary-axis actual position. If the target position is greater than the actual position, the axis traverses in the positive direction, otherwise it traverses in the negative direction.
  • Page 883 Rotary Axes (R2) Programming rotary axes Absolute programming along the shortest path (DC) POS[axis name] = DC(value) ● The value identifies the rotary-axis target position in a range from 0° to 359.999°. Alarm 16830, "Incorrect modulo position programmed", is output for values with a negative sign or ≥...
  • Page 884 Rotary Axes (R2) Programming rotary axes Figure 13-6 Examples of DC programming Block-search response After a block search with calculation, the collected modulo-conversion search position can be scanned via the $AC_RETPOINT system variable. This system variable returns the position converted to modulo. Supplementary conditions for ASUB after block search with calculation: In this instance, as well as with the cross-channel block-search tool SERUPRO, the modulo conversion simulated in the block search must be performed in the part program.
  • Page 885 Rotary Axes (R2) Programming rotary axes Supplementary conditions: It is only possible to activate/deactivate software-limit-switch monitoring via the PLC interface for modulo axes. Traversing-range monitoring for modulo axes can be implemented only if the axis is referenced and one limiting pair is active. This always applies in the case of software limit switches, since these are always activated/deactivated in pairs.
  • Page 886 Rotary Axes (R2) Programming rotary axes Z500 G0 Z540 B0 M124 Insert the pallet with built-on axis into the machine Activate the software limit switches on the B axis from the DB35, DBX12.4=1 STOPRE Trigger a preprocessing stop B270 Incremental programming (IC, G91) Example for positioning axis: POS[axis name] = IC(+/-value) ●...
  • Page 887 Rotary Axes (R2) Programming rotary axes 13.3.3 Rotary axis without modulo conversion Deactivate modulo conversion → Set MD30310 $MA_ROT_IS_MODULO = 0. Absolute programming (AC, G90) Example for positioning axis: POS[axis name] = AC (+/-value) ● The value and its sign uniquely identify the rotary-axis target position. The value can be ≥ +/-360°.
  • Page 888 Rotary Axes (R2) Programming rotary axes ● DC application example: the rotary table is required to approach the changeover position in the shortest time (and, therefore, via the shortest path) possible. ● If DC is programmed with a linear axis, alarm 16800, "DC traverse instruction cannot be used", is output.
  • Page 889 Rotary Axes (R2) Programming rotary axes 13.3.4 Other programming features relating to rotary axes Offsets TRANS (absolute) and ATRANS (additive) can be applied to rotary axes. Scalings SCALE or ASCALE are not suitable for rotary axes, since the control always bases its modulo calculation on a 360º...
  • Page 890 Rotary Axes (R2) Activating rotary axes 13.4 Activating rotary axes Procedure The procedure for activating rotary axes is the same as that for linear axes with a small number of exceptions. It should be noted that, as soon as the axis is defined as a rotary axis (MD30300 $MA_IS_ROT_AX = 1), the axis-specific-machine-/setting-data units are interpreted by the control as follows: Positions...
  • Page 891 Rotary Axes (R2) Activating rotary axes Possible combinations of rotary-axis machine data The axis is a rotary axis; positioning is performed with modulo conversion, i.e. the software limit switches are inactive, the operating range is unlimited; the position display is modulo (setting most frequently used for rotary axes);...
  • Page 892 Rotary Axes (R2) Special features of rotary axes 13.5 Special features of rotary axes Software limit switch The software limit switches and working-area limitations are active and are required for swivel axes with a limited operating range. However, in the case of continuously-turning rotary axes (MD30310 $MA_ROT_IS_MODULO=1), the software limit switches and working- area limitations can be deactivated for individual axes.
  • Page 893 Rotary Axes (R2) Examples 13.6 Examples Fork head, inclined-axis head Rotary axes are frequently used on 5-axis milling machines to swivel the tool axis or rotate the workpiece. These machines can position the tip of a tool on any point on the workpiece and take up any position on the tool axis.
  • Page 894 Rotary Axes (R2) Data lists 13.7 Data lists 13.7.1 Machine data 13.7.1.1 General machine data Number Identifier: $MN_ Description 10210 INT_INCR_PER_DEG Computational resolution for angular positions 13.7.1.2 Axis/spindle-specific machine data Number Identifier: $MA_ Description 30300 IS_ROT_AX Axis is rotary axis 30310 ROT_IS_MODULO Modulo conversion for rotary axis...
  • Page 895 Rotary Axes (R2) Data lists 13.7.3 Signals 13.7.3.1 Signals to axis/spindle DB number Byte.bit Description 31, ... 12.4 Traversing-range limitation for modulo axis 13.7.3.2 Signals from axis/spindle DB number Byte.bit Description 31, ... 74.4 Status of software-limit-switch monitoring for modulo axis Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 896 Rotary Axes (R2) Data lists Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 897 Synchronous Spindles (S3) 14.1 Brief description 14.1.1 Function The "Synchronous spindle" function can be used to couple two spindles with synchronous position or speed. One spindle is defined as leading spindle (LS), the second spindle is then the following spindle (FS). Speed synchronism: , when k = „1, „2, „3, ...
  • Page 898 Synchronous Spindles (S3) Brief description Selecting/de-selecting Part program commands are used to select/deselect the synchronous operation of a pair of synchronous spindles. Figure 14-1 Synchronous operation: On-the-fly workpiece transfer from spindle 1 to spindle 2 Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 899 Synchronous Spindles (S3) Brief description Figure 14-2 Synchronous operation: Polygonal turning 14.1.2 Requirements The "Synchronous spindle/polygonal turning" option or the corresponding optional generic coupling version is needed to use the function. Information on the different versions of the generic coupling can be found in: References: /FB3/ Function Manual Special Functions;...
  • Page 900 Synchronous Spindles (S3) Brief description Synchronous spindle pair Synchronous operation involves a following spindle (FS) and a leading spindle (LS), referred to as the synchronous spindle pair. The following spindle imitates the movements of the leading spindle when a coupling is active (synchronous operation) in accordance with the defined functional interrelationship.
  • Page 901 Synchronous Spindles (S3) Brief description ● When synchronous mode is not active, the FS and LS can be operated in all other spindle modes. ● The speed ratio can also be altered when the spindles are in motion in active synchronous mode.
  • Page 902 Synchronous Spindles (S3) Brief description This can be done in two ways depending on the application in question: 1. Permanently configured coupling: Machine axes that are to function as the following spindle (FS) and leading spindle (LS) are defined in channel-specific MD21300 $MC_COUPLE_AXIS_1[n]. The machine axes programmed as the LS and FS for this coupling configuration cannot be altered by the NC part program.
  • Page 903 Synchronous Spindles (S3) Brief description Coupling characteristics The following characteristics can be defined for every synchronous spindle coupling: ● Block change behavior The condition to be fulfilled for a block change can be defined on activation of synchronous operation or on alteration of the ratio or the speed defined angular offset when the coupling is active: –...
  • Page 904 Synchronous Spindles (S3) Brief description Change protection for coupling characteristics The channel-specific MD21340 $MC_COUPLE_IS_WRITE_PROT_1 is used to define whether or not the configured coupling parameters Speed ratio, Type of coupling and Block change response can be altered by the NC part program: 0: Coupling parameters can be altered by the NC part program via instruction COUPDEF 1: Coupling parameters cannot be altered by the NC part program.
  • Page 905 Synchronous Spindles (S3) Brief description Setpoint correction The setpoint correction of the system variable $AA_COUP_CORR[Sn] impacts on all subsequent following spindle programming in the same way as a position offset and corresponds to a DRF offset in the MCS. Example: Establish correction value If a coupling offset of 7°...
  • Page 906 Synchronous Spindles (S3) Brief description ● The following applies to setpoint couplings (DV): To ensure more accurate synchronization characteristics, the LS should be in position control mode (language instruction SPCON) before the coupling is activated. ● Before selecting the synchronous mode, the gear stage necessary for FS and LS must be selected.
  • Page 907 Synchronous Spindles (S3) Brief description Note If the LS and/or FS is in axis mode before switching on the synchronous coupling, the axis mode is left and spindle mode is activated with use of the spindle identifier. If the spindle is switched on with use of the axis identifier, no changeover takes place. Block change behavior Before synchronous operation is selected, it must be determined under what conditions the block change must occur when synchronous mode is activated, see Section "Preparatory...
  • Page 908 Synchronous Spindles (S3) Brief description Read current angular offset Using axial system variables, it is possible to read the current position offset between the FS and LS in the NC part program. The following two position offsets exist: ● Current position offset of setpoint between FS and LS $AA_COUP_OFFS [<axis identifier for FS>] ●...
  • Page 909 Synchronous Spindles (S3) Brief description COUPOF variants Three different methods can be used to deselect synchronous mode with COUPOF: 1. Deactivation of coupling as quickly as possible The block change is enabled immediately. COUPOF(FS, LS) 2. A coupling is not deselected until the following spindle has crossed the programmed deactivation position POS The block change is then approved.
  • Page 910 Synchronous Spindles (S3) Brief description COUPOFS with stop of following spindle Another deactivation method for a synchronous spindle coupling, i.e. by stopping the following spindle, has been added: ● Deactivating a coupling as quickly as possible and stop without specifying the position. The block change is then approved.
  • Page 911 Synchronous Spindles (S3) Brief description Special points to be noted IS "Disable synchronization" (DB31, ... DBX31.5) can be used to no control offset movements of the following spindle which were created as follows: ● SPOS, POS ● Synchronized actions ● FC18 ●...
  • Page 912 Synchronous Spindles (S3) Brief description Reset and recovery Resetting the IS "Disable synchronization" (DB31, ... DBX31.5) has no impact on the following spindle offset. If the offset motion of the following spindle has been suppressed by the VDI interface signal, then the offset is not automatically applied when the VDI signal is reset.
  • Page 913 Synchronous Spindles (S3) Brief description 14.1.8 Monitoring of synchronous operation Fine/coarse synchronism In addition to conventional spindle monitoring operations, synchronous operation between the FS and LS is also monitored in synchronous mode. For this, IS "Synchronism fine" (DB31, ... DBX98.0) or IS "Synchronism coarse" (DB31, ... DBX98.1) is transmitted to the PLC to indicate whether the current position (AV, DV) or actual speed (VV) of the following spindle is within the specified tolerance window.
  • Page 914 Synchronous Spindles (S3) Brief description Figure 14-3 Synchronism monitoring with COUPON and synchronism test mark WAITC with synchronization on a turning leading spindle Threshold values The relevant position or velocity tolerance range for the following spindle in relation to the leading spindle must be specified in degrees or 1 rev/min.
  • Page 915 Synchronous Spindles (S3) Brief description Speed/acceleration limits In synchronous mode, the speed and acceleration limit values of the leading spindle are adjusted internally in the control in such a way that the following spindle can imitate its movement, allowing for the currently selected gear stage and effective speed ratio, without violating its own limit values.
  • Page 916 Synchronous Spindles (S3) Programming of synchronous spindle couplings 14.2 Programming of synchronous spindle couplings Table 14- 1 Overview Programmed coupling Configured coupling(s) Note Defining a coupling: Modification of configured data: Setting the coupling COUPDEF(FS, ...) COUPDEF(FS, ...) parameters Activation of a coupling: COUPON(FS, LS, POS Switching on and switching Activate and transfer a movement for coupling difference in speed: COUPONC(FS, LS)
  • Page 917 Synchronous Spindles (S3) Programming of synchronous spindle couplings Define new couplings Language instruction "COUPDEF" can be used to create new synchronous spindle couplings (user-defined) and to modify the parameters for existing couplings. When the coupling parameters are fully specified, the following applies: COUPDEF (FS, LS, Ü...
  • Page 918 Synchronous Spindles (S3) Programming of synchronous spindle couplings ● Coupling type DV (Desired Values): Setpoint coupling between FS and LS AV (Actual Values): Act.-val. coupl. between FS and LS VV (Velocity Values): Speed coupling between FS and LS If no coupling type is specified, then the currently selected type continues to apply. Note The coupling type may only be changed when synchronous operation is deactivated! Examples...
  • Page 919 Synchronous Spindles (S3) Programming of synchronous spindle couplings Activate original coupling parameters Language instruction "COUPRES" can be used to re-activate the configured coupling parameters. COUPRES (FS, LS) The parameters modified using COUPDEF (including the speed ratio) are subsequently deleted. Language instruction "COUPRES" activates the parameters stored in the machine and setting data (configured coupling) and activates the default settings (user-defined coupling).
  • Page 920 Synchronous Spindles (S3) Programming of synchronous spindle couplings 14.2.2 Programming instructions for activating and deactivating the coupling Activate synchronous mode Language instruction COUPON is used to activate couplings and synchronous mode. Two methods by which synchronous operation can be activated are available: 1.
  • Page 921 Synchronous Spindles (S3) Programming of synchronous spindle couplings If continuous path control (G64) is programmed, a non-modal stop is generated internally in the control. Examples: COUPDEF (S2, S1, 1.0, 1.0, "FINE, "DV") COUPON (S2, S1, 150) COUPOF (S2, S1, 0) COUPDEL (S2, S1) 1.
  • Page 922 Synchronous Spindles (S3) Programming of synchronous spindle couplings Read current angular offset The current position offset between the FS and LS can be read in the NC part program by means of the following axial system variables: ● Setpoint-based position offset between FS and LS: $AA_COUP_OFFS[<axial expression>] ●...
  • Page 923 Synchronous Spindles (S3) Programming of synchronous spindle couplings Automatic selection with COUPON and COUPONC Depending on the coupling type, the effect of COUPON and COUPONC on the position control for synchronous operation is as follows: Coupling type Following spindle FS Position control ON Position control ON No action...
  • Page 924 Synchronous Spindles (S3) Configuration of a synchronous spindle pair via machine data 14.3 Configuration of a synchronous spindle pair via machine data Coupling parameters One synchronous spindle coupling per NC channel can be configured permanently via channel-specific machine data. It is then necessary to define the machine axes (spindles) which are to be coupled and what characteristics this coupling should have.
  • Page 925 Synchronous Spindles (S3) Configuration of a synchronous spindle pair via machine data ● Aborting the coupling with NC start: channel-specific MD21330 $MC_COUPLE_RESET_MODE_1 ● Write-protection for coupling parameters: (channel-specific MD21340 $MC_COUPLE_IS_WRITE_PROT_1) It can be defined in this machine data whether or not the configured coupling parameters Speed ratio, Type of coupling and Block change response may be influenced by the NC part program.
  • Page 926 Synchronous Spindles (S3) Configuration of a synchronous spindle pair via machine data 14.3.2 Configuration of the behavior with Reset The following behavior can be set with the channel-specific machine data upon reset and end of NC machining program: Table 14- 3 Synchronous coupling behavior with end of NC machining program and after reset Configured coupling Programmed coupling *...
  • Page 927 Synchronous Spindles (S3) Special features of synchronous mode 14.4 Special features of synchronous mode 14.4.1 Special features of synchronous mode in general Control dynamics When using the setpoint coupling, the position control parameters of FS and LS (e.g. K factor) should be matched with one another. If necessary, different parameter blocks should be activated for speed control and synchronized mode.
  • Page 928 Synchronous Spindles (S3) Special features of synchronous mode Multiple couplings If the system detects that a coupling is already active for an FS and LS when synchronous mode is activated, then the activation process is ignored and an alarm message is generated.
  • Page 929 Synchronous Spindles (S3) Special features of synchronous mode 14.4.2 Restore synchronism of following spindle Causes for a positional offset When the coupling is reactivated after the drive enable signals have been canceled, a positional offset can occur between the leading and following spindles if follow-up mode is activated.
  • Page 930 Synchronous Spindles (S3) Special features of synchronous mode Resynchronize following spindle Resynchronization is started for the relevant following spindle and commences as soon as the low-high edge of following interface signal is detected: DB31, ... DBX31.4 (resynchronization) The NC acknowledges the detection of the edge by outputting the NC/PLC interface signal: DB31, ...
  • Page 931 Synchronous Spindles (S3) Special features of synchronous mode 14.4.3 Influence on synchronous operation via PLC interface PLC interface signals In synchronous operation, the influence of the PLC on the coupling resulting from the setting of LS and FS interface signals must be noted. The effect of the main PLC interface signals on the synchronous spindle coupling is described below.
  • Page 932 Synchronous Spindles (S3) Special features of synchronous mode If the "Servo enable" signal is not set for either of the spindles before synchronous operation is selected, synchronous operation is still activated when the coupling is switched on. The LS and FS however remain at a standstill until the servo enable signal is set for both of them. Set "servo enable"...
  • Page 933 Synchronous Spindles (S3) Special features of synchronous mode Spindle stop (Feed stop) (DB31, ... DBX4.3) When "Spindle stop" is set for the FS or LS, both coupled spindles are decelerated to standstill via a ramp, but continue to operate in synchronous mode. As soon as IS "Spindle STOP"...
  • Page 934 Synchronous Spindles (S3) Special features of synchronous mode Traverse keys for JOG (DB31, ... DBX4.6 and 4.7) The "plus and minus traversing keys" for JOG are not disabled in the control for the FS in synchronous operation, i.e. the FS executes a superimposed motion if one of these keys is pressed.
  • Page 935 Synchronous Spindles (S3) Special features of synchronous mode Figure 14-4 Schematic representation of process resulting in differential speed Example N01 M3 S500 ; S1 rotates positively at 500 rpm ; the master spindle is spindle 1 N02 M2=3 S2=300 ; S2 rotates positively at 300 rpm N05 G4 F1;...
  • Page 936 Synchronous Spindles (S3) Special features of synchronous mode Application Manufacturing operations with positioned leading spindle and rotating tools require exact synchronism with the counter spindle which then functions like a following spindle. A turret rotating about the following spindle allows parts to be machined with different tool types. The following diagram shows an application in which the tool is positioned parallel to the main spindle.
  • Page 937 Synchronous Spindles (S3) Special features of synchronous mode Activate coupling with COUPONC When the coupling is activated, the following spindle is accelerated, as before, to the leading spindle speed through application of the coupling factor. If the following spindle is already rotating (M3, M4) when the coupling is activated, it continues with this motion after coupling.
  • Page 938 Synchronous Spindles (S3) Special features of synchronous mode IS NCK to PLC Following spindle in speed-controlled operation The IS "Spindle in setpoint range" (DB31, ... is set for the following spindle by the NCK if the programmed speed (see example above N26 with M2=3 S2=100) is reached. If a differential speed is programmed and not enabled by the PLC, this VDI interface signal is not set.
  • Page 939 Synchronous Spindles (S3) Special features of synchronous mode Spindle override (DB31, ... DBB19) The "Spindle override" VDI interface (DB31, ... DBB19) only impacts on the speed component additionally programmed for the following spindle. If the spindle override switch is transferred to all axial inputs, then any change in the spindle override value is applied doubly to the following spindle: ●...
  • Page 940 Synchronous Spindles (S3) Special features of synchronous mode 14.4.5 Behavior of synchronism signals during synchronism correction Effect of synchronism correction New synchronism signals are produced by comparing the actual values with the corrected setpoints. Once a correction process has been undertaken, the synchronism signals should be present again.
  • Page 941 Synchronous Spindles (S3) Special features of synchronous mode ● Select the gear stage(s) of FS and LS for synchronous operation ● The following coupling properties are still applicable for permanently configured synchronous spindle coupling: – Block change response in synchronous spindle operation: MD21320 $MC_COUPLE_BLOCK_CHANGE_CTRL_1 –...
  • Page 942 Synchronous Spindles (S3) Special features of synchronous mode This feedforward control mode can be further optimized for a more secure symmetrization process by changing the axis-specific machine data: Machine data Description MD32810 EQUIV_SPEEDCTRL_TIME Equivalent time constant speed control loop for feedforward control MD37200 COUPLE_POS_TOL_COURSE Threshold value for "Coarse synchronism"...
  • Page 943 Synchronous Spindles (S3) Special features of synchronous mode Control parameter sets A separate parameter set with servo loop setting is assigned to each gear stage on spindles. These parameter sets can be used, for example, to adapt the dynamic response of the leading spindle to the following spindle in synchronous operation.
  • Page 944 Synchronous Spindles (S3) Special features of synchronous mode Knee-shaped acceleration characteristic For the leading spindle, the effect of a knee-shaped acceleration characteristic on the following spindle is identified by the following axis-specific machine data: MD35220 $MA_ACCEL_REDUCTION_SPEED_POINT (speed for reduced acceleration) and MD35230 $MA_ACCEL_REDUCTION_FACTOR (reduced acceleration).
  • Page 945 Synchronous Spindles (S3) Special features of synchronous mode Angular offset LS/FS If there must be a defined angular offset between the FS and LS, e.g. when synchronous operation is activated, the "zero degree positions" of the FS and LS must be mutually adapted.
  • Page 946 Synchronous Spindles (S3) Examples 14.5 Examples Programming example ; Leading spindle = master spindle = ; Following spindle = spindle 2 N05 M3 S3000 M2=4 S2=500 ; Master spindle rotates at 3000 rpm ; FS: 500/min. N10 COUPDEF (S2, S1, 1, 1, "No", ;...
  • Page 947 Synchronous Spindles (S3) Data lists 14.6 Data lists 14.6.1 Machine data 14.6.1.1 NC-specific machine data Number Identifier: $MN_ Description 10000 AXCONF_MACHAX_NAME_TAB Machine axis name 14.6.1.2 Channel-specific machine data Number Identifier: $MC_ Description 20070 AXCONF_MACHAX_USED Machine axis number valid in channel 21300 COUPLE_AXIS_1 Definition of synchronous spindle pair...
  • Page 948 Synchronous Spindles (S3) Data lists Number Identifier: $MA_ Description 37200 COUPLE_POS_TOL_COARSE Threshold value for "Coarse synchronism" 37210 COUPLE_POS_TOL_FINE Threshold value for "Fine synchronism" 37220 COUPLE_VELO_TOL_COARSE Speed tolerance "coarse" between leading and following spindles 37230 COUPLE_VELO_TOL_FINE Speed tolerance "fine" between leading and following spindles 14.6.2 Setting data...
  • Page 949 Synchronous Spindles (S3) Data lists 14.6.3.3 Signals to axis/spindle DB number Byte.Bit Description 31, ... Axis/spindle disable 31, ... Follow-up mode 31, ... 1.5/1.6 Position measuring system 1, position measuring system 2 31, ... Controller enable 31, ... Distance-to-go/Spindle RESET 31, ...
  • Page 950 Synchronous Spindles (S3) Data lists 14.6.4 System variables 14.6.4.1 System variables System variables Description $P_COUP_OFFS[following spindle] Programmed offset of the synchronous spindle $AA_COUP_OFFS[following spindle] Position offset for synchronous spindle (setpoint) $VA_COUP_OFFS[following spindle] Position offset for synchronous spindle (actual value) A more detailed description of system variables can be found in References: /PGA1/ Parameter Manual System Variables Extended Functions...
  • Page 951 Memory Configuration (S7) 15.1 Brief description Memory types To store and manage data, the NC requires a static memory and a dynamic memory: ● Static NC memory In the static NC memory, the program data (part programs, cycles, etc.) and the current system and user data (tool management, global user data, etc.) is saved to persistent memory.
  • Page 952 Memory Configuration (S7) Memory organization 15.2 Memory organization 15.2.1 Active and passive file system The static NC memory contains an active and passive file system. Active file system The active file system contains system data used to parameterize the NCK: ●...
  • Page 953 Memory Configuration (S7) Memory organization 15.2.2 Reconfiguration Reconfiguration The following actions result in the reconfiguration of the static and/or dynamic NC memory: ● Changing the settings of memory-configuration machine data: MD... $..._MM_... ● Changing the number of channels Protecting against loss of data NOTICE A reconfiguration of the static NC memory results in a loss of data on the active and passive file system.
  • Page 954 15.3 Configuration of the static user memory 15.3.1 Division of the static NC memory The figure below shows the division of the static NC memory for SINUMERIK 840D sl: Figure 15-1 Static NC memory for SINUMERIK 840D sl Extended Functions...
  • Page 955 The memory space for the passive file system has a defined size and is divided into the following partitions: Partition Storage of: S (Siemens = Control manufacturer) Files from the _N_CST_DIR directory (Siemens cycles) M (Manufacturer = Machine manufacturer) Files from the _N_CMA_DIR directory (Machine- manufacturer cycles) U (User = End customer)
  • Page 956 Memory Configuration (S7) Configuration of the static user memory Memory space for active file system The memory space for the active file system is divided into various data areas (tool management, global user data, etc.), which can be defined individually using machine data. The memory still available is shown in machine data: MD18060 $MN_INFO_FREE_MEM_STATIC (free-static-memory display data)
  • Page 957 Memory Configuration (S7) Configuration of the static user memory 15.3.2 Startup Procedure 1. Load standard machine data. 2. If you have selected the "Expansion of buffered CNC user memory" option: Activate the option. 3. Preset machine data: MD18230 $MN_MM_USER_MEM_BUFFERED with a high value (> default memory available + optional additional memory). 4.
  • Page 958 Memory Configuration (S7) Configuration of the dynamic user memory 15.4 Configuration of the dynamic user memory 15.4.1 Division of the dynamic NC memory The figure below shows the division of the dynamic NC memory: Figure 15-2 Dynamic NC memory Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 959 Memory Configuration (S7) Configuration of the dynamic user memory Dynamic user memory The dynamic NC memory is used jointly by the system and by the user. The area available to the user is defined as the dynamic user memory. Dynamic-user-memory size The size of the dynamic user memory is set in machine data: MD18210 $MN_MM_USER_MEM_DYNAMIC Changes are not usually required as an appropriate value is automatically set during the...
  • Page 960 Memory Configuration (S7) Data lists 15.5 Data lists 15.5.1 Machine data 15.5.1.1 General machine data Number Identifier: $MN_ Description 10134 MM_NUM_MMC_UNITS Number of simultaneous HMI communication partners 10850 MM_EXTERN_MAXNUM_OEM_GCODES Maximum number of OEM-G codes 10880 MM_EXTERN_CNC_SYSTEM Definition of the control system to be adapted 10881 MM_EXTERN_GCODE_SYSTEM ISO_3 Mode: GCodeSystem...
  • Page 961 Number of Siemens OEM tool data 18205 MM_TYPE_CCS_TDA_PARAM Siemens OEM tool data type 18206 MM_NUM_CCS_TOA_PARAM Number of Siemens OEM data per cutting edge 18207 MM_TYPE_CCS_TOA_PARAM Siemens OEM data type per cutting edge 18208 MM_NUM_CCS_MON_PARAM Number of Siemens OEM monitor data...
  • Page 962 Memory Configuration (S7) Data lists Number Identifier: $MN_ Description 18350 MM_USER_FILE_MEM_MINIMUM Minimum part-program memory 18352 MM_U_FILE_MEM_SIZE End-user memory for part programs/cycles/files 18353 MM_M_FILE_MEM_SIZE Memory size for cycles/files of the machine manufacturer 18354 MM_S_FILE_MEM_SIZE Memory size for cycles/files of the NC manufacturer 18355 MM_T_FILE_MEM_SIZE Memory size for temporary files...
  • Page 963 Memory Configuration (S7) Data lists Number Identifier: $MN_ Description 18662 MM_NUM_SYNACT_GUD_BOOL Number of configurable Boolean-type GUD variables 18663 MM_NUM_SYNACT_GUD_AXIS Number of configurable axis-type GUD variables 18664 MM_NUM_SYNACT_GUD_CHAR Configurable char-type GUD variable 18665 MM_NUM_SYNACT_GUD_STRING Configurable STRING-type GUD variable 18700 MM_SIZEOF_LINKVAR_DATA Size of the NCU link variable memory 18710 MM_NUM_AN_TIMER Number of global time variables for synchronized...
  • Page 964 Memory Configuration (S7) Data lists 15.5.1.2 Channel-specific machine data Number Identifier: $MC_ Description 20096 T_M_ADDRESS_EXIT_SPINO Spindle number as address extension 27900 REORG_LOG_LIMIT Percentage of IPO buffer for log-file enable 28000 MM_REORG_LOG_FILE_MEM Memory size for REORG 28010 MM_NUM_REORG_LUD_MODULES Number of modules for local user variables with REORG 28020 MM_NUM_LUD_NAMES_TOTAL...
  • Page 965 Memory Configuration (S7) Data lists Number Identifier: $MC_ Description 28300 MM_PROTOC_USER_ACTIVE Activate logging for a user 28301 MM_PROTOC_NUM_ETP_OEM_TYP Number of ETP OEM event types 28302 MM_PROTOC_NUM_ETP_STD_TYP Number of ETP standard event types 28400 MM_ABSBLOCK Activate block display with absolute values 28402 MM_ABSBLOCK_BUFFER_CONF Dimension size of upload buffer...
  • Page 966 Memory Configuration (S7) Data lists Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 967 Indexing Axes (T1) 16.1 Brief description Indexing axes in machine tools In certain applications, the axis is only required to approach specific grid points (e.g. location numbers). It is necessary to approach the defined grid points, the indexing positions, both in AUTOMATIC and set-up mode.
  • Page 968 Indexing Axes (T1) Traversing of indexing axes 16.2 Traversing of indexing axes 16.2.1 General information Indexing axes can be traversed: ● Manually in the setting-up modes JOG and INC ● from one part program with special instructions for coded positions ●...
  • Page 969 Indexing Axes (T1) Traversing of indexing axes Continuous traversal in JOG ● Jog mode active: SD41050 $SN_JOG_CONT_MODE_LEVELTRIGGRD = 1 Pressing a "+" or "-" traversing key causes the indexing axis to move in the same way as with conventional JOG traversing. When the traversing key is released, the indexing axis traverses to the next indexing position in the direction of traversing.
  • Page 970 Indexing Axes (T1) Traversing of indexing axes Signal from PLC "Indexing axis in position" During the traversing motion of the indexing axis in the JOG mode, the following NC/PLC interface signal displays the reaching of the indexing position: DB31, ... DBX76.6 (indexing axis in position) Prerequisite: The indexing axis is referenced (DB31, ...
  • Page 971 Indexing Axes (T1) Traversing of indexing axes 16.2.3 Traversing of indexing axes in the AUTOMATIC mode Traversal to selected positions An axis defined as an indexing axis can be made to approach any selected position from the NC part program in AUTOMATIC mode. This includes positions between the defined indexing positions.
  • Page 972 Indexing Axes (T1) Traversing of indexing axes 16.2.4 Traversing of indexing axes by PLC Indexing axes can also be traversed from the PLC user program. There are various methods: ● Concurrent positioning axes The indexing position to be approached can be specified by the PLC. References: /FB2/ Function Manual, Extended Functions;...
  • Page 973 Indexing Axes (T1) Parameterization of indexing axes 16.3 Parameterization of indexing axes Definition of the indexing axis An axis (linear or rotary axis) can be defined as indexing axis with the axial machine data: MD30500 $MA_INDEX_AX_ASSIGN_POS_TAB Value Description The axis is not declared as an indexing axis. The axis is an indexing axis.
  • Page 974 Indexing Axes (T1) Parameterization of indexing axes Valid measuring system The indexing positions defined with MD10900 and MD10920 are related to the measuring system configured for position tables: MD10270 $MN_POS_TAB_SCALING_SYSTEM Value Measuring system Metric inch Note MD10270 has an effect on the following setting data: SD41500 $SN_SW_CAM_MINUS_POS_TAB_1 (switching point for falling cam edge 1-8) SD41507 $SN_SW_CAM_PLUS_POS_TAB_4 (switching point for rising cam edge 25-32) Entry for indexing positions...
  • Page 975 Indexing Axes (T1) Programming of indexing axes 16.4 Programming of indexing axes Coded position To allow indexing axes to be positioned from the NC part program, special instructions are provided with which the indexing numbers (e.g. location numbers) are programmed instead of axis positions in mm or degrees.
  • Page 976 Indexing Axes (T1) Programming of indexing axes Programming Comment POS[B]=CIC(-4) ; Indexing axis B traverses four indexing positions incrementally from its current position. in a negative direction. Programming Comment POS[B]=CIC(35) ; Indexing axis B traverses 35 indexing positions incrementally from its present position in a positive direction.
  • Page 977 Indexing Axes (T1) Programming of indexing axes Value Description The indexing position changes when the indexing position is reached ("exact stop fine" window) and remains unchanged until the next indexing position is reached. The indexing area thus begins at one indexing position and ends in front of the next indexing position.
  • Page 978 Indexing Axes (T1) Programming of indexing axes Programmed indexing position Displayed indexing position ESFW "Exact stop fine" window Figure 16-2 Indexing position displays: Modulo rotary axis Value range of $AA_ACT_INDEX_AX_POS_NO Expected value ranges of system variables $AA_ACT_INDEX_AX_POS_NO: Indexing positions from table Modulo rotary axis 1 ...
  • Page 979 Indexing Axes (T1) Programming of indexing axes Traversing to the next indexing position The response to the "Travel to the next indexing position" command depends on the setting in machine data: MD10940 $MN_INDEX_AX_MODE (settings for indexing position) Value Description The next indexing position is approached. The next indexing position in the direction of motion is always approached.
  • Page 980 Indexing Axes (T1) Equidistant index intervals 16.5 Equidistant index intervals 16.5.1 Function General information The following exist: ● Any number of equidistant index intervals ● Modified action of MD for indexing axes Equidistant index intervals can be used for: ● Linear axes ●...
  • Page 981 Indexing Axes (T1) Equidistant index intervals Linear axis Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 982 Indexing Axes (T1) Equidistant index intervals Modulo rotary axis Activating The functions with equi-distant indexing for an axis (linear axis, modulo rotary axis or rotary axis) is activated in the following settings MD30500 $MA_INDEX_AX_ASSIGN_POS_TAB[axis] = 3 16.5.2 Hirth tooth system Function With Hirth tooth systems, positions of rotation on a rotary axis are usually interlocked using a latch or other toothed wheel via a linear axis.
  • Page 983 Indexing Axes (T1) Equidistant index intervals Activation The following machine data must be set to 1: MD30505 $MA_HIRTH_IS_ACTIVE The machine data must be set to 3 (equidistant indexing positions): MD30500 $MA_INDEX_AX_ASSIGN_POS_TAB Activation ● The rotary axis can only approach indexing positions in all modes and operating states. ●...
  • Page 984 Indexing Axes (T1) Equidistant index intervals Command axes If MOV = 0 is specified for a moving command axis, the axis continues traversing to the next possible indexing position. References: /FBSY/ Function Manual, Synchronized Actions MOV command MOV = 1 Works on indexing axes with and without Hirth tooth system.
  • Page 985 Indexing Axes (T1) Equidistant index intervals Couplings A Hirth tooth system axis can never be one of the following axis types: ● following axis with master value coupling ● coupled-motion axis ● gantry following axis References: /FB3/ Function Manual, Special Functions; Coupled axes and ESR (M3) 16.5.5 Modified activation of machine data RESET...
  • Page 986 Indexing Axes (T1) Starting up indexing axes 16.6 Starting up indexing axes Procedure The procedure for starting up indexing axes is identical to normal NC axes (linear and rotary axes). Rotary axis If the indexing axis is defined as a rotary axis (MD30300 $MA_IS_ROT_AX = "1") with modulo 360°...
  • Page 987 Indexing Axes (T1) Starting up indexing axes Machine data examples The assignment of the above machine data is described in the following paragraphs using two examples. Example of indexing axis as rotary axis Tool turret with 8 locations. The tool turret is defined as a continuously rotating rotary axis. The distances between the 8 turret locations are constant.
  • Page 988 Indexing Axes (T1) Starting up indexing axes Example of indexing axis as linear axis Workholder with 10 locations. The distances between the 10 locations are different. The first location is at position -100 Figure 16-4 Example: Workholder as an indexing axis The indexing positions for the workholder are entered in table 2: MD10930 $MN_INDEX_AX_POS_TAB_2[0] = -100 1st indexing position at -100...
  • Page 989 Indexing Axes (T1) Special features of indexing axes 16.7 Special features of indexing axes An additional incremental work offset can also be generated for indexing axes in AUTOMATIC mode with the handwheel using the DRF function. Software limit switch The software limit switches are also effective during traversing movements once the indexing axis has been referenced.
  • Page 990 Indexing Axes (T1) Examples 16.8 Examples 16.8.1 Examples of equidistant indexes Modulo rotary axis MD30502 $MA_INDEX_AX_DENOMINATOR[AX4] =18 MD30503 $MA_INDEX_AX_OFFSET[AX4]=5 MD30500 $MA_INDEX_AX_ASSIGN_POS_TAB[AX4] = 3 MD30300 $MA_IS_ROT_AX[AX4] = TRUE MD30310 $MA_ROT_IS_MODULO[AX4] = TRUE With the machine data above, axis 4 is defined as a modulo rotary axis and an indexing axis with equidistant positions every 20°...
  • Page 991 Indexing Axes (T1) Examples Linear axis MD30501 $MA_INDEX_AX_NUMERATOR[AX1] = 10 MD30502 $MA_INDEX_AX_DENOMINATOR[AX1] =1 MD30503 $MA_INDEX_AX_OFFSET[AX1]=-200 MD30500 $MA_INDEX_AX_ASSIGN_POS_TAB[AX1] = 3 MD30300 $MA_IS_ROT_AX[AX1] = FALSE MD36100 $MA_POS_LIMIT_MINUS[AX1]=-200 MD36110 $MA_POS_LIMIT_PLUS[AX1]=200 With the machine data above, axis 4 is defined as a linear axis and an indexing axis with equidistant positions every 10 mm starting at -200 mm.
  • Page 992 Indexing Axes (T1) Data lists 16.9 Data lists 16.9.1 Machine data 16.9.1.1 General machine data Number Identifier: $MN_ Description 10260 CONVERT_SCALING_SYSTEM Basic system switchover active 10270 POS_TAB_SCALING_SYSTEM System of measurement of position tables 10900 INDEX_AX_LENGTH_POS_TAB_1 Number of positions for indexing axis table 1 10910 INDEX_AX_POS_TAB_1[n] Indexing position table 1...
  • Page 993 Indexing Axes (T1) Data lists 16.9.2 Setting data 16.9.2.1 General setting data Number Identifier: $SN_ Description 41050 JOG_CONT_MODE_LEVELTRIGGRD JOG continuous in inching mode 16.9.3 Signals 16.9.3.1 Signals from axis/spindle DB number Byte.bit Description 31, ... 60.4, 60.5 Referenced/synchronized 1, referenced/synchronized 2 31, ...
  • Page 994 Indexing Axes (T1) Data lists Extended Functions Function Manual, 03/2009, 6FC5397-1BP10-4BA0...
  • Page 995 Tool Change (W3) 17.1 Brief description Tool change CNC-controlled machine tools are equipped with tool magazines and automatic tool change facility for the complete machining of workpieces. Sequence The procedure for changing tools comprises three steps: 1. Movement of the tool carrier from the machining position to the tool change position 2.
  • Page 996 Tool Change (W3) Tool magazines and tool change equipments 17.2 Tool magazines and tool change equipments Tool magazines and tool changing equipment are selected according to the machine type: Machine type Tool magazine Tool change equipment Turning machines Turret No special tool change equipment. (disk, flat, inclined) The tool is changed by turning the turret...
  • Page 997 Tool Change (W3) Starting the tool change 17.5 Starting the tool change Variants The tool change can be actuated by: ● T function ● M command (preferably M06). Parameter setting Which control versions should be effective is defined with the machine data: MD22550 $MC_TOOL_CHANGE_MODE Value Description...
  • Page 998 Tool Change (W3) Tool change point 17.6 Tool change point Tool change point The selection of the tool change point has a significant effect on the Cut-to-cut time (Page 996). The tool change point is chosen according to the machine tool concept and, in certain cases, according to the current machining task.
  • Page 999 Tool Change (W3) Examples 17.8 Examples Milling machine The following example shows a typical cut-to-cut sequence of operations for a tool change with a tool changer and a fixed absolute tool change point on a milling machine. Machining program: N970 G0 X= Y= Z= LF ;...
  • Page 1000 Tool Change (W3) Examples Axes stationary. Spindle rotates. Start of tool change cycle in N10. Move axes to tool change point with G75 in N20. Spindle reaches programmed position from block N10. Axes reach exact stop coarse from N20; N30 thus begins: M06 removes the previous tool from the spindle and loads and clamps the new tool.

This manual is also suitable for:

Sinumerik 840de sl

Table of Contents