Delta PLC Programming
Delta PLC Programming
Asia
Delta Electronics (Jiangsu) Ltd.
Wujiang Plant 3
1688 Jiangxing East Road,
Wujiang Economic Development Zone
Wujiang City, Jiang Su Province, P.R.C. 215200
TEL: 86-512-6340-3008 / FAX: 86-769-6340-7290
DVP-ES2/EX2/SS2/
TEL: 82-2-515-5303 / FAX: 82-2-515-5302
SA2/SX2/SE&TP
4 Kaki Bukit Ave 1, #05-05, Singapore 417939
TEL: 65-6747-5155 / FAX: 65-6744-9228
Europe
Deltronics (The Netherlands) B.V.
Eindhoven Office
De Witbogt 20, 5652 AG Eindhoven, The Netherlands
TEL : +31-40-2592850 / FAX : +31-40-2592851
VOIP : 170
DVP-0139720-10
*We reserve the right to change the information in this manual without prior notice.
2018-10-30
www.deltaww.com
DVP-ES2/EX2/SS2/SA2/SX2/SE&TP
Operation Manual
Programming
Revision History
2 Programming Concepts
2.1 ES2/EX2 Memory Map ............................................................................. 2-2
2.2 SS2 Memory Map ..................................................................................... 2-4
2.3 SA2/SX2 Memory Map ............................................................................. 2-6
2.4 SE Memory Map ....................................................................................... 2-8
2.5 Status and Allocation of Latched Memory ...............................................2-10
2.6 PLC Bits, Nibbles, Bytes, Words, etc.......................................................2-11
2.7 Binary, Octal, Decimal, BCD, Hex ...........................................................2-11
2.8 M Relay ...................................................................................................2-12
2.9 S Relay ....................................................................................................2-24
2.10 T (Timer)..................................................................................................2-24
2.11 C (Counter)..............................................................................................2-25
i
2.12 High-speed Counters .............................................................................. 2-27
2.13 Special Data Register ............................................................................. 2-31
2.14 E, F Index Registers................................................................................ 2-42
2.15 Nest Level Pointer[N], Pointer[P], Interrupt Pointer [I] ............................. 2-43
2.16 Applications of Special M Relays and D Registers.................................. 2-45
3 Instruction Set
3.1 Basic Instructions (without API numbers).................................................. 3-2
3.2 Explanations to Basic Instructions............................................................. 3-2
3.3 Pointers ................................................................................................... 3-13
3.4 Interrupt Pointers..................................................................................... 3-13
3.5 Application Programming Instructions ..................................................... 3-15
3.6 Numerical List of Instructions (classified according to the function) ........ 3-24
3.7 Numerical List of Instructions (in alphabetic order) ................................. 3-32
3.8 Detailed Instruction Explanation .............................................................. 3-41
4 Communications
4.1 Communication Ports ................................................................................ 4-2
4.2 Communication Protocol ASCII mode ....................................................... 4-3
4.2.1 ADR (Communication Address) ......................................................... 4-3
4.2.2 CMD (Command code) and DATA ..................................................... 4-4
4.2.3 LRC CHK (checksum) ........................................................................ 4-5
4.3 Communication Protocol RTU mode ......................................................... 4-7
4.3.1 Address (Communication Address).................................................... 4-7
4.3.2 CMD (Command code) and DATA ..................................................... 4-7
4.3.3 CRC CHK (check sum) ...................................................................... 4-8
4.4 PLC Device Address ............................................................................... 4-10
4.5 Command Code ...................................................................................... 4-12
4.5.1 Command Code: 01, Read Status of Contact (Input point X is not
included) .......................................................................................... 4-12
4.5.2 Command Code: 02, Read Status of Contact (Input point X is included)
......................................................................................................... 4-13
4.5.3 Command Code: 03, Read Content of Register (T, C, D) ................ 4-14
4.5.4 Command Code: 05, Force ON/OFF single contact ........................ 4-15
4.5.5 Command Code: 06, Set content of single register.......................... 4-16
4.5.6 Command Code: 15, Force ON/OFF multiple contacts .................... 4-16
4.5.7 Command Code: 16, Set content of multiple registers ..................... 4-17
ii
6 Troubleshooting
6.1 Common Problems and Solutions ............................................................ 6-2
6.2 Error code Table (Hex) ............................................................................. 6-4
6.3 Error Detection Devices............................................................................ 6-6
Appendix A
A.1 Installing the USB Driver in Windows 7 .................................................... A-2
A.2 Installing the USB in Windows 8 ............................................................... A-4
A.3 Installing the USB Driver in Windows 10 .................................................. A-7
Appendix B
B.1 Specifications for an Ethernet PLC/Module .............................................. B-2
B.2 Ethernet Control Registers ....................................................................... B-2
B.2.1 Station Addresses of Ethernet Modules............................................. B-2
B.2.2 DVP-SE Series PLC (Ethernet PLC) ................................................. B-3
B.2.3 DVPEN01-SL (Left-side Ethernet Communication Module) .............. B-4
B.2.4 DVP-FEN01 (DVP-EH3 Series Ethernet Communication Card) ....... B-6
B.3 Searching for an Ethernet PLC................................................................. B-7
B.3.1 Communication setting ...................................................................... B-7
B.3.2 Broadcast Search .............................................................................. B-8
B.3.3 Searching for a Model Specified ...................................................... B-10
iii
B.3.4 Searching by an IP Address ............................................................. B-11
B.4 Data Exchange....................................................................................... B-12
B.5 EtherNet/IP List ...................................................................................... B-13
B.5.1 EtherNet/IP Information Supported by DVP-SE series PLCs .......... B-13
B.5.2 EtherNet/IP Objects Supported by DVP-SE series PLCs................ B-14
B.6 RTU Mapping ......................................................................................... B-19
B.6.1 Setting the RTU Mapping ................................................................ B-20
B.6.2 Application of the RTU Mapping ..................................................... B-21
Appendix C
C.1 TP Memory Map....................................................................................... C-2
C.2 Special Data Register .............................................................................. C-3
C.3 Special Auxiliary Relay ........................................................................... C-12
C.4 Instructions applicable to TP .................................................................. C-21
C.4.1 Basic Instructions ............................................................................ C-21
C.4.2 Numerical List of Instructions .......................................................... C-22
C.4.3 Additional Remarks on High-speed Instructions ............................. C-26
Appendix D
D.1 Current Consumption of a Slim PLC/an Extension Module ...................... D-2
D.1.1 Current supply and current consumption of a PLC (+24VDC) .......... D-2
D.1.2 Current supply and current consumption of a digital input/output
module (+24VDC) ............................................................................. D-2
D.1.3 Current consumption of a special input/output module (+24VDC) .... D-3
D.1.4 Current consumption of a left-side high-speed special module (+24VDC)
.......................................................................................................... D-3
D.1.5 Calculating the maximum current consumed by a system ................ D-3
Appendix E
E.1 DVP Series Slim Type Special Modules .................................................. E-2
E.2 Connections of a Slim Type Special Module (Work alone) ...................... E-2
E.3 Using WPL Editor ..................................................................................... E-2
Appendix F
F.1 General Specifications .............................................................................. F-2
iv
T h e D V P s e r i e s P L C s a r e l i s t e d b e l o w.
v
PLC Concepts
This chapter introduces basic and advanced concepts of ladder logic, which is the mostly
adopted programming language of PLC. Users familiar with the PLC concepts can move to
the next chapter for further programming concepts. However, for users not familiar with the
operating principles of PLC, please refer to this chapter to get a full understanding of PLC
concepts.
Chapter Contents
1-1
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Scanning process:
Read the physical input status and store the data in internal
Scan input status
memory.
Evaluate the user program with data stored in internal memory.
Evaluate user program Program scanning starts from up to down and left to right until
reaching the end of the program.
Refresh the outputs Write the evaluated data to the physical outputs
Output terminal
Output Y
Scan time
The duration of the full scan cycle (read, evaluate, write) is called “scan time.” With more I/O or
longer program, scan time becomes longer.
PLC measures its own scan time and stores the value (0.1ms) in register
Read
D1010, minimum scan time in register D1011, and maximum scan time in
scan time
register D1012.
Measure Scan time can also be measured by toggling an output every scan and then
scan time measuring the pulse width on the output being toggled.
Scan time can be calculated by adding the known time required for each
Calculate
instruction in the user program. For scan time information of individual
scan time
instruction please refer to Ch3 in this manual.
1-2
1 . P L C C o n c e p ts
Reverse Current
When a current flows from right to left, which makes a reverse current logic, an error will be
detected when compiling the program. The example below shows the reverse current flow.
X0 X1 X2 Y0
Y0
X3 a X4 X5
b
X6
1-3
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Bit, word or double word memory used for counting and has coil, contact and
C register in it. The counter count once (1 pulse) when the coil goes from OFF to
(Counter) ON. When the predefined counter value is reached, the associated contact will
(Relay) be energized. There are 16-bit and 32-bit high-speed counters available for
(Word) users.
(Dword) Device indication: Indicated as C and numbered in decimal, e.g. C0, C1,
C2…C255
Word memory stores values and parameters for data operations. Every
D register is able to store a word (16-bit binary value). A double word will occupy
(Data register) 2 consecutive data registers.
(Word) Device indication: Indicated as D and numbered in decimal, e.g. D0, D1,
D2…D4999
Word memory used as a modifier to indicate a specified device (word and
E, F
double word) by defining an offset. Index registers not used as a modifier can
(Index register)
be used as general purpose register.
(Word)
Device indication: indicated as E0 ~ E7 and F0 ~ F7.
1.5 Ladder Logic Symbols
The following table displays list of WPLSoft symbols their description, command, and memory
registers that are able to use the symbol.
Ladder Diagram
Explanation Instruction Available Devices
Structure
NO (Normally Open)
LD X, Y, M, S, T, C
contact / A contact
NC (Normally Closed)
LDI X, Y, M, S, T, C
contact / B contact
NO contact in series AND X, Y, M, S, T, C
NO contact in parallel OR X, Y, M, S, T, C
Rising-edge trigger
LDP X, Y, M, S, T, C
switch
Falling-edge trigger
LDF X, Y, M, S, T, C
switch
Rising-edge trigger in
ANDP X, Y, M, S, T, C
series
Falling-edge trigger in
ANDF X, Y, M, S, T, C
series
Rising-edge trigger in
ORP X, Y, M, S, T, C
parallel
Falling-edge trigger in
ORF X, Y, M, S, T, C
parallel
1-4
1 . P L C C o n c e p ts
Ladder Diagram
Explanation Instruction Available Devices
Structure
MPS
Multiple output branches MRD None
MPP
When evaluating the user program, PLC scan starts from left to right and proceeds to next row
down until the PLC reaches END instruction. Output coils and basic / application instructions
belong to the output process and are placed at the right of ladder diagram. The sample program
below explains the execution order of a ladder diagram. The numbers in the black circles indicate
the execution order.
X0 X1 Y1 X4
Y1
M0 T0 M3
TMR T0 K10
X3 M1
1-5
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
1.5.5 ANDP / ANDF (Connect Rising edge in series/ Connect Falling edge in series)
Similar to AND instruction, ANDP (ANDF) instruction connects rising (falling) edge triggers in series
with another device or block.
1.5.6 OR / ORI (Connect NO contact in parallel / Connect NC contact in parallel)
OR (ORI) instruction connects a NO (NC) in parallel with another device or block.
1-6
1 . P L C C o n c e p ts
ORB instruction
Note: When compiling ladder diagram with WPLSoft, MPS, MRD and MPP could be automatically
added to the compiled results in instruction format. However, sometimes the branch instructions
are ignored by WPLSoft if not necessary. Users programming in instruction format can enter branch
instructions as required.
Connection points of MPS, MRD and MPP:
MPS
MPS
MRD
MPP
MPP
Note: Ladder diagram editor in ISPSoft does not support MPS, MRD and MPP instructions. To
achieve the same results as branch instructions, users have to connect all branches to the left
hand bus bar.
WPLSoft ISPSoft
1-7
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
previous step is completed, therefore it forms a sequential control process similar to SFC
(Sequential Function Chart) mode. The STL sequence can be converted into a PLC ladder diagram
which is called “step ladder diagram” as below.
M1002
M1002 SET S0
initial S0
pulse S
S0 SET S21
S21
S SET S22
S21 S22
e
S S0
S22 RET
RET
S20
e
S
RET
Note: Always connect RET instruction immediately after the last step point indicated as the above
diagram otherwise program error may occur.
1-8
1 . P L C C o n c e p ts
X0 RET Return
CNT C0 K10 LD X0
CNT C0 K10
C0 X1 LD C0 Read C0
M0 MPS
X1 AND X1
M1
M2 OUT M0
M2 MRD
Multiple
AN I X1 outputs
RST C0 OUT M1
MPP
END AN I M2
OUT M2
RST C0
END End of program
1-9
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
The two instruction programs can be converted into the same ladder diagram. The difference
between Better and OK method is the ANB operation conducted by MPU. ANB instruction cannot
be used continuously for more than 8 times. If more than 8 ANB instructions are used continuously,
program error will occur. Therefore, apply ANB instruction after a block is made is the better
method to prevent the possible errors. In addition, it’s also the more logical and clearer
programming method for general users.
Example 2:
X0 Good method Bad method
LD X0 LD X0
X1 OR X1 LD X1
OR X2 LD X2
X2 OR X3 LD X3
ORB
X3 ORB
ORB
The difference between Good and Bad method is very clear. With longer program code, the
required MPU operation memory increases in the Bad method. To sum up, following the general
principle and applying good / better method when editing programs prevents possible errors and
improves program execution speed as well.
Common Programming Errors
PLC processes the diagram program from up to down and left to right. When editing ladder
diagram users should adopt this principle as well otherwise an error would be detected by WPLSoft
when compiling user program. Common program errors are listed below:
OR operation upward is not allowed.
1-10
1 . P L C C o n c e p ts
1 - 11
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Example 2:
When a device is to be connected to a block, connect the device to upper row for omitting ORB
instruction
T0 Instruction List
LD T0
X1 X2 LD X1
AND X2
ORB
X1 X2 Instruction List
LD X1
T0 AND X2
OR T0
Example 3:
“Reverse current” existed in diagram (a) is not allowed for PLC processing principle.
X0 Instruction List
LD X0
X1 X2 OR X1
AND X2
X3
LD X3
X4
AND X4
ORB
(a)
X3 X4 Instruction List
LD X3
X1 X2 AND X4
LD X1
X0
OR X0
AND X2
ORB
(b)
Example 4:
For multiple outputs, connect the output without additional input devices to the top of the circuit for
omitting MPS and MPP instructions.
X0 Instruction List
Y1 MPS
AND X0
Y0 OUT Y1
MPP
OUT Y0
Y0
Instruction List
OUT Y0
X0 AND X0
Y1 OUT Y1
1-12
1 . P L C C o n c e p ts
Example 5:
Correct the circuit of reverse current. The pointed reverse current loops are modified on the right.
X0 X1 X2
X0 X1 X2 X3 X4 X5
X3 X4 X5 X10
X6 X7 X10 LOO P1
X6 X7 X5
Example 6:
Correct the circuit of reverse current. The pointed reverse current loops are modified on the right.
X0 X1 X2
X0 X1 X2
X3 X4 X5
X3 X4 X5
X6 X7 X10 LOO P1
X6
X3 X4 X5 X0 X1 X4 X7 X10
X6 X7 X10 LOOP 2
LOO P2
1-13
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Stop First circuit while SET which is lower than RST forms a Start first
Start First circuit. X2
RST Y1
X1
SET Y1
Y1 X3
X2
X2 X4 Y1
Y2
X4
Y2
Y1
Y2
Because NO contact Y1 is connected to the circuit of Y2 output, Y1 becomes one of the conditions
for enabling Y2, i.e. for turning on Y2, Y1 has to be ON
Y1 X3
X2
X2 X4 Y1 X4
Y2
Y1
Y2
Y2
1-14
1 . P L C C o n c e p ts
nT T
When X0 = ON, T0 starts timing (nT). Once the set time is reached, contact T0 = ON to enable
Y1(ΔT). In next scan, Timer T0 is reset due to the reversed status of contact Y1. Therefore contact
T0 is reset and Y1 = OFF. In next scan, T0 starts timing again. The process forms an oscillating
circuit with output cycle nT+ΔT.
1-15
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Y4
Y4 X0 T
TMR T6 K30 T6
3 secs
Vertical
Light
Horizontal
Light
1-16
1 . P L C C o n c e p ts
Timing Diagram:
Vertical
Light
Red Y0
Yellow Y1
Green Y2 25 Sec
Yellow Y21
Green Y22
25 Sec
5 Sec 5 Sec
SFC Figure:
M1002
S0
T13
S0
1-17
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Ladder Diagram:
M1002
ZRST S0 S127
SET S0
S0
S SET S20
SET S30
S20
S Y0
TMR T0 K350
T0
SET S21
S21
S Y2
TMR T1 K250
T1
SET S22
S22
S TMR T2 K50
M1013
Y2
T2
SET S23
S23
S Y1
S30
S Y22
RET
END
1-18
1 . P L C C o n c e p ts
0 Transfer condition 1
T0
TRANS*
S20 S30
1 5 S22
S21 S31 TMR T2 K50
M1013
2 6 Y2
S23 S33
Transfer condition 7
T12
TRANS*
4
S0
1-19
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
MEMO
1-20
Programming Concepts
DVP-ES2/EX2/SS/SA2/SX2/SE is a programmable logic controller spanning an I/O range of
10–256 I/O points (SS2/SA2/SX2/SE: 512 points). PLC can control a wide variety of devices
to solve your automation needs. PLC monitors inputs and modifies outputs as controlled
by the user program. User program provides features such as boolean logic, counting,
timing, complex math operations, and communications to other communicating products.
Chapter Contents
2-1
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
2-2
2 . P r o g r a m m i n g C o n c e p ts
Specifications
D0~D407, 408 words, (*1)
General D600~D999, 400 words, (*1)
D3920~D9999, 6080 words, (*1)
D408~D599, 192 words, (*2)
Latched
Data D2000~D3919, 1920 words, (*2) Total
D
register D1000~D1999, 1000 words, some 10000 points
Special
are latched
For Special D9900~D9999,100 words, (*1),
mudules (*5)
Index E0~E7, F0~F7, 16 words, (*1)
N Master control loop N0~N7, 8 points
P Pointer P0~P255, 256 points
I000/I001(X0), I100/I101(X1), I200/I201(X2),
I300/I301(X3), I400/I401(X4), I500/I501(X5),
External interrupt
I600/I601(X6), I700/I701(X7), 8 points (01: rising-
edge trigger , 00: falling-edge trigger )
Pointer I602~I699, I702~I799, 2 points (Timer resolution =
Interrupt 1ms)
I Timer interrupt
Service I805~I899, 1 point (Timer resolution = 0.1ms)
(Supported by V2.00 and above)
High-speed I010, I020, I030, I040, I050, I060, I070, I080,8
counter interrupt points
Communication I140(COM1), I150(COM2), I160(COM3), 3 points,
interrupt (*3)
K-32,768 ~ K32,767 (16-bit operation),
K Decimal K-2,147,483,648 ~ K2,147,483,647 (32-bit
Constant operation)
H0000 ~ HFFFF (16-bit operation),
H Hexadecimal
H00000000 ~HFFFFFFFF (32-bit operation)
COM1: built-in RS-232 ((Master/Slave)
COM2: built-in RS-485 (Master/Slave)
COM3: built-in RS-485 (Master/Slave)
Serial ports
COM1 is typically the programming port.
Ethernet(*8): built-in Ethernet, refer to appendix B
for more details on operation
Real Time Clock(*6) Year, Month, Day, Week, Hours, Minutes, Seconds
Special I/O Modules Up to 8 special I/O modules can be connected
K0~K4999, 5000 points
File Register(*2)
K0~K7999, 8000 points (*9)
Notes:
1. Non-latched area cannot be modified
2. Latched area cannot be modified
3. COM1: built-in RS232 port. COM2: built-in RS485 port. COM3: built-in RS485 port.
4. When input points(X) are expanded to 256 points, only 16 output points(Y) are applicable. Also,
when ouput points(Y) are expanded to 256 points, only 16 input points(X) are applicable.
5. This area is applicable only when the ES2/EX2 MPU is connected with special I/O modules.
Every special I/O module occupies 10 points.
6. PLC with firmware version 2.00 or later support the function of keeping track of the current
even after the power is off. When the power is off, this function can go on for about 1 week.
7. PLC with firmware version 2.00 or later versions support the function of file register. Refer to
the instructions MEMR/MEMW for more details on operation.
8. Ethernet: this function is only available for DVP-EX2-E series PLC.
9. This function is available for ES2 and EX2 series with firmware V3.46 or later and for EX2-E
series with firmware V1.08 or later.
2-3
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
2-4
2 . P r o g r a m m i n g C o n c e p ts
Specifications
D0~D407, 408 words, (*1)
General D600~D999, 400 words, (*1)
D3920~D4999, 1080 words, (*1)
Data D408~D599, 192 words, (*2) Total
D Latched
register D2000~D3919, 1920 words, (*2) 5000 points
D1000~D1999, 1000 words, some
Special
are latched
Index E0~E7, F0~F7, 16 words, (*1)
N Master control loop N0~N7, 8 points
P Pointer P0~P255, 256 points
I000/I001(X0), I100/I101(X1), I200/I201(X2),
I300/I301(X3), I400/I401(X4), I500/I501(X5),
External interrupt
I600/I601(X6), I700/I701(X7), 8 points (01: rising-
edge trigger , 00: falling-edge trigger )
I602~I699, I702~I799, 2 points (Timer resolution =
Pointer
Interrupt 1ms)
I Timer interrupt
Service I805~I899, 1 point (Timer resolution = 0.1ms)
(Supported by V2.00 and above)
High-speed I010, I020, I030, I040, I050, I060, I070, I080, 8
counter interrupt points
Communication
I140(COM1), I150(COM2), 2 points, (*3)
interrupt
K-32,768 ~ K32,767 (16-bit operation),
K Decimal K-2,147,483,648 ~ K2,147,483,647 (32-bit
Constant operation)
H0000 ~ HFFFF (16-bit operation),
H Hexadecimal
H00000000 ~HFFFFFFFF (32-bit operation)
COM1: built-in RS-232 ((Master/Slave)
Serial ports COM2: built-in RS-485 (Master/Slave)
COM1 is typically the programming port.
Real Time Clock Year, Month, Day, Week, Hours, Minutes, Seconds
Special I/O Modules Up to 8 special I/O modules can be connected
Notes:
1. Non-latched area cannot be modified
2. Latched area cannot be modified
3. COM1: built-in RS232 port. COM2: built-in RS485 port.
4. The PLC occupies 16 input points (X0~X17) and 16 output points (Y0~Y17). The extension
input point starts from X20 and extension output point from Y20.
2-5
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
2-6
2 . P r o g r a m m i n g C o n c e p ts
Specifications
D0~D407, 408 words, (*1)
General D600~D999, 400 words, (*1)
D3920~D9799, 5880 words, (*1)
D408~D599, 192 words, (*2)
Latched
D2000~D3919, 1920 words, (*2)
Data D1000~D1999, 1000 words, some Total
D Special
register are latched 10000 points
Righ-side special
D9900~D9999, 100 words (*1) (*6)
module
Left-side special
D9800~D9899, 100 words (*1) (*7)
module
Index E0~E7, F0~F7, 16 words, (*1)
N Master control loop N0~N7, 8 points
P Pointer P0~P255, 256 points
I000/I001(X0), I100/I101(X1), I200/I201(X2),
I300/I301(X3), I400/I401(X4), I500/I501(X5),
External interrupt
I600/I601(X6), I700/I701(X7), 8 points (01: rising-
edge trigger , 00: falling-edge trigger )
I602~I699, I702~I799, 2 points (Timer resolution =
Pointer
Interrupt 1ms)
I Timer interrupt
Service I805~I899, 1 point (Timer resolution = 0.1ms)
(Supported by V2.00 and above)
High-speed I010, I020, I030, I040, I050, I060, I070, I080, 8
counter interrupt points
Communication I140(COM1), I150(COM2), I160(COM3), 3 points,
interrupt (*3)
K-32,768 ~ K32,767 (16-bit operation),
K Decimal K-2,147,483,648 ~ K2,147,483,647 (32-bit
Constant operation)
H0000 ~ HFFFF (16-bit operation),
H Hexadecimal
H00000000 ~HFFFFFFFF (32-bit operation)
COM1: built-in RS-232 ((Master/Slave)
COM2: built-in RS-485 (Master/Slave)
SA2
COM3: built-in RS-485 (Master/Slave)
COM1 is typically the programming port.
Serial Ports
COM1: built-in RS-232 ((Master/Slave)
COM2: built-in RS-485 (Master/Slave)
SX2
COM3: built-in USB (Slave)
COM1 is typically the programming port.
Real Time Clock Year, Month, Day, Week, Hours, Minutes, Seconds
Right side: Up to 8 I/O modules can be connected
Special I/O Modules Left side: Up to 8 high-speed I/O module can be
connected
File Register (*5) K0~K4999, 5000 points (*2)
Notes:
1. Non-latched area cannot be modified
2. Latched area cannot be modified
3. Please refer to the table above for more information about serial ports. SX2 does not support
I160.
4. The PLC occupies 16 input points (X0~X17) and 16 output points (Y0~Y17). The extension
input point starts from X20 and extension output point from Y20.
5. If the firmware version of an MPU is 2.0 or above, the MPU support the use of file registers.
Please refer to the instruction MEMR/MEMW for more information about the reading/writing of
data.
2-7
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
6. If an SA2/SX2 series MPU is connected to a right-side special module, and M1183 is Off, the
range of data registers can be used. Every special module connected to an SA2/SX2 series
MPU occupies ten data registers.
7. If an SA2/SX2 series MPU is connected to a left-side special module, and M1182 is Off, the
range of data registers can be used. Every special module connected to an SA2/SX2 series
MPU occupies ten data registers.
2-8
2 . P r o g r a m m i n g C o n c e p ts
Specifications
Latched S20~S127, 108 points, (*2)
General S128~S911, 784 points, (*1)
Alarm S912~S1023, 112 points, (*2)
T Current value T0~T255, 256 words
C0~C199, 16-bit counter, 200 words
C Current value
C200~C254, 32-bit counter, 55 words
D0~D407, 408 words, (*1)
D600~D999, 400 words, (*1)
General
D3920~D9799, 5880 words, (*1)
D10000~D11999, 2000 words, (*1)
Word D408~D599, 192 words, (*2)
Latched
Register D2000~D3919, 1920 words, (*2)
Data Total
D D1000~D1999, 1000 words, some
register Special 12000 points
are latched
Right-side special
D9900~D9999, 100 words, (*1) (*5)
module
Left-side special
D9800~D9899, 100 words, (*1) (*6)
module
Index E0~E7, F0~F7, 16 words, (*1)
N Master control loop N0~N7, 8 points
P Pointer P0~P255, 256 points
I000/I001(X0), I100/I101(X1), I200/I201(X2),
I300/I301(X3), I400/I401(X4), I500/I501(X5),
External interrupt
I600/I601(X6), I700/I701(X7), 8 points (01: rising-
edge trigger , 00: falling-edge trigger )
Pointer I602~I699, I702~I799, 2 points (Timer resolution =
Interrupt 1ms)
I Timer interrupt
Service I805~I899, 1 point (Timer resolution = 0.1ms)
(Supported by V1.60 and above)
High-speed I010, I020, I030, I040, I050, I060, I070, I080, 8
counter interrupt points
Communication
I150 (COM2), I160 (COM3), 2 points, (*3)
interrupt
K-32,768 ~ K32,767 (16-bit operation),
K Decimal K-2,147,483,648 ~ K2,147,483,647 (32-bit
Constant operation)
H0000 ~ HFFFF (16-bit operation),
H Hexadecimal
H00000000 ~HFFFFFFFF (32-bit operation)
COM1: built-in USB (Slave)
COM2: built-in RS-485 (Master/Slave)
COM3: built-in RS-485 (Master/Slave)
Serial Ports
Ethernet: built-in Ethernet (Please refer to Appendix
B for more information.)
COM1 is typically the programming port.
Real Time Clock Year, Month, Day, Week, Hours, Minutes, Seconds
Right side: Up to 8 I/O modules can be connected
Special I/O Modules Left side: Up to 8 high-speed I/O modules can be
connected
Notes:
1. Non-latched area cannot be modified
2. Latched area cannot be modified
3. COM2: built-in RS485 port. COM3: built-in RS485 port.
4. The PLC occupies 16 input points (X0~X17) and 16 output points (Y0~Y17). The extension
input point starts from X20 and extension output point from Y20.
2-9
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
5. If an SE series MPU is connected to a right-side special module, and M1183 is Off, the range
of data registers can be used. Every special module connected to an SE series MPU occupies
ten data registers.
6. If an SE series MPU is connected to a left-side special module, and M1182 is Off, the range of
data registers can be used. Every special module connected to an SE series MPU occupies
ten data registers.
2.5 Status and Allocation of Latched Memory
Clear all
Clear all
Memory Power non-latched Factory
STOP=>RUN RUN=>STOP latched areas
type OFF=>ON areas setting
(M1032=ON)
(M1031=ON)
When
M1033=OFF,
Non- clear
Clear Unchanged Clear Unchanged 0
latched When
M1033=ON, No
change
Latched Unchanged Unchanged Clear 0
Special
M,
Initial
Special Initial Unchanged Unchanged
setting
D, Index
register
File
Unchanged HFFFF
register
2-10
2 . P r o g r a m m i n g C o n c e p ts
W1 W0 Word
Bit
2 - 11
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Exception:
If K is used with an X/Y/M/S device, a nibble device, a byte device, a word device, or a
double word device will be formed.
Example:
K1Y10 represents a device composed of 4 bits, K2Y10 represents a device composed of 8
bits, K3Y10 represents a device composed of 12 bit, and K4Y10 represents a device
composed of 16 bits. K1M100 represents a device composed of 4 bits, K2M100 represents
a device composed of 8 bits, K3M100 represents a device composed of 12 bit, and
K4M100 represents a device composed of 16 bits.
Constant (H): A hexadecimal number in a PLC is generally preceded by H. For example, the
hexadecimal number H100 represents the decimal number 256.
Reference Table:
Hexadecimal
Binary Octal Decimal (K) BCD
(H)
(BIN) (OCT) (DEC) (Binary Code Decimal)
(HEX)
For PLC Costant K, No. of
No. of X, Y For DIP Switch and 7-
internal registers M, S, T, C, Constant H
relay segment display
operation D, E, F, P, I devices
0000 0 0 0000 0
0001 1 1 0001 1
0010 2 2 0010 2
0011 3 3 0011 3
0100 4 4 0100 4
0101 5 5 0101 5
0110 6 6 0110 6
0111 7 7 0111 7
1000 10 8 1000 8
1001 11 9 1001 9
1010 12 10 0000 A
1011 13 11 0001 B
1100 14 12 0010 C
1101 15 13 0011 D
1110 16 14 0100 E
1111 17 15 0101 F
10000 20 16 0110 10
10001 21 17 0111 11
2.8 M Relay
The types and functions of special auxiliary relays (special M) are listed in the table below. Care
should be taken that some devices of the same No. may bear different meanings in different series
MPUs. Special M and special D marked with “*” will be further illustrated in 2.13. Columns marked
with “R” refers to “read only”, “R/W” refers to “read and write”, “-“ refers to the status remains
unchanged and “#” refers to that system will set it up according to the status of the PLC.
OFF STOP RUN
Special ES2 SA2 Latch
Function SS2 SX2 Attrib. Default
M EX2 SE -ed
ON RUN STOP
M1000* Monitor normally open contact ○ ○ ○ ○ OFF ON OFF R NO OFF
M1001* Monitor normally closed contact ○ ○ ○ ○ ON OFF ON R NO ON
Enable single positive pulse at the
M1002* moment when RUN is activate (Normally ○ ○ ○ ○ OFF ON OFF R NO OFF
OFF)
Enable single negative pulse at the
M1003* moment when RUN is activate (Normally ○ ○ ○ ○ ON OFF ON R NO ON
ON)
M1004* ON when syntax errors occur ○ ○ ○ ○ OFF OFF - R NO OFF
M1008* Watchdog timer (ON: PLC WDT time out) ○ ○ ○ ○ OFF OFF - R NO OFF
Indicate LV signal due to 24VDC
M1009 ○ ○ ○ ○ OFF - - R NO OFF
insufficiency
M1011* 10ms clock pulse, 5ms ON/5ms OFF ○ ○ ○ ○ OFF - - R NO OFF
2-12
2 . P r o g r a m m i n g C o n c e p ts
2-13
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
2-14
2 . P r o g r a m m i n g C o n c e p ts
2-15
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
2-16
2 . P r o g r a m m i n g C o n c e p ts
2-17
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
2-18
2 . P r o g r a m m i n g C o n c e p ts
2-19
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
2-20
2 . P r o g r a m m i n g C o n c e p ts
2-21
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
2-22
2 . P r o g r a m m i n g C o n c e p ts
2-23
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
2.9 S Relay
Initial step relay Starting instruction in Sequential Function Chart (SFC).
S0~S9, total 10 points.
Zero return step relay Returns to zero point when using IST instruction in program. Zero
return step relays not used for IST instruction can be used as
general step relays.
S10~S19, total 10 ponits.
Latched step relay In sequential function chart (SFC), latched step relay will be saved
when power loss after running. The state of power on after power
loss will be the same as the sate before power loss.
S20 ~ S127, total 108 points.
General purpose step relay General relays in sequential function chart (SFC). They will be
cleared when power loss after running.
S128 ~ S911, total 784 points.
Alarm step relay Used with alarm driving instruction API 46 ANS as an alarm
contact for recording the alarm messages or eliminating external
malfunctions.
S912 ~ S1023, total 112 points.
2.10 T (Timer)
The units of the timer are 1ms, 10ms and 100ms and the counting method is counting up. When
the present value in the timer equals the set value, the associated output coil will be ON. The set
value should be a K value in decimal and can be specified by the content of data register D.
The actual set time in the timer = timer resolution× set value
Ex: If set value is K200 and timer resolution is 10ms, the actual set time in timer will be 10ms*200 =
2000ms = 2 sec.
General Timer
The timer executes once when the program reaches END instruction. When TMR instruction is
2-24
2 . P r o g r a m m i n g C o n c e p ts
executed, the timer coil will be ON when the current value reaches its preset value.
When X0 = ON, TMR instruction is driven. When current value achieves K100, the assocailte timer
contact T0 is ON to drive Y0. If X0 = OFFor the power is off, the current value in T0 will be cleared
as 0 and output Y0 driven by contact T0 will be OFF.
X0
TMR T0 K100
T0
Y0 10 sec
X0
K100
present
T0 value
Y0
Accumulative Timer
The timer executes once when the program reaches END instruction. When TMR instruction is
executed, the timer coil will be ON when the current value reaches its preset value. For
accumulative timers, current value will not be cleared when timing is interrupted.
Timer T250 will be driven when X0 = ON. When X0 = OFFor the power is off, timer T250 will pause
and retain the current value. When X0 is ON again, T250 resumes timing from where it was paused.
X0
TMR T250 K100
T250
Y0
T1 T2 T1+T2=10sec
X0
K100
present
T250 value
Y0
2-25
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
16 bits
32 bits counters
counters
operation stop when value reached. The count value will become counting when preset
preset value -2,147,483,648 if one more count is added value is reached. The
reached to +2,147,483,647 count value will
become 0 if one more
count is added to
+2,147,483,647
Ouptut Coil
Output coil is ON when counter reaches or Output coil is ON
Output will be ON
is above preset value. when counter
contact when counter
Output coil is OFF when counter is below reaches or is above
function reaches
preset value. preset value
preset value.
Associated devices
are activated
immediately when
High speed
- preset value is -
conparison
reached, i.e.
independant of scan
time.
Reset The present value will reset to 0 when RST instruction is executed, output coil will
action be OFF.
Example:
LD X0 X0
RST C0
RST C0
LD X1 X1
CNT C0 K5
CNT C0 K5
C0
LD C0
Y0
OUT Y0
When X0 = ON, RST instruction resets X0
C0. Every time When X1 is driven, C0 will
count up (add 1).
When C0 reaches the preset value K5, X1
output coil Y0 will be ON and C0 will stop
counting and ignore the signals from input 5
4
X1. C0 3
settings
present 2
value 1
0 0
Contacts Y0, C0
M relays M1200~M1254 are used to set the up/down counting direction for C200~C254
respectively. Setting the corresponding M relay ON will set the counter to count down.
Example:
LD X10
X10
OUT M1200
M1200
LD X11
X11
RST C200 RST C200
LD X12 X12
CNT C200 K-5 DCNT C200 K-5
LD C200 C200
Y0
OUT Y0
2-26
2 . P r o g r a m m i n g C o n c e p ts
Note:
1. SHSC supports max 10kHz input pulse on single point. Max 8 counters are applicable in the
same time.
2. An SS2/SA2/SE model does not support a two-phase two-input counter (C232 with the input
points X0 and X2).
3. For 2-phase 2-input conuting, (X4, X5) (C233) and (X6, X7) (C234), max 5kHz. (X0,X2) (C232),
max 15kHz.
4. 2-phase 2-input counting supports double and quadruple frequency, which is selected in D1022
as the table shown below.
2-27
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
5. R/F (Rising edge trigger/ Falling edge trigger) can also be specified by special M. OFF = Rising;
ON = Falling.
6. U/D (Count up/Count down) can be specified by special M. OFF = count up; ON = count down.
Applicable Hardware High Speed Counters:
C 1-phase
1-phase 2-input 2-phase 2-input
input
X C243 C244 C245 C246 C247 C248 C249#2 C250#2 C251 C252 C253 C254
X0 U U/D U/D U U A A
X1 R Dir Dir D D B B
X2 U U/D U/D A A
X3 R Dir Dir B B
X4 R R R
X5 R R
U: Count up A: Phase A input Dir: Directoin signal input
D: Count down B: Phase B input R: Reset signal input
Note:
1. The max frequency of the 1-phase input counters X0 (C243) and X2 (C244) is 100kHz on
ES2/EX2/SA2/SX2 model and 20kHz on SS2 model.
2. An SE model does not support the counters C249 and C250.
3. The max frequency of the 1-phase 2-input counters (X0, X1) (C245, C246) and (X2, X3) (C249,
C250) is 100kHz on ES2/EX2/SA2/SX2 model and 20kHz on SS2 model.
4. The max frequency of the 1-phase 2-input counters (X0, X1) (C247, C248) is 10kHz on
ES2/EX2/SS2/SX2 model and 100kHz on 32ES211T and SA2 model.
5. The max frequency of the 2-phase 2-input counter (X0, X1) (C251, C252) is 5kHz on ES2/EX2
model, 10kHz on SS2/SX2 model and 30kHz on 32ES211Tmodel. For ES2 series released
after the year of 2013, the max frequency for 12SA2, 28SA2, 12SE and 26SE are up to 50kHz.
6. The max frequency of the 2-phase 2-input counter (X2, X3) (C253, C254) is 5kHz on
ES2/EX2/SA2 model, 10 kHz on SS2/SX2 model and 30kHz on 32ES211T. For ES2 series
released after the year of 2013, the max frequency for 28SA2 and 26SE are up to 50kHz.
7. 2-phase 2-input counting supports double and 4 times frequency, which is selected in D1022
as the table in next page. Please refer to the below table for detailed counting wave form.
D1022 Counting mode
K1
K2
(Double Frequency)
K4 or other value
(Quadruple frequency)
(Default)
8. DVP-ES2/DVP-SS2 series PLCs whose firmware version is 2.80 or above support the single
frequency mode. DVP-SA2/DVP-SX2 series PLCs whose firmware version is 2.00 support the
2-28
2 . P r o g r a m m i n g C o n c e p ts
single frequency mode. The other PLCs support the three modes.
9. C243 and C244 support count-up mode only and occupy the associate input points X1 and X3
as reset (“R”) function. If users do not need to apply reset function, set ON the associated
special M relays (M1243 and M1244) to disable the reset function.
10. “Dir” refers to direction control function. OFF indicates counting up; ON indicates counting
down.
11. When X1, X3, X4 and X5 is applied for reset function and associated external interrupts are
disabled, users can define the reset function as Rising/Falling-edge triggered by special M
relays
Reset Function X1 X3 X4 X5
R/F M1271 M1273 M1274 M1275
12. When X1, X3, X4 and X5 is applied for reset function and external interrupts are applied, the
interrupt instructions have the priority in using the input points. In addition, PLC will move the
current data in the counters to the associated data registers below then reset the counters.
Special D D1241, D1240 D1243, D1242
Counter C243 C246 C248 C252 C244 C250 C254
X1 X3
External Interrupt X4(I400/I401) X5(I500/I501)
(I100/I101) (I300/I301)
Example:
EI
M1000
DCNT C243 K100
FEND
M1000
I101 DMOV D1240 D0
IRET
END
When C243 is counting and external interrupt is triggerred from X1(I101), counted value in C243
will be move to (D1241, D1240) immediately then C243 is reset. After this interrupt I101 executes.
1-phase 1 input high-speed counter:
Example:
LD X20 X20
RST C235 RST C235
LD X21 X21
OUT M1235 M1235
X22
LD X22
DCNT C235 K5
DCNT C235 K5
C235
LD C235
Y0
OUT Y0
1. X21 drives M1235 to determine counting direction (Up/Down) of C235.
2. When X20 = ON, RST instsruction executes and the current value in C235 will be cleared.
Contact C235 will be OFF
3. When X22 = ON, C235 receives signals from X0 and counter will count up (+1) or count down
(-1).
4. When counter C235 reaches K5, contact C235 will be ON. If there is still input signal input for
X0, it will keep on counting.
2-29
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
counting down
X21,M1243 contact counting up
X20
X22
X0
C243
present 7
value 6 6
5 5
4 4
3 3
2
1
0
LD X21 X21
DCNT C247 K5
DCNT C247 K5
C247
LD C247
Y0
OUT Y0
1. When X20 is ON, RST instsruction executes and the current value in C247 will be cleared.
Contact C247 will be OFF.
2. When X21=ON, C247 receives count signals from X0 and counter counts up (+1), or C247
receives count signal from X1 and counter counts down (-1)
3. When C247 reaches K5, contact C247 will be ON. If there is still input signal from X0 or X1,
C247 will keep on counting
X20
X21
X0
count up
X1
count down
C247
present 7
value 6 6
5 5
4 4
3 3
2
1
0
Y0, C247 contact
2-30
2 . P r o g r a m m i n g C o n c e p ts
LD X20 X20
RST C251 RST C251
LD X21 X21
DCNT C251 K5
DCNT C251 K5
C251
LD C251
Y0
OUT Y0
1. When X20 is ON, RST instsruction executes and the current value in C251 will be cleared.
Contact C251 will be OFF.
2. When X21 is ON, C251 receives A phase counting signal of X0 input terminal and B phase
counting signal of X1 input terminal and executes count up or count down
3. When counter C251 reaches K5, contact C251 will be ON. If there is still input signal from X0
or X1, C251 will keep on counting
4. Counting mode can be specified as double frequency or 4-times frequency by D1022. Default:
quadruple frequency.
X20
X21
A-phase X0
B-phase X1
6
C251 present value 5 5
4 4
3 3 3
2 2
1 Counting up 1
Counting down
0 0
2-31
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
2-32
2 . P r o g r a m m i n g C o n c e p ts
2-33
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
2-34
2 . P r o g r a m m i n g C o n c e p ts
2-35
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
2-36
2 . P r o g r a m m i n g C o n c e p ts
2-37
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
2-38
2 . P r o g r a m m i n g C o n c e p ts
2-39
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
2-40
2 . P r o g r a m m i n g C o n c e p ts
2-41
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
32-bit
F0 E0
High word Low word
2-42
2 . P r o g r a m m i n g C o n c e p ts
MOV K14 F0
I602/I699, I702/I799, 2
points (Timer resolution=1 The location point of
Pointer I
ms), I805/I899, 1 point interrupt subroutine.
(Timer resolution=0.1 ms)
Timer interrupt
(available for SE/ES2-E,
for other series, firmware
version should be V2.00
or later)
I010, I020, I030, I040,
High-speed counter
I050, I060, I070, I080, 8
interrupt
points
I140(COM1: RS232),
Communication I150(COM2: RS-485),
interrupt I160(COM3: RS-485), 3
points
Nest Level Pointer N: used with instruction MC and MCR. MC is master start instruction. When
the MC instruction is executed, the instructions between MC and MCR will be executed normally.
MC-MCR master control instruction is nested level structure and max. 8 levels can be applicable,
which is numbered from N0 to N7.
Pointer P: used with application instructions CJ, CALL, and SRET.
CJ condition jump:
When X0 = ON, program will jump from address 0 to N (designated label P1) and keep on the
execution. Instructions between 0 and N will be ignored.
When X0 = OFF, program will execute from 0 and keep on executing the followings. CJ instruction
2-43
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
X1
Y1
X2
P1 N Y2
FEND
P2 Y0
(subroutine
P2) subroutine
Y1
Interrupt pointer I: used with application instruction API 04 EI, API 05 DI, API 03 IRET. There are
four types of interruption pointers. To insert an interruption, users need to combine EI (enable
interruption), DI (disable interruption) and IRET (interruption return) instructions.
When the instruction EI is enabled, the PLC will check if there is any interrupt that need to be done
everytime an instruction is executed. If an interrupt is found, the PLC will stop executing the
instruction and execute the interrupt first. If no interrupt is found, the PLC will keep executing the
instruction. From the explanation, we can conclude that the maximum waiting time for an interrupt
to be executed is the execution time of an instruction.
Check interrupt Check interrupt
Interrupt
sub-routine
1. External interrupt
When input signal of input terminal X0~X7 is triggered on rising-edge or falling-edge, it will
interrupt current program execution and jump to the designated interrupt subroutine pointer
2-44
2 . P r o g r a m m i n g C o n c e p ts
Normally ON contact
in PLC RUN status Keeps being ON
M1001:
NC contact for monitoring PLC status. M1001 remains “OFF” when PLC is running.
M1002:
Enables single positive pulse for the first scan when PLC RUN is activated. Used to initialize
registers, ouptuts, or counters when RUN is executed..
M1003:
Enables single negative pulse for the first scan when PLC RUN is activated. Used to initialize
2-45
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
M1000
M1001
M1002
M1003
scan time
2-46
2 . P r o g r a m m i n g C o n c e p ts
100 ms
M1013 (1 sec) 1 Hz
1 min
2-47
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
normally ON contact
5. It is not necessary to adjust response time when using high-speed counters or interrupts
2-48
2 . P r o g r a m m i n g C o n c e p ts
6. Using API 51 REFF instruction has the same effect as modifying D1020 and D1021.
2-49
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Port
COM1 COM2 COM3
Item
Number Communication format D1036 D1120 D1109
Communication setting holding M1138 M1120 M1136
ASCII/RTU mode M1139 M1143 M1320
Slave communication address D1121 D1255
Contents:
COM ports (COM1: RS-232, COM2: RS-485, COM3: RS-485) support communication format of
MODBUS ASCII/RTU modes. When RTU format is selected, the data length should be set as 8.
COM2 and COM3 support transmission speed up to 921kbps. COM1, COM2 and COM3 can be
used at the same time.
COM1:
Can be used in master or slave mode. Supports ASCII/RTU communication format, baudrate
(115200bps max), and modification on data length (data bits, parity bits, stop bits). D1036: COM1
(RS-232) communication protocol of master/slave PLC. (b8 - b15 are not used) Please refer to
table below for setting.
COM2:
Can be used in master or slave mode. Supports ASCII/RTU communication format, baudrate
(921kbps max), and modification on data length (data bits, parity bits, stop bits). D1120: COM2
(RS-485) communication protocol of master/slave PLC. Please refer to table below for setting.
COM3:
2-50
2 . P r o g r a m m i n g C o n c e p ts
Can be used in master or slave mode. Supports ASCII/RTU communication format, baudrate
(921kbps max), and modification on data length (data bits, parity bits, stop bits). D1109: COM3
(RS-485) communication protocol of master/slave PLC. (b8 - b15 are not used) Please refer to
table below for setting.
Content
0: 7 data bits, 1: 8 data bits
b0 Data Length
(RTU supports 8 data bits only)
00: None
b1
Parity bit 01: Odd
b2
11: Even
b3 Stop bits 0: 1 bit, 1: 2bits
b4 0001(H1): 110
b5 0010(H2): 150
b6 0011(H3): 300
b7 0100(H4): 600
0101(H5): 1200
0110(H6): 2400
0111(H7): 4800
1000(H8): 9600
Baud rate 1001(H9): 19200
1010(HA): 38400
1011(HB): 57600
1100(HC): 115200
500000 (COM2 /
1101(HD):
COM3)
31250 (COM2 /
1110(HE):
COM3)
921000 (COM2 /
1111(HF):
COM3)
b8 Select start bit 0: None 1: D1124
b9 Select the 1st end bit 0: None 1: D1125
b10 Select the 2nd end bit 0: None 1: D1126
b11~b15 Undefined
SET M1138
2-51
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
M1002
MOV H86 D1120
SET M1120
SET M1136
SET M1138
SET M1139
COM2:
M1002
MOV H87 D1120
SET M1120
SET M1143
COM3:
M1002
MOV H87 D1109
SET M1136
SET M1320
Note:
1. The modified communication format will not be changed when PLC state turns from RUN to
STOP.
2-52
2 . P r o g r a m m i n g C o n c e p ts
2. If the PLC is powered OFF then ON again in STOP status, the modified communication format
on COM1~COM3 will be reset to default communication format (9600, 7, E, 1).
Definitions of the pins in COM1: (It is suggested that users should use the Delta communication
cable DVPACAB2A30.)
CN1 3000 ± 50 CN2
31. 0
3 CN1
1 6
4 7
2 8 Unit: mm
5
PC/HMI COM PLC COM1
9 PI N D-S UB female 8 PIN MINI DI N
Tx 3 4 Rx 2 1
Rx 2 5 Tx 5 4 3
GND 5 8 GND 8 6
1 7 1,2 5V 7
4 8
6
M1002
ZRST C235 C242
END
2-53
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
normally ON
contact MOV P K20 D1039
2. Instructions related to scan time, RAMP, HKY, SEGL, ARWS and PR should be used with
“fixed scan time” or “timed interrupt”.
3. Particularly for instruction HKY, which is applied for 16-keys input operated by 4x4 matrix,
scan time should be set to 20ms or above.
4. Scan time displayed in D1010~D1012 also includes fixed scan time.
2-54
2 . P r o g r a m m i n g C o n c e p ts
6. The descriptions of the special data registers for the analog functions:
Device Function
Average number of times analog input signals are input through CH0~CH3 of
20EX2/SX2: 1~20, Default = K2
D1062
Average number of times analog input signals are input through CH0~CH2 of
30EX2: 1~15, Default = K2
D1110 Average value of EX2/SX2 analog input channel 0 (AD 0)
D1111 Average value of EX2/SX2 analog input channel 1 (AD 1)
D1112 Average value of EX2/SX2 analog input channel 2 (AD 2)
Average value of 20EX2/SX2 analog input channel 3 (AD 3)
If D1062 is ON, the average value is the current value.
D1113
Displaying the status of the analog input channel of 30EX2
Please see the explanation below for more information.
Enable/disable 20EX2/SX2 AD channels
(0: enable (default) / 1: disable)
D1114
bit0~bit3 sets AD0~AD3.
30EX2 does not support this function.
D1116 Output value of analog output channel 0 (DA 0) of EX2/SX2
Output value of analog output channel 1 (DA 1) of 20EX2/SX2
D1117
30EX2 does not support this function.
For EX2/SX2 series, sampling time of analog/digital conversion. Sampling
D1118
time will be regarded as 2ms If D1118≦2.
The upper/lower limit values for the analog input mode of 30EX2:
Analog input mode Upper limit value Lower limit value
-10~+10 V
+32384 -32384
Voltage -5V~+5 V
+1 V~+5 V +32384 -384
-20 mA~+20 mA +32384 -32384
Current
+4 mA~+20 mA +32384 -384
PT100/PT1000 +8100 -1900
Temperature
NI100/NI1000 +1800 -900
Device
Function
number
20EX2/SX2 analog input/output mode setting (Default=H’0)
bit0~bit5: Selection between the voltage/current mode (0: Voltage; 1: Current;
Default: Voltage)
bit0~bit3: Analog inputs (AD0~AD3)
D1115 bit4~bit5: Analog outputs (DA0~DA1)
bit8~bit 13: Current mode
bit8~bit11: AD0~AD3 (0: -20 mA~20 mA; 1: 4~20 mA)
bit12~bit13: DA0~DA1 (0: 0~20 mA; 1: 4~20 mA)
30EX2 analog input/output mode setting (Default=H’FFFF)
2-55
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
2-56
2 . P r o g r a m m i n g C o n c e p ts
M0
DMOV K100000 D0
M1
DMOV K50000 D2
M2
DMOV K100000 D10
M3
DMOV K50000 D12
DMOV K0 D1030
DMOV K0 D1336
M0
SET M1119
M1
M0
DDRVI D10 D0 Y0 Y1
M1029
S0
M1
DDRVI D10 D0 Y2 Y3
M1102
S1
END
2-57
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
EI
FEND
M1000
I001 INC D0
IRET
END
2-58
2 . P r o g r a m m i n g C o n c e p ts
EI
M1000
DCNT C243 K100
FEND
M1000
I101 DMOV D1240 D0
IRET
END
When external interrupt (X1, I101) occurs during counting process of C243, the count value in
C243 will be stored in (D1241, D1240) and C243 is reset. After this, the interrupt subroutine I101
will be executed
Function Group Output specified pulses or seek Z phase signal when zero point is achieved.
Number M1308, D1312
Contents:
When zero point is achieved, PLC can output specified pulses or seek Z phase signal by this
function. Input terminals X2, X3 are the Z-phase signal input point of CH1, CH2. When M1308= ON,
D1312 is the setting register to specify the additional pulses within the range -30,000~30,000.
Specified value exceeds the range will be changed as the max/min value automatically. When
D1312 is set to 0, the additional pulses output function will be disabled.
Functions of other input terminals:
X4 → CH1 DOG signal input X6 → CH2 DOG signal input
X5 → CH1 LSN signal input X7 → CH2 LSN signal input
2-59
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Function Group Mapping function of SA2/SX2/SE for left-side high-speed special modules
Number M1182, D9800~D9879
Contents:
The default value of M1182 in SA2 version 2.42/SX2 version 2.20 and below is Off. When M1182 is
Off, the mapping function is enabled.
The default value of M1182 in SA2 version 2.60/SX2 version 2.40 and above/SE is On. When
M1182 is On, the mapping function is disabled.
Example:
If the modules connected to SA2 from left to right are 04DA-SL and 04AD-SL, and M1182 is Off,
D9810~D9813 will be assigned to 04DA-SL, and D9800~D9803 will be assigned to 04AD-SL.
Model name 04DA-SL 04AD-SL SA2
Channel 1 (Ch1) D9810 D9800
Channel 2 (Ch2) D9811 D9801
Channel 3 (Ch3) D9812 D9802
Channel 4 (Ch4) D9813 D9803
2-60
2 . P r o g r a m m i n g C o n c e p ts
2. Special D and special M corresponding to Slave ID1~ Slave ID8: (M1353 = OFF, access
available for only 16 words)
MASTER PLC
SLAVE ID 1 SLAVE ID 2 SLAVE ID 3 SLAVE ID 4 SLAVE ID 5 SLAVE ID 6 SLAVE ID 7 SLAVE ID 8
Read Write Read Write Read Write Read Write Read Write Read Write Read Write Read Write
out in out in out in out in out in out in out in out in
Special D registers for storing the read/written 16 data (Auto-assigned)
D1480 D1496 D1512 D1528 D1544 D1560 D1576 D1592 D1608 D1624 D1640 D1656 D1672 D1688 D1704 D1720
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
D1495 D1511 D1527 D1543 D1559 D1575 D1591 D1607 D1623 D1639 D1655 D1671 D1687 D1703 D1719 D1735
Data length for accessing the Slave (Max 16 pieces of data, no access is performed when SV = 0)
D1434 D1450 D1435 D1451 D1436 D1452 D1437 D1453 D1438 D1454 D1439 D1455 D1440 D1456 D1441 D1457
Starting reference of the Slave to be accessed*
D1355 D1415 D1356 D1416 D1357 D1417 D1358 D1418 D1359 D1419 D1360 D1420 D1361 D1421 D1362 D1422
M1355 = ON, Slave status is user-defined. Set the linking status of Slave manually by M1360~M1367.
M1355 = OFF, Slave status is auto-detected. Linking status of Slave can be monitored by M1360~M1367
M1360 M1361 M1362 M1363 M1364 M1365 M1366 M1367
Data interchange status of Slaves.
M1376 M1377 M1378 M1379 M1380 M1381 M1382 M1383
Error flag for errors occurred when reading and writing (ON = normal; OFF = error)
M1392 M1393 M1394 M1395 M1396 M1397 M1398 M1399
“Reading completed” flag (turns “Off” whenever access of a Slave is completed)
M1408 M1409 M1410 M1411 M1412 M1413 M1414 M1415
“Writing completed” flag (turns “Off” whenever access of a Slave is completed)
M1424 M1425 M1426 M1427 M1428 M1429 M1430 M1431
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
Slave PLC*
SLAVE ID 1 SLAVE ID 2 SLAVE ID 3 SLAVE ID 4 SLAVE ID 5 SLAVE ID 6 SLAVE ID 7 SLAVE ID 8
Read Write Read Write Read Write Read Write Read Write Read Write Read Write Read Write
out in out in out in out in out in out in out in out in
D100 D200 D100 D200 D100 D200 D100 D200 D100 D200 D100 D200 D100 D200 D100 D200
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
D115 D215 D115 D215 D115 D215 D115 D215 D115 D215 D115 D215 D115 D215 D115 D215
3. Special D and special M corresponding to Slave ID9~ Slave ID16: (M1353 = OFF, access
available for only 16 words)
MASTER PLC
SLAVE ID 9 SLAVE ID 10 SLAVE ID 11 SLAVE ID 12 SLAVE ID 13 SLAVE ID 14 SLAVE ID 15 SLAVE ID 16
Read Write Read Write Read Write Reado Write Read Write Read Write Read Write Read Write
out in out in out in ut in out in out in out in out in
Special D registers for storing the read/written 16 pieces of data (Auto-assigned)
D1736 D1752 D1768 D1784 D1800 D1816 D1832 D1848 D1864 D1880 D1896 D1912 D1928 D1944 D1960 D1976
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
D1751 D1767 D1783 D1799 D1815 D1831 D1847 D1863 D1879 D1895 D1911 D1927 D1943 D1959 D1975 D1991
Data length for accessing the Slave (Max 16 pieces of data, no access is performed when SV = 0)
D1442 D1458 D1443 D1459 D1444 D1460 D1445 D1461 D1446 D1462 D1447 D1463 D1448 D1464 D1449 D1465
Starting reference of the Slave to be accessed*
D1363 D1423 D1364 D1424 D1365 D1425 D1366 D1426 D1367 D1427 D1368 D1428 D1369 D1429 D1370 D1430
M1355 = ON, Slave status is user-defined. Set the linking status of Slave manually by M1368~M1375.
M1355 = OFF, Slave status is auto-detected. Linking status of Slave can be monitored by M1368~M1375
M1368 M1369 M1370 M1371 M1372 M1373 M1374 M1375
Data interchange status of Slaves
M1384 M1385 M1386 M1387 M1388 M1389 M1390 M1391
Access error flag (ON = normal; OFF = error)
M1400 M1401 M1402 M1403 M1404 M1405 M1406 M1407
“Reading completed” flag (turns “Off” whenever access of a Slave is completed)
M1416 M1417 M1418 M1419 M1420 M1421 M1422 M1423
“Writing completed” flag (turns “Off” whenever access of a Slave is completed)
M1432 M1433 M1434 M1435 M1436 M1437 M1438 M1439
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
Slave PLC*
SLAVE ID 9 SLAVE ID 10 SLAVE ID 11 SLAVE ID 12 SLAVE ID 13 SLAVE ID 14 SLAVE ID 15 SLAVE ID 16
Read Write Read Write Read Write Reado Write Read Write Read Write Read Write Read Write
out in out in out in ut in out in out in out in out in
D100 D200 D100 D200 D100 D200 D100 D200 D100 D200 D100 D200 D100 D200 D100 D200
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
D115 D215 D115 D215 D115 D215 D115 D215 D115 D215 D115 D215 D115 D215 D115 D215
2-61
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
4. Special D and special M corresponding to Slave ID1~ID8: (M1353 = ON, access available for
up to 50 words) (DVP-12SE V1.6 and DVP-26SE V2.0 supports 100 words at most.)
MASTER PLC
SLAVE ID 1 SLAVE ID 2 SLAVE ID 3 SLAVE ID 4 SLAVE ID 5 SLAVE ID 6 SLAVE ID 7 SLAVE ID 8
Read Write Read Write Read Write Reado Write Read Write Read Write Read Write Read Write
out in out in out in ut in out in out in out in out in
M1353 = ON, enable access up to 50 words.
The user can specify the starting register for storing the read/written data in registers below.
D1480 D1496 D1481 D1497 D1482 D1498 D1483 D1499 D1484 D1500 D1485 D1501 D1486 D1502 D1487 D1503
M1356 = ON, the user can specify the station number of Slave ID1~ID8 in D1900~D1907
D1900 D1901 D1902 D1903 D1904 D1905 D1906 D1907
Data length for accessing the Slave (Max 50 pieces of data, no access is performed when SV = 0)
D1434 D1450 D1435 D1451 D1436 D1452 D1437 D1453 D1438 D1454 D1439 D1455 D1440 D1456 D1441 D1457
Starting reference of the Slave to be accessed*
D1355 D1415 D1356 D1416 D1357 D1417 D1358 D1418 D1359 D1419 D1360 D1420 D1361 D1421 D1362 D1422
M1355 = ON, Slave status is user-defined. Set the linking status of Slave manually by M1360~M1367.
M1355 = OFF, Slave status is auto-detected. Linking status of Slave can be monitored by M1360~M1367
M1360 M1361 M1362 M1363 M1364 M1365 M1366 M1367
Data interchange status of Slaves
M1376 M1377 M1378 M1379 M1380 M1381 M1382 M1383
Error flag for errors occurred when reading and writing (ON = normal; OFF = error)
M1392 M1393 M1394 M1395 M1396 M1397 M1398 M1399
“Reading completed” flag (turns “Off” whenever access of a Slave is completed)
M1408 M1409 M1410 M1411 M1412 M1413 M1414 M1415
“Writing completed” flag (turns “Off” whenever access of a Slave is completed)
M1424 M1425 M1426 M1427 M1428 M1429 M1430 M1431
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
Slave PLC*
SLAVE ID 1 SLAVE ID 2 SLAVE ID 3 SLAVE ID 4 SLAVE ID 5 SLAVE ID 6 SLAVE ID 7 SLAVE ID 8
Read Write Read Write Read Write Reado Write Read Write Read Write Read Write Read Write
out in out in out in ut in out in out in out in out in
D100 D200 D100 D200 D100 D200 D100 D200 D100 D200 D100 D200 D100 D200 D100 D200
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
D115 D215 D115 D215 D115 D215 D115 D215 D115 D215 D115 D215 D115 D215 D115 D215
5. Special D and special M corresponding to Slave ID9~ID16: (M1353 = ON, access available for
up to 50 words) (DVP-12SE V1.6 and DVP-26SE V2.0 supports 100 words at most.)
MASTER PLC
SLAVE ID 9 SLAVE ID 10SLAVE ID 11 SLAVE ID 12 SLAVE ID 13 SLAVE ID 14 SLAVE ID 15 SLAVE ID 16
Read Write Read Write Read Write Reado Write Read Write Read Write Read Write Read Write
out in out in out in ut in out in out in out in out in
M1353 = ON, enable access up to 50 words.
The user can specify the starting register for storing the read/written data in registers below.
D1488 D1504 D1489 D1505 D1490 D1506 D1491 D1507 D1492 D1508 D1493 D1509 D1494 D1510 D1495 D1511
M1356 = ON, the user can specify the station number of Slave ID9~ID16 in D1908~D1915
D1908 D1909 D1910 D1911 D1912 D1913 D1914 D1915
Data length for accessing the Slave (Max 50 pieces of data, no access is performed when SV = 0)
D1442 D1458 D1443 D1459 D1444 D1460 D1445 D1461 D1446 D1462 D1447 D1463 D1448 D1464 D1449 D1465
Starting reference of the Slave to be accessed*
D1363 D1423 D1364 D1424 D1365 D1425 D1366 D1426 D1367 D1427 D1368 D1428 D1369 D1429 D1370 D1430
M1355 = ON, Slave status is user-defined. Set the linking status of Slave manually by M1368~M1375.
M1355 = OFF, Slave status is auto-detected. Linking status of Slave can be monitored by M1368~M1375
M1368 M1369 M1370 M1371 M1372 M1373 M1374 M1375
Data interchange status of Slaves
M1384 M1385 M1386 M1387 M1388 M1389 M1390 M1391
Access error flag (ON = normal; OFF = error)
M1400 M1401 M1402 M1403 M1404 M1405 M1406 M1407
“Reading completed” flag (turns “Off” whenever access of a Slave is completed)
M1416 M1417 M1418 M1419 M1420 M1421 M1422 M1423
“Writing completed” flag (turns “Off” whenever access of a Slave is completed)
M1432 M1433 M1434 M1435 M1436 M1437 M1438 M1439
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
Slave PLC*
SLAVE ID 9 SLAVE ID 10 SLAVE ID 11 SLAVE ID 12 SLAVE ID 13 SLAVE ID 14 SLAVE ID 15 SLAVE ID 16
Read Write Read Write Read Write Reado Write Read Write Read Write Read Write Read Write
out in out in out in ut in out in out in out in out in
D100 D200 D100 D200 D100 D200 D100 D200 D100 D200 D100 D200 D100 D200 D100 D200
2-62
2 . P r o g r a m m i n g C o n c e p ts
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
D115 D215 D115 D215 D115 D215 D115 D215 D115 D215 D115 D215 D115 D215 D115 D215
*Note:
Default setting for starting reference of the Slave (DVP-PLC) to be read: H1064 (D100)
Default setting for starting reference of the Slave (DVP-PLC) to be written: H10C8 (D200)
6. Special D and special M corresponding to Slave ID17~ID24: (M1353 = ON, access available
for up to 100 words) (Model supported: DVP-12SE V1.6 and DVP-26SE V2.0)
MASTER PLC
SLAVE ID 17 SLAVE ID 18 SLAVE ID 19 SLAVE ID 20 SLAVE ID 21 SLAVE ID 22 SLAVE ID 23 SLAVE ID 24
Read Write Read Write Read Write Read Write Read Write Read Write Read Write Read Write
out in out in out in out in out in out in out in out in
DVP-SE supports M1353. When M1353 is On, 32 stations in the Link and the function of reading/writing more than 16 data
(SET M1353) are enabled. The user can specify the starting register for storing the read/written data in registers below.
D1576 D1592 D1577 D1593 D1578 D1594 D1579 D1595 D1580 D1596 D1581 D1597 D1582 D1598 D1583 D1599
If M1356 is ON, users can set the station numbers of slave ID17~ID24 in D1916~D1923. The master station sends
commands according to the station numbers set.
D1916 D1917 D1918 D1919 D1920 D1921 D1922 D1923
Number Number Number Number Number Number Number Number Number Number Number Number Number Number Number Number
of data of data of data of data of data of data of data of data of data of data of data of data of data of data of data of data
D1544 D1560 D1545 D1561 D1546 D1562 D1547 D1563 D1548 D1564 D1549 D1565 D1550 D1566 D1551 D1567
Start Communication Address
D1512 D1528 D1513 D1529 D1514 D1530 D1515 D1531 D1516 D1532 D1517 D1533 D1518 D1534 D1519 D1535
LINK in SLAVE PLC?
M1440 M1441 M1442 M1443 M1444 M1445 M1446 M1447
Action flag for SLAVE PLC from MASTER PLC
M1456 M1457 M1458 M1459 M1460 M1461 M1462 M1463
“Read/write error” flag
M1472 M1473 M1474 M1475 M1476 M1477 M1478 M1479
“Reading completed” flag (turns “Off” whenever read/write a station is completed)
M1488 M1489 M1490 M1491 M1492 M1493 M1494 M1495
“Writing completed” flag (turns “Off” whenever read/write a station is completed)
M1504 M1505 M1506 M1507 M1508 M1509 M1510 M1511
7. Special D and special M corresponding to Slave ID25~ID32: (M1353 = ON, access available
for up to 100 words) (Mode supported: DVP-12SE V1.6 and DVP-26SE V2.0)
MASTER PLC
SLAVE ID 25 SLAVE ID 26 SLAVE ID 27 SLAVE ID 28 SLAVE ID 29 SLAVE ID 30 SLAVE ID 31 SLAVE ID 32
Read Write Read Write Read Write Read Write Read Write Read Write Read Write Read Write
out in out in out in out in out in out in out in out in
DVP-SE supports M1353. When M1353 is On, 32 stations in the Link and the function of reading/writing more than 16 data
(SET M1353) are enabled. The user can specify the starting register for storing the read/written data in registers below.
D160
D1584 D1600 D1585 D1601 D1586 D1602 D1587 D1603 D1588 D1604 D1589 D1605 D1590 D1606 D1591
7
If M1356 is ON, users can set the station numbers of slave ID25~ID32 in D1924~D1931. The master station sends
commands according to the station numbers set.
D1924 D1925 D1926 D1927 D1928 D1929 D1930 D1931
Number Number Number Number Number Number Number Number Number Number Number Number Number Number Number Number
of data of data of data of data of data of data of data of data of data of data of data of data of data of data of data of data
D157
D1552 D1568 D1553 D1569 D1554 D1570 D1555 D1571 D1556 D1572 D1557 D1573 D1558 D1574 D1559
5
Start Communication Address
D154
D1520 D1536 D1521 D1537 D1522 D1538 D1523 D1539 D1524 D1540 D1525 D1541 D1526 D1542 D1527
3
LINK in SLAVE PLC?
M1448 M1449 M1450 M1451 M1452 M1453 M1454 M1455
2-63
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
2-64
2 . P r o g r a m m i n g C o n c e p ts
with station number K5 for 2 times as well. Note that all station numbers of slaves should
not be the same as the station number of the Master PLC (D1121/D1255), and M1353
must be set ON for this function.
e) When M1356 is ON, the station number selection function is enabled.
10. Operation:
a) Set up the baud rates and communication formats. Master PLC and all connected Slave
PLCs should have the same communication settings. COM1_RS-232: D1036, COM2_RS-
485: D1120, COM3_RS-485: D1109.
b) Set up Master PLC ID by D1121 and the starting slave ID by D1399. Then, set slave ID of
each slave PLC. The ID of master PLC and slave PLC cannot be the same.
c) Set data length for accessing. (If data length is not specified, PLC will take default setting
or the previous value as the set value. For details of data length registers, please refer to
the tables above)
d) Set starting reference of the Slave to be accessed. (Default setting for starting reference to
be read: H1064 (D100); default setting for starting reference to be written: H10C8 (D200).
For details of starting reference registers, please refer to the tables above)
e) Steps to start PLC LINK:
Set ON M1354 to enable simultabeous data read/write in a polling of PLC LINK.
M1355 = ON, Slave status is user-defined. Set the linking statuses of slave ID 1~slave
ID 16 (slave ID 1~slave ID 32) manually by M1360~M1375 (M1360~M1375 and
M1440~M1455). M1355 = OFF, the linking statuses of slave ID 1~slave ID 16 (slave ID
1~slave ID 32) are auto-detected. The linking statuses of slave ID 1~slave ID 32 can
be monitored by M1360~M1375, and M1440~M1455.
Select auto mode on PLC LINK by M1351 or manual mode by M1352 (Note that the 2
flags should not be set ON at the same time.) After this, set up the times of polling
cycle by D1431.
Finally, enable PLC LINK (M1350)
11. The Operation of Master PLC:
a) M1355 = ON indicates that Slave status is user-defined. Set the linking status of slave ID
1~slave ID 16 (slave ID 1~slave ID 32) manually by M1360~M1375 (M1360~M1375 and
M1440~M1455).
b) M1355 = OFF indicates that the linking statuses of slave ID 1~slave ID 16 (slave ID
1~slave ID 32) are auto-detected. The linking statuses of slave ID 1~slave ID 32 can be
monitored by M1360~M1375, and M1440~M1455.
Enable PLC LINK (M1350). Master PLC will detect the connected Slaves and store the
number of connected PLCs in D1433. The time for detection differs by number of
connected Slaves and time-out setting in D1129.
M1360~M1375 indicate the linking statuses of slave ID 1~slave ID 16. If M1353 is ON,
M1360~M1375 and M1440~M1455 will indicate the linking statuses of slave ID
1~slave ID 32.
If no slave is detected, M1350 will be OFF and PLC LINK will be stopped.
PLC will only detect the number of slaves at the first time when M1350 turns ON.
After auto-detection is completed, master PLC starts to access each connected slave.
Once slave PLC is added after auto-detection, master PLC cannot access it unless
auto-detection is conducted again.
c) Simultaneous read/write function (M1354) has to be set up before enabling PLC LINK.
Setting up this flag during PLC LINK execution will not take effect.
d) When M1354 = ON, PLC takes Modbus Function H17 (simultaneous read/write function)
for PLC LINK communication function. If the data length to be written is set to 0, PLC will
select Modbus Function H03 (read multiple WORDs) automatically. In the same way, if
data length to be read is set to 0, PLC will select Modbus Function H06 (write single
WORD) or Modbus Function H10 (write multiple WORDs) for PLC LINK communication
function.
e) When M1353 = OFF, PLC LINK accesses the Slave with max 16 words, and the data is
automatically stored in the corresponding registers. When M1353 = ON, up to 100 words
are accessible and the user can specify the starting register for storing the read/written
data.
For example, if the register for storing the read/written data on Slave ID1 is specified as
D1480 = K500, D1496 = K800, access data length D1434 = K50, D1450 = K50, registers
2-65
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
of Master PLC D500~D549 will store the data read from Slave ID1, and the data stored in
D800~D849 will be written into Slave ID1.
f) Master PLC conducts reading before writing. Both reading and writing is executed
according to the range specified by user.
g) Master PLC accesses slave PLCs in order, i.e. data access moves to next slave only when
access on previous slave is completed.
h) Modbus Function H03 will be replaced by Modbus Function H04 for read/write function
code. M1700~M1715 are corresponding to Slave ID 1~16 orderly; when the status is ON,
the read/write function code can be changed from H04 to H04 for the following series.
ES2/ 12SA2/
Series ES2-C ES2-E SS2 12SE 26SE 28SA2
EX2 SX2
Firmware
V3.48 V3.48 V1.0 V3.0 V3.60 -- V2.0 V3.0
version
2-66
2 . P r o g r a m m i n g C o n c e p ts
13. Operation flow chart: In the flow chart below, there are 16 slaves, and 50 words are accessed.
Set starting refer ence of the Slave PLC to be read: D1355~D1370
Set data length for reading from Slave PLC: D1434~D1449
Set starting refer ence of the Slave PLC to be written: D1414~D1430
Set data length for writing in Slave PLC: D1450~D1465
(PLC will take default or previous setting as the set value
if these r egisters ar e not specified)
Enable Disable
M 1355
SE T M1351 SE T M1352
Set times of polling
cycle (D1431)
SET M1350
Star t to execute EASY PLC LINK
2-67
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
14. Example 1: Connect 1 Master and 2 Slaves by RS-485 and exchange 16 data between Master
and Slaves through PLC LINK
a) Write the ladder diagram program into Master PLC (ID#17)
M1002
MOV K17 D1121 Master ID#
M1350
END
b) When X1 = On, the data exchange between Master and the two Slaves will be
automatically executed by PLC LINK. The data in D100 ~ D115 in the two Slaves will be
read into D1480 ~ D1495 and D1512 ~ D1527 of the Master, and the data in D1496 ~
D1511 and D1528 ~ D1543 will be written into D200 ~ D215 of the two Slaves.
Master PLC *1 Slave PLC*2
Read
D1480 ~ D1495 D100 ~ D115 of Slave ID#1
Write
D1496 ~ D1511 D200 ~ D215 of Slave ID#1
Read
D1512 ~ D1527 D100 ~ D115 of Slave ID#2
Write
D1528 ~ D1543 D200 ~ D215 of Slave ID#2
c) Assume the data in registers for data exchange before enabling PLC LINK (M1350 = OFF)
is as below:
Master PLC Preset value Slave PLC Preset value
D1480 ~ D1495 K0 D100 ~ D115 of Slave ID#1 K5,000
D1496 ~ D1511 K1,000 D200 ~ D215 of Slave ID#1 K0
D1512 ~ D1527 K0 D100 ~ D115 of Slave ID#2 K6,000
D1528 ~ D1543 K2,000 D200 ~ D215 of Slave ID#2 K0
After PLC LINK is enabled (M1350 = ON), the data in registers for data exchange
becomes:
Master PLC Preset value Slave PLC Preset value
D1480 ~ D1495 K5,000 D100 ~ D115 of Slave ID#1 K5,000
D1496 ~ D1511 K1,000 D200 ~ D215 of Slave ID#1 K1,000
D1512 ~ D1527 K6,000 D100 ~ D115 of Slave ID#2 K6,000
2-68
2 . P r o g r a m m i n g C o n c e p ts
X1
M1351 Auto mode
END
b) M1355 = ON. Set the Slave to be linked manually by M1360~M1375. Set ON M1360 to
link Slave ID#1.
c) Address H2100-H2105 maps to registers D1480-D1485 of PLC. When X1 = ON, PLC
LINK executes, and the data in H2100-H2105 will be displayed in D1480-D1485.
d) Address H2000-H2001 maps to registers D1496-D1497 of PLC. When X1 = ON, PLC LINK
executes, and the parameter in H2000-H2001 will be specified by D1496-D1497.
e) Commands of VFD can be specified by changing the value in D1496. (e.g. D1496 =
H12=>VFD forward operation; D1496 = H1=> VFD stops)
f) Frequency of VFD can be specified by changing the value in D1497. (e.g. D1497 = K5000,
set VFD frequency as 50kHz.)
g) In addition to VFD AC motor drives, devices support MODBUS protocol such as DTA/DTB
temperature controllers and ASDA servo drives can also be connected as Slaves. Up to 16
Slaves can be connected.
16. TD1354 is a PLC link scan cycle (unit: 1ms), and max. display value is K32000. D1354 = K0
when PLC Link stops or when the first scan is completed.
2-69
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
2. The minimum input frequency which can be detected by the function is 0.5Hz (K500), the
maximum input frequency which can be detected by the function is 1KHz (K1000000). If the
input frequency is less than 0.5Hz, or there is no pulse input for more than 2 seconds, the
value in the corresponding special D device will automatically become 0. If the input frequency
exceeds 1KHz, the PLC will continue catch the input frequency. If the input frequency exceeds
the hardware specifications for the input, the PLC will not be able to catch the input frequency.
3. If the frequency detection function is disabled (the special M device is Off), the last value which
is stored in the special D device will be retained.
4. If the input frequency is less than 100Hz, the error will be less than one ten thousandth. If the
input frequency exceeds 100Hz, the error will become bigger, but the maximum error will not
exceed one one thousandth.
5. Difference between the frequency detection function and SPD: The frequency detection
function is mainly used to detect the frequencies less than 1KHz, and is used in the application
environments which need high precision (unit: 0.001Hz). For example, the frequency detection
function can be used to monitor the output frequency of a generator.
6. After the frequency detection function is enabled, the other functions of the input will not be
enabled. (For example, the external interrupt or SPD will not be enabled after the frequency
detection function is enabled.)
7. DVP-ES2/EX2 series PLCs (exclusive of DVP-ES2-C series PLCs) whose firmware version is
3.22 (or above), and DVP-SX2 series PLCs whose firmware version is 2.66 (or above) support
this function.
8. Example: Detecting X0’s input frequency
Program in the PLC:
M0
DMOV K0 D1056
M0
M1357
If X0’ s input frequency is 50Hz, the 32-bit value in (D1057, D1056) will be K50000.
2. The function needs to be used with an external interrupt (X6 (I600/I601) or X7 (I700/I701)). The
value in a hardware counter is moved to a special D device when there is a transition in a
fetching signal from low to high or form high to low. The setting of an external interrupt
determines when the value in a hardware counter is moved to a special D device.
2-70
2 . P r o g r a m m i n g C o n c e p ts
3. DVP-ES2/EX2/SS2 series PLCs whose firmware version is 3.28 (or above), and DVP-
SA2/SX2 series PLCs whose firmware version is 2.82 (or above) support this function.
4. Example: The value in C243 is fetched when there is a transition in X6’s signal from low to high.
Program in the PLC:
EI
M1002
Enabling the fetching
SET M1598 of the value in C243
M1000
DCNT C243 K100
FEND
M1000
I601 DMOV D1150 D0 Moving the value fetched from C243
to (D1,D0).
IRET
END
Function Group When the conditional contacts are closed, execute the ramp-down on the
outputs
Number M1334, M1335
Contents:
1. When M1334 or M1335 is enabled, execute API59 PLSR/DPLSR instructions on Y0 or Y2 to
ramp-down when the conditional contacts are closed.
2. When M1334 or M1335 is enabled, execute API158 DDRVI or API159 DDRVA instructions on
CH0 (CH1) to ramp-down when the conditional contacts are closed.
3. This function is available for the followings:
ES2/ 12SA2/
Series ES2-C ES2-E SS2 26SE 28SA2
EX2 SX2
Firmware version or
V3.42 V3.48 V1.0 V2.86 V3.28 V2.0 V3.0
later versions
Function Group If the PLC detects that the external 24V voltage is unstable, the error LED
flashes
Number M1019
Contents:
1. When M1019 is ON, if the PLC detects the external 24V voltage is unstable, the error LED
keeps flashing.
2. When M1019 is OFF, if the PLC detects the external 24V voltage is below 17.8V, the error LED
flashes. After the PLC detects the external voltage is normal again for more than 2 seconds,
the error LED stops flashing.
3. This function is available for the followings:
ES2/ 12SA2/
Series ES2-C ES2-E SS2 26SE 26SE 28SA2
EX2 SX2
Firmware version or
V3.60 V3.60 V1.00 V3.00 V3.50 V1.92 V1.92 V3.0
later versions
2-71
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Function Group
Read MAC address from the left side network module EN01
Number M1145 (should work with D1400~1403)
Contents:
1. Enter K101 in D1400 to read MAC Address from the 2nd left side EN01 module
2. Once M1145 is set, PLC stores the MAC address of EN01 in D1401~1403.
3. For example if the MAC address of EN01 is 11:22:33:44:55:66, the contents of D1401~D1403
are D1401 = 0x1122, D1402 = 0x3344, D1403 = 0x5566.
4. This function is available for the followings:
Firmware version or
V3.00 V1.92
later versions
2-72
Instruction Set
This chapter explains all of the instructions that are used with DVP-ES2/EX2/SS2/
SA2/SX2/SE as well as detailed information concerning the usage of the
instructions.
Chapter Contents
3-1
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Execution speed
(us)
Instruction Function Operand Steps
ES2/EX2/SS2
SE
SA2/SX2
LD Load NO contact X, Y, M, S, T, C 0.76 0.64 1~3
LDI Load NC contact X, Y, M, S, T, C 0.78 0.68 1~3
AND Connect NO contact in series X, Y, M, S, T, C 0.54 0.58 1~3
ANI Connect NC contact in series X, Y, M, S, T, C 0.56 0.62 1~3
OR Connect NO contact in parallel X, Y, M, S, T, C 0.54 0.62 1~3
ORI Connect NC contact in parallel X, Y, M, S, T, C 0.56 0.64 1~3
ANB Connect a block in series N/A 0.68 0.68 1
ORB Connect a block in parallel N/A 0.76 0.76 1
Start of branches. Stores current N/A
MPS 0.74 0.68 1
result of program evaluation
Reads the stored current result N/A
MRD 0.64 0.54 1
from previous MPS
End of branches. Pops (reads and N/A
MPP resets) the stored result in 0.64 0.54 1
previous MPS
OUT Output coil Y, S, M 0.88 0.68 1~3
SET Latches the ON status Y, S, M 0.76 0.68 1~3
Y, M, S, T, C, D,
RST Resets contacts, registers or coils 2.2 1.04 3
E, F
MC Master control Start N0~N7 1 0.8 3
MCR Master control Reset N0~N7 1 0.8 3
END Program End N/A 1 0.8 1
NOP No operation N/A 0.4 0.5 1
P Pointer P0~P255 0.4 0.5 1
I Interrupt program pointer I□□□ 0.4 0.5 1
STL Step ladder start instruction S 2.2 2 1
RET Step ladder return instruction N/A 1.6 1.4 1
Negative contact to Positive
NP N/A 1.66 0.72 1
contact
Positive contact to Negative
PN N/A 1.62 0.72 1
contact
Note: The execution speed is obtained by basic test programs, therefore the actual instruction
execution time could be longer due to a more complicated program, e.g. program contains multiple
interruptions or high speed input/output.
Explanations:
1. The LD instruction is used to load NO contact which connects to left side bus line or starts a
new block of program connecting in series or parallel connection.
2. DVP-ES2/EX2 series PLCs whose version is 3.20/DVP-SS2 series PLCs whose version is
3.00/DVP-SA2 series PLCs whose version is 2.60/DVP-SE series PLCs whose version is
3-2
3. Instruction Set
1.20/DVP-SX2 series PLCs whose version is 2.40 (and above) support the operands X, Y, M,
and S. These operands can be qualified by E or F. Users have to use WPLSoft version 2.31
(or above)/ISPSoft version 2.01 (or above).
Program example:
Ladder diagram: Instruction: Operation:
X0 X1 LD X0 Load NO contact X0
Y1
AND X1 Connect NO contact X1 in series
OUT Y1 Drive coil Y1
Explanations:
1. The LDI instruction is used to load NC contact which connects to left side bus line or starts a
new block of program connecting in series or parallel connection.
2. DVP-ES2/EX2 series PLCs whose version is 3.20/DVP-SS2 series PLCs whose version is
3.00/DVP-SA2 series PLCs whose version is 2.60/DVP-SE series PLCs whose version is
1.20/DVP-SX2 series PLCs whose version is 2.40 (and above) support the operands X, Y, M,
and S. These operands can be qualified by E or F. Users have to use WPLSoft version 2.31
(or above)/ISPSoft version 2.01 (or above).
Program example:
Ladder diagram: Instruction: Operation:
3-3
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Explanations:
1. The AND instruction is used to connect NO contact in series.
2. DVP-ES2/EX2 series PLCs whose version is 3.20/DVP-SS2 series PLCs whose version is
3.00/DVP-SA2 series PLCs whose version is 2.60/DVP-SE series PLCs whose version is
1.20/DVP-SX2 series PLCs whose version is 2.40 (and above) support the operands X, Y, M,
and S. These operands can be qualified by E or F. Users have to use WPLSoft version 2.31
(or above)/ISPSoft version 2.01 (or above).
Program example:
Ladder diagram: Instruction: Operation:
Explanations:
1. The ANI instruction is used to connect NC contact in series.
2. DVP-ES2/EX2 series PLCs whose version is 3.20/DVP-SS2 series PLCs whose version is
3.00/DVP-SA2 series PLCs whose version is 2.60/DVP-SE series PLCs whose version is
1.20/DVP-SX2 series PLCs whose version is 2.40 (and above) support the operands X, Y, M,
and S. These operands can be qualified by E or F. Users have to use WPLSoft version 2.31
(or above)/ISPSoft version 2.01 (or above).
Program example:
Ladder diagram: Instruction: Operation:
X1 X0 LD X1 Load NO contact X1
Y1
ANI X0 Connect NC contact X0 in series
OUT Y1 Drive Y1 coil
3-4
3. Instruction Set
Explanations:
1. The OR instruction is used to connect NO contact in parallel.
2. DVP-ES2/EX2 series PLCs whose version is 3.20/DVP-SS2 series PLCs whose version is
3.00/DVP-SA2 series PLCs whose version is 2.60/DVP-SE series PLCs whose version is
1.20/DVP-SX2 series PLCs whose version is 2.40 (and above) support the operands X, Y, M,
and S. These operands can be qualified by E or F. Users have to use WPLSoft version 2.31
(or above)/ISPSoft version 2.01 (or above).
Program example:
Ladder diagram: Instruction: Operation:
X0 LD X0 Load NO contact X0
Y1
X1 OR X1 Connect NO contact X1 in parallel
OUT Y1 Drive Y1 coil
Explanations:
1. The ORI instruction is used to connect NC contact in parallel.
2. DVP-ES2/EX2 series PLCs whose version is 3.20/DVP-SS2 series PLCs whose version is
3.00/DVP-SA2 series PLCs whose version is 2.60/DVP-SE series PLCs whose version is
1.20/DVP-SX2 series PLCs whose version is 2.40 (and above) support the operands X, Y, M,
and S. These operands can be qualified by E or F. Users have to use WPLSoft version 2.31
(or above)/ISPSoft version 2.01 (or above).
3-5
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Program example:
Ladder diagram: Instruction: Operation:
X0 LD X0 Load NO contact X0
Y1
X1 ORI X1 Connect NC contact X1 in parallel
OUT Y1 Drive Y1 coil
Explanations:
The ORB instruction is used to connect a circuit block to the preceding block in parallel. Generally,
the circuit block to be connected in parallel consists of several contacts which form a serial
connection structure.
3-6
3. Instruction Set
Program example:
Ladder diagram: Instruction: Operation:
Explanations:
As the start of branches, MPS stores current result of program evaluation at the point of
divergence.
Explanations:
MRD reads the stored current result from previous MPS and operates with the contact connected
after MRD.
3-7
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Program example:
Ladder diagram: Instruction: Operation:
MPS LD X0 Load NO contact X0
X0 X1
Y1 MPS Store current status
X2
AND X1 Connect NO contact X1 in series
MRD M0
OUT Y1 Drive Y1 coil
Y2
MPP
MRD Read the stored status
END
AND X2 Connect NO contact X2 in series
OUT M0 Drive M0 coil
MPP Read the stored status and reset
OUT Y2 Drive Y2 coil
END End of program
Note: When compiling ladder diagram with WPLSoft, MPS, MRD and MPP will be automatically
added to the compiled results in instruction format. However, users programming in instruction
mode have to enter branch instructions as required.
Explanations:
1. Output the program evaluation results before OUT instruction to the designated device.
2. DVP-ES2/EX2 series PLCs whose version is 3.20/DVP-SS2 series PLCs whose version is
3.00/DVP-SA2 series PLCs whose version is 2.60/DVP-SE series PLCs whose version is
1.20/DVP-SX2 series PLCs whose version is 2.40 (and above) support the operands Y, M,
and S. These operands can be qualified by E or F. Users have to use WPLSoft version 2.31
(or above)/ISPSoft version 2.01 (or above).
Status of coil contact
OUT instruction
Evaluation result Associated Contacts
Coil
NO contact(normal open) NC contact(normal close)
FALSE OFF Current blocked Current flows
TRUE ON Current flows Current blocked
Program example:
Ladder diagram: Instruction: Operation:
X0 X1 LDI X0 Load NC contact X0
Y1
AND X1 Connect NO contact X1 in series
OUT Y1 Drive Y1 coil
3-8
3. Instruction Set
Explanations:
1. When the SET instruction is driven, its designated device will be ON and latched whether the
SET instruction is still driven. In this case, RST instruction can be applied to turn off the
device.
2. DVP-ES2/EX2 series PLCs whose version is 3.20/DVP-SS2 series PLCs whose version is
3.00/DVP-SA2 series PLCs whose version is 2.60/DVP-SE series PLCs whose version is
1.20/DVP-SX2 series PLCs whose version is 2.40 (and above) support the operands Y, M,
and S. These operands can be qualified by E or F. Users have to use WPLSoft version 2.31
(or above)/ISPSoft version 2.01 (or above).
Program example:
Ladder Diagram: Instruction: Operation:
X0 Y0 LD X0 Load NO contact X0
SET Y1
ANI Y0 Connect NC contact Y0 in series
SET Y1 Drive Y1 and latch the status
Explanations:
1. Device status when RST instruction is driven:
Device Status
S, Y, M Coil and contact are set to OFF.
T, C Current value is cleared. Associated contacts or coils are reset .
D, E, F The content is set to 0.
3-9
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Status of designated devices remains the same when RST instruction is not executed.
2. DVP-ES2/EX2 series PLCs whose version is 3.20/DVP-SS2 series PLCs whose version is
3.00/DVP-SA2 series PLCs whose version is 2.60/DVP-SE series PLCs whose version is
1.20/DVP-SX2 series PLCs whose version is 2.40 (and above) support the operands Y, M,
and S. These operands can be qualified by E or F. Users have to use WPLSoft version 2.31
(or above)/ISPSoft version 2.01 (or above).
Program example:
Ladder diagram: Instruction: Operation:
X0 LD X0 Load NO contact X0
RST Y5
RST Y5 Reset contact Y5
Explanations:
MC is the master-control start instruction. When MC instruction executes, the program execution
turns to the designated nest level and executes the instructions between MC and MCR. However,
MCR is the master-control reset instruction placed at the end of the designated nest level and no
drive contact is required before MCR. When MC/MCR is not active, devices and instructions
between MC/MCR will operate as the following table.
Instruction type Explanation
General purpose timer Present value = 0, Coil is OFF, No action on associated contact
Subroutine timer Present value = 0, Coil is OFF, No action on associated contact
Accumulative timer Coil is OFF, present value and contact status remains
Counter Coil is OFF, present value and contact status remains
Coils driven by OUT instruction All OFF
Devices driven by SET/RST
Stay intact
instructions
All disabled.
The FOR-NEXT nested loop will still execute back and forth for N
Application instructions
times. Instructions between FOR-NEXT will act as other
instructions between MC and MCR.
3-10
3. Instruction Set
Note: MC-MCR master-control instruction supports max 8 layers of nest levels. Please use the
instructions in order from N0~ N7.
Program example:
Ladder diagram: Instruction: Operation:
X0 LD X0 Load NO contact X0
MC N0
MC N0 Enable N0 nest level
X1
Y0 LD X1 Load NO contact X1
Explanations:
END instruction needs to be connected at the end of program. PLC will scan from address 0 to
END instruction and return to address 0 to scan again.
Explanation:
NOP instruction does not conduct any operations in the program, i.e. the operation result remains
the same after NOP is executed. Generally NOP is used for replacing certain instruction without
altering original program length.
3 - 11
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Program example:
Ladder Diagram: Instruction: Operation:
Explanation:
When the conditions preceding NP command change from false to true, NP command (works as
contact A) will be ON for a scan cycle. In the next scan cycle it turns OFF.
Program Example:
Ladder Diagram: Instruction: Operation:
LD M0 Load NO contact M0
M0 M1 AND M1 Connect NO contact M1 in series
P Y0
NP Negative contact to Positive contact
OUT Y0 Drive coil Y0
Timing Diagram:
M0
M1
A scan cycle A scan cycle
Y0
Explanation:
When the conditions preceding PN command change from true to false, PN command (works as
contact A) will be ON for a scan cycle. In the next scan cycle it turns OFF.
Program Example:
Ladder Diagram: Instruction: Operation:
LD M0 Load NO contact M0
M0 M1 AND M1 Connect NO contact M1 in series
P Y0
PN Negative contact to Positive contact
OUT Y0 Drive coil Y0
3-12
3. Instruction Set
Timing Diagram:
M0
M1
A scan cycle A scan cycle
Y0
3.3 Pointers
Explanation:
Pointer P is used with API 00 CJ and API 01 CALL instructions. The use of P does not need to start
from P0, and the No. of P cannot be repeated; otherwise, unexpected errors may occur. For other
information on P pointers, please refer to section 2.15 in this manual
Program example 1:
Ladder Diagram: Instruction: Operation:
X0 LD X0 Load NO contact X0
CJ P10
CJ P10 Jump to P10
X1 :
P10 Y1
P10 Pointer P10
LD X1 Load NO contact X1
OUT Y1 Drive coil Y1
Explanations:
A interruption program has to start with a interruption pointer (I□□□) and ends with API 03 IRET. I
instruction has to be used with API 03 IRET, API 04 EI, and API 05 DI. For detailed information on
interrupt pointes, please refer to section 2.15 in this manual
3-13
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Program example:
Ladder diagram: Instruction Operation:
code:
EI Enable interruption
EI
Allowable range LD X1 Load NO contact X1
X1 for interruption
Y1 OUT Y1 Drive Y1 coil
:
DI
Pointer of DI Disable interruption
interruption :
program FEND
X2 FEND Main program ends
I 001 Y2 I001 Interruption pointer
Interruption
subroutine LD X2 Load NO contact X2
IRET
OUT Y2 Drive Y2 coil
:
IRET Interruption return
External interrupt:
ES2 supports 8 external input interrupts: (I000/I001, X0), (I100/I101, X1), (I200/I201, X2),
(I300/I301, X3), (I400/I401, X4), (I500/I501, X5), (I600/I601, X6) and (I700/I701, X7). (01,
rising-edge trigger , 00, falling-edge trigger )
Timer Interrupts:
ES2 supports 3 timer interrupts: I602~I699, I702~I799, (Timer resolution: 1ms), I805/I899, 1 point
(Timer resolution=0.1 ms), available for SE/ES2-E, for other series, firmware version should be
V2.00 or later.
Communication Interrupts:
ES2 supports 3 communication interrupts: I140, I150 and I160.
Counter Interrupts:
ES2 supports 8 high-speed counter interrupts: I010, I020, I030, I040, I050, I060, I070 and I080.
3-14
3. Instruction Set
1. PLC instructions are provided with a unique mnemonic name to make it easy to remember
instructions. In the example below the API number given to the instruction is 12, the
mnemonic name is MOV and the function description is Move.
API Mnemonic Operands Function Controllers
SA2
12 D MOV P Move ES2/EX2 SS2 SX2
SE
X0
MOV K10 D10
Instruction Operand
3-15
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Source: if there are more than one source is required, it will be indicated as S1, S2....etc.
Destination: if there are more than one destination is required, it will be indicated as D1,
D2....etc.
If the operand can only be constant K/H or a register, it will be represented as m, m1, m2, n, n1,
n2…etc.
1 2 3 4 5
PU LSE 16 -b it 32 -b it
8 E S2 /E X2 S S2 S A2 S X2 E S2 /E X2 S S2 S A2 S X2 E S2 /E X2 S S2 S A2 S X2
3-16
3. Instruction Set
Operands
3. Bit devices X, Y, M, and S can be combined into word device, storing values and data for
operations in the form of KnX, KnY, KnM and KnS in an application instruction.
4. Data register D, timer T, counter C and index register E, F are designated by general
operands.
5. A data register D consists of 16 bits, i.e. a 32-bit data register consists of 2 consecutive D
registers.
6. If an operand of a 32-bit instruction designates D0, 2 consecutive registers D1 and D0 will be
occupied. D1 is thehigh word and D0 is the low word. This proncipal also applys to timer T
and 16-bit counters C0 ~ C199.
7. When the 32-bit counters C200 ~ C255 are used as data registers, they can only be
designataed by the operands of 32-bit instructions.
Operand Data format
8. X, Y, M, and S are defined as bit devices which indicate ON/OFF status.
9. 16-bit (or 32-bit) devices T, C, D, and registers E, F are defined as word devices.
3-17
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
10. “Kn” can be placed before bit devices X, Y, M and S to make it a word device for performing
word-device operations. (n = 1 refers to 4 bits. For 16-bit instruction, n = K1 ~ K4; for 32-bit
instruction, n = K1 ~ K8). For example, K2M0 refers to 8 bits, M0 ~ M7.
Kn values
16-bit instruction 32-bit instruction
Designated value: K-2,147,483,648 ~
Designated value: K-32,768 ~ K32,767
K2,147,483,647
16-bit instruction: (K1~K4) 32-bit instruction: (K1~K8)
K1 (4 bits) 0~15 K1 (4 bits) 0~15
K2 (8 bits) 0~255 K2 (8 bits) 0~255
K3 (12 bits) 0~4,095 K3 (12 bits) 0~4,095
K4 (16 bits) -32,768~+32,767 K4 (16 bits) 0~65,535
K5 (20 bits) 0~1,048,575
K6 (24 bits) 0~167,772,165
K7 (28 bits) 0~268,435,455
K8 (32 bits) -2,147,483,648~+2,147,483,647
Flags
1. General Flags
The flags listed below are used for indicating the operation result of the application
instruction:
M1020: Zero flag
M1021: Borrow flag
M1022: Carry flag
M1029: Execution of instruction is completed
All flags will turn ON or OFF according to the operation result of an instruction. For example,
the execution result of instructions ADD/SUB/MUL/DVI will affect the status of M1020 ~
M1022. When the instruction is not executed, the ON/OFF status of the flag will be held. The
status of the four flags relates to many instructions. See relevant instructions for more
details.
3-18
3. Instruction Set
4. For counters C232~C242, the total max times for using DHSCS, DHSCR and DHSZ
instructions: 6. DHSZ can only be used less than 6 times.
5. For counters C243, C245~C248, C251, C252, the total max times for using DHSCS, DHSCR
3-19
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
and DHSZ instructions: 4. DHSZ takes up 2 times of the total available times.
6. For counters C244, C249, C250, C253, C254, the total max times for using DHSCS, DHSCR
and DHSZ instructions: 4. DHSZ takes up 2 times of the total available times.
Limitation of synchronized execution
Most instructions have no limitation on the times to be used in a program, but there are limitations
on the number of instruction to be executed in the same scan cycle.
1. Only 1 instruction can be executed at the same scan cycle: API 52 MTR, API 69 SORT, API
70 TKY, API 71 HKY, API 72 DSW, API 74 SEGL, API 75 ARWS.
2. Only 4 instruction can be executed at the same scan cycle: API 56 SPD, API 169 HOUR.
3. There is no limitation on the times of using the high-speed output instructions API 57 PLSY,
API 58 PWM, API 59 PLSR, API 156DZRN, API 158 DDRVI, API 159 DDRVA and API 195
DPTPO, but only one high-speed output instruction will be executed in the same scan time.
4. There is no limitation on the times of using the communication instructions API 80 RS, API
100 MODRD, API 101 MODWR, API 102 FWD, API 103 REV, API 104 STOP, API 105 RDST,
API 106 RSTEF , API 150 MODRW, but only one communication instruction will be executed
on single COM port during the same scan cycle.
Numeric Values
1. Devices indicates ON/OFF status are called bit devices, e.g. X, Y, M and S. Devices used for
storing values are called word devices, e.g. T, C, D, E and F. Although bit device can only be
ON/OFF for a single point, they can also be used as numeric values in the operands of
instructions if the data type declaration device Kn is added in front of the bit device.
2. For 16-bit data, K1~K4 are applicable. For 32-bit data, K1~K8 are applicable. For example,
K2M0 refers to a 8-bit value composed of M0 ~ M7.
Valid data
D1 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1
b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0
Equals
Low byte
D1 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1
3. Transmit K1M0, K2M0, K3M0 to 16-bit registers. Only the valid bit data will be transmitted
and the upper bits in the 16-bit register will all be filled with 0. The same rule applies when
sending K1M0, K2M0, K3M0, K4M0, K5M0, K6M0, K7M0 to 32-bit registers.
3-20
3. Instruction Set
4. When the Kn value is specified as K1~K3 (K4~K7) for a 16-bit (32-bit) operation, the empty
upper bits of the target register will be filled with “0.” Therefore, the operation result in this
case is positive since the MSB(Most significant bit) is 0.
M0 The BCD value combined by X0 to X7 will be
BIN K2X0 D0
converted to D0 as BIN value.
3-21
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
8-bit 23-bit
S exponent mantissa
b31 b0
Sign bit
0: positive
1: negative
Step 4: Combine the sign bit, exponent and mantissa into a floating point
0 10000011 011100000000000000000002 = 41B8000016
Example 2: Represent “-23.0” in 32-bit floating point value
The steps required are the same as those in Example 1 and only differs in modifying the sign bit
into “1”.
1 10000011 011100000000000000000002=C1B8000016
DVP-PLC uses registers of 2 continuous No. to store a 32-bit floating point value. For example, we
use registers (D1, D0) for storing a binary floating point value as below:
D1(b15~b0) D0(b15~b0)
7 6 5 1 0 -1 -2 -3 -17 -18 -19 -20 -21 -22 -23
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
S E7 E6 E5 E1 E0 A22 A21 A20 A6 A5 A4 A3 A2 A1 A0
b31 b30 b29 b28 b24 b23 b22 b21 b20 b6 b5 b4 b3 b2 b1 b0
3-22
3. Instruction Set
3-23
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Loop Control
Mnemonic Applicable to STEPS
API PULSE Function ES2 SA2
16 bits 32 bits SS2 SX2 16-bit 32-bit
EX2 SE
00 CJ - Conditional jump 3 -
01 CALL - Call subroutine 3 -
02 SRET - - Subroutine return 1 -
03 IRET - - Interrupt return 1 -
04 EI - - Enable interrupt 1 -
05 DI - - Disable interrupt 1 -
The end of the main program
06 FEND - - 1 -
(First end)
07 WDT - Watchdog timer refresh 1 -
08 FOR - - Start of a For-Next Loop 3 -
09 NEXT - - End of a For-Next Loop 1 -
Transmission Comparison
Mnemonic Applicable to STEPS
API PULSE Function ES2 SA2
16 bits 32 bits SS2 SX2 16-bit 32-bit
EX2 SE
10 CMP DCMP Compare 7 13
11 ZCP DZCP Zone compare 9 17
12 MOV DMOV Move 5 9
13 SMOV - Shift move 11 -
14 CML DCML Complement 5 9
15 BMOV - Block move 7 -
16 FMOV DFMOV Fill move 7 13
17 XCH DXCH Exchange 5 9
18 BCD DBCD Convert BIN to BCD 5 9
19 BIN DBIN Convert BCD to BIN 5 9
3-24
3. Instruction Set
Data Processing
Mnemonic Applicable to STEPS
API PULSE Function ES2 SA2
16 bits 32 bits SS2 SX2 16-bit 32-bit
EX2 SE
40 ZRST - Zone reset 5 -
41 DECO - Decode 7 -
42 ENCO - Encode 7 -
43 SUM DSUM Sum of Active bits 5 9
44 BON DBON Check specified bit status 7 13
45 MEAN DMEAN Mean 7 13
46 ANS - - Timed Annunciator Set 7 -
47 ANR - Annunciator Reset 1 -
48 SQR DSQR Square Root 5 9
49 FLT DFLT Floating point 5 9
3-25
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Handy Instructions
Mnemonic Applicable to STEPS
API PULSE Function ES2 SA2
16 bits 32 bits SS2 SX2 16-bit 32-bit
EX2 SE
60 IST - - Initial state 7 -
61 SER DSER Search a data stack 9 17
62 ABSD DABSD - Absolute drum sequencer 9 17
63 INCD - - Incremental drum sequencer 9 -
64 TTMR - - Teaching timer 5 -
65 STMR - - Special timer 7 -
66 ALT - Alternate state 3 -
67 RAMP DRAMP - Ramp variable value 9 17
68 DTM - Data transform and move 9 -
69 SORT DSORT - Data sort 11 21
Setting up to compare the inputs of
315 XCMP - - - - 11 -
multiple work stations
Comparing the outputs of multiple
316 YOUT - - - - 9 -
work stations
Serial I/O
Mnemonic Applicable to STEPS
API PULSE Function ES2
16 bits 32 bits SS2 SA2 SX2 SE 16-bit 32-bit
EX2
Read CR data from special
78 FROM DFROM 9 17
modules
Write CR data into special
79 TO DTO 9 17
modules
80 RS - - Serial communication 9 -
81 PRUN DPRUN Parallel run 5 9
82 ASCII - Convert HEX to ASCII 7 -
83 HEX - Convert ASCII to HEX 7 -
84 CCD - Check code 7 -
3-26
3. Instruction Set
Basic Instructions
Mnemonic Applicable to STEPS
API PULSE Function ES2 SA2
16 bits 32 bits SS2 SX2 16-bit 32-bit
EX2 SE
89 PLS - - Rising-edge output 3 -
Rising–edge detection
90 LDP - - 3 -
operation
Falling–edge detection
91 LDF - - 3 -
operation
92 ANDP - - Rising-edge series connection 3 -
93 ANDF - - Falling-edge series connection 3 -
94 ORP - - Rising-edge parallel connection 3 -
95 ORF - - Falling-edge parallel connection 3 -
96 TMR - - Timer 4 -
97 CNT DCNT - Counter 4 6
98 INV - - Inverse operation 1 -
99 PLF - - Falling-edge output 3 -
258 ATMR - - Contact type timer 5 -
Communication Instructions
Mnemonic Applicable to STEPS
API PULSE Function ES2 SA2
16 bits 32 bits SS2 SX2 16-bit 32-bit
EX2 SE 2
100 MODRD - - Read Modbus data 7 -
101 MODWR - - Write Modbus Data 7 -
102 FWD - - Forward Operation of VFD 7 -
103 REV - - Reverse Operation of VFD 7 -
104 STOP - - Stop VFD 7 -
105 RDST - - Read VFD Status 5 -
106 RSTEF - - Reset Abnormal VFD 5 -
107 LRC - LRC checksum 7 -
108 CRC - CRC checksum 7 -
150 MODRW - - MODBUS Read/ Write 11 -
206 ASDRW - - ASDA servo drive R/W - 7 -
ES2-
113 ETHRW - - Ethernet communication - 9 -
E
Self-defined Ethernet ES2-
337 ETHRS - - - 13 -
communication Command E
295 DMVRW - - DMV Communication Command - - - 9 -
3-27
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Additional Instruction
Mnemonic Applicable to STEPS
API PULSE Function ES2
16 bits 32 bits SS2 SA2 SX2 SE 16-bit 32-bit
EX2
143 DELAY - Delay 3 -
144 GPWM - - General PWM output 7 -
145 FTC - Fuzzy Temperature Control V3.22 V2.66 V2.66 7 -
147 SWAP DSWAP Byte swap 3 5
Reading the data from the
148 MEMR - - - 7 -
file register
Writing the data into the file
149 MEMW - - - 7 -
register
154 RAND DRAND Random number 7 13
3-28
3. Instruction Set
Positioning Control
Mnemonic Applicable to STEPS
API PULSE Function ES2 SA2
16 bits 32 bits SS2 SX2 16-bit 32-bit
EX2 SE
155 - DABSR - Absolute position read - 13
156 - DZRN - Zero return - 17
157 - DPLSV Adjustable speed pulse output - 13
158 - DDRVI - Relative position control - 17
159 - DDRVA - Absolute position control - 17
2-Axis Relative Point to Point
191 - DPPMR - - - 17
Motion
2-Axis Absolute Point to Point
192 - DPPMA - - - 17
Motion
2-Axis Relative Position Arc
193 - DCIMR - - - 17
Interpolation
2-Axis Absolute Position Arc
194 - DCIMA - - - 17
Interpolation
Single-Axis pulse output by
195 - DPTPO - - 13
table
197 - DCLLM - Close loop position control - 17
198 - DVSPO - Variable speed pulse output - 17
199 - DICF Immediately change frequency - 13
3-29
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Gray Code
Mnemonic Applicable to STEPS
API PULSE Function ES2 SA2
16 bits 32 bits SS2 SX2 16-bit 32-bit
EX2 SE
170 GRY DGRY BIN → Gray Code 5 9
171 GBIN DGBIN Gray Code → BIN 5 9
Matrix Operation
Mnemonic Applicable to STEPS
API PULSE Function ES2 SA2
16 bits 32 bits SS2 SX2 16-bit 32-bit
EX2 SE
180 MAND - Matrix AND 9 -
181 MOR - Matrix OR 9 -
182 MXOR - Matrix XOR 9 -
183 MXNR - Matrix XNR 9 -
184 MINV - Matrix inverse 7 -
185 MCMP - Matrix compare 9 -
186 MBRD - Matrix bit read 7 -
187 MBWR - Matrix bit write 7 -
188 MBS - Matrix bit shift 7 -
189 MBR - Matrix bit rotate 7 -
190 MBC - Matrix bit status count 7 -
3-30
3. Instruction Set
3-31
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
3-32
3. Instruction Set
3-33
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
3-34
3. Instruction Set
3-35
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
3-36
3. Instruction Set
3-37
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
3-38
3. Instruction Set
3-39
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
3-40
3. Instruction Set
3-41
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Program example 1:
When X0 = ON, the program will skip from address 0 to N (Pointer P1) automatically and keep on
executing. Instructions between address 0 and N will be skipped..
When X0 = OFF, program flow will proceed with the row immediately after the CJ instruction.
(CJ instruction)
P***
X0
0 CJ P1
X1
Y1
X2
N P1 Y2
Program example 2:
1. The instruction CJ between the instruction MC and the instruction MCR can be used in the five
conditions below.
a). The execution of the program jumps from the part of the program outside one MC/MCR
loop to the part of the program outside another MC/MCR loop.
b). The execution of the program jumps from the part of the program outside the MC/MCR
loop to the part of the program inside the MC/MCR loop.
c). The execution of the program jumps from the part of the program inside the MC/MCR loop
to the part of the program inside the MC/MCR loop.
d). The execution of the program jumps from the part of the program inside the MC/MCR loop
to the part of the program outside the MC/MCR loop.
e). The execution of the program jumps from the part of the program inside one the MC/MCR
loop to the part of the program inside another the MC/MCR loop.
X0
MC N0
X2
CJ P0
X3
CJ P1
X1
MC N1
M1000
P1 Y1
MCR N1
M1000
P0 Y0
MCR N0
3-42
3. Instruction Set
2. When the instruction MC is executed, the previous state of the switch contact is put onto the
top of the stack inside the PLC. The stack is controlled by the PLC, and can not be changed by
users. When the instruction MCR is executed, the previous state of the switch contact is
popped from the top of the stack. Under the conditions listed in (b), (d), and (e) above, the
number of times the items are pushed onto the stack may be different from the number of
times the items are popped from the stack. When this situation occurs, at most 32 items can
be pushed onto the stack, and the items can be popped form the stack until the stack is empty.
Therefore, when CJ or CJP is used with MC and MCR, users have to be careful of the pushing
of the item onto the stack and the popping of the item from the stack.
Program example 3:
The table explains the device status in the ladder diagram below.
Contact state Contact state Output coil state
Device
before CJ execution during CJ execution during CJ execution
M1, M2, M3
M1, M2, M3 OFF Y1 *1, M20, S1 OFF
OFF→ON
Y, M, S
M1, M2, M3
M1, M2, M3 ON Y1 *1, M20, S1 ON
ON→OFF
M4 OFF M4 OFF→ON Timer is not activated
10ms,
Timer T0 immediately stops and
100ms
M4 ON M4 ON→OFF is latched. When M0 ON OFF,
Timer*2
T0 will be reset.
1ms,10ms, M6 OFF M6 OFF→ON Timer T240 is not activated
100ms Timer T240 immediately stops
accumulative M6 ON M6 ON→OFF and is latched. When M0 ON
Timer OFF, T240 will still be latched.
M10 is ON/OFF
M7, M10 OFF Counter C0 stops
triggered
C0~C234 *3 Counter C0 stops and latched.
M7 OFF, M10 is M10 is ON/OFF
When M0 is OFF, C0 resumes
ON/OFF triggered triggered
counting.
Application instructions will not
M11 OFF M11 OFF→ON
be executed.
Application The skipped application
instruction instruction will not be executed
M11 ON M11 ON→OFF
but API 53~59, API 157~159
keep executing.
*1: Y1 is dual output. When M0 is OFF, it is controlled by M1. When M0 is ON, M12 will control Y1
*2: When timer that subroutine used (T184~T199) executes first and then CJ instruction is
executed, the timer will keep counting. After the timer reaches the set value, output contact of
timer will be ON.
*3: When high-speed counters (C235~C254) executes first and then CJ instruction is executed,
the counter will keep counting and its associated output status remains.
3-43
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
M0
CJ P0
M1
Y1
M2
M20
M3
S1
M4
TMR T0 K10
M5
RST T240
M6
TMR T240 K1000
M7
RST C0
M10
CNT C0 K20
M11
MOV K3 D0
M0
P0 CJ P63
M12
Y1
M13
P63 RST T240
RST C0
RST D0
END
3-44
3. Instruction Set
3-45
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
X0
20 CALL P2 Call subroutine P2
X1
24
Y0
FEND
M1
P2 Y1
Subroutine
M2
Y2
Program example 2:
1. When the rising-edge of X20 is triggered, CALL P10 instruction will transfer execution to
subroutine P10.
2. When X21 is ON, execute CALL P11, jump to and run subroutine P11.
3. When X22 is ON, execute CALL P12, jump to and run subroutine P12.
4. When X23 is ON, execute CALL P13, jump to and run subroutine P13.
5. When X24 is ON, execute CALL P14, jump to and run subroutine P14. When the SRET
instruction is reached, jump back to the last P subroutine to finish the remaining instructions.
6. The execution of subroutines will go backwards to the subroutine of upper level until SRET
instruction in P10 subroutine is executed. After this program execution will return to the main
program.
3-46
3. Instruction Set
X0 X2
INC D0 P12 INC D30
Y0 Y20
X20 X23
CALL P10 CALL P13
Main Subroutine
X0 Program X2
INC D1 INC D31
Y1 Y21
FEND SRET
X2 X2
P10 INC D10 P13 INC D40
Y2 Y22
X21 X24
CALL P11 CALL P14
Subroutine Subroutine
X2 X2
INC D11 INC D41
Y3 Y23
SRET SRET
X2 X2
P11 INC D20 P14 INC D50
Y4 Y24
X22 Subroutine
CALL P12 SRET
Subroutine
X2
INC D21 END
Y5
SRET
3-47
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
3-48
3. Instruction Set
3-49
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Program example:
During the PLC operation, the program scans the instructions between EI and DI, if X1 or X2 are
ON, the subroutine A or B will be interruptted. When IRET is reached, the main program will
resume.
EI
X1
Y0 Enabled interrupt
DI
Disabled interrupt
EI
Enabled interrupt
FEND
M0
I 101 Y1
Interrupt subroutine A
IRET
M1
I 201 Y2
Interrupt subroutine B
IRET
3-50
3. Instruction Set
3-51
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Main program
DI
FEND
P0 Main program
FEND
SRET
IRET
END
3-52
3. Instruction Set
Main program
DI
FEND
P0 Main program
FEND
SRET
IRET
END
3-53
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
T1 T2
ii. Use the set value in D1000 (Default: 200ms) to change the time for watchdog.
Points to note:
1. When the WDT instruction is used it will operate on every program scan as long as its input
condition has been made. To force the WDT instruction to operate for only ONE scan, users
have to use the pulse (P) format of the WDT instruction, i.e. WDTP.
2. The watchdog timer has a default setting of 200ms. This time limit can be customized to users
requirement by editing the content in D1000, the wathdog timer register.
3-54
3. Instruction Set
Program example:
If the program scan time is over 300ms, users can divide the program into 2 parts. Insert the WDT
instruction in between, making scan time of the first half and second half of the program being less
than 200ms.
300ms program
END
Dividing the program to two parts
so that both parts scan time are
less than 200ms.
150ms program
X0
WDT Watchdog timer reset
150ms program
END
3-55
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
3-56
3. Instruction Set
Program example 1:
After program A has been executed for 3 times, it will resume its execution after NEXT instruction.
Program B will be executed for 4 times whenever program A is executed once. Therefore, program
B will be executed 3 × 4 = 12 times in total.
FOR K3
FOR K4
B A
NEXT
NEXT
Program example 2:
When X7 = OFF, PLC will execute the program between FOR ~ NEXT. When X7 = ON, CJ
instruction jumps to P6 and avoids executing the instructions between FOR ~ NEXT.
X7
CJ P6
M0
MOV K0 D0
FOR K3
M0
MOV D0 D1
INC D0
MEXT
X10
P6 Y10
3-57
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Program example 3:
Users can adopt CJ instruction to skip a specified FOR ~ NEXT loop. When X1 = ON, CJ
instruction executes to skip the most inner FOR ~ NEXT loop.
X0
TMR T0 K10
FOR K4X100
X0
INC D0
FOR K2
X0
INC D1
FOR K3
X0
INC D2
FOR K4
X0
WDT
INC D3
X1
CJ P0
FOR K5
X0
INC D4
NEXT
P0 NEXT
NEXT
NEXT
NEXT
END
3-58
3. Instruction Set
X20
CMP K10 D10 Y0
Y0
If K10>D10, Y0 = On
Y1
If K10=D10, Y1 = On
Y2
If K10<D10, Y2= On
RST M1
RST M2
3-59
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
RST M1
RST M2
3-60
3. Instruction Set
X0
MOV K10 D0
X1
MOV T0 D10
X2
DMOV D20 D30
3-61
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
3-62
3. Instruction Set
Program example 1:
1. When M1168 = OFF (in BCD mode) and X0 = ON, the 4th (thousand) and 3rd (hundred) digit of
the decimal value in D10 start to move to the 3rd (hundred) and 2nd (ten) digit of the decimal
value in D20. 103 and 100 of D20 remain unchanged after this instruction is executed.
2. When the BCD value exceeds the range of 0 ~ 9,999, PLC detects an operation error and will
not execute the instruction. M1067, M1068 = ON and D1067 stores the error code OE18
(hex).
M1001
M1168
X0
SMOV D10 K4 K2 D20 K3
D10(BIN 16bit)
Auto conversion
3 2 1 0
10 10 10 10 D10(BCD 4 digits)
Shift move
No variation No variation
3 2 1 0
10 10 10 10 D20(BCD 4 digits)
Auto conversion
D20(BIN 16bit)
If D10 = K1234, D20 = K5678 before execution, D10 remains unchanged and D20 = K5128
after execution.
Program example 2:
When M1168 = ON (in BIN mode) and SMOV instruction is in use, D10 and D20 will not be
converted in BCD format but be moved in BIN format (4 digits as a unit).
M1000
M1168
X0
SMOV D10 K4 K2 D20 K3
Shift move
D20(BIN 16bit)
Digit 4 Digit 3 Digit 2 Digit 1
No variation No variation
If D10 = H1234, D20 = H5678 before execution, D10 remains unchanged and D20 = H5128 after
execution.
3-63
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Program example 3:
1. This instruction can be used to combine the DIP switches connected to the input terminals
without continuous numbers.
2. Move the 2 digits of the right DIP switch (X27~X20) to the 2 digits of D2, and the 1 digit of the
DIP switch (X33~X30) to the 1st digit of D1.
3. Use SMOV instruction to move the 1st digit of D1 to the 3rd digit of D2 and combine the values
from two DIP switches into one set of value.
2 1 0
10 10 10
6 4 2
8 8 8
X33~X30 X27~X20
PLC
M1001
M1168
M1000
BIN K2X20 D2 (X20~X27)BCD, 2 digits D2(BIN)
SMOV D1 K1 K1 D2 K3
3-64
3. Instruction Set
b15 b3 b2 b1 b0
D1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
Symbol bit ( 0=positive, 1=negative)
0 1 0 1
Program example 2:
The diagram below can be substituted by the instruction on the right.
X000
M0
X001
M1
X002
M2
X003 Normally ON contact
M3 M1000
CML K1X0 K1M0
X000
M0
X001
M1
X002
M2
X003
M3
3-65
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
3-66
3. Instruction Set
Program example 2:
Assume the bit devices KnX, KnY, KnM and KnS are designated for moving, the number of digits
of S and D has to be the same, i.e. their n has to be the same.
M1000
BMOV K1M0 K1Y0 K3 M0 Y0
M1 Y1
M2 Y2
M3 Y3
M4 Y4
M5 Y5
n=3
M6 Y6
M7 Y7
M8 Y10
M9 Y11
M10 Y12
M11 Y13
Program example 3:
In order to prevent the error which results from the overlap between the source devices and the destination
3-67
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
K10 D11
K10 D13
K10 D14
3-68
3. Instruction Set
X0
XCHP D20 D40
Before After
execution execution
D20 120 40 D20
Points to note:
1. As a 16-bit instruction, when the devices designated by D1 and D2 are the same and M1303 =
ON, the upper and lower 8 bits of the designated devices exchange with each other.
2. As a 32-bit instruction, when the devices designated by D1 and D2 are the same and M1303 =
ON, the upper and lower 16 bits in the designated device exchange with each other.
3. When X0 = ON and M1303 = ON, 16-bit contents in D100 and those in D101 will exchange
with each other.
Before After
X0 execution execution
M 1303
D 100 1234 5678 D 100
4. When X0 = ON and M1303 = ON, the high 8 bits and the low 8 bits in D0 are exchanged, the
high 8 bits and the low 8 bits in D1 are exchanged., and the high 8 bits and the low 8 bits in D2
are exchanged.
3-69
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Before After
execution execution
X0
M 1303 E0=0, D0 L 09 20 D 0 L
D0 H 20 09 D0 H
R ST E
FOR K3 E0=1, D1 L 08 40 D1 L
X0 D1 H 40 08 D1 H
XCH D 0E D 0E
INC E E0=2, D2 L 03 60 D2 L
D2 H 60 03 D2 H
N EXT
3-70
3. Instruction Set
3-71
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Points to note:
1. When PLC needs to read an external DIP switch in BCD format, BIN instruction has to be first
adopted to convert the read data into BIN value and store the data in PLC.
2. On the contrary when PLC needs to display a value on a BCD format 7-segment displayer,
BCD instruction is required to convert the internal data into BCD value then sent the value to
the displayer.
3. When X0 = ON, the BCD value of K4X20 is converted into BIN value and sent to D100. The
BIN value of D100 will then be converted into BCD value and sent to K4Y20.
X0
BIN K4X20 D100
3-72
3. Instruction Set
3 2 1 0
10 10 10 10
8 8 8 8
X37 X20
4-digit BCD value
Y37 Y20
3-73
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Program Example 2:
In 32-bit BIN addition:
When X0 = ON, the content in (D31, D30) will plus the content in (D41, D40) and the sum will be
stored in (D51, D50). D30, D40 and D50 are low word; D31, D41 and D51 are high word
X0
DADD D30 D40 D50
Operation of flags:
16-bit instruction:
1. If the operation result is “0”, the zero flag M1020 will be ON.
2. If the operation result exceeds -32,768, the borrow flag M1021 will be ON.
3. If the operation result exceeds 32,767, the carry flag M1022 will be ON.
32-bit instruction:
1. If the operation result is “0”, the zero flag, M1020 will be ON.
3-74
3. Instruction Set
2. If the operation result exceeds -2,147,483,648, the borrow flag M1021 will be ON.
3. If the operation result exceeds 2,147,483,647, the carry flag M1022 will be ON
16-bit instruction:
Borrow flag the most significant bit the most significant bit Carry flag
becomes 1 (negative) becomes 0 (positive)
32-bit instruction:
Borrow flag the most significant bit the most significant bit Carry flag
becomes 1 (negative) becomes 0 (positive)
3-75
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Program Example 2:
In 32-bit BIN subtraction:
When X10 = ON, the content in (D31, D30) will minus the content in (D41, D40) and the results will
be stored in (D51, D50). D30, D40 and D50 are low word; D31, D41 and D51 are high word
X20
DSUB D30 D40 D50
3-76
3. Instruction Set
S1 S2 D +1 D
b31.. b16 b15.. b00 b31.. b16 b15.. b00 b63. b48 b47. b32 b31. b16 b15. b00
X =
b31 is the sign bit b31 is the sign bit b63 is the sign bit(b15 of D+3)
B31=0,S1(S1+1) is a positive value b31=0,S2(S2+1) is a positive value b63=0, D~(D+3) is a positive value
b31=1,S1(S1+1) is a negative value b31=1,S2(S2+1) is a negative value b63=1, D~(D+3) is a negative value
3-77
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
If D is specified with a word device, it can specify K1~K8 to store a 32-bit result. Users can use
2 consecutive 32-bit registers to store 64-bit data.
If the product of a 32-bit multiplication must be a 32-bit value (32-bit value x 32-bit value =
32-bit value), users have to use API 114 MUL32/MUL32P. Please refer to the explanation of
API 114 MUL32/MUL32P for more information.
Program Example:
The 16-bit D0 is multiplied by the 16-bit D10 and brings forth a 32-bit product. The higher 16 bits
are stored in D21 and the lower 16-bit are stored in D20. ON/OFF of MSB indicates the
positive/negative status of the operation result.
X0
MUL D0 D10 D20
3-78
3. Instruction Set
If D is specified with a bit device, it can designate K1 ~ K4 to store a 16-bit result. Users can
use consecutive 2 16-bit registers to store 32-bit data of the quotient and remainder.
If users want to store the quotient of a 16-bit division (leave out the remainder), they have to
use AP I115 DIV16/DIV16P. Please refer to the explanation of API 115 DIV16/DIV16P for more
information.
6. 32-bit BIN division:
Quotient Remainder
S 1 +1 S1 S 2 +1 S2 D +1 D D +3 D +2
b15..b00 b15..b00 b15..b00 b15..b00 b31..b16 b15..b00 b31..b16 b15..b00
/ =
If D is specified with a bit device, it can designate K1 ~ K8 to store a 32-bit result. Users can
use consecutive 2 32-bit registers to store the quotient and remainder.
If users want to store the quotient of a 32-bit division (leave out the remainder), they have to
use AP I115 DIV32/DIV32P. Please refer to the explanation of API 115 DIV32/DIV32P for more
information.
3-79
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Program Example:
When X0 = ON, D0 will be divided by D10 and the quotient will be stored in D20 and remainder in
D21. ON/OFF of the MSB indicates the positive/negative status of the result value..
X0
DIV D0 D10 D20
3-80
3. Instruction Set
3-81
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
3-82
3. Instruction Set
b15 b00
D0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1
Before
WAND
execution
D2 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0
After
execution D4 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0
3-83
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
b31 b15 b0
1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1
Before D11 D10 DAND
execution
0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0
D21 D20
After
execution 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0
D41 D40
3-84
3. Instruction Set
b15 b00
D0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Before
WOR
execution
D2 0 0 0 0 1 1 1 1 1 0 1 0 0 1 0 1
After
execution D4 0 1 0 1 1 1 1 1 1 1 1 1 0 1 0 1
3-85
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
b31
b b15 b0
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Before
D11 D10 DOR
execution
0 0 0 0 1 1 1 1 1 0 1 0 0 1 0 1 0 0 0 0 1 1 1 1 1 0 1 0 0 1 0 1
D21 D20
After
execution 0 1 0 1 1 1 1 1 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 0 1 0 1
D41 D40
3-86
3. Instruction Set
b15 b00
D0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Before
WOR
execution
D2 0 0 0 0 1 1 1 1 1 0 1 0 0 1 0 1
After
execution D4 0 1 0 1 1 0 1 0 1 1 1 1 0 0 0 0
3-87
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
b
b31 b15 b0
1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1
Before
D11 D10 DXOR
execution
0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0
D21 D20
After
execution 1 1 1 0 1 1 0 1 0 0 1 1 1 0 1 1 1 1 1 0 1 1 0 1 0 0 1 1 1 0 1 1
D41 D40
3-88
3. Instruction Set
Program Example 2:
To obtain the absolute value of a negative value:
1. When MSB (b15) of D0 is “1”, M0 = ON. (D0 is a negative value).
2. When M0 = ON, the absolute value of D0 can be obtained by NEG instruction.
M1000
BON D0 M0 K15
M0
NEGP D0
Program Example 3:
Obtain the absolute value of the remainder of the subtraction. When X0 = ON,
a) If D0 > D2, M0 = ON.
b) If D0 = D2, M1 = ON.
c) If D0 < D2, M2 = ON.
d) D4 is then able to remain positive.
3-89
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
X0
CMP D0 D2 M0
M0
SUB D0 D2 D4
M1
M2
SUB D2 D0 D4
(D0=2)
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
(D0=1)
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
(D0=0)
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
(D0=-1) (D0)+1=1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
(D0=-2) (D0)+1=2
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
(D0=-3) (D0)+1=3
1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
(D0=-4) (D0)+1=4
1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
(D0=-5) (D0)+1=5
1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
(D0=-32,765) (D0)+1=32,765
1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1
(D0=-32,766) (D0)+1=32,766
1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
(D0=-32,767) (D0)+1=32,767
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
(D0=-32,768) (D0)+1=-32,768
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3-90
3. Instruction Set
X0
RORP D10 K4
3-91
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
3-92
3. Instruction Set
3-93
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
3-94
3. Instruction Set
4 3 2 1
3-95
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
1 2 3 4
3-96
3. Instruction Set
D13 D12 D11 D10 4 registers in one group shift to the right
5
D35 D34 D33 D32 D31 D30 D29 D28 D27 D26 D25 D24 D23 D22 D21 D20 Carry
4 3 2 1
3-97
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Program Example 2:
1. When X0 is triggered, WSFRP instruction shifts X20~X27 into data stack Y20~Y37 and
Y20~Y37 also shift to the right with a group of 4 devices.
2. The figure below illustrates the right shift of the devices in one scan
Y27~Y20 → carry
Y37~Y30 → Y27~Y20
X27~X20 → Y37~Y30 completed
When using Kn device, the specified Kn value
(digit) must be the same.
X0
WSFRP K1X20 K1Y20 K4 K2
2 1
3-98
3. Instruction Set
4 registers in one group shift to the left D13 D12 D11 D10
5
Carry D35 D34 D33 D32 D31 D30 D29 D28 D27 D26 D25 D24 D23 D22 D21 D20
1 2 3 4
3-99
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
X0
SFWRP D20 D0 K10
n = 10 points
D20 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
Pointer
D0 = 3 2 1
Points to note:
This instruction can be used together with API 39 SFRD for the reading/writing of “first-in, first-out”
stack data.
3-100
3. Instruction Set
n = 10 points
D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 D21
Pointer
Data read
3-101
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Points to note:
1. Bit devices Y, M, S and word devices T, C, D can be individually reset by RST instruction.
3-102
3. Instruction Set
2. For clearing multiple devices, API 16 FMOV instruction can be used to send K0 to word
devices T, C, D or bit devices KnY, KnM, KnS.
X0
RST M0
RST T0
RST Y0
FMOV K0 D10 K5
3-103
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
X2 X1 X0
0 1 1
4 2 1
3
7 6 5 4 3 2 1 0
0 0 0 0 1 0 0 0
M107 M106 M105 M104 M103 M102 M101 M100
3-104
3. Instruction Set
Program Example 2:
1. When D is used as a word device, n = 1 ~ 4. Errors will occur if n = 0 or n > 4.
2. When n = 4, the decoded data is 24 = 16 bits.
3. When X20 goes from OFF to ON, the data in D10 (b2 to b0) will be decoded and stored in D20
(b7 to b0). The unused bits in D20 (b15 to b8) will be set to 0.
4. The lower 3 bits of D10 are decoded and stored in the lower 8 bits of D20. The higher 8 bits of
D20 are all 0.
5. After the execution is completed, X20 is turned OFF. The decoded results or outputs will retain
their operation.
X20
DECOP D10 D20 K3
D10
b15 b0
0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 1
4 2 1
all be 0
7 6 5 4 3 2 1 0
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
b15 b0
D20
3-105
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
M7 M6 M5 M4 M3 M2 M1 M0
0 0 0 0 1 0 0 0
7 6 5 4 3 2 1 0
all be 0
4 2 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
b15 D0 b0
3-106
3. Instruction Set
Program Example 2:
1. When S is used as a word device, n = 1 ~ 4. Errors will occur if n = 0 or n > 4.
2. When n = 4, the decoded data is 24 = 16 bits data.
3. When X0 goes from OFF to ON, the 23 bits (b0 ~ b7) in D10 will be encoded and the result will
be stored in the lower 3 bits of D20 (b2 to b0). The unused bits in D20 (b15 to b3) will be set to
0.
4. After the execution is completed, X0 is turned OFF and the data in D remains unchanged
X0
ENCOP D10 D20 K3
Invalid data
b0
0 1 0 1 0 1 0 1 0 0 0 0 1 0 0 0
b15 6 5 4 3 2 1 0
D10
7
all be 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
b15 D20 b0
3-107
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 3
D0 D2
3-108
3. Instruction Set
X0
BON D0 M0 K15
b15 b0
0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 M0=Off
D0
b15 b0
1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 M0=On
D0
3-109
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
X10
MEAN D0 D10 K3
(D0+D1+D2)/3 D10
D0 K100
3 - 11 0
3. Instruction Set
3 - 111
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
X3
ANRP
Points to note:
Flags:
1. M1048 (indicating alarm status): When M1049 = ON, enabling any of the alarm S912~S1023
turns M1048 ON.
2. M1049 (Enabling alarm monitoring): When M1049 = ON, D1049 will automatically hold the
lowest alarm number in active alarms.
Application example of alarm device (production line):
X0 = Forward switch X1 = Backward switch
X2 = Front position switch X3 = Back position switch
X4 = Alarm reset button
Y0 = Forward Y1 = Backward
Y2 = Alarm indicator
S912 = Forward alarm S920 = Backward alarm
3 - 11 2
3. Instruction Set
M1000
M1049
Y0 X2
ANS T0 K100 S912
Y1 X3
ANS T1 K200 S920
X0 X2
Y0
Y0
X1 X3
Y1
Y1
M1048
Y2
X4
ANRP
3 - 11 3
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
D0 D12
3 - 11 4
3. Instruction Set
3 - 11 5
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
M1002
RST M1081
X20
FLT D0 D12
X21
DFLT D0 D20
Program Example 2:
1. When M1081 = ON, the source data is converted from floating point value to BIN integer.
(Decimal ignored)
2. When X20 = ON, D1 and D0 (floating point) are converted to D12 (BIN integer). If D0 (D1) =
H47C35000, the result will be 100,000 which exceeds the available range of BIN integer in
16-bit register D12. In this case the result will be D12 = K32767, and M1022 = ON
3. When X21 = ON, D1 and D0 (floating point) are converted to D21, D20 (BIN integer). If D0 (D1)
= H47C35000, the result is 100,000 and will be saved in 32-bit register D20 (D21).
M1002
SET M1081
X20
FLT D0 D12
X21
DFLT D0 D20
Program Example 3:
Apply FLT instruction to complete the following operation
7
1 2 5 4 (D31,D30)
Decimal floating point
(for monitoring)
(D101,D100) (D200) BIN (D301,D300) 8
Binary floating point Binary floating point (D41,D40)
3 32-bit integer
(D203,D202)
Binary floating point
(D401,D400)
Binary floating point
3 - 11 6
3. Instruction Set
M1000 1
FLT D10 D100
2
BIN K2X0 D200
3
FLT D200 D202
4
DEDIV K615 K10 D300
5
DEDIV D100 D202 D400
6
DEMUL D400 D300 D20
7
DEBCD D20 D30
8
DINT D20 D40
3 - 11 7
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Output Device Y0 Y1 Y2 Y3
Refresh current
M1672 M1673 M1674 M1675
position of output
3 - 11 8
3. Instruction Set
A. Normally, PLC only refreshes pulse output when the pulse instruction is executed.
You can use output pulse to check the pulse number but if the program is big, it
may cause a bigger different result in such a long scan.
B. When executing REF instruction with M1672-M1675, it can refresh the pulse output
immediately. And when REF instruction works with M1672-M1675 flags, it is only
used to refresh the pulse number not to refresh the actual inputs and outputs.
C. Refer to program example 5 for reference.
Program Example 1:
When X0 = ON, PLC will refresh the status of input points X0 ~ X7 immediately without delay.
X0
REF X0 K8
Program Example 2:
When X0 = ON, the 4 output signals on Y0 ~ Y3 will be sent to output terminals immediately before
the program proceeds to END instruction.
X0
REF Y0 K4
Program Example 3:
When X0 = ON, I/O points starting from X10 or Y4 will all be refreshed.
X0
REF X10 K8
X0
REF Y4 K8
Program Example 4:
For DVP-EX2/SX2 only: When X0 = ON and M1180 = ON, A/D signal in D1110~D1113 will be
refreshed immediately regardless of the settings of operands D and n
X0
SET M1180
REF X0 K8
3 - 11 9
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Program Example 5:
When M0 is ON, executing DDRVI instruction to output pulses. When an external interrupt occurs
in X0, the program refreshes the pulse number immediately in D1030, D1031 and D1336, D1337.
No need to wait for the scan.
3-120
3. Instruction Set
X20
REFF K5
X0
Y1
X20
REFF K20
X1
Y2
END
3-121
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Points to note:
Response time is ignored (no delay) when input points are occupied by external interrupts,
high-speed counters or SPD instruction.
3-122
3. Instruction Set
3-123
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
The figure below illustrates the external wiring of the 2-array matrix input loop constructed by X40
~ X47 and Y40 ~ Y41. The 16 switches correspond to the internal relays M10 ~ M17, M20 ~ M27.
The wiring should be applied with MTR instruction.
Diode
0.1A/50V
M20 M21 M22 M23 M24 M25 M26 M27
24G +24V S/S X40 X41 X42 X43 X44 X45 X46 X47
When output Y40 is ON, only inputs in the first array are read. The results are stored in auxiliary
relays M10~M17. After Y40 goes OFF, Y41 turns ON. This time only inputs in the second array are
read. The results are stored in M20~M27.
Y40 1 3
Read input signal in the 2nd array
Y41 2 4
25ms
Processing time of each array: approx. 25ms
3-124
3. Instruction Set
Points to note:
1. Operand S must be a multiple of 10, e.g. 00, 10, 20, which means X0, X10… etc. and
occupies 8 continuous devices.
2. Operand D1 should be a multiple of 10, i.e. 00, 10, 20, which means Y0, Y10… etc. and
occupies n continuous devices
3. Operand D2 should be a multiple of 10, i.e. 00, 10, which means M0, M10, S0, S10… etc.
4. Valid range of n = 2~8
3-125
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
3-126
3. Instruction Set
Table of settings for the high-speed interrupts of the software counters and software
comparators:
Counter C232 C233 C234 C235 C236 C237
DHSCS High-speed I010 I050 I070 I010 I020 I030
interrupt
High-speed comparator C232~C242 share 6 software comparators
Set
Set / reset 2
Softwar e
Count value
counter 2
Set / reset 6
Softwar e
counter 8
3-127
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
as the source counter automatically and no syntax check error will be detected.
Designers have to specify the comparison value of a hardware comparator before they
enable a comparison instruction. If the comparison value of a hardware comparator has to
be changed after a comparison instruction is enabled, it is suggested that users should
disable the comparison instruction first. After the users specify a new comparison value,
the users can enable the comparison instruction again.
If users want to change the value of a hardware comparator without disabling the
high-speed comparison instruction which is being used, they have to check whether the
model used support this operation. The models which support this operation are listed
below.
Model name ES2/EX2 SS2 SA2 SX2 SE
V3.20 and V3.00 and V2.60 and V2.40 and V1.00 and
Version
above above above above above
Note: If the comparative value changes, it will not be stored in the hardware comparator
until the instruction is scanned.
Table of settings for the high-speed interrupts of hardware counters and comparators: (It
is not applicable to DVP-12SE.)
A group B group
Hardware counter
A1 A2 A3 A4 B1 B2 B3 B4
Counter No. C243, C245~C248, C251,C252 C244, C249, C250, C253, C254
High-speed counter
I010 I020 I030 I040 I050 I060 I070 I080
interrupt
High-speed compare Share 4 hardware Share 4 hardware
Set/Reset comparators for group A comparators for group B
Table of settings for the high-speed interrupts of hardware counters and comparators: (It
is only applicable to DVP-12SE.)
A group B group
Hardware counter
A1 A2 B1 B2
Counter No. C243, C245~C248, C251,C252 C244
High-speed counter
I010 I020 I050 I060
interrupt
Hi-speed compare Share 2 hardware Share 2 hardware
Set/Reset comparators for group A comparators for group B
3-128
3. Instruction Set
Hardware Count
counter A value A
Set /res et A4
I040 A4
Hardware
comparator B x 4 Set /res et B1
I050 B1
Hardware Count
counter B value B
Set /res et B4
I080 B4
7. Difference between software and hardware comparators (it is not applicable to DVP-12SE):
6 comparators are available for software counters while 8 comparators are available for 2
groups of hardware counters ( 4 comparators for each group)
Output timing of software comparator count value equals to comparative value in both
counting up/down modes.
Output timing of the hardware comparator with firmware version 1.xx count value
equals to comparative value+1 in counting-up mode; count value equals to comparative
value -1 in counting-down mode.
Output timing of the hardware comparator with firmware version 2.00 and above count
value equals to comparative value in both counting up/down modes.
8. Difference between software and hardware comparators (it is only applicable to DVP-12SE):
6 comparators are available for software counters while 4 comparators are available for 2
groups of hardware counters ( 2 comparators for each group)
Output timing of software comparator count value equals to comparative value in both
counting up/down modes.
Output timing of the hardware comparator count value equals to comparative value+1
in counting-up mode; count value equals to comparative value -1 in counting-down mode.
Program Example 1:
Set/reset M0 by applying software comparator
M1000
DCNT C235 K100
3-129
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
When value in C235 varies from 99 to100, DHSCS instruction sets M0 ON. (M1235 = OFF,
C235 counts up)
When value in C235 varies from 101 to100, DHSCR instruction resets M0. (M1235 = ON,
C235 counts down)
Timing diagram for the comparison:
2 1
M0
Counting
No.
101 101
100 100
99 99
98 98
Count up Count down
Time
Program Example 2:
Set/reset M0 by applying hardware comparator
M1000
DCNT C251 K100
When C251 counts up and the value in C251 varies from 100 to101, DHSCS instruction
sets M0 ON.
When C251 counts down and the value in C251 varies from 100 to 99, DHSCR instruction
resets M0.
Timing diagram for the comparison:
1 2
M0
Counting
No.
101 101
100 100
99 99
98 98
Count up Count down
Time
3-130
3. Instruction Set
Program Example 3:
Executes interrupt subroutine by applying software comparator.
EI
M1000
DCNT C235 K100
FEND
M1000
I010 OUT Y10
IRET
END
When value in C235 varies from 99 to100, interrupt subroutine triggered by I010 executes
immediately to set Y0 ON.
Points to note:
If operand D is specified as S, M or Y0~Y3 for the above high speed comparison, the
compare result will immediately output to the external points Y0~Y3 (Y0~Y5 for SS2/SX2).
However, if D is specified as Y4~Y337, external outputs will be updated till the end of
program (delay for one scan cycle).
9. Count value storage function of high speed interrupt:
When X1, X3, X4 and X5 is applied for reset function and associated external interrupts are
disabled, users can define the reset function as Rising/Falling-edge triggered by special M
relays specified in the table: Applicable Software High Speed Counters. However, if
external interrupts are applied, the interrupt instructions have the priority in using the input
points. In addition, PLC will move the current data in the counters to the associated data
registers below then reset the counters
When X0 (counter input) and X1 (external Interrupt I100/I101) work with C243, the count
value will be moved to D1240 and D1241 when interrupt occurs and then the counter will be
reset.
When X2 (counter input) and X3 (external Interrupt I300/I301) work with C244, the count
value will be moved to D1242 and D1243 when interrupt occurs and then the counter will be
reset.
When X0 (counter input) and X4 (external Interrupt I400/I401) work with C246, C248, C252,
the count value will be moved to D1240 and D1241 when interrupt occurs and then the
counter will be reset.
When X2 (counter input) and X5 (external Interrupt I500/I501) work with C244, C250, C254,
3-131
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
the count value will be moved to D1242 and D1243 when interrupt occurs and then the
counter will be reset.
Special D D1241, D1240 D1243, D1242
Counter C243 C246 C248 C252 C244 C250 C254
Interrupt X1(I100/I101) X4(I400/I401) X3(I300/I301) X5(I500/I501)
Program Example 4:
EI
M1000
DCNT C243 K100
FEND
M1000
I101 DMOV D1240 D0
IRET
END
If interrupt I101 is triggered from input point X1 while C243 is counting, I101 interrupt
subroutine executes immediately and the count value in C243 will be moved to D0. After
this, C243 is reset.
3-132
3. Instruction Set
3-133
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Softwar e
comparator x 6
Softwar e
C ounter 1 Set / reset 1
Set / reset 2
Softwar e
Count value
counter 2
Set / reset 6
Softwar e
counter 8
3-134
3. Instruction Set
There are 6 software zone comparators available exclusively for zone compare operation,
hence the limit of 6 comparisons for zone compare does not include the comparisons of
DHSCS and DHSCR.
SS2/SA2/12SE does not support software counter C232.
5. Explanations on hardware comparators for HSZ instruction:
Corresponding table for hardware counters and comparators (It is not applicable to
VEP-12SE):
A group B group
Hardware counter
A1 A2 A3 A4 B1 B2 B3 B4
Counter No. C243, C245~C248, C251,C252 C244, C249, C250, C253, C254
High-speed compare Shares 4 hardware Shares 4 hardware
Set/Reset comparators for group A comparators for group B
Corresponding table for hardware counters and comparators (It is only applicable to
VEP-12SE):
A group B group
Hardware counter
A1 A2 B1 B2
Counter No. C243, C245~C248, C251,C252 C244
High-speed Shares 2 hardware comparators Shares 2 hardware
compare Set/Reset for group A comparators for group B
Hardware Count
counter A value A
Set /res et A4
I040 A4
Hardware
comparator B x 4 Set /res et B1
I050 B1
Hardware Count
counter B value B
Set /res et B4
I080 B4
The two groups can only be used once for each group, occupying 2 comparators. For
example, when DHSZ instruction uses A3 and A4 of group A comparators, only the other 2
comparators (A1, A2) are available for DHSCS and DHSCR instructions.
When DHSCS uses I030 or I040, comparators A3 and A4 are no longer available for DHSZ
instruction. Also, when DHSCS uses I070 or I080, comparators B3 and B4 are no longer
3-135
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
available for DHSZ instruction. If comparators are used repeatedly, the syntax error will be
detected on the instruction behind.
For DVP-SE, if DHSZ instruction uses hardware comparators, two hardware comparators
are used. DHSCS instruction and DHSCR instruction can not use the same hardware
comparators.
Program Example 1: (Applying Hardware High Speed Counter)
1. When D is specified as Y0, then Y0~Y2 will be occupied automatically.
2. When DHSZ is executed, the instruction compares the current value in C246 with the
upper/lower bound (1500/2000) of the comparison zone, and Y0~Y2 will be ON according to the
comparison result.
M1000
DCNT C246 K20000
Program Example 2: (Applying DHSZ instruction for performing ramp down operation)
1. C251 is AB-phase high speed counter. When X10 = ON, DHSZ compare the present value with
K2000. Present value≦K2000, Y10 = ON.
2. When X10 = OFF, Y10~Y12 are reset.
X10
RST C251
3-136
3. Instruction Set
Timing diagram
Speed variable
transmission device
0
X10
Stop Y12
Present value
of C251 2400
2000
3-137
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
5. D occupies 5 consecutive registers, D + 1 and D store the results of previous pulse detection; D
+3 and D + 2 store the current accumulated number of pulses; D + 4 store the current time
remaining (max. 32,767ms).
3-138
3. Instruction Set
6. If X0, X1, X2, X6 or X7 are used in a SPD instruction, their associated high-speed counters or
external interrupts I000/I001, I100/I101, I200/I201, I600/I601 or I700/I701 can not be used.
7. For ES2/EX2 before V0.92: when X0, X2, X6 and X7 are used, they will be detected as 1-phase
input. When X1 is used, X0(A) and X1(B) will be applied together as AB-phase input.
8. For SS2/SA2/SX2/SE and ES2/EX2 V1.00 or later: when X0, X2, X4 and X6 are used, they will
be detected as 1-phase input. When X1, X3, x5, X7 are used, X0, X2, X4, X6 will be applied
together as AB-phase input.
9. This instruction is mainly used to obtain the value of rotation speed and the results in D are in
proportion to the rotation speed. Rotation speed N can be calculated by the following equation
N: Rotation speed
60D0
N= 10 3 rpm n: The number of pulses produced per rotation
nt
t: Detecting time specified by S2 (ms)
Program Example:
1. When X7 = ON, D2 stores the high-speed pulses at X0 for 1,000ms and stops automatically.
The results are stored in D0, D1.
2. When the 1000ms of counting is completed, D2 will be reset. When X7 turns ON again, D2
starts counting again.
X7
SPD X0 K1000 D0
X7
X1
Content in D2
1,000ms 1,000ms
1,000
3-139
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
3-140
3. Instruction Set
3-141
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
X0
PLSY K1000 K200 Y0
M1029
Y20
0.5ms
Output Y0 1 2 3 200
1ms
Points to note:
1. Description of associated flags:
M1029: M1029 = ON when Y0 pulse output is completed.
M1030: M1030 = ON when Y1 pulse output is completed.
M1102: M1102 = ON when Y2 pulse output is completed.
M1103: M1103 = ON when Y3 pulse output is completed.
M1078: Y0 pulse output pause (immediately)
M1079: Y1 pulse output pause (immediately)
M1104: Y2 pulse output pause (immediately)
M1105: Y3 pulse output pause (immediately)
M1190: Se t Y0 high speed output as 0.01~10Hz.
(DVP-12SE does not support this function.)
M1191: Se t Y1 high speed output as 0.01~10Hz.
(DVP-12SE does not support this function.)
M1192: Se t Y2 high speed output as 0.01~10Hz.
(DVP-12SE does not support this function.)
M1193: Se t Y3 high speed output as 0.01~10Hz.
(DVP-12SE does not support this function.)
M1347: Auto reset Y0 when high speed pulse output completed
M1348: Auto reset Y1 when high speed pulse output completed
M1524: Auto reset Y2 when high speed pulse output completed
M1525: Auto reset Y3 when high speed pulse output completed
M1538: Indicating pause status of Y0
M1539: Indicating pause status of Y1
M1540: Indicating pause status of Y2
M1541: Indicating pause status of Y3
3-142
3. Instruction Set
instruction.
3. More explanations for M1347,M1348, M1524, M1525:
Generally when pulse output is completed, PLSY instruction has to be reset so that the
instruction can start pulse output one more time. When M1347, M1348, M1524 or M1525 is
enabled, the associated output terminals (Y0~Y3) will be reset automatically when pulse output
is completed, i.e. the PLSY instruction is reset. When PLC scans to PLSY instruction again, the
pulse output starts automatically. In addition, PLC scans the 4 flags after END instruction, hence
PLSY instruction in continuous pulse output mode requires a delay time of one scan cycle for
next pulse output operation.
The function is mainly used in subroutines or interrupts which require high speed pulse output.
Here are some examples:
Program Example 1:
EI
FEND
M1000
I 001 SET M1347
IRET
M1000
I 101 SET M1524
IRET
END
3-143
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Explanations:
a) Whenever I001 is triggered, Y0 will output 1,000 pulses; whenever I101 is triggered, Y2 will
output 1,000 pulses.
b) When pulse output is completed, there should be an interval of at least one scan cycle before
next pulse output operation is triggered. .
Program Example 2:
X1
SET M1347
X2
PLSY K1000 K1000 Y0
END
Explanation:
When both X1 and X2 are ON, Y0 pulse output will operate continuously. However, there will be a
delay of approx. 1 scan cycle every 1000 pulses.
3-144
3. Instruction Set
2. S1 is specified as pulse output width (t). S2 is specified as pulse output cycle (T).
Rule: S1 ≦ S2. (It is only applicable to DVP-12SE.)
Reference Table for Output Cycle and Output Width
Range of Output Y0 Y1 Y2 Y3
pulse output t 0~10000 0~32767
width / cycle T 1~10000 1~32767
Flag for switching unit M1112 M1070 M1113 M1071
3-145
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
11. When M1071 = ON, the unit of Y3 output pulse is 100μs, when M1071 = OFF, the unit is 1ms.
12. When M1116 is ON, M1112 and M1113 do not work. The time unit of the pulse output through
Y0 and Y2 is 1μs. DVP-ES2 version 3.00/SS2 version 2.80/SA2 version 2.60/SE version
2.60/SX2 version 2.40 support this function.
13. When M1117 is ON, M1070 and M1071 do not work. The time unit of the pulse output through
Y1 and Y3 is 10μs. DVP-ES2 version 3.00/SS2 version 2.80/SA2 version 2.60/SE version
2.60/SX2 version 2.40 support this function.
14. If M1116 for DVP-SS2 is enabled, the minimum pulse output width should be larger than 20.
Otherwise, due to the limitations on the hardware bandwidth of Y0 and Y2, the output result is
not the correct time width.
Program Example:
When X0 = ON, Y1 output the pulse as shown X0
PWM K1000 K2000 Y1
opposite. When X0 = OFF, output Y1 turns OFF.
t=1000ms
Output Y1
T=2000ms
Note:
1. Flag description:
M1070: Switching clock pulse of Y1 for PWM instruction (ON:100 us, OFF: 1ms)
M1071: Switching clock pulse of Y3 for PWM instruction (ON:100 us, OFF: 1ms)
M1112: Switching clock pulse of Y0 for PWM instruction (ON:10 us/100µs for SE; OFF:
100 us/1ms for SE)
M1113: Switching clock pulse of Y2 for PWM instruction (ON:10 us, OFF: 100 us)
M1116: If M1116 is ON, the time unit of the pulse output through Y0 and Y2 is 1μs.
M1112 and M1113 do not work.
M1117: If M1117 is ON, the time unit of the pulse output through Y1 and Y3 is 10μs.
M1070 and M1071 do not work.
2. Special D registers description:
D1030 PV of Y0 pulse output (Low word)
D1031 PV of Y0 pulse output (High word)
D1032: Low word of the present value of Y1 pulse output
D1033 High word of the present value of Y1 pulse output
D1336 PV of Y2 pulse output (Low word)
D1337 PV of Y2 pulse output (High word)
D1338: Low word of the present value of Y3 pulse output.
D1339: High word of the present value of Y3 pulse output.
3-146
3. Instruction Set
3. When output device is specified with Y0, Y2, the start/end frequency of Y0 is set by D1340 and start/end
frequency of Y2 is set by D1352.
4. When output device is specified with Y1, Y3, the start/end frequency is 0Hz.
5. When D1220/D1221 = K1 or K2, positive/negative sign of S2 denotes pulse output direction.
6. PLSR instruction supports two modes of pulse output as below list.
Mode D1220 D1221
Output K0 K1 K0 K1
Y0 Pulse Pulse
Y1 Pulse Dir
Y2 Pulse Pulse
Y3 Pulse Dir
7. When assigning Y0 and Y2 output mode as Pulse, i.e. D1220 = K0, D1221 = K0, the available range for S2
is 1~32,767 (16-bit instruction) and 1~2,147,483,647 (32-bit instruction).
3-147
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
8. When assigning Y0 and Y2 output mode as Pulse/Dir, i.e. D1220 = K1, D1221 = K1, the available range
for S2 is 1~32,767 or -1~-32,768 (16-bit instruction) and 1~2,147,483,647 or -1~-2,147,483,648 (32-bit
instruction)
9. When assigning output device as Y1 and Y3, the available range for S2 is 1~32,767 (16-bit instruction)
and 1~2,147,483,647 (32-bit instruction).
10. S3: Ramp up/down time (unit: ms, min. 20ms).
When assigning output device as Y1 and Y3, the set value of ramp up and ramp down time should be the
same.
When assigning output device as Y0 and Y2, and if:
M1534 = OFF (Y0) and M1535 = OFF (Y2), the ramp up and ramp down time should be the same.
M1534 = ON and M1535 = ON, then S3 specifies ramp up time only. The ramp down time is
specified by value set in D1348 (Y0) and D1349 (Y2).
11. When M1257 = OFF, ramp up/down curve of Y0 and Y2 is straight line. When M1257 = ON, ramp
up/down curve will be S curve. The ramp up/down curve of Y1 and Y3 is fixed as straight line
12. The output will not be affected if S1, S2 or S3 are changed when PLSR instruction is being executed.
PLSR instruction has to be stopped if changing values in S1, S2 or S3 is required.
13. Flags for indicating pulse output status:
Output Y0 Y1 Y2 Y3
Completion M1029 M1030 M1102 M1103
Immediately Pause M1078 M1079 M1104 M1105
a) When pulse output on Y0/Y1 specified as Pulse/Dir (D1220 = K1) is completed, completion flag
M1029 = ON.
b) When pulse output on Y2/Y3 specified as Pulse/Dir (D1221 = K1) is completed, completion flag
M1102 = On。
c) When PLSR/DPLSR instruction is activated again, the completion flags will automatically be reset.
14. During the ramp up process, the pulse numbers (frequency x time) of each speed shift may not all be
integer values, but PLC will operate integer value only. In this case, the omitted decimals will result in
errors between each speed shift, i.e. pulse number for each shift may differ due to this operation. For
ensuring the required output pulse number, PLC will fill in pulses as need automatically in order to
correct the deviation.
15. There is no limitation on the times of using this instruction in the program. However, only 4
instructions can be executed at the same scan time. When several pulse output instructions (PLSY,
PWM, PLSR) use Y1 as the output device in the same scan cycle, PLC will execute pulse output
according to the driven order of these instructions.
16. Set value falls out of the available range of operands will be automatically corrected with the min. or
max available value.
17. When M1334 or M1335 is enabled, execute API59 PLSR/DPLSR instructions on Y0 or Y2 to
ramp-down when the conditional contacts are closed.
3-148
3. Instruction Set
ES2/ 12SA2/
Series ES2-C ES2-E SS2 12SE 26SE 28SA2
EX2 SX2
Firmware
V3.42 V3.48 V1.00 V2.86 V3.28 -- V2.0 V3.0
version
Program Example:
1. When X0 = ON, PLSR performs pulse output on Y0 with a target speed of 1000Hz, output pulse number
D10 and ramp up/down time of 3000ms. Ramp up process begins to increase 1000/20 Hz in every shift
and every shift outputs D10/40 pulses for 3000/20 ms.
2. When X0 = OFF, the output stops immediately and starts from the count value in D1030, D1031 when
PLSR is executed again.
3. Ramp up/down shifts for Y0, Y2: 20. Ramp up/down shifts for Y1, Y3: 10
X0
PLSR K1000 D10 K3000 Y0
Pulse speed(Hz)
3-149
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Y2.
M1534: Enable ramp-down time setting on Y0. Has to be used with D1348
M1535: Enable ramp-down time setting on Y2. Has to be used with D1349
2. Description on associated special registers:
For D1030~D1033, D1336~D1339, D1220, D1221, please refer to PLSY instruction
D1026: M1156 = ON, D1026 stores pulse number for masking Y0 (Low word).
D1027: M1156 = ON, D1026 stores pulse number for masking Y0 (High word).
D1135: M1158 = ON, D1135 stores pulse number for masking Y2 (Low word).
D1136: M1158 = ON, D1135 stores pulse number for masking Y2 (High word).
D1232: Output pulse number for ramp-down stop when Y0 mark sensor receives signals.
(Low word).
D1233: Output pulse number for ramp-down stop when Y0 mark sensor receives signals.
(High word).
D1234: Output pulse number for ramp-down stop when Y2 mark sensor receives signals
(Low word).
D1235: Output pulse number for ramp-down stop when Y2 mark sensor receives signals
(High word).
D1348: M1534 = ON, D1348 stores the ramp-down time of CH0(Y0, Y1) pulse output.
D1349: M1535 = ON, D1349 stores the ramp-down time of CH1(Y2, Y3) pulse output.
D1340 Start/end frequency of the pulse output CH0 (Y0, Y1)
D1352 Start/end frequency of the pulse output CH1 (Y2, Y3)
3. Operation of Mark function on Y0:
Frequency
Pulse number if no
Start/end external interrupt on X4
freuquency
D1340
Time
D1348 Ramp-down time Pulse
Ramp-up number
time
DD1232
Ramp-down stop pulse
number when Mark
is detected
When M1156/M1158 = ON, enable ramp-down pause (Mark function) on Y0/Y2 when X4/X6 receives
interrupt signals.
3-150
3. Instruction Set
When Mark function is enabled, ramp down time is independent of the ramp up time. Users can set
ramp up time in S3 and ramp down time in D1348/D1349. (Range: 20ms~32767ms)
When Mark function is executed and the ramp-down stop pulses (DD1232/DD1234) are specified,
PLC will execute ramp-down stop with specified pulses after Mark is detected. However, if
DD1232/DD1234 are less than the specified ramp-down time (D1348 / D1349), PLC will fill
DD1232/DD1234 with the value of ramp-down time. In addition, if DD1232/DD1234 is more than the
half of total output pulses, PLC will modify DD1232/DD1234 to be less than half of the total output
pulses.
Ramp-down stop pulses (DD1232/DD1234) are 32-bit value. Set value K0 will disable the Mark
function.
Y0,Y2 relative parameters for Mask and Alignment Mark function:
Parameter Pulse number Output
Ramp Pulse number
Input for ramp-down pause Pause
Mark flag down for masking
Output points of Mark (ramp status
time output
function down)
Y0 M1156 X4 D1348 D1026, D1027 D1232, D1233 M1108 M1538
Y2 M1158 X6 D1349 D1135, D1136 D1234, D1235 M1110 M1540
Program example 1:
M0
SET M1156
M0
DPLSR K100000 K1000000 K20 Y0
FEND
M1000
I401 INCP D0
IRET
END
Explanations:
When M0 is triggered, Y0 executes pulse output. If external interrupt is detected on X4, pulse output
will perform ramp down process for 10,000 pulses and then stop. M1108 will be ON to indicate the
pause status (ramp down). If no interrupt is detected, Y0 pulse output will stop after 1,000,000 pulses
are completed.
When pulse output ramps down and stops after Mark is detected, M1538 will be ON to indicate the
pause status. If users need to complete the remaining pulses, set OFF the flag M1108 and pulse
output will resume.
4. Operation of Mask function on Y0:
3-151
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Frequency
Y0 is masked from Y0 is ready for
interrupts on X4 interrupts from X4
Target
speed
Pulse number if no
Start/end external interrupt on X 4
frequency
D1340 Time
Pulse
Ramp down time
number
(D1348)
Pulses to be m asked,
Specified by DD1026
Ramp-down stop pulse
number when M ark
is detected (D D1232 )
Mask function on Y0 will be enabled when D1026 and D1027 are specified with values other than 0.
Mask function is disabled when D1026 and D1027 are specified with 0. If pulse output process can not
reach the target speed, PLC will clear DD1026 to disable the Mask function. If the Mask range is set to
be within the ramp-up section, PLC will automatically modify DD1026 to be longer than the ramp-up
section. On the other hand, if DD1026 is set between ramp- down section, PLC will modify DD1026 to
be the range before the beginning of ramp-down process. Mask function setting method on Y2 is the
same as Y0.
Program example 2:
M0
SET M1156
M0
DPLSR K100000 K1000000 K20 Y0
FEND
M1000
I401 INCP D0
IRET
END
Explanations:
When M0 is triggered, Y0 executes pulse output. When external interrupt is detected on X4 after
50,000 pulses, pulse output will perform ramp down process for 10,000 pulses and then stop. M1108
will be ON. If no interrupt is detected on X4, Y0 pulse output will stop after 1,000,000 pulses are
completed.
Interrupt triggered between 0 ~ 50,000 pulses will be invalid, i.e. no ramp-down process will be
3-152
3. Instruction Set
5. Adding mask and alignment mark function for CH0 and CH1
Available for the followings
ES2/ 12SA2/
Series ES2-C ES2-E SS2 12SE 26SE 28SA2
EX2 SX2
Firmware
V3.28 V3.28 V1.00 V2.82 V3.28 -- V2.0 V3.0
version
CH0 and CH1 relative parameters for Mask and Alignment Mark function:
Number of
marking
CH0
D1232/D12 D1026 D1100
M1156 X4 D1343 D1348 D1340
(Y0/Y1) 33 D1027 D1101
CH1
D1234/D12 D1135 D1102
M1158 X6 D1353 D1349 D1352
(Y2/Y3) 35 D1136 D1103
3-153
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Frequency
Target
frequency
start/end frequency
D1340
Pulse #
Alignment mark function can be done in the sections of ramp-up, rump-down and speed.
The frequency for the normal slope is defined by the frequencies of starting, ending and the target
as well as the time of ramp-up and down. See the black line for reference.
3-154
3. Instruction Set
The frequency for the fixed slope is defined by the frequencies of starting, ending and the maximum
as well as the time of ramp-up and down. See the red line for reference.
7. Add new functions such as adding alignment marks to the ramping down, the frequency of the fixed
slope and selected masking for the output points Y1 and Y3. The actions are the same as
aforementioned 5 and 6. And the relative parameters are listed below.
Available for the followings
ES2/ 12SA2/
Series ES2-C ES2-E SS2 12SE 26SE 28SA2
EX2 SX2
Firmware
V3.42 V3.48 V1.00 V2.86 -- -- -- V3.0
version
Number of
Marking External Starting/
Output Ramp-up Ramp-down ramp-down Front Back
deceleration input Stopping
number time time pulses masking masking
flag point frequency
after marking
D1026/ D1100/
Y0 M1156 X4 D1343 D1348 D1340 D1232/D1233
D1027 D1101
D1154/ D1156/
Y1 M1157 X5 NA NA NA D1236/D1237
D1155 D1157
D1135/ D1102/
Y2 M1158 X6 D1353 D1349 D1352 D1234/D1235
D1136 D1103
D1158/ D1160/
Y3 M1159 X7 NA NA NA D1238/D1239
D1159 D1161
It does not support separating the ramp up and ramp down nor does it support setting up the start/stop
frequency.
3-155
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Note: If the values in the device where stores pulse number for masking in the front for Y0-Y3 is zero or
less than -4 or equals to -4, it indicates the marking and masking functions in the front are disabled. On
the other hand, if the values is greater than 0 or between -1 to -3, it indicates the marking and masking
functions in the front are enabled. If the values in the device where stores pulse number for masking in
the back for Y0-Y3 is less than 0 or equals to 0, it indicates the marking and masking functions in the
back are disabled. On the other hand, if the values is greater than 0 or if the values in the device where
stores pulse number for masking in the front is less than -3, it indicates the marking and masking
functions in the back are enabled.
8. PLSR/DPLSR Instructions
Added new marking behaviors A-C for PLSR/DPLSR instructions and behavior B (-3) for DCLLM
instruction.
Applicable Models and Starting Versions
Series ES2/EX2/ES2-C ES2-E 12SA2/SX2 SS2 12SE 26SE 28SA2
B. When the masking number is -1 in the front masking area, it indicates masking occurs in the acceleration
area; -2 in the front masking area means masking occurs in the areas of acceleration and full-speed; -3
(only available for DCLLM instruction) in the front masking area means masking occurs in the areas of
acceleration, full-speed and deceleration.
3-156
3. Instruction Set
See the Y0 example below. The values of D1026/1027 in front masking area are set among -1 to -3. The
masking can be done accordingly, you do not need to calculate the number of pulses in each area.
C. You can set number of deceleration pulses after marking to less than 0 (<0) and when marking is done,
the output stopped immediately.
See the Y0 example below. If you set the number of deceleration pulses after marking to less than 0
in D1232/1233, the output stopped immediately after it received the signal, whether it’s in the area of
acceleration, full-speed or deceleration.
3-157
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
3-158
3. Instruction Set
3-159
D V P - E S 2 / E X 2 / S S 2 / S A2 / S X 2 / S E & T P O p e r a t i o n M a n u a l - P r o g r a m m i n g
Program Example 2:
Robot arm control (by IST instruction):
1. Control purpose:
Select the big balls and small balls and move them to corresponding boxes. Configure the
control panel for each operation.
2. Motion of the Robot arm:
lower robot arm, clip balls, raise robot arm, shift to right, lower robot arm, release balls, raise
robot arm, shift to left to finish the operation cycle.
3. I/O Devices
Right-limit X2 Right-limit X3
Left-limit X1 (big balls) (small balls)
Y0
Upper-limit X4 Y3 Y2
Y1
Upper-limit X5
Ball size Big Small
sensor X0
4. Operation mode: