"Index offset" specification for axis functions (Index group 0x4200 + ID)

Index offset (Hex)

Access

Axis type

Data type

Phys. unit

Definition range

Description

Note

0x00000001

Write

every

VOID

 

 

Reset axis

For FIFO axes too!

0x00000002

Write

every

VOID

 

 

Stop axis

For FIFO axes too!

0x00000003

Write

every

VOID

 

 

Clear axis (task)

For FIFO axes too!

0x00000004

Write

every

{

 

 

Emergency stop (with controlled ramp)

Only for PTP axes!

REAL64

e.g. mm/s^2

> 0.0

Deceleration (must be greater than or equal to the original deceleration)

REAL64

e.g. mm/s^3

> 0.0

Jerk (must greater than or equal to the original jerk)

}

 

 

 

0x00000005

Write

PTP axis

{

 

 

Parameterizable stop (with controlled ramp)

Only for PTP axes!

Reserved function,
no standard!

REAL64

e.g. mm/s^2

> 0.0

Deceleration

REAL64

e.g. mm/s^3

> 0.0

Jerk

}

 

 

 

0x00000009

Write

PTP axis

{

 

 

Oriented stop (oriented end position)

Only for PTP axes!

REAL64

e.g. degrees

≥ 0.0

Modulo end position (modulo target position)

REAL64

e.g. mm/s^2

> 0.0

Deceleration (currently not active)

REAL64

e.g. mm/s^3

> 0.0

Jerk (not yet implemented)

}

 

 

 

 

 

 

 

 

 

 

 

0x00000010

Write

every

VOID

 

 

Reference axis ("calibration")

 

0x00000011

Write

every

{

 

 

New end position axis

Modified from TwinCAT 3

UINT32

ENUM

s. appendix

End position type (see appendix)

UINT32

 

 

Reserve (TwinCAT 3)

REAL64

e.g. mm

±∞

New end position (target position)

}

 

 

 

0x00000012

Write

every

{

 

 

New end position and new velocity axis

 

UINT32

ENUM

s. appendix

Command type (s. appendix)

UINT32

ENUM

s. appendix

End position type (see appendix)

REAL64

e.g. mm

±∞

New end position (target position)

REAL64

e.g. mm/s

≥ 0.0

New final velocity (requested travel velocity)

REAL64

e.g. mm

±∞

Optional: Switchover position from which the new travel profile is activated

}

 

 

 

0x00000015

Write

every

{

 

 

New dynamic parameters for active positioning

 

REAL64

e.g. mm/s^2

> 0.0

Acceleration

REAL64

e.g. mm/s^2

> 0.0

Deceleration

REAL64

e.g. mm/s^3

> 0.0

Optional: Jerk (not yet implemented)

}

 

 

 

0x00000016

ReadWrite

every SERVO

Write(80 bytes)

 

 

Universal Axis Start (UAS):
Merge of single commands, such as axis start, and online changes in combination with "Buffer Mode" (see TcMc2.lib)

Always to SEC Port 501!

Modified from TwinCAT 3

{

 

 

 

 

UINT32

ENUM

s. appendix

Start type (s. appendix)

 

UINT32

1

≥ 0

Bit mask for checks and operation modes
(Default value: 0)

 

REAL64

e.g. mm

±∞

End position (target position)

 

REAL64

e.g. mm/s

≥ 0.0

Required velocity Vrequ

 

REAL64

e.g. mm/s^2

≥ 0.0

Optional: Acceleration

 

REAL64

e.g. mm/s^2

≥ 0.0

Optional: Deceleration

 

REAL64

e.g. mm/s^3

≥ 0.0

Optional: Jerk

 

UINT32

ENUM

s. appendix

Buffer mode (command buffer)

 

UINT32

 

 

Reserve (TwinCAT 3)

 

REAL64

e.g. mm

±∞

Optional: Blending position (command blending position)

 

REAL64

e.g. mm/s

≥ 0.0

Optional: Initial segment velocity Vi
(0 ≤ Vi ≤ Vrequ)

 

REAL64

e.g. mm/s

≥ 0.0

Optional: Segment end velocity Vf
(0 ≤ Vf ≤ Vrequ)

 

}

 

 

 

 

Read

 

 

 

 

{

 

 

 

 

UINT16

1

≥ 0

Command number (job number)

 

UINT16

1

≥ 0

Command status

 

}

 

 

 

 

0x00000017

ReadWrite

SERVO

Write(80 bytes)

 

 

"Master/slave decoupling" and "Universal axis start (UAS)":

Merge of decoupling command of a slave axis (IdxOffset: 0x00000041) and the subsequent universal axis start (UAS) (IdxOffset: 0x00000016)

Not yet released!

{

 

 

 

 

UINT32

ENUM

s. appendix

Start type (s. appendix)

 

UINT32

1

≥ 0

Bit mask for checks and operation modes (Default value: 0)

 

REAL64

e.g. mm

±∞

End position (target position)

 

REAL64

e.g. mm/s

≥ 0.0

Required velocity Vrequ

 

REAL64

e.g. mm/s^2

≥ 0.0

Acceleration

 

REAL64

e.g. mm/s^2

≥ 0.0

Deceleration

 

REAL64

e.g. mm/s^3

≥ 0.0

Jerk

 

UINT32

ENUM

s. appendix

Buffer mode (command buffer)

 

UINT32

 

 

Reserve (TwinCAT 3)

 

REAL64

e.g. mm

±∞

Optional: Blending position (command blending position)

 

REAL64

e.g. mm/s

≥ 0.0

Optional: Initial segment velocity Vi
(0 ≤ Vi ≤ Vrequ)

 

REAL64

e.g. mm/s

≥ 0.0

Optional: Segment end velocity Vf
(0 ≤ Vf ≤ Vrequ)

 

}

 

 

 

 

Read

 

 

 

 

{

 

 

 

 

UINT16

1

≥ 0

Command number (job number)

 

UINT16

1

≥ 0

Command status

 

}

 

 

 

 

0x00000018

Write

every

VOID

 

 

Release axis lock for motion commands (TcMc2)

 

0x00000019

Write

every

UINT32

1

> 0

Set external axis error (runtime error)

Caution when using!

0x00n0001A

Write

every

{

 

 

Set actual axis position

Caution when using!

For FIFO axes too!

Always to SEC Port 501!

Modified from TwinCAT 3

UINT32

ENUM

s. appendix

Actual position type (see appendix)

UINT32

 

 

Reserve (TwinCAT 3)

REAL64

e.g. mm

±∞

Actual position for axes n = 0: standard encoder of the axis

n > 0: n-th encoder for the axis (optional)

}

 

 

 

0x00n0001B

Write

every

UINT32

1

0/1

Set reference flag ("calibrate flag")

n = 0: Standard encoder for the axis

n > 0: n-th encoder for the axis (optional)

Caution when using!

For FIFO axes too!

0x00n0001C

Write

SERVO

{

 

 

Set only actual axis position without manipulating the set position (also for slave and with active process)

Caution when using!

UINT32

ENUM

s. appendix

Actual position type (see appendix)

REAL64

e.g. mm

±∞

Actual position for axes n = 0: standard encoder of the axes > 0: nth encoder of the axis (optional)

Caution when using!

}

 

 

 

0x00n0001D

Write

every

{

 

 

Actual value setting of the axis on the drive side
(position interface and encoder offset of zero assumed!)

n = 0: Standard encoder for the axis

n > 0: n-th encoder for the axis (optional)

Caution when using!

Only for CANopen!

UINT32

ENUM

s. appendix

Actual position type (see appendix)

REAL64

e.g. mm

±∞

Actual position for axis

}

 

 

 

0x00n0001E

Write

every

{

 

 

Set a new encoder scaling factor on the fly (in motion of the axis)

Caution when using!

Always to SEC Port 501!

Modified from TwinCAT 3

UINT16

ENUM

1

Encoder scaling factor type

1: Absolute

2: Relative

UINT16

 

 

ControlWord

UINT32

 

 

Reserve (TwinCAT 3)

REAL64

e.g. mm/INC

[1.0E-8 ... 100.0]

New encoder scaling factor
n = 0: Standard encoder for the axis

n > 0: n-th encoder for the axis (optional)

}

 

 

 

0x00n0001F

Write

every

{

 

 

Set actual axis position on the fly (in motion of the axis)

Caution when using!

Always to SEC Port 501!

UINT32

ENUM

 

Position type for setting actual value on the fly

1: Absolute

2: Relative

UINT32

1

 

Control double word, e.g. for "clearing the lag error"

REAL64

 

 

Reserve

REAL64

e.g. mm

±∞

New actual axis position

UINT32

 

 

Reserve

UINT32

 

 

Reserve

}

 

 

 

 

 

 

 

 

 

 

 

0x00000020

Write

every 1D start

{

 

 

Standard axis start:

Modified from TwinCAT 3

UINT32

ENUM

s. appendix

Start type (s. appendix)

UINT32

 

 

Reserve (TwinCAT 3)

REAL64

e.g. mm

±∞

End position (target position)

REAL64

e.g. mm/s

≥0.0

Required velocity

}

 

 

 

0x00000021

Write

every 1D start

{

 

 

Extended axis start (SERVO):

Modified from TwinCAT 3

UINT32

ENUM

s. appendix

Start type (s. appendix)

UINT32

 

 

Reserve (TwinCAT 3)

REAL64

e.g. mm

±∞

End position (target position)

REAL64

e.g. mm/s

≥ 0.0

Required velocity

UINT32

0/1

0/1

Standard acceleration?

UINT32

 

 

Reserve (TwinCAT 3)

REAL64

e.g. mm/s^2

≥ 0.0

Acceleration

UINT32

0/1

0/1

Standard deceleration?

UINT32

 

 

Reserve (TwinCAT 3)

REAL64

e.g. mm/s^2

≥ 0.0

Deceleration

UINT32

0/1

0/1

Standard jerk?

UINT32

 

 

Reserve (TwinCAT 3)

REAL64

e.g. mm/s^3

≥ 0.0

Jerk

}

 

 

 

0x00000022

Write

SERVO(MW)

{

 

 

Special axis start (SERVO):

Reserved start function, no standard!

Modified from TwinCAT 3

UINT32

ENUM

s. appendix

Start type (s. appendix)

UINT32

 

 

Reserve (TwinCAT 3)

REAL64

e.g. mm

±∞

End position (target position)

REAL64

mm/s

≥ 0.0

Required start velocity

REAL64

e.g. mm

±∞

Position for a new velocity level

REAL64

e.g. mm/s

≥ 0.0

New end velocity level

UINT32

0/1

0/1

Standard acceleration?

UINT32

 

 

Reserve (TwinCAT 3)

REAL64

e.g. mm/s^2

≥ 0.0

Acceleration

UINT32

0/1

0/1

Standard deceleration?

UINT32

 

 

Reserve (TwinCAT 3)

REAL64

e.g. mm/s^2

≥ 0.0

Deceleration

UINT32

0/1

0/1

Standard jerk?

UINT32

 

 

Reserve (TwinCAT 3)

REAL64

e.g. mm/s^3

≥ 0.0

Jerk

}

 

 

 

0x00000023

Write

SERVO

{

 

 

Start external setpoint specification (setting by cyclic axis interface PLCtoNC)

Modified from TwinCAT 3

UINT32

ENUM

1: Absolute

2: Relative

Start type

UINT32

 

 

Reserve (TwinCAT 3)

REAL64

e.g. mm

±∞

New end position (target position) optional!

REAL64

 

 

Reserve (TwinCAT 3)

}

 

 

 

0x00000024

Write

SERVO

VOID

 

 

Stop/disable external setpoint specification
(cycl. axis interface PLCtoNC)

 

0x00000025

Write

SERVO

{

 

 

Start reversing operation for positioning (SERVO):

Modified from TwinCAT 3

UINT32

ENUM

1

Start type (default: 1)

UINT32

 

 

Reserve (TwinCAT 3)

REAL64

e.g. mm

±∞

End position 1 (target position)

REAL64

e.g. mm

±∞

End position 2 (target position)

REAL64

0/1

0/1

Required velocity

REAL64

s

≥ 0.0

Idle time

}

 

 

 

0x00000026

Write

every

{

 

 

Start drive output

Modified from TwinCAT 3

UINT32

ENUM

s. appendix

Output type (s. appendix)

UINT32

 

 

Reserve (TwinCAT 3)

REAL64

e.g. %

±∞

Required output value (e.g. %)

}

 

 

 

0x00000027

Write

every

VOID

 

 

Stop drive output

 

0x00000028

Write

every

{

 

 

Change the drive output:

 

UINT32

ENUM

s. appendix

Output type (s. appendix)

REAL64

e.g. %

±∞

Required output value (e.g. %)

}

 

 

 

0x00000029

Write

every

VOID

 

 

Instantaneously adopt current override value and freeze until next override change!

Reserved function, no standard!

0x0000002A

Write

every

{
32 bytes
}

 

 

Calculate and set encoder offset

Reserved function, no standard!

0x0000002B

ReadWrite

every

WriteData: s. 'UAS'
ReadData: s. 'UAS'

 

 

Stop external setpoint generator and continuous endless motion ('UAS': Universal axis start)

Reserved function, no standard!

0x0000002C

Write

every

UINT32

 

≥ 0

Set "homing state" (for internal use)

New from TwinCAT 3

0x0000002D

ReadWrite

Servo

Write

 

 

Switches an NC-controlled axis to "Cyclic Synchronous Torque Mode" (CST) and sets a torque setpoint for it.

Danger during use!
(* see end of table)

 

{

 

 

 

UINT32

 

 

Torque-axis start type:

0x3001: Absolute

0x3002: Relative

UINT32

1 (bit array)

 

Internal control mask (bit array):

00000000_00000001 (bit 0): Use manual torque for initialization.

10000000_000000000 (bit 31): Update/refresh parameter for current command in 'ContinuousUpdate' mode (fTorqueRamp, fVelocityLimitHigh, fVelocityLimitLow), do not increase cmd no.

UINT32

0/1

0/1

Mode:

0: Default (discrete)

1: ContinuousUpdate

UINT32

ENUM

see appendix

Buffer mode only ABORTING possible

REAL64

Nm or %

[0.0 … 1.0E10]

Torque target value (signed value)

REAL64

Nm/s or %/s

[0.0 … 1.0E10]

Torque change velocity

REAL64

e.g. mm/s

[0.0 ... 1.0E10]
'VelocityLimitHigh' must be greater than or equal to 'VelocityLimitLow' (both values can be negative).

Velocity limit high

REAL64

e.g. mm/s

[0.0 … 1.0E10]

Velocity limit low

REAL64

e.g. mm/s^2

[0.0 … 1.0E10]

Acceleration

REAL64

e.g. mm/s^2

[0.0 … 1.0E10]

Deceleration

REAL64

Nm or %

[0.0 … 1.0E10]

Optional: Manual torque start value (sync value)

}

 

 

 

Read

 

 

 

{

 

 

 

UINT16

1

>=0

Command number (job number)

UINT16

1

>=0

Command status

}

 

 

 

0x0000002E

 

 

 

 

 

Reserved

 

0x0000002F

 

 

 

 

 

Reserved

 

 

 

 

 

 

 

 

 

0x00000030

Write

SERVO

{

 

 

Start section compensation (SERVO)

Only affects older TwinCAT 2 systems

UINT32

ENUM

s. appendix

Compensation type (see appendix)

UINT32

 

 

Reserve (TwinCAT 3)

REAL64

e.g. mm/s^2

≥ 0.0

Max. acceleration increase

REAL64

e.g. mm/s^2

≥ 0.0

Max. deceleration increase

REAL64

e.g. mm/s

> 0.0

Max. increase velocity

REAL64

e.g. mm/s

> 0.0

Base velocity for the process

REAL64

e.g. mm

±∞

Path difference to be compensated

REAL64

e.g. mm

> 0.0

Path distance for compensation

}

 

 

 

0x00000030

ReadWrite

SERVO returns the actually implemented parameters as return values

{
READ+WRITE:

 

 

Start section compensation (SERVO)
Note: only contained in 'TcMc2.lib' or 'Tc2_MC2.library'

Changed from

TwinCAT 2 211R3

TwinCAT 3

UINT32

ENUM

s. appendix

Compensation type (see appendix)

UINT32

 

 

Reserve (TwinCAT 3)

REAL64

e.g. mm/s^2

≥ 0.0

=> Max. acceleration increase

<= Returns the implemented acceleration increase (new in 'TcMc2.lib' or 'Tc2_MC2.library')

REAL64

e.g. mm/s^2

≥ 0.0

=> Max. deceleration increase

<= Returns the implemented deceleration increase (new in 'TcMc2.lib' or 'Tc2_MC2.library')

REAL64

e.g. mm/s

> 0.0

=> Requested max. increase velocity

<= Returns the implemented increase velocity

REAL64

e.g. mm/s

> 0.0

Base velocity for the process

REAL64

e.g. mm

±∞

=> Requested path difference to be compensated

<= Returns the implemented path difference

REAL64

e.g. mm

> 0.0

=> Requested max. distance for compensation

<= Returns implemented distance

UINT32

1

≥ 0

<= Returns Warning ID (e.g. 0x4243)

UINT32

 

 

Reserve (TwinCAT 3)

}

 

 

 

0x00000031

Write

SERVO

VOID

 

 

Stop section compensation (SERVO)

 

0x00000032

Write

SERVO

{

 

 

Start reversing operation with velocity jumps (SERVO):

(can be used to determine the velocity step response)

Modified from TwinCAT 3

UINT32

ENUM

1

Start type (default: 1)

UINT32

 

 

Reserve (TwinCAT 3)

REAL64

e.g. mm/s

±∞

Required velocity 1
(negative values also permitted)

REAL64

e.g. mm/s

±∞

Required velocity 2
(negative values also permitted)

REAL64

s

> 0.0

Travel time for velocity 1 and 2

REAL64

s

≥ 0.0

Idle time

UINT32

1

0, 1,2,3...

Optional: Number of repetitions,
Default "0": unlimited in time

UINT32

 

 

Reserve (TwinCAT 3)

}

 

 

 

0x00000033

Write

SERVO

{

 

 

Sine oscillation sequence

- used as single sinus oscillation (sinus generator)

- used as sinus oscillation sequence (e.g. for bode plot)

Modified from TwinCAT 3

UINT32

ENUM

1

Start type (fixed to start type 1 yet)

UINT32

 

 

Reserve (TwinCAT 3)

REAL64

e.g. mm/s

> 0.0

Base amplitude (e.g. 2.5 mm/s)

REAL64

Hz

[0.0 .... 10.0]

Base frequency (e.g. 1.953125 Hz)

REAL64

e.g. mm/s

≥ 0.0

Start amplitude at begin (e.g. 0.0 mm/s)

REAL64

e.g. mm/REV

> 0.0

Feed constant motor (per motor turn) (e.g. 10.0 mm/REV)

REAL64

Hz

≥ 1.0

Frequency range: start frequency (e.g. 20.0 Hz)

REAL64

Hz

≤ 1/(2*dT)

Frequency range: stop frequency (e.g. 500.0 Hz)

REAL64

s

> 0.0

Step duration (e.g. 2,048s)

UINT32

1

[1 ... 200]

Number of measurements (step cycles) (e.g. 20)

UINT32

1

 

Number of parallel measurements (e.g. 1) not used yet!

}

 

 

 

0x00000034

Write

SERVO

{

 

 

Phasing

- Start Phasing

- Stop Phasing

 

UINT32

ENUM

1

PhasingType:

1: ABSOLUTE
2: RELATIVE
4096: STOP

UINT32

1

≥ 0

Control Mask

Bit 0: Continuous Update

UINT32

1

≥ 0

Master axis ID
(for multi master)

UINT32

 

 

Reserve

REAL64

e.g. mm

±∞

Phase shift

REAL64

e.g. mm/s

> 0.0

Velocity

REAL64

e.g. mm/s^2

≥ 0.0

Acceleration

REAL64

e.g. mm/s^2

≥ 0.0

Deceleration

REAL64

e.g. mm/s^3

≥ 0.0

Jerk

REAL64[4]

 

 

Reserve

UINT32

 

 

Reserve

UINT32

1

ENUM

Buffer mode
(NOT IMPLEMENTED)

REAL64

e.g. mm

±∞

Blending position
(NOT IMPLEMENTED)

}

 

 

 

0x00n0003B

Write

PTP axis
Encoder axis

VOID

 

 

Triggers NC encoder reinitilization to valid IO values

n = 0: Standard encoder of the axis

n > 0: n-th encoder of the axis (optional)

Danger during use!
There must be no controller enable (position jump)

The axis status index offset 0x00n10018 can be used to read out whether NC encoder reinitilization has been completed.

Port 501

0x00000040 (0x00n00040)

Write

Master/Slave coupling (SERVO)

{

 

 

Master/Slave coupling (SERVO):

Extension for "flying saw"!

Angle >0.0 and £ 90.0 degrees (parallel saw: 90.0 degrees)

UINT32

ENUM

s. appendix

Slave type/coupling type (see appendix)

UINT32

1

[1...255]

Axis ID of the master axis/group

UINT32

1

[0...8]

Subindex n of the master axis (default: value: 0)

UINT32

1

[0...8]

Subindex n of the slave axis (default: value: 0)

REAL64

1

[±1000000.0]

Parameter 1: Linear: Gear ratio

FlySawVelo: Reserve

FlySaw: Abs. synchron position master [mm]

REAL64

1

[±1000000.0]

Parameter 2:Linear: Reserve

FlySawVelo: Reserve

FlySawPos: Abs. synchron position slave [mm]

REAL64

1

[±1000000.0]

Parameter 3: Linear: Reserve

FlySawVelo: Angle of inclination in [DEGREES]

FlySawPos: Angle of inclination in [DEGREES]

REAL64

1

[±1000000.0]

Parameter 4:Linear: Reserve

FlySawVelo: Gear ratio

FlySawPos: Gear ratio

}

 

 

 

0x00000040 (0x00n00040)

Write

Master/Slave coupling (SERVO)

{

 

 

Master/Slave coupling (SERVO):

Multi master coupling
(MC_GearInMultiMaster)

Version V1 and V2

Modified from TwinCAT 3

UINT32

ENUM

s. appendix

Slave type/coupling type (see appendix)

UINT32

1

[1...255]

Axis ID of the master axis/group

UINT32

1

[1...8]

Subindex n of the master axis (default: value: 0)

UINT32

1

[1...8]

Subindex n of the slave axis (default: value: 0)

UINT32

1

[0...255]

Axis ID master 2

UINT32

1

[0...255]

Axis ID master 3

UINT32

1

[0...255]

Axis ID master 4

UINT32

1

[0...255]

Reserve (axis ID master 5)

UINT32

1

[0...255]

Reserve (axis ID master 6)

UINT32

1

[0...255]

Reserve (axis ID master 7)

UINT32

1

[0...255]

Reserve (axis ID master 8)

UINT32

 

 

Reserve (TwinCAT 3)

REAL64

e.g. mm/s^2

 

Maximum acceleration/deceleration of the slave axis

UINT32

1

≥ 0

Control mask, not previously used
(check and operation mode for profile)

UINT32

 

 

Reserve (TwinCAT 3)

Extension V2 (Optional):

REAL64

e.g. mm/s^2

≥ 0.0

Maximum deceleration of the slave axis

REAL64

e.g. mm/s^3

≥ 0.0

Maximum jerk of the slave axis

REAL64

e.g. mm/s

≥ 0.0

Maximum velocity of the slave axis

REAL64

 

 

Reserve

REAL64

 

 

Reserve

} 64 or 104 bytes

 

 

 

 

 

 

 

 

 

 

 

0x00000041

Write

Master/slave decoupling (SERVO)

VOID

 

 

Master/slave decoupling (SERVO)

 

0x00000041

Write

Master/Slave decoupling with configurable follow-up function (SERVO)

{

 

 

Master/slave decoupling with configurable follow-up function (e.g. new end position, new velocity, stop, E-stop) (SERVO)

Not yet released!

Modified from TC3

UINT32

ENUM

s. appendix

Decoupling type (see appendix)

UINT32

 

 

Reserve (TwinCAT 3)

REAL64

e.g. mm

±∞

Optional: New end position

REAL64

e.g. mm/s

> 0.0

Optional: New requested velocity

REAL64

e.g. mm/s^2

≥ 0.0
(0: Default)

Optional: Acceleration for new end position, new velocity and emergency stop (E-stop)

REAL64

e.g. mm/s^2

≥ 0.0
(0: Default)

Optional: Deceleration for new end position, new velocity and emergency stop (E-stop)

REAL64

e.g. mm/s^3

≥ 0.0
(0: Default)

Optional: Jerk for new end position, new velocity and emergency stop (E-stop)

}

 

 

 

0x00000042

Write

Master/Slave coupling

Type: LINEAR (&SPECIAL)

{

 

 

Change of the coupling parameters (SERVO):

 

REAL64

1

[±1000000.0]

Parameter 1: Linear: Gear ratio

REAL64

1

[±1000000.0]

Parameter 2: Linear: Reserve

REAL64

1

[±1000000.0]

Parameter 3: Linear: Reserve

REAL64

1

[±1000000.0]

Parameter 4: Linear: Reserve

}

 

 

 

0x00000043

Write

Master/slave table coupling

Type: TABULAR

{

 

 

Change of the table coupling parameters (SERVO):

 

 

REAL64

mm

±∞

Slave position offset

 

REAL64

mm

±∞

Master position offset

 

}

 

 

 

0x00000043

Write

Master/slave table coupling

Type: TABULAR
and
"Motion Function"

{

 

 

Change of the table coupling parameters (SERVO):

Also for "Motion Function"

REAL64

mm

±∞

Slave position offset

REAL64

mm

±∞

Master position offset

REAL64

1

±∞ (<> 0.0)

Slave position scaling

REAL64

1

±∞ (<> 0.0)

Master position scaling

}

 

 

 

0x00000043

Write

Master/slave table coupling

Type: TABULAR

{

 

 

Change of the table coupling parameters (SERVO):

 

REAL64

mm

±∞

Slave position offset

REAL64

mm

±∞

Master position offset

REAL64

1

±∞ (<> 0.0)

Slave position scaling

REAL64

1

±∞ (<> 0.0)

Master position scaling

REAL64

e.g. mm

±∞

Absolute master activation position

}

 

 

 

0x00000044

Write

Slave-Stop (SERVO)

VOID

 

 

Stop the "flying saw" (SERVO)

Only for "flying saw"

0x00000045 (0x00n00045)

Write

Master/slave table coupling (SERVO)

{

 

 

Master/slave table coupling (SERVO):

 

UINT32

ENUM

s. appendix

Slave type/coupling type (see appendix)

UINT32

1

[1...255]

Axis ID of the master axis

UINT32

1

[0...8]

Subindex n of the master axis (default: value: 0)

UINT32

1

[0...8]

Subindex n of the slave axis (default value: 0)

 

 

 

SOLO TABLE SECTION

REAL64

mm

±∞

Slave position offset (type: TABULAR)

REAL64

mm

±∞

Master position offset (type: TABULAR)

UINT32

1

[0,1]

Slave positions absolute (type: TABULAR)

UINT32

1

[0,1]

Master positions absolute (type: TABULAR)

UINT32

1

[1...255]

Table ID of the coupling table (type: TABULAR)

 

 

 

MULTI TABLE SECTION

UINT16

1

[0...8]

Number of tables (type: MULTITAB)

Note: Misused as interpolation type for solo tables

UNIT16

1

[0...8]

Number of profile tables (type: MULTITAB)

UNIT32[8]

1

[1...255]

Tables IDs of the coupling tables (type: MULTITAB)

}

 

 

 

0x00000046

Write

Master/slave multi-tables

UINT32

1

[1...255]

Correction table activation, correction table ID

 

0x00000046

Write

Master/slave multi-tables

{

 

 

Activation of correction table

Modified from TwinCAT 3

UINT32

1

[1...255]

Correction table ID

UINT32

 

 

Reserve (TwinCAT 3)

REAL64

e.g. mm

±∞

Absolute master activation position

}

 

 

 

0x00000047

Write

Master/slave multi-tables

UINT32

1

[1..255]

Deactivation of profile table at the end of the cycle, table ID of the current monocyclic profile table

 

0x00000048

ReadWrite

Master/slave multi-tables

Write: UINT32

1

[1..255]

Reading the last correction offset: Table ID of the correction table

 

Read: REAL32

e.g. mm

±∞

Offset by departing the correction table with the according table ID

 

0x00000049

Write

Master/slave table coupling

Type: TABULAR

REAL64

1

±∞

Change the slave table scaling factor for the slave table column
(Default value: 1.0)

 

0x0000004A(0x00n0004A)

Write

Master/Slave Universal Table Coupling (SERVO)

{

 

 

Master/Slave Solo Table Coupling (SERVO):

Modified from TwinCAT 3

UINT32

ENUM

s. appendix

Slave type/coupling type (see appendix)

UINT32

1

[1...255]

Axis ID of the master axis

UINT32

1

[0...8]

Subindex n of the master axis (default: value: 0)

UINT32

1

[0...8]

Subindex n of the slave axis (default: value: 0)

UINT32

1

1...255]

Table ID of the coupling table (type: TABULAR)

UINT32

1

 

Table interpolation type

REAL64

mm

±∞

Slave position offset (type: TABULAR)

REAL64

mm

±∞

Master position offset (type: TABULAR)

REAL64

mm

±∞

Slave position scaling (type: TABULAR)

REAL64

mm

±∞

Master position scaling (type: TABULAR)

UINT32

1

[0,1]

Slave position absolute ?
(Type: TABULAR)

UINT32

1

[0,1]

Master positions absolute ?
(Type: TABULAR)

UINT32

ENUM

s. appendix

Activation type of the change:

0: 'instantaneous' (default)

1: 'at master cam position'

2: 'at master axis position'

3: 'next cycle'

UINT32

 

 

Reserve (TwinCAT 3)

REAL64

mm

±∞

Activation position

UINT32

ENUM

s. appendix

Master scaling type:

0: user defined (default)

1: scaling with auto offset

2: off

UINT32

ENUM

s. appendix

Slave scaling type:

0: user defined (default)

1: scaling with auto offset

2: off

}

 

 

 

0x0000004A(0x00n0004A)

Write

Master/Slave Universal Table Coupling (SERVO)

{

 

 

Master/Slave Solo Table Coupling (SERVO):

Modified from TwinCAT 3

UINT32

ENUM

s. appendix

Slave type/coupling type (see appendix)

UINT32

1

[1...255]

Axis ID of the master axis

UINT32

1

[0...8]

Subindex n of the master axis (default: value: 0)

UINT32

1

[0...8]

Subindex n of the slave axis (default: value: 0)

UINT32

1

1...255]

Table ID of the coupling table (type: TABULAR)

UINT32

1

 

Table interpolation type

REAL64

mm

±∞

Slave position offset (type: TABULAR)

REAL64

mm

±∞

Master position offset (type: TABULAR)

REAL64

mm

±∞

Slave position scaling (type: TABULAR)

REAL64

mm

±∞

Master position scaling (type: TABULAR)

UINT32

1

[0,1]

Slave position absolute ? (Type: TABULAR)

UINT32

1

[0,1]

Master positions absolute ? (Type: TABULAR)

UINT32

ENUM

s. appendix

Activation type of the change:

0: 'instantaneous' (default)

1: 'at master cam position'

2: 'at master axis position'

3: 'next cycle'

UINT32

 

 

Reserve (TwinCAT 3)

REAL64

mm

±∞

Activation position

UINT32

ENUM

s. appendix

Master scaling type:

0: user defined (default)

1: scaling with auto offset

2: off

UINT32

ENUM

s. appendix

Slave scaling type:

0: user defined (default)

1: scaling with auto offset

2: off

Extension for MultiCam:

UINT32

ENUM

s. appendix

Cam Operation Mode

UINT32

1

[1…255]

Reference table ID

BYTE[104]

 

 

Reserve (TwinCAT 3)

}

 

 

 

0x0000004B(0x00n0004B)

Write

Master/slave universal flying saw (SERVO)

{

 

 

Master/slave synchronization coupling (SERVO):

Modified from TwinCAT 3

UINT32

ENUM

s. appendix

Slave type/coupling type (see appendix)

UINT32

1

[1...255]

Axis ID of the master axis

UINT32

1

[0...8]

Subindex n of the master axis (default: value: 0)

UINT32

1

[0...8]

Subindex n of the slave axis (default: value: 0)

REAL64

1

±∞ (<> 0.0)

Gear ratio

REAL64

mm

±∞

Master synchron position

REAL64

mm

±∞

Slave synchron position

REAL64

mm/s

≥ 0.0

Slave velocity (optional)

REAL64

mm/s^2

≥ 0.0

Slave acceleration (optional)

REAL64

mm/s^2

≥ 0.0

Slave deceleration (optional)

REAL64

mm/s^3

≥ 0.0

Slave jerk (optional)

UINT32

1

≥ 0

Bit mask (default value: 0)

UINT32

 

 

Reserve (TwinCAT 3)

}

 

 

 

 

 

 

 

 

 

 

 

0x0000004D(0x00n0004D)

Write

Master/slave table coupling

Type: TABULAR
and MF

{

 

 

Change in table scaling (SERVO):

Modified from TwinCAT 3

UINT32

ENUM

s. appendix

Activation type of the change

0: 'instantaneous' (default)

1: 'at master cam position'

2: 'at master axis position'

3: 'next cycle'

UINT32

 

 

Reserve (TwinCAT 3)

REAL64

e.g. mm

±∞

Activation position

UINT32

ENUM

s. appendix

Master scaling type

0: user defined (default)

1: scaling with auto offset

2: off

UINT32

ENUM

s. appendix

Slave scaling type

0: user defined (default)

1: scaling with auto offset

2: off

REAL64

e.g. mm

±∞

Master position offset

REAL64

e.g. mm

±∞

Slave position offset

REAL64

1

±∞ (<> 0.0)

Master position scaling

REAL64

1

±∞

Slave position scaling

Optional extension for MultiCam:

UINT32

1

≥ 0

Cam Table ID

UINT32

 

 

Reserve (TwinCAT 3)

}

 

 

 

 

 

 

 

 

 

 

 

0x00000050

Write

every

VOID

 

 

Deactivate complete axis (disable)

 

0x00000051

Write

every

VOID

 

 

Activate complete axis (enable)

 

0x00000052

Write

SERVO

{

 

 

Change of the active axis control loop (triple from encoder, controller and axis interfaces) with/without external setpoint specification:

Modified from TwinCAT 3

UINT32

1

≥ 0

Number/index of the axis control loop
(Default value: 0)

UINT32

ENUM

s. appendix (>0)

Switching type for synchronization behavior

1: 'Standard'

REAL64

1

±∞

Synchronization value for switching (optional)

UINT32

0/ 1

0/1

External setpoint specification by means of axis interface ?

Note: Not used so far!

UINT32

 

 

Reserve (TwinCAT 3)

}

 

 

 

 

 

 

 

 

 

 

 

0x00000060

Write

every

VOID

 

 

Deactivate drive output (disable)

 

0x00000061

Write

every

VOID

 

 

Activate drive output (enable)

 

0x00000062

Write

high/low

UINT16

1

0/1

Release parking brake?

0: automatic activation (default)

1: mandatorily always released

Note:
Reset to '0' when resetting the axis!

 

0x00000063

Write

only for SERCOS/SoE and CANopen/CoE

{

 

 

Activate "Drive Operation Mode" (e.g. Position Velo, Torque, etc.)

NEW from TC 3.1 B4022 (NC 4443)

Always to SEC Port 501!

INT32

ENUM
(see appendix)

[0; 1, 2, 3, …]

Special cases:

≥ 100: SoE
< 0: CoE

New "Drive Operation Mode" (generic modes)

UINT32

1

0

Reserve

UINT32

1

0

Reserve

UINT32

1

0

Reserve

}

 

 

 

 

 

 

 

 

 

 

 

0x00000070

Write

every

VOID

 

 

Return of the axis from, e.g. a 3D group to its own PTP group

 

* The following warning relates to index offset 0x0000002D:

DANGER

Danger to life or risk of serious injury or damage to property due to unintentional movements of the axis

When using the function block, the axis is switched to CST mode. After using the function block (especially after error situations), the axis may still be in CST mode. This can lead to sudden and unplanned movements (especially with lifting axes) when the axis is released.

  • Ensure that there is no hazard as defined by the risk assessment.
  • Check the current operation mode via the function block MC_ReadDriveOperationMode.
  • If the axis is not in a position-related operation mode (CSV/CSP), transfer it before an enable:
    directly with MC_WriteDriveOperationMode into the desired position-related operation mode (CSV/CSP) or
    indirectly with MC_Halt / MC_Stop into the desired position-related operation mode (CSV/CSP) (from TwinCAT 3.1.4024.40)
    Other function blocks that switch the axis indirectly into a position-related operation mode can only do this to a limited extent and are therefore not to be used for a deliberate operation mode change.
  • Subsequently, it is necessary to check again whether the axis is really in a position-related operation mode (CSV/CSP), if not, an abort with error handling is required.