Delta AX Series User manual


AX-Series Motion Controller Instructions Manual Revision History
Version Revision Date
1st The first version was published. 03/31/2020
2nd
1. Updated Sections 2.1.1 ~ 2.1.18, 2.2.1 ~ 2.2.16, 2.3.1.1 ~ 2.3.1.9, 2.3.1.11,
2.3.2.1 ~ 2.3.2.2, and 2.3.2.5 ~ 2.3.2.22: Added supported product AX-364E
2. Updated Sections 2.3.1.1, 2.3.1.3 ~ 2.3.1.8, 2.3.2.1 ~ 2.3.2.2, 2.3.2.5 ~
2.3.2.11, and 2.3.2.15 ~ 2.3.2.16: Updated ErrorID
3. Added Sections 2.3.1.10, 2.3.1.12, 2.3.1.13, and 2.3.2.3 ~ 2.3.2.4
4. Updated Section 2.3.1.11: Updated bInVelocity and bone
5. Updated Section 2.3.2.6: Updated GroupErrorID
6. Updated Section 2.3.2.12: Updated dwErrorID
7. Updated Sections 2.3.3.1 ~ 2.3.3.16: Removed supported product AX-8 and
added supported product AX-364E
8. Updated Appendix A1: Added DMC_ImmediateStop_P,
DMC_GroupInterrupt, _GroupContinue, DMC_GroupReadParameter, and
DMC_GroupWriteParameter
9. Updated Appendix A2:
Updated DMC_GROUP_TRANSITION_MODE
Added DMC_GROUP_PARAMETER
10. Updated Appendix A.3.1
11. Updated Appendix A.3.2
02/28/2021
3rd
1. Updated Section 2.3.2.22: Updated Timing to Take Effect of bWindowOnly,
lrFirstPosition, and lrLastPosition
2. Updated Section 2.3.3: Added positioning axis speed range introduction
3. Updated Section 2.3.1.1: Updated the programming example figure
4. Updated Section 2.3.3.1: Updated the bStatus status timing
07/30/2021
4th
1. Updated Section 2.3.1.1: Updated the image of the DMC_TorqueControl
motion behavior.
2. Updated Section 2.3.1.2: Updated Note 1 of Inputs.
3. Added Section 2.3.1.14 ~ 2.3.1.18.
4. Added Section 2.3.2.23 ~ 2.3.2.26.
5. Added Section 2.4.1: Added Servo Press introduction.
6. Updated Section A.2 & A.3: Added Data Type description and error code
description.
06/01/2022
5th
1. Added Section 1.3: Added the overview of Delta motion instructions library
2. Updated Section 2.3.1.12: Added lrDeceleration and lrJerk descriptions
3. Updated Section 2.3.2.15: Added and modified function block parameters
4. Updated Section 2.3.2.21: Added descriptions of Harmonic2_Direct and
Harmonic2_Inverse curves
5. Updated Section 2.3.2.24: Added descriptions of single-axis position
6. Added Section 2.3.2.27: Added DMC_GroupPower
7. Added Section 2.3.4: Added tension control
8. Updated Appendix A.1, A.2, and A.3: Added instructions, Data Types, and
error codes
09/15/2022
6th
1. Update Section 2.1.1: Update function description
2. Update Section 2.3.1 and 2.3.2: Added version compatibility error
troubleshooting
3. Update Section 2.3.1.1: Update function description
03/31/2023

AX-Series Motion Controller Instructions Manual Revision History
Version Revision Date
4. Update Section 2.3.4.1~2.3.4.3: Added library supported version
5. Add Section 2.3.2.29: Added DMC_GetCamSlaveData

AX-Series Motion Controller Instructions Manual TOC
TOC
TOC 1
Preface 1
P.1Introduction .................................................................................................. ......................................1
P.1.1 Applicable Products .................................................................................................................... 1
P. 1 . 2 Associated Manuals.................................................................................................................... 1
Introduction to Motion Control......................................................................................................2
1.1 Introductions of Motion Control...............................................................................................3
1.1.1 Basic Knowledge of Motion Control Instructions ..................................................................... 3
1.2 Categories of Motion Control Instructions ..................................................... .......................6
1.3 Overview of Delta Motion Instructions Library ............................................... .....................7
Motion Control Instruction ..........................................................................................................8
2.1 Motion Control Instructions .................................................................................................... 9
2.1.1 MC_Home ............................................................................................................................ 9
2.1.2 MC_Stop............................................................................................................................. 13
2.1.3 MC_Halt ............................................................................................................................. 16
2.1.4 MC_MoveAbsolute.............................................................................................................. 20
2.1.5 MC_MoveRelative............................................................................................................... 26
2.1.6 MC_MoveAdditive ............................................................................................................... 30
2.1.7 MC_MoveSuperImposed ..................................................................................................... 34
2.1.8 MC_CamIn ......................................................................................................................... 38
2.1.9 MC_CamOut....................................................................................................................... 55
2.1.10 MC_MoveVelocity ............................................................................................................... 59
2.1.11 MC_PositionProfile.............................................................................................................. 64
2.1.12 MC_VelocityProfile.............................................................................................................. 68
2.1.13 MC_AccelerationProfile ....................................................................................................... 72
2.1.14 MC_Jog .............................................................................................................................. 76
2.1.15 MC_GearIn ......................................................................................................................... 79
2.1.16 MC_GearOut ...................................................................................................................... 83
2.1.17 MC_GearInPos ................................................................................................................... 88
2.1.18 MC_Phasing ....................................................................................................................... 94
2.2 Administrative Motion Control Instructions........................................................................99
2.2.1 MC_Power .......................................................................................................................... 99
2.2.2 MC_SetPosition ................................................................................................................ 104
2.2.3 MC_ReadParameter ......................................................................................................... 109
2.2.4 MC_WriteParameter.......................................................................................................... 112
2.2.5MC_ReadBoolParameter................................................................................................... 115
2.2.6 MC_WriteBoolParameter ................................................................................................... 118
2.2.7 MC_ReadActualPosition.................................................................................................... 121
2.2.8 MC_ReadActualVelocity .................................................................................................... 124
2.2.9 MC_ReadActualTorque ..................................................................................................... 127
2.2.10 MC_Reset......................................................................................................................... 128
2.2.11 MC_ReadStatus................................................................................................................ 131

AX-Series Motion Controller Instructions Manual TOC
2.2.12 MC_ReadAxisError ........................................................................................................... 136
2.2.13 MC_CamTableSelect......................................................................................................... 139
2.2.14 MC_TouchProbe ............................................................................................................... 143
2.2.15 MC_AbortTrigger............................................................................................................... 149
2.2.16 MC_DigitalCamSwitch....................................................................................................... 153
2.2.17 SMC_BacklashCompensation ........................................................................................... 160
2.3 Delta Motion Control Instructions ............................................................. ..........................166
2.3.1 Motion Control Instructions ................................................................................................ 166
2.3.2 Administrative Instructions................................................................................................. 279
2.3.3 Positioning Axis Instructions .............................................................................................. 401
2.3.4 Tension Control ................................................................................................................. 455
2.4 Industry-Specific Instructions.................................................................. ............................479
2.4.1 Servo Press Instruction ..................................................................................................... 479
Appendix A 516
A.1Instruction Tables and Indexes ..................................................................................................516
A.1.1 By Function............................................................................................................................ 516
A.1.2 By Model ............................................................................................................................... 522
A.1.3 By Letter................................................................................................................................ 524
A.2Data Type: Enumeration and Structure ....................................................................................526
A.3Error Codes and Troubleshooting................................................................... ............................531
A.3.1 For Synchronous Axes ........................................................................................................... 531
A.3.2 For Positioning Axis................................................................................................................ 549
A.4Explanation of DMC_Home_P..................................................................................................... 553

AX-Series Motion Controller Instructions Manual Preface
1
Preface
P.1 Introduction
Thank you for purchasing the AX series Motion Controller with our advanced motion control system. Delta’s AX series motion
controller based on CODESYS integrates the control function of PLCs and motion controllers into one platform.
This manual introduces PLCOpen standard motion control instructions and Delta-defined instructions including single-axis,
multi-axes instructions, and motion control applications.
Ensure that you fully understand the configuration and operations of the AX series motion control system and use the AX series
Motion Controller CPU correctly.
P.1.1 Applicable Products
This manual relates to the following products
- AX-3 series/AX-8 series
P.1.2 Associated Manuals
The related manuals of the AX Motion Controller series are composed of the following.
1. DIADesigner-AX User Manual
Contents include the use of DIADesigner-AX, the programming languages (ladder diagrams, sequential function charts,
function block diagrams, and structured texts), the concept of POUs and Task, and the operation of motion control
programming.
2. AX-3 Series Operational Manual
It introduces basic knowledge of motion control structure, software/hardware setup, quick start of Software operations,
devices to be used, motion control operations, troubleshooting, Input/ Output modules, modules of temperature
measurement, etc.
3. AX-8 Series Operational Manual
It introduces basic knowledge of motion control structure, software/hardware setup, quick start of Software operations,
devices to be used, motion control operations, troubleshooting, Input/ Output modules, modules of temperature
measurement, etc.

AX-Series Motion Controller Instructions Manual Chapter 1
2
Introduction to Motion Control

AX-Series Motion Controller Instructions Manual Chapter 1
3
1.1 Introductions of Motion Control
This manual introduces the elements of motion control programming, including devices, symbols, and motion control
instructions.
Motion control instructions are defined as function blocks (FB) and are used in the program for various control purposes. The
motion control (MC) instructions are developed based on the specifications of PLCopen* motion control function blocks. In
addition to the PLCopen-based instructions, Codesys also provides Delta-defined function blocks for users to achieve complete
motion control applications.
This section overviews the motion control instructions for both PLCopen-based and Delta-defined function blocks. PLCopen
defines the program and function block interfaces to achieve a standardized motion control programming environment for the
languages specified in IEC61131-3. Using PLCopen-based instructions and Delta-defined instructions reduces training and
support costs.
Before using the instructions, be sure that you sufficiently understand the devices, symbols and function of instructions.
You can also refer to the Appendix for a quick reference of the motion control instruction list and error codes.
*Note:
PLCopen is an organization promoting industrial control based on IEC61131-3, an international standard widely adopted for
PLC programming. For more information regarding PLCopen, check the official website at: http: //www.plcopen.org/
1.1.1 Basic Knowledge of Motion Control Instructions
Using motion control instructions requires the basic knowledge of motion control defined in the specifications of PLCopen
motion control function blocks. This section provides an overview of these specifications.
•Name of Motion Control Instructions
PLCopen-based motion control instructions begin with “MC_”, while Delta-defined function block instructions begin with
“DFB_”.
Type
Description
MC_
PLCopen-based motion control instructions
DMC_
Delta-defined function block instructions*
*Note:Delta-defined function block instructions (DFB) include Delta-defined motion control function blocks and other
administrative/non-administrative function blocks applicable for AH Motion series CPUs. Therefore, you can look up a
function block (FB) in this manual.
•Types of Motion Control Related Instructions
Different categories of motion control instructions are divided by functions, such as single-axis motion instructions.
Refer to Ch2 Motion Control Instructions for more details.
•Execution of a Function Block
Function block instructions generally include two types of inputs for execution: Execute and Enable. When the instruction
is run or enabled, the function block outputs can indicate the status. The basic outputs include Busy, Done,
CommandAborted, and Error. For detailed information on inputs and outputs of each function block, refer to Ch2 Motion
Control Instructions.
•Error Handling
Information regarding error codes, indicators, and troubleshooting is in Appendix A for quick reference.
•Re-execution of a Function Block
Re-execution of a function block refers to triggering Execute again after resetting it. You can change the input values
and trigger Execute again while the function block is during operation (in busy status). Such output status will remain
unchanged (in busy status), which also means the previously run instruction will be aborted by Aborting under the
buffer mode.
•Multi-execution of Multiple Motion Control Instructions

AX-Series Motion Controller Instructions Manual Chapter 1
4
Multi-execution of motion control instructions means that multiple instructions on the same axis are run in the same
task execution period. The pattern of multi-execution is defined by the input variable BufferMode, specified to blend the
two motions. Therefore, the instruction at the back will determine the behavior of the previous instruction according to
BufferMode. Refer to AX-3 Series Operation Manual for more details.
•Buffer Modes
Some motion instructions have an input called BufferMode.You can execute a different instruction instance during axis
motion when the values for BufferMode are specified. This input decides whether the instruction runs immediately
(non-buffered mode) or waits till the current motion instruction sets its status outputs.
(Done/InVelocity/InPosition, etc.)
BufferMode determines the behavior to combine the axis motions for this instruction and the previous instruction. When the
instruction is run;
- The selected buffer mode is valid if the previous instruction is running.
- The selected buffer mode is invalid if the axis is in a Standstill state.
- The following Buffer Modes are supported.
Buffer Mode
Function
0: Aborting
Aborts the ongoing motion. The next instruction takes effect immediately.
1: Buffered
Automatically runs the next instruction after the ongoing motion is completed.
2: BlendingLow The lower target velocity is the transit velocity between the current and the buffered instructions.
(The transit velocity is the velocity that the current instruction uses as the transit point.)
3: BlendingPrevious Takes the target velocity of the current instruction as the transit velocity.
4: BlendingNext Takes the target velocity of the buffered instruction as the transit velocity.
5: BlendingHigh Takes the higher target velocity as the transit velocity between the current instruction
and the buffered instruction.
Refer to AX-3 Series Operation Manual for more details on buffer mode.
•Structure Applicable for Motithe on Control
In PLCopen technical standard, the information and parameters required for configuring motion control on an axis are
defined in a Structure.
For AX Motion CPUs, a Structure is a Data Type applicable to group the data elements together, which is easier for
users to specify proper parameters.
For AX Motion CPUs, the applicable Structure is as below:

AX-Series Motion Controller Instructions Manual Chapter 1
5
Single-axis Function Block
For single-axis FB, the applicable Structure is AXIS_REF_SM3.
Function Block for Axis Group
For AxisGroup FB, the applicable Structure is DMC_AXIS_GROUP_REF.
Note:For more details, refer to Appendix A.2 Data Types: Enumeration and Structure.

AX-Series Motion Controller Instructions Manual Chapter 1
6
1.2 Categories of Motion Control Instructions
For AX Motion CPUs, motion control instructions are divided into two categories based on PLCOpen.
Categories Type Function Group Description
Single-axis motion
control instructions
Motion
Positioning on a single axis
“SMC”: Motion instructions
“MC_”: PLCopen motion control
instructions
“DMC_”: Delta-defined motion control
instructions
Velocity control on a single axis
Torque control on a single axis
Synchronized control on a single axis
Administrative Administrative functions on a single
axis
Multi-axis motion
control instructions
Motion modules
Motion Multi-axis coordinated control Performing coordinated movement of
an axis group
Administrative Administrative functions on multi-axis Controlling, monitoring, or resetting axis
group status

AX-Series Motion Controller Instructions Manual Chapter 1
7
1.3 Overview of Delta Motion Instructions Library
This section describes related settings of Delta's motion instructions library DL_MotionControl and DL_MotionControlLight and
Codesys Softmotion library in AX series motion control CPUs.
Delta's motion instructions DL_MotionControl and DL_MotionControlLight are derived from Codesys Softmotion. They provide
users with convenient instructions for different occasions. The following tables list the version compatibility of Delta's motion
instructions library and Codesys Softmotion instruction library:
Delta Motion Library SM3_Basic V4.6.1.0 SM3_Basic V4.10.0.0
DL_MotionControl V1.1 and earlier versions ○
DL_MotionControl V1.2 and later versions ○
Delta Motion Library SML_Basic V4.5.1.0 SML_Basic V4.10.0.0
DL_MotionControlLight V1.1 and earlier versions ○
DL_MotionControlLight V1.2 and earlier versions ○

AX-Series Motion Controller Instructions Manual Chapter 2
8
Motion Control Instruction

AX-Series Motion Controller Instructions Manual Chapter 2
9
2.1 Motion Control Instructions
Motion control instructions are generally used to control motors to perform specific movement after the specified instruction
being run. The function blocks used in this chapter are from the library “SM3_Basic” and able to operate synchronously with
drives. As a result, synchronous axis type should be selected in axis settings. For more details about configuration related to
synchronous axes, refer to section 7.4 in AX-3 Series Operational Manual.
2.1.1 MC_Home
Supported Devices: AX-308E, AX-8, AX-364E
MC_Home controls the axis to perform the homing operation.
FB/FC Instruction Graphic Expression ST Language
FB MC_Home
MC_Home_instance(
Axis : =,
Execute: =,
Position: =,
Done =>,
Busy =>,
CommandAborted =>,
Error =>,
ErrorID => );
Inputs
Name Function Data Type Setting Value
(Default Value) Timing to Take Effect
Execute
The instruction is run when
Execute changes from False to
True.
BOOL True/False (False) -
Position Specifies the set position.
(Unit: user unit) LREAL
Negative,
positive, or 0
(0)
When Execute
turns to True and
Busy is False.
Outputs
Name
Function
Data Type
Output range (Default Value)
Done True when homing is
completed. BOOL True/False (False)
Busy True when the instruction is
run. BOOL True/False (False)
CommandAborted
True when the instruction is
interrupted.
BOOL True/False (False)
Error True when an error occurs. BOOL True/False (False)

AX-Series Motion Controller Instructions Manual Chapter 2
10
Name Function Data Type Output range (Default Value)
ErrorID
Record the error code when
an error occurs.
Refer to Appendix for error
code descriptions.
SMC_ERROR* SMC_ERROR (SMC_NO_ERROR)
*Note: SMC_ERROR: Enumeration (Enum)
Outputs Update Timing
Name
Timing for shifting to True
Timing for shifting to False
Done When the homing is completed.
When Execute turns from True to False.
If Execute is False and Done turns to True,
Done will be True for only one scan cycle and
immediately shift to False.
Busy When Execute changes to True.
When Done turns to True.
When Error turns to True.
When CommandAborted turns to True.
CommandAborted
When this instruction is aborted by
another instruction.
When this instruction is aborted by
MC_Stop.
When Execute changes to False.
If Execute is False and CommandAborted
turns to True, Done will be True for only one
scan cycle and immediately shift to False.
Error When an error occurs in the execution
conditions or input values for the
instruction. (Error code is recorded)
When Error Code is cleared.
ErrorID
Timing Diagram
Execute
Done
Busy
Command Aborted
Error

AX-Series Motion Controller Instructions Manual Chapter 2
11
•Inputs/Outputs
Name Function Data Type Setting Value
(Default Value)
Timing to Take Effect
Axis Specify the
axis. AXIS_REF_SM3* AXIS_REF_SM3 When Execute is rising edge triggered
and Busy is False.
*Note: AXIS_REF_SM3(FB): Every function block contains this variable, which works as the starting program for function
blocks.
Function
When Execute changes to True, the homing operation starts to be performed on the axis specified in Axis.
Position is to specify the set position for homing.
In case the MC_Home command is interrupted by MC_Stop and
xWaitForHaltWhenStopInterruptsHome is TRUE, MC_Stop has to wait till the driver reaches velocity zero before
setting to Done. Instead, if xWaitForHaltWhenStopInterruptsHome is FALSE, Done will shift to true once MC_Stop
interrupts MC_Home.
When the MC_Home is running, after power off, the Home function block status will change to Error. For SoftMotion
V4.10.0.0 and later, when the MC_Home is running, after power off, the Home function block status will change to
Abort.
Troubleshooting
If an error occurs during the execution of the instruction, Error will change to True. You can refer to ErrorID (Error
Code) to address the problem.
Example
Example 1: Explain how to perform homing by using MC_Home and setting homing mode on the parameter
configuration page with DIAdesigner-AX.
Timing Diagram
Execute
Done
Busy
Position
State Machine
standstill(3)
homing(7)
discrete motion(4)

AX-Series Motion Controller Instructions Manual Chapter 2
12
Use MC_Home with the following parameters:
Homing mode Speed during search for
switch
Speed during search for
zero Homing acceleration
33 100 50 100
The above parameters can be configured on the Homing Setting page:
After MC_Home is run, the axis will move in the negative direction till finds the Z phase pulse. And the place where the axis
stands is the home position once the first Z pulse is met.

AX-Series Motion Controller Instructions Manual Chapter 2
13
2.1.2 MC_Stop
Supported Devices: AX-308E, AX-8, AX-364E
MC_Stop decelerates an axis to a stop.
FB/FC Instruction Graphic Expression ST Language
FB MC_Stop
MC_Stop_instance(
Axis : =,
Execute : =,
Deceleration : =,
Jerk : =,
Done =>,
Busy =>,
Error =>,
ErrorID => );
Inputs
Name Function Data Type
Setting Value
(Default
Value)
Timing to Take Effect
Execute
The instruction is run
when Execute changes
from False to True.
BOOL True/False
(False) -
Deceleration Deceleration rate
(Unit: user unit/s2)*
LREAL Positive
or 0 (0)
When Execute is triggered to run, the rate
will be updated.
Jerk Jerk value
(Unit: user unit/s3)* LREAL Positive
or 0 (0)
When Execute is triggered to run, the value
will be updated.
Outputs
Name
Function
Data Type
Output Range (Default Value)
Done True when zero velocity is reached. BOOL True/False (False)
Busy True when the instruction is run. BOOL True/False (False)
Error
True when an error occurs.
BOOL
True/False (False)
ErrorID
Record the error code when an error
occurs.
Refer to Appendix for error code
descriptions.
SMC_ERROR* SMC_ERROR (SMC_NO_ERROR)
*Note: SMC_ERROR: Enumeration (Enum)
Output Updating Time

AX-Series Motion Controller Instructions Manual Chapter 2
14
Name Timing for shifting to True Timing for shifting to False
Done
True when the axis decelerates to a stop and
reaches zero velocity.
When Execute turns from True to False.
If Execute is False and CommandAborted turns
to True, Done will be True for only one scan cycle
and immediately shift to False.
Busy
True when Execute turns to True. When Done turns to True.
When Error turns to True.
Error
When an error occurs in the execution
conditions or input values for the instruction. When Execute turns from True to False. (Error
Code is cleared)
ErrorID
Timing Diagram
Inputs/Outputs
Name Function Data Type Setting Value
(Default Value)
Timing to Take Effect
Axis Specify the
axis. AXIS_REF_SM3* AXIS_REF_SM3 When Execute is triggered to be True
and Busy is False.
*Note: AXIS_REF_SM3(FB): Every function block contains this variable, which works as the starting program for function blocks.
Function
You can specify the deceleration rate when decelerating the moving axis to a stop. Also, State Machine will be stopping.
When MC_Power is False during deceleration, the motor is in Free Run state.
The Done output is set to True when axis has reached velocity zero. At the same time, the input Execute changes to
False, while State Machine in stopping state changes to standstill.
Troubleshooting
If an error occurs during the execution of the instruction, Error will change to True. You can refer to ErrorID (Error
Code) to address the problem.
Example
The example below shows the behavior and position tracking when MC_Stop is run after MC_MoveVelocity.
Execute
Done
Busy
Error

AX-Series Motion Controller Instructions Manual Chapter 2
15
Timing Diagram
When Execute of MC_Stop changes to True, it triggers CommandAboted of MC_MoveVelocity at the same time and
the motion controller starts to decelerate the axis to a stop. The Axis state is moved to the “Stopping”.
When the axis reaches zero velocity, the Done output will change to True. Execute is still True so the axis state remains
in the state “Stopping”. After the stop is finished and Execute is False, the axis will change to Standstill.
In case MC_MoveVelocity runs again while the axis state is “Stopping”, an error will be reported. (Error Code:
SMC_AXIS_NOT_READY_FOR_MOTION).
Other manuals for AX Series
1
Table of contents
Other Delta Controllers manuals

Delta
Delta AS Series User manual

Delta
Delta 29FWC-100E User manual

Delta
Delta VFD-L Series User manual

Delta
Delta DAC-1600 User manual

Delta
Delta DC-132 Series User manual

Delta
Delta DVP-SA2 User manual

Delta
Delta DTD Series User manual

Delta
Delta DVP-20PM User manual

Delta
Delta DVP-PM Series Instructions for use

Delta
Delta VFD-E User manual

Delta
Delta RMC70 User guide

Delta
Delta AH500 series Owner's manual

Delta
Delta DVP-ES3 Series User manual

Delta
Delta AH Series User manual

Delta
Delta DVP-PLC Instructions for use

Delta
Delta DVP-SA2 User manual

Delta
Delta DVP-EH3 User manual

Delta
Delta AH Series User manual

Delta
Delta 2SPA User manual

Delta
Delta DVP-10PM User manual