DVP-MC Om en 20150901
DVP-MC Om en 20150901
DVP-0191420-04
1. Overview of DVP10MC11T
DVP10MC11T is a type of multi-axis motion controller researched and produced by Delta autonomously on
the basis of CANopen field bus. It complies with CANopen DS301 basic communication protocol and
DSP402 motion control protocol. Also, it supports motion control standard instruction libraries defined by
most international organizations. It brings great convenience to user to learn and develop projects quickly.
The multi-function controller consists of standard PLC module and MC motion control module. PLC module
is similar to DVP serial PLC in function and usage. User could utilize WPLSoft or ISPSoft programming
software to write and edit the ladder diagram, SFC, instruction table and Delta standard PLC logic programs.
Moreover, PLC supports the two extension ports in its left and right sides. The one in its left side is a parallel
extension port which could be connected with max 7 field bus master modules such as DeviceNet/CANopen
master, Ethernet modules and high-speed analog quantity modules. The other one in its right side is to
connect DVP-S series of PLC extension modules such as low-speed analog quantity and digital quantity
modules.
DVP10MC11T is mainly applied to control the servo drive precisely via CANopen bus so as to accomplish
the functions like the speed control, position control and etc. that user expects.
CANopen Builder software is used to edit the motion control program for DVP10MC11T to achieve all kinds
of complicate motion control tasks.
Its graphical motion control language provided to user to program on the motion control function is easy and
convenient for user to learn and understand.
Besides, CANopen Builder provides the interfaces of G codes editing, preview and electronic cam editing so
as to plan a more distinctive motion control demand.
With communication system adopting the highly reliable CAN bus as main line, DVP10MC11T just need
provide the simple wiring to user.
Thanks to the high-speed and reliable motion control system, DVP10MC11T can be widely applied in the
automation control industry such as packaging, printing, encapsulating, cutting, digital control machine,
automatic storage and so on.
1.1. Function
The PLC module of DVP10MC11T resembles DVP-SX2 MPU. For the detailed function parameter
information, please refer to Application Manual of DVP-ES2/EX2/SS2/SA2/SX2 (Programming). We focus
on the main functions of DVP10MC11T below:
Capable of controlling up to 16 real axes via (CANopen) high-speed bus ( Axis No. range: 1~16)
Virtual axes as well as the external encoder virtual master axis can be constructed in DVP10MC11T.
(Axis No. range: 1~18; the numbers of real and virtual axes must be different.)
Equipped with the high-speed floating point processor for handling all kinds of complicate motion control
tasks.
Supporting powerful field bus network by serving as DeviceNet master/slave, CANopen master/slave and
Profibus-DP slave as well as making up the control system with complicate functions.
It has many kinds of IO extensions (high-speed AIAO on the left, low-speed AIAO and DIDO on the right,
temperature module and etc.)
Using the software interface which is easy to operate with complete functions.
Providing the accessory products such as standard bus cables, terminal resistor and terminal
block to wire the circuit easily just by plugging. So users do not need to prepare for them additionally by
themselves.
1.2.1. Dimension
Unit: mm [in.]
1.2.2. Components
1 Model name
2 POWER /RUN /ERR indicator
COM1 /COM2 communication
3
indicator
4 CAN, MTL indicator
5 RUN/STOP switch
6 Encoder interface
7 RESET button
8 COM1 communication port
9 Ethernet communication port
10 DIN rail clip
11 CANopen communication port
12 Clip for fixing extension module
13 Input/Output terminals
14 Clip for fixing extension module
15 Extension port on the right side
16 COM2 communication port
17 24V power interface
18 Extension port on the left side
19 Nameplate
1: RS232 3:Enthernet
2:RS485 2:RS485
4:CAN
6:DeviceNet/CANopen
5:Encoder
The figure above displays the external equipment connected to each port of DVP10MC11T. The following
sections will introduce the functions of each communication port.
COM2(RS-485)
COM2, RS-485 communication port supporting Modbus protocol, is the hardware port commonly used by
motion control module and PLC. The motion control module or PLC can be accessed through different node
ID. Their node ID must be different from each other. If COM2 is used by PLC, 10MC could be regarded as
Modbus master or slave. If COM2 is used by motion control module, 10MC could only serve as Modbus
slave to download CANopen motion control network configuration, program, G codes and monitor devices.
COM2 Pin Definition:
Pin Signal Description
1 + Signal+
2 _ Signal-
3 SG Grounding
Note: DVP10MC11T provides two RJ45-type CAN ports to make a daisy-chain topological structure in the
two ends of the bus. One of RJ45 ports is left for connection of a terminal resistor.
Encoder Interface
The encoder interface is a 15-pin D-SUB connector connected to the external encoder.
It supports differential signal input with max. work frequency 1MHz (250Kx 4 = 1MHz for per input).
Meanwhile, this interface integrates two kinds of power outputs: 24V (500mA) and 5V (500mA) to supply the
power to the encoder. And thus users do not need to prepare power for the encoder additionally.
User could read D6513 (H9971) in motion control module to check the pulse number that the encoder
receives through sending Modbus instruction and also could create virtual master axis by using
DMC-ExternalMaster instruction in motion program. Rotation of slave axis can be controlled by using the
encoder to receive the pulse number.
1 A+
2 A-
10 B+ Differential signal of
11 B- Incremental encoder
4 Z+
6
11
1
5 Z-
7 +24V +24V encoder power
8 GND Grounding for +24V and +5V
15 +5V +5V encoder power
3 Reserved Reserved
10
15
5
6 Reserved Reserved
9 Reserved Reserved
12 Reserved Reserved
13 Reserved Reserved
14 Reserved Reserved
PLC Module
The PLC module built in DVP10MC11T is identical to DVP series of PLC products. User could utilize the
WPLSoft or ISPSoft software to edit the program, conduct the monitoring and make a connection with the left
and right I/O extension and etc. The following is its functions.
CPU specification: 32- bit CPU with the built-in instruction for 32-bit multiplication and division
operation.
In terms of program capacity, devices and instructions
Compatible with SX2/ES2/EX2 MPU series of programs; program space: Max 16K Step
Fast-speed execution of instruction ( Basic instruction: 0.35us~1us, MOV instruction< 5us)
The application instruction library is identical to SX2/ ES2/EX2 series
Max. 10000 D devices and 2112 latched areas.
Communication devices
COM1 (RS232) communication port
COM2 (RS485) communication port
Run/Stop switch can control the program to run or stop
Extension module
Max. 7 high-speed extension modules in the left side and 8 extension modules in the right are
available
The temperature modules like PT/TC supports the function of automatic adjustment of PID
temperature
Max. 240 input points and 240 output points for digital extension module.
Other functions
Providing user with the special identification code, subprogram password protection and the
limit of the time for inputting the wrong main password
The built-in DELTA Q-Link communication protocol expedites to refresh HMI screen.
For more details on the functions of PLC modules, please refer to the operating manuals
(Programming) of DVP-ES2/EX2/SS2/SA2/SX2.
Supporting G codes
Supporting standard G codes and supporting dynamic download of G codes; G codes are
executed while being downloaded in order to accomplish the complicate objects processing.
Capable to debug the G codes in the way of a single step or fixed point through CANopen
Builder software
CANopen Builder software provides the function of preview of G codes so that user could
conveniently judge if the input G codes are correct or not.
Supporting electronic Cam
Supporting to call the specified cam curve through CANopen Builder software so as to edit the
cam curve.
Supporting the application instructions for typical technology such as rotary cutting, flying shear.
Users do not program the cam curve except to input the crucial technological parameters so that
the cam curve will be reflected automatically in the inner of the instruction. And thus it will
reduce a lot of work load for user to develop the project.
Supporting E-gear
Program capacity
Providing max. 1M bytes for the program space, max. 12K Fbs program editable
Max. 6000 rows of G codes storable.
Max. 16 electronic cam curves editable and max. 2048 key points storable.
DVPDNET DVP10MC
S/S
I0
I1
I2
I3
D e vi ce N e t/C AN o p e n ma ste r a n d I4
I5
th e h i g h -sp e e d AIAO mo d u l e s I6
l i ke D VP0 4 AD -SL. . . . . . I7
UP
ZP
Q0
Q1
Q2
Q3
Data
Type Device Device name Range Modbus address
type
High-speed
High-speed
I BOOL external input I0~I7 0400~0407
input
point
High-speed
High-speed
Q BOOL external output Q0~Q3 0500~0503
output
point
M0~M1535 0800~0DFF
Auxiliary relay M BOOL Auxiliary relay
M1536~M4095 B000~B9FF
D0~D4095 1000~1FFF
General
D WORD Data register D4096~5999 9000~976F
register
D7000~D24575 9B58~DFFF
D WORD D6000~D6226 9770~9852
GPIO register
D WORD D6250~D6476 986A~994C
Special data
D WORD D6500~D6518 9964~9976
Special register
register Axis parameter
D WORD D24576~D28671 E000~EFFF
register
Cam key point
D WORD D28672~D45055 2000~5FFF
register
Note: Please refer to appendix C for the explanation of the corresponding content of axis parameter
registers.
Special register
The special data register of motion control module of DVP10MC11T has its special functions as shown below.
Special
Function explanation Attribute Data type Latched Remark
D
Special
Function explanation Attribute Data type Latched Remark
D
Special
Function explanation Attribute Data type Latched Remark
D
Low word of
D6511 DVP10MC status R UINT N
word
Status word of MC module
High word of
D6512 DVP10MC status R UINT N
word
Low word of
feedback pulse
D6513
number of the
encoder Feedback pulse number of the
R UDINT N
High word of encoder
feedback pulse
D6514
number of the
encoder
7: Program is being executed.
0: Execution of program stops
16: System reset which is
equivalent to that 10MC is
powered on again.
Motion program When the motion control
RUN/STOP and program of 10MC is running,
6515 R/W UINT N
system reset write 0 to D6515 to stop the
program being executed.
Afterwards, the motion control
program can not be executed
again unless 7 is written to
D6515 after pressing the
Reset key.
Special
Function explanation Attribute Data type Latched Remark
D
b3~b0=0000: 7,E,1,ASCII
b3~b0=0001: 7,O,1,ASCII
b3~b0=0010: 7,N,1,ASCII
b3~b0=0100: 8,N,2,RTU
b7~b4=0000: 9600bps
b7~b4=0001: 19200bps
b7~b4=0010: 38400bps
Communication ID
and communication b7~b4=0011: 57600bps
D6516 R/W UINT Y b7~b4=0100: 115200bps
format of
DVP10MC11T b15~b8 are used to set the
Modbus node ID, e.g.
b15~b8=00000001which
indicates that Modbus node ID
is 1, likewise other Modbus
node ID are named in the
same way. Note: b stands for
bit.
Current scan time for The time needed for the logic
D6517 logic program R UINT N program to carry out scanning
(Unit: us) currently.
Max. scan time for The maximum time needed for
D6518 logic program R UINT N the logic program to scan one
(Unit: us) time.
The start D device in the
Setting of the
latched area is D7000; the
D6519 quantity of D device R/W UINT Y
quantity is specified by D6519;
in the latched area
range: 0~3000.
The start M device in the
Setting of the
latched area is M3000; the
D6520 quantity of M device R/W UINT Y
quantity is specified by D6520;
in the latched area
range: 0~1000
When DMC_ CapturePosition
The pulse number is used for position capture in
that servo motor mode 1, the value of D6527 is
D6527 R DINT N
feeds back to servo the pulse number that servo
drive motor feeds back to servo
drive.
When DMC_ CapturePosition
The pulse number uses I0 for position capture in
received at the mode 10, the value of D6529
D6529 R DINT N
interface of the is the pulse number received
encoder at the interface of the encoder
of 10MC.
Special
Function explanation Attribute Data type Latched Remark
D
The areas for exchanging the data between MC and PLC are D6000~D6226, D6250~D6476. D6000~D6226
are where MC writes the data and PLC reads the value of the register; D6250~D6476 are where PLC writes
the data and MC reads the value of the register.
The principle is illustrated as below.
MC PLC
Read by Write into
D6250~D6476
D6511 and D6512 are the status words of MC module and the following is the specific explanation:
"Name" is the word commented on servo drive by software, which is only used for naming the servo
drive without actual meaning.
3 Axis type Axis type: linear axis/ rotary axis - Rotary axis
Linear Axis:
Serial Default
Parameter Name Function Data Type
No Value
Enables software limitation;
If the item is not selected, the maximum/
minimum position of the axis which
5 Software Limitation software limits is invalid. BOOL 0
If selected, the maximum/
minimum position of the axis limited by
software is valid.
The max. position of the axis limited by
6 Maximum Position REAL -
software
The mini. position of the axis limited by
7 Minimum Position REAL -
software
8 Acceleration Type Trapezoid/Sinus - Trapezoid
The servo motor presents the following features in process of acceleration and deceleration while
DVP10MC11T is controlling the servo drive.
Trapezoid:
Sinus:
Serial Default
Parameter Name Function Data Type
No Value
Input rotations of This parameter and Output rotations of
12 UINT 1
gear gear decide the mechanism gear ratio.
Output rotations of This parameter and Input rotations of gear
13 UINT 1
gear decide the mechanism gear ratio.
The corresponding position units which
Unit per output
14 the terminal actuator moves while output UINT 10000
rotation
end of the gear rotates for a circle.
As illustrated below, Input rotation of gear =1, Output rotation of gear =2, it means the input mechanism
of gear box rotates for one circle and the output mechanism of gear box rotates for 2 circles. “Unit per
output rotation” represents the corresponding position (units) that ball screw moves while the output
mechanism of gear box rotates for one circle.
E.g. If output mechanism of gear rotates for one circle and ball screw moves 1mm and "Unit per output
rotation" is set to 1, through the relative position motion instruction the ball screw will move 1 unit, i.e.
the ball screw will move 1mm;
If “Unit per output rotation” is set to 1000, the ball screw will move 1 unit through the relative position
motion instruction, i.e. 1/1000mm actually. The unit of position in the motion control instruction, G codes
and electronic cam is Unit.
As mentioned above, set Unit per output rotation to 1, the ball screw will move 50 mm at the speed of
1mm/s and acceleration of 2mm/ s2.
Serial Default
Parameter Name Function Data Type
No Value
The available max. deceleration; (Unit:
19 Max.Deceleration REAL 10000
unit)
Parameters 17~19 are used in the specific situation. E.g. The velocity, acceleration and deceleration of
G0 in instruction CNC; the velocity, acceleration and deceleration at which slave enters the state of
meshing with the master axis when Cam in; the velocity, acceleration and deceleration at which slave
follows the master to move when Gear in.
The current position of the servo drive
20 Position DINT
(Unit: Pulse)
The current speed of the servo drive
21 Velocity DINT
(Unit: 0.1 rpm)
The current torque of the servo drive
22 Torque INT
( Permille of the rated torque)
Above three parameters are used for setting DVP10MC11T to adjust PID of servo drive
“User defines parameter” is the servo drive parameter to be read. Its length is specified according to the
data type of the read parameter.
The byte parameter length is 1; the word parameter length is 2 and double-word parameter length is 4.
The method of calculating sub-index and index of the servo drive parameter is shown below:
Index= Servo drive parameter (Hex) + 2000 (Hex), Sub-index=0
For example: The index of servo drive parameter P6-10:
2000+060A (P6-10 hex.)=260A; sub-index: 0.
Cyclic communication data can be selected by users. The data length selected can not exceed 8 bytes
which can be calculated by computer automatically. The data length of position, speed, torque and
current are 4 bytes, 4 bytes, 2 bytes and 2 bytes respectively. The current value of cyclic communication
data selected by user can be read by the special registers related with axis. See appendix C for more
details.
See the program numbers marked in a red box and instruction numbers marked in red circles as below.
Figure 2.2.1
Figure 2.2.2 is an example of motion program (using CFC language). When motion control module detects
M2=on in a synchronization cycle, MC_MoveAbsolute instruction starts to be executed. In this scan cycle,
motion control module sends a piece of position control data to servo drive but M20 (Done bit) will not turn on.
In the following several cycles, motion control module will constantly send the data to servo drives to control
positions till the actual positions that servo drives feedbacks to motion control module approach the target
position. At that time, “Done” bit M20=on and execution of MC_MoveAbsolute instruction is finished.
In above figure, suppose MC_MoveAbsolute instruction is being executed but has not finished execution yet.
At the moment, if M3=on is detected, the execution of MC_MoveAbsolute instruction will be terminated and
MC_MoveRelative instruction starts being executed. Meanwhile, Abort bit M21=on which indicates an
accident occurs in MC_MoveAbsolute and so the instruction stops executing. The interrupted
MC_MoveAbsolute will be always in stop status. MC_MoveAbsolute instruction can be executed again
unless M2 turns Off On once again.
The cycle period for execution of motion control program can refer to the value in D6501 with the unit: μs
(microsecond). 1000 microseconds are 1ms (millisecond).
The value is rounded up to an integer in the actual application. For example, the value in D6501 is
2567μs=2.5ms, in this case, we can regard 3ms as the time for program execution.
If the running time of the program is increased too much after the program changes, the preset
synchronization time will not fit any more. So the reserved time should be set to 1~2ms.
For example, the maximum time for execution of the program with D6501 is 1634ms and there are totally 5
servos in application. The reserved time for a program change is 1ms.
A synchronization cycle period= 2ms (obtained by rounding up D6501: 1634) + 3ms ((obtained by rounding
up 5*0.5) +1ms (reserved for a program change)
Note:
The method above is an estimated time, which is suitable for most applications. If you need a more precise
synchronization cycle period, the actual time can be recalculated by omitting the reserved time after
application development is completed.
The synchronization cycle period can be set in the following red box and will go into effect after being
downloaded.
Figure 2.3.1
DVP10MC11T could execute G codes in two ways. One is the way of statically downloading all G codes to
controller for run. The other one is dynamic way. When complicate objects are processed, the quantity of G
codes needed is quite huge and so the controller could not store all G codes. Then the dynamic way is
adopted and the G codes could be executed while being downloaded. DVP10MC11T provides the buffer
area which could store 100 rows of G codes to store the G codes the upper computer sends. In way of
dynamic download, the G codes the upper computer sends will not be stored and will be dumped after they
are executed. If the G codes downloaded need be latched when power off, user should adopt the way of
static download.
After G code editing is finished, it should be called for use in the motion control program. NC document is
called for use via DMC_NC in motion control program. The usage of DMC_NC can be seen in the relevant
instruction introduction. The input parameter NcTableID is to choose the NC document number to be
executed. CMC editor could edit 8 NC documents at the same time.
If user wants to execute G codes in dynamic way, the current chosen NC document number should be set to
0. At this moment, the controller will wait the upper computer to send G codes and the G codes will be
executed while being sent.
Figure 2.3.2
CNC editor provides the function of debugging of the current G codes so that user only need preset the target
position of the G codes to be executed. Also, CNC editor can provide the function of one single -step
execution of the current G-code document to ensure the correctness of debugging of G codes.
2.3.5.1. CNC Program Downloading and Debugging
When users use the motion control program to call CNC program, the value: 0 of parameter NcTableID of
DMC_NC indicates to download CNC program in dynamic way. CANopen Builder provides the following
tools for downloading and debugging
: Start to download dynamically CNC program which will be executed after controller receives the first
program.
: Make the current CNC program run and stop at the place selected by cursor, which is convenient for
user to debug the current CNC program.
: Single -step execution of CNC program; execute one row every time and when the current row
of program is executed, it will be displayed in yellow.
2.3.5.2. The Protocol for Dynamic Download of CNC Program
DVP10MC11T supports the open protocol for download of CNC program. User could autonomously develop
the process software in PC end to produce G codes and dynamically download the codes to DVP10MC11T
for execution.
0 1 2…n-1 n…n+1
0 1 2 3-4
01 Success
02 In process of transmission
04 Illegal command
05 Time-out
07 Equipment is busy
Figure 2.3.3
The electronic cam is an analog cam of the mechanical cam by applying computer technology. Compared
with the mechanical cam, the electronic cam has many advantages of being easy to design and modify; cost
saving; higher efficiency and preciseness. Because the electronic cam is an analog cam, these defects of a
mechanical cam like being easy to be damaged and not fit for high-speed rotation and transmission can be
avoided for the electronic cam.
DVP10MC11T controller supports the function of the electronic cam. User can edit the cam curve in the cam
editor provided by CANopen Builder as follows.
Figure 2.3.4
After the cam curve is finished editing, it should be called for use in the motion control program where
MC_CamTableSelect and MC_CamIn are included together as figure 2.3.5 shows.
Figure 2.3.5
3. System Installation
This chapter focuses on the instructions of electrical specification and system installation. For the details of
peripheral devices, please refer to the user manual enclosed with the product or log on the website:
http://www.delta.com.tw.
3.1. Electrical Feature
Electrical specification
Item Content
Voltage 24 VDC(-15% ~ +20%)
Current 2.5 A/30 VAC
Electrical
500 VDC(Secondary-PE)
isolation
Consumption
Max 8W
power
Vibration/shock
Standard:IEC61131-2,IEC 68-2-6 (TEST Fc)/IEC61131-2 & IEC 68-2-27 (TEST Ea)
immunity
Static electricity: 8KV Air Discharge
Interference
EFT: Power Line: 2KV, Digital I/O: 1KV
immunity
RS: 26MHz ~ 1GHz, 10V/m
Work: 0°C ~ 55°C (Temperature), 50 ~ 95% (Humidity), Pollution level 2
Environment
Storage: -25°C ~ 70°C (Temperature), 5 ~ 95% (Humidity)
Weight About 240g
Power input
It is direct current input for DVP10MC11T MPU power and below items should be paid special attention to in
use.
1. The input power voltage is in the range from 20.4 VDC to 28.8VDC and the power is connected to
the two terminals: 24V and 0 and the earth terminal is connected to the ground. Besides, please note
that the positive pole and negative pole of the power must not be connected reversely otherwise any
damage on DVP10MC11T may be caused.
2. The earth terminal of DVP10MC11T MPU uses the cable above 1.6mm for grounding.
3. If the time for power-off is too long or power voltage is descended, DVP10MC11T will stop working,
output will turn off and communication with servo drive will also be terminated. DVP10MC11T cannot
make the communication with servo drive any more unless the power restores into normal status.
Figure 3.2.1
Delta power module DVPPS02/24VDC ( It is recommended to adopt the power module DVPPS02 for
DVP10MC11T);
DVP10MC11T body;
Grounding
Safety circuit
S/ S
I0
Figure 3.2.2
The relevant circuit for wiring is shown as figure 3.2.3
Figure 3.2.3
Source mode
The feature of Source mode is that the current flows out from the common terminal S/S. See the simplified
model as figure 3.2.4
Figure 3.2.4
Figure 3.2.5
D VP1 0MC 11 T
Figure 3.2.6
24V direct current power
Diode or equivalent component for suppression ( is not used but when in smaller power).
9V Zener diode, 5W ( and are both used when in bigger power and frequent On/Off).
Figure 3.2.7
Note:
1) Please refer to the user manual of servo for the method of wiring between ASDA-A2-●●●●-M series of
servo drive, servo motor and encoder.
2) Choose TAP-CB03 or TAP-CB05 or TAP-CB10 communication cable according to on-site status.
3) The two ends of the bus network are connected with terminal resistors TAP-TR01 which could be found in
the packing box of 10MC.
DVPDNET
DVP10MC
S/S
I0
I1
I2
I3
I4
I5
1 I6
I7
UP
ZP
Q0
Q1
Q2
Q3
Figure 3.2.8
2. Installing DVP10MC11T and DVPDNET-SL into the DIN rail
Use standard 35mm DIN rail;
Open DIN rail clips of DVP10MC11T and DVPDNET-SL and then insert the two modules in DIN
rail.
Press the DIN rail clips into DVP10MC11T and DVPDNET-SL to fix the two modules in DIN rail as
figure below.
DVPDNET DVP10MC
S/S
I0
35mm DIN Rail
I1
I2
I3
I4
I5
I6
I7
UP
ZP
Q0
Q1
Q2
Q3
Figure 3.2.9
DVP10MC
S/S
I0
I1
I2
I3
I4
D VP -16S P
I5
I6
I7
1
UP
ZP
Q0
Q1
Q2
Q3
Figure 3.2.10
2. Installing DVP10MC11T and DVP16SP11T in DIN Rail
Use standard 35mm DIN rail;
Open DIN rail clips of DVP10MC11T and DVP16SP11T and then insert the two modules in DIN
rail.
Press the DIN rail clips into DVP10MC11T and DVP16SP11T to fix the two modules in DIN rail as
figure below.
DVP10MC
I3
I4
I5
I6
I7
UP
ZP
Q0
Q1
Q2
Q3
Figure 3.2.11
Axis status can be judged according to the special register for axis status. For explanation of the special
register on an axis, please refer to appendix C. For example, the special register for the axis state of axis 1 is
D24606. All states of the axis correspond to the values as below.
Note: The states of Cam_In, gear_In, Gearing, Caming belong to the synchronized state in the state machine
figure above.
Instruction format
1. Instruction name
Note: Different functions for different instructions decide that the parameters are different. The
parameters of the left area in one instruction are to be set and the results from execution of
instruction are in the right area in the instruction.
The data types in the motion control program for DVP10MC11T are
Serial Bit
Data type Lower limit Upper limit
No. number
1 BOOL 0 1 8
2 BYTE 0 255 8
3 WORD 0 65535 16
4 DWORD 0 4294967295 32
5 SINT -128 127 8
6 USINT 0 255 8
7 INT -32768 32767 16
8 UINT 0 65535 16
9 DINT -2147483648 2147483647 32
10 UDINT 0 4294967295 32
REAL( Positive
3.4x10-38 3.4x1038
number)
11 32
REAL(Negative 38 -38
-3.4x10 -3.4x10
number)
12 LREAL -1.79769313486231E308 1.79769313486232E308 64
4.4.1. MC_MoveAbsolute
API Controller
MC_MoveAbsolute Move absolutely
01 10MC11T
Explanation of the Instruction:
MC_MoveAbsolute is applied to control the terminal actuator to move to the target position relative to the zero
point at the given speed, acceleration and deceleration. Once this instruction is aborted in process of motion,
the uncompleted distance left will be ignored and the new instruction will be executed subsequently.
The target position for the terminal actuator with zero point
as the reference point.
Position REAL Constant, D
Unit: Unit. ( See section 2.3.1 on axis parameter setting)
For rotary axis, 0≤ Position< modulo.
Running speed of terminal actuator and this parameter is
Velocity REAL Constant, D
always positive. (Unit: unit/second).
Acceleration of terminal actuator and this parameter is
Acceleration REAL Constant, D
always positive.(Unit: unit/second2)
Deceleration of terminal actuator and this parameter is
Deceleration REAL Constant, D
always positive.(Unit: unit/second2)
The direction for servo motor rotation
0: the direction for the shortest distance ;
1: positive direction;
Direction INT Constant, D
-1: negative direction;
2: extends the current direction
The parameter will be effective only for rotary axis.
Notes:
1. While MC_MoveAbsolute instruction is being executed, “Execute”: rising edge occurs, which does
not impact the execution of the instruction.
2. When the velocity, acceleration and deceleration of the instruction are read and written via human
man interface, their value types must be set as Double Word(Floating)
3. When direction values are different, motion directions of rotary axis are also different as follows.
Suppose the output unit of physical actuator is degree, the motion direction of rotary axis is
explained as below.
Rotary axis status: in state of negative rotation Rotary axis status: be motionless, in state of positive
before function block is executed. rotation before function block is executed.
Program Example 1
Time
Position
Target position
5000
Time
M2(Execute)
M20(Done)
M21(Abort)
M22(Error)
When M2 is Off On, motion controller starts to control servo motor rotation. When the servo reaches
target position, M20 of "Done" will be OffOn.
When M2 is On Off, M20 of "Done" will be reset.
After reaching the target position, as M2 turns OffOn again, the servo motor will not move since it has
reached the target position.
Program Example 2
Two MC-MoveAbsolute instructions in the same task list are matched for use as follows.
When M2 is OffOn, motion controller starts to control servo motor rotation. When M3 turns OffOn,
the first MC_MoveAbsolute instruction is aborted, and M21 of "Abort" bit turns OffOn. Meanwhile, the
second MC_MoveAbsolute instruction is executed and servo action is performed according to the
parameter of the second MC_MoveAbsolute instruction. When servo reaches the target position of the
second MC_MoveAbsolute instruction, M30 of "Done" bit turns OffOn.
When M3 turns On Off , M30 of "Done" bit is reset
4.4.2. MC_MoveRelative
API Controller
MC_MoveRelative Move relatively
02 10MC11T
Explanation of the Instruction:
MC_MoveRelative is applied to control the terminal actuator to move for a given distance with the current
position as the reference point at a given speed, acceleration, deceleration. Once this instruction is aborted in
process of motion, the uncompleted distance left will be ignored and the new instruction will be executed
subsequently.
Notes:
1. When MC_MoveRelative instruction is being executed, “Execute”: rising edge occurs, which does
not impact the execution of the instruction.
2. When the velocity, acceleration and deceleration of the instruction are read via human machine
interface, their value types must be set as Double Word (Floating)
Program Example 1
Motion diagram:
When M2 turns Off→On, motion controller controls servo motor to rotate with current position as
reference point. After servo motor completes the set distance, M20 of "Done" bit turns Off→On.
When M2 turns OnOff, M20 of "Done" bit is reset.
Servo motor completes the set distance, M2 turns Off→On again, motion controller sends command
once again to control servo motor rotation, after servo motor completes the set distance, M20 of "Done"
bit turns Off→On once again
Program Example 2
Two MC_MoveRelative instructions in the same task list are matched for use as follows.
When M2 turns Off→On, motion controller controls servo motor to rotate with initial position as
reference point. When M3 turns Off→On, the first relative position instruction is aborted and M21 of
"Abort" bit turns Off→On. Meanwile, servo motor starts to execute the second relative position
instruction with where the first relative position instruction is aborted as reference point. After servo
motor completes the set distance of the second instruction with the abort position as the initial position,
M30 of "Abort" bit turns Off→On.
When M3 turns OnOff, M30 of "Done" bit is reset.
4.4.3. MC_MoveAdditive
API Controller
MC_MoveAdditive Move additively
03 10MC11T
Explanation of the Instruction:
MC_MoveAdditive is applied to control the terminal actuator to move for an additive distance at a given speed
and acceleration.
When the former instruction is related with position and it has not completed its given distance,
MC_MoveAdditive is executed to control the terminal actuator to move for the distance which includes the
uncompleted distance left by the former instruction and the distance given to this instruction. When execution
of this instruction is finished, the final position of the terminal actuation is the addition of the given distance for
the former and the current instruction.
If the former one is velocity instruction, MC_MoveAdditive will terminate the execution of velocity instruction,
move for the given distance at a given speed, acceleration and deceleration and then stop.
Notes:
1. When MC_MoveAdditive instruction is being executed, “Execute”: rising edge occurs, which doe not
impact the execution of the instruction.
2. When the velocity, acceleration and deceleration of the instruction are read and written via human
machine interface, their value types must be set as Double Word(Floating).
Program Example 1
When M2 turns Off→On, motion controller controls servo motor to rotate with current position as
reference point. After servo motor completes the set distance, M20 of "Done" bit turns Off→On.
When M2 turns OnOff, M20 of "Done" bit is reset.
Servo motor completes the set distance, M2 turns Off→On again, motion controller sends command to
control servo motor rotation; after servo motor completes the set distance, M20 of "Done" bit turns
Off→On once again.
Program Example 2
Two MC_MoveAdditive instructions in the same task list are matched for use as follows.
When M2 turns Off→On, motion controller controls servo motor to rotate with current position as
reference point. When M2 turns Off→On, the first MC_MoveAdditive instruction is aborted and M21 of
"Abort" bit turns Off→On. Meanwile, servo motor starts to execute the second MC_MoveAdditive
instruction to rotate. After servo motor reaches the set distance which is the total set distance of the first
and the second instruction, M30 of "Done" bit turns Off→On.
When M3 turns OnOff, M30 of "Done" bit is reset.
4.4.4. MC_MoveSuperImposed
API Controller
MC_MoveSuperImposed Superimposed motion
04 10MC11T
Explanation of the Instruction:
MC_MoveSuperImposed is applied to control the terminal actuator to chase for a given distance at a given
speed, acceleration and deceleration in current motion status. When this instruction is executed, the
execution of the former instruction will not be terminated, the two instructions will be executed together, the
distance, velocity, acceleration and deceleration will enter the real-time superposition. When one of the two
instructions reaches the given velocity, the acceleration will become 0. When the execution of one instruction
is finished, the speed, acceleration and deceleration will not be superimposed any more and meanwhile, the
other instruction is still being executed independently.
Notes:
1. When MC_MoveSuperImposed instruction is being executed, the rising edge occurs at “Execute”,
which has no impact on the execution of the instruction.
2. MC_MoveSuperImposed instruction can be executed for the slave axis specified in MC_GearIn
excluding the slave axis specified in MC_CamIn, APF_RotaryCut_In, APF_FlyingShear as well as
the axis specified in DMC_NC and DNC_Group.
3. You can refer to program example 3 on how to execute MC_MoveSuperImposed for the master or
slave axis specified in MC_CamIn, APF_RotaryCut_In and APF_FlyingShear so as to modify the
position while not affecting other axis motion.
4. When the velocity, acceleration and deceleration of the instruction are read and written via human
machine interface, their value types must be set as Double Word (Floating).
Program Example 1
When M2 turns Off→On, motion controller controls servo motor to rotate with current position as
reference point. After servo motor completes the target distance, M20 of "Done" bit turns Off→On.
When M2 turns OnOff, M20 of "Done" bit is reset.
Servo motor completes the set distance, M2 turns Off→On again, motion controller sends command to
control servo motor rotation, after servo motor completes the set distance, M20 of "Done" bit turns
Off→On once again.
Program Example 2
Two MC_MoveSuperImposed instructions in the same task list are matched in use as follows.
When M2 turns Off→On, M22 of "Busy" turns Off→On and motion controller controls servo motor to
rotate with current position as reference point. When M3 turns Off→On, M32 of "Busy" turns Off→On;
the second MC_MoveSuperImposed instruction starts to be executed and the speed and acceleration of
servo motor enter the superposition state respectively. When the position of the second
MC_MoveSuperImposed instruction is completed, M30 of "Done" bit turns Off→On and M32 of "Busy"
turns On→Off. When the position of the first MC_MoveSuperImposed instruction is completed, M20 of
"Done" bit turns Off→On and M22 of "Busy" turns On→Off. The final distance is the addition of given
distances for the two instructions.
When M2 turns OnOff, M20 of "Done" bit is reset. When M3 turns OnOff, M30 of "Done" bit is
reset.
Program Example 3
Make a conversion as the following figure shows by adding a virtual axis if the master axis specified in
MC_CamIn, APF_RotaryCut_In and APF_FlyingShear need modify the position through the execution
of MC_MoveSuperImposed while the slave axis motion is not affected. After the conversion is made,
MC_MoveSuperImposed execution for the original master axis does not affect the slave axis motion.
Axis 1
Au is 2
ar
E-
ge
ca
E - cam
E-
m
1
1:
A uis 3
Auis 2 A uis 3
Cam s lave axis
MC_Mls eSr merImmls ea Ge ar slave axis Cam slave axis
(Real axis )
(Real axis ) (Real axis )
Make a conversion as the following figure shows by adding a virtual axis when the slave axis specified in
MC_CamIn, APF_RotaryCut_In and APF_FlyingShear need modify the position through the execution
of MC_MoveSuperImposed
Ax is 2
E - cam
4:4 e-ge ar
Ax is 4
After DVP10MC11T makes the connection with all axes, axis 2 and axis 4 are enabled and virtual axis 3
is built.
The e-cam relationship is established between the real axis 2 and virtual axis 3 as M2 changes from
OFF to ON. And the e-gear relationship between axis 3 and axis 4 is established with the gear rate of
1:1 as M3 changes from OFF to ON.
The position of axis 4 is modified via MC_MoveSuperImposed as M4 changes from OFF to ON.
4.4.5. MC_MoveVelocity
API Controller
MC_ MoveVelocity Velocity instruction
05 10MC11T
Explanation of the Instruction:
MC_MoveVelocity is applied to control the terminal actuator to move at the given acceleration and
deceleration and finally it moves at the constant speed when reaching the given velocity. The execution of
this instruction is completed after the speed of terminal actuator reaches the given speed but terminal
actuator will still keep moving at this speed.
Notes:
1. When MC-MoveVelocity instruction is being executed, “Execute”: rising edge occurs, which does not
impact the execution of the instruction.
2. When the velocity, acceleration and deceleration of the instruction are read via human machine
interface, their value types must be set as Double Word (Floating).
Program Example 1
When M2 turns Off→On, motion controller controls servo motor rotation; when servo motor reaches
target velocity, M20 of "Invelocity" turns Off→On.
M20 of "Invelocity" is reset when M2 turns On→Off.
Program Example 2
Two MC_MoveVelocity instructions in the same task list are matched for use as follows.
Motion controller controls servo motor rotation as M2 turns Off→On; M3 turns Off→On when servo
motor has not reached target speed; M21 of "Abort" of the first instruction turns Off→On and servo
motor accelerates to the speed of the second MC_MoveVelocity instruction to run; M30 of "Invelocity"
turns Off→On after servo motor is up to the target speed.
M30 of "Invelocity" turns On→Off when M3 turns On→Off.
4.4.6. MC_Stop
API Controller
MC_Stop Stop instruction
06 10MC11T
Explanation of the Instruction:
MC_Stop controls the terminal actuator to decrease its speed at the given acceleration till it stops moving.
During execution of this instruction, an error will occur in them if other motion instructions are executed. The
instruction MC_Stop which is being executed will be aborted if another MC_Stop instruction with the same
axis number is executed.
Program Example 1
When M0 turns Off→On, motion controller controls servo motor to decelerate; after servo motor
speed reaches 0, M10 of "Done" turns Off→On.
M10 of "Done" is reset when M0 turns On→Off.
Program Example 2
MC_MoveVelocity and MC_Stop in the same task list are matched for use as follows.
When M2 turns Off→On, motor starts to rotate. When its rotation speed reaches the specified speed of
MC_MoveVelocity instruction, M20 turns Off→On. When M3 turns Off→On, MC_Stop starts being
executed. M30 of "Done" turns Off→On as the speed is decreased to 0.
M30 of "Done" is reset as M3 turns On→Off.
4.4.7. MC_PassiveHome
API Controller
MC_PassiveHome Homing instruction
07 10MC11T
Explanation of the Instruction:
MC_PassiveHome controls the servo motor to perform the homing action in mode and at the velocity that
axis parameter gives. The homing mode and velocity are set in the interface of axis parameters setting.
Notes:
1. MC_PassiveHome is a special instruction and the servo inputs may need to connect home signals
and limit signals according to the homing mode selected.
2. While MC_PassiveHome instruction is being executed, “Execute”: rising edge occurs, which does not
impact the execution of the instruction.
3. When the deceleration of the instruction is read via human machine interface, its value type must be
set as Double Word (Floating).
4. Position parameter defines the offset between the mechanical zero point and servo zero point as the
figure below:
Mechanical
zero point, For different Position value, the servo will eventually stop at the mechanical
point A under the control of this instruction. But the reference zero point of the
A where the servo position makes the change as shown below.
photoelectric
sensor is.
The position
is where the
servo is after
the execution
of this As Position=10000, the reference zero point of the servo position is point B
instruction is and point A position is -10000;
As Position=15000, the reference zero point of the servo position is point C
finished. and point A position is -15000;
As Position= -10000, the reference zero point of the servo position is point D
and point A position is 10000.
Example
Select an appropriate homing mode via the positions of the mechanism and photoelectric switch. When M1
turns off -> on, the motion controller controls the servo motor to rotate and drive the mechanism to return to
the mechanical zero point position A.
1) Hardware wiring
ASD-CNSCD050
CAN
ASD-BM-50A
VDD
Reverse rotation
DI7 COM+ COM-
Home switch
Home position A
Note:
During wiring, COM+ and VDD must be shorted.
The brown terminal (24V+) of photoelectric switch is connected to COM+ its blue terminal (0V) is
connected to COM- and its black terminal ( Signal cable) is connected to DI7
The DI7 function is set to the home switch, i.e. P2-16 is set to 124
Homing mode 21
The first-phase speed (To find the speed of home switch, Unit: r/m) 100
The second-phase speed (The speed to reach the mechanical zero
10
point after finding the home switch, Unit:r/m)
Note: The set axis parameters are valid after being downloaded.
3) Program control
When M1 turns off -> on, the motion controller controls the servo motor to rotate and drive the
mechanism to return to the mechanical zero point position A.
When meeting the home switch, the homing is finished and M11 is on.
4.4.8. MC_Power
API Controller
MC_Power Power control instruction
08 10MC11T
Explanation of the Instruction:
MC_Power is applied to enable or disable the corresponding servo axis.
Notes:
1. The axis can not be powered off or powered on as servo motor is running. At this moment, if "Power
Off/On" action is performed, "Error" will turn on, but servo drive will not be impacted at all.
2. The motion control instructions can control the axis to do the corresponding motion after servo axis is
powered on. Except for the virtual axis, all motion control instructions can not be executed when axis
is powered off.
4.4.9. MC_Reset
API Controller
MC_Reset Reset instruction
09 10MC11T
Explanation of the Instruction:
MC_Reset is applied to clear the axis error state in 10MC and the axis alarm information. When virtual axis or
axis configured in 10MC enters the state of ErrorStop which could be found via MC_ReadStatus, MC_Reset
just can be executed. Otherwise, the error will be alarmed by executing the instruction.
When axis alarms, offline or state machine switching problem happen, axis enters the state of ErrorStop and
the motion instructions being executed will stop being executed. When axis alarms, executing the instruction
could clear the alarm information of axis. After the execution of the instruction is finished, the axis status
enters the state of Disable. For axis status explanation, see section 4.2.
When D6532=1, the alarm axis enters the state of ErrorStop in 10MC after axis alarms (excluding the alarm
for meeting the limit in process of homing). After the instruction is executed, the axis alarm can be eliminated
if “Done” is on; If “Error” bit is on, the axis alarm can not be eliminated and check if the factor causing the
alarm still exists.
When D6532=0, the alarm axis will not enter the state of ErrorStop in 10MC after axis alarms and the axis
alarm information can not be cleared via the instruction.
After axis is enabled, the axis which is offline will enter the state of ErrorStop in 10MC. And 10MC will try to
make connection with the offline axis again. After the connection is made between 10MC and the offline axis
again, the instruction is executed successfully and then10MC could control the offline axis again.
When axis has not been enabled, there is no state change for the axis which is offline in 10MC. After the
connection is made between 10MC and the offline axis again, the motion instruction can be used for
controlling the axis without execution of the instruction.
Exmaple
When M0 is on, MC_ReadStatus will detect the state of the axis of number 1. When the axis of number 1
enters the state of ErrorStop due to offline or alarm, the ErrorStop bit of MC_ReadStatus is on and MC_Reset
instruction is executed.
4.4.10. MC_ReadStatus
API Controller
MC_ReadStatus Read axis status
10 10MC11T
Explanation of the Instruction:
MC_ReadStatus is applied to read the servo axis state in the controller. For the details on the axis state,
please refer to section 4.2.
Notes:
1. After the execution of this instruction is finished, the servo drive axis state will be reflected on the
corresponding bit device.
2. This instruction triggered by high level will read the axis state constantly when “Enable” is on.
4.4.11. MC_ReadActualPosition
API Controller
MC_ReadActualPosition Read actual position
11 10MC11T
Explanation of the Instruction:
MC_ReadActualPosition is applied to read the actual position of the terminal actuator. This instruction
triggered by high level will read the actual position of the terminal actuator constantly when “Enable” is on.
4.4.12. MC_ReadAxisError
API Controller
MC_ReadAxisError Read axis error
12 10MC11T
Explanation of the instruction:
MC_ReadAxisError is applied to read the error information of the servo axis such as the alarm of an error or
the state if servo axis is offline or not and so on, which are displayed on the panel of the servo drive. This
instruction triggered by high level will read the axis error information when “Enable” is on.
4.4.13. DMC_ReadParameter
API Controller
DMC_ReadParameter Read parameters
13 10MC11T
Explanation of the Instruction:
DMC_ReadParameter is applied to read the parameter value of the servo axis. User could specify the index
and sub-index of the parameter desired to be read.
Figure 1
Figure 2
4.4.14. DMC_WriteParameter
API Controller
DMC_WriteParameter Write parameters
14 10MC11T
Explanation of the Instruction:
DMC_WriteParameter is applied to set the parameter value of the servo axis. User could specify the index
and sub-index of the parameter to be set.
4.4.15. DMC_SetTorque
API Controller
DMC_SetTorque Set torque
15 10MC11T
Explanation of the Instruction:
DMC_SetTorque is applied to set the torque of the servo axis. When this instruction is executed, the servo
axis works in mode of torque.
Notes:
1. When the input value of "TargetTorque" is positive, the servo will move forward; when "TargetTorque"
is negative, the servo will move reversely.
2. As “Enable” is on, this instruction remains in the effective status. The torque size will directly be
changed following the changing “TargetTorque”. This instruction can not be aborted by other
instructions including “Stop” instruction. When this instruction is reset, the execution of it will be
terminated and then other instruction can start to be executed.
Program Example
M1
D0
M11
When M1 of "Enable" is on, the instruction is in execution status and M11 is on. Torque size will
changed accordingly if D0 value is changed.
When M1 of " Enable" is off, the instruction stops being executed and M11 is reset
4.4.16. DMC_ChangeMechanismGearRatio
M,I,Q,
Enable This instruction is executed when “Enable” is ON. BOOL
Constant
To constitute the mechanism gear ratio with OutputRotation
InputRotation REAL Constant, D
together
To constitute the mechanism gear ratio with InputRotation
OutputRotation REAL Constant, D
together.
How many units the corresponding terminal actuator moves
UnitsPerRotation when the output end of the gear box rotates for one circle. REAL Constant, D
(Unit: unit/rotation)
0: Rotary axis
AxisType UINT Constant, D
1: Linear axis
Data Available
Parameter name Explanation
type device
When Active=OFF and Enable=ON, the axis parameters
configured in the CANopen Builder software as axis
parameters are effective after 10MC is re-powered on.
"Done” is on when the instruction execution is finished;
Done BOOL M,Q,
“Done” is reset when “Enable” turns off.
Module Module
Program Example
When the electronic gear ratio of the terminal actuator is changed from 1:1 to 1:2, the instruction can be used
to revise the axis parameters as below. The instruction is executed as M10 is ON. The instruction execution
succeeds as “Done” of the instruction is ON. The instruction execution fails as “Error” of the instruction is ON.
The revised parameters of the instruction will have been effective since DVP10MC11T is re-powered after the
instruction is executed.
4.4.17. DMC_DisableAxis
Available
Parameter name Explanation Data type
device
Program Example
It is a logic program as marked in a red box below. DMC_DisableAxis instruction is written in the logic
program. The instruction is executed when M0 changes from OFF to ON. The instruction execution succeeds
when “Done” is ON and fails when “Error” is ON. You can change M0 value into 1 and re-download the
program so that the instruction will be performed every time the controller is powered on.
Change M0 value in the above figure into 1 as follows. The instruction will be performed every time the
controller is powered on.
4.4.18. DMC_PositionLag
Parameter Available
Explanation Data type
name device
M,I,Q,
Enable This instruction is executed when “Enable” is ON. BOOL
Constant
Parameter Available
Explanation Data type
name device
Program Example
The absolute deviation between the command position and feedback position is greater than Lag value,
OutOfRange is ON and MC_Stop instruction is triggered to stop axis 1 and axis 2 again by the output.
4.5.1. MC_CamTableSelect
API Controller
MC_CamTableSelect Select Cam table
64 10MC11T
Explanation of the Instruction:
MC_CamTableSelect is applied to choose the cam curve and meanwhile to specify the mode when master
axis establishes the relation with the slave axis.
4.5.2. MC_CamIn
API Controller
MC_CamIn Cam-in instruction
65 10MC11T
Explanation of the Instruction:
MC_CamIn is applied to establish the cam relation between master axis and slave axis. When the cam
relation is established, this instruction can be used to specify the offset value, scaling and start mode of the
master axis and slave axis according to the application demand. After the execution of this instruction is
completed, slave axis will make the motion following the master axis in accordance with the cam curve.
MasterOffset The cam position offset of master axis. Unit: unit. REAL Constant, D
SlaveOffset The cam position offset of slave axis. Unit: unit. REAL Constant, D
Notes:
1. In a cam system, to call one cam curve, "CamTableSelect" should be called to select the
corresponding cam table first and then "CamIn" is executed; if the cam curve is to be changed into
another one, “MC_CamTableSelect” is called again to select another cam table.
2. As axis is in absolute mode, the offset parameter (Master Offset or SlaveOffset) is valid but they can
not be negative value; as axis is in relative mode, the offset parameter is invalid.
3. Electronic cam curve can be edited in CANopen Builder software and it defines the corresponding
position relation between terminal actuators of master axis and slave axis with the unit: unit.
4. The position in the cam curve of master axis or slave axis is the remainder of actual axis position of
divided by modulo; after MC_CamIn is executed, the method of calculating the meshing point in the
cam curve is shown as below.
Slave position = f [(master position + master offset)/ master scaling]* slave scaling + slave offset
Method of calculating the master position in the above formula:
When master is in absolute mode, master position is the remainder of the current position of master
axis divided by modulo;
When master is in relative mode, master position is the starting point position of master axis in the
corresponding cam curve (usually 0).
“f” in above formula represents the cam curve relation between master and slave axis. (CAM).
5. If the instruction has been executed but not finsied yet, the rising edge which occurs at Execute does
not affect the instruction execution.
6. When the rising edge occurs at Execute after the instruction execution is finished, re-execute the
instruction.
7. The electronic cam operation will be disabled if other motion insturctions are executed for the slave
axis of the instruction in execution of this instruction.
<1> When master axis is in absolute mode, master position in cam curve = ( master
position 144 + master offset 0) / master scaling 1 =144.
<2> From cam curve, slave position is 164 when master position is 144. Calculation
method: f (144) =164.
<3> When slave axis is in absolute mode, slave position= 164* slave scaling 1 + slave
offset 0 =164
<4> Because startup mode 0 is to start up by jumping to the positive target position
direction immediately, slave axis need move from current position to the position
164 in the next cycle, i.e. actual position 524 and thus the coordinate of the
meshing point B is (144, 524). When master axis moves, following master axis,
slave axis starts to move from point B according to C2 curve.
Start-up mode 1: start up toward the shortest distance and slave axis judges whether to
mesh toward the positive or negative direction according to the distance between current
position and target position. Slave axis moves from point A to point B to mesh with
master axis at the max. speed, max acceleration and max deceleration in the axis
parameters.
<1> When master axis is in absolute mode, master position in cam curve = (master
position 144 + master offset 0) / master scaling 1 =144.
<2> From cam curve, slave position is 164 when master position is 144. Calculation
method: f (144) =164.
<3> When slave axis is in absolute mode, slave position= 164* slave scaling 1 + slave
offset 0 =164
<4> Because startup mode 1 is to start up toward the shortest distance and the
position 164 in the current cycle is the most closest to current slave position, slave
axis need move from current position to the position 164 in the current cycle, i.e.
actual position 164 and thus the coordinate of the meshing point B is (144,164).
When master axis moves, following master axis, slave axis starts to move from
point B according to C2 curve.
Start-up mode 2: start up toward positive direction. Slave axis moves from point A to
point B to mesh with master axis at the max. speed, max acceleration and max
deceleration.
<1> When master axis is in absolute mode, master position in cam curve = (master
position 144 + master offset 0) / master scaling 1 =144.
<2> From cam curve, slave position is 164 when master position is 144. Calculation
method: f (144) =164.
<3> When slave axis is in absolute mode, slave position= 164* slave scaling 1 + slave
offset 0 =164
<4> Because startup mode 2 is to rotate toward the positive direction, slave axis should
move from current position to the position 164 in the next cycle, i.e. actual position
524 and thus the coordinate of the meshing point B is (144,524). When master axis
moves, following master axis, slave axis starts to move from point B according to C2
curve.
Start-up mode 3: start up toward negative direction. Slave axis moves from point A to
point B to mesh with master axis at the max. speed, max acceleration and max
deceleration
<1> When master axis is in absolute mode, master position in cam curve = (master
position 144 + master offset 0) / master scaling 1 =144.
<2> From cam curve, slave position is 164 when master position is 144. Calculation
method: f (144) =164.
<3> When slave axis is in absolute mode, slave position= 164* slave scaling 1 + slave
offset 0 =164
<4> Because startup mode 3 is to rotate toward the negative direction, slave axis need
move from current position to the position 164 in the current cycle, i.e. actual
position 164 and thus the coordinate of the meshing point B is (144,164). When
master axis moves, following master axis, slave axis starts to move from point B
according to C2 curve.
<1> When master axis is in absolute mode, master position in cam curve
= (master position 144 + master offset 0) / master scaling 1 =144.
<2> From cam curve, slave position is 164 when master position is 144. Calculation
method: f (144) =164.
<3> When slave axis is in relative mode, slave position= 164* slave scaling 1 =164
<4> When slave axis is in relative mode as well as any start-up mode, its actual position
at point B is 227 and the corresponding position in the cam curve is 164. And so the
coordinate of the meshing point B is (144,227). When master axis moves, following
master axis, slave axis starts to move from point B according to C2 curve
Master axis is relative and slave axis is absolute
Relation explanation when master and slave axis are in relative and absolute mode
respectively.
In the system where master and slave axis are in relative and absolute mode respectively,
master axis starts moving with the physical position of current point as the starting point of the
cam system when “MC_CamIn” is executed. Slave axis will start the cam motion following
master axis from its position corresponding to the starting point of master axis in the cam
system.
<1> When master axis is in relative mode, master position in cam curve
= (master position 0 + master offset 0) / master scaling 1 =0.
<2> From cam curve, slave position is 0 when master position is 0. Calculation method: f
(0) =0.
<3> When slave axis is in absolute mode, slave position= 0* slave scaling 1 + slave
offset 0 =0
<4> Because startup mode 2 is to rotate toward the positive direction, slave axis need
move from current position to the position 0 in the next cycle, i.e. actual position 360
and thus the coordinate of the meshing point B is (144, 360). When master axis
moves, following master axis, slave axis starts to move from point B according to C2
curve.
Start-up mode 3: Start up toward the negative direction. Slave axis moves in the negative
direction from point A to point B at the max. velocity, acceleration and deceleration in axis
parameters to mesh with master axis.
<1> When master axis is in relative mode, master position in cam curve = (master
position 0 + master offset 0) / master scaling 1 =0.
<2> From cam curve, slave position is 0 when master position is 0. Calculation method: f
(0) = 0.
<3> When slave axis is in absolute mode, slave position= 0* slave scaling 1 + slave
offset 0 =0
<4> Because startup mode 3 is to rotate toward the negative direction, slave axis need
move from current position to the position 0 in the current cycle, i.e. actual position 0
and thus the coordinate of the meshing point B is (144, 0). When master axis moves,
following master axis, slave axis starts to move from point B according to C2 curve.
Start-up mode 1: start up toward the shortest distance and slave axis judges whether to
mesh toward the positive or negative direction according to the distance between current
position and target position. Slave axis moves from point A to point B to mesh with
master axis at the max. speed, acceleration and deceleration in the axis parameters.
<1> When master axis is in relative mode, master position in cam curve = (master
position 0 + master offset 0) / master scaling 1 =0.
<2> From cam curve, slave position is 0 when master position is 0. Calculation method: f
(0) =0.
<3> When slave axis is in absolute mode, slave position= 0* slave scaling 1 + slave
offset 0 = 0
<4> Because startup mode 1 is to start up toward the shortest distance and the position 0
in the next cycle is the most closest to current slave position, slave axis need move
in negative direction from current position to the position 0 in the next cycle, i.e.
actual position 360 and thus the coordinate of the meshing point B is (144, 360).
When master axis moves, following master axis, slave axis starts to move from point
B according to C2 curve.
Start-up mode 0: start up by jumping to the positive target position immediately. In one
synchronization cycle, slave axis jumps from point A to the point B to mesh with master
axis.
<1> When master axis is in relative mode, master position in cam curve
= (master position 0 + master offset 0) / master scaling 1 = 0.
<2> From cam curve, slave position is 0 when master position is 0. Calculation method:
f (0) =0.
<3> When slave axis is in absolute mode, slave position= 0* slave scaling 1 + slave
offset 0 =0
<4> Because startup mode 0 is to start up by jumping to the positive target position
immediately, slave axis need move from current position to the position 0 in the next
cycle, i.e. actual position 360 and thus the coordinate of the meshing point B is (144,
360). When master axis moves, following master axis, slave axis starts to move from
point B according to C2 curve.
<1> When master axis is in relative mode, master position in cam curve = (master
position 0 + master offset 0) / master scaling 1 = 0.
<2> From cam curve, slave position is 0 when master position is 0. Calculation method: f
(0) = 0.
<3> When slave axis is in relative mode, slave position= 0* slave scaling 1 = 0
<4> When slave axis is in relative mode as well as any start-up mode, its actual position
at point B is 227 and the corresponding position in the cam curve is 0. And so the
coordinate of the meshing point B is (144, 227). When master axis moves, following
master axis, slave axis starts to move from point B according to C2 curve.
Slave position = f [(master position + master offset)/ master scaling]* slave scaling + slave offset
When the axis is in absolute mode, Master Offset or Slave Offset is valid but must not be negative
value; when the axis is in relative mode, offset parameter is invalid. The scaling parameter is not
affected by the absolute/ relative mode of master and slave axis.
180
60
Suppose cam is planned as above figure, master and slave scaling are both 1, offsets are 0,
the cam curve will not make any change.
S lave Position
120
When master scaling =1, slave scaling = 2, master offset = 0, slave offset = 0, slave position is
twice that in original cam curve.
Master scaling =1, slave scaling = 0.5, master offset = 0, slave offset = 0
360
Slave Position
90
30
When master scaling =1, slave scaling = 0.5, master offset = 0, slave offset = 0, slave position
is half of that in original cam curve.
180
60
360 720
Master Position
When master scaling = 2, slave scaling = 1, master offset = 0, slave offset = 0, the cam curve
cycle is twice the original one and master axis takes 720°(360°*2)as the corresponding
current cycle.
180
60
180 360
Master Position
When master scaling = 0.5, slave scaling = 1, master offset = 0, slave offset = 0, the cam curve
cycle is half of the original one and master axis takes180°(360°/2)as the corresponding
current cycle.
Slave Position
220
100
60 100-60=40
When master scaling = 1, slave scaling = 1, master offset = 0, slave offset = 40, slave position
is that in the original cam curve plus 40°
Master scaling =1, slave scaling = 1, master offset = 200, slave offset = 0
360
Slave Position
200
180
60
360
Master Position
When master scaling = 1, slave scaling = 1, master offset = 200, slave offset = 0, slave
position shifts 200 corresponding to the master position. When master position is 0, slave
position is the 180 corresponding to the master position 200 in the original cam curve.
Conditions:
Parameter name Value& explanation
Modulo for master and slave axis 360
Scaling for master and slave axis 2
Master offset 30
Slave offset 30
Master axis: absolute/ relative Absolute
Slave axis: absolute/relative Absolute
Cycle/non-cycle Cycle
Start-up mode Jump to the positive target position
Calculation of the coordinate of the key point in the corresponding cam curve
Current position (30, 180), module is 360 and thus the point corresponding to the cam curve is
(30, 180), i.e. point A in the figure. The corresponding point position in cam curve can be
calculated via the following formula.
Slave position = f [(master position + master offset) / master scaling] * slave scaling + slave
offset
Calculation of slave position:
Master position in the cam curve = (master position 30 + master offset 30) / master scaling 2 =
30
From cam curve, slave position is 30 when master position is 30. Calculation method: f (30) =
30.
Slave position= 30* slave scaling 2 + slave offset 30 =90
Therefore, the coordinate of the first point is (30, 90), i.e. point B in the figure after “MC_CamIn”
is executed.
While master axis is moving, slave axis will cyclically follow master axis to move according to
the cam curve with pint B as the starting point.
Actual master and slave position corresponding to the terminal point of cam curve
Actual master position:
From step 2, master position need move 330 from position 30 to complete one cam cycle. Since
master scaling is 2, actually master axis need move another 660 from current position, i.e.
30+660=690.
Actual slave position:
From step 2, f (30) =30, therefore slave axis need move 330 so as to reach max. value. Since
slave scaling is 2, actually slave axis need move another 660 from current position before
reaching the max. value, i.e. 90+660=750.
Since slave scaling is 2, the difference between max. and min. of actual slave position is
360*2=720 and the actual slave position corresponding to terminal point of cam curve is
750-720=30. Therefore, the axis position corresponding to terminal point is (690, 30).
Curve figure for actual motion:
Slave
Position
7 50
A
1 80
90
B
30
0 30 3 30 6 90 1 05 0 1 41 0 Master
Position
When master and slave axis are in relative mode, the position curve figure for the actual motion
is displayed below:
Slave
Position
9 00
A
1 80
0 30 3 90 7 50 1110 1 47 0 Master
Position
Derivation process of the coordinates of the key point is shown below:
Current master position is 30; when master axis is in relative mode, master position
corresponding to cam curve is 0 and any offset is invalid.
Master position in cam curve = ( master position 0 + master offset 0)/ master scaling 2 = 0
It can be seen from cam curve that slave position is 0 when master position is 0. Calculation
method: f (0) =0.
Slave position = 0* slave scaling 2 + slave offset 0 = 0. Therefore, after “MC_CamIn” is
executed, the coordinate of the first point is current point (30,180) which corresponds to the
point (0, 0) in the cam curve.
Actual master and slave position corresponding the terminal point of cam curve
Actual master position:
It can be seen from cam curve that master axis need move 360 from point (0, 0) to complete
one cam cycle. Since master scaling is 2, actually master axis need move another 720 from
current position to complete one cycle, i.e. 30+720=750.
Actual slave position:
It can be seen from cam curve that slave axis need move 360 to reach the max. value starting
from point (0, 0). Since slave scaling is 2, actually slave axis need move another 720 from
current position so as to reach the max. value, i.e. 180+720=900.
The actual slave position corresponding to the terminal point of cam curve is 900-720=180 and
so the axis position corresponding to terminal point is (750,180).
4.5.3. MC_CamOut
API Controller
MC_CamOut Cam-out instruction
66 10MC11T
Explanation of the instruction:
This instruction is applied to disconnect the cam relation between master and slave axis. After the cam
relation is disconnected, slave will keep moving at the speed when the cam relation is disconnected.
MC_Power
Program Example
The following example describes the corresponding motion state when and after cam relation is established
or when cam relation is disconnected via CAM-related instructions.
Motion curve:
Suppose the current physical positions of axis 2 and axis 1 are 0 and 90 respectively, i.e. point A below and
the two axes have been enabled. The motion curve is shown below after the cam function is performed.
4.5.4. DMC_CamSet
API Controller
MC_CamSet Set cam
67 10MC11T
Explanation of the instruction:
The instruction is applied to modify the relevant parameters of the cam.
Notes:
1. DVP10MC11T provides 2048 electronic cam key points and the parameter of every key point is set
via 4 registers. The key point register is used to modify electronic cam curve dynamically and its
register value can be revised through communication and program.
The register number of the key point and the corresponding communication address are shown below.
Note: The data type of the key point register is 32-bit floating number. To change the master axis position of
the key point serial no 2048, write the master axis position into D32766.
The key point number and its corresponding communication address can also be checked in the following
CANopen Builder software.
2. Suppose two cam curves are built in CANopoen Builder. There are 3 points for the first cam curve, 5
points for the second cam curve, and so there are totally 8 key points for the electronic cam curve
(the sum of the key points for the first cam curve plus the key points for the second cam curve). The
register parameter with serial no. 4 is the first point parameter of the second cam curve, for other
register parameters, the corresponding point of the second curve can be presumed in the same way
3. The revised key point parameter of electronic cam is effective immediately if “MC_ CamSet” is
executed first and then “MC_CamIn” is executed. Otherwise, The revised key point parameter of
electronic cam is ineffective till the old cam curve cycle is over
C1’
540
C1
360
From curve 1, you can see three key points of e- cam with the serial no 1, 2, and 3 respectively
corresponding to the special D in the following table.
From the figures above, you can see the slave axis position of the second key point need be modified, i.e. the
value of D32770 need be done. Modify the value from 360 to 540 via the instruction "MOV-R".
The cam curve parameter table is shown below after being modified.
And then switch electronic cam curve by executing the instruction "DMC_CamSet".
When M1= On and M0 turns off -> on, “DMC_CamSet” is executed; M10 turns On after the execution of
“DMC_CamSet” is finished , which indicates that the register value of e-cam key point has been
switched to the newest key point parameter. The revised parameter value will be ineffective till the
current cam cycle is over.
Please carefully check the master axis position, slave axis position, velocity, and acceleration of the
cam key point which need be revised so as to make sure the new cam curve is reasonable.
4.5.5. MC_GearIn
API Controller
MC_GearIn Gear-in instruction
68 10MC11T
Explanation of the instruction:
The instruction is applied to establish the gear relation between master and slave axis. While the gear
relation is being established, the parameters like gear ratio can be set. After the gear relation is established,
slave axis will follow master axis to move at the given proportional relationship to accomplish the
synchronized control of master and slave axis. Master and slave axes could be real or virtual axis or the
external encoder master axis and etc.
4.5.6. MC_GearOut
API Controller
MC_GearOut Gear-out instruction
69 10MC11T
Explanation of the instruction
The instruction is applied to disconnect the gear relation between master and slave axis. After disconnection,
slave will keep moving at the speed when the gear relation is disconnected.
Notes:
1. After the execution of MC_GearOut is finished, other motion instructions can be executed for the
slave axis in the original gear relationship.
2. After master axis and slave axis establish the electronic gear relationship (via MC_GearIn), the slave
axis will keep on moving at the speed when it is disabled from the electronic gear relationship via
MC_GearOut instruction.
3. After master axis and slave axis establish the electronic gear relationship (via MC_GearIn), MC_Stop
can end the electronic gear operation of the salve axis and the slave axis will stop moving once
execution of MC_Stop is finished.
4. The sequence for execution of the instructions related with electronic gear
MC_Power
Rebuild the gear relation after modifying
the parameters while gear operation is
being conducted
Program Example
The following example describes the corresponding motion state when and after gear relation is established
or when gear relation is disconnected via Gear-related instructions.
Motion curve:
4.5.7. MC_Phasing
API Controller
MC_Phasing Phase shift
70 10MC11T
Explanation of the instruction
The instruction is applied to adjust the phase difference between master axis and slave axis. When the two
axes have established the master-slave relation, one virtual phase is superimposed to the master axis
through execution of this instruction so as to impact the slave axis. “MC_Phasing” can be executed only when
the two axes have made a relationship.
Notes:
1. PhaseShift regards the moment when Execute is ON after 10MC is powered ON or performs the
download as the reference point during the execution of “MC_Phasing” instruction.
2. In the gear relationship between master axis and slave axis, the shift of slave axis is calculated on basis
of RatioNumerator/ Ratiomenominator=1:1 no matter what RatioNumerator and Ratiomenominator
values of MC_GearIn instruction are during the execution of MC_Phasing instruction.
3. In the cam relationship built between master axis and slave axis, master axis and slave axis scales
according to MasterScaling and SlaveScaling values of MC_CamIn instruction to form the new cam
curve during the execution of MC_Phasing instruction. The shift of slave axis is calculated on basis of
the new cam curve.
Program example
When the gear relation is built between two axes with the default values for axis parameters, the
MC_Phasing instruction has an impact on the slave speed and position.
1. As the following instruction figure shows, the gear relationship between master axis and slave axis is
established after M2 is ON and the ratios of master axis to slave axis in velocity and position are both
1:1.
The execution of "MC_Phasing" does not affect the motion of master axis but slave axis at the ratio of
1:1 if the master axis moves at a constant speed of 10000 and the velocity, acceleration and
deceleration and phase shift set in "MC_Phasing" instruction are virtually superimposed to master axis
when M0 turns off -> on.
Actual phase shift of master axis (Unit: pulse) = PhaseShift*( the number of pulses/the number of turns)
/ modulo= 1080*10000/360=30000. Since "MC_Phasing" instruction influences the motion of the slave
axis at the ratio of 1:1, the actual shift of the slave axis is 30000 as well. The master position is 30000 at
the moment and the slave position =(master position + actual phase shift of master axis)
=30000+30000= 60000.
2. After M10 is ON, the value in D10 is changed into 0; when M0 turns off -> on again, the phase relation
between master axis and slave axis returns to the initial status since phase shift is 0. When M10 is ON,
master position is 63000 and slave position= master position = 63000.
Instruction figure
Sequence Diagram
Positi on
Sl ave po si tion
70 000
6 30 00
6 00 00
Ma ste r p ositi on
30 00 0
0
t
ve lo ci ty Sl ave velo ci ty
30 000
10 000
0
t
-10 000
M0(Exe cu te)
M1 0( Don e)
4.5.8. DMC_CapturePosition
API Controller
DMC_CapturePosition Capture position
71 10MC11T
Explanation of the instruction:
The instruction is applied to capture the position of the terminal actuator and the captured position can be
applied in error correcting. It also supports multiple kinds of trigger methods and data source. Please perform
the very precise position capture in mode 1, 2, 3, 10 and 11. Mode 0 is for less precise position capture.
Notes:
1. When "FirstPos", "LastPos" and "Position" are set via human machine interface, their value type
should be set as Double Word (Floating).
2. "Execute" bit must turn Off -> On again so as to perform another position capture when position
capture is completed. According to different modes, position capture is performed by triggering of
I0~I7 of the controller or DI7 of servo drive.
3. The hardware wiring figure is shown below for position capture when I0~I7 of 10MC or DI7 of the
servo drive are used.
S/S
I0 -
I1
I2 Out
24V
+ -
Photoelectric
I3
L switch
I4
I5 +
I6
I7
ASD-CNSCD050
CAN Bus
+ L Out -
ASD-BM-50A
Photoelectric switch
Note: The “Out”and “-” of the photoelectric switch are conducted when the photoelectric signal
comes.
Position capture
1) The “Position” captured by using the DMC_Capture Position instruction is converted from other
value
Mode 0, mode 1 The pulse number that servo motor feeds back to servo drive.
Mode 3 The pulse number received at the input terminal A 、/A、B 、/B of
CN5 port of servo drive.
Mode 10, mode 11 The pulse number received at the external encoder interface of
10MC.
2) The position captured by using the DMC_Capture Position instruction is converted according to
the axis parameter. For different modes, the conversion data sources are different. When
“Servo gear ratio setting” and “Mechanism gear ratio setting” in the axis parameters are as
following figure is and mode is 2, the pulse number received at the CN1 terminal: pulse、/pule、
sign、/sign is 435 and the captured position is 65.25. The calculation formula: 435×(3×1000)
÷(2×10000)=65.25. 1000, 2, 3 and1000 in the formula correspond to 1000, 2, 3, and 1000 in
the left figure below respectively. In other mode, the calculation method for the positon captured
via the instruction is same as above mentioned but the data source is different.
Note:
When the instruction is used for position capture in mode 1, D6527 value is the pulse number that
servo motor feeds back to servo drive and the data type is 32-bit signed number. The instruction
utilizes I0 for position capture in mode 10, D6529 value is the pulse number received at the encoder
interface of 10MC and the data type is 32-bit signed number.
4. Introduction to WindowOnly
<1> When WindowOnly =1, FirstPos and LastPos are valid, which regards the actual terminal
actuator position as the reference point when “Execute” turns Off -> On. In the following figure,
FirstPos and LastPos are 100 and 300 respectively and the actual terminal actuator position is
100 when “Execute” turns Off -> On. And so when the actual actuator position is between
200~400, the actual position of the terminal actuator just can be captured by triggering of the
rising edge of TriggerInput bit or DI7 of servo drive.
<2> When the actual position of the terminal actuator is out of the window, the triggering of the
rising edge of the “TriggerInput” bit is invalid. When the actual position of terminal actuator is
above the lastPos and the rising edge of “TriggerInput” bit is not detected, “Error” bit of
CapturePosition instruction is on; position capture could be done again by triggering of the
rising edge of “TriggerInput” bit after “Execute” turns Off -> On again.
5. Introduction to Mask
<1> As the figure shows below, one position capture is completed after the trigger times for rising
edge of the TriggerInput bit reach Mask value when Windowonly=1, “Execute” turns Off -> On,
and the actual position of terminal actuator is within the Window zone; The trigger of rising
edge of the TriggerInput bit is invalid when the actual position of terminal actuator is out of the
Window zone.
When the actual position of the terminal actuator exceeds LastPos and no position is captured,
the “Error” bit of CapturePosition instruction is on; position capture could be done again by
triggering of the rising edge of “TriggerInput” bit after “Execute” turns Off -> On again.
<2> When Windowonly=0 and “Execute” turns Off -> On, one position capture is completed after
the trigger times for rising edge of the TriggerInput bit reach Mask value (Mask=0 or 1, one
position capture is completed after the triggering of the rising edge of the TriggerInput bit
occurs once).
4.5.9. DMC_VirtualAxis
API Controller
DMC_VirtualAxis Create virtual axis
72 10MC11T
Explanation of the instruction:
The instruction is applied to constitute a virtual axis. DVP10MC11T supports max. 18 virtual axes. The motion
control method of virtual axes is same as the real axes. Through execution of the instructions related with
axes, the virtual axis establishes the relation of gear, cam and etc. with other virtual axis or real axis.
Notes:
1. After virtual axis is established successfully, virtual axis can be controlled directly in no need of
executing "MC_Power" to make the servo enabled.
2. The virtual axis No. must be different from other axis No.
3. One virtual axis can be established only once and it will exist after establishment of "MC-VirtualAxis"
is completed. When "Execute" bit of ”MC-VirtualAxis" turns off -> on again, "Error" bit will turn on.
4. The explanation of virtual axis input parameters is the same as that of real axis parameters which can
be seen in section 2.3.1.
4.5.10. DMC_ExternalMaster
API Controller
DMC_ExternalMaster Create external virtual master axis
73 10MC11T
Explanation of the instruction:
The instruction is applied to constitute a virtual master axis which could not serve as slave axis but master
axis. DVP10MC11T supports max. 18 virtual master axes. The source of virtual master axis is the pulse
received at the encoder port or the variable of the internal register. Through execution of the instructions
related with axis, virtual master axis could establish the relation of gear, cam and etc. with other virtual axis or
real axis.
Notes:
1. After virtual axis is established successfully, virtual axis can be controlled directly in no need of
executing "MC_Power" to make the servo powered on.
2. The virtual axis No. must be different from other axis No.
3. One virtual axis can be established only once and it will exist after establishment of "MC-VirtualAxis"
is completed. When "Execute" bit of ”MC-VirtualAxis" turns off -> on again, "Error" bit will turn on.
4. Virtual master axis will make the motion with the variable of the parameter value specified by Source
or the external encoder interface as the order; when variable is 0, virtual master axis will not rotate.
4.5.11. DMC_CamSwitch
Available
Parameter name Explanation Data type
device
Indicates the execution stage of electronic cam
operation. When the electronic cam operation
output 1 BOOL M,Q
reaches or exceeds the stage set by Percent 1,
output 1 remain high for one full cycle.
Indicates the execution stage of electronic cam
operation. When the electronic cam operation
output 2 BOOL M,Q
reaches or exceeds the stage set by Percent 2,
output 2 remains high for one full cycle.
Indicates the execution stage of electronic cam
operation. When the electronic cam operation
output 3 BOOL M,Q
reaches or exceeds the stage set by Percent 3,
output 3 remains high for one full cycle.
Indicates the execution stage of electronic cam
operation. When the electronic cam operation
output 4 BOOL M,Q
reaches or exceeds the stage set by Percent 4,
output 4 remains high for one full cycle.
Indicates the execution stage of electronic cam
operation. When the electronic cam operation
output 5 BOOL M,Q
reaches or exceeds the stage set by Percent 5,
output 5 remains high for one full cycle.
Indicates the execution stage of electronic cam
operation. When the electronic cam operation
output 6 BOOL M,Q
reaches or exceeds the stage set by Percent 6,
output 6 remains high for one full cycle.
Indicates the execution stage of electronic cam
operation. When the electronic cam operation
output 7 BOOL M,Q
reaches or exceeds the stage set by Percent 7,
output 7 remains high for one full cycle.
Indicates the execution stage of electronic cam
operation. When the electronic cam operation
output 8 BOOL M,Q
reaches or exceeds the stage set by Percent 8,
output 8 remains high for one full cycle.
Notes:
1. A full electronic cam cycle is 100%.
2. DMC_CAM Switch can be used only when the electronic cam relationship is established successfully.
3. The V1.06 or above firmware supports this function
Program example
Here is an introduction to the use of DMC_CamSwitch instruction. The electronic cam curve for this
example is shown as below with a cam cycle of 20,000.
The outputs of related devices are shown in the following figure after the above program is executed.
1 0% 50% 9 0%
%
M10
M11
M21
M15
M25
M18
M28
Axis 1 and axis 2 establish the e-cam relationship when M1 changes from OFF to ON.
DMC_CamSwitch starts to be executed when M10 changes from OFF to ON.
Output 1 has been high for one scan cycle when the e-cam operation reaches or exceeds Percent 1
value, that is, the master position of the cam curve is greater or equal to 2,000. M11 (Output 1) will be
ON for one scan cycle and then change into OFF. M21 is set to ON as Output1 is ON.
Output 5 has been high for one scan cycle when the e-cam operation reaches or exceeds Percent 5
value, that is, the master position of the cam curve is greater or equal to 10,000. M15 (Output 5) will be
ON for one scan cycle and then change into OFF. M25 is set to ON as Output 5 is ON.
Output 8 has been high for one scan cycle when the e-cam operation reaches or exceeds Percent 8
value, that is, the master position of the cam curve is greater or equal to 18,000. M18 (Output 8) will be
ON for one scan cycle and then change into OFF. M28 is set to ON as Output 8 is ON.
4.6.1. ADD
API Controller
ADD Addition of 16-bit integer
128 10MC11T
Explanation of the instruction:
ADD is used for addition operation of 16-bit integers. As EN is on, add S1 to S2 and their sum value is saved
in D register.
D Sum INT D
4.6.2. ADD_DI
API Controller
ADD_DI Addition of 32-bit integer
129 10MC11T
Explanation of the instruction:
ADD_DI is used for addition operation of 32-bit integers. As EN is on, add S1 to S2 and their sum value is
saved in D register.
4.6.3. ADD_R
API Controller
ADD_R Addition of floating number
130 10MC11T
Explanation of the instruction:
ADD_R is used for addition operation of 32-bit floating numbers. As EN is on, add S1 to S2 and their sum
value is saved in D register.
4.6.4. SUB
API Controller
SUB Subtraction of 16-bit integer
131 10MC11T
Explanation of the instruction:
SUB is used for subtraction operation of 16-bit integers. As EN is on, subtract S2 from S1 and their result
value is saved in D register.
4.6.5. SUB_DI
API Controller
SUB_DI Subtraction of 32-bit integer
132 10MC11T
Explanation of the instruction:
SUB_DI is used for subtraction operation of 32-bit integers. As EN is on, subtract S2 from S1 and their result
value is saved in D register.
4.6.6. SUB_R
API Controller
SUB_R Subtraction of floating number
133 10MC11T
Explanation of the instruction:
SUB_R is used for subtraction operation of 32-bit floating number. As EN is on, subtract S2 from S1 and their
result value is saved in D register.
4.6.7. MUL
API Controller
MUL Multiplication of 16-bit integer
134 10MC11T
Explanation of the instruction:
MUL is used for multiplying operation of 16-bit integers. As EN is on, multiply S1 by S2 and their result
value is saved in D register.
4.6.8. MUL_DI
API Controller
MUL_DI Multiplication of 32-bit integer
135 10MC11T
Explanation of the instruction:
MUL_DI is used for multiplying operation of 32-bit integers. As EN is on, multiply S1 by S2 and their result
value is saved in D register.
4.6.9. MUL_R
API Controller
MUL_R Multiplication of floating number
136 10MC11T
Explanation of the instruction:
MUL_R is used for multiplying operation of 32-bit floating number. As EN is on, multiply S1 by S2 and their
result value is saved in D register.
4.6.10. DIV
API Controller
DIV Division of 16-bit integer
137 10MC11T
Explanation of the instruction:
DIV is used for division operation of 16-bit integer. As EN is on, divide S1 by S2 and their result value is
saved in D register.
4.6.11. DIV_DI
API Controller
DIV_DI Division of 32-bit integer
138 10MC11T
Explanation of the instruction:
DIV_DI is used for division operation of 32-bit integer. As EN is on, divide S1 by S2 and their result value is
saved in D register.
4.6.12. DIV_R
API Controller
DIV_R Division of floating number
139 10MC11T
Explanation of the instruction:
DIV_R is used for division operation of 32-bit floating number. As EN is on, divide S1 by S2 and their result
value is saved in D register.
4.6.13. AND
API Controller
AND Logic AND operation
140 10MC11T
Explanation of the instruction:
AND is used for logic AND operation of two bit devices.
When “EN” is on, AND operation of S1 and S2 is conducted and the result is saved to the bit device specified
by Q; when “EN” is off, the state of Q is unchanged.
4.6.14. OR
API Controller
OR Logic OR operation
141 10MC11T
Explanation of the instruction:
OR is used for logic OR operation of two bit devices.
When “EN” is on, OR operation of S1 and S2 is conducted and the result is saved to the bit device specified
by Q; when “EN” is off, the state of Q is unchanged.
4.6.15. XOR
API Controller
XOR Logic XOR operation
142 10MC11T
Explanation of the instruction:
XOR is used for logic XOR operation of two bit devices.
When “EN” is on, XOR operation of S1 and S2 is conducted and the result is saved to the bit device specified
by Q; when “EN” is off, the state of Q is unchanged.
4.6.16. NOT
API Controller
NOT Logic NOT operation
143 10MC11T
Explanation of the instruction:
NOT is used for logical NOT operation of one bit device.
When “EN” is on, NOT operation of S is conducted and the result is saved to the bit device specified by Q;
when “EN” is off, the state of Q is unchanged.
4.6.17. CTU
API Controller
CTU Up counter
144 10MC11T
Explanation of the instruction:
CTU is used to achieve the function of upcounter.
When EN is on, R is off and the count-up input CU turns off -> on, the current value EV of the counter is
increased by 1; as the value of EV is greater than or equal to the preset value PV, the output CTU is on; as
EV reaches the maximum 4294967295, the counter stops counting. As R is on, CTU is reset and the current
value EV of the counter is cleared as 0.
Program example
The value of "PV" is set as 5 and the current value is saved to "D0".
Sequence chart:
4.6.18. CTD
API Controller
CTD Down counter
145 10MC11T
Explanation of the instruction:
CTD is used to achieve the function of downcounter.
When EN is on and the loading input LD turns off -> on, the counter writes the preset value of PV into the
current value of EV and the output CTD is reset. Each time the count-down input CD turns off -> on , the
current value of EV is decreased by 1. When EV is decreased to 0, the output CTD turns on and the counter
stops counting.
Program example
The value of "PV" is set to 5 and the current value is saved to "D0".
Sequence chart:
4.6.19. CTUD
API Controller
CTUD Up/down counter
146 10MC11T
Explanation of the instruction:
CTUD is used to achieve the function of upcounter or downcounter.
As EN is on, R is off and the count-up input CU turns off -> on, the current value EV of the counter is
increased by 1; as the count-down input CD turns off -> on, the current value EV of the counter is decreased
by 1; as the current value of the counter is greater than or equal to the preset value of the counter, CTUD is
on.
As R turns on, the output CTUD is reset and the current value EV of the counter is cleared as 0.
As EV is up to maximum 4294967295 and the countup bit CU turns off -> on, EV gets minimum 0; as EV
reaches minimum 0, the count-down input CD turns on -> off, EV gets maximum 4294967295.
Program example
The value of "PV" is set to 5 and the current value is saved to "D0".
Sequence chart:
4.6.20. TON_s
API Controller
TON_s On-delay timer
147 10MC11T
Explanation of the instruction:
TON_s is used as an on-delay timer with 1s as the timing unit.
When EN is on, the input IN is On, the current value ET starts timing from 0 on; as the current value ET is
greater than or equal to the preset value PT, the output TON turns on. After ET reaches PT value, the timing
will not be stopped till ET reaches maximum 4294967295. When the input IN is off, the current value ET of
the timer is cleared as 0 and the output TON is reset. The preset value PT is effective immediately after
being changed.
Program example
“PT” is set as D10 and the current value is saved into D12 (ET).
Sequence chart:
4.6.21. TOF_s
API Controller
TOF_s Off-delay timer
148 10MC11T
Explanation of the instruction:
TOF_s is used as an off-delay timer with 1s as the timing unit.
When EN is On and the input IN is On, the output TOF turns On and the current value ET is cleared as 0.
When the input bit IN turns On -> Off, the current value ET starts timing from 0 on; as the current value ET is
greater than or equal to the preset value PT, the output TOF turns Off. After ET reaches PT value, the timing
will not be stopped till ET reaches maximum 4294967295. The preset value PT is effective immediately after
being changed.
Program example
The value of “PT” is set as 20s and the current value is saved to D10 (ET).
Sequence chart:
4.6.22. TONR_s
API Controller
TONR_s Retentive on-delay timer
149 10MC11T
Explanation of the instruction:
TONR_s is a retentive on-delay timer with 1s as the timing unit.
When EN is on and IN is on, the current value ET of the timer starts timing;
When IN is off, the current value ET is maintained. When IN turns on once again, the timing is continued
based on the maintained value ET and the output TONR will be on when ET is greater than or equal to the
preset value PT. After ET reaches PT value, the timing will not be stopped till ET reaches maximum
4294967295.
When EN is off, the current value ET of the timer is cleared as 0 and the output bit is reset.
Program example
The vaule of PT is set as 50s and the current value is saved in the register D10.
Sequence chart:
4.6.23. TON_ms
API Controller
TON_ms On-delay timer
150 10MC11T
Explanation of the instruction:
TON_ms is an on-delay timer with 1ms as the timing unit.
When EN is on, the input IN is On, the current value ET starts timing from 0 on; as the current value ET is
greater than or equal to the preset value PT, the output TON turns on. After ET reaches PT value, the timing
will not be stopped till ET reaches maximum 4294967295. When the input IN is off, the current value ET of
the timer is cleared as 0 and the output TON is reset. The preset value PT is effective immediately after
being changed.
4.6.24. TOF_ms
API Controller
TOF_ms Off-delay timer
151 10MC11T
Explanation of the instruction:
TOF_ms is used as an off-delay timer with 1ms as the timing unit.
When EN is On and the input IN is On, the output TOF turns On and the current value ET is cleared as 0.
When the input bit IN turns On -> Off, the current value ET starts timing from 0 on; as the current value ET is
greater than or equal to the preset value PT, the output TOF turns Off. After ET reaches PT value, the timing
will not be stopped till ET reaches maximum 4294967295. The preset value PT is effective immediately after
being changed.
4.6.25. TONR_ms
API Controller
TONR_ms Retentive on-delay timer
152 10MC11T
Explanation of the instruction:
TONR_ms is a retentive on-delay timer with 1ms as the timing unit.
When EN is on and IN is on, the current value ET of the timer starts timing;
When IN is off, the current value ET is maintained. When IN turns on once again, the timing is continued
based on the maintained value ET and the output TONR will be on when ET is greater than or equal to the
preset value PT. After ET reaches PT value, the timing will not be stopped till ET reaches maximum
4294967295.
When EN is off, the current value ET of the timer is cleared as 0 and the output bit is reset.
4.6.26. CMP
API Controller
CMP Comparison of 16-bit integers
153 10MC11T
Explanation of the instruction:
CMP is used for comparison of two 16-bit signed integers with the result value displayed in one of the three
output bit devices.
When EN is On, compare S1 less than or greater than, or equal to S2 with the result placed in the
corresponding LT, GT or EQ. When EN is Off, the status of the bit device where the comparison result is
placed will keep unchanged.
4.6.27. CMP_DI
API Controller
CMP_DI Comparison of 32-bit integers
154 10MC11T
Explanation of the instruction:
CMP-DI is used for comparison of two 32-bit signed integers with the result value displayed in one of the
three output bit devices.
When EN is On, compare S1 less than or greater than, or equal to S2 with the result placed in the
corresponding LT, GT or EQ. When EN is Off, the status of the bit device where the comparison result is
placed will keep unchanged.
4.6.28. CMP_R
API Controller
CMP_R Comparison of floating numbers
155 10MC11T
Explanation of the instruction:
CMP-R is used for comparison of two 32-bit floating number with the result value displayed in one of the three
output bit devices.
When EN is On, compare S1 less than or greater than, or equal to S2 with the result placed in the
corresponding LT, GT or EQ. When EN is Off, the status of the bit device where the comparison result is
placed will keep unchanged.
4.6.29. MOV
API Controller
MOV Move 16-bit integer
156 10MC11T
Explanation of the instruction:
MOV is used for sending the 16-bit integer to the target register.
When EN is On, the content of S will be moved to D without changing the original value in S.
Program example
When M0 turns Off -> On and keeps in ON status, this instruction will be being executed ever after for
sending the content of register D0 to register D100.
When M0 turns On→Off, this instruction will stop execution.
4.6.30. MOV_DI
API Controller
MOV_DI Move 32-bit integer
157 10MC11T
Explanation of the instruction:
MOV_DI is used for sending the 32-bit integer to the target register.
When EN is On, the content of S will be moved to D without changing the original value in S.
Note: This instruction is used for moving the 32-bit integer only.
4.6.31. MOV_R
API Controller
MOV_R Move floating number
158 10MC11T
Explanation of the instruction:
MOV_R is used for sending the 32-bit floating number to the target register.
When EN is On, the content of S will be moved to D without changing the original value in S.
4.6.32. MOVF
API Controller
MOVF Move 16-bit integer to multiple registers
159 10MC11T
Explanation of the instruction:
MOVF is used for sending one 16-bit integer to multiple target registers.
When EN is on, the content of S1 is sent to the zone with D as the starting register and the data length is
specified by S2. When the data length S2 is larger than maximum 64, it is counted as 64. And the part above
64 is invalid.
Program example
20 20
D10
20
D11
20 S2=5
D12
20
D13
20
D14
4.6.33. MOVF_DI
Program example
4.6.34. MOVF_R
4.6.35. MOVB
Program example
4.6.36. MOV_BW
4.6.37. MOV_WB
Program example
4.6.38. ZCP
4.6.39. ZCP_DI
4.6.40. ZCP_R
4.6.41. SET
API Controller
SET Setting instruction
168 10MC11T
Explanation of the instruction:
SET is used to set one single bit device to On status.
When EN of the instruction is on, Q is on; as EN is off, Q is still on.
4.6.42. RESET
API Controller
RESET Reset instruction
169 10MC11T
Explanation of the instruction:
RESET is used to reset one single bit device.
When EN of the instruction is on, Q is reset to Off state; as EN is off, Q status keeps unchanged.
4.6.43. OUT
API Controller
OUT Coil driving
170 10MC11T
Explanation of the instruction:
OUT is used to drive one single bit device.
When EN of the instruction is on, Q is On; when EN is off, Q is off.
4.6.44. R_Trig
API Controller
R_Trig Rising edge triggering
171 10MC11T
Explanation of the instruction:
R_Trig is used to trigger via CLK bit rising edge to make Q bit generate the high level for one scan cycle.
When EN is On and CLK turns off -> on, Q outputs the high level for one scan cycle.
Program example
As I0=On and M0 turns off -> on via the trigger of the rising edge, ”R_Trig" instruction is executed;
"Q0“ outputs the pulse once and the length of the pulse is one scan cycle.
Sequence chart:
4.6.45. F_Trig
API Controller
F_Trig Falling edge triggering
172 10MC11T
Explanation of the instruction:
F_Trig is used to trigger via falling edge of CLK bit to make Q bit generate the high level for one scan cycle.
When EN is On and CLK turns on -> off, Q outputs the high level for one scan cycle.
Program example
As I0=On and M0 turns on -> off via the trigger of the falling edge, "F_Trig" instruction is executed; "Q0"
outputs the pulse once and the length of the pulse is one scan cycle.
Sequence chart:
4.6.46. ZRSTM
API Controller
ZRSTM Reset one zone of bit devices
173 10MC11T
Explanation of the instruction:
ZRSTM is used to reset multiple continuous bit devices.
When EN is on, the bit devices with S1 as the starting device are reset and the length of the reset bit devices
is specified by S2;
When EN is off, the status of the bit devices is unchanged. If the length specified by S2 exceeds maximum 64,
it is counted as 64 and the part above 64 is invalid.
4.6.47. ZRSTD
API Controller
ZRSTD Reset one zone of registers
174 10MC11T
Explanation of the instruction:
ZRSTD is used to reset multiple continuous registers.
When EN is on, the registers with S1 as the starting register are cleared as 0; and the number of the registers
is specified by S2;
When EN is off, the values of the registers are unchanged.
If the length specified by S2 exceeds maximum 64, it is counted as 64 and the part above 64 is invalid.
4.6.48. SQRT_R
API Controller
SQRT_R Square root of floating number
175 10MC11T
Explanation of the instruction:
SQRT_R is used for arithmetic square root operation of 32-bit floating number.
When EN is on, arithmetic square root operation of the floating number specified by S is conducted and the
result is saved in D device.
4.6.49. MOD
API Controller
MOD Get remainder of 16-bit integer
176 10MC11T
Explanation of the instruction:
MOD is used for getting the remainder of 16-bit integer through division operation.
When EN is on, divide S1 by S2 and the remainder of S1 is stored in D device.
4.6.50. MOD_DI
API Controller
MOD_DI Get remainder of 32-bit integer
177 10MC11T
Explanation of the instruction:
MOD_DI is used for getting the remainder of 32-bit integer through division operation.
When EN is on, divide S1 by S2 and the remainder of S1 is stored in D device.
4.6.51. MOD_R
API Controller
MOD_R Get remainder of floating number
178 10MC11T
Explanation of the instruction:
MOD_R is used for getting the remainder of floating number through division operation.
When EN is on, divide S1 by S2 and the remainder of S1 is stored in D device.
4.6.52. Real_To_Int
4.6.53. Real_To_DInt
4.6.54. Int_To_Real
4.6.55. DInt_To_Real
4.6.56. Offset
M,I,Q,
EN “Offset” is executed as “EN” turns on. BOOL
constant
Example 1
Program Explanation:
When M0= on, S is D100; In_E=2 and the source index register address is D(100+2)=D102.
When D is D200 and Out_E=3, the destination index register address is D(200+3)=D203 and
meanwhile, the content of D102 is moved to D203.
Example 2
Program Explanation:
When the input pin S of Offset instruction and the output pin D of MOV instruction are linked with a line,
the In_E value is invalid.
When M1 is on, the source index register address of Offset instruction is the input device (S) address of
MOV function block, which is fixed to D500.
The output D of Offset instruction is D600, Out_E= 6, the destination index register address is
D(600+6)=D606.
Move the content of D500 to D606.
When Out_E value changes, the content of D500 can be moved to different registers.
Example 3
Program Explanation:
The output pin D of Offset instruction and the input pin S of MOV instruction are linked with a line, the
Out_E value is invalid.
When M2 is on, the input S of Offset instruction is D1000, In_E=350 and the source index register
address is D(1000+350)=D1350.
The vaule of the source index register address is moved to the output D of Offset instruction and the
D1350 value is moved to D2000.
When In_E value changes, the content of different registers can be moved to D2000.
4.6.57. Offset_DI
M,I,Q,
EN “Offset_Dl” is executed as “EN” turns on. BOOL
constant
Example 1
Program Explanation:
When M0 is on, S is D100; In_E= 3 and the source index register address is D(100+3)=D103;
D is D200; Out_E= 5 and the destination index register address is D(200+5)=D205;
At the moment, move the content of D103 to D205.
Example 2
Program Explanation:
When the input pin S of Offset_DI instruction and the output pin D of MOV_DI instruction are linked with
a line, the In_E value is invalid.
When M1 is on, the source index register address of Offset_DI instruction is the input device (S) address
of MOV_DI function block, which is fixed to D300.
The output D of Offset_DI instruction is D800, Out_E= 9, the destination index register address is
D(800+9)=D809.
Move the content of D300 to D809.
When Out_E value changes, the content of D300 can be moved to different registers.
Example 3
Program Explanation:
The output pin D of Offset_DI instruction and the input pin S of MOV_DI instruction are linked with a line,
the Out_E value is invalid.
When M2 is on, the input S of Offset_DI instruction is D3200, In_E=5555 and the source index register
address is D(3200+5555)=D8755.
The vaule of the source index register address is moved to the output D of MOV_DI instruction and the
D8755 value is moved to D700.
When In_E value changes, the content of different registers can be moved to D700.
4.6.58. Offset_R
M,I,Q,
EN “Offset_R” is executed as “EN” turns on. BOOL
constant
Feed roller
(For feeding material)
Note: The feed axis is to control the feed roller; the rotary cut axis is to control rotary cut roller with the knife
mounted on the rotary cut roller. The rotary cut function is usually used for cutting of the thin material or the
material of medium thinness and can be applied in packaging machine, cutting machine, punching machine,
printing machine etc.
Parameter
Explanation Instruction name
in figure
1) User can set the cutting length freely according to the technological requirement and the cutting length
could be less or more than the circumference of the cutter.
2) In the sync area, the knife and feed axis keep synchronous in speed to complete the cutting action.
3) DVP10MC11T supports the rotary roller with multiple knives.
4) The feed axis is able to make the motion at a constant speed, acceleration, or deceleration during
cutting.
5) When rotary cut relation is broken off, the knife stops at the zero point of the system, i.e. the entry
position for rotary cutting.
Adjustment area
knife roller
Circumference of
Sync
area
For the cutting of the short material, rotary cut axis must accelerate first in adjustment area, and then
decelerate to the synchronous speed.
Adjustment area
knife roller
Circumference of
Sync
area
In this situation, feed axis and rotary cut axis in sync area and non-sync area keep synchronous in speed.
The rotary cut axis does not need to make any adjustment.
Adjustment area
of knife roller
Circumference
Sync
area
In this situation, rotary cut axis should decelerate first in adjustment area and then accelerate to synchronous
speed. If the cutting length is far greater than rotary cut roller circumference, the roller may decelerate to 0
and then stay still for a while; finally, accelerate up to synchronous speed. The greater the cutting length is,
the longer the roller stays.
Additionally, when rotary cut function is started or broken off, the cam curves used are different.
Adjustment area
Entry
point
Sync
area
Feed axis
The curve is the rotary cut function entry curve. When the rotary cut function is started up, the rotary cut axis
will follow the feed axis to rotate according to the curve. The entry position is based on the rotary cut axis. For
the single knife, the cutting position is directly below the rotary cut roller if the entry position is over the rotary
cut roller in the following figure. Before the rotary cut function is started up, the knife must be turned to the
upper of the rotary roller. Otherwise, the cutting may happen in the adjustment area.
Knife
horizontal line
O
Cutting
position
When the rotary roller is mounted with multiple knives, the distance between knives should be the same and
the cutting position is at the center of the knife distance. See the two-knife figure below.
Knife 1 Knife 2
horizontal line
O
Cutting
position
Adjustment area
End point
Sync
area
Feed
axis
After the instruction “APF_RotaryCut_Out” is started up, the system will use the curve to make the rotary cut
axis break away from the rotary cut state. Eventually, the knife stops at the end position as shown in the
figure above.
The end position is based on the rotary axis. For the single knife, the end position is the entry position and it
is also right above the rotary cut roller.
4.7.5.1. APF_RotaryCut_Init
API Controller
APF_RotaryCut_Init Initialize rotary cut
220 10MC11T
Explanation of the instruction:
The instruction is used for initializing the radius of rotary axis and feed axis, the cutting length, synchronous
area and etc if the rotary cut relation has not been established. After execution of the instruction is completed,
the relevant parameters are loaded so as to be called while the rotary cut relation is being established. If the
rotary cut relation has been established, the instruction is used for modifying the rotary cut parameters. And
the newly set parameters will be effective in the following period after the execution of the instruction is
finished.
2. The limit for sync area is that it must not be larger than the half of cutting length. In above figure,
sync area is 20, and the half of the cutting length is 160.
3. The length parameters in the function are RotaryAxisRadius, FeedAxisRadius, CutLenth,
SyncStartPos, and SyncStopPos with the uniform unit. For example, if the unit for one of the
parameters is CM (centimeter), the units for other parameters must be CM as well.
4.7.5.2. APF_RotaryCut_In
API Controller
APF_RotaryCut_In Rotary cut-in
221 10MC11T
Explanation of the instruction:
The instruction is used for establishing the rotary cut relation and specifying the axis number of the rotary axis
and feed axis according to the application requirement. After the execution of the instruction succeeds, the
rotary cut axis follows the feed axis to make the motion according to the rotary cut curve.
4.7.5.3. APF_RotaryCut_Out
API Controller
APF_RotaryCut_Out Rotary cut-out
222 10MC11T
Explanation of the instruction:
The instruction is used for disconnecting the already established rotary cut relation between the rotary axis
and feed axis. After the rotary cut relation is disconnected, the knife of the rotary axis will stop at the entry
point and will not follow the feed axis any more. The instruction has no impact on the motion of the feed axis.
2. When the rotary cut function is executed, the rotary cut axis can only execute APF_RotaryCut_Out and
MC_Stop instruction and other instructions are invalid.
Program Example
1)As M1 is on, the servo with the node address 2 turns "Servo On"; as M2 is on, the servo with the
node address 1 will turn "Servo On".
2)Set the rotary cut technology parameters of master axis and slave axis. Radius of rotary axis is 10,
knife quantity of rotary axis is 1, and cutting length of feed axis is 30.
The start position of synchronous area is 19, end position of synchronous area is 1, and the rotary
cut group number is 1. When M3 is on, rotary cut technology parameters will be initialized.
3)When M4 is on, the rotary cut relation starts being established. When M40 is on, it indicates the
relation between rotary axis and feed axis is made successfully. Servo 2 is feed axis (master axis)
and servo 1 is rotary axis (slave axis). The servo of node ID 15 is the rotary cut axis.
4)When M5 is on, feed axis starts to execute the velocity instruction. At this moment, rotary axis
executes the rotary cut action based on the phase of feed axis.
5)When M6 is on, rotary axis starts to break away from feed axis. When M60 is on, it symbolizes
rotary axis breaks away from feed axis successfully. After rotary axis breaks away from feed axis, it
will return to the entry point and feed axis motion will not impact rotary axis any more.
Shear Material
Lead screw
Feed roller
Motor box
Motor
Follower of
lead screw
After the cutting is completed, the shear will return to the motor box first and then slave axis will return to the
wait position. In continuous cutting, these actions will be executed in cycles.
The flying shear function is applied in cutting of the thick material usually.
Parameter in
Description Name in the instruction
figure
SlaveWaitPosition
MasterSyncPosition
MasterStartPosition
CutLength Master axis
Explanation of areas
Acceleration area: After the flying shear relation is established successfully and when master axis runs to
MasterStartPosition, slave axis starts to accelerate from static state and finally slave axis and master keeps
the synchronous speed. The process is named as the Acceleration area.
Sync area: In this area, slave axis and master axis run at the fixed speed ratio (1:1 usually). And the cutting of
material occurs in this area.
Return area: After the Sync area finishes, slave axis starts to decelerate and finally slave axis rotates
reversely to the SlaveWaitPosition and then stops. The process is named as the Return area.
Function feature
1. User could set up the cutting length freely according to the technological requirement
2. User could set up the position and length of the sync area freely according to the technological
requirement
3. In sync area, slave axis and master axis run at the fixed speed ratio (speeds are same usually). And the
cutting of material occurs in this area.
4. After the flying shear function is started up, slave axis runs following the phase of the master axis.
Therefore, master axis could move at a constant speed, acceleration, deceleration and irregular speed.
5. After flying shear function ends, slave axis will still return to the SlaveWaitPosition.
Shear axis
The function is to control the shear axis via the sync bit and so the shear axis could be the servo drive, AC
motor drive and etc. Severely speaking, the shear axis is excluded in the flying shear system and so user
could design it freely.
4.7.10.1. APF_FlyingShear_Init
API Controller
APF_ FlyingShear_Init Initialize flying shear
223 10MC11T
Explanation of the instruction:
The instruction is used for initializing the radius of master axis and slave axis, the cutting length, synchronous
area and etc if the flying shear relation has not been established. After execution of the instruction is
completed, the relevant parameters are loaded so as to be called while the flying shear relation is being
established. If the flying shear relation has been established, the instruction is used for modifying the flying
shear parameters. And the newly set parameters will be effective in the following cycle after the execution of
the instruction is finished.
4.7.10.2. APF_FlyingShear
API Controller
APF_FlyingShear Flying shear instruction
224 10MC11T
Explanation of the instruction:
The instruction is used for establishing the flying shear relation and specifying the axis number of the master
and slave axis according to the application requirement. When the instruction is being executed, its output
device can display the zone where the flying shear is. The instruction is also used for disconnection of the
flying shear relation.
Master
axis
Program Explanation
When Error is On, it indicates that an error occurs in the current instruction.
1) When M0 is on, the servos with the station no. of 2 and 3 are Servo ON.
When M1 is On, it indicates that the servo with the station no. of 3 is Servo ON successfully;
When M20 is On, it indicates that the servo with the station no. of 2 is Servo ON successfully.
2) When M2 is on, the relevant parameters of flying shear function is imported so that APF_FlyingShear
is called for use.
When M3 is On, it indicates that the relevant parameters of the flying shear function are imported
successfully.
3) M5 is set to the On state firstly; when M8 and M9 are both On, slave axis reaches the wait position
and the flying shear relation is established successfully.
After M8 and M9 are both on, M6 is set to the On state and then slave axis will conduct the shearing
following the master axis.
4) After M14 is on, master axis executes the velocity instruction MC_Move Velocity.
When M15 is on, master axis will make the constant motion and the system will conduct the shearing
continuously.
If M6 of APF_FlyingShear is reset, slave axis will break away from the flying shear relation and
will stop at the wait position after the shearing is finished.
N_G2 X_Y_Z_A_B_C_P_Q_I_J_T_E_E_F_
N_G3 X_Y_Z_A_B_C_P_Q_R_T_ E_ E_ F_
N_G36 M0 K1
G36 Set/Reset
N_G36 M0 K0
N_G37 M_ K1
G37 Status judgment
N_G37 M_ K0
Note:
The underline in the format box refers to the parameter value to be set. When inputting G codes in the CNC
program in the CANopen Builder software, N_ should be input to the left of G code; N_ means the row
number of G code in the NC program; only one G code can be input in one row. The input format of G code in
the CANopen Builder software: N0 G0 X100 Y100
G code Unit
The position unit of axis X_, Y_, Z_, A_, B_, C_, P_, Q_ in G code is consistent with that of axis
parameter. Please set the same physical unit for each axis. For example, the unit is set as mm. And thus
G0 X100.5 Y300 Z30.6 indicates that axis X, Y, Z move to the place of 100.5mm, 300mm, and
30.6mm respectively.
One or more items among X_, Y_, Z_, A_, B_, C_, P_, Q_ in G0 instruction can be omitted.
One or more items among X_, Y_, Z_, A_, B_, C_, P_, Q_, E_, E_, F_ in G1 instruction can be
omitted.
One or more items among X_, Y_, Z_, A_, B_, C_, P_, Q_, E_, E_, F_ in G2 and G3 instruction
can be omitted except I_, J_, K_, R_.
The parameters to the right of G4, G36, G37 instruction can not be omitted.
The G code identifier such as G0, G1, G2, G3, G4, G36, G37, G17, G18, G19, G90, G91
can be omitted. The omitted instruction identifier in the first row is G0 by default in the CNC
program. The G code identifier omitted in the middle row is the G code instruction in the last
row by default. When the G code instructions in the two continuous rows are different, the G
code identifiers can not be omitted. Take the following as example:
N00 G0 X100 Y200
N01 X200 Y200
The G code in the first row above is G0 instruction; there is no instruction identifier in the
second row and so the default identifier is G0 for the second row. But N01 K04 can not be
written in the second row. I.e. the parameter in G code in the second row should comply
with G0 format.
Only one G code can be written in the same row in CNC programming area in the CANopen
Builder software.
Defaults
Relative, absolute default: The default mode is absolute mode and could be set via G90/G91.
Plane default: The default plane is XY plane and could be switched via G17/G18/G19.
G0-related default: The velocity, acceleration, deceleration are the maximum velocity, maximum
acceleration, maximum deceleration respectively and can be modified via E, F parameter. E+ and E- in
G code can be input to set the different acceleration and deceleration.
Explanation: When the instruction is executed, the cutter moves at the acceleration of 20000
units/second2 for speeding up and at the deceleration of 90000 units/second2 for reducing the speed
6000 P2
3000 P1
X
O Position
3000 6000
3000
P1
X
O Position
3000 9000
10000
Position
O 10000 50000 X
After G codes are executed, the Position/Time curve for the whole movement process is
shown below:
Position Y
100000
X
50000
10000
t
10000
Position
O 10000 60000 X
After G codes are executed, the Position/Time curve for the whole movement process is
shown below:
Position Y
110000
X
60000
10000
t
Parameter explanation:
N_: The row number of G code in NC program
X_: Specify the terminal position of axis X, Unit: unit, data type: REAL.
Y_: Specify the terminal position of axis Y, Unit: unit, data type: REAL.
Z_: Specify the terminal position of axis Z, Unit: unit, data type: REAL.
A_: Specify the terminal position of axis A, Unit: unit, data type: REAL.
B_: Specify the terminal position of axis B, Unit: unit, data type: REAL.
C_: Specify the terminal position of axis C, Unit: unit, data type: REAL.
P_: Specify the terminal position of axis P, Unit: unit, data type: REAL.
Q_: Specify the terminal position of axis Q, Unit: unit, data type: REAL.
E_: Specify the acceleration and deceleration of the cutter. The positive number refers to the
2
acceleration; the negative number refers to the deceleration, unit: unit/second , data type: REAL. If
only the acceleration is specified, the deceleration is decided by the “maximum deceleration” in axis
X parameter; If only the deceleration is specified, the acceleration is decided by the “maximum
acceleration” in axis X parameter.
F: Specify the feed speed of the cutter, unit: unit/second, data type: REAL. When the cutter moves at a
constant speed, the combined speed of all axes in G code is equal to F value. The method of
calculation is shown below.
F= V12 + V2 2 + V32
When three axes exist, .
For more axes, F value could be calculated in the same way as above.
Instruction explanation:
G1 can control one or more axes and other axis can be omitted.
Both of E and F can be omitted. If there is only one row of code in the CNC programming area and
E, F are omitted, the velocity, acceleration, deceleration are decided by the parameters of X axis,
i.e. “maximum velocity”, “maximum acceleration”, “maximum deceleration” in the parameters of X
axis.
If there are multiple rows of codes and E and F in G1 code are omitted, the velocity, acceleration,
deceleration of the cutter are based on E and F in the previous rows of codes before the row where
G2 is. If the previous rows of G codes have not specified E and F, “maximum velocity”, “maximum
acceleration”, “maximum deceleration” in the parameters of X axis will be taken as reference.
Absolute mode decided by G90: The terminal position of G1 is based on 0 unit.
Relative mode decided by G91: The terminal position of G1 is an incremental value beginning from
the current position.
Absolute mode example:
The initial positions of axis X, Y, Z are all 20000 units and their axis parameters are all default
value. The G codes to be executed are:
N0 G90
N1 G1 X50000 Y60000 Z70000
After G codes are executed, the Y/X curve for the whole movement process is shown below:
70000
20000
20000 20000
60000
X 50000
Y
After G codes are executed, the Position/Time curves for the whole movement process are
shown below:
Position
Z
70000
Y
60000
X
50000
20000
t
O
Relative mode example:
The initial positions of axis X, Y, Z are all 20000 units and their axis parameters are all default
value. The G codes to be executed are:
N0 G91
N1 G1 X50000 Y60000 Z70000
After G codes are executed, the Y/X curve for the whole movement process is shown below:
Z
90000
20000
20000 20000
80000
X 70000
Y
After G codes are executed, the Position/Time curve for the whole movement process is
shown below:
Position
Z
90000
80000 Y
70000 X
20000
t
O
Format:
Format 1: N_G2 X_Y_Z_A_B_C_P_Q_I_J_(I_K_/J_K_)T_ E_E_F_
Format 2: N_G2 X_Y_Z_A_B_C_P_Q_R_T_ E_E_F_
Parameter explanation:
N_: The row number of G code in NC program
X_Y_Z_: Specify the terminal positions of axis X, Y and Z corresponding to the terminal point of circular
arc; Unit: unit, data type: REAL.
A_B_C_P_Q_: Specify the terminal position of each added axis, Unit: unit, data type: REAL.
I_J_: Specify the coordinate position of the center of a circle of XY plane, Unit: unit, data type: REAL.
I_K_: Specify the coordinate position of the center of a circle of XZ plane, Unit: unit, data type: REAL.
J_K_: Specify the coordinate position of the center of a circle of YZ plane, Unit: unit, data type: REAL.
T_: Specify the quantity of one full circle, Unit: circle, data type: UINT.
E_: Specify the acceleration and deceleration of the cutter. The positive number refers to the
2
acceleration; the negative number refers to the deceleration, Unit: unit/second , data type: REAL.
F: Specify the feed speed of the cutter, Unit: unit/second, data type: REAL.
Instruction explanation:
Two axes among axis X, Y and Z make the circular interpolation on the plane specified by
instruction G17/G18/G19. The 3rd axis specifies the plane to make the linear interpolation
vertically.
The added axis A, B, C, P and Q make the linear interpolation. The linear interpolation and circular
interpolation and start up or stop simultaneously.
Both of E and F can be omitted. If there is only one row of code in the CNC programming area and
E,F are omitted, the velocity, acceleration, deceleration are decided by the parameters of X axis, i.e.
“maximum velocity”, “maximum acceleration”, “maximum deceleration” in the parameters of X axis.
If there are multiple rows of codes and E and F in G2 code are omitted, the velocity, acceleration,
deceleration of the cutter are based on E and F in the previous rows of codes before the row where
G2 is. If the previous rows of G codes have not specified E and F, “maximum velocity”, “maximum
acceleration”, “maximum deceleration” in the parameters of X axis will be taken as reference.
In absolute mode for G90, the terminal point of circular arc is the absolute coordinate value
regarding 0 unit in their own directions as reference. In relative mode for G91, the terminal point of
circular arc is the incremental value of the start point of circular arc.
No matter whether in the absolute mode or in relative mode, the coordinates of the center of a
circle I_J_(I_K_/J_K_) are always the relative coordinates with the start point as reference
T is the quantity of the full circle; the path is the length of arc when T=0; the path is the
corresponding full circles plus the arc length when T is a constant.
The difference between Format 2 and format 1 is that format 2 decides a segment of circular arc via
the start point, terminal point and radius. If the input value to the right of R parameter is positive
number (R+), the circular arc is the minor arc less than 180 degrees; if the input value to the right of
R parameter is negative number (R-), the circular arc is the major arc more than 180 degrees.
The following full lines are the motion path when G2 selects R+ and R- and the arrows on the arc
refer to the motion direction.
Terminal point
R-
R+
Start point
Clockwise motion
The coordinate relations on different planes:
Y Z Z
Start point Start point Start point
I I J
R R R
Center of a circle Center of a circle Center of a circle
O X O X O Y
Please note the relations between the coordinate planes and I, J, K. Only two of I, J and K exist in
one circular arc instruction. Which two exist depends on the corresponding plane, e.g. on XY plane,
only I and J show.
The coordinate plane can be set by G17, G18 and G19. The circular and helical motion paths for
G2 on different coordinate planes are shown as below.
G
Function Path figure
code
Z
Terminal point(X,Y,Z)
XY plane: When
there is no
variation for the
start point and
terminal point
corresponding to
G17 Z axis
coordinates, the Y
motion is circular Terminal point
interpolation.
Radius R
Otherwise, it is Radius R
helical Center of a circle(I,J)
Center of a circle(I,J)
interpolation.
Z=0
Start point Start point
Helical interpolation Circular interpolation
Z
Helical interpolation
XZ plane:
When there is no
sR
Start point
G18 Y axis Y
us
di
coordinates, the
Ra
Z Helical interpolation
YZ plane:
When there is no
variation for the
start point and Circular interpolation
Start point
terminal point Terminal point Center (J,K) Terminal
corresponding to (X,Y,Z) point (Y,Z)
Rad
X axis
G19 Center (J,K) Start point
coordinates, the
iu s
Ra
motion is circular
R
d iu
interpolation.
sR
Otherwise, it is X=0
helical
interpolation. X
Y
Example 1
Specify the center of a circle and circular interpolation in absolute mode
Current position (1000, 3000), axis parameters: default values, the G codes to be executed:
N0 G90
N1 G17
N2 G2 X4000 Y2000 I1000 J-2000 E5000 F5000
After G codes are executed, the Y/X curve for the whole movement process is shown below:
Y Start point
3000
Terminal
point
J=-2000
2000
Center of a
circle
1000
I=1000
X
(0,0) 1000 2000 4000
Example 2
Current position (1000, 3000), axis parameters: default values, the G codes to be executed:
N0 G91
N1 G17
N2 G2 X3000 Y-1000 I1000 J-2000
After G codes are executed, the Y/X curve for the whole movement process is shown below:
Y
Start point
3000
Terminal
point -1000
2000 J = -2000
Center of
a circle
1000
I = 1000
3000
X
(0, 0) 1000 2000 4000
Example 3
Specify the center of a circle and circular interpolation with T in relative mode
Current position (2000, 0), axis parameters: default values, the G codes to be executed:
N0 G91
N1 G17
N2 G2 X-2000 Y2000 I0 J2000 T3
After G codes are executed, the path of the circular arc is 3 circles plus thick 1/4 of a circle and the Y/X
curve for the whole movement process is shown below:
Y
4000
2000
Terminal point Center of a circle
X
(0, 0) 2000 4000
Start point
Example 4
Current position (0, 0), axis parameters: default values, the G codes to be executed:
N0 G17
N1 G91
N2 G2 X200 Y200 Z200 I100 J100 E+10000 E-20000 F1000
Instruction explanation:
While G2 is being executed, the axis regards 0 as the start point and axis parameters as the terminal
points; produces the circular arc in clockwise direction; finally the motion path is helical curve. The
projection on XY plane is an half of the circle with the center of a circle (100,100).
Example 5
Omission format
(200,200,200)
(200,200)
(150,150)
(100,100,100) (100,100)
X
0
Y
X
Instruction explanation:
The axis position is (100, 100,100) after execution of N01 row of instruction is finished;
In N02 row of instruction, there are only I and J parameters and other omitted parameter values are
based on the last instruction, i.e. N02 instruction: N02 X100 Y100 Z100 I100 J100; the start point and
terminal point are (100, 100, 100) and so the motion path is a full circle.
N03 row of instruction is G91 and the following rows of codes after G91 are in relative mode.
N04 row of instruction is equivalently N04 G2 X100 Y100 Z100 I50 J50. The terminal coordinates are
(200, 200, 200) due to the relative mode and the coordinates of the center of a circle for the projection
on XY plane are (150,150)
Example 6
200
(200,200)
0
X
Example 7
The helical interpolation with T and the center of a circle specified by XY plane (Current position: 0)
Format:
Format1: N_G3 X_Y_Z_A_B_C_P_Q_I_J_(I_K_/J_K_)T_ E_E_F_
Format2: N_G3 X_Y_Z_A_B_C_P_Q_R_T_ E_E_F_
Parameter explanation:
N_: The row number of G code in NC program
X_Y_Z_: Specify the terminal positions of axis X, Y and Z corresponding to the terminal point of circular
arc; Unit: unit, data type: REAL.
A_B_C_P_Q_: Specify the terminal positions of added axes, Unit: unit, data type: REAL.
I_J_: Specify the coordinate position of the center of a circle of XY plane, Unit: unit, data type: REAL.
I_K_: Specify the coordinate position of the center of a circle of XZ plane, Unit: unit, data type: REAL.
J_K_: Specify the coordinate position of the center of a circle of YZ plane, Unit: unit, data type: REAL.
T_: Specify the quantity of one full circle, Unit: circle, data type: UINT.
E_: Specify the acceleration and deceleration of the cutter. The positive number refers to the
2
acceleration; the negative number refers to the deceleration, Unit: unit/second , data type: REAL.
F: Specify the feed speed of the cutter, Unit: unit/second, data type: REAL.
Instruction explanation:
Two axes among axis X, Y and Z make the circular interpolation on the plane specified by
G17/G18/G19. The 3rd axis specifies the plane to make the linear interpolation vertically.
The added axis A, B, C, P and Q make the linear interpolation. The linear interpolation and circular
interpolation and start up or stop simultaneously.
Both of E and F can be omitted. If there is only one row of code in the CNC programming area and
E, F are omitted, the velocity, acceleration, deceleration are decided by the parameters of X axis,
i.e. “maximum velocity”, “maximum acceleration”, “maximum deceleration” in the parameters of X
axis.
If there are multiple rows of codes and E and F in G2 code are omitted, the velocity, acceleration,
deceleration of the cutter are based on E and F in the previous rows of codes before the row where
G2 is. If the previous rows of G codes have not specified E and F, “maximum velocity”, “maximum
acceleration”, “maximum deceleration” in the parameters of X axis will be taken as reference.
In absolute mode for G90, the terminal point of circular arc is the absolute coordinate value
regarding 0 unit in their own directions as reference. In relative mode for G91, the terminal point of
circular arc is the incremental value of the start point of circular arc.
No matter whether in the absolute mode or in relative mode, the coordinates of the center of a
circle I_J_(I_K_/J_K_) are always the relative coordinates with the start point as reference
T is the quantity of one full circle; the path is the length of the arc when T=0; the path is the
corresponding full circles plus the arc length when T is a constant.
The difference between Format 2 and format 1 is that format 2 determines a segment of the circular
arc via the start point, terminal point and radius. If the input value to the right of R parameter is
positive number (R+), the circular arc is the minor arc less than 180 degrees; if the input value to
the right of R parameter is negative number (R-), the circular arc is the major arc more than 180
degrees.
The following full lines are the motion path when G3 selects R+ and R- and the arrows on the arc
refer to the motion direction.
R R R
Ce nter of
Ce nter of
Ce nter of
J K K
a c ir cl e
a c ir cl e
a c ir cl e
I l J
O X O X O Y
G
Function Path figure
code
XY plane: When
there is some Z Terminal point(X,Y,Z)
variation for the
start point and
terminal point
corresponding to
Z axis
coordinates, the
motion is helical
G17 interpolation. Y
Otherwise, it is Terminal point(X,Y)
circular
interpolation on Center (I,J) Center (I,J)
s R R
XY plane. di u us
Ra di
Ra
XZ plane:
When there is Z
variation for the Helical interpolation
start point and
terminal point Terminal point(X,Y,Z)
corresponding to
Y axis ius R
Circular interpolation Ra d
coordinates, the
motion is helical Center (I,K)
nt
Terminal
poi
interpolation. point(X,Z)
G18
Otherwise, it is
rt
)
Y=0 I, K
Sta
circular nt er ( Y
Ce
Ra
interpolation on
di u
XZ plane.
sR
Start point
X
YZ plane:
Z
When there is
Helical interpolation
variation for the
start point and Circular interpolation
terminal point
Ra
corresponding to
di
us
Ra
X axis
R
di
coordinates, the
us
Start
Center(J,K)
R
Example 1
Specify the center of a circle and circular interpolation in absolute mode
Current position (4000, 2000), axis parameters: default values, the G codes to be executed:
N0 G90
N1 G17
N2 G3 X1000 Y3000 I-2000 J-1000
After G codes are executed, the Y/X curve for the whole movement process is shown below:
Y Terminal
point
3000
Start
point
2000
J=-1000
1000
Center of
a circle I=-2000
X
(0,0) 1000 2000 4000
Example 2
Specify the center of a circle and circular interpolation in relative mode
Current position (4000, 2000), axis parameters: default values, the G codes to be executed:
N0 G91
N1 G17
N2 G3 X-3000 Y1000 I-2000 J-1000
After G codes are executed, the Y/X curve for the whole movement process is shown below:
3000
Terminal
point
1000
Start
point
2000
J=-1000
1000
Center of a I=-2000
circle
-3000
X
(0,0) 1000 2000 4000
Example 3
Specify the center of a circle and circular interpolation with T in relative mode
Current position (2000, 0), axis parameters: default values, the G codes to be executed:
N0 G91
N1 G17
N2 G3 X-2000 Y2000 I0 J2000 T3
After G codes are executed, the motion path is the arc on XY plane and the arc length is (3+3/4)times
the circumference of a circle.
Example 4
The helical interpolation with the center of a circle specified by XY plane
Current position (0, 0), axis parameters: default values, the G codes to be executed:
N0 G17
N1 G3 X100 Y100 Z100 I50 J50 T2
Instruction explanation:
Since the variation of Z axis is 100, the motion path is helical curve and the projection on XY plane is a
full circle.
If there is no variation for Z axis, the motion path is the circular arc on XY plane with the center (50,50)
and the arc length of 2.5 times the circumference of a full circle.
Example 5
The helical interpolation with the specified radius
The G codes to be executed:
N0 G0 X0 Y0 Z0
N1 G3 X200 Y200 Z200 R-200 T2
N2 G0 X0 Y0 Z0
N3 G3 X200 Y200 Z200 R200
Instruction explanation:
In this example, T is set in G2 code in N1 row and so the motion path for N1 row of the instruction is
the helical curve as the right thick curve in the figure above. Return to the origin after G0 in N2 row is
executed and then execute the N3 row of instruction. Since the T parameter is omitted in this row, the
T in last row is taken as reference. And the motion path is also the helical curve.
20000
10000
10 sec
After execution of the instruction of number N00 is finished, the program will be delayed for 10 seconds
and afterwards, the instruction of number N02 will continue to be executed.
4.8.3.9 G36: Set/Reset Instruction
Function: The instruction is used to make M device set or reset.
Format: N_G36 M_ K1 or N_G36 M_ K0
Parameter explanation:
N_: The row number of G code in NC program
M_ K1: Make the specified M device set
M_ K0: Make the specified M device reset
Instruction example 1
G36 M0 K1
Set the bit device M0 to ON
Instruction example 2
G36 M100 K0
Set the bit device M100 to OFF.
4.8.3.10 G37: Status Judgment Instruction
Function: The instruction is used to judge the state of M device. When the state is same as the setting,
the following G codes will be executed. Otherwise, the waiting state will last.
Format: N_G37 M_ K1 或 N_G37 M_ K0
Parameter explanation:
N_: The row number of G code in NC program
M_ K1: If the specified M device is ON, execute the next CNC code; if the specified M device is OFF,
keep waiting here.
M_ K0: If the specified M device is OFF, execute the next CNC code; if the specified M device is ON,
keep waiting here.
Instruction example
N00 G0 X0 Y0
N01 G37 M0 K1
N02 G1 X10000 Y34598
When the program is executed till N01, the system will judge the state of M0 device. If M0 is ON,
continue to execute the instruction of number N02; if M0 is OFF, the system will keep waiting.
4.8.4. DMC_NC
API Controller
DMC_NC CNC instruction
260 10MC11T
Instruction explanation:
The instruction is used for calling and executing NC program which can be input, edited and previewed in the
CANopen Builder software. It supports both static and dynamic download. The NC program downloaded
statically will be stored in DVP10MC11T and will not be lost when the power is off. The NC program
downloaded dynamically is executed while being downloaded and the program after being executed will be
dumped. The function is applied for processing the complicate workpiece. When the axes related to the
instruction are all in Standstill state, the instruction just can be executed. When the execution of the
instruction has not been finished, the axes are in CNC state and at the moment, they can not execute other
motion instruction unless the execution of the instruction is finished (Execution of the G codes in the specified
NC program is finished or is stopped). For the details on the axis state, please refer to section 4.2.
Note:
1. Multiple DMC_NC instructions can be executed simultaneously and the called NcTableIDs can be
same or not. But make sure that the axis numbers of DMC_NC instruction being executed must be
different from each other.
2. AxisNum:
AxisNum gets effective according to the pins of Axis_X/Y/Z/A/B/C/P/Q from top to bottom. The node
address of the middle axis can not be omitted and repeated. If AxisNum is set to 5, set the
corresponding axis node addresses for Axis_X/Y/Z/A/B among the axis parameters. They could be
virtual axes. Axis_C/P/Q can be omitted. Only the valid axis exists in the G code in NC program.
3. Pause:
If CNC codes (G0/G1/G2/G3) in NC program are being executed, set “Pause” to ON and the
execution of the corresponding G0/G1/G2/G3 will be stopped temporarily at the deceleration in G
code. If “Pause” is on when G90/G91/G4/G36/G37/G17/G18/G19 is being executed, the next CNC
code will not be executed.
When “Pause” is off, the execution of the CNC codes, which have not been finished will continue.
The state value of axes will be unchanged after and before the pause function is executed.
4. Stop:
If the CNC codes (G0/G1/G2/G3) in NC program are being executed and then “Stop” is set to ON,
the execution of the corresponding G0/G1/G2/G3 will be stopped at the deceleration in the CNC
codes. When G90/G91/G4/G36/G37/G17/G18/G19 is being executed, the next CNC code will not be
executed.
Before NC program is executed again, reset “Stop” and then execute DMC_NC instruction again.
Please note that the current position of an axis must be consistent with the coordinate position of the
G code to be executed when NC program is executed again. If the instruction to be executed in CNC
codes is the circular instruction, consider if the current point, the terminal point of the arc, center of a
circle or radius can make up a circular arc in case of any abnormality.
5. Manual function:
After “Manualmode” is started up, the running speed of CNC code in NC program comes from the
parameter setting of manual velocity. When “ManualMode” is off, the execution of the CNC code,
which has not been completed can continue. The source of manual speed can be a constant or
some register.
Program example 1
The example focuses on the usage of calling G codes statically and dynamically. For relative
information, please refer to section 2.3.3 on CNC function.
Program:
Steps:
When M20 and M21 turn off-> on, axis 1, axis 2 and axis 3 are enabled. After correct execution
is finished, M100, M102 and M104 are on.
When D10 is set to 0 and then M0 set to ON, the G codes will be executed dynamically by
clicking the “Dynamic download” icon in the CANopen Builder software as below to download
G codes which are executed while being downloaded.
If D10 is set to 1 and then set M0 to ON, G codes will be executed statically and the CNC program
with ID 1 will be called directly and the G codes are executed from top to bottom one by one.
Program example 2
The program mainly demonstrates the function of manual mode and consists of one virtual master
axis via ExternalMaster instruction. The source of the virtual master axis is the external encoder and
the execution of G codes in NC instruction is controlled through the variation on the encoder interface.
Program:
Steps:
When M1 and M0 turn off-> on, axis 1, axis 2 and axis 3 are enabled. After correct execution is
finished, M100, M102 and M104 are on.
When M2 turns off-> on, build a virtual master axis with the number: 4.
When M3 turns off-> on, the G codes in NC program with the number: 1 starts to be executed.
When M5 is on, start the manual function and the G codes which have not finished executed
yet in NC program will be executed with the D0 value as the speed command.
As D25366 value is the given speed of axis 4, the operation speed of G codes can be controlled
through the rotation speed of the external encoder.
The data type of D25366 is DINT and so the logic instruction DINT_To_Real is used for
conversion and the result is stored in D0.
Note: Currently, DMC_NC only supports the forward rotation of the encoder.
Instruction explanation:
The instruction is used to build the coordinate motion group through its parameter GroupID. The coordinate
motion instructions with the same GroupID can be executed after the coordinate motion group is built and the
coordinate motion instruction being executed can be paused or stopped through parameter “Pause” and
“Stop”.
After parameter “ManualMode” is started up, the “Velocity” values of the coordinate motion instructions with
same GroupID are invalid and the “ManualVelocity” value will be taken as the speed of coordinate motion
instructions.
Note:
1. AxisNum
AxisNum value gets effective according to the pins of Axis_X/Y/Z/A/B/C/P/Q from top to bottom. The
node address of the middle axis can not be omitted and repeated. If AxisNum is set to 5, set the
corresponding axis node addresses for Axis_X/Y/Z/A/B among the axis parameters. They could be
virtual axes.
2. Pause
If the coordinate motion instruction is being executed, set “Pause” to ON and the execution of the
corresponding coordinate motion instruction will be stopped temporarily at the deceleration specified
in the coordinate motion instruction.
When “Pause” is off, the execution of the coordinate motion instruction, which have not been finished
will continue. The axis state value will keep unchanged after and before the pause function is
executed.
3. Stop
If the coordinate motion instruction is being executed, set “Stop” to ON and the execution of the
corresponding coordinate motion instruction will be stopped at the deceleration in the coordinate
motion instruction and the state of each axis is Standstill.
If the coordinate motion instruction is executed again, reset “Stop” and then execute DNC_Group
instruction again. Please note that the current position of each axis must be consistent with the
terminal position of the coordinate motion instruction to be executed when coordinate motion
instruction is executed again. If the instruction to be executed is the circular instruction, consider if the
current point, the terminal point of arc, center of a circle or radius can make up a circular arc in case of
any abnormality.
4. ManualMode
After “Manualmode” is started up, the running speed of the corresponding coordinate motion
instruction comes from the parameter setting of manual velocity. When “ManualMode” is off, the
execution of the G code, which has not been completed can continue at the speed and acceleration
set in the original instruction. The source of manual speed can be a constant or some register.
API Controller
DNC_Absolute(G90) In absolute mode
262 10MC11T
DNC_Relative(G91) In relative mode
Instruction explanation:
The two instructions are used to specify the mode for dealing with the terminal position of each axis such as
absolute mode or relative mode. After the instruction “DNC_Group” with same GroupID is executed, the two
instructions just can be executed.
After DNC_Absolute (G90) is executed, the terminal position of each axis in the coordinate motion instruction
which is executed later is based on 0 unit and DNC_Relative (G91) can be used to switch to the relative
mode. It is absolute mode for the program by default.
After DNC_ Relative (G91) is executed, the terminal position of each axis in the coordinate motion instruction
which is executed later is calculated with the incremental value beginning from current position and
DNC_Absolute (G90) is used to switch to the absolute mode.
API Controller
DNC_MOV(G0) Rapid positioning instruction
263 10MC11T
Instruction explanation:
The instruction is used to do the rapid positioning of the servo axis in the specified group and control each
axis to move from current position to the terminal position at the specified speed. In motion, each axis is
independent with each other. The instruction is similar to G0 in function.
Note:
1. The function of the instruction is same as that of G0 in G codes and the input parameters X_Pos~
Q_Pos in the instruction and the parameters of X_, Y_, Z_, A_, B_, C_, P_, Q_ in G0 have same
explanation. For more details on G0, please refer to section 4.8.3.3.
2. The state of the axis related to the instruction is Standstill. After “DNC_Group” is executed, the
instruction just can be executed and its GroupID must be same as that of DNC_Group.
3. The instruction can be switched to absolute mode via DNC_Absolute (90). In absolute mode, the
system will regard the position of each axis as absolute value for operation.
4. The instruction can be switched to relative mode via DNC_Relative (91). In relative mode, the system
will regard the position of each axis as incremental value beginning from current position for operation.
5. It is absolute mode for the instruction by default. Therefore, it is absolute mode for DNC_MOV (G0) if
DNC_Absolute (90) and DNC_Relative (91) have not been executed.
Note:
1. The function of the instruction is same as that of G1 in G codes and the input parameters
X_Pos~Deceleration in the instruction and the parameters of X_, Y_, Z_, A_, B_, C_, P_,
Q_,F_,E_,E_ in G1 have same explanation. For more details on G1, please refer to section 4.8.3.4.
2. The state of axes related to the instruction is Standstill. After “DNC_Group” is executed, the
instruction just can be executed and its GroupID must be same as that of DNC_Group.
3. The instruction can be switched to absolute mode via DNC_Absolute (90). In absolute mode, the
system will regard the position of each axis as absolute value for operation.
4. The instruction can be switched to relative mode via DNC_Relative (91). In relative mode, the
system will regard the position of each axis as incremental value beginning from current position for
operation.
5. It is absolute mode for the instruction by default. Therefore, it is absolute mode for DNC_LIN(G1) if
DNC_Absolute (90) and DNC_Relative (91) have not been executed.
Note:
1. The function of the instruction DNC_CW(IJK) (G2) and DNC_CCW(IJK) (G3) is same as that of G2
and G3 in G codes and the input parameters X_Pos~Deceleration in the instruction and the
parameters of X_, Y_, Z_, A_, B_, C_, P_, Q_, I_, J_, K_,T_, F_,E_,E_ in G2 and G3 have same
explanation. For more details on G2 and G3, please refer to section 4.8.3.5.
2. The state of axes related to the instruction is Standstill. After “DNC_Group” is executed, the
instruction just can be executed and its GroupID must be same as that of DNC_Group.
3. The instruction can be switched to absolute mode via DNC_Absolute (90). In absolute mode, the
terminal position of each axis is based on 0 unit.
4. The instruction can be switched to relative mode via DNC_Relative (91). In relative mode, the
terminal position of each axis is calculated as incremental value beginning from current position.
5. No matter whether in absolute mode or relative mode, the coordinates of the center of a circle
I_Value, J_Value, K_Value are always the relative coordinates with the start point as reference.
6. It is absolute mode for the instruction by default. Therefore, it is absolute mode for DNC_CW (IJK)
(G2) and DNC_CCW(IJK) (G3) if DNC_Absolute (90) and DNC_Relative (91) have not been
executed.
Instruction explanation:
The two instructions are used for circular/helical interpolation. DNC_CW(R) (G2) is for clockwise motion and
DNC_CCW(R) (G3) is for anticlockwise motion.
Circular interpolation: The cutter performs the arc cutting of the processed workpieces at the feed speed
specified by parameter Velocity on the circular arc with the fixed radius on the specified plane
Helical interpolation: The cutter moves on the circular arc on the specified plane, which is circular
interpolation, meanwhile, makes the linear interpolation vertically on the specified plane at the feed speed
specified by parameter Velocity.
Note:
1. The function of the instruction DNC_CW(R) (G2) and DNC_CCW(R) (G3) is same as that of G2 and
G3 in G codes and the input parameters X_Pos~Deceleration in the instruction and the parameters
of X_, Y_, Z_, A_, B_, C_, P_, Q_, R_,T_, F_,E_,E_ in G2 and G3 have same explanation. For more
details on G2 and G3, please refer to section 4.8.3.5.
2. The state of axes related to the instruction is Standstill. After “DNC_Group” is executed, the
instruction just can be executed and its GroupID must be same as that of DNC_Group.
3. The instruction can be switched to absolute mode via DNC_Absolute (90). In absolute mode, the
terminal position of each axis is based on 0 unit.
4. The instruction can be switched to relative mode via DNC_Relative (91). In relative mode, the
terminal position of each axis is calculated as incremental value beginning from current position.
5. It is absolute mode for the instruction by default. Therefore, it is absolute mode for DNC_CW (R) (G2)
and DNC_CCW(R) (G3) if DNC_Absolute (90) and DNC_Relative (91) have not been executed.
Instruction explanation:
The three instructions are used for determining the circular/ helical interpolation plane selection and the three
work planes can be switched with each other while the program is being executed. If there is no plane
selection in the program, the initial plane of system is XY plane by default.
Note:
1 The function of DNC_XY (G17), DNC_XY (G18) and DNC_XY (G19) is the same as that of G17,
G18 and G19 in G codes.
2 After “DNC_Group” is executed, the instruction just can be executed and its GroupID must be same
as that of DNC_Group.
Program explanation:
1. After the connection between DVP10MC11T and servo axis is made successfully, M7 and
M9 are on. After M7 is on, the servo axis of number 1 Servo On; after M9 is on, the servo
axis of number 2 Servo On.
2. After M0 is on, DNC_Group instruction starts to construct the coordinate system.
After M12 is on, each servo axis is switched to the absolute positioning mode. When M2 is
on, each axis enters the absolute mode.
4. After M4 is on, DNC_MOV (G0) starts to be executed. When M5 is on, the execution of
DNC_MOV (G0) is finished.
After the program is executed, the Y/X curve of the whole process is as below.
Y
Position
100000
10000
Position
O X
10000 50000
After the program is executed, the Position/time curve of the whole process is as below.
Position Y
100000
X
50000
10000
t
O
Program explanation:
1. After the connection between DVP10MC11T and servo axis is made successfully, M7 and
M9 are on. After M7 is on, the servo axis of number 1 Servo On; after M9 is on, the servo
axis of number 2 Servo On.
2. When M0 is on, DNC_Group starts to construct the coordinate system.
3. After M12 is on, each servo axis is switched to the relative positioning mode. When M2 is
on, each axis enters the relative positioning mode.
4. After M4 is on, DNC_MOV (G0) starts to be executed. When M5 is on, the execution of
DNC_MOV (G0) is finished.
After the program is executed, the Y/X curve of the whole process is as below.
Y
Position
110000
10000
Position
O 10000 60000 X
After the program is executed, the Position/time curve of the whole process is as below.
Position Y
110000
X
60000
10000
t
O
Program explanation:
After the connection between DVP10MC11T and servo axis is made successfully, M7 and
M9 are on. After M7 is on, the servo axis of number 1 Servo On; after M9 is on, the servo
axis of number 2 Servo On.
After M0 is on, DNC_Group instruction starts to construct the coordinate system.
After M12 is on, each servo axis is switched to the absolute positioning mode. When M2 is
on, each axis enters the absolute positioning mode.
After M4 is on, DNC_ LIN (G1) starts to be executed. When M5 is on, the execution of
DNC_LIN (G1) is finished.
After the program is executed, the Y/X curve of the whole process is as below.
Z
70000
20000
20000 20000
60000
X 50000
Y
After the program is executed, the Position /time curve of the whole process is as below.
Position
70000 Z
60000 Y
50000 X
20000
t
O
Program explanation:
1. After the connection between DVP10MC11T and servo axis is made successfully, M7 and
M9 are on. After M7 is on, the servo axis of number 1 Servo On; after M9 is on, the servo
axis of number 2 Servo On.
2. When M0 is on, DNC_Group starts to construct the coordinate system.
3. After M12 is on, each servo axis is switched to the relative positioning mode. When M2 is
on, each axis enters the relative positioning mode.
4. After M4 is on, DNC_ LIN (G1) starts to be executed. When M5 is on, the execution of
DNC_LIN (G1) is finished.
After the program is executed, the Y/X curve of the whole process is as below.
90000
20000
20000 20000
80000
X 70000
Y
After the program is executed, the Position /time curve of the whole process is as below.
Position
Z
90000
Y
80000
X
70000
20000
t
O
5. Troubleshooting
5.1. LED Indicator Explanation
POWER LED
POWER LED indicates if the power supply of DVP10MC11T is normal.
LED state Explanation How to deal with
RUN LED
RUN LED indicates the state of PLC module.
ERR LED
ERR LED indicates the state of execution of PLC module program or the state of power supply of
DVP10MC11T.
LED state Explanation How to deal with
Red LED blinking DVP10MC11T power supply is Check if the power supply for DVP10MC11T is
quickly insufficient. normal.
OFF
OFF
100ms
CAN LED
CAN LED indicates the state of MC module in CANopen network.
LED state Explanation How to deal with
Green light CANopen network is in stop PC is downloading the program and waiting that
single flash state. download is finished.
1. Check if CANopen network connection is correct.
2. Check if the configured slave in the network exists.
Green light CANopen network is in
3. The baud rates of DVP10MC11T and slaves are
blinking preoperational state
same.
4. Check if some slave is offline.
CANopen network is in Run --
Green light on
state.
1. Check if it is standard cable for CANopen bus
connection.
Red light single Bus error exceeds the alarm 2. Check if the terminal resistors have been
flash level connected to the two ends of CANopen bus.
3. Check if the interference around CANopen bus
cable is too strong.
MTL
MTL LED indicates if MC module state is normal.
No data has been configured in Via CANopen Builder software, configure and
Light off
MC module. program the controller and then re-download.
Green light The communication with the axis Check if the communication with each axis is
flash configured is not ready. normal.
Ethernet LED
DVP10MC11T has two Ethernet LED indicators like orange light and green light. Green light indicates the
Ethernet communication state and orange light indicates Ethernet baud rate.
LED State Indication
Light on Ethernet baud rate:100Mbps
Orange light
Light off Ethernet baud rate is 10Mbps or 10MC has not been put in Ethernet.
Light flash The Ethernet communication port for 10MC is receiving and sending data.
Green light
The Ethernet communication port for 10MC is not receiving and sending
Light off
data.
COM 1 LED
COM1 LED is an indicator of RS-232 communication port of PLC module. It indicates the communication
state of RS-232 communication port of PLC module.
LED state Indication
Yellow light flash There is response data at RS-232 (COM1) port.
Light off There is no response data at RS-232 (COM1) port .
COM 2 LED
COM2 LED is the indicatior of RS-485 shared by motion control module and PLC module to indicate the
state of RS-485 communication port.
RUN LED state Indication
Yellow light flash There is response data at RS-485 (COM2) port.
1. COM1 communication format is set by D1036 and the meaning for each bit of D1036 can be seen in table
1. its communication node adress is determined by D1121. If the value of D1121 is 1, it indicates that the
communication node address of PLC module is 1. The default communication format for COM1: Baud
rate=9600bps, Data bits=7, Parity=E, Stop bits=1, Mode=ASCII, Address=1
Note:
After COM1 communication format is modified, if RUN/STOP switch of DVP10MC11T turns
RUN→STOP, the communication format keeps unchanged.
After COM1 communication format is modified, DVP10MC11T power is switched on from off, COM1
will be restored to the communication format of factory setting
2. When COM2 is possessed by PLC, its format is set by D1120 and the meaning of each bit of D1120 can
be seen in table 1. its communication node adress is set by D1121. If the value of D1121 is 1, it indicates
that the communication node address of PLC module is 1. The default communication format for COM2:
Baud rate=9600bps, Data bits=7, Parity=E, Stop bits=1, Mode=ASCII, Address=1
Note:
When COM2 serves as Slave communication port, no communication instrument is allowed to exist
in the program.
After COM2 communication format is modified, if RUN/STOP switch of DVP10MC11T turns
RUN→STOP, the communication format keeps unchanged.
After COM2 communication format is modified, DVP10MC11T power is switched on from off, COM2
will be restored to the communication format of factory setting.
3. When COM2 is possessed by motion control module, its format is set by D6516 of motion control module
and the meaning of each bit of D6516 can be seen in table 2. If the value of D6516 is revised, the
communication format will be changed immediately. The default communication format for COM2: Baud
rate=9600bps, Data bits=7, Parity=E, Stop bits=1, Mode=ASCII, Address=2.
Note:
After COM2 communication format is modified, RUN/STOP switch of DVP10MC11T turns
RUN→STOP, the communication format keeps unchanged.
After COM2 communication format is modified, DVP10MC11T power is switched on from off, the
communication format keeps unchanged.
Table 1
D1036 or
Explanation Communication format setting
D1120 bit no.
b0 Data length b0=0: 7 b0=1: 8
b2, b1=00 : None
b2, b1 Parity bit b2, b1=01 : Odd
b2, b1=11 : Even
b3 Stop bit b3=0:1 bit b3=1:2 bit
b7~b4=0001(H1) : 110bps
b7~b4=0010(H2) : 150bps
b7~b4=0011(H3) : 300bps
b7~b4=0100(H4) : 600bps
b7~b4=0101(H5) : 1200bps
b7~b4=0110(H6) : 2400bps
b7~b4 Baud rate
b7~b4=0111(H7) : 4800bps
b7~b4=1000(H8) : 9600bps
b7~b4=1001(H9) : 19200bps
b7~b4=1010(HA) : 38400bps
b7~b4=1011(HB) : 57600bps
b7~b4=1100(HC) : 115200bps
Selection of the start
b8 b8=0: none b8=1: D1124
character
Selection of the first
b9 b9=0: none b9=1: D1125
end character
Selection of the
b10 second end b10=0: none b10=1: D1126
character
b15~b11 Undefined
Special M
Function Remark
no.
Selection of M1139=On, communication mode is RTU
M1139
ASCII/RTU mode M1139=Off, communication mode is RTU
Communication When M1138=On, Change the value of D1036, but the
M1138
format is retained communication format of COM1 is unchanged.
Explanation of relevant special M when COM2 port is possessed by motion control module:
Special M
Function Remark
no.
Selection of M1143=On, communication mode is RTU.
M1143
ASCII/RTU mode M1143=Off, communication mode is ASCII.
Communication When M1120=On, Change the value of D1120, but the
M1120
format is retained communication format of COM2 is unchanged.
Table 2
D6516 bit
Explanation D6516 Communication format setting
no.
b3~b0=0000(H0) Data bits =7, Parity =E, Stop bits =1
To revise COM1 communication format, add the following program codes to the WPLSoft software. When
DVP10MC11T turns from STOP to RUN, PLC would detect if M1138 is on in the first scan cycle. If M1138
is on, the setting of COM1 will be revised according to D1036 value. In the following graph, COM1
communication format is revised into ASCII mode, 115200bps(Baud rate), 7(Data bits), E(Parity),
1 (Stop bits).
Example 2: the method of revising COM2 communication format (COM2 is possessed by PLC).
To revise COM2 communication format, add following program codes to WPLSoft software. When
DVP10MC11T turns from STOP to RUN, PLC would detect if M1120 is on in the first scan cycle. If M1120
is on, the setting of COM2 will be revised according to D1120 value. In the following graph, COM2
communication format is revised into ASCII mode, 57600bps(Baud rate), 7(Data bits), E(Parity), 1
(Stop bits).
Example 3: the method of revising COM2 communication format (COM2 is possessed by motion control
module).
To revise COM2 communication format, add the following program codes to CANopen Builder software.
As below figure shows, a rising edge occurs in the program and K512 (H200) is sent to D6516. Meanwhile,
COM2 communication format is revised into ASCII mode, 9600bps(Baud rate), 7(Data bits), E(Parity),
1 (Stop bits).
Note: For Modbus communication of DVP10MC11T PLC, please refer to < DVP-ES2/EX2/SS2/SA2/SX2
operating manual【Program】>.
4 4
3
2 2
5 5 6
2 2
2
Device no. 1 2 3 4 5 6
RS-485 Wiring:
1 D+ D- SG 2 D+ D- SG SG D+ D- 2
3 3
4 4
Figure 19
Master Slave Terminal resistor Shielded cable
Note:
1. It is suggested that the two ends of the bus should be connected with one resistor of 120Ω respectively.
2. To ensure the communication quality , the double shielded and twisted-pair cable is recommended
(20AWG).
3. When the internal voltages of two devices are different, make SG(Signal Ground)of the two device
connected with each other to balance their SG voltages and make the communication more stable.
ASCII Mode
Communication ADR 1
Communication address consists of two ASCII codes.
address ADR 0
CMD 1
Function code Function code consists of two ASCII codes.
CMD 0
DATA (0)
DATA (1)
Data Data content consists of 2n ASCII codes, n≤205.
……….
DATA (n-1)
LRC CHK 1
LRC Check LRC check consists of two ASCII codes.
LRC CHK 0
Hexadecimal
“0“ “1“ “2“ “3“ “4“ “5“ “6“ “7“
character
ASCII code 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37
Hexadecimal
“8“ “9“ “A“ “B“ “C“ “D“ “E“ “F“
character
ASCII code 0x38 0x39 0x41 0x42 0x43 0x44 0x45 0x46
The data format is determined by function codes. E.g. to read the two continuous address data with
hexadecimal 0x1000 as the start address in DVP10MC11T. The communication address of DVP10MC11T
is 1, 0x1000 is the Modbus address of D0 in DVP10MC11T PLC.
The data explanation is shown as below:
PC→DVP10MC11T:
3A 30 31 30 33 31 30 30 30 30 30 30 32 45 41 0D 0A
DVP10MC11T→PC:
3A 30 31 30 33 30 34 30 30 30 31 30 30 30 32 46 35 0D 0A
Request message:
ASCII code corresponding to field
Field name Field character
character
Start character “:” 3A
“0” 30
Communication address: 01
“1” 31
“0” 30
Function code: 03
“3” 33
“1” 31
“0” 30
Start address: 0x1000
“0” 30
“0” 30
“0” 30
Data number “0” 30
(Counted by words): 2 “0” 30
“2” 32
“E” 45
LRC check code: 0xEA
“A” 41
End character 1 “CR” 0D
End character 0 “LF” 0A
Response message:
LRC check code is the value by firstly getting the inverse values of every bit of the result value of addition
operation of the data from communication ID to the last data content (Hex.) and then adding 1 to the final
inverse value.
For instance, LRC check code value: 0xF6. The method of calculating LRC check code value:
0x01+0x03+0x10+0x00+0x00+0x02 = 0x16, the result is 0xEA by getting the inverse values of every bit of
0x16 and then adding 1 to the final inverse value.
ASCII code corresponding to field
Field name Field character
character
Start character “:” 3A
“0” 30
Communication address: 01
“1” 31
“0” 30
Function code: 03
“3” 33
“1” 31
Start data address: 0x1000 “0” 30
“0” 30
“0” 30
2. Communication address
The valid communication address is 0~254. The communication address 0 indicates to broadcast the
message to all slaves and the slaves which have received the broadcast message do not make any
response. If the communication address is not 0, slaves will reply to master as normal. For example, to
communication with the slave with the communication address of 16, the address of the slave is set as
0x10 since decimal 16 is equal to hexadecimal 10.
The data format is determined by function codes. For example, to read the data of two continuous
addresses with 0x1000 as start address in DVP10MC11T, the address of DVP10MC11T is 1, 0x1000 is the
Modbus address of D0 in DVP10MC11T PLC.
The data in the communication cable and the explanation on them are shown below:
PC→DVP10MC11T: “01 03 10 00 00 02 C0 CB”
DVP10MC11T→PC: “01 03 04 01 00 02 00 FA AF”
Request message:
Response message:
CRC check starts from “Communication address” to the last “Data content”. The calculation method is
shown below.
Step 1: Download a 16-bit hex register (CRC register) with the content value FFFF.
Step 2: Make the XOR operation between the 8-bit data of the first byte in the command and the 8-bit data
of the low byte in CRC register and then store the operation result in CRC register.
Step 3: Move the content value of CRC register by one bit towards the right and fill 0 in the highest bit.
Step 4: Check the value of the lowest bit in CRC register. If the value is 0, repeat the action of step 3; if 1,
make XOR operation between the content in CRC register and hex. A001 and then store the result
in CRC register.
Step 5: Repeat step 3 and step 4 till the content in CRC register is moved by 8 bits towards the right. At
this moment, the first byte of the command message is finished processing.
Step 6: Repeat the action of step 2 and step 5 for the next byte in the command message till all bytes are
finished processing. The last content in CRC register is CRC check value. When CRC check value
in command message is transmitted, the high and low byte in calculated CRC check value must
exchange with each other, i.e. the low byte is transmitted first.
Device no. and the corresponding device address of motion control module in DVP10MC11T
Device
Device no. Explanation Address(hex) Attribute
name
I 0~7 0400~0407 Read only
Q 0~3 0500~0503 Read/write
Bit device register
M 0~1535 0800~0DFF Read/write
Device no. and the corresponding device address of PLC module in DVP10MC11T
The function code and abnormality response code when COM2 port is possessed by motion control module
are listed in the following table.
Available
Function code Explanation
device
Read bit-device register value; the data of 256 bits at most can be read
0x02 M,I,Q
one time.
Read one single or multi word register value; the data of 64 words at
0x03 D
most can be read one time.
0x05 Write one single bit-device register value. M ,Q
Abnormality
Explanation
response code
The function code and abnormality response code when COM1 and COM2 ports are
possessed by PLC module in DVP10MC11T are listed in the following table.
Abnormality response
Explanation
code
Illegal command code: command code in the command message PLC
0x01
receives is invalid.
Illegal device address: the address in the command message PLC receives is
0x02
invalid.
Illegal device value: the data content in the command message PLC receives
0x03
is invalid.
1. Check sum error
1.1 Check if the checksum value is correct
0x07 2. Illegal command message
2.1 Command message is too short
2.2 Command message exceed the range
Byte2 Read the start address of the word devices in High byte
Byte4 Read the address number of the word devices in High byte
DVP10MC11T
Byte5 Low byte
(Counted by Words)
Byte6 Low byte of CRC check sum Low byte
Note: The byte number in response message is determined by the DVP10MC11T device address number to
be read in the request message. Thus n of “Byte n” in response message can be calculated through
reading DVP10MC11T device address number.
Example: To read the address content of 0x1000, 0x1001 in DVP10MC11T via function code 03.
0x1000, 0x1001 are the Modbus address of D0 and D1 in DVP10MC11T respectively.
Suppose the value of D0 is 0x0100; D1 is 0x020
Request message: “ 01 03 10 00 00 02 C0 CB”
Response message: “01 03 04 01 00 02 00 FA AF”
Example: Write 0x0100 to 0x1000 address in DVP10MC11T via function code 06.。
Request message: “ 01 06 10 00 01 00 8C 9A”.
Response message: “ 01 06 10 00 01 00 8C 9A”.
Byte2 The start address of DVP10MC11T word device where High byte
Byte n The address value written into DVP10MC11T word High byte
Byte2 The start address of DVP10MC11T word device where High byte
Note: How many bytes of data in request message are determined by the number of word-device address
where to write the value in the response message. Thus n of “Byte n” in request message can be
calculated through the number of device address where to write the value.
Example: Write 0x0100 and 0x0200 to 0x1000 and 0x1001 address in DVP10MC11T respectively via
function code 0x10. 0x1000 and 0x1001 are Modbus address of D0 and D1 in DVP10MC11T.
Request message: “ 01 10 10 00 00 02 04 01 00 02 00 3E F3”
Response message: “01 10 10 00 00 02 45 08”.
Note:
The value of Byte 2 in response message is determined by Byte 4 and Byte 5. For example, the
number of the read bit device in request message is A. Dividing A by 8 produces B. If the quotient
is an integer, the byte number in response message is B; if the quotient is not an integer, the byte
number will be the integer part of the quotient plus 1.
Example: Read the state value of M0~M19 in DVP10MC11T via function code 02. M0 address is 0x0800.
Suppose M0~M7=1000 0001, M8~M15=0001 1000, M16~M19=0110.
Request message: “01 02 08 00 00 14 7A 65”
Response message: “01 02 03 81 18 06 A2 64”
Note: The written value 0x0000 in the bit device in request or response message means that the value
written in the bit device is 0. 0xFF00 means that the value written in the bit device is 1.
Example: The value of M0 in DVP10MC11T is set as 1 via function code 05; M0 address is 0x0800.
Request message: “01 05 08 00 FF 00 8E 5A”
Response message: “01 05 08 00 FF 00 8E 5A”
Byte2 The start address of DVP10MC11T bit device where to High byte
Byte4 The number of DVP10MC11T bit devices where to write High byte
Byte6 How many bytes for bit devices where to write values Single byte
Byte2 The start address of DVP10MC11T bit device where to write the High byte
Byte3 value Low byte
Byte4 High byte
The number of DVP10MC11T bit devices where to write the value
Byte5 Low byte
Note: How many bytes of data in request message are determined by the number of bit device where to
write the value in the response message.
Set DVP10MC11T M0~M7=1000 0001, M8~M15=0001 1000, M16~M19=0110 via function code 0F;
M0 address: 0x0800
Request message: “01 0F 08 00 00 14 03 81 18 06 8B F9”
Response message: “01 0F 08 00 00 14 57 A4”
COM1 LED is RS-232 communication port indicator used by PLC module to show RS-232
communication state.
COM2 LED is RS-485 communication port indicator commonly used by motion control
module and PLC module to show RS-485 communication state.
DVP10MC11T provides an Ethernet port possessed by motion control module supporting Modbus TCP
protocol. CANopen Builder software could be used to download CANopen motion control network
configuration, motion program, G codes and monitor devices via this port. DVP10MC11T can only serve as
slave in Ethernet network and also accept the access from 4 masters. Besides, this port supports auto jumper
function as well. When connected to computer or switchboard, DVP10MC11T does not need to be handled in
jumper specially. LED of Ethernet port is used to indicate the current connection state of Ethernet so that user
could check conveniently.
Pin Definition and LED Indicator Instruction
Pin Definition of Ethernet Communication Port in DVP10MC11T:
3
4 4
2
2
2
2
5
Device no. and the corresponding device name in above figure are listed below.
Device no. 1 2 3 4 5
Device Ethernet
Ethernet communication cable Concentrator DVP10MC11T Computer
name master
Note:
Please use the shielded twisted pair as Ethernet communication cable.
The master of Ethernet network containing DVP10MC11T can be Delta Ethernet equipment such
as DVPEN01-SL, IFD9506, IFD9507 and touch panel with Ethernet port. The equipment supplied
from other vendors supporting Modbus TCP protocol as well as master function can also serve as
master of DVP10MC11T.
The dialog box for setting Ethernet parameters in CANopen Builder software is shown as below.
There are Static and DHCP selections for DVP10MC11T Ethernet. If DHCP
IP Configuration (dynamic) is selected, the Ethernet parameters are obtained by DVP10MC11T itself;
if Static is selected, the parameters will be set by user.
Write multi bit-device register value; maximum 256 bits of data could
0x0F M,Q
be written once.
Write multi word-device register value; maximum 64 words of data
0x10 D
could be written.
… High byte
Device address content in DVP10MC11T
Byte n Low byte
Note: How many bytes of data in response message depend on the read device address number in
DVP10MC11T in request message. So n value in Byte n in response message can be calculated through
reading device address number in DVP10MC11T.
Example: To read the content of 0x1000 and 0x1001 address in DVP10MC11T
0x1000 and 0x1001 are the Modbus address of D0 and D1 in DVP10MC11T respectively. Suppose D0
value is 0x0100 and D1 is 0x0200.
Request message: “ 00 00 00 00 00 06 01 03 10 00 00 02”
Response message: “00 00 00 00 00 07 01 03 04 01 00 02 00”
Example: To write value 0x0100 to 0x1000 address in DVP10MC11T via function code 06
Request message: “ 00 00 00 00 00 06 01 06 10 00 01 00”.
Response message: “ 00 00 00 00 00 06 01 06 10 00 01 00”.
Byte10 The address number of word devices where to write values. High byte
… High byte
The address value written in word devices in DVP10MC11T
Byte n Low byte
Byte8 The start address of word devices where to write values in High byte
Byte10 The address number of word devices where to write values. High byte
Note:
How many bytes of data in response message depend on the read device address number in
DVP10MC11T in request message. So n value in Byte n in response message can be calculated
through reading device address number in DVP10MC11T.
Example: To write 0x0100 and 0x0200 to 0x1000 and 0x1001 address via function code 06.
0x1000 and 0x1001 are the Modbus address of D0 and D1 in DVP10MC11T respectively.
Request message: “ 00 00 00 00 00 0B 01 10 10 00 00 02 04 01 00 02 00”
Response message: “00 00 00 00 00 06 01 10 10 00 00 02”
Byte8 The Byte number of the read bit device Single byte
Byte9 The status value of the bit device which has been read Single byte
… The status value of the bit device which has been read Single byte
Byte n The status value of the bit device which has been read Single byte
Note: Suppose the number of the bit device to be read in DVP10MC11T in request message is A (Byte 10,
Byte 11), If A is divided by 8 with no remainder, the quotient is B; otherwise, the quotient is B +1. B or B+1
is the Byte number (Byte 8) of bit devices in response message.
The low bit(Byte 9)of the state value of the read bit device in response message is the state value of the
start address of bit devices in DVP10MC11T.
Example: To read the state value of M0~M19 in DVP10MC11T via function code 02
The address of M0 is 0x0800; suppose M7...M0=1000 0001, M15...M8=0001 1000, M19...M16=0110
Request message: “ 00 00 00 00 00 06 01 02 08 00 00 14”
Response message: “00 00 00 00 00 06 01 02 03 81 18 06”
Note: The written value 0x0000 for bit device in request message or response message indicates be value
written in device is 0; the written value 0xFF00 for bit device indicates the value written in device is 1.
Example: Set the value of M0 in DVP10MC11T as 1 via function code 05; the address of M0 is 0x0800.
Request message: “ 00 00 00 00 00 06 01 05 08 00 FF 00”
Response message: 00 00 00 00 00 06 01 05 08 00 FF 00”
Byte8 The start address of the bit devices where to write values in High byte
Byte10 The number of bit devices where to write values in High byte
Byte10 The number of the bit devices where to write values in High byte
Note:
Suppose the number of the bit device where to be written in DVP10MC11T in request message is A (Byte
10, Byte 11), If A is divided by 8 with no remainder, the quotient is B; otherwise, the quotient is B +1. B or
B+1 is the Byte number (Byte12) of bit devices in request message.
The low bit(Byte 13)of the value to be written in the bit device in DVP10MC11T in request message is the
values of the start address (Byte8, Byte9) of bit devices in DVP10MC11T.
Modbus
Special
address Function explanation Range Type Latched Attribute
D
(HEX)
Axis current state(see
D24606 E01E UINT No Read only
section 4.2)
D24613 E025 The pulse number needed -- No Read only
when servo motor rotates DINT
D24614 E026 for one circle) -- No Read only
Present current(Rated
D24622 E02E -- INT No Read only
current permillage)
Note: The axis parameter values such as Position, Velocity, Torque, Current and User-defined
parameter can be read via special D register only when they are selected. For the method of
selecting the relevant parameter, see section 2.3.1.
Acceleration and
D24835 E103 deceleration type(0:T 1: S 0-2 UINT No Read only
2:JERK)
Denominator of electronic
D24837 E105 0 - 65535 UINT No Read only
gear
Software limit(0:disable,
D24838 E106 0-1 UINT No Read only
1:enable)
D24839 E107 -- No Read only
The positive position limit DINT
D24840 E108 -- No Read only
D24841 E109 -- No Read only
The negative position limit DINT
D24842 E10A -- No Read only
Homing mode; please refer to
D24843 E10B 1-35 UINT No Read only
appendix D
D24844 E10C Homing speed -- No Read only
UDINT
D24845 E10D (Unit: r/min) -- No Read only
D24846 E10E Maximum speed -- No Read only
UDINT
D24847 E10F (Unit: unit/ second) -- No Read only
D24848 E110 Maximum acceleration -- No Read only
2 UDINT
D24849 E111 (Unit: unit/ second ) -- No Read only
D24850 E112 Maximum deceleration -- No Read only
2 DINT
D24851 E113 (Unit: unit/ second ) -- No Read only
D24852 E114 -- No Read only
Given position(Unit: pulse) DINT
D24853 E115 -- No Read only
D24854 E116 Given speed -- No Read only
DINT
D24855 E117 (Unit: pulse/second) -- No Read only
D24856 E118 Given acceleration -- No Read only
DINT
D24857 E119 (Pulse/second2) -- No Read only
D24858 E11A -- No Read only
Current position (Unit: pulse) DINT
D24859 E11B -- No Read only
D24860 E11C Current position error (Unit: -- No Read only
DINT
D24861 E11D pulse) -- No Read only
Axis current state (See
D24862 E11E UINT No Read only
section 4.2)
Modbus
Special
address Function Range Type Latched Attribute
D
(HEX)
D24869 E125 Pulse number needed when -- No Read only
servo motor rotates for one DINT
D24870 E126 -- No Read only
circle.
The allowed error between
D24871 E127 the given and feedback pulse -- UINT No Read only
number
Current torque (Rated torque
D24875 E12B -- INT No Read only
permillage)
D24876 E12C Current speed (Unit: 0.1 -- No Read only
DINT
D24877 E12D r/min) -- No Read only
Present current (Rated
D24878 E12E -- INT No Read only
current permillage)
D24879 E12F -- No Read only
Custom parameter value DINT
D24880 E130 -- No Read only
Note: The axis parameter values such as Position, Velocity, Torque, Current and User-defined
parameter can be read via special D only when they are selected. For the method of selecting
the relevant parameter, see section 2.3.1.
Acceleration and
D25091 E203 deceleration type(0:T 1: S 0-2 UINT No Read only
2:JERK)
Modbus
Special
address Function Range Type Latched Attribute
D
(HEX)
D25125 E225 Pulse number needed when -- No Read only
servo motor rotates for one DINT
D25126 E226 -- No Read only
circle.
The allowed error between
D25127 E227 the given and feedback pulse -- UINT No Read only
number
Current torque (Rated torque
D25131 E22B -- INT No Read only
permillage)
D25132 E22C Current speed (Unit: 0.1 -- No Read only
DINT
D25133 E22D r/min) -- No Read only
Present current (Rated
D25134 E22E -- INT No Read only
current permillage)
D25135 E22F -- No Read only
Custom parameter value DINT
D25136 E230 -- No Read only
Note: The axis parameter values such as Position, Velocity, Torque, Current and User-defined
parameter can be read via special D only when they are selected. For the method of selecting
the relevant parameter, see section 2.3.1.
Modbus
Special
address Function Range Type Latched Attribute
D
(HEX)
The allowed error between the
D25383 E327 given and feedback pulse -- UINT No Read only
number
Current torque (Rated torque
D25387 E32B -- INT No Read only
permillage)
D25388 E32C -- No Read only
Current speed (Unit: 0.1 r/min) DINT
D25389 E32D -- No Read only
Present current (Rated current
D25390 E32E -- INT No Read only
permillage)
D25391 E32F -- No Read only
Custom parameter value DINT
D25392 E330 -- No Read only
Note: The axis parameter values such as Position, Velocity, Torque, Current and User-defined
parameter can be read via special D only when they are selected. For the method of selecting
the relevant parameter, see section 2.3.1.
Modbus
Special
address Function Range Type Latched Attribute
D
(HEX)
Axis current state (See
D25630 E41E UINT No Read only
section 4.2)
D25637 E425 Pulse number needed -- No Read only
when servo motor rotates DINT
D25638 E426 -- No Read only
for one circle.
The allowed error between
D25639 E427 the given and feedback -- UINT No Read only
pulse number
Current torque (Rated
D25643 E42B -- INT No Read only
torque permillage)
D25644 E42C Current speed (Unit: 0.1 -- No Read only
DINT
D25645 E42D r/min) -- No Read only
Present current (Rated
D25646 E42E -- INT No Read only
current permillage)
D25647 E42F -- No Read only
Custom parameter value DINT
D25648 E430 -- No Read only
Note: The axis parameter values such as Position, Velocity, Torque, Current and User-defined
parameter can be read via special D only when they are selected. For the method of selecting
the relevant parameter, see section 2.3.1.
Modbus
Special D address Function Range Type Latched Attribute
(HEX)
The allowed error between the
D25895 E527 given and feedback pulse -- UINT No Read only
number
Current torque (Rated torque
D25899 E52B -- INT No Read only
permillage)
D25900 E52C Current speed (Unit: 0.1 -- No Read only
DINT
D25901 E52D r/min) -- No Read only
Present current (Rated current
D25902 E52E -- INT No Read only
permillage)
D25903 E52F -- No Read only
Custom parameter value DINT
D25904 E530 -- No Read only
Note: The axis parameter values such as Position, Velocity, Torque, Current and User-defined
parameter can be read via special D only when they are selected. For the method of selecting
the relevant parameter, see section 2.3.1.
Modbus
Special Latche
address Function Range Type Attribute
D d
(HEX)
D26149 E625 -- No Read only
Pulse number needed when servo
DINT
D26150 E626 motor rotates for one circle. -- No Read only
D26161 E631
The phase of the terminal actuator 0~ modulo REAL No Read only
D26162 E632
Note: The axis parameter values such as Position, Velocity, Torque, Current and User-defined
parameter can be read via special D only when they are selected. For the method of selecting
the relevant parameter, see section 2.3.1.
Modbus
Special
address Function Range Type Latched Attribute
D
(HEX)
D26411 E72B Current torque -- INT No Read only
Note: The axis parameter values such as Position, Velocity, Torque, Current and User-defined
parameter can be read via special D only when they are selected. For the method of selecting
the relevant parameter, see section 2.3.1.
Modbus
Special
address Function Range Type Latched Attribute
D
(HEX)
Axis current state (See
D26654 E81E UINT No Read only
section 4.2)
Note: The axis parameter values such as Position, Velocity, Torque, Current and User-defined
parameter can be read via special D only when they are selected. For the method of selecting
the relevant parameter, see section 2.3.1.
Modbus
Special
address Function Range Type Latched Attribute
D
(HEX)
The allowed error between the
D26919 E927 given and feedback pulse -- UINT No Read only
number
Current torque (Rated torque
D26923 E92B -- INT No Read only
permillage)
D26924 E92C -- No Read only
Current speed (Unit: 0.1 r/min) DINT
D26925 E92D -- No Read only
Present current (Rated current
D26926 E92E -- INT No Read only
permillage)
D26927 E92F -- No Read only
Custom parameter value DINT
D26928 E930 -- No Read only
Note: The axis parameter values such as Position, Velocity, Torque, Current and User-defined
parameter can be read via special D only when they are selected. For the method of selecting
the relevant parameter, see section 2.3.1.
Modbus
Special
address Function Range Type Latched Attribute
D
(HEX)
The allowed error between the
D27175 EA27 given and feedback pulse -- UINT No Read only
number
Current torque (Rated torque
D27179 EA2B -- INT No Read only
permillage)
D27180 EA2C -- No Read only
Current speed (Unit: 0.1 r/min) DINT
D27181 EA2D -- No Read only
Present current (Rated current
D27182 EA2E -- INT No Read only
permillage)
D27183 EA2F -- No Read only
Custom parameter value DINT
D27184 EA30 -- No Read only
D27185 EA31 The phase of the terminal
0~ modulo REAL No Read only
D27186 EA32 actuator
Note: The axis parameter values such as Position, Velocity, Torque, Current and User-defined
parameter can be read via special D only when they are selected. For the method of selecting
the relevant parameter, see section 2.3.1.
Modbus
Special
address Function Range Type Latched Attribute
D
(HEX)
The allowed error between the
D27431 EB27 given and feedback pulse -- UINT No Read only
number
Current torque (Rated torque
D27435 EB2B -- INT No Read only
permillage)
D27436 EB2C -- No Read only
Current speed (Unit: 0.1 r/min) DINT
D27437 EB2D -- No Read only
Present current (Rated current
D27438 EB2E -- INT No Read only
permillage)
D27439 EB2F -- No Read only
Custom parameter value DINT
D27440 EB30 -- No Read only
Note: The axis parameter values such as Position, Velocity, Torque, Current and User-defined
parameter can be read via special D only when they are selected. For the method of selecting
the relevant parameter, see section 2.3.1.
Modbus
Special
address Function Range Type Latched Attribute
D
(HEX)
The allowed error between the
D27687 EC27 given and feedback pulse -- UINT No Read only
number
Current torque (Rated torque
D27691 EC2B -- INT No Read only
permillage)
D27692 EC2C -- No Read only
Current speed (Unit: 0.1 r/min) DINT
D27693 EC2D -- No Read only
Present current (Rated current
D27694 EC2E -- INT No Read only
permillage)
D27695 EC2F -- No Read only
Custom parameter value DINT
D27696 EC30 -- No Read only
Note: The axis parameter values such as Position, Velocity, Torque, Current and User-defined
parameter can be read via special D only when they are selected. For the method of selecting
the relevant parameter, see section 2.3.1.
Acceleration and
D27907 ED03 deceleration type(0:T 1: S 0-2 UINT No Read only
2:JERK)
Denominator of electronic
D27909 ED05 0 - 65535 UINT No Read only
gear
Software limit(0:disable,
D27910 ED06 0-1 UINT No Read only
1:enable)
D27911 ED07 -- No Read only
The positive position limit DINT
D27912 ED08 -- No Read only
D27913 ED09 -- No Read only
The negative position limit DINT
D27914 ED0A -- No Read only
Homing mode; please refer
D27915 ED0B 1-35 UINT No Read only
to appendix D
D27916 ED0C Homing speed -- No Read only
UDINT
D27917 ED0D (Unit: r/min) -- No Read only
D27918 ED0E Maximum speed -- No Read only
UDINT
D27919 ED0F (Unit: unit/ second) -- No Read only
D27920 ED10 Maximum acceleration -- No Read only
2 UDINT
D27921 ED11 (Unit: unit/ second ) -- No Read only
D27922 ED12 Maximum deceleration -- No Read only
2 DINT
D27923 ED13 (Unit: unit/ second ) -- No Read only
D27924 ED14 -- No Read only
Given position(Unit: pulse) DINT
D27925 ED15 -- No Read only
D27926 ED16 Given speed -- No Read only
DINT
D27927 ED17 (Unit: pulse/second) -- No Read only
D27928 ED18 Given acceleration -- No Read only
DINT
D27929 ED19 (Pulse/second2) -- No Read only
Modbus
Special
address Function Range Type Latched Attribute
D
(HEX)
D27941 ED25 Pulse number needed when -- No Read only
servo motor rotates for one DINT
D27942 ED26 -- No Read only
circle.
The allowed error between
D27943 ED27 the given and feedback -- UINT No Read only
pulse number
Current torque (Rated
D27947 ED2B -- INT No Read only
torque permillage)
D27948 ED2C Current speed (Unit: 0.1 -- No Read only
DINT
D27949 ED2D r/min) -- No Read only
Present current (Rated
D27950 ED2E -- INT No Read only
current permillage)
D27951 ED2F -- No Read only
Custom parameter value DINT
D27952 ED30 -- No Read only
Note: The axis parameter values such as Position, Velocity, Torque, Current and User-defined
parameter can be read via special D only when they are selected. For the method of selecting
the relevant parameter, see section 2.3.1.
Modbus
Special
address Function Range Type Latched Attribute
D
(HEX)
D28197 EE25 Pulse number needed when -- No Read only
servo motor rotates for one DINT
D28198 EE26 circle. -- No Read only
Note: The axis parameter values such as Position, Velocity, Torque, Current and User-defined
parameter can be read via special D only when they are selected. For the method of selecting
the relevant parameter, see section 2.3.1.
Software limit(0:disable,
D28422 EF06 0-1 UINT No Read only
1:enable)
Modbus
Special
address Function Range Type Latched Attribute
D
(HEX)
Axis current state (See
D28446 EF1E UINT No Read only
section 4.2)
D28453 EF25 Pulse number needed when -- No Read only
servo motor rotates for one DINT
D28454 EF26 -- No Read only
circle.
The allowed error between
D28455 EF27 the given and feedback pulse -- UINT No Read only
number
Current torque (Rated torque
D28459 EF2B -- INT No Read only
permillage)
D28460 EF2C Current speed (Unit: 0.1 -- No Read only
DINT
D28461 EF2D r/min) -- No Read only
Present current (Rated
D28462 EF2E -- INT No Read only
current permillage)
D28463 EF2F -- No Read only
Custom parameter value DINT
D2864 EF30 -- No Read only
Note: The axis parameter values such as Position, Velocity, Torque, Current and User-defined
parameter can be read via special D only when they are selected. For the method of selecting
the relevant parameter, see section 2.3.1.
Mode 1 Homing which depends on the negative limit switch and Z pulse.
Circumstance 1: MC_Home instruction is executed and the axis moves in the negative direction at the
first-phase speed when the negative limit switch is OFF. The motion direction changes and
the axis moves at the second-phase speed when the axis encounters that the negative limit
switch is ON. Where the first Z pulse is met is the home position when the negative limit
switch is OFF.
Circumstance 2: MC_Home instruction is executed and the axis moves in the positive direction at the
second-phase speed when the negative limit switch is ON. Where the first Z pulse is met is
the home position when the negative limit switch is OFF.
St art point
Z pulse
Mode 2 Homing which depends on the positive limit switch and Z pulse
Circumstance 1: MC_Home instruction is executed and the axis moves in the positive direction at the
first-phase speed when the positive limit switch is OFF. The motion direction changes and
the axis moves at the second-phase speed when the axis encounters that the positive limit
switch is ON. Where the first Z pulse is met is the home position while the positive limit
switch is OFF.
Circumstance 2: MC_Home instruction is executed and the axis moves in the negative direction at the
second-phase speed when the positive limit switch is ON. Where the first Z pulse is met is
the home position while the positive limit switch is OFF.
Negativ e 2
direct io n
Z pulse
Po sitiv e limit
switc h
Homing on the positive limit switch and Z pulse (: mode 2)
Mode 3 and mode 4 Homing which depends on the home switch and Z pulse
Mode 3
Circumstance 1: MC_Home instruction is executed and the axis moves in the positive direction at the
first-phase speed when the home switch is OFF. The motion direction changes and the axis
moves at the second-phase speed when the axis encounters that the home switch is ON.
Where the first Z pulse is met is the home position when the home switch is OFF.
Circumstance 2: MC_Home instruction is executed and the axis directly moves in the negative direction at the
second-phase speed when the home switch is ON. Where the first Z pulse is met is the
home position while the home switch is OFF.
Mode 4
Circumstance 1: MC_Home instruction is executed and the axis moves in the positive direction at the
first-phase speed when the home switch is OFF. The axis moves at the second-phase speed
when the axis encounters that the home switch is ON. Where the first Z pulse is met is the
home position.
Circumstance 2: MC_Home instruction is executed and the axis moves in the negative direction at the
second-phase speed when the home switch is ON. The motion direction changes and the
axis moves at the second-phase speed when the axis encounters that the home switch is
OFF. Where the first Z pulse is met is the home position.
Negat iv e 3
direc tion
Circ ums tanc e 2 Negat iv e 3 St art point
direc tion
4 Pos itiv e
direc tion
Z p ulse
Home s wit ch
Mode 5 and mode 6 Homing which depends on the home switch and Z pulse
Mode 5
Circumstance 1: MC_Home instruction is executed and the axis moves in the positive direction at the
second-phase speed when the home switch is ON. Where the first Z pulse is met is the
home position while the home switch is OFF.
Circumstance 2: MC_Home instruction is executed and the axis moves in the negative direction at the
first-phase speed when the home switch is OFF. The motion direction changes and the axis
moves at the second-phase speed when the home switch is ON. Where the first Z pulse is
met is the home position when the home switch is OFF.
Mode 6
Circumstance 1: MC_Home instruction is executed and the axis moves in the positive direction at the
second-phase speed when the home switch is ON. The motion direction changes and the
axis moves at the second-phase speed when the home switch is OFF. Where the first Z
pulse is met is the home position.
Circumstance 2: MC_Home instruction is executed and the axis moves in the negative direction at the
first-phase speed when the home switch is OFF. The axis moves at the second-phase speed
and where the first Z pulse is met is the home position while the home switch is ON.
.
Z puls e
Home s witc h
Mode 7~ mode 10 Homing which depends on the home switch, positive limit switch and Z pulse
Mode 7
Circumstance 1: MC_Home instruction is executed and the axis moves in the positive direction at the
first-phase speed when the home switch is OFF. The motion direction changes and the axis
moves at the second-phase speed when the home switch is ON. Where the first Z pulse is
met is the home position when the home switch is OFF.
Circumstance 2: MC_Home instruction is executed and the axis moves in the negative direction at the
second-phase speed when the home switch is ON. Where the first Z pulse is met is the
home position when the home switch is OFF.
Circumstance 3: MC_Home instruction is executed and the axis moves in the positive direction at the
first-phase speed when the home switch is OFF. The motion direction changes and the axis
moves at the first-phase speed when the home switch is OFF and the positive limit switch is
ON. The axis starts to move at the second-phase speed when the home switch is ON. Where
the first Z pulse is met is the home position when the home switch is OFF.
Nega tive 7
direc tion
Ne gativ e 7
dire ct io n
Z pu ls e
Home s witc h
Homing on the home switch, positive limit switch and Z pulse (: mode 7)
Mode 8
Circumstance 1: MC_Home instruction is executed and the axis moves in the positive direction at the
first-phase speed when the home switch is OFF. The axis moves at the second-phase speed
when the home switch is ON and where the first Z pulse is met is the home position.
Circumstance 2: MC_Home instruction is executed and the axis moves in the negative direction at the
second-phase speed when the home switch is ON. The motion direction changes and the
axis moves at the second-phase speed when the home switch is OFF. And where the first Z
pulse is met is the home position.
Circumstance 3: MC_Home instruction is executed and the axis moves in the positive direction at the
first-phase speed when the home switch is OFF. The motion direction changes and the axis
moves at the first-phase speed when the home switch is OFF and the positive limit switch is
ON. The axis still moves at the first-phase speed when the home switch is ON. The motion
direction changes and the axis moves at the first-phase speed when the home switch is OFF.
The axis moves at the second-phase speed and where the first Z pulse is met is the home
position when the home switch is ON.
8 P os it iv e dire ct ion
Z puls e
Home s wit ch
Homing on the home switch, positive limit switch and Z pulse (: mode 8)
Mode 9
Circumstance 1: MC_Home instruction is executed and the axis moves in the positive direction at the
first-phase speed when the home switch is OFF. The axis moves at the second-phase speed
when the home switch is ON. The motion direction changes and the axis moves at the
second-phase speed when the home switch is OFF. And where the first Z pulse is met is the
home position.
Circumstance 2: MC_Home instruction is executed and the axis moves in the positive direction at the
second-phase speed when the home switch is ON. The motion direction changes and the
axis moves at the second-phase speed when the home switch is OFF. And where the first Z
pulse is met is the home position.
Circumstance 3: MC_Home instruction is executed and the axis moves in the positive direction at the
first-phase speed when the home switch is OFF. The motion direction changes and the axis
moves at the first-phase speed when the home switch is OFF and the positive limit switch is
ON. The axis moves at the second-phase speed and where the first Z pulse is met is the
home position when the home switch is ON.
Negat ive 9
direc tion
Negat ive 9
direc tion
Sta rt
Circ ums tanc e 3 point
Negat ive 9
direc tion
Z puls e
Home s witc h
Homing on the home switch, positive limit switch and Z pulse (: mode 9)
Mode 10
Circumstance 1: MC_Home instruction is executed and the axis moves in the positive direction at the
first-phase speed when the home switch is OFF. The axis moves at the second-phase speed
when the home switch is ON. And where the first Z pulse is met is the home position while
the home switch is OFF.
Circumstance 2: MC_Home instruction is executed and the axis moves in the positive direction at the
second-phase speed when the home switch is ON. And where the first Z pulse is met is the
home position while the home switch is OFF.
Circumstance 3: MC_Home instruction is executed and the axis moves in the positive direction at the
first-phase speed when the home switch is OFF. The motion direction changes and the axis
moves at the first-phase speed when the home switch is OFF and the positive limit switch is
ON. The motion direction changes and the axis moves at the second-phase speed when the
home switch is ON. Where the first Z pulse is met is the home position while the home switch
is OFF.
10 P osit iv e direct io n
Z puls e
Ho me s wit ch
Homing on the home switch, positive limit switch and Z pulse (: mode 10)
Mode 11~ mode 14 Homing which depends on the home switch, negative limit switch and Z pulse
Mode 11
Circumstance 1: MC_Home instruction is executed and the axis moves in the negative direction at the
first-phase speed when the home switch is OFF. The motion direction changes and the axis
moves at the second-phase speed when the home switch is ON. And where the first Z pulse
is met is the home position while the home switch is OFF.
Circumstance 2: MC_Home instruction is executed and the axis moves in the positive direction at the
second-phase speed while the home switch is ON. And where the first Z pulse is met is the
home position while the home switch is OFF.
Circumstance 3: MC_Home instruction is executed and the axis moves in the negative direction at the
first-phase speed while the home switch is OFF. The motion direction changes and the axis
moves at the first-phase speed while the home switch is OFF and the negative limit switch is
ON. The axis moves at the second-phase speed when the home switch is ON. Where the
first Z pulse is met is the home position while the home switch is OFF.
St art point
Circ umst anc e 1
St art
Circ umst anc e 3 point
Z pulse
Home s wit ch
Mode 12
Circumstance 1: MC_Home instruction is executed and the axis moves in the negative direction at the
first-phase speed when the home switch is OFF. The axis moves at the second-phase speed
when the home switch is ON. And where the first Z pulse is met is the home position.
Circumstance 2: MC_Home instruction is executed and the axis moves in the positive direction at the
second-phase speed while the home switch is ON. The motion direction changes and the
axis moves at the second-phase speed while the home switch is OFF. And where the first Z
pulse is met is the home position.
Circumstance 3: MC_Home instruction is executed and the axis moves in the negative direction at the
first-phase speed while the home switch is OFF. The motion direction changes and the axis
moves at the first-phase speed while the home switch is OFF and the negative limit switch is
ON. The axis still moves at the first-phase speed when the home switch is ON. The motion
direction changes and the axis moves at the first-phase speed while the home switch is OFF.
The axis moves at the second-phase speed while the home switch is ON. And where the first
Z pulse is met is the home position.
Neg ative 12
d irec tion
Negat iv e 12
direc tion
Z pulse
Home
s wit ch
Nega tive
limit s wit ch
Mode 13
Circumstance 1: MC_Home instruction is executed and the axis moves in the negative direction at the
first-phase speed while the home switch is OFF. The axis moves at the second-phase speed
while the home switch is ON. The motion direction changes and the axis moves at the
second-phase speed while the home switch is OFF. And where the first Z pulse is met is the
home position.
Circumstance 2: MC_Home instruction is executed and the axis moves in the negative direction at the
second-phase speed while the home switch is ON. The motion direction changes and the
axis moves at the second-phase speed while the home switch is OFF. And where the first Z
pulse is met is the home position.
Circumstance 3: MC_Home instruction is executed and the axis moves in the negative direction at the
first-phase speed while the home switch is OFF. The motion direction changes and the axis
moves at the first-phase speed while the home switch is OFF and the negative limit switch is
ON. The axis moves at the second-phase speed and where the first Z pulse is met is the
home position when the home switch is ON.
13 Positive direction
Circumstan ce 3 St art
point
13 Positive direction
Z pulse
Home
swit ch
Nega tive
limit swit ch
Mode 14
Circumstance 1: MC_Home instruction is executed and the axis moves in the negative direction at the
first-phase speed while the home switch is OFF. The axis moves at the second-phase speed
once the home switch is ON. And where the first Z pulse is met is the home position while the
home switch is OFF.
Circumstance 2: MC_Home instruction is executed and the axis moves in the negative direction at the
second-phase speed while the home switch is ON. Where the first Z pulse is met is the home
position while the home switch is OFF.
Circumstance 3: MC_Home instruction is executed and the axis moves in the negative direction at the
first-phase speed while the home switch is OFF. The motion direction changes and the axis
moves at the first-phase speed while the home switch is OFF and the negative limit switch is
ON. The motion direction changes again and the axis moves at the second-phase speed
when the home switch is ON. Where the first Z pulse is met is the home position while the
home switch is OFF.
Negat iv e 14
direct ion
Z pulse
Home
s wit ch
Nega tive
limit s wit ch
Circumstance 2: MC_Home instruction is executed and the axis directly moves in the negative direction at the
second-phase speed while the home switch is ON. And where the axis stands is the home
position at the moment the home switch becomes OFF.
St art
Circ umst anc e 1 point
Nega tive 19
direc tion
Home s wit ch
Mode 21
Circumstance 1: MC_Home instruction is executed and the axis moves in the negative direction at the
first-phase speed while the home switch is OFF. The motion direction changes and the axis
moves at the second-phase speed once the home switch becomes ON. And where the axis
stands is the home position at the moment the home switch becomes OFF.
Circumstance 2: MC_Home instruction is executed and the axis moves in the positive direction at the
second-phase speed while the home switch is ON. And where the axis stands is the home
position at the moment the home switch becomes OFF.
Sta rt
Circ ums tanc e 1 point
21 Pos it ive direct ion
Home switc h
In mode 34, MC_Home instruction is executed and the axis moves at the second-phase speed in the positive
direction. And the place where the axis stands is the home position once the first Z pulse is met.
33
34
Z p u lse
Homing on Z pulse (○
33 : mode 33, ○
34 : mode 34)
X External input relay X0~X377, octal code, 256 points Total 480+14
points (*4)
Y External output relay Y0~Y377, octal code, 256 points
Total 232
C C112~C127, 16 points (*2)
points
32-bit counting C200~C223, 24 points (*1)
up/down C224~C231, 8 points (*2)
Bit relay
Total 1024
S Latched S20~S127, 108 points (*2)
points
General purpose S128~S911, 784 points (*1)
Item Range
Data
Used by special
D9900~D9999, 100 words (*1)
module
Used for changing
E0~E7, F0~F7, 16 words (*1)
address
N Used by main circuit loop N0~N7, 8 points
Interruption
I Communication
I140(COM1), I150(COM2), 2points (*3)
interruption
K Decimal
K-2,147,483,648 ~ K2,147,483,647 (32-bit operation).
H0000 ~ HFFFF (16-bit operation),
H hexadecimal
H00000000 ~HFFFFFFFF (32-bit operation).
COM1: built-in RS-232 (master/ slave), the commonly used
Communication port program editing COM port.
COM2: Built-in RS-485 (master/ slave).
Max. 8 analog extension modules connected to the right side of
PLC.
Special extension module
Max. 7 high-speed extension modules connected to the left side of
PLC.
Notes:
1) Non- latched area can not be modified.
2) Latched area can not be modified.
3) COM1: built-in RS-232 communication port; COM2: built-in RS-485 communication port.
Answer:
1. Make sure that the CAN cable is Delta standard cable and there are TAP-TR01 terminal resistors
respectively connected to both ends of the CAN cable.
2. Make sure to properly connect the shielded-layer wire of the CAN bus cable to the ground.
3. Check if the servo’s P3-09 value is 5055H.
4. Check if the setting of a synchronization cycle is appropriate. Refer to section 2.3.4 for the setting method of
a synchronization cycle
Question 2: Are there latched devices inside both of the PLC module and motion control module in
DVP10MC11T?
Answer:
The PLC module and motion control module inside DVP10MC11T both have latched devices.
The latched devices inside the PLC module are listed in the following table:
S0~S9, 10 points
S10~S19, 10 points
Bit
S20~S127,108 points
S912~S1023, 112 points
C112~C127, 16 points
C224~C231, 8 points
C112~C127 (16-bit counter), 16 words
C224~C231 (32-bit counter), 8 double words
Word or Double word
D408~D599,192 words
D2000~D3919,1920 words
The latched devices inside the motion control module are listed in the following table:
Device type Range
M3000~ M3999, the number of latched bit devices are specified by
Bit
D6520, Maximum number: 1000. The default value in D6520 is 0.
D7000~D9999, the number of latched word devices are specified by
Word
D6519, Maximum number: 3000. The default value in D6519 is 0.
Question 3: How is the servo motor speed limited under torque mode?
Answer:
The servo speed is limited by external input terminals of the servo drive or P4-07 value under torque mode (using
DMC_SetTorque instruction to control the servo rotation).
Enable/disable
P1-02 1 Speed limit is enabled
speed limit
DI1 terminal is for the speed
P2-10 DI1 terminal 114
function setting limit
DI2 terminal is for the speed
P2-11 DI2 terminal 115
function setting limit
The servo speed is set by
P1-09 Rotation speed of 10000 (Unit:0.1r/min) users according to actual
the servo
need.
The servo speed is set by
P1-10 Rotation speed of 20000 (Unit: 0.1r/min) users according to actual
the servo
need.
The servo speed is set by
P1-11 Rotation speed of 30000 (Unit: 0.1r/min) users according to actual
the servo
need.
The rotation speed of the servo can be selected via DI1 and DI2 under torque mode as follows.
Servo parameter setting for switching
Speed selection DI2 DI1
DI1 and DI2 on or off
The servo runs at the speed
P3-06=F,P4-07=1 0(off) 1(on)
specified by P1-09.
The servo runs at the speed
P3-06=F,P4-07=2 1(on) 0(off)
specified by P1-10.
The servo runs at the speed
P3-06=F,P4-07=3 1(on) 1(on)
specified by P1-11.
Note:
The DI input signals of the servo drive can come from external hardware terminals (DI1 ~ DI8, EDI9 ~
EDI14) or software SDI1 ~ 14 (corresponding to bit 0 ~ bit13 of parameter P4-07), which are determined by
P3-06. If the value of the corresponding bit of P3-06 is 1,the DI input signals come from software SDI
(P4-07); If the vaue of the corresponding bit of P3-06 is 0,the DI input signals come from external hardware
terminals (DI1 ~ DI8, EDI9 ~ EDI14).
Under CANopen mode, set up the parameters as shown in the following table:
Servo
Function Parameter value Meaning
parameter
Enable/disable
P1-02 10 Torque limit is enabled.
speed limit
DI1 terminal DI1 terminal is for the torque
P2-10 116
function setting limit
DI2 terminal DI2 terminal is for the torque
P2-11 117
function setting limit
10
The torque limit of The servo torque is set by users
P1-12 (Unit:%, percentage of the
the servo according to actual need.
rated torque)
Servo
Function Parameter value Meaning
parameter
20
The torque limit of The servo torque is set by users
P1-13 (Unit:%, percentage of the
the servo according to actual need.
rated torque)
50
The torque limit of The servo torque is set by users
P1-14 (Unit:%, percentage of the
the servo according to actual need.
rated torque)
Under CANopen mode, the torque limit of the servo can be selected via DI1 and DI2 when motion instructions
are used to control the servo motion as follows:
Servo parameter setting for switching
Torque selection DI2 DI1
DI1 and DI2 on or off
The servo runs according to the
P3-06=F,P4-07=1 0(off) 1(on)
torque limit specified by P1-12.
The servo runs according to the
P3-06=F,P4-07=2 1(on) 0(off)
torque limit specified by P1-13.
The servo runs according to the
P3-06=F,P4-07=3 1(on) 1(on)
torque limit specified by P1-14.
Notes:
1. The setting value of P4-07 could not be 0 for limiting torque in the above table. If the setting value is 0, 10MC
will not be able to control the servo motion.
The above parameter setting causes inconvenience that the values of P3-06 and P4-07 have to be reset
every time the servo is powered on. There is an easy method of setting the parameter by setting P2-10 to
016, P2-11 to 017 and P3-06 to 0 (without external wiring for DI1 and DI2) and the output torque limit of the
servo to the value of P1-14. By doing so, the value of P3-06 will not need to be reset and will be 0 by default
after the servo is repowered on.
2. The DI input signals of the servo drive can come from external hardware terminals (DI1 ~ DI8, EDI9 ~ EDI14)
or software digital inputs SDI1 ~ 14 (corresponding to bit 0 ~ bit13 of parameter P4-07), which is determined
by P3-06. If the corresponding bit value of P3-06 is 1, the DI input signals come from SDI (P4-07). And the
corresponding bit value of P3-06 is 0, the DI input signals come from external hardware terminals (DI1 ~ DI8,
EDI9 ~ EDI14).
Question 5: How does the servo move when reaching a limit under DVP10MC11T’s control?
Answer:
You can judge whether the servo reaches a limit or not via MC_ReadAxisError. MC_Reset is executed first and
then MC_Power is executed to make the servo enabled and move in the negative direction when the servo
reaches a limit
The servo can move in the negative direction rather than in the positive direction after the above operation is
performed if the servo limit alarm is not eliminated.
The servo can move in both positive and negative directions after the above operation is performed if the servo
limit alarm is eliminated.
Program example:
MC_Reset instruction is executed when 10MC detects that the servo reaches the positive limit and MC_Power
instruction is executed to make the servo enabled 100ms later. MC_MoveRelative instruction is executed to
make the servo move reversely away from the positive limt after the servo is enabled.
Answer:
Hardware connection
DVP 10MC11T
CANop en
PC A2 se rvo drive
TAP-TR01
Ethern et
Firmware version:
Firmware version of 10MC: No limit.
Firmware version of the servo: above 1.045_24 (Major version_minor version)
Notes:
1. The setting values of P1-44 and P1-45 are respectively equal to the values of Unit Numerator and Unit
Denominator as marked in the following red box and then are saved via Set key on the servo keypad.
2. The servo runs and then stops under DVP10MC11T’s control while the setting values of P1-44 and P1-45 are
respectively equal to the values of Unit Numerator and Unit Denominator as marked in the following red box.
Under this circumstance, the servo is repowered after being powered off and the servo position keeps
unchanged. If the setting values of P1-44 and P1-45 are not respectively equal to the values of Unit
Numerator and Unit Denominator, the servo’s current position is not the same as that before power off after
being repowered.
MEMO