08 Motion Control

Version 6.1 by Iris on 2025/10/22 15:18

Management Function Blocks for Single-axis Motion Control


MC_POWER


 MC_POWER

1708929927472-144.png

This function block is a power-on software switch for the motion control system.

Device used (only a single device can be used, and device splicing and offset are not supported)

InstructionParameterDevicesIndex modificationPulse expansion
XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_POWEREnable                     
EnablePositive                     
EnableNegative                     
Axis                          
Status                      
Valid                      
Error                      
ErrorID                          

 Precautions for use of devices

  • LC and HSC are signed 32-bit data types;
  • T, C, D, R, SD are signed 16-bit data types.

Variable Type Used

InstructionParameterVariable typeCan be empty or notRangeDescription
MC_POWEREnableBOOLNoTRUE/FALSEEnable
EnablePositiveBOOLNoTRUE/FALSEAllow motion in the positive direction
EnableNegativeBOOLNoTRUE/FALSEAllow motion in negative direction
AxisWORDNo0 to 65535Axis number
StatusBOOLNoTRUE/FALSEEnable status
ValidBOOLNoTRUE/FALSEData valid or not
ErrorBOOLNoTRUE/FALSEWhether there is an error or not
ErrorIDDWORDNo-[Error code]

Function

  • This function block must be enabled if an axis is to participate in motion.
  • The function is as follows:
  1. When the Enable input is TRUE, the power to the drive is enabled, not to the function block itself;
  2. When the Enable input is TRUE, this function block is called. If the state of the axis is in the Disable state, then the state of the axis is switched to the state of StandStill, waiting for the motion control of the axis;
  3. If a fault occurs when the Enable input is TRUE, a timer function block and an AND logic function can make the state of its axis remain at FAlSE. It indicates that there is a fault at the hardware level;
  4. If the PLC power supply fails during the motion, the state of the axis will switch to the ErrorStop state;
  5. The input signals EnablePositive and EnableNegative are level controlled. When they are TRUE, axis motion in the positive and negative directions are allowed. Two input signals can be set at the same time, indicating that the allowed motion direction can be either positive or negative;
  6. Each axis can only have one MC_POWER function block for powering up the axis. If multiple MC_POWER control the same axis, the last function block is valid;
  7. The Status output signal indicates the status of the driver power supply, and 1 means power on; 0 means not power on. It is also not a simulated value if the axis drive is a simulated axis. Busy is the operating status of the function block, 1 means busy; 0 means idle. 0 means uncontrolled. Valid indicates whether the output signal of the function block is valid, and 1 means the output signal is valid; 0 means the output signal is invalid. Error indicates whether the function block is faulty, and 1 means faulty; 0 means no fault. ErrorID is the error code, and when a function block fault occurs, there are 16 digits indicating the fault information.

Precautions

  • When any error occurs when the axis is enabled, it will be fed back through Error and ErrorID;
  • The PDO parameters of servo axis bound to the axis must have control word, status word, target position and current position.

Sequence diagram

  • When using a MC_POWER instruction and axis enables normally, sequence diagram is as follows:

    1708930747762-294.png

  • When axis uses two MC_POWER instructions and axis enables normally, sequence diagram is as follows:

1708930776082-904.png

MC_READSTATUS


MC_READSTATUS

1708930816987-979.png

 This function block is used to read the status of the controlled axis.

Device used (only a single device can be used, and device splicing and offset are not supported)

InstructionParameterDevices

Index

modification

Pulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_READSTATUSEnable                     
Axis                          
Valid                      
Busy                      
Error                      
ErrorID                          
Errorstop                      
Disabled                      
Stopping                      
Homing                      
Standstill                      
DiscreteMotion                      
ContinuousMotion                      
SynchronizedMotion                      

Precautions for use of devices

  • LC and HSC are signed 32-bit data types;
  • T, C, D, R and SD are signed 16-bit data types;

Variable Type Used 

InstructionParameterVariable typeCan be empty or notRangeDescription
MC_READSTATUSEnableBOOLNoTRUE/FALSEEnable
AxisWORDNo0 to 65535Axis number
ValidBOOLNoTRUE/FALSEOutput valid or not
BusyBOOLNoTRUE/FALSEBusy sign
ErrorBOOLNoTRUE/FALSEWhether there is an error or not
ErrorIDDWORDNo-Error code
ErrorstopBOOLNoTRUE/FALSEError stop sign
DisabledBOOLNoTRUE/FALSEInactive sign
StoppingBOOLNoTRUE/FALSEStopping sign
HomingBOOLNoTRUE/FALSEHoming sign
StandstillBOOLNoTRUE/FALSEStatic sign
DiscreteMotionBOOLNoTRUE/FALSEDiscontinuous motion sign
ContinuousMotionBOOLNoTRUE/FALSEContinuous motion sign
SynchronizedMotionBOOLNoTRUE/FALSESynchronized motion sign

Function

  • It is used to read the status of the controlled axis, corresponding to the single-axis SynchronizedMotion, ContinuousMotion, DiscreteMotion, Stopping, Errorstop, Homing, Standstill and Disabled;
  • When the MC_ReadStatus function block input Enable is TRUE, the status of the axis is periodically updated.

Precautions

  • This function block is not available when the axis does not exist.

Sequence diagram

When using MC_READSTATUS with MC_MOVERELATIVE instruction together and axis enables normally, sequence diagram is as follows:

1708931189048-874.png

MC_READMOTIONSTATE


MC_READMOTIONSTATE

1708931307231-255.png

This function block is used to read the motion status of the controlled axis, including constant speed, acceleration, deceleration, positive direction and negative direction.

Device used (only a single device can be used, and device splicing and offset are not supported)

InstructionParameterDevices

Index

modification

Pulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_READMOTIONSTATEEnable                     
Axis                      
Valid                      
Busy                      
Error                          
ErrorID                          
ConstantVelocity                      
Accelerating                      
Decelerating                      
DirectionPositive                      
DirectionNegative                      

Precautions for use of devices

  • LC and HSC are signed 32-bit data types;
  • T, C, D, R and SD are signed 16-bit data types;

Variable Type Used 

InstructionParameterVariable typeCan be empty or notRangeDescription
MC_READMOTIONSTATEEnableBOOLNoTRUE/FALSEEnable
AxisWORDNo0 to 65535Axis number
ValidBOOLNoTRUE/FALSEOutput valid or not
BusyBOOLNoTRUE/FALSEBusy sign
ErrorBOOLNoTRUE/FALSEWhether there is an error or not
ErrorIDDWORDNo-Error code
ConstantVelocityBOOLNoTRUE/FALSEConstant velocity
AcceleratingBOOLNoTRUE/FALSEAccelerating
DeceleratingBOOLNoTRUE/FALSEDecelerating
DirectionPositiveBOOLNoTRUE/FALSEPositive direction
DirectionNegativeBOOLNoTRUE/FALSENegative direction

Function

  • Used to read the motion status of the controlled axis, including constant speed, acceleration, deceleration, positive direction and negative direction;
  • When the MC_ReadStatus function block input Enable is TRUE, the status of the axis is periodically updated.

Precautions

  • This function block is not available when the axis does not exist.

Error code

Error codeContent
4084HData beyond the specifiable range was entered.

Sequence diagram

  • When using MC_READMOTIONSTATE with MC_MOVERELATIVE instruction together and axis enables normally, sequence diagram is as follows:

1708931510215-517.png

MC_READAXISERROR


MC_READAXISERROR

1708931587533-769.png

The function block provides fault information about the axis.

Device used (only a single device can be used, and device splicing and offset are not supported)

InstructionParameterDevicesIndex modificationPulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_READAXISERROREnable                     
Axis                          
Valid                      
Busy                      
Error                      
ErrorID                          
AxisErrorID                          

Precautions for use of devices

  • LC and HSC are signed 32-bit data types;
  • T, C, D, R and SD are signed 16-bit data types;

 Variable Type Used

InstructionParameterVariable typeCan be empty or notRangeDescription
MC_READAXISERROREnableBOOLNoTRUE/FALSEEnable
AxisWORDNo0 to 65535Axis number
ValidBOOLNoTRUE/FALSEOutput valid or not
BusyBOOLNoTRUE/FALSEBusy sign
ErrorBOOLNoTRUE/FALSEWhether there is an error or not
ErrorIDDWORDNo-Error code
AxisErrorIDDWORDNo-Axis error code

Function

  • The function block provides fault information for the axis. Typically, you can connect the axis status ErrorStop output of the MC_READSTATUS function block to the Enable input end of MC_READAXISERROR, so that the fault code of the axis can be obtained from AxisErrorID. You can also get the fault code from ErrorID.

Precautions

  • This function block is not available when the axis does not exist.

Sequence diagram

  • When using MC_READAXISINFO with MC_POWER and MC_MOVERELATIVE instructions together and axis enables normally, in which MC_POWER→EnablePosition is FALSE and MC_POWER→EnableNegative is TRUE, sequence diagram is as follows:

1708931733986-184.png

MC_READAXISINFO


MC_READAXISINFO

1708931778931-994.png

The function block is used to provide information about the axis.

Device used (only a single device can be used, and device splicing and offset are not supported)

InstructionParameterDevicesIndex modificationPulse expansion
XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_READAXISINFOEnable                     
Axis                          
Valid                      
Busy                      
Error                      
ErrorID                          
HomeAbsSwitch                      
LimitSwitchPos                      
LimitSwitchNeg                      
ReadyForPowerOn                      
powerOn                      
IsHomed                      
AxisWarning                      

Precautions for use of devices

  • LC and HSC are signed 32-bit data types;
  • T, C, D, R and SD are signed 16-bit data types.

Variable Type Used

InstructionParameterVariable typeCan be empty or notRangeDescription
MC_READAXISINFOEnableBOOLNoTRUE/FALSEEnable
AxisWORDNo0 to 65535Axis number
ValidBOOLNoTRUE/FALSEOutput valid or not
BusyBOOLNoTRUE/FALSEBusy sign
ErrorBOOLNoTRUE/FALSEWhether there is an error or not
ErrorIDDWORDNo-Error code
HomeAbsSwitchBOOLNoTRUE/FALSEHoming absolute position switch
LimitSwitchPosBOOlNoTRUE/FALSEPositive limit switch
LimitSwitchNegBOOlNoTRUE/FALSENegative limit switch
ReadyForPowerOnBOOlNoTRUE/FALSEReady to enable
powerOnBOOlNoTRUE/FALSEEnable
IsHomedBOOlNoTRUE/FALSEHoming successful
AxisWarningBOOlNoTRUE/FALSEAxis warning

Function

  • It is used to provide information about the axis, including the information about the absolute position switch back to the origin, the status information of the positive and negative limit switches, the power-on switch of the function block, and whether the axis has warnings. Generally, the output PowerOn of the MC_READAXISINFO function block can be used as the execution input of the motion control function block. For example, if the Enable of the power-on switch MC_POWER is shared with the MC_MOVEABSOLUTE function block, because the MC_MOVEABSOLUTE function block is edge triggered, and the execution of the MC_POWER function block takes a certain time, only when PowerOn is set can the actual output of MC_POWER be deemed to be powered-on so that the output PowerOn of MC_READAXISINFO is often connected to the Execute end of MC_MOVEABSOLUTE function block to ensure the edge trigger of MC_MOVEABSOLUTE function block. The Enable of the MC_READAXISINFO function block can share an input signal with the MC_POWER function block.

Precautions

  • This function block is not available when the axis does not exist.

Sequence diagram

  • When using MC_READAXISINFO with MC_POWER instruction together and axis enables normally, sequence diagram is as follows:

1708931872321-895.png

MC_READPARAMETER


MC_READPARAMETER

1708931933784-427.png

This function block is used to read axis parameters.

Device used (only a single device can be used, and device splicing and offset are not supported)

InstructionParameterDevicesIndex modificationPulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_READPARAMETEREnable                     
ParameterNumber                     
Axis                          
Valid                      
Busy                      
Error                      
ErrorID                          
Value                          

Precautions for use of devices

  • LC and HSC are signed 32-bit data types;
  • T, C, D, R and SD are signed 16-bit data types.

 Variable Type Used

InstructionParameterVariable typeCan be empty or notRangeDescription
MC_READPARAMETEREnableBOOLNoTRUE/FALSEEnable
ParameterNumberINTNo1 to 17Parameter number
AxisWORDNo0 to 65535Axis number
ValidBOOLNoTRUE/FALSEOutput valid or not
BusyBOOLNoTRUE/FALSEBusy sign
ErrorBOOLNoTRUE/FALSEWhether there is an error or not
ErrorIDDWORDNo-Error code
ValueLREALNo-Axis parameter value

Function

  • Used to read axis parameters, as shown in following table.
Parameter number PNParameter nameData typeB/ER/WNotes
1InstructionedPositionREALBRInstruction position
2SWLimitPosREALER/WPosition of positive software limit switch
3SWLimitNegREALER/WPositive of negative software limit switch
4EnableLimitPosBOOLER/WEnable positive software limit switch
5EnableLimitNegBOOLER/WEnable negative software limit switch
6EnablePosLagMonitoringBOOLER/WEnable position lag monitoring
7MaxPositionLagREALER/WMaximum position lag
8MaxVelocitySystemREALERMaximum allowable axial velocity in motion system
9MaxVelocityApplREALBR/WMaximum allowable axial velocity in application
10ActualVelocityREALBRActual velocity
11InstructionedVelocityREALBRInstructioned velocity
12MaxAccelerationSystemREALERMaximum allowable axial acceleration in motion system
13MaxAccelerationApplREALER/WMaximum allowable axial acceleration in application
14MaxDecelerationSystemREALERMaximum allowable axial deceleration in motion system
15MaxDecelerationApplREALER/WMaximum allowable axial deceleration in application
16MaxJerkSystemREALERMaximum allowable axial jerk in motion system
17MaxJerkApplREALER/WMaximum allowable axial jerk in application system

Precautions

  • This function block is not available when the axis does not exist.

Error code

Error codeContent
4084HData beyond the specifiable range was entered.

Sequence diagram

  • When using MC_READPARAMETER with MC_MOVERELATIVE instruction together, in which ParameterNumber=1, and axis enables normally, sequence diagram is as follows:

1708932250549-876.png

MC_READBOOLPARAMETER


MC_READBOOLPARAMETER

1708932376799-782.png

This function block is used to read axis Boolean parameters.

Device used (only a single device can be used, and device splicing and offset are not supported)

InstructionParameterDevices

Index

modification

Pulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_READBOOLPARAMETEREnable                     
ParameterNumber                     
Axis                          
Valid                      
Busy                      
Error                      
ErrorID                          
Value                      

Precautions for use of devices

  • LC and HSC are signed 32-bit data types;
  • T, C, D, R and SD are signed 16-bit data types;

Variable Type Used

InstructionParameterVariable typeCan be empty or notRangeDescription
MC_READBOOLPARAMETEREnableBOOLNoTRUE/FALSEEnable
ParameterNumberINTNo1 to 17Parameter number
AxisWORDNo0 to 65535Axis number
ValidBOOLNoTRUE/FALSEOutput valid or not
BusyBOOLNoTRUE/FALSEBusy sign
ErrorBOOLNoTRUE/FALSEWhether there is an error or not
ErrorIDDWORDNo-Error code
ValueBOOLNoTRUE/FALSEAxis parameter

Function

  • Used to read axis Boolean parameters, as shown in following table.
Parameter number PNParameter nameData typeB/ER/WNotes
1InstructionedPositionREALBRInstruction position
2SWLimitPosREALER/WPosition of positive software limit switch
3SWLimitNegREALER/WPositive of negative software limit switch
4EnableLimitPosBOOLER/WEnable positive software limit switch
5EnableLimitNegBOOLER/WEnable negative software limit switch
6EnablePosLagMonitoringBOOLER/WEnable position lag monitoring
7MaxPositionLagREALER/WMaximum position lag
8MaxVelocitySystemREALERMaximum allowable axial velocity in motion system
9MaxVelocityApplREALBR/WMaximum allowable axial velocity in application
10ActualVelocityREALBRActual velocity
11InstructionedVelocityREALBRInstructioned velocity
12MaxAccelerationSystemREALERMaximum allowable axial acceleration in motion system
13MaxAccelerationApplREALER/WMaximum allowable axial acceleration in application
14MaxDecelerationSystemREALERMaximum allowable axial deceleration in motion system
15MaxDecelerationApplREALER/WMaximum allowable axial deceleration in application
16MaxJerkSystemREALERMaximum allowable axial jerk in motion system
17MaxJerkApplREALER/WMaximum allowable axial jerk in application system

Precautions

  • This function block is not available when the axis does not exist.

Error code

Error codeContent
4084HData beyond the specifiable range was entered.

Sequence diagram 

1708932747981-310.png

MC_READACTUALVELOCITY


MC_READACTUALVELOCITY

1708932854884-305.png

This function block is used to read the actual velocity of the controlled axis.

Device used (only a single device can be used, and device splicing and offset are not supported)

InstructionParameterDevices

Index

modification

Pulse

expansion

  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_READACTUALVELOCITYEnable                     
Axis                          
Valid                      
Busy                      
Error                      
ErrorID                          
Velocity                          

Precautions for use of devices

  • LC and HSC are signed 32-bit data types;
  • T, C, D, R and SD are signed 16-bit data types.

 Variable Type Used

InstructionParameterVariable typeCan be empty or notRangeDescription
MC_READACTUALVELOCITYEnableBOOLNoTRUE/FALSEEnable
AxisWORDNo0 to 65535Axis number
ValidBOOLNoTRUE/FALSEOutput valid or not
BusyBOOLNoTRUE/FALSEBusy sign
ErrorBOOLNoTRUE/FALSEWhether there is an error or not
ErrorIDDWORDNo-Error code
VelocityLREALNo-Actual velocity

Function

  • When the function block’s Enable is set, the MC_READACTUALVELOCITY output returns the actual velocity of the controlled single axis.

Precautions

  • This function block is not available when the axis does not exist;
  • When the function block's Enable is reset, the output value loses its validity, and the Valid output is reset.

Sequence diagram

1708933063977-591.png

MC_READACTUALPOSITION


MC_READACTUALPOSITION

1708933148797-641.png

This function block is used to read the actual absolute position of the axis.

Device used (only a single device can be used, and device splicing and offset are not supported)

InstructionParameterDevices

Index

modification

Pulse

expansion

  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_READACTUALPOSITIONEnable                     
Axis                          
Valid                      
Busy                      
Error                      
ErrorID                          
Position                          

Precautions for use of devices

  • LC and HSC are signed 32-bit data types;
  • T, C, D, R and SD are signed 16-bit data types;

Variable Type Used

InstructionParameterVariable typeCan be empty or notRangeDescription
MC_READACTUALPOSITIONEnableBOOLNoTRUE/FALSEEnable
AxisWORDNo0 to 65535Axis number
ValidBOOLNoTRUE/FALSEOutput valid or not
BusyBOOLNoTRUE/FALSEBusy sign
ErrorBOOLNoTRUE/FALSEWhether there is an error or not
ErrorIDDWORDNo-Error code
PositionLREALNo-Actual absolute position

Function

  • When the function block’s Enable is set, the MC_READACTUALPOSITION output returns the actual absolute position of the controlled single axis.

Precautions

  • This function block is not available when the axis does not exist;
  • 0x6064 should be configured in the bus axis, otherwise it is invalid;
  • When the function block's Enable is reset, the output value loses its validity, and the Valid output is reset.

Sequence diagram

1708933375433-378.png

MC_RESET


MC_RESET

1708933464043-183.png

This function block is used for clearing the faults of the controlled axis.

Device used (only a single device can be used, and device splicing and offset are not supported)

InstructionParameterDevices

Index

modification

Pulse

expansion

  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_RESETExecute                     
Axis                          
Done                      
Busy                      
Error                      
ErrorID                          

Precautions for use of devices

  • LC and HSC are signed 32-bit data types;
  • T, C, D, R and SD are signed 16-bit data types;

Variable Type Used

InstructionParameterVariable typeCan be empty or notRangeDescription
MC_RESETExecuteBOOLNoTRUE/FALSEEnable
AxisWORDNo0 to 65535Axis number
DoneBOOLNoTRUE/FALSECompletion sign
BusyBOOLNoTRUE/FALSEBusy sign
ErrorBOOLNoTRUE/FALSEWhether there is an error or not
ErrorIDDWORDNo-Error code

Function

  • When the Execute input signal rises, it is used to clear the fault of the controlled axis. These faults include axis faults and drive side faults. If the drive itself fails, the reset of the drive failure should be carried out first. These fault treatments do not cause the motion of the controlled axis.

Precautions

  • This function block is not available when the axis does not exist.

Sequence diagram

  • In the case of axis failure, call MC_RESET instruction and reset successfully, sequence diagram is as follows:

1708933588765-628.png

  • When driver cannot be reset, sequence diagram is as follows:

1708933611426-302.png

MC_SETPOSITION


MC_SETPOSITION

1708933664132-373.png

This function block is used to set the position (absolute position or relative position) of the controlled axis.

Device used (only a single device can be used, and device splicing and offset are not supported)

InstructionParameterDevices

Index

modification

Pulse

expansion

  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_SETPOSITIONExecute                     
Position                          
Relative                     
Execution Mode                          
Axis                          
Done                      
Busy                      
Error                      
ErrorID                          

Precautions for use of devices

  • LC and HSC are signed 32-bit data types;
  • T, C, D, R and SD are signed 16-bit data types;

 Variable Type Used

InstructionParameterVariable typeCan be empty or notRangeDescription
MC_SETPOSITIONExecuteBOOLNoTRUE/FALSEEnable
PositionLREALNo-9999999.00~9999999.00Position
RelativeBOOLNoTRUE/FALSESet relative position or absolute position
Execution ModeWORDNo0 to 2Operation mode
AxisWORDNo0 to 65535Axis number
DoneBOOLNoTRUE/FALSECompletion sign
BusyBOOLNoTRUE/FALSEBusy sign
ErrorBOOLNoTRUE/FALSEWhether there is an error or not
ErrorIDDWORDNo-Error code

Function

  • MC_SETPOSITION function block is used to set the position (absolute position or relative position) of the controlled axis. It controls the set position and the actual position of the axis by moving the coordinate system of the coordinate system, so that they have the same value without causing motion, and obtains the same tracking error by re-calibration. This function block can be used for examples in reference situations;
  • At present, this command does not support triggering when the axis is in motion.

Precautions

  • This function block is not available when the axis does not exist.

Motion Function Blocks for Single-axis Motion Control


MC_STOP


MC_STOP

1708934009088-266.png

This function block is used to change the state of the controlled axis to the deceleration stopping state.

Device used (only a single device can be used, and device splicing and offset are not supported)

InstructionParameterDevicesIndex modificationPulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_STOPExecute                     
Deceleration                          
Jerk                          
Axis                          
Done                      
Busy                      
InstructionAborted                      
Error                      
ErrorID                          

Precautions for use of devices

  • LC and HSC are signed 32-bit data types;
  • T, C, D, R and SD are signed 16-bit data types.

Variable Type Used 

InstructionParameterVariable typeCan be empty or notRangeDescription
MC_STOPExecuteBOOLNoTRUE/FALSEEnable
DecelerationLREALNo0 to 9999999.00Deceleration
JerkLREALNo0 to 9999999.00Jerk
AxisWORDNo0 to 65535Axis number
DoneBOOLNoTRUE/FALSECompletion sign
BusyBOOLNoTRUE/FALSEBusy sign
InstructionAbortedBOOLNoTRUE/FALSEAborted sign
ErrorBOOLNoTRUE/FALSEWhether there is an error or not
ErrorIDDWORDNo-Error code

 Function

  • This function block is used to change the state of the controlled axis to the deceleration stopping state. When the rising edge of the input Execute signal triggers the function block, the controlled axis decelerates with the output Decelerate value and the axis motion stops.

Precautions

  • This function block is not available when the axis does not exist.

Error code

Error codeContent
4084HData beyond the specifiable range was entered.

Sequence diagram

  • When the call is located, trigger MC_STOP instruction and sequence diagram is as follows:

1708934225357-168.png

  • When driver fails during the instruction running, sequence diagram is as follows:

1708934303224-405.png

MC_HOME


MC_HOME

1708934397030-253.png

This function block is used to change the state of the controlled axis to the origin state.

Device used (only a single device can be used, and device splicing and offset are not supported)

InstructionParameterDevicesIndex modificationPulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_HMOEExecute                     
Position                          
BufferMode                          
Axis                          
Done                      
Busy                      
Active                      
InstructionAborted                      
Error                      
ErrorID                          

Precautions for use of devices

  • LC and HSC are signed 32-bit data types;
  • T, C, D, R and SD are signed 16-bit data types.

Variable Type Used

InstructionParameterVariable typeCan be empty or notRangeDescription
MC_HOMEExecuteBOOLNoTRUE/FALSEEnable
PositionLREALNo0 to 9999999.00Position
BufferModeWORDNo0 to 5Mode selection
AxisWORDNo0 to 65535Axis number
DoneBOOLNoTRUE/FALSECompletion sign
BusyBOOLNoTRUE/FALSEBusy sign
ActiveBOOLYesTRUE/FALSEValid flag bit
InstructionAbortedBOOLNoTRUE/FALSEAborted sign
ErrorBOOLNoTRUE/FALSEWhether there is an error or not
ErrorIDDWORDNo-Error code

Function

  • It is determined whether the controlled axis returns to its origin by detecting the relevant limit switch, absolute position origin switch or transmitted sequence pulse signal.

Precautions

  • This function block is not available when the axis does not exist.

Error code

Error codeContent
4084HData beyond the specifiable range was entered.

Sequence diagram

Start origin homing, and then driver normally executes origin homing, sequence diagram is as follows:

1708934632681-933.png

MC_HALT


MC_HALT

1708934697518-386.png

This function block is often used to stop the motion of the controlled axis under normal operating conditions.

Device used (only a single device can be used, and device splicing and offset are not supported)

InstructionParameterDevices

Index modification

Pulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_HALTExecute                     
Deceleration                          
Jerk                          
Axis                          
Done                      
Busy                      
Active                      
InstructionAborted                      
Error                      
ErrorID                          

Precautions for use of devices

  • LC and HSC are signed 32-bit data types;
  • T, C, D, R and SD are signed 16-bit data types;

Variable Type Used

InstructionParameterVariable typeCan be empty or notRangeDescription
MC_HALTExecuteBOOLNoTRUE/FALSEEnable
DecelerationLREALNo0 to 9999999.00Deceleration
JerkLREALNo0 to 9999999.00Jerk
AxisWORDNo0 to 65535Axis number
DoneBOOLNoTRUE/FALSEData valid or not
BusyBOOLNoTRUE/FALSEBusy sign
ActiveBOOLNoTRUE/FALSEValid sign
InstructionAbortedBOOLNoTRUE/FALSEAborted sign
ErrorBOOLNoTRUE/FALSEWhether there is an error or not
ErrorIDDWORDNo-Error code

 Function

  • If the controlled axis is in a continuous motion state, the rising edge of the Execute signal input by the MC_Halt function block triggers the activation of the function block, so that the state of the controlled axis changes to the intermittent motion state. Similarly, if the controlled axis is in an intermittent motion state or a synchronous motion state, the activation of the MC_HALT function block will keep the controlled axis in an intermittent motion state. This function block is often used to stop the motion of the controlled axis under normal operating conditions.

Precautions

  • This function block is not available when the axis does not exist.

Error code

Error codeContent
4084HData beyond the specifiable range was entered.

Sequence diagram

  • After the call is located, trigger MC_HALT instruction, sequence diagram is as follows:

    1708935236792-154.png

  • After triggering MC_HALT instruction, call the location instruction again to interrupt the execution of MC_HALT, sequence diagram is as follows:

1708935259573-284.png

  • When executing MC_HALT, showdown failure happens, sequence diagram is as follows:

1708935287683-523.png

MC_MOVEABSOLUTE


MC_MOVEABSOLUTE

1708935525380-170.png

The function block makes the controlled axis reach the set absolute position with the input parameters.

Device used (only a single device can be used, and device splicing and offset are not supported)

InstructionParameterDevicesIndex modificationPulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_MOVEABSOLUTEExecute                     
ContinuousUpdate                     
Position                          
Velocity                          
Acceleration                          
Deceleration                          
Jerk                          
BufferMode                          
Axis                          
Done                      
Busy                      
Active                      
InstructionAborted                      
Error                      
ErrorID                          

Precautions for use of devices

  • LC and HSC are signed 32-bit data types;
  • T, C, D, R and SD are signed 16-bit data types;

Variable Type Used 

InstructionParameterVariable typeCan be empty or notRangeDescription
MC_MOVEABSOLUTEExecuteBOOLNoTRUE/FALSEEnable
ContinuousUpdateBOOLNoTRUE/FALSEUpdated during operation
PositionLREALNo-9999999.00~9999999.00Absolute position
VelocityLREALNo0 to 9999999.00Velocity
AccelerationLREALNo0 to 9999999.00Acceleration
DecelerationLREALNo0 to 9999999.00Deceleration
JerkLREALNo0 to 9999999.00Jerk
BufferModeWORDNo0 to 5Mode selection
AxisWORDNo0 to 65535Axis number
DoneBOOLNoTRUE/FALSECompletion sign
BusyBOOLNoTRUE/FALSEBusy sign
ActiveBOOLNoTRUE/FALSEValid sign
InstructionAbortedBOOLNoTRUE/FALSEAbortion sign
ErrorBOOLNoTRUE/FALSEWhether there is an error or not
ErrorIDDWORDNo-Error code

Function

  • The function block enables the controlled axis reach the set absolute position with input parameters (velocity, acceleration, deceleration, jerk and specified motion direction).

Precautions

  • This function block is not available when the axis does not exist.

Error code

Error codeContent
4084HData beyond the specifiable range was entered.

Sequence diagram

  • Normal working condition sequence diagram (buffermode_1=0, buffermode_2=0):

1708935703902-764.png

  • mcAboring sequence diagram (buffermode_1=0, buffermode_2=0):

1708935740101-262.png

  • mcBuffered sequence diagram (buffermode_1=0, buffermode_2=1):

1708935762521-958.png

  • mcBlendingLow sequence diagram (buffermode_1=0, buffermdoe_2=2, buffermode_3=2):

1708935788803-332.png

  • mcBlendingPrevious sequence diagram (buffermode_1=0, buffermode_2=3, buffermode_3=3)

1708935816541-212.png

  • mcBlendingNext sequence diagram (buffermode_1=0, buffermode_2=4,buffermode_3=4):

1708935852123-588.png

  • mcBlendingHigh sequence diagram (buffermode_1=0, buffermode_2=5, buffermode_3=5):

1708935874762-466.png

MC_MOVERELATIVE


MC_MOVERELATIVE

1708935994795-183.png

The function block makes the controlled axis reach the set absolute position with the input parameters.

Device used (only a single device can be used, and device splicing and offset are not supported)

InstructionParameterDevicesIndex modificationPulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_MOVERELATIVEExecute                     
ContinuousUpdate                     
Distance                          
Velocity                          
Acceleration                          
Deceleration                          
Jerk                          
BufferMode                          
Axis                          
Done                      
Busy                      
Active                      
InstructionAborted                      
Error                      
ErrorID                          

Precautions for use of devices

  • LC and HSC are signed 32-bit data types;
  • T, C, D, R and SD are signed 16-bit data types.

Variable Type Used

InstructionParameterVariable typeCan be empty or notRangeDescription
MC_MOVERELATIVEExecuteBOOLNoTRUE/FALSEEnable
ContinuousUpdateBOOLNoTRUE/FALSEUpdated during operation
DistanceLREALNo-9999999.00~9999999.00Relative position
VelocityLREALNo0 to 9999999.00Velocity
AccelerationLREALNo0 to 9999999.00Acceleration
DecelerationLREALNo0 to 9999999.00Deceleration
JerkLREALNo0 to 9999999.00Jerk
BufferModeWORDNo0 to 5Mode selection
AxisWORDNo0 to 65535Axis number
DoneBOOLNoTRUE/FALSECompletion sign
BusyBOOLNoTRUE/FALSEBusy sign
ActiveBOOLNoTRUE/FALSEValid sign
InstructionAbortedBOOLNoTRUE/FALSEAbortion sign
ErrorBOOLNoTRUE/FALSEWhether there is an error or not
ErrorIDDWORDNo-Error code

Function

  • The function block takes the current position as the starting point of motion and controls the controlled axis to reach the set relative position (Distance) with the set parameters (velocity, acceleration, deceleration and jerk), It refers to the motion control that takes starting point of the motion + Distance as the end point.

Precautions

  • This function block is not available when the axis does not exist.

Error code

Error codeContent
4084HData beyond the specifiable range was entered.

Sequence diagram

  • Normal working condition sequence diagram (buffermode_1=0, buffermode_2=0):

1708936170353-654.png

  • mcAboring sequence diagram (buffermode_1=0, buffermode_2=0):

1708936200749-506.png

  • mcBuffered sequence diagram (buffermode_1=0, buffermode_2=1):

1708936252703-706.png

  • mcBlendingLow sequence diagram (buffermode_1=0, buffermdoe_2=2, buffermode_3=2)

    1708936284791-539.png

  • mcBlendingPrevious sequence diagram (buffermode_1=0, buffermode_2=3, buffermode_3=3)

1708936309446-511.png

  • mcBlendingNext sequence diagram (buffermode_1=0, buffermode_2=4,buffermode_3=4):

1708936332278-409.png

  • McBlendingHigh sequence diagram (buffermode_1=0, buffermode_2=5, buffermode_3=5):

1708936365320-929.png

MC_MOVEADDITIVE


MC_MOVEADDITIVE

1708936429637-442.png

This function block is a motion increment function block.

Device used (only a single device can be used, and device splicing and offset are not supported)

InstructionParameterDevicesIndex modificationPulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_MOVEADDITIVEExecute                     
ContinuousUpdate                     
Distance                          
Velocity                          
Acceleration                          
Deceleration                          
Jerk                          
BufferMode                          
Axis                          
Done                      
Busy                      
Active                      
InstructionAborted                      
Error                      
ErrorID                          

Precautions for use of devices

  • LC and HSC are signed 32-bit data types;
  • T, C, D, R and SD are signed 16-bit data types.

Variable Type Used

InstructionParameterVariable typeCan be empty or notRangeDescription
MC_MOVEADDITIVEExecuteBOOLNoTRUE/FALSEEnable
ContinuousUpdateBOOLNoTRUE/FALSEUpdated during operation
DistanceLREALNo-9999999.00~9999999.00Relative position
VelocityLREALNo0 to 9999999.00Velocity
AccelerationLREALNo0 to 9999999.00Acceleration
DecelerationLREALNo0 to 9999999.00Deceleration
JerkLREALNo0 to 9999999.00Jerk
BufferModeWORDNo0 to 5Mode selection
AxisWORDNo0 to 65535Axis number
DoneBOOLNoTRUE/FALSECompletion sign
BusyBOOLNoTRUE/FALSEBusy sign
ActiveBOOLNoTRUE/FALSEValid sign
InstructionAbortedBOOLNoTRUE/FALSEAbortion sign
ErrorBOOLNoTRUE/FALSEWhether there is an error or not
ErrorIDDWORDNo-Error code

Function

  • It is used to add the input parameters (velocity, acceleration, deceleration and jerk) specified by this function block to reach the specified distance (Distance) on the basis of existing motion, i.e., adding distance.

Precautions

  • This function block is not available when the axis does not exist.

Error code

Error codeContent
4084HData beyond the specifiable range was entered.

Sequence diagram

When using MC_MOVEABSOLUTE with MC_MOVEADDITIVE together, and when the tagret position of MC_MOVEABSOLUTE is 10 and velocity is 5, the stacked position of MC_MOVEADDITIVE is 15 and velocity is 10, the relationship between position and velocity of Axis_0 is as follows:

1708936628466-218.png

MC_MOVESUPERIMPOSED


MC_MOVESUPERIMPOSED

1708936695676-290.png

This function block is a motion superposition function block.

Device used (only a single device can be used, and device splicing and offset are not supported)

InstructionParameterDevices

Index

modification

Pulse

expansion

  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_MOVESUPERIMPOSEDExecute                     
ContinuousUpdate                     
Distance                          
VelocityDiff                          
Acceleration                          
Deceleration                          
Jerk                          
BufferMode                          
Axis                          
Done                      
Busy                      
Active                      
InstructionAborted                      
Error                      
ErrorID                          

Precautions for use of devices

  • LC and HSC are signed 32-bit data types;
  • T, C, D, R and SD are signed 16-bit data types;

Variable Type Used

InstructionParameterVariable typeCan be empty or notRangeDescription
MC_MOVESUPERIMPOSEDExecuteBOOLNoTRUE/FALSEEnable
ContinuousUpdateBOOLNoTRUE/FALSEUpdated during operation
DistanceLREALNo-9999999.00~9999999.00Relative position
VelocityDiffLREALNo0 to 9999999.00Velocity
AccelerationLREALNo0 to 9999999.00Acceleration
DecelerationLREALNo0 to 9999999.00Deceleration
JerkLREALNo0 to 9999999.00Jerk
BufferModeWORDNo0 to 5Mode selection
AxisWORDNo0 to 65535Axis number
DoneBOOLNoTRUE/FALSECompletion sign
BusyBOOLNoTRUE/FALSEBusy sign
ActiveBOOLNoTRUE/FALSEValid sign
InstructionAbortedBOOLNoTRUE/FALSEAbortion sign
ErrorBOOLNoTRUE/FALSEWhether there is an error or not
ErrorIDDWORDNo-Error code

Function

  • This function block is used to superpose the motion, which means that on the basis of current motion speed, the velocity difference is added so that the input acceleration, deceleration and jerk are also increased based on the original motion values, i.e., increasing the velocity and making the controlled axis move to the specified (relative) distance (Distance).

Precautions

  • This function block is not available when the axis does not exist;
  • When it executes, the previous function block should be executed first.

Error code

Error codeContent
4084HData beyond the specifiable range was entered.

Sequence diagram 

1708936849134-999.png

Management Function Blocks for Multi-axis Motion Control


MC_CAMTABLESELECT


MC_CAMTABLESELECT

1708937013155-415.png

This function block is used to bind the cam table.

Device used (only a single device can be used, and device splicing and offset are not supported)

InstructionParameterDevices

Index

modification

Pulse

expansion

  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_CAMTABLESELECTExecute                     
Periodic                     
MasterAbsolute                     
SlaveAbsolute                     
Master                          
Slave                          
CamTable                         
Done                      
Busy                      
Error                      
ErrorID                          
CamTableID                          

Precautions for use of devices

  • LC and HSC are signed 32-bit data types;
  • T, C, D, R and SD are signed 16-bit data types;

Variable Type Used

InstructionParameterVariable typeCan be empty or notRangeDescription
MC_CAMTABLESELECTExecuteBOOLNoTRUE/FALSEEnable
PeriodicBOOLNoTRUE/FALSECyclic mode setting
MasterAbsoluteBOOLNoTRUE/FALSEMaster axis position mode setting
SlaveAbsoluteBOOLNoTRUE/FALSESlave axis position mode setting
MasterWORDNo-Master axis
SlaveWORDNo-Slave axis
CamTableCam table (INT type variable)No-Cam table
DoneBOOLNoTRUE/FALSECompletion sign
BusyBOOLNoTRUE/FALSEBusy sign
ErrorBOOLNoTRUE/FALSEWhether there is an error or not
ErrorIDDWORDNo-Error code
CamTableIDWORDNo-Cam table identification number

Function

  • When MasterAbsolute is true, it means the master axis is under the absolute mode; when MasterAbsolute is false, it means the master axis is under the relative mode;
  • When SlaveAbsolute is true, it means the slave axis is under the absolute mode; when SlaveAbsolute is false, it means the slave axis is under the relative mode;
  • This function block is used to bind the cam table, that is, to bind the input master axis, slave axis and cam table. When calling MC_CAMIN function block, only the cam table bound by this function block can be used.

Precautions

  • This function block is not available when the axis does not exist.

Error code

Error codeContent
4084HData beyond the specifiable range was entered.

Sequence diagram 

1708937230885-390.png

MC_GENERATECAMTABLE


MC_GENERATECAMTABLE

1708937316371-993.png

This function block is used to update the cam table.

Device used (Only a single device can be used, and device splicing and offset are not supported)

 

Instruction

 

Parameter

DevicesIndex modificationPulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP

 

MC_GENERATECAMTABLE

Execute1708937346410-601.png1708937346412-566.png1708937346413-140.png1708937346413-653.png1708937346414-925.png                     
CamTableID                          
CamNode                          
NodeNum                1708937346415-218.png         

Generatecam

TableMode

                1708937346415-626.png         
Done 1708937346416-119.png1708937346417-650.png1708937346418-420.png1708937346419-124.png                     
Busy 1708937346421-759.png1708937346423-907.png1708937346423-338.png1708937346424-801.png                     
InstructionAborted 

1708937346425-166.png

1708937346425-794.png

1708937346426-497.png

1708937346427-332.png

1708937346427-282.png

1708937346428-957.png

1708937346429-449.png

 

                     
Error    1708937346429-635.png                     
ErrorID                          

Precautions for use of devices

  • LC and HSC are signed 32-bit data types;
  • T, C, D, R and SD are signed 16-bit data types;

Variable type used

InstructionPinParameterVariable typeCan it be emptyRangeDescription

 

MC_GENERATECAMTABLE

 

Input

ExecuteBOOLNoTRUE/FALSEEnable
CamTableIDINTNo Cam tableID
CamNode

ARRAY

(CAMNODET)

No-Array of cam nodes
NodeNumINTNo2 ~361Number of cam nodes

GeneratecamTable

Mode

 

INT

 

No

 

 

Effective mode

0: Effective in the next cam cycle;

Others:   Reserved

 

Output

DoneBOOLYesTRUE/FALSEBusy flag
BusYBOOLYesTRUE/FALSEAborted flag
InstructionAbortedBOOLYesTRUE/FALSEAbortion flag
ErrorBOOLYes Whether there is an error or not
ErrorIDDWORDYes Error Code (Please check [8.10 Error Code Cross-reference Table] )

Function

  • This function block is used to update cam table. At the rising edge of startup, the cam data is calculated based on values of input variables camNode and NodeNum. The data is updated to the cam table specified by camTable, which is will be effective in the next cam cycle.

✎Note:

1. This function block is not available when the Cam table does not exist.

2. The data written to ECAM table needs to be accurate to six decimal places, otherwise PLC will report error 16x00000C

 Sequence diagram

Picture12.png

MC_SAVECAMTABLE


MC_SAVECAMTABLE

1708937631240-106.png

This function block is used to save the cam table.

Device used (Only a single device can be used, and device splicing and offset are not supported)

 

Instruction

 

Parameter

DevicesIndex modificationPulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP

 

MC_SAVECAMTABLE

Execute1708937655104-706.png1708937655106-671.png1708937655107-449.png1708937655108-356.png1708937655108-481.png                     
CamTableID                          
Done 1708937655109-459.png1708937655110-668.png1708937655111-873.png1708937655111-699.png                     
Busy 1708937655112-723.png1708937655113-511.png1708937655113-220.png1708937655114-762.png                     
InstructionAborted 1708937655115-940.png1708937655116-761.png1708937655116-242.png1708937655117-517.png                     
Error 1708937655118-872.png1708937655121-206.png1708937655122-669.png1708937655123-657.png                     
ErrorID                          

 Precautions for use of devices

  • LC and HSC are signed 32-bit data types;
  • T, C, D, R and SD are signed 16-bit data types;

Variable type used

InstructionPinParameterVariable typeCan it be emptyRangeDescription

 

MC_SAVECAMTABLE

InputExecuteBOOLNoTRUE/FALSEEnable
CamTableIDINTNo-Cam tableID
OutputDoneBOOLYesTRUE/FALSEBusy flag
BusYBOOLYesTRUE/FALSEAborted flag
InstructionAbortedBOOLYesTRUE/FALSEAbortion flag
ErrorBOOLYes-Whether there is an error or not
ErrorIDDWORDYes-Error Code (Please check [8.10 Error Code Cross-reference Table]

Function

  • This function block is used to save the specified cam table.

 ✎Note:This function block is not available when the Cam table does not exist.

In the process of executing this instruction, the controller cannot be powered off. Otherwise, the data will fail to be saved and the cam data will be lost.

Error code 

Error codeContent
4084HData beyond the specifiable range was entered.

Sequence diagram

1708937834226-438.png

Motion Function Block for Multi-axis Motion Control


MC_CAMIN


MC_CAMIN

1708937946127-139.png

The function block enables the controlled axis to carry out cam motion.

Device used (only a single device can be used, and device splicing and offset are not supported)

InstructionParameterDevicesIndex modificationPulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_CAMINExecute                     
ContinuousUpdate                     
MasterIndex                          
SlaveIndex                          
MasterScaling                          
SlaveScaling                          
MasterStartDistance                          
MasterSyncPosition                          
StartMode                          
MasterValueSource                          
CamTableID                          
BufferMode                          
Master                          
Slave                          
InSync                      
Busy                      
Active                      
InstructionAborted                      
Error                      
ErrorID                          
EndOfProfile                          

Precautions for use of devices

  • LC and HSC are signed 32-bit data types;
  • T, C, D, R and SD are signed 16-bit data types;

Variable Type Used

InstructionParameterVariable typeCan be empty or notRangeDescription
MC_CAMINExecuteBOOLNoTRUE/FALSEEnable
ContinuousUpdateBOOLNoTRUE/FALSEUpdated during operation (reserve)
MasterIndexLREALNo-9999999.00~9999999.00Master axis offset
SlaveIndexLREALNo-9999999.00~9999999.00Slave axis bias
MasterScalingLREALNo-9999999.00~9999999.00Master axis scaling factor
SlaveScalingLREALNo-9999999.00~9999999.00Slave axis scaling factor
MasterStartDistanceLREALNo-9999999.00~9999999.00 (not 0)Master axis starting distance
MasterSyncPositionLREALNo-9999999.00~9999999.00Master axis synchronization position
StartModeWORDNo0 to 2Start mode (0-Absolute, 1-Relative, 2-Catchup)
MasterValueSourceWORDNo0 to 2

Master axis synchronization source

(Instruction value, set value and actual value)

CamTableIDWORDNo0 to 9999999.00Electronic CAM table identification
BufferModeWORDNo0Mode selection
MasterWORDNo-Master axis
SlaveWORDNo-Slave axis
InSyncBOOLNoTRUE/FALSECompletion sign
BusyBOOLNoTRUE/FALSEBusy sign
ActiveBOOLNoTRUE/FALSEValid sign
InstructionAbortedBOOLNoTRUE/FALSEAbortion sign
ErrorBOOLNoTRUE/FALSEWhether there is an error or not
ErrorIDDWORDNo-Error code
EndOfProfileWORDNo-Electronic CAM end signal

Function

  • This function starts with the input parameter MasterSyncPosition. Before reaching the MasterSyncPosition, the catchup or transition motion is carried out according to the set parameters (absolute relative of the master axis, absolute relative of the slave axis, starting mode). After reaching the MasterSyncPosition position, the positional relationship between the master axis and the slave axis is obtained according to the camTableID, and the relationship is corrected under the set offset and scaling factors of the master axis and the slave axis, and the cam motion is carried out.
  • MasterSyncPosition

MasterSyncPosition is the absolute position when the axis mode is absolute;

MasterSyncPosition is the relative position when the axis mode is relative;

  • ImSync status bit is turned ON when the master axis reaches MasterSyncPosition position and the slave axis reaches the slave axis position corresponding to the cam table of the master axis. Generally speaking, when the slave axis is in relative mode, the MC_CAMIN instruction is executed, and this status bit will be turned ON immediately; when the slave axis is in absolute or tracing mode, the status bit will be turned ON immediately after the slave axis jumps or traces to the position corresponding to the master axis cam table.
  • The EndOfProfle status bit is turned ON after the slave axis has followed the master axis through the entire cam table; The StartMode parameter, together with the MasterAbsolute/SlaverAbsolute parameters in the MC_CAMTABLESELECT instruction, determines the motion mode of the master/slave axis.
  • The master mode is only determined by MasterAbsolute and is not affected by the value in StartMode. The slave axis mode is expressed as follows:
StartModeSlaveAbsoluteSlave axis mode
AbsoluteRelativeRelative
AbsoluteAbsoluteAbsolute
RelativeRelativeRelative
RelativeAbsoluteRelative
Catch upRelativeRelative catch up
Catch upAbsoluteRelative catch up
Master axis modeSlave axis modeResult
RelativeRelative

When CAMIN is executed, slave axis position jumps to the set offset position;

When master axis is executing, slave axis performs relative motion according to the start position of cam table.

Absolute

When CAMIN is executed, slave axis position jumps to the cam table start position (i.e., 0);

When the master axis is executing, slave axis moves according to the corresponding point position of the cam table.

Relative

When CAMIN is executed, slave axis position catches up to the set offset position;

When the master axis is executing, the slave axis performs relative motion according to the corresponding points of the cam table.

Absolute catch up

When CAMIN is executed, slave axis position catches up to the cam table starting position (i.e., 0);

When the master axis is executing, the slave axis moves according to the corresponding point position of the cam table.

AbsoluteRelative

When CAMIN is executed, slave axis position jumps to the set offset position;

When the master axis is executing, the slave axis performs relative motion according to the points corresponding to the cam table.

Absolute

When CAMIN is executed, slave axis position jumps to the current slave axis position corresponding to the master axis in the cam table (For example, if the current position of the master axis is 100 and the slave axis point corresponding to the master axis point 100 in the cam table is 200, the slave axis jumps after CAMIN is executed;)

After the master axis is executing, slave axis performs relative motion according to the corresponding points in the cam table.

Relative catch up

When CAMIN is executed, slave axis position catches up to the set offset position;

When the master axis is executing, slave axis performs relative motion according to the corresponding points of the cam table.

Absolute catch up

When CAMIN is executed, slave axis position catches up to the current slave axis position corresponding to the master axis in the cam table

(For example, if the current position of the master axis is 100 and the slave axis point corresponding to the master axis point 100 in the cam table is 200, the slave axis jumps after CAMIN is executed;)

After the master axis is running, the slave axis performs relative motion to the corresponding points in the cam table.

  • When axis is in absolute mode, if the current position of the axis is not within the range of the axis in the cam table, it will be processed by self-acting periodization.

Example: the current axis position is 110, and the axis position in the cam table is 0~100, then the default axis position after CAMIN execution is 10 (the actual axis position does not change);

  • The master-slave axis multiplier and master-slave axis offset parameters take effect when CAMIN is executed and do not support modification in the process; unsuitable parameters will cause the slave axis position to jump.
  • The master-slave position relationship (where CAM () indicates the corresponding slave position of the master axis on the cam table):

Master Position = Master Position * Master Multiplier + Master Offset

Slave position = Slave multiplier * CAM (spindle position) + Slave offset

  • The master-slave multiplier cannot be 0.

Precautions

  • This function block is not available when the axis does not exist;
  • The motion mode of the slave axis shall be determined according to start mode and SlaveAbsolute of CamtableSelect. See “Chapter 8.6” [Description of Several Modes in E-CAM] for details. MasterValueSource is now an actual value regardless of which mode you choose.

Error code

Error codeContent
4084HData beyond the specifiable range was entered.

Sequence diagram

▪ MC_CAMIN needs to be used in conjunction with MC_CAMTABLESELECT and a single-axis motion (e.g., MC_MOVEABSOLUTE), the sequence diagram is as follows.

1708938240121-859.png

(1) Slave motion varies depending on StartMode.

Assume that the start conditions for cam motion are as follows:

▪ In condition 1, the master axis jumps at the position of 20 (70~50), and the jumping position is the cam table position corresponding to masterSyncPosition, and the output variable InSync (in synchronization) changes to TRUE when it passes the position of 70, and the slave axis starts camming.

▪ In condition 2, the master axis will catch up at 20 (70~50), and the catch-up position is the cam table position corresponding to masterSyncPosition, and the output variable InSync (in synchronization) becomes TRUE when it passes the position of 70, and the slave axis starts camming.

▪ In condition 3, the output variable InSync (in synchronization) becomes TRUE when the master axis passes the position of 70, and the slave axis starts camming.

Input variableCondition 1Condition 2Condition 3
MasterAbsoluteTrue (Absolute)True (Absolute)True (Absolute)
SlaveAbsoluteTrue (Absolute)True (Absolute)FALSE (Relative)
StartModeMC_START_MODE_ABSOLUTEMC_START_MODE_RAMPINMC_START_MODE_RELATIVE
MasterSyncPosition707070
MasterDistace505050
MasterOffset000
SlaveOffset000
MasterScaling111
SlaveScaling111

(2) Slave motion varies depending on MasterAbsolute.

1708938293300-489.png

1708938305434-874.png

1708938314862-131.png

(3)Slave motion varies depending on SlaveAbsolute.

1708938393382-857.png

1708938413402-528.png

MC_CAMOUT


MC_CAMOUT

1708938462508-819.png

The function block enables the controlled axis to carry out uniform motion at current velocity.

Device used (only a single device can be used, and device splicing and offset are not supported)

InstructionParameterDevicesIndex modification

Pulse

expansion

  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_CAMOUTExecute                     
Slave                          
Done                      
Busy                      
Error                      
ErrorID                          

Precautions for use of devices

  • LC and HSC are signed 32-bit data types;
  • T, C, D, R and SD are signed 16-bit data types;

Variable Type Used

InstructionParameterVariable typeCan be empty or notRangeDescription
MC_CAMOUTExecuteBOOLNoTRUE/FALSEEnable
SlaveWORDNo0 to 65535Slave axis
DoneBOOLNoTRUE/FALSECompletion sign
BusyBOOLNoTRUE/FALSEBusy sign
ErrorBOOLNoTRUE/FALSEWhether there is an error or not
ErrorIDDWORDNo-Error code

Function

  • The function is used to separate the slave axis from the position relation specified for the electronic cam. Execute the MC_CamOut function block to transform the slave shaft from the synchronous state to the continuous motion state. The current velocity of the slave axis is maintained.

Precautions

  • This function block is not available when the axis does not exist.

Sequence diagram

1708938589953-976.png

MC_GEARIN


MC_GEARIN

1708938638291-674.png

The function block enables the controlled axis to carry out gear motion.

Device used (only a single device can be used, and device splicing and offset are not supported)

InstructionParameterDevicesIndex modificationPulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_GEARINExecute                     
ContinuousUpdate                     
RatioNumerator                          
RatioDenominator                          
MasterValueSource                          
Acceleration                          
Deceleration                          
Jerk                          
BufferMode                          
Master                          
Slave                          
InGear                      
Busy                      
Active                      
InstructionAborted                      
Error                      
ErrorID                          

Precautions for use of devices

  • LC and HSC are signed 32-bit data types;
  • T, C, D, R and SD are signed 16-bit data types;

Variable Type Used

InstructionParameterVariable typeCan be empty or notRangeDescription
MC_GEARINExecuteBOOLNoTRUE/FALSEEnable
ContinuousUpdateBOOLNoTRUE/FALSEUpdated during operation (reserve)
RatioNumeratorUNITNo[-32768,0)U(0,32767]Gear velocity ratio (numerator)
RatioDenominatorUDINTNo(0,65535]Gear velocity ratio (denominator)
MasterValueSourceWORDNo0 to 2

Master axis synchronization source

(Instruction value, set value and actual value)

AccelerationLREALNo0 to 9999999.99999Acceleration
DecelerationLREALNo0 to 9999999.99999Deceleration
JerkLREALNo0 to 9999999.99999Jerk
BufferModeWORDNo0 to 5Selection
MasterWORDNo0 to 65536Master axis
SlaveWORDNo0 to 65536Slave axis
InGearBOOLNoTRUE/FALSECompletion sign
BusyBOOLNoTRUE/FALSEBusy sign
ActiveBOOLNoTRUE/FALSEValid sign
InstructionAbortedBOOLNoTRUE/FALSEAbortion sign
ErrorBOOLNoTRUE/FALSEWhether there is an error or not
ErrorIDDWORDNo-Error code

Function

  • The function block is used for establishing the synchronization of the velocity ratio between the master axis and the slave axis. Firstly, the slave axis takes the velocity of master axis multiplied by the velocity ratio as the target velocity and moves at the set acceleration and jerk and executes gear motion according to the velocity of master axis when reaching the target motion.

Precautions

  • This function block is not available when the axis does not exist.

Error code

Error codeContent
4084HData beyond the specifiable range was entered.

Sequence diagram

  • After starting the motion, the slave axis performs acceleration and deceleration with the velocity obtained by multiplying the spindle speed by the gear ratio as the target speed;
  • Before reaching target position is called the Catching phase and after reaching it is called the InGear phase;
  • The gear ratio is positive and the slave axis moves in the same direction as the master axis.

1708938826565-617.png

  • The gear ratio is negative and the slave axis moves in the reverse direction to the master axis.

1708938850653-961.png

Before reaching synchronization, the slave axis moves according to the maximum acceleration set by the axis as plus or minus speed, and the slave axis velocity is recognized when it is equal to the speed of the master axis multiplied by the gear ratio.

When the speed of the slave axis equals the speed of the master axis multiplied by the gear ratio, the gears are recognized as meshing, and thereafter the slave axis follows the master axis completely.

  1. Master axis maintains constant velocity before synchronization (Gear instruction is triggered according to 1:1 gear ratio)

    1708938900938-930.png

  2. Master axis moves in variable velocity before synchronization (Gear instruction triggered according to 1:1 gear ratio)

    1708938892131-173.png

MC_GEAROUT


MC_GEAROUT

1708938960939-798.png

The function block enables the controlled axis to carry out uniform motion at current velocity.

Device used (only a single device can be used, and device splicing and offset are not supported)

InstructionParameterDevicesIndex modificationPulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_GEAROUTExecute                     
Slave                          
Done                      
Busy                      
Error                      
ErrorID                          

Precautions for use of devices

  • LC and HSC are signed 32-bit data types;
  • T, C, D, R and SD are signed 16-bit data types;

Variable Type Used

InstructionParameterVariable typeCan be empty or notRangeDescription
MC_GEAROUTExecuteBOOLNoTRUE/FALSEEnable
SlaveWORDNo0 to 65535Axis number
DoneBOOLNoTRUE/FALSECompletion sign
BusyBOOLNoTRUE/FALSEBusy sign
ErrorBOOLNoTRUE/FALSEWhether there is an error or not
ErrorIDDWORDNo-Error code

 Function

  • The function block is used for separating the slave axis from the master axis at the velocity ratio and maintaining the motion at the velocity when it separates.

Precautions

  • This function block is not available when the axis does not exist.

Sequence diagram

1708939163693-763.png

 MC_GEARINPOS


MC_GEARINPOS

1708939230407-562.png

The function block enables the controlled axis to carry out gear motion.

Device used (only a single device can be used, and device splicing and offset are not supported)

InstructionParameterDevicesIndex modificationPulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_GEARINPOSExecute                     
RatioNumerator                          
RatioDenominator                          
MasterValueSource                          
MasterSyncPosition                          
SlaveSyncPosition                          
SyncMode                          
MasterStartDistance                          
Velocity                          
Acceleration                          
Deceleration                          
Jerk                          
BufferMode                          
Master                          
Slave                          
StartSync                          
InSync                      
Busy                      
Active                      
InstructionAborted                      
Error                      
ErrorID                          

Precautions for use of devices

  • LC and HSC are signed 32-bit data types;
  • C, D, R and SD are signed 16-bit data types.

Variable Type Used 

InstructionParameterVariable typeCan be empty or notRangeDescription
MC_GEARINPOSExecuteBOOLNoTRUE/FALSEEnable
RatioNumeratorUNITNo[-32768,0)U(0,32767]Gear velocity ratio (numerator)
RatioDenominatorUDINTNo(0,65535]Gear velocity ratio (denominator)
MasterValueSourceWORDNo0 to 2

Master axis synchronization source

(Instruction value, set value and actual value)

MasterSyncPositionLREALNo-9999999.999999 to 9999999.999999Master axis synchronization position
SlaveSyncPositionLREALNo-9999999.999999 to 9999999.999999Slave axis synchronization position
SyncModeWORDNo0 to 2Synchronous mode (shortest, catchup, slowdown)
MasterStartDistanceLREALNo-9999999.999999 to 9999999.999999 (not 0)Master axis starting distance
VelocityLREALNo0 to 9999999.999999 (not 0)Velocity
AccelerationLREALNo0 to 9999999.999999 (not 0)Acceleration
DecelerationLREALNo0 to 9999999.999999 (not 0)Deceleration
JerkLREALNo0 to 9999999.999999Jerk
BufferModeWORDNo0 to 5Buffer mode selection
MasterWORDNo0 to 65535Master axis
SlaveWORDNo0 to 65535Slave axis
StartSyncBOOLNoTRUE/FALSESynchronous identification
InSyncBOOLNoTRUE/FALSESynchronized sign
BusyBOOLNoTRUE/FALSEBusy sign
ActiveBOOLNoTRUE/FALSEValid sign
InstructionAbortedBOOLNoTRUE/FALSEAbortion sign
ErrorBOOLNoTRUE/FALSEWhether there is an error or not
ErrorIDDWORDNo-Error code

Function

  • The function block is used to achieve the specified velocity ratio between the slave axis and master axis at the specific position through a set maximum velocity, acceleration, deceleration, jerk and synchronous mode.

Precautions

  • This function block is not available when the axis does not exist.

Error code

Error codeContent
4084HData beyond the specifiable range was entered.

 Sequence diagram

  • After starting the motion, the slave axis performs acceleration and deceleration with the speed obtained by multiplying the axis velocity by the gear ratio as the target velocity;
  • The position obtained by ▪ (MasterSyncPosition - MasterStartDistance) is called the start position, and after the master axis reaches this position, the slave axis starts to catching up with the target;
  • If the gear ratio is positive, the slave axis moves in the same direction as the master axis.

1708939532879-130.png

  • If the gear ratio is negative, the slave axis moves in the reverse direction to the master axis.

1708939562781-830.png

  • Before reaching synchronization, the slave axis moves at the maximum acceleration set by the axis as plus or minus speed, and is recognized when the slave axis speed is equal to the speed of the master axis multiplied by the gear ratio.
  • When the speed of the slave axis equals the velocity of the master axis multiplied by the gear ratio, the gears are considered to be meshed, and thereafter the slave axis follows the main axis completely.
  1. The master axis moves at a constant speed until synchronization is achieved (The gear instruction is triggered at a gear ratio of 1:1).

    1708939646390-943.png

  2. Master axis moves in variable velocity before synchronization (Gear instruction triggered according to 1:1 gear ratio)

    1708939657645-807.png

gearInPos carries out the pursuit motion in the following three modes, all following the spindle in gear motion after the target speed has been reached:

  • Shortest: catching in constant acceleration mode;
  • Catchuo: catching in S-curve;
  • Slowdown: catching up in T-curve.

 Note: When the amount of movement in the chase is short, there may be an abrupt change in speed from the axis to the target position and then directly to the target speed.

Management functions of axis group motion control


MC_ADDAXISTOGROUP


MC_ADDAXISTOGROUP

1708999788060-281.png

The function block is to add axis to axis group.

Device used (Only a single device can be used, and device splicing and index are not supported)

InstructionParameterDevicesIndex modificationPulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_ADDAXISTOGROUPExecute                     
IdentInGroup                          
AxesGroup                          
Axis                          
Done                      
Busy                      
Error                      

Precautions for use of devices

▪LC and HSC are signed 32-bit data types;

▪T, C, D, R and SD are signed 16-bit data types;

Variable type used

InstructionParameterVariable typeCan it be emptyRangeDescription
MC_ADDAXISTOGROUPExecuteBOOLNoTRUE/FALSEEnable
IdentInGroupWORDNo[0 to 2]Axis sequence flag
AxesGroupWORDNo[0 to 65535]Axis group number
AxisWORDNo[0 to 65535]Axis number
DoneBOOLYesTRUE/FALSECompletion flag
BusyBOOLYesTRUE/FALSEBusy flag
ErrorBOOLYesTRUE/FALSEWhether there is an error or not
ErrorIDDWORDYes-Error code (Please check【8. 10 Error Code Cross-reference Table】)

Features

▪The rising edge of Execute triggers and Axis is added to Axes Group. Instructions are not buffered and axis do not move;

▪IndentInGroup is a flag of the adding axis order to axis group.

✎Note:

▪If the serial number of the axis group does not exist, an error will be reported;

▪When the axis group is enabled, an error will be reported when add new axis;

▪Axis group cannot move when only adding axis to axis group. It is necessary to call MC_GroupEnable to enable the motion.

 Error code

Error codeContent
4084HData beyond the specifiable range was input.

Sequence diagram

1709000371923-181.png

MC_REMOVEAXISFROMGROUP


MC_REMOVEAXISFROMGROUP

1709000436811-846.png

This function block removes axis from an axis group.

Device used (Only a single device can be used, and device splicing and index are not supported)

InstructionParameterDevicesIndex modificationPulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_REMOVEAXISFROMGROUPExecute                     
IdentInGroup                          
AxesGroup                          
Done                      
Busy                      
Error                      
ErrorID                          

Precautions for use of devices

▪LC and HSC are signed 32-bit data types;

▪T, C, D, R and SD are signed 16-bit data types;

Variable type used

InstructionParameterVariable typeCan it be emptyRangeDescription
MC_REMOVEAXISFROMGROUPExecuteBOOLNoTRUE/FALSEEnable
IdentInGroupWORDNo[0 to 2]Axis sequence flag
AxesGroupWORDNo[0 to 65535]Axis group number
DoneBOOLYesTRUE/FALSECompletion flag
BusyBOOLYesTRUE/FALSEBusy flag
ErrorBOOLYesTRUE/FALSEWhether there is an error or not
ErrorIDDWORDYes-Error code (Please check【8. 10 Error Code Cross-reference Table】)

Features

▪This function block removes axis from AxesGroup with serial number marked by IdentInGroup, which are not cached and do not move.

 ✎Note:▪If the serial number of the axis group does not exist, an error will be reported;

▪ Axis group is running or not disabled, and an error will be reported when removed the axis;

▪Single-axis operation can only be executed when the axis group is disabled, and whether it is removed or not will not affect the single-axis operation.

Error code 

Error codeContent
4084HData beyond the specifiable range was input.

Sequence diagram

1709000691345-890.png

MC_UNGROUPALLAXES


MC_UNGROUPALLAXES

1709000738471-185.png

This function block removes all the axes from an axis group.

Device used (Only a single device can be used, and device splicing and index are not supported)

InstructionParameterDevicesIndex modificationPulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_UNGROUPALLAXESExecute                     
AxesGroup                          
Done                      
BusY                      
Error                      
ErrorID                          

 Precautions for use of devices

▪LC and HSC are signed 32-bit data types;

▪T, C, D, R and SD are signed 16-bit data types;

Variable type used

InstructionParameterVariable typeCan it be emptyRangeDescription
MC_UNGROUPALLAXESExecuteBOOLNoTRUE/FALSEEnable
AxesGroupWORDNo[0 to 65535]Axis group number
DoneBOOLYesTRUE/FALSECompletion flag
BusYBOOLYesTRUE/FALSEBusy flag
ErrorBOOLYesTRUE/FALSEWhether there is an error or not
ErrorIDDWORDYes-Error code (Please check【8. 10 Error Code Cross-reference Table】)

 Features

▪Delete all axes from AxesGroup. Not be buffered and not move.

✎Note:

▪If the serial number of the axis group does not exist, an error will be reported;

▪ Axis group is running or not disabled, and an error will be reported when removed the axis;

Error code

Error codeContent
4084HInput data beyond the specifiable range

Sequence diagram 

1709001126146-829.png

MC_GROUPENABLE


MC_GROUPENABLE

1709001201497-541.png

The function block is axis group enabled.

Device used (Only a single device can be used, and device splicing and index are not supported)

InstructionParameterDevicesIndex modificationPulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_SAVECAMTABLEExecute                     
AxesGroup                          
Done                      
Busy                      
Error                      
ErrorID                          

Precautions for use of devices

▪LC and HSC are signed 32-bit data types;

▪T, C, D, R and SD are signed 16-bit data types.

Variable type used

InstructionParameterVariable typeCan it be emptyRangeDescription
MC_GROUPENABLEExecuteBOOLNoTRUE/FALSEEnable
AxesGroupWORDNo[0 to 65535]Axis group number
DoneBOOLYesTRUE/FALSECompletion flag
BusyBOOLYesTRUE/FALSEBusy flag
ErrorBOOLYesTRUE/FALSEWhether there is an error or not
ErrorIDDWORDYes-Error code (Please check【8. 10 Error Code Cross-reference Table】)

Features

▪Enable axis group to run on the Execute rising edge.

✎Note:▪Axis group motion can only be running when enabled, otherwise an error will be reported;

▪When a single axis is running, enabling this block will report an error.

Error code

Error codeContent
4084HInput data beyond the specifiable range

MC_GROUPDISABLE


MC_GROUPDISABLE

1709001439118-784.png

This function block is axis group disabled.

Device used (Only a single device can be used, an d device splicing and index are not supported)

InstructionParameterDevicesIndex modificationPulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_GROUPDISABLEExecute                     
AxesGroup                          
Done                      
Busy                      
Error                      
ErrorID                          

 Precautions for use of devices

▪LC and HSC are signed 32-bit data types;

▪T, C, D, R and SD are signed 16-bit data types.

Variable type used

InstructionParameterVariable typeCan it be emptyRangeDescription
MC_GROUPDISABLEExecuteBOOLNoTRUE/FALSEEnable
AxesGroupWORDNo[0 to 65535]Axis group number
DoneBOOLYesTRUE/FALSECompletion flag
BusyBOOLYesTRUE/FALSEBusy flag
ErrorBOOLYesTRUE/FALSEWhether there is an error or not
ErrorIDDWORDYes-Error code (Please check【8. 10 Error Code Cross-reference Table】)

Features

▪On the Execute rising edge, disable the axis group.

✎Note:

▪Single axis operation can only be executed when the group is disabled.

▪When a single axis is running, disabling this block will report an error.

 Error code

Error codeContent
4084HInput data beyond the specifiable range

MC_GROUPREDACTUALPOSITION


MC_GROUPREADACTUALPOSITION

1709001728776-330.png

This function block is to read the actual position of each axis from the axis group.

Device used (Only a single device can be used, and device splicing and index are not supported)

InstructionParameterDevicesIndex modificationPulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_GROUPREADA CTUALPOSITIONEnable                     
CoordSystem                          
AxesGroup                          
Valid                      
Busy                      
Error                      
ErrorID                          
Position                          

Precautions for use of devices

▪LC and HSC are signed 32-bit data types;

▪T, C, D, R and SD are signed 16-bit data types.

Variable type used

InstructionParameterVariable typeCan it be emptyRangeDescription
MC_GROUPREADACTUALPOSITIONEnableBOOLNoTRUE/FALSEEnable
CoordSystemWORDYes0Coordinate system
AxesGroupWORDNo[0 to 65535]Axis group number
ValidBOOLYesTRUE/FALSECompletion flag
BusyBOOLYesTRUE/FALSEBusy flag
ErrorBOOLYesTRUE/FALSEWhether there is an error or not
ErrorIDDWORDYes-Error code (Please check【8. 10 Error Code Cross-reference Table】)
PositionLREAL arrayYes Position

Features

  • When Enable= true, the position of each axis of the selected axis group in the selected coordinate system is continuously returned.

Error code

Error codeContent
4084HInput data beyond the specifiable range

MC_GROUPREADACTUALVELOCITY


MC_GROUPREADACTUALVELOCITY

1709001989613-444.png

Data URI image

This function block is to read the actual velocity of each axis from the axis group.

Device used (Only a single device can be used, and device splicing and index are not supported)

InstructionParameterDevicesIndex modificationPulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_GROUPREADACTUALVELOCITYEnable                     
CoordSystem                          
AxesGroup                          
Valid                      
Busy                      
Error                      
ErrorID                          
Velocity                          
PathVelocity                          

Precautions for use of devices

▪LC and HSC are signed 32-bit data types;

▪T, C, D, R and SD are signed 16-bit data types;

Variable type used

InstructionParameterVariable typeCan it be emptyRangeDescription
MC_GROUPREADACTUALVELOCITYEnableBOOLNoTRUE/FALSEEnable
CoordSystemWORDYes0Coordinate system
AxesGroupWORDNo[0 to 65535]Axis group number
ValidBOOLYesTRUE/FALSECompletion flag
BusyBOOLYesTRUE/FALSEBusy flag
ErrorBOOLYesTRUE/FALSEWhether there is an error or not
ErrorIDDWORDYes-Error code (Please check【8. 10 Error Code Cross-reference Table】)
VelocityLREAL arrayYes Velocity
PathVelocityLREALYes Path velocity

 Features

  • When Enable=true, the velocity of each axis and the current TCP path velocity (the result of combined velocity) of the selected axis group in the selected coordinate system are continuously returned.

 Error code

Error codeContent
4084HData beyond the specifiable range was input.

MC_GROUPREADERROR


MC_GROUPREADERROR

1709002267106-659.png

Data URI image

The function block is axis group to read error.

Device used (Only a single device can be used, and device splicing and index are not supported)

InstructionParameterDevicesIndex modificationPulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_GROUPREADERROREnable                     
AxesGroup                          
Valid                      
Busy                      
Error                      
ErrorID                          
GroupErrorID                          

Precautions for use of devices

▪LC and HSC are signed 32-bit data types;

▪T, C, D, R and SD are signed 16-bit data types;

Variable type used

InstructionParameterVariable typeCan it be emptyRangeDescription
MC_GROUPREADERROREnableBOOLNoTRUE/FALSEEnable
AxesGroupWORDNo[0 to 65535]Axis group number
ValidBOOLYesTRUE/FALSECompletion flag
BusyBOOLYesTRUE/FALSEBusy flag
ErrorBOOLYesTRUE/FALSEWhether there is an error or not
ErrorIDDWORDYes-Error code (Please check【8. 10 Error Code Cross-reference Table】)
GroupErrorIDDWRODYes Axis group error code

Features

▪When Enable= true, read the axis group error status.

Error code

Error codeContent
4084HInput data beyond the specifiable range

MC_GROUPREADSTATUS


MC_GROUPREADSTATUS

1709002503132-985.png

This function block reads the status of the currently activated axis group.

Device used (Only a single device can be used, and device splicing and index are not supported)

InstructionParameterDevicesIndex modificationPulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_GROUPREADERROREnable                     
AxesGroup                          
Valid                      
Busy                      
Error                      
ErrorID                          
GroupErrorID                          

Precautions for use of devices

▪LC and HSC are signed 32-bit data types;

▪T, C, D, R and SD are signed 16-bit data types;

Variable type used

InstructionParameterVariable typeCan it be emptyRangeDescription
MC_GROUPREADERROREnableBOOLNoTRUE/FALSEEnable
AxesGroupWORDNo[0 to 65535]Axis group number
ValidBOOLYesTRUE/FALSECompletion flag
BusyBOOLYesTRUE/FALSEBusy flag
ErrorBOOLYesTRUE/FALSEWhether there is an error or not
ErrorIDDWORDYes-Error code (Please check【8. 10 Error Code Cross-reference Table】)
GroupErrorIDDWRODYes Axis group error code

 Features

▪When Enable= true, the status of the enabled axis group is continuously returned, and its status is set and marked by the output flag;

▪ConstantVelocity is set to ON when moving at constant velocity on the command path.1709002654690-619.pngAccelerating and decelerating is set to ON when the velocity increases or decreases on the command path.

▪ InPosition is set to ON when reach the target position. 

Error code

Error codeContent
4084HInput data beyond the specifiable range

MC_GROUPRESET


MC_GROUPRESET

1709002711461-974.png

The function block is axis group reset.

Device used (Only a single device can be used, and device splicing and index are not supported)

InstructionParameterDevicesIndex modificationPulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_GROUPRESETExecute                     
AxesGroup                          
Done                      
Busy                      
Error                      
ErrorID                          

Precautions for use of devices

▪LC and HSC are signed 32-bit data types;

▪T, C, D, R and SD are signed 16-bit data types.

Variable type used

InstructionParameterVariable typeCan it be emptyRangeDescription
MC_GROUPRESETExecuteBOOLNoTRUE/FALSEEnable
AxesGroupWORDNo[0 to 65535]Axis group number
DoneBOOLYesTRUE/FALSECompletion flag
BusyBOOLYesTRUE/FALSEBusy flag
ErrorBOOLYesTRUE/FALSEWhether there is an error or not
ErrorIDDWORDYes-Error code (Please check【8. 10 Error Code Cross-reference Table】)

Features

▪Reset the axis group from the error status to the enabled status when on the Execute rising edge, which is similar with the single-axis MC_Reset.

Error code

Error codeContent
4084HInput data beyond the specifiable range

MC_GROUPREADACTUALACCELERATION


MC_GROUPREADACTUALACCELERATION

1709002873108-663.png

This function block is to read the actual acceleration of each axis from the axis group.

Device used (Only a single device can be used, and device splicing and index are not supported)

InstructionParameterDevicesIndex modificationPulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP

MC_GROUPREADACTUALACCELERATION

 

Enable                     
CoordSystem                          
AxesGroup                          
Valid                      
Busy                      
Error                      
ErrorID                          
Acceleration                          
PathAcceleration                          

 Precautions for use of devices

▪LC and HSC are signed 32-bit data types;

▪T, C, D, R and SD are signed 16-bit data types;

Variable type used

InstructionParameterVariable typeCan it be emptyRangeDescription
MC_GROUPREADACTUALACCELERATIONEnableBOOLNoTRUE/FALSEEnable
CoordSystemWORDYes0Coordinate system
AxesGroupWORDNo[0 to 65535]Axis group number
ValidBOOLYesTRUE/FALSEWhether the input is valid or not
BusyBOOLYesTRUE/FALSEBusy flag
ErrorBOOLYesTRUE/FALSEWhether there is an error or not
ErrorIDDWORDYes-Error code (Please check【8. 10 Error Code Cross-reference Table】)
AccelerationLREAL arrayYes Acceleration
PathAccelerationLREALYes Path acceleration

Features

▪When Enable=true, the acceleration of each axis and the current TCP path acceleration (The result of combined acceleration) of the selected axis group in the selected coordinate system are continuously returned.

Error code

Error codeContent
4084HData beyond the specifiable range was input.

Axis group motion Function Blocks


MC_GROUPSTOP


MC_GROUPSTOP

1709003200997-104.png

The function block is use to stop axis group.

Device used (Only a single device can be used, and device splicing and index are not supported)

InstructionParameterDevicesIndex modificationPulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_GROUPSTOPExecute                     
Deceleration                          
Jerk                          
AxesGroup                          
Done                      
Busy                      
Active                      
InstructionAborted                      
Error                      
ErrorID                          

Precautions for use of devices

▪LC and HSC are signed 32-bit data types;

▪T, C, D, R and SD are signed 16-bit data types;

Variable type used

InstructionParameterVariable typeCan it be emptyRangeDescription
MC_GROUPSTOPExecuteBOOLNoTRUE/FALSEEnable
DecelerationLREALNo[0 to 999999999. 999999]Deceleration
JerkLREALYes[0 to 999999999. 999999]Jerk
AxesGroupWORDNo[0 to 65535]Axis group number
DoneBOOLYesTRUE/FALSECompletion flag
BusyBOOLYesTRUE/FALSEBusy flag
ActiveBOOLYesTRUE/FALSEValid flag
InstructionAbortedBOOLYesTRUE/FALSEAbortion flag
ErrorBOOLYesTRUE/FALSEWhether there is an error or not
ErrorIDDWORDYes-Error code (Please check【8. 10 Error Code Cross-reference Table】)

Features

▪When on the Execute rising edge, the axis group decelerate to stop and any functional block being executed is stopped. When Execute=true, the axis group is on the stop status and cannot execute other axis group motion instruction.

▪The velocity of axis group is zero. Done is set to ON. If Execute=false, return to the normal axis group enabling status;

▪Only MC_GroupDisable can be used to interrupt axis group.

Error code

Error codeContent
4084HInput data beyond the specifiable range

MC_GROUPHALT


MC_GROUPHALT

1709003451573-543.png

The function block is to halt axis group.

Device used (Only a single device can be used, and device splicing and index are not supported)

InstructionParameterDevicesIndex modificationPulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_GROUPHALTExecute                     
Deceleration                          
Jerk                          
AxesGroup                          
Done                      
Busy                      
Active                      
InstructionAborted                      
Error                      
ErrorID                          

Precautions for use of devices

▪LC and HSC are signed 32-bit data types;

▪T, C, D, R and SD are signed 16-bit data types;

Variable type used

InstructionParameterVariable typeCan it be emptyRangeDescription
MC_GROUPHALTExecuteBOOLNoTRUE/FALSEEnable
DecelerationLREALNo[0 to 999999999. 999999]Deceleration
JerkLREALYes[0 to 999999999. 999999]Jerk
AxesGroupWORDNo[0 to 65535]Axis group number
DoneBOOLYesTRUE/FALSECompletion flag
BusyBOOLYesTRUE/FALSEBusy flag
ActiveBOOLYesTRUE/FALSEValid flag
InstructionAbortedBOOLYesTRUE/FALSEAbortion flag
ErrorBOOLYesTRUE/FALSEWhether there is an error or not
ErrorIDDWORDYes-Error code (Please check【8. 10 Error Code Cross-reference Table】)

Features

▪When on the Execute rising edge, the axis group decelerate to stop, any function block being executed is stopped, and the axis group velocity is 0. Done is set to on;

▪Unbuffered mode: During axis group deceleration, if another function block with mcAborting buffer mode is executed, the current function block is interrupted and the new function block is executed immediately.

Error code

Error codeContent
4084HData beyond the specifiable range was input.

MC_MOVELINEARABSOLUTE


MC_MOVELINEARABSOLUTE

1709003761756-581.png

This function block is absolute position linear interpolation.

Device used (Only a single device can be used, and device splicing and index are not supported)

InstructionParameterDevicesIndex modificationPulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_MOVELINEARABSOLUTEExecute                     
Position                          
Velocity                          
Acceleration                          
Deceleration                          
Jerk                          
CoordSystem                          
BufferMode                          
TransitionMode                          
TransitionParameter                          
AxesGroup                          
Done                      
Busy                      
Active                      
InstructionAborted                      
Error                      
ErrorID                          

Precautions for use of devices

▪LC and HSC are signed 32-bit data types;

▪T, C, D, R and SD are signed 16-bit data types;
Variable type used

InstructionParameterVariable typeCan it be emptyRangeDescription

MC_MOVELINEARABSOLUTE

ExecuteBOOLNoTRUE/FALSEEnable
PositionLREAL arrayNo-Position
VelocityLREALNo[0 to 999999999. 999999]Velocity
AccelerationLREALNo[0 to 999999999. 999999]Acceleration
DecelerationLREALNo[0 to 999999999. 999999]Deceleration
JerkLREALYes[0 to 999999999. 999999]Jerk is valid in S curve only.
CoordSystemWORDYes0Coordinate system
BufferModeWORDYes[0 to 1]Please check [8.9.5 Mode selection description] for more details.
TransitionModeWORDYes[0 to 2]Please check [8.9.4 Transition mode description] for more details.
TransitionParameterLREALYes[0 to 999999999. 999999]Please check [8.9.4 Transition mode description] for more details on transition parameter.
AxesGroupWORDNo[0 to 65535]Axis group number
DoneBOOLYesTRUE/FALSECompletion flag
BusyBOOLYesTRUE/FALSEBusy flag
ActiveBOOLYesTRUE/FALSEValid flag
InstructionAbortedBOOLYesTRUE/FALSEAbortion flag
ErrorBOOLYesTRUE/FALSEWhether there is an error or not
ErrorIDDWORDYes-Error code (Please check【8. 10 Error Code Cross-reference Table】)

Features

▪This function block executes linear interpolation motion, and puts the actual TCP position to the absolute position specified by a specific CoordSystem.

✎Note:

▪The axis group can be moved only when being enabled;

▪All velocities and accelerations are in a safe range, and subject to the maximum velocity and acceleration that can be reached (Affected by the planning velocity, the limited velocity and acceleration set in the FB). If all the velocities and accelerations exceed the limit, they should be reduced to the limit.

▪Linear motion is allowed to be interrupted;

▪Axis group don’t support S type curve, so acceleration is not taking effect.

Error code 

Error codeContent
4084HInput data beyond the specifiable range

1709004126151-658.png

MC_MOVELINEARRELATIVE


MC_MOVELINEARRELATIVE

1709004271451-886.png

This function block is relative position linear interpolation.

Device used (Only a single device can be used, and device splicing and index are not supported)

InstructionParameterDevicesIndex modificationPulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_MOVELINEARRELATIVEExecute                     
Distance                          
Velocity                          
Acceleration                          
Deceleration                          
Jerk                          
CoordSystem                          
BufferMode                          
TransitionMode                          
TransitionParameter                          
AxesGroup                          
Done                      
Busy                      
Active                      
InstructionAborted                      
Error                      
ErrorID                          

Precautions for use of devices

▪LC and HSC are signed 32-bit data types;

▪T, C, D, R and SD are signed 16-bit data types.

Variable type used

InstructionParameterVariable typeCan it be emptyRangeDescription
MC_MOVELINEARRELATIVEExecuteBOOLNoTRUE/FALSEEnable
DistanceLREAL arrayNo-Position
VelocityLREALNo[0 to 999999999. 999999]Velocity
AccelerationLREALNo[0 to 999999999. 999999]Acceleration
DecelerationLREALNo[0 to 999999999. 999999]Deceleration
JerkLREALYes[0 to 999999999. 999999]Jerk: Only the axis group S-curve is valid.
CoordSystemWORDYes-Coordinate system
BufferModeWORDYes[0 to 1]Please check [8.9.5 Mode selection description] for more details.
TransitionModeWORDYes[0 to 2]Please check [8.9.4 Transition mode description] for more details.
TransitionParameterLREALYes[0 to 999999999. 999999]Please check [8.9.4 Transition mode description] for more details on transition parameter.
AxesGroupWORDNo[0 to 65535]Axis group number
DoneBOOLYesTRUE/FALSECompletion flag
BusyBOOLYesTRUE/FALSEBusy flag
ActiveBOOLYesTRUE/FALSEValid flag
InstructionAbortedBOOLYesTRUE/FALSEAbortion flag
ErrorBOOLYesTRUE/FALSEWhether there is an error or not
ErrorIDDWORDYes-Error code (Please check【8. 10 Error Code Cross-reference Table】)

Features

▪This function block executes line interpolation motion, and puts the actual TCP position to the absolute position specified by a specific coordsystem.

 ✎Note:▪The axis group can be moved only when being enabled;

▪All velocities and accelerations are in a safe range, and subject to the maximum velocity and acceleration that can be reached (Affected by the planning velocity, the limited velocity and acceleration set in the FB). If all the velocities and accelerations exceed the limit, they should be reduced to the limit.

▪Linear motion is allowed to be interrupted;

▪Axis group don’t support S type curve, so acceleration is not taking effect.

 Error code

Error codeContent
4084HInput data beyond the specifiable range

1709004561796-657.png

MC_MOVECIRCULARABSOLUTE


MC_MOVECIRCULARABSOLUTE

1709004628989-926.png

The function block is absolute position circular interpolation.

Device used (Only a single device can be used, and device splicing and index are not supported)

InstructionParameterDevicesIndex modificationPulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_MOVECIRCULARABSOLUTEExecute                     
CircMode                          
AuxPoint                          
EndPoint                          
PathChoice                          
Velocity                          
Acceleration                          
Deceleration                          
Jerk                          
CoordSystem                          
BufferMode                          
TransitionMode                          
TransitionParameter                          
AxesGroup                          
Done                      
Busy                      
Active                      
InstructionAborted                      
Error                      
ErrorID                          

Precautions for use of devices

▪LC and HSC are signed 32-bit data types;

▪T, C, D, R and SD are signed 16-bit data types;
Variable type used

InstructionParameterVariable typeCan it be emptyRangeDescription
MC_MOVECIRCULARABSOLUTEExecuteBOOLNoTRUE/FALSEEnable
CircModeWORDNo[0 to 2]Please check [8.9.3 Arc mode description] for more details on arc construction mode.
AuxPointLREAL arrayNo-Please check [8.9.3 Arc mode description] for more details on auxiliary point.
EndPointLREAL arrayNo-Please check [8.9.3 Arc mode description] for more details on end point.
PathChoiceWORDNo[0 to 1]Please check [8.9.3 Arc mode description] for more details on arc path selection.
VelocityLREALNo[0 to 999999999. 999999]Velocity
AccelerationLREALNo[0 to 999999999. 999999]Acceleration
DecelerationLREALNo[0 to 999999999. 999999]Deceleration
JerkLREALYes[0 to 999999999. 999999]Jerk is valid in S-curve only.
CoordSystemWORDYes0Coordinate system
BufferModeWORDYes[0 to 1]Please check [8.9.5 Mode selection description] for more details.
TransitionModeWORDYes[0 to 2]Please check [8.9.4 Transition mode description] for more details.
TransitionParameterLREALYes[0 to 999999999. 999999]Please check [8.9.4 Transition mode description] for more details on transition parameter.
AxesGroupWORDNo[0 to 65535]Axis group number
DoneBOOLYesTRUE/FALSECompletion flag
BusyBOOLYesTRUE/FALSEBusy flag
ActiveBOOLYesTRUE/FALSEValid flag
InstructionAbortedBOOLYesTRUE/FALSEAbortion flag
ErrorBOOLYesTRUE/FALSEWhether there is an error or not
ErrorIDDWORDYes-Error code (Please check [8. 10 Error Code Cross-reference Table] )

Features

▪This function block executes linear interpolation motion, and puts the actual TCP position to the absolute position specified by a specific CoordSystem.

✎Note:

▪The axis group can be moved only when being enabled;

▪All velocities and accelerations are in a safe range, and subject to the maximum velocity and acceleration that can be reached (Affected by the planning velocity, the limited velocity and acceleration set in the FB). If all the velocities and accelerations exceed the limit, they should be reduced to the limit.

▪Linear motion is allowed to be interrupted;

▪Axis group don’t support S type curve, so acceleration is not taking effect.

 Error code

Error codeContent
4084HInput data beyond the specifiable range

1709005028485-788.png

MC_MOVECIRCULARRELATIVE


MC_MOVECIRCULARRELATIVE

1709005280026-492.png

Device used (Only a single device can be used, and device splicing and index are not supported)

InstructionParameterDevicesIndex modificationPulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_MOVECIRCULARRELATIVEExecute                     
CircMode                          
AuxPoint                          
EndPoint                          
PathChoice                          
Velocity                          
Acceleration                          
Deceleration                          
Jerk                          
CoordSystem                          
BufferMode                          
TransitionMode                          
TransitionParameter                          
AxesGroup                          
Done                      
Busy                      
Active                      
InstructionAborted                      
Error                      
ErrorID                          

Precautions for use of devices

▪LC and HSC are signed 32-bit data types;

▪T, C, D, R and SD are signed 16-bit data types;

Variable type used

InstructionParameterVariable typeCan it be emptyRangeDescription
MC_MOVECIRCUlARRELATIVEExecuteBOOLNoTRUE/FALSEEnable
CircModeWORDNo[0 to 2]Please check [8.9.3 Arc mode description] for more details on arc construction mode.
AuxPointLREAL arrayNo-Please check [8.9.3 Arc mode description] for more details on auxiliary point.
EndPointLREAL arrayNo-Please check [8.9.3 Arc mode description] for more details on end point.
PathChoiceWORDNo[0 to 1]Please check [8.9.3 Arc mode description] for more details on arc path selection.
VelocityLREALNo[0 to 999999999. 999999]Velocity
AccelerationLREALNo[0 to 999999999. 999999]Acceleration
DecelerationLREALNo[0 to 999999999. 999999]Deceleration
JerkLREALYes[0 to 999999999. 999999]Jerk:is valid in S-curve only.
CoordSystemWORDYes-Coordinate system
BufferModeWORDYes[0 to 1]Please check [8.9.5 Mode selection description] for more details.
TransitionModeWORDYes[0 to 2]Please check [8.9.4 Transition mode description] for more details.
TransitionParameterLREALYes[0 to 999999999. 999999]Please check [8.9.4 Transition mode description] for more details on transition parameter.
AxesGroupWORDNo[0 to 65535]Axis group number
DoneBOOLYesTRUE/FALSECompletion flag
BusyBOOLYesTRUE/FALSEBusy flag
ActiveBOOLYesTRUE/FALSEValid flag
InstructionAbortedBOOLYesTRUE/FALSEAbortion flag
ErrorBOOLYesTRUE/FALSEWhether there is an error or not
ErrorIDDWORDYes-Error code (Please check [8. 10 Error Code Cross-reference Table] )

Features

▪This function block executes circular interpolation motion, and puts the actual TCP position to the absolute position specified by a specific coordsystem.

✎Note:

▪The axis group can be moved only when being enabled;

▪All velocities and accelerations are in a safe range, and subject to the maximum velocity and acceleration that can be reached (Affected by the planning velocity, the limited velocity and acceleration set in the FB). If all the velocities and accelerations exceed the limit, they should be reduced to the limit.

▪Linear motion is allowed to be interrupted;

▪Axis group don’t support S type curve, so acceleration is not taking effect.

  Error code

Error codeContent
4084HInput data beyond the specifiable range

1709005752944-678.png

MC_MOVEDIRECTABSOLUTE


MC_MOVEDIRECTABSOLUTE

1709012205292-858.png

This function block is the fast positioning of absolute position.

Device used (Only a single device can be used, and device splicing and index are not supported)

InstructionParameterDevicesIndex modificationPulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_MOVECIRCULARRELATIVEExecute                     
Position                          
CoordSystem                          
BufferMode                          
TransitionMode                          
TransitionParameter                          
AxesGroup                          
Done                      
Busy                      
Active                      
InstructionAborted                      
Error                      
ErrorID                          

Precautions for use of devices

▪LC and HSC are signed 32-bit data types;

▪T, C, D, R and SD are signed 16-bit data types;

Variable type used

InstructionParameterVariable typeCan it be emptyRangeDescription
MC_MOVELINEARRELATIVEExecuteBOOLNoTRUE/FALSEEnable
PositionLREAL arrayNo-Please check [8.9.3 Arc mode description] for more details on arc construction mode.
CoordSystemWORDYes0Coordinate system
BufferModeWORDYes[0 to 1]Please check [8.9.5 Mode selection description] for more details.
TransitionModeWORDYes[0 to 2]Please check [8.9.4 Transition mode description] for more details.
TransitionParameterLREALYes[0 to 999999999. 999999]Please check [8.9.4 Transition mode description] for more details on transition parameter.
AxesGroupWORDNo[0 to 65535]Axis group number
DoneBOOLYesTRUE/FALSECompletion flag
BusyBOOLYesTRUE/FALSEBusy flag
ActiveBOOLYesTRUE/FALSEValid flag
InstructionAbortedBOOLYesTRUE/FALSEAbortion flag
ErrorBOOLYesTRUE/FALSEWhether there is an error or not
ErrorIDDWORDYes-Error code (Please check [8. 10 Error Code Cross-reference Table] )

Features

▪ The function block puts the axis group to the absolute position specified in the specific coordinate system, and does not emphasize on how to reach the target position;

▪The performance of each axis in the axis group, such as velocity, acceleration, deceleration, jerk, does not change when moving.

✎Note:

▪The axis group can be moved only when being enabled;

▪All velocities and accelerations are in a safe range, and subject to the maximum velocity and acceleration that can be reached (Affected by the planning velocity, the limited velocity and acceleration set in the FB). If all the velocities and accelerations exceed the limit, they should be reduced to the limit.

▪Linear motion is allowed to be interrupted;

▪The instruction running velocity and acceleration are associated with the minimum value of each axis associated with the axis group;

▪Axis group don’t support S type curve, so acceleration is not taking effect.

Error code

Error codeContent
4084HData beyond the specifiable range was input.

1709012383461-841.png

MC_MOVEDIRECTRELATIVE


MC_MOVEDIRECTRELATIVE

1709012442595-305.png

The function block executes the fast positioning of the relative position.

Device used (Only a single device can be used, and device splicing and index are not supported)

InstructionParameterDevicesIndex modificationPulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_MOVEDIRECTRELATIVEExecute                     
Distance                          
CoordSystem                          
BufferMode                          
TransitionMode                          
TransitionParameter                          
AxesGroup                          
Done                      
Busy                      
Active                      
InstructionAborted                      
Error                      
ErrorID                          

 Precautions for use of devices

▪LC and HSC are signed 32-bit data types;

▪T, C, D, R and SD are signed 16-bit data types;

Variable type used

InstructionParameterVariable typeCan it be emptyRangeDescription
MC_MOVEDIRECTRELATIVEExecuteBOOLNoTRUE/FALSEEnable
DistanceLREAL arrayNo-Please check [8.9.3 Arc mode description] for more details on arc construction mode.
CoordSystemWORDYes0Coordinate system
BufferModeWORDYes[0 to1]Please check [8.9.5 Mode selection description] for more details.
TransitionModeWORDYes[0 to 2]Please check [8.9.4 Transition mode description] for more details.
TransitionParameterLREALYes[0 to 999999999. 999999]Please check [8.9.4 Transition mode description] for more details on transition parameter.
AxesGroupWORDNo[0 to 65535]Axis group number
DoneBOOLYesTRUE/FALSECompletion flag
BusyBOOLYesTRUE/FALSEBusy flag
ActiveBOOLYesTRUE/FALSEValid flag
InstructionAbortedBOOLYesTRUE/FALSEAbortion flag
ErrorBOOLYesTRUE/FALSEWhether there is an error or not
ErrorIDDWORDYes-Error code (Please check [8. 10 Error Code Cross-reference Table])

 Features

▪ The function block puts the axis group to the relative position specified in the specific coordinate system, and does not emphasize on how to reach the target position;

▪The performance of each axis in the axis group, such as velocity, acceleration, deceleration, jerk, does not change when moving.

✎Note:

▪The axis group can be moved only when being enabled;

▪All velocities and accelerations are in a safe range, and subject to the maximum velocity and acceleration that can be reached (Affected by the planning velocity, the limited velocity and acceleration set in the FB). If all the velocities and accelerations exceed the limit, they should be reduced to the limit.

▪Linear motion is allowed to be interrupted;

▪The instruction running velocity and acceleration are associated with the minimum value of each axis associated with the axis group;

▪Axis group don’t support S type curve, so acceleration is not taking effect.

 Error code

Error codeContent
4084HInput data beyond the specifiable range

1709012732094-708.png

Other special FB


MC_MOVEJOG


MC_MOVEJOG

1709014222028-861.png

The function block makes the controlled axis execute micro motion at the set target velocity.

Device used (Only a single device can be used, and device splicing and index are not supported)

InstructionParameterDevicesIndex modificationPulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_MOVEJOGEnablePositive                     
EnableNegative                     
Velocity                          
Acceleration                          
Deceleration                          
Axis                          
Busy                      
InstructionAborted                      
Error                      
ErrorID                          

 Precautions for use of devices

▪LC and HSC are signed 32-bit data types;

▪T, C, D, R and SD are signed 16-bit data types;

Variable type used

InstructionParameterVariable typeCan it be emptyRangeDescription
MC_MOVEJOGEnablePositiveBOOLNoTRUE/FALSEPositive motion
EnableNegativeBOOLNoTRUE/FALSENegative motion
VelocityLREALNo[0 to 999999999. 999999]Velocity
AccelerationLREALNo[0 to 999999999. 999999]Acceleration
DecelerationLREALNo[0 to 999999999. 999999]Deceleration
AxisWORD, AXIS_INFO_TNo[0 to 65535]Axis number
BusyBOOLYesTRUE/FALSEBusy flag
InstructionAbortedBOOLYesTRUE/FALSEAbortion flag
ErrorBOOLYesTRUE/FALSEWhether there is an error or not
ErrorIDDWORDYes-Error code (Please check [8. 10 Error Code Cross-reference Table] )

Features

▪When input Enablepositive signal on the rising edge, the controlled axis executes positive motion according to the input velocity.  

▪When input EnableNegative signal on the rising edge, the controlled axis executes negative motion according to the input velocity.

▪In the process of positive motion, modifying the Enablepositive to FALSE causes deceleration until the axis stops. In the process of deceleration, if Enablepositive is changed to TRUE, the axis will continue to move until reaching the specified velocity. In the process of deceleration, if EnableNegative is changed to TRUE, the axis will decrease its velocity to 0 and then execute negative motion until its velocity reaches the specified velocity.

✎Note:

▪This function is not available when the axis does not exist.

▪When EnablePositive or EnableNegative is TRUE, modifying velocity does not change the velocity at this time.

 Error code

Error codeContent
4084HInput data beyond the specifiable range

1709014420505-664.png

MC_COMBINEAXES


MC_COMBINEAXES

1709014499579-362.png

The function block adds and subtracts the positions of the master axis and the auxiliary axis as the position of the slave axis.

Device used (Only a single device can be used, and device splicing and index are not supported)

InstructionParameterDevicesIndex modificationPulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_COMBINEAXESExecute                     
ConbineMode                          
MasterReferenceType                          
AuxiliaryReferenceType                          
BufferMode                          
Master                          
Auxiliary                          
Slave                          
InCombiantion                      
Busy                      
Active                      
InstructionAborted                      
Error                      
ErrorID                          

Precautions for use of devices

▪LC and HSC are signed 32-bit data types;

▪T, C, D, R and SD are signed 16-bit data types;

Variable type used

InstructionParameterVariable typeCan it be emptyRangeDescription
MC_COMBINEAXESExecuteBOOLNoTRUE/FALSEEnable
ConbineModeWORDYes[0 to 1]

Addition and subtraction operation selection

0: Addition

1: Subtraction

MasterReferenceTypeWORDYes[1 to 2]

Master axis position type

1: Feedback position

2: Instruction position

AuxiliaryReferenceTypeWORDYes[1 to 2]

Auxiliary axis position type

1: Feedback position

2: Instruction position

BufferModeLREALNo0Mode selection
MasterWORD, AXIS   INFO TNo[0 to 65535]Master axis number
AuxiliaryWORD, AXIS   INFO TNo[0 to 65535]Auxiliary axis number
SlaveWORD, AXIS   INFO TNo[0 to 65535]Slave axis number
InCombiantionBOOLYesTRUE/FALSEAddition and subtraction operation flag
BusyBOOLYesTRUE/FALSEBusy flag
ActiveBOOLYesTRUE/FALSEValid flag
InstructionAbortedBOOLYesTRUE/FALSEAbortion flag
ErrorBOOLYesTRUE/FALSEWhether there is an error or not
ErrorIDDWORDYes-Error code (Please check [8. 10 Error Code Cross-reference Table] )

 Features

▪On the Execute rising edge, the addition and subtraction positioning operation is performed.

✎Note:

▪Unable to restart this instruction;

▪To end this instruction, MC_construction is needed;

▪This instruction does not execute in-place inspection;

▪When using the instruction position, the set values of master axis number and auxiliary axis number must be less than the slave axis number;

▪This instruction is not affected by the abnormal status of the main axis and auxiliary axis. When the abnormal status is released, the slave axis continues to execute the addition and subtraction positioning operation. In addition, when this instruction is enabled and the axis is abnormal, this instruction is interrupted, but it has no effect on the master axis and the slave axis;

▪When MC_setposition instruction is executed for the master axis or the auxiliary axis, it may happen that the slave axis catches at a large velocity, which is very dangerous.

Error code

Error codeContent
7000OAAxis is in a bound status.
7000OBAxis cannot be bound at run time.
800014The master axis is consistent with the slave axis.
800015The master axis is consistent with the auxiliary axis.
800016The auxiliary axis is consistent with the slave axis.
800017Master axis (auxiliary axis) and slave axis numbers are not ascending order.

1709014704454-580.png

MC_MOVEVELOCITY


MC_MOVEVELOCITY

1709014790717-456.png

Device used (Only a single device can be used, and device splicing and index are not supported)

InstructionParameterDevicesIndex modificationPulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_MOVEVELOCITYExecute                     
ContinuousUpdate                     
Velocity                          
Acceleration                          
Deceleration                          
Jerk                          
Direction                          
BufferMode                          
Axis                          
InVelocity                      
Busy                      
Active                      
InstructionAborted                      
Error                      
ErrorID                          

Precautions for use of devices

▪LC and HSC are signed 32-bit data types;

▪T, C, D, R and SD are signed 16-bit data types;

Variable type used

InstructionParameterVariable typeCan it be emptyRangeDescription
MC_MOVEVELOCITYExecuteBOOLNoTRUE/FALSEEnable
ContinuousUpdateBOOLNoTRUE/FALSEReserve
VelocityLREALNo[0 to 999999999. 999999]The set velocity
AccelerationLREALNo[0 to 999999999. 999999]The set acceleration
DecelerationLREALNo[0 to 999999999. 999999]The set deceleration
JerkLREALYes[0 to 999999999. 999999]The set jerk is only valid in the S-curve.
DirectionWORDNo[1]

Direction flag

1: Positive direction

2: Negative direction

3: Current direction

4: Shortest path

BufferModeWORDYes[0]Buffer mode
AxisWORD, AXIS   INFO TNo[0 to 65535]Axis number and axis in-built variable
InVelocityBOOLYesTRUE/FALSEReach the set velocity flag
BusyBOOLYesTRUE/FALSEBusy flag
ActiveBOOLYesTRUE/FALSEValid flag
InstructionAbortedBOOLYesTRUE/FALSEAbortion flag
ErrorBOOLYesTRUE/FALSEWhether there is an error or not
ErrorIDDWORDYes-Error code (Please check [8. 10 Error Code Cross-reference Table] )

Features

▪MC_MOVEVELOCITY function block is used for continuing the motion of the previous function block and moving according to the velocity specified by the previous function block. The input values of acceleration, deceleration and jerk are used to monitor whether the corresponding values of the controlled axis are within the input values.

▪Since there is no input signal of position or distance, the function block will move until other function block sends a new command to stop the operation of this function block;

▪When the velocity of the controlled axis reaches the set value of input parameter Velocity, the output parameter Invelocity is set to ON.

▪Once the input Execute signal detects that the falling edge or other function block makes this function block abort, the output parameter Invelocity is reset.

▪MC_MOVEVELOCITY function block should be used when the controlled axis is in a stop status or a single-axis running status. When the function block is triggered, the controlled axis is switched to continuous Motion status.

▪If the controlled axis is not in the above status, the function block is not executed. Erroroutput is set;

▪MC_MOVEVELOCITY function block can be triggered repeatedly.

Error code

Error codeContent
4084HInput data beyond the specifiable range

MC _ MOVEVELOCITY _ CSV

MC _ MOVEVELOCITY _ CSV-Sets motion according to the speed specified by the function block

1761032781939-478.png

The function block is used to continue the motion of the previous function block and move according to the speed specified by the function block.

Device used (only a single device can be used, device splicing and index are not supported)

InstructionParameterDevice

Index

Modification

Pulse

Expansion

XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP

MC _ MOVEVELOCITY

_ CSV

Execute                     
ContinuousUpdate                     
Velocity                          
Acceleration                          
Deceleration                          
Jerk                          
Direction                          
BufferMode                          
Axis                          
InVelocity                      
Busy                      
Active                      
CommandAborted                      
Error                      
Error ID                          

Notes:

  • LC and HSC are signed 32-bit data types;
  • T, C, D, R and SD are signed 16-bit data types.

Variable type used

InstructionParameterVariable typeCan it be emptyRangeDescription

MC _ MOVE

VELOCITY _ CSV

ExecuteBOOLNoTRUE/FALSEEnable
ContinuousUpdateBOOLYesTRUE/FALSEWhether update continuously or not
VelocityLREALNo[0,999999999.999999]Setting velocity
AccelerationLREALNo[0,999999999.999999]Setting acceleration
DecelerationLREALNo[0,999999999.999999]Set deceleration
JerkLREALYes[0,999999999.999999]The set jerk is only effective in S-curve.
DirectionWORDNo[1,4]

Direction flag bit (Only rotation mode takes effect)。

1. Positive direction;

2. Negative direction;

3. The current direction;

4. The shortest path (reserved).

BufferModeWORDYes[0]BufferMode
AxisWORDNo[0,65535]Axis number and built-in variable of axis
InVelocityBOOLYesTRUE/FALSEReach the set velocity flag bit
BusyBOOLYesTRUE/FALSEBusy flag
ActiveBOOLYesTRUE/FALSEActivity flag
Command abortedBOOLYesTRUE/FALSEInterrupt flag bit
ErrorBOOLYesTRUE/FALSEWhether there is an error or not
Error IDDWORDYes-Error code (Please refer to [8.11 Error code comparison table])

Function

  • The MC _ MoveVelocity function block is used to continue the movement of the previous function block and move according to the speed specified by the function block. The input values of acceleration, deceleration and jerk are used to monitor whether the corresponding values of the controlled axis are within the input values.
  • Since there is no input signal of position or distance, the function block will move until other function block sends a new command to stop movement of this function block;
  • When the speed of the controlled axis reaches the input parameter ‘Velocity’ setpoint, the output parameter ‘InVelocity’ is set. Once the input ‘Execute’ signal detects a falling edge or other function block to abort this function block, the output parameter InVelocity is reset;
  • The MC _ MoveVelocity function block shall be in a stopped motion state or a single-axis operation state when the controlled axis is operated. After this function block is triggered, the controlled axis transitions to the ‘Continuous Motion’ state. If the controlled axis is not in the above state, the function block is not executed, Error output is set;
  • The MC _ MoveVelocity function block can be triggered repeatedly multiple times.

Error code

Error codeContent
4084HInput data beyond the specifiable range

Precautions

  • Different from the MC _ MOVEVELOCITY function block, this function block will automatically switch the servo mode to CSV (Synchronous Cycle Speed) mode;
  • Using this function block requires adding four object dictionaries, H60FF, H6060, H6061, and H606C, to the PDO.

Timing diagram

1761032845559-339.png

MC _ SYNCMOVEVELOCITY

MC _ SYNCMOVEVELOCITY-Sets motion according to the speed specified by the function block

1761032974104-584.png

The function block is used to continue the motion of the previous function block and move according to the speed specified by the function block.

Device used (only a single device can be used, and device splicing and Index are not supported)

InstructionParameterDeviceIndex modificationPulse expansion
XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP

MC _ SYNCMOVE

VELOCITY

Execute                     
Velocity                          
Axis                          
InVelocity                      
Busy                      
CommandAborted                      
Error                      
ErrorID                          

Notes for using devices

  • LC and HSC are signed 32-bit data types;
  • T, C, D, R and SD are signed 16-bit data types.

Variable type used

InstructionParameterVariable typeEmpty or notRangeDescription

MC _ SYNCMOVE

VELOCITY

ExecuteBOOLNoTRUE/FALSEEnable
VelocityLREALNo[0,999999999.999999]Setting velocity
Axis

WORD

 

No[0,65535]Axis number and built-in variable of axis
InVelocityBOOLYesTRUE/FALSEReach the set velocity flag bit
BusyBOOLYesTRUE/FALSEBusy flag
CommandAbortedBOOLYesTRUE/FALSEInterrupt flag bit
ErrorBOOLYesTRUE/FALSEWhether there is an error or not
ErrorIDDWORDYes-

Error code (Please refer to

8.11 Error Code

Function

  • The MC _ SYNCMOVEVELOCITY function block function block is used to continue the movement of the previous function block and move according to the speed specified by the function block.
  • Since there is no input signal of position or distance, the function block will move until other function block sends a new command to stop movement of this function block;
  • When the speed of the controlled axis reaches the input parameter Velocity setpoint, the output parameter InVelocity is set. Once the input ‘Execute’ signal detects a falling edge or other function block to abort this function block, the output parameter ‘InVelocity’ is reset;
  • The MC _ SYNCMOVEVELOCITY function block shall be in a stopped motion state or a single-axis operation state when the controlled axis is operated. After this function block is triggered, the controlled axis transitions to the ‘Continuous Motion’ state. If the controlled axis is not in the above state, the function block is not executed, Error output is set;
  • The MC _ SYNCMOVEVELOCITY function block can be triggered repeatedly multiple times.

✎Note: After using MC _ SYNCMOVEVELOCITY , the servo mode is automatically switched to the synchronous cycle speed mode.

Error code

Error codeContent
4084HInput data beyond the specifiable range

Timing diagram

1761033004563-270.png

MC _ SETTORQUE

MC _ SETTORQUE-Synchronous torque instruction

1761033083623-162.png

Device used (only a single device can be used, and device splicing and Index are not supported)

InstructionParameterDevice

Index

Modification

Pulse

Expansion

XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC _ SETTORQUEExecute                     
TORQUE                          
MaxVelocity                          
BufferMode                          
Axis                          
InTorque                      
Busy                      
Active                      
CommandAborted                      
Error                      
ErrorID                          

Notes for using devices

  • LC and HSC are signed 32-bit data types;
  • T, C, D, R and SD are signed 16-bit data types.

Variable type used

InstructionPin TypeParameterVariable typeEmpty or notRangeDescription
MC _ SETTORQUEInputExecuteBOOLNoTRUE/FALSEEnable
ContinuousUpdateBOOLYesTRUE/FALSEUpdated during operation
TorqueLREALNo[-32768,32767]Target torque (unit is 0.1%)
MaxVelocityLREALNo[0,999999999.999999]Maximum speed
BufferModeWORDYes[0]Currently only interrupts are supported
AxisWORDNo[0,65535]Axis number
OutputInTorqueBOOLYesTRUE/FALSECompletion flag
BusyBOOLYesTRUE/FALSEBusy flag
ActiveBOOLYesTRUE/FALSEValid flag
CommandAbortedBOOLYesTRUE/FALSEAbortion flag
ErrorBOOLYesTRUE/FALSEError or not
ErrorIDDWORDYes-Error code ( Please refer to [8.11 Error code comparison table])

Function

  • This instruction is used to implement the synchronous torque control function and is only used for the bus servo axis. The rising edge and high level of the command are valid, and the virtual axis mode is not supported.
  • The following PDOs need to be configured in CST mode;

0x1600: 0x6060, 0x6071, 607f (optional), 6040

0x1A00: 0x6061, 0x6077, 0x6041

  • If you use VD3E, you need to configure the startup parameter 2001: 9 value to 2;
  • When Enable = ON, the function block converts TarTorque and MaxVelocity from user units to pulse units and sends them to the servo driver from time to time. The shaft is in the Continuous Motion state and performs synchronous torque motion. When the falling edge of Eanble, the function block performs synchronous torque motion with the TarTorque and Velocity latched during the high level, and it is invalid to modify the TarTorque and Velocity in real time;
  • This instruction can only be invoked if the axis is switched to the enabled state using the MC _ Power instruction;
  • This instruction uses the driver synchronous torque mode to realize the torque control function. When Enable = ON, the function block converts TarTorque and Velocity from user units to pulse units and sends them to the servo driver from time to time. The shaft is in the Continuous Motion state and performs synchronous torque motion;

TarTorque: The target torque, the unit is 0.1%. One decimal place after the decimal point is valid in the program, and the latter ones are directly discarded. The actual torque of the driver is limited by the maximum positive and negative torques set in the configuration parameters.

Note

  • This function block is not available when the axis does not exist.

MC _ TORQUECONTROL

MC _ TORQUECONTROL-Torque control command

1761033167971-496.png

Device used (only a single device can be used, and device splicing and Index are not supported)

InstructionParameterDevice

Index

Modification

Pulse

Expansion

XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP

MC _ TORQUE

CONTROL

Execute                     
ContinuousUpdate                     
TORQUE                          
TorqueRamp                          
MaxVelocity                          
BufferMode                          
Axis                          
InTorque                      
Busy                      
Active                      
CommandAborted                      
Error                      
ErrorID                          

Notes for using devices

  • LC and HSC are signed 32-bit data types;
  • T, C, D, R and SD are signed 16-bit data types.

Variable type used

InstructionPin TypeParameterVariable typeEmpty or notRangeDescription
MC _ TORQUECONTROLInputExecuteBOOLNoTRUE/FALSEEnable
ContinuousUpdateBOOLYesTRUE/FALSEUpdated during operation
TorqueLREALNo[-32768,32767]Target torque (unit is 0.1%)
MaxVelocityLREALNo[0,999999999.999999]Maximum speed
TorqueRampLREALNo[0,999999999.999999]Torque slope
BufferModeWORDYes[0]Only interrupt mode supported
AxisWORDNo[0,65535]Axis number
OutputInTorqueBOOLYesTRUE/FALSECompletion flag
BusyBOOLYesTRUE/FALSEBusy flag
ActiveBOOLYesTRUE/FALSEValid flag
CommandAbortedBOOLYesTRUE/FALSEAbortion flag
ErrorBOOLYesTRUE/FALSEError or not
ErrorIDDWORDYes-Error code (Please refer to [8.11 Error code comparison table])

Function

  • This instruction is used to realize the torque control function and is only used for the EtherCAT bus axis. The rising edge of the instruction is valid, and the imaginary axis mode is not supported.
  • The following PDOs need to be configured in CST mode:

0x1600: 0x6060, 0x6071, 607f (optional), 6040

0x1A00: 0x6061, 0x6077, 0x6041

  • If VD3E is used, the value of startup parameter 2001:9 is 2;

Function description

  • This instruction can only be invoked if the axis is switched to the enabled state using the MC _ Power instruction;
  • This instruction uses the driver synchronous torque mode to realize the torque control function;
  • On the rising edge of the instruction, the function block latches the input parameters of TarTorque, TorqueSlope and MaxVelocity, and the axis is in the ContinuousMotion state and performs torque motion;

TarTorque: Target torque, the unit is 0.1%, one decimal place after the decimal point is valid in the program, and the latter ones are discarded. The actual torque of the driver is limited by the maximum positive and negative torques set in the configuration parameters;

TorqueSlope: Moment slope, the unit is 1%, one decimal place after the decimal point is valid in the program, and the latter ones are directly discarded;

  • Speed control in torque mode

For servo drives, if 0x607f is mapped in the axis parameter, this instruction limits the maximum speed of the servo motor by 0x607f, if 0x607f is not mapped, the speed limit is invalid;

On the rising edge of Execute, the instruction converts the speed limit set by Velocity into pulse units and writes it into 0x607f through PDO;

When the torque instruction is interrupted by others, the maximum speed of the axis will be limited by the "Maximum speed" in the configuration interface;

For third-party drives, Velocity can only be used as a speed limit under the following conditions:

The maximum speed of the servomotor can be limited by 0x607F;

0x607F can be configured into the PDO;

The unit of 0x607F is pulse unit, non-speed unit.

  • Stop control on torque mode

In the torque mode, the MC _ Stop instruction is called to perform the shut down, and after receiving the Stop instruction, the driver switches to the synchronous position mode, and performs deceleration according to the deceleration set by the Stop instruction.

  • Interrupt

In PLCOpen, when the instruction is valid, the axis will be in the Continuous Motion state. Other instructions that can make the axis in Discrete motion or comply with PLCOpen state machine switching can interrupt the instruction. When the instruction is interrupted, CommandAboarted is valid;

CommandAboarted is valid when Execute=ON and Done signal is invalid and is about to hit the limit signal execution needs to perform deceleration;

The axis de-enable CommandAboarted is valid when Execute=ON and the Done signal is invalid.

Timing diagram

After setting the target torque, the command is triggered, and the actual output torque can reach the target torque.

1761033264625-188.png

After setting the target torque, the command is triggered, and finally the actual output torque cannot reach the target torque.

1761033334729-116.png

MC _ MOVEABSRELPP

MC _ MOVEABSRELPP-Positioning instruction based on contour position mode

1761034254689-443.png

Device used (only a single device can be used, and device splicing and Index are not supported)

InstructionParameterDeviceIndex modification

Pulse

Expansion

XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP

MC _ MOVEA

BSRELPP

Execute                     
Position                          
Velocity                          
Acceleration                          
Deceleration                          
Mode                          
Axis                          
Done                      
Busy                      
Active                      
CommandAborted                      
Error                      
ErrorID                          

Notes for using devices

  • LC and HSC are signed 32-bit data types;
  • T, C, D, R and SD are signed 16-bit data types.

Variable type used

InstructionPin TypeParameterVariable typeEmpty or notRangeDescription

MC _ MOVE

ABSRELPP

InputExecuteBOOLNoTRUE/FALSEEnable
ModeINTNo0,1

1: Absolute mode.

1: Relative mode

PositionLREALNo

-999999999.999999

999999999.999999

Target location
VelocityLREALNo(0,999999999.999999]Velocity
AccelerationLREALNo(0,999999999.999999]Acceleration
DecelerationLREALNo(0,999999999.999999]Deceleration
AxisWORDNo[0,65535]Axis number
OutputDoneBOOLYesTRUE/FALSECompletion flag
BusyBOOLYesTRUE/FALSEBusy flag
ActiveBOOLYesTRUE/FALSEValid flag
CommandAbortedBOOLYesTRUE/FALSEAbortion flag
ErrorBOOLYesTRUE/FALSEError or not
ErrorIDDWORDYes-Error code (Please refer to [8.11 Error code comparison table])

Function

  • This command is used to control the EtherCAT bus contour axis to realize the absolute/relative positioning function in contour position mode. In the basic settings of axis configuration, the contour mode option needs to be checked before it can be called, and the rising edge is valid.
  • Contour Position Mode requires the following PDOs:

0x1600: 0x6081, 0x6083, 0x6084, 0x607A, 0x6060, 0x6040

0x1A00: 0x6061, 0x6064, 0x6041

Function description

  • This instruction can only be invoked if the axis is switched to the enabled state using the MC _ Power instruction;
  • At the rising edge of the Execute input, the instruction latches the input parameters on the left side such as Position and Velocity, triggers the absolute/relative positioning function, and switches the PLCOpen state machine of the axis to the DiscreteMotion state;
  • When Mode = 0, the positioning Mode is absolute positioning Mode, and Position is used to set the target Position of absolute positioning. If the axis Mode is configured as rotation Mode, the target Position is positioned according to the shortest distance;
  • When Mode = 1, the positioning Mode is a relative positioning Mode, and Position is used to set the target distance of relative positioning;
  • Interrupt

When this instruction is valid in PLCOpen, the axis will be in the Discretemotion state. Other outline mode instructions that can make the axis in Discretemotion or comply with PLCOpen state machine switching can interrupt this instruction. CommandAboarted is valid when the instruction is interrupted. The instruction of periodic synchronization mode cannot be called, otherwise a fault will be reported;

CommandAboarted is valid when the MC _ Power instruction is invalid when Execute = TRUE and the Busy signal is valid causes the axis to be de-enabled.

Timing diagram

1761034304535-743.png

MC _ MOVEVELOCITYPV

MC _ MOVEVELOCITYPV-Contour Speed Command

1761034415972-645.png

Device used (only a single device can be used, and device splicing and Index are not supported)

InstructionParameterDevice

Index

Modification

Pulse

Expansion

XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP

MC _ MOVEVELO

CITYPV

Execute                     
Velocity                          
Acceleration                          
Deceleration                          
Axis                          
InVelocity                      
Busy                      
Active                      
CommandAborted                      
Error                      
ErrorID                          

Notes for using devices

  • LC and HSC are signed 32-bit data types;
  • T, C, D, R and SD are signed 16-bit data types.

Variable type used

Instruction

Pin

type

Parameter

Variable

Type

Can you

Is empty

RangeDescription

MC _ MOVEVE

LOCITYPV

InputExecuteBOOLNoTRUE/FALSEEnable
VelocityLREALNo

-999999999.999999

999999999.999999

Velocity
AccelerationLREALNo(0,999999999.999999]Acceleration
DecelerationLREALNoThe QPS Exceeds Maximum Limit 5Deceleration
AxisWORDNo[0,65535]Axis number
OutputInVelocityBOOLYesTRUE/FALSECompletion flag
BusyBOOLYesTRUE/FALSEBusy flag
ActiveBOOLYesTRUE/FALSEValid flag
CommandAbortedBOOLYesTRUE/FALSEAbortion flag
ErrorBOOLYesTRUE/FALSEError or not
ErrorIDDWORDYes-Error code (Please refer to [8.11 Error code comparison table])

Function

  • This command is used to realize the continuous motion function of EtherCAT bus contour axis in contour speed mode. In the basic settings of axis configuration, the contour mode option needs to be checked before it can be called, and the rising edge is valid;
  • This instruction is a simulated velocity instruction based on the profile velocity (PV) mode;
  • The following PDOs are required for the profile speed mode:

0x1600: 0x6083, 0x6084, 0x60FF, 0x6060, 0x6040

0x1A00: 0x6061, 0x606c, 0x6041

Function description

  • This instruction can only be invoked if the axis is switched to the STANDSTILL state using the MC _ Power instruction;
  • When Execute = TRUE, the instruction latches the input parameters on the left side such as Velocity and Acceleration, the axis continuously runs according to the target speed set by Velocity, and switches the PLCOpen state machine of the axis to the ContinuousMotion state.

Timing diagram

1761034458765-139.png

MC _ TORQUECONTROLPT

MC _ TORQUECONTROLPT-Contour torque control command

1761034544967-630.png

Device used (only a single device can be used, and device splicing and Index are not supported)

InstructionParameterDeviceIndex modificationPulse expansion
XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP

MC _ TORQUE

CONTROLPT

Execute                     
TORQUE                          
TorqueRamp                          
MaxVelocity                          
Axis                          
InTorque                      
Busy                      
Active                      
CommandAborted                      
Error                      
ErrorID                          

Notes for using devices

  • LC and HSC are signed 32-bit data types;
  • T, C, D, R and SD are signed 16-bit data types.

Variable type used

InstructionPin TypeParameterVariable typeEmpty or notRangeDescription
MC_ TORQUECONTROLPTInputExecuteBOOLNoTRUE/FALSEEnable
TorqueLREALNo[-32768,32767]Target torque (unit is 0.1%)
TorqueRampLREALNo(0,999999999.999999]Torque slope
MaxVelocityLREALNo[0,999999999.999999]Maximum speed
AxisWORDNo[0,65535]Axis number
OutputInTorqueBOOLYesTRUE/FALSECompletion flag
BusyBOOLYesTRUE/FALSEBusy flag
ActiveBOOLYesTRUE/FALSEValid flag
CommandAbortedBOOLYesTRUE/FALSEAbortion flag
ErrorBOOLYesTRUE/FALSEError or not
ErrorIDDWORDYes-Error code (Please refer to [8.11 Error code comparison table])

Function

  • This instruction is used to control the EtherCAT bus profile axis to realize the absolute/relative positioning function in profile position mode. In the basic settings of axis configuration, the profile mode option needs to be checked before it can be called, and the rising edge is valid;
  • This instruction is used to realize the torque control function and is only used for the EtherCAT bus axis. The rising edge of the instruction is valid and the virtual axis mode is not supported;
  • Profile torque mode needs to be configured with the following PDOs:

0x1600: 0x6087 (optional), 0x6060, 0x6071, 0x607f (optional), 0x6040

0x1A00: 0x6061, 0x6077, 0x6041

Function description

  • This instruction can only be invoked if the axis is switched to the enabled state using the MC _ Power instruction. Otherwise, report a fault;
  • This instruction uses the driver synchronous torque mode to realize the torque control function;
  • On the rising edge of the instruction, the function block latches the input parameters of TarTorque, TorqueSlope and MaxVelocity, and the axis is in the ContinuousMotion state and performs torque motion;

TarTorque: Target torque, the unit is 0.1%, one decimal place after the decimal point is valid in the program, and the latter ones are directly discarded. The actual torque of the driver is limited by the maximum positive and negative torques set in the configuration parameters;

TorqueRamp: Torque ramp, the unit is 1%, one decimal place after the decimal point is valid in the program, and the latter ones are directly discarded.

  • Speed control in torque mode

For servo drives, if 0x607f is mapped in the axis parameter, this instruction limits the maximum speed of the servo motor by 0x607f, if 0x607f is not mapped, the speed limit is invalid;

On the rising edge of Execute, the instruction converts the speed limit set by Velocity into pulse units and writes it into 0x607f through PDO;

When the torque instruction is interrupted by others, the maximum speed of the axis will be limited by the "Maximum speed" in the configuration interface;

For third-party drives, Velocity can only be used as a speed limit under the following conditions:

The maximum speed of the servomotor can be limited by 0x607F;

0x607F can be configured into the PDO;

The unit of 0x607F is pulse unit, non-speed unit.

  • Stop control on torque mode

In the torque mode, the MC _ Stop instruction is called to perform the shut down, and after receiving the Stop instruction, the driver switches to the synchronous position mode, and performs deceleration according to the deceleration set by the Stop instruction.

  • Interrupt

In PLCOpen, when the instruction is valid, the axis will be in the Continuous Motion state. Other instructions that can make the axis in Discrete motion or comply with PLCOpen state machine switching can interrupt the instruction. When the instruction is interrupted, CommandAboarted is valid;

CommandAboarted is valid when Execute=ON and Done signal is invalid and is about to hit the limit signal execution needs to perform deceleration;

The axis de-enable CommandAboarted is valid when Execute=ON and the Done signal is invalid.

Timing diagram

1761034615747-763.png

SDO instruction


MC_READSDO reads SDO data


 MC_READSDO

This instruction is used to read the value of the servo object dictionary.

- [ MC_READSDO    (S1)    (S2)    (S3)    (D1)    (S4)  ]

Content, range and data type

ParameterContentRangeData typeData type (Table)
(S1)Object dictionary index-Unsigned BIN16ANY16_U
(S2)Object dictionary subindex-Unsigned BIN16ANY16_U
(S3)Length (BYTE unit)-Unsigned BIN16ANY16_U
(D1)The read device-Define the size according to S3.-
(S4)Specify the servo station number-Signed BIN16ANY16_S

Device used

InstructionParameterDevicesIndex modificationPulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_READSDOParameter 1                    
Parameter 2                    
Parameter 3                    
Parameter 4                      
Parameter 5                    

Features

▪Read the value according to the servo station number (S4), object dictionary index (S1), object dictionary subindex (S2), and length (S3) to the set device (D1).

✎Note:

▪When there is the corresponding object dictionary set in PDO, there may be a situation where SDO cannot read it.

MC_WRITESD0 writes SDO data


 MC_WRITESDO

This instruction is used to write the value of the servo object dictionary.

-[MCWRITESDO (S1) (S2) (S3) (S4) (S5)]

Content, range and data type

ParameterContentRangeData typeData type (Table)
(S1)Object dictionary index-Unsigned BIN16ANY16_U
(S2)Object dictionary sub-index-Unsigned BIN16ANY16_U
(S3)Length (BYTE unit)-Unsigned BIN16ANY16_U
(S4)The value to be written-Define the size according to S3.-
(S5)Specify the servo station number-Signed BIN16ANY16_S

Device used

InstructionParameterDevicesIndex modificationPulse expansion
  XYMSSMT(bit)C(bit)LC(bit)HSC(bit)D.bKnXKnYKnMKnSTCDRSDLCHSCKHE[D]XXP
MC_READSDOParameter 1                    
Parameter 2                    
Parameter 3                    
Parameter 4                      
Parameter 5                    

Features

▪The value of the device (S4) is written to the positions of the servo station number (S5), the object dictionary index (S1), the object dictionary sub-index (S2), and the length (S3).

✎Note:

▪When there is the corresponding object dictionary set in PDO, there may be a situation where SDO cannot write to it.

file:///C:\Users\Administrator\AppData\Local\Temp\ksohtml15884\wps1.png

Built-in variables of pulse axis system

The current state of the axis can be monitored in the program by its system variables.

NameData typeFunction
CfgAXIS_INFO_CFG_TAxis configuration
wAxisIDWORDAxis number (Read only)
wVersionWORDVersion number (Read only)
wAxisTypeWORDAxis type (Read only): Bus servo axis Bus encoder axis
nEtherCATNoDINTEtherCAT axis number
nLocalIDDINT

Local axis ID.

Y0/Y1 is 0;

Y2/Y3 is 1;

Y4/Y5 is 2;

Y6/Y7 is 3.

bVirtualAxisBOOLVirtual axis or not
CmdAXIS_INFO_CMD_T Setting value
fSetPositionLREALSetting position (Read only)
fSetVelocityLREALSetting speed (Read only)
fSetAccelerationLREALSetting acceleration (Read only)
fSetDecelerationLREALActual deceleration (Read only)
fSetJerkLREALSetting jerk (Read only)
fSetTorqueLREALSetting torque (Read only) Reserved
nLocalAxisSetPosDINTLocal pulse axis setting position (Read only)
ActAXIS_INFO_ACT_TCurrent value
fActPositionLREALCurrent position (Read only)
fActVelocityLREALCurrent speed (Read only)
fActAccelerationLREALActual acceleration (Read only)
fActDecelerationLREALActual deceleration (Read only)
fActJerkLREALActual jerk (Read only)
fActTorqueLREAL

Current torque (Read only)

Reserved

fFollowPosLREALFollowing error (Read only)
nLocalAxisActPosDINTLocal pulse axis current position (Read only)
nLocalAxisActFrequencyDINTLocal pulse axis current frequency (Read only)
StatusAXIS_INFO_STATUS_TAxis status
wAxisStateWORDAxis status (Read only)
NameData typeFunction
wAxisErrorDWORDAxis error code (Read only)
wMotionStateWORDMotion status (Read only)
bPowerStateBOOLAxis enabled status (Read only)
bphLimitBOOLHardware positive limit (Read only)
bnhLimitBOOLHardware reverse limit (Read only)
bHomeStateBOOLHoming limit (Read only)
bPsLimitBOOLSoftware positive limit (Read only)
bnsLimitBOOLSoftware reverse limit (Read only)
bTarDirBOOLDirection of motion (Read only)
DbgAXIS_DEBUG_TAxis debugging information
bAxisDebugBOOLAxis debugging switch
bPowerBOOLAxis enable
bStopBOOLAxis stop
bResetBOOLAxis reset
bJogPBOOLJOG+
bJopNBOOLJOG-
bHomeBOOLHoming
bSetPosBOOLSet the current position
bAbsPosBOOLAbsolute positioning
bRevPosBOOLReciprocating motion:
bRelPosBOOLRelative positioning
bVelocityBOOLContinuous motion
bTorqueBOOL

Torque Mode

Reserved

fPresetPositionLREALPreset position
fJogVelocityLREALJOG speed
fPositionOffserLREALHoming mode offset
fTarPositionLREALTarget position
fTarVelocityLREALTarget velocity
fTarAccelerationLREALTarget acceleration
fTarDecelerationLREALTarget deceleration
fTarJerkLREALTarget jerk
fTarPosition2LREALTarget position 2
NameData typeFunction
fTarVelocity2LREALTarget speed 2
fTarAcceleration2LREALTarget jerk 2
fTarDeceleration2LREALTarget deceleration 2
fTarJerk2LREALTarget jerk 2
fTarTorqueLREAL

Target torque

Reserved

fTarTorqueSlopLREAL

Torque ramp

Reserved

fLimitVelocityLREAL

Limit the speed.

Reserved

PdoAXIS_INFO_PDO_TPDO information
wControlWordWORDControl word
wStatusWordWORDStatus word
nSetPositionDINTSetting position
nActPositionDINTCurrent position
nSetVelocityDINTSetting speed
nActVelocityDINTCurrent speed
nSetTorqueDINT

Setting torque (Read only)

Reserved

nActTorqueDINT

Current torque

Reserved

nDODINT

Digital output

Reserved

nDIDINT

Digital input

Reserved

wModesOfPperationWORDControl mode
wModesOfPperationDisplayWORDCurrent control mode
wTouchFunctionWORDTouch probe function settings
wTouchStausWORDProbe touch status
nTouch1PPosDINTRising edge position of touch probe 1
nTouch1NPosDINTFalling edge position of touch probe 1
nTouch2PPosDINTRising edge position of touch probe 2
nTouch2NPosDINTFalling edge position of touch probe 2
nMaxVelocityDINT

Maximum velocity

Reserved

pParamAXIS_MODEPARAM_INFO_TParameter information
nEncoderModeBYTEEncoder model.
NameData typeFunction
  

0: Incremental mode

1: Absolute mode.

nModeSetBYTE

Mode settings.

0: Linear mode

1: Rotation mode.

dRotatePeriodLREALRotation cycle
nSpeedADTypeBYTE

Speed acceleration and deceleration type.

0: Default mode;

1: T-curve;

2: S-curve.

bEnSwLimitBOOLWhether to enable software limit
dSwPLimitLREALPositive limit unit
dSwNLimitLREALReverse limit unit
dFollowThreSholdLREALFollowing error threshold Unit
dAxisMaxSpeedLREALAxis maximum velocity unit/s
dAxisMaxASpeedLREALAxis maximum acceleration unit/s^2
dAxisMaxJogSpeedLREALAxis Jog Maximum Speed Unit/s
nPMaxTorqueDINTPositive torque maximum*0.1%
nNMaxTorqueDINTNegative torque maximum*0.1%
bNoInErrorStopBOOL

Don’t enter ErrorStop after hitting the limit

status.

Reserved

bHdPLimitBOOL

Hardware positive limit

0: Positive logic;

1: Negative logic;

Reserved: Not in use yet.

bHdNLimitBOOL

Hardware reverse limit (Read-only)

0: Positive logic;

1: Negative logic;

Reserved: Not in use yet.

bEnProbe1BOOL

Touch probe 1 enable

Reserved

bEnProbe2BOOL

Touch probe 2 enable

Reserved

sProbe1ARRAY[O..5] OF BYTETouch probe 1, X0 to X7.
sProbe2ARRAY[O..5] OF BYTETouch probe 2, X0 to X7.
nOutputWayDWORD

Output mode

0: Pulse+Direction; 1: CW/CCW.

nCounterModeDWORD

Counting mode

0: A/B phase 1 times frequency;

NameData typeFunction
  

1: A/B phase 2 times frequency;

2: A/B phase 4 times frequency;

3: CW/CCW;

4: Pulse+Direction;

5: Single phase count.

 

nSignalSource

 

DWORD

Signal source

0: X0-Phase A;

1: X1-Phase B;

2: X2-Phase A;

3: X3-Phase B.

bEnPreSetBOOLPreset enable
sInputTermialARRAY[O..5] OF BYTEInput terminal
bEnCmpOutputBOOLCompare output enable
dPulseWidthLREALPulse width
sOutputTermialARRAY[O..5] OF BYTEOutput terminal
sCmpOutputUnitARRAY[O..4] OF BYTECompare output units ms/Unit
nFiltTime10nsDINTFiltering time design 10us unit
nFreqFilterTimeDINTVelocity filtering time constant
pOriginAXIS_ORIGINRET_INFO_THoming information
nOriginSignalBYTE

Homing signal

0: Not assigned;

1: Not used;

2: In use.

nZSingalBYTE

Z signal.

0: Not assigned;

1: Not used;

2: In use.

nPLimitBYTE

Positive limit

0: Not assigned;

1: Not used;

2: In use.

nNLimitBYTE

Negative limit

0: Not assigned;

1: Not used;

2: In use.

nDirectionBYTE

Homing direction:

0: Not assigned;

1: Forward;

2: Reverse

nInputCheckDirectionBYTE

Enter the detection direction.

0: Not assigned;

NameData typeFunction
  

0: Positive

2: Reverse

nReturnListBYTEHoming list Homing mode 1 to 35

 

nReturnZero

 

BYTE

Homing mode

0: Absolute homing 1: Relative homing.

dReturnSpeedLREALHoming speed Unit/s
dReturnAccelerateLREALHoming acceleration Uint/s^2
dReturnNearSpeedLREALHoming approach velocity Unit/s
nReturnTimeOutDINTHoming overtime time ms
bEnPLimitBOOLPositive limit enables
bEnNLimitBOOLNegative limit enable
bEnSignalLimitBOOLHoming signal enable
sPLimitAddrARRAY[O..5] OF BYTE

Positive limit address X0~X1023.

(The local pulse axis currently only supports hardware limit X0-X7)

sNLimitAddrARRAY[O..5] OF BYTE

Reverse limit address X0~X1023.

(The local pulse axis currently only supports hardware limit X0-X7)

sSignalLimitAddrARRAY[O..5] OF BYTE

Homing signal address X0 to X1023

(The local pulse axis currently only supports hardware limit X0-X7)

nPLimitLogicBOOL

Forward limit logic

0: Forward logic;

1: Reverse logic.

nNLimitLogicBOOL

Negative limit logic.

0: Positive logic;

1: Negative logic.

nSignalLogicBOOL

Homing signal logic

0: Positive logic;

1: Negative logic.

pUnitAXIS_UNITCONV_INFO_TUnit information
bReverseBOOLReverse or not
bEnGearBoxBOOLEnable gearbox
nRotatePulseNumDINTThe number of pulses for one revolution of the motor/encoder
dRotateMoveAmount1LREALMovement amount 1 in one rotation
dRotateMoveAmount2LREALMovement amount 2 in one rotation
nGearRatioMINTGear ratio molecule
nGearRatioDINTGear ratio denominator

Others


Single axis motion control status diagram


1709016272018-406.png

Axis group motion control status diagram


1709016323709-202.png

Arc mode description


ModeBorder (CircMode=0)Circle center (Circmode=1)Diameter (CircMode=2)

 

Features

The arc composed of starting point, auxiliary point and ending point is regarded as the trajectory circle of motion.

 

 

The auxiliary point is defined as the center of the motion trajectory, so the auxiliary point should be on the perpendicular line connecting the starting point and the ending point.

 

According to the right-hand grip rule, the ending point and the vector perpendicular to the plane of the circle are defined, and the length of the vector corresponds to the radius of the circle.

The direction of the vector determines the direction of CW and CCW circles.

The major arc and minor arc are determined by path choice.

 

Description

1709016369357-809.png1709016369360-366.png1709016369361-660.png
AuxpointArc path pointCenter point of arcNormal vector of the plane where the space arc lies

 

Path choice

Invalid

CW and CCW circles

CCW mode

CW mode

Major and minor arcs

1: Minor arc

0: Major arc

CharacteristicsRestriction of angle less than 2π for single instructionRestriction of angle less than 2π and nor equal to π for single instruction

Restriction of angle less than 2π for single instruction

The vector perpendicular to the circular plane must be calculated.

Transition mode description


Detailed explanation of transition mode: Transition parameters are additional parameters of transition modes, which take effect according to different transition modes.

TransitionMode0 (No buffer mode)1 (Largest velocity to buffer)2 (Specified velocity buffer)
TransitionParameterInvalidInvalidSpecified velocity

Mode selection instructions


1709016491129-791.png

Caution

It should be noted that if the moving function block is interrupted by another function block, the following error will occur: braking distance is insufficient due to the limitation of deceleration;

Note that in all the sequence diagrams explained below, some of the sequence diagrams for the status word feedback are incorrect. For example, in Figure 8-2, the start signal is not automatically set by the system after triggering, but controlled by the user. Function block triggers execution logic when on the rising edge.

Likewise, the Done signal is not set automatically. When the function block ends, Done will be set until the falling edge of Execute is generated!

 (1) mcAborting

It is an agreed pattern without buffering. When the status of the application axis is changed to "ErrorStop", all motion control function blocks with buffer mode will enter mcAborting.

At this time, the function block output "Error" in mcAborting is set. Its subsequent commands are rejected because the output Error is set, so Active is reset.

The following figure illustrates the function connection of the front and back function block instances in mcAborting.

                                                                                     Figure8-1

1709016579583-740.png

As shown in Figure 8-1, the previous and next motion control function blocks are MC_MoveAbsolute, and both adopt mcAborting.

The following Figure 8-2 shows the sequence diagrams of function block instances FB1 and FB2. Figure 8-2(a) shows the sequence diagram of two absolute position motion function blocks under normal working conditions, i.e., the motion controlled by FB2 is carried out after the motion controlled by FB1 is completed.

When on the Start_1=TRUE rising edge, the function block instance FB1 is activated. At the same time, the outputs Busy_1 and Active_1 are set. The motion process of the axis is as follows: the velocity increases to 100u/s according to the acceleration of 100u/s2, and keep the axis move at constant velocity. Then the velocity decreases to 0 with deceleration of 100u/s2, thus moving the axis to 1000u.

Then the output Done 1 is set, and Busy 1 and Active 1 are reset.

Axis position is 1000u.

                                                                 Figure8-2 The sequence diagram of normal working condition and mcAborting

1709016808830-880.png

When on the Start_2=TRUE rising edge, the second function block instance FB2 is activated. The output Busy_2 and Active 2 are set. According to the acceleration of 50u/s2, the axis velocity increases to the constant velocity of 50u/s. Then the axis velocity decreases to 0 at the deceleration of 50u/s. The axis position is from 1000u to 2000u.

Since the absolute position has been reached, output Done_2 is set and Busy_2 and Active_2 are reset. Axis position is 2000u.

Figure 8-2(b) shows the sequence diagrams of two absolute position motion function blocks in mcAborting. On the rising edge of start1 = TRUE, the function block instanceFB1is activated.

At the same time, the output Busy_2 and Active_1 are set. The axis motion velocity increases according to the acceleration of 100u/s2. But in this process, the output start 2 of the function block instance FB2 is set, which abort the motion of the previous function block instance FB1. At this time, the axis dose not reach the required position 1000u and is aborted to stop.

As the function block instance FB2 is activated, Busy_2 and Active_2 are set. According to the requirement of the function block instance FB2, the velocity of the axis decreases to the input value of 50u/s2 according to its deceleration of 50u/s2. Keep it move at the constant velocity of 50u/s so that it will finally reach the position 2000u.

It can be seen that the activation of the next function block causes the previous function block to stop its motion, and the aborting command immediately affects the motion of the axis.

This buffer mode is called mcAborting.

(2) mcBuffered

The command of the next function block is stored in the buffer area. The command of the buffer area is executed only after the motion of the previous function block is completed. Therefore, this mode is called mcBuffered.

The BufferMode input for the next function block is set to be buffered mode (mcBuffered). Figure 8-3shows the setting for the connection of two function blocks.

The sequence diagram of mcBuffered is shown in Figure 8-4. In the figure, FB1 is activated when the input start 1=TRUE of the previous function block instance is on the rising edge. When this function block instance FB1 control the axis to move, the start 2 of the next function block instance FB2 is set. Due to the FB2 buffer mode is set to mcBuffered, the activation of FB2 does not abort the control of FB1 to the axis. Although the output Busy_2 of FB2 is set, the function block is not activated, namely, the output Active_2 is still FALSE.

Therefore, FB1 continues to control the motion of the axis until the axis reaches the set position 1000u. Then FB2 is immediately activated to work, and the velocity of the axis is not delayed. Increase the velocity to 50u/s based on the acceleration of 50u/s2 directly and then keep it move at the constant velocity of 50u/s, so that it will finally reach the position of 2000.

                                                                                     Figure8-3 Connections in mcBuffered

1709016841335-589.png

It can be seen from the figure that the buffer mode of the rear function block is set to mcBuffered, which means that the rear function block cannot interrupt the motion of the previous function block. And once the previous function block completes its task.

and Done_1 is set, the work of the next function block will start immediately.

The mcBuffered indicates that the motion command of the next function block has been stored in the buffer area, which does not affect the control and operation of previous motion control function block over the axis. It can execute subsequent commands after the executed function block outputs Done or Inxxx becomes TRUE.

                                                                                     Figure 8-4 

1709016882878-958.png

mcBlending

There are four options for mcBlending of the previous and next function blocks. The mcBlending represents the blending of the velocity of the previous and next functional blocks. In this case, the previous function block interrupts its motion, and the next function block controls the subsequent motion, but its initial velocity is called blending velocity or mixing velocity.

The mixing velocity can adopt the velocity of two function blocks (whichever is lower or higher) or it can be directly specified that the velocity of the previous function block or the velocity of the next function block is adopted.

Therefore, the mcBlending is divided into four types.

(1) mcBlendingLow.

The blending velocity is the lower of the set velocity of the two function blocks. This mcBlending can be random. If the set velocity of the previous function block is lower than that of the next function block, the blending velocity adopts the velocity of the previous function block.

On the contrary, if the set velocity of the previous function block is higher than that of the next function block, the blending velocity adopts the velocity of the next function block.

When the buffer mode of the next function block is set to be mcBlendingLow, it means that the next function block will not interrupt the work of previous function block if the work of the previous function block is not completed; when the velocity of the previous function block decreases to the lower velocity of the previous and next function blocks, the next function block can continue to control the motion of the axis.

Figure 8-5 shows the connection diagram of three motion blocks, and the mode of latter two function blocks are set to be mcBlendingLow.

                                                                                     Figure 8-5 The connection of mcBlendingLow

1709016915405-788.png

Figure 8-6 shows the sequence diagram of mcBlendingLow. To illustrate maBlendingLow, two subsequent function block instance FB2 and FB3 are used in the figure. In the figure, FB1 is activated when start_1 is set on the rising edge and then its BusY_1 is set. When FB1 controls the axis to move, start=2 of the FB2 instance is also set on the rising edge. FB1 does not complete the axis motion, so the Buffer-Mode of FB2 is set to mcBlendingLow.

Therefore, FB1 adopts the minimum velocity after blending FB1 and FB2, namely, the set velocity of FB2 of 50u/s.

It means that in the subsequent motion of FB1, the velocity of the axis is reduced to 50u/s according to the deceleration of FB2. When the axis velocity drops to the mixed low velocity, the FB1 control axis moves to the set position of 1000u, and the output Done_1 of FB1 is set, which indicates the end of its controlled motion.

FB2 immediately controls the axis to move at a constant velocity of 50u/s, and the axis is moving to specified position of 2000u.

At this time, if the Start_3 of the function block instance FB3 is set, since FB2 has not reached its position of 2000u, and the Buffer-Mode of FB3 is set to be mcBlendingLow, when the Start_3 of FB3 is set, the moving axis will control the axis according to the set velocity of FB2 and FB3 (whichever is lower) until the position of the axis reaches the set position of 2000u, then the output Active_2 is reset when FB2 is activated.

At this time, if the Start_3 of the function block instance FB3 is set, since FB2 has not reached its position of 2000u, and the Buffer-Mode of FB3 is set to be mcBlendingLow, when the Start_3 of FB3 is set, the moving axis will control the axis according to the set velocity of FB2 and FB3 (whichever is lower) until the position of the axis reaches the set position of 2000u, then the output Active_2 is reset when FB2 is activated. Then under the control of the FB3 function block instance, increase the velocity of the axis to 100u/s; then keep the axis move at constant velocity, and finally reduce the velocity to 0u/s; at this time the axis reaches the set position of 3000u.

                                                                                      Figure 8-6 The sequence diagram of mcBlendingLow

Figure 8-6 The sequence diagram of mcBlendingLow

mcBlending means that due to the difference in the set velocity of the previous and next function blocks, when the Execute rising edge input of the next function block is set, the system will determine what velocity should be adopted to control the axis according to the BufferMode parameter set by the next function block.

The aforesaid mcBlendingLow adopts the set velocity of the two function blocks (whichever is lower).

The previous function block will complete the subsequent motion under the control of blending velocity until it reaches the set position, and the subsequent function block will continue to control the axis. mcBlendingPrevious: the blending velocity adopts the velocity set by the previous function block.

mcBlendingPrevious

As shown in Figure 8-5, if the BufferMode parameter of FB2 and FB3 is set to be mcBlendingPrevious, the blending velocity directly adopts the velocity of the previous function block.

Figure 8-7 shows the timing diagram of the mcBlendingPrevious.

When analyzing the sequence diagram, pay attention to the change of blending velocity. As shown in Figure 8-7, in the timing diagram of the mcBlendingPrevious, when FB1 is in buffer mode, the axis moves according to the velocity of the previous function block FB1, i.e., 100u/s, until it reaches the set position of 1000u.

When FB2 is in buffer mode, the axis moves according to the velocity of the previous function block FB2, i.e., 50u/s, until it reaches the set position of 2000u.

Therefore, the axis velocity is100u/s when FB1 output Active is reset, and the axis velocity is 50u/s when FB2 output Active is reset.

                                                                                Figure 8-7 Sequence diagram of mcBlendingPrevious

1709017101626-838.png

mcBlendingNext

As shown in Figure 8-5, if the BufferMode parameter of FB2 and FB3 is set to be mcBlendingNext, the blending velocity directly adopts the velocity of the next function block.

Figure 8-8 shows the timing diagram of the mcBlendingNext.

As shown in Figure 8-8, in the timing diagram of the mcBlendingNext, when FB1 is in buffer mode, the axis moves according to the velocity of the next function block FB2, i.e., 50u/s,

until it reaches the set position of 1000u. When FB2 is in buffer mode, the axis moves at 100U/S according to the velocity of the next function block FB3, until it reaches the set position of 2000U. Therefore, the axis velocity is 50u/s when the FB1 output Active is reset, and the axis velocity is 50u/s when FB2 output Active is reset.

As shown in Figure 8-6 of the sequence diagram of the mcBlendingLow, when FB1 is in buffer mode, the axis buffers at the low blending velocity and moves at 50U/S according to the velocity of FB2, until it reaches the set position of 1000U.

When FB2 is in buffer mode, the axis buffers at the low blending velocity and moves at 50U/S according to the velocity of the FB2, until it reaches the set position of 2000U.

Therefore, the axis velocity is 50u/s when the FB1 output Active is reset, and the axis velocity is 50u/s when FB2 output Active is reset.

Error Code Cross-reference Table


Error CodeError DefinitionInterpretation
Normal
0x00MC_ERROR_ID_SUCCESSNo error
Run-time error
0x00200000MC_ERROR_ID_SCURVE_NOTFEASIBLE

Not feasible to compute

S-curve

0x00200001MC_ERROR_ID_SCURVE_MAXVEL_NOTREACHEDNot reach maximum velocity
0x00200002MC_ERROR_ID_SCURVE_MAXACC_NOTREACHEDNot reach maximum acceleration
0x00200003MC_ERROR_ID_SCURVE_FINDMAXACC_FAILEDFail to find maximum velocity
0x00200004MC_ERROR_ID_SCURVE_INVALIDINPUTInvalid constraint for S-curve planning
PLCOpen State-machine error
0x00300000MC_ERROR_ID_AXIS_STATE_VIOLATIONInvalid axis state violation
0x00300001MC_ERROR_ID_POWER_ON_OFF_FROM_ERROR_STOPTry to power on the servo at ErrorStop
0x00300002MC_ERROR_ID_INVALID_STATE_FROM_STOPPINGInvalid state transition at Stopping
0x00300003MC_ERROR_ID_INVALID_STATE_FROM_ERROR_STOPInvalid state transition at ErrorStop
0x00300004MC_ERROR_ID_INVALID_STATE_FROM_DISABLEDInvalid state transition at Disabled
0x00300005MC_ERROR_ID_INVALID_STATE_FROM_POWEREDInvalid state transition at Powered
0x00300006MC_ERROR_ID_INVALID_STATE_FROM_SYNCInvalid state transition at Sync
0x00300007MC_ERROR_ID_INVALID_STATE_NOT_HOMEInvalid state transition when not home
0x00300008MC_ERROR_ID_INVALID_STATE_TO_DISABLEDInvalid state transition to Disabled
0x00300009MC_ERROR_ID_INVALID_STATE_TO_ERRORSTOPInvalid state transition to ErrorStop
0x0030000AMC_ERROR_ID_INVALID_STATE_TO_STANDSTILLInvalid state transition to StandStill
0x0030000BMC_ERROR_ID_INVALID_STATE_TO_HOMINGInvalid state transition to Homing
0x0030000CMC_ERROR_ID_INVALID_STATE_TO_STOPPINGInvalid state transition to Stoppping
0x0030000DMC_ERROR_ID_INVALID_STATE_TO_DISCRETEInvalid state transition to DiscreteMotion
0x0030000EMC_ERROR_ID_INVALID_STATE_TO_SYNCInvalid state transition to SynchronizedMotion
0x0030000FMC_ERROR_ID_INVALID_STATE_TO_CONTINUOUSInvalid state transition to ContinuousMotion
Error due to user/system limitations
0x00400000MC_ERROR_ID_MOTION_LIMIT_ERRORVelocity, acceleration or position over limit
0x00400001MC_ERROR_ID_INVALID_DIRECTION_POSITIVENo positive direction motion allowed
0x00400002MC_ERROR_ID_INVALID_DIRECTION_NEGATIVENo negative direction motion allowed
0x00400003MC_ERROR_ID_VELOCITY_OVER_LIMITVelocity over limit
0x00400004MC_ERROR_ID_ACCELERATION_OVER_LIMITAcceleration over limit
0x00400005MC_ERROR_ID_POSITION_OVER_POSITIVE_LIMITPosition over positive limit
0x00400006MC_ERROR_ID_POSITION_OVER_NEGATIVE_LIMITPosition over negative limit
0x00400007MC_ERROR_ID_POSITION_LAG_OVERLIMITPosition lag over limit
0x00400008MC_ERROR_ID_TORQUE_OVER_LIMITTorque over limit
Error Stop
0x00500000MC_ERROR_ID_AXIS_ERROR_STOPAxis error stopped
Error from servo
0x00600000MC_ERROR_ID_AXIS_ERROR_STOPServo has no error
0x00600001MC_ERROR_ID_SERVO_FIELDBUS_INIT_ERRORServo fieldbus initialize error
0x00600002MC_ERROR_ID_SERVO_POWER_ERRORServo power error
0x00600003MC_ERROR_ID_SERVO_POWERING_ON_ERRORServo has error during powering on
0x00600004MC_ERROR_ID_SERVO_ERROR_WHEN_POWERED_ONServo has error after powered on
0x00600005MC_ERROR_ID_SERVO_POWERING_OFF_ERRORServo has error during powering off
0x00600006MC_ERROR_ID_SERVO_PDO_NOT_MAPServo PDO not map
0x00600007MC_ERROR_ID_SERVO_PDO_READ_ERRORServo PDO read error
0x00600008MC_ERROR_ID_SERVO_PDO_WRITE_ERRORServo PDO write error
0x00600009MC_ERROR_ID_SERVO_POWER_OFFServo can’t run in power off
0x0060000AMC_ERROR_ID_SERVO_ERROR_HOME_STATEServo has error when homing state
0x0060000BMC_ERROR_ID_SERVO_HOME_MODE_SWITCHServo mode switch error
0x0060000CMC_ERROR_ID_SERVO_HOME_CTRLWORDServo set homing mode error
0x0060000DMC_ERROR_ID_SERVO_HOMEServo homing error
0x0060000EMC_ERROR_ID_SERVO_PDO_READ_BUSYServo PDO read busy
0x0060000FMC_ERROR_ID_SERVO_TOUCHPROBE_NOTFINDFail to find Servo TouchProbe
0x00600010MC_ERROR_ID_SERVO_PARAREADRead Servo parameter error
0x00600011MC_ERROR_ID_SERVO_PARAWRITEWrite Servo parameter error
0x00600012MC_ERROR_ID_LOCAL_PULSE_HOME_TIMEOUTTime out when origin regression
0x00600013MC_ERROR_ID_LOCAL_PULSE_HOME_NOT_TOUCH_LIMIThe execution has not encountered the limit
0x00600014

MC_ERROR_ID_LOCAL_PULSE_HOME_VELOCITY_

OVER_LIMIT

Pulse shaft HOME Velocity over limit
0x00600015

MC_ERROR_ID_LOCAL_PULSE_HOME_ACC_

OVER_LIMIT

Pulse shaft HOME Acceleration over limit
0x00600020

MC_ERROR_ID_MODE_SWITCH_NEEDPDO_

NOTMAP

There is no required PDO for the mode

corresponding to mode switching.

0x006000FFMC_ERROR_ID_SERVO_LOSTServo lost
Axis’s error
0x00700000MC_ERROR_ID_AXIS_GENERAL_ERRORAxis's general error
0x00700001MC_ERROR_ID_AXIS_ADD_QUEUE_ERRORAxis’ add error
0x00700002MC_ERROR_ID_AXIS_IS_UNHEALTHYAxis is unhealthy
0x00700003MC_ERROR_ID_AXIS_IS_OVER_LIMITAxis's motion instruction is over limit
0x00700004MC_ERROR_ID_AXIS_FALLINGEDGE_ERRORAxis error when on the falling edge
0x00700005MC_ERROR_ID_AXIS_NOTFINDNot find the axis
0x00700006MC_ERROR_ID_AXIS_IS_INGROUPAxis is in Group
0x00700007MC_ERROR_ID_AXIS_CAN_NOT_SETPOSAxis cannot be set position in current state
0x00700008MC_ERROR_ID_AXIS_NOT_POWERAxis does not power on yet
0x00700009MC_ERROR_ID_AXIS_NOT_SUPPORTED_TOUCHNot support the bound touch probe number
0x0070000AMC_ERROR_ID_AXIS_IS_COMBINEDAxis is combined
0x0070000B

MC_ERROR_ID_AXIS_CAN_NOT_COMBINE_WHILE_RU

N

Axis can't combine while

running

0x0070000CMC_ERROR_ID_AXIS_GROUP_NOTFINDNot find axis group number
General FB error
0x00800000MC_ERROR_ID_FB_GENERAL_ERRORUser's FB run error
0x00800001MC_ERROR_ID_FB_READ_PARAM_ERRORUser's FB read error
0x00800002MC_ERROR_ID_FB_STOP_ERRORUser's FB stop error
0x00800003MC_ERROR_ID_FB_NOT_BIND_AXISUser's FB does not bind the logic axis
0x00800004MC_ERROR_ID_FB_NOT_SET_PARAMETER_IDUser's FB dose not set the read parameter
0x00800005MC_ERROR_ID_FB_NOT_IN_QUEUEUser's FB has already done and can't update
0x00800006MC_ERROR_ID_FB_PARAMETER_ERRORUser's FB parameter error
0x00800007MC_ERROR_ID_FB_PLAN_FAILEDUser's FB error due to parameter when executing planning
0x00800008MC_ERROR_ID_FB_REPLACE_AXIS_IN_RUNUser's FB replace axis in running
0x00800009MC_ERROR_ID_FB_HALTSUPERIMPOSED_ERRORStop virtual superimposed error
0x0080000AMC_ERROR_ID_FB_NOT_BIND_AXIS_GROUPUser's FB isn't binding axis in axis group
0x0080000BMC_ERROR_ID_FB_BIND_AXIS_IS_ERRORThe bound axis has error
0x0080000CMC_ERROR_ID_FB_MINE_AXIS_IS_ERRORFb’s planning axis has error
0x0080000DMC_ERROR_ID_FB_NOT_BIND_MASTERFB does not bind master axis
0x0080000EMC_ERROR_ID_FB_NOT_BIND_SLAVEFB does not bind slave axis
0x0080000FMC_ERROR_ID_FB_CAN_NOT_BIND_ENCODERAXISFB can't bind encoder axis
0x00800010MC_ERROR_ID_FB_NOT_BIND_TRIGGER_INFOFB does not bind trigger information
0x00800011MC_ERROR_ID_FB_NOT_SUPPORTED_TRINUMBound trigger number is not supported
0x00800012MC_ERROR_ID_FB_CAN_NOT_CHANGE_WHILE_RUNFB’ bound parameter cannot change at running
0x00800013MC_ERROR_ID_FB_RANGE_SET_ERRORFB parameter range has error. Maximum value may be less than minimum value.
0x00800014MC_ERROR_ID_FB_MASTER_SLAVE_ARE_SAMEFB master and slave axis are consistent
0x00800015MC_ERROR_ID_FB_MASTER_AUXILIARY_ARE_SAMEFB master and auxiliary axis are consistent
0x00800016MC_ERROR_ID_FB_AUXILIARY_SLAVE_ARE_SAMEFB auxiliary and slave axis are consistent
0x00800017MC_ERROR_ID_FB_MASTER_SLAVE_NOT_ASCENDINGFB master and slave id are not in ascending order
General axis group error
0x00900000MC_ERROR_ID_AXIS_GROUP_GENERAL_ERRORGroup general error
0x00900001MC_ERROR_ID_AXIS_GROUP_ADD_QUEUE_ERRORGroup fb add error
0x00900002MC_ERROR_ID_AXIS_GROUP_REMOVE_ERRORGroup remove logic axis error
0x00900003MC_ERROR_ID_AXIS_GROUP_ENABLE_ERRORGroup enable error
0x00900004MC_ERROR_ID_AXIS_GROUP_DISABLE_ERRORGroup disable error
0x00900005MC_ERROR_ID_AXIS_GROUP_STOP_ERRORGroup stop error
0x00900006MC_ERROR_ID_AXIS_GROUP_AXIS_INSINGLEMOVEGroup is to run, but axis is in single axis controlled
0x00900007MC_ERROR_ID_AXIS_GROUP_AXIS_INGROUPMOVEAxis is bound in axis group
0x00900008MC_ERROR_ID_AXIS_GROUP_IS_UNHEALTHYGroup's any axis is error or any error in group
0x00900009MC_ERROR_ID_AXIS_GROUP_CAN_NOT_SETPOTGroup can't set position
0x0090000AMC_ERROR_ID_AXIS_GROUP_INVALID_STATE_TRANSGroup is to switch to the unallowed state
0x0090000BMC_ERROR_ID_AXIS_GROUP_NOT_BIND_AXISGroup does not bind axis
0x0090000CMC_ERROR_ID_AXIS_GROUP_IS_DISABLEDGroup is disabled
Single axis planner error
0x00A00000MC_ERROR_ID_PLANNER_DIST_IS_ZEROPlanner position is 0
0x00A00001MC_ERROR_ID_PLANNER_SPPED_IS_ZEROPlanner velocity is 0
0x00A00002MC_ERROR_ID_PLANNER_ACC_DES_IS_ZEROPlanner acceleration is 0
0x00A00003MC_ERROR_ID_PLANNER_JERK_IS_ZEROGroup general error
0x00A00004MC_ERROR_ID_PLANNER_CURRENT_DIFF_LASTPlanner synchronization error, current position is inconsistent with the last position
0x00A00005MC_ERROR_ID_PLANNER_SPPED_OVER_LIMITPlanner input velocity is over limit
0x00A00006MC_ERROR_ID_PLANNER_ACC_DES_OVER_LIMITPlanner input acceleration and deceleration is over limit
0x00A00007MC_ERROR_ID_PLANNER_JERK_OVER_LIMITPlanner input Jerk is over limit
0x00AFFFFFMC_ERROR_ID_PLANNER_SG_CULCULATEPlanner single axis calculate error
Axis group planner error
0x00B00000MC_ERROR_ID_PLANNER_SP_SAME_START_ENDPlanner space curve’ start and end are the same
0x00B00000MC_ERROR_ID_PLANNER_SP_NOT_IN_SAME_PLANEPlanner space curve is not in the same plane
0x00BFFFFFMC_ERROR_ID_PLANNER_SP_CULCULATEPlanner space curve calculate error
ECAM or EGEAR error
0x00C00000MC_ERROR_ID_AXIS_MASTER_AND_SLAVE_IS_SAMEPlanner master and slave is the same
0x00C00001MC_ERROR_ID_AXIS_MAX_ACC_OR_DEC_OR_VEL_IS_ZEROPlanner axis's max acc/dec/vel is zero
0x00C00002MC_ERROR_ID_CAM_TABLE_IS_INEXISTENCEPlanner the camtable is inexistence
0x00C00003MC_ERROR_ID_CAM_NODENUM_OVER_NODE_SIZEPlanner the cam node num is over actual cam node size
0x00C00004MC_ERROR_ID_CAM_NODENUM_OR_NODESIZE_IS_ERRORPlanner the cam node num or cam node size is error
0x00C00005MC_ERROR_ID_CAM_FIRST_NODE_POS_NON_ZEROPlanner the cam first node's master position or slave position non-zero
0x00C00006MC_ERROR_ID_CAM_NODE_PARAMETER_IS_ERROR Planner the cam node parameter is error
0x00C00007MC_ERROR_ID_CAM_UPDATE_CAM_TABLE_IS_ERRORPlanner the update cam table is error
0x00C00008MC_ERROR_ID_CAM_SAVE_CAM_TABLE_IS_ERRORPlanner the save cam table is error
0x00C00009MC_ERROR_ID_CAM_GET_AXIS_VEL_AND_POS_ERRORPlanner get master and slave vel/pos is error
0x00C0000AMC_ERROR_ID_BUFFER_MODE_IS_NOT_ABORTINGPlanner the buffer mode is not aborting
0x00C0000BMC_ERROR_ID_CAM_AXIS_SCALING_IS_ZEROPlanner the cam master scaling or slave scaling is zero
0x00C0000CMC_ERROR_ID_CAM_TABLE_IS_NOT_BINDPlanner the cam table is not bind
0x00C0000DMC_ERROR_ID_THE_AXIS_IS_NOT_IN_CAM_STATEPlanner the axis is not in the cam state
0x00C0000EMC_ERROR_ID_THE_AXIS_IS_NOT_IN_GEAR_STATEPlanner the axis is not in the gear state
0x00C0000FMC_ERROR_ID_CAM_IN_PARAMETER_IS_ERRORPlanner the camin parameter is error
0x00C00010MC_ERROR_ID_GEAR_IN_PARAMETER_IS_ERRORPlanner the gearin parameter is error
0x00C00011MC_ERROR_ID_GEAR_IN_POS_PARAMETER_IS_ERRORPlanner the gearinpos parameter is error
0x00C00012MC_ERROR_ID_CAM_TABLE_IS_UPDATEPlanner the cam table is updating
0x00C00013MC_ERROR_ID_GET_CAM_TABLE_POS_IS_ERRORPlanner the get cam table position is error
0x00C00014MC_ERROR_ID_CAM_TABLE_PHASE_IS_OUT_OF_RANGEPlanner the get cam table position is error
0x00C00015MC_ERROR_ID_CAM_TABLE_NODE_IS_NOT_ADJOINPlanner the cam table node is not adjoin