DELTA Manual IA-PLC AS PM EN 20220801 PDF
DELTA Manual IA-PLC AS PM EN 20220801 PDF
DELTA Manual IA-PLC AS PM EN 20220801 PDF
Asia EMEA
China: Delta Electronics (Shanghai) Co., Ltd. EMEA Headquarters: Delta Electronics (Netherlands) B.V.
No.182 Minyu Rd., Pudong Shanghai, P.R.C. Sales: [email protected]
Post code : 201209 Marketing: [email protected]
TEL: +86-21-6872-3988 / FAX: +86-21-6872-3996 Technical Support: [email protected]
Customer Service: 400-820-9595 Customer Support: [email protected]
Service: [email protected]
Japan: Delta Electronics (Japan), Inc. TEL: +31(0)40 800 3900
Industrial Automation Sales Department
2-1-14 Shibadaimon, Minato-ku BENELUX: Delta Electronics (Netherlands) B.V.
Tokyo, Japan 105-0012 Automotive Campus 260, 5708 JZ Helmond, The Netherlands
TEL: +81-3-5733-1155 / FAX: +81-3-5733-1255 Mail: [email protected]
TEL: +31(0)40 800 3900
Korea: Delta Electronics (Korea), Inc. DACH: Delta Electronics (Netherlands) B.V.
1511, 219, Gasan Digital 1-Ro., Geumcheon-gu,
Coesterweg 45, D-59494 Soest, Germany
Seoul, 08501 South Korea
Mail: [email protected]
TEL: +82-2-515-5305 / FAX: +82-2-515-5302
TEL: +49(0)2921 987 0
Singapore: Delta Energy Systems (Singapore) Pte Ltd. France: Delta Electronics (France) S.A.
4 Kaki Bukit Avenue 1, #05-04, Singapore 417939 ZI du bois Challand 2, 15 rue des Pyrénées,
TEL: +65-6747-5155 / FAX: +65-6744-9228 Lisses, 91090 Evry Cedex, France
Mail: [email protected]
India: Delta Electronics (India) Pvt. Ltd. TEL: +33(0)1 69 77 82 60
Plot No.43, Sector 35, HSIIDC Gurgaon,
PIN 122001, Haryana, India Iberia: Delta Electronics Solutions (Spain) S.L.U
TEL: +91-124-4874900 / FAX: +91-124-4874945 Ctra. De Villaverde a Vallecas, 265 1º Dcha Ed.
Hormigueras – P.I. de Vallecas 28031 Madrid
Thailand: Delta Electronics (Thailand) PCL. TEL: +34(0)91 223 74 20
909 Soi 9, Moo 4, Bangpoo Industrial Estate (E.P.Z), Carrer Llacuna 166, 08018 Barcelona, Spain
Pattana 1 Rd., T.Phraksa, A.Muang, Mail: [email protected]
Digitized Automation for a Changing World
Americas
17 121357 Moscow Russia
Mail: [email protected]
TEL: +7 495 644 3240
USA: Delta Electronics (Americas) Ltd.
5101 Davis Drive, Research Triangle Park, NC 27709, U.S.A. Turkey: Delta Greentech Elektronik San. Ltd. Sti. (Turkey)
TEL: +1-919-767-3813 / FAX: +1-919-767-3969 Şerifali Mah. Hendem Cad. Kule Sok. No:16-A
34775 Ümraniye – İstanbul
Brazil: Delta Electronics Brazil Ltd. Mail: [email protected]
Estrada Velha Rio-São Paulo, 5300 Eugênio de TEL: + 90 216 499 9910
Melo - São José dos Campos CEP: 12247-004 - SP - Brazil
TEL: +55-12-3932-2300 / FAX: +55-12-3932-237 MEA: Eltek Dubai (Eltek MEA DMCC)
OFFICE 2504, 25th Floor, Saba Tower 1,
Mexico: Delta Electronics International Mexico S.A. de C.V. Jumeirah Lakes Towers, Dubai, UAE
Gustavo Baz No. 309 Edificio E PB 103 Mail: [email protected]
Colonia La Loma, CP 54060 TEL: +971(0)4 2690148
Tlalnepantla, Estado de México
TEL: +52-55-3603-9200
AS-0249720-09
*We reserve the right to change the information in this manual without prior notice.
www.deltaww.com
2022/08/01
AS Series Programming Manual
Revision History
Ve r s i o n Revision Date
Table of Contents
Chapter 1 Introduction
Chapter 2 Devices
i
Chapter 3 Instruction Tables
ii
Chapter 6 Applied Instructions
iii
6.12.2 Explanation of Shift Instructions...................................................... 6-318
iv
6.24.2 Explanation of Task Control Instructions .......................................... 6-905
Chapter 7 Troubleshooting
v
Module ....................................................................................... 7-22
7.3.6 Troubleshooting for the Module AS00SCM as a Communication Module 7-25
7.3.7 Troubleshooting for the Module AS00SCM as a Remote Module ........... 7-26
7.3.8 Troubleshooting for AS01DNET Modules .......................................... 7-27
7.4 Error Codes and LED Indicators for Modules ................................... 7-28
7.4.1 Error Codes and LED Indicators for CPU Modules .............................. 7-28
7.4.2 Error Codes and LED Indicators for Analog/Temperature Modules........ 7-35
7.4.3 Error Codes and LED Indicators for Positioning Module AS02 / 04PU .... 7-36
7.4.4 Error Codes and LED Indicators for High Speed Counter Module
AS02HC ..................................................................................... 7-36
7.4.5 Error Codes and LED Indicators for Load Cell Module AS02LC ............. 7-37
7.4.6 Error Codes and LED Indicators for Module AS04SIL IO-Link as
a Communication Module .............................................................. 7-37
7.4.7 Error Codes and LED Indicators for Module AS00SCM as a Communication
Module ....................................................................................... 7-38
7.4.8 Error Codes and LED Indicators for Module AS00SCM as a Remote
Module ....................................................................................... 7-38
7.4.9 Error Codes and LED Indicators for Module AS01DNET
(Master/Slave Mode) .................................................................... 7-39
7.4.10 Error Codes and LED Indicators for Module AS01DNET (RTU Mode) ..... 7-40
vi
1
Chapter 1 Introduction
Table of Contents
1.1 Overview ............................................................................................... 1-2
1.1.1 Related Manuals ........................................................................... 1-2
1.1.2 Model Description ......................................................................... 1-2
1-1
AS Ser ies Pro gra mm in g M anu al
1.1 Overview
_1 This manual introduces you how to program the AS Series programmable logic controllers, the basic instructions, and
the applied instructions. For software operation, ISPSoft, DIADesigner or DIADesigner-AX is what you need. If you are
using AS Series PLC CPU, refer to ISPSoft User Manual or DIADesigner Manual for more information.
This guides you in getting started with the system before you read the other related manuals.
This introduces you to programming the AS Series programmable logic controllers, the basic instructions, and the
applied instructions.
This introduces the ISPSoft / DIADesigner software that you use to program the AS Series programmable logic
controllers. It describes the programming languages (ladder diagrams, instruction lists, sequential function charts,
function block diagrams, and structured texts), the concept of POUs, and the concept of tasks.
This introduces electrical specifications, appearances, dimensions, CPU functions, devices, module tables,
troubleshooting, and so forth.
This introduces the use of the special I/O modules; for example: network modules, analog I/O modules, temperature
measurement modules, and others.
1-2
Cha p ter 1 In tr od ucti on
1-3
AS Ser ies Pro gra mm in g M anu al
1-4
Cha p ter 1 In tr od ucti on
1-5
AS Ser ies Pro gra mm in g M anu al
_1 32 inputs
MIL connector
5 - 30VDC
0.1A/output, 3.2A/COM
AS32AN02T-A 32 outputs
Sinking output
MIL connector
24VDC
3.2mA
AS64AM10N-A
64 inputs
MIL connector
5 - 30VDC
0.1A/output, 3.2A/COM
AS64AN02T-A 64 outputs
Sinking output
MIL connector
4-channel analog input module
Hardware resolution: 16 bits
AS04AD-A
0–10V, 0/1–5V, -5 to +5V, -10 to +10V, 0/4–20mA, -20–+20mA
Conversion time: 2 ms/channel
8-channel analog input module
Hardware resolution: 16 bits
AS08AD-B
0 to +10V, 0/1–5V, -5V to +5V, -10V to +10V
Conversion time: 2 ms/channel
8-channel analog input module
Hardware resolution: 16 bits
AS08AD-C
0/4–20mA, -20mA–+20mA
Conversion time: 2 ms/channel
4-channel analog output module
Hardware resolution: 12 bits
AS04DA-A
Analog -10 to +10V, 0–20mA, 4–20mA
input/output Conversion time: 2 ms/channel
module 4-channel analog input
Hardware resolution: 16 bits
0–10V, 0/1–5V, -5 to +5V, -10 to +10V, 0/4–20mA, -20 to +20mA
Conversion time: 2 ms/channel
AS06XA-A
2-channel analog output
Hardware resolution: 12 bits
-10 to +10V, 0–20mA, 4–20mA
Conversion time: 2 ms/channel
2-channel analog input module
Hardware resolution: 16 bits
0–10 V, 0/1–5 V, -5 to +5 V, -10 to +10 V, 0/4–20 mA, -20 to +20 mA
AS02ADH-A High-speed conversion time: 2 µs
Full isolation (the analog channels are isolated from one another.)
Logging function enable/disable: 2000 data per channel, peak records
Filtering: Low-pass filter, band-pass filter
1-6
Cha p ter 1 In tr od ucti on
1-7
AS Ser ies Pro gra mm in g M anu al
_1 AS-FCOPM
AS00SCM-A
+ For AS-FEN02 function cards
AS-FEN02
DeviceNet remote IO slave, its right side connects with AS Series
AS01DNET-A (RTU) extension modules, including digital modules, analog modules,
temperature modules, etc.
AS-F232 Serial communication port, RS232, functioning as master or slave
AS-F422 Serial communication port, RS422, functioning as master or slave
AS-F485 Serial communication port, RS485, functioning as master or slave
CANopen communication port, supporting DS301, AS series remote
AS-FCOPM
modules and Delta servo systems
2-channel analog input
AS-F2AD 0-10V (12 bits), 4-20mA (11 bits)
Conversion time: 3ms/channel
2-channel analog output
AS-F2DA 0-10V, 4-20mA (12 bits)
Conversion time: 2ms/channel
Only available for AS300 Series PLC CPU, 2x Ethernet ports,
Function cards AS-FEN02 supporting switch function, Modbus TCP, EtherNet/IP Adapter and AS
Series remote control
Only available for AS300 Series PLC CPU, 2x Ethernet ports,
AS-FPFN02
supporting switch function, PROFINET Device (Slave)
Only available for AS300 Series PLC CPU, 2x Ethernet ports,
AS-FOPC02
supporting switch function, OPC-UA Server, Modbus TCP
Only available for AS300 Series PLC CPU, 1x Ethernet ports,
AS-FFTP01 supporting FTP Server, OPC UA Server, MQTT Client, Web Server,
Data log
Only available for AS300 Series PLC CPU, 2x Ethernet ports,
supporting data exchange (before EtherCAT Master enabled),
AS-FECAT
MODBUS TCP Server (1 connection), EtherCAT Master 16-axes
point-to-point positioning control (only available for Delta drive)
UC-PRG015-01A Used for the connection between a PLC and a PC via a mini USB
(1.5M) port, use for AS332T-A, AS332P-A and AS324MT-A
UC-PRG030-01A Use for the connection between a PLC and a PC with a mini USB
Programming
(3M) port, use for AS332T-A, AS332P-A and AS324MT-A
cable
Use for the connection between a PLC and a PC with a RJ45 port,
UC-PRG030-20A
use for AS332T-A, AS332P-A, AS324MT-A, AS-FEN02, AS-FPFN02
(3M)
and AS-FECAT.
UC-ET010-24B (1M)
MIL connector, 40Pin ↔ 40Pin, shielded, use for AS32AM10N-A,
UC-ET020-24B (2M)
AS32AN02T-A, AS64AM10N-A and AS64AN02T-A
I/O extension UC-ET030-24B (3M)
cable UC-ET010-24D (1M) MIL connector, 40Pin↔ 2x 20Pin, shielded, use for AS332T-A,
UC-ET020-24D (2M) AS332P-A, AS324MT-A, AS32AM10N-A, AS32AN02T-A,
UC-ET030-24D (3M) AS64AM10N-A, and AS64AN02T-A
External UB-10-ID16A 16 inputs/outputs, 20-Pin MIL connector, use for AS332T-A, AS332P-
1-8
Cha p ter 1 In tr od ucti on
1-9
AS Ser ies Pro gra mm in g M anu al
1.2 Software
_1 1.2.1 Program Editor
The section describes the program editor ISPSoft.
Supported the following programming languages: structure text (ST), ladder diagram (LD), sequential function chart
(SFC), continuous function chart (CFC) and language C.
NOTE: CFC programming is only available in ISPSoft version 3.01 or higher.
NOTE: Language C is only available in ISPSoft version 3.08 or higher.
1-10
Cha p ter 1 In tr od ucti on
User-defined variables allow you to define a variable to replace a PLC device name. This enhances the readability of
1_
the program, and saves time when addressing the device.
The Program Organization Unit (POU) framework divides the main program into several program units, and also
replaces the traditional subroutines with functions and function blocks. The makes the framework of the program
modular and easier to manage.
Tasks manage the execution order of the programs. Tasks help you manage large-scale program development.
1 - 11
AS Ser ies Pro gra mm in g M anu al
1. Program (PROG): The program POU is the main program in the PLC. You can define the execution of this POU t
to be cyclic scan or interrupt driven, and arrange the scan order in the task list for program POUs.
2. Function block (FB): The function block (FB) POU is similar to a subroutine. The instructions in the function block
are executed after a program POU calls the function block with the related parameters.
3. Function (FC): The function (FC) POU in similar to a macro instruction. That is, you can write many operation
instructions or functions into a function-type POU, and then use then in a program POU or a function block POU.
Tasks are functions that control the order of program execution or according to certain interrupt conditions. The task
provides each program POU with a specific execution task, and specifies the execution order for the program POUs or
the way to enable them.
Normally, only some of the program POUs in a project take part in the actual execution. The task controls whether to
execute the program POU or not, and how to execute it. If the POU of the program type is not assigned in the task, the
program POU is saved as ordinary source code with the project instead of being compiled into the execution code for the
PLC. In addition, only the program POU needs to be assigned to the task. Function block POUs or function POUs are
automatically called by the program POU. There are three types of tasks.
1. Cyclic task: The program POUs assigned to cyclic tasks are scanned cyclically, and executed in order.
2. Timed interrupt task: If the interrupt time is reached, all program POUs assigned to the timed interrupt task are
executed in order.
3. Conditional interrupt task: Conditional Interrupts can be divided into several types, such as external interrupts, and
I/O interrupts. You must make sure that the PLC supports the interrupts before you use conditional interrupts in a
project. If you assign a program POU to a conditional interrupt task, the program POU is similar to an interrupt
subroutine. When the interrupt condition is satisfied (for example, the contact of the external interrupt is triggered)
then all program POUs assigned to the conditional interrupt task are executed in order.
1-12
2
Chapter 2 Devices
Table of Contents
2-1
AS Series Programming Manual
D 30000 D0–D29999
Data register
W 30000 W0–W29999 *4
Special auxiliary relay SR 2048 SR0–SR2047
Word device
File register FR 65536 FR0–FR65535
16 bits: 16#0–16#FFFF
Hexadecimal system 16#
32 bits: 16#0–16#FFFFFFFF
Constant*2
Single-precision floating-
F 32 bits: ±1.17549435-38 to ±3.40282347+ 38
point number
String*3 String “$” 1–31 characters
*1: Constants are indicated by K in the device lists in Chapter 5 and Chapter 6 in the AS Series Programming Manual.
For example, when “K50” appears in the AS programming manual, enter only the number 50 in ISPSoft.
*2: Floating-point numbers are indicated by F/DF in the device lists in Chapter 5 and Chapter 6 in the AS Series
Programming Manual, but they are represented by decimal points in ISPSoft. For example, for the floating-point
number F500, enter 500.0 in ISPSoft.
2-2
C ha p ter 2 D e v ic es
*3: Strings are indicated by $ in Chapter 5 and Chapter 6 in the AS Series Programming Manual, but they are
represented by quotes (“ ”) in ISPSoft. For example, for the string of 1234, enter “1234” in ISPSoft.
2.1.3 Relation Between the PLC Action and the Device Type
Device type Non-latched area Latched area
Other Other
Device Y File register
PLC action devices devices
Power: OFF→ON Cleared Cleared Retained Retained
Restore to defaults Cleared Cleared Cleared Cleared
STOP The non-latched area is cleared. Cleared Cleared Retained Retained
↓ The state of the non-latched area is
Retained Retained Retained Retained
RUN*1 retained.
SM203 is OFF.
The state of
(The state of
device Y is Cleared Retained Retained Retained
other devices
cleared.
are retained.)
SM203 is OFF.
The state of
(The state of
device Y is Retained Retained Retained Retained
other devices
RUN retained.
are retained.)
↓
SM203 is ON. *3
STOP*1 The state of
(The state of
device Y is Cleared Cleared Retained Retained
other devices
cleared.
are cleared.)
SM203 is ON.
The state of
(The state of
device Y is Retained Cleared Retained Retained
other devices
retained.
are cleared.)
SM204 is ON.*2 Cleared Cleared Retained Retained
2-3
AS Series Programming Manual
_2 *1: For more on setting the states, see HWCONFIG in ISPSoft. The default for PLC STOP->RUN is “clear not-latched
area”. The default for PLC RUN->STOP is “clear the state of device Y”.
*2: PLC clears the areas when SM switches from OFF to ON. After clearing the areas, PLC switches the SM back to
OFF.
*3: When SM203 is ON, it clears the non-latched area once when PLC RUN->STOP. This function should work with AS
PLC CPU with FW V1.08.30 or later.
*1: For more information on setting the latched area, see HWCONFIG in ISPSoft. Setting the latched area means the
other areas are seen as non-latched areas. The range of latched areas cannot exceed the device range. For example,
setting M600–M7000 as latched areas makes M0–M5999 and M7001–M8191 non-latched areas.
*2: Used for editing in ISPSoft only.
2-4
C ha p ter 2 D e v ic es
A word is composed of two consecutive bytes (16 bits, b15–b0). Words can
Word
represent 0000–FFFF in the hexadecimal system.
W1 W0
W ord
BY 3 BY2 BY1 B Y0 B yt e
N B7 N B6 N B5 N B4 N B3 N B2 N B1 N B0
N ib ble
b31b30 b29 b28 b27b26 b25 b24b23 b22 b21 b20 b19 b18 b17 b16 b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0 Bit
2-5
AS Series Programming Manual
The PLC uses four types of values to execute the operation according to different control purposes.
The device number; for example, M10 and T30 (device number)
The number before or after the decimal point; for example, X0.0, Y0.11, and D10.0 (device number).
The constant K, used as the operand in an applied instruction. For example, MOV 123 D0 (constant K).
A decimal value that is represented by a nibble or four bits so that sixteen consecutive bits represent a four-digit
decimal value.
The constant 16#, used as the operand in an applied instruction; for example, MOV 16#1A2B D0
(hexadecimal constant).
2-6
C ha p ter 2 D e v ic es
b 31 b0
S ig n b it
0 : Po siti ve
1 : Neg ati ve
Equation:
1S 2 E B 1.M ; B 127
The single-precision floating-point numbers range between ±2-126 to ±2+128, and correspond to the range between
±1.1755×10-38 to ±3.4028×10+38.
The AS Series PLC uses two consecutive registers for a 32-bit floating-point number. Take (D1, D0) for example.
D1 (b 15 ~b 0) D0 (b 15 ~b 0)
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
E xp on en t ( 8 b its ) Ma nt iss a (2 3b it s )
T he pos ition w here the d eci mal point is hid den
Example 1:
Step 2: Normalize the binary number, 10111=1.0111 ×24 (0111 is the mantissa, and 4 is the exponent.).
∵ E-B=4→E-127=4 ∴ E=131=100000112
Step 4: Combine the sign bit, the exponent, and the mantissa to form the floating-point number.
0 10000011 011100000000000000000002=41B8000016
2-7
AS Series Programming Manual
Example 2:
Converting -23.0 into the floating-point number uses the same steps as converting 23.0 into the floating-point number,
except that the sign bit is 1.
1 10000011 011100000000000000000002=C1B8000016
_2 2.2.2.2 Decimal Floating-point Numbers
Single-precision floating-point numbers and double-precision floating-point numbers can be converted into decimal
floating-point numbers so people can read them. However, internally the PLC uses single-precision floating-point
numbers and double-precision floating-point numbers.
A 32-bit decimal floating-point number is represented by two consecutive registers. The constant is stored in the
first register whose number is smaller while the exponent is stored in the register whose number is bigger. Take
(D1, D0) for example.
[Ex ponent D1]
D eci mal f lo ati ng -po in t nu mb er=[C on sta nt D 0 ]* 1 0
The base number 100 does not exist in D0 because 100 is represented by 1,000×10-1. 32-bit decimal floating-point
numbers range between ±1175×10-41 to ±402×10+35.
2.2.3 Strings
The PLC can process strings composed of ASCII codes (*1). A complete string begins with a start character, and ends with
an ending character (NULL code). Strings can have maximum length of 31 characters, and ISPSoft automatically adds the
ending character (16#00).
D0=0 (NULL)
D2 0 (NULL)
2-8
C ha p ter 2 D e v ic es
Hex 0 1 2 3 4 5 6 7 8 9 A B C D E F
ASCII
Hex 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
ASCII
Hex 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
Hex 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
Hex 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
ASCII @ A B C D E F G H I J K L M N O
Hex 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
ASCII P Q R S T U V W X Y Z
Hex 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
ASCII ` a b c d e f g h i j k l M n o
Hex 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
ASCII p q r s t u v w x y z { | } –
Note: represents an invisible character. Do not use it in strings.
The input is connected to the input device (external devices such as button switches, rotary switches, and number
switches), and the PLC reads the input signal. You can use input contact A or contact B several times in the
program, and the ON/OFF state of the input varies with the ON/OFF state of the input device.
For the PLC, the input numbers start from X0.0. The number of inputs varies with the number of inputs on the digital
input/output modules. The inputs are numbered according to the order in which the digital input/output modules are
connected to the CPU module. The maximum number of inputs for the PLC is 8192, and the input number range is
between X0.0 to X511.15.
2-9
AS Series Programming Manual
Input type
1. Regenerated inputs: The PLC reads the state of a regenerated input before the program is executed; for
example, LD X0.0.
2. Direct input: The state of a direct input is read by the PLC during the execution of the instructions; for example,
_2 LD DX0.0.
An output that is not used as an output device can be used as a general device.
Output types
Outputs are classified into two types.
1. Regenerated output: The state of a regenerated output is not written until the program executes the END instruction,
according to the states of the outputs; for example, OUT Y0.0.
2. Direct output: The state of a direct output is written by the PLC during the execution of the instructions, according
to the states of the outputs; for example, OUT DY0.0.
1. For general use: In general use, if an electric power failure occurs when the PLC is running, the
auxiliary relay resets to the OFF state. When the power is restored, the auxiliary
relay remains in the OFF state.
2. For latched use: In latched use, ff an electric power failure occurs when the PLC is running, the state
of the auxiliary relay is retained. When the power is restored, the relay state
remains the same as before the power failure.
2-10
C ha p ter 2 D e v ic es
The special auxiliary relays and their functions are listed as follows. As to the SM numbers marked “*”, users can refer to
the additional remarks on special auxiliary relays/special data registers. “R” in the attribute column indicates that the
special auxiliary relay can read the data, whereas “R/W” in the attribute column indicates that it can read and write the
data. In addition, the mark “–” indicates that the status of the special auxiliary relay does not make any change. The mark
“#” indicates that the system will be set according to the status of the PLC, and users can read the setting value and refer 2_
to the related manual for more information.
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
SM76 The data is sent through Function Card 1. ○ - OFF OFF – N R/W OFF
SM77 The data is sent through Function Card 2. ○ - OFF OFF – N R/W OFF
SM78 Waiting to receive the reply through Function Card 1 ○ - OFF OFF – N R OFF
2 - 11
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
_2 SM79 Waiting to receive the reply through Function Card 2 ○ - OFF OFF – N R OFF
SM80 Reception through Function Card 1 is complete. ○ - OFF OFF – N R/W OFF
SM81 Reception through Function Card 2 is complete. ○ - OFF OFF – N R/W OFF
Error occurs during receiving data through Function
SM82 Card 1 when using the MODRW instruction or the ○ - OFF OFF – N R OFF
RS instruction.
Error occurs during receiving data through Function
SM83 Card 2 when using the MODRW instruction or the ○ - OFF OFF – N R OFF
RS instruction.
No data received through Function Card 1 after a
SM84 ○ - OFF OFF – N R/W OFF
specified period of time.
No data received through Function Card 2 after a
SM85 ○ - OFF OFF – N R/W OFF
specified period of time.
Choice made by Function Card 1 between the 8-bit
processing mode and the 16-bit processing mode
SM86 ○ - OFF – – N R/W OFF
ON: 8-bit processing mode
OFF: 16-bit processing mode
Choice made by Function Card 2 between the 8-bit
processing mode and the 16-bit processing mode
SM87 ○ - OFF – – N R/W OFF
ON: 8-bit processing mode
OFF: 16-bit processing mode
The communication protocol of Function Card 1
SM90 ○ - OFF – – N R/W OFF
changes
The communication protocol of Function Card 2
SM91 ○ - OFF – – N R/W OFF
changes
SM94 Change in the LED lighting control in COM1 ○ ○ – – – H R/W OFF
SM95 Change in the LED lighting control in COM2 ○ ○ – – – H R/W OFF
*SM96 Data is sent through COM1. ○ ○ OFF OFF – N R/W OFF
*SM97 Data is sent through COM2. ○ ○ OFF OFF – N R/W OFF
*SM98 Waiting to receive the reply through COM1 ○ ○ OFF OFF – N R OFF
*SM99 Waiting to receive the reply through COM2 ○ ○ OFF OFF – N R OFF
*SM100 Reception through COM1 is complete. ○ ○ OFF OFF – N R/W OFF
*SM101 Reception through COM2 is complete. ○ ○ OFF OFF – N R/W OFF
Error occurs during receiving data through COM1
*SM102 when using the MODRW instruction or the RS ○ ○ OFF OFF – N R/W OFF
instruction.
Error occurs during receiving data through COM2
*SM103 when using the MODRW instruction or the RS ○ ○ OFF OFF – N R/W OFF
instruction.
No data received through COM1 after a specified
*SM104 ○ ○ OFF OFF – N R/W OFF
period of time.
No data received through COM2 after a specified
*SM105 ○ ○ OFF OFF – N R/W OFF
period of time.
2-12
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
*SM121 I201 high-speed comparison interrupt for DPLSY to ○ ○ OFF OFF – N R/W OFF
temporarily store output parameters
I202 high-speed comparison interrupt for DPLSY to
*SM122 ○ ○ OFF OFF – N R/W OFF
temporarily store output parameters
I203 high-speed comparison interrupt for DPLSY to
*SM123 ○ ○ OFF OFF – N R/W OFF
temporarily store output parameters
*SM124 I210 high-speed comparison interrupt for DPLSY to ○ ○ OFF OFF – N R/W OFF
temporarily store output parameters
I211 high-speed comparison interrupt for DPLSY to
*SM125 ○ ○ OFF OFF – N R/W OFF
temporarily store output parameters
I212 high-speed comparison interrupt for DPLSY to
*SM126 ○ ○ OFF OFF – N R/W OFF
temporarily store output parameters
*SM127 I213 high-speed comparison interrupt for DPLSY to ○ ○ OFF OFF – N R/W OFF
temporarily store output parameters
I220 high-speed comparison interrupt for DPLSY to
*SM128 ○ ○ OFF OFF – N R/W OFF
temporarily store output parameters
I221 high-speed comparison interrupt for DPLSY to
*SM129 ○ ○ OFF OFF – N R/W OFF
temporarily store output parameters
*SM130 I222 high-speed comparison interrupt for DPLSY to ○ ○ OFF OFF – N R/W OFF
temporarily store output parameters
I223 high-speed comparison interrupt for DPLSY to
*SM131 ○ ○ OFF OFF – N R/W OFF
temporarily store output parameters
I230 high-speed comparison interrupt for DPLSY to
*SM132 ○ ○ OFF OFF – N R/W OFF
temporarily store output parameters
*SM133 I231 high-speed comparison interrupt for DPLSY to ○ ○ OFF OFF – N R/W OFF
temporarily store output parameters
I232 high-speed comparison interrupt for DPLSY to
*SM134 ○ ○ OFF OFF – N R/W OFF
temporarily store output parameters
I233 high-speed comparison interrupt for DPLSY to
*SM135 ○ ○ OFF OFF – N R/W OFF
temporarily store output parameters
*SM136 I240 high-speed comparison interrupt for DPLSY to ○ ○ OFF OFF – N R/W OFF
temporarily store output parameters
I241 high-speed comparison interrupt for DPLSY to
*SM137 ○ ○ OFF OFF – N R/W OFF
temporarily store output parameters
2-13
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
_2 *SM138 I242 high-speed comparison interrupt for DPLSY to ○ ○ OFF OFF – N R/W OFF
temporarily store output parameters
I243 high-speed comparison interrupt for DPLSY to
*SM139 ○ ○ OFF OFF – N R/W OFF
temporarily store output parameters
I250 high-speed comparison interrupt for DPLSY to
*SM140 ○ ○ OFF OFF – N R/W OFF
temporarily store output parameters
*SM141 I251 high-speed comparison interrupt for DPLSY to ○ ○ OFF OFF – N R/W OFF
temporarily store output parameters
I252 high-speed comparison interrupt for DPLSY to
*SM142 ○ ○ OFF OFF – N R/W OFF
temporarily store output parameters
I253 high-speed comparison interrupt for DPLSY to
*SM143 ○ ○ OFF OFF – N R/W OFF
temporarily store output parameters
*SM144 I260 high-speed comparison interrupt for DPLSY to ○ ○ OFF OFF – N R/W OFF
temporarily store output parameters
I261 high-speed comparison interrupt for DPLSY to
*SM145 ○ ○ OFF OFF – N R/W OFF
temporarily store output parameters
I262 high-speed comparison interrupt for DPLSY to
*SM146 ○ ○ OFF OFF – N R/W OFF
temporarily store output parameters
*SM147 I263 high-speed comparison interrupt for DPLSY to ○ ○ OFF OFF – N R/W OFF
temporarily store output parameters
I264 high-speed comparison interrupt for DPLSY to
*SM148 ○ ○ OFF OFF – N R/W OFF
temporarily store output parameters
I265 high-speed comparison interrupt for DPLSY to
*SM149 ○ ○ OFF OFF – N R/W OFF
temporarily store output parameters
I266 high-speed comparison interrupt for DPLSY to
*SM150 ○ ○ OFF OFF – N R/W OFF
temporarily store output parameters
I267 high-speed comparison interrupt for DPLSY to
*SM151 ○ ○ OFF OFF – N R/W OFF
temporarily store output parameters
SM166 VR0 started (works with SR166) ○ ○ OFF – – N R/W OFF
SM167 VR1 started (works with SR167) ○ ○ OFF – – N R/W OFF
SM168 The connection for Function Card 1 established. ○ - – – – N R OFF
SM169 Function Card 1 is in operation. ○ - OFF – – N R OFF
SM170 The connection for Function Card 2 established. ○ - – – – N R OFF
SM171 Function Card 12 is in operation. ○ - OFF – – N R OFF
SM172 AS-FFTP01 function card is ready. ○ - OFF – – N R OFF
When PLC RUN->STOP, it clears the non-latched
*SM203 ○ ○ OFF – – N R/W OFF
area once.
*SM204 All non-latched areas are cleared. ○ ○ OFF OFF OFF N R/W OFF
*SM205 All latched areas are cleared. ○ ○ OFF OFF OFF N R/W OFF
SM206 All output is inhibited ○ ○ OFF – – N R/W OFF
*SM209 The communication protocol of COM1 changes ○ ○ OFF OFF OFF N R/W OFF
Choice made by COM1 between the ASCII mode
*SM210 ○ ○ – – – H R/W OFF
and the RTU mode
2-14
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
2-15
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
2-16
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
2-17
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
_2 8 flag
Clearing the input point for high-speed counter 1
SM291 ○ ○ OFF OFF – N R/W OFF
flag
SM292 Clearing the input point for high-speed counter 2 flag ○ ○ OFF OFF – N R/W OFF
SM293 Clearing the input point for high-speed counter 3 flag ○ ○ OFF OFF – N R/W OFF
SM294 Clearing the input point for high-speed counter 4 flag ○ ○ OFF OFF – N R/W OFF
SM295 Clearing the input point for high-speed counter 5 flag ○ ○ OFF OFF – N R/W OFF
SM296 Clearing the input point for high-speed counter 6 flag ○ ○ OFF OFF – N R/W OFF
Setting counting mode for HC200.
SM300 ○ ○ OFF OFF – N R/W OFF
HC200 counts down when SM300 is ON.
Setting counting mode for HC201.
SM301 ○ ○ OFF – – N R OFF
HC201 counts down when SM301 is ON.
Setting counting mode for HC202.
SM302 ○ ○ OFF – – N R OFF
HC202 counts down when SM302 is ON.
Setting counting mode for HC203.
SM303 ○ ○ OFF – – N R OFF
HC203 counts down when SM303 is ON.
Setting counting mode for HC204.
SM304 ○ ○ OFF OFF – N R/W OFF
HC204 counts down when SM304 is ON.
Setting counting mode for HC205.
SM305 ○ ○ OFF – – N R OFF
HC205 counts down when SM305 is ON.
Setting counting mode for HC206.
SM306 ○ ○ OFF – – N R OFF
HC206 counts down when SM306 is ON.
Setting counting mode for HC207.
SM307 ○ ○ OFF – – N R OFF
HC207 counts down when SM307 is ON.
Setting counting mode for HC208.
SM308 ○ ○ OFF OFF – N R/W OFF
HC208 counts down when SM308 is ON.
Setting counting mode for HC209.
SM309 ○ ○ OFF – – N R OFF
HC209 counts down when SM309 is ON.
Setting counting mode for HC210.
SM310 ○ ○ OFF – – N R OFF
HC210 counts down when SM310 is ON.
Setting counting mode for HC211.
SM311 ○ ○ OFF – – N R OFF
HC211 counts down when SM311 is ON.
Setting counting mode for HC212.
SM312 ○ ○ OFF OFF – N R/W OFF
HC212 counts down when SM312 is ON.
Setting counting mode for HC213.
SM313 ○ ○ OFF – – N R OFF
HC213 counts down when SM313 is ON.
Setting counting mode for HC214.
SM314 ○ ○ OFF – – N R OFF
HC214 counts down when SM314 is ON.
Setting counting mode for HC215.
SM315 ○ ○ OFF – – N R OFF
HC215 counts down when SM315 is ON.
Setting counting mode for HC216.
SM316 ○ ○ OFF OFF – N R/W OFF
HC216 counts down when SM316 is ON.
2-18
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
SM317
Setting counting mode for HC217.
○ ○ OFF – – N R OFF
2_
HC217 counts down when SM317 is ON.
Setting counting mode for HC218.
SM318 ○ ○ OFF – – N R OFF
HC218 counts down when SM318 is ON.
Setting counting mode for HC219.
SM319 ○ ○ OFF – – N R OFF
HC219 counts down when SM319 is ON.
Setting counting mode for HC220.
SM320 ○ ○ OFF OFF – N R/W OFF
HC220 counts down when SM320 is ON.
Setting counting mode for HC221.
SM321 ○ ○ OFF – – N R OFF
HC221 counts down when SM321 is ON.
Setting counting mode for HC222.
SM322 ○ ○ OFF – – N R OFF
HC222 counts down when SM322 is ON.
Setting counting mode for HC223.
SM323 ○ ○ OFF – – N R OFF
HC223 counts down when SM323 is ON.
Setting counting mode for HC232.
SM332 ○ ○ OFF OFF – N R/W OFF
HC232 counts down when SM332 is ON.
Setting counting mode for HC233.
SM333 ○ ○ OFF – – N R OFF
HC233 counts down when SM333 is ON.
Setting counting mode for HC234.
SM334 ○ ○ OFF – – N R OFF
HC234 counts down when SM334 is ON.
Setting counting mode for HC235.
SM335 ○ ○ OFF – – N R OFF
HC235 counts down when SM335 is ON.
Setting counting mode for HC236.
SM336 ○ ○ OFF OFF – N R/W OFF
HC236 counts down when SM336 is ON.
Setting counting mode for HC237.
SM337 ○ ○ OFF – – N R OFF
HC237 counts down when SM337 is ON.
Setting counting mode for HC238.
SM338 ○ ○ OFF – – N R OFF
HC238 counts down when SM338 is ON.
Setting counting mode for HC239.
SM339 ○ ○ OFF – – N R OFF
HC239 counts down when SM339 is ON.
Setting counting mode for HC240.
SM340 ○ ○ OFF OFF – N R/W OFF
HC240 counts down when SM340 is ON.
Setting counting mode for HC241.
SM341 ○ ○ OFF – – N R OFF
HC241 counts down when SM341 is ON.
Setting counting mode for HC242.
SM342 ○ ○ OFF OFF – N R/W OFF
HC242 counts down when SM342 is ON.
Setting counting mode for HC243.
SM343 ○ ○ OFF – – N R OFF
HC243 counts down when SM343 is ON.
Setting counting mode for HC244.
SM344 ○ ○ OFF OFF – N R/W OFF
HC244 counts down when SM344 is ON.
Setting counting mode for HC245.
SM345 ○ ○ OFF – – N R OFF
HC245 counts down when SM345 is ON.
SM346 Setting counting mode for HC246. ○ ○ OFF OFF – N R/W OFF
2-19
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
2-20
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
*SM374
I232 high-speed comparison interrupt for DPLSY to ○ ○ OFF OFF – N R/W OFF 2_
activate output
I233 high-speed comparison interrupt for DPLSY to
*SM375 ○ ○ OFF OFF – N R/W OFF
activate output
I240 high-speed comparison interrupt for DPLSY to
*SM376 ○ ○ OFF OFF – N R/W OFF
activate output
I241 high-speed comparison interrupt for DPLSY to
*SM377 ○ ○ OFF OFF – N R/W OFF
activate output
I242 high-speed comparison interrupt for DPLSY to
*SM378 ○ ○ OFF OFF – N R/W OFF
activate output
I243 high-speed comparison interrupt for DPLSY to
*SM379 ○ ○ OFF OFF – N R/W OFF
activate output
I250 high-speed comparison interrupt for DPLSY to
*SM380 ○ ○ OFF OFF – N R/W OFF
activate output
I251 high-speed comparison interrupt for DPLSY to
*SM381 ○ ○ OFF OFF – N R/W OFF
activate output
I252 high-speed comparison interrupt for DPLSY to
*SM382 ○ ○ OFF OFF – N R/W OFF
activate output
I253 high-speed comparison interrupt for DPLSY to
*SM383 ○ ○ OFF OFF – N R/W OFF
activate output
I260 high-speed comparison interrupt for DPLSY to
*SM384 ○ ○ OFF OFF – N R/W OFF
activate output
I261 high-speed comparison interrupt for DPLSY to
*SM385 ○ ○ OFF OFF – N R/W OFF
activate output
I262 high-speed comparison interrupt for DPLSY to ○ ○ OFF OFF – N R/W OFF
*SM386
activate output
I263 high-speed comparison interrupt for DPLSY to
*SM387 ○ ○ OFF OFF – N R/W OFF
activate output
I264 high-speed comparison interrupt for DPLSY to
*SM388 ○ ○ OFF OFF – N R/W OFF
activate output
I265 high-speed comparison interrupt for DPLSY to
*SM389 ○ ○ OFF OFF – N R/W OFF
activate output
I266 high-speed comparison interrupt for DPLSY to
*SM390 ○ ○ OFF OFF – N R/W OFF
activate output
I267 high-speed comparison interrupt for DPLSY to
*SM391 ○ ○ OFF OFF – N R/W OFF
activate output
The flag is always ON (normally open) when the
*SM400 ○ ○ OFF ON OFF N R OFF
CPU runs.
The flag is always OFF (normally closed) when the
*SM401 ○ ○ OFF OFF ON N R OFF
CPU runs.
*SM402 The flag is ON only at the first scan. ○ ○ OFF ON OFF N R OFF
*SM403 The flag is OFF only at the first scan. ○ ○ OFF OFF ON N R OFF
10 millisecond clock pulse during which the pulse is
*SM404 ○ ○ OFF – – N R OFF
ON for 5 milliseconds and then OFF for 5
2-21
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
_2 milliseconds
100 millisecond clock pulse during which the pulse
*SM405 is ON for 50 milliseconds and then OFF for 50 ○ ○ OFF – – N R OFF
milliseconds
200 millisecond clock pulse during which the pulse
*SM406 is ON for 100 milliseconds and then OFF for 100 ○ ○ OFF – – N R OFF
milliseconds
One second clock pulse during which the pulse is
*SM407 ON for 500 milliseconds and then OFF for 500 ○ ○ OFF – – N R OFF
milliseconds
Memory card is present
*SM450 ON: the memory card is present. ○ ○ – – – N R OFF
OFF: the memory card is not present.
The data in the memory card is being accessed.
*SM452 ON: the data in the memory card is being accessed. ○ ○ OFF – – N R OFF
OFF: the data in the memory card is not accessed.
Error occurs during the operation of the memory
card.
*SM453 ○ ○ OFF – – N R OFF
ON: an error occurs.
OFF: no error.
Enabling/disabling the data logger.
SM454 ON: enable ○ ○ OFF – – N R/W OFF
OFF: disable
The data logger is currently taking samples.
SM455 ON: number of records has reached its sampling ○ ○ OFF – – N R OFF
limit
Execution of data logger and the memory card.
*SM456 ○ ○ OFF – – N R/W OFF
ON: execution by the values in SR902.
State of the sample parameters in data logger
SM457 ○ ○ – – – N R OFF
ON: the sample parameter is set.
SM460 Outputting Y0.0/axis 1 (Y0.0/Y0.1). ○ ○ OFF OFF – N R OFF
SM461 Y0.0/axis 1 (Y0.0/Y0.1) output is complete. ○ ○ OFF OFF – N R/W OFF
SM462 Reversing the output direction of axis 1 (Y0.1) ○ ○ OFF OFF – N R/W OFF
*SM463 Stopping the output of Y0.0/axis 1 (Y0.0/Y0.1) ○ ○ OFF OFF – N R/W OFF
Enabling the hardware positive limit on axis 1
SM464 ○ ○ – – – Y R/W OFF
(Y0.0/Y0.1)
Alarm: exceeding the positive limit on axis 1
SM465 (Y0.0/Y0.1) or while performing zero return and the ○ ○ OFF OFF – N R/W OFF
positive limit is reached.
Enabling the hardware negative limit on axis 1
SM466 ○ ○ – – – Y R/W OFF
(Y0.0/Y0.1)
Alarm: exceeding the negative limit on axis 1
SM467 (Y0.0/Y0.1) or while performing zero return and the ○ ○ OFF OFF – N R/W OFF
negative limit is reached.
2-22
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
SM469
Enabling fixed slope ramp-up/down on axis 1
○ ○ OFF OFF – N R/W OFF
2_
(Y0.0/Y0.1)
Auto-reset when Y0.0/axis 1 (Y0.0/Y0.1) output is
SM470 ○ ○ OFF OFF – N R/W OFF
complete.
Executing an interrupt I500 when pulse output ends
SM471 ○ ○ OFF OFF – N R/W OFF
on axis 1 (Y0.0/Y0.1)
SM472 Outputting Y0.1. ○ ○ OFF OFF – N R OFF
SM473 Y0.1 output is complete. ○ ○ OFF OFF – N R/W OFF
*SM474 Stopping the output of Y0.1. ○ ○ OFF OFF – N R/W OFF
SM475 Auto-reset when Y0.1 output is complete. ○ ○ OFF OFF – N R/W OFF
Output immediately stops when the instruction is
*SM476 ○ ○ OFF OFF – N R/W OFF
disabled or stops for Y0.0/axis 1 (Y0.0/Y0.1)
Output immediately stops when the instruction is
*SM477 ○ ○ OFF OFF – N R/W OFF
disabled or stops for Y0.1
Change the target positon while outputting Y0.0/axis
SM478 ○ ○ OFF OFF – N R/W OFF
1 (Y0.0/Y0.1)
SM479 Change the target positon while outputting Y0.1 ○ ○ OFF OFF – N R/W OFF
SM480 Outputting Y0.2/axis 2 (Y0.2/Y0.3). ○ ○ OFF OFF – N R OFF
SM481 Y0.2/axis 2 (Y0.2/Y0.3) output is complete. ○ ○ OFF OFF – N R/W OFF
SM482 Reversing the output direction of axis 2 (Y0.3) ○ ○ OFF OFF – N R/W OFF
*SM483 Stopping the output of Y0.2/axis 2 (Y0.2/Y0.3) ○ ○ OFF OFF – N R/W OFF
Enabling the hardware positive limit on axis 2
SM484 ○ ○ – – – Y R/W OFF
(Y0.2/Y0.3)
Alarm: exceeding the positive limit on axis 2
SM485 (Y0.2/Y0.3) or or while performing zero return and ○ ○ OFF OFF – N R/W OFF
the positive limit is reached.
Enabling the hardware negative limit on axis 2
SM486 ○ ○ – – – Y R/W OFF
(Y0.2/Y0.3)
Alarm: exceeding the negative limit on axis 2
SM487 (Y0.2/Y0.3) or while performing zero return and the ○ ○ OFF OFF – N R/W OFF
negative limit is reached.
Enabling fixed slope ramp-up/down on axis 2
SM489 ○ ○ OFF OFF – N R/W OFF
(Y0.2/Y0.3).
Auto-reset when Y0.2/axis 2 (Y0.2/Y0.3) output is
SM490 ○ ○ OFF OFF – N R/W OFF
complete.
Executing an interrupt I501 when pulse output ends
SM491 ○ ○ OFF OFF – N R/W OFF
on axis 2 (Y0.2/Y0.3).
SM492 Outputting Y0.3. ○ ○ OFF OFF – N R OFF
SM493 Y0.3 output is complete. ○ ○ OFF OFF – N R/W OFF
*SM494 Stopping the output of Y0.3. ○ ○ OFF OFF – N R/W OFF
SM495 Auto-reset when Y0.3 output is complete. ○ ○ OFF OFF – N R/W OFF
The output immediately stops when the instruction
*SM496 ○ ○ OFF OFF – N R/W OFF
is disabled or stops for Y0.2/axis 2 (Y0.2/Y0.3).
2-23
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
_2 *SM497
The output immediately stops when the instruction
○ ○ OFF OFF – N R/W OFF
is disabled or stops for Y0.3.
Change the target positon while outputting Y0.2/axis
SM498 ○ ○ OFF OFF – N R/W OFF
2 (Y0.2/Y0.3)
SM499 Change the target positon while outputting Y0.3 ○ ○ OFF OFF – N R/W OFF
SM500 Outputting Y0.4/axis 3 (Y0.4/Y0.5). ○ ○ OFF OFF – N R OFF
SM501 Y0.4/axis 3 (Y0.4/Y0.5) output is complete. ○ ○ OFF OFF – N R/W OFF
SM502 Reversing the output direction of axis 3 (Y0.5). ○ ○ OFF OFF – N R/W OFF
*SM503 Stopping the output of Y0.4/axis 3 (Y0.4/Y0.5). ○ ○ OFF OFF – N R/W OFF
Enabling the hardware positive limit on axis 3
SM504 ○ ○ – – – Y R/W OFF
(Y0.4/Y0.5)
Alarm: exceeding the positive limit on axis 3
SM505 (Y0.4/Y0.5) or while performing zero return and the ○ ○ OFF OFF – N R/W OFF
positive limit is reached.
Enabling the hardware negative limit on axis 3
SM506 ○ ○ – – – Y R/W OFF
(Y0.4/Y0.5)
Alarm: exceeding the negative limit on axis 3
SM507 (Y0.4/Y0.5) or while performing zero return and the ○ ○ OFF OFF – N R/W OFF
negative limit is reached.
Enabling fixed slope ramp-up/down on axis 3
SM509 ○ ○ OFF OFF – N R/W OFF
(Y0.4/Y0.5)
Auto-reset when Y0.4/axis 3 (Y0.4/Y0.5) output is
SM510 ○ ○ OFF OFF – N R/W OFF
complete.
Executing an interrupt I502 when pulse output ends
SM511 ○ ○ OFF OFF – N R/W OFF
for axis 3 (Y0.4/Y0.5).
SM512 Outputting Y0.5. ○ ○ OFF OFF – N R OFF
SM513 Y0.5 output is complete. ○ ○ OFF OFF – N R/W OFF
*SM514 Stopping the output of Y0.5. ○ ○ OFF OFF – N R/W OFF
SM515 Auto-reset when Y0.5 output is complete. ○ ○ OFF OFF – N R/W OFF
Output immediately stops when the instruction is
*SM516 ○ ○ OFF OFF – N R/W OFF
disabled or stops on Y0.4/axis 3 (Y0.4/Y0.5).
Output immediately stops when the instruction is
*SM517 ○ ○ OFF OFF – N R/W OFF
disabled or stops on Y0.5.
Change the target positon while outputting Y0.4/axis
SM518 ○ ○ OFF OFF – N R/W OFF
3 (Y0.4/Y0.5)
SM519 Change the target positon while outputting Y0.5 ○ ○ OFF OFF – N R/W OFF
SM520 Outputting Y0.6/axis 4 (Y0.6/Y0.7). ○ ○ OFF OFF – N R OFF
SM521 Y0.6/axis 4 (Y0.6/Y0.7) output is complete. ○ ○ OFF OFF – N R/W OFF
SM522 Reversing the output direction of axis 4 (Y0.7) . ○ ○ OFF OFF – N R/W OFF
*SM523 Stopping the output of Y0.6/axis 4 (Y0.6/Y0.7). ○ ○ OFF OFF – N R/W OFF
Enabling the hardware positive limit on axis 4
SM524 ○ ○ – – – Y R/W OFF
(Y0.6/Y0.7).
2-24
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
2-25
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
_2 SM551
Executing an interrupt I504 when pulse output ends
○ ○ OFF OFF – N R/W OFF
on axis 5 (Y0.8/Y0.9).
SM552 Outputting Y0.9. ○ ○ OFF OFF – N R OFF
SM553 Y0.9 output is complete. ○ ○ OFF OFF – N R/W OFF
*SM554 Stopping the output of Y0.9. ○ ○ OFF OFF – N R/W OFF
SM555 Auto-reset when Y0.9 output is complete. ○ ○ OFF OFF – N R/W OFF
Output immediately stops when the instruction is
*SM556 ○ ○ OFF OFF – N R/W OFF
disabled or stops for Y0.8/axis 5 (Y0.8/Y0.9).
The output immediately stops when the instruction
*SM557 ○ ○ OFF OFF – N R/W OFF
is disabled or stops for Y0.9.
Change the target positon while outputting Y0.8/axis
SM558 ○ ○ OFF OFF – N R/W OFF
5 (Y0.8/Y0.9)
SM559 Change the target positon while outputting Y0.9 ○ ○ OFF OFF – N R/W OFF
SM560 Outputting Y0.10/axis 6 (Y0.10/Y0.11). ○ ○ OFF OFF – N R OFF
SM561 Y0.10/axis 6 (Y0.10/Y0.11) output is complete. ○ ○ OFF OFF – N R/W OFF
SM562 Reversing the output direction of axis 6 (Y0.11). ○ ○ OFF OFF – N R/W OFF
*SM563 Stopping the output of Y0.10/axis 6 (Y0.10/Y0.11). ○ ○ OFF OFF – N R/W OFF
Enabling the hardware positive limit on axis 6
SM564 ○ ○ – – – Y R/W OFF
(Y0.10/Y0.11).
Alarm: exceeding the positive limit on axis 6
SM565 (Y0.10/Y0.11) or while performing zero return and ○ ○ OFF OFF – N R/W OFF
the positive limit is reached.
Enabling the hardware negative limit on axis 6
SM566 ○ ○ – – – Y R/W OFF
(Y0.10/Y0.11).
Alarm: exceeding the negative limit on axis 6
SM567 (Y0.10/Y0.11) or while performing zero return and ○ ○ OFF OFF – N R/W OFF
the negative limit is reached.
Enabling fixed slope ramp-up/down on axis 6
SM569 ○ ○ OFF OFF – N R/W OFF
(Y0.10/Y0.11).
Auto-reset when Y0.10/axis 6 (Y0.10/Y0.11) output
SM570 ○ ○ OFF OFF – N R/W OFF
is complete.
Executing an interrupt I505 when pulse output ends
SM571 ○ ○ OFF OFF – N R/W OFF
on axis 6 (Y0.10/Y0.11).
SM572 Outputting Y0.11. ○ ○ OFF OFF – N R OFF
SM573 Y0.11 output is complete. ○ ○ OFF OFF – N R/W OFF
*SM574 Stopping Y0.11 output. ○ ○ OFF OFF – N R/W OFF
SM575 Auto-reset when Y0.11 output is complete. ○ ○ OFF OFF – N R/W OFF
Output immediately stops when the instruction is
*SM576 ○ ○ OFF OFF – N R/W OFF
disabled or stops for Y0.10/axis 6 (Y0.10/Y0.11).
Output immediately stops when the instruction is
*SM577 ○ ○ OFF OFF – N R/W OFF
disabled or stops for Y0.11.
Change the target positon while outputting
SM578 ○ ○ OFF OFF – N R/W OFF
Y0.10/axis 6 (Y0.10/Y0.11)
2-26
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
SM579 Change the target positon while outputting Y0.11 ○ ○ OFF OFF – N R/W OFF 2_
All outputs immediately stop when the instruction is
SM580 ○ ○ OFF OFF – N R/W OFF
disabled or stops.
You can change the flag of acceleration /
SM581 deceleration time during the execution of JOG ○ ○ OFF OFF – N R/W OFF
instruction.
When executing DTPWS / DTPWL, set SM585 flag
to ON, if you need to modify the time for
acceleration or deceleration. And then modify the
acceleration and deceleration time set in SR to
SM585 ○ ○ OFF OFF – N R/W OFF
change the acceleration time in single-axis point-to-
point motion and single-axis multisegment motion or
the deceleration time in single-axis point-to-point
motion.
Used to calculate the interval frequency of
*SM586 ○ ○ OFF OFF – N R/W OFF
acceleration and deceleration (for axis 1-6)
When TPO instruction uses position planning table
to control the output, if the output is stopped during
*SM587 ○ ○ OFF OFF – N R/W OFF
execution, the axis should refer to its relevant flags
(e.g. SM476, SM496--SM576) for the action to stop.
Set this flag to ON during the execution of TPO
instruction, if you need to stop the ongoing output
SM591 and start a new one for axis 1, the PLC will act ○ ○ OFF OFF – N R/W OFF
according to the setting in SR1291 to output the
next segment or a specific number of segment.
Set this flag to ON during the execution of TPO
instruction, if you need to stop the ongoing output
SM592 and start a new one for axis 2, the PLC will act ○ ○ OFF OFF – N R/W OFF
according to the setting in SR1292 to output the
next segment or a specific number of segment.
Set this flag to ON during the execution of TPO
instruction, if you need to stop the ongoing output
SM593 and start a new one for axis 3, the PLC will act ○ ○ OFF OFF – N R/W OFF
according to the setting in SR1293 to output the
next segment or a specific number of segment.
Set this flag to ON during the execution of TPO
instruction, if you need to stop the ongoing output
SM594 and start a new one for axis 4, the PLC will act ○ ○ OFF OFF – N R/W OFF
according to the setting in SR1294 to output the
next segment or a specific number of segment.
Set this flag to ON during the execution of TPO
instruction, if you need to stop the ongoing output
SM595 and start a new one for axis 5, the PLC will act ○ ○ OFF OFF – N R/W OFF
according to the setting in SR1295 to output the
next segment or a specific number of segment.
Set this flag to ON during the execution of TPO
SM596 instruction, if you need to stop the ongoing output ○ ○ OFF OFF – N R/W OFF
and start a new one for axis 6, the PLC will act
2-27
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
2-28
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
SM621
Setting counting mode for HC0.
○ ○ OFF – – N R/W OFF
2_
HC0 counts down when SM621 is ON.
Setting counting mode for HC.
SM622 ○ ○ OFF – – N R/W OFF
HC1 counts down when SM622 is ON.
Setting counting mode for HC2.
SM623 ○ ○ OFF – – N R/W OFF
HC2 counts down when SM623 is ON.
Setting counting mode for HC3.
SM624 ○ ○ OFF – – N R/W OFF
HC3 counts down when SM624 is ON.
Setting counting mode for HC4.
SM625 ○ ○ OFF – – N R/W OFF
HC4 counts down when SM625 is ON.
Setting counting mode for HC5.
SM626 ○ ○ OFF – – N R/W OFF
HC5 counts down when SM626 is ON.
Setting counting mode for HC6.
SM627 ○ ○ OFF – – N R/W OFF
HC6 counts down when SM627 is ON.
Setting counting mode for HC7.
SM628 ○ ○ OFF – – N R/W OFF
HC7 counts down when SM628 is ON.
Setting counting mode for HC8.
SM629 ○ ○ OFF – – N R/W OFF
HC8 counts down when SM629 is ON.
Setting counting mode for HC9.
SM630 ○ ○ OFF – – N R/W OFF
HC9 counts down when SM630 is ON.
Setting counting mode for HC10.
SM631 ○ ○ OFF – – N R/W OFF
HC10 counts down when SM631 is ON.
Setting counting mode for HC11.
SM632 ○ ○ OFF – – N R/W OFF
HC11 counts down when SM632 is ON.
Setting counting mode for HC12.
SM633 ○ ○ OFF – – N R/W OFF
HC12 counts down when SM633 is ON.
Setting counting mode for HC13.
SM634 ○ ○ OFF – – N R/W OFF
HC13 counts down when SM634 is ON.
Setting counting mode for HC14.
SM635 ○ ○ OFF – – N R/W OFF
HC14 counts down when SM635 is ON.
Setting counting mode for HC15.
SM636 ○ ○ OFF – – N R/W OFF
HC15 counts down when SM636 is ON.
Setting counting mode for HC16.
SM637 ○ ○ OFF – – N R/W OFF
HC16 counts down when SM637 is ON.
Setting counting mode for HC17.
SM638 ○ ○ OFF – – N R/W OFF
HC17 counts down when SM638 is ON.
Setting counting mode for HC18.
SM639 ○ ○ OFF – – N R/W OFF
HC18 counts down when SM639 is ON.
Setting counting mode for HC19.
SM640 ○ ○ OFF – – N R/W OFF
HC19 counts down when SM640 is ON.
Setting counting mode for HC20.
SM641 ○ ○ OFF – – N R/W OFF
HC20 counts down when SM641 is ON.
SM642 Setting counting mode for HC21. ○ ○ OFF – – N R/W OFF
2-29
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
2-30
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
SM664
Setting counting mode for HC43.
○ ○ OFF – – N R/W OFF
2_
HC43 counts down when SM664 is ON.
Setting counting mode for HC44.
SM665 ○ ○ OFF – – N R/W OFF
HC44 counts down when SM665 is ON.
Setting counting mode for HC45.
SM666 ○ ○ OFF – – N R/W OFF
HC45 counts down when SM666 is ON.
Setting counting mode for HC46.
SM667 ○ ○ OFF – – N R/W OFF
HC46 counts down when SM667 is ON.
Setting counting mode for HC47.
SM668 ○ ○ OFF – – N R/W OFF
HC47 counts down when SM668 is ON.
Setting counting mode for HC48.
SM669 ○ ○ OFF – – N R/W OFF
HC48 counts down when SM669 is ON.
Setting counting mode for HC49.
SM670 ○ ○ OFF – – N R/W OFF
HC49 counts down when SM670 is ON.
Setting counting mode for HC50.
SM671 ○ ○ OFF – – N R/W OFF
HC50 counts down when SM671 is ON.
Setting counting mode for HC51.
SM672 ○ ○ OFF – – N R/W OFF
HC51 counts down when SM672 is ON.
Setting counting mode for HC52.
SM673 ○ ○ OFF – – N R/W OFF
HC52 counts down when SM673 is ON.
Setting counting mode for HC53.
SM674 ○ ○ OFF – – N R/W OFF
HC53 counts down when SM674 is ON.
Setting counting mode for HC54.
SM675 ○ ○ OFF – – N R/W OFF
HC54 counts down when SM675 is ON.
Setting counting mode for HC55.
SM676 ○ ○ OFF – – N R/W OFF
HC55 counts down when SM676 is ON.
Setting counting mode for HC56.
SM677 ○ ○ OFF – – N R/W OFF
HC56 counts down when SM677 is ON.
Setting counting mode for HC57.
SM678 ○ ○ OFF – – N R/W OFF
HC57 counts down when SM678 is ON.
Setting counting mode for HC58.
SM679 ○ ○ OFF – – N R/W OFF
HC58 counts down when SM679 is ON.
Setting counting mode for HC59.
SM680 ○ ○ OFF – – N R/W OFF
HC59 counts down when SM680 is ON.
Setting counting mode for HC60.
SM681 ○ ○ OFF – – N R/W OFF
HC60 counts down when SM681 is ON.
Setting counting mode for HC61.
SM682 ○ ○ OFF – – N R/W OFF
HC61 counts down when SM682 is ON.
Setting counting mode for HC62.
SM683 ○ ○ OFF – – N R/W OFF
HC62 counts down when SM683 is ON.
Setting counting mode for HC63.
SM684 ○ ○ OFF – – N R/W OFF
HC63 counts down when SM684 is ON.
SM685 The DSCLP instruction uses floating-point ○ ○ OFF – – N R/W OFF
2-31
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
_2 operations.
SM686 RAMP instruction mode ○ ○ OFF – – N R/W OFF
SM687 RAMP instruction execution is complete. ○ ○ OFF – – N R/W OFF
SM688 INCD instruction execution is complete. ○ ○ OFF – – N R/W OFF
SM690 String control mode. ○ ○ OFF – – N R/W OFF
HKY instruction input mode is 16-bit.
SM691 ON: the input is the hexadecimal input OFF: A–F ○ ○ OFF – – N R/W OFF
are function keys.
After the execution of the HKY instruction is
SM692 ○ ○ OFF – – N R/W OFF
complete, SM692 is ON for a scan cycle.
After the execution of the SEGL instruction is
SM693 ○ ○ OFF – – N R/W OFF
complete, SM693 is ON for a scan cycle.
After the execution of the DSW instruction is
SM694 ○ ○ OFF – – N R/W OFF
complete, SM694 is ON for a scan cycle.
Radian/degree flag.
SM695 ON: degrees ○ ○ OFF – – N R/W OFF
OFF: Radians
Error occurs in the initialization of the data
SM749 ○ ○ OFF – – N R/W OFF
exchange through COM1.
*SM750 Data exchange through COM1 enabled by ISPSoft. ○ ○ OFF – – H R/W OFF
Connection 1 for data exchange through COM1
*SM752 ○ ○ OFF – – H R/W OFF
started
Connection 2 for data exchange through COM1
*SM753 ○ ○ OFF – – H R/W OFF
started
Connection 3 for data exchange through COM1
*SM754 ○ ○ OFF – – H R/W OFF
started
Connection 4 for data exchange through COM1
*SM755 ○ ○ OFF – – H R/W OFF
started
Connection 5 for data exchange through COM1
*SM756 ○ ○ OFF – – H R/W OFF
started
Connection 6 for data exchange through COM1
*SM757 ○ ○ OFF – – H R/W OFF
started
Connection 7 for data exchange through COM1
*SM758 ○ ○ OFF – – H R/W OFF
started
Connection 8 for data exchange through COM1
*SM759 ○ ○ OFF – – H R/W OFF
started
Connection 9 for data exchange through COM1
*SM760 ○ ○ OFF – – H R/W OFF
started
Connection 10 for data exchange through COM1
*SM761 ○ ○ OFF – – H R/W OFF
started
Connection 11 for data exchange through COM1
*SM762 ○ ○ OFF – – H R/W OFF
started
Connection 12 for data exchange through COM1
*SM763 ○ ○ OFF – – H R/W OFF
started
2-32
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
*SM764
Connection 13 for data exchange through COM1
○ ○ OFF – – H R/W OFF
2_
started
Connection 14 for data exchange through COM1
*SM765 ○ ○ OFF – – H R/W OFF
started
Connection 15 for data exchange through COM1
*SM766 ○ ○ OFF – – H R/W OFF
started
Connection 16 for data exchange through COM1
*SM767 ○ ○ OFF – – H R/W OFF
started
Connection 17 for data exchange through COM1
*SM768 ○ ○ OFF – – H R/W OFF
started
Connection 18 for data exchange through COM1
*SM769 ○ ○ OFF – – H R/W OFF
started
Connection 19 for data exchange through COM1
*SM770 ○ ○ OFF – – H R/W OFF
started
Connection 20 for data exchange through COM1
*SM771 ○ ○ OFF – – H R/W OFF
started
Connection 21 for data exchange through COM1
*SM772 ○ ○ OFF – – H R/W OFF
started
Connection 22 for data exchange through COM1
*SM773 ○ ○ OFF – – H R/W OFF
started
Connection 23 for data exchange through COM1
*SM774 ○ ○ OFF – – H R/W OFF
started
Connection 24 for data exchange through COM1
*SM775 ○ ○ OFF – – H R/W OFF
started
Connection 25 for data exchange through COM1
*SM776 ○ ○ OFF – – H R/W OFF
started
Connection 26 for data exchange through COM1
*SM777 ○ ○ OFF – – H R/W OFF
started
Connection 27 for data exchange through COM1
*SM778 ○ ○ OFF – – H R/W OFF
started
Connection 28 for data exchange through COM1
*SM779 ○ ○ OFF – – H R/W OFF
started
Connection 29 for data exchange through COM1
*SM780 ○ ○ OFF – – H R/W OFF
started
Connection 30 for data exchange through COM1
*SM781 ○ ○ OFF – – H R/W OFF
started
Connection 31 for data exchange through COM1
*SM782 ○ ○ OFF – – H R/W OFF
started
Connection 32 for data exchange through COM1
*SM783 ○ ○ OFF – – H R/W OFF
started
Successful data exchange connection 1 through
*SM784 ○ ○ OFF – – N R OFF
COM1
Successful data exchange connection 2 through
*SM785 ○ ○ OFF – – N R OFF
COM1
Successful data exchange connection 3 through
*SM786 ○ ○ OFF – – N R OFF
COM1
2-33
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
_2 *SM787
Successful data exchange connection 4 through
○ ○ OFF – – N R OFF
COM1
Successful data exchange connection 5 through
*SM788 ○ ○ OFF – – N R OFF
COM1
Successful data exchange connection 6 through
*SM789 ○ ○ OFF – – N R OFF
COM1
Successful data exchange connection 7 through
*SM790 ○ ○ OFF – – N R OFF
COM1
Successful data exchange connection 8 through
*SM791 ○ ○ OFF – – N R OFF
COM1
Successful data exchange connection 9 through
*SM792 ○ ○ OFF – – N R OFF
COM1
Successful data exchange connection 10 through
*SM793 ○ ○ OFF – – N R OFF
COM1
Successful data exchange connection 11 through
*SM794 ○ ○ OFF – – N R OFF
COM1
Successful data exchange connection 12 through
*SM795 ○ ○ OFF – – N R OFF
COM1
Successful data exchange connection 13 through
*SM796 ○ ○ OFF – – N R OFF
COM1
Successful data exchange connection 14 through
*SM797 ○ ○ OFF – – N R OFF
COM1
Successful data exchange connection 15 through
*SM798 ○ ○ OFF – – N R OFF
COM1
Successful data exchange connection 16 through
*SM799 ○ ○ OFF – – N R OFF
COM1
Successful data exchange connection 17 through
*SM800 ○ ○ OFF – – N R OFF
COM1
Successful data exchange connection 18 through
*SM801 ○ ○ OFF – – N R OFF
COM1
Successful data exchange connection 19 through
*SM802 ○ ○ OFF – – N R OFF
COM1
Successful data exchange connection 20 through
*SM803 ○ ○ OFF – – N R OFF
COM1
Successful data exchange connection 21 through
*SM804 ○ ○ OFF – – N R OFF
COM1
Successful data exchange connection 22 through
*SM805 ○ ○ OFF – – N R OFF
COM1
Successful data exchange connection 23 through
*SM806 ○ ○ OFF – – N R OFF
COM1
Successful data exchange connection 24 through
*SM807 ○ ○ OFF – – N R OFF
COM1
Successful data exchange connection 25 through
*SM808 ○ ○ OFF – – N R OFF
COM1
Successful data exchange connection 26 through
*SM809 ○ ○ OFF – – N R OFF
COM1
2-34
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
*SM810
Successful data exchange connection 27 through
○ ○ OFF – – N R OFF
2_
COM1
Successful data exchange connection 28 through
*SM811 ○ ○ OFF – – N R OFF
COM1
Successful data exchange connection 29 through
*SM812 ○ ○ OFF – – N R OFF
COM1
Successful data exchange connection 30 through
*SM813 ○ ○ OFF – – N R OFF
COM1
Successful data exchange connection 31 through
*SM814 ○ ○ OFF – – N R OFF
COM1
Successful data exchange connection 32 through
*SM815 ○ ○ OFF – – N R OFF
COM1
*SM816 Error in data exchange connection 1 through COM1 ○ ○ OFF – – N R OFF
*SM817 Error in data exchange connection 2 through COM1 ○ ○ OFF – – N R OFF
*SM818 Error in data exchange connection 3 through COM1 ○ ○ OFF – – N R OFF
*SM819 Error in data exchange connection 4 through COM1 ○ ○ OFF – – N R OFF
*SM820 Error in data exchange connection 5 through COM1 ○ ○ OFF – – N R OFF
*SM821 Error in data exchange connection 6 through COM1 ○ ○ OFF – – N R OFF
*SM822 Error in data exchange connection 7 through COM1 ○ ○ OFF – – N R OFF
*SM823 Error in data exchange connection 8 through COM1 ○ ○ OFF – – N R OFF
*SM824 Error in data exchange connection 9 through COM1 ○ ○ OFF – – N R OFF
Error in data exchange connection 10 through
*SM825 ○ ○ OFF – – N R OFF
COM1
Error in data exchange connection 11 through
*SM826 ○ ○ OFF – – N R OFF
COM1
Error in data exchange connection 12 through
*SM827 ○ ○ OFF – – N R OFF
COM1
Error in data exchange connection 13 through
*SM828 ○ ○ OFF – – N R OFF
COM1
Error in data exchange connection 14 through
*SM829 ○ ○ OFF – – N R OFF
COM1
Error in data exchange connection 15 through
*SM830 ○ ○ OFF – – N R OFF
COM1
Error in data exchange connection 16 through
*SM831 ○ ○ OFF – – N R OFF
COM1
Error in data exchange connection 17 through
*SM832 ○ ○ OFF – – N R OFF
COM1
Error in data exchange connection 18 through
*SM833 ○ ○ OFF – – N R OFF
COM1
Error in data exchange connection 19 through
*SM834 ○ ○ OFF – – N R OFF
COM1
Error in data exchange connection 20 through
*SM835 ○ ○ OFF – – N R OFF
COM1
Error in data exchange connection 21 through
*SM836 ○ ○ OFF – – N R OFF
COM1
2-35
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
_2 *SM837
Error in data exchange connection 22 through
○ ○ OFF – – N R OFF
COM1
Error in data exchange connection 23 through
*SM838 ○ ○ OFF – – N R OFF
COM1
Error in data exchange connection 24 through
*SM839 ○ ○ OFF – – N R OFF
COM1
Error in data exchange connection 25 through
*SM840 ○ ○ OFF – – N R OFF
COM1
Error in data exchange connection 26 through
*SM841 ○ ○ OFF – – N R OFF
COM1
Error in data exchange connection 27 through
*SM842 ○ ○ OFF – – N R OFF
COM1
Error in data exchange connection 28 through
*SM843 ○ ○ OFF – – N R OFF
COM1
Error in data exchange connection 29 through
*SM844 ○ ○ OFF – – N R OFF
COM1
Error in data exchange connection 30 through
*SM845 ○ ○ OFF – – N R OFF
COM1
Error in data exchange connection 31 through
*SM846 ○ ○ OFF – – N R OFF
COM1
Error in data exchange connection 32 through
*SM847 ○ ○ OFF – – N R OFF
COM1
Error in the initialization of the data exchange
SM861 ○ ○ OFF – – N R/W OFF
through COM2.
*SM862 Data exchange through COM2 enabled by ISPSoft. ○ ○ OFF – OFF H R/W OFF
Connection 1 for data exchange through COM2
*SM864 ○ ○ OFF – – H R/W OFF
started
Connection 2 for data exchange through COM2
*SM865 ○ ○ OFF – – H R/W OFF
started
Connection 3 for data exchange through COM2
*SM866 ○ ○ OFF – – H R/W OFF
started
Connection 4 for data exchange through COM2
*SM867 ○ ○ OFF – – H R/W OFF
started
Connection 5 for data exchange through COM2
*SM868 ○ ○ OFF – – H R/W OFF
started
Connection 6 for data exchange through COM2
*SM869 ○ ○ OFF – – H R/W OFF
started
Connection 7 for data exchange through COM2
*SM870 ○ ○ OFF – – H R/W OFF
started
Connection 8 for data exchange through COM2
*SM871 ○ ○ OFF – – H R/W OFF
started
Connection 9 for data exchange through COM2
*SM872 ○ ○ OFF – – H R/W OFF
started
Connection 10 for data exchange through COM2
*SM873 ○ ○ OFF – – H R/W OFF
started
*SM874 Connection 11 for data exchange through COM2 ○ ○ OFF – – H R/W OFF
2-36
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
started 2_
Connection 12 for data exchange through COM2
*SM875 ○ ○ OFF – – H R/W OFF
started
Connection 13 for data exchange through COM2
*SM876 ○ ○ OFF – – H R/W OFF
started
Connection 14 for data exchange through COM2
*SM877 ○ ○ OFF – – H R/W OFF
started
Connection 15 for data exchange through COM2
*SM878 ○ ○ OFF – – H R/W OFF
started
Connection 16 for data exchange through COM2
*SM879 ○ ○ OFF – – H R/W OFF
started
Connection 17 for data exchange through COM2
*SM880 ○ ○ OFF – – H R/W OFF
started
Connection 18 for data exchange through COM2
*SM881 ○ ○ OFF – – H R/W OFF
started
Connection 19 for data exchange through COM2
*SM882 ○ ○ OFF – – H R/W OFF
started
Connection 20 for data exchange through COM2
*SM883 ○ ○ OFF – – H R/W OFF
started
Connection 21 for data exchange through COM2
*SM884 ○ ○ OFF – – H R/W OFF
started
Connection 22 for data exchange through COM2
*SM885 ○ ○ OFF – – H R/W OFF
started
Connection 23 for data exchange through COM2
*SM886 ○ ○ OFF – – H R/W OFF
started
Connection 24 for data exchange through COM2
*SM887 ○ ○ OFF – – H R/W OFF
started
Connection 25 for data exchange through COM2
*SM888 ○ ○ OFF – – H R/W OFF
started
Connection 26 for data exchange through COM2
*SM889 ○ ○ OFF – – H R/W OFF
started
Connection 27 for data exchange through COM2
*SM890 ○ ○ OFF – – H R/W OFF
started
Connection 28 for data exchange through COM2
*SM891 ○ ○ OFF – – H R/W OFF
started
Connection 29 for data exchange through COM2
*SM892 ○ ○ OFF – – H R/W OFF
started
Connection 30 for data exchange through COM2
*SM893 ○ ○ OFF – – H R/W OFF
started
Connection 31 for data exchange through COM2
*SM894 ○ ○ OFF – – H R/W OFF
started
Connection 32 for data exchange through COM2
*SM895 ○ ○ OFF – – H R/W OFF
started
Successful data exchange connection 1 through
*SM896 ○ ○ OFF – – N R OFF
COM2
*SM897 Successful data exchange connection 2 through ○ ○ OFF – – N R OFF
2-37
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
_2 COM2
Successful data exchange connection 3 through
*SM898 ○ ○ OFF – – N R OFF
COM2
Successful data exchange connection 4 through
*SM899 ○ ○ OFF – – N R OFF
COM2
Successful data exchange connection 5 through
*SM900 ○ ○ OFF – – N R OFF
COM2
Successful data exchange connection 6 through
*SM901 ○ ○ OFF – – N R OFF
COM2
Successful data exchange connection 7 through
*SM902 ○ ○ OFF – – N R OFF
COM2
Successful data exchange connection 8 through
*SM903 ○ ○ OFF – – N R OFF
COM2
Successful data exchange connection 9 through
*SM904 ○ ○ OFF – – N R OFF
COM2
Successful data exchange connection 10 through
*SM905 ○ ○ OFF – – N R OFF
COM2
Successful data exchange connection 11 through
*SM906 ○ ○ OFF – – N R OFF
COM2
Successful data exchange connection 12 through
*SM907 ○ ○ OFF – – N R OFF
COM2
Successful data exchange connection 13 through
*SM908 ○ ○ OFF – – N R OFF
COM2
Successful data exchange connection 14 through
*SM909 ○ ○ OFF – – N R OFF
COM2
Successful data exchange connection 15 through
*SM910 ○ ○ OFF – – N R OFF
COM2
Successful data exchange connection 16 through
*SM911 ○ ○ OFF – – N R OFF
COM2
Successful data exchange connection 17 through
*SM912 ○ ○ OFF – – N R OFF
COM2
Successful data exchange connection 18 through
*SM913 ○ ○ OFF – – N R OFF
COM2
Successful data exchange connection 19 through
*SM914 ○ ○ OFF – – N R OFF
COM2
Successful data exchange connection 20 through
*SM915 ○ ○ OFF – – N R OFF
COM2
Successful data exchange connection 21 through
*SM916 ○ ○ OFF – – N R OFF
COM2
Successful data exchange connection 22 through
*SM917 ○ ○ OFF – – N R OFF
COM2
Successful data exchange connection 23 through
*SM918 ○ ○ OFF – – N R OFF
COM2
Successful data exchange connection 24 through
*SM919 ○ ○ OFF – – N R OFF
COM2
*SM920 Successful data exchange connection 25 through ○ ○ OFF – – N R OFF
2-38
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
COM2 2_
Successful data exchange connection 26 through
*SM921 ○ ○ OFF – – N R OFF
COM2
Successful data exchange connection 27 through
*SM922 ○ ○ OFF – – N R OFF
COM2
Successful data exchange connection 28 through
*SM923 ○ ○ OFF – – N R OFF
COM2
Successful data exchange connection 29 through
*SM924 ○ ○ OFF – – N R OFF
COM2
Successful data exchange connection 30 through
*SM925 ○ ○ OFF – – N R OFF
COM2
Successful data exchange connection 31 through
*SM926 ○ ○ OFF – – N R OFF
COM2
Successful data exchange connection 32 through
*SM927 ○ ○ OFF – – N R OFF
COM2
*SM928 Error in data exchange connection 1 through COM2 ○ ○ OFF – – N R OFF
*SM929 Error in data exchange connection 2 through COM2 ○ ○ OFF – – N R OFF
*SM930 Error in data exchange connection 3 through COM2 ○ ○ OFF – – N R OFF
*SM931 Error in data exchange connection 4 through COM2 ○ ○ OFF – – N R OFF
*SM932 Error in data exchange connection 5 through COM2 ○ ○ OFF – – N R OFF
*SM933 Error in data exchange connection 6 through COM2 ○ ○ OFF – – N R OFF
*SM934 Error in data exchange connection 7 through COM2 ○ ○ OFF – – N R OFF
*SM935 Error in data exchange connection 8 through COM2 ○ ○ OFF – – N R OFF
*SM936 Error in data exchange connection 9 through COM2 ○ ○ OFF – – N R OFF
Error in data exchange connection 10 through
*SM937 ○ ○ OFF – – N R OFF
COM2
Error in data exchange connection 11 through
*SM938 ○ ○ OFF – – N R OFF
COM2
Error in data exchange connection 12 through
*SM939 ○ ○ OFF – – N R OFF
COM2
Error in data exchange connection 13 through
*SM940 ○ ○ OFF – – N R OFF
COM2
Error in data exchange connection 14 through
*SM941 ○ ○ OFF – – N R OFF
COM2
Error in data exchange connection 15 through
*SM942 ○ ○ OFF – – N R OFF
COM2
Error in data exchange connection 16 through
*SM943 ○ ○ OFF – – N R OFF
COM2
Error in data exchange connection 17 through
*SM944 ○ ○ OFF – – N R OFF
COM2
Error in data exchange connection 18 through
*SM945 ○ ○ OFF – – N R OFF
COM2
Error in data exchange connection 19 through
*SM946 ○ ○ OFF – – N R OFF
COM2
2-39
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
_2 *SM947
Error in data exchange connection 20 through
○ ○ OFF – – N R OFF
COM2
Error in data exchange connection 21 through
*SM948 ○ ○ OFF – – N R OFF
COM2
Error in data exchange connection 22 through
*SM949 ○ ○ OFF – – N R OFF
COM2
Error in data exchange connection 23 through
*SM950 ○ ○ OFF – – N R OFF
COM2
Error in data exchange connection 24 through
*SM951 ○ ○ OFF – – N R OFF
COM2
Error in data exchange connection 25 through
*SM952 ○ ○ OFF – – N R OFF
COM2
Error in data exchange connection 26 through
*SM953 ○ ○ OFF – – N R OFF
COM2
Error in data exchange connection 27 through
*SM954 ○ ○ OFF – – N R OFF
COM2
Error in data exchange connection 28 through
*SM955 ○ ○ OFF – – N R OFF
COM2
Error in data exchange connection 29 through
*SM956 ○ ○ OFF – – N R OFF
COM2
Error in data exchange connection 30 through
*SM957 ○ ○ OFF – – N R OFF
COM2
Error in data exchange connection 31 through
*SM958 ○ ○ OFF – – N R OFF
COM2
Error in data exchange connection 32 through
*SM959 ○ ○ OFF – – N R OFF
COM2
AS remote module #1 connection status
SM976 (ON: connected; OFF: disconnected or not ○ ○ OFF – – N R OFF
connected)
SM977 AS remote module #2 connection status ○ ○ OFF – – N R OFF
SM978 AS remote module #3 connection status ○ ○ OFF – – N R OFF
SM979 AS remote module #4 connection status ○ ○ OFF – – N R OFF
SM980 AS remote module #5 connection status ○ ○ OFF – – N R OFF
SM981 AS remote module #6 connection status ○ ○ OFF – – N R OFF
SM982 AS remote module #7 connection status ○ ○ OFF – – N R OFF
SM983 AS remote module #8 connection status ○ ○ OFF – – N R OFF
SM984 AS remote module #9 connection status ○ ○ OFF – – N R OFF
SM985 AS remote module #10 connection status ○ ○ OFF – – N R OFF
SM986 AS remote module #11 connection status ○ ○ OFF – – N R OFF
SM987 AS remote module #12 connection status ○ ○ OFF – – N R OFF
SM988 AS remote module #13 connection status ○ ○ OFF – – N R OFF
SM989 AS remote module #14 connection status ○ ○ OFF – – N R OFF
SM990 AS remote module #15 connection status ○ ○ OFF – – N R OFF
2-40
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
SM1000
Ethernet setting flag; ON: the data in SR1000–
○ ○ OFF – – N R/W OFF
2_
SR1006 is written into the flash memory.
SM1001 State of the Ethernet connectivity ○ ○ OFF – – N R OFF
Data exchange through AS-FEN02 enabled by
*SM1006 ○ – OFF – – N R/W OFF
ISPSoft.
Connection 1 for data exchange through AS-FEN02
*SM1008 ○ – OFF – – N R/W OFF
started
Connection 2 for data exchange through AS-FEN02
*SM1009 ○ – OFF – – N R/W OFF
started
Connection 3 for data exchange through AS-FEN02
*SM1010 ○ – OFF – – N R/W OFF
started
Connection 4 for data exchange through AS-FEN02
*SM1011 ○ – OFF – – N R/W OFF
started
Connection 5 for data exchange through AS-FEN02
*SM1012 ○ – OFF – – N R/W OFF
started
Connection 6 for data exchange through AS-FEN02
*SM1013 ○ – OFF – – N R/W OFF
started
Connection 7 for data exchange through AS-FEN02
*SM1014 ○ – OFF – – N R/W OFF
started
Connection 8 for data exchange through AS-FEN02
*SM1015 ○ – OFF – – N R/W OFF
started
Successful data exchange connection 1 through AS-
*SM1016 ○ – OFF – – N R OFF
FEN02
Successful data exchange connection 2 through AS-
*SM1017 ○ – OFF – – N R OFF
FEN02
Successful data exchange connection 3 through AS-
*SM1018 ○ – OFF – – N R OFF
FEN02
Successful data exchange connection 4 through AS-
*SM1019 ○ – OFF – – N R OFF
FEN02
Successful data exchange connection 5 through AS-
*SM1020 ○ – OFF – – N R OFF
FEN02
Successful data exchange connection 6 through AS-
*SM1021 ○ – OFF – – N R OFF
FEN02
Successful data exchange connection 7 through AS-
*SM1022 ○ – OFF – – N R OFF
FEN02
Successful data exchange connection 8 through AS-
*SM1023 ○ – OFF – – N R OFF
FEN02
Error in data exchange connection 1 through AS-
*SM1024 ○ – OFF – – N R OFF
FEN02
Error in data exchange connection 2 through AS-
*SM1025 ○ – OFF – – N R OFF
FEN02
Error in data exchange connection 3 through AS-
*SM1026 ○ – OFF – – N R OFF
FEN02
Error in data exchange connection 4 through AS-
*SM1027 ○ – OFF – – N R OFF
FEN02
2-41
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
_2 *SM1028
Error in data exchange connection 5 through AS-
○ – OFF – – N R OFF
FEN02
Error in data exchange connection 6 through AS-
*SM1029 ○ – OFF – – N R OFF
FEN02
Error in data exchange connection 7 through AS-
*SM1030 ○ – OFF – – N R OFF
FEN02
Error in data exchange connection 8 through AS-
*SM1031 ○ – OFF – – N R OFF
FEN02
*SM1090 TCP connection busy. ○ ○ OFF – – N R OFF
*SM1091 UDP connection busy. ○ ○ OFF – – N R OFF
Incorrect Modbus TCP server port
SM1092 ○ ○ OFF – – N R/W OFF
(available for FW V1.10.20 or later)
SM1100 Ethernet connection error ○ ○ OFF – – N R OFF
*SM1106 Basic Ethernet management: connection error ○ ○ OFF – – N R OFF
*SM1107 Basic Ethernet management: Basic setting error ○ ○ OFF – – N R OFF
Basic TCP/UDP socket management: the local port
*SM1109 ○ ○ OFF – – N R OFF
is already used.
SM1111 EtherNet/IP data exchange flag ○ ○ OFF – – N R OFF
*SM1113 Email service error ○ ○ OFF – – N R OFF
*SM1116 Trigger 1 switch for the email. ○ ○ OFF – – N R OFF
*SM1117 Trigger 1 for the email ○ ○ OFF – – N R OFF
ON: Trigger 1 is triggered and the email has been
*SM1119 ○ ○ OFF – – N R OFF
sent successfully.
ON: Trigger 1 is triggered but the email cannot be
*SM1120 ○ ○ OFF – – N R OFF
sent due to email content error.
ON: Trigger 1 is triggered and there is an SMTP
*SM1122 ○ ○ OFF – – N R OFF
server response timeout.
ON: Trigger 1 is triggered and there is an SMTP
*SM1123 ○ ○ OFF – – N R OFF
server response error.
ON: Trigger 1 is triggered and the size of the
*SM1124 ○ ○ OFF – – N R OFF
attachment exceeds the limit.
Trigger 1 is triggered and the attachment is not
*SM1125 ○ ○ OFF – – N R OFF
found.
*SM1126 Trigger 2 switch for the email. ○ ○ OFF – – N R OFF
*SM1127 Trigger 2 for the email ○ ○ OFF – – N R OFF
ON: Trigger 2 is triggered and the email has been
*SM1129 ○ ○ OFF – – N R OFF
sent successfully.
ON: Trigger 2 is triggered but the email cannot be
*SM1130 ○ ○ OFF – – N R OFF
sent due to email content error.
ON: Trigger 2 is triggered and there is an SMTP
*SM1132 ○ ○ OFF – – N R OFF
server response timeout.
ON: Trigger 2 is triggered and there is an SMTP
*SM1133 ○ ○ OFF – – N R OFF
server response error.
2-42
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
*SM1134
ON: Trigger 2 is triggered and the size of the
○ ○ OFF – – N R OFF
2_
attachment exceeds the limit.
ON: Trigger 2 is triggered and the attachment is not
*SM1135 ○ ○ OFF – – N R OFF
found.
*SM1136 Trigger 3 switch for the email. ○ ○ OFF – – N R OFF
*SM1137 Trigger 3 for the email ○ ○ OFF – – N R OFF
ON: Trigger 3 is triggered and the email has been
*SM1139 ○ ○ OFF – – N R OFF
sent successfully.
ON: Trigger 3 is triggered but the email cannot be
*SM1140 ○ ○ OFF – – N R OFF
sent due to email content error.
ON: Trigger 3 is triggered and there is an SMTP
*SM1142 ○ ○ OFF – – N R OFF
server response timeout.
ON: Trigger 3 is triggered and there is an SMTP
*SM1143 ○ ○ OFF – – N R OFF
server response error.
ON: Trigger 3 is triggered and the size of the
*SM1144 ○ ○ OFF – – N R OFF
attachment exceeds the limit.
ON: Trigger 3 is triggered and the attachment is not
*SM1145 ○ ○ OFF – – N R OFF
found.
*SM1146 Trigger 4 switch for the email. ○ ○ OFF – – N R OFF
*SM1147 Trigger 4 for the email ○ ○ OFF – – N R OFF
ON: Trigger 4 is triggered and the email has been
*SM1149 ○ ○ OFF – – N R OFF
sent successfully.
ON: Trigger 4 is triggered but the email cannot be
*SM1150 ○ ○ OFF – – N R OFF
sent due to email content error.
ON: Trigger 4 is triggered and there is an SMTP
*SM1152 ○ ○ OFF – – N R OFF
server response timeout.
ON: Trigger 4 is triggered and there is an SMTP
*SM1153 ○ ○ OFF – – N R OFF
server response error.
ON: Trigger 4 is triggered and the size of the
*SM1154 ○ ○ OFF – – N R OFF
attachment exceeds the limit.
ON: Trigger 4 is triggered and the attachment is not
*SM1155 ○ ○ OFF – – N R OFF
found.
The process to restore drive parameters has been
complete.
OFF: When the value in SR1600 switches from 1 to
SM1160 0, this flag is cleared to OFF. ○ ○ OFF – – N R OFF
ON: When the process to restore parameters has
been complete and without any error, this flag is
ON.
Error occurred during the process to restore drive
parameters.
OFF: When the value in SR1600 switches from 1 to
SM1161 ○ ○ OFF – – N R OFF
0, this flag is cleared to OFF.
ON: When an error occurred during the process to
restore parameter, this flag is ON.
2-43
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
2-44
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
*SM1190
Connection 23 for data exchange through Ethernet
○ – OFF – – H R/W OFF
2_
started
Connection 24 for data exchange through Ethernet
*SM1191 ○ – OFF – – H R/W OFF
started
Connection 25 for data exchange through Ethernet
*SM1192 ○ – OFF – – H R/W OFF
started
Connection 26 for data exchange through Ethernet
*SM1193 ○ – OFF – – H R/W OFF
started
Connection 27 for data exchange through Ethernet
*SM1194 ○ – OFF – – H R/W OFF
started
Connection 28 for data exchange through Ethernet
*SM1195 ○ – OFF – – H R/W OFF
started
Connection 29 for data exchange through Ethernet
*SM1196 ○ – OFF – – H R/W OFF
started
Connection 30 for data exchange through Ethernet
*SM1197 ○ – OFF – – H R/W OFF
started
Connection 31 for data exchange through Ethernet
*SM1198 ○ – OFF – – H R/W OFF
started
Connection 32 for data exchange through Ethernet
*SM1199 ○ – OFF – – H R/W OFF
started
Successful data exchange connection 1 through
*SM1200 ○ ○ OFF – – N R OFF
Ethernet
Successful data exchange connection 2 through
*SM1201 ○ ○ OFF – – N R OFF
Ethernet
Successful data exchange connection 3 through
*SM1202 ○ ○ OFF – – N R OFF
Ethernet
Successful data exchange connection 4 through
*SM1203 ○ ○ OFF – – N R OFF
Ethernet
Successful data exchange connection 5 through
*SM1204 ○ ○ OFF – – N R OFF
Ethernet
Successful data exchange connection 6 through
*SM1205 ○ ○ OFF – – N R OFF
Ethernet
Successful data exchange connection 7 through
*SM1206 ○ ○ OFF – – N R OFF
Ethernet
Successful data exchange connection 8 through
*SM1207 ○ ○ OFF – – N R OFF
Ethernet
Successful data exchange connection 9 through
*SM1208 ○ ○ OFF – – N R OFF
Ethernet
Successful data exchange connection 10 through
*SM1209 ○ ○ OFF – – N R OFF
Ethernet
Successful data exchange connection 11 through
*SM1210 ○ ○ OFF – – N R OFF
Ethernet
Successful data exchange connection 12 through
*SM1211 ○ ○ OFF – – N R OFF
Ethernet
Successful data exchange connection 13 through
*SM1212 ○ ○ OFF – – N R OFF
Ethernet
2-45
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
_2 *SM1213
Successful data exchange connection 14 through
○ ○ OFF – – N R OFF
Ethernet
Successful data exchange connection 15 through
*SM1214 ○ ○ OFF – – N R OFF
Ethernet
Successful data exchange connection 16 through
*SM1215 ○ ○ OFF – – N R OFF
Ethernet
Successful data exchange connection 17 through
*SM1216 ○ – OFF – – N R OFF
Ethernet
Successful data exchange connection 18 through
*SM1217 ○ – OFF – – N R OFF
Ethernet
Successful data exchange connection 19 through
*SM1218 ○ – OFF – – N R OFF
Ethernet
Successful data exchange connection 20 through
*SM1219 ○ – OFF – – N R OFF
Ethernet
Successful data exchange connection 21 through
*SM1220 ○ – OFF – – N R OFF
Ethernet
Successful data exchange connection 22 through
*SM1221 ○ – OFF – – N R OFF
Ethernet
Successful data exchange connection 23 through
*SM1222 ○ – OFF – – N R OFF
Ethernet
Successful data exchange connection 24 through
*SM1223 ○ – OFF – – N R OFF
Ethernet
Successful data exchange connection 25 through
*SM1224 ○ – OFF – – N R OFF
Ethernet
Successful data exchange connection 26 through
*SM1225 ○ – OFF – – N R OFF
Ethernet
Successful data exchange connection 27 through
*SM1226 ○ – OFF – – N R OFF
Ethernet
Successful data exchange connection 28 through
*SM1227 ○ – OFF – – N R OFF
Ethernet
Successful data exchange connection 29 through
*SM1228 ○ – OFF – – N R OFF
Ethernet
Successful data exchange connection 30 through
*SM1229 ○ – OFF – – N R OFF
Ethernet
Successful data exchange connection 31 through
*SM1230 ○ – OFF – – N R OFF
Ethernet
Successful data exchange connection 32 through
*SM1231 ○ – OFF – – N R OFF
Ethernet
Error in data exchange connection 1 through
*SM1232 ○ ○ OFF – – N R OFF
Ethernet
Error in data exchange connection 2 through
*SM1233 ○ ○ OFF – – N R OFF
Ethernet
Error in data exchange connection 3 through
*SM1234 ○ ○ OFF – – N R OFF
Ethernet
Error in data exchange connection 4 through
*SM1235 ○ ○ OFF – – N R OFF
Ethernet
2-46
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
*SM1236
Error in data exchange connection 5 through
○ ○ OFF – – N R OFF
2_
Ethernet
Error in data exchange connection 6 through
*SM1237 ○ ○ OFF – – N R OFF
Ethernet
Error in data exchange connection 7 through
*SM1238 ○ ○ OFF – – N R OFF
Ethernet
Error in data exchange connection 8 through
*SM1239 ○ ○ OFF – – N R OFF
Ethernet
Error in data exchange connection 9 through
*SM1240 ○ ○ OFF – – N R OFF
Ethernet
Error in data exchange connection 10 through
*SM1241 ○ ○ OFF – – N R OFF
Ethernet
Error in data exchange connection 11 through
*SM1242 ○ ○ OFF – – N R OFF
Ethernet
Error in data exchange connection 12 through
*SM1243 ○ ○ OFF – – N R OFF
Ethernet
Error in data exchange connection 13 through
*SM1244 ○ ○ OFF – – N R OFF
Ethernet
Error in data exchange connection 14 through
*SM1245 ○ ○ OFF – – N R OFF
Ethernet
Error in data exchange connection 15 through
*SM1246 ○ ○ OFF – – N R OFF
Ethernet
Error in data exchange connection 16 through
*SM1247 ○ ○ OFF – – N R OFF
Ethernet
Error in data exchange connection 17 through
*SM1248 ○ – OFF – – N R OFF
Ethernet
Error in data exchange connection 18 through
*SM1249 ○ – OFF – – N R OFF
Ethernet
Error in data exchange connection 19 through
*SM1250 ○ – OFF – – N R OFF
Ethernet
Error in data exchange connection 20 through
*SM1251 ○ – OFF – – N R OFF
Ethernet
Error in data exchange connection 21 through
*SM1252 ○ – OFF – – N R OFF
Ethernet
Error in data exchange connection 22 through
*SM1253 ○ – OFF – – N R OFF
Ethernet
Error in data exchange connection 23 through
*SM1254 ○ – OFF – – N R OFF
Ethernet
Error in data exchange connection 24 through
*SM1255 ○ – OFF – – N R OFF
Ethernet
Error in data exchange connection 25 through
*SM1256 ○ – OFF – – N R OFF
Ethernet
Error in data exchange connection 26 through
*SM1257 ○ – OFF – – N R OFF
Ethernet
Error in data exchange connection 27 through
*SM1258 ○ – OFF – – N R OFF
Ethernet
2-47
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
_2 *SM1259
Error in data exchange connection 28 through
○ – OFF – – N R OFF
Ethernet
Error in data exchange connection 29 through
*SM1260 ○ – OFF – – N R OFF
Ethernet
Error in data exchange connection 30 through
*SM1261 ○ – OFF – – N R OFF
Ethernet
Error in data exchange connection 31 through
*SM1262 ○ – OFF – – N R OFF
Ethernet
Error in data exchange connection 32 through
*SM1263 ○ – OFF – – N R OFF
Ethernet
SM1269 Socket configuration error ○ ○ OFF – – N R/W OFF
SM1270 Successful TCP socket 1 connection ○ ○ OFF – – N R OFF
SM1271 TCP socket 1 data received ○ ○ OFF – – N R OFF
SM1272 TCP socket 1 data sent ○ ○ OFF – – N R OFF
SM1273 TCP socket 1 connection starting ○ ○ OFF – – N R OFF
SM1274 TCP socket 1 connection closing ○ ○ ON – – Y R ON
SM1275 TCP socket 1 data is being sent ○ ○ OFF – – N R OFF
SM1277 TCP socket 1─Error flag ○ ○ OFF – – N R OFF
SM1278 Successful TCP socket 2 connection ○ ○ OFF – – N R OFF
SM1279 TCP socket 2 data received ○ ○ OFF – – N R OFF
SM1280 TCP socket 2 data sent ○ ○ OFF – – N R OFF
SM1281 TCP socket 2 connection starting ○ ○ OFF – – N R OFF
SM1282 TCP socket 2 connection closing ○ ○ ON – – Y R ON
SM1283 TCP socket 2 data is being sent ○ ○ OFF – – N R OFF
SM1285 TCP socket 2─Error flag ○ ○ OFF – – N R OFF
SM1286 Successful TCP socket 3 connection ○ ○ OFF – – N R OFF
SM1287 TCP socket 3 data received ○ ○ OFF – – N R OFF
SM1288 TCP socket 3 data sent ○ ○ OFF – – N R OFF
SM1289 TCP socket 3 connection starting ○ ○ OFF – – N R OFF
SM1290 TCP socket 3 connection closing ○ ○ ON – – Y R ON
SM1291 TCP socket 3 data is being sent. ○ ○ OFF – – N R OFF
SM1293 TCP socket 3─Error flag ○ ○ OFF – – N R OFF
SM1294 Successful TCP socket 4 connection ○ ○ OFF – – N R OFF
SM1295 TCP socket 4 data received ○ ○ OFF – – N R OFF
SM1296 TCP socket 4 data sent ○ ○ OFF – – N R OFF
SM1297 TCP socket 4 connection starting ○ ○ OFF – – N R OFF
SM1298 TCP socket 4 connection closing ○ ○ ON – – Y R ON
SM1299 TCP socket 4 data is being sent. ○ ○ OFF – – N R OFF
SM1301 TCP socket 4─Error flag ○ ○ OFF – – N R OFF
RTU-EN01 connection 1 status
SM1312 ○ ○ OFF – – N R OFF
(ON: connected; OFF: disconnected or not
2-48
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
connected) 2_
SM1313 RTU-EN01 connection 2 status ○ ○ OFF – – N R OFF
SM1314 RTU-EN01 connection 3 status ○ ○ OFF – – N R OFF
SM1315 RTU-EN01 connection 4 status ○ ○ OFF – – N R OFF
SM1334 UDP socket 1 connection started ○ ○ OFF – – N R OFF
SM1335 UDP socket 1 data receiving ○ ○ OFF – – N R OFF
SM1336 UDP socket 1 data sending ○ ○ OFF – – N R OFF
SM1337 UDP socket 1 connection closed ○ ○ ON – – Y R ON
SM1338 UDP socket 1─Error flag ○ ○ OFF – – N R OFF
SM1339 UDP socket 2 connection started ○ ○ OFF – – N R OFF
SM1340 UDP socket 2 data receiving ○ ○ OFF – – N R OFF
SM1341 UDP socket 2 data sending ○ ○ OFF – – N R OFF
SM1342 UDP socket 2 connection closed ○ ○ ON – – Y R ON
SM1343 UDP socket 2─Error flag ○ ○ OFF – – N R OFF
SM1344 UDP socket 3 connection started ○ ○ OFF – – N R OFF
SM1345 UDP socket 3 data receiving ○ ○ OFF – – N R OFF
SM1346 UDP socket 3 data sending ○ ○ OFF – – N R OFF
SM1347 UDP socket 3 connection closed ○ ○ ON – – Y R ON
SM1348 UDP socket 3─Error flag ○ ○ OFF – – N R OFF
SM1349 UDP socket 4 connection started ○ ○ OFF – – N R OFF
SM1350 UDP socket 4 data receiving ○ ○ OFF – – N R OFF
SM1351 UDP socket 4 data sending ○ ○ OFF – – N R OFF
SM1352 UDP socket 4 connection closed ○ ○ ON – – Y R ON
SM1353 UDP socket 4─Error flag ○ ○ OFF – – N R OFF
Data exchange through EtherNet/IP (Scanner)
*SM1375 ○ ○ OFF – – H R/W OFF
started.
Connection 1 for data exchange through EtherNet/IP
*SM1376 ○ ○ OFF – – H R/W OFF
(Scanner) started
Connection 2 for data exchange through EtherNet/IP
*SM1377 ○ ○ OFF – – H R/W OFF
(Scanner) started
Connection 3 for data exchange through EtherNet/IP
*SM1378 ○ ○ OFF – – H R/W OFF
(Scanner) started
Connection 4 for data exchange through EtherNet/IP
*SM1379 ○ ○ OFF – – H R/W OFF
(Scanner) started
Connection 5 for data exchange through EtherNet/IP
*SM1380 ○ ○ OFF – – H R/W OFF
(Scanner) started
Connection 6 for data exchange through EtherNet/IP
*SM1381 ○ ○ OFF – – H R/W OFF
(Scanner) started
Connection 7 for data exchange through EtherNet/IP
*SM1382 ○ ○ OFF – – H R/W OFF
(Scanner) started
Connection 8 for data exchange through EtherNet/IP
*SM1383 ○ ○ OFF – – H R/W OFF
(Scanner) started
2-49
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
_2 *SM1384
Connection 9 for data exchange through EtherNet/IP
○ ○ OFF – – H R/W OFF
(Scanner) started
Connection 10 for data exchange through
*SM1385 ○ ○ OFF – – H R/W OFF
EtherNet/IP (Scanner) started
Connection 11 for data exchange through
*SM1386 ○ ○ OFF – – H R/W OFF
EtherNet/IP (Scanner) started
Connection 12 for data exchange through
*SM1387 ○ ○ OFF – – H R/W OFF
EtherNet/IP (Scanner) started
Connection 13 for data exchange through
*SM1388 ○ ○ OFF – – H R/W OFF
EtherNet/IP (Scanner) started
Connection 14 for data exchange through
*SM1389 ○ ○ OFF – – H R/W OFF
EtherNet/IP (Scanner) started
Connection 15 for data exchange through
*SM1390 ○ ○ OFF – – H R/W OFF
EtherNet/IP (Scanner) started
Connection 16 for data exchange through
*SM1391 ○ ○ OFF – – H R/W OFF
EtherNet/IP (Scanner) started
Connection 17 for data exchange through
*SM1392 ○ – OFF – – H R/W OFF
EtherNet/IP (Scanner) started
Connection 18 for data exchange through
*SM1393 ○ – OFF – – H R/W OFF
EtherNet/IP (Scanner) started
Connection 19 for data exchange through
*SM1394 ○ – OFF – – H R/W OFF
EtherNet/IP (Scanner) started
Connection 20 for data exchange through
*SM1395 ○ – OFF – – H R/W OFF
EtherNet/IP (Scanner) started
Connection 21 for data exchange through
*SM1396 ○ – OFF – – H R/W OFF
EtherNet/IP (Scanner) started
Connection 22 for data exchange through
*SM1397 ○ – OFF – – H R/W OFF
EtherNet/IP (Scanner) started
Connection 23 for data exchange through
*SM1398 ○ – OFF – – H R/W OFF
EtherNet/IP (Scanner) started
Connection 24 for data exchange through
*SM1399 ○ – OFF – – H R/W OFF
EtherNet/IP (Scanner) started
Connection 25 for data exchange through
*SM1400 ○ – OFF – – H R/W OFF
EtherNet/IP (Scanner) started
Connection 26 for data exchange through
*SM1401 ○ – OFF – – H R/W OFF
EtherNet/IP (Scanner) started
Connection 27 for data exchange through
*SM1402 ○ – OFF – – H R/W OFF
EtherNet/IP (Scanner) started
Connection 28 for data exchange through
*SM1403 ○ – OFF – – H R/W OFF
EtherNet/IP (Scanner) started
Connection 29 for data exchange through
*SM1404 ○ – OFF – – H R/W OFF
EtherNet/IP (Scanner) started
Connection 30 for data exchange through
*SM1405 ○ – OFF – – H R/W OFF
EtherNet/IP (Scanner) started
Connection 31 for data exchange through
*SM1406 ○ – OFF – – H R/W OFF
EtherNet/IP (Scanner) started
2-50
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
*SM1407
Connection 32 for data exchange through
○ – OFF – – H R/W OFF
2_
EtherNet/IP (Scanner) started
Error in data exchange connection 1 through
*SM1408 ○ ○ OFF – – N R OFF
EtherNet/IP (Scanner)
Error in data exchange connection 2 through
*SM1409 ○ ○ OFF – – N R OFF
EtherNet/IP (Scanner)
Error in data exchange connection 3 through
*SM1410 ○ ○ OFF – – N R OFF
EtherNet/IP (Scanner)
Error in data exchange connection 4 through
*SM1411 ○ ○ OFF – – N R OFF
EtherNet/IP (Scanner)
Error in data exchange connection 5 through
*SM1412 ○ ○ OFF – – N R OFF
EtherNet/IP (Scanner)
Error in data exchange connection 6 through
*SM1413 ○ ○ OFF – – N R OFF
EtherNet/IP (Scanner)
Error in data exchange connection 7 through
*SM1414 ○ ○ OFF – – N R OFF
EtherNet/IP (Scanner)
Error in data exchange connection 8 through
*SM1415 ○ ○ OFF – – N R OFF
EtherNet/IP (Scanner)
Error in data exchange connection 9 through
*SM1416 ○ ○ OFF – – N R OFF
EtherNet/IP (Scanner)
Error in data exchange connection 10 through
*SM1417 ○ ○ OFF – – N R OFF
EtherNet/IP (Scanner)
Error in data exchange connection 11 through
*SM1418 ○ ○ OFF – – N R OFF
EtherNet/IP (Scanner)
Error in data exchange connection 12 through
*SM1419 ○ ○ OFF – – N R OFF
EtherNet/IP (Scanner)
Error in data exchange connection 13 through
*SM1420 ○ ○ OFF – – N R OFF
EtherNet/IP (Scanner)
Error in data exchange connection 14 through
*SM1421 ○ ○ OFF – – N R OFF
EtherNet/IP (Scanner)
Error in data exchange connection 15 through
*SM1422 ○ ○ OFF – – N R OFF
EtherNet/IP (Scanner)
Error in data exchange connection 16 through
*SM1423 ○ ○ OFF – – N R OFF
EtherNet/IP (Scanner)
Error in data exchange connection 17 through
*SM1424 ○ – OFF – – N R OFF
EtherNet/IP (Scanner)
Error in data exchange connection 18 through
*SM1425 ○ – OFF – – N R OFF
EtherNet/IP (Scanner)
Error in data exchange connection 19 through
*SM1426 ○ – OFF – – N R OFF
EtherNet/IP (Scanner)
Error in data exchange connection 20 through
*SM1427 ○ – OFF – – N R OFF
EtherNet/IP (Scanner)
Error in data exchange connection 21 through
*SM1428 ○ – OFF – – N R OFF
EtherNet/IP (Scanner)
Error in data exchange connection 22 through
*SM1429 ○ – OFF – – N R OFF
EtherNet/IP (Scanner)
2-51
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
_2 *SM1430
Error in data exchange connection 23 through
○ – OFF – – N R OFF
EtherNet/IP (Scanner)
Error in data exchange connection 24 through
*SM1431 ○ – OFF – – N R OFF
EtherNet/IP (Scanner)
Error in data exchange connection 25 through
*SM1432 ○ – OFF – – N R OFF
EtherNet/IP (Scanner)
Error in data exchange connection 26 through
*SM1433 ○ – OFF – – N R OFF
EtherNet/IP (Scanner)
Error in data exchange connection 27 through
*SM1434 ○ – OFF – – N R OFF
EtherNet/IP (Scanner)
Error in data exchange connection 28 through
*SM1435 ○ – OFF – – N R OFF
EtherNet/IP (Scanner)
Error in data exchange connection 29 through
*SM1436 ○ – OFF – – N R OFF
EtherNet/IP (Scanner)
Error in data exchange connection 30 through
*SM1437 ○ – OFF – – N R OFF
EtherNet/IP (Scanner)
Error in data exchange connection 31 through
*SM1438 ○ – OFF – – N R OFF
EtherNet/IP (Scanner)
Error in data exchange connection 32 through
*SM1439 ○ – OFF – – N R OFF
EtherNet/IP (Scanner)
Error in I/O connection 1 through EtherNet/IP
*SM1440 ○ ○ OFF – – N R OFF
(Adapter)
Error in I/O connection 2 through EtherNet/IP
*SM1441 ○ ○ OFF – – N R OFF
(Adapter)
Error in I/O connection 3 through EtherNet/IP
*SM1442 ○ ○ OFF – – N R OFF
(Adapter)
Error in I/O connection 4 through EtherNet/IP
*SM1443 ○ ○ OFF – – N R OFF
(Adapter)
Error in I/O connection 5 through EtherNet/IP
*SM1444 ○ ○ OFF – – N R OFF
(Adapter)
Error in I/O connection 6 through EtherNet/IP
*SM1445 ○ ○ OFF – – N R OFF
(Adapter)
Error in I/O connection 7 through EtherNet/IP
*SM1446 ○ ○ OFF – – N R OFF
(Adapter)
Error in I/O connection 8 through EtherNet/IP
*SM1447 ○ ○ OFF – – N R OFF
(Adapter)
I/O connection 1 is established through EtherNet/IP
*SM1448 ○ ○ OFF – – N R OFF
(Adapter)
2-52
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
2-53
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
2-54
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
2-55
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
2-56
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
2-57
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
2-58
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
2-59
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
2-60
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
*SM1710
Data exchange through Function Card 1 enabled by
○ – OFF – OFF N R/W OFF
2_
ISPSoft
Connection 1 for data exchange through Function
*SM1712 ○ – OFF – – N R/W OFF
Card 1 started
Connection 2 for data exchange through Function
*SM1713 ○ – OFF – – N R/W OFF
Card 1 started
Connection 3 for data exchange through Function
*SM1714 ○ – OFF – – N R/W OFF
Card 1 started
Connection 4 for data exchange through Function
*SM1715 ○ – OFF – – N R/W OFF
Card 1 started
Connection 5 for data exchange through Function
*SM1716 ○ – OFF – – N R/W OFF
Card 1 started
Connection 6 for data exchange through Function
*SM1717 ○ – OFF – – N R/W OFF
Card 1 started
Connection 7 for data exchange through Function
*SM1718 ○ – OFF – – N R/W OFF
Card 1 started
Connection 8 for data exchange through Function
*SM1719 ○ – OFF – – N R/W OFF
Card 1 started
Connection 9 for data exchange through Function
*SM1720 ○ – OFF – – N R/W OFF
Card 1 started
Connection 10 for data exchange through Function
*SM1721 ○ – OFF – – N R/W OFF
Card 1 started
Connection 11 for data exchange through Function
*SM1722 ○ – OFF – – N R/W OFF
Card 1 started
Connection 12 for data exchange through Function
*SM1723 ○ – OFF – – N R/W OFF
Card 1 started
Connection 13 for data exchange through Function
*SM1724 ○ – OFF – – N R/W OFF
Card 1 started
Connection 14 for data exchange through Function
*SM1725 ○ – OFF – – N R/W OFF
Card 1 started
Connection 15 for data exchange through Function
*SM1726 ○ – OFF – – N R/W OFF
Card 1 started
Connection 16 for data exchange through Function
*SM1727 ○ – OFF – – N R/W OFF
Card 1 started
Connection 17 for data exchange through Function
*SM1728 ○ – OFF – – N R/W OFF
Card 1 started
Connection 18 for data exchange through Function
*SM1729 ○ – OFF – – N R/W OFF
Card 1 started
Connection 19 for data exchange through Function
*SM1730 ○ – OFF – – N R/W OFF
Card 1 started
Connection 20 for data exchange through Function
*SM1731 ○ – OFF – – N R/W OFF
Card 1 started
Connection 21 for data exchange through Function
*SM1732 ○ – OFF – – N R/W OFF
Card 1 started
Connection 22 for data exchange through Function
*SM1733 ○ – OFF – – N R/W OFF
Card 1 started
2-61
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
_2 *SM1734
Connection 23 for data exchange through Function
○ – OFF – – N R/W OFF
Card 1 started
Connection 24 for data exchange through Function
*SM1735 ○ – OFF – – N R/W OFF
Card 1 started
Connection 25 for data exchange through Function
*SM1736 ○ – OFF – – N R/W OFF
Card 1 started
Connection 26 for data exchange through Function
*SM1737 ○ – OFF – – N R/W OFF
Card 1 started
Connection 27 for data exchange through Function
*SM1738 ○ – OFF – – N R/W OFF
Card 1 started
Connection 28 for data exchange through Function
*SM1739 ○ – OFF – – N R/W OFF
Card 1 started
Connection 29 for data exchange through Function
*SM1740 ○ – OFF – – N R/W OFF
Card 1 started
Connection 30 for data exchange through Function
*SM1741 ○ – OFF – – N R/W OFF
Card 1 started
Connection 31 for data exchange through Function
*SM1742 ○ – OFF – – N R/W OFF
Card 1 started
Connection 32 for data exchange through Function
*SM1743 ○ – OFF – – N R/W OFF
Card 1 started
Successful data exchange connection 1 through
*SM1744 ○ – OFF – – N R OFF
Function Card 1
Successful data exchange connection 2 through
*SM1745 ○ – OFF – – N R OFF
Function Card 1
Successful data exchange connection 3 through
*SM1746 ○ – OFF – – N R OFF
Function Card 1
Successful data exchange connection 4 through
*SM1747 ○ – OFF – – N R OFF
Function Card 1
Successful data exchange connection 5 through
*SM1748 ○ – OFF – – N R OFF
Function Card 1
Successful data exchange connection 6 through
*SM1749 ○ – OFF – – N R OFF
Function Card 1
Successful data exchange connection 7 through
*SM1750 ○ – OFF – – N R OFF
Function Card 1
Successful data exchange connection 8 through
*SM1751 ○ – OFF – – N R OFF
Function Card 1
Successful data exchange connection 9 through
*SM1752 ○ – OFF – – N R OFF
Function Card 1
Successful data exchange connection 10 through
*SM1753 ○ – OFF – – N R OFF
Function Card 1
Successful data exchange connection 11 through
*SM1754 ○ – OFF – – N R OFF
Function Card 1
Successful data exchange connection 12 through
*SM1755 ○ – OFF – – N R OFF
Function Card 1
Successful data exchange connection 13 through
*SM1756 ○ – OFF – – N R OFF
Function Card 1
2-62
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
*SM1757
Successful data exchange connection 14 through
○ – OFF – – N R OFF
2_
Function Card 1
Successful data exchange connection 15 through
*SM1758 ○ – OFF – – N R OFF
Function Card 1
Successful data exchange connection 16 through
*SM1759 ○ – OFF – – N R OFF
Function Card 1
Successful data exchange connection 17 through
*SM1760 ○ – OFF – – N R OFF
Function Card 1
Successful data exchange connection 18 through
*SM1761 ○ – OFF – – N R OFF
Function Card 1
Successful data exchange connection 19 through
*SM1762 ○ – OFF – – N R OFF
Function Card 1
Successful data exchange connection 20 through
*SM1763 ○ – OFF – – N R OFF
Function Card 1
Successful data exchange connection 21 through
*SM1764 ○ – OFF – – N R OFF
Function Card 1
Successful data exchange connection 22 through
*SM1765 ○ – OFF – – N R OFF
Function Card 1
Successful data exchange connection 23 through
*SM1766 ○ – OFF – – N R OFF
Function Card 1
Successful data exchange connection 24 through
*SM1767 ○ – OFF – – N R OFF
Function Card 1
Successful data exchange connection 25 through
*SM1768 ○ – OFF – – N R OFF
Function Card 1
Successful data exchange connection 26 through
*SM1769 ○ – OFF – – N R OFF
Function Card 1
Successful data exchange connection 27 through
*SM1770 ○ – OFF – – N R OFF
Function Card 1
Successful data exchange connection 28 through
*SM1771 ○ – OFF – – N R OFF
Function Card 1
Successful data exchange connection 29 through
*SM1772 ○ – OFF – – N R OFF
Function Card 1
Successful data exchange connection 30 through
*SM1773 ○ – OFF – – N R OFF
Function Card 1
Successful data exchange connection 31 through
*SM1774 ○ – OFF – – N R OFF
Function Card 1
Successful data exchange connection 32 through
*SM1775 ○ – OFF – – N R OFF
Function Card 1
Error in data exchange connection 1 through
*SM1776 ○ – OFF – – N R OFF
Function Card 1
Error in data exchange connection 2 through
*SM1777 ○ – OFF – – N R OFF
Function Card 1
Error in data exchange connection 3 through
*SM1778 ○ – OFF – – N R OFF
Function Card 1
Error in data exchange connection 4 through
*SM1779 ○ – OFF – – N R OFF
Function Card 1
2-63
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
_2 *SM1780
Error in data exchange connection 5 through
○ – OFF – – N R OFF
Function Card 1
Error in data exchange connection 6 through
*SM1781 ○ – OFF – – N R OFF
Function Card 1
Error in data exchange connection 7 through
*SM1782 ○ – OFF – – N R OFF
Function Card 1
Error in data exchange connection 8 through
*SM1783 ○ – OFF – – N R OFF
Function Card 1
Error in data exchange connection 9 through
*SM1784 ○ – OFF – – N R OFF
Function Card 1
Error in data exchange connection 10 through
*SM1785 ○ – OFF – – N R OFF
Function Card 1
Error in data exchange connection 11 through
*SM1786 ○ – OFF – – N R OFF
Function Card 1
Error in data exchange connection 12 through
*SM1787 ○ – OFF – – N R OFF
Function Card 1
Error in data exchange connection 13 through
*SM1788 ○ – OFF – – N R OFF
Function Card 1
Error in data exchange connection 14 through
*SM1789 ○ – OFF – – N R OFF
Function Card 1
Error in data exchange connection 15 through
*SM1790 ○ – OFF – – N R OFF
Function Card 1
Error in data exchange connection 16 through
*SM1791 ○ – OFF – – N R OFF
Function Card 1
Error in data exchange connection 17 through
*SM1792 ○ – OFF – – N R OFF
Function Card 1
Error in data exchange connection 18 through
*SM1793 ○ – OFF – – N R OFF
Function Card 1
Error in data exchange connection 19 through
*SM1794 ○ – OFF – – N R OFF
Function Card 1
Error in data exchange connection 20 through
*SM1795 ○ – OFF – – N R OFF
Function Card 1
Error in data exchange connection 21 through
*SM1796 ○ – OFF – – N R OFF
Function Card 1
Error in data exchange connection 22 through
*SM1797 ○ – OFF – – N R OFF
Function Card 1
Error in data exchange connection 23 through
*SM1798 ○ – OFF – – N R OFF
Function Card 1
Error in data exchange connection 24 through
*SM1799 ○ – OFF – – N R OFF
Function Card 1
Error in data exchange connection 25 through
*SM1800 ○ – OFF – – N R OFF
Function Card 1
Error in data exchange connection 26 through
*SM1801 ○ – OFF – – N R OFF
Function Card 1
Error in data exchange connection 27 through
*SM1802 ○ – OFF – – N R OFF
Function Card 1
2-64
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
*SM1803
Error in data exchange connection 28 through
○ – OFF – – N R OFF
2_
Function Card 1
Error in data exchange connection 29 through
*SM1804 ○ – OFF – – N R OFF
Function Card 1
Error in data exchange connection 30 through
*SM1805 ○ – OFF – – N R OFF
Function Card 1
Error in data exchange connection 31 through
*SM1806 ○ – OFF – – N R OFF
Function Card 1
Error in data exchange connection 32 through
*SM1807 ○ – OFF – – N R OFF
Function Card 1
Error in the initialization of the data exchange
*SM1821 ○ – OFF – – N R/W OFF
through Function Card 2
Data exchange through Function Card 2 enabled by
*SM1822 ○ – OFF – OFF N R/W OFF
ISPSoft
Connection 1 for data exchange through Function
*SM1824 ○ – OFF – – N R/W OFF
Card 2 started
Connection 2 for data exchange through Function
*SM1825 ○ – OFF – – N R/W OFF
Card 2 started
Connection 3 for data exchange through Function
*SM1826 ○ – OFF – – N R/W OFF
Card 2 started
Connection 4 for data exchange through Function
*SM1827 ○ – OFF – – N R/W OFF
Card 2 started
Connection 5 for data exchange through Function
*SM1828 ○ – OFF – – N R/W OFF
Card 2 started
Connection 6 for data exchange through Function
*SM1829 ○ – OFF – – N R/W OFF
Card 2 started
Connection 7 for data exchange through Function
*SM1830 ○ – OFF – – N R/W OFF
Card 2 started
Connection 8 for data exchange through Function
*SM1831 ○ – OFF – – N R/W OFF
Card 2 started
Connection 9 for data exchange through Function
*SM1832 ○ – OFF – – N R/W OFF
Card 2 started
Connection 10 for data exchange through Function
*SM1833 ○ – OFF – – N R/W OFF
Card 2 started
Connection 11 for data exchange through Function
*SM1834 ○ – OFF – – N R/W OFF
Card 2 started
Connection 12 for data exchange through Function
*SM1835 ○ – OFF – – N R/W OFF
Card 2 started
Connection 13 for data exchange through Function
*SM1836 ○ – OFF – – N R/W OFF
Card 2 started
Connection 14 for data exchange through Function
*SM1837 ○ – OFF – – N R/W OFF
Card 2 started
Connection 15 for data exchange through Function
*SM1838 ○ – OFF – – N R/W OFF
Card 2 started
Connection 16 for data exchange through Function
*SM1839 ○ – OFF – – N R/W OFF
Card 2 started
2-65
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
_2 *SM1840
Connection 17 for data exchange through Function
○ – OFF – – N R/W OFF
Card 2 started
Connection 18 for data exchange through Function
*SM1841 ○ – OFF – – N R/W OFF
Card 2 started
Connection 19 for data exchange through Function
*SM1842 ○ – OFF – – N R/W OFF
Card 2 started
Connection 20 for data exchange through Function
*SM1843 ○ – OFF – – N R/W OFF
Card 2 started
Connection 21 for data exchange through Function
*SM1844 ○ – OFF – – N R/W OFF
Card 2 started
Connection 22 for data exchange through Function
*SM1845 ○ – OFF – – N R/W OFF
Card 2 started
Connection 23 for data exchange through Function
*SM1846 ○ – OFF – – N R/W OFF
Card 2 started
Connection 24 for data exchange through Function
*SM1847 ○ – OFF – – N R/W OFF
Card 2 started
Connection 25 for data exchange through Function
*SM1848 ○ – OFF – – N R/W OFF
Card 2 started
Connection 26 for data exchange through Function
*SM1849 ○ – OFF – – N R/W OFF
Card 2 started
Connection 27 for data exchange through Function
*SM1850 ○ – OFF – – N R/W OFF
Card 2 started
Connection 28 for data exchange through Function
*SM1851 ○ – OFF – – N R/W OFF
Card 2 started
Connection 29 for data exchange through Function
*SM1852 ○ – OFF – – N R/W OFF
Card 2 started
Connection 30 for data exchange through Function
*SM1853 ○ – OFF – – N R/W OFF
Card 2 started
Connection 31 for data exchange through Function
*SM1854 ○ – OFF – – N R/W OFF
Card 2 started
Connection 32 for data exchange through Function
*SM1855 ○ – OFF – – N R/W OFF
Card 2 started
Successful data exchange connection 1 through
*SM1856 ○ – OFF – – N R OFF
Function Card 2
Successful data exchange connection 2 through
*SM1857 ○ – OFF – – N R OFF
Function Card 2
Successful data exchange connection 3 through
*SM1858 ○ – OFF – – N R OFF
Function Card 2
Successful data exchange connection 4 through
*SM1859 ○ – OFF – – N R OFF
Function Card 2
Successful data exchange connection 5 through
*SM1860 ○ – OFF – – N R OFF
Function Card 2
Successful data exchange connection 6 through
*SM1861 ○ – OFF – – N R OFF
Function Card 2
Successful data exchange connection 7 through
*SM1862 ○ – OFF – – N R OFF
Function Card 2
2-66
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
*SM1863
Successful data exchange connection 8 through
○ – OFF – – N R OFF
2_
Function Card 2
Successful data exchange connection 9 through
*SM1864 ○ – OFF – – N R OFF
Function Card 2
Successful data exchange connection 10 through
*SM1865 ○ – OFF – – N R OFF
Function Card 2
Successful data exchange connection 11 through
*SM1866 ○ – OFF – – N R OFF
Function Card 2
Successful data exchange connection 12 through
*SM1867 ○ – OFF – – N R OFF
Function Card 2
Successful data exchange connection 13 through
*SM1868 ○ – OFF – – N R OFF
Function Card 2
Successful data exchange connection 14 through
*SM1869 ○ – OFF – – N R OFF
Function Card 2
Successful data exchange connection 15 through
*SM1870 ○ – OFF – – N R OFF
Function Card 2
Successful data exchange connection 16 through
*SM1871 ○ – OFF – – N R OFF
Function Card 2
Successful data exchange connection 17 through
*SM1872 ○ – OFF – – N R OFF
Function Card 2
Successful data exchange connection 18 through
*SM1873 ○ – OFF – – N R OFF
Function Card 2
Successful data exchange connection 19 through
*SM1874 ○ – OFF – – N R OFF
Function Card 2
Successful data exchange connection 20 through
*SM1875 ○ – OFF – – N R OFF
Function Card 2
Successful data exchange connection 21 through
*SM1876 ○ – OFF – – N R OFF
Function Card 2
Successful data exchange connection 22 through
*SM1877 ○ – OFF – – N R OFF
Function Card 2
Successful data exchange connection 23 through
*SM1878 ○ – OFF – – N R OFF
Function Card 2
Successful data exchange connection 24 through
*SM1879 ○ – OFF – – N R OFF
Function Card 2
Successful data exchange connection 25 through
*SM1880 ○ – OFF – – N R OFF
Function Card 2
Successful data exchange connection 26 through
*SM1881 ○ – OFF – – N R OFF
Function Card 2
Successful data exchange connection 27 through
*SM1882 ○ – OFF – – N R OFF
Function Card 2
Successful data exchange connection 28 through
*SM1883 ○ – OFF – – N R OFF
Function Card 2
Successful data exchange connection 29 through
*SM1884 ○ – OFF – – N R OFF
Function Card 2
Successful data exchange connection 30 through
*SM1885 ○ – OFF – – N R OFF
Function Card 2
2-67
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
_2 *SM1886
Successful data exchange connection 31 through
○ – OFF – – N R OFF
Function Card 2
Successful data exchange connection 32 through
*SM1887 ○ – OFF – – N R OFF
Function Card 2
Error in data exchange connection 1 through
*SM1888 ○ – OFF – – N R OFF
Function Card 2
Error in data exchange connection 2 through
*SM1889 ○ – OFF – – N R OFF
Function Card 2
Error in data exchange connection 3 through
*SM1890 ○ – OFF – – N R OFF
Function Card 2
Error in data exchange connection 4 through
*SM1891 ○ – OFF – – N R OFF
Function Card 2
Error in data exchange connection 5 through
*SM1892 ○ – OFF – – N R OFF
Function Card 2
Error in data exchange connection 6 through
*SM1893 ○ – OFF – – N R OFF
Function Card 2
Error in data exchange connection 7 through
*SM1894 ○ – OFF – – N R OFF
Function Card 2
Error in data exchange connection 8 through
*SM1895 ○ – OFF – – N R OFF
Function Card 2
Error in data exchange connection 9 through
*SM1896 ○ – OFF – – N R OFF
Function Card 2
Error in data exchange connection 10 through
*SM1897 ○ – OFF – – N R OFF
Function Card 2
Error in data exchange connection 11 through
*SM1898 ○ – OFF – – N R OFF
Function Card 2
Error in data exchange connection 12 through
*SM1899 ○ – OFF – – N R OFF
Function Card 2
Error in data exchange connection 13 through
*SM1900 ○ – OFF – – N R OFF
Function Card 2
Error in data exchange connection 14 through
*SM1901 ○ – OFF – – N R OFF
Function Card 2
Error in data exchange connection 15 through
*SM1902 ○ – OFF – – N R OFF
Function Card 2
Error in data exchange connection 16 through
*SM1903 ○ – OFF – – N R OFF
Function Card 2
Error in data exchange connection 17 through
*SM1904 ○ – OFF – – N R OFF
Function Card 2
Error in data exchange connection 18 through
*SM1905 ○ – OFF – – N R OFF
Function Card 2
Error in data exchange connection 19 through
*SM1906 ○ – OFF – – N R OFF
Function Card 2
Error in data exchange connection 20 through
*SM1907 ○ – OFF – – N R OFF
Function Card 2
Error in data exchange connection 21 through
*SM1908 ○ – OFF – – N R OFF
Function Card 2
2-68
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
*SM1909
Error in data exchange connection 22 through
○ – OFF – – N R OFF
2_
Function Card 2
Error in data exchange connection 23 through
*SM1910 ○ – OFF – – N R OFF
Function Card 2
Error in data exchange connection 24 through
*SM1911 ○ – OFF – – N R OFF
Function Card 2
Error in data exchange connection 25 through
*SM1912 ○ – OFF – – N R OFF
Function Card 2
Error in data exchange connection 26 through
*SM1913 ○ – OFF – – N R OFF
Function Card 2
Error in data exchange connection 27 through
*SM1914 ○ – OFF – – N R OFF
Function Card 2
Error in data exchange connection 28 through
*SM1915 ○ – OFF – – N R OFF
Function Card 2
Error in data exchange connection 29 through
*SM1916 ○ – OFF – – N R OFF
Function Card 2
Error in data exchange connection 30 through
*SM1917 ○ – OFF – – N R OFF
Function Card 2
Error in data exchange connection 31 through
*SM1918 ○ – OFF – – N R OFF
Function Card 2
Error in data exchange connection 32 through
*SM1919 ○ – OFF – – N R OFF
Function Card 2
Positioning completed on ECAT communication ID 9
SM1921 ○ – OFF OFF – N R/W OFF
of Delta servo
Positioning completed on ECAT communication ID
SM1922 ○ – OFF OFF – N R/W OFF
10 of Delta servo
Positioning completed on ECAT communication ID
SM1923 ○ – OFF OFF – N R/W OFF
11 of Delta servo
Positioning completed on ECAT communication ID
SM1924 ○ – OFF OFF – N R/W OFF
12 of Delta servo
Positioning completed on ECAT communication ID
SM1925 ○ – OFF OFF – N R/W OFF
13 of Delta servo
Positioning completed on ECAT communication ID
SM1926 ○ – OFF OFF – N R/W OFF
14 of Delta servo
Positioning completed on ECAT communication ID
SM1927 ○ – OFF OFF – N R/W OFF
15 of Delta servo
Positioning completed on ECAT communication ID
SM1928 ○ – OFF OFF – N R/W OFF
16 of Delta servo
Communicaiton stops on ECAT communication ID 9
SM1931 ○ – OFF OFF – N R/W OFF
of Delta servo
Communicaiton stops on ECAT communication ID
SM1932 ○ – OFF OFF – N R/W OFF
10 of Delta servo
Communicaiton stops on ECAT communication ID
SM1933 11 of Delta servo ○ – OFF OFF – N R/W OFF
Communicaiton stops on ECAT communication ID
SM1934 12 of Delta servo ○ – OFF OFF – N R/W OFF
2-69
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SM Function
ON RUN STOP
*2: The system executes according to the parameters set in HWCONFIG. When the SM power changes from OFF to
ON, the state is -, and the latched area is marked as N.
*3: The function card here means AS-F232, AS-F422 and AS-F485.
2-70
C ha p ter 2 D e v ic es
2-71
AS Series Programming Manual
Special auxiliary
Refresh time
relay
ON: the command received is wrong.
The system automatically sets the flag to ON, and you reset it to OFF.
SM104–SM105
ON: there is a receive timeout.
You set the flag to ON and reset it to OFF.
_2
SM106–SM107 ON: 8-bit mode
OFF: 16-bit mode
SM120-SM151 You set the flag to ON and while executing DPLSY instruction, the system resets it to OFF.
SM166–SM167 You set the flag to ON and reset it to OFF.
SM168–SM171 The system automatically sets the flag to ON, and resets it to OFF.
SM172 The system automatically sets the flag to ON, and resets it to OFF.
You set the flag to ON and after PLC RUN->STOP, it clears the non-latched area. The system
SM203
automatically resets the flag to OFF.
You set the flag to ON, and the system automatically resets it to OFF.
SM204–SM205
ON: clear the non-latched/latched areas.
You set SM206 to ON and reset it to OFF.
SM206
ON: inhibit all output.
You set SM209 to ON, and the system automatically resets it to OFF.
SM209
ON: the communication protocol of COM1 changes.
You set SM210 to ON and reset it to OFF for COM1.
SM210 ON: RTU mode
OFF: ASCII mode
You set SM211 to ON, and the system automatically resets it to OFF.
SM211
ON: the communication protocol of COM2 changes.
You set SM210 to ON and reset it to OFF for COM2.
SM212 ON: RTU mode
OFF: ASCII mode
You set SM215 to ON and reset it to OFF.
SM215 ON: the PLC runs.
OFF: the PLC stops.
SM217 The system automatically sets the flag to ON.
The system checks the real-time clock at power-on.
SM218 ON: real-time clock error
You reset it to OFF.
The system monitors the battery power of the real-time clock.
SM219 ON: real-time clock power is low.
The system resets it to OFF.
You set SM220 to ON and reset it to OFF.
SM220
ON: calibrating the real-time clock within ±30 seconds
The flag is refreshed according to the settings in HWCONFIG or when the DST instruction (API
SM221 1607) is executed.
ON: the DST instruction is executed.
SM222 The system automatically sets the flag to ON, and resets it to OFF.
SM230-SM261 The flag is refreshed according to the settings in HWCONFIG; you can redefine this setting.
The flag is ON when the CSFO instruction is executed.
SM270–SM275 ON: enable reversing the input direction
OFF: disable reversing the input direction
SM281–SM288 You set the flag to ON and reset it to OFF.
2-72
C ha p ter 2 D e v ic es
Special auxiliary
Refresh time
relay
ON: counting down
OFF: counting up
You set the flag to ON and reset it to OFF.
SM291–SM296 ON: enable clearing the input points
OFF: disable clearing the input points
You set the flag to ON and reset it to OFF. 2_
SM300 ON: counting down
OFF: counting up
The system sets the flag to ON and reset it to OFF.
SM301–SM303 ON: counting down
OFF: counting up
You set the flag to ON and reset it to OFF.
SM304 ON: counting down
OFF: counting up
You set the flag to ON and reset it to OFF.
SM305–SM307 ON: counting down
OFF: counting up
You set the flag to ON and reset it to OFF.
SM308 ON: counting down
OFF: counting up
You set the flag to ON and reset it to OFF.
SM309–SM311 ON: counting down
OFF: counting up
You set the flag to ON and reset it to OFF.
SM312 ON: counting down
OFF: counting up
You set the flag to ON and reset it to OFF.
SM313–SM315 ON: counting down
OFF: counting up
You set the flag to ON and reset it to OFF.
SM316 ON: counting down
OFF: counting up
You set the flag to ON and reset it to OFF.
SM317–SM319 ON: counting down
OFF: counting up
You set the flag to ON and reset it to OFF.
SM320 ON: counting down
OFF: counting up
You set the flag to ON and reset it to OFF.
SM321–SM323 ON: counting down
OFF: counting up
You set the flag to ON and reset it to OFF.
SM332 ON: counting down
OFF: counting up
You set the flag to ON and reset it to OFF.
SM333–SM335 ON: counting down
OFF: counting up
SM336 You set the flag to ON and reset it to OFF.
2-73
AS Series Programming Manual
Special auxiliary
Refresh time
relay
ON: counting down
OFF: counting up
You set the flag to ON and reset it to OFF.
SM337–SM339 ON: counting down
OFF: counting up
_2 You set the flag to ON and reset it to OFF.
SM340 ON: counting down
OFF: counting up
You set the flag to ON and reset it to OFF.
SM341 ON: counting down
OFF: counting up
You set the flag to ON and reset it to OFF.
SM342 ON: counting down
OFF: counting up
You set the flag to ON and reset it to OFF.
SM343 ON: counting down
OFF: counting up
You set the flag to ON and reset it to OFF.
SM344 ON: counting down
OFF: counting up
You set the flag to ON and reset it to OFF.
SM345 ON: counting down
OFF: counting up
You set the flag to ON and reset it to OFF.
SM346 ON: counting down
OFF: counting up
You set the flag to ON and reset it to OFF.
SM347 ON: counting down
OFF: counting up
You set the flag to ON and reset it to OFF.
SM348 ON: counting down
OFF: counting up
You set the flag to ON and reset it to OFF.
SM349 ON: counting down
OFF: counting up
You set the flag to ON and reset it to OFF.
SM350 ON: counting down
OFF: counting up
You set the flag to ON and reset it to OFF.
SM351 ON: counting down
OFF: counting up
You set the flag to ON and reset it to OFF.
SM352–SM353 ON: counting down
OFF: counting up
SM360-SM391 The system sets the flag to ON or OFF.
The system automatically sets the flag to ON and resets it to OFF.
SM400–SM403
The flag is refreshed every scan cycle.
SM404 The system automatically sets the flag to ON and resets it to OFF.
2-74
C ha p ter 2 D e v ic es
Special auxiliary
Refresh time
relay
SM404 is refreshed every 5 milliseconds.
The system automatically sets SM405 to ON and resets it to OFF.
SM405
SM405 is refreshed every 50 milliseconds.
The system automatically sets SM406 to ON and resets it to OFF.
SM406
SM406 is refreshed every 100 milliseconds.
The system automatically sets SM407 to ON and resets it to OFF. 2_
SM407
SM407 is refreshed every 0.5 seconds.
The system automatically sets SM450 to ON and resets it to OFF.
SM450 ON: memory card is inserted into the PLC.
OFF: memory card is removed out of the PLC.
SM452–SM453 The system sets the flag to ON or OFF.
SM454 You set the flag to ON or OFF.
SM455 The system sets the flag to ON or OFF.
SM456 You set the flag to ON to save. After the saving is complete, the system resets it to OFF.
SM457 The system sets the flag to ON or OFF.
SM460 The system sets the flag to ON or OFF.
SM461 The system sets the flag to ON and you reset it to OFF.
SM462–SM464 You set the flag to ON or OFF.
SM465 The system sets the flag to ON and you reset it to OFF.
SM466 You set the flag to ON or OFF.
SM467 The system sets the flag to ON and you reset it to OFF.
SM469–SM471 You set the flag to ON or OFF.
SM472 The system sets the flag to ON or OFF.
SM473 The system sets the flag to ON and you reset it to OFF.
SM474–SM477 You set the flag to ON or OFF.
SM478–SM479 You set the flag to ON or OFF and the system sets the flag to OFF.
SM480 The system sets the flag to ON or OFF.
SM481 The system sets the flag to ON and you reset it to OFF.
SM482–SM484 You set the flag to ON or OFF.
SM485 The system sets the flag to ON and you reset it to OFF.
SM486 You set the flag to ON or OFF.
SM487 The system sets the flag to ON and you reset it to OFF.
SM489–SM491 You set the flag to ON or OFF.
SM492 The system sets the flag to ON or OFF.
SM493 The system sets the flag to ON and you reset it to OFF.
SM494–SM497 You set the flag to ON or OFF.
SM498–SM499 You set the flag to ON or OFF and the system sets the flag to OFF.
SM500 The system sets the flag to ON or OFF.
SM501 The system sets the flag to ON and you reset it to OFF.
SM502–SM504 You set the flag to ON or OFF.
SM505 The system sets the flag to ON and you reset it to OFF.
SM506 You set the flag to ON or OFF.
SM507 The system sets the flag to ON and you reset it to OFF.
SM509–SM511 You set the flag to ON or OFF.
SM512 The system sets the flag to ON or OFF.
SM513 The system sets the flag to ON and you reset it to OFF.
2-75
AS Series Programming Manual
Special auxiliary
Refresh time
relay
SM514–SM517 You set the flag to ON or OFF.
SM518–SM519 You set the flag to ON or OFF and the system sets the flag to OFF.
SM520 The system sets the flag to ON or OFF.
SM521 The system sets the flag to ON and you reset it to OFF.
2-76
C ha p ter 2 D e v ic es
Special auxiliary
Refresh time
relay
OFF: sort in ascending order
SM605 You set SM605 to ON and reset it to OFF.
You set SM606 to ON and reset it to OFF.
SM606 ON: 8-bit mode
OFF: 16-bit mode
SM607 You set the flag to ON or OFF. 2_
SM608 The flag is refreshed when the instruction is executed.
SM609 You set the flag to ON or OFF.
SM610–SM611 The flag is refreshed when the instruction is executed.
SM612–SM613 You set the flag to ON or OFF.
SM614 The flag is refreshed when the instruction is executed.
SM615–SM617 You set the flag to ON or OFF.
SM618 The flag is refreshed when the instruction is executed.
SM619 The flag is refreshed when the EI or DI instruction is executed.
SM620 The flag is refreshed when the CMPT instruction is executed.
SM621–SM686 You set the flag to ON or OFF.
SM687 The flag is refreshed when the RAMP instruction is executed.
SM688 The flag is refreshed when the INCD instruction is executed.
SM690–SM691 You set the flag to ON or OFF.
SM692 The flag is refreshed when the HKY instruction is executed.
SM693 The flag is refreshed when the SEGL instruction is executed.
SM694 The flag is refreshed when the DSW instruction is executed.
SM695 You set the flag to ON or OFF.
SM749 The system is refreshed at power-on after the data exchange parameters are downloaded.
SM750–SM783 After the data exchange parameters are downloaded, you set the flag to ON or OFF.
SM784–SM847 The flag is ON when the system is refreshed.
SM861 The system is refreshed at power-on after the data exchange parameters are downloaded.
SM862–SM895 After the parameters of data exchange are downloaded, you set the flag to ON or OFF.
SM896–SM959 The flag is ON, when the system is refreshed automatically.
SM976-SM990 The flag is ON, when the system is refreshed automatically.
SM1000 You set the flag to ON and after saving, the system sets the flag to OFF.
SM1006 You set the flag to ON or OFF.
SM1008–SM1015 You set the flag to ON or OFF.
SM1016–SM1031 The flag is ON, when the system is refreshed automatically.
ON: the Ethernet connection is active.
SM1001
OFF: the Ethernet connection is not active.
SM1006 After the parameters of data exchange are downloaded, you set the flag to ON or OFF.
SM1008—SM1015 After the parameters of data exchange are downloaded, you set the flag to ON or OFF.
SM1016—SM1031 The flag is ON, when the system is refreshed automatically.
SM1090 ON: the TCP connection is busy.
SM1091 ON: the UDP connection is busy.
SM1092 System updates.
SM1100 The flag is refreshed when API 2200-API 2210 is executed or the network cable is reconnected.
SM1106 ON: the PHY initialization fails.
SM1107 ON: the IP address, the netmask address, and the gateway address are set incorrectly.
SM1109 ON: the socket function is enabled and the same port is used.
2-77
AS Series Programming Manual
Special auxiliary
Refresh time
relay
SM1111 You set the flag to ON or OFF.
SM1113 ON: there is a server error.
SM1116 ON: the trigger of the PLC parameter is enabled.
SM1117 ON: the trigger of the PLC parameter is triggered.
_2 SM1119 ON: the trigger is enabled and the last mail has been sent successfully.
SM1120 ON: the trigger is enabled and the last mail has been sent with an error.
SM1122–SM1123 ON: the trigger is enabled and there is an SMTP server response timeout.
SM1124 ON: the trigger is enabled and the size of the attachment exceeds the limit.
SM1125 ON: the trigger is enabled and the attachment is not found.
SM1126–SM1127 ON: the trigger of the PLC parameter is enabled.
SM1129 ON: the trigger is enabled and the last mail has been sent successfully.
SM1130 ON: the trigger is enabled and the last mail has been sent with an error.
SM1132 ON: the trigger is enabled and there is an SMTP server response timeout.
SM1133 ON: the trigger is enabled and there is an SMTP server response error.
SM1134 ON: the trigger is enabled and the size of the attachment exceeds the limit.
SM1135 ON: the trigger is enabled and the attachment is not found.
SM1136 ON: the trigger for the PLC parameter is enabled.
SM1137 ON: the trigger for the PLC parameter is triggered.
SM1139 ON: the trigger is enabled and the last mail has been sent successfully.
SM1140 ON: the trigger is enabled and the last mail has been sent with an error.
SM1142 ON: the trigger is enabled and there is an SMTP server response timeout.
SM1143 ON: the trigger is enabled and there is an SMTP server response error.
SM1144 ON: the trigger is enabled and the size of the attachment exceeds the limit.
SM1145 ON: the trigger is enabled and the attachment is not found.
SM1146 ON: the trigger for the PLC parameter is enabled.
SM1147 ON: the trigger for the PLC parameter is triggered.
SM1149 ON: the trigger is enabled and the last mail has been sent successfully.
SM1150 ON: the trigger is enabled and the last mail has been sent with an error.
SM1152 ON: the trigger is enabled and there is an SMTP server response timeout.
SM1153 ON: the trigger is enabled and there is an SMTP server response error.
SM1154 ON: the trigger is enabled and the size of the attachment exceeds the limit.
SM1155 ON: the trigger is enabled and the attachment is not found.
SM1160-SM1161 Retore parameters on Delta devices
SM1166 After the data exchange parameters are downloaded, the system is refreshed.
SM1167–SM1199 After the data exchange parameters are downloaded, you set the flag to ON or OFF.
SM1200–SM1263 ON: when the system is refreshed.
SM1269 ON: there is a socket configuration error.
SM1270–SM1353 The flag is refreshed when the socket function is executed.
SM1312–SM1315 The flag is ON, when the system is refreshed automatically.
After the data exchange parameters are downloaded through EtherNet/IP, you set the flag to ON
SM1375–SM1407
or OFF.
SM1408–SM1439 ON: an error occurred in data exchange through EtherNet/IP.
SM1440–SM1447 ON: a timeout occurred in the adapter of the I/O connection through EtherNet/IP.
SM1448~SM1455 ON: I/O connection is established through EtherNet/IP (Adapter).
2-78
C ha p ter 2 D e v ic es
Special auxiliary
Refresh time
relay
OFF: I/O connection is NOT established through EtherNet/IP (Adapter) or the communication is
disconnected.
SM1581–SM1588 You set the flag to ON or OFF.
SM1601–SM1608 You set the flag to ON or OFF.
SM1611-SM1618 The system sets the flag to ON or OFF.
SM1621-SM1628 The system sets the flag to ON or OFF. 2_
SM1631–SM1638 The system sets the flag to ON and you set it to OFF.
SM1641–SM1648 You set the flag to ON or OFF.
SM1651–SM1658 The system sets the flag to ON or OFF.
SM1661–SM1668 You set the flag to ON or OFF.
SM1671–SM1682 The system sets the flag to ON or OFF.
SM1683 The system sets the flag to ON or OFF.
SM1684—SM1685 You set the flag to ON or OFF.
SM1691-SM1698 The system sets the flag to ON or OFF.
SM1700-SM1705 The system sets the flag to ON or OFF.
SM1709–SM1710 You set the flag to ON or OFF.
SM1712–SM1743 You set the flag to ON or OFF.
SM1744–SM1807 The system sets the flag to ON or OFF.
SM1821–SM1822 You set the flag to ON or OFF.
SM1824–SM1855 You set the flag to ON or OFF.
SM1856–SM1919 The system sets the flag to ON or OFF.
SM1921--SM1928 The system sets the flag to ON or OFF.
SM1931--SM1938 You set the flag to ON or OFF.
SM1941--SM1948 You set the flag to ON or OFF.
SM1951--SM1958 The system sets the flag to ON or OFF.
There are 2048 relays, (S0–S2047). Every stepping relay is like an output relay in that it has an output coil, contact A,
and contact B. You can use a relay for several times in a program, but the relay cannot directly drive the external load. In
addition, you can use the relay as a general auxiliary relay when it is not used in a sequential function chart.
100 millisecond timer: The timer specified by the TMR instruction takes 100 milliseconds as the timing unit.
1 millisecond timer: The timer specified by the TMRH instruction takes 1 millisecond as the timing unit.
The accumulative timers are ST0–ST511. If you want to use the device-monitoring function, these timers can
monitor T0–T511.
If you use the same timer repeatedly in a program, including in different TMR and TMRH instructions, the timer
setting value is the one that the timer matches first.
If you use the same timer repeatedly in a program, the timer is OFF when one of the conditional contacts is OFF.
2-79
AS Series Programming Manual
If you use the same timer in a program as the timer for a subroutine’s exclusive use and an accumulative timer in the
program, it is OFF when one of the conditional contacts is OFF.
When the timer switches from ON to OFF and the conditional contact is ON, the timer is reset and counts again.
When the TMR instruction is executed, the specified timer coil is ON and the timer begins to count. When the value
of the timer matches the timer setting value (value of the timer ≧ setting value), the state of the contact is ON.
_2 A. General-purpose timers
When the TMR instruction is executed, the general-purpose timer begins to count. When the value of the timer
matches the timer setting value, the output coil is ON.
When X0.0=ON and the timer takes 100 ms as the timing unit, the output coil T0 is ON when the value of the
timer = timer setting value100.
When X0.0=OFF or the power is off, the value of the timer is 0 and the output coil T0 is OFF.
10 sec
X0. 0
SV: K100
T0(PV)
Y0. 0
B. Accumulative timers
When the TMR instruction is executed, the accumulative timer begins to count. When the value of the timer matches
the timer setting value, the output coil is ON. As long as you add the letter S in front of the letter T, the timer
becomes an accumulative timer. When the conditional contact is OFF, the value of the accumulative timer is not
reset. When the conditional contact is ON, the accumulative timer counts from the current value.
When X0.0=ON and the timer T250 takes 100 ms as the timing unit, the output coil T250 is ON when the
value of the timer = timer setting value 100.
When X0.0=OFF or the power is off, the accumulative timer ST250 stops counting, and the value of the timer
stays the same. When X0.0=ON, the value of the timer is the accumulating value. When the accumulated
value = timer setting value 100, the output coil T250 is ON.
2-80
C ha p ter 2 D e v ic es
2_
T1 T2 T1+T2=10 sec
X0. 0
SV: K100
T250(PV)
Y0. 0
T412–T511 are the timers that you can use in the function block or in interrupts.
When the TMR or END instruction is executed, the timer in the functional block begins to count. When the value of
the timer matches the timer setting value, the output coil is ON.
If you use a general-purpose timer in a function block or an interrupt, and the function or interrupt is not executed, the
timer cannot count correctly.
2.2.11 Counters
Characteristics of the 16-bit counter
Each time the input switches from OFF to ON, the value of the counter is the same as the output coil. You can use
either the decimal constant or the value in the data register as the counter setting value.
2-81
AS Series Programming Manual
16-bit counter:
1. Setting range: 0–32,767. The setting values 0 and 1 mean the same thing in that the output contact is ON when the
counter counts for the first time.
2. For the general-purpose counter, the current value of the counter is cleared when power is lost. If the counter is
latching, the current value of the counter and the state of the contact before power was lost power are retained. The
_2
latched counter counts from the current value when the power supply is restored.
3. If you use the MOV instruction or ISPSoft to transmit a value larger than the counter setting value to the current
value register C0, the contact of the counter C0 is ON and the current value becomes the same as the counter
setting value the next time X0.1 switches from OFF to ON.
4. You can use either the constant or the value in the data register as the counter setting value.
5. The counter setting value can be positive or negative. If the counter counts up from 32,767, the next value is 0.
6. Use the counters here with CNT instruction. The example used here is a common one. Refer to API 1003 CNT
instruction for more advanced applicaiotns.
1. When X0.0=ON, the RST instruction is executed, the current value of C0 is reset to zero, and the output contact of
the counter C0 is FF.
2. When X0.1 changes from OFF to ON, the value of the counter increments by one.
3. When the value of the counter C0 reaches the counter setting value of 5, the contact of the counter C0 is ON (the
current value of C0 = the counter setting value = 5). After that the trigger from X0.1 is not accepted by C0 and the
current value of C0 stays at the value 5.
X 0.0
X 0.1
5
4 (SV)
C0 ( PV ) 3
2
1
0 0
Y 0.0 ,C0
2-82
C ha p ter 2 D e v ic es
2_
Direction Counts up/down Counts up Counts up/down
Setting value -2,147,483,648 to +2,147,483,647
Specification of the The counter setting value can be either the constant or the value occupying two
counter setting value data registers (32-bit).
Change of the current The counter keeps counting even after the value of the counter matches the counter
value setting value.
The contact is ON when the value of the addition counter matches the counter
setting value.
Output contact
The contact is reset to OFF when the value of the subtraction counter matches the
counter setting value.
When the RST instruction is executed, the current value is cleared to zero, and the
Reset
contact is reset to OFF.
Action of the contact After the DCNT instruction scan is complete, the contact acts.
1. The difference between the 32-bit general-purpose addition counters and the 32-bit general-purpose subtraction
counters depends on the states of the special auxiliary relays SM621–SM684. For example, the counter HC0 is
an addition counter when SM621 is OFF, whereas HC0 is a subtraction counter when SM621 is ON.
2. You can use either the constant or the value in the data registers as the counter setting value, and this setting
value can be positive or negative. If you use the value in the data registers as the counter setting value, this
setting value occupies two consecutive registers.
3. For the general-purpose counter, the current value of the counter is cleared when power is lost. If the counter is
latching, the current value of the counter and the state of the contact before loss of power is retained. The
latched counter counts from the current value when power is restored.
4. If the counter counts up from 2,147,483,647, the next incremental value is -2,147,483,648. If the counter counts
down from -2,147,483,648, the next incremental value is 2,147,483,647.
5. Use the high-speed counters here with DCNT instruction. The example used here is a common one. Refer to
API 1004 DCNT instruction for more advanced applicaiotns.
2-83
AS Series Programming Manual
Refer to the instruction description of API1004 DCNT in AS Series Programming Manual for more details.
Example:
_2
1. X10.0 drives SM621 to determine the counting direction (up/down) for HC0.
2. When X11.0 changes from OFF to ON, the RST instruction is executed and the PV in HC0 is cleared to 0 and its
contact is OFF.
3. When X12.0 changes from OFF to ON, PV for HC0 will count up (plus 1) or count down (minus 1).
4. When PV in HC0 changes from -6 to -5, the contact HC0 changes from OFF to ON. When PV in HC0 changes from
-5 to -6, the contact HC0 changes from ON to OFF.
X11.0
X12.0
5
4 4
3 3
HC0 2 2
1 1
(PV )
0 0 0
-1
-2
-3 -3
-4 -4
-5 -5
-6 -6
Wh en t he o u tpu t c on tact w as O N -7 -7
-8
Y0.0,
H C0 Con tacts
2-84
C ha p ter 2 D e v ic es
Two 16-bit registers can be combined into a 32-bit register; for example, (D+1, D) in which the lower number register
represents the low 16 bits. The highest bit represents either a positive sign or a negative sign, and the values that the
data registers can store range between -2,147,483,648 to +2,147,483,647.
2_
Four 16-bit registers can be combined into a 64-bit register; for example, (D+3, D+2, D+1, D) in which the lower
number register represents the lower 16 bits. The highest bit represents either a positive sign or a negative sign,
and the values that the data registers can store range between -9,223,372,036,854,776 to
+9,223,372,036,854,775,807.
You can also use the data registers to refresh the values in the control registers in the modules other than digital
I/O modules. Refer to the ISPSoft User Manual for more information on refreshing the values in the control
registers.
General-purpose registers: When the PLC changes to RUN, or is disconnected, the value in the register is cleared
to zero. If you want to retain the data when the PLC changes to RUN, Refer to the ISPSoft User Manual for more
information. Note that the value is still cleared to zero when the PLC is disconnected.
Latched register: If the PLC is disconnected, the data in the latched register is not cleared. In other words, the
value before the disconnection is retained. If you want to clear the data in the latched area, you can use the RST or
ZRST instructions.
Frequently mapped registers: If the PLC program contains a module, after each scan cycle, the PLC performs data
mapping with the module. And the mapped data is stored between D26000~D29999. Refer to Chapter 8 of AS
Operation Manual for more details on the automatically assigned addresses of the devices. You can also check the
assigned addresses of the device while configuring in HWCONFIG of ISPSoft.
2-85
AS Series Programming Manual
For SR numbers marked “*”, Refer to the additional remarks in Section 2.2.1.6 on special auxiliary
_2
relays/special data registers.
The “R” in the attribute column indicates that the special data register can read the data; “R/W” in the attribute
column indicates that it can read and write the data.
The “–” indicates that the status of the special data register does not make any change.
The “#” indicates that the system is set according to the status of the PLC, and you can read the setting. Refer
to the related manual for more information.
The “Y” in the column latched means it is latched, the “N” means it is non-latched; and “H” means it follows the
settings in HWCONFIG.
During execution, you can edit programs in the PLC, but the settings in the HWCONFIG do not change.
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
2-86
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
2-87
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
2-88
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
2-89
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
2-90
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
SR192
Frequency multiplication of the high speed counter
○ ○ 1 - - N R/W 1
2_
group 3 (default: 1-time frequency)
Frequency multiplication of the high speed counter
SR193 ○ ○ 1 - - N R/W 1
group 4 (default: 1-time frequency)
Frequency multiplication of the high speed counter
SR194 ○ ○ 1 - - N R/W 1
group 5 (default: 1-time frequency)
Frequency multiplication of the high speed counter
SR195 ○ ○ 1 - - N R/W 1
group 6 (default: 1-time frequency)
Frequency multiplication of the high speed counter
SR196 ○ ○ 1 - - N R/W 1
group 7 (default: 1-time frequency)
Frequency multiplication of the high speed counter
SR197 ○ ○ 1 - - N R/W 1
group 8 (default: 1-time frequency)
16# 16# 16# 16#
SR198 N
0FDB 0FDB 0FDB 0FDB
Pi (), floating-point number (32-bit) ○ ○ R
16# 16# 16# 16#
SR199 N
4049 4049 4049 4049
*SR201 COM1 communication address ○ ○ - - - H R/W 1
*SR202 COM2 communication address ○ ○ - - - H R/W 1
16#
*SR209 COM1 communication protocol ○ ○ - - - H R/W
0024
COM1 communication timeout (unit: milliesecond)
*SR210 ○ ○ - - - H R/W 0
0: no timeout
16#
*SR212 COM2 communication protocol ○ ○ - - - H R/W
0024
COM2 communication timeout (unit: milliesecond)
*SR213 ○ ○ - - - H R/W 0
0: no timeout
*SR215 Function Card 1 name ○ - - - - N R 0
*SR216 Function Card 2 Name ○ - - - - N R 0
SR217 COM1 baudrate value (unit:100 bps) ○ ○ 96 - - H R/W 96
SR218 COM2 baudrate value (unit:100 bps) ○ ○ 96 - - H R/W 96
*SR220 Real-time clock (RTC) year value: 00–99 (BCD) ○ ○ - - - Y R 0
*SR221 Real-time clock (RTC) month value : 01–12 (BCD) ○ ○ - - - Y R 1
*SR222 Real-time clock (RTC) day value : 1–31 (BCD) ○ ○ - - - Y R 1
*SR223 Real-time clock (RTC) hour value: 00–23 (BCD) ○ ○ - - - Y R 0
*SR224 Real-time clock (RTC) minute value: 00–59 (BCD) ○ ○ - - - Y R 0
*SR225 Real-time clock (RTC) second value: 00–59 (BCD) ○ ○ - - - Y R 0
*SR226 Real-time clock (RTC) week value: 1–7 (BCD) ○ ○ - - - Y R 1
*SR227 Number of download logs (maximum is 20) ○ ○ - - - Y R 0
*SR228 Download log pointer ○ ○ - - - Y R 0
*SR229 Download log 1: action number ○ ○ - - - Y R 0
*SR230 Download log 1: year and the month ○ ○ - - - Y R 0
2-91
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
2-92
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
2-93
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
2-94
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
*SR348 PLC status change log 10: year and the month ○ ○ - - - Y R 0 2_
*SR349 PLC status change log 10: day and the hour ○ ○ - - - Y R 0
*SR350 PLC status change log 10: minute and the second ○ ○ - - - Y R 0
*SR351 PLC status change log 11: action number ○ ○ - - - Y R 0
*SR352 PLC status change log 11: year and the month ○ ○ - - - Y R 0
*SR353 PLC status change log 11: day and the hour ○ ○ - - - Y R 0
*SR354 PLC status change log 11: minute and the second ○ ○ - - - Y R 0
*SR355 PLC status change log 12: action number ○ ○ - - - Y R 0
*SR356 PLC status change log 12: year and the month ○ ○ - - - Y R 0
*SR357 PLC status change log 12: day and the hour ○ ○ - - - Y R 0
*SR358 PLC status change log 12: minute and the second ○ ○ - - - Y R 0
*SR359 PLC status change log 13: action number ○ ○ - - - Y R 0
*SR360 PLC status change log 13: year and the month ○ ○ - - - Y R 0
*SR361 PLC status change log 13: day and the hour ○ ○ - - - Y R 0
*SR362 PLC status change log 13: minute and the second ○ ○ - - - Y R 0
*SR363 PLC status change log 14: action number ○ ○ - - - Y R 0
*SR364 PLC status change log 14: year and the month ○ ○ - - - Y R 0
*SR365 PLC status change log 14: day and the hour ○ ○ - - - Y R 0
*SR366 PLC status change log 14: minute and the second ○ ○ - - - Y R 0
*SR367 PLC status change log 15: action number ○ ○ - - - Y R 0
*SR368 PLC status change log 15: year and the month ○ ○ - - - Y R 0
*SR369 PLC status change log 15: day and the hour ○ ○ - - - Y R 0
*SR370 PLC status change log 15: minute and the second ○ ○ - - - Y R 0
*SR371 PLC status change log 16: action number ○ ○ - - - Y R 0
*SR372 PLC status change log 16: year and the month ○ ○ - - - Y R 0
*SR373 PLC status change log 16: day and the hour ○ ○ - - - Y R 0
*SR374 PLC status change log 16: minute and the second ○ ○ - - - Y R 0
*SR375 PLC status change log 17: action number ○ ○ - - - Y R 0
*SR376 PLC status change log 17: year and the month ○ ○ - - - Y R 0
*SR377 PLC status change log 17: day and the hour ○ ○ - - - Y R 0
*SR378 PLC status change log 17: minute and the second ○ ○ - - - Y R 0
*SR379 PLC status change log 18: action number ○ ○ - - - Y R 0
*SR380 PLC status change log 18: year and the month ○ ○ - - - Y R 0
*SR381 PLC status change log 18: day and the hour ○ ○ - - - Y R 0
*SR382 PLC status change log 18: minute and the second ○ ○ - - - Y R 0
*SR383 PLC status change log 19: action number ○ ○ - - - Y R 0
*SR384 PLC status change log 19: year and the month ○ ○ - - - Y R 0
*SR385 PLC status change log 19: day and the hour ○ ○ - - - Y R 0
*SR386 PLC status change log 19: minute and the second ○ ○ - - - Y R 0
2-95
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
2-96
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
2-97
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
_2 SR473
SR474
Y0.1 position (unit: number of pulse) ○ ○ - - - Y R/W 0
SR475
SR476 Y0.1 starting/ending frequency ○ ○ - - - Y R/W 200
SR477 Y0.1 accelerating/decelerating time ○ ○ - - - Y R/W 200
SR478 Axis 1 (Y0.0) backlash compensation pulse ○ ○ - - - Y R/W 0
SR479 Y0.1 backlash compensation pulse ○ ○ - - - Y R/W 0
SR480
Y0.2/axis 2 (Y0.2/Y0.3) position (unit: number of pulse) ○ ○ - - - Y R/W 0
SR481
SR482 Y0.2/axis 2 (Y0.2/Y0.3) output mode ○ ○ - - - Y R/W 0
SR483 Y0.2/axis 2 (Y0.2/Y0.3) starting/ending frequency ○ ○ - - - Y R/W 200
SR484 Y0.2/axis 2 (Y0.2/Y0.3) accelerating time ○ ○ - - - Y R/W 200
SR485 Y0.2/axis 2 (Y0.2/Y0.3) decelerating time ○ ○ - - - Y R/W 200
SR486 Y0.2/axis 2 (Y0.2/Y0.3) JOG frequency ○ ○ - - - Y R/W 200
Y0.2/axis 2 (Y0.2/Y0.3) number in the current position
SR487 ○ ○ 0 0 - N R 0
planning table
Y0.2/axis 2 (Y0.2/Y0.3) numerator value transferred from
SR488 ○ ○ - - - H R/W 0
the machine unit
Y0.2/axis 2 (Y0.2/Y0.3) denominator value transferred
SR489 ○ ○ - - - H R/W 0
from the machine unit
SR490 Y0.2/axis 2 (Y0.2/Y0.3) position of the Machine unit
○ ○ - - - Y R 0
SR491 (single-precision floating-point values)
SR492
Y0.2/axis 2 (Y0.2/Y0.3) target frequency for fixed slope ○ ○ - - - Y R 0
SR493
SR494
Y0.3 position (unit: number of pulse) ○ ○ - - - Y R/W 0
SR495
SR496 Y0.3 starting/ending frequency ○ ○ - - - Y R/W 200
SR497 Y0.3 accelerating/decelerating time ○ ○ - - - Y R/W 200
SR498 Axis 2 (Y0.2) backlash compensation pulse ○ ○ - - - Y R/W 0
SR499 Y0.3 backlash compensation pulse ○ ○ - - - Y R/W 0
SR500
Y0.4/axis 3 (Y0.4/Y0.5) position (unit: number of pulse) ○ ○ - - - Y R/W 0
SR501
SR502 Y0.4/axis 3 (Y0.4/Y0.5) output mode ○ ○ - - - Y R/W 0
SR503 Y0.4/axis 3 (Y0.4/Y0.5) starting/ending frequency ○ ○ - - - Y R/W 200
SR504 Y0.4/axis 3 (Y0.4/Y0.5) accelerating time ○ ○ - - - Y R/W 200
SR505 Y0.4/axis 3 (Y0.4/Y0.5) decelerating time ○ ○ - - - Y R/W 200
SR506 Y0.4/axis 3 (Y0.4/Y0.5) JOG frequency ○ ○ - - - Y R/W 200
Y0.4/axis 3 (Y0.4/Y0.5) number in the current position
SR507 ○ ○ 0 0 - N R 0
planning table
2-98
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
SR508
Y0.4/axis 3 (Y0.4/Y0.5) numerator value transferred from
○ ○ - - - H R/W 0
2_
the machine unit
Y0.4/axis 3 (Y0.4/Y0.5) denominator value transferred
SR509 ○ ○ - - - H R/W 0
from the machine unit
SR510 Y0.4/axis 3 (Y0.4/Y0.5) position of the Machine unit
○ ○ - - - Y R 0
SR511 (single-precision floating-point values)
SR512
Y0.4/axis 3 (Y0.4/Y0.5) target frequency for fixed slope ○ ○ - - - Y R 0
SR513
SR514
Y0.5 position (unit: number of pulse) ○ ○ - - - Y R/W 0
SR515
SR516 Y0.5 starting/ending frequency ○ ○ - - - Y R/W 200
SR517 Y0.5 accelerating/decelerating time ○ ○ - - - Y R/W 200
SR518 Axis 3 (Y0.4) backlash compensation pulse ○ ○ - - - Y R/W 0
SR519 Y0.5 backlash compensation pulse ○ ○ - - - Y R/W 0
SR520
Y0.6/axis 4 (Y0.6/Y0.7) position (unit: number of pulse) ○ ○ - - - Y R/W 0
SR521
SR522 Y0.6/axis 4 (Y0.6/Y0.7) output mode ○ ○ - - - Y R/W 0
SR523 Y0.6/axis 4 (Y0.6/Y0.7) starting/ending frequency ○ ○ - - - Y R/W 200
SR524 Y0.6/axis 4 (Y0.6/Y0.7) accelerating time ○ ○ - - - Y R/W 200
SR525 Y0.6/axis 4 (Y0.6/Y0.7) decelerating time ○ ○ - - - Y R/W 200
SR526 Y0.6/axis 4 (Y0.6/Y0.7) JOG frequency ○ ○ - - - Y R/W 200
Y0.6/axis 4 (Y0.6/Y0.7) number in the current position
SR527 ○ ○ 0 0 - N R 0
planning table
Y0.6/axis 4 (Y0.6/Y0.7) numerator value transferred from
SR528 ○ ○ - - - H R/W 0
the machine unit
Y0.6/axis 4 (Y0.6/Y0.7) denominator value transferred
SR529 ○ ○ - - - H R/W 0
from the machine unit
SR530 Y0.6/axis 4 (Y0.6/Y0.7) position of the Machine unit(single-
○ ○ - - - Y R 0
SR531 precision floating-point values)
SR532
Y0.6/axis 4 (Y0.6/Y0.7) target frequency for fixed slope ○ ○ - - - Y R 0
SR533
SR534
Y0.7 position (unit: number of pulse) ○ ○ - - - Y R/W 0
SR535
SR536 Y0.7 starting/ending frequency ○ ○ - - - Y R/W 200
SR537 Y0.7 accelerating/decelerating time ○ ○ - - - Y R/W 200
SR538 Axis 4 (Y0.6) backlash compensation pulse ○ ○ - - - Y R/W 0
SR539 Y0.7 backlash compensation pulse ○ ○ - - - Y R/W 0
SR540 Y0.8/axis 5 (Y0.8/Y0.9) position where (unit: number of
○ ○ - - - Y R/W 0
SR541 pulse)
SR542 The axis 5 (Y0.8/Y0.9) output mode ○ ○ - - - Y R/W 0
2-99
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
2-100
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
2-101
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
_2 SR623
External input interrupt condition: the X0.0–X0.15 input
○ ○ FFFF FFFF - N R FFFF
points are falling-edge triggered
External interrupt condition: the X0.0–X0.15 input points
SR624 ○ ○ FFFF FFFF - N R FFFF
are rising-edge triggered
Condition of the high-speed comparison interrupt I200–
SR625 ○ ○ FFFF FFFF - N R FFFF
I233
Condition of the high-speed comparison interrupt I240–
SR626 ○ ○ FFFF FFFF - N R FFFF
I253
Condition of the high-speed comparison interrupt I260–
SR627 ○ ○ FFFF FFFF - N R FFFF
I267
SR628 Condition of the communication interrupts I300–I307 ○ ○ FFFF FFFF - N R FFFF
SR629 Condition of the output interrupts I500–I505 ○ ○ FFFF FFFF - N R FFFF
SR630 Condition of the output interrupts I510–I519 ○ ○ FFFF FFFF - N R FFFF
SR632 Condition of the timer interrupts I601–I604 ○ ○ FFFF FFFF - N R FFFF
SR633 Condition of the extension module interrupts I400–I415 ○ ○ FFFF FFFF - N R FFFF
SR634 Condition of the extension module interrupts I416–I431 ○ ○ FFFF FFFF - N R FFFF
Set the outputting time 0-20ms sooner (unit: 1ms) to work
SR640 ○ ○ 0 - - N R/W 0
with the Y0.0 output pulse
Set the outputting time 0-20ms sooner (unit: 1ms) to work
SR641 ○ ○ 0 - - N R/W 0
with the Y0.1 output pulse
Set the outputting time 0-20ms sooner (unit: 1ms) to work
SR642 ○ ○ 0 - - N R/W 0
with the Y0.2 output pulse
Set the outputting time 0-20ms sooner (unit: 1ms) to work
SR643 ○ ○ 0 - - N R/W 0
with the Y0.3 output pulse
Set the outputting time 0-20ms sooner (unit: 1ms) to work
SR644 ○ ○ 0 - - N R/W 0
with the Y0.4 output pulse
Set the outputting time 0-20ms sooner (unit: 1ms) to work
SR645 ○ ○ 0 - - N R/W 0
with the Y0.5 output pulse
Set the outputting time 0-20ms sooner (unit: 1ms) to work
SR646 ○ ○ 0 - - N R/W 0
with the Y0.6 output pulse
Set the outputting time 0-20ms sooner (unit: 1ms) to work
SR647 ○ ○ 0 - - N R/W 0
with the Y0.7 output pulse
Set the outputting time 0-20ms sooner (unit: 1ms) to work
SR648 ○ ○ 0 - - N R/W 0
with the Y0.8 output pulse
Set the outputting time 0-20ms sooner (unit: 1ms) to work
SR649 ○ ○ 0 - - N R/W 0
with the Y0.9 output pulse
Set the outputting time 0-20ms sooner (unit: 1ms) to work
SR650 ○ ○ 0 - - N R/W 0
with the Y0.10 output pulse
Set the outputting time 0-20ms sooner (unit: 1ms) to work
SR651 ○ ○ 0 - - N R/W 0
with the Y0.11 output pulse
*SR652 Pulse number in acceleration from the latest position output ○ ○ 0 0 - N R 0
*SR653 (32-bit) ○ ○ 0 0 - N R 0
*SR654 Pulse number in deceleration from the latest position ○ ○ 0 0 - N R 0
2-102
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
2-103
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
2-104
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
2-105
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
2-106
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
2-107
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
2-108
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
2-109
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
2 - 11 0
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
2 - 111
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
2 - 11 2
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
2 - 11 3
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
2 - 11 4
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
2 - 11 5
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
2 - 11 6
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
2 - 11 7
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
_2 *SR1134
Actual connection time for data exchange through the
○ 0 - - N R 0
Ethernet connection 15 (unit: time)
Actual connection time for data exchange through the
*SR1135 ○ ○ 0 - - N R 0
Ethernet connection 16 (unit: time)
Actual connection time for data exchange through the
*SR1136 ○ ○ 0 - - N R 0
Ethernet connection 17 (unit: time)
Actual connection time for data exchange through the
*SR1137 ○ ○ 0 - - N R 0
Ethernet connection 18 (unit: time)
Actual connection time for data exchange through the
*SR1138 ○ ○ 0 - - N R 0
Ethernet connection 19 (unit: time)
Actual connection time for data exchange through the
*SR1139 ○ ○ 0 - - N R 0
Ethernet connection 20 (unit: time)
Actual connection time for data exchange through the
*SR1140 ○ ○ 0 - - N R 0
Ethernet connection 21 (unit: time)
Actual connection time for data exchange through the
*SR1141 ○ ○ 0 - - N R 0
Ethernet connection 22 (unit: time)
Actual connection time for data exchange through the
*SR1142 ○ ○ 0 - - N R 0
Ethernet connection 23 (unit: time)
Actual connection time for data exchange through the
*SR1143 ○ ○ 0 - - N R 0
Ethernet connection 24 (unit: time)
Actual connection time for data exchange through the
*SR1144 ○ ○ 0 - - N R 0
Ethernet connection 25 (unit: time)
Actual connection time for data exchange through the
*SR1145 ○ ○ 0 - - N R 0
Ethernet connection 26 (unit: time)
Actual connection time for data exchange through the
*SR1146 ○ ○ 0 - - N R 0
Ethernet connection 27 (unit: time)
Actual connection time for data exchange through the
*SR1147 ○ ○ 0 - - N R 0
Ethernet connection 28 (unit: time)
Actual connection time for data exchange through the
*SR1148 ○ ○ 0 - - N R 0
Ethernet connection 29 (unit: time)
Actual connection time for data exchange through the
*SR1149 ○ ○ 0 - - N R 0
Ethernet connection 30 (unit: time)
Actual connection time for data exchange through the
*SR1150 ○ ○ 0 - - N R 0
Ethernet connection 31 (unit: time)
Actual connection time for data exchange through the
*SR1151 ○ ○ 0 - - N R 0
Ethernet connection 32 (unit: time)
The error code for data exchange through the Ethernet
*SR1152 ○ ○ 0 - - N R 0
connection 1
The error code for data exchange through the Ethernet
*SR1153 ○ ○ 0 - - N R 0
connection 2
The error code for data exchange through the Ethernet
*SR1154 ○ ○ 0 - - N R 0
connection 3
The error code for data exchange through the Ethernet
*SR1155 ○ ○ 0 - - N R 0
connection 4
2 - 11 8
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
*SR1156
The error code for data exchange through the Ethernet
○ ○ 0 - - N R 0
2_
connection 5
The error code for data exchange through the Ethernet
*SR1157 ○ ○ 0 - - N R 0
connection 6
The error code for data exchange through the Ethernet
*SR1158 ○ ○ 0 - - N R 0
connection 7
The error code for data exchange through the Ethernet
*SR1159 ○ ○ 0 - - N R 0
connection 8
The error code for data exchange through the Ethernet
*SR1160 ○ ○ 0 - - N R 0
connection 9
The error code for data exchange through the Ethernet
*SR1161 ○ ○ 0 - - N R 0
connection 10
The error code for data exchange through the Ethernet
*SR1162 ○ ○ 0 - - N R 0
connection 11
The error code for data exchange through the Ethernet
*SR1163 ○ ○ 0 - - N R 0
connection 12
The error code for data exchange through the Ethernet
*SR1164 ○ ○ 0 - - N R 0
connection 13
The error code for data exchange through the Ethernet
*SR1165 ○ ○ 0 - - N R 0
connection 14
The error code for data exchange through the Ethernet
*SR1166 ○ ○ 0 - - N R 0
connection 15
The error code for data exchange through the Ethernet
*SR1167 ○ ○ 0 - - N R 0
connection 16
The error code for data exchange through the Ethernet
*SR1168 ○ ○ 0 - - N R 0
connection 17
The error code for data exchange through the Ethernet
*SR1169 ○ ○ 0 - - N R 0
connection 18
The error code for data exchange through the Ethernet
*SR1170 ○ ○ 0 - - N R 0
connection 19
The error code for data exchange through the Ethernet
*SR1171 ○ ○ 0 - - N R 0
connection 20
The error code for data exchange through the Ethernet
*SR1172 ○ ○ 0 - - N R 0
connection 21
The error code for data exchange through the Ethernet
*SR1173 ○ ○ 0 - - N R 0
connection 22
The error code for data exchange through the Ethernet
*SR1174 ○ ○ 0 - - N R 0
connection 23
The error code for data exchange through the Ethernet
*SR1175 ○ ○ 0 - - N R 0
connection 24
The error code for data exchange through the Ethernet
*SR1176 ○ ○ 0 - - N R 0
connection 25
The error code for data exchange through the Ethernet
*SR1177 ○ ○ 0 - - N R 0
connection 26
2 - 11 9
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
_2 *SR1178
The error code for data exchange through the Ethernet
○ ○ 0 - - N R 0
connection 27
The error code for data exchange through the Ethernet
*SR1179 ○ ○ 0 - - N R 0
connection 28
The error code for data exchange through the Ethernet
*SR1180 ○ ○ 0 - - N R 0
connection 29
The error code for data exchange through the Ethernet
*SR1181 ○ ○ 0 - - N R 0
connection 30
The error code for data exchange through the Ethernet
*SR1182 ○ ○ 0 - - N R 0
connection 31
The error code for data exchange through the Ethernet
*SR1183 ○ ○ 0 - - N R 0
connection 32
Current DO state of the ECAT communication ID 9 of Delta
SR1191 ○ - 0 0 - N R 0
servo
Current DO state of the ECAT communication ID 10 of
SR1192 ○ - 0 0 - N R 0
Delta servo
Current DO state of the ECAT communication ID 11 of
SR1193 ○ - 0 0 - N R 0
Delta servo
Current DO state of the ECAT communication ID 12 of
SR1194 ○ - 0 0 - N R 0
Delta servo
Current DO state of the ECAT communication ID 13 of
SR1195 ○ - 0 0 - N R 0
Delta servo
Current DO state of the ECAT communication ID 14 of
SR1196 ○ - 0 0 - N R 0
Delta servo
Current DO state of the ECAT communication ID 15 of
SR1197 ○ - 0 0 - N R 0
Delta servo
Current DO state of the ECAT communication ID 16 of
SR1198 ○ - 0 0 - N R 0
Delta servo
SR1201 Current position of the ECAT communication ID 9 of Delta
○ - 0 0 - N R 0
SR1202 servo (32-bit)
SR1203 Current position of ECAT communication ID 10 of Delta
○ - 0 0 - N R 0
SR1204 servo (32-bit)
SR1205 Current position of the ECAT communication ID 11 of
○ - 0 0 - N R 0
SR1206 Delta servo (32-bit)
SR1207 Current position of ECAT communication ID 12 of Delta
○ - 0 0 - N R 0
SR1208 servo (32-bit)
SR1209 Current position of the ECAT communication ID 13 of
○ - 0 0 - N R 0
SR1210 Delta servo (32-bit)
SR1211 Current position of ECAT communication ID 14 of Delta
○ - 0 0 - N R 0
SR1212 servo (32-bit)
SR1213 Current position of ECAT communication ID 15 of Delta
○ - 0 0 - N R 0
SR1214 servo (32-bit)
2-120
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
2-121
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
_2 SR1265
The acceptable range for ECAT communication ID 13 of
○ - 0 0 - N R/W 0
Delta servo to determine the positioning is complete.
The acceptable range for ECAT communication ID 14 of
SR1266 ○ - 0 0 - N R/W 0
Delta servo to determine the positioning is complete.
The acceptable range for ECAT communication ID 15 of
SR1267 ○ - 0 0 - N R/W 0
Delta servo to determine the positioning is complete.
The acceptable range for ECAT communication ID 16 of
SR1268 ○ - 0 0 - N R/W 0
Delta servo to determine the positioning is complete.
The axis 1 will output the next segment or a specific
SR1291 number of segment during the execution of TPO ○ ○ 0 0 - N R/W 0
instruction; this should work with SM591.
The axis 2 will output the next segment or a specific
SR1292 number of segment during the execution of TPO ○ ○ 0 0 - N R/W 0
instruction; this should work with SM592.
The axis 3 will output the next segment or a specific
SR1293 number of segment during the execution of TPO ○ ○ 0 0 - N R/W 0
instruction; this should work with SM593.
The axis 4 will output the next segment or a specific
SR1294 number of segment during the execution of TPO ○ ○ 0 0 - N R/W 0
instruction; this should work with SM594.
The axis 5 will output the next segment or a specific
SR1295 number of segment during the execution of TPO ○ ○ 0 0 - N R/W 0
instruction; this should work with SM595.
The axis 6 will output the next segment or a specific
SR1296 number of segment during the execution of TPO ○ ○ 0 0 - N R/W 0
instruction; this should work with SM596.
*SR1312 Communication code for RTU-EN01 connection 1 ○ ○ 0 - - N R 0
*SR1313 Communication code for RTU-EN01 connection 2 ○ ○ 0 - - N R 0
*SR1314 Communication code for RTU-EN01 connection 3 ○ ○ 0 - - N R 0
*SR1315 Communication code for RTU-EN01 connection 4 ○ ○ 0 - - N R 0
SR1318 Socket input counter ○ ○ 0 - - N R 0
SR1319 Socket output counter ○ ○ 0 - - N R 0
SR1320 Socket error counter ○ ○ 0 - - N R 0
Actual cycle time of connection 1–32 for data exchange
*SR1335 ○ ○ 0 - - N R 0
through COM1; unit: ms
Number of the connection that is currently performing a
*SR1336 ○ ○ 0 - - N R 0
cyclical data exchange through COM1
Error code for data exchange through the COM1
*SR1340 ○ ○ 0 - - N R 0
connection 1
Error code for data exchange through the COM1
*SR1341 ○ ○ 0 - - N R 0
connection 2
Error code for data exchange through the COM1
*SR1342 ○ ○ 0 - - N R 0
connection 3
2-122
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
*SR1343
Error code for data exchange through the COM1
○ ○ 0 - - N R 0
2_
connection 4
Error code for data exchange through the COM1
*SR1344 ○ ○ 0 - - N R 0
connection 5
Error code for data exchange through the COM1
*SR1345 ○ ○ 0 - - N R 0
connection 6
Error code for data exchange through the COM1
*SR1346 ○ ○ 0 - - N R 0
connection 7
Error code for data exchange through the COM1
*SR1347 ○ ○ 0 - - N R 0
connection 8
Error code for data exchange through the COM1
*SR1348 ○ ○ 0 - - N R 0
connection 9
Error code for data exchange through the COM1
*SR1349 ○ ○ 0 - - N R 0
connection 10
Error code for data exchange through the COM1
*SR1350 ○ ○ 0 - - N R 0
connection 11
Error code for data exchange through the COM1
*SR1351 ○ ○ 0 - - N R 0
connection 12
Error code for data exchange through the COM1
*SR1352 ○ ○ 0 - - N R 0
connection 13
Error code for data exchange through the COM1
*SR1353 ○ ○ 0 - - N R 0
connection 14
Error code for data exchange through the COM1
*SR1354 ○ ○ 0 - - N R 0
connection 15
Error code for data exchange through the COM1
*SR1355 ○ ○ 0 - - N R 0
connection 16
Error code for data exchange through the COM1
*SR1356 ○ ○ 0 - - N R 0
connection 17
Error code for data exchange through the COM1
*SR1357 ○ ○ 0 - - N R 0
connection 18
Error code for data exchange through the COM1
*SR1358 ○ ○ 0 - - N R 0
connection 19
Error code for data exchange through the COM1
*SR1359 ○ ○ 0 - - N R 0
connection 20
Error code for data exchange through the COM1
*SR1360 ○ ○ 0 - - N R 0
connection 21
Error code for data exchange through the COM1
*SR1361 ○ ○ 0 - - N R 0
connection 22
Error code for data exchange through the COM1
*SR1362 ○ ○ 0 - - N R 0
connection 23
Error code for data exchange through the COM1
*SR1363 ○ ○ 0 - - N R 0
connection 24
Error code for data exchange through the COM1
*SR1364 ○ ○ 0 - - N R 0
connection 25
2-123
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
_2 *SR1365
Error code for data exchange through the COM1
○ ○ 0 - - N R 0
connection 26
Error code for data exchange through the COM1
*SR1366 ○ ○ 0 - - N R 0
connection 27
Error code for data exchange through the COM1
*SR1367 ○ ○ 0 - - N R 0
connection 28
Error code for data exchange through the COM1
*SR1368 ○ ○ 0 - - N R 0
connection 29
Error code for data exchange through the COM1
*SR1369 ○ ○ 0 - - N R 0
connection 30
Error code for data exchange through the COM1
*SR1370 ○ ○ 0 - - N R 0
connection 31
Error code for data exchange through the COM1
*SR1371 ○ ○ 0 - - N R 0
connection 32
Actual cycle time of connection 1–32 for data exchange
*SR1375 ○ ○ 0 - - N R 0
through COM2; unit: ms
Number of the connection that is currently performing a
*SR1376 ○ ○ 0 - - N R 0
cyclical data exchange through COM2
Error code for data exchange through the COM2
*SR1380 ○ ○ 0 - - N R 0
connection 1
Error code for data exchange through the COM2
SR1381 ○ ○ 0 - - N R 0
connection 2
Error code for data exchange through the COM2
SR1382 ○ ○ 0 - - N R 0
connection 3
Error code for data exchange through the COM2
SR1383 ○ ○ 0 - - N R 0
connection 4
Error code for data exchange through the COM2
SR1384 ○ ○ 0 - - N R 0
connection 5
Error code for data exchange through the COM2
SR1385 ○ ○ 0 - - N R 0
connection 6
Error code for data exchange through the COM2
SR1386 ○ ○ 0 - - N R 0
connection 7
Error code for data exchange through the COM2
SR1387 ○ ○ 0 - - N R 0
connection 8
Error code for data exchange through the COM2
SR1388 ○ ○ 0 - - N R 0
connection 9
Error code for data exchange through the COM2
SR1389 ○ ○ 0 - - N R 0
connection 10
Error code for data exchange through the COM2
SR1390 ○ ○ 0 - - N R 0
connection 11
Error code for data exchange through the COM2
SR1391 ○ ○ 0 - - N R 0
connection 12
Error code for data exchange through the COM2
SR1392 ○ ○ 0 - - N R 0
connection 13
2-124
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
SR1393
Error code for data exchange through the COM2
○ ○ 0 - - N R 0
2_
connection 14
Error code for data exchange through the COM2
SR1394 ○ ○ 0 - - N R 0
connection 15
Error code for data exchange through the COM2
SR1395 ○ ○ 0 - - N R 0
connection 16
Error code for data exchange through the COM2
SR1396 ○ ○ 0 - - N R 0
connection 17
Error code for data exchange through the COM2
SR1397 ○ ○ 0 - - N R 0
connection 18
Error code for data exchange through the COM2
SR1398 ○ ○ 0 - - N R 0
connection 19
Error code for data exchange through the COM2
SR1399 ○ ○ 0 - - N R 0
connection 20
Error code for data exchange through the COM2
SR1400 ○ ○ 0 - - N R 0
connection 21
Error code for data exchange through the COM2
SR1401 ○ ○ 0 - - N R 0
connection 22
Error code for data exchange through the COM2
SR1402 ○ ○ 0 - - N R 0
connection 23
Error code for data exchange through the COM2
SR1403 ○ ○ 0 - - N R 0
connection 24
Error code for data exchange through the COM2
SR1404 ○ ○ 0 - - N R 0
connection 25
Error code for data exchange through the COM2
SR1405 ○ ○ 0 - - N R 0
connection 26
Error code for data exchange through the COM2
SR1406 ○ ○ 0 - - N R 0
connection 27
Error code for data exchange through the COM2
SR1407 ○ ○ 0 - - N R 0
connection 28
Error code for data exchange through the COM2
SR1408 ○ ○ 0 - - N R 0
connection 29
Error code for data exchange through the COM2
SR1409 ○ ○ 0 - - N R 0
connection 30
Error code for data exchange through the COM2
SR1410 ○ ○ 0 - - N R 0
connection 31
Error code for data exchange through the COM2
SR1411 ○ ○ 0 - - N R 0
connection 32
SR1430 Then connection number of OPC UA Server ○ - 0 - - N R 0
SR1431 The connection number of OPC UA Client ○ - 0 - - N R 0
Actual cycle time for data exchange through Function Card
*SR1435 ○ - 0 - - N R 0
1; unit: ms
Number of the connection that is currently performing a
*SR1436 ○ - 0 - - N R 0
cyclical data exchange through Function Card 1
2-125
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
_2 *SR1440
Error in data exchange connection 1 through Function
○ - 0 - - N R 0
Card 1
Error in data exchange connection 2 through Function
*SR1441 ○ - 0 - - N R 0
Card 1
Error in data exchange connection 3 through Function
*SR1442 ○ - 0 - - N R 0
Card 1
Error in data exchange connection 4 through Function
*SR1443 ○ - 0 - - N R 0
Card 1
Error in data exchange connection 5 through Function
*SR1444 ○ - 0 - - N R 0
Card 1
Error in data exchange connection 6 through Function
*SR1445 ○ - 0 - - N R 0
Card 1
Error in data exchange connection 7 through Function
*SR1446 ○ - 0 - - N R 0
Card 1
Error in data exchange connection 8 through Function
*SR1447 ○ - 0 - - N R 0
Card 1
Error in data exchange connection 9 through Function
*SR1448 ○ - 0 - - N R 0
Card 1
Error in data exchange connection 10 through Function
*SR1449 ○ - 0 - - N R 0
Card 1
Error in data exchange connection 11 through Function
*SR1450 ○ - 0 - - N R 0
Card 1
Error in data exchange connection 12 through Function
*SR1451 ○ - 0 - - N R 0
Card 1
Error in data exchange connection 13 through Function
*SR1452 ○ - 0 - - N R 0
Card 1
Error in data exchange connection 14 through Function
*SR1453 ○ - 0 - - N R 0
Card 1
Error in data exchange connection 15 through Function
*SR1454 ○ - 0 - - N R 0
Card 1
Error in data exchange connection 16 through Function
*SR1455 ○ - 0 - - N R 0
Card 1
Error in data exchange connection 17 through Function
*SR1456 ○ - 0 - - N R 0
Card 1
Error in data exchange connection 18 through Function
*SR1457 ○ - 0 - - N R 0
Card 1
Error in data exchange connection 19 through Function
*SR1458 ○ - 0 - - N R 0
Card 1
Error in data exchange connection 20 through Function
*SR1459 ○ - 0 - - N R 0
Card 1
Error in data exchange connection 21 through Function
*SR1460 ○ - 0 - - N R 0
Card 1
Error in data exchange connection 22 through Function
*SR1461 ○ - 0 - - N R 0
Card 1
2-126
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
*SR1462
Error in data exchange connection 23 through Function
○ - 0 - - N R 0
2_
Card 1
Error in data exchange connection 24 through Function
*SR1463 ○ - 0 - - N R 0
Card 1
Error in data exchange connection 25 through Function
*SR1464 ○ - 0 - - N R 0
Card 1
Error in data exchange connection 26 through Function
*SR1465 ○ - 0 - - N R 0
Card 1
Error in data exchange connection 27 through Function
*SR1466 ○ - 0 - - N R 0
Card 1
Error in data exchange connection 28 through Function
*SR1467 ○ - 0 - - N R 0
Card 1
Error in data exchange connection 29 through Function
*SR1468 ○ - 0 - - N R 0
Card 1
Error in data exchange connection 30 through Function
*SR1469 ○ - 0 - - N R 0
Card 1
Error in data exchange connection 31 through Function
*SR1470 ○ - 0 - - N R 0
Card 1
Error in data exchange connection 32 through Function
*SR1471 ○ - 0 - - N R 0
Card 1
Actual cycle time for data exchange through Function Card
*SR1475 ○ - 0 - - N R 0
2; unit: ms
Number of the connection that is currently performing a
*SR1476 ○ - 0 - - N R 0
cyclical data exchange through Function Card 2
Error in data exchange connection 1 through Function
*SR1480 ○ - 0 - - N R 0
Card 2
Error in data exchange connection 2 through Function
*SR1481 ○ - 0 - - N R 0
Card 2
Error in data exchange connection 3 through Function
*SR1482 ○ - 0 - - N R 0
Card 2
Error in data exchange connection 4 through Function
*SR1483 ○ - 0 - - N R 0
Card 2
Error in data exchange connection 5 through Function
SR1484 ○ - 0 - - N R 0
Card 2
Error in data exchange connection 6 through Function
*SR1485 ○ - 0 - - N R 0
Card 2
Error in data exchange connection 7 through Function
*SR1486 ○ - 0 - - N R 0
Card 2
Error in data exchange connection 8 through Function
*SR1487 ○ - 0 - - N R 0
Card 2
Error in data exchange connection 9 through Function
*SR1488 ○ - 0 - - N R 0
Card 2
Error in data exchange connection 10 through Function
*SR1489 ○ - 0 - - N R 0
Card 2
2-127
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
_2 *SR1490
Error in data exchange connection 11 through Function
○ - 0 - - N R 0
Card 2
Error in data exchange connection 12 through Function
*SR1491 ○ - 0 - - N R 0
Card 2
Error in data exchange connection 13 through Function
*SR1492 ○ - 0 - - N R 0
Card 2
Error in data exchange connection 14 through Function
*SR1493 ○ - 0 - - N R 0
Card 2
Error in data exchange connection 15 through Function
*SR1494 ○ - 0 - - N R 0
Card 2
Error in data exchange connection 16 through Function
*SR1495 ○ - 0 - - N R 0
Card 2
Error in data exchange connection 17 through Function
*SR1496 ○ - 0 - - N R 0
Card 2
Error in data exchange connection 18 through Function
*SR1497 ○ - 0 - - N R 0
Card 2
Error in data exchange connection 19 through Function
*SR1498 ○ - 0 - - N R 0
Card 2
Error in data exchange connection 20 through Function
*SR1499 ○ - 0 - - N R 0
Card 2
Error in data exchange connection 21 through Function
*SR1500 ○ - 0 - - N R 0
Card 2
Error in data exchange connection 22 through Function
*SR1501 ○ - 0 - - N R 0
Card 2
Error in data exchange connection 23 through Function
*SR1502 ○ - 0 - - N R 0
Card 2
Error in data exchange connection 24 through Function
*SR1503 ○ - 0 - - N R 0
Card 2
Error in data exchange connection 25 through Function
*SR1504 ○ - 0 - - N R 0
Card 2
Error in data exchange connection 26 through Function
*SR1505 ○ - 0 - - N R 0
Card 2
Error in data exchange connection 27 through Function
*SR1506 ○ - 0 - - N R 0
Card 2
Error in data exchange connection 28 through Function
*SR1507 ○ - 0 - - N R 0
Card 2
Error in data exchange connection 29 through Function
*SR1508 ○ - 0 - - N R 0
Card 2
Error in data exchange connection 30 through Function
*SR1509 ○ - 0 - - N R 0
Card 2
Error in data exchange connection 31 through Function
*SR1510 ○ - 0 - - N R 0
Card 2
Error in data exchange connection 32 through Function
*SR1511 ○ - 0 - - N R 0
Card 2
2-128
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
*SR1520
The actual communication time for data exchange
○ - 0 - - N R 0
2_
connection 1 through AS-FEN02; unit: ms
The actual communication time for data exchange
*SR1521 ○ - 0 - - N R 0
connection 2 through AS-FEN02; unit: ms
The actual communication time for data exchange
*SR1522 ○ - 0 - - N R 0
connection 3 through AS-FEN02; unit: ms
The actual communication time for data exchange
*SR1523 ○ - 0 - - N R 0
connection 4 through AS-FEN02; unit: ms
The actual communication time for data exchange
*SR1524 ○ - 0 - - N R 0
connection 5 through AS-FEN02; unit: ms
The actual communication time for data exchange
*SR1525 ○ - 0 - - N R 0
connection 6 through AS-FEN02; unit: ms
The actual communication time for data exchange
*SR1526 ○ - 0 - - N R 0
connection 7 through AS-FEN02; unit: ms
The actual communication time for data exchange
*SR1527 ○ - 0 - - N R 0
connection 8 through AS-FEN02; unit: ms
*SR1528 Error in data exchange connection 1 through AS-FEN02 ○ - 0 - - N R 0
*SR1529 Error in data exchange connection 2 through AS-FEN02 ○ - 0 - - N R 0
*SR1530 Error in data exchange connection 3 through AS-FEN02 ○ - 0 - - N R 0
*SR1531 Error in data exchange connection 4 through AS-FEN02 ○ - 0 - - N R 0
*SR1532 Error in data exchange connection 5 through AS-FEN02 ○ - 0 - - N R 0
*SR1533 Error in data exchange connection 6 through AS-FEN02 ○ - 0 - - N R 0
*SR1534 Error in data exchange connection 7 through AS-FEN02 ○ - 0 - - N R 0
*SR1535 Error in data exchange connection 8 through AS-FEN02 ○ - 0 - - N R 0
*SR1536 TCP connection number of AS-FEN02 / AS-FECAT ○ - 0 - - N R 0
Number of Modbus/TCP Server connections through AS-
*SR1537 ○ - 0 - - N R 0
FEN02 / AS-FECAT
Number of Modbus/TCP Client connections through AS-
*SR1538 ○ - 0 - - N R 0
FEN02
Number of EtherNet/IP Adapter connections through AS-
*SR1539 ○ - 0 - - N R 0
FEN02
Number of the remote modules connected to the CPU
*SR1559 ○ ○ 0 - - N R 0
module (all right-side modules not included)
Number of the right-side modules connected to the CPU
*SR1560 ○ ○ 0 - - N R 0
module
Model code of the 1st right-side module connected to the
*SR1561 ○ ○ 0 - - N R 0
CPU module or the remote module
Model code of the 2nd right-side module connected to the
*SR1562 ○ ○ 0 - - N R 0
CPU module or the remote module
Model code of the 3rd right-side module connected to the
*SR1563 ○ ○ 0 - - N R 0
CPU module or the remote module
Model code of the 4th right-side module connected to the
*SR1564 ○ ○ 0 - - N R 0
CPU module or the remote module
2-129
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
_2 *SR1565
Model code of the 5th right-side module connected to the
○ ○ 0 - - N R 0
CPU module or the remote module
Model code of the 6th right-side module connected to the
*SR1566 ○ ○ 0 - - N R 0
CPU module or the remote module
Model code of the 7th right-side module connected to the
*SR1567 ○ ○ 0 - - N R 0
CPU module or the remote module
Model code of the 8th right-side module connected to the
*SR1568 ○ ○ 0 - - N R 0
CPU module or the remote module
Model code of the 9th right-side module connected to the
*SR1569 ○ ○ 0 - - N R 0
CPU module or the remote module
Model code of the 10th right-side module connected to the
*SR1570 ○ ○ 0 - - N R 0
CPU module or the remote module
Model code of the 11th right-side module connected to the
*SR1571 ○ ○ 0 - - N R 0
CPU module or the remote module
Model code of the 12th right-side module connected to the
*SR1572 ○ ○ 0 - - N R 0
CPU module or the remote module
Model code of the 13th right-side module connected to the
*SR1573 ○ ○ 0 - - N R 0
CPU module or the remote module
Model code of the 14th right-side module connected to the
*SR1574 ○ ○ 0 - - N R 0
CPU module or the remote module
Model code of the 15th right-side module connected to the
*SR1575 ○ ○ 0 - - N R 0
CPU module or the remote module
Model code of the 16th right-side module connected to the
*SR1576 ○ ○ 0 - - N R 0
CPU module or the remote module
Model code of the 17th right-side module connected to the
*SR1577 ○ ○ 0 - - N R 0
CPU module or the remote module
Model code of the 18th right-side module connected to the
*SR1578 ○ ○ 0 - - N R 0
CPU module or the remote module
Model code of the 19th right-side module connected to the
*SR1579 ○ ○ 0 - - N R 0
CPU module or the remote module
Model code of the 20th right-side module connected to the
*SR1580 ○ ○ 0 - - N R 0
CPU module or the remote module
Model code of the 21st right-side module connected to the
*SR1581 ○ ○ 0 - - N R 0
CPU module or the remote module
Model code of the 22nd right-side module connected to the
*SR1582 ○ ○ 0 - - N R 0
CPU module or the remote module
Model code of the 23th right-side module connected to the
*SR1583 ○ ○ 0 - - N R 0
CPU module or the remote module
Model code of the 24th right-side module connected to the
*SR1584 ○ ○ 0 - - N R 0
CPU module or the remote module
Model code of the 25th right-side module connected to the
*SR1585 ○ ○ 0 - - N R 0
CPU module or the remote module
Model code of the 26th right-side module connected to the
*SR1586 ○ ○ 0 - - N R 0
CPU module or the remote module
Model code of the 27th right-side module connected to the
*SR1587 ○ ○ 0 - - N R 0
CPU module or the remote module
2-130
C ha p ter 2 D e v ic es
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
*SR1588
Model code of the 28th right-side module connected to the
○ ○ 0 - - N R 0
2_
CPU module or the remote module
Model code of the 29th right-side module connected to the
*SR1589 ○ ○ 0 - - N R 0
CPU module or the remote module
Model code of the 30th right-side module connected to the
*SR1590 ○ ○ 0 - - N R 0
CPU module or the remote module
Model code of the 31st right-side module connected to the
*SR1591 ○ ○ 0 - - N R 0
CPU module or the remote module
Model code of the 32nd right-side module connected to the
*SR1592 ○ ○ 0 - - N R 0
CPU module or the remote module
Activate the drive parameter restoration
0: Disable (default)
SR1600 1: When PLC is powered on or is switched from STOP to ○ ○ - - - Y R/W 0
RUN, the parameters will be stored. After the process to
restore parameters is done, the state will be cleared to 0.
Designate the target drive number to perform parameter
restoration
(SR1601.0-SR1601.15 corresponds to the target drive
SR1601 number 1-16 ○ ○ - - - Y R/W 0
0: Disable (default)
ON: the designated target drive performs parameter
restoration
Designate the target drive number to perform parameter
restoration
SR1602 ○ ○ - - - Y R/W 0
(Reserved SR1602.0-SR1602.15 for the target drive
number 17-32 for future use.)
Totoal number of the drives that encountered errors during
parameters restoraiton.
SR1603 0: no error occurred ○ ○ 0 - - N R 0
1-16: Totoal number of the drives that encountered errors
during parameters restoraiton.
The number of the most recent drive that encountered
errors during parameters restoraiton.
0-255: the last digit of the IP address of the most recent
SR1604 ○ ○ 0 - - N R 0
drive that encountered errors during parameters
restoraiton.
(Only works when SM1161 is ON.)
The error code of the most recent occurred error on the
SR1605 ○ ○ 0 - - N R 0
drive during parameters restoraiton.
Flag to define the frequency to compensate backlashes at
*SR1700 ○ ○ 0 0 - N R/W 0
Y0.0/Y0.1 for CSFO instruction (Hz)
Flag to define the frequency to compensate backlashes at
*SR1702 ○ ○ 0 0 - N R/W 0
Y0.2/Y0.3 for CSFO instruction (Hz)
Flag to define the frequency to compensate backlashes at
*SR1704 ○ ○ 0 0 - N R/W 0
Y0.4/Y0.5 for CSFO instruction (Hz)
Flag to define the frequency to compensate backlashes at
*SR1706 ○ ○ 0 0 - N R/W 0
Y0.6/Y0.7 for CSFO instruction (Hz)
2-131
AS Series Programming Manual
AS100/200 Series
AS300 Series
Attribute
Latched
OFF STOP RUN
Default
SR Function
ON RUN STOP
_2 *SR1708
Flag to define the frequency to compensate backlashes at
○ ○ 0 0 - N R/W 0
Y0.8/Y0.9 for CSFO instruction (Hz)
Flag to define the frequency to compensate backlashes at
*SR1710 ○ ○ 0 0 - N R/W 0
Y0.10/Y0.11 for CSFO instruction (Hz)
Note 1: for SR*, refer to SM/SR table for more details
Note 2: the communication card in the table refers to AS-F232, AS-F422 and AS-F485.
2-132
C ha p ter 2 D e v ic es
2-133
AS Series Programming Manual
Special data
Time to refresh
register
SR470 Register is refreshed by the system.
SR472 Register is refreshed you.
Refresh the register whenever the high-speed output instruction is executed and the program is
SR474
scanned. If the instruction is not executed, you can edit the settings.
_2
SR476–SR477 Register is refreshed by you.
Refresh the register whenever the high-speed output instruction is executed and the program is
SR480
scanned. If the instruction is not executed, you can edit the settings.
SR482–SR486 Register is refreshed by you.
SR487 Register is refreshed by the system.
Refresh the register when the PLC is powered on according to the position planning table. You can
SR488–SR489
edit the settings afterwards.
SR490 Register is refreshed by the system.
SR492 Register is refreshed by you.
Refresh the register whenever the high-speed output instruction is executed and the program is
SR494
scanned. If the instruction is not executed, you can edit the settings.
SR496–SR497 Register is refreshed by you.
Refresh the register whenever the high-speed output instruction is executed and the program is
SR500
scanned. If the instruction is not executed, you can edit the settings.
SR502–SR506 Register is refreshed by you.
SR507 Register is refreshed by the system.
Refresh the register when the PLC is powered on according to the position planning table. You can
SR508–SR509
edit the settings afterwards.
SR510 Register is refreshed by the system.
SR512 Register is refreshed by you.
Refresh the register whenever the high-speed output instruction is executed and the program is
SR514
scanned. If the instruction is not executed, you can edit the settings.
SR516–SR517 Register is refreshed by you.
Refresh the register whenever the high-speed output instruction is executed and the program is
SR520
scanned. If the instruction is not executed, you can edit the settings.
SR522–SR526 Register is refreshed by you.
SR527 Register is refreshed by the system.
Refresh the register when the PLC is powered on according to the position planning table. You can
SR528–SR529
edit the settings afterwards.
SR530 Register is refreshed by the system.
SR532 Register is refreshed by you.
Refresh the register whenever the high-speed output instruction is executed and the program is
SR534
scanned. If the instruction is not executed, you can edit the setting.
SR536–SR537 Register is refreshed by a user.
Refresh the register whenever the high-speed output instruction is executed and the program is
SR540
scanned. If the instruction is not executed, you can edit the settings.
SR542–SR546 Register is refreshed by a user.
SR547 Register is refreshed by the system.
Refresh the register when the PLC is supplied with power according to the position planning table.
SR548–SR549
You can edit the settings afterwards
SR550 Register is refreshed by the system.
SR552 Register is refreshed by you.
SR554 Refresh the register whenever the high-speed output instruction is executed and the program is
2-134
C ha p ter 2 D e v ic es
Special data
Time to refresh
register
scanned. If the instruction is not executed, you can edit the settings.
SR556–SR557 Register is refreshed by you.
Refresh the register whenever the high-speed output instruction is executed and the program is
SR560
scanned. If the instruction is not executed, you can edit the settings.
SR562–SR566 Register is refreshed by you.
SR567 Register is refreshed by the system.
2_
Refresh the register when the PLC is powered on according to the position planning table. You can
SR568–SR569
edit the settings afterwards.
SR570 Register is refreshed by the system.
SR572 Register is refreshed by you.
Refresh the register whenever the high-speed output instruction is executed and the program is
SR574
scanned. If the instruction is not executed, you can edit the settings.
SR576–SR579 Register is refreshed by you.
Refresh the register according to the settings in HWCONFIG when the PLC is powered on. You
SR580–SR603
can edit the settings afterwards.
SR610–SR621 Refresh the register whenever the output instruction is executed.
Refresh the register whenever the EIX or DIX instruction is executed.
SR623–SR634 ON: interrupt is enabled
OFF: interrupt is disabled
SR640–SR651 Register is refreshed by you.
SR652–SR655 Register is refreshed by the system.
SR656–SR657 Register is refreshed by the system. You reset it to OFF.
SR658–SR726 Register is refreshed by the system.
SR731–SR738 Register is refreshed by the system.
SR741–SR748 Register is refreshed by the system.
SR751-SR768 Register is refreshed by you.
SR771–SR778 Register is refreshed by the system.
SR781–SR788 Register is refreshed by the system.
SR791–SR806 Register is refreshed by the system.
SR811–SR818 Register is refreshed by you.
SR820 Refresh the register according to the settings in CANopen Builder.
SR821 Refresh the register when the firmware is updated.
SR822 Refresh the register according to the settings in HWCONFIG.
SR823–SR893 Register is refreshed by the system.
SR900–SR901 Register is refreshed by the system.
SR902 Register is refreshed by you.
1. Register is refreshed by you.
SR1000–SR1006
2. Register is refreshed after power-on or after HWCONFIG is downloaded.
SR1007 Register is refreshed by the system.
SR1009 Register is refreshed by the system.
SR1010 Register is refreshed by you.
SR1011–SR1014 Register is refreshed by the system.
SR1015 Register is refreshed by you.
SR1016 Register is refreshed by you.
SR1017 Register is refreshed by you.
SR1018 Refresh the register every scan cycle by the system.
2-135
AS Series Programming Manual
Special data
Time to refresh
register
1. Refresh the register every scan cycle by the system.
SR1019
2. Register is refreshed by you.
1. Refresh the register when a connection is established.
SR1020–SR1107
2. Refresh the register every scan cycle.
_2
SR1092–SR1093 Register is refreshed by you.
SR1110 Register is refreshed by you. The system resets it to OFF.
SR1111–SR1114 Register is refreshed by you.
SR1116–SR1117 Refresh the register when the program is downloaded to the PLC.
SR1120–SR1183 Refresh the register when the communication is complete.
SR1191–SR1198 Register is refreshed by the system.
SR1201–SR1216 Register is refreshed by the system.
SR1221–SR1236 Register is refreshed by the system.
SR1241–SR1256 Register is refreshed by the system.
SR1261–SR1268 Register is refreshed by you.
SR1291–SR1296 Register is refreshed by you. The system resets it to OFF.
SR1312-SR1315 Refresh the register during communication
Refresh the register when the parameter is downloaded to the PLC, or when the PLC is supplied
SR1318–SR1320
with power.
SR1335–SR1336 Refresh the register every scan cycle after the function of data exchange is enabled.
SR1340–SR1371 Refresh the register when there is an error.
SR1375–SR1376 Refresh the register every scan cycle after the function of data exchange is enabled.
SR1380–SR1411 Refresh the register when there is an error.
SR1430–SR1431 Register is refreshed by the system.
SR1435–SR1436 Refresh the register during communication
SR1440–SR1471 Refresh the register when error occurs during communication
SR1475–SR1476 Refresh the register during communication
SR1480–SR1511 Refresh the register when error occurs during communication
SR1520–SR1535 Refresh the register after the communidation through AS-FEN02 is complete.
SR1536–SR1539 Register is refreshed by the system.
Register is refreshed by the system when when the system is supplied with power, disconnect from
SR1559–SR1592
the remote module or reestablish the remote module connection.
SR1600-SR1602 Register is refreshed by you.
SR1603-SR1605 The error occurred on the drive during parameters restoration; Register is refreshed by the system.
SR1700, SR1702,
SR1704, SR1706, Register is refreshed by you.
SR1708, SR1710
2-136
C ha p ter 2 D e v ic es
When a scan timeout occurs during the execution of the program, the error LED on the PLC changes to
continuous ON, and SM8 changes to ON.
2_
SR8 contains the step address at which the watchdog timer changed to ON.
2. Clearing the warning light
SM22
Setting SM22 to ON clears the error log and the warning light.
3. CPU modue and AD/DA Funciton Card
Analog Input
SR168 (CH1)
SR Number
SR169 (CH2)
*1: This is only availe for AS218 with FW V1.06.20 and ISPSoft V3.08 or later.
2-137
AS Series Programming Manual
When the conversion value in the analog input exceeding the allowable range or is encountered any connection lost,
SM27 warning flag will be ON and the analog input error code will be stored in SR27. If the Input Warning in HWCONFIG
is set to Enable, AS300 and AS200 Series CPU with FW V1.10.00 or later support this function. See the following setting
images for reference.
_2
AS300 Series: AS-F2AD installed in funtion card 1/2
2-138
C ha p ter 2 D e v ic es
Analog Output
SR172 (CH1)
SR Number
SR173 (CH2)
When SM220 changes from OFF to ON, the system calibrates the real-time clock.
If the second value in the real-time clock is in the range 0–29, the minutes value is fixed, and the seconds value
is cleared to zero.
If the value of the second in the real-time clock is in the range 30–59, the minutes value increases by one, and
the seconds value is cleared to zero.
2-139
AS Series Programming Manual
This table lists the corresponding functions and values of SR220–SR226 and SR391–SR397.
Device
Binary-coded Decimal Function Value
decimal system system
SR220 SR391 Year 00–99 (A.D.)
SR221 SR392 Month 1–12
_2 SR222 SR393 Day 1–31
SR223 SR394 Hour 0–23
SR224 SR395 Minute 0–59
SR225 SR396 Second 0–59
SR226 SR397 Week 1–7
SR391–SR397 correspond to SR220–SR226. The difference between SR220–SR226 and SR391–SR397 is
that the former uses the binary-coded decimal while the latter uses the decimal system. For example, December
is represented as 12 in SR392 while it is represented as 1100 in the binary-coded decimal. Refer to Chapter 6
for more information on the real-time clock.
5. Communication functions
SM96–SM107, SM209–SM212, SR201–SR202, and SR209–SR216
SR215 and SR216 record the function card codes. The following table lists the functions represented by the
interface codes.
Code 0 1 2 3 4 5 6
Function No card RS232 RS422 RS485 F2AD F2DA FCOPM
Code 7 8 9 10 11 7 8
Function FEN02 FPFN02 FOPC02 FFTP01 FECAT FEN02 FPFN02
The function cards including FCOPM, FEN02, FPFN02, FOPC02, FFTP01, FECAT are only supported as
Function Card 2.
When the communication port protocol for the PLC is RS485, RS232, or RS422, then SR209 records the
communication format of the COM1 port on the PLC, and SR212 records the communication format of the
COM2 port on the PLC. The following table lists the settings for the communication protocols. Refer to Chapter
6 for more information on the communication instructions.
0100 (H 4) : 38400
0101 (H 5) : 57600
0110 (H 6) : 115200
2-140
C ha p ter 2 D e v ic es
0111 (H 7) : 230400
1000 (H 8) : 500000
1001 (H 9) : 921000
SM203/SM204/SM205
SR40: The maximum number of error logs stored in SR40 is 20. If the number of the error logs exceeds the
maximum number 20, only 20 of them will be stored. Each error log occupies 6 registers.
SR41: The error log pointer points to the latest error log. When an error occurs, the value of the error log pointer
increases by one. The range of pointer values is 0–19. For example, the error log pointer points to the fourth error
log when the value in SR41 is 3. If the value in SR41 is 20, that means the number of error logs exceeds 20 and is
now in cycle.
SR42~SR161: The time of the error and the position where the error occurs are recorded in SR42–SR161. The lsot
column records the CPU (0) and the remote module number (1~15). The following table lists the corresponding
functions of these data registers.
2-141
AS Series Programming Manual
2-142
C ha p ter 2 D e v ic es
SR227-SR308
SR227: The maximum number of download logs which are stored in SR227 is 20. Every download log occupies 4
registers. The download actions which are recorded are numbered, as shown in the following table.
SR228: The download log pointer points to the latest download log. When a download action is executed, the value
of the download log pointer increases by one. The range of pointer values is 0–19. For example, the
download log pointer points to the fourth download log when the value in SR228 is 3.
The time of the downloading and the action numbers are recorded in SR229–SR30. The following table
lists the corresponding functions of these data registers.
2-143
AS Series Programming Manual
_2 9 SR261
SR262 SR262 SR263 SR263 SR264 SR264
High byte Low byte High byte Low byte High byte Low byte
SR266 SR266 SR267 SR267 SR268 SR268
10 SR265
High byte Low byte High byte Low byte High byte Low byte
SR270 SR270 SR271 SR271 SR272 SR272
11 SR269
High byte Low byte High byte Low byte High byte Low byte
SR274 SR274 SR275 SR275 SR276 SR276
12 SR273
High byte Low byte High byte Low byte High byte Low byte
SR278 SR278 SR279 SR279 SR280 SR280
13 SR277
High byte Low byte High byte Low byte High byte Low byte
SR282 SR282 SR283 SR283 SR284 SR284
14 SR281
High byte Low byte High byte Low byte High byte Low byte
SR286 SR286 SR287 SR287 SR288 SR288
15 SR285
High byte Low byte High byte Low byte High byte Low byte
SR290 SR290 SR291 SR291 SR292 SR292
16 SR289
High byte Low byte High byte Low byte High byte Low byte
SR294 SR294 SR295 SR295 SR296 SR296
17 SR293
High byte Low byte High byte Low byte High byte Low byte
SR298 SR298 SR299 SR299 SR300 SR300
18 SR297
High byte Low byte High byte Low byte High byte Low byte
SR302 SR302 SR303 SR303 SR304 SR304
19 SR301
High byte Low byte High byte Low byte High byte Low byte
SR306 SR306 SR307 SR307 SR308 SR308
20 SR305
High byte Low byte High byte Low byte High byte Low byte
* The format for the download action time: the data is stored as a binary-coded decimal. The following
table lists the range of values.
Function Value
Year 00–99 (A.D.)
Month 01–12
Day 01–31
Hour 00–23
Minute 00–59
Second 00–59
2-144
C ha p ter 2 D e v ic es
SR309–SR390
SR309: The maximum number of PLC status change logs stored in SR309 is 20. Each PLC status change log
occupies 4 registers. The recorded PLC status change actions are numbered, as shown in the following
table.
PLC disconnected. 2
PLC stops. 4
Emergency stop 7
Write RTC 8
SR310: The PLC status change log pointer points to the latest PLC status change log. When the PLC status
changes, the value of the PLC status change log pointer increases by one. The range of pointer values is
0–19. For example, PLC status change log pointer points to the fourth PLC status change log when the
value in SR310 is 3.
The time when the PLC status change actions occur is recorded in SR311–SR390. The flowing table lists the
corresponding functions of these data registers.
2-145
AS Series Programming Manual
_2 13 SR359
SR360 SR360 SR361 SR361 SR362 SR362
High byte Low byte High byte Low byte High byte Low byte
SR364 SR364 SR365 SR365 SR366 SR366
14 SR363
High byte Low byte High byte Low byte High byte Low byte
SR368 SR368 SR369 SR369 SR370 SR370
15 SR367
High byte Low byte High byte Low byte High byte Low byte
SR372 SR372 SR373 SR373 SR374 SR374
16 SR371
High byte Low byte High byte Low byte High byte Low byte
SR376 SR376 SR377 SR377 SR378 SR378
17 SR375
High byte Low byte High byte Low byte High byte Low byte
SR380 SR380 SR381 SR381 SR382 SR382
18 SR379
High byte Low byte High byte Low byte High byte Low byte
SR384 SR384 SR385 SR385 SR386 SR386
19 SR383
High byte Low byte High byte Low byte High byte Low byte
SR388 SR388 SR389 SR389 SR390 SR390
20 SR387
High byte Low byte High byte Low byte High byte Low byte
*Format for the PLC status change time: the data is stored as a binary-coded decimal. The following table lists the
range of values.
Function Value
Year 00–99 (A.D.)
Month 01–12
Day 01–31
Hour 00–23
Minute 00–59
Second 00–59
SM400-SM403
SM402: The flag is ON only at the first scan. The pulse width equals one scan time. You can use this contact for
2-146
C ha p ter 2 D e v ic es
SM403: The flag is OFF only at the first scan. That is, the negative pulse is generated the moment the PLC runs.
T he PLC r uns .
SM400
SM401
2_
SM402
SM403
Scan ti me
SM404,SM405,SM406,SM407
The PLC provides seven types of clock pulses. When the PLC is powered on, the seven types of clock pulses act
automatically.
Device Function
10 millisecond clock pulse during which the pulse is ON for 5 milliseconds and then is OFF for 5
SM404
milliseconds
100 millisecond clock pulse during which the pulse is ON for 50 milliseconds and then is OFF for 50
SM405
milliseconds
200 millisecond clock pulse during which the pulse is ON for 100 milliseconds and then is OFF for 100
SM406
milliseconds
One second clock pulse during which the pulse is ON for 500 milliseconds and then is OFF for 500
SM407
milliseconds
2-147
AS Series Programming Manual
10 ms
5 ms
100 ms
50 ms
200 ms
100 ms
1 sec
SM407 (1 sec) 1 Hz
500 ms
You use the memory card to back up the data in the PLC. Refer to Chapter 6 for instructions concerning the
memory card.
Device Function
SM36 Enable saving data to the memory card. When ON, the PLC runs according to the value in the SR36.
Memory card is present.
SM450 ON: memory card is present.
OFF: memory card is not present.
SM451 Memory card is write-protected.
Data in the memory card is being accessed.
SM452 ON: data in the memory card is being accessed.
OFF: data in the memory card is not accessed.
Error during the operation of the memory card.
SM453 ON: error occurred.
OFF: no error.
Execution of data logger and the memory card.
SM456
ON: execution by the values in SR902.
When an error occurs in the memory card, the error codes are stored here.
A. 16#005D: no memory card installed
B. 16#005E: an error occurs when the memeory card is initialized
C. 16#005F: the path is incorrect or the file does not exist
SR453
D. 16#0060: cannot create the default folder
E. 16#0061: the memory space is insufficient
F. 16#0062: the memory card is write protected
G. 16#0063: an error occurs when the data is written into the file
2-148
C ha p ter 2 D e v ic es
Device Function
H. 16#0064: the data cannot be read from the memeory card
I. 16#0065: the file is a read-only file
J. 16#0066: when restoring the memory card PLC is in RUN status
K. 16#0067: when restoring the memory card PLC ID is not matched when restoring the memory card
L. 16#0068: when restoring the memory card the password is not matched
M. 16#0069: when restoring the memory card, the file path and the file name contain the CPU module
name, but it is not matched with the actual CPU module
2_
The code for the executions of data logger and the memory card (works with SM456); for example,
SR902
H5AA5: write the sampling data from the data logger into the memory card.
Use the following function codes to backup or restore data. Enable SM36 for the function codes to
work.
A. K1122 (backup) #1, it indicates backing up the PLC programs to the memory card. (PLC ID and
password are included) Execute this backup when the PLC is in the RUN/Stop status.
Default backup file name: SDCard\PLC CARD\AS300\SysDup\user_program.dup
B. K2211 (restore) #2, it indicates restoring the PLC programs from the memeory card. (PLC ID and
password are included) Execute the restoring when the PLC is in the Stop status.
Default restore file name: SDCard\PLC CARD\AS300\SysDup\user_program.dup
C. K3344 (backup) #1, it indicates backing up the latched values (D, S, M, C, HC) and the latched
range to the memory card. Execute this backup when the PLC is in the RUN/Stop status.
Default backup file name: SDCard\PLC CARD\AS300\SysDup\retained_data.dup
D. K4433 (restore) #2, it indicates resoring the latched values (D, S, M, C, HC) and the latched range
from the memory card. Execute the restoring when the PLC is in the Stop status.
Default restore file name: SDCard\PLC CARD\AS300\SysDup\retained_data.dup
E. K5566 (backup) #1, it indicates backing up the PLC programs and parameters to the memory card.
(the status and values of retainable devices are NOT included). Execute this backup when the PLC
is in the Stop status.
SR36 F. K5577 (backup) #1, it indicates backing up the PLC programs and parameters to the memory card.
(the status and values of retainable devices are included). Execute this backup when the PLC is in
the Stop status.
*E & F functions are the same as the backup function in ISPSoft Card Utility.
Default file name: SDCard\PLC CARD\AS300\SysDup\AS300_save_backup.dup
G. K6755 (restore) #2, it indicates restoring all PLC data from the memeory card (backup files from the
function code E or F). Execute the restoring when the PLC is in the Stop status.
Default file name: SDCard\PLC CARD\AS300\SysDup\AS300_save_backup.dup
Note: if you need to restore from POWER-ON, you need to modify the backup file name and save
the file to SDCard\PLC CARD\AS300\SysDup\AS300_BACKUP.dup before performing restoring
from POWER-ON.
H. K5588 (backup) #1, it indicates backing up all FR file registers from the PLC to the memory card.
Execute this backup when the PLC is in the Stop status.
Default file name: SDCard\PLC CARD\AS300\SysDup\AS300_FR_backup.dup
I. K8855 (restore) #2, it indicates restoring all FR file registers from the memory card to the PLC.
Execute the restoring when the PLC is in the Stop status. The file name should be the same as the
file name in H shows.
(Default file name: SDCard\PLC CARD\AS300\SysDup\AS300_FR_backup.dup)
#1: While backing up, if there is a file with the same file name, the system overwrites the existing file.
#2: While restoring, if the file path and the file name are not identical to the backup file, the system does not excute the
restoring.
NOTE 1: The default file names shown above use AS300 as example. If the PLC you are using is NOT AS300, you can
modify the file name. If the backup file name is not correct, the system does not execute the restoring and
sends out error codes.
2-149
AS Series Programming Manual
NOTE 2: The function codes A, B, C and D shown in SR36 are available for firmware V1.04.30 or later. The function
codes E, F and G in SR36 are available for firmware V1.04.90 or later. The function codes H and I in SR36 are
available for firmware V1.05.30 or later.
NOTE 3: The definitaitons of the abovementioned PLC program, parameters and retainable devices:
The PLC program includes PLC programming execution codes, programming codes, project password and
PLC ID.
_2 The parameters include HWCONFIG configurations, data mapping table and position planning table.
The latched area means parameters and all the values set in this area are retainable.
While restoring the PLC program from the memeory card, the system verifies the backup file, PLC ID and
password.
PLC ID check: if the backup file is set with PLC ID, it prevents restoring the PLC program to the wrong PLC.
Password check: if the backup file is set with password, it ensures the security of the PLC program and
prevents restoring the PLC program to the wrong PLC.
A. The number 1234 means the PLC stores the error log (SR40–SR161) in the memory card.
B. The number 3456 means the PLC stores the error log (SR40–SR161) and the PLC state changing log
(SR309–SR390) in the memory card.
13. The high-speed output instruction is being executed. The output immediately stops when the instruction is
disabled or stops.
SM587: while using the position planning table to control the output, the axis should refer to the following flags
for the action to stop. This function is available for firmware V.1.06.00 or later.
SM476, SM477, SM496, SM497, SM516, SM517, SM536, SM537, SM556, SM557, SM576, SM577:
SM463, SM474, SM483, SM494, SM503, SM514, SM523, SM534, SM543, SM554, SM563, SM574:use these
flags to pause output.
When the flag changes from OFF to ON, it means stop the output. This works with these flags; refer to the
section above for more actions on stop.
When the flag changes from ON to OFF, it means execute the rest of the outputs.
2-150
C ha p ter 2 D e v ic es
The flag for position output axis 1-6 (even number high speed pulse output points) in ramp up / ramp down area
is available for firmware V1.06.00 or later.
SM586
OFF (default): use high-intensity 250 steps to switch to different speeds in the ramp up/ramp down area and the
error rate of switching time is about 10%.
ON:use high-intensity 25 steps to switch to different speeds in the ramp up/ramp down area and the error rate of
2_
switching time is about 1%.
SR580-SR603
Positive output limit: set the limit in ISPSoft. When the output position is greater than the positive limit, the output
stops immediately.
Negative output limit: set the limit in ISPSoft. When the output position is smaller than the negative limit, the output
stops immediately.
When the positive and negative output limits are both 0, the function is disabled. This function works with the
output instructions. The system only checks the limit set in ISPSoft when the instruction is executed. Thus the
system does not come to an immediate stop even when it is beyond the output limit. If an immediate stop is
needed, using the external input as the way to check the limit is recommended.
SR478, SR479, SR498, SR499, SR518, SR519, SR538, SR539, SR558, SR559, SR578, SR579
For AS series, up to 12 high-speed outputs (Y0.0-Y0.11) can be set. Each output works with a corresponding SR
for users to set the output number for backlash compensations. The setting range is 0-32767. If the setting value is
<= 0, this function is disabled.
This function is available for firmware version 1.02.30 and later. The output instrucitons that support odd number
axis outputs and are directional output by default are JOG, DZRN, DPLSV, DDRVI, DDRVA, DPPMR, DPPMA,
DCICR, DCICA, DCICCR, DCICCA, DCCMR, DCCMA, DPPGB and TPO. For even number axis outputs, you
can use the following instructions JOG, DPLSV, DDRVI and DDRVA. For firmware version 1.10 or later, CSFO
instruction is also supported.
If the above-mentioned supported instructions are used and the instruction is stopped right after the output
directon is changed, if the backlash compensation function is enabled under this condition, PLC needs to run
the compensated ones before a real stop. So that there will be no uncompensated backlashes left when the
next output is enabled.
16. Flags to show the output number of the current positioning output in the ramp up / ramp down area.
(available for firmware V1.06.00 or later)
The output number in the ramp up area: the accumulated output number counted from the acceleration starting
point to the target speed point (not included).
The output number in the ramp down area: the accumulated output number counted from the target speed point
(not included) to the output stopping point.
17. Flags to show the CAN communication quality (available for firmware V1.06.00 or later)
2-151
AS Series Programming Manual
SR823
Hardware receiving error counter for CAN communication: when the error number exceeds 127, it indicates the
hardware error occurance is too frequent, you need to check the communication cables or adjust the
transmission speed or modify the sample points manually.
SR824
_2
Hardware sending error counter for CAN communication: when the error number exceeds 127, it indicates the
hardware error occurance is too frequent, you need to check the communication cables or adjust the
transmission speed or modify the sample points manually.
SM1000, SR1000~SR1015 and (SR1016, SR1536~SR1539 are available for firmware V1.06.00 or later)
2-152
C ha p ter 2 D e v ic es
Ethernet communication quality related, available for AS CPU firmware version 1.10.00 or later.
2_
SR Function Action
Default: 80 packets, setting range: 10-1000; when the value
The maximum number of Ethernet
exceeds the range, the system treats the value as the
SR1017 packets that can be handled in one
minimum 10 or the maximum 1000.
scan cycle.
Register is refreshed by you.
The number of Ethernet packets that Refresh the register every scan cycle by the system.
SR1018
is handled in the last scan cycle.
The accumulated number of Ethernet 1. Refresh the register every scan cycle by the system.
SR1019 packets which are dropped after the 2. Register can be cleared to 0 by you.
packets in the buffer zone is full.
Example:
1. Determine the Ethernet communication quality
Step 1: Check if the value in SR1019 is 0.
SR1019 = 0 Good communication quality
SR1019 > 0 Error occurred during communication, go to step 2
◆ When the network traffic is heavy, if you raise the value in SR1017, evey 10 more increased value, adds
around 2.2 ms more on the scan time. (the test environment: no extension module, no RTU or data
exchange table.) Therefore, after the value in SR1017 is raised, you need to pay attention on the scan
2-153
AS Series Programming Manual
time. If the network traffic is not too heavy, the value in SR1017 will not affect the scan time too much.
However, if the network is abnormal, CPU uses more resources on the packet handling and that will
increase the scan time. You need to consider the network workload and the scan time, when you set the
value in SR1017.
◆ If the packets cannot be handled in the allowable scan time, you can consider the followings to lower the
_2 network workload.
Decrease the network connections with the CPU, for example, decrease the data exchange numbers
via Modbus TCP or EtherNet/IP.
Lower the refreshing rate in data exchange, for example lessen the refreshing cycle for data exchange
via Modbus TCP, or increase the value in RPI for data exchange via EtherNet/IP.
SM Function Action
SM1090 TCP connection is busy. ON: TCP connection timeout
SM1091 UDP connection is busy. ON: UDP connection timeout
AS-FEN02 Ethernet - Filter Setting When the program is downloaded to the PLC
SM1110
Error
ON: PHY initialization fails.
SM1106 Ethernet connection error
OFF: PHY initialization succeeds.
ON: basic setting error
SM1107 Ethernet basic setting error
OFF: correct basic setting
TCP/UDP socket local port is already
SM1109 ON: the same port in use
used.
For the error codes, the corresponding LED indicators, and other troubleshooting, Refer to Chapter 12 in the AS300
Series Operation Manual.
SM1113, SM1116-SM1155
If the sending an email fails, the flag of the email service error SM1113 is ON.
The following table lists the triggers for sending email and the corresponding flags (SM1116–SM1155).
Item
Trigger 1 Trigger 2 Trigger 3 Trigger 4
Function
2-154
C ha p ter 2 D e v ic es
Item
Trigger 1 Trigger 2 Trigger 3 Trigger 4
Function
SM Type Function
SM752–SM783 R/W Connection 1–32 through COM1 for data exchange started.
SM784–SM815 R Data received through COM 1 connection 1–32 for data exchange.
SM816–SM847 R Error in the COM1 connection 1–32 for data exchange.
SM Type Function
SM862 R/W Data exchange through COM2 enabled by ISPSoft.
SM864–SM895 R/W Connection 1–32 through COM2 for data exchange started.
SM896–SM927 R Data received through COM2 connection 1–32 for data exchange.
SM928–SM959 R Error in the COM2 connection 1–32 for data exchange
Registers for data exchange through COM1 and COM2 connections
SR Function
SR1335 Actual cycle time of connection 1–32 for data exchange through COM1
Number of the connection that is currently performing a cyclical data exchange
SR1336
through COM1
SR1340–SR1371 Error code for data exchange through the COM1 connection 1–32
SR1375 Actual cycle time of connection 1–32 for data exchange through COM2
Number of connection that is currently performing a cyclical data exchange
SR1376
through COM2
SR1380–SR1411 Error code for data exchange through the COM2 connection 1–32
The error codes 1–7 are the standard response error codes of the Modbus protocol. Error code 9 means timeout.
Flags for data exchange through Funciton Card 1 and Funciton Card 2
(available for firmware V1.06.00 or later)
SM Type Function Card 1
2-155
AS Series Programming Manual
SM1712 ~ SM1743 R/W Connection 1-32 for data exchange through Function Card 1 started
SM1744 ~ SM1775 R Successful data exchange connection 1-32 through Function Card 1
SM1776 ~ SM1807 R Error in data exchange connection 1-32 through Function Card 1
SM Type Function Card 2
Registers for data exchange through Funciton Card 1 and Funciton Card 2
(available for firmware V1.06.00 or later)
SR Function
SR1435 Actual cycle time for data exchange through Function Card 1
Number of the connection that is currently performing a cyclical data
SR1436
exchange through Function Card 1
Error in data exchange connection 1-32 through Function Card 1
SR1440 ~ SR1471 Error codes 1-7 is related to Modbus issues; refer to manual from the slaves
for more information. Error code 9 indicates communication timeout.
SR1475 Actual cycle time for data exchange through Function Card 2
Number of the connection that is currently performing a cyclical data
SR1476
exchange through Function Card 2
Error in data exchange connection 1-32 through Function Card 2
SR1480 ~ SR1511 Error codes 1-7 is related to Modbus issues; refer to manual from the slaves
for more information. Error code 9 indicates communication timeout.
SM Type Function
SM1167 R/W Data exchange through Ethernet port enabled by ISPSoft.
SM1168–SM1199 R/W Connection 1–32 through Ethernet port for data exchange started.
SM1200–SM1231 R Data received through Ethernet port connection 1–32 for data exchange.
SM1232–SM1263 R Error in the Ethernet port connection 1–32 for data exchange
SR Function
SR1120–SR1151 Actual connection time for data exchange through the Ethernet connection 1–32
SR1152–SR1183 The error code for data exchange through the Ethernet connection 1–32
2-156
C ha p ter 2 D e v ic es
Flags for data exchange through Ethernet connection in AS Series PLC CPU (available for firmware V1.10.20
or later)
SM Type Function
SM1092 R/W Incorrect Modbus TCP server port
SR Funciton
SR1092 Modbus TCP Server port (PLC CPU as Server)
SR1093 Modbus TCP Client port (PLC CPU as Client) 2_
Operation details:
1. When the PLC CPU acts as a Modbus TCP Server
By default, the protocol uses port 502 as the communication port in the Modbus TCP communication.
But if port 502 is not available, you can use SR1092 to set up the port for communication.
The setting here is not retainable. When you power off and power on the PLC CPU, the
communication port will be port 502 again by default. Use the PLC program to set up.
If the port number which is set in SR1092 is already taken by other funcitons, such as socket or web.
The setting here will be invalid. And SM1092 will switch to ON, indicating incorrect Modbus TCP server
port.
2. When the PLC CPU acts as a Modbus TCP Client
By default, the protocol uses port 502 as the communication port in the Modbus TCP communication.
But if port 502 is not available, you can use SR1093 to set up the port for communication.
The setting here is not retainable. When you power off and power on the PLC CPU, the
communication port will be port 502 again by default. Use the PLC program to set up.
The setting value here is only for the communication port of Modbus TCP Client. The communication
ports of PLC CPU will NOT be affected.
Flags for data exchange through Ethernet connection in AS-FEN02 (available for firmware V1.06.00 or later)
SM Type Function
SM1006 R/W Data exchange through AS-FEN02 enabled by ISPSoft.
SM1008 ~ SM1015 R/W Connection 1–8 through AS-FEN02 for data exchange started.
SM1016 ~ SM1023 R Successful data exchange connection 1-8 through AS-FEN02
SM1024 ~ SM1031 R Error in the AS-FEN02 connection 1–8 for data exchange
Registers for data exchange through Ethernet connection in AS-FEN02 (available for firmware V1.06.00 or
later)
SR Funciton
SR1520 ~ SR1527 The actual communication time for data exchange connection 1-8 through AS-FEN02
SR1528 ~ SR1535 Error in data exchange connection 1-8 through AS-FEN02
2-157
AS Series Programming Manual
The list of SM/SR states when connecting to RTU-EN01 throught Ethernet port
SM / SR Description
SM1312 - SM1315 The communication state flags of RTU-EN01 connection ID 1-4
SR1312 - SR1315 The communication state codes of RTU-EN01 connection ID 1-4
SR SM state Description
0 OFF Connection closed
1 ON Successful connection
_2
2 OFF Communiction timeout
3 OFF Connection closed by force
4 OFF RTU-EN01 response: error in contents
5 OFF RTU-EN01 response: error
6 OFF Network not connected or connection failed
RX & RCR Read data RY & RCR Write data
SM state
(input mapping area) (output mapping area)
OFF ON Clear to 0 Clear to 0
ON OFF No change No change
Note: Before the connection is established, it is suggested NOT to use data (RX/RY/RCR Read/RCR Write) in the
mapping area.
SM1376 - SM1407 R/W Connection 1-32 for data exchange through EtherNet/IP (Scanner) started
SM1408 - SM1439 R Error in data exchange connection 1-32 through EtherNet/IP (Scanner)
SM1440 - SM1447 R Error in I/O connection 1-8 through EtherNet/IP (Adapter)
Ethernet/IP communication error codes are listed below. Refer to Chapter 9 in AS Series Operation Manual for
more details.
Error Code Description Solution
1. Check if the system has created the I/O
16#0100 I/O connections duplicated connections.
2. Change the connection type to Listen Only.
1. Check the scanner owner.
Scanner ownership of I/O
16#0106 connections conflicts 2. Reconfigure the invalid scanner.
3. Change the connection to multicast.
1. Check the I/O connection status.
16#0110 Incorrect adapter configuration
2. Activate the I/O connections again.
16#0111 Adapter RPI not supported Check the RPI for the adapter.
1. Check if the number of connections exceeds the limit.
16#0113 Insufficient I/O connections 2. Reduce the number of the product
connections.
The connection of non-Listen only is 1. Check if the system has created the I/O connections.
16#0119 not established. 2. Check the scanner I/O connection status.
2-158
C ha p ter 2 D e v ic es
Check the module number and the product setup file to see if
16#0127 Incorrect adapter input size they match.
16#0128 Incorrect adapter output size Check the output size in the connection parameters.
Check if the parameters in the Consumed tag are set
16#012D Consumed TAG does not exist. correctly.
Check if the parameters in the Produced tag are set
16#012E Produced TAG does not exist. correctly.
No response from the adapter; check if the power and the
16#0204 I/O connection connecting timeout
2_
network connection for the adapter are working properly.
1. Check the I/O connection limit between the scanner and
Network bandwidth NOT available the adapter.
16#0302 for data 2 . Increase the RPI value or reduce the number of
connections.
Incorrect adapter input/output Check the module number and the product setup file to see if
16#0315 instance they match.
I/O connection communication No response from the adapter; check if the power and the
16#0203 timeout network connection for the adapter are working properly.
21. Flags SM230-SM261 is to activate modules when selecting “Manual + Flags” in “I/O allocation setting when Power
On”.
When selecting “Manual + Flags (only I/O module of CPU module)” in “I/O allocation setting when Power On”, use
flags SM230-SM261 to activate the 1st – 32nd module on the right-side of the CPU module. (available for FW
V1.06.00 or later).
When selecting “Manual + Flags (I/O module of CPU & Remote module)”, use flags SM230-SM261 to activate the
1st – 32nd module on the right-side of the CPU module remotely (available for FW V1.08.50 or later and ISPSoft
V3.12 or later supports this function.)
For less module applications, you can use the same PLC program and download the I/O allocation table once for
various I/O applications. Two things to be noted when applying this mode:
A. You need to use a bigger I/O allocation planning beforehand and store this planning in AS series PLC.
B. You can simply use special flags to mark which I/O module will NOT be used to meet the actual I/O module
placement. But you cannot rearrange the original order of the module placement.
Add a new selection “Manual + Flags” for the setting option “I/O module allocation setting when Power ON”. Select
this option, you need to use it with flags SM230-SM261. For less module applications, you can simply use special
flags to mark which I/O module will NOT be used to meet the actual I/O module placement. In this mode, you can
use the same PLC program and download the I/O allocation table once for various I/O applications.
2-159
AS Series Programming Manual
Example:
Step 1: Select “Manual + Flags (I/O module of CPU & Remote module)” for the setting option “I/O module allocation
setting when Power ON” in HWCONFIG.
_2
Step 2: Create an entire module allocation and download the I/O allocation table to HWCONFIG.
Step 3: When 16AP, 04DA, 08AM (right-side module) and 16AP as well as 06X6 (remote module) are not needed in the
application, you can set the flags SM231 (indicating 16AP), SM233 (indicating 04DA), SM235 (including 08AM), SM237
(indicating remote 16AP) and SM239 (indicating remote 06X6) to OFF to meet the actual I/O module placement. You do
not need to change their order number in the PLC program. After turn the power off and then power-on again, the actual
placement is as below. The IO number in the PLC program does NOT need to be changed.
2-160
C ha p ter 2 D e v ic es
The order numbers, the model names and their corresponding device numbers in the complete I/O allocation list.
Right-side modules:
Order
0 1 2 3 4 5 6 7
number
2_
Model AS332 16AP 16AP 04AD 04DA 06XA 08AM 08AN
Remote modules:
Order number 0 1 2 3 4
Corresponding
D29000 X4.0/Y4.0 D59040 D29060 X5.0/Y5.0
device starts from
The order number and the corresponding device numbers stay the same.
Right-side modules:
Order
0 1 3 5 7
number
Corresponding device
X1.0/Y1.0 D28040 D28080 Y3.0
starts from
Remote modules:
Order number 0 2 4
Corresponding
D29000 D59040 X5.0/Y5.0
device starts from
Note: The order number rule also applies when you use the FROM/TO or other module-related instructions.
2-161
AS Series Programming Manual
DIO modules
Model Device code Model Device code Model Device code
AS08AM10N-A 16#0201 AS08AN01T-A 16#0206 AS08AN01P-A 16#0207
AS08AN01R-A 16#0208 AS16AM10N-A 16#0210 AS16AP11T-A 16#0212
AS16AP11P-A 16#0213 AS16AP11R-A 16#0214 AS16AN01T-A 16#0216
AS16AN01P-A 16#0217 AS16AN01R-A 16#0218 AS32AM10N-A 16#0220
AS32AN02T-A 16#0226 AS64AM10N-A 16#0230 AS64AN02T-A 16#0236
AIO modules (temperature, loadcell)
Model Device code Model Device code Model Device code
AS04AD-A 16#0301 AS08AD-B 16#0302 AS08AD-C 16#0303
AS02ADH-A 16#0304 AS04DA-A 16#0305 AS06XA-A 16#0309
AS04RTD-A 16#0310 AS06RTD-A 16#0311 AS04TC-A 16#0315
AS08TC-A 16#0316 AS02LC-A 16#0320
NIO modules (communication)
Model Device code Model Device code Model Device code
AS00SCM-A 16#0401 AS01DNET-A 16#0402
PIO modules (positioning and counter)
Model Device code Model Device code Model Device code
AS02PU-A 16#0501 AS04PU-A 16#0502 AS02HC-A 16#0505
Example:
2-162
C ha p ter 2 D e v ic es
After power-on, the module allocation of the above example is as shown below.
SR1559 = 2; SR1560 = 4
The order number is counted by the right-side modules connected to the CPU module and then counted by the RTU
number.
SR number (order) SR1651 (#1) SR1652 (#2) SR1653 (#3) SR1654 (#4) SR1655 (#5)
Device code 16#0309 16#0311 16#0212 16#0212 16#0301 2_
SR number (order) SR1656 (#6) SR1657 (#7) SR1658 (#8) SR1659 (#9)
Device code 16#0315 16#0302 16#0210 16#0210
SR1559 = 1; SR1560 = 4
While executing the pulse output instructions, to avoid the control over the same pulse output device is taken
repeatedly by different type or diffent triggered output instrucitons. PLC auto-reset the right to control the
pulse instruction to the first executed instruction till the assigned instruction is completely stopped. Because
of the unique characteristic, PLC scan cannot detect if the pulse instruction is stopped when you use the
pulse output instruction in the ST language, interrupt subroutine or one-time function block. Therefore, the
right to control the pulse instruction is kept and any ongoing instructions can neither be executed nor
outputted normally.
To free the right to execute other pulse output instructions, you can use the auto-reset flags for the PLC to
check if the output is complete.
Note: you can set the auto-reset flags to ON and once the output is complete, the flag resets to OFF
automatically.
Even number axis for output Y0.0 Y0.2 Y0.4 Y0.6 Y0.8 Y0.10
Auto-reset when the output is
SM470 SM490 SM510 SM530 SM550 SM570
complete.
Odd number axis for output Y0.1 Y0.3 Y0.5 Y0.7 Y0.9 Y0.11
Auto-reset when the output is
SM475 SM495 SM515 SM535 SM555 SM575
complete.
2-163
AS Series Programming Manual
2-164
C ha p ter 2 D e v ic es
Explanation
i. When M0 is ON, Y0.0 outputs 1000 pulses at 1kHz, and set SM470 on Y0.0.
ii. When Y0.0 output is complete, PLC frees the right for the Y0.0 to be ready again.
iii. When M0 is from OFF to ON again, Y0.0 output can start again.
Example 2 (used in ST programming language)
2_
Explanation
i. When M0 is ON, Y0.0 outputs 1000 pulses at 1kHz, and set M1 to ON to record Y0.0 is taken.
ii. When M0 is OFF, once Y0.0 output is complete, SM461 is ON. IF M1 is ON, it triggers the auto-reset flag of Y0.0
(SM470=ON) and PLC frees the right for the Y0.0 to be ready again.
iii. When M0 is from OFF to ON again, Y0.0 output can start again.
While executing the CAN instructions, to avoid the control over the same ID of Servo/Inverter is taken
repeatedly by different type or diffent triggered CAN instrucitons. PLC assigns the right to control the pulse
instruction to the first executed instruction till the assigned instruction is completely stopped. Because of the
unique characteristic, PLC scan cannot detect if the CAN instruction is stopped when you use the CAN
instruction in the ST language, interrupt subroutine or one-time function block. Therefore, the right to control
the CAN instruction is kept and any ongoing instructions can nether be executed nor control the servo/inverter
normally.
To free the right to execute other CAN output instructions, you can use the auto-reset flags for the PLC to
check if the communicaton between Delta Servo or Delta Moto is complete.
Note: you can set the auto-reset flags to ON and once the CAN communication is complete, the flag resets to
OFF automatically.
Delta Servo
1 2 3 4 5 6 7 8
Station ID
Auto-reset the
right to execute
SM1581 SM1582 SM1583 SM1584 SM1585 SM1586 SM1587 SM1588
other CAN
instructions.
Delta Moto
21 22 23 24 25 26 27 28
Station ID
Auto-reset the
right to execute
SM1601 SM1602 SM1603 SM1604 SM1605 SM1606 SM1607 SM1608
other CAN
instructions.
2-165
AS Series Programming Manual
FB:
Explanation
i. When M0 is ON, Servo #1 runs to the relative position 10000 PUU at the speed of 100.0 r/min. And set M1 to ON to
record that communication right of Servo#1 is taken.
ii. When SM1631 is ON (positioning completed) and M1 is ON, trigger SM1581 to ON to have the PLC free the
communication right for Servo #1.
iii. When M0 is from OFF to ON again, Servo #1 is ready to positioning again.
2-166
C ha p ter 2 D e v ic es
2_
Explanation
i. When M0 is ON, Servo #1 runs to the relative position 10000 PUU at the speed of 100.0 r/min. And set M1 to ON to
record that communication right of Servo#1 is taken.
ii. When M0 is OFF, SM1631 ON (positioning completed) and M1 ON, trigger SM1581 to ON to have the PLC free the
communication right for Servo #1.
iii. When M0 is from OFF to ON again, Servo #1 is ready to positioning again.
25. Use DPLSY in high-speed comparison interrupt (I2xx), available for FW V1.08.70 or later.
Note: When M0 is ON, HC200 high-speed counter is started. When the counted
value in S2 reached 50, the high-speed comparison interrupt I200 is
triggered.
Note: Auto-reset the control when outputting 1000 pulses at 1kHz frequency from Y0.0. are complete.
2-167
AS Series Programming Manual
The procedure
There are four procedures A-D, when the input counted value changes 49 -> 50 to output the pulses through Y0.0.
Since the interrupt is affected by the time it is triggered and by the PLC on-going executions, such as IO points
refreshing, communication implementing and so forth, the time when the pulses to be outputted can be greatly delayed.
The corresponding numbers of high-speed comparison interrupt to the newly added SMs are listed below.
Number of the high- To pre-store the parameters for To enable triggering DPLSY in
speed comparison DPLSY to output the interrupt to output pulses
interrupt
I200 SM120 SM360
I201 SM121 SM361
I202 SM122 SM362
I203 SM123 SM363
I210 SM124 SM364
I211 SM125 SM365
I212 SM126 SM366
I213 SM127 SM367
I220 SM128 SM368
I221 SM129 SM369
I222 SM130 SM370
I223 SM131 SM371
I230 SM132 SM372
I231 SM133 SM373
I232 SM134 SM374
I233 SM135 SM375
I240 SM136 SM376
I241 SM137 SM377
2-168
C ha p ter 2 D e v ic es
Explanation
Set M0 to ON to trigger SM120 to ON to save the DPLSY to-be-outputted parameters (outputting 1000 pulses at 1kHz
frequency) to the PLC flash memory.
Stat HC200 high-speed counter and set SM360 to ON. When the counted value in S2 reached 50, the high-speed
comparison interrupt I200 is triggered. The moment when the interrupt is triggered, Y0.0 starts to output 1000 pulses at
1kHz frequency.
2-169
AS Series Programming Manual
_2 Explanation
Since the execution of high-speed output has been completed in POU, there is no need to write any program in the
interrupt.
PLC uses the propositional conversion formula to converse the frequency and pulse numbers for inputs into what are
suitable for outputs. From input to output, this process not only takes time and it may also cause backlash issues. When
the number of pulses run through the input goes larger, so does the backlash.
To precise operation, use the following SM/SR to compensate for backlashes caused by a longtime CSFO operation.
Output axis designated by Flag to activate the backlash Increase the frequency to
CSFO compensation compensate backlashes (Hz)
Y0.0 / Y0.1 SM1700 SR1700
Y0.2 / Y0.3 SM1701 SR1702
Y0.4 / Y0.5 SM1702 SR1704
Y0.6 / Y0.7 SM1703 SR1706
Y0.8 / Y0.9 SM1704 SR1708
Y0.10 / Y0.11 SM1705 SR1710
OFF: To decrease the actual output frequency and the number of output pulses to stop compensating till the output
falls behind to its original delayed position.
NOTE: Be sure to close the flag to deactivate the compensation before stopping the execution of CSFO. If not, you
may find the compensated output is still running even after the execution of CSFO has stopped.
2-170
C ha p ter 2 D e v ic es
2_
: Since the number of pulse runs through input is large and the input
frequency is fast, the output cannot catch up with it, the distance between
input and output grows bigger and bigger. The backlash compensation
has not started yet.
:Enable the flag to activate the backlash compensation. Increase the
number of output pulses according to the frequency of input and
compensation till the positions of input and output are the same.
:Disable the flag to deactivate the backlash compensation. Decrease the
actual output frequency and number of output pulses to stop
compensating till the output falls behind to its original delayed position.
:When the flag to activate the backlash compensation is enabled or
disable, the PLC calculates and to increase or decrease the output
frequency to enhance the smoothness of the compensation.
The example here shows if the current output frequency is 1 KHz and the compensated frequency is 100 Hz, the actual
output frequency should be around 1.1 KHz.
You can edit, upload, and download the parameters in the File registers through ISPSoft.
You can read the values in File registers while operating the PLC. Refer to the MEMW instruction (API 2303) in the
AS300 Series Programming Manual for more information about how to write to the File registers.
2-171
AS Series Programming Manual
MEMO
_2
2-172
3
Chapter 3 Instruction Tables
Table of Contents
3.1 Types of Instructions......................................................................... 3-2
3.1.1 Basic Instructions ......................................................................... 3-2
3.1.2 Applied Instructions ...................................................................... 3-2
3-1
AS Ser ies Pro gra mm in g M anu al
_3 Rising-edge/Falling-edge Triggering the instructions that load the contact, connect the contacts in series,
detection contact instructions and connect the contacts in parallel
Rising-edge/Falling-edge
Bit device differential output
differential output instructions
Other instructions Other instructions
3-2
Cha p ter 3 Ins tr uc tio n Tab les
Description:
3-3
AS Ser ies Pro gra mm in g M anu al
_3
Description:
: If a 16-bit instruction can be used as a 32-bit instruction, add a D in front of the 16-bit instruction to form the 32-bit
instruction.
: indicates that you can use the instruction as a pulse instruction, whereas ─ indicates that it cannot be used as a
pulse instruction. For pulse instructions, add a P in back of the instruction.
3-4
Cha p ter 3 Ins tr uc tio n Tab les
3_
Description:
If the 16-bit instruction can be used as the 32-bit instruction, add a D in front of the 16-bit instruction to form the 32-bit
instruction.
: indicates that you can use the instruction as a pulse instruction, whereas ─ indicates that it cannot be used as a
pulse instruction. For the pulse instruction, add a P at the end of the instruction.
3-5
AS Ser ies Pro gra mm in g M anu al
_3
Description:
If the 16-bit instruction can be used as the 32-bit instruction, add a D in front of the 16-bit instruction to form the 32-bit
instruction.
: The operand
1. The decimal forms are indicated by “K”, but you enter them directly in ISPSoft. For example, enter the decimal
number 30 in ISPSoft.
2. The hexadecimal forms are indicated by 16#. For example, the decimal number 30 is represented by 16#1E in
the hexadecimal system.
3. The floating-point numbers are indicated by “F” or ”DF”, but they are represented by decimal points in ISPSoft.
For example, the floating-point number F500 is represented by 500.0 in ISPSoft.
4. The strings are indicated by “$”, but they are represented by quotes (“ ”) in ISPSoft. For example, the string
1234 is represented by “1234” in ISPSoft.
3-6
Cha p ter 3 Ins tr uc tio n Tab les
Indicates whether the instruction can be used as a pulse instruction, a 16-bit instruction, or a 32-bit instruction.
3_
3-7
AS Ser ies Pro gra mm in g M anu al
Instruction
Symbol Function Operand
code
LD
OR
_3
LDI
ORI
Output instructions
Instruction Execution
Symbol Function Operand
code condition
Keeping the
SET DY, Y, M, SM, S, T, C, HC, D
device on
Instruction
Symbol Function Operand
code
3-8
Cha p ter 3 Ins tr uc tio n Tab les
PED
3_
OPED
LDF
ONED
Execution
Instruction code Symbol Function Operand
condition
Rising-edge
PLS Y, M, SM, S
differential output
Falling-edge
PLF Y, M, SM, S
differential output
3-9
AS Ser ies Pro gra mm in g M anu al
Other instructions
3-10
Cha p ter 3 Ins tr uc tio n Tab les
3 - 11
AS Ser ies Pro gra mm in g M anu al
3-12
Cha p ter 3 Ins tr uc tio n Tab les
3-13
AS Ser ies Pro gra mm in g M anu al
Comparing tables
0059 CMPT= ─
ON: =
Comparing tables
0060 CMPT<> ─
ON: ≠
Comparing tables
0061 CMPT> ─
ON: >
3-14
Cha p ter 3 Ins tr uc tio n Tab les
Comparing tables
0062 CMPT>= ─
ON: >=
Comparing tables
0063 CMPT< ─
ON: <
Comparing tables
0064 CMPT<= ─
ON: <=
3_
3-15
AS Ser ies Pro gra mm in g M anu al
3-16
Cha p ter 3 Ins tr uc tio n Tab les
Arithmetic instructions
Instruction code Pulse
API Symbol Function
16-bit 32-bit instruction
3_
Adding binary numbers
0100 + D+
S1+S2=D
3-17
AS Ser ies Pro gra mm in g M anu al
_3
3-18
Cha p ter 3 Ins tr uc tio n Tab les
3-19
AS Ser ies Pro gra mm in g M anu al
Transferring data
0300 MOV DMOV S: Data source
D: Data destination
3-20
Cha p ter 3 Ins tr uc tio n Tab les
0308 SWAP DSWAP Exchanging the high byte with the low byte
Jump instructions
Instruction code Pulse
API Symbol Function
16-bit 32-bit instruction
3-21
AS Ser ies Pro gra mm in g M anu al
Miscellaneous instructions
Instruction code Pulse
API Symbol Function
16-bit 32-bit instruction
_3
0700 ALT ─ Alternating between ON and OFF
3-22
Cha p ter 3 Ins tr uc tio n Tab les
3_
Logic instructions
Instruction code Pulse
API Symbol Function
16-bit 32-bit instruction
3-23
AS Ser ies Pro gra mm in g M anu al
Rotation instructions
Instruction code Pulse
API Symbol Function
16-bit 32-bit instruction
3-24
Cha p ter 3 Ins tr uc tio n Tab les
3-25
AS Ser ies Pro gra mm in g M anu al
_3
1014 ─ DHSCY ─ Cyclic counting, comparing and outputting
Shift instructions
Instruction code Pulse
API Symbol Function
16-bit 32-bit instruction
3-26
Cha p ter 3 Ins tr uc tio n Tab les
1106 SFPO DSFPO Reading the latest data from the data list
1107 SFDEL DSFDEL Deleting the data from the data list
1108 SFINS DSFINS Inserting the data into the data list
3-27
AS Ser ies Pro gra mm in g M anu al
3-28
Cha p ter 3 Ins tr uc tio n Tab les
3-29
AS Ser ies Pro gra mm in g M anu al
_3
1222 BAND DBAND Deadband control
3-30
Cha p ter 3 Ins tr uc tio n Tab les
Module instructions
Instruction code Pulse
API Symbol Function
16-bit 32-bit instruction
3_
Writing the data to the control register in
1401 TO DTO
the special module
3-31
AS Ser ies Pro gra mm in g M anu al
_3
3-32
Cha p ter 3 Ins tr uc tio n Tab les
3_
1417 ─ DMPID ─ PID algorithm for RTD/TC module
3-33
AS Ser ies Pro gra mm in g M anu al
_3
HC module measurements of frequency
1423 ─ DHCMEAS ─
and revolution
3-34
Cha p ter 3 Ins tr uc tio n Tab les
3_
3-35
AS Ser ies Pro gra mm in g M anu al
_3
1512 ─ FSQR Square root of a floating-point number
3-36
Cha p ter 3 Ins tr uc tio n Tab les
3_
1607 DST ─ Daylight saving time
Peripheral instructions
Instruction code Pulse
API Symbol Function
16-bit 32-bit instruction
Communication instructions
Instruction code Pulse
API Symbol Function
16-bit 32-bit instruction
3-37
AS Ser ies Pro gra mm in g M anu al
_3 1812 COMRS ─ ─
Sending and receiving communication
data
3-38
Cha p ter 3 Ins tr uc tio n Tab les
Other instructions 3_
Instruction code Pulse
API Symbol Function
16-bit 32-bit instruction
3-39
AS Ser ies Pro gra mm in g M anu al
3-40
Cha p ter 3 Ins tr uc tio n Tab les
Ethernet instructions
Instruction code Pulse
API instruction
Symbol Function
16-bit 32-bit
3-41
AS Ser ies Pro gra mm in g M anu al
_3
MQTT_
2214 ─ ─ Establishing a MQTT connection
Connect
MQTT_
2215 ─ ─ Publishing a MQTT message
Publish
MQTT_
2216 ─ ─ Subscribing to a MQTT topic
Subscribe
3-42
Cha p ter 3 Ins tr uc tio n Tab les
Record_
2305 ─ ─ Recording and writing data into a file
trigger
3-43
AS Ser ies Pro gra mm in g M anu al
2-Axis relative-position
2714 – DCICCR –
counterclockwise arc interpolation
3-44
Cha p ter 3 Ins tr uc tio n Tab les
2-Axis absolute-position
2715 – DCICCA – counterclockwise arc
interpolation
Zero return 2
2724 – DZRN2 –
(output direction can be set)
3-45
AS Ser ies Pro gra mm in g M anu al
_3
Reading and writing CANopen
2807 COPRW – –
communication data
3-46
Cha p ter 3 Ins tr uc tio n Tab les
3-47
AS Ser ies Pro gra mm in g M anu al
3-48
Cha p ter 3 Ins tr uc tio n Tab les
3-49
AS Ser ies Pro gra mm in g M anu al
3-50
Cha p ter 3 Ins tr uc tio n Tab les
3-51
AS Ser ies Pro gra mm in g M anu al
module
3-52
Cha p ter 3 Ins tr uc tio n Tab les
the status
Modifying the starting address for E-CAM
2816 ECAMC – – chart and the E-CAM chart length in the
servo
2813 ECAMD – – Downloading E-CAM chart to the Slave
2208 EIPRW – –
Reading and writing through an 3_
EtherNet/IP connection
0503 EIX – – Disabling a specific interrupt
3-53
AS Ser ies Pro gra mm in g M anu al
3-54
Cha p ter 3 Ins tr uc tio n Tab les
number
3-55
AS Ser ies Pro gra mm in g M anu al
3-56
Cha p ter 3 Ins tr uc tio n Tab les
3_
Writing data from the PLC to the memory
2300 MWRIT –
card
0805 MXOR – Matrix exclusive OR operation
3-57
AS Ser ies Pro gra mm in g M anu al
0903 RCL DRCL Rotating to the left with the carry flag
0901 RCR DRCR Rotating to the right with the carry flag
2305 Record_trigger – – Recording and writing data into a file
1107 SFDEL DSFDEL Deleting the data from the data list
S
1108 SFINS DSFINS Inserting the data into the data list
Shifting the values of the bits in the
1111 SFL DSFL
registers by n bits to the left
1106 SFPO DSFPO Reading the latest data from the data list
Shifting the values of the bits in the
1110 SFR DSFR
registers by n bits to the right
Shifting the data and reading it from the
1105 SFRD DSFRD
word device
1101 SFTL – Shifting the states of the devices to the left
Shifting the states of the devices to the
1100 SFTR –
right
Shifting the data and writing it into the word
1104 SFWR DSFWR
device
3-58
Cha p ter 3 Ins tr uc tio n Tab les
3-59
AS Ser ies Pro gra mm in g M anu al
3-60
4
Chapter 4 Instruction Structure
Table of Contents
4.1 Applied Instructions - API Description .............................................. 4-2
4-1
AS Ser ies Pro gra mm in g M anu al
_4
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
S : Data source
D : Data destination
1. The devices used by the instruction are listed in the operand column. S, D, n, and m are used as the operands
according to their functions. When more than one operand is used, and these operands share the same function,
they are differentiated by subscripts; for example, S1, and S2.
2. If you can use a 16-bit instruction as a 32-bit instruction, the letter D prepended to the 16-bit instruction code to
form the 32-bit instruction form. If you can use the instruction as a pulse instruction, the letter P is appended to the
instruction code. For example, “D***P” in which “***” is the instruction code indicates a 32-bit pulse instruction.
3. F in the operand area indicates a single precision floating point number (32-bit).
4. The solid circle ● indicates that the device can be modified by an index register, and the hollow circle ○ indicates
that the device cannot be modified by an index register. For example, the data register designated by the operand
S can be modified by an index register.
5. The applicable model is indicated in the table. You can check whether you can use the instruction as a pulse
instruction, a 16-bit instruction, a 32-bit instruction, or a 64-bit instruction according to the information in the table.
6. If you want to use an instruction in a function block, and the output, input, and data devices are supported in the
operands, you have to use the pointer registers. AS indicates that to use a timer, a 16-bit counter, and a 32-bit
4-2
Ch ap te r 4 Ins truc tion Struc ture
counter that are supported in the operands, you have to use the timer pointer register, the 16-bit counter pointer
register, and the 32-bit counter pointer register. Refer to Sections 4.4–4.7 for more information or Section 7.2.4 in
the ISPSoft manual.
MOV, MOVP, DMOV, and DMOVP are the Instruction codes for this instruction
En: Enable
S: The data source (the applicable format of the operand is a word/double word.)
D: The data destination (the applicable format of the operand is a word/double word.)
Some applied instructions are composed of instruction codes. For example, the EI, DI, and WDT instructions; however,
most applied instructions consist of instruction codes and several operands.
Every applied instruction has its own API number and instruction code. For example, the instruction code API 0300 is the
MOV (transfer data) instruction. You can enter an applied instruction in three ways.
Enter the instruction directly: you can enter the instruction in ISPSoft. For the MOV instruction, enter the instruction
4_
name and the operands to designate “MOV D0
Enter the instruction by dragging: you can drag the MOV instruction from APIs in ISPSoft to the ladder diagram editor.
Enter the instruction from the toolbar: you can click API/FB Selection on the toolbar in ISPSoft, and then click API.
Finally, click the MOV instruction in Data Transfer.
Source operand
S If there is more than one source operand, the source operands are represented by subscript (for
example S1, S2).
Destination operand
D If there is more than one destination operand, the destination operands are represented by
subscript (for example, D1, D2).
If the operand only can be a constant K/H or a register value, it is represented by m, m1, m2, n, n1, or n2.
Operand values in instructions are divided into 16-bit values and the 32-bit values. In order to process data of difference
lengths, the instructions are divided into 16-bit and 32-bit instructions. To differentiate a 32-bit instruction from the 16-bit
form, a D is added in front of the 16-bit instruction code (16-bit MOV and 32-bit DMOV).
4-3
AS Ser ies Pro gra mm in g M anu al
Floating-point number instructions support 32-bit floating-point number instructions that correspond to the single-
_4 precision floating-point number instructions. Refer to Chapter 2 for more information about floating-point numbers.
1. Instruction execution can be divided into continuous and pulse execution. You can reduce the scan cycle with
pulse instructions because when the instruction is not executed, less time is needed to execute the program.
2. The pulse function allows the related instruction to enable the rising edge-triggered control input. The instruction is
ON for one scan cycle.
3. If the control input stays ON, and the related instruction is not executed, the control input must be switched from
OFF to ON again in order to execute the instruction.
4. The following shows the difference between pulse and continuous instruction:
Continuous execution
Whenever M1 is ON during the scan cycle,
the MOV instruction is executed once.
Therefore, the instruction is called a
continuous instruction.
When the conditional contact M1 is OFF, neither instruction is executed, and the value in the destination operand D does
not change.
4-4
Ch ap te r 4 Ins truc tion Struc ture
User-defined operands
• Timers: T0–T511
• Constants: The decimal constants are indicated by K, and the hexadecimal constants are indicated by 16#.
• Strings: “$”
• The length of the data in one register is generally 16 bits. If you want to store 32-bit data in the register, designate
two consecutive registers for the data.
• If the operand in a 32-bit instruction uses D0, it occupies the 32-bit data register composed of (D1, D0). D1
represents the higher 16 bits, and D0 represents the lower 16 bits. The same rule applies to the timer and the 16-
bit counter.
• When you use the 32-bit counter HC as the data register, it can only be used by the operand in a 32-bit instruction.
4-5
AS Ser ies Pro gra mm in g M anu al
System-defined operands
• The system assigns the variables to declare such as BOOL, WORD, INT and so on: U0–U16387 and W0–
W29999.
The following table lists the pointer type variable symbols, the supporting devices and usage.
4-6
Ch ap te r 4 Ins truc tion Struc ture
You cannot use the in function blocks: LDP, ANDP, ORP, LDF, ANDF, ORF, PLS, PLF, NP, PN, MC/MCR, GOEND
and all pulse instructions in applied instructions.
If you want to use some of the instructions mentioned above, you can use the substitute instructions in the
following table.
Instruction which cannot be used in the function block Substitute instruction in the function block
LDP/ANDP/ORP PED/APED/OPED
LDF/ANDF/ORF NED/ANED/ONED
PLS -
PLF - 4_
NP FB_NP
PN FB_PN
MC -
MCR -
*1: Pulse instructions cannot be used in function blocks. If you want to get the function of the pulse instruction in a
function block, refer to the following example.
Example:
2. When StartBit1 switches from OFF to ON, method 1 (network 1) and method 2 (network 2) can only execute the
MOV instruction once; you can choose which one to use.
3. You cannot use the variable tempBit in the system more than once.
4-7
AS Ser ies Pro gra mm in g M anu al
_4
CANopen
Communication CANRS, COPRW, COPWL, DCOPWL, ZRNM, ECAMD, ECAMS, ECAMA, ECAMC
Instructions
Memory Card / File
MEMW
Register Instructions
Communication
DNETRW
Instructions
Other Instructions INFO
4-8
Ch ap te r 4 Ins truc tion Struc ture
4_
NOTE 1: AS Series support using the register name to modify the device; for example, D0.1@E0 but does not
support 2-layered modification for example, [email protected]@E0.
NOTE 2: When E0=17, D0.1@E0=D0.(1+17)=D1.2, and D1.2 is ON. The bit part 1@E0=(1+17)=18. However, the
maximum bit number is 15. Since m=18/16=1 and the remainder is 2, the last modification result is D
(0+1).2=D1.2. D1.2 is ON.
4-9
AS Ser ies Pro gra mm in g M anu al
The type of StartBit is a Boolean array, and its size is 2 bits. The range is from StartBit[0] to StartBit[1].
The type of Var1 is a word array, and its size is 11 words. The range is from Var1[0] to Var1[10].
_4
Additional remark: When you declare the variables in ISPSoft, and the variables are added to the contents of the
registers to form the addresses to the actual data, you must note the addresses to prevent the
program from being executed incorrectly.
The index registers E0~E9 in the main program (e.g. POU, SFC, and FB) are different from the ones
(index registers E0~E9) in the interrupt program. They are independent groups of index registers and
they work separately.
You can use ISPSoft to monitor the values of index registers in the main program.
Application: If you use E0 in the main program and in the interrupt program. When an interrupt occurs,
before executing the interrupt program, the system stores the value of E0 in the main program. After
the interrupt program is executed, the value of E0 in the main program will be retained. So that the
interrupt program will not affect the value of E0 in the main program and the result of the main program
execution can stay unaffected.
Refer to the following example, if you need to monitor the values of index registers E0-E9 in the
interrupt program, or if the main program is also using the values of index registers E0-E9 in the
interrupt program. (Note: It is NOT recommended to use index registers as global variables. If you
need to use it as a global variable, you need to declare or define other devices to use it as a global
variable.)
4-10
Ch ap te r 4 Ins truc tion Struc ture
Example: Declare D100 as the variable of the index register E0. And this example use MOVE
instruction to demonstrate. Whenever an external interrupt occurs at X0.0, the value in D200
accumulates the occurrences in the values in D1000 ~ D1199.
4_
4 - 11
AS Ser ies Pro gra mm in g M anu al
You can declare 16 pointer registers in every function block. The range is PR0–PR15, or PR0.0–PR15.15.
Example:
Choose VAR_IN_OUT as the declaration type, Point1 as the identifier, POINTER as the data type. The variable is
the pointer register.
Call the function block FB0 in the program organization unit (POU).
The program in the program organization unit (POU) operates as shown below.
4-12
Ch ap te r 4 Ins truc tion Struc ture
When VarBit1 in FB0 is ON, E0=1, Var1=D0, Point1@E0=D (0+1)=D1, and Var2=D1.
Network 2: When StartBit[1] is ON, the address of CVar1[0] is transmitted to Point1 in FB0.
4_
Var2=CVar1[1]。When VarBit1 in FB0 is ON, E0=1, Var1=CVar1[0], Point1@E0=CVar1
(0+1)=Cvar1[1], and Var2=CVar1[1].
4-13
AS Ser ies Pro gra mm in g M anu al
When the variable declaration type is VAR_IN_OUT, and the data type is T_POINTER, the variable is the timer
pointer register. The value in the timer pointer register can refer directly to the value stored in the device T, or in the
variable which is the timer in ISPSoft.
You can declare up to 8 timer pointer registers in every function block. The range is TR0–TR7.
If you want to use an instruction in the function block, and the timer is supported by the operands, you must use a
timer pointer register.
Choose VAR_IN_OUT as the declaration type, TPoint1 as the identifier, and T_POINTER as the data type. The
variable is the timer pointer register.
4-14
Ch ap te r 4 Ins truc tion Struc ture
6. Call the function block FB0 in the program organization unit (POU).
7. The program in the program organization unit (POU) operates as shown below.
Network 1: When StartBit[0] is ON, the address of T511 is transmitted to TPoint1 in FB0.
When VarBit1 in the FB0 is ON, the TMR instruction is executed, and TPoint1 (T511) starts counting.
When the value of TPoint1 matches the TPoint1 setting, VarOut is ON.
Network 2: When StartBit[1] is ON, the address of CVar1[0] is transmitted to TPoint1 in FB0.
When VarBit1 in FB0 is ON, the TMR instruction is executed, and TPoint (CVar1) starts counting.
When the value of TPoint1 matches the TPoint1 setting, VarOut is ON.
4-15
AS Ser ies Pro gra mm in g M anu al
When the variable declaration type is VAR_IN_OUT, and the data type is C_POINTE, the variable is the 16-bit
counter pointer register. The value in the 16-bit counter pointer register can refer directly to the value stored in the
device T, or in the variable which is the counter in ISPSoft.
You can declare up to eight 16-bit counter pointer registers in every function block. The range is CR0–CR7.
If you want to use an instruction in the function block, and the counter is supported by the operands, you have to
use a 16-bit counter pointer register.
Choose VAR_IN_OUT as the declaration type, CPoint1 as the identifier, C_POINTER as the data type. The
variable is a 16-bit counter pointer register.
6. Call the function block FB0 in the program organization unit (POU).
4-16
Ch ap te r 4 Ins truc tion Struc ture
7. The program in the program organization unit (POU) operates as shown below.
Network 2: When StartBit[1] is ON, the address of CVar1 is transmitted to CPoint1 in FB0.
4_
When VarBit1 in FB0 is ON, CPoint1 (CVar1) is ON.
4-17
AS Ser ies Pro gra mm in g M anu al
When the variable declaration type is VAR_IN_OUT, and the data type is HC_POINTER, the variable is a 32-bit
counter pointer register. The value in a 32-bit counter pointer register can refer directly to the value stored in the
device HC or in the variable which is the counter in ISPSoft.
You can declare up to eight 32-bit counter pointer registers in every function block. The range is HCR0–HCR7.
If you want to use an instruction in the function block, and the 32-bit counter is supported by the operands, you
must use the 32-bit counter pointer register.
_4
Choose VAR_IN_OUT as the declaration type, HCPoint1 as the identifier, HC_POINTER as the data type. The
variable is a 32-bit counter pointer register.
The data type of CVar1 should be COUNTER, and you must fill in the address column with a valid address of the
32-bit counter.
5. Call the function block FB0 in the program organization unit (POU).
Network 1: When StartBit[0] is ON, the address of HC0 is transmitted to HCPoint1 in FB0.
4-18
Ch ap te r 4 Ins truc tion Struc ture
Network: When StartBit[1] is ON, the address of CVar1 is transmitted to HCPoint1 in FB0.
4-19
AS Ser ies Pro gra mm in g M anu al
You can edit, upload, and download the parameters in the file registers with ISPSoft.
The values in file registers can be read while the PLC is running. Refer to the MEMW instruction (API 2303) in the
AS300 Series Programming Manual for more information about how to read and write parameters to file registers.
_4
4-20
5
Chapter 5 Basic Instructions
Table of Contents
5.1 List of Basic Instructions ................................................................... 5-2
5-1
AS Ser ies Pro gra mmi ng Ma nua l
Operation
Instruction code Function Operand time
(µs)
Loading contact A/Connecting contact DX, X, Y, M, SM, S, T, C, HC, D
LD/AND/OR A in series/Connecting contact A in 0.025
parallel
Loading contact B/Connecting contact DX, X, Y, M, SM, S, T, C, HC, D
LDI/ANI/ORI B in series/Connecting contact B in 0.03
parallel
OUT Driving the coil DY, Y, M, SM, S, T, C, HC, D 0.04
SET Keeping the device on DY, Y, M, SM, S, T, C, HC, D 0.04
MC/MCR Setting/Resetting the master control N 0.24
Starting the rising-edge DX, X, Y, M, SM, S, T, C, HC, D
detection/Connecting the rising-edge
LDP/ANDP/ORP 0.22
detection in series/Connecting the
rising-edge detection in parallel
Starting the falling-edge DX, X, Y, M, SM, S, T, C, HC, D
detection/Connecting the falling-edge
LDF/ANDF/ORF 0.22
detection in series/Connecting the
_5 falling-edge detection in parallel
Starting the rising-edge X, Y, M, SM, S, T, C, HC, D
detection/Connecting the rising
PED/APED/OPED 0.22
edge-detection in series/Connecting
the rising-edge detection in parallel
Starting the falling-edge X, Y, M, SM, S, T, C, HC, D
detection/Connecting the falling-edge
NED/ANED/ONED 0.22
detection in series/Connecting the
falling-edge detection in parallel
PLS Rising-edge output Y, M, SM, S, D 0.22
PLF Falling-edge output Y, M, SM, S, D 0.22
INV Inverting the logical operation result – 0.22
NP The circuit is rising edge-triggered. – 0.24
PN The circuit is falling edge-triggered. – 0.24
FB_NP The circuit is rising edge-triggered. Y, M, S, D 0.24
FB_PN The circuit is falling edge-triggered. Y, M, S, D 0.24
5-2
Cha p ter 5 Bas ic Ins tr ucti ons
Device DX DY X Y M SM S T C HC D
S
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
Data type
S
Symbol
LD S : Specified device
AND
OR
5_
Explanation
1. LD applies to contact A that starts from the main line or contact A which is the start of a contact circuit. Use it to save
the current contents, and store the contact state in the accumulative register.
2. AND connects contact A in series. It reads the state of the contact that is specified as connected in series, and
performs the AND operation with the previous logical operation result. It stores the final result in the accumulative
register.
3. OR connects contact A in parallel. It reads the state of the contact that is specified as connected in parallel, and
performs the OR operation with the previous logical operation result. It stores the final result in the accumulative
register.
Example
1. Contact A of X0.0 is loaded, contact A of X0.1 is connected in series, contact A of X0.2 is connected in parallel, and
the coil Y0.0 is driven.
2. When both X0.0 and X0.1 are ON, or when X0.2 is ON, Y0.0 is ON.
5-3
AS Ser ies Pro gra mmi ng Ma nua l
Device DX DY X Y M SM S T C HC D
S
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
Data type
S
Symbol
ANI
ORI
Explanation
_5 1. LDI applies to contact B that starts from the main line or contact B that is the start of a contact circuit. Use it to save
the current contents, and store the contact state in the accumulative register.
2. ANI connects contact B in series. It reads the state of the contact that is specified as connected in series, and
performs the AND operation with the previous logical operation result. It stores the final result in the accumulative
register.
3. ORI connects contact B in parallel. It reads the state of the contact that is specified as connected in parallel, and
performs the OR operation with the previous logical operation result. It stores the final result in the accumulative
register.
Example
1. Contact B of X0.0 is loaded, contact B of X0.1 is connected in series, contact B of X0.2 is connected in parallel, and
the coil Y0.0 is driven.
2. When both X0.0 and X0.1 are ON, or when X0.2 is ON, Y0.0 is ON.
5-4
Cha p ter 5 Bas ic Ins tr ucti ons
Device DX DY X Y M SM S T C HC D
D
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
Data type
D
Symbol
D : Specified device
Explanation
1. The logical operation result prior to the application of the OUT instruction is output to the specified device.
OUT
Operation Contact
result Coil Contact A Contact B
5_
(normally open) (normally closed)
False OFF OFF ON
True ON ON OFF
Example
1. Contact B of X0.0 is loaded, contact A of X0.1 is connected in series, and the coil Y0.0 is driven.
5-5
AS Ser ies Pro gra mmi ng Ma nua l
Device DX DY X Y M SM S T C HC D
D
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
Data type
D
Symbol
D : Specified device
Explanation
When the instruction SET is driven, the specified device is set to ON. It does not matter if the SET instruction is still driven,
the specified device stays ON. You can set the specified device to OFF with the RST instruction.
Example
_5 1. Contact B of X0.0 is loaded, contact A of Y0.0 is connected in series, and Y0.1 stays ON.
2. When X0.0 is OFF, and Y0.0 is ON, Y0.1 is ON. Even if the operation result changes, Y0.1 still stays ON.
5-6
Cha p ter 5 Bas ic Ins tr ucti ons
Symbol
MCR
Explanation
1. MC sets the master control. When the MC instruction is executed, the instructions between MC and MCR are
executed as usual. When the MC instruction is OFF, the actions of the instructions between MC and MCR are as
described in the following table.
Instruction type Description
The timer value is reset to zero. The coil and the contact
General-purpose timer
are OFF.
The timer value is reset to zero. The coil and the contact
Timer in the function block
are OFF.
Accumulative timer
The coil is OFF. The timer value and the state of the 5_
contact remain the same.
The coil is OFF. The timer value and the state of the
Counter
contact remain the same.
Coils driven by OUT All coils are OFF.
Devices driven by SET and RST The states of the devices remain the same.
All applied instructions are not executed. The FOR/NEXT
loop is still repeated N times, but the actions of the
Applied instruction
instructions inside the FOR/NEXT loop follow those of the
instructions between MC and MR.
2. MCR resets the master control, and is placed at the end of the master control program. There should not be any
contact instruction before MCR.
3. MC/MCR supports the nested program structure. There are at most 32 levels of nested program structures
(N0–N31). Refer to the example below.
5-7
AS Ser ies Pro gra mmi ng Ma nua l
Example
_5
5-8
Cha p ter 5 Bas ic Ins tr ucti ons
Device DX DY X Y M SM S T C HC D
S
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
Data type
S
Symbol
LDP
ORP
Explanation
5_
1. LDP stores the current contents, and stores the rising-edge detection of the contact in the accumulative register.
4. The system must scan LDP/ANDP/ORP to get the state of the device. Changes to the device state are not detected
until LDP/ANDP/ORP is scanned the next time.
Example
1. The rising-edge detection of X0.0 starts, the rising-edge detection of X0.1 is connected in series, the rising-edge
detection of X0.2 is connected in parallel, and the coil Y0.0 is driven.
2. When both X0.0 and X0.1 are switched from OFF to ON, or when X0.2 is switched from OFF to ON, Y0.0 is ON for a
scan cycle.
5-9
AS Ser ies Pro gra mmi ng Ma nua l
Device DX DY X Y M SM S T C HC D
S
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
Data type
S
Symbol
LDF
ORF
_5 Explanation
1. LDF saves the current contents, and stores the contact falling-edge detection in the accumulative register.
4. The system must scan LDF/ANDF/ORF to get the state of the device. Changes to the device state are not detected
until LDF/ANDF/ORF is scanned the next time.
Example
1. The falling-edge detection of X0.0 starts, the falling-edge detection of X0.1 is connected in series, the falling-edge
detection of X0.2 is connected in parallel, and the coil Y0.0 is driven.
2. When both X0.0 and X0.1 switches from OFF to ON, or when X0.2 switches from OFF to ON, Y0.0 is ON for a scan
cycle.
5-10
Cha p ter 5 Bas ic Ins tr ucti ons
Device DX DY X Y M SM S T C HC D
S1
S2
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
Data type
S1
S2
Symbol
Explanation
4. The system must scan PED/APED/OPED to get the state of the device. Changes to the device state are not
detected until PED/APED/OPED is scanned the next time
6. The state of the operation result is automatically output after the instruction is executed. You do not need to use an
input device for this.
5 - 11
AS Ser ies Pro gra mmi ng Ma nua l
Example
1. The rising-edge detection of X0.0 starts, the rising-edge detection of X0.1 is connected in series, the rising-edge
detection of X0.2 is connected in parallel, and the coil Y0.0 is driven.
2. When both X0.0 and X0.1 switch from OFF to ON, or when X0.2 switches from OFF to ON, Y0.0 is ON for a scan
cycle.
_5
5-12
Cha p ter 5 Bas ic Ins tr ucti ons
Device DX DY X Y M SM S T C HC D
S1
S2
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
Data type
S1
S2
Symbol
5_
Explanation
4. The system must scan NED/ANED/ONED to get the state of the device. Changes to the device state are not
detected until NED/ANED/ONED is scanned the next time
6. The state of the operation result is automatically output after the instruction is executed. You do not need to use
input device for this.
5-13
AS Ser ies Pro gra mmi ng Ma nua l
Example
1. The falling -edge detection of X0.0 starts, the falling -edge detection of X0.1 is connected in series, the falling -edge
detection of X0.2 is connected in parallel, and the coil Y0.0 is driven.
2. When both X0.0 and X0.1 switch from OFF to ON, or when X0.2 switches from OFF to ON, Y0.0 is ON for a scan
cycle.
_5
5-14
Cha p ter 5 Bas ic Ins tr ucti ons
Device DX DY X Y M SM S T C HC D
D
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
Data type
D
Symbol
Explanation
1. When the conditional contact switches from OFF to ON, the PLS instruction is executed, and the device D sends out
a pulse for a scan cycle.
3. ISPSoft V3.06.01 supports data type D and the BOOL type variable for declaration. 5_
Example
When X0.0 is ON, M0 is ON for a pulse time. When M0 is ON, Y0.0 is set to ON.
Timing diagram
X0.0
On e sc an c y c le
M0.0
Y0.0
5-15
AS Ser ies Pro gra mmi ng Ma nua l
Device DX DY X Y M SM S T C HC D
D
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
Data type
D
Symbol
Explanation
1. When the conditional contact switches from ON to OFF, the instruction PLF is executed, and the device D sends out
a pulse for a scan cycle.
Example
When X0.0 is ON, M0 is ON for a pulse time. When M0 is ON, Y0.0 is set to ON.
Timing chart
X0 .0
One scan c ycle
M0
Y0 .0
5-16
Cha p ter 5 Bas ic Ins tr ucti ons
Symbol
Explanation
The logical operation result preceding the INV instruction is inverted, and the inversion result stored in the accumulative
register.
Example
When X0.0 is ON, Y0.0 is OFF. When X0.0 is OFF, Y0.0 is ON.
5_
5-17
AS Ser ies Pro gra mmi ng Ma nua l
Symbol
Explanation
1. When the value in the accumulative register switches from 0 to 1, the NP instruction keeps the value 1 in the
accumulative register for a scan cycle. After the second scan cycle is finished, the value in the accumulative register
changes to 0.
2. Use the FB_NP instruction in function blocks.
Example
Instruction Operation
_5
LD M0 Contact A of M0 is loaded.
Timing diagram
M0
M1
One scan c ycle One scan c ycle
Y0 .0
5-18
Cha p ter 5 Bas ic Ins tr ucti ons
Symbol
Explanation
1. When the value in the accumulative register switches from 1 to 0, the PN instruction keeps the value 1 in the
accumulative register for a scan cycle. After the second scan cycle is finished, the value in the accumulative register
changes to 0.
Example
5_
Instruction Operation
LD M0 Contact A of M0 is loaded.
Timing diagram
M0
M1
One scan cycle One scan cycle
Y0 .0
5-19
AS Ser ies Pro gra mmi ng Ma nua l
Device DX DY X Y M SM S T C HC D
S
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
Data type
S
Symbol
Explanation
1. When the value in the accumulative register turns from 0 to 1, the FB_NP instruction keeps the value 1 in the
accumulative register for a scan cycle. After the second scan cycle is finished, the value in the accumulative register
changes to 0.
_5 2. The previous state of the contact is stored in the bit device S. Do not use S repeatedly in the program. Otherwise,
the wrong execution result appears.
Example
Instruction Operation
LD M0 Contact A of M0 is loaded.
Timing diagram
M0
M1
One scan cycl e One scan cycl e
Y0 .0
5-20
Cha p ter 5 Bas ic Ins tr ucti ons
Device DX DY X Y M SM S T C HC D
S
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
Data type
S
Symbol
Explanation
1. When the value in the accumulative register switches from 1 to 0, the FB_PN instruction keeps the value 1 in the
accumulative register for a scan cycle. After the second scan cycle is finished, the value in the accumulative register
changes to 0.
2. The previous state of the contact is stored in the bit device S. Do not use S repeatedly in the program. Otherwise,
5_
the wrong execution result appears.
Example
Instruction Operation
LD M0 Contact A of M0 is loaded.
Timing diagram
M0
M1
One scan cycle One scan cycle
Y0 .0
5-21
AS Ser ies Pro gra mmi ng Ma nua l
MEMO
_5
5-22
6
Chapter 6 Applied Instructions
Table of Contents
6.1 Comparison Instructions ....................................................................... 6-4
6.1.1 List of Comparison Instructions ............................................................ 6-4
6.1.2 Explanation of Comparison Instructions................................................. 6-7
6-1
AS Ser ies Pro gra mm in g M anu al
6-2
C h a p t e r 6 Ap p l i e d I n s t r u c t i o n s
6_
6-3
AS Ser ies Pro gra mm in g M anu al
6-4
C h a p t e r 6 Ap p l i e d I n s t r u c t i o n s
6-5
AS Ser ies Pro gra mm in g M anu al
_6
6-6
C h a p t e r 6 Ap p l i e d I n s t r u c t i o n s
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S2 : Data source 1
1. These instructions compare the values in S1 and S2. Take the LD= instruction for example. When the comparison 6_
result is that the value in S1 is equal to that in S2, the continuity condition of the instruction is met. When the
comparison result is that the value in S1 is not equal to that in S2, the discontinuity condition of the instruction is
met.
2. Only the 32-bit instruction can use the 32-bit counter, but not the device E.
Example
2. When the value in D200 is greater than -30, Y0.11 stays ON.
3. When the value in (C201, C200) is less than 678,493, or when M3 is ON, M50 is ON.
6-7
AS Ser ies Pro gra mm in g M anu al
_6
6-8
C h a p t e r 6 Ap p l i e d I n s t r u c t i o n s
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S2 : Data source 2
1. These instructions compare the values in S1 and S2. Take the AND= instruction for example. When the comparison
result is that the value in S1 is equal to that in S2, the continuity condition of the instruction is met. When the
comparison result is that the value in S1 is not equal to that in S2, the discontinuity condition of the instruction is
6_
met.
2. Only the 32-bit instruction can use the 32-bit counter, but not the device E.
Example
1. When X0.0 is ON and the current value in C10 is equal to 100, Y0.10 is ON.
2. When X0.1 is OFF and the value in D0 is not equal to -10, Y0.11 stays ON.
3. When X0.2 is ON and the value in (D11, D10) is less than 678,493, or when M3 is ON, M50 is ON.
6-9
AS Ser ies Pro gra mm in g M anu al
_6
6-10
C h a p t e r 6 Ap p l i e d I n s t r u c t i o n s
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S2 : Data source 2
Explanation
1. These instructions compare the values in S1 and S2. Take the OR= instruction for example. When the comparison
result is that the value in S1 is equal to that in S2, the continuity condition of the instruction is met. When the 6_
comparison result is that the value in S1 is not equal to that in S2, the discontinuity condition of the instruction is
met.
2. Only the 32-bit instruction can use the 32-bit counter, but not the device E.
Example
1. When X0.1 is ON, or when the current value in C10 is equal to 100, Y0.10 is ON.
2. When both X0.2 and M30 are ON, or when the value in (D101, D100) is greater than or equal to 1000,000, M60 is
ON.
6 - 11
AS Ser ies Pro gra mm in g M anu al
_6
6-12
C h a p t e r 6 Ap p l i e d I n s t r u c t i o n s
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S2 : Data source 2
Explanation
1. These instructions compare the 32-bit single precision floating point number
6_
2. Compare values in S1 and S2. Take the FLD= instruction for example. When the comparison result is that the value
in S1 is equal to that in S2, the continuity condition of the instruction is met. When the comparison result is that the
value in S1 is not equal to that in S2, the discontinuity condition of the instruction is met. Refer to Additional
Remarks point 2 below for more information on the instruction of FLD=.
6-13
AS Ser ies Pro gra mm in g M anu al
Example
Take the FLD= instruction for example. When the value in D0 is equal to that in D2, Y0.0 is ON.
Additional remarks
1. If the value in S1 or S2 exceeds the range of values that can be represented by floating-point numbers, the contact
is OFF, SM is ON, and the error code in SR0 is 16#2013.
2. If the floating-point value in S1 or S2 is from external input, or from ISPSoft, chances are a minor value difference
may occur and the result of the “FLD=“ instruciton may not be dependable. Use instructions “FLD<” and” FAND>”
or “FLD>” and “FAND<” instead when the floating-point value in S1 or S2 is from external input, or from ISPSoft.
_6
6-14
C h a p t e r 6 Ap p l i e d I n s t r u c t i o n s
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S1 : Data source 1
S2 : Data source 2
Explanation
1. These instructions compare the 32-bit single precision floating point numbers
6_
2. Compare values in S1 and S2. Take the FAND= instruction for example. When the comparison result is that the
value in S1 is equal to that in S2, the continuity condition of the instruction is met. When the comparison result is
that the value in S1 is not equal to that in S2, the discontinuity condition of the instruction is met.
6-15
AS Ser ies Pro gra mm in g M anu al
Example
Take the instruction FAND= for example. When X1.0 is ON and the value in D1 is equal to that in D2, Y1.0 is ON.
Additional remarks
1. If the value in S1 or S2 exceeds the range of values that can be represented by floating-point numbers, the contact
is OFF, SM is ON, and the error code in SR0 is 16#2013.
_6
6-16
C h a p t e r 6 Ap p l i e d I n s t r u c t i o n s
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S2 : Data source2
Explanation
1. These instructions compare the 32-bit single precision floating point numbers. 6_
2. Compare values in S1 and S2. Take the FOR= instruction for example. When the comparison result is that the value
in S1 is equal to that in S2, the continuity condition of the instruction is met. When the comparison result is that the
value in S1 is not equal to that in S2, the discontinuity condition of the instruction is met.
6-17
AS Ser ies Pro gra mm in g M anu al
Example
When X1.0 is ON, or when the value in D1 is equal to that in D2, Y1.0 is ON.
Additional remarks
1. If the value in S1 or S2 exceeds the range of values that can be represented by floating-point numbers, the contact
is OFF, SM is ON, and the error code in SR0 is 16#2013.
_6
6-18
C h a p t e r 6 Ap p l i e d I n s t r u c t i o n s
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S1 : Data source1
S2 : Data source2
Explanation
2. S1 and S2 can contain strings up to 256 characters(16#00 the end symbol is included).
6_
3. Take the instruction LD$= for example. When the comparison result is that the value in S1 is equal to that in S2, the
continuity condition of the instruction is met. When the comparison result is that the value in S1 is not equal to that
in S2, the discontinuity condition of the instruction is met.
b 15 b8 b7 b0
S 16#32( 2) 16#31( 1)
6-19
AS Ser ies Pro gra mm in g M anu al
5. When the two strings are the same, the corresponding comparison results of the instructions are listed below. For
example:
b 15 b8 b7 b0 b 15 b8 b7 b0
Example
When the string starting with the data in D0-16#00 is equal to the string staring with D2-16#00, Y0.0 is ON.
Additional remarks
_6 1. If the string contains more than 256 characters or the string does not end with 16#00, the instruction is not
executed, SM is ON, and the error code in SR0 is 16#200E.
2. During the string comparison, the string ends when the end symbol 16#00 is found. The symbol 16#00 determines
the length of the string.
6-20
C h a p t e r 6 Ap p l i e d I n s t r u c t i o n s
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S2 : Data source2
Explanation
1. These instructions compare the strings in S1 and S2.
2. S1 and S2 can contain string up to 256 characters (16#00 the end symbol is included).
6_
3. Take the AND$= instruction for example. When the comparison result is that the value in S1 is equal to that in S2,
the continuity condition of the instruction is met. When the comparison result is that the value in S1 is not equal to
that in S2, the discontinuity condition of the instruction is met.
16-bit Continuity Discontinuity
API number
instruction condition condition
0042 AND$= S1=S2 S1≠S2
0043 AND$<> S1≠S2 S1=S2
Only when the data in S–S+n (n indicates the nth device, up to 256 characters in each string) includes 16#00 can
the instruction compare the data as complete strings. For example:
b 15 b8 b7 b0
S 16#32( 2) 16#31( 1)
6-21
AS Ser ies Pro gra mm in g M anu al
4. When two strings are the same, the corresponding comparison operation results of the instructions are listed
below. For example:
b 15 b8 b7 b0 b 15 b8 b7 b0
Example
When the string starting with the data in D0-16#00 is equal to the string staring with D2-16#00, Y0.0 is ON.
Additional remarks
_6
1. If the string contains more than 256 characters or the string does not end with 16#00, the instruction is not
executed, SM is ON, and the error code in SR0 is 16#200E.
2. During the string comparison, the string ends when the end symbol 16#00 is found. The symbol 16#00 determines
the length of the string.
6-22
C h a p t e r 6 Ap p l i e d I n s t r u c t i o n s
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S2 : Data source2
Explanation
1. These instructions compare the strings in S1 and S2.
2. S1 and S2 can contain up to 256 characters (16#00 the end symbol is included). 6_
3. Take the instruction OR$= for example. When the comparison result is that the value in S1 is equal to that in S2, the
continuity condition of the instruction is met. When the comparison result is that the value in S1 is not equal to that
in S2, the discontinuity condition of the instruction is met.
Only when the data in S–S+n (n indicates the nth device, up to 256 characters in each string) includes 16#00 can
the instruction compare the data as complete strings. For example:
b 15 b8 b7 b0
S 16#32( 2) 16#31( 1)
6-23
AS Ser ies Pro gra mm in g M anu al
4. When two strings are the same, the corresponding comparison operation results of the instructions are listed
below. For example:
b 15 b8 b7 b0 b 15 b8 b7 b0
Example
When the string starting with the data in D0-16#00 is equal to the string staring with D2-16#00, Y0.0 is ON.
_6
Additional remarks
1. If the string contains more than 256 characters or the string does not end with 16#00, the instruction is not
executed, SM is ON, and the error code in SR0 is 16#200E.
2. During the string comparison, the string ends when the end symbol 16#00 is found. The symbol 16#00 determines
the length of the string.
6-24
C h a p t e r 6 Ap p l i e d I n s t r u c t i o n s
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
S2 : Comparison value2
D : Comparison result
6_
Explanation
1. These instructions compare the single decimal numbers in S1 and S2 and store the comparison results in D.
2. The operand D occupies 3 consecutive devices. The comparison results are stored in D, D+1, and D+2. If the
value in S1 is greater than the value in S2, D is ON. If the value in S1 is equal to the value in S2, D+1 is ON. If the
value in S1 is less than the value in S2, D+2 is ON.
3. Only the DCMP and DCMPP instructions can use the 32-bit counter, but not the device E.
Example
1. If the operand D is M0, the comparison results are stored in M0, M1 and M2, as shown below.
2. When X0.0 is ON, the CMP instruction is executed. M0, M1, or M2 is ON. When X0.0 is OFF, the execution of the
CMP instruction stops and the state of M0, the state of M1, and the state of M2 remain unchanged.
6-25
AS Ser ies Pro gra mm in g M anu al
3. If you need to clear the comparison result, use the RST or ZRST instruction.
Additional remarks
_6 1. If you declare the operand D in ISPSoft, the data type is ARRAY [3] of BOOL.
2. If D+2 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
6-26
C h a p t e r 6 Ap p l i e d I n s t r u c t i o n s
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S
D
D : Comparison result 6_
Explanation
1. These instructions compare signed decimal numbers in S and S1, and compare the signed decimal numbers in S
and S2, and stores the comparison results in D.
2. The value in S1 must be less than that in S2. If the value in S1 is larger than that in S2, S1 is the maximum/minimum
value during the execution of the ZCP instruction.
3. The operand D occupies three consecutive devices. The comparison results are stored in D, D+1, and D+2.
If the value in S1 is less than the value in S, D is ON.
If the value in S is between the values in S1 and S2, D+1 is ON.
If the value in S is greater than the value in S2, D+2 is ON.
4. Only the DZCP and DZCPP instructions can use the 32-bit counter, but not the device E.
6-27
AS Ser ies Pro gra mm in g M anu al
Example
1. If the operand D is M0, the comparison results are stored in M0, M1 and M2, as shown below.
2. When X0.0 is ON, the ZCP instruction is executed. M0, M1, or M2 is ON. When X0.0 is OFF, the ZCP instruction is
not executed, and the state of M0, the state of M1, and the state of M2 remain unchanged.
3. If you need to clear the comparison result, use the RST or ZRST instruction.
_6
Additional remarks
1. If you declare the operand D in ISPSoft, the data type is ARRAY [3] of BOOL.
2. If D+2 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
6-28
C h a p t e r 6 Ap p l i e d I n s t r u c t i o n s
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
D : Comparison result
Explanation 6_
1. This instruction compares the floating-point numbers in S1 and S2, and stores the comparison results (>,=,<)
in D.
2. The operand D occupies three consecutive devices. The comparison results are stored in D, D+1, and D+2. If the
value in S1 is greater than the value in S1, D is ON. If the value in S1 is equal to the value in S2, D+1 is ON. If the
value in S1 is less than the value in S2, D+2 is ON.
Example
1. If the operand D is M10, the comparison results is stored in M10, M11 and M12, as shown below.
2. When X0.0 is ON, the FCMP instruction is executed. M10, M11, or M12 is ON. When X0.0 is OFF, the FCMP
instruction is not executed and the state of M10, the state of M11, and the state of M12 remain unchanged.
3. If you want to get the comparison result ≧, ≦, or ≠, connect M10–M12 is series or in parallel.
4. If you want to clear the comparison result, use the RST or ZRST instruction.
6-29
AS Ser ies Pro gra mm in g M anu al
Additional remarks
1. If the value in S1 or S2 exceeds the range of values that can be represented by the floating-point numbers, the
contact is OFF, SM is ON, and the error code in SR0 is 16#2013.
2. If you declare the operand D in ISPSoft, the data type is ARRAY [3] of BOOL.
3. If D+2 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
_6
6-30
C h a p t e r 6 Ap p l i e d I n s t r u c t i o n s
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S
D
D : Comparison result 6_
Explanation
1. This instruction compares the floating-point numbers in S and S1, and compare the floating-point numbers in S with
that in S2, and then stores the results in D.
2. The value in S1 must be less than that in S2. If the value in S1 is larger than that in S2, S1 is the maximum/minimum
value during the execution of the FZCP instruction.
3. The operand D occupies three consecutive devices. The comparison results are stored in D, D+1, and D+2. If the
value in S1 is greater than the value in S, D is ON. If the value in S is between the value in S1 and the value in S2,
D+1 is ON. If the compared value in S2 is less than the value in S, D+2 is ON.
Example
1. If the operand D is M0, the comparison results are stored in M0, M1 and M2.
2. When X0.0 is ON, the FZCP instruction is executed. M0, M1, or M2 is ON. When X0.0 is OFF, the FZCP instruction
is not executed, and the state of M0, the state of M1, and the state of M2 remain unchanged.
3. If you want to clear the comparison result, use the RST or ZRST instruction.
6-31
AS Ser ies Pro gra mm in g M anu al
Additional remarks
1. If the value in S1 or S2 or S exceeds the range of values that can be represented by the floating-point numbers, the
contact is OFF, SM is ON, and the error code in SR0 is 16#2013.
2. If you declare the operand D in ISPSoft, the data type is ARRAY [3] of BOOL.
3. If D+2 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
_6
6-32
C h a p t e r 6 Ap p l i e d I n s t r u c t i o n s
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
n
D
D : Pointer
6_
Explanation
1. This instruction searches for the bits with different states, starting from the bits specified by adding one to the
current value in D. After finding the bits with different states, the instruction stores the bit number in D, and the
comparison is finished.
3. When SM607 is ON, the equivalent values are compared. When SM607 is OFF, the different values are compared.
When the matching bits are found, the comparison stops immediately, and SM610 is ON. When the last bits are
compared, SM608 is ON, and the bit number is stored in D. The comparison starts from the 0th bits in the next scan
cycle, and SM609 is ON. When the value in D exceeds the range, SM611 is ON.
4. When the MCMP instruction is executed, you need a 16-bit register to specify a certain bit among the 16n bits in
the matrix for the operation. The register is called the pointer, and is specified by you. The value in the register is
between 0–16n-1, and corresponds to the bit between b0 to b16n-1. During the operation, you are prevented from
altering the value of the pointer in case the search for the matching bits is affected. If the value of the pointer
exceeds the range, SM611 is ON, and the MCMP instruction is not executed.
6-33
AS Ser ies Pro gra mm in g M anu al
Example
1. When X0.0 is switched from OFF to ON, SM609 is OFF. The search for the bits with different states (SM607 is
OFF) starts from the bits specified by the adding one to the current value of the pointer.
2. Suppose the current value in D20 is 2. When X0.0 is switched from OFF to ON four times, you get the following
execution results.
2 Pointer
b0 D20
S1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 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 0 1
b47
MCMP
b0
S2
_6
0 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1
b47
Additional remarks
1. Operation error codes: If the devices S1+n-1 and S2+n-1 exceed the range, the MCMP instruction is not executed,
SM is ON, and the error code in SR0 is 16#2003. If the value in the operand n is not between 1 and 256, the
MCMP instruction is not executed, SM is ON, and the error code in SR0 is 16#200B.
2. Operation flags:
SM608: The matrix comparison ends. When the last bits are compared, SM608 is ON.
Matrix bit search flag. When the matching bits are found, the comparison stops immediately, and
SM610:
SM610 is ON.
Matrix pointer error flag. When the value of the pointer exceeds the comparison range, SM611 is
SM611:
ON.
6-34
C h a p t e r 6 Ap p l i e d I n s t r u c t i o n s
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
n
D
S2 : Source device 2
n : Data length
D : Comparison result 6_
Explanation
1. This instruction compares n signed decimal numbers in devices starting at S1 with those in devices starting at S2,
and then stores the comparison results in D.
4. When the results of the comparison using the CMPT# instruction are that all devices are ON, SM620 is ON.
Otherwise, SM620 is OFF.
S 1 +( N- 2) 10(BIN) S 2 +( N- 2) 8888(BIN) D +( N- 2) 0
S 1 +( N- 1) 90(BIN) S 2 +( N- 1) 9999(BIN) D +( N- 1) 0
6-35
AS Ser ies Pro gra mm in g M anu al
6. If the operand S1 is a constant between -32768 to 32767, the comparison is as shown below.
Compar ison result
S2 1111(B IN) D 0
S 2 +1 2222(BIN) D +1 0
Compar iosn sign S 2 +2 3333(BIN) D +2 1
S1 3333(BIN) = S 2 +3 4444(BIN) n D +3 0
~
S 2 +( N- 2) 8888(BIN) D +( N- 2) 0
S 2 +( N- 1) 9999(BIN) D +( N- 1) 0
7. The corresponding comparison operation results of the instructions are listed in the following table.
Example
The data in D0–D3 are compared with that in D10–D13. If the comparison result is that the data in D0–D3 are the same
as that in D10–D13, Y0.1–Y0.4 are ON.
_6
Comparison result
Additional remarks
1. If the value in the operand n is not between 1–256, the instruction is not executed, SM is ON, and the error code in
SR0 is 16#200B.
2. If the number of devices specified by S1–S1+n, S2–S2+n, or D is insufficient, the instruction is not executed, SM0 is
ON, and the error code in SR0 is 16#2003.
6-36
C h a p t e r 6 Ap p l i e d I n s t r u c t i o n s
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
n
D
S : Pointer register
n : Number of devices
D : Check result
Explanation 6_
1. This instruction checks whether the value in S and (the value in S)+n-1 exceed the device range. If the result is
that the value in S and (the value in S)+n-1 do not exceed the device range, the device D is ON. Otherwise, it is
OFF.
4. You can use the CHKADR instruction only in a function block. Use CHKADR during the initial program
development phase or when you are not sure if the device range will be exceeded. After the program is written and
debugged, you can delete this instruction.
6-37
AS Ser ies Pro gra mm in g M anu al
Example
2. Declare VarPR1, VarTR1, VarCR1, and VarHCR1 in the function block, and assign the data types POINTER,
T_POINTER, C_POINTER, and HC_POINTER to them respectively.
_6
3. Call the function block FB0 in the program, and assign D29999, T0, C511, and HC50 to VarPR1, VarTR1, VarCR1,
and VarHCR1 in FB0 respectively.
4. Use the CHKADR instruction to check whether VarPR1, VarTR1, VarCR1, and VarHCR1 exceed the range.
5. When chkPR is ON, the actual device represented by VarPR1 is D29999. Since the legal range of devices is from
D0 to D29999, and D29999+10-1=D30008 which exceeds the range, PR_ChkBit is OFF.
6-38
C h a p t e r 6 Ap p l i e d I n s t r u c t i o n s
6. When chkTR is ON, the actual device represented by VarTR1 is T0. Since the legal range of devices is from T0 to
T511, and T0+10-1=T9 which does not exceed the range, TR_ChkBit is ON.
7. When chkCR is ON, the actual device represented by C511. Since the legal range of devices is from C0 to C511,
and C511+10-1=C520 which exceeds the range, CR_ChkBit is OFF.
8. When chkHCR is ON, the actual device represented by HC50 is VarHCR1. Since the legal range of deices is from
HC0 to HC255, and HC50+10-1=HC59 which does not exceed the range, HCR_ChkBit is ON.
6_
Additional remarks
1. If the value (the actual device address) in S exceeds the device range, the CHKADR instruction is not executed,
SM is ON, and the error code in SR0 is 16#2003.
2. If the value in the operand n is not between 1–1024, the CHKADR instruction is not executed, SM is ON, and the
error code in SR0 is 16#200B.
6-39
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
S2 : Data source2
S3 : Comparison result
_6
Explanation
1. These instructions compare the absolute value of the difference between S1 and S2 with the absolute value of S3.
Take the LDZ= instruction for example. If the comparison result is that the absolute value of the difference between
S1 and S2 is equal to the absolute value of S3, the continuity condition of the instruction is met. If the comparison
result is that the absolute value of the difference between S1 and S2 is not equal to the absolute value of S3, the
discontinuity condition of the instruction is met.
6-40
C h a p t e r 6 Ap p l i e d I n s t r u c t i o n s
2. Only the 32-bit instruction can use the 32-bit HC device, but not the device E.
Example
1. When the absolute difference of D10 and D11 is greater than 200, Y0.0 is ON. While the absolute difference is less
than 200, Y0.0 is OFF.
6_
6-41
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
S2 : Data source2
S3 : Comparison result
_6
Explanation
1. These instructions compare the absolute value of the difference between S1 and S2 with the absolute value of S3.
Take the ANDZ= instruction for example. If the comparison result is that the absolute value of the difference
between S1 and S2 is equal to the absolute value of S3, the continuity condition of the instruction is met. If the
comparison result is that the absolute value of the difference between S1 and S2 is not equal to the absolute value
of S3, the discontinuity condition of the instruction is met.
6-42
C h a p t e r 6 Ap p l i e d I n s t r u c t i o n s
2. Only the 32-bit instruction can use the 32-bit HC device, but not the device E.
Continuity Discontinuity
API number 16-bit instruction 32-bit instruction
condition condition
0072 ANDZ= DANDZ= | S1- S2|=| S3| | S1- S2| ≠ | S3|
0073 ANDZ<> DANDZ<> | S1- S2|≠| S3| | S1- S2|=| S3|
0074 ANDZ> DANDZ> | S1- S2|>| S3| | S1- S2| ≦ | S3|
Example
1. When M0 is ON and the absolute difference of D10 and D11 is greater than 200, Y0.0 is ON. While the absolute
difference is less than 200, Y0.0 is OFF.
6_
6-43
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
S2 : Data source2
S3 : Comparison result
_6
Explanation
1. These instructions compare the absolute value of the difference between S1 and S2 with the absolute value of S3.
Take the ORZ= instruction for example. If the comparison result is that the absolute value of the difference between
S1 and S2 is equal to the absolute value of S3, the continuity condition of the instruction is met. If the comparison
result is that the absolute value of the difference between S1 and S2 is not equal to the absolute value of S3, the
discontinuity condition of the instruction is met.
6-44
C h a p t e r 6 Ap p l i e d I n s t r u c t i o n s
2. Only the 32-bit instruction can use the 32-bit HC device, but not the device E.
Continuity Discontinuity
API number 16-bit instruction 32-bit instruction
condition condition
0078 ORZ= DORZ= | S1- S2|=| S3| | S1- S2| ≠ | S3|
0079 ORZ<> DORZ<> | S1- S2|≠| S3| | S1- S2|=| S3|
0080 ORZ> DORZ> | S1- S2|>| S3| | S1- S2| ≦ | S3|
Example
1. When M0 is ON and the absolute difference of D10 and D11 is greater than 200, Y0.0 is ON. While the absolute
difference is less than 200, Y0.0 is OFF.
6_
6-45
AS Ser ies Pro gra mm in g M anu al
6-46
Ch ap te r 6 App l ied Ins tr uc ti ons
STRING
LWORD
Data
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
Symbol
S1 : Augend
S2 : Addend
D : Sum
6_
Explanation
1. This instruction adds the binary value in S2 to the binary value in S1, and stores the sum in D.
2. Only the 32-bit instructions can use the 32-bit counter, but not the device E.
3. Instruction flags: SM600 (zero flag), SM601 (borrow flag), and SM602 (carry flag)
5. For 16-bit binary values, when the operation result exceeds the range of 16-bit binary values, SM602 is ON.
Otherwise, it is OFF.
6. For 32-bit binary values, when the operation result exceeds the range of 32-bit binary values, SM602 is ON.
Otherwise, it is OFF.
6-47
AS Ser ies Pro gra mm in g M anu al
Example 1
Adding 16-bit binary values: when X0.0 is ON, the instruction adds the addend in D10 to the augend in D0, and stores
When the values in D0 and D10 are 100 and 10 respectively, D0 plus D10 equals 110, and 110 is stored in D20.
When the values in D0 and D10 are 16#7FFF and 16#1 respectively, D0 plus D10 equals 16#8000, and 16#8000
is stored in D20.
When the values in D0 and D10 are 16#FFFF and 16#1 respectively, D0 plus D10 equals 16#10000. Since the
operation result exceeds the range of 16-bit binary values, SM602 is ON, and the value stored in D20 is 16#0.
Example 2
_6
Adding 32-bit binary values: when X0.0 is ON, the instruction adds the addend in (D41, D40) to the augend in (D31,
D30), and stores the sum in (D51, D50). The data in D30, D40, and D50 is the lower 16-bit data, whereas the data in
When the values in (D31, D30) and (D41, D40) are 11111111 and 44444444 respectively, (D31, D30) plus (D41,
When the values in (D31, D30) and (D41, D40) are 16#80000000 and 16#FFFFFFFF respectively, (D31, D30) plus
(D41, D40) equals 16#17FFFFFFF. Since the operation result exceeds the range of 32-bit binary values, SM602 is
6-48
Ch ap te r 6 App l ied Ins tr uc ti ons
Flags
4,294,967,295 、0、1
6_
4,294,967,295 、0、1 4,294,967,295 、0、1、2
6-49
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
Symbol
S1 : Minuend
S2 : Subtrahend
D : Difference
_6
Explanation
1. This instruction subtracts the binary value in S2 from the binary value in S1, and stores the difference in D.
2. Only the 32-bit instructions can use the 32-bit counter, but not the device E.
3. Instruction flags: SM600 (zero flag), SM601 (borrow flag), and SM602 (carry flag)
5. When borrowing occurs during the arithmetic, SM601 is ON. Otherwise, it is OFF.
6-50
Ch ap te r 6 App l ied Ins tr uc ti ons
Example 1
Subtracting 16-bit binary values: when X0.0 is ON, the instruction subtracts the subtrahend in D10 from the minuend in
When the values in D0 and D10 are 100 and 10 respectively, D0 minus D10 leaves 90, and 90 is stored in D20.
When the values in D0 and D10 are 16#8000 and 16#1 respectively, D0 minus D10 leaves 16#7FFF, and
When the values in D0 and D10 are 16#1 and 16#2 respectively, D0 minus D10 leaves 16#FFFF. Since borrowing
occurs during the operation, SM601 is ON, and the value stored in D20 is 16#FFFF.
When the values in D0 and D10 are 16#0 and 16#FFFF respectively, D0 minus D10 leaves 16#F0001. Since
borrowing occurs during the operation, SM601 is ON, and the value stored in D20 is 16#1.
Example 2
6_
Adding 32-bit binary values: when X0.0 is ON, the instruction subtracts the subtrahend in (D41, D40) from the minuend in
(D31, D30), and stores the sum in (D51, D50). The data in D30, D40, and D50 is the lower 16-bit data, whereas the data
When the values in (D31, D30) and (D41, D40) are 55555555 and 11111111 respectively, (D31, D30) minus (D41,
When the values in (D31, D30) and (D41, D40) are 16#80000000 and 16#FFFFFFFF respectively, (D31, D30)
minus (D41, D40) leaves 16#F80000001. Since borrowing occurs during the operation, SM601 is ON, and the
6-51
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
Symbol:
S1 : Multiplicand
S2 : Multiplier
D : Product
_6
Explanation
1. This instruction multiplies the signed binary value in S1 by the signed binary value in S2, and stores the product in
D.
S1 S2 D +1 D
The product is a 32-bit value, and is stored in the register (D+1, D), which is composed of 32 bits. When the sign
bit b31 is 0, the product is a positive value. When the sign bit b31 is 1, the product is a negative value.
6-52
Ch ap te r 6 App l ied Ins tr uc ti ons
S 1 +1 S1 S 2 +1 S2 D +3 D +2 D +1 D
* =
b31 is the si gn bit. b31 is the si gn bit. b63, i.e. b15 in D+3, is the sign bit.
The product is a 64-bit value, and is stored in the register (D+3, D+2, D+1, D0), which is composed of 64 bits.
When the sign bit b63 is 0, the product is a positive value. When the sign bit b63 is 1, the product is a negative
value.
Example
The instruction multiplies the 16-bit value in D0 by the 16-bit value in D10, and stores the 32-bit product in (D21, D20).
The data in D21 is the higher 16-bit data, whereas the data in D20 is the lower 16-bit data. Whether the result is a
positive value or a negative value depends on the state of the highest bit b31. When b31 is OFF, the result is a positive
6_
D0×D10=(D21, D20)
6-53
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
Symbol
S1 : Dividend
S2 : Divisor
D : Quotient; remainder
_6
Explanation
1. This instruction divides the signed binary value in S1 by the signed binary value in S2, and stores the quotient and
the remainder in D.
3. When the sign bit is 0, the value is a positive one. When the sign bit is 1, the value is a negative one.
Quotient Remainder
S1 S2 D D+1
6-54
Ch ap te r 6 App l ied Ins tr uc ti ons
Quotient Remainder
S 1 +1 S1 S 2 +1 S2 D+1 D D+3 D+2
D+2).
Example
When X0.0 is ON, the instruction divides the dividend in D0 by the divisor in D10, and stores the quotient in D20, and
stores the remainder in D21. Whether the result is a positive value or a negative value depends on the state of the
highest bit.
6_
Additional remarks
1. If the device exceeds the range, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#2003.
2. If the divisor is 0, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#2012.
3. If you declare the operand D used during the execution of the 16-bit instruction in ISPSoft, the data type is ARRAY
[2] of WORD/INT.
4. If you declare the operand D used during the execution of the 32-bit instruction in ISPSoft, the data type is ARRAY
[2] of DWORD/DINT.
6-55
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
Symbol
S1 : Augend
S2 : Addend
D : Sum
Explanation
_6
1. This instruction adds the 32-bit single-precision floating-point numbers in S2 and S1, and stores the sum in D.
2. Instruction flags: SM600 (zero flag), SM601 (borrow flag), and SM602 (carry flag)
When the absolute value of the operation result is less than the value that can be represented by the minimum
When the absolute value of the operation result is larger than the value that can be represented by the
Example
Adding single-precision floating-point numbers: when X0.0 is ON, the instruction adds the addend 16#4046B852 in (D21,
D20) to the augend 16#3FB9999A in (D11, D10), and stores the sum 16#4091C28F in (D31, D30). 16#4046B852,
16#3FB9999A, and 16#4091C28F represent the floating point numbers 3.105, 1.450, and 4.555 respectively.
6-56
Ch ap te r 6 App l ied Ins tr uc ti ons
Additional remark
If the value in S1 or the value in S2 exceeds the range of values that can be represented by the floating-point numbers,
the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#2013.
6_
6-57
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
Symbol
S1 : Minuend
S2 : Subtrahend
D : Difference
_6
Explanation
1. This instruction subtracts the 32-bit single-precision floating-point number in S2 from the 32-bit single-precision
floating-point numbers number in S1, and stores the difference in D.
2. Instruction flags: SM600 (zero flag), SM601 (borrow flag), and SM602 (carry flag)
When the absolute value of the operation result is less than the value that can be represented by the minimum
When the absolute value of the operation result is larger than the value that can be represented by the
S 1 +1 S1 S 2 +1 S2 D+1 D
6-58
Ch ap te r 6 App l ied Ins tr uc ti ons
Example
Subtracting 32-bit single-precision floating-point numbers: when X0.0 is ON, the instruction subtracts the subtrahend in
(D21, D20) from the minuend in (D21, D20), and stores the difference in (D31, D30).
Additional remarks
If the value in S1 or the value in S2 exceeds the range of values that can be represented by the floating-point numbers,
the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#2013.
6_
6-59
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
Symbol
S1 : Multiplicand
S2 : Multiplier
D : Product
_6
Explanation
1. This instruction multiplies the 32-bit single-precision floating-point number in S1 by the 32-bit single-precision floating-
2. Instruction flags: SM600 (zero flag), SM601 (borrow flag), and SM602 (carry flag)
When the absolute value of the operation result is less than the value that can be represented by the minimum
When the absolute value of the operation result is larger than the value that can be represented by the
S 1 +1 S1 S 2 +1 S2 D+1 D
6-60
Ch ap te r 6 App l ied Ins tr uc ti ons
Example
Multiplying 32-bit single-precision floating-point numbers: when X0.0 is ON, the instruction multiplies the multiplicand
32.5 by the multiplier in (D1, D0), and stores the product in (D11, D10).
Additional remarks
If the value in S1 or the value in S2 exceeds the range of values that can be represented by the floating-point numbers,
the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#2013.
6_
6-61
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
Symbol
S1 : Dividend
S2 : Divisor
D : Quotient
_6
Explanation
1. This instruction is divides the 32-bit single-precision floating-point number in S1 by the 32-bit single-precision
2. Instruction flags: SM600 (zero flag), SM601 (borrow flag), and SM602 (carry flag)
When the absolute value of the operation result is less than the value that can be represented by the minimum
When the absolute value of the operation result is larger than the value that can be represented by the
S 1 +1 S1 S 2 +1 S2 D +1 D
6-62
Ch ap te r 6 App l ied Ins tr uc ti ons
Example
Dividing 32-bit single-precision floating-point numbers: when X0.0 is ON, the instruction divides the dividend in (D1, D0)
Additional remarks
1. If the divisor is 0, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#2012.
2. If the value in S1 or the value in S2 exceeds the range of values that can be represented by the floating-point
numbers, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#2013.
6_
6-63
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
n
D
Symbol
S1 : Augend
S2 : Addend
n : Data length
_6 D : Sum
Explanation
1. This instruction adds n pieces of data in devices starting from S2 to those in devices starting from S1. The augends
and the addends are binary values, and the instruction stores the sums in D.
5. For the 16-bit instructions, when the operation result is less than –32,768, SM601 is ON.
6. For the 16-bit instructions, when the operation result is larger than 32,767, SM602 is ON.
7. For the 32-bit instructions, when the operation result is less than–21,474,836,488, SM601 is ON.
8. For the 32-bit instructions, when the operation result is larger than 2,147,483,647, SM602 is ON.
6-64
Ch ap te r 6 App l ied Ins tr uc ti ons
9. 16-bit instruction example: when the operand S2 is a device (not a constant or a hexadecimal value)
} } }
S1 1 S2 1 D 1+1=2
S1 +1 2 + S2 +1 2 = D +1 2+2=4
.
.
.
.
n .
.
.
.
n .
.
.
. n
. . .
. . . . . .
. .
. .
. .
10. 16-bit instruction example: when the operand S2 is a constant or a hexadecimal value
} } }
S1 1 S2 10 D 1+10=11
S1 +1 2 + S2 10 = D +1 2+10=12
.
.
.
.
n .
.
.
.
n .
.
.
. n
. . .
. . . . . .
. .
. .
. .
Example 1
When X0.0 is ON, the instruction adds the binary values in D10–D14 to the binary values in D0–D4, and stores the
sums.
6_
D0 1 D10 10 D100 11
D1 2 D11 11 D101 13
D2 3 + D12 12 D102 15
D3 4 D13 13 D103 17
D4 5 D14 14 D104 19
6-65
AS Ser ies Pro gra mm in g M anu al
Example 2
When X0.0 is ON, the instruction adds the addend 10 to the binary values in D0–D4, and stores the sums in D100–D104.
D0 1 10 D100 11
D1 2 10 D101 12
D2 3 + 10 D102 13
D3 4 10 D103 14
D4 5 10 D104 15
Additional remarks
1. For 16-bit instructions, if the devices S1–S1+n-1, S2–S2+n-1, or D–D+n-1 exceed the device range, the instruction is
_6
not executed, SM is ON, and the error code in SR0 is 16#2003.
2. For 32-bit instructions, if the devices S1–S1+2*n-1, S2–S2+2*n-1, or D–D+2*n-1 exceed the device range, the
instruction is not executed, SM is ON, and the error code in SR0 is 16#2003.
3. If n is not between 1–256, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#200B.
4. For 16-bit instructions, if S1–S1+n-1 overlap D–D+n-1, the instruction is not executed, SM0 is ON, and the error code
in SR0 is 16#200C.
5. For 32-bit instructions, if S1–S1+2*n-1 overlap D–D+2*n-1, the instruction is not executed, SM0 is ON, and the error
code in SR0 is 16#200C.
6. For 16-bit instructions, if S2–S2+n-1 overlap D–D+n-1, the instruction is not executed, SM0 is ON, and the error code
in SR0 is 16#200C.
7. For 32-bit instructions, if S2–S2+2*n-1 overlap D–D+2*n-1, the instruction is not executed, SM0 is ON, and the error
code in SR0 is 16#200C.
6-66
Ch ap te r 6 App l ied Ins tr uc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
n
D
Symbol
S1 : Minuend
S2 : Subtrahend
n : Data length
D : Difference
6_
Explanation
1. This instruction subtracts n pieces of data in devices starting from S2 from those in devices starting from S1. The
minuends and the subtrahends are binary values, and the instruction stores the differences in D.
5. For 16-bit instructions, when the operation result is less than –32,768, SM601 is ON.
6. For 16-bit instructions, when the operation result is larger than 32,767, SM602 is ON.
7. For 32-bit instructions, when the operation result is less than –2,147,483,648, SM601 is ON.
6-67
AS Ser ies Pro gra mm in g M anu al
8. For 32-bit instructions, when the operation result is larger than 2,147,483,647, SM602 is ON.
9. 16-bit instruction example: when the operand S2 is a device (not a constant or a hexadecimal value)
} } }
S1 5 S2 1 D 5-1=4
S1 +1 4 - S2 1 = D +1 4-1=3
.
.
.
.
n .
.
.
.
n .
.
.
. n
. . .
. . . . . .
. .
. .
. .
10. 16-bit instruction example: when the operand S2 is a constant or a hexadecimal value
} } }
S1 5 S2 1 D 5-1=4
S1 +1 4 - S2 1 = D +1 4-1=3
.
.
.
.
n .
.
.
.
n .
.
.
. n
. . .
. . . . . .
. .
. .
. .
Example 1
When X0.0 is ON, the instruction subtracts the binary values in D10–D14 from the binary values in D0–D4, and
D0 5 D10 1 D100 4 1
D1 4 D11 2 D101 2 SM6 00
D2 3 - D12 3 D102 0
D3 2 D13 4 D103 -2
D4 1 D14 5 D104 -4
6-68
Ch ap te r 6 App l ied Ins tr uc ti ons
Example 2
When X0.0 is ON, the instruction subtracts the subtrahend 1 from the binary values in D0–D4, and stores the
differences in D100–D104.
D0 10 1 D100 9
D1 9 1 D101 8
D2 8 - 1 D102 7
D3 7 1 D103 6
D4 6 1 D104 5
Additional remarks
1. For 16-bit instructions, if the devices S1–S1+n-1, S2–S2+n-1, or D–D+n-1 exceed the device range, the instruction is
not executed, SM is ON, and the error code in SR0 is 16#2003. 6_
2. For 32-bit instructions, if the devices S1–S1+2*n-1, S2–S2+2*n-1, or D–D+2*n-1 exceed the device range, the
instruction is not executed, SM is ON, and the error code in SR0 is 16#2003.
3. If n Is not between 1–256, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#200B.
4. For 16-bit instructions, if S1–S1+n-1 overlap D–D+n-1, the instruction is not executed, SM0 is ON, and the error code
in SR0 is 16#200C.
5. For 32-bit instructions, if S1–S1+2*n-1 overlap D–D+2*n-1, the instruction is not executed, SM0 is ON, and the error
code in SR0 is 16#200C.
6. For 16-bit instructions, if S2–S2+n-1 overlap D–D+n-1, the instruction is not executed, SM0 is ON, and the error code
in SR0 is 16#200C.
7. For 32-bit instructions, if S2–S2+2*n-1 overlap D–D+2*n-1, the instruction is not executed, SM0 is ON, and the error
code in SR0 is 16#200C.
6-69
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
Symbol
S1 : String 1
S2 : String 2
Explanation
_6 1. This instruction links the string starting with the data in the device specified by S1 (exclusive of 16#00), and the string
starting with the data in the device specified by S2 (exclusive of 16#00) and stores the result in D. In addition, the
instruction adds the code 16#00 to the end of the linked string in D. When the instruction is not executed, the data
in D is unchanged.
2. When S1, S2 or D is not a string ($), the content of the data source can be up to 256 characters (including the ending
code 16#00).
3. If successful, the string in S1 and the string in S2 are linked and stored in D, as shown below.
S1 B (1 6# 62 ) A (1 6# 61 ) S2 B (1 6# 42 ) A (1 6# 41 ) D B (1 6# 62 ) A (1 6# 61 )
D( 16 #6 4) C( 16 #6 3) S2 +1 D( 16 #4 4) C( 16 #4 3) D( 16 #6 4) C( 16 #6 3)
S 1 +1 = D +1
S 1 +2 ( 16 #0 0) E (1 6# 65 ) 1 2 (1 6# 00 )
S2 + (1 6# 00 ) D +2 A (1 6# 41 ) E (1 6# 65 )
D +3 C( 16 #4 3) B (1 6# 42 )
D +
14 (1 6# 00 ) D( 16 #4 4)
6-70
Ch ap te r 6 App l ied Ins tr uc ti ons
S1 B (1 6# 62 ) A (1 6# 61 ) S2 B (1 6# 42 ) A (1 6# 41 ) D d (1 6# 62 ) a (1 6# 61 )
D( 16 #6 4) C( 16 #6 3) S2 +1 D( 16 #4 4) C( 16 #4 3) d (1 6# 64 ) c( 16 #6 3)
S 1 +1 = D +1
S 1 +2 E (1 6# 65 ) ( 16 #0 0) S2 +
12 (1 6# 00 ) (1 6# 00 ) D +2 B (1 6# 42 ) A (1 6# 41 )
D +3 D( 16 #4 4) C( 16 #4 3)
D +
14 (1 6# 00 ) ( 16 #0 0)
4. When S1, S2 or D is not a string ($),the ending code 16#00 is added to the end of the data that is moved.
5. If S1 or S2 is not a string, then when the instruction is executed and the first character is the code 16#00, 16#00 is
still linked and moved.
S1 b(16#62) a(16#61)
S 1 +1 d(16#64) c(16#63)
S 1 +2 (16#00) e(16#65)
Example
Suppose S1 is the string “ab” and S2 is the string “c”. After the conditional contact M0 is enabled, the data in D65534 is
16#6261 and the data in D65535 is16#0063.
6_
Additional remarks
2. If D is not sufficient to contain the string composed of the strings in S1 and S2, the instruction is not executed, SM0
is ON, and the error code in SR0 is 16#2003.
3. If the string of S1+S2 is more than 256 characters (the ending code 16#00 included), the instruction is not executed,
SM0 is ON, and the error code in SR0 is 16#2003.
4. If S1 or S2 overlaps D, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#200C.
5. If the string in S1 or S2 does not end with 16#00, the instruction is not executed, SM0 is ON, and the error code in
SR0 is 16#200E.
6-71
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
D
Symbol
D : Destination device
Explanation
3. For the 16-bit operation, 32,767 plus 1 equals -32,768. For the 32-bit operation, 2,147,483,647 plus 1 equals -
2,147,483,648.
Example
When X0.0 switches from OFF to ON, the value in D0 increases by one.
6-72
Ch ap te r 6 App l ied Ins tr uc ti ons
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
D
Symbol
D : Destination device
Explanation
3. For the 16-bit operation, -32,768 minus 1 leaves 32,767. For the 32-bit operation, -2,147,483,648 minus 1 leaves
2,147,483,647.
Example
When X0.0 switches from OFF to ON, the value in D0 decreases by one.
6-73
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
Symbol
S1 : Multiplicand
S2 : Multiplier
D : Product
_6
Explanation
1. This instruction multiplies the signed binary value in S1 by the signed binary value in S2, and stores the product in D.
S1 S2 D
* =
Bit 15 is a sign bit. Bit 15 is a sign bit. Bit 15 is a sign bit.
The product is a 16-bit value stored in D which is a 16-bit register. If b15 in D is 0, the product stored in D is a positive
6-74
Ch ap te r 6 App l ied Ins tr uc ti ons
S 1 +1 S1 S 2 +1 S2 D +1 D
The product is a 32-bit value stored in (D, D+1) which is a 32-bit register. If b31 in D is 0, the product stored in (D, D+1) is
a positive value. If b31 in D is 1, the product stored in (D, D+1) is a negative value.
Example
The instruction multiplies the 16-bit value in D0 by the 16-bit value in D10, and stores the product in D20. The sign of the
product (positive or negative) depends on the leftmost bit (bit 15) in D20. If bit 15 in D20 is 0, the product stored in D20 is
a positive value. If bit 15 in D20 is 1, the product stored in D20 is a negative value.
6_
D0×D10=D20
Additional remarks
1. If the product of a 16-bit multiplication is not a 16-bit signed value available, and is greater than the maximum 16-bit
positive number K32767, or less than the minimum negative number K-32768, the carry flag SM602 is ON, and only
2. If you need the complete result of a 16-bit multiplication (a 32-bit value), use the */*P instruction (API 0102). Refer to
the explanation for the * instruction (API 0102) for more information.
3. If the product of a 32-bit multiplication is not a 32-bit signed value available, and is greater than the maximum 32-bit
positive number K2147483647, or less than the minimum negative number K-2147483648, the carry flag SM602 is
4. If you need the complete result of a 32-bit multiplication (a 64-bit value), use API 0102 D*/D*P. Refer to the
explanation for the * instruction (API 0102) for more information.
6-75
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
Symbol
S1 : Dividend
S2 : Divisor
D : Quotient; remainder
_6
Explanation
1. This instruction divides the signed binary value in S1 by the signed binary value in S2, and stores the quotient in D.
Quotient
S1 S2 D
6-76
Ch ap te r 6 App l ied Ins tr uc ti ons
Quotient
S 1 +1 S1 S 2 +1 S2 D+1 D
Example
When X0.0 is ON, the instruction divides the dividend in D0 by the divisor in D10, and stores the quotient D20.
Whether the quotient is a positive value or a negative value depends on the leftmost bit in D20.
Additional remarks
6_
1. If the device is not available, the instruction is not executed, SM0 will be ON, and the error code stored in SR0 is
16#2003.
2. If the divisor is 0, the instruction is not executed, SM0 will be ON, and the error code stored in SR0 is 16#2012.
3. If you want to store the remainder, use the “/” instruction (Dividing binary values). Refer to the explanation for the “/”
6-77
AS Ser ies Pro gra mm in g M anu al
0200 BCD DBCD Converting a binary number into a binary-coded decimal number
0201 BIN DBIN Converting a binary-coded decimal number into a binary number
0202 FLT DFLT Converting a binary integer into a binary floating-point number
0204 INT DINT Converting a 32-bit floating-point number into a binary integer
6-78
Ch ap te r 6 App l ied Ins tr uc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
S : Source device
D : Conversion result
6_
Explanation
1. This instruction converts a binary value in S into a binary-coded decimal value, and stores the conversion result in
D.
2. Only the DBCD instruction can use the 32-bit counter, but not the device E.
3. The four fundamental arithmetic operations in the PLC, the INC instruction, and the DEC instruction all operate on
binary numbers. To show the decimal value on the display, use the BCD instruction to convert a binary value into a
6-79
AS Ser ies Pro gra mm in g M anu al
Example
1. When X0.0 is ON, the instruction converts a binary value in D10 into a binary-code decimal value, and stores the
Additional remarks
1. If the conversion result exceeds the range 0–9,999, the instruction BCD is not executed, SM0 is ON, and the error
code in SR0 is 16#200D. The binary-coded decimal value is represented by the hexadecimal value, but one of
2. If the conversion result exceeds the range 0–99,999,999, the instruction DBCD is not executed, SM0 is ON, and
the error code in SR0 is 16#200D. The binary-coded decimal value is represented by the hexadecimal value, but
_6
6-80
Ch ap te r 6 App l ied Ins tr uc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
S : Source device
D : Conversion result
Explanation
1. This instruction converts a binary-coded decimal value in S into a binary value, and stores the conversion result in 6_
D.
2. The 16-bit binary-coded decimal value in S must be between 0–9,999, and the 32-bit binary-coded decimal value
3. Only the 32-bit instructions can use the 32-bit counter, but not the device E.
4. The system converts constants and hexadecimal values into binary values automatically. Therefore, you do not
Example
When X0.0 is ON, the instruction converts the binary-coded decimal value in D0 into the binary value, and stores the
6-81
AS Ser ies Pro gra mm in g M anu al
Additional remarks
1. If the value in S is not the binary-coded decimal value, an operation error occurs, SM0 is ON, and the error code in
SR0 is 16#200D. The binary-coded decimal value is represented by the hexadecimal value, but one of digits is not
between 0–9.
Before the value of the binary-coded decimal type of DIP switch is read into the PLC, use the BIN instruction
to convert the data into the binary value and store the conversion result in the PLC.
If you want to display the data stored inside the PLC in a seven-segment display of the binary-coded decimal
type, use the BCD instruction to convert the data into the binary-coded decimal value before the data is sent
When X1.0 is ON, the BIN instruction converts the binary-coded decimal value in X0.0–X0.15 into the binary
value, and stores the conversion result in D100. Subsequently, the BCD instruction converts the binary value
in D100 into the binary-coded decimal value, and stores the conversion result in Y0.0–Y0.15.
_6
3 2 1 0
10 10 10 10
F our -digit binary -coded
6 6 4 2 decimal ty pe of DIP s witch
8 1 8 1 8 1 8 1
X0.15 X0.0
F our -digit binary -coded deci mal value
T he instruction B IN is us ed to store
the binary value in D100.
T he instruction B CD is us ed to conver t
the value in D100 into the four- di gi t
binary- coded decimal value.
Y0.15 Y0.0
6-82
Ch ap te r 6 App l ied Ins tr uc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
S : Source device
D : Conversion result
Explanation 6_
1. This instruction converts the binary integer in S into the single-precision floating-point number and stores the
conversion result in D.
2. The operand S used in the instruction FLT cannot be the 32-bit counter, and not the device E.
3. The source device S used in the instruction FLT occupies one register, and D used in FLT occupies two registers.
4. The source device S used in the instruction DFLT occupies two registers, and D used in DFLT also occupies two
registers.
When the absolute value of the conversion result is larger than the value that can be represented by the
maximum floating-point number, SM602 is ON, and the maximum floating-point number is stored in D.
When the absolute value of the conversion result is less than the value that can be represented by the
minimum floating-point number, SM601 is ON, and the minimum floating-point number is stored in D.
6-83
AS Ser ies Pro gra mm in g M anu al
Example 1
1. When X0.0 is ON, the instruction converts the binary integer in D0 into a single-precision floating-point number,
2. When X0.1 is ON, the instruction converts the binary integer in (D1, D0) into a single-precision floating-point
3. Suppose the value in D0 is 10. When X0.0 is ON, the instruction converts 10 into the single-precision floating-point
number 16#41200000, and then stores 16#41200000 in the 32-bit register (D13, D12).
4. Suppose the value in the 32-bit register (D1, D0) is 100,000. When X0.1 is ON, the instruction converts 100,000
into the single-precision floating-point number 16#47C35000, and stores 16#47C35000 in the 32-bit register (D21,
D20).
_6
Example 2
You can use the applied instructions to perform the following calculation.
Convert the binary integer in D10 into the single-precision floating-point number, and store the conversion
Convert the binary-coded decimal value in X0.0–X0.15 into the binary value, and store the conversion result
in D200.
Convert the binary integer in D200 into the single-precision floating-point number, and store the conversion
Divide the constant 615 by the constant 10, and store the quotient which is the single-precision floating-point
Divide the single-precision floating-point number in (D101, D100) by the single-precision floating-point
number in (D203, D202), and store the quotient which is the single-precision floating-point number in (D401,
D400).
6-84
Ch ap te r 6 App l ied Ins tr uc ti ons
Multiply the single-precision floating-point number in (D401, D400) by the single-precision floating-point
number in (D301, D300), and store the product which is the single-precision floating-point number in (D21,
D20).
Convert the single-precision floating-point number in (D21, D20) into the decimal floating-point number, and
Convert the single-precision floating-point number in (D21, D20) into the binary integer, and store the
1 2 5 4 7
(D31, D30)
Decimal float ing-point number
(D101,D100) (D200) B IN (D301,D300)
8
Single-precis ion S ingle-prec is ion (D41, D40)
floating-point numbe r 3 floating-point number 32-bit int eger
(D203, D202)
Single-pre cision
floating-point number
(D401,D400)
Single-precis ion
floating-point nu mber
6_
6-85
AS Ser ies Pro gra mm in g M anu al
_6
6-86
Ch ap te r 6 App l ied Ins tr uc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
S : Source device
D : Conversion result
Explanation
1. This instruction converts a single-precision floating-point number in S into a binary integer, then rounds the binary
6_
floating-point number down to the nearest whole digit to becomes a binary integer, and then the instruction stores
2. The source device S used in the INT instruction occupies two registers, and D used in INT occupies one register.
3. The source device S used in the DINT instruction occupies two registers, and D used in DINT also occupies two
registers.
4. The operand D used in the INT instruction cannot be the 32-bit counter, but not the device E.
7. During the conversion, if the floating-point number is rounded down to the nearest whole digit, SM601 is ON.
9. For the INT/IINTP instructions, the range of conversion result is between -32,768 and 32,767.
10. For the DINT/DINTP instructions, the range of conversion result is between -2,147,483,648 and 2,147,483,647.
6-87
AS Ser ies Pro gra mm in g M anu al
Example
1. When X0.0 is ON, the instruction converts the single-precision floating-point number in (D1, D0) into a binary
integer, and stores the conversion result in D10. The instruction rounds the binary floating-point number down to
2. When X0.1 is ON, the instruction converts the single-precision floating-point number in (D21, D20) into a binary
integer, and stores the conversion result in (D31, D30). The instruction rounds the binary floating-point number
Additional remarks
If the value in S exceeds the range of values that can be represented by the floating-point numbers, the instruction is not
_6
executed, SM0 is ON, and the error code in SR0 is 16#2013.
6-88
Ch ap te r 6 App l ied Ins tr uc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
S : Source device
D : Conversion result
Explanation
This instruction copies the data in the 16-bit device S to the 32-bit device D, and copies the sign bit from S to D.
Example 6_
When X0.0 is ON, the instruction copies the value of b15 in D4 to b15–b31 in (D7, D6), copies the values of b0–b14 to
the corresponding bits in (D7, D6), and ignores the bits b15–b30. The data in (D7, D6) is a negative value (same as the
source).
b 15 b0
0 Plus sign
1 0 0 1 1 0 0 1 0 1 1 1 0 0 0 1 D4
1 Minus sign
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 0 1 0 1 1 1 0 0 0 1 D7, D6
b 31 b 16 b 15 b0
6-89
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
S : Source device
D : Conversion result
Explanation
This instruction copies the data in the 32-bit device S to the 16-bit device D, and copies the sign bit from b31 to b15 so
that the value in D4 is negative (same as b31).
_6
Example
When X0.0 is ON, the instruction copies the value of b31 in D7 to b15 in D4, copies the values of b0–b14 to the
corresponding bits in D4, and ignores bits b15–b30. The data in (D7, D6) is a negative value (same as the source).
1 0 0 1 1 0 0 1 0 1 1 1 0 0 0 1 D4
b15 b0
6-90
Ch ap te r 6 App l ied Ins tr uc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
S : Source device
D : Conversion result
Explanation
1. This instruction converts the binary value in the device specified by S into a Gray code, and stores the conversion 6_
result in the device specified by D.
2. Only the DGRY instruction can use the 32-counter, but not the device E.
Example
When X0.0 is ON, the instruction converts the constant 6513 into a Gray code, and stores the conversion result in Y1.0–
Y1.15.
6-91
AS Ser ies Pro gra mm in g M anu al
b15 b0
K6513=H1971 0 0 0 1 1 0 0 1 0 1 1 1 0 0 0 1
Y1.15 Y1.0
GRAY 6513 0 0 0 1 0 1 0 1 1 1 0 0 1 0 0 1
Y1
Additional remarks
If the value in S is less than 0, the operation error occurs, the instruction is not executed, SM0 is ON, and the error code
in SR0 is 16#2003.
_6
6-92
Ch ap te r 6 App l ied Ins tr uc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
S : Source device
D : Conversion result
Explanation
1. This instruction converts the Gray code in the device specified by S into the binary value, and stores the 6_
conversion result in the device specified by D.
2. Use this instruction to convert the Gray code in the absolute position encoder which is connected to the input
terminal of the PLC to the binary value. The conversion result is stored in the specified register.
3. Only the DGBIN instruction can use the 32-counter, but not the device E.
The value in the device D in the 16-bit instruction must be between 0–32,767.
The value in the device D in the 32-bit instruction must be between 0–2,147,483,647.
6-93
AS Ser ies Pro gra mm in g M anu al
Example
When X0.0 is ON, the instruction converts the Gray code in the absolute position encoder which is connected to the
inputs X0.0–X0.15 into the binary value, and stores the conversion result in D10.
X0
X0.15 X0.0
GRAY CODE 6513 0 0 0 1 0 1 0 1 1 1 0 0 1 0 0 1
b15 b0
H1971=K6513 0 0 0 1 1 0 0 1 0 1 1 1 0 0 0 1
Additional remarks
If the value in S is less than 0, the operation error occurs, the instruction is not executed, SM0 is ON, and the error code
in SR0 is 16#2003.
_6
6-94
Ch ap te r 6 App l ied Ins tr uc ti ons
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
D
Symbol
Explanation
1. This instruction converts a negative binary value into the two’s compliment.
Example 1
When X0.0 is switched from OFF to ON, this instruction inverts all bits in D0 (0 becomes 1, and 1 becomes 0), and 1 is
added to the result, and then stores the final value in the original register D10.
6-95
AS Ser ies Pro gra mm in g M anu al
Example 2
1. When the value of the 15th bit in D0 is 1, M0 is ON, and the value in D0 is a negative value.
2. When M0 is ON, the NEG instruction finds the two’s complement of the negative value in D0 (the corresponding
positive value).
Example 3
_6
When X0.0 is ON,
6-96
Ch ap te r 6 App l ied Ins tr uc ti ons
Additional remarks
6_
1. Whether the data is a positive value or a negative value depends on the value of the highest bit in the register. If
the highest bit in the register is 0, the data is a positive value. If the highest bit is 1, the data is a negative value.
2. You can convert the negative value into its absolute value with the instruction NEG.
(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
6-97
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
D
Symbol
Explanation
Example
Before the instruction is executed, the value in (D1, D0) is the negative value 16#AE0F9000. When X0.0 switches from
_6 OFF to ON, the instruction reverses the sign of the single-precision floating-point number in (D1, D0). In other words,
after the instruction is executed, the value in (D1, D0) is the positive value 16#2E0F9000.
Before the instruction is executed, the value in (D1, D0) is the positive value 16#2E0F9000. When X0.0 switches from
OFF to ON, the instruction reverses the sign of the single-precision floating-point number in (D1, D0). In other words,
after the instruction is executed, the value in (D1, D0) is the negative value 16#AE0F9000.
6-98
Ch ap te r 6 App l ied Ins tr uc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
S : Data source
D : Conversion result
Explanation
1. This instruction converts thee single-precision floating-point number in the register specified by S into the decimal
floating-point number, and stores the conversion result in the register specified by D.
6_
2. The floating-point operation in the PLC is based on single-precision floating-point numbers. Use the FBCD
3. Instruction flags: SM600 (zero flag), SM601 (borrow flag), and SM602 (carry flag)
When the absolute value of the conversion result is larger than the value that can be represented by the maximum
When the absolute value of the conversion result is less than the value that can be represented by the minimum
6-99
AS Ser ies Pro gra mm in g M anu al
Example
When X0.0 is ON, the instruction converts the single-precision floating-point number in (D1, D0) into the decimal floating-
Additional remarks
If the value in S exceeds the range of values that can be represented by the floating-point numbers, the instruction is not
executed, SM0 is ON, and the error code in SR0 is 16#2013.
_6
6-100
Ch ap te r 6 App l ied Ins tr uc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
S : Data source
D : Conversion result
Explanation
1. This instruction converts the decimal floating-point number in the register specified by S into the single-precision
floating-point number, and stores the conversion result in the register specified by D.
6_
2. Suppose the value in S is 1234, and the value in S+1 is 3. The instruction converts the value in S into 1.234x10 6.
3. The value in D should be a single-precision floating-point number, and the values in S and S+1 represent the
decimal real number and the decimal exponent respectively.
4. Use the FBIN instruction to convert a decimal floating-point number into a single-precision floating-point number.
5. The real number of decimal floating-point numbers are from -9,999 to +9,999, the exponents of decimal floating-
point numbers are from -41 to +35. The practical range of decimal floating-point numbers in the PLC is between
±1175×10-41 and ±3402×10+35. When the operation result is zero, SM600 is ON.
6-101
AS Ser ies Pro gra mm in g M anu al
Example 1
1. When X0.0 is ON, the instruction converts the decimal floating-point number in the register in (D1, D0) into the
single-precision floating-point number, and stores the conversion result is stored in (D3, D2).
Binary floating-point number D3 D2 Real number: 23 bits; Ex ponent: 8 bits ; sign: 1 bit
Example 2
1. Before the floating-point operation is performed, use the FLT instruction to convert the binary integer into a single-
precision floating-point number. Make sure the value to be converted is a binary integer before conversion. You
can use the FBIN instruction to convert the floating-point number into the single-precision floating-point number.
_6 2. When X0.0 is ON, K314 and K-2 are moved to D0 and D1 respectively, and then FBIN combines them into the
Additional remarks
If the real number part of the decimal floating-point number in S is not between -9,999 to +9,999, or if the exponent of the
decimal floating-point number in S is not between -41 to +35, the instruction is not executed, SM0 is ON, and the error
code in SR0 is 16#2013.
6-102
Ch ap te r 6 App l ied Ins tr uc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
n
D
Symbol
S : Data source
n : Data length
D : Conversion result
Explanation
1. The instruction converts n pieces of data (the binary values) starting from S into the binary-coded decimal values, 6_
and stores the conversion results in D.
Example
When M1 is ON, the instruction converts the binary values in D0 and D1 into the binary-coded decimal values, and
6-103
AS Ser ies Pro gra mm in g M anu al
Additional remarks
1. If n is less than 1, or larger than 256, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#200B.
2. If the devices specified by S+n-1 and D+n-1 exceed the range of possible devices, the instruction is not executed,
SM0 is ON, and the error code in SR0 is 16#2003.
3. If the conversion result is not between 0–9,999, the instruction is not executed, and the error code in SR0 is
16#200D. The binary-coded decimal value is represented by the hexadecimal number, but one of digits is not in
between 0–9.
4. If S–S+n-1 overlaps D–D+n-1, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#200C.
_6
6-104
Ch ap te r 6 App l ied Ins tr uc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
n
D
Symbol
S : Data source
n : Data length
D : Conversion result
Explanation
6_
1. The instruction converts n pieces of data (the binary-coded decimal values) starting from S into the binary values,
Example
When M1 is ON, the instruction converts the binary-code decimal values in D0 and D1 into the binary values, and stores
6-105
AS Ser ies Pro gra mm in g M anu al
Additional remarks
1. If n is not between 1–256, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#200B.
2. If the devices specified by S+n-1 and D+n-1 exceed the range of possible devices, the instruction is not executed,
SM0 is ON, and the error code in SR0 is 16#2003.
3. If the data in S is not a binary-coded decimal, the instruction is not executed, and the error code in SR0 is
16#200D. The binary-coded decimal value is represented by the hexadecimal number, but one of digits is not
between 0–9.
4. If S–S+n-1 overlap D–D+n-1, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#200C.
_6
6-106
Ch ap te r 6 App l ied Ins tr uc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
D
Symbol
S1 : Data source
S2 : Slope
S3 : Offset
D : Destination device 6_
Explanation
1. This instruction finds a scaled linear value for the number in S1 using the slope of the line in S2 and the offset in S3
3. To get the values in S2 and S3, use the slope equation and the offset equation below first, and then round off the
results to the nearest whole digit. Enter the final 16-bit values into S2 and S3.
The slope equation: S2=[(Maximum destination value–Minimum destination value)÷(Maximum source value–
Minimum source value)]×1,000
6-107
AS Ser ies Pro gra mm in g M anu al
Example 1
1. Suppose the values in S1, S2, and S3 are 500, 168, and -4 respectively. When X0.0 is ON, the SCAL instruction
calculates the scaled value, and stores the scaled value in D0.
_6
Destination value
D
Slope=168
Offset=-4
Sourc e value
0 S 1=500
6-108
Ch ap te r 6 App l ied Ins tr uc ti ons
Example 2
1. Suppose the values in S1, S2, and S3 are 500, -168, and 534 respectively. When X0.0 is ON, the SCAL instruction
calculates the scaled value, and stores the scaled value in D10.
6_
Additional remarks
1. You must know the slope and the offset to use SCAL. If the slope and the offset are unknown, you can use the
SCLP instruction.
2. When the 16-bit instruction is performed, the value entered into S2 must be between –32,768 to 32,767. If the
value in S2 exceeds the range, use the SCLP instruction.
3. When the 32-bit instruction is performed, the value entered into S2 must be between -2,147,483,648 to
2,147,483,647. If the value in S2 exceeds the range, use the SCLP instruction.
4. When you use the slope equation, note that the maximum source value should be larger than the minimum source
value. However, the maximum destination value is not necessarily larger than the minimum destination value.
5. For the 16-bit instruction, if the value in D is larger than 32,767, the value stored in D is 32,767. If the value in D is
6. When the 32-bit instruction is performed, if the value in D is larger than 2,147,483,647, the value stored in D will be
2,147,483,6477. If the value in D is less than -2,147,483,648, the value stored in D will be -2,147,483,648.
6-109
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
Symbol
S1 : Data source
S2 : Parameter
D : Destination device
_6
Explanation
1. This instruction finds a scaled linear value for the value in S1 using two points in S2 to define the scaling factor, and
stores the result in D.
2. Only the 32-bit instructions can use the 32-bit counter, but not the device E.
3. The following table list the constant usage for the operand S1
32-bit instruction
Constant 16-bit instruction
SM685 ON SM685 OFF
Constant X
Hexadecimal X
Floating number X X
The flag SM685 (whether to use floating point operation or not) can only be used for 32-bit instructions.
6 - 11 0
Ch ap te r 6 App l ied Ins tr uc ti ons
4. The operand S2 used in the 16-bit instruction is set as shown in the following table.
6. The operand S2 used in the 32-bit instruction is set as shown in the following table.
Setting range
Device number Parameter
Integer Floating-point number
10. The operational relation between the source value and the destination value is:
y = kx+b
value)
6 - 111
AS Ser ies Pro gra mm in g M anu al
The parameters above are substituted for y, k, x, and b in the equation y = kx+b to get the operation equation as
follows:
11. If S1 is larger than the maximum source value, the maximum source value is the value in S1. If S1 is less than the
minimum source value, the minimum source value is the value in S1. The output curve is shown below.
_6
Example 1
1. Suppose the value in S1 is 500, the maximum source value in D0 is 3,000, the minimum source value in D1 is 200,
the maximum destination value in D2 is 500, and the minimum destination value in D3 is 30. When X0.0 is ON, the
80.35 is rounded off to the nearest whole digit, and becomes 80. 80 is stored in D10.
6 - 11 2
Ch ap te r 6 App l ied Ins tr uc ti ons
Destinati on value
Maximum destination
value =500
6_
D
Minimum des ti nation
value =30 S 1=500
Sourc e value
0 Minimum Maximum
sourc e value =200 sourc e value =3000
Example 2
1. Suppose the value in S1 is 500, the maximum source value in D0 is 3,000, the minimum source value in D1 is 200,
the maximum destination value in D2 is 30, and the minimum destination value in D3 is 500. When X0.0 is ON, the
449.64 is rounded off to the nearest whole digit, and becomes 450. 450 is stored in D10.
6 - 11 3
AS Ser ies Pro gra mm in g M anu al
_6
Example 3
1. Suppose the value in S1 is 500.0, the maximum source value in D0 is 3000.0, the minimum source value in D2 is
200.0, the maximum destination value in D4 is 500.0, and the minimum destination value in D6 is 30.0. When X0.0
is ON, SM685 is set to ON, the instruction DSCLP calculates the scale value and stores it in D10.
80.35 is rounded off to the nearest whole digit, and becomes 80.0. 80.0 is stored in D10.
6 - 11 4
Ch ap te r 6 App l ied Ins tr uc ti ons
6_
Additional remarks
1. The value in S1 for 16-bit instructions must be between the minimum source value and the maximum source value;
that is, between -32,768 to 32,767. If the value exceeds the boundary value, the calculation uses the boundary
value.
2. The integer in S1 for 32-bit instructions must be between the minimum source value and the maximum source
value; that is, between -2,147,483,648 to 2,147,483,647. If the integer exceeds the boundary value, the calculation
6 - 11 5
AS Ser ies Pro gra mm in g M anu al
3. The floating-point number in S1 for 32-bit instructions must be between the minimum source value and the
maximum source value; that is, within the range of floating-point numbers. If the floating-point number exceeds the
4. Note that the maximum source value must be larger than the minimum source value. However, the maximum
destination value is not necessarily larger than the minimum destination value.
5. When the maximum source value is the same as the minimum source value, the instruction is be executed, SM0 is
6. If you declare S2 for a 16-bit instruction in ISPSoft, the data type is ARRAY [4] of WORD.
7. If you declare S2 for a 32-bit instruction in ISPSoft, the data type is ARRAY [4] of DWORD.
_6
6 - 11 6
Ch ap te r 6 App l ied Ins tr uc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
S4
D
Symbol
S1 : Data source
D : Operation result
6 - 11 7
AS Ser ies Pro gra mm in g M anu al
Explanation
1. Only the 32-bit instruction can use HC devices but not E devices. The firmware of V1.04.00 and later for AS300 PLC
2. See the following table about data types that the operands S1, S3 and S4 correspond to. ( represents ‘Usable’. X
_6 represents ‘Unusable’.)
32-bit instruction
16-bit
Constant
instruction SM685 ON SM685 OFF
K X
16# X
F X X
Note: SM685=ON (the floating point number operation) works for the 32-bit instruction only.
3. S1 is the data source. S2 is the number of multi-point sections and the value should be between 2 and 50. If the
value exceeds the range, the instruction will be executed automatically at the minimum value or maximum value. S3
is a setting value for comparison in a multi-point section. S4 is a conversion reference value that a multi-point section
comparison value corresponds to, e.g. the number of sections, S2 is 10. Then S3 ~ S3+9 are comparison values in 10
4. The comparison order for multi-point sections is 0, 1, 2 …S2 –1. The comparison rule is S1 >= S3+0 and S1 < S3+1. If
S1 value does not belong to a section, the comparison will move on to the next section. For example, S1 >= S3+1 and
S1 < S3+2, the comparison keeps going until the number of comparison times reaches S2 – 1.
6 - 11 8
Ch ap te r 6 App l ied Ins tr uc ti ons
5. The instruction compares sections in the order from small to large. Please design the value comparison of S3 section
in the order from small to large as well.
6. See the figure below for the conversion of multi-point section values. (Set the number of sections, S2 to 4.)
S4
S4+0
D
S4+1
S4+3
S4+2
S3
S3+0 S3+1 S3+2 S3+3
S1
7. If S1 value is between S3+0 and S3+1, the conversion formula: D =﹝ ( S1 – S3+0) x ( S4+1 – S4+0 ) / ( S3+1 –
S3+0 ) ﹞+ S4+0.
8. If S1 value does not belong to any specified section, the execution result in D is explained as below.
If S1 value > the last specified section, D will store the last conversion reference value of S4, e.g. if S1 value > S3+3 6_
value in the figure above, D=S4+3.
If S1 value < the first specified section, D will store the first conversion reference value of S4, e.g. if S1 value < S3+0
9. If S3 and S4 of the16-bit instruction are declared on ISPSoft, the data type is ARRAY [S2] of WORD.
10. If S3 and S4 of the 32-bit instruction are declared on ISPSoft, the data type is ARRAY [S2] of DWORD (SM685=OFF)
or ARRAY [S2] of REAL (SM685=ON).
11. For PLC CPU with firmware V1.12.10 or later, DSCLM instruction (32-bit) supports the application of Thread Gauge
Calibration. And the differences of the thread ring and pitch diameter between the physical parameter and the
number of output pulses can be corrected.
12. Operational steps:
1) Measure each pitch diameter of the thread ring and the corresponding number of output pulses and then enter
the measured values in S3 and S4 respectively.
6 - 11 9
AS Ser ies Pro gra mm in g M anu al
Calibration
section number 1 2 3 … 6 7 … 16
Zero
Max. value Max. value
point
of the negative direction of the positive direction
_6 2) The low byte in S2 is where you specify the calibration section number; up to 50 sections can be set. While
high byte in S2 is where you specify the axis number to execute calibration function; the value in high byte can be 0,
indicating the data conversion is underway. The value in high byte can be 1 to 12, indicating output points Y0.0 to
Y0.11, and the calibration is underway on the specified output point. The operands S1 and D are invalid while
executing calibration.
3) Use EN contact to start DSCLM instruction (calibration) and the positioning instruction will act according to the
calibration parameters to modify the number of actual output pulses on the specified output point. When DSCLM
instruction is closed, the calibration is closed.
6-120
Ch ap te r 6 App l ied Ins tr uc ti ons
Example
Here is the explanation about the value in D2 obtained through a conversion based on the data resource D0.
Set D0=10,
Since D0<D100 (in the first section), D2=D200=4000 (the first conversion reference value)
Set D0=K150,
D0 value is in between (D100, D101) = (100, 200) and the corresponding reference value is (D200, D201) =
(4000, 3000)
Therefore,
D2= (150-100)* (3000-4000) / (200-100) +4000=3500
Set D0=450
Since D0>D103 (in the last section), D2=D203=2000 (the last conversion reference value)
Set D0=K250 6_
D0 value is between (D101, D102) = (200, 300) and the corresponding reference value is (D201, D202) =
(3000, 1500).
Therefore,
D2= (250-200) *(1500-3000) / (300-200) +3000=2250
Set D0=K350
D0 is between (D102, D103) = (300, 400) and the corresponding reference value is (D202, D203) = (1500,
2000)
Therefore,
D2= (350-300) * (2000-1500) / (400-300) +1500=1750
6-121
AS Ser ies Pro gra mm in g M anu al
Instruction code
API Pulse instruction Function
16-bit 32-bit
0308 SWAP DSWAP Exchanging the high byte with the low byte
_6
6-122
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
S : Data source
D : Data destination
6_
Explanation
2. You must use a 32-bit instruction when the data in S is a floating-point number.
3. Only the 32-bit instructions can use the 32-bit counter, but not the device E.
Example
When X0.0 is OFF, the data in D0 is unchanged. When X0.0 is ON, the instruction transfers 10 to the data
register D0.
When X0.1 is OFF, the data in D10 is unchanged. When X0.1 is ON, the instruction transfers the current
6-123
AS Ser ies Pro gra mm in g M anu al
When X0.2 is OFF, the data in (D31, D30) and (D41, D40) is unchanged. When X0.2 is ON, the instruction
transfers the current value in (D21, D20) to (D31, D30), and transfers the current value of HC0 to (D41,
D40).
When X0.3 is OFF, the data in (D51, D50) is unchanged. When X0.3 is ON, the instruction converts the
floating-point number 3.450 into a binary floating-point number, and transfers the conversion result is to
(D51, D50).
_6
6-124
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
S : Data source
D : Data destination
Explanation
1. This instruction transfers the string in S to D, and adds the code 16#00 to the end of the string.
2. When the operand S is not a string, the instruction adds the code 16#00 to the end of the data transferred.
6_
3. When the ending code16#00 cannot be found in S for 256 characters in a row or even beyond the device range,
the instruction is not executed; SM0 is ON and the error code in SR0 is 16#200E.
4. When the operand S is not a string and the instruction is executed, the string starting with the data in the device
specified by S (including 16#00) is transferred to D. When the instruction is not executed, the data in D is
unchanged.
5. If D is not sufficient to contain the string composed of the values in S, the instruction is not executed, SM0 is ON,
and the error code in SR0 is 16#2003.
6. Suppose the operand S is not a string. When the instruction is executed and the first character in S is the code
16#00, 16#00 is still transferred to D.
6-125
AS Ser ies Pro gra mm in g M anu al
7. When 16#00 appears in the low byte, the execution of the instruction is as follows.
8. When 16#00 appears in the high byte, the execution of the instruction is as follows. The transfer stops when the
code 16#00, leaving the remainder of D unchanged.
6-126
Ch ap te r 6 Ap pl ie d Instruc ti ons
9. When S overlaps D and the device number of S is less than the device number of D, the transfer of the data to D
starts form the ending code 16#00.
Example 1
Suppose the data in S is the string “1234” (even number of bytes). When X0.0 is enabled, the data 1234 and the ending
code 16#00 is transferred to D0–D3 and 16#00 is added to the high byte in D, as follows.
6_
The operand S:
Hexadecimal
16#31 16#32 16#33 16#34
value
D3 Unchanged Unchanged
6-127
AS Ser ies Pro gra mm in g M anu al
Example 2
Suppose the data in S is the string “12345” (odd number of bytes). When X0.0 is enabled, the data 12345 is transferred
to D0–D3 as follows.
The operand S:
Hexadecimal
16#31 16#32 16#33 16#34 16#35
value
_6 D3 Unchanged Unchanged
Example 3
When the data in S is not a string and the ending code 16#00 appears in the low byte, the execution of the instruction is
as follows.
The operand S:
6-128
Ch ap te r 6 Ap pl ie d Instruc ti ons
D4 Unchanged Unchanged
Example 4
When the data in S is not a string and the ending code 16#00 appears in the high byte, the execution of the instruction is
as follows.
The operand S:
D3 Unchanged Unchanged
6-129
AS Ser ies Pro gra mm in g M anu al
Example 5
When S overlaps D, and the device number of S is less than the device number of D, the transfer of the data to D starts
from the ending code 16#00.
The operand S:
D5 Unchanged Unchanged
6-130
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
S : Data source
D : Data destination
Explanation
1. This instruction inverts all bits in S; that is, 0 becomes 1, and 1 becomes 0, and stores the inversion result in D. If 6_
the data in S is a constant, the instruction converts it into a binary value.
2. Only the 32-bit instructions can use the 32-bit counter, but not the device E.
Example 1
When X0.0 is ON, the instruction inverts all bit in D1, and stores the conversion result in Y0.0–Y0.15.
b 15 b3 b2 b1 b0
D1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
Sign bi t (0: P os itive s ign; 1: Negativ e si gn)
Y0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Inversi on resul t
6-131
AS Ser ies Pro gra mm in g M anu al
Example 2
_6
6-132
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
n
Symbol
S : Data source
D : Data destination
n : Data length
6_
Explanation
1. This instruction transfers n pieces of data in a block starting from the device specified by S to the devices starting
3. Only the 32-bit instructions can use the 32-bit counter, but not the device E.
4. To prevent overlapping the source and the destination, the instruction transfers the data in the following way (using
When the device number of S is larger than the device number of D, the data is transferred in the order from to
.
6-133
AS Ser ies Pro gra mm in g M anu al
1
D 20 D 19
2
D 21 D 20
3
D 22 D 21
When the device number of S is less than the device number of D, the data is transferred in the order from to .
1
D 19 D 20
2
D 20 D 21
3
D 21 D 22
Example 1
When X0.0 is ON, the instruction transfers the data in D0–D3 to D20–D23.
D0 D20
D1 D21
N=4
D2 D22
D3 D23
_6
Example 2
To prevent overlapping the source and the destination, the data is transferred in the following way.
1. When the device number of S is larger than the device number of D, the data is transferred in the order from to
.
1
D20 D19
2
D21 D20
3
D22 D21
6-134
Ch ap te r 6 Ap pl ie d Instruc ti ons
2. When the device number of S is less than the device number of D, the data is transferred in the order from to .
1
D10 D11
2
D11 D12
3
D12 D13
Additional remarks
1. If D+n-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
2. If S+n-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
3. If n is not between 1–256, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#200B.
6_
6-135
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
n
Symbol
S : Data source
D : Data destination
n : Data length
_6
Explanation
1. This instruction transfers the data in S to the n devices starting from the device specified by D. When the
S S D
S D+1
S D+2 N=5
S D+3
S D+4
6-136
Ch ap te r 6 Ap pl ie d Instruc ti ons
Example
Additional remarks
1. If D-D+n-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
2. If the value in n in the 16-bit instruction is not between 1–256, the instruction is not executed, SM0 is ON, and the
error code in SR0 is 16#200B.
6_
6-137
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
Symbol
S1 : Data to exchange
S2 : Data to exchange
_6 Explanation
1. This instruction exchanges the data in the device specified by S1 with the data in the device specified by S2.
2. Only the 32-bit instructions can use the 32-bit counter, but not the device E.
Example 1
When X0.0 is switched from OFF to ON, the instruction exchanges the data in D20 with the data in D40.
Example 2
When X0.0 switches from OFF to ON, the instruction exchanges the data in D100 with the data in D200.
Before the instruction After the instruction
is executed: is executed:
D 10 0 9 8 D 10 0
D 10 1 20 40 D 10 1
D 20 0 8 9 D 20 0
D 20 1 40 20 D 20 1
6-138
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
n
Symbol
S1 : Data to exchange
S2 : Data to exchange
n : Data length
Explanation
6_
1. This instruction exchanges the data in S1–S1+n-1 with the data in S2–S2+n-1.
6-139
AS Ser ies Pro gra mm in g M anu al
Example
When X0.0 is ON, the instruction exchanges the data in D10–D14 with the data in D100–D104.
D10 D11 D12 D13 D14 D100 D101 D102 D103 D104
1 2 3 4 5 16 17 18 19 20
D10 D11 D12 D13 D14 D100 D101 D102 D103 D104
16 17 18 19 20 1 2 3 4 5
Additional remarks
1. If S1+n-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
2. If S2+n-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
_6
16#2003.
3. If the value in n is not between 1–256, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#200B.
6-140
Ch ap te r 6 Ap pl ie d Instruc ti ons
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
Symbol
S : Data source
Explanation
1. The 16-bit instruction exchanges the data in the low byte in S with the data in the high byte in S.
2. The 32-bit instruction exchanges the data in the low byte of the high word in S with the data in the high byte of the 6_
high word in S, and exchanges the data in the low byte of the low word in S with the data in the high byte of the low
word in S.
3. Only the 32-bit instructions can use the 32-bit counter, but not the device E.
Example 1
When X0.0 is ON, the instruction exchanges the data in the low byte in D0 with the data in the high byte in D0.
D0
High byte Low byte
6-141
AS Ser ies Pro gra mm in g M anu al
Example 2
When X0.0 is ON, the instruction exchanges the data in the low byte in D11 with the data in the high byte in D11, and
exchanges the data in the low byte in D10 with the data in the high byte in D10.
D11 D10
High byte Low byte High byte Low byte
_6
6-142
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
m1
m2
D
n
Symbol
S : Data source
Explanation
1. This instruction allocates and combines data. The instruction transfers m2 digits of the number starting from the
m1th digit of the number in S to the m2 digits of the number starting from the nth digit of the number in D.
2. The value in m1 must be between 1–4. The value in m2 must be between 1–m1. The value in n must be between
6-143
AS Ser ies Pro gra mm in g M anu al
Suppose the number in S is K1234, and the number in D is K5678. After the instruction is executed, the number in
4. When SM605 is ON, the data involved in the instruction is binary numbers.
th rd nd st
4 digit 3 digit 2 digit 1 digit
D10 ( 16- bit binary number )
Suppose the number in S is 16#1234, and the number in D is 16#5678. After the instruction is executed, the
_6 Example 1
1. When SM605 is OFF, the data in S are binary-coded decimal numbers. When X0.0 is ON, the instruction transfers
two digits of the decimal number starting from the fourth digit of the decimal number (the digit in the thousands
place of the decimal number) in D10 to the two digits of the decimal number starting from the third digit of the
decimal number (the digit in the hundreds place of the decimal number) in D20. After the instruction is executed,
the digits in the thousands place of the decimal number (103) and the ones place of the decimal number (100) in
2. When the binary-code decimal number is not between 0–9,999, the instruction is not executed, SM0 is ON, and the
6-144
Ch ap te r 6 Ap pl ie d Instruc ti ons
Suppose the number in D10 is 1234, and the number in D20 is 5678. After the instruction is executed, the number
Example 2 6_
When SM605 is ON, the data are binary numbers. The SMOV instruction transfers the digit composed of four bits. The
instruction does not transform the data into binary-coded decimal numbers.
6-145
AS Ser ies Pro gra mm in g M anu al
th rd nd st
4 digit 3 digit 2 digit 1 digit
D10 ( 16- bit binary number )
Suppose the number in D10 is 16#1234, and the number in D20 is 16#5678. After the instruction is executed, the
Example 3
1. You can use the instruction to combine the values of the DIP switches that are connected to the input terminals
2. The two digits of the value of the DIP switch at the right are transferred to the two digits of the number which start
from the second digit of the number in D2, and the one digit of the value of the DIP switch at the left is transferred
3. You can use the SMOV instruction to transfer the first digit of the number in D1 to the third digit of the number in
D2. In other words, the two DIP switches can be combined into one DIP switch by means of the SMOV instruction.
2 1 0
10 10 10
_6
6 4 2
8 1 8 1
8 1
X0.3~X0.0 X1.15~X1.0
PLC
6-146
Ch ap te r 6 Ap pl ie d Instruc ti ons
Additional remarks
1. Suppose the data are binary-coded decimal numbers. If the number in S is not between 0–9999, or if the number
in D is not between 0–9999, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#200D.
2. If m1 is less than 1, or if m1 is larger than 4, the instruction is not executed, SM0 is ON, and the error code in SR0 6_
is 16#200B.
3. If m2 is less than 1, or if m2 is larger than m1, the instruction is not executed, SM0 is ON, and the error code in SR0
is 16#200B.
4. If n is less than m2, or if n is larger than 4, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#200B.
6-147
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
n
D
Symbol
S : Data source
n : Data length
D : Data destination
Explanation
1. This instruction transfers n pieces of data in devices starting from the device specified by S to the devices starting
_6 from the device specified by D.
2. When S is T, C or HC, the instruction transfers only the state of the device, but does not transfer the current value
of the device.
3. The value in n must be between 1–256. When n not between 1–256, the instruction is not executed, SM0 is ON,
and the error code in SR0 is 16#200B.
Example
When X0.0 is ON, the instruction transfers the data in D0.8–D0.13 to D1.2–D1.7.
6-148
Ch ap te r 6 Ap pl ie d Instruc ti ons
Additional remarks
1. If D+n-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
2. If S+n-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
6_
6-149
AS Ser ies Pro gra mm in g M anu al
_6
6-150
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
Symbol
S : Jump destination
Explanation
1. This instruction jumps from the current program execution to a label (destination) in a different part of the program
in the PLC. You specify the label (pointer) in S. You can use the CJ or CJP instruction to shorten the scan time. You
6_
can also use the CJ or CJP instruction when using a dual output.
2. If the program specified by the jump destination (label) is prior to the CJ instruction, the watchdog timer error
occurs, and the PLC stops running the program. Use this instruction carefully.
3. You can specify the same label repeatedly with the multiple different CJ instructions.
4. When the instruction is executed, the actions of the devices are as described below.
The state of Y, the state of M, and the state of S remain the same as before the execution of the jump.
The timer keeps counting and when it reaches the time setting value, the program drives the output T-coil.
For more information on the MC and MCR instructions, refer to Example 2 below.
Example 1
1. When X0.0 is ON, the program execution jumps from NETWORK 1 to LABEL1 (NETWORK 3) and skips
NETWORK 2.
6-151
AS Ser ies Pro gra mm in g M anu al
2. When X0.0 is OFF, the execution of the program goes from NETWORK 1 to NETWORK 2 to NETWORK 3 in
Example 2
1. You can use the CJ instruction between the MC and the MCR instructions 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
(b) The execution of the program jumps from the part of the program outside the MC/MCR loop to the part of the
(c) The execution of the program jumps from the part of the program inside the MC/MCR loop to the part of the
(d) The execution of the program jumps from the part of the program inside the MC/MCR loop to the part of the
(e) The execution of the program jumps from the part of the program inside one the MC/MCR loop to the part of
2. When the PLC executes an MC instruction, it puts the previous state of the switch contact onto the top of the stack
inside the PLC. The stack is controlled by the PLC, and cannot be changed. When the PLC executes the MCR
instruction, the PLC pops the previous state of the switch contact 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; items can be popped from the stack until the stack is empty. Therefore, when you use CJ or CJP
with MC and MCR, be careful of how the program pushes items onto the stack and pops items from the stack.
6-152
Ch ap te r 6 Ap pl ie d Instruc ti ons
6_
6-153
AS Ser ies Pro gra mm in g M anu al
Example 3
State of the contact State of the contact during the State of the output coil during the
M1, M2, and M3 are M1, M2, and M3 switch from OFF
Y0.1*1, M20, and S1 are OFF.
OFF. to ON.
Y, M, and S
M1, M2, and M3 M1, M2, and M3 switch from ON
Y0.1*1, M20, and S1 are ON.
are ON. to OFF.
T-coil.
_6 M7 and M10 are
M10 is ON/OFF. The counter is not enabled.
OFF.
Counter
M7 is OFF. M10 is C0 stops counting. When M0 switches
M10 is ON/OFF.
ON/OFF. OFF, C0 keeps counting.
*1:Y0.1 is a dual output. When M0 is OFF, Y0.1 is controlled by M1. When M0 is ON, Y0.1 is controlled by M12.
6-154
Ch ap te r 6 Ap pl ie d Instruc ti ons
6_
6-155
AS Ser ies Pro gra mm in g M anu al
Additional remarks
_6
Refer to the ISPSoft User Manual for more information on the use of labels (pointers) with Jump instructions.
6-156
Ch ap te r 6 Ap pl ie d Instruc ti ons
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
Symbol
S : Jump destination
Explanation
1. This instruction causes the execution of the program to jump to the part of the program specified by the label in S
(pointer) without any condition.
2. If the program specified by the label is prior to the instruction JMP, the watchdog timer error occurs, and the PLC 6_
stops running the program. Use this instruction carefully.
3. Refer to the CJ instruction (API 400) for more information on the states of devices while executing this instruction.
4. Refer to the ISPSoft User Manual for more information on the use of labels (pointers) with Jump instructions.
6-157
AS Ser ies Pro gra mm in g M anu al
Symbol
Explanation
2. Function blocks and interrupt tasks do not support the GOEND instruction. You cannot use the instruction between
3. When the PLC executes the GOEND instruction, the instructions skipped are not executed, the data in all devices
_6
6-158
Ch ap te r 6 App l ied Ins tr uc ti ons
6_
6-159
AS Ser ies Pro gra mm in g M anu al
Symbol
Explanation
_6
6-160
Ch ap te r 6 App l ied Ins tr uc ti ons
Symbol
Explanation
1. Use the EI instruction to enable interrupt tasks in a program (refer to next page for more information on tasks).
2. You can use the interrupt task between the EI instruction and the DI instruction in a program. You can choose not
to use the DI instruction when there is no part of the program in which the interrupt is disabled.
3. During the execution of one interrupt task, a new interrupt generated is not executed, but is stored. After the
execution of the present interrupt task is complete, the next interrupt task is executed. For example, during the
execution of I0 (by trigged order #1), 2 new I0s (by trigged order #2, by trigged order #3) are generated, only by
trigged order #2 I0 will be stored for later execution. by trigged order #3 IO is not stored for execution.
4. When several interrupts occur, the interrupt task with the highest priority is executed first. When several interrupts
occur simultaneously, the interrupt task with the smallest pointer number is executed first.
6_
5. When the interrupt task occurs between DI and EI, it cannot be executed, and the interrupt request is ignored. It is
suggested that you not use the instruction DI to disable interrupts while PLC is running.
6. When the immediate I/O signal is required in the execution of the interrupt task, you can use the REF instruction or
the device DX/DY in the program to refresh the state of the I/O.
7. Every interrupt number has a temporary function that can be masked. See below for the list of interrupt numbers.
6-161
AS Ser ies Pro gra mm in g M anu al
Example:
When the PLC runs the program Cyclic_0, it scans the EI instruction, enables interrupt tasks, and then executes
the I601 interrupt task. When the interrupt task execution is complete, the main program is executed.
When M2 is ON, the SR632 is 0 and the I601 timer interrupt task is disabled.
When M3 is ON, the SR632 is 1 and the I601 timer interrupt task is enabled.
_6
6-162
Ch ap te r 6 App l ied Ins tr uc ti ons
M0 =O N
Ex ecute the ins truc ti on E IX
to e nable i nterrupt
M1 =O N
SR 632=0
interr upt d isabled
M2 =O N
SR632=1
interrupt enabled
M3 =O N
0 .5
Y 0.0 0 .5 s ec
se c
Additional remarks
This type of interrupts can be further divided into 6 groups. Each group corresponds to a hardware high-speed
counter (refer to the DCNT instruction API 1003 for more information). Each group has with 4 interrupt numbers (refer
to the DHSCS instruction API 1005 for more information). For example, the interrupt numbers for the first group are
There are 8 interrupts for software high-speed comparisons and these 8 interrupts are shared with 8 high-speed
counters.
4. Communication interrupts
You can use the communication interrupt as the RS instruction; that is, receiving a specific character triggers the
interrupt, or you can use it as a general interrupt. Refer to the COMRS instruction (API1812) for more information.
6-163
AS Ser ies Pro gra mm in g M anu al
COM1: I300
COM2: I302
Card 1: I304
Card 2: I306
Each module has one interrupt. You can set up 1 interrupt service for each extension module.
When the pulse output is complete, the interrupt request is sent. The interrupts (I500–I505) for the completing the
execution of the positioning instruction work with special devices (SM) to activate the interrupt service. For example,
when the DDRVI instruction completes the execution of the first axis, the interrupt request I500 is sent; you can set
SM471 to ON to activate the interrupt service. The interrupts (I510–I519) for the completing the execution of the
position planning table instruction work with the TPO instruction. When the pulse output is complete, the interrupt
request is sent.
_6
For the timer interrupts I601–I603: The default value is 10 milliseconds (unit: 1ms) (1–2000 milliseconds).
For the timer interrupts I604: The default value is 1 milliseconds (unit: 0.1ms) (0.1–200 milliseconds).
The complete list of interrupt numbers, descriptions and the mask-able interrupts (SR) are listed in the following table.
6-164
Ch ap te r 6 App l ied Ins tr uc ti ons
6-165
AS Ser ies Pro gra mm in g M anu al
6-166
Ch ap te r 6 App l ied Ins tr uc ti ons
I264 counter
4
6_
High-speed comparison interrupt 6 for the software high-speed
5
I265 counter
I301 Reserved 1
I303 Reserved 3
I305 Reserved 5
6-167
AS Ser ies Pro gra mm in g M anu al
I307 Reserved 7
6-168
Ch ap te r 6 App l ied Ins tr uc ti ons
Note: When several interrupts occur simultaneously, the interrupt task whose pointer number is smallest is executed
first. The PLC completes the on-going interrupt, and then execute other interrupts according to their pointer numbers.
For example, during the execution of I400 interrupt, if I500 and I300 occur simultaneously, the PLC executes the I300
interrupt (smaller pointer number) after executing the I400 interrupt.
6_
6-169
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
Symbol
S : Data source
Explanation
1. The data source S can only contain a decimal number, and the number must be an interrupt number. If the number
is not an interrupt number, the instruction is not executed and no warning is shown. For example, use EIX500 in S
when you want to enable the I500 interrupt. Refer to the interrupt number list in the explanation of the EI
_6 instruction.
2. The default for interrupt tasks in the AS Series is enabled. If you use the DIX instruction to disable the interrupts,
you must use the EIX instruction to enable the interrupts.
3. You can use this instruction to enable the interrupt tasks in SR623–SR634.
4. If this instruction is not executed, then the contents of SR623–SR634 determine whether an interrupt task is
performed or not.
5. Refer to the examples for the EI instruction (API 0501) for more information.
6-170
Ch ap te r 6 App l ied Ins tr uc ti ons
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
Symbol
S : Data source
Explanation
1. The data source S can contain only decimal numbers, and the number must be an interrupt number. If the number
in S is not an interrupt number, the instruction is not executed and no warning is shown. For example, use DIX500
when you want to disable the I500 interrupt. Refer to the interrupt number list in the explanation of the EI
instruction.
2. The default for interrupt tasks in the AS Series is enabled. Use the DIX instruction to disable the interrupts.
6_
3. You can use this instruction to disable the interrupt tasks in SR623–SR634.
4. If this instruction is not executed, then the contents of SR623–SR634 determine whether an interrupt task is
performed or not.
5. Refer to the examples for the EI instruction (API 0501) for more information.
6-171
AS Series Programming Manual
_6
6-172
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
D
n
Symbol
Explanation
6_
1. The I/O states are normally not refreshed until the PLC executes the END instruction. When the PLC starts
scanning the program, it reads and stores the states of the external inputs in memory. After executing the END
instruction, the PLC sends the states of the outputs in the memory to the output terminals. Therefore, when you
need the latest I/O data during the operation process, you can use this instruction, or use the device DX/DY to
2. The operand n must be multiples of eight, such as 8, 16, 24 and up to 256. If the value here is less than a multiple
of eight, it will be seen as the next multiple of eight. For example, the value 20 will be seen as its next multiple of
eight, 24.
3. The number of the high-speed output point is stored in D device for firmware version 1.04.00 and later. If n is 1, it
indicates to refresh the high-speed output value of the corresponding SR immediately. If n is 0, it indicates to stop
high-speed output and refresh the SR current value. For example, during the execution of this instruction, if n is 0
and the external interrupt input is received through X0.0, it indicates an external interrupt occurs in X0.0 and high-
speed outputting through Y0.0 should be stopped immediately. The PLC sets the stop flag SM463 to ON and
refresh the current corresponding output position in SR. Note: if the output completion auto-reset flag is set to ON,
6-173
AS Series Programming Manual
the PLC sets the output completion auto-rest flag to OFF and refresh the current corresponding output position in
SR. But the PLC does not set the stop flag SM463 to ON.
*2: For PLC CPU to act as Master, its firmware should be V1.06.40 or later. For PLC CPU to act as Slave, its firmware
should be V1.12 or later. This function is not intended to speed up the PDO data mapping time and it is suggested to use
this function when the PLC scan time is longer than the PDO refreshing time of DS301.
_6 *3: This function is only available for PCL CPU with firmware V1.10.30 or later. It is especially helpful when the PLC scan
time is too long. You can use this function along with a time interrupt to respond the request sent through Modbus TCP
communication at a set time to have the communication between the upper device and PLC CPU started sooner. The
recommended set time is 5 ms. If the time set for the PLC CPU to react is set too short, the PLC scan time will be
increased dramatically. Since the respond to Modbus TCP communication request is to process the request that means
during a PLC program scan time more tasks will be added, including reading or writing.
Example 1
1. When X0.0 is ON, the PLC reads the states of the inputs X0.0–X0.15 immediately, and refreshes the input signals
without any delay.
6-174
Ch ap te r 6 Ap pl ie d Instruc ti ons
Example 2
When X0.0 is ON, the output signals from Y0.0–Y0.7 are sent to the output terminals. The output signals are refreshed
immediately without waiting for the END instruction to be executed.
Additional remarks
1. If D+n-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
Example 3
1. During the execution of this instruction, if the external interrupt input is received through X0.0
6-175
AS Series Programming Manual
_6
6-176
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
S
S1
Symbol
Explanation
1. The timing for the PLC to update the comparative value in its comparator is when the DHSCS or DHSCR
instruction is scanned by a program successfully. However, the refresh may fail if the scan time is too long or the
6_
input signal comes too fast. In this event, users can use the instruction to assign the new comparative value to the
2. S is the No of the specified high-speed counter to be refreshed. S1 has the same component or variable name as
that in the DHSCS or DHSCR instruction and the immediate value can not be set for S1. If S1 does not have the
same operand as that in the high-speed comparison instruction which has been enabled, the instruction execution
6-177
AS Series Programming Manual
Example
2. When the X0.0 external interrupt occurs, the comparative value in DHSCS is set to 8000 immediately.
Main program:
Assign the new comparative value to the same variable (E.g. D10 in the example) first and then execute DHSRF
_6 instruction for the update.
6-178
Ch ap te r 6 Ap pl ie d Instruc ti ons
0602 REFF P Xno, Length, Filter Refreshing the I/O filtering time
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
Xno
Length
Filter
Symbol
6_
Filter : Filtering time to refresh (unit: µs)
Explanation
1. This instruction works only with AS series (FWV1.06.00) and ISPSoft V3.06 or later versions.
2. Xno is the starting input number to refresh. Length is the length to refresh. If the X point is the built-in input point of
a CPU, when Xno is X0.3, the value of Length is 3, after executing the REFF instruction, the input filtering time of
X0.3 ~ X0.5 are refreshed.
Since X input point of the extension module is grouping in 8 for a unit, when Xno is X1.9 and the value of Length
is 3, after executing the REFF instruction, the input filtering time of X1.8 ~ X1.15 are refreshed. When Xno is 1.3,
and the value of Length is 3, after executing the REFF instruction, the input filtering time of X1.0 ~ X1.7 are
refreshed. When Xno is X1.3 and the value of Length is 9, the input filtering time of X1.0 ~ X1.15 are refreshed.
3. Xno and Length should be set in the input of PLC input system. If the setting exceeds the range, even if you have
executed REFF instruction, the I/O will NOT be refreshed and error message will NOT be shown.
4. If the X point is the built-in input point of a CPU, the filtering time unit is µs. While if the X point is the input point of
6-179
AS Series Programming Manual
the extension module, the filtering time unit is ms. This instruction is for refreshing the current filtering time; filtering
time set in HWCONFIG will NOT be affected. But when the value of Filter in the instruction exceeds the setting
range in HWCONFIG, PLC treats the value of Filter as the maximum or the minimum value set in HWCONFIG.
5. When power-on, the filtering time of the CPU and the extension module is refreshed according to the filtering time
set in HWCONFIG.
6. The REFF instruction refreshes the filtering time only at its first execution.
_6
6-180
Ch ap te r 6 Ap pl ie d Instruc ti ons
6_
6-181
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
D
Symbol
D : Destination device
Explanation
This instruction alternates the state of the device specified by D between ON and OFF.
_6 1.
Example 1
When X0.0 switches from OFF to ON for the first time, Y0.0 is ON. When X0.0 switches from OFF to ON for the second
6-182
Ch ap te r 6 Ap pl ie d Instruc ti ons
Example 2
In the beginning, M0 is OFF; therefore, Y0.0 is ON, and Y0.1 is OFF. When X0.0 switches from OFF to ON for the first
time, M0 is ON; therefore, Y0.0 is OFF, and Y0.1 is ON. When X0.0 switches from OFF to ON for the second time, M0 is
Example 3
When X0.0 is ON, T0 generates a pulse every two seconds. The output Y0.0 alternates between ON and OFF according
6-183
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
D
n
Symbol
D :Recorded time
n :Multiplier
Explanation
1. This instruction uses seconds as the unit of time. The time for which a button switch has been turned ON is
multiplied by n, and the product is stored in D. D+1 is for system use only. When the instruction is executed, the
3. Setting the multiplier: when n is 0, D uses a second as the timing unit. When n is 1, the time for which the button
switch has been turned ON is multiplied by 10, and D uses 100 milliseconds as the timing unit. When n is 2, the
time for which the button switch has been turned ON is multiplied by 100, and D uses 10 milliseconds as the timing
unit. The greater the value in n, the higher the timing resolution.
n D
4. When you use on-line editing, reset the conditional contact to initialize the instruction.
6-184
Ch ap te r 6 Ap pl ie d Instruc ti ons
Example 1
1. The instruction multiplies the time for which the button switch X0.0 has been turned ON by n, and stores the
product in D0. You can use the button switch (ON) to record the time.
X0.0
D0
D0
T T
The time for whic h The time for whic h
the button switc h is the button switc h is
turned on. turned on.
(Unit: Second) (Unit: Second)
Additional remarks
6_
1. If D+1 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
2. If the value in n is not between 0–2, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#200B.
3. If you declare the operand D in ISPSoft, the data type is ARRAY [2] of WORD/INT.
6-185
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
m
D
Symbol
D : Output device
Explanation
_6 1. This instruction generates timing for the off-delay relay, the one-shot circuit, and the flashing circuit.
2. This instruction uses 100 milliseconds as the timing unit. If the setting value for m is 50, the time value is 5
seconds.
6. When the conditional contact is not enabled and the value of the device meets one of the two conditions mentioned
below, D, D+1, and D+3 are ON for m seconds before they are switched OFF. When the conditional contact is not
enabled and the value of the device does not meet either of the two conditions mentioned below, D-D+3 keep OFF.
The value of the timer is less than or equal to m, D is ON, and D+1 is OFF.
The value of the timer is less than m, D +2 is OFF, and D, D+1, and D+3 are ON.
7. When the on-line editing is used, Reset the conditional contact to initialize the instruction.
6-186
Ch ap te r 6 Ap pl ie d Instruc ti ons
Example
1. When X0.0 is ON, the instruction specifies the timer T0, and the setting value of T0 is five seconds.
2. Y0.0 is the off-delay contact. When X0.0 switches to ON, Y0.0 is ON. Five seconds after X0.0 switches to OFF,
Y0.0 is OFF.
5. Five seconds after X0.0 switches to ON, Y0.3 is ON. Five seconds after X0.0 switches to OFF, Y0.3 is OFF.
X0.0
Y0.0
5 s econds 5 s econds
Y0.1
5 s econds 5 s econds
Y0.2
6_
5 s econds
Y0.3
5 s econds 5 s econds 5 s econds
6. When the conditional contact X0.0 is followed by the b contact Y0.3, the flasher circuit passes through Y0.1 and
Y0.2. When X0.0 is switched OFF, Y0.0, Y0.1, and Y0.3 are switched OFF, and T0 is reset to 0.
X 0.0
Y 0.1
5 s econds
Y 0.2
5 s econds
6-187
AS Ser ies Pro gra mm in g M anu al
Additional remarks
1. If D+3 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
2. If the value in m is less than 0, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#200B.
3. If you declare the operand D in ISPSoft, the data type is ARRAY [4] of BOOL.
_6
6-188
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
n
Symbol
Explanation
1. This instruction gets the linear slope, which has an absolute relationship with the scan time. Therefore it is
suggested that you set a fixed scan time or write this instruction in a timer interrupt task.
2. You write the initial value and final value of the ramp signal into S1 and S2 respectively in advance. When X0.0 is
ON, D increases from the setting value in S1 to the setting value in S2. The number of scan cycles is stored in D+1.
When the value in D is equal to that in S2, or when the value in D+1 is equal to n (to the number of scan cycles),
then SM687 is ON.
3. When the conditional contact is not enabled, the value in D, and D+1 are both 0, and SM687 is OFF.
4. When using on-line editing, Reset the conditional contact to initialize the instruction.
5. Refer to the ISPSoft User Manual for more information on setting a fixed scan time.
6. The value of n must be between 1–32767. When n is out of range, this instruction is not executed.
6-189
AS Ser ies Pro gra mm in g M anu al
7. Only the 32-bit instructions can use the 32-bit counter, but not the device E.
8. Use the SM686 flag to reset the value in D to 0. Refer to the examples below for details.
Example
When you use the instruction with an analog signal output, it acts to cushion the starting and stopping of the machinery.
1. During execution, when X0.0 switches to OFF, the execution of the instruction stops. When X0.0 switches to ON
again, SM687 is OFF, D12 is reset to the setting value in D10, D13 is reset to 0, and the ramp calculation is
restarted.
2. During execution, SM686 is OFF, and when D12 reaches the setting value in D11, SM687 switches to ON as a
scan cycle. When D12 resets to the setting value in D10, D13 resets to 0.
D11
_6 D12
D10
D12
D11
D10
3. When SM686 is ON, and D12 reaches the setting value in D11, the value in D12 is not reset to 0, and SM687 is
ON. As long as the conditional contact is closed (ON), the value in D12 resets to 0 and SM687 is OFF. When
6-190
Ch ap te r 6 Ap pl ie d Instruc ti ons
SM686=O N SM686=O FF
X0.0 X0.0
T he signal is enabled. T he signal is enabled.
D11
D11
D12 D12
D10 D10
SM687 SM687
Additional remarks
1. If D+1 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
2. If n is less than 0, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#200B.
3. For the 16-bit instruction, if you declare the operand D in ISPSoft, the data type is ARRAY [2] of WORD/INT.
4. For the 32-Bit instruction, if you declare the operand D in ISPSoft, the data type is ARRAY [2] of DWORD/DINT.
6_
6-191
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
type INT
S
D1
D2
n
Explanation
1. This instruction scans and stores the states of eight sequential input devices. S specifies the first input device in
the matrix scan.
2. D1 specifies the transistor output device Y as the first device in the matrix scan. When the conditional contact is
OFF, the states of the n devices starting from D1 are OFF.
3. One row of inputs is refreshed every scan cycle. There are 16 inputs in a row, and the scan starts from the first row
4. The eight input devices starting from the device specified by S are connected to the n output devices starting from
the device specified by D1 to form the n rows of switches. The matrix scan reads the states of the n rows of
switches, and stores the states in the devices starting from the device specified by D2.
5. You can connect up to 8 rows of input switches in parallel to get 64 inputs (8×8=64).
6. The interval between executions of this instruction should be longer than the time it takes for the states of the I/O
points on the module to be refreshed. Otherwise, the instruction cannot read the correct states of the inputs. See
6-192
Ch ap te r 6 Ap pl ie d Instruc ti ons
7. In general, the conditional contact used in the instruction is SM400: the flag is always ON when CPU runs.
Example 1
1. When M0 is ON, the MTR instruction is executed. The instruction reads the states of the two rows of switches in
order, and stores them in the internal relays M10–M17 and M20–M27 respectively.
2. The diagram below is the external wiring diagram of the 2-by-8 matrix input circuit for X0.0–X0.7 and Y0.0–Y0.1.
The corresponding internal relays of the 16 switches are M10–M17 and M20–M27.
3. The instruction connects eight input devices starting from X0.0 to the two output devices starting from Y0.0 to form
the two rows of switches. The matrix scan reads the states of the two rows of switches, and stores the states in the
devices starting from M10 (specified by D2). That is, it stores the states of the first row of switches in M10–M17,
and stores the states of the second row of switches in M20–M27.
6-193
AS Ser ies Pro gra mm in g M anu al
Y0.0 1 3
T he second r ow of input s ignal s ar e read.
Y0.1 2 4
Additional remarks
1. When this instruction is executed, a cycle time that is too long or a too short causes the state of the switches to be
When the scan cycle is too short, the I/O may not be able to respond in time and the correct states of the
inputs cannot be read. You can set a fixed scan time to solve this issue.
When the scan cycle is too long, the switch may be slow to react. You can write this instruction in a timer
2. If S+7, D1+n-1, or D2+(n*8)-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the error
code in SR0 is 16#2003.
3. If n is not between 2–8, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#200B.
4. If you declare the operand S in ISPSoft, the data type is ARRAY [8] of BOOL.
_6
6-194
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
n
Symbol
S2 : Comparison value
D : Comparison result
6_
n : Number of comparison groups
Explanation
1. Use this instruction to generate multiple pulses corresponding to the current values of the counter.
2. Only the DABSD instruction can use the 32-Bit counter, but not the device E.
Example 1
1. Before the ABSD instruction is executed, the MOV instruction writes the setting values in D100–D107. The values
in the even devices are minimum values, and the values in the odd devices are maximum values.
2. When X0.0 is ON, the instruction compares the current value of the counter C10 with the maximum values and the
6-195
AS Ser ies Pro gra mm in g M anu al
4. When the current value of C10 is between the minimum value and the maximum value, M10–M13 are ON.
5. Suppose the minimum value is larger than the maximum value. When the current value of C10 is less than the
maximum value (C10<60), or when the current value of C10 is larger than the minimum value (C10>140), M12 is
ON. Otherwise, M12 is OFF.
6-196
Ch ap te r 6 Ap pl ie d Instruc ti ons
40 100
M10
120 210
M11
60 140
M12
150 390
M13
0 200 400
Additional remarks
1. For the 16-bit instruction, if S+2*n-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the
error code in SR0 is 16#2003.
2. For the 32-bit instruction, if S+4*n-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the
error code in SR0 is 16#2003.
3. For the 16-bit instruction, if D+n-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the
error code in SR0 is 16#2003.
4. For the 32-bit instruction, if D+2*n-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the
error code in SR0 is 16#2003.
5. For both the 16-bit instruction and the 32-bit instruction, if n is not between 1–256, the instruction is not executed, 6_
SM0 is ON, and the error code in SR0 is 16#200B.
6-197
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
n
S2 : Counter number
D : Comparison result
Explanation
2. The instruction compares the current value of S2 with the setting value in S1. When the current value matches the
setting value, the instruction resets the current value of S2 to 0, and the stores the current comparison group
number in S2+1.
3. After the comparison between the current values of S2 and the n groups of values is complete, SM688 is ON for a
scan cycle.
4. When the conditional contact is not enabled, the value in S2 is 0, the value in S2+1 is 0, D-D+n-1 are OFF, and
SM688 is OFF.
5. When using on-line editing, Reset the conditional contact to initialize the instruction.
6-198
Ch ap te r 6 Ap pl ie d Instruc ti ons
Example
1. Before the INCD instruction is executed, the MOV instruction writes the setting values in D100–D104. The values
2. The instruction compares the current values in C10 with the setting values in D100–D104. When the current value
matches the setting value, the instruction resets C10 to 0, and counts again.
4. When the value in C11 changes by one, M10–M14 act correspondingly. Referto the following timing diagram.
5. When the comparison between the current values in C10 and the values in D100–D104 is complete, SM688 is ON
for a scan cycle.
6. When X0.0 is switched from ON to OFF, C10 and C11 are reset to 0, and M10–M14 are switched OFF. When X0.0
switches to ON again, the instruction execution starts from the beginning.
6_
6-199
AS Ser ies Pro gra mm in g M anu al
X0.0
40
30 30
25
C10 15 15 15
10
Current v alue
4
C11 3
2
Current v alue 0 1 1 1
0 0
M10
M11
M12
M13
M14
SM688
Additional remarks
1. If S2+1 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
_6 2. If S1+n-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
3. If D+n-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
4. If n is not between 1–256, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#200B.
5. If you declare the operand S2 in ISPSoft, the data type is ARRAY [2] of WORD/INT.
6-200
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
Data
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
6-201
AS Ser ies Pro gra mm in g M anu al
Symbol
Explanation
1. This instruction implements the PID algorithm. After the sampling time is reached, the instruction applies PID
algorithm. PID stands for Proportional, Integral, Derivative. The PID control is widely applied to mechanical,
6-202
Ch ap te r 6 Ap pl ie d Instruc ti ons
PID_RUN BOOL Enabling the PID algorithm False: reset the output value (MV) to 0,
Range of
single-
precision
SV REAL SV Target value
floating-
point
numbers
Range of
single-
precision
PV REAL PV Process value
floating-
point
numbers
0: Automatic control
updating.
6-203
AS Ser ies Pro gra mm in g M anu al
reverse action.
True: Manual
False: Automatic
MV_MAX.
True: Automatic
MV.
PID algorithm
according to the
1–40,000
CYCLE DWORD/DINT Sampling time (TS) sampling time, and
(unit: ms)
refresh MV. The PLC
instruction execute; it
6-204
Ch ap te r 6 Ap pl ie d Instruc ti ons
sampling time
automatically. If TS is
less than 1, it is
counted as 1. If TS is
is counted as 40,000.
instruction in an
Calculated
Range of
proportional
positive
coefficient (Kc or Kp)
Calculated proportional single-
If the P coefficient is
6_
Kc_Kp REAL coefficient (Kc or Kp, according precision
less than 0, the Kc_Kp
to the settings in PID_EQ) floating-
is 0. Independently, if
point
Kc_Kp is 0, it is not
numbers
controlled by P.
sec; Ki =
1/sec)
6-205
AS Ser ies Pro gra mm in g M anu al
numbers
(unit: sec)
numbers smoothing).
(unit: sec)
the error).
6-206
Ch ap te r 6 Ap pl ie d Instruc ti ons
module checks
absolute value of
ERR_DBW, and
condition. If the
value of ERR_DBW,
present error is
counted as 0, and the
algorithm ; otherwise
the normal
processing.
Suppose MV_MAX is
set to 1,000. When
MV is larger than
Range of
1,000, 1,000 is the
single-
output. The value in
precision
MV_MAX REAL Maximum output value MV_MAX should be
floating-
larger than that in
point
MV_MIN. Otherwise,
numbers
the maximum MV and
reversed.
6-207
AS Ser ies Pro gra mm in g M anu al
point output.
numbers
Range of
single-
Feed forward output
precision
BIAS REAL Feed forward output value value, used for the
floating-
PID feed forward.
point
numbers
Accumulated integral
_6 value temporarily
according to your
Range of needs.
I_MV
single- PID mode in 0
(occupies 15 Accumulated
precision (Automatic control):
consecutive REAL I_MV integral
floating- When the MV is
DWord value
point greater than the
devices)
numbers MV_MAX, or when the
MV is less than
MV_MIN, the
accumulated integral
value in I_MV is
unchanged.
PID mode in 2
6-208
Ch ap te r 6 Ap pl ie d Instruc ti ons
(Automatic control,
including I_MV):
When PID_MAN
to FALSE, the MV
the automatic
algorithm. If the MV
MV_MAX or MV_MIN,
to calculate the
correct accumulated
action. 6_
I_MV+1 The previous error value is temporarily stored here.
I_MV+2–
For system use only
I_MV+5
I_MV+7–
For system use only
I_MV+14
6-209
AS Ser ies Pro gra mm in g M anu al
PID
Calculation FALSE
MV
TRUE
FALSE
MOUT_AUTO
1. When switching the control mode (PID_MAN=0) from automatic to manual, you can set the flag MOUT_AUTO
to 1 and the output value of MOUT goes along with the output value of MV. After switching to the manual mode
(PID_MAN=1), you can set the MOUT_AUTO to 0.
2. When PID_RUN changes from TRUE to FALSE, the PLC resets the value in MV to 0. When the value in MV is
to be retained, you can set EN to FALSE to dismiss the instruction and to keep the output value in MV.
Example 1
1. Set all parameters before executing this instruction.
2. When M0 is ON, the instruction is executed. When PID_RUN is ON, the instruction applies the DPID algorithm.
When PIC_RUN is OFF, MV is 0, and store the value in MV. When M0 switches to OFF, the instruction is not
executed, and the previous data is unchanged.
_6
Additional remarks
1. The instruction can be used several times, but the registers specified by I_MV–I_MV+14 cannot be the same.
2. I_MV occupies 30 registers.
3. You can only use the 32-bit instruction in cyclic tasks and interval interrupt tasks. When using the 32-bit instruction
in an interval interrupt task, the sampling time (Cycle) is the same as the interval between the timed interrupt tasks.
4. When the instruction is scanned, the 32-bit PID algorithm is applied according to the sampling time (Cycle), and it
refreshes MV. When you use the instruction in an interrupt task, the sampling time (Cycle) is the same as the
6-210
Ch ap te r 6 Ap pl ie d Instruc ti ons
interval between the timed interrupt tasks. The PID algorithm is applied according to the interval between the timed
interrupt tasks.
5. Before the 32-bit PID algorithm is applied, the process value used in the PID instruction has to be a stable value.
When you need the input value in the module to implement the DPID algorithm, must note the time it takes for the
analog input to be converted into the digital input.
6. When the PV (process value) is in the range of ERR_DBW, at the beginning, the present error is brought into the
PID algorithm according to the normal processing, and then the CPU module checks whether the present error
meets the cross status condition: PV (process value) goes beyond the SV (target value). Once the condition is met,
the present error is counted as 0 when applying the PID algorithm. After the PV (process value) is out of the
ERR_DBW range, the present error is brought into the PID algorithm again. If PID_DE is true, that means it uses
the variations in the PV to calculate the control value of the derivative, and after the cross status condition is met,
the PLC treats Δ PV as 0 to apply the PID algorithm. (Δ PV= current PV – previous PV). In the following example,
the present error is brought into the PID algorithm according to the normal processing in section A ,and the present
error or Δ PV is counted as 0 to apply the PID algorithm in the section B.
6_
6 - 2 11
AS Ser ies Pro gra mm in g M anu al
1
t
dE
MV = K c E + ∫ Edt − Td * + BIAS E = SV – PV
Ti 0 dt
Or
1 dE
t
MV = K c E + ∫ Edt + Td * + BIAS E = PV – SV
Ti 0 dt
2. When you set PID_MODE to 1, the PID control mode is the automatic tuning mode. After the tuning of the
parameter is complete, PID_MODE is set to 0. The PID control mode then becomes the automatic control mode.
ERR_DBW
Kc_Kp
PID-P
>0 PID_MAN
BIAS
+ 0
<=0 +
0 +
Kc_Kp MV_LIMIT
1
MV
Ti_Ki
PID-I
>0
MV_MAX, MV_MIN
+
<=0 +
0 +
Ti_Ki MOUT_AUTO
_6 +
0
MOUT
Td_Kd MOUT
PID-D PID_MAN
>0 1
0
<=0
0 1
Td_Kd, Tf MOUT
6-212
Ch ap te r 6 Ap pl ie d Instruc ti ons
Kc_Kp
ERR_DBW Kc_Kp
>0
<=0
0
PID_MAN
BIAS
+ 0
+
+
MV_LIMIT
1
Ti_Ki MV
PID-I
>0
MV_MAX, M V_MIN
<=0
0
Ti_Ki MOUT_AUTO
MOUT
0
Td_Kd MOUT PID_MAN
PID-D
>0 1
0
<=0
0 1
Td_Kd, Tf MOUT
Suggestions
1. Since you can use the 32-bit instruction in a lot of controlled environments, you must choose the appropriate control
function. For example, to prevent improper control, do not use PID_MODE in the motor controlled environment when
it is set to 1.
2. When you tune the parameters Kc_Kp, Ti_Ki, and Td_Kd (PID_MODE is set to 0), you must tune KP first (based on 6_
experience), and then set Ti_Ki and Td_Kd to 0. When you can handle the control, you can increase Ti_Ki and
Td_Kd. When Kc_Kp is 1, it means that the proportional gain is 100%. That is, the error value is increased by a
factor of one. When the proportional gain is less than 100%, the error value is decreased. When the proportional
gain is larger than 100%, the error value is increased.
3. To prevent the parameters that have been tuned automatically from disappearing after a loss of power, you must
store the parameters in the latched data registers when PID_MODE is set to 1. The parameters that have been
automatically tuned are not necessarily suitable for every controlled environment. Therefore, you can modify the
automatically tuned parameters; however, it is suggested that you only modify the Ti_Ki and the Td_Kd.
4. You can use this instruction with many parameters, but to prevent improper control, do not set the parameters
randomly.
6-213
AS Ser ies Pro gra mm in g M anu al
Step 1: First, set the KI and the KD to 0. Next, set the KP to 5, 10, 20 and 40 successively, and record the target values
and the process values. The results are shown in the following diagram.
1.5
K P =40 SV= 1
K P =20 K P =10
1
K P =5
0.5
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 T ime (s ec)
Step 2: When the KP is 40, there is overreaction. When the KP is 20, the reaction curve of PV is close to SV, and there is
no overreaction. However, due to the fast start-up, the transient output value (MV) is big. Neither 40 nor 20 is a
suitable value. When the KP is 10, the reaction curve of PV approaches SV smoothly. When KP is 5, the reaction
is too slow. Therefore, KP = 10 is the best choice.
Step 3: After setting KP to 10, increase KI. For example, KI is successively set to 1, 2, 4, and 8. KI should not be larger
than KP. Then, increase KD. For example, successively set KD to 0.01, 0.05, 0.1, and 0.2. KD should not be larger
than ten percent of KP. Finally, the relation between PV and SV is shown in the following diagram.
1 .5
_6
PV= SV
0 .5
K P =10,KI = 8,K D=0.2
0 0 .1 0 .2 0 .3 0 .4 0 .5 0 .6 0 .7 0 .8 0 .9 1 T ime (s ec)
Note: This example is only for reference. You must tune the parameters properly according to the actual condition of the
control system.
6-214
Ch ap te r 6 Ap pl ie d Instruc ti ons
The experimental result of the automatic tuning function is shown in the following graph. 6_
6-215
AS Ser ies Pro gra mm in g M anu al
The following graph shows the result of using the automatically tuned parameters to control the temperature.
This graph shows that using automatically tuned parameters can result in a good temperature control result. It only takes
about twenty minutes to control the temperature. The following graph shows the result of changing the target
_6
This graph shows that when the target temperature changes from 80°C to 100°C, the automatically tuned parameters still
6-216
Ch ap te r 6 Ap pl ie d Instruc ti ons
Example 4: Creating a DPIDE instruction in a function block and setting to the cyclic task mode to read the function
block written with a DPIDE instruction to control the temperature.
1. Set the value in DPIDE_CYCLE to 1000 ms, and execute the DPIDE instruction by reading the function block written
with a DPIDE instruction. Whenever the function block is scanned, the PID algorithm is applied according to the sampling
2. Set the DPIDE_MODE =1 for auto tuning the parameters for the temperature control. After tuning is done, the
system is in auto control mode (PID_MODE is set to 0) and fill in the appropriate parameters (Kc_Kp, Ti_Ki, Td_Kd, and
Tf).
3. Main program (cyclic task): Since PLC only executes the DPIDE instruction when it is scanned. If we use TMRH to
work with the DPIDE instruction, for example, set the TMRH to 1000 ms, the system calls the function block written with
a DPIDE instruction (AS_DPIDE) every 1000 ms. See the example program below.
6_
4. Function block (AS_DPIDE): Execute the DPIDE instruction by reading the function block written with a DPIDE
instruction. Whenever the function block is scanned, the PID algorithm is applied according to the sampling time (Cycle),
and it refreshes the output value (DPIDE_MV). (Refer to ISPSoft Manual for more details on how to create a function
block.)
6-217
AS Ser ies Pro gra mm in g M anu al
NOTE: The parameters PID_MODE, Kc_Kp, Ti_Ki, Td_Kd, Tf and I MV in the function block written with a DPIDE
_6
Example 5: Creating a DPIDE instruction in a time interrupt program to control the temperature. (Note: use the time
interrupt as the cycle time of DPIDE.)
3. Set the DPIDE_MODE =1 for auto tuning the parameters for the temperature control. After tuning is done,
the system is in auto control mode (PID_MODE is set to 0) and fill in the appropriate parameters (Kc_Kp, Ti_Ki,
6-218
Ch ap te r 6 Ap pl ie d Instruc ti ons
6_
6-219
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
S4
D
Explanation
1. This instruction is only available for AS Series PLCs with firmware version 1.04.00 or higher. The instruction cannot
be used in the ST programming language, interrupt tasks or function block which is called only once.
2. Use this instruction along with API 0710 YOUT. It is very useful for the applications of assembly and processing
with multiple work stations, including painting, carpentry, metalwork sectors and many more.
3. Use S1 for setting the trigger input points; the high-speed inputs are X0.0–X0.15 and the other inputs are general
type. Executing the instruction enables the external interrupts for the inputs (X0.0–X0.15). Therefore do NOT use
the inputs with interrupt tasks; otherwise, when the instruction is executed, the interrupts are disabled and resumed
only after the instruction completes. The general type inputs are affected by the scan time though they are suitable
for the environments where the inputs are not as stable.
6-220
Ch ap te r 6 Ap pl ie d Instruc ti ons
4. S2 works with 32-bit counters (HC0–HC255). When the inputs are the high-speed trigger input type, implement the
hardware high-speed counter and use the DCNT instruction to enable the counter. When you need high-speed output,
use the DMOV instruction to copy the output current position; for example copying the axis of SR460 to HC0, (DMOV
SR460 HC0).
7. Set the maximum number for S3+1 (m). If m < n, note the objects and make sure they are sufficient on the production
line.
8. S4 occupies 3xn consecutive 32-bit devices (6xn 16-bit devices). If the required space exceeds the range of device
D, the instruction is not executed. The value of n is the work station number set in the operand S3. The following table
lists the functions for each device and the corresponding number for S4. Be sure to declare an array of 3n double
words or 3 consecutive double word type variables for S.
ones (32-bit)
ones (32-bit)
When you set the reference value to 0 for a specific work station, the specific work station stops working. You can
use this technique to manage work stations.
9. D is the first corresponding device for the comparison result in the stack area. D occupies 2xn consecutive 16-bit
devices and 2xmxn consecutive 32-bit devices (or 4xmxn consecutive 16-bit devices). If the required space exceeds
the range of device D, the instruction is not executed. The following table lists the functions for each device and the
corresponding number for D.
6-221
AS Ser ies Pro gra mm in g M anu al
: : : : :
D tends to occupy more space in the stack area. If the required space exceeds the range of device D, the PLC only
executes what is valid in the storage and does not show a no warning. It is suggested that you declare an array of
10. There is no limit on the number of times you can execute the instruction but only one execution can be done at a
time.
11. It is suggested to use this instruction with the YOUT instruction (API 0710), and use the same first corresponding
_6 device for the comparison result in the stack area (D).
The following timing diagram shows executing the high-speed counter and filter (reading from right to left).
3 1 1 2
5 1 4 5 4 1 1
① PLC reads the current counter value and stores the value in a register.
② Drop the shifting counter value: when the signal is unstable (the number of filters is not sufficient).
③ Drop the shifting counter value: when the signal is unstable (the number of filters is not sufficient).
④ Record the counter value to the compared stack area for the entering-work-station ones, when the signal is
stable.
6-222
Ch ap te r 6 Ap pl ie d Instruc ti ons
⑤ Record the counter value to the compared stack area for the leaving-work-station ones, when the signal is
stable.
The following timing diagram shows executing the high-speed counter and filter (reading from right to left).
① PLC reads the current counter value and stores the value in a register.
② Drop the counter value: the number of filters read is less than the number of filters set.
③ Record the counter value to the compared stack area for the entering-work-station ones, when the signal is
stable.
④ Record the counter value to the compared stack area for the leaving-work-station ones, when the signal is
stable.
high-speed counter value and adds one in the value of the head index. The PLC then records the entering and
leaving counter results for each work station. The compared counter result is the current counter value + reference
value + observational error. For either rising- or falling-edge triggered, the value of the head index is incremented.
The maximum value for the head index mx2 (the maximum number of objects).
15. The value of the head index is cyclically incremented, when the signal is rising- or falling-edge triggered and
completes processing the number of filters (the default for trigger input is OFF). The maximum value for the head
index is mx2 (the maximum number of objects). For example, if you set the number of objects to 10, the value of the
head index (default: 0) is incremented to 1, 2, 3 to 20 and then 1, 2, 3 to 20 repeatedly. When the value of the head
index is 0, it means no object has entered after executing the instruction. The PLC adds one to the value of the head
index, and then checks the value of the tail index. If the value (after adding one) in the value of the head index equals
the value of the tail index, the PLC cancels the addition and records the counter result.
16. When the instruction is executed and the state of the initial input is OFF, the rising-edge trigger corresponds to the
odd numbers of the head index value, and the falling-edge trigger corresponds to the even numbers of the head
index value.
6-223
AS Ser ies Pro gra mm in g M anu al
17. When the PLC executes the instruction and the state of the initial input is ON, the falling-edge trigger corresponds
to the odd numbers of the head index value, and the rising-edge trigger corresponds to the even numbers of the
head index value.
18. When the PLC executes the instruction, it does not clear the values in the accumulated area and the index areas. If
the data is in a latched area and needs to be enabled again, use the ZRST instruction to clear the values in the head
Example
Refer to the example in the YOUT instruction (API 0710) for more information.
_6
6-224
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
D
Symbol
Explanation
1. This instruction is only available for AS Series PLCs with firmware version 1.04.00 or higher. The instruction cannot
be used in the ST programming language, interrupt tasks or function block which is called only once.
2. S1 is for the setting of the high-speed counter. Use the same settings for the high-speed counter as for the high-
speed counter for the XCMP instruction.
3. S2 occupies two consecutive 16-bit devices. S2+0 is n (the work station number) and S2+1 is m (the maximum number
of objects). The range for n and m is between 1–32 for PLC with FW V1.04.00 (V1.04.00 included) or previous
versions. And the range for n and m is between 1–64 for PLC with FW V1.06.00 (V1.06.00 included) or higher
versions. When the value is out of range, the value used is the maximum (32) or the minimum (1). The settings for
4. S3 is first corresponding device for the comparison result in the stack area. S3 occupies 2xn consecutive 16-bit
devices and 2xmxn consecutive 32-bit devices (or 4xmxn consecutive 16-bit devices). For information on the
functions of each device and the corresponding number for D, refer to the XCMP instruction (API 0709). It is
suggested that you use the same variable as you use for the XCMP instruction.
6-225
AS Ser ies Pro gra mm in g M anu al
5. There is no limit on the number of times you can execute the instruction but only one execution can be done at a
time.
6. It is suggested that you use with the XCMP instruction, and use the same first corresponding device for the
7. D is only for the outputs of Y and M devices; Y and M should be the BOOL data type. It occupies a consecutive
number of work stations Xn. When used as the output point of Y or the M device, the instruction refreshes the output
states.
8. The odd numbered head index values (for example 1, 3, 5,…) are the compared counter results for the object when
entering (Compared stack areas for the entering -work-station ones). The even numbered head index values (for
example 2, 4, 6,…) are the compared counter result of the object when leaving (Compared stack areas for the
9. When the compared counter result for entering and leaving in the stack area are 0, the actions in this area are not
executed and the state of the corresponding output work station is OFF. Add 2 to the value of the tail index and the
added value in the tail index should not exceed the value of the head index.
10. When the YOUT instruction is executed, each work station checks the compared value for entering and leaving in
the tail index. When the counter value is larger or the same as the compared value for entering, the corresponding
output point is ON and adds 1 to the value of the tail index. When the counter value is larger or the same as the
compared value for leaving, the corresponding output is OFF and adds 1 to the value of the tail index; but the value
of the tail index (after adding 1) does not exceed the value of the head index.
_6
Example: three work stations and up to four objects
Wo rk Work Work
station station station
Object 1 2 3
detection
Obj ect
En co der
Step 1: use the input point X0.4 as the object detection interrupt, HC202 as the high-speed counter for the encoder and
output point Y0.0 as the first output point for the work station.
6-226
Ch ap te r 6 Ap pl ie d Instruc ti ons
Step 2: edit the register to set up the reference values, and the observational error when entering and leaving.
6_
6-227
AS Ser ies Pro gra mm in g M anu al
Set up three work stations for D0, 4 objects for D1 and 50 filters for D2. After the contact M0 is activated, the system sets
the object detection, the compared values, the compared counter result of the object entering and leaving, and the output
controls for each work station. For example, the system detects two objects have entered and then four triggers to read
the compared counter results: 3000, 3500, 4500, and 5000 in HC202 (HC202=K5060). The following table shows the
6-228
Ch ap te r 6 Ap pl ie d Instruc ti ons
The following table shows the state of the output point Y when the high-speed counter HC202 reaches 5200.
The following table shows the state of the output point Y when the high-speed counter HC202 reaching 6200.
6_
Output point Y number Y0.0 Y0.1 Y0.2
6-229
AS Ser ies Pro gra mm in g M anu al
The following table shows the state of the output point Y when the high-speed counter HC202 reaching 6800.
The following table shows the state of the output point Y when the high-speed counter HC202 reaching 7300.
D2002
Device D number D2000 D2001
_6 (16-bit)
The following table shows the state of the output point Y when the high-speed counter HC202 reaching 7700.
6-230
Ch ap te r 6 Ap pl ie d Instruc ti ons
The following table shows the state of the output point Y when the high-speed counter HC202 reaching 8000.
The following table shows the state of the output point Y when the high-speed counter HC202 reaching 8700.
6_
Device D number D2003 D2004 D2005
6-231
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
Data REAL
UINT
DINT
LINT
TMR
CNT
INT
type
Longi
Lati
TimeZ
DST
_6 Year
Month
Date
RHour
RMin
RSec
SHour
SMin
SSec
Symbol
Year Year
Month Month
6-232
Ch ap te r 6 Ap pl ie d Instruc ti ons
Longi RHour
Lati RMin
RSec
TimeZ
SHour The hour to sunrise on the set date
DST RHour
SMin (24 hour time format)
Year
SSec
Month
Date
Explanation
1. The instruction works with the AS series PLC firmware V1.04.50 or later. The sunrise and sunset times may not be
as accurate as the local weather report publishes because the values that you have entered may be incorrect or the
altitude of where the device is installed may interfere with the accuracy. When the result is not as accurate, you can
adjust the values manually. After self-evaluation, the error range of this instruction is less than 5 minutes.
2. Enter values for the local longitude and latitude in numbers. For example, the longitude and latitude of Taoyuan,
Taiwan is 121.30098 and 24.99363. Latitudes north of the Equator are denoted by a positive sign. Latitudes south
6_
of the Equator are given negative values.
3. Enter values for the local time zone, ranging from -12 to +14. The time zone cannot be calculated through the set
longitude and latitude; if the setting is out of range or the value is incorrect, no error message will be shown.
4. When the daylight saving time is enabled (ON), the instruction checks if the daylight saving time on the PLC is
enabled. When the daylight saving time is enabled on the PLC, DST time will be added on the sunrise and sunset
times.
5. Enter values for the local date, month, and year in decimal format. Make sure you have entered correct values. The
instruction does not check if the values are correctly entered.
6. After calculation, the instruction output the hour, minute and second to sunrise and sunset in integer, in decimal
format and 24 hour time format.
Example
Calculate the time to sunrise and sunset in Taoyuan, Taiwan on January 1st, 2018. The official time zone in Taiwan is
defined by an UTC offset of +08:00. And daily saving time is NOT implemented in Taiwan.
After calculation, the time to sunrise is at 06:39:47 and the time to sunset is at 17:16:42. See the example program below.
6-233
AS Ser ies Pro gra mm in g M anu al
Checked with the official weather website, the actual sunrise occurred at 06:39:44 and the actual sunset occurred at
17:16:45. The difference between the PLC calculation and the actual occurrence is ±3 seconds.
_6
6-234
Ch ap te r 6 Ap pl ie d Instruc ti ons
6-235
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
type INT
S1
S2
D
Symbol
S1 : Data source 1
S2 : Data source 2
D : Operation result
_6
Explanation
1. This instruction applies the logical operator AND to the binary representations in S1 and S2 It performs the logical
AND operation on each pair of corresponding bits and stores the result in D.
3. The result in each position is 1 if the first bit is 1 and the second bit is 1; otherwise, the result is 0.
Example 1
When X0.0 is ON, the instruction performs the logical operation AND on each pair of corresponding bits in the 16-bit
device Y0 and the 16-bit device Y2. It stores the result in Y4.
6-236
Ch ap te r 6 Ap pl ie d Instruc ti ons
Example 2
When X0.0 is ON, the instruction performs the logical operation AND on each pair of corresponding bits in the 32-bit
device (Y11, Y10) and the 32-bit device (Y21, Y20). It stores the result in (Y41, Y40).
6_
S1
b31 b15 b0
Before the instruction Y11 Y1 0 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
is executed S2 DA ND
Y2 1 Y2 0 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
After the instruction D
is executed
Y4 1 Y4 0 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
6-237
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
n
Symbol
S1 : Matrix source 1
S2 : Matrix source 2
D : Operation result
Explanation
1. This instruction applies the logical operator MAND to the n rows of binary representations in S1 and the n rows of
binary representations in S2. It performs the matrix operation AND on each pair of corresponding bits, and stores
2. The result in each position is 1 if the first bit is 1 and the second bit is 1; otherwise, the result is 0.
Example
When X0.0 is ON, this instruction performs the matrix operation AND on each pair of corresponding bits on the data in
the 16-bit devices Y0–Y2 and the data in 16-bit devices Y10–Y12. It stores the result in the 16-bit devices Y20–Y22.
6-238
Ch ap te r 6 Ap pl ie d Instruc ti ons
S1 b15 b0
Y0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1
Y1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1
Y2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1
Before the instruction
is executed S2 b15 b0
Y10 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0
Y11 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0
Y12 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0
D b15 b0
Y20 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0
After the instruction
Y21 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0
is executed
Y22 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0
Additional remarks
1. If S1+n-1, S2+n-1, or D+n-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the error
code in SR0 is 16#2003. 6_
2. If n is not between 1–256, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#200B.
A matrix is composed of more than one 16-bit register. The number of registers in a matrix is the length of the
array n. There are 16×n bits in a matrix, and the matrix operation is performed on one bit at a time.
The matrix instruction takes the 16×n bits in a matrix as a string of bits, rather than as values. The matrix
operation is performed on each bit.
Matrix instructions mainly process the one-to-many or many-to-many status, such as moving, copying,
You must specify a 16-bit register for the matrix instruction. The 16-bit register specifies a certain bit among
the 16n bits in the matrix for the operation, and the 16-bit register is called the pointer. The value in the
Shifting or rotating of the specified data can be involved in the matrix operation. Note that the bit number
6-239
AS Ser ies Pro gra mm in g M anu al
Y0 b15 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 b0
Y1 b31 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 b16
Length: n
Y2 b47 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 b32
0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0
Mn-1 b16n- 1 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0
Example: The following matrix is composed of the three 16-bit devices Y0, Y1, and Y2. The data in Y0 is
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 Y0
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Y1
1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 Y2
Example: The following matrix is composed of the three 16-bit devices X 0, X 1, and X 2. The data in X 0 is
0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 X0
0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 X1
0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 X2
6-240
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
Symbol
S1 : Data source 1
S2 : Data source 2
D : Operation result
6_
Explanation
1. This instruction applies the logical operator OR to the binary representations in S1 and S2. It performs the logical
inclusive operation OR on each pair of corresponding bits, and stores the operation result in D.
2. Only the DOR instruction can use the 32-bit counter but not the device E.
3. The result in each position is 1 if the first bit is 1, the second bit is 1, or both bits are 1; otherwise, the result is 0.
6-241
AS Ser ies Pro gra mm in g M anu al
Example 1
When X0.0 is ON, This instruction performs the logical inclusive operation OR on each pair of corresponding bits in the
16-bit device Y0 and the 16-bit device Y2. It stores the operation result in Y4.
b15 b0
S1 Y0 011 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Before the instruction
is executed
S2 Y2 0 0 0 0 1 1 1 1 1 0 1 0 0 1 0 1
b15 b0
After the instruction
Y4 0 1 0 1 1 1 1 1 1 1 1 1 0 1 0 1
is executed D
Example 2
When X0.1 is ON, the instruction performs the logical inclusive operation OR on each pair of corresponding bits in the
_6
32-bit device (Y11, Y10) and the 32-bit device (Y21, Y20). It stores the operation result in (Y41, Y40).
S1 b31 b15 b0
Before the instruction Y11 Y1 0 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
is executed DO R
S2
Y2 1 Y2 0 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
6-242
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
n
Symbol
S1 : Matrix source 1
S2 : Matrix source 2
D : Operation result
1. This instruction applies the logical operator OR to the n rows of binary representations in S1 and the n rows of
binary representations in S2. It performs the matrix operation OR on each pair of corresponding bits and stores the
operation result in D.
2. The result in each position is 1 if the first bit is 1, the second bit is 1, or both bits are 1; otherwise, the result is 0.
6-243
AS Ser ies Pro gra mm in g M anu al
Example
When X0.0 is ON, the instruction performs the matrix operation OR on each pair of corresponding bits in the 16-bit
devices Y0–Y2 and the data in 16-bit devices Y10–Y12. It stores the operation result in the 16-bit devices Y20–Y22.
S1 b15 b0
Y0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
After the
Y1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 instruc tion
Y2 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 is executed D b15 b0
Before the Y20 0 1 0 1 1 1 1 1 1 1 1 1 0 1 0 1
instruc tion S2 b15 MOR b0
is executed Y10 0 0 0 1 0 1 1 1 1 0 1 0 0 1 0 1 Y21 0 1 0 1 1 1 1 1 1 1 1 1 0 1 0 1
Y11 0 0 0 1 0 1 1 1 1 0 1 0 0 1 0 1 Y22 0 1 0 1 1 1 1 1 1 1 1 1 0 1 0 1
Y12 0 0 0 1 0 0 1 1 1 0 1 0 0 1 0 1
Additional remarks
_6
1. If S1+n-1, S2+n-1, or D+n-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the error
code in SR0 is 16#2003.
2. If n is not between 1–256, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#200B.
6-244
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
Symbol
S1 : Data source 1
S2 : Data source 2
D : Operation result
6_
Explanation
1. This instruction applies the logical operator XOR to the binary representations in S1 and S2. It performs the logical
exclusive operation OR on each pair of corresponding bits, and stores the operation result in D.
2. Only the DXOR instruction can use the 32-bit counter, but not the device E.
3. The result in each position is 1 if the two bits are different, and 0 if they are the same.
6-245
AS Ser ies Pro gra mm in g M anu al
Example 1
When X0.0 is ON, the instruction performs the exclusive operation OR on each pair of corresponding bits in the 16-bit
device Y0 and the 16-bit device Y2. It stores the operation result in Y4.
b15 b0
S1 Y0 011 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Before the instruction
is executed
S2 Y2 0 0 0 0 1 1 1 1 1 0 1 0 0 1 0 1
b15 b0
After the i nstruction
Y4 0 1 0 1 1 0 1 0 1 1 1 1 0 0 0 0
is executed D
Example 2
When X0.1 is ON, the instruction performs the logical exclusive operation OR on each pair of corresponding bits in the
_6
32-bit device (Y11, Y10) and the 32-bit device (Y21, Y20). It stores the operation result in (Y41, Y40).
6-246
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
n
Symbol
S1 : Matrix source 1
S2 : Matrix source 2
D : Operation result
1. This instruction applies the logical operator XOR to the n rows of binary representations in S1 and the n rows of
binary representations in of S2. It performs the matrix exclusive operation OR on each pair of corresponding bits and
2. The result in each position is 1 if the two bits are different, and 0 if they are the same.
6-247
AS Ser ies Pro gra mm in g M anu al
Example
When X0.0 is ON, the instruction performs the matrix exclusive operation OR on each pair of corresponding bits in the
16-bit devices Y0–Y2 and the data in 16-bit devices Y10–Y12. It stores the operation result in the 16-bit devices Y20–
Y22.
S1 b15 b0
Y0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
After the
Y1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
instruc tion D
Additional remarks
_6
1. If S1+n-1, S2+n-1, or D+n-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the error
code in SR0 is 16#2003.
2. If n is not between 1–256, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#200B.
6-248
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
S : Data source
D : Operation result
Explanation
1. This instruction applies the INV instruction to the data in S , and stores the operation result in D. 6_
2. Only the DINV instruction can use the 32-bit counter but not the device E.
3. This instruction performs reverse processing on the data in S. If the state of S is 0 before executing the INV
Example 1
When X0.0 is ON, the instruction performs the INV operation on the corresponding bits in the 16-bit device Y0. It stores
6-249
AS Ser ies Pro gra mm in g M anu al
Example 2
When X0.0 is ON, the instruction performs the INV operation on each pair of corresponding bits in the 32-bit devices
_6
6-250
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
Symbol
S1 : Data source 1
S2 : Data source 2
Explanation
1. The instruction is used to compare the data in S1 with that in S2. When the comparison result is not 0, the condition 6_
of the instruction is met. When the comparison result is 0, the condition of the instruction is not met.
2. Only the instruction DLD#can use the 32-bit counter but not the device E.
5. |: Logical OR operation
6-251
AS Ser ies Pro gra mm in g M anu al
Example
1. The logical operator AND takes the data in C0 and C1, and performs the logical AND operation on each pair of
corresponding bits. When the operation result is not 0, Y1.0 is ON.
2. The instruction performs the logical operation OR on each pair of corresponding bits in D200 and D300, when the
operation result is not 0 and X1.0 is ON, Y1.1 is ON.
3. The instruction performs logical exclusive operation XOR on each pair of corresponding bits in C201 and C200,
when the operation result is not 0, or when X1.1 is ON, Y1.2 is ON.
_6
Additional remarks
If S1 or S2 is illegal, the condition of the instruction is not met, SM0 is ON, and the error in SR0 is 16#2003.
6-252
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
Symbol
S1 : Data source 1
S2 : Data source 2
Explanation
1. This instruction compares the data in S1 with that in S2. When the comparison result is not 0, the condition of the 6_
instruction is met. When the comparison result is 0, the condition of the instruction is not met.
2. Only the DAND#instruction can use the 32-bit counter, but not the device E.
5. |: Logical OR operation
6-253
AS Ser ies Pro gra mm in g M anu al
Example
1. When X0.0 is ON, the instruction performs the logical operation AND on each pair of corresponding bits in C0 and
2. When X0.1 is OFF, the instruction performs the logical operation OR on each pair of corresponding bits in D10 and
3. When X0.2 is ON, the instruction performs the logical exclusive operation OR on each pair of corresponding bits in
the 32-bit register (D200, D201) and the data in the 32-bit register (D100, D101). When the operation result is not 0,
_6
Additional remarks
If the value in S1 or S2 is not valid, the condition of the instruction is not met, SM0 is ON, and the error in SR0 is
16#2003.
6-254
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
Symbol
S1 : Data source 1
S2 : Data source 2
Explanation
1. This instruction compares the data in S1 with that in S2. When the comparison result is not 0, the condition of the 6_
instruction is met. When the comparison result is 0, the condition of the instruction is not met.
5. |: Logical OR operation
6-255
AS Ser ies Pro gra mm in g M anu al
Example
1. When X0.1 is ON, Y0.0 is ON. The instruction performs the logical operation AND on each pair of corresponding bits
2. When X0.2 and X0.3 are ON, Y0.1 is ON. The instruction performs the logical operation OR on each pair of
corresponding bits in the 32-bit register (D10, D11) and the 32-bit register (D20, D21). When the operation result is
not 0, Y0.1 is ON. The instruction performs the logical exclusive operation OR on each pair of corresponding bits in
the 32-bit counter HC0. and the 32-bit register (D200, D201). When the operation result is not 0, Y0.1 is ON.
_6
Additional remarks
If the value in S1 or S2 is not valid, the condition of the instruction is not met, SM0 is ON, and the error in SR0 is
16#2003.
6-256
Ch ap te r 6 Ap pl ie d Instruc ti ons
0901 RCR DRCR Rotating bits in a group to the right with the carry flag
0903 RCL DRCL Rotating bits in a group to the left with the carry flag
6_
6-257
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
D
n
Symbol
D : Device to rotate
_6
Explanation
1. This instruction divides the bits in the device specified by D into groups (n bits in a group), and then rotates these
groups to the right without the carry flag.
2. Only the DROR instruction can use the 32-bit counter, but not the device E.
3. For the 16-bit instruction, the value of n used must be between 1–6. For the 32-bit instruction, the value of n must
be between 1–32. When n is less than 0, the instruction is not executed. When n exceeds the range, the
6-258
Ch ap te r 6 Ap pl ie d Instruc ti ons
Example
When X0.0 switches from OFF to ON, the instruction divides the values of the bits in D10 into groups (four bits in a
group), and rotates these groups to the right. The value of the bit marked ※ is transmitted to the carry flag SM602.
b 15 ※ b0
Carry flag
0 1 1 1 1 0 1 1 0 1 0 0 0 1 0 1
b 15 b0 Carry flag
0 1 0 1 0 1 1 1 1 0 1 1 0 1 0 0 0
Additional remarks
1. If the device exceeds the range, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#2003.
6_
6-259
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
D
n
Symbol
D : Device to rotate
_6
Explanation
1. This instruction divides the bits in the device specified by D into groups (n bits in a group), and then rotates these
groups to the right with the carry flag SM602.
2. Only the DRCR instruction can use the 32-bit counter, but not the device E.
3. For 16-bit instructions, the value of n used must be between 1–16. For 32-bit instructions, the value of n must be
between 1–32. When n is less than 0, the instruction is not executed. When n exceeds the range, the instruction is
6-260
Ch ap te r 6 Ap pl ie d Instruc ti ons
Example
When X0.0 switches from OFF to ON, the instruction divides the values of the bits in D10 into groups (four bits as a
group), and then rotates these groups to the right with the carry flag SM602. The value of the bit marked ※ is
Carry flag
b 15 ※ b0
0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 0 1
Carry flag b 15 b0
0 1 1 0 1 0 0 0 0 1 1 1 1 0 0 0 0
Additional remarks
1.
6_
If the device exceeds the range, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#2003.
6-261
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
D
n
Symbol
D : Device to rotate
_6
Explanation
1. This instruction divides the bits in the device specified by D into groups (n bits in a group), and then rotates these
groups to the left.
2. Only the DROL instruction can use the 32-bit counter, but not the device E.
3. For 16-bit instructions, the value of n must be between 1–16. For 32-bit instructions, the value of n must be
between 1–32. When n is less than 0, the instruction is not executed. When n exceeds the range, the instruction is
6-262
Ch ap te r 6 Ap pl ie d Instruc ti ons
Example
When X0.0 switches from OFF to ON, the instruction divides the values of the bits in D10 into groups (four bits as a
group), and then rotates these groups to the left. The value of the bit marked ※ is transmitted to the carry flag SM602.
Carry flag b 15 ※ b0
1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
Carry flag b 15 b0
1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1
Additional remarks
1. If the device exceeds the range, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#2003.
6_
6-263
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
D
n
Symbol
D : Device to rotate
_6
Explanation
1. This instruction divides the bits in the device specified by D into groups (n bits in a group) , and then rotates these
groups to the left with the carry flag SM602.
2. Only the DRCL instruction can use the 32-bit counter, but not the device E.
3. For 16-bit instructions, the value in n must be between 1–16. For 32-bit instructions, the value of n must be
between 1–32. When n is less than 0, the instruction is not executed. When n exceeds the range, the instruction is
6-264
Ch ap te r 6 Ap pl ie d Instruc ti ons
Example
When X0.0 switches from OFF to ON, the instruction divides the values of the bits in D10 into groups (four bits as a
group), and then rotates these groups to the left with the carry flag SM602. The value of the bit marked ※ is transmitted
Carry flag ※
b 15 b0
0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
Carry flag
b 15 b0
1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1
Additional remarks
1. If the device exceeds the range, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#2003.
6_
6-265
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
n
Symbol
S : Matrix source
D : Operation result
Explanation
_6 1. This instruction rotates the values of n rows of bits in S to the right or to the left. When SM616 is OFF, the
instruction rotates the values of the bits to the left. When SM616 is ON, the instruction rotates the values of the bits
to the right. The instruction fills the vacancy resulting from the rotation with the value of the bit rotated last, and
stores the operation result in D. The value of the bit rotated last not only fills the vacancy, but also is transmitted to
the carry flag SM614.
2. For 16-bit instructions, the value of n must be between 1–16. For 32-bit instructions, the value of n must be
between 1–32. When n is less than 0, the instruction is not executed. When n exceeds the range, the instruction is
6-266
Ch ap te r 6 Ap pl ie d Instruc ti ons
Example 1:
When X0.0 is ON and SM616 is OFF, the instruction rotates the values of the bits in the 16-bit registers D0–D2 to the left,
and stores the operation result in the 16-bit registers D20–D22. The value of the bit marked ※ is transmitted to the carry
flag SM614.
D
SM616=0 b15 b0
After the rotation 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 D20
to the left is executedCarry flag 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 D21
S M614 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 D22
6_
Example 2:
When X0.0 is ON and SM616 is ON, the instruction rotates the values of the bits in the 16-bit registers D0–D2 to the
right, and stores the operation result in the 16-bit registers D20–D22. The value of the bit marked ※ is transmitted to the
6-267
AS Ser ies Pro gra mm in g M anu al
MBR
SM616=0 D
b15 b0 Carry flag
After the rotation D20 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
to the left is exec uted 0
D21 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
D22 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
SM614
Additional remarks
1. If S+n-1 or D+n-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0
is 16#2003.
2. Instruction flags:
_6
6-268
Ch ap te r 6 Ap pl ie d Instruc ti ons
1000 RST DRST – Resetting a contact to OFF or clearing the value in a register.
6-269
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data UINT
DINT
LINT
TMR
CNT
INT
type
S
Symbol
D :Device to reset
Explanation
_6
1. This instruction clears the values in a 32-bit HC device or two consecutive 16-bit D devices. For other devices, use
the RST instruction to clear the values.
Device State
T,C Set the current timer value and counter value to 0, and sets the coil and contact to OFF.
DWord,HC,Real Clears the 32-bit content value, including floating point numbers, to 0.
3. If the RST instruction is not executed, the state of the device specified by D is unchanged.
6-270
Ch ap te r 6 Ap pl ie d Instruc ti ons
Example
The instruction clears the 32-bit D1 and D0 to zero when X0.0 is ON.
6_
6-271
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
Symbol
S1 : Timer number
Explanation
_6 Refer to the explanation of the TMRH instruction (API 1002) for details.
6-272
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
Symbol
S1 : Timer number
Explanation
1. The TMR instruction uses 100ms as the timing unit in the timer, while, the TMRH instruction uses 1ms as the timing 6_
unit in the timer.
2. The value of S2 for both the TMR and TMRH instructions is between 0–32767.
3. If you use the same timer repeatedly in the program, including using it in different TMR and TMRH instructions, the
timer that completes the measurement first will be the only one that counts.
4. The T timer resets to zero automatically when the conditional contact changes from ON to OFF.
5. When you add the letter S in front of the device T, the timer in the instruction TMR is an accumulative timer. When
the conditional contact is OFF, the value of the accumulative timer is not cleared. When the conditional contact is
ON, the timer counts from the current value. Use the RST instruction with the ST accumulative timer when you want
6. If you use the same T timer in the program, it is OFF when one of the conditional contacts is OFF.
7. If you use the same T timer for T and ST in the program, T is OFF when one of the conditional contacts is OFF.
8. When the instruction TMR is executed, the specified timer coil is ON and the timer begins to count. As the value of
6-273
AS Ser ies Pro gra mm in g M anu al
9. The timers T0–T411 are defined as general timers, and T412–T511 are subroutine timers by default. Use the
hardware configuration software HWCONFIG if you need to change the ranges of the two types of timers.
10. The general timers compare the timing values when the TMR instruction is scanned. The system applies the timer
For the subroutine timers, the system counts the time and compares the timing values after the END instruction is
executed. Use subroutine timers when the TMR instruction is executed not in every scan, but you need longer lasting
Example 1 (using general type of counter; counts for 100 ms time window)
When X0.0 is ON, the instruction loads the setting value 50 to the timer T0, and T0 counts from 0 to 50. When the value
Example 2 (using accumulative type of counter; counts for 100 ms time window)
When X0.0 is ON, the instruction loads the setting value 50 to the timer ST0. When the value of T0 is 25 and X0.0
_6 switches from OFF to ON, then T0 counts up from 25 to 50, and the contact of T0 is ON (accumulative).
When X0.0 is ON, the instruction loads the setting value 1000 to the timer T5, and T5 counts up from 0 to 1000, and the
contact of T5 is ON.
6-274
Ch ap te r 6 Ap pl ie d Instruc ti ons
When X0.0 is ON, the instruction loads the setting value 1000 to the timer T5. When the value of T5 is 500 and
X0.0 switches from OFF to ON, T5 counts up from 500 to 1000, and the contact of T5 is ON (accumulative).
6_
Additional remarks
When you declare the operand S1 in ISPSoft, select the data type TIMER for the general T timer. For an accumulative
ST timer, specify the ST device.
6-275
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
Symbol
S1 : Counter number
Explanation
_6 1. This instruction changes a specified counter coil from OFF to ON, and then increments the value of the counter by
1. When the value of the counter matches the setting value, the contact of the counter is ON.
2. When the value of the counter matches the setting value, the instruction does not change the state of the contact
and value of the counter if any more counting pulses are input. Use the RST instruction (API 1000) to reset the
counter and enable counting again.
3. Refer to Example 1 below for a demonstration of using CNT instruction in a program of unit (POU). Refer to Example
2 below for a demonstration of using CNT instruction in a function block (FB).
4. You can use the same device C number of CNT instruction that used in a POU for more than once. The system will
count according to different contact status, OFF or ON separately.
5. You can NOT use the same device C number of CNT instruction that used in a FB for more than once. It is suggested
to use only 1 device C number for FW V1.07.00 (excluded) or prevision versions. For FW V1.07 or later version, you
can us up to 8 identical device C number of CNT instruction that used in a FB.
6-276
Ch ap te r 6 Ap pl ie d Instruc ti ons
When SM408 is ON for the first time, the instruction loads the setting value 10 to the counter C0 and the counter begins
counting. After SM408 switches from OFF to ON ten times, the value in C0 is 10 and the contact of C0 is ON. After C0 is
ON, if SM408 continues to switch from OFF to ON, the instruction does not increase the value in C0 after it reaches the
6_
Additional remarks
When you declare the operand S1 in ISPSoft, select the data type COUNTER.
6-277
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
Symbol
S1 : Counter value
Explanation
2. If you declare the operand S1 in ISPSoft, you cannot select the CNT data type; instead, specify an HC device number.
3. For the count-up/count-down counters HC0–HC63, when the conditional contact of this instruction switches from
OFF to ON, the counters count up by incrementing the values by 1 when SM621–SM684 are OFF or count down by
4. Count-up counters HC64–HC199 count up by increasing the values by 1 when the conditional contact of the DCNT
5. The counter stops counting when the DCNT instruction is OFF, but the instruction does not clear the original count
value. Use the RST instruction to clear the count value and reset the contact to OFF.
6. Refer to Example 2 of CNT instruction for a demonstration of using DCNT instruction in a function block (FB).
7. Refer to the following pages for details on the high-speed counter HC200–HC255. Whenever PLC scans this
instruction, it refreshes the appointed counter for its updated values. Thus it is suggested to use this instruction in a
6-278
Ch ap te r 6 Ap pl ie d Instruc ti ons
8. Since AS Series PLC is with various built-in input types, different maximum input frequency are suggested. See the
table below for reference. It is possible that the maximum input frequency cannot be reached for the sinking and
souring type. If the output type is normally open (NO) and the drive current is insufficient. Refer to Chapter 4 from
Maximum Input
Model Name Input Type Input Number
Frequency
AS324MT-A
AS320T-B
Sinking / Sourcing X0.0 ~ X0.7 200K Hz
AS320P-B
AS218TX-A
AS218PX-A Sinking / Sourcing X0.0 ~ X0.7 200K Hz
AS218RX-A
AS132T-A
AS132P-A
AS132R-A X0.0 ~ X0.7 200KHz
AS148T-A
AS148P-A Sinking / Sourcing
AS148R-A
AS164T-A
X0.8 ~ X0.15 10KHz
AS164P-A
AS164R-A
6-279
AS Ser ies Pro gra mm in g M anu al
Example 1
NETWORK1:
When PLC runs, the value of the counter HC0 is cleared and the counter counts because SM621 is OFF. At this time,
SM408 is ON for the first time. So the instruction loads the setting value 10 to the counter HC0 and the counter begins
counting.
NETWORK2:
After SM408 switches from OFF to ON ten times, the value of the counter HC0 matches the setting value 10, and the
contact of HC0 is ON. After HC0 is ON, the value of the counter keeps increasing because SM408 continues to change
from OFF to ON even though the value of HC0 has reached the setting value.
NETWORK3:
When HC0 continues to count up and the value reaches the setting value 20, the counter counts down because SM621
is ON in the program. After SM408 switches from OFF to ON ten times and the value of HC0 decreases from 10 to 9, the
contact of HC0 is OFF.
After the contact of HC0 is OFF, the value of HC0 still continues to decrease because SM408 continues to change from
OFF to ON.
_6
Additional remarks
For setting the mode of SM621–SM684, refer to the explanation of the 32-bit counter HC in Chapter 2.
6-280
Ch ap te r 6 Ap pl ie d Instruc ti ons
Example 2
NETWORK1:
When PLC runs, set the value of the counter HC202 to four time frequency (mode setting should be set before executing
the DCNT instruction). And then the value of the counter HC202 is cleared.
NETWORK2:
After the value of the counter HC202 reached the setting value 1000, the contact of HC202 is ON.
6_
Explanation of the high-speed counter:
AS Series high-speed counters can be divided into hardware counters (up to a maximum of 200KHz input, and for
differential input points up to 4MHz) and software counters (up to a maximum of 10KHz). Refer to hardware specification
for more details on the input limit.
6-281
AS Ser ies Pro gra mm in g M anu al
Hardware counter
Input X0.
HC No. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
HC201 P D#1 R
HC203 --#2 -- --
HC204 P R
HC205 P D R
HC206 A B R
HC207 -- -- --
HC208 P R
HC209 P D R
HC210 A B R
HC211 -- -- --
HC212 P R
HC213 P D R
_6
HC214 A B R
HC215 -- -- --
HC216 P
HC217 P D
HC218 A B
HC219 -- --
HC220 P
HC221 P D
HC222 A B
HC223 -- --
Note 1: P: single-phase pulse input, D: Direction signal input, A and B: two phase two input, R: Reset signal input. Only
one out of four input modes can be used in PLC programing. For example, if HC200 is edited, the HC20-HC203 can no
longer be edited.
Note 2: -- indicates that the counting mode is reserved and not available now. An empty box indicates no function.
6-282
Ch ap te r 6 Ap pl ie d Instruc ti ons
Note3: refer to the SM/SR table for count up/down state selection and the number of times for frequency input.
Note 4: the R function (reset input) is disabled by default. Refer to the SM/SR comparison table for how to use R.
Take HC200 for example. SM291 switches to ON to start the R function and then the rising edge of X0.12 triggers
clearing the value of HC200. If there is no built-in input points, including X0.12 ~ X0.15, in the PLC you are using, you
can use external interrupts or use counter eraser instructions to clear the counters.
Software counter:
Input X0.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
HC No.
HC232 P
HC233 P D
HC234 A B
HC236 P
HC237 P D
HC238 A B
HC239 UP DN
HC240 P 6_
HC241 UP DN
HC242 P
HC243 UP DN
HC244 P
HC245 UP DN
HC246 P
HC247 UP DN
HC248 P
HC249 UP DN
HC250 P
HC251 UP DN
HC252 P
HC253 P
6-283
AS Ser ies Pro gra mm in g M anu al
Note 5: UP: single phase count-up input (same as CW), DN: single phase count-down input (same as CCW)
The high-speed counters between HC200–HC255, are reserved devices inside PLC and are not listed in this table. It is
not recommended to use these counters in a program. If there is no built-in input points, including X0.12 ~ X0.15, in the
The following table lists the high-speed counter, function, reset, reversing, and counting mode.
6-284
Ch ap te r 6 Ap pl ie d Instruc ti ons
Note 1: All SM special flags in the above table are OFF by default.
Note 2: When SM under “Count-up/count-down function” is OFF, it indicates that the corresponding counter counts up or
displays that it is counting up. If SM is ON, it indicates that the corresponding counter counts down or displays that
it is counting down.
Note 3: The “ under Attribute indicates “Read only” and R/W indicates “Read/Write”.
Note 4: The SR special registers under “Counting mode” are 1 time frequency input by default. Use 2 for the input value
for double frequency and 4 for four times frequency. Four times frequency is only applicable to the A/B 2-phase
input counter. If the input value is not 1, 2 or 4 in SR, this indicates that the PLC uses one times frequency.
Note 5: All single-phase counters in the table count using one times frequency, and the rising-edge counting mode
(up/down) is reversed. For example, when the preset direction input is OFF, the counter counts up. When SM
6-285
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
Symbol
S1 : Counter number
S2 : Comparative value
D : Comparison result
_6 Explanation
1. Use this instruction with high-speed counters with numbers HC200 and above. If the value in the high-speed counter
specified by S1 changes by increasing or decreasing by 1, the DHSCS instruction makes the comparison
immediately. When the current value of the high-speed counter is equal to the comparative value specified in S2, the
device specified by D changes to ON. After that, the device specified by D remains ON even if the comparison result
is that the current value and the comparative value are not equal.
2. If the device specified by D is Y0.0–Y0.15, and the value of S2 is equal to the current value , the comparison result of
the high-speed counter is output to the output terminals Y0.0–Y0.15. Other Y devices are affected by the scan cycle,
but this instruction updates all devices immediately and is not affected by the scan cycle. For PLC with FW V1.06.00
(V1.06.00 included) or later versions, devices Y0.12 ~ Y0.15 are affected by the scan cycle.
4. The high-speed counters are divided into software counters and hardware counters. The available high-speed
comparators and interrupt device numbers are listed in the following table.
6-286
Ch ap te r 6 Ap pl ie d Instruc ti ons
HCC00-HCC03
HCC04-HCC07
HCC08-HCC11
Hardware counter
HC212 - HC215 Comparator: I230-I233
HCC12-HCC15
HCC16-HCC19
HCC20-HC223
5. Explanation of the hardware comparators for DHSCS, DHSCR, DHSCY and DHSZ instructions:
Every one group of hardware counters shares 4 high-speed comparators. One DHSCS, or DHSCR
instruction occupies 1 high-speed comparator. One DHSZ, DHSCY instruction uses 2 high-speed
comparators. 6_
During program editing, every group of hardware counters can use 4 high-speed comparators at most for
DHSCS, DHSCR, DHSCY or DHSZ instructions; otherwise, a syntax error occurs.
6. Explanation of the software comparators for DHSCS, DHSCR and DHSCY instructions:
There are 8 software comparators to compare the Set or Reset function. Each DHSCS, DHSCR or DHSCY
instruction uses one high-speed comparator.
The software comparators compare the interrupt by assigning a corresponding software comparator
according to the interrupt numbers. Note that the same interrupt number cannot be used repeatedly.
For DHSCS, DHSCR or DHSCY instructions, the number of Set or Reset comparators cannot exceed eight
occurrences in the program; otherwise, a syntax error occurs.
There are eight software comparators for the zone comparison. One DHSZ instruction uses one comparator.
DHSZ instruction can use a maximum of eight software comparators; otherwise, a syntax error occurs if
more than eight comparators are used.
8. The instructions DHSCS, DHSCR, DHSCY and DHSZ cannot be used in the ST programming language, interrupt
tasks or function block which is called only once.
6-287
AS Ser ies Pro gra mm in g M anu al
Example 1
When the current value of HC200 changes from 99 to 100 or from 101 to 100, Y0.10 is ON, which outputs to the external
output terminal Y0.10 in real time, and remains ON.
Example 2
1. When M0 is ON, the DHSCS instruction is executed. When the current value of HC200 changes from 99 to 100 or
from 101 to 100, Y0.10 outputs its state to the external output terminal immediately, and is not affected by the
2. When the current value of HC200 changes from 99 to100, the contact of HC200 is ON immediately. When SET
Y0.11 is executed, Y0.11 is still affected by the scan time, and outputs its state only after END is passed.
6-288
Ch ap te r 6 Ap pl ie d Instruc ti ons
Example 3
When the current value of HC200 changes from 99 to100 or 101 to100, the program jumps to the interrupt pointer to
execute the interrupt program, and Y0.10 is ON.
Main program:
6_
6-289
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
Symbol
S1 : Counter number
S2 : Comparative value
D : Comparison result
_6 Explanation
1. Use this instruction with the high-speed counter numbered HC200 and above. If the value in the high-speed counter
specified by S1 changes by increasing or decreasing, the DHSCR instruction makes the comparison immediately.
When the current value of the high-speed counter is equal to the comparative value specified in S2, the device specified
by D changes to OFF. After that, the device specified by D remains OFF even if the comparison result is that the
current value and the comparative value are not equal.
2. If the device specified by D is Y0.0–Y0.15, and the comparative value of S2 is equal to the current value of the counter,
the comparison result is output to the external output terminals Y0.0–Y0.15. Other Y devices are affected by the scan
cycle, but this instruction updates all devices immediately and is not affected by the scan cycle.
3. The D operand can also specify the HC device to reset, and is limited to the condition in which the high-speed counter
6-290
Ch ap te r 6 Ap pl ie d Instruc ti ons
Example 1
1. When M0 is ON and HC200 changes its current value from 99 to 100 or from 101 to 100, Y0.10 is reset to OFF.
2. When HC200 changes its current value from 199 to 200, the contact of HC200 is ON and Y0.11 is ON, but the
output is delayed by the program scan time.
Example 2
If you specify HC200 as the hardware high-speed counter of the same number, the contact of HC200 is reset to OFF
when HC200 changes its current value from 999 to 1000 or from 1001 to 1000.
6_
1 00 0
2 00
6-291
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
D
Symbol
S1 : Counter number
Lower bound of the comparison
S2 :
zone
Upper bound of the comparison
S3 :
zone
_6 D :
Comparison result (3 consecutive
devices)
Explanation
1. Use this instruction with the high-speed counter numbers HC200 and above. The lower bound of S2 must be less
than the upper bound of S3. If you do not set the zone limit values properly, the PLC automatically adjusts them.
2. If S1 specifies a software counter and the specified counter changes by increasing or decreasing by 1 in value, the
DHSZ instruction makes the comparison immediately. The comparison condition and output state are shown in the
following table.
The count value of S1 < the lower bound (S2) ON OFF OFF
Note: You must set the lower bound (S2) to be less than the upper bound (S3). If you set the zone boundaries
incorrectly, the PLC automatically makes the adjustment.
6-292
Ch ap te r 6 Ap pl ie d Instruc ti ons
3. If S1 specifies a hardware counter and the value of the specified counter reaches the lower bound (S2) or the upper
bound (S3), the DHSZ instruction makes the comparison immediately according to the count direction (up/down).
The comparison condition and output state are shown in the following table.
Count direction Comparison condition D+0 state D+1 state D+2 state
4. If the device specified by D is Y0.0–Y0.15, the comparison result is output to the external output terminals Y0.0–
Y0.15. Other Y devices are affected by the scan cycle, but this instruction updates all devices immediately and is not
affected by the scan cycle. For PLC with FW V1.06.00 (V1.06.00 included) or later versions, devices Y0.12 ~ Y0.15
5. Refer to the DHSCS instruction (API 1005) for more information on the high-speed zone comparison.
6_
Example
2. The instruction compares the current value in HC200 with the upper/lower bound (1500/2000) of the comparison
3. When the current value in HC200 <1500, Y0.10 is ON. When 1500<= the current value in HC200<2000, Y0.11 is
ON.
6-293
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
Symbol
S1 : Counter value
Explanation
_6 1. This instruction requires that you use S1 with the DCNT instruction (API 1004) to enable the high speed counter with
counter numbers above HC200 (including HC200).
2. The time units for S2 (the setting value for the cycle time) are millisecond (ms). The setting must be between 10–
1000. When the value is out of range, the PLC executes the instruction with S2 at the minimum value or the
maximum value and there are no error messages.
3. When the count reaches the setting value in S2 , this instruction stores the number of pulses in the device specified
4. This instruction has no limitation when editing, but it only allows eight sets of speed detection instructions to run
simultaneously. The system ignores the ninth set of the speed detection instruction and there are no error
messages. When executing this instruction, the setting values for the operand are recorded, and during the
6-294
Ch ap te r 6 Ap pl ie d Instruc ti ons
Example
You can use the DSPD instruction for speed detection where there is an input pulse signal at X0.0. When M0 is ON,
the instruction updates the number of pulses counted by HC200 in D0 every 500ms.
In the following example, the value in D0 is 7500 and the actual pulse input frequency of X0.0 is 15kHz
(7500/500ms).
6_
6-295
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D1
D2
Symbol
S2 : Unit of measurement
Pulse width detection time (32-
D1 :
bit value)
_6 D2 : Update flag
Explanation
1. S1 supports the following 12 inputs, X0.0~X011, but S1 cannot share the same inputs with the high speed counter.
2. S2 is the unit of measurement. The instruction is not executed if the setting value of S2 is not a valid S2 code from the
following table.
6-296
Ch ap te r 6 Ap pl ie d Instruc ti ons
3. The instruction stores the pulse width detection time (32-bit value) in D1 and the detection range is 0–100,000,000. If
the value is over the maximum value, it is processed as the maximum value. If the value is 0, that means is no input
4. D2 is the update flag. Whenever the detection of the S1 input is completed and the instruction is scanned,, the
updated flag switches to ON for one scan cycle time. You can check if the detection value has been updated with
the update flag. When the system executes the instruction for the first time, the update flag resets to OFF.
5. When the value in S2 is 0, 1 or 2, refer to the timing diagram below for the procedures performed, such as storing
detection values and updating flags during the execution of the instruction. The timer starts when the S1 input
switches from OFF to ON as it is shown in the position of the following diagram. The instruction stores the
detection time when the S1 input switches from ON to OFF as shown in the position of the following diagram.
enable
S1
D2
Figure 1 Detection mode when the value in S2 is 0, 1 or 2 6_
6. When the value in S2 is 4 or 5, refer to the timing diagram below for the procedures performed, such as storing
detection values and updating flags during the execution of the instruction. The timer starts when the S1 input
switches from OFF to ON as it is shown in the position of the following diagram. The instruction stores the
detection time when the S1 input switches from OFF to ON as shown in the position of the following diagram.
enable
S1
D1 0 100 101
D2
Figure 2 Detection mode when the value in S2 is 4 or 5
6-297
AS Ser ies Pro gra mm in g M anu al
7. This instruction has no limitation during editing, but it only allows eight sets of pulse width detection instructions to
run simultaneously. The system ignores the ninth or later sets of the pulse width detection instruction and there are
no error messages. When executing this instruction, the setting values for the operands are recorded, and you
8. Before executing this instruction, check the input hardware response time and the pulse time set in HWCONFIG. For
example, when the value in S2 is set to 0 or 2, that means the unit of time measurement is microseconds (μs). Set
the S1 input value to 0 to disable the Input Point Filter Time in HWCONFIG.
Example
Suppose there is a pulse signal of 10kHz in the input X0.0. When M0 is ON, the PWD instruction detects the input
signal on X0.0 with the pulse width stored in D10/D11 (32-bit data), the time unit is set to 0, and the detected pulse
_6
6-298
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
Symbol
External interrupt input point
S1 :
number
S2 : High-speed counter number
Register for storing the captured
D :
value
Explanation
1. You can use only the 16 input points X0.0–X0.15 of the PLC in S1. Use one of these input points with the external 6_
interrupt service program to start the function. Note that S1 cannot share the same input point with the high-speed
counter.
2. Select the high-speed counter HC device in S2. You must use the HC device with the DCNT instruction (API 1004) to
start the counting function.
3. The instruction stores the captured value from the high-speed counter (32-bit) in D when the interrupt occurs. The
instruction stores data when the interrupt occurs, and is not affected by the PLC program scanning.
4. The instruction operation is shown below. The input interrupt is triggered by the falling edge.
When the execution of the instruction starts, the value in D does not change and you can enter the default
setting value.
When the interrupt in S1 occurs, the instruction captures the value of the counter specified by S2 immediately
and stores it in D.
6-299
AS Ser ies Pro gra mm in g M anu al
enable
S2
S1
5. The instruction can start DCAP instructions for four different input points at most. If you set one input point as the
external interrupt triggered by the rising edge and falling edge, the instruction captures the value when the input is
triggered by the rising edge and by falling edge respectively, and stores the count value in the device specified by D.
When two instructions specify the same interrupt input point, the one that starts first uses the interrupt input point
first.
6. Set the HC device number in S2. It is recommended that you use the high-speed counters between HC200–HC255.
For details on the counters, refer to the explanation of the DCNT instruction (API 1004).
Example
_6
6-300
Ch ap te r 6 Ap pl ie d Instruc ti ons
6_
6-301
AS Ser ies Pro gra mm in g M anu al
Additional remarks
1. When M0 is ON, the DCAP instruction is enabled. When an external interrupt occurs at X0.7, the instruction
captures the value in HC200 and stores it in (32-bit) D0.
2. When the external input interrupt is triggered by the rising edge once, the instruction modifies E0 to 0 by setting
D100, stores the count value in D0 in D10 by modifying E0, and the value in D100 is 0+2.
3. When the external input interrupt is triggered by the falling edge one time, the instruction modifies E0 to 2 by
setting D100, stores the count value (10+E0=12) in D0 in D12 by modifying E0, and the value in D100 is 0+2.
4. If the external interrupt is triggered by the rising edge and falling edge five times respectively, the instruction
captures the value 10 times and stores the captured values in D10, D12…D28.
_6
6-302
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
Symbol
S1 : Timer number
Explanation
Refer to the explanation of the TMRH instruction (API 1002) for details. 6_
6-303
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
D
Symbol
Explanation
1. The IETS instruction need be used with the API1013 IETE instruction together in order to measure the time for the
_6 execution of the instruction in a PLC program which is specified to execute. The unit for the measured time is 1us.
2. When the IETS instruction is enabled, the timing starts immediately until the IETE instruction is also executed. The
measurement result is stored in D device.
3. Minimum and maximum time measurement results are 0us and 32767us respectively. After the IETS instruction is
enabled, the PLC will automatically finish the time measurement and store the measurement result in D device if
no IETE instruction has been scanned and the PLC program scanning reaches the END instruction.
4. For the instructions IETS and IETE, there is no limit to how many of them are written in the program. But only one
set of IETS and IETE can be enabled every time the scan is executed. If IETS is enabled repeatedly for measuring
time, the timing of enabling the last IETS instruction is taken as the start of the time measurement. On the contrary,
if the execution of multiple IETE instructions is completely finished, the PLC will see the point when the first IETE
instruction is disabled as the end point when the time measurement is finished.
5. The IETS instruction is usually used to measure the running time of a PLC program such as interrupt service
program function blocks and etc. Since PLC’s time-measurement resource will be occupied as the time
measurement function is enabled, we suggest the two instructions should be removed after the measuring is
completed in order to avoid occupying the PLC resource during the normal execution.
6-304
Ch ap te r 6 Ap pl ie d Instruc ti ons
Example
Calculate the instruction execution time based on the formula for the floating point number operation and the operation
6_
6-305
AS Ser ies Pro gra mm in g M anu al
DWORD
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
Symbol
Explanation
The IETE instruction should be used with the API1012 IETS instruction together. Refer to the explanation of the API 1012
instruction for more information.
_6
6-306
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
HCno
CmpLen
CmpS
Action
Yno
CurNo
Symbol
Explanation
1. This instruction is available for FW V1.06.10 or later.
2. HCno: If the counter is a general one, the comparison will not begin even when the timing to execute comparison is
reached. The comparison begins only when the instruction is scanned. If the counter is a high-speed one, the
comparison begins when the timing to execute comparison is reached, not affected by the PLC scan cycle. Refer to
DHSCS instruction for more details on the usage and the restriction of the high-speed number.
3. CmpLen: To select a set of groups for comparison. The set group compares in a cyclic manner. The setting value of
the group can be between 4 and 32. If the setting value exceeds the acceptable range, this instruction is not
executed. And SM0 will be switched to ON. Error code SR0: 0x200B.
6-307
AS Ser ies Pro gra mm in g M anu al
4. CmpS (supposedly set as D100), Action (supposedly set as D200), Yno (supposedly set as D300), CmpLen
(supposedly set as 6), CurNo (as it is set below).
CurNo CmpS Action Yno
(Current Group (The source value of data in 32- (Action to be taken when (The number of
Number) bit to be compared) the comparison is made.) Y output point)
1 D100 = 1000 D200 = 1 (Set) D300 = 16#04 (Y0.4)
2 D102 = 2000 D201 = 1 (Set) D301 = 16#05 (Y0.5)
3 D104 = 3000 D202 = 1 (Set) D302 = 16#06 (Y0.6)
4 D106 = 4500 D203 = 0 (Reset) D303 = 16#04 (Y0.4)
5 D108 = 5500 D204 = 0 (Reset) D304 = 16#05 (Y0.5)
6 D110 = 6500 D205 = 0 (Reset) D305 = 16#06 (Y0.6)
CmpS: The source value of data in 32-bit integer. It takes several Dword space in CmLen. Thus it is suggested
to declare the array in the data type of Dword. The compared value is arranged in ascending order when the
source value is positive integers. The compared value is arranged in descending order when the source value is
negative integers. If the compared value is arranged not by the rules as mentioned, the instruction is not executed
and SM0 will be switched to ON. Error code SR0: 0x200B.
Action: Action to be taken when the comparison is made. The value is in 16-bit integer and it takes one word
space in CmLen. The value “1” here means setting the output point to ON. The value “0” here means setting the
output point to OFF. Use 16#8000 to clear the counter value to 0 and restart the cyclic counting. Only use the
value 1, 0 or 16#8000 in here. It is suggested to declare the array in the data type of Word.
Yno: The number of the Y output point, this value should be a 16-bit integer. It takes several Word space in
CmLen. The format here is hexadecimal. For example, 16#0004 means the Y0.4 output point, 16#0016 Y1.6
output point, and 16#00AF Y10.15 output point. It is suggested to declare the array in the data type of Word.
CurNo: The current group number that is making the comparison. From the table above, you can see if the
setting value in CmLen is 1000, the CurNo. Is 1.
When the value you use in Yno is not the CPU built-in output points, the outputting is affected by the PLC scan
_6
5.
cycle. If you need the immediate output, use CPU built-in output points and hardware type high-speed counter in
HCno.
6. Since this instruction is for cyclic comparing and outputting, you need to set a way to clear the counter value to 0 to
set a range for cyclic operation. It is suggested to use hardware input to set the counter to 0. Or you can also use a
setting to clear the counter. For example you need 6 groups to perform cyclic comparison. You can set the setting
value in CmpLen as 7 and you will have a 7 groups of CruNo (defined by CmpS). And then use 16#8000 as the
setting value in Action to clear HC. See the table below for reference.
CurNo CmpS Action Yno
(Current Group (The source value of data in 32- (Action to be taken when (The number of
Number) bit to be compared) the comparison is made.) Y output point)
D206 = 16#8000 D306 = 0
7 (CurNo=0) D112 = 8000
(Clear HC) (none)
7. When the instruction is firstly executed, it compares the current counter value to the value set in CmpS and set the
value in CurNo accordingly. See the example table in number 4. If the current counter value is 2000, that
corresponds to the value (D102 = 2000) set in CmpS and the corresponding value of CurNo is 2. From there you
know the Y0.5 is ON.
8. See the example in chronological illustration below.
The instruction is firstly executed, comparing the current counter value (1500) and the value set in CmpS
(HC202). And set the value in CurNo to 1 and Y0.4 output to ON accordingly.
When the current counter value reaches 2000, CurNo = 2 and Y0.5 is ON.
When the current counter value reaches 3000, CurNo = 3 and Y0.6 is ON.
6-308
Ch ap te r 6 Ap pl ie d Instruc ti ons
When the current counter value reaches 4500, CurNo = 4 and Y0.4 is OFF.
When the current counter value reaches 5500, CurNo = 5 and Y0.5 is OFF.
When the current counter value reaches 6500, CurNo = 6 and Y0.6 is OFF.
The external interrupt is triggered to clear. CurNo = 0 and HC202 = 0.
When the current counter value reaches 1000, CurNo = 1 and Y0.4 is ON.
EN
Clear flag
CurNo. 1 2 3 4 5 6 0 1
Y0.4
Y0.5
Y0.6
6-309
AS Ser ies Pro gra mm in g M anu al
Example:
1. Define the following parameters as below.
CurNo CmpS Action Yno
(Current Group (The source value of data in 32- (Action to be taken when (The number of
Number) bit to be compared) the comparison is made.) Y output point)
1 D100 = 1000 D200 = 1 (Set) D300 = 16#04 (Y0.4)
2 D102 = 2000 D201 = 1 (Set) D301 = 16#05 (Y0.5)
3 D104 = 3000 D202 = 1 (Set) D302 = 16#06 (Y0.6)
4 D106 = 4500 D203 = 0 (Reset) D303 = 16#04 (Y0.4)
5 D108 = 5500 D204 = 0 (Reset) D304 = 16#05 (Y0.5)
6 D110 = 6500 D205 = 0 (Reset) D305 = 16#06 (Y0.6)
_6
6-310
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
XnoA
XnoB
PhaseT
Exe
Symbol
Explanation
1. This instruction is available for FW V1.06.10 or later.
2. You can only use the CPU built-in input points from X0.0 to X0.11 fro XnoA and XnoB. And the number of the input
points can NOT be duplicated. When the input points used are not from X0.0 to X0.11 or the number of the input
points are duplicated, the instruction is not executed. And SM0 will be switched to ON. Error code SR0: 16#2003.
3. When XnoA is rising-edge triggered, the timer starts timing immediately, not affected by the PLC scan cycle. When
XnoB is rising-edge triggered, the timer stops timing immediately, not affected by the PLC scan cycle. And the time
that is timed (unit: 1 us) will be stored in PhaseT, when this instruction is scanned by the PLC.
4. When the timer starts and this instruction is scanned to execute, the Exe flag will be ON. When the timer stops and
this instruction is scanned to execute, the Exe flag will be OFF.
5. Whenever this instruction is firstly activated, its initial action is to clear the value in PhaseT and set the Exe flag to
OFF.
6. XnoA is always timed before XnoB. Even if XnoB is rising-edge triggered before XnoA is triggered. If you need
XnoB to be timed before XnoA, you need to re-define XnoA, XnoB and the input points in them.
7. There is no limit to the number of times the instruction can be executed. And to use the same number of input points
is also no problem. But since PLC uses the number of input point for XnoA as the number of the internal timer. It is
NOT suggested to use two identical numbers of the input point for XnoA at the same time. Or the system will get
confused. And the timing result from the timer will be messed up.
6 - 3 11
AS Ser ies Pro gra mm in g M anu al
EN
XnoA
XnoB
Exe
Whenever this instruction is firstly activated, it clears the value in PhaseT and sets the Exe flag to OFF.
When XnoA is rising-triggered to start timing, the Exe flag will be ON.
When XnoB is rising-triggered to stop timing, the Exe flag will be OFF and stores the timed result in PhaseT.
Example
When M0 is ON, the instruction is executed. This instruction calculates the phase time difference between X0.1 and X0.0
and stores the timed result in D0. (The timed result here is 13790 us.)
_6
6-312
Ch ap te r 6 Ap pl ie d Instruc ti ons
1016 ATMR Tno, Tsv 16-bit contact timer (Unit: 100 ms)
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
Tno
Tsv
Symbol
Explanation
2. The ATMR instruction uses 100ms as the timing unit in the timer. Refer to the explanation of the ATMRH instruction
6_
(API 1017) for details.
6-313
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
Tno
Tsv
Symbol
Explanation
Example
The program executes as the followings:
When the normally open contact M0 is ON, T0 timer starts timing, when the timing value is greater than or equal to
K1000, the normally open contact M100 is ON.
Ladder diagram (Using TMRH instruction)
6-314
Ch ap te r 6 Ap pl ie d Instruc ti ons
6_
6-315
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
Tno
Tsv
Symbol
Explanation
1.
_6
2. The instruction is available for PLC firmware V1.12.00 or later.
3. The ATMRM instruction uses 10ms as the timing unit in the timer. Refer to the explanation of the ATMRH instruction
(API 1017) for details.
6-316
Cha p ter 6 App l ied Ins truc tio ns
1102 WSFR DWSFR Shifting the data in word devices to the right
1103 WSFL DWSFL Shifting the data in word devices to the left
1104 SFWR DSFWR Shifting the data and writing it into a word device
1105 SFRD DSFRD Shifting the data and reading it from a word device
1106 SFPO DSFPO Reading the latest data from the data list
1108 SFINS DSFINS Inserting the data into the data list
1110 SFR DSFR Shifting the values of the bits in registers by n bits to the right
1111 SFL DSFL Shifting the values of the bits in registers by n bits to the left
6_
1112 BSFR – Shifting the states of n bit devices by one bit to the right
1113 BSFL – Shifting the states of n bit devices by one bit to the left
6-317
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
n1
n2
Symbol
Explanation
1. This instruction divides the states of the n1 bit devices starting from D into groups (n2 bits in a group), and shifts
these groups to the right. This instruction then shifts the states of the n2 bit devices starting from S to the devices
3. The operand n1 must be between 1–1024. The operand n2 must be between 1–n1. For firmware V1.12.00 or later,
6-318
Cha p ter 6 App l ied Ins truc tio ns
Example 1
1. When X0.0 switches from OFF to ON, the instruction divides the states of the sixteen bit devices starting from M0
to M15 into groups (four bits in a group), and shifts these groups to the right.
2. The shift of the states of the bit devices to the right during a scan is shown below.
M7-M4 → M3-M0
M11-M8 → M7-M4
M15-M12 → M11-M8
X0.3-X0.0 → M15-M12
6_
F our bits as a group ar e shifted to the r ight.
X 0.3 X 0.2 X 0.1 X 0.0
5
M1 5 M1 4 M1 3 M1 2 M11 M1 0 M9 M8 M7 M6 M5 M4 M3 M2 M1 M0
4 3 2 1
Example 2
1. When X0.0 switches from OFF to ON, the instruction divides the states of the sixteen bit devices starting from M0
to M15 into groups (five bits as a group), and shifts these groups to the right.
2. The shift of the states of the bit devices to the right during a scan is shown below.
M0 → Being carried
M5 → M0
M10-M6 → M5-M1
M15-M11 → M10-M6
6-319
AS Ser ies Pro gra mm in g M anu al
X0.4-X0.0 → M15-M11
4 3 2 1
Additional remarks
1. If S+n2-1 or D+n1-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in
SR0 is 16#2003.
2. If n1 not between 1–1024, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#200B.
3. If n2 is not between 1–n1, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#200B.
_6
6-320
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
n1
n2
Symbol
Explanation
1. This instruction divides the states of the n1 bit devices starting from D into groups (n2 bits in a group), and shifts
these groups to the left. This instruction then shifts the states of the n2 bit devices starting from S to the devices
3. The operand n1 must be between 1–1024. The operand n2 must be between 1–n1. For firmware V1.12.00 or later,
6-321
AS Ser ies Pro gra mm in g M anu al
Example 1
1. When X0.0 switches from OFF to ON, the instruction divides the states of the sixteen bit devices starting from M0
to M15 into groups (four bits in a group), and shifts these groups to the left.
2. The shift of the states of the bit devices to the left during a scan is shown below.
M11-M8 → M15-M12
M7-M4 → M11-M8
M3-M0 → M7-M4
X0.3-X0.0 → M3-M0
_6
F our bits as a group ar e shifted to the left
X 0.3 X 0.2 X 0.1 X 0.0
5
Being c arri ed M1 5 M1 4 M1 3 M1 2 M11 M1 0 M9 M8 M7 M6 M5 M4 M3 M2 M1 M0
1 2 3 4
Example 2
1. When X0.0 switches from OFF to ON, the instruction divides the states of the sixteen bit devices starting from M0
to M15 into groups (five bits in a group), and shifts these groups to the left.
2. The shift of the states of the bit devices to the left during a scan is shown below.
M10 → M15
M9-M5 → M14-M10
6-322
Cha p ter 6 App l ied Ins truc tio ns
M4-M0 → M9-M5
X0.4-X0.0 → M4-M0
1 2 3 4
Additional remarks
1. If S+n2-1 or D+n1-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in
SR0 is 16#2003.
2. If n1 is not between 1–1024, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#200B.
If n2 is not between 1–n1, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#200B.
6_
3.
6-323
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
n1
n2
Symbol
_6
Explanation
1. This instruction divides the data in the n1 word devices starting from D into groups (n2 words in a group), and shifts
these groups to the right. This instruction then shifts the data in the n2 word devices starting from S to the devices
3. For 16-bit instruction, the operand n1 must be between 1–512. For 32-bit instruction, the operand n1 must be
between 1–256. For the application of 32-bit instruction, you need to use ISPSoft V3.09.07 or later and AS PLC
6-324
Cha p ter 6 App l ied Ins truc tio ns
Example 1
1. When M0 switches from OFF to ON, the instruction divides the data in the sixteen word devices starting from D20
to D35 into groups (four words in a group), and shifts these groups to the right.
2. The shift of the data in the word devices to the right during a scan (M0 switches from OFF to ON) is shown below.
D27-D24 → D23-D20
D31-D28 → D27-D24
D35-D32 → D31-D28
4 3 2 1
Example 2
1. When M0 switches from OFF to ON, the instruction divides the data in the sixteen word devices starting from D20
to D35 into groups (five words in a group), and shifts these groups to the right.
2. The shift of the data in the word devices to the right during a scan (M0 switches from OFF to ON) is shown below.
D25 → D20
D30-D26 → D25-D21
D35-D31 → D30-D26
6-325
AS Ser ies Pro gra mm in g M anu al
F ive
Fiv re gi ters
e regis stersasas
aga roup
group are
a re shiftertoto
s hifted the
t he ri ght.
r ight.
D14 D1 3 D12 D11 D10
5
D3 5 D34 D33 D3 2 D3 1 D30 D29 D28 D2 7 D26 D25 D2 4 D2 3 D22 D 21 D2 0 Being c arried
3 1
4 2
Example 3
1. When M0 switches from OFF to ON, the instruction divides the data in the eight word devices starting from D20 to
D35 into groups (two words in a group), and shifts these groups to the right.
2. The shift of the data in the word devices to the right during a scan (M0 switches from OFF to ON) is shown below.
D23-D20 →
_6
Being carried
D27-D24 → D23-D20
D31-D28 → D27-D24
D35-D32 → D31-D28
6-326
Cha p ter 6 App l ied Ins truc tio ns
E
Two 32-bit registers as a group are shifted to the right.
D12 D10
A B C D
Being carried
D34 D32 D30 D28 D 26 D24 D22 D20
Additional remarks
1. If S+n2-1 or D+n1-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in
SR0 is 16#2003.
2. The n1 of the 16-bit instruction should be between1–512, and the n1 of the 32-bit instruction should be less than
256, If not, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#200B.
3. The n2 should be between 1–n1. If not, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#200B.
6_
6-327
AS Ser ies Pro gra mm in g M anu al
1103 D WSFL P S, D, n1, n2 Shifting the data in word devices to the left
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
n1
n2
Symbol
_6
Explanation
1. This instruction divides the data in the n1 word devices starting from D into groups (n2 words in a group), and shifts
these groups to the left. This instruction then shifts the data in the n2 word devices starting from S to the devices
3. For 16-bit instruction, the value in the operand n1 must be between 1–512. For 32-bit instruction, the value in the
operand n1 must be between 1–256. For the application of 32-bit instruction, you need to use ISPSoft V3.09.07 or
later and AS PLC CPU FW V1.08 or later.
6-328
Cha p ter 6 App l ied Ins truc tio ns
Example 1
1. When M0 switches from OFF to ON, the instruction divides the data in the sixteen word devices starting from D20
to D35 into groups (four words in a group), and shifts these groups to the left.
2. The shift of the data in the word devices to the left during a scan (M0 switches from OFF to ON) is shown below.
D31-D28 → D35-D32
D27-D24 → D31-D28
D23-D20 → D27-D24
5
Being carri ed D3 5 D3 4 D3 3 D3 2 D3 1 D3 0 D2 9 D2 8 D2 7 D2 6 D2 5 D2 4 D2 3 D2 2 D2 1 D2 0 6_
1 2 3 4
Example 2
1. When M0 switches from OFF to ON, the instruction divides the data in the sixteen word devices starting from D20
to D35 into groups (five words in a group), and shifts these groups to the left.
2. The shift of the data in the word devices to the left during a scan (M0 switches from OFF to ON) is shown below.
D30 → D35
D29-D25 → D34-D30
D24-D20 → D29-D25
6-329
AS Ser ies Pro gra mm in g M anu al
5
Being c arri ed D3 5 D3 4 D3 3 D3 2 D3 1 D3 0 D2 9 D2 8 D2 7 D2 6 D2 5 D2 4 D2 3 D2 2 D2 1 D2 0
1 2 3 4
Additional remarks
1. If S+n2-1 or D+n1-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in
SR0 is 16#2003.
2. The n1 of the 16-bit instruction should be between1–512, and the n1 of the 32-bit instruction should be less than
256, If not, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#200B.
3. The n2 should be between 1–n1. If not, the instruction is not executed, SM0 is ON, and the error code in SR0 is
_6
16#200B.
6-330
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
n
Symbol
D : First device
n : Data length
6_
Explanation
1. This instruction defines the data in the n word devices starting from the device specified by D as a first in-first out
list type, and takes the device specified by D as a pointer. This instruction increments the value of the pointer by
one, and writes the data in the device specified by S into the device specified by the pointer. When the value of the
pointer is larger than or equal to n-1, the instruction stops writing data, and sets the carry flag SM602 is ON.
3. This instruction is highly used as the function of PUSH. If you need to function of POP, refer to the instructions
4. For 16-bit instruction, the value in the operand n must be between 2–512. For 32-bit instruction, the value in the
operand n must be between 2–256. For the application of 32-bit instruction, you need to use ISPSoft V3.09.07 or
later and AS PLC CPU FW V1.08 or later.
6-331
AS Ser ies Pro gra mm in g M anu al
Example 1
1. The instruction clears the value of the pointer D0 to 0 first. When M0 switches from OFF to ON, the instruction
writes the data in D20 into D1, and increments the value in D0 to 1. When M0 switches from OFF to ON again, the
instruction writes the data in D20 to D2, and increments the value in D0 to 2.
2. The instruction shifts and writes the data in the word device as shown below.
n=10
Sourc e
_6 D20 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
Pointer
D0=3 2 1
6-332
Cha p ter 6 App l ied Ins truc tio ns
Example 2
1. The instruction clears the value of the pointer D0 to 0 first. When M0 switches from OFF to ON, the instruction
writes the data in D20/D21 into D2/D3, and increments the value in D0/D1 to 1. When M0 switches from OFF to
ON again, the instruction writes the data in D20/D21 to D4/D5, and increments the value in D0/D1 to 2.
2. The instruction shifts and writes the data in the word device as shown below.
n=5
6_
Source Pointer
D20 D8 D6 D4 D2 D0
D0=3 2 1
Additional remarks
1. If the value in D is less than 0, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#2003.
2. If D+n-1 exceeds the device range, the instruction is not executed. SM0 is ON, and the error code in SR0 is
16#2003.
3. For 16-bit instruction, the value in the operand n must be between 2–512. For 32-bit instruction, the value in the
operand n must be between 2–256. If not, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#200B.
4. You can use the SFWR instruction with the SFRD (API 1105) instruction to write and read the data in a first in first
6-333
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
n
Symbol
S : First device
n : Data length
_6
Explanation
1. This instruction defines the data in the n word devices starting from the device specified by S as a first in-first out
list type, and takes the device specified by S as a pointer. This instruction decrements the value in the device
specified by S by one, writes the data in the device specified by S+1 into the device specified by D, shifts the data
in the devices specified by S+n-1–S+2 to the right, and leaves the data in the device specified by S+n-1
unchanged. When the value in the device specified by S is equal to 0, the instruction stops reading the data, and
sets the zero flag SM600 is ON.
3. For 16-bit instruction, the value in the operand n must be between 2–512. For 32-bit instruction, the value in the
operand n must be between 2–256. For the application of 32-bit instruction, you need to use ISPSoft V3.09.07 or
later and AS PLC CPU FW V1.08 or later.
6-334
Cha p ter 6 App l ied Ins truc tio ns
Example 1
1. Supposedly the value in D20 is 10, when M0 switches from OFF to ON, the instruction writes the data in D21 into
D0, shifts the data in D29–D22 one place to the right, leaves the data in D29 unchanged, and the decrements the
2. The data in the word device is shifted and read as shown below.
n=10
D0 D29 D28 D27 D26 D25 D24 D23 D22 D21 D20
Pointer
T he data is read.
6_
Example 2
1. Supposedly the value in D20/D21 is 5, when M0 switches from OFF to ON, the instruction writes the data in
D22/D23 into D0/D1, shifts the 32-bit data in D29–D22 one place to the right, leaves the data in D28/D29
2. The data in the word device is shifted and read as shown below.
6-335
AS Ser ies Pro gra mm in g M anu al
n=5
Pointer
D0 D 28 D26 D24 D22 D20
Additional remarks
1. If the value in S is less than 0, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#2003.
2. If S+n-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
3. For 16-bit instruction, the value in the operand n must be between 2–512. For 32-bit instruction, the value in the
operand n must be between 2–256. If not, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#200B.
4. You can use this instruction with SFWR instruction (API 1104) to write and read the data in a first in first out (FIFO)
method.
_6
6-336
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
S : First device
Explanation 6_
1. This instruction takes the device specified by S as a pointer. This instruction writes the data in the device specified
by the value of the pointer into the device specified by D and clears it to 0, and decrements the value in the device
specified by S by one. When the value in the device specified by S is equal to 0, the instruction stops reading the
data, and sets the zero flag SM600 is ON.
3. This instruction is highly used as the function of PUSH. If you need to function of POP, refer to the instructions
4. For the application of 32-bit instruction, you need to use ISPSoft V3.09.07 or later and AS PLC CPU FW V1.08 or
later.
6-337
AS Ser ies Pro gra mm in g M anu al
Example 1
Supposedly the value in D0 is 7, when M0 is ON, the instruction writes the data in the device specified by D0 into D10.
After the instruction shifts the data, the instruction clears the data in the device specified by D0 to 0, and decrements the
value in D0 by 1.
D S
D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
1000 7
Pointer
T he data is read.
D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
1000 0 6
Pointer
Example 2
Supposedly the value in D0/D1 is 4, when M0 is ON, the instruction writes the data in the device specified by D0/D1 into
D10/D11. After the instruction shifts the data, the instruction clears the data in the device specified by D0/D1 to 0, and
_6 decrements the value in D0/D1 by 1.
Additional remarks
1. If the value in S is less than 0, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#2003.
2. If S+(the value in S) exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in
SR0 is 16#2003.
6-338
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
n
Symbol
S : First device
6_
Explanation
1. For this instruction, the length of the data is the value in the device specified by S, and the data itself is in the
devices specified by S+1–S+(the value in S). This instruction stores the data in the device specified by S+n in D
and deletes it, shifts the data in the devices specified by S+n+1–S+(The value in S) to the right, clears the data in
the device specified by S+(the value in S) to 0, and decrements the value in the device specified by S by one.
When the value in the device specified by S is equal to 0, the instruction stops deleting the data, and sets the zero
flag SM600 is ON.
6-339
AS Ser ies Pro gra mm in g M anu al
Example 1
Supposedly the value in D0 is 9, and n is 4. When M0 is ON, the instruction stores the data in D4 to D20. And then the
instruction deletes the data in D4. After that it shifts the data in D5–D9 to the right, and decrements the value in D0 by
one.
S
D n=4
D20 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
4712 857 123 100 111 22 48 5 799 9
T he length of the data
T he data is deleted.
D20 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
22 0 4712 857 123 100 111 48 5 799 8
T he length of the data
Example 2
Supposedly the value in D0/D1 is 4, and n is 3. When M0 is ON, the instruction stores the data in D6/D7 to D20. And
_6 then the instruction deletes the data in D6/D7. After that it shifts the data in D8/D9 to the right, and decrements the value
in D0/D1 by one.
n=3
D20/D21 D8/D9 D6/D7 D4/D5 D2/D3 D0/D1
20000 50000 45000 40000 4
The length of the data
6-340
Cha p ter 6 App l ied Ins truc tio ns
Additional remarks
1. If the value in S is less than 0, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#2003.
2. If S+n exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#2003.
3. If S+(the value in S) exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in
SR0 is 16#2003.
4. If n is not between 0–S, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#200B.
6_
6-341
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
n
Symbol
S : First device
D : Data to be inserted
_6
Explanation
1. For this instruction, the length of the data is the value in the device specified by S, and the data itself is in the
devices specified by S+1–S+(the value in S). This instruction inserts the data in D into S+n, shifts the original
data in the devices specified by S+n–S+(the value in S) to the left, and increments the value in the device specified
by S by one. When the value in the device specified by S is equal to 32767, the instruction stops writing the data,
stops incrementing the value in the device specified by S, and sets the carry flag SM602 is ON.
3. For 16-bit instruction, the value in the operand n must be between 1–32767. For 32-bit instruction, the value in the
4. For the application of 32-bit instruction, you need to use ISPSoft V3.09.07 or later and AS PLC CPU FW V1.08 or
later.
6-342
Cha p ter 6 App l ied Ins truc tio ns
Example 1
Supposedly the value in D0 is 8, and n is 4. When M0 is ON, the instruction inserts the data in D200 into D4, shifts the
original data in D4–D8 to D5–D9, and increments the value in D0 by one.
D n=4 S
D200 D8 D7 D6 D5 D4 D3 D2 D1 D0
22 4712 857 123 100 111 48 5 799 8
T he length of the data
T he data is inserted.
D200 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
22 4712 857 123 100 111 22 48 5 799 9
T he length of the data
Example 2
Supposedly the value in D0/D1 is 4, and n is 3. When M0 is ON, the instruction inserts the data in D200 into D6/D7,
shifts the original data in D6–D9 to D8–D11, and increments the value in D0/D1 by one.
6_
n=3
D8/D9 D6/D7 D 4/D5 D2/D3 D0/D1
22000 20000 50000 45000 40000 4
The length of the data
Additional remarks
1. If the value in S is less than 0, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#2003.
2. If S+n exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#2003
3. If S+(the value in S)+1 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in
SR0 is 16#2003.
4. If n is not between 0–S, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#200B.
6-343
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
n
Symbol
S : Matrix source
D : Operation result
Explanation
_6 1. This instruction shifts the values of the n rows of bits in S to the right or to the left. When SM616 is OFF, the
instruction shifts the values of the bits to the left. When SM616 is ON, the instruction shifts the values of the bits to
the right. The instruction fills the vacancy (b0 when shifting to the left, and b16n-1 when shifting to the right)
resulting from the shift with the state of the borrow flag SM615.The instruction transmits the value of the bit shifted
last (from shifting to the left is b16n-1 and from shifting to the right is b0) to the carry flag SM614, and stores the
operation result in D.
Example 1
When X0.0 is ON, SM616 is OFF. The instructions shifts the values of the bits to the left. Suppose SM615 is OFF. After
the instruction shifts the values of the bits in the 16-bit registers D0–D2 to the left, it stores the operation result in the 16-
6-344
Cha p ter 6 App l ied Ins truc tio ns
b 15 b0 Borr ow flag
D0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0
Carry flag 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
D1
D2 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
b 15 b0
Borr ow flag
D20 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0
Carry flag D21 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
1 D22 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Example 2
When X0.0 is ON, SM616 is ON. The instruction shifts the values of the bits to the right. Suppose SM615 is ON. After the
instruction shifts the values of the bits in the 16-bit registers D0–D2 to the right, it stores the operation result in the 16-bit
b 15 b0 Carry flag
D0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
Borr ow flag D1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
D2 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
b 15 b0 Carry flag
D20 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
Borr ow flag D21 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
1 D22 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
6-345
AS Ser ies Pro gra mm in g M anu al
Additional remarks
1. If S+n-1 or D+n-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0
is 16#2003.
2. If n is not between 1–256, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#200B.
3. Instruction flags
_6
6-346
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
D
n
Symbol
n : Number of bits
Explanation
1. This instructions shift the values of the bits in D by n bits to the right. The 16-bit instruction fills the vacancies (b15–
b15-n+1) resulting from the shift with 0 and the 32-bit instruction fills the vacancies (b31–b31-n+1) resulting from the
4. Only the DSFR/DSFRP instruction (32-bit instructions) can use the 32-bit counter (high counter) but not the device
E.
Example
When X0.0 is ON, the instruction shifts the values of b0–b15 in D0 by 6 bits to the right, and transmits the value of b5 to
SM602. The instruction clears the values of b10–b15 to zero after the shift.
The shift of the values of the bits to the right during a scan is shown below.
b15-b6 → b9-b0
0 → b15-b10
6-347
AS Ser ies Pro gra mm in g M anu al
b 15 ※ b0 Carry flag
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
b 15 b0 Carry flag
0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0
Additional remarks
If n is not between 0–16 (for 16-bit instructions) or between 0-32 (for 32-bit instructions), the instruction is not executed,
SM0 is ON, and the error code in SR0 is 16#200B.
_6
6-348
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
D
n
Symbol
n : Number of bits
Explanation
1. This instructions shift the values of the bits in D by n bits to the left. The instructions fill the vacancies (b0–bn-1)
resulting from the shift with 0 and transmit the value of b16-n (for 16-bit instruction) or b32-n (for 32-bit instruction) to
SM602.
6_
2. The operand n must be between 1–16 for 16-bit instructions and the operand n must be between 1–32 for 32-bit
instructions.
4. Only the DSFR/DSFRP instruction (32-bit instructions) can use the 32-bit counter (high counter) but not the device
E.
Example
When X0.0 is ON, the instruction shifts the values of b0–b15 in D0 by 6 bits to the right, and transmits the value of b10 to
SM602. The instruction fills the values of b0–b5 with zeros after the shift.
The shift of the values of the bits to the left during a scan shown below.
b9-b0 → b15-b6
0 → b5-b0
6-349
AS Ser ies Pro gra mm in g M anu al
b 15 ※ b0
Carry flag
0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
Carry flag
b 15 b0
1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1
Being fill ed by 0
Additional remarks
If n is not between 0–16 (for 16-bit instructions) or between 0-32 (for 32-bit instructions), the instruction is not executed,
SM0 is ON, and the error code in SR0 is 16#200B.
_6
6-350
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
D
n
Symbol
n : Data length
Explanation
1. This instruction shifts the states of the n bit devices starting from D by one bit to the right. The instruction clears
state of D+n-1 to 0, and transmits the state of D to the carry flag SM602. 6_
2. In general, the BSFRP pulse instruction is used.
Example
When X0.0 is ON, the instruction shifts the states of M0–M5 by one bit to the right, clears the state of M5 to zero, and
6-351
AS Ser ies Pro gra mm in g M anu al
M5 M4 M3 M2 M1 M0 Carry flag
0 0 0 1 0 1
After the shift
M5 M4 M3 M2 M1 M0 Carry flag
0 0 0 0 1 0 1
Being c leared to 0
Additional remarks
1. If D+n-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
2. If n not between 1–1024, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#200B.
_6
6-352
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
D
n
Symbol
n : Data length
Explanation
1. This instruction shifts the states of the n bit devices starting from D by one bit to the left. The instruction clears the
state of D to 0, and transmits the state of D+n-1 to the carry flag SM602. 6_
2. In general, the BSFLP pulse instruction is used.
Example
When X0.0 is ON, the instruction shifts the states of M0–M5 by one bit to the left, clears the state of M0 to 0, and
6-353
AS Ser ies Pro gra mm in g M anu al
M5 M4 M3 M2 M1 M0 Carry flag
0 0 0 1 0 1
M5 M4 M3 M2 M1 M0 Carry flag
0 0 1 0 1 0 0
Being c leared to 0
Additional remarks
1. If D+n-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
2. If n not between 1–1024, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#200B.
_6
6-354
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
D
n
Symbol
n : Data length
Explanation 6_
1. This instruction shifts the data in the n registers starting from D to the right, and clears the data in D+n-1 to 0.
3. For 16-bit instruction, the value in the operand n must be between 1–512. For 32-bit instruction, the value in the
operand n must be between 1–256. For the application of 32-bit instruction, you need to use ISPSoft V3.09.07 or
later and AS PLC CPU FW V1.08 or later.
Example 1
When M0 switches from OFF to ON, the instruction shifts the data in D1–D6 to the right, and clears the data in D6 to 0.
6-355
AS Ser ies Pro gra mm in g M anu al
D6 D5 D4 D3 D2 D1 D0
30 2235 9578 754 28 423 11
After the shift
D6 D5 D4 D3 D2 D1 D0
0 30 2235 9578 754 28 423
Being cleared to 0
Example 2
When M0 is ON, When M0 switches from OFF to ON, the instruction shifts the 7 pieces of 32-bit data in D0–D13 one
D12 D10 D8 D6 D4 D2 D0
90000 80000 70000 60000 50000 30000 40000
_6 D12 D10 D8 D6 D4 D2 D0
0 90000 80000 70000 60000 50000 30000
Additional remarks
1. If D+n-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
2. For 16-bit instruction, the value in the operand n must be between 1–512. For 32-bit instruction, the value in the
operand n must be between 1–256. If not, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#200B.
6-356
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
D
n
Symbol
n : Data length
Explanation 6_
1. This instruction shifts the data in the n registers starting from D to the left, and clears the data in D to 0.
3. For 16-bit instruction, the value in the operand n must be between 1–512. For 32-bit instruction, the value in the
operand n must be between 1–256. For the application of 32-bit instruction, you need to use ISPSoft V3.09.07 or
later and AS PLC CPU FW V1.08 or later.
Example
When M0 switches from OFF to ON, the instruction shifts the data in D0–D5 to the left, and clears the data in D0 to 0.
6-357
AS Ser ies Pro gra mm in g M anu al
D6 D5 D4 D3 D2 D1 D0
30 2235 9578 754 28 423 11
After the shift
D6 D5 D4 D3 D2 D1 D0
2235 9578 754 28 423 11 0
Being c leared to 0
Additional remarks
1. If D+n-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
2. For 16-bit instruction, the value in the operand n must be between 1–512. For 32-bit instruction, the value in the
operand n must be between 1–256. If not, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#200B.
_6
6-358
Ch ap te r 6 Ap pl ie d Instruc ti ons
1201 SUM DSUM Finding the number of bits whose states are ON
1214 MBC – Counting the bits with the value zero or one
6-359
AS Ser ies Pro gra mm in g M anu al
_6
6-360
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
n
Symbol
S2 : Compared data
6_
D : First device where the comparison result is stored
n : Data length
Explanation
1. This instruction compares n signed decimal values in the registers starting from the register specified by S1 with
the signed decimal value in the register specified by S2, and stores the comparison results in the registers D–D+4.
6-361
AS Ser ies Pro gra mm in g M anu al
Device Description
3. Only the 32-bit instructions can use the 32-bit counter, but not the device E.
Example
1. When X0.0 is ON, the instruction compares the values in D10–D19 with the value in D0, and stores the
comparison results in D50–D54. When the equal value does not exist in D10–D19, the values in D50–D52 are 0.
2. The instruction stores the data number of the minimum value in D53, and stores the data number of the maximum
value in D54. If there is more than one minimum value or maximum value, the instruction stores the data number
_6 that is bigger.
6-362
Ch ap te r 6 Ap pl ie d Instruc ti ons
Compared Data
S1 Value Result D Value Description
data number
D15 300 5
D17 5 7 Minimum
Additional remarks
6_
1. If S1+n-1 or D+4 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0
is 16#2003.
2. For 16-bit instructions, if the value in n is not between 1–256, the instruction is not executed, SM0 is ON, and the
error code in SR0 is 16#200B.
3. For 32-bit instructions, if the value in n is not between 1–128, the instruction is not executed, SM0 is ON, and the
error code in SR0 is 16#200B.
4. For 16-bit instructions, if you declare the operand D in ISPSoft, the data type is ARRAY [5] of WORD/INT.
5. For 32-bit instructions, if you declare the operand D in ISPSoft, the data type is ARRAY [5] of DWORD/DINT.
6-363
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
S : Source device
D : Destination device
Explanation
_6 1. This instruction finds the number of bits in S whose values are ON and stores the number of ON bits in D.
2. When the values of all the bits in the source device specified by S are 0, the zero flag SM600 is ON.
3. Only the 32-bit instructions can use the 32-bit counter, but not the device E.
Example
When X0.0 is ON, the instruction stores the number of bits whose values are one in D0 in D2.
b15 b0
0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 3
D0 D2
Additional remarks
If the device exceeds the range, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#2003.
6-364
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
n
Symbol
S : Source device
Explanation
1. This instruction decodes the values of the lower n bits in the source device specified by S as the values of the
lower 2n bits in D.
2. The instruction decodes the values of the consecutive n bits in the source device specified by S as the values of
3. When the source device specified by S is a timer or counter, the instruction treats the device as a word device.
4. When D is a bit device, n between1–8. When n is 8, the instruction decodes the values of the eight bits as the
values of the 256 bits. Please note that the devices in which the decoded values are stored cannot be used
repeatedly.
5. When D is a word device, n between 1–4. When n is 4, the instruction decodes the values of the four bits as the
values of the 16 bits.
6-365
AS Ser ies Pro gra mm in g M anu al
Example 1
1. When Y0.0 switches from OFF to ON, the DECO instruction decodes the values of the 3 bits in X0.0–X0.2 as the
2. The instruction adds the values of the 3 bits in X0.0–X0.2 to get the value 3. The instruction sets the third bit in
M10–M1007, that is, the bit in M103 to 1.
3. After the DECO instruction is executed and Y0.0 switches to OFF, the values of the eight bits in M100–M107 are
unchanged.
X0.2 X0.1
0 1 1
4 2 1
_6 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
Example 2
1. When X0.0 switches from OFF to ON, the DECO instruction decodes the values of b2–b0 in D10 as the values of
2. The instruction decodes the values of the lower three bits in D10 as the values of the lower eight bits in D20. The
instruction sets the values of the higher eight bits to 0.
3. After the DECO instruction is executed and X0.0 switches to OFF, the data in D20 is unchanged.
6-366
Ch ap te r 6 Ap pl ie d Instruc ti ons
b15 D10 b0
0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 1
4 2 1
T he values of b15~b8
in D10 bec ome 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 D20 b0
Additional remarks
1. If D is a bit device and if n not between 1–8, the instruction is not executed, SM0 is ON, and the error code in SR0
is 16#200B.
2. If D is a word device and if n is not between 1–4, the instruction is not executed, SM0 is ON, and the error code in
SR0 is 16#200B.
3. If S is a bit device and if S+n-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the error
code in SR0 is 16#2003.
4. If D is a bit device and if D+(2^n)-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the
error code in SR0 is 16#2003.
6_
6-367
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
type INT
S
D
n
Symbol
S : Source device
_6 Explanation
1. When S is a word device, this instruction encodes the values of the lower 2n bits in the source device specified by
S as the values of the lower n bits in D.
2. When S is a bit device, the instruction processes the higher bit with the value S+(n-1) from the lower 2n bits and
3. When the source device specified by S is a timer or counter, the instruction treats the device as a word device.
4. When S is a bit device, n is between 1–8. When n is 8, the instruction encodes the values of the 256 bits as the
values of the eight bits.
5. When S is a word device, n is between 1–4. When n is 4, the instruction encodes the values of the 16 bits as the
values of the four bits.
Example 1
1. When X0.0 switches from OFF to ON, the ENCO instruction encodes the values of the 8 bits in M0–M7 as the
6-368
Ch ap te r 6 Ap pl ie d Instruc ti ons
values of the lower 3 bits in D0, and sets the values of b15–b3 in D0 to 0.
2. After the ENCO instruction is executed and X0.0 switches to OFF, the data in D is unchanged.
M7 M6 M5 M4 M3 M2 M1 M0
0 0 0 0 1 0 0 0
7 6 5 4 3 2 1 0
b15 D0 4 2 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
b0
T he values of b15~b3 in D0 become 0.
Example 2
1. When X0.0 switches from OFF to ON, the ENCO instruction encodes the values of b0–b7 in D10 as the values of
b2–b0 in D20, and sets the values of b15–b3 in D20 to zero. The values of b8–b18 in D10 are invalid data.
6_
2. After the ENCO instruction is executed and X0.0 switches OFF, the data in D is unchanged.
b15 D10 b0
0 1 0 1 0 1 0 1 0 0 0 0 1 0 0 0
7 6 5 4 3 2 1 0
T he values of b8~b18 in D10 are invalid data.
b15 D20
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
b0
T he values of b15~b3 in D20 become 0.
Additional remarks
1. If there is no bit whose value is one in the source device specified by S, the instruction is not executed, SM0 is ON,
6-369
AS Ser ies Pro gra mm in g M anu al
2. If S is a bit device and if n is not between 1–8, the instruction is not executed, SM0 is ON, and the error code in
SR0 is 16#200B.
3. If S is a word device and if n is not between 1–4, the instruction is not executed, SM0 is ON, and the error code in
SR0 is 16#200B.
4. If S is a bit device and if S+(2^n)-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the
error code in SR0 is 16#2003.
5. If D is a bit device and if D+n-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the error
code in SR0 is 16#2003.
_6
6-370
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
S : Source device
Explanation
6_
The instruction decodes the values of the lower four bits (b0–b3) in the source device specified by S as the seven-
Example
When X0.0 is ON, the instruction decodes the values of b0–b3 in D0 as the seven-segment data stored in Y0.0–Y0.15. If
the data in the source device exceeds four bits, the instruction decodes the values of the lower four bits.
6-371
AS Ser ies Pro gra mm in g M anu al
The following table shows the relation between the seven-segment data and the bit pattern of source data.
Segment s tate
Bi t Assi gnment
Hex Dis play
pattern of s egments B0(a) B1(b) B2(c) B3(d) B4(e) B5(f) B6(g)
0 0000 ON ON ON ON ON ON OFF
6 0110 a ON OFF ON ON ON ON ON
8 1000 e c ON ON ON ON ON ON ON
d
9 1001 ON ON ON ON OFF ON ON
A 1010 ON ON ON OFF ON ON ON
_6
6-372
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
m1
m2
D
n
Symbol
Explanation
1. This instruction stores the data to be sorted in the m1×m2 registers starting from the register specified by D. If S
and D specify the same register, the sorted data is the same as the original data in the register specified by S.
2. The operand m1 must be between 1–32. The operand m2 must be between 1–6. The operand n must be between
1–m2.
3. When SM604 is OFF, the instruction sorts the data in ascending order. When SM604 is ON, the instruction sorts
4. It is suggested that you use the SORTP or DSORTP pulse type instruction instead of sorting repeatedly.
5. Only the 32-bit instruction can use the 32-bit counter, but not the device E.
6-373
AS Ser ies Pro gra mm in g M anu al
Example
1. Suppose SM604 is OFF. When X0.0 switches from OFF to ON, the instruction sorts the data in ascending order.
m2 columns of data
Column
Column 1 2 3 4 5
Student
Chinese English Math Physics
Row number
6-374
Ch ap te r 6 Ap pl ie d Instruc ti ons
3. When the value in D100 is 3, the data is sorted as in the following table.
m2 columns of data
Column
Column 1 2 3 4 5
Student
Chinese English Math Physics
Row number
6_
m2 columns of data
Column
Column 1 2 3 4 5
Student
Chinese English Math Physics
Row number
6-375
AS Ser ies Pro gra mm in g M anu al
Additional remarks
1. If the device exceeds the range, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#2003.
2. If m1, m2, or n exceeds the range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#200B.
_6
6-376
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
D1
D2
Symbol
Explanation
1. This instruction clears the values in D1–D2. The device type for D1–D2 should be the same for this instruction.
2. When the device number of D1 is larger than the device number of D2, the instruction resets only D2. 6_
3. The ZRST instruction can use the 32-bit counter.
Example
1. When X0.0 is ON, the instruction resets the auxiliary relays M300–M399 to OFF.
2. When X1.0 is ON, the instruction resets the 16-bit counters C0–C127. The values of C0–C127 are cleared to zero,
3. When X2.0 is ON, the instruction resets the stepping relays S0–S127 to OFF.
4. When X3.0 is ON, the instruction resets the output relays Y0.0–Y1.15 to OFF.
5. When X4.0 is ON, the instruction resets the 32-bit counters HC0–HC63. The values of HC0–HC63 are cleared to
zero, and the contact and the coil are reset to OFF.
6. When X5.0 is ON, the instruction resets the timers T0–T127. The values of T0–T127 are cleared to 0. and the
6-377
AS Ser ies Pro gra mm in g M anu al
_6
Additional remarks
1. If D1 and D2 are different types of devices, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2007.
2. If D1 and D2 contain different data formats, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2007.
6-378
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
n
Symbol
S : Source device
6_
Explanation
1. This instruction checks the state of the nth bit in S, and stores the result in D.
2. The operand n used in the 16-bit instruction must be between 0–15. For 32-bit instructions, n must be between 0–
31.
3. Only the 32-bit instructions can use the 32-bit counter, but not the device E.
Example
1. When X0.0 is ON, Y0.1 is ON if the value of the 15th bit in D0 is one. When X0.0 is ON, Y0.1 is OFF if the value of
the 15th bit in D0 is 0.
2. When X0.0 switches to OFF, the state of Y0.1 remains the same as before X0.0 switches to OFF.
6-379
AS Ser ies Pro gra mm in g M anu al
b15 b0
0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 Y0.1=OFF
D0
b15 b0
1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 Y0.1=ON
D0
Additional remarks
If n exceeds the range, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#200B.
_6
6-380
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
n
Symbol
S : First device
n : Number of devices
6_
Explanation
1. This instruction adds up the values in the n devices starting from the device specified by S, and the stores the
5. Only the 32-bit instructions can use the 32-bit counter, but not the device E.
Example
When X0.0 is ON, the instruction adds up the values in the three registers starting from D0. The instruction divides the
sum by 3. The instruction stores the quotient in D10, and leaves out the remainder.
6-381
AS Ser ies Pro gra mm in g M anu al
(D0+D1+D2)/3 D10
D0 100
Additional remarks
1. For 16-bit instructions, if n not between 1–256, the instruction is not executed, SM0 is ON, and the error code in
SR0 is 16#200B.
2. For 32-bit instruction, if n is not between1–128, the instruction is not executed, SM0 is ON, and the error code in
SR0 is 16#200B.
3. If S+n-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
_6
6-382
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
n
Symbol
S : First device
Explanation 6_
1. Communication protocols use the sum check function to compare checksums on the same data on different
occasions or on different representations of the data to verify data integrity.
2. When SM606 is OFF, the instruction uses the 16-bit conversion mode. The instruction adds up n pieces of data in
the registers starting from the register specified by S (eight bits as a group). The instruction stores the sum in the
register specified by D, and stores the values of the parity bits in D+1.
3. When SM606 is ON, the instruction uses the 8-bit conversion mode. The instruction adds up the n pieces of data in
the registers starting from the register specified by S (eight bits in a group, and only low eight bits are valid). The
instruction stores the sum in the register specified by D, and stores the values of the parity bits in D+1.
6-383
AS Ser ies Pro gra mm in g M anu al
Example 1
1. When SM606 is OFF, the instruction uses the 16-bit conversion mode.
2. When X0.0 is ON, the instruction adds up the six pieces of data in D0–D2 (eight bits in a group). The instruction
stores the sum in D100, and stores the values of the parity bits in D101.
S Data
D0 Low 100 = 0 1 1 0 0 1 0 0
D0 High 111 = 0 1 1 0 1 1 1 1
D1 Low 120 = 0 1 1 1 1 0 0 0
D1 High 202 = 1 1 0 0 1 0 1 0
D2 Low 123 = 0 1 1 1 1 0 1 1
D2 High 211 = 1 1 0 1 0 0 1 1
D100 867 Sum
D101 00 01 000 1
_6 T he parity bit is set to 1 if the number of ones i s odd.
T he parity bit is set to 0 if the number of ones i s even.
D100 0 0 0 0 0 0 1 1 0 1 1 0 0 0 1 1
Example 2
1. When SM606 is ON, the instruction uses the 8-bit conversion mode.
2. When X0.0 is ON, the instruction adds up the six pieces of data in D0–D5 (eight bits in a group). The instruction
stores the sum in D100, and stores the values of the parity bits in D101.
6-384
Ch ap te r 6 Ap pl ie d Instruc ti ons
S Data
D0 Low 100 = 0 1 1 0 0 1 0 0
D1 Low 111 = 0 1 1 0 1 1 1 1
D2 Low 120 = 0 1 1 1 1 0 0 0
D3 Low 202 = 1 1 0 0 1 0 1 0
D4 Low 123 = 0 1 1 1 1 0 1 1
D5 Low 211 = 1 1 0 1 0 0 1 1
D100 867 Sum
D101 00 01 000 1
T he parity bit is set to 1 if the number of ones is odd.
T he parity bit is set to 0 if the number of ones is even.
D100 0 0 0 0 0 0 1 1 0 1 1 0 0 0 1 1
6_
Additional remarks
1. Suppose SM606 is ON. If S+n-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the
error code in SR0 is 16#2003.
2. Suppose SM606 is OFF. If S+n/2-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the
error code in SR0 is 16#2003.
3. If n is not between 1–256, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#200B.
4. If you declare the operand D in ISPSoft, the data type is ARRAY [2] of WORD/INT.
6-385
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
D
Symbol
Explanation
1. This instruction finds the absolute value of the value in the device specified by D.
3. Only the 32-bit instructions can use the 32-bit counter, but not the device E.
4. If the value used here is a smallest negative number for the 16-bit number or 32-bit number, this instruction is not
executed.
Example
Supposedly the value in D0 is originally -1234. When X0.0 switches from OFF to ON, the instruction finds the absolute
value of -1234 in D0. That is, the value in D0 becomes 1234 after the instruction is executed.
6-386
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
n
Symbol
S : Matrix source
D : Operation result
Explanation
1. This instruction inverts the bits in the n devices starting from the device specified by S, and stores the inversion 6_
result in D.
Example
When X0.0 is ON, the instruction inverts the bits in the three 16-bit registers D0–D2, and stores the inversion result in the
6-387
AS Ser ies Pro gra mm in g M anu al
b15 b0
D0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
D1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
D2 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Additional remarks
1. If S+n-1 or D+n-1 exceeds the device range, the instruction is not execute, SM0 is ON, and the error code in SR0
is 16#2003.
2. If n is not between 1–256, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#200B.
_6
6-388
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
n
D
Symbol
S : Matrix source
D : Pointer
Explanation 6_
1. This instruction checks the state of SM613. If SM613 is ON, the instruction clears the value of the pointer D to
zero. The instruction reads the value of the bit specified by the value of the pointer D into SM614, and then checks
the state of SM612. If SM612 is ON, the instruction increments the value of the pointer D by adding one.
2. When the instruction reads the value of the last bit, SM608 is ON, and the instruction stores the bit number in the
pointer D.
4. You specify the value of the pointer. The values are between 0–16n−1, and correspond to the range between b0–
b16n−1. If the value of the pointer exceeds the range, SM611 is set to one, and the instruction is not executed.
Example
1. Suppose SM613 is OFF and SM612 is ON when X0.0 switches from OFF to ON.
2. Suppose the current value in D20 is 45. When X0.0 is switched from OFF to ON three times, the instruction gives
the following execution results.
6-389
AS Ser ies Pro gra mm in g M anu al
b15 b0
D0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
D1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
D2 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
45 Pr
D20
Additional remarks
1. If S+n-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
_6 16#2003.
2. If n is not between 1–256, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#200B.
3. Instruction flags:
SM608: The matrix comparison comes to an end. When the last bits are compared, SM608 is
ON.
SM611: Matrix pointer error flag. When the value of the pointer exceeds the comparison range,
SM611 is ON.
SM612: Matrix pointer increasing flag. The current value of the pointer increases by one.
SM613: Matrix pointer clearing flag. The current value of the pointer is cleared to zero.
6-390
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
n
D
Symbol
S : Matrix source
D : Pointer
Explanation
1. This instruction checks the state of SM613. If SM613 is ON, the instruction clears the value of the pointer D to 0. 6_
The instruction writes the state of SM615 into the bit specified by the value of the pointer D and then checks the
state of SM612. If SM612 is ON, the instruction increments the value in the pointer D by one.
2. When the instruction writes the state of SM615 into the last bit, sets SM608 is ON, and records the bit number in
the pointer D. If value of the pointer D exceeds the range, SM611 is ON.
4. You specify the value of the pointer. The values are between 0–16n−1, and correspond to the range between b0–
b16n−1. If the value of the pointer exceeds the range, SM611 is set to one, and the instruction is not executed.
Example
1. Suppose SM613 is OFF and SM612 is ON when X0.0 switches from OFF to ON.
2. Suppose the current value in D20 is 45. When X0.0 switches from OFF to ON one time, the instruction gives the
execution result shown below. When the value in D20 is 45, SM615 is OFF, and SM608 is OFF.
6-391
AS Ser ies Pro gra mm in g M anu al
b1 5 b0
D0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 SM 6 15
D1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
D2 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
45 Pr
P
Afte r the i nstru cti on is e xecute d D 20
b 15 b0
D0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 SM 6 15
D1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
D2 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1
46 Pr
D20
Additional remarks
1. If S+n-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
If n is not between 1–256, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#200B.
_6
2.
3. Instruction flags:
SM608: The matrix comparison comes to an end. When the last bits are compared, SM608 is ON.
SM611: Matrix pointer error flag. When the value of the pointer exceeds the comparison range, SM611 is ON.
SM612: Matrix pointer increasing flag. The current value of the pointer increases by one.
SM613: Matrix pointer clearing flag. The current value of the pointer is cleared to zero.
6-392
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
n
D
Symbol
S : Matrix source
D : Operation result
Explanation
1. This instruction counts the bits with the value one or zero in the n devices starting from the device specified by S. 6_
The instruction stores the operation result in D.
2. When SM617 is ON, the instruction counts the bits with the value one. When SM617 is OFF, the instruction counts
the bits with the value 0. When the operation result is 0, SM618 is ON.
Example
Suppose SM617 is ON. When X0.0 is ON, the instruction counts the bits with the value one, and stores the operation
result in D20. Suppose SM617 is OFF. When X0.0 is ON, the instruction counts the bits with the value zero, and stores
6-393
AS Ser ies Pro gra mm in g M anu al
b15 b0
D0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 12
D1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 SM 617 D20
D2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1
1 36
SM 617 D20
Additional remarks
1. If S+n-1 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
2. If n is not between 1–256, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#200B.
3. Instruction flags:
SM617: The bits with the value zero or one are counted.
_6
6-394
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
n
D
Symbol
S : Data source
n : Number of devices
D : Operation result
Explanation
6_
1. This instruction divides the 16-bit value in the register specified by S into four groups (four bits in a group), and
stores these groups in the low four bits in every register (the registers range from D to D+(n-1)).
b15 b12 b11 b8 b7 b4 b3 b0 b15 b4 b3 b0
S D
D +1 n
D +2
D +3
Example
Suppose the value in D0 is 16#1234. When M0 is enabled, the instruction divides the value in D0 into four groups (four
bits in a group), and stores these groups in the low four bits in every register (the registers range from D10 to D13.).
6-395
AS Ser ies Pro gra mm in g M anu al
Additional remarks
1. If D–D+(n-1) exceed the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
_6 2. If n is not between 1–4, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#200B.
6-396
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
n
D
Symbol
S : Data source
n : Data length
D : Operation result
6_
Explanation
1. This instruction divides the 16-bit values in the registers specified by S–S+(n-1) into groups (four bits in a group),
and stores every group that is in b0–b3 in the register specified by D (b0–b15).
b15 b4 b3 b0
S
S +1
S +2
S +3 D
b15 b12 b11 b8 b7 b4 b3 b0
Example
Suppose the values in D0–D3 are 16#1234, 16#5678, 16#8765, and 16#4321 respectively. When M0 is enabled, the UNI
instruction divides the values in D0–D3 into groups (four bits in a group), and stores every group in b0–b3 in D10(b0–
b15).
6-397
AS Ser ies Pro gra mm in g M anu al
b15 b4 b3 b0
D0 1 2 3 4
D1 5 6 7 8
D2 8 7 6 5
D3 4 3 2 1 1 5 8 4 D1 0
b15 b12 b11 b8 b7 b4 b3 b0
Additional remarks
1. If S to S+(n-1) exceed the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
_6
2. If n not between 1–4, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#200B.
6-398
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
n
D
Symbol
S : Data source
n : Data length
D : Operation result
6_
Explanation
1. The instruction adds up the signed decimal values in S to S+n-1, and stores the sum in the register specified by D.
S
S +1
D +1 D
S +2
B in ar y val ue s n
S +3
S +4 B in ar y val ue
S +5
S S +1
S +3 S +2
D +1 D
S +5 S +4
B in ar y val ue s n D +3 D +2
S +7 S +6
B in ar y val ue
S +9 S +8
6-399
AS Ser ies Pro gra mm in g M anu al
4. Only the 32-bit instructions can use the 32-bit counter, but not the device E.
Example
The WSUM instruction adds up the values in D0–D2, and stores the sum (32-bit) in D10.
(D0+D1+D2) D10
D0 100
D2 125
_6
Additional remarks
1. For 16-bit instructions, the value in n is not between 1–256, the instruction is not executed, SM0 is ON, and the
error code in SR0 is 16#200B.
2. For 32-bit instructions, the value in n is not between 1–128, the instruction is not executed, SM0 is ON, and the
error code in SR0 is 16#200B.
3. If S+n-1 or D exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
4. For 16-bit instructions, ff you declare the operand D in ISPSoft, the data type is DWORD or ARRAY [2] of WORD.
5. For 32-bit instructions, if you declare the operand D in ISPSoft, the data type is ARRAY [2] of DWORD.
6-400
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
D
Symbol
S3 : Input value
D : Output value 6_
Explanation
1. The instruction compares the input value in S3 with the minimum output value in S1 and the maximum output value
in S2, and stores the comparison result in D.
If the input value in S3 is smaller than the minimum output value in S1, the instructions stores minimum
output value S1 in D.
If the input value in S3 is larger than the maximum output value in S2, the instruction stores the
If the input value in S3 is between the minimum output value S1 and the maximum output value S2, the
6-401
AS Ser ies Pro gra mm in g M anu al
If the minimum output value in S1 is larger than the maximum output value in S2, the instruction is not
executed.
2. Only the 32-bit instructions can use the 32-bit counter, but not the device E.
Example
When X0.0 is ON, the instruction converts the state of X1 into a binary value, and stores the conversion result in
D0. Then the instruction compares the value in D0 with 500 and 5000, and stores the comparison result in D1.
Additional remarks
If the minimum output value in S1 is larger than the maximum output value in S2, the instruction is not executed, SM0 is
ON, and the error code in SR0 is 16#2003.
6-402
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
D
Symbol
S3 : Input value
D : Output value 6_
Explanation
1. This instruction subtracts the minimum value of the deadband in S1 or the maximum value of the deadband in S2
from the input value in S3, and stores the difference in D.
If the input value in S3 is smaller than the minimum value of the deadband in S1, the instruction subtracts S1 from
If the input value in S3 is greater than the maximum value of the deadband in S2, the instruction subtracts S2 from
If the input value in S3 is between the minimum of the deadband in S1 and the maximum value of the deadband in
6-403
AS Ser ies Pro gra mm in g M anu al
If the minimum value of the deadband in S1 is larger than the maximum value of the deadband in S2, the
instruction is not executed.
2. Only the 32-bit instructions can use the 32-bit counter, but not the device E.
3. The following graphs show how this instruction uses the deadband.
4. The minimum value of the deadband in S1, the maximum value of the deadband in S2, the input value in S3, and
5. For the BAND instruction, the minimum value of the deadband in S1, the maximum value of the deadband in S2,
the input value in S3, and the output value in D must be between -32768 to 32767. Suppose the minimum value of
_6 the deadband in S1 is 10 and the maximum value of the deadband in S3 is -32768. The instruction calculates the
6. For the DBAND instruction, the minimum value of the deadband in S1, the maximum value of the deadband in S2,
the input value in S3, and the output value in D must be between -2147483648 to 2147483647. Suppose the
minimum value of the deadband in (S1+1, S1) is 1000 and the maximum value of the deadband in (S3+1, S3) is -
=-2147483648-1000=16#80000000-16#000003E8=16#7FFFFC18
=2147482648
6-404
Ch ap te r 6 Ap pl ie d Instruc ti ons
Example 1
When X0.0 is ON, the instruction subtracts -1000 or 1000 from the binary-coded decimal value in X1, and stores the
difference in D1.
500 -1000≦D0≦1000=>D0=0 0
6_
Example 2
When X0.0 is ON, the instruction subtracts -10000 or 10000 from the binary-coded decimal value in (X2, X1), and stores
6-405
AS Ser ies Pro gra mm in g M anu al
(D1,D0)<-10000
=(D1,D0)-(-10000)
(D1,D0)>10000
-10000 10000
12000 =>(D11,D10) 2000
=(D1,D0)-10000
-10000≦(D1,D0)≦10000
5000 0
=>(D1,D0)=0
Additional remarks
If the minimum value of the deadband in S1 is larger than the maximum value of the deadband in S2, the instruction is not
executed, SM0 is ON, and the error code in SR0 is 16#2003.
_6
6-406
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
D
Symbol
S1 : Negative deviation
S2 : Positive deviation
S3 : Input value
D : Output value 6_
Explanation
1. This instruction adds the negative deviation in S1 or the positive deviation in S2 to the input value in S3, and stores
the sum in D.
If the input value in S3 is less than 0, the instruction adds the negative deviation in S1 to the input value in S3, and
If the input value in S3 is larger than 0, the instruction adds the positive deviation in S2 to the input value in S3, and
6-407
AS Ser ies Pro gra mm in g M anu al
2. The following graphs show how this instruction uses the zone:
Positiv e deviation
Negativ e deviation
3. Only the 32-bit instructions can use the 32-bit counter but not the device E.
4. The negative deviation in S1, the positive deviation in S2, the input value in S3, and the output value in D must be
within the range described below.
For the ZONE instruction, the negative deviation in S1, the positive deviation in S2, the input value in S3, and
the output value in D must be between -32768 to 32767. Suppose the negative deviation in S1 is -100 and
the input value in S3 is -32768. The instruction calculates the output value in D as follows.
For the DZONE instruction, the negative deviation in S1, the positive deviation in S2, the input value in S3,
_6
and the output value in D must be between -2147483648 to 2147483647. Suppose the negative deviation in
(S1+1, S1) is -1000 and the input value in (S3+1, S3) is -2147483648. The instruction calculates the output
=-2147483648+(-1000)=16#80000000+16#FFFFFC18=16#7FFFFC18=2147482648
Example 1
When X0.0 is ON, the instruction adds -100 or 100 to the binary-coded decimal value in X1, and stores the sum in D10.
6-408
Ch ap te r 6 Ap pl ie d Instruc ti ons
50 D0>0=>D10=50+100 150
Example 2
When X0.0 is ON, the instruction adds -10000 or 10000 to the binary-coded decimal value in (X2, X1), and stores the
6_
6-409
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
n
D
Symbol
S : First device
n : Number of devices
Explanation
_6
1. This instruction adds up the single precision floating points in the n devices starting from the device specified by S,
divides the sum by the value in n, then stores the mean of the sum in D.
3. Instruction flags: SM600 (zero flag), SM601 (borrow flag), SM602 (carry flag):
If the value while adding or the absolute result of the operation is less than the floating point number that can
If the value while adding or the absolute result of the operation is larger than the floating point number that can
Example
When X0.0 is ON, the instruction adds the values of the 3 single precision floating points in (D1, D0), (D3, D2), (D5, D4)
and then divides the addition result by 3, then stores the result in (D11, D10).
6-410
Ch ap te r 6 Ap pl ie d Instruc ti ons
( D11, D1 0) 11 2.2
(D3, D 2) 113.2
(D5, D 4) 123.3
Additional remarks
1. If the value in n is not between 1–256, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#200B.
2. If S+2*n-1exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
3. If the value in S exceeds the range of floating point numbers that can be shown, the instruction is not executed,
SM0 is ON, and the error code in SR0 is 16#2013.
6_
6 - 4 11
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
n
D
Symbol
S : Data source
n : Data length
D : Operation result
Explanation
_6
1. This instruction adds up the single precision floating points in the n devices starting from the device specified by S,
3. Instruction flags: SM600 (zero flag), SM601 (borrow flag), SM602 (carry flag):
If the value while adding or the absolute result of the operation is less than the floating point number that can
If the value while adding or the absolute result of the operation is larger than the floating point number that can
6-412
Ch ap te r 6 Ap pl ie d Instruc ti ons
S +1 S
S +3 S +2
S +5 S +4 D +1 D
F lo at ing p oi nt nu mb ers n=5
S +7 S +6
F l oatin g po int n umbers
S +9 S +8
Example
The FSUM instruction adds up the values of the 3 single precision floating points in (D1, D0), (D3, D2), (D5, D4) and
Additional remarks
1. If the value in n is not between 1–256, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#200B.
2. If S+2*n-1exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
3. If the value in S exceeds the range of the floating point numbers that can be shown, the instruction is not executed,
SM0 is ON, and the error code in SR0 is 16#2013.
6-413
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
m
n
Symbol
Explanation
1. The parameter m is for you to select a conversion mode from the following table. See the details on modes in the
following sections. If the parameter value is not one of the values in the following table, there will be no data
conversion or move and no error message.
6-414
Ch ap te r 6 Ap pl ie d Instruc ti ons
Parameter Description
0 8-bit data converted into 16-bit data (high 8 bits, low 8 bits)
1 8-bit data converted into 16-bit data (low 8 bits, high 8 bits)
2 16-bit data (high 8 bits, low 8 bits) converted into 8-bit data
3 16-bit data (low 8 bits, high 8 bits) converted into 8-bit data
4 8-bit hex data (high 4 bits, low 4 bits) converted into ASCII data
5 8-bit hex data (low 4 bits, high 4 bits) converted into ASCII data.
6 8-bit ASCII data converted into hex data (high 4 bits, low 4 bits).)
7 8-bit ASCII data converted into hex data (low 4 bits, high 4 bits).
String-type data converted into floating-point data (available for FW V1.08 or later)
18
Floating-point data converted into string-type data (available for FW V1.08 or later)
19
44 Set up the built-in input points filtering time for the PLC
Caculate the relative -position pulse output time in acceleraton and deceleration (available for FW
46
V1.08 or later)
6_
2. n is the setting value of data length. The range of the setting value is 1~256. If the input value exceeds the range,
the PLC will execute the instruction at the minimum or maximum value.
When m=0:
If n=4, the 8-bit data is converted into the 16-bit data (high 8-bits, low 8-bits), the conversion is as the
following figure shows.
Hi-byte Lo-byte
Hi-byte Lo-byte
6-415
AS Ser ies Pro gra mm in g M anu al
When m=1:
If n=4, the 8-bit data is converted into the 16-bit data (low 8-bits, high 8-bits), the conversion is as the
following figure shows.
Hi-byte Lo-byte
Hi-byte Lo-byte
When m=2:
If n=4, the 16-bit data (high 8-bits, low 8-bits) is converted into the 8-bit data, the conversion is as the
following figure shows.
Hi-byte Lo-byte
Hi-byte Lo-byte
_6 When m=3:
If n=2, the 16-bit data (low 8-bits, high 8-bits) is converted into the 8-bit data, the conversion is as the
following figure shows.
Hi-byte Lo-byte
Hi-byte Lo-byte
6-416
Ch ap te r 6 Ap pl ie d Instruc ti ons
When m=4:
If n=3, the 8-bit hex data (high 4-bits, low 4-bits) is converted into the ASCII data and the conversion is as
the following figure shows.
Hi-byte Lo-byte
Hi-byte Lo-byte H
L
H
L
H
L
When m=5:
If n=3, the 8-bit hex data (low 4-bits, high 4-bits) is converted into the ASCII data, the conversion is as the
following figure shows.
Hi-byte Lo-byte
Hi-byte Lo-byte L
H
L
H
L
H
6_
When m=6:
If n=4, the 8-bit ASCII data is converted into the hex data (high 4-bits, low 4-bits), the conversion is as the
following figure shows. ASCII conversion values can be: 0 ~ 9 (0x30~0x39), A ~ F (0x41~0x46), a ~ f
(0x61~0x66).
Hi-byte Lo-byte
Hi-byte Lo-byte
6-417
AS Ser ies Pro gra mm in g M anu al
When m=7:
If n=4, the 8-bit ASCII data is converted into the hex data (low 4-bits, high 4-bits), the conversion is as the
following figure shows.
Hi-byte Lo-byte
Hi-byte Lo-byte
When m=18:
Convert the string value in source device S (Lo-byte) into a floating-point value (operand n; decimal point
Note:
1. The setting value in operand n should be less than 8. If the value you set is exceeding the maximum
value 8, it will be treated as the maximumum value 8. For example if n = k6, when you convert the string
2. If the source value includes not just numeral characters, the non-numeral characters will be treated as 0
_6
when it is shown before the decimal point and it will be treated as the ending character when it is shown
after the decimal point. For example if n = k6, when you convert the string BC12.4K59 into a floating-
3. If there is no decimal point in the string, the string is converted directly into a floating-point value. See
Hi-byte Lo-byte
S+0 ‘1’
S+1 ‘2’
S+2 ‘3’
32-bit Floating value
S+3 ‘.’ D+0
123.456
S+4 ‘4’ D+1
S+5 ‘5’
S+6 ‘6’
S+7 0x00
6-418
Ch ap te r 6 Ap pl ie d Instruc ti ons
When m=19:
Convert the floating-point value in source device S (Lo-byte) into a string value (operand n; decimal point
Note:
1. The setting value in operand n should be less than 8. If the value you set is exceeding the maximum
value 8, it will be treated as the maximumum value 8. For example if n = k6, when you convert the
2. If the source value is bigger than the setting value in the operand n, only the value before the decimal
point will be converted. For example, if the floating point value is F123456.78 and n is k4, the conversion
Hi-byte Lo-byte
D+0 ‘1’
D+1 ‘2’
D+2 ‘3’
32-bit Floating value n = k6
S+0 D+3 ‘.’
123.45678
S+1 D+4 ‘4’
D+5 ‘5’
D+6 ‘6’
D+7 0x00
When m=42: 6_
Operand S1:
S1+4, S1+5: Shift of the center (integer type) or central angle (floating point type)
S1+6, S1+7: Target reference frequency (1~200000Hz; if exceeding the allowable range, the system uses the
(K0, K1, K2: Shift of the center mode; shifts at 10 degree, 5 degree or 1 degree)
Operand D: D+0, D+1: Calculation of the duration of 2-Axis relative-position clockwise arc interpolation; unit:ms
Operand n: Reserved
6-419
AS Ser ies Pro gra mm in g M anu al
When m=43:
Operand S1:
S1+4, S1+5: Shift of the center (integer type) or central angle (floating point type)
S1+6, S1+7: Target reference frequency (1~200000Hz; if exceeding the allowable range, the system uses the
(K0, K1, K2: Shift of the center mode; shifts at 10 degree, 5 degree or 1 degree)
Operand D: D+0, D+1: Calculation of the duration of 2-Axis relative-position anti-clockwise arc interpolation;
unit: ms
Operand n: Reserved
When m=44:
Operand S1: the starting point of PLC input points (K0~K15 X0.0~X0.15)
Operand D: D+0, D+1: Caculate the relative -position pulse output time in acceleraton and deceleration;
unit: ms
Operand n: Reserved
Additional remarks
1. Using the matrix variables of Word data type for S and D is recommended.
6-420
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
SBit
EBit
Symbol
Explanation
1. Set the bit in the zone between SBit and EBit to ON. The type of starting and ending devices should be the same
3. Eexcept T, C and HC devices, this instruction is available for bit-type devices and BOOL type data.
Example
6-421
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
type INT
src
group
column
ref
dst
Symbol
_6
group : Number of rows of data
Explanation
6. This instruction stores the data to be sorted in the group×columnx2 registers starting from the register specified
by dst. If src and dst specify the same register, the sorted data is the same as the original data in the register
specified by src.
7. The operand group must be between 1–32. The operand column must be between 1–6. The operand ref must be
between 1– column.
6-422
Ch ap te r 6 Ap pl ie d Instruc ti ons
8. When SM604 is OFF, the instruction sorts the data in ascending order. When SM604 is ON, the instruction sorts
9. It is suggested that you use the pulse type instruction, FSORTP, instead of sorting repeatedly.
Example
5. Suppose SM604 is OFF. When X0.0 switches from OFF to ON, the instruction sorts the data in ascending order.
Column 1 2 3 4 5 6_
Student
Chinese English Math Physics
Row number
1 (D0,D1) 1.0 (D10,D11) 90.0 (D20,D21) 75.0 (D30,D31) 66.0 (D40,D41) 79.0
Number of rows of data:
2 (D2,D3) 2.0 (D12,D13) 55.0 (D22,D23) 65.0 (D32,D33) 54.0 (D42,D43) 63.0
group x 2
3 (D4,D4) 3.0 (D14,D15) 80.0 (D24,D25) 98.0 (D34,D35) 89.0 (D44,D45) 90.0
4 (D6,D7) 4.0 (D16,D17) 70.0 (D26,D27) 60.0 (D36,D37) 99.0 (D46,D47) 50.0
5 (D8,D9) 5.0 (D18,D19) 95.0 (D28,D29) 79.0 (D38,D39) 75.0 (D48,D49) 69.0
6-423
AS Ser ies Pro gra mm in g M anu al
7. When the value in D100 is 3, the data is sorted as in the following table.
Column 1 2 3 4 5
Student
Chinese English Math Physics
Row number
1 (D50,D51) 4.0 (D60,D61) 70.0 (D70,D71) 60.0 (D80,D81) 99.0 (D90,D91) 50.0
Number of rows of data:
2 (D52,D53) 2.0 (D62,D63) 55.0 (D72,D73) 65.0 (D82,D83) 54.0 (D92,D93) 63.0
group x 2
3 (D54,D55) 1.0 (D64,D65) 90.0 (D74,D75) 75.0 (D84,D85) 66.0 (D94,D95) 79.0
4 (D56,D57) 5.0 (D66,D67) 95.0 (D76,D77) 79.0 (D86,D87) 75.0 (D96,D97) 69.0
5 (D58,D59) 3.0 (D68,D69) 80.0 (D78,D79) 98.0 (D88,D89) 89.0 (D98,D99) 90.0
Column 1 2 3 4 5
Student
_6 Row
Chinese English Math Physics
number
1 (D50,D51) 4.0 (D60,D61) 70.0 (D70,D71) 60.0 (D80,D81) 99.0 (D90,D91) 50.0
Number of rows of data:
2 (D52,D53) 2.0 (D62,D63) 55.0 (D72,D73) 65.0 (D82,D83) 54.0 (D92,D93) 63.0
group x 2
3 (D54,D55) 5.0 (D64,D65) 95.0 (D74,D75) 79.0 (D84,D85) 75.0 (D94,D95) 69.0
4 (D56,D57) 1.0 (D66,D67) 90.0 (D76,D77) 75.0 (D86,D87) 66.0 (D96,D97) 79.0
5 (D58,D59) 3.0 (D68,D69) 80.0 (D78,D79) 98.0 (D88,D89) 89.0 (D98,D99) 90.0
Additional remarks
3. If value in the the device exceeds the range, the instruction is NOT executed, SM0 is ON, and the error code in
SR0 is 16#2003.
4. If the value in group, column, or ref exceeds the range, the instruction is NOT executed, SM0 is ON, and the error
code in SR0 is 16#200B.
5. If the value in src exceeds the range of a floating-point value, the instruction is NOT executed, SM0 is ON, and the
error code in SR0 is 16#2013.
6-424
Ch ap te r 6 Ap pl ie d Instruc ti ons
6_
6-425
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
Symbol
Explanation
_6
6-426
Ch ap te r 6 Ap pl ie d Instruc ti ons
Symbol
Explanation
1. This instruction executes the program between the FOR and NEXT instructions N times, where N is the value in S
specified for the FOR instruction (API 1300). After the program between the FOR and NEXT instructions is
executed N times, the program following the NEXT instruction is executed. The instruction FOR specifies the
number of times the program between the FOR and NEXT instructions is executed.
3. If you do not want to execute the program between the FOR and NEXT instructions, you can skip it with the CJ
The number of times the FOR instruction is used in the program is different from the number of times the
5. The FOR and NEXT instructions support the nested program structure. There can be at most 32 levels of nested
program structures. If a loop is executed many times, it takes more time for the PLC to scan the program, and the
watchdog timer error may occur. You can use the WDT instruction (API 1900) to resolve the problem.
6-427
AS Ser ies Pro gra mm in g M anu al
Example 1
After program A is executed three times, the program following the instruction NEXT is executed. Program B is executed
four times every time program A is executed. Therefore, program B is executed twelve times in total.
Example 2
When X0.0 is OFF, the program between FOR and NEXT is executed. When X0.0 is ON, the CJ instruction is executed.
_6 The execution of the program jumps to LABEL 1:, i.e. network 6, and network 4–5 are not executed.
6-428
Ch ap te r 6 Ap pl ie d Instruc ti ons
Example 3
If the program between FOR and NEXT is not to be executed, you can skip it with the CJ instruction. When X0.1 in
network 8 is ON, the instruction CJ is executed. The execution of the program jumps to LABEL 1:, i.e. network 12, and
6_
6-429
AS Ser ies Pro gra mm in g M anu al
_6
6-430
Ch ap te r 6 Ap pl ie d Instruc ti ons
Additional remarks
Refer to the ISPSoft User Manual for more information on using labels.
6_
6-431
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
D
Symbol
Device where the remaining number
D : of times the loop can be executed is
stored
Explanation
1. This instruction terminates the FOR/NEXT loop. The remaining number of times the FOR/NEXT loop can be
repeated is stored in D. After the loop has executed D times, the program jumps to the NEXT instruction and
executes the instruction after the NEXT instruction.
_6
2. When the instruction is executed, the remaining number of times the FOR/NEXT loop can be repeated is stored in
3. When the BREAK instruction is executed for the first time to terminate the FOR/NEXT loop, the program does not
jump out of the FOR/NEXT loop to execute the next instruction. If the BREAK instruction is executed more than one
time to terminate the FOR/NEXT loop, the program jumps to the NEXT instruction and executes the instruction
Example
When the FOR/NEXT loop is executed, 1 is added to the value in D0. When the value in D0 is equal to 30, the
FOR/NEXT loop is terminated, and the remaining number of times the FOR/NEXT loop can be repeated, i.e. 71, is stored
in D10. The execution of the program jumps to LABEL 1:, i.e. network 6, and 1 is added to the value in D2.
6-432
Ch ap te r 6 Ap pl ie d Instruc ti ons
6_
Additional remarks
1. If the instruction BREAK is outside the FOR/NEXT loop, it causes an operation error, the instruction is not
executed, SM0 is ON, and the error code in SR0 is 16#2017.
2. Refer to the ISPSoft User Manual for more information on using labels.
6-433
AS Ser ies Pro gra mm in g M anu al
1400 FROM DFROM Reading data from the control register in an extension module
1401 TO DTO Writing data into the control register in an extension module
6-434
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
m1
m2
m3
D1
D2
n
Symbol 6_
CPU module number or the remote
m1 :
extension module number
Order numbers of the extension
m2 :
number
n : Data length
6-435
AS Ser ies Pro gra mm in g M anu al
Explanation
1. This instruction reads data from the control register in an extension module. All registers are listed and detailed in
the AS Series Module Manual.
2. The value in m1 must be between 0–16. Zero represents the CPU module, and 1–16 represent the extension
modules.
3. The operand m2 represents the number of the right-side extension modules that are connected to the CPU module
or to the remote modules. The first device is number 1, the second device is number 2 and so on. Any types of
5. The FROM instruction sets D2 to 0. When an error occurs, the instruction does not set D2 to 0. Refer to the
Additional remarks below for more information about the error codes. When the instruction is not executed, D2
does not contain an error code.
7. Only the 32-bit instructions can use the 32-bit counter, but not the device E.
Example
When X0.0 is switched from OFF to ON, the instruction reads the data stored in CR#2 from the right side of the first
_6 module and stores the data in D100. If no error occurs, the code in D110 is 16#0000.
Additional remarks
1. If the values in m1 and m2 exceed their range, an operation error occurs, the instruction is not executed, SM0 is
ON, and the error code in SR0 is 16#2003.
2. If D1 to D1+n-1 exceed the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
3. If the value in n exceeds the range, the operation error occurs, the instruction is not executed, SM0 is ON, and the
error code in SR0 is 16#200B.
6-436
Cha p ter 6 App l ied Ins truc tio ns
4. Due to the fact that the FROM instruction decreases the execution efficiency of both the CPU module and the I/O
module, it is suggested that you use the pulse type instruction to perform a single trigger as in the example shown
above.
5. If there is any error response from the modules, the instruction stores the error code in D2. The error code
descriptions shown in the following table.
Attempted to read the data from the control register (CR) in the module but no such CR
16#1400
number exists.
6_
6-437
AS Ser ies Pro gra mm in g M anu al
m1
m2
m3
S
D
n
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
m1
m2
m3
S
D
n
_6 Symbol
6-438
Cha p ter 6 App l ied Ins truc tio ns
Explanation
1. This instruction writes data to the control register in an extension module. All registers are listed and detailed in the
2. The value in m1 must be between 0–16. Zero represents the CPU module, and 1–16 represent the extension
modules.
3. The operand m2 represents the number of the right-side extension modules that are connected to the CPU module
or to the remote modules. The first device is number 1, the second device is number 2 and so on. Any types of
5. The TO instruction sets D to 0. When an error occurs, the instruction does not set D2 to 0. Refer to the Additional
remarks below for more information about the error codes. When the instruction is not executed, D does not
contain an error code.
7. Only the 32-bit instructions can use the 32-bit counter, but not the device E.
8. When S is a hexadecimal value, the instruction transmits n hexadecimal values to the I/O module. Supposing S is
16#0001 and n is 3. The instruction transmits three 16#0001s to the I/O module.
6_
Example
When X0.0 switches from OFF to ON, the TO instruction writes the data stored in D100 to CR#2 in the right side of the
6-439
AS Ser ies Pro gra mm in g M anu al
Additional remarks
1. If the values in m1 and m2 exceed their range, an operation error occurs, the instruction is not executed, SM0 is
ON, and the error code in SR0 is 16#2003.
2. If D1-D1+n-1 exceed the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
3. If the value in n exceeds the range, the operation error occurs, the instruction is not executed, SM0 is ON, and the
error code in SR0 is 16#200B.
4. Due to the fact that the TO instruction decreases the execution efficiency of both the CPU module and the I/O
module, it is suggested that you use the pulse type instruction to perform a single trigger as in the example shown
above.
5. If there is any error response from the modules, the instruction stores the error code in D2. The error code
descriptions are shown in the following table.
Attempted to read the data from the control register (CR) in the module but no such CR
16#1400
number exists.
6-440
Cha p ter 6 App l ied Ins truc tio ns
Module
Axis
Mode
SSpeed
Atime
Dtime
MSpeed
Z_no
Offset
Done
Error
ErrCode
DWORD
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
Module
Axis 6_
Mode
SSpeed
Atime
Dtime
Mspeed
Z_no
Offset
Done
Error
ErrCode
6-441
AS Ser ies Pro gra mm in g M anu al
Symbol
Explanation
1. This instruction is available for PLC with FW V1.08.00 or later. For ISPSoft, we recommend using software version
3.12 and above. The timing to set this instruction is when the En setting changes from OFF to ON.
2. Module sets the serial number of modules at the right of the PLC. The first one is number 1, the second one is
number 2 and so on. Whatever modules at the right of the PLC must be numbered. The maximum number is 32.
The instruction is exclusive to the PU modules at the right of the PLC and is not applicable to the PU modules at the
right of the remote module. If the specified module is not a PU module, the error flag Error will change to ON.
_6
3. Axis sets the output axis number for the specified PU module. The setting values 1~4 represent the axis1~axis4
output of the specified PU module respectively. If the PU module has no corresponding axis number for output, the
See the following combination of axis numbers and corresponding output points of PU modules.
4. Mode sets the output mode of an output axis and the setting values are explained in the following table.
Output mode
Description Remark
value
1 Pulse (An even-number point) + direction E.g. Y0.0 is for the pulse and Y0.1 is for the
6-442
Cha p ter 6 App l ied Ins truc tio ns
CW (An even-number point) + CCW (An E.g. Y0.0 is for CW (positive direction) and
2
odd-number point) Y0.1 is for CCW (negative direction)
Phase A (An even-number point) + Phase B phase B. When phase A is leading phase B:
3
(An odd-number point) positive direction; when phase B is leading
5. SSpeed~ Offset
See the explanation of the following non-latched parameters and setting values. If the setting values exceed the
range, the instruction will automatically be executed at the minimum or maximum value.
6. Done, an output of the specified PU module has been set as the completion flag. When Done is On, it indicates
that the parameter setting is successful. You can continue to perform positioning output based on the state of the
completion flag (ON). The clearing of the Done flag need be conducted by manual. The Done flag changes to ON
only when the setting is completed.
7. Error, an output of the specified PU module is a parameter error flag. Most parameter ranges are filtered
automatically by the PLC. Thus if the error flag is ON, it means that there is no specified PU module or the PU
6-443
AS Ser ies Pro gra mm in g M anu al
8. The instruction is a pulse instruction. Even if the A contact is adopted as the condition contact, PU module
parameters are also set only when the instruction is started. Therefore, if a parameter value is to be updated,
9. Since the set parameters are delivered through the module communication command, confirm the state of the
output Done or Error before a parameter value is modified and then proceed with relevant operations.
16#1401 The data stored in the module is illegal or exceeds the allowed range.
Programming Example: Refer to the description of DPUDRI instruction (API 1405) for more information.
_6
6-444
Cha p ter 6 App l ied Ins truc tio ns
Module
Axis
ZeroS
C_Posi
Execute
Pause
Error
ErrCode
DWORD
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
Module
Axis
ZeroS
C_Posi
Execute
Pause
Error
6_
ErrCode
Symbol
6-445
AS Ser ies Pro gra mm in g M anu al
Explanation
1. This instruction is available for PLC with FW V1.08.00 or later. For ISPSoft, we recommend using software version
3.12 and above. The En setting must be set to ON so as to update the status of the selected axes continuously.
2. Module sets the serial number of modules at the right of the PLC. The first one is number 1, the second one is
number 2 and so on. Whatever modules at the right of the PLC must be numbered. The maximum number is 32.
The instruction is exclusive to the PU modules at the right of the PLC and is not applicable to the PU modules at the
right of the remote module. If the specified module is not a PU module, the error flag Error will change to ON.
3. Axis sets the output axis number for the specified PU module. The setting values 1~4 represent the axis1~axis4
output of the specified PU module respectively. If the PU module has no corresponding axis number for output, the
4. C_Posi sets the present position of the output axis for the specified PU module. The parameter value is a latched
value and stored in the PU module. If the value is to be cleared to 0, set ZeroS from OFF to ON when the instruction
is started.
5. Execute is an only-read flag which means the output axis of the specified PU module is outputting or not. When
Execute is On, it means the output is being conducted. When Execute is Off, it means the output axis is unused
and can accept the next output command.
6. Pause is an only-read flag to control the output axis of the specified PU module to pause its output. When Pause is
On, it means the output is paused, the present velocity is 0 and the present output has not reached the specified
target output position. If you restore the output, the flag will be cleared automatically.
7. Error is an only-read error flag which means an error occurs during the reading of the specified PU module. Refer
8. After the PUSTAT instruction gives the pause command, the flags Execute, Pause and Error become read-only
flags and at the moment, their states cannot be modified. The Execute, Pause and Error flags can be set or cleared
only when the PUSTAT instruction is turned off.
9. ErrCode shows error codes and the explanations are seen in the following table.
16#1401 The data stored in the module is illegal or exceeds the allowed range.
The output axis specified by the PU module is outputting data. It is not allowed to specify
16#1405
the output repeatedly.
Programming Example: Refer to the description of DPUDRI instruction (API 1405) for more information.
6-446
Cha p ter 6 App l ied Ins truc tio ns
Module
Axis
TarPulse
TarSpeed
Done
Error
ErrCode
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
Data type
Module
Axis
TarPulse
TarSpeed
Done
Error
ErrCode
Symbol
Explanation
1. This instruction is available for PLC with FW V1.08.00 or later. For ISPSoft, we recommend using software version
3.12 and above. When En setting is set to ON, this instruction would be effective. Once the setting changes to OFF,
2. Module sets the serial number of modules at the right of the PLC. The first one is number 1, the second one is
number 2 and so on. Whatever modules at the right of the PLC must be numbered. The maximum number is 32.
6-447
AS Ser ies Pro gra mm in g M anu al
The instruction is exclusive to the PU modules at the right of the PLC and is not applicable to the PU modules at the
right of the remote module. If the specified module is not a PU module, the error flag Error will change to ON.
3. Axis sets the output axis number for the specified PU module. The setting values 1~4 represent the axis1~axis4
output of the specified PU module respectively. If the PU module has no corresponding axis number for output, the
4. TarPulse sets the number of output pulses. The pulse number is a positive signed 32-bit value. When the value is
0, it means the output is always being performed, the number of output pulses is not limited and the output is not
stopped until the instruction is disabled. When the value is less than 0, the PLC automatically uses 2s complement
to transform the value into a positive integer as the number of output pulses.
5. TarSpeed sets the target output speed (Unit: Hz). The input value is a signed 32-bit. You can modify the target
frequency any time after the instruction is enabled and the PU module will automatically switch to the newly set target
Note: Before the target frequency is changed, please take into consideration whether the modified speed and PLC
6. When TarSpeed is a positive number (>0), it means that the “positive direction” output point is Off. When TarSpeed
is a negative number (<0), it means that the “negative direction” output point is On. When TarSpeed is 0, it means
that the output will be paused after the being executed pulse is output fully.
_6 7. The instruction does not support the function of acceleration and deceleration. Use the DPUDRI instruction instead
8. The instruction can be used for the speed change. While the instruction is being executed, you can change the value
9. When the outputs have reached the pulse number specified by TarPulse, the Done flag changes to ON. The Done
flag need be cleared by manual. The instruction sets the completion flag to ON only when the output is completed.
10. If any error occurs as the instruction is in process of the output, the Error flag changes to ON. Refer to the error
The error codes that ErrCode shows are listed in the following table.
6-448
Cha p ter 6 App l ied Ins truc tio ns
16#1401 The value stored in the module is illegal or exceeds the allowed range.
The output axis specified by the PU module is outputting data. It is not allowed to specify the
16#1405
output repeatedly.
16#1406 PU module stops Output pulse when the positive limit is reached.
16#1407 PU module stops Output pulse when the negative limit is reached.
Programming Example
1. Set the output point of AS02PU to be “Pulse Y0.0+ direction Y0.1” in HWCONFIG. All parameters of axis 1 are set
as default.
2. When M0=ON, execute DPUPLS on axis 1, outputting 20,000 pulses from Y0.0 at a frequency of 2kHz (without
acceleration and deceleration). When Y0.1=OFF, the direction is positive.
6-449
AS Ser ies Pro gra mm in g M anu al
Module
Axis
RTarPosi
TarSpeed
Done
Error
ErrCode
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
Data type
Module
Axis
RTarPosi
TarSpeed
Done
Error
ErrCode
Symbol
Module : Module number
Axis : Output axis number
RTarPosi : Number of output pulses for relative positioning
TarSpeed : Target output frequency
Done : Completion flag
Error : Error flag
ErrCode : Error code
Explanation
1. This instruction is available for PLC with FW V1.08.00 or later. For ISPSoft, we recommend using software version
3.12 and above. When En setting is set to ON, this instruction would be effective. Once the setting changes to OFF,
2. Module sets the serial number of modules at the right of the PLC. The first one is number 1, the second one is
number 2 and so on. Whatever modules at the right of the PLC must be numbered. The maximum number is 32.
The instruction is exclusive to the PU modules at the right of the PLC and is not applicable to the PU modules at the
right of the remote module. If the specified module is not a PU module, the error flag Error will change to ON.
6-450
Cha p ter 6 App l ied Ins truc tio ns
3. Axis sets the output axis number for the specified PU module. The setting values 1~4 represent the axis1~axis4
output of the specified PU module respectively. If the PU module has no corresponding axis number for output, the
4. RTarPosi sets the position for relative positioning. The pulse number is a signed 32-bit value. When the value is
greater than 0, the output will go in the positive direction (and the direction output point is off). When the value is less
than 0, the output will go in the negative direction (and the direction output point is on). When the value is 0, the
5. TarSpeed sets the target output frequency (Unit: Hz). The frequency value is a positive signed 32-bit integer. When
the value is less than 0, the instruction will automatically use 2’s complement to transform the value into a positive
integer. When the value is 0, the instruction will notify the module to enter the pause mode. The actual output is
decelerated at the deceleration rate till the output speed is equal to 0 and the pause flag changes to ON. Refer to
6. After the output is started, the target frequency is allowed to change any time. In the actual frequency change, the
PLC will automatically change the frequency based on the set acceleration and deceleration rate in the DPUCONF
instruction.
7. When the outputs have reached the pulse number for relative positioning specified by RTarPosi, the Done flag
changes to ON. The Done flag need be cleared by manual. The instruction sets the completion flag to ON only when
the output is completed. 6_
8. If any error occurs as the instruction is in process of the output, the Error flag changes to ON. Refer to the error
9. The error codes that ErrCode shows are listed in the following table.
16#1401 The data stored in the module is illegal or exceeds the allowed range.
While the output axis specified by the PU module is outputting data, it is not allowed to
16#1405
specify the output repeatedly.
16#1406 PU module stops Output pulse when the positive limit is reached.
16#1407 PU module stops Output pulse when the negative limit is reached.
6-451
AS Ser ies Pro gra mm in g M anu al
10. Illustration of the acceleration and deceleration curve of the DPUDRI instruction
Freq.
Time
Pulse No.
: Maximum output frequency value. Refer to the setting in the DPUCONF instruction for the parameter setting.
: The target frequency specified by the PU module output instruction. The target frequency output must not exceed
the maximum output frequency. If the maximum output frequency is exceeded, the maximum output frequency is
: Starting/ending output frequency value. Refer to the setting in the DPUCONF instruction for the parameter setting.
: The acceleration time value. Refer to the setting in the DPUCONF instruction for the parameter setting.
_6
Alternatively, set the parameter value through HWCONFIG.
: The deceleration time value. Refer to the setting in the DPUCONF instruction for the parameter setting.
The acceleration and deceleration that the PU module controls is performed according to the fixed slope. So the
actual acceleration time and deceleration time change based on the output target frequency. The formula for
calculation of acceleration rate and deceleration rate are respectively shown as follows.
Programming Example:
1. Configure parameters of AS02PU module in HWCONFIG. Set “Axis 1, DOG, Rising-edge triggered” for input point
X0.0, “Axis 1, Z phase, Rising-edge triggered” for input point X0.1 and “Phase A Y0.0+ Phase B Y0.1” for output point.
6-452
Cha p ter 6 App l ied Ins truc tio ns
2. When M10 is set to ON, DPUCONF instruction would be executed for axis1 to change the output setting to 1 (Pulse
Y0.0+ Direction Y0.1) in Mode. Set SSpeed (the speed for starting) to 200Hz, Atime (acceleration time) to 200 ms,
Dtime (deceleration time) to 200ms, MSpeed (maximum output frequency) to 100kHz, Z_NO (Number of Z phases to
look for after returning to the home position) to 1, offset (the number of outputs after returning to the home position) to
-100, and set M11 to ON when the Done flag changes to ON.
3. When M0=ON, execute PUSTAT on axis1 to read the PU module output state. To clear current output position, you
can set M1 to ON so the current position of (rising-edge triggered) D0 on axis1 would be clear to 0.
4. When M20=ON, execute DPUZRN to perform homing on axis1 and execute DPUSTAT to display the current position
in D0. The output point Y0.0 outputs pulses at 1 kHz frequency to search home in positive direction. Once the near
home signal (DOG) is reached and X0.0=ON, the axis starts decelerating and moving in the negative direction in the
Jogspeed of 100Hz. When X0.0=OFF, the axis moves in the positive direction to search for Z phase until the first
rising-edge triggered signal of X0.1 (Z phase) is detected, then moves in negative direction after 100 output pulses
are complete. Finally, M21 would change to ON after the Done flag changes to ON.
5. Once M30=ON, DPUDRI would be executed on axis 1 to perform relative positioning output. And execute DPUSTAT
to display the current position in D0. And from there, the output point Y0.0 outputs 20,000 pulses at 2 kHz frequency
(relative addressing). If Y0.1=OFF, the direction is positive. Execute DPUSTAT to display the current position in D0.
Finally, M31 would change to ON after the Done flag changes to ON.
6_
6-453
AS Ser ies Pro gra mm in g M anu al
_6
6-454
Cha p ter 6 App l ied Ins truc tio ns
Module
Axis
ATarPosi
TarSpeed
Done
Error
ErrCode
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
Data type
Module
Axis
ATarPosi
TarSpeed
Done
Error
ErrCode
Symbol
6-455
AS Ser ies Pro gra mm in g M anu al
Explanation
1. This instruction is available for PLC with FW V1.08.00 or later. For ISPSoft, we recommend using software version
3.12 and above. When En setting is set to ON, this instruction would be effective. Once the setting changes to OFF,
2. ATarPosi is the position for absolute addressing. The input pulse number is a signed 32 bit value. The PU module
will automatically compare it with the present position. If the comparison result is greater than 0, the output will be
conducted in the positive direction (and the direction output point is off). If the comparison result is less than 0, the
output will be conducted in the negative direction and the direction output point is on). When the value is 0, the
Programming Example:
1. Configure parameters of AS02PU module in HWCONFIG. Set “Pulse Y0.0+ Direction 0.1” for input point X0.0. Other
2. When M0=ON, execute DPUDRA on axis 1 to output pulses from Y0.0 at 2kHz frequency before the current position
_6
6-456
Cha p ter 6 App l ied Ins truc tio ns
Module
Axis
Mode
TarSpeed
JogSpeed
Done
Error
ErrCode
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
Data type
Module
Axis
Mode
TarSpeed
JogSpeed
Done
Error
6_
ErrCode
Symbol
Explanation
1. This instruction is available for PLC with FW V1.08.00 or later. For ISPSoft, we recommend using software version
3.12 and above. When En setting is set to ON, this instruction would be effective. Once the setting changes to OFF,
Output pulse would stop immediately even if the homing action is not completed.
6-457
AS Ser ies Pro gra mm in g M anu al
2. Module sets the serial number of modules at the right of the PLC. The first one is number 1, the second one is
number 2 and so on. Whatever modules at the right of the PLC must be numbered. The maximum number is 32.
The instruction is exclusive to the PU modules at the right of the PLC and is not applicable to the PU modules at the
right of the remote module. If the specified module is not a PU module, the error flag Error will change to ON.
3. Axis sets the output axis number for the specified PU module. The setting values 1~4 represent the axis1~axis4
output of the specified PU module respectively. If the PU module has no corresponding axis number for output, the
4. Mode sets a homing mode. The explanation of modes is shown in the following table.
direction.
After the execution of Mode 2 completes, seek input the number of Z phases.
4
the number of Z phases.
offset positon.
255 Modify the current output position for the axis. None Use the setting value of TarSpeed
Other Reserved
6-458
Cha p ter 6 App l ied Ins truc tio ns
Note 1: The specified homing behavior may not be realized if the input points for the selected mode are not used
FW V1.02.00: after the execution of this instruction, the current output position of the axis will not be cleared to zero.
FW V1.02.10 or later: after the execution of this instruction, the current output position of the axis will be cleared to
zero automatically.
V1.02.00: after the execution of this instruction, the current output position of the axis will not be cleared to zero. You
need to use Mode 255 to modify the current output position to clear it.
V1.02.10 or later: after the execution of this instruction, the current output position of the axis will be cleared to zero
automatically.
5. TarSpeed sets the maximum output frequency for the homing when the mode value is set from 1 to 8. The setting
value is a signed 32-bit value. The negative and positive signs indicate the initial direction of homing.
The corresponding values in TarSpeed for the modules AS02/04PU are listed below.
6. JogSpeed is the jog frequency for reaching the home position. The setting value is a signed 16 bit value within the
range of 1~10,000 (Hz).
7. When the specified operation is complete during the execution of the instruction, the Done flag changes to ON. The
Done flag need to be cleared manually. The instruction sets the completion flag to ON only when the output is
completed.
8. If any error occurs as the instruction is in process of the output, the Error flag changes to ON. Refer to the error
codes that ErrCode shows for the trouble shooting.
9. The error codes that ErrCode shows are listed in the following table.
16#1401 The data stored in the module is illegal or exceeds the allowed range.
6-459
AS Ser ies Pro gra mm in g M anu al
The output axis specified by the PU module is outputting data. It is not allowed to
16#1405
specify the output repeatedly.
16#1406 PU module stops Output pulse when the positive limit is reached.
16#1407 PU module stops Output pulse when the negative limit is reached.
Programming Example: Refer to the description of DPUDRI instruction (API 1405) for more information.
_6
6-460
Cha p ter 6 App l ied Ins truc tio ns
Module
Axis
JogSpeed
Busy
Error
ErrCode
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
Data type
Module
Axis
JogSpeed
Busy
Error
ErrCode
Symbol 6_
Module : Module number
Explanation
1. This instruction is available for PLC with FW V1.08.00 or later. For ISPSoft, we recommend using software version
3.12 and above. When En setting is set to ON, this instruction would be effective. Once the setting changes to OFF,
2. Module sets the serial number of modules at the right of the PLC. The first one is number 1, the second one is
number 2 and so on. Whatever modules at the right of the PLC must be numbered. The maximum number is 32.
The instruction is exclusive to the PU modules at the right of the PLC and is not applicable to the PU modules at the
right of the remote module. If the specified module is not a PU module, the error flag Error will change to ON.
6-461
AS Ser ies Pro gra mm in g M anu al
3. Axis sets the output axis number for the specified PU module. The setting values 1~4 represent the axis1~axis4
output of the specified PU module respectively. If the PU module has no corresponding axis number for output, the
4. JogSpeed sets the jog output frequency. The setting value is a signed 32 bit value. When the value is greater than
0, the output will go in the positive direction (and the direction output point is off). When the value is less than 0, the
output will go in the negative direction (and the direction output point is on). When the value is 0, the output will stop.
The value of JogSpeed can be modified while performing outputs, and the setting range is shown as follows.
5. If any error occurs as the instruction is in process of the output, the Error flag changes to ON. Refer to the error
codes that ErrCode shows for the trouble shooting.
6. The error codes that ErrCode shows are listed in the following table.
16#1401 The data stored in the module is illegal or exceeds the allowed range.
16#1406 PU module stops Output pulse when the positive limit is reached.
16#1407 PU module stops Output pulse when the negative limit is reached.
7. See the output timing diagram as below. (Jog_in is the switch to start the instruction En and the Busy flag is the
Busy flag.)
Jog _in
Bu sy fl ag
JogSpeed > 0 I ncrease Decrease
0 Time
8. After the PUJOG instruction is disabled and the Busy flag is off, other output control can be carried out.
6-462
Cha p ter 6 App l ied Ins truc tio ns
Programming Example
1. Configure parameters of AS02PU module in HWCONFIG. Set “Pulse Y0.0+ Direction 0.1” for the output point.
2. When M0=ON, execute DPUJOG on axis 1 to perform jog outputs. Pulses would be output from Y0.0 at 1kHz
6_
6-463
AS Ser ies Pro gra mm in g M anu al
Module
Axis
InMode
InPulse
InSpeed
Rate
OPulse
OSpeed
Error
ErrCode
DWORD
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
Module
Axis
InMode
InPulse
_6
InSpeed
Rate
OPulse
OSpeed
Error
ErrCode
6-464
Cha p ter 6 App l ied Ins truc tio ns
Symbol
Explanation
1. This instruction is available for PLC with FW V1.08.20 or later. For ISPSoft, we recommend using software version
3.12 and above.
2. The PUMPG instruction is only applicable to AS02PU module and the firmware for the module must be V1.04.00 or
above. When En setting is set to ON, this instruction would be effective. Once the setting changes to OFF, Output
3. Module sets the serial number of modules at the right of the PLC. The first one is number 1, the second one is
number 2 and so on. Whatever modules at the right of the PLC must be numbered. The maximum number is 32.
The instruction is exclusive to the PU modules at the right of the PLC and is not applicable to the PU modules at the
6_
right of the remote module. If the specified module is not a PU module, the error flag Error will change to ON.
4. Axis sets the output axis number for the specified PU module. The setting values 1~4 represent the axis1~axis4
output of the specified PU module respectively. If the PU module has no corresponding axis number for output, the
5. InMode sets the input mode of the encoder source and the frequency multiplication for counting.
6-465
AS Ser ies Pro gra mm in g M anu al
16#0003 Reserved
Others Reserved
6. InPulse displays the number of already input pulses, which is a signed 32-bit value. Every time the instruction is
started, the PU module will automatically clear the value to 0 and then starts counting.
_6 7. InSpeed displays the already detected input frequency which is a 32-bit value. The basic time for the frequency
detection is 20ms. Therefore, the detected input frequency is 0 if there is no counting value within 20ms. If there is
a counting value within 20ms, the output starts at the minimum frequency of 50Hz. Even if OSpeed value is lower
than 50Hz through the Rate-value-based conversion, the output is still conducted at 50Hz.
8. Rate is the input / output rate and the value is a floating point number. The number of actual output pulses and
frequency are respectively equal to the input pulse number and frequency multiplied by the rate value.
For example: The input frequency is 100Hz and rate is 0.5. So the output frequency is 100x0.5=50Hz. If the
maximum output frequency after conversion exceeds 100KHz, the output frequency is limited to 100KHz.
Note: The long-time maximum frequency output may lead to the fact that as the MPG has stopped running, the
number of outputs is still increased and the output need keep going until it is complete.
9. OPulse shows the number of pulses which have been output. OSpeed displays the frequency at which the output
is being conducted. They are signed 32-bit values.
10. When the DPUMPG instruction is disabled, check the frequency at which the output is being conducted and see if it
has reached 0. If the instruction is disabled before the frequency reaches 0, the PU module will stop the output
immediately and the output of the pulses which are counted based on the conversion rate will not continue any more.
6-466
Cha p ter 6 App l ied Ins truc tio ns
11. The error codes that ErrCode shows are listed in the following table.
16#1401 The data stored in the module is illegal or exceeds the allowed range.
The output axis specified by the PU module is outputting data. It is not allowed to
16#1405
specify the output repeatedly.
16#1406 PU module stops Output pulse when the positive limit is reached.
16#1407 PU module stops Output pulse when the negative limit is reached.
12. When the DPUMPG instruction is enabled or disabled, the PLC will have to notify the module to enable or disable
the high-speed counter function. Thus the instruction can not be used with API1410 DPUCNT together. Otherwise it
may occur that the two instructions enable or disable the counting of the module with each other.
6_
6-467
AS Ser ies Pro gra mm in g M anu al
Module
InMode
Period
ZeroS
InPulse
InSpeed
Error
ErrCode
DWORD
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
Module
InMode
Period
ZeroS
InPulse
InSpeed
_6 Error
ErrCode
Symbol
6-468
Cha p ter 6 App l ied Ins truc tio ns
Explanation
1. This instruction is available for PLC with FW V1.08.00 or later. For ISPSoft, we recommend using software version
3.12 and above.
2. The DPUCNT instruction supports AS02PU module only. When En setting is set to ON, this instruction would be
effective. Once the setting changes to OFF, the counting would be stopped immediately.
3. Module sets the serial number of modules at the right of the PLC. The first one is number 1, the second one is
number 2 and so on. Whatever modules at the right of the PLC must be numbered. The maximum number is 32.
The instruction is exclusive to the PU modules at the right of the PLC and is not applicable to the PU modules at the
right of the remote module. If the specified module is not a PU module, the error flag Error will change to ON.
4. InMode sets the input mode of the encoder source and the frequency multiplication for counting.
Input Modes
Value
Input mode; set as the following values, otherwise the module will use the defaults to run.
16#0000 Reserved
16#0003 Reserved
Others Reserved
5. Period is the setting value of a cycle time for capturing the frequency within the range of 10ms ~ 1000ms. If the
setting value exceeds the range, the maximum value or minimum value will be automatically taken as the setting
6-469
AS Ser ies Pro gra mm in g M anu al
6. InPulse is the number of already input pulses, which is a signed 32-bit value. The counting value is a latched value.
If the value need be cleared to 0, just set ZeroS from OFF to ON while the instruction is running.
7. InSpeed displays the counting value for every Period time, which is a signed 32-bit value. If you need convert it into
the value with the unit of Hz, use the calculation formula for conversion by yourself.
8. The error codes that ErrCode shows are listed in the following table.
16#1401 The data stored in the module is illegal or exceeds the allowed range.
9. When the DPUCNT instruction is enabled or disabled, the PLC will have to notify the module to enable or disable
the high-speed counter function. Thus the instruction can not be used with API1409 DPUMPG together. Otherwise
it may occur that the two instructions enable or disable the counting of the module with each other.
Programming Example
1. When M0=ON, PUCNT would be executed and InMode is set to Twofold frequency A/B phase input.
2. When M1=ON, the counted number of pulses on axis 1 in InPulse would be cleared.
_6 3. When the number of pulses is 100 and the input frequency is 10Hz, the values in InPulse and InSpeed will be seen
as 200 pulses and 20Hz.
6-470
Cha p ter 6 App l ied Ins truc tio ns
Group
Module
ChNo
Trigger
TPoint
TWeight
CPoint
Done
ADone
Error
ErrCode
DWORD
STRING
LWORD
WORD
LREAL
BOOL
Data REAL
UINT
DINT
LINT
TMR
CNT
INT
type
Group
Module
ChNo 6_
Trigger
TPoint
TWeight
CPoint
Done
ADone
Error
ErrCode
6-471
AS Ser ies Pro gra mm in g M anu al
Symbol
Explanation
1. This instruction is available for PLC with FW V1.08.00 or later and ISPSoft V3.09 or later.
2. The LCCAL instruction supports AS02LC module only. Before the instruction is used, you should get to know the
configuration position of current module from HWCONFIG.
3. Group is the group number of the specified LC module connected to the right of the PLC or the remote module. The
number of the PLC is 0, the number of the first remote module is 1 and so on. The maximum group number is 15.
If the specified module is not a LC module, the Error flag will change to ON.
_6
4. Module sets the serial number of modules at the right of the PLC. The first one is number 1, the second one is
number 2 and so on. Whatever modules at the right of the PLC must be numbered. The maximum number is 32. If
the specified module is not a LC module, the error flag Error will change to ON.
5. ChNo is a channel number of the specified LC module. If the input value is not a channel number of the LC module,
the error flag Error will change to ON.
6. Trigger is the command of triggering the single-point calibration. As Trigger changes from OFF to ON, the LC module
will be notified for calibration. Done changes to ON when the calibration is done. If all-point calibration has been
done, ADone will changes to ON as well. Before the next calibration point is calibrated, you need observe that Done
has changed to ON and then set Trigger to OFF. Then the instruction will clear the Done flag as Trigger changes
from ON to OFF.
7. TPoint is the number of total points for calibration. After the instruction is started, the value can not be changed again
since the TPoint value has been transmitted to the LC module for calibration as the instruction is started initially.
8. TWeight is the calibration weight value and it occupies two devices. If the TPoint is 3 and the starting device for
TWeight is D200, here TWeight occupies 6 devices, D200~D205. The calibration weight value for the first TPoint
is in D200 (Low Word) and D201 (High Word). The calibration weight value for the second TPoint is in D202 (Low
Word) and D203 (High Word). The calibration weight value for the third TPoint is in D204 (Low Word) and D205
6-472
Cha p ter 6 App l ied Ins truc tio ns
(High Word). Once the execution of this instruction started, the value of TWeight is sent to the LC module for
calibration. You cannot change the value of TWeight after the instruction is executed. the value of the first point for
calibration weight should be 0 (zero correction). If not, the Error flag will be ON.
9. Once ADone changes from OFF to ON, the entire calibration will be stopped. The calibration can be performed again
if the LCCAL instruction is enabled again after disabled.
10. CPoint is the number of points which have been calibrated and can not be modified by users. When CPoint value >=
TPoint value, the calibration is considered to be completed and the ADone flag changes to ON.
11. When the LCCAL instruction is enabled initially, the CPoint value is automatically cleared to 0 and Trigger, Done
and ADone change to OFF and the calibration is prepared. After Trigger is set from OFF to ON and the LC module
completes the calibration, the value of CPoint will be automatically added by 1 and the Done flag changes to ON.
You can observe current points for which the calibration has been completed via the value. For example, as the
CPoint value is 2, it means that Trigger is triggered twice and the module has completed the 2-point calibration.
12. The error codes that ErrCode shows are listed in the following table.
16#1413 The LC module has completed the calibration. Disable the instruction and retrigger it.
6-473
AS Ser ies Pro gra mm in g M anu al
The LCCAL instruction is enabled and the CPoint value and the flags Trigger, Done, ADone and Error are all
cleared automatically.
The instruction finds a module number error and displays the error code of LC module number error
After a trigger, the LC module completes the single-point calibration and the CPoint value is added by 1 and the
After a trigger, the LC module completes the entire calibration and the CPoint value is added by 1 and both of
Example
When PLC runs, the value of the first point for calibration weight is 0 written in D0 and D1. The value of the second point
the first point to zero). When D100 = 1 and M100 is ON, you have the first point calibrated. M50 switches to OFF.
Put a 500 g weight on the weighing platform, set M50 to ON and then start a 500 g calibration for the second point.
When D100 = 2 and M101 is ON, you have the second point calibrated. M50 switches to OFF and MO to OFF.
6-474
Cha p ter 6 App l ied Ins truc tio ns
6_
6-475
AS Ser ies Pro gra mm in g M anu al
1416 D LCWEI Group, Module ~ ErrCode Reading weight value via LC module
Group
Module
ChNo
Stable
ZeroS
TareS
TareW
Weight
Status
Error
ErrCode
DWORD
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
Group
Module
_6 ChNo
Stable
ZeroS
TareS
TareW
Weight
Status
Error
ErrCode
Symbol
6-476
Cha p ter 6 App l ied Ins truc tio ns
Explanation
1. This instruction is available for PLC with FW V1.06.00 or later and ISPSoft V3.08 or later.
2. The LCWEI instruction supports AS series LC module only. Before the instruction is used, you should get to know
3. Group is the group number of the specified LC module connected to the right of the PLC or the remote module. The
number of the PLC is 0, the number of the first remote module is 1 and so on. The maximum group number is 15.
If the specified module is not a LC module, the Error flag will change to ON.
4. Module sets the serial number of modules at the right of the PLC. The first one is number 1, the second one is
number 2 and so on. Whatever modules at the right of the PLC must be numbered. The maximum number is 32. If
the specified module is not a LC module, the error flag Error will change to ON.
ChNo is a channel number of the specified LC module. If the input value is not a channel number of the LC module,
6_
5.
6. Stable sets a value within the stable-weight range. It is a raw data. The value can be set to a floating-point value
within the range of 0.0~100000.0 and the maximum value or minimum value will be automatically taken as the setting
if the setting value exceeds the range. The timing of making the parameter value valid is when the instruction is
enabled for the first time. If the value in the LC module need be modified, disable the instruction first, set a new range
7. After the LCWEI instruction is enabled, the specified channel will be automatically changed into the display mode of
“net weight”. If you need to know the gross weight (total weight), add TareW value and Weight value by yourself.
8. ZeroS is the flag to set the present weight to 0. When the ZeroS flag changes from OFF to ON, the values of TareW
9. TareS is the flag to set the tare weight. When TareS changes from OFF to ON, present Weight value is moved to
TareW and the Weight value will be cleared to 0. When TareS changes from ON to OFF, TareW value will be moved
back to the present Weight value and the TareW value will be cleared to 0.
10. Weight is the weight value measured by deducting the tare weight. You can observe if the TareW value exists or not
in order to know whether the tare weight function has been enabled. When the TareW value is 0, it indicates that the
tare weight has not been set.
6-477
AS Ser ies Pro gra mm in g M anu al
11. Status is a commonly used status code for the instruction to integrate LC module. See the explanation of status
values in the following table.
Value 0 1 2 3 4 5
Module
Hardware
Weight Weight number error
Weight is fault/
Description measuring or In calibration exceeds the /channel
stable calibration
no load range number
fault
error
12. During the weight reading, Status will display corresponding error code and the Error flag changes to ON as an
error occurs in the LC module. When the status returns to normal, the Error flag will be cleared automatically. For
details on error status, refer to the explanation of status control buffers in the LC module manual.
En
ZeroS
TareS
TareW 0 10 0 20 0
Status 0 1 0 1 0 1
_6
After getting the command of clearing data to 0, the instruction will clear the values of TareW, Weight and Status.
Put the measured stuff on the weighing platform. When the stable weight value is measured, the Status value
Setting TareS to ON, the Weight value moves to TareW and then the value of Weight is cleared.
Setting TareS to OFF, the TareW value moves back to Weight and then the TareW value is cleared.
Put another measured stuff on the weighing platform. At the moment, Status enters the status of weight
measuring.
Disable the LCWEI instruction. TareW, Weight and Status hold the last status values.
6-478
Cha p ter 6 App l ied Ins truc tio ns
14. The error codes that ErrCode shows are listed in the following table.
Example
1. Weighing: Leave a weight of 500 g on the weighing platform. When M1 switches to ON, the value in D204 shows
500.0.
Leave a packaging (100 g) on the weighing platform. The value in D204 shows 100.0.
When M151 switches to ON, Weight value (D204) is moved to TareW value (D202). After moving, clear the
weight value in D204.
D204 = 0.0 and D202 = 100.0. The setup of tare weight is complete.
When M151 switches to OFF, the TareW value (D202) is moved back to Weight value (D204). After moving,
D202 = 0.0 and D204 = 100.0. The setup of clearing the tare weight is complete.
6_
4. Specify a stable-weight range (checking the stability)
Before executing this instruction, you need to specify the stable-weight range. Here we set D200 = 10.0.
Leave a 500 g weight on the weighing platform. When the measurement result is between 490 ~ 510 g,
6-479
AS Ser ies Pro gra mm in g M anu al
1417 D MPID Group, Module ~ Error PID algorithm for RTD/TC module
GROUP
MODULE
CH
UPDATE
PID_RUN
SV
PID_MODE
PID_MAN
MOUT_AUTO
AUTO_DBW
Kc_Kp
Ti_Ki
Td_Kd
Tf
PID_EQ
PID_DE
_6
PID_DIR
ERR_DBW
ALPHA
BETA
MOUT
BIAS
CYCLE
MV
PV
I_MV
ERROR
DWORD
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
Refer to the following data type Pulse Instruction 16-bit instruction 32-bit instruction
descriptions - - AS
6-480
Cha p ter 6 App l ied Ins truc tio ns
Symbol
CH : Channel number
6-481
AS Ser ies Pro gra mm in g M anu al
Explanation
1. This instruction is available for PLC with FW V1.06.00 or later and can only support the right-side modules. For PLC
with FW V1.08.00 or later, it can support remote right-side modules (AS00SCM-A with FW V2.06 or later) as well.
2. This instruction is available for AS04RTD-A (V1.04 or later), AS06RTD-A (V1.00 or later), AS04TC-A (V1.04 or later),
and AS08TC-A (V1.00 or later).
count.
6-482
Cha p ter 6 App l ied Ins truc tio ns
PID_RUN BOOL Enabling the PID algorithm False: reset the output value (MV) to
0: Automatic control
and BETA)
False: Automatic
PID algorithm.
True: Automatic
the MV.
6-483
AS Ser ies Pro gra mm in g M anu al
SV is in the range
width
If the P coefficient
Range of is less than 0, the
Calculated proportional
positive single- Kc_Kp is 0.
coefficient (Kc or Kp,
Kc_Kp REAL precision Independently, if
according to the settings in
floating- Kc_Kp is 0, it is
PID_EQ)
point numbers not controlled by
P.
(unit: Ti = sec; Ki by I.
= 1/sec)
If the derivate-
action time
Range of constant is less
positive single- than 0, Tf is 0 and
(derivative
smoothing).
6-484
Cha p ter 6 App l ied Ins truc tio ns
(E=PV-SV)
PID_DIR BOOL PID forward/reverse direction
FALSE: reverse action; heating up
(E=SV-PV)
(E) is the
difference
between the SV
When the 6_
ERR_DBW
setting value is 0,
the function is
disabled;
whether the
present error is
ERR_DBW, and
checks whether
status condition.
If the present
6-485
AS Ser ies Pro gra mm in g M anu al
the absolute
value of
ERR_DBW,
cross status
condition, the
present error is
counted as 0, and
the PID
algorithm ;
otherwise the
present error is
Initial value
Initial value
Integral gain of the
0~100 compensation of
BETA DWORD/DINT initialization value (cooling
Unit: 1% integral calculus
down)
(for cooling down)
Manual
(PID_MAN=True),
0~1000 the MV value is
MOUT REAL MV
(unit: 0.1%) outputted as the
value set
manually for
MOUNT.
Feed forward
BIAS REAL Feed forward output value -32768~32767 output value,
6-486
Cha p ter 6 App l ied Ins truc tio ns
feed forward.
When the
instruction is
sampling time,
0.0~100.0
MV REAL MV output value MV output value
(unit: 1%)
DWORD/DINT/
PV Present value Format is defined in HWCONFIG.
REAL
16#0000:instruction is being
6_
executed and is working normally
Note:
1. If the PID parameter exceeds the upper limit, only the maximum value can be written in the module, if the PID
parameter is below the lower limit, only the minimum value can be written in the module.
2. When PID_RUN switches from True to False, it clears the MV output value to 0. If you need to keep the last MV
output value, you can switch the operand EN to False to close this instruction and the MV output value can be kept.
6-487
AS Ser ies Pro gra mm in g M anu al
Example
1. You need to set up the parameters before executing DMPID. Switch the operand EN from False to True to execute
this instruction and once the instruction is enabled, the parameters are applied to the modules. If you need to
change parameters during execution, you can use the UPDATE flag to update the parameters (including PID_RUN ~
CYCLE). After the parameters are updated, PLC clears the UPDATE flag.
2. When M0 is ON, the instruction is executed. When M2 is ON, the DMPID starts to process. When M2 is OFF, MV
value is 0. And the value in MV is stored in D26. When M0 is OFF, the instruction is not executed. And the values in
3. When the mode is set to 1, the system starts to auto tuning the parameters for the temperature control. After tuning
is done, the system switches to auto control mode (PID_MODE is set to 0) and fill in the appropriate parameters
(Kc_Kp, Ti_Ki, Td_Kd, Tf, ALPHA and BETA) to data devices. You can also use retentive devices to retain PID
parameters.
4. You should convert the MV output value based on your needs within the range from 0.0 to 100.0. This example
converts the MV output value to PWM output. Use floating point division instruction F/ to convert the MV value to
Duty cycle ranging from 0% to 100%, and then use floating point multiplication F* to multiply the Duty Cycle and the
5. Input the width and period of output pulses to GPWM parameters and PWM control can be performed in the
0
t
脈波輸出週期
Pulse output cycle
6-488
Cha p ter 6 App l ied Ins truc tio ns
6_
PID formula:
6-489
AS Ser ies Pro gra mm in g M anu al
2. When you set the PID_MODE to 1, auto tuning mode is enabled. When auto tuning is complete, the value
ERR_DBW
Kc_Kp
PID-P
>0 PID_MAN
BIAS
+ 0
<=0 +
0 +
Kc_Kp MV_LIMIT
1
MV
Ti_Ki
PID-I
>0
MV_MAX, MV_MIN
+
<=0 +
0 +
_6
Ti_Ki MOUT_AUTO
+ MOUT
0
Td_Kd MOUT
PID-D PID_MAN
>0 1
0
<=0
0 1
Td_Kd, Tf MOUT
Kc_Kp
ERR_DBW Kc_Kp
>0
<=0
0
PID_MAN
BIAS
+ 0
+
+
MV_LIMIT
1
Ti_Ki MV
PID-I
>0
MV_MAX, M V_MIN
<=0
0
Ti_Ki MOUT_AUTO
MOUT
0
Td_Kd MOUT PID_MAN
PID-D
>0 1
0
<=0
0 1
Td_Kd, Tf MOUT
6-490
Cha p ter 6 App l ied Ins truc tio ns
ERR_DBW
When the PV (present value) is in the range of ERR_DBW, at the beginning, the present error is brought into the
PID algorithm according to the normal processing, and then the CPU module checks whether the present error
meets the cross status condition: PV (present value) goes beyond the SV (target value). Once the condition is met,
the present error is counted as 0 when applying the PID algorithm. After the PV (present value) is out of the
ERR_DBW range, the present error is brought into the PID algorithm again. If PID_DE is true, that means it uses the
variations in the PV to calculate the control value of the derivative, and after the cross status condition is met, the
PLC treats Δ PV as 0 to apply the PID algorithm. (Δ PV= current PV – previous PV). In the following example, the
present error is brought into the PID algorithm according to the normal processing in section A ,and the present error
α, β Value 6_
To reduce overshoot, you can use parameters of ALPHA or BETA in the beginning of the PID operation or while SV
(target value) varies to compensate initial value of integral calculus (for heating up or cooling down). See the images
below. Use ALPHA parameter to reduce overshoot while the temperature is climbing up. Use BETA parameter to
0 0
Tem perature ( C) Temperature ( C)
Tim e Time
6-491
AS Ser ies Pro gra mm in g M anu al
Execute the general pulse with modulation instruction (GPWM) to set Output pulse width and output cycle sampling time
Example
If the output cycle is 2000 ms, then the output value is 50% after the PID algorithm is implemented.
In other words, the GWPM instruction can be set to Output pulse width = 1000 and output cycle = 2000.
t =10 0 0 ms
Ou tp u t Y 1 0
T =2 00 0 ms
Note
_6
1. When tuning the parameters Kc_Kp, Ti_Ki, and Td_Kd (PID_MODE=0), set the Kc_Kp value first, and then set
the Ti_Ki and Td_Kd values to 0. In a controlled environment, you can increase the values of Ti_Ki (from
smaller to bigger) and Td_Kd (from bigger to smaller). When the value of Kc_Kp is 1, the proportional gain is
100%. That is, the error values increase by a factor of one. When the proportional gain is less than 100%, the
error values decrease. When the proportional gain is greater than 100%, the error values increase.
2. The parameters which have been automatically tuned are not necessarily suitable for every controlled
environment. You can, therefore, further modify the automatically-tuned parameters, but it is recommended
3. The operand CYCLE is to set the sampling time to use the PID algorithm and refresh MV.
4. When the number of the channel for measurement is changed, the time to refresh the measured value also
changes. For example, the measured value is refreshed every 200 ms when there is only 1 channel for
measurement. The measured value is refreshed every 800 ms when there are 4 channels for measurement.
The Kc_Kp, Ti_Ki, Td_Kd parameters may differ when the number of channel for measure is different.
6-492
Cha p ter 6 App l ied Ins truc tio ns
Module
ChNo
Update
Action
Value
CurCnt
ST
MT
AStat
RefCnt
Dir
CntStat
Error
ErrCode
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
Data type
6_
Module
ChNo
Update
Action
Value
CurCnt
ST
MT
AStat
RefCnt
Dir
CntStat
Error
ErrCode
6-493
AS Ser ies Pro gra mm in g M anu al
Symbol
Explanation
1. This instruction is for AS02HC-A only. You can start, stop the counter as well as set up and edit the counter value.
This instruction is available for PLC with FW V1.08.or later and ISPSoft V3.10 or later.
_6 2. Before executing this instruction, you need to put the setting values in Action and Value. Once En is triggered, the
PLC scans the values in Action and Value immediately. If you need to edit the values in Action and Value, set new
values in Action and Value and set the Update to ON. Once the values in Action and Value are updated, the Update
switches to OFF.
3. Module: The module number that is connected to the right side of PLC directly or connected to the remote module
that acts as PLC, e.g. the first connected module is module number 1, the second connected module is module number
2. Up to 32 modules can be connected and counted and each type of modules should be included in the count.
0 Remain unchanged
6-494
Cha p ter 6 App l ied Ins truc tio ns
Action
Function Description
Mode
the encoder counter value + the value in Value.
Note:
1. Range of the value in Value: -2(MT+ST Length-1) ≦ Value<2(MT+ST
Length-1).
If the value is set out of the range, it is invalid.
2. If you are using SSI (serial synchronous interface) encoder
and the setting of counter type is Ring Counter, the Action
mode here is invalid.
3. After downloading the HWCONFIG settings, the offset value
is cleared to 0.
When the setting of counter mode is in Absolute Position, the
counter value of the SSI encoder will be offset and stored in Value.
If you set the offset value in Value, the current counter value
(CurCnt) is the value in Value. (CurCnt=Value)
Note:
1. Range of the value in Value: 0 ≦ Value<2 (MT+ST Length). If the
Set / change the absolute
3 value is set out of the range, it is invalid.
position value of the SSI encoder
2. If you are using SSI (serial synchronous interface) encoder
and the setting of counter type is Ring Counter, the Action
mode here is invalid. You can use Action=1 to change the
setting value.
3. After downloading the HWCONFIG settings, the offset value
is cleared to 0.
1. Clear the value in CurCnt to 0.
2. Clear the value in CurNo from DHCCMPT instruction.
3. Clear the flags of Match1 and Match2 from DHCCMPT
Reset the current counter value instruction.
4
(CurCnt) Note: If you are using SSI (serial synchronous interface) encoder
6_
and the setting of counter mode is in Absolute Position, the value
in CurCnt can NOT be cleared to 0 but the value in CurNo, flags
of Match1 and Match2 from DHCCMP instruction can be cleared.
1. Clear the value in CurCnt to 0.
Reset the current counter value 2. Clear the value in CurNo from DHCCMPT instruction.
and the assigned Y output points 3. Clear the flags of Match1 and Match2 from DHCCMPT
5
from DHCCMP and DHCCMPT instruction.
instructions. 4. Clear the assigned Y output points (ONOFF) from
DHCCMP and DHCCMPT instructions.
1. Set the value in CurCnt as the value in Value.
2. Clear the value in CurNo from DHCCMPT instruction.
After preset, the DHCCMPT instruction performs the
comparison from the top. If the first value is bigger than the
first value to be compared in the table, the comparison stops.
If this happens, you can use the Update flag (ON) from the
Preset the current counter value
6 DHCCMPT instruction to perform comparison again.
(CurCnt)
3. Clear the flags of Match1 and Match2 from DHCCMPT
instruction.
Note: If you are using SSI (serial synchronous interface) encoder
and the setting of counter mode is in Absolute Position, the value
in CurCnt can NOT be changed but the value in CurNo, flags of
Match1 and Match2 from DHCCMP instruction can be cleared.
Preset the current counter value 1. Set the value in CurCnt as the value in Value.
and clear the assigned Y output 2. Clear the value in CurNo from DHCCMPT instruction.
7
points from DHCCMP and After preset, the DHCCMPT instruction performs the
DHCCMPT instructions. comparison from the top. If the first value is bigger than the
6-495
AS Ser ies Pro gra mm in g M anu al
Action
Function Description
Mode
first value to be compared in the table, the comparison stops.
If this happens, you can use the Update flag (ON) from the
DHCCMPT instruction to perform comparison again.
3. Clear the flags of Match1 and Match2 from DHCCMPT
instruction.
4. Clear the assigned Y output points (ONOFF) from
DHCCMP and DHCCMPT instructions.
6. CurCnt: The current counter value of the appointed module channel.
7. ST: Single-Turn data of an absolute type SSI encoder. If the counter mode is in absolute position, the value of ST is
an offset value. For the Ring counter, the value of ST is an original SSI figure. For an incremental encoder, the value
of ST is 0.
8. MT: Multi-turn data of an absolute type SSI encoder. If the counter mode is in absolute position, the value of MT is an
offset value. For the Ring counter, the value of MT is an original SSI figure. For an incremental encoder, the value of
MT is 0.
9. AStat: Status data of an absolute type SSI encoder. For an incremental encoder, the value of AStat is 0.
10. RefCnt: Refreshing counter of an absolute type SSI encoder, within a maximum range of 16-bit. When one SSI data
is captured, add one to the value of RefCnt. Once an overflow occurs, the refreshing counter starts counting from 0.
11. Dir: Counting direction, when the value is ON, it goes in the positive direction; when the value is OFF, it goes in the
negative direction.
SSI data
Cause of the error: SSI data exceeding the set acceptable range
exceeding the 0: normal
7 Ways to clear the error: when the SSI data stops exceeding the
set acceptable 1: abnormal
set acceptable range
range
6 Reserved Reserved
6-496
Cha p ter 6 App l ied Ins truc tio ns
13. If you stopped executing the instruction, the channel values will stop updating.
14. Refer to the following table for more details when any of the Error flag is ON.
ErrCode Description
6_
16#1400 This function is NOT available for this module.
One of the counting channel of the HC module is executing counting. Other channels cannot
16#1410
perform the same task at the same time.
6-497
AS Ser ies Pro gra mm in g M anu al
2. In DHCCNT instruction, set the value in Action to 1 and the value in Value to 10000. When the Update flag M1 is
ON, the value in CurCnt is updated to 10000.
Counter value
10000
Action 1
_6 Value 10000
Update flag
6-498
Cha p ter 6 App l ied Ins truc tio ns
Example 2: Set the offset value in SSI encoder as the value in Value (Action = 2)
1. In HWCONFIG, set the channel 1 as SSI input and set the counter mode to absolute position.
3. In DHCCNT instruction, set the value in Action to 2 and the value in Value to 500. Supposing the current counting
value (CurCnt) is 2500, and when the Update flag M1 is ON, the value in CurCnt is updated to 3000.
Counter value N
Action 2
6_
Value N
Update flag
6-499
AS Ser ies Pro gra mm in g M anu al
Example 3: Set / change the absolute position value of the SSI encoder (Action = 3)
1. In HWCONFIG, set the channel 1 as SSI input and set the counter mode to absolute position.
3. In DHCCNT instruction, set the value in Action to 3 and the value in Value to 0. When the Update flag M1 is ON,
the HC module counters the offset value automatically and the value in CurCnt is offset to 0.
Counter value
0
_6
Action 3
Value 0
Update flag
6-500
Cha p ter 6 App l ied Ins truc tio ns
2. In DHCCNT instruction, set the value in Action to 4. When the Update flag M1 is ON, the value in CurCnt is reset
to 0. After execution, the Update flag M1 clears to OFF automatically.
3. In DHCCNT instruction, set the value in Action to 6 and the value in Value to 10000. When the Update flag M1 is
ON, the value in CurCnt is preset to 10000. After execution, the Update flag M1 clears to OFF automatically.
Counter value
10000
Preset
0 Reset
Action 4 6
6_
Value 10000
Match1, Match2,
CurNo
Update flag
6-501
AS Ser ies Pro gra mm in g M anu al
Module
ChNo
TrgSel
Capt1
Cmplt1
Capt2
Cmplt2
Error
ErrCode
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
Data type
Module
ChNo
TrgSel
Capt1
Cmplt1
_6 Capt2
Cmplt2
Error
ErrCode
Symbol
6-502
Cha p ter 6 App l ied Ins truc tio ns
Explanation
1. This instruction is for AS02HC-A only. You can start, stop the counter as well as set up and edit the counter value.
This instruction is available for PLC with FW V1.08.or later and ISPSoft V3.10 or later.
2. Use this instruction with DHCCNT instruction. When executing DHCCNT instruction, the counting starts. And you can
use DHCCAP to capture the counter value. When DHCCNT stopped, the counter value stops updating. And the
3. Before executing this instruction, you need to set up TrgSel. Once En is activated, the PLC scans the values in TrgSel
immediately. If you need to edit the values in TrgSel, set new values in TrgSel and stop the instruction and then
execute the instruction again.
4. Module: The module number that is connected to the right side of PLC directly or connected to the remote module
that acts as PLC, e.g. the first connected module is module number 1, the second connected module is module number
2. Up to 32 modules can be connected and counted and each type of modules should be included in the count.
7. Capture the current counter value and store it in Capt 1 or Capt 2. When TrgSel = 0, it captures the counter value
when the Z-phase input point is rising-edge triggered and stores the value in Capt1 and it captures the counter value
when the Z-phase input point is falling-edge triggered and stores the value in Capt2. When TrgSel = 1, it captures the
counter value when Match 1 is OFF ON in the other channel and store the captured value in Capt1 it captures the
counter value when Match 2 is OFF ON in the other channel and store the captured value in Capt2.
6-503
AS Ser ies Pro gra mm in g M anu al
8. Flags of Cmplt1 and Cmplt2 are indicators to see if the captures in Capt1 and Capt2 are complete. When
Cmplt1/Cmplt2 is OFF ON , it indicates the values in Cmplt1/Cmplt2 are updated. You can clear the flag to OFF.
Even if you did not clear the Cmplt flags to OFF, the captured values can still be updated.
9. If En ON OFF, it indicates the capture function is disabled. The values in Capt1 and Capt2 will not be updated. The
10. Refer to the following table for more details when any of the Error flag is ON.
ErrCode Description
One of the counting channel of the HC module is executing capturing. Other channels cannot
16#1411
_6 perform the same task at the same time.
Example 1: Capture the counter value when the Z phase input point is triggered.
1. You need to set the setting value in Z phase of the Channel 1 to Capture in HWCONFIG to work with this trigger
mode.
2. Set the value in TrgSel to 0 for DHCCAP instruction. When M0 = ON, DHCCAP instruction starts to wait for the Z
phase input point to be rising-edge or falling-edge triggered.
3. When the Z phase input point of channel 1 is rising-edge triggered, it captures the counter value 1800 and stores the
4. When the Z phase input point of channel 1 is falling-edge triggered, it captures the counter value 6000 and stores
5. The Cmplt flag is not cleared to OFF. New captured value is still updated in Capt1 and Capt2. Here you can see the
new captured value 8500 is updated in Capt1, when the Z phase input point of channel 1 is falling-edge triggered.
6. The Z phase input point of channel 1 is falling-edge triggered again, it captures the counter value 11000 and stores
6-504
Cha p ter 6 App l ied Ins truc tio ns
TrgSel = 0
11000
Channel 1 8500
Counter
Value 6000
6_
1800
CH1 Z-Phase
Input
Cmplt1
*1
CH1
Cmplt2
*2
* 1: Cmplt 1 is not cleared to OFF, the captured value still updates in Capt 1.
*2: Cmplt 2 is cleared to OFF, the captured value still updates in Capt 2.
6-505
AS Ser ies Pro gra mm in g M anu al
Example 2: Capture the counter value by executing DHCCMP instruction and when Match 1/ Match 2 is OFF ON in
the other channel.
1. Supposing you execute DHCCAP instruction on channel 2 and set TrgSel = 1, and use channel 1 for the execution of
DHCCMP. When Match 1/ Match 2 is OFF ON on channel 1, the channel 2 is triggered to capture the current value
and stores it in Capt 1 or Capt 2. Even if you have set the setting value in Z phase of the appointed channel to Capture
in HWCONFIG, when TrgSel = 1, this capture function of Z phase input point is invalid.
2. The Comp 1 (Match 1) is OFF ON on channel 2, new captured value 2000 on channel 1 is updated in Capt1 and
3. The Comp 2 (Match 2) is OFF ON on channel 2, new captured value 8000 on channel 1 is updated in Capt2 and
4. The Cmplt flag is not cleared to OFF. New captured value is still updated in Capt1 and Capt2.
5. The external input point of channel 1 is falling-edge triggered again, it captures the counter value 11000 and stores
_6
6-506
Cha p ter 6 App l ied Ins truc tio ns
TrgSel = 1
Channel 1 8000
Counter
Value 6_
2000
MATCH 2 is OFF to ON
CH2 Comp2 on channel 2.
Channel 2
Counter CH2 Comp1
Value MATCH 1 is OFF to ON
on channel 2.
0
Capt1 2000
Cmplt1
CH1
Capt2 8000
Cmplt2
6-507
AS Ser ies Pro gra mm in g M anu al
Module
Update
DOdata
DOstat
Error
ErrCode
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
Data type
Module
Update
DOdata
DOstat
Error
ErrCode
Explanation
1. This instruction is for AS02HC-A only. You can start, stop the counter as well as set up and edit the counter value.
This instruction is available for PLC with FW V1.08.or later and ISPSoft V3.10 or later.
2. Before executing this instruction, you need to set up DOdata. Once En is activated, the PLC scans the values in
DOdata immediately. DOdata is the initial status of the output points Y0.0 ~ Y0.3. If you need to change the status of
the output point, you need to set new values in DOdata and set the Update to ON. Once the values in DOdata is
3. Module: The module number that is connected to the right side of PLC directly or connected to the remote module
that acts as PLC, e.g. the first connected module is module number 1, the second connected module is module number
2. Up to 32 modules can be connected and counted and each type of modules should be included in the count.
6-508
Cha p ter 6 App l ied Ins truc tio ns
b15~b4 b3 b2 b1 b0
NA 0:OF 1:ON
b15~b4 b3 b2 b1 b0
NA 0:OFF 1:ON
6. DOstat: If you stopped executing the instruction, DOstat will stop updating.
7. Refer to the following table for more details when any of the Error flag is ON.
ErrCode Description
One of the output point of the HC module is executing output. Other channels cannot perform
16#1411
the same task at the same time. (DOstat can still be updated.)
8. When the instructions DHCCMP or DHCCMPT are being executed, you cannot change the output points via DOdata
or DHCCMPT instruction. If you need to change the output points, you can stop DHCCMP or DHCCMPT instruction
and then use DOdata of HCDO to update the actions of the output points.
should set the output point DOData of HCDO instruction to 15 before switching M0 to ON.
3. DOStat shows the current state of output point, which is 15 here. While M0=ON, the value of DOStat would be
updated in realtime if the state of Y0.0~Y0.3 changes as a result of the control from DHCCMP or HCCMPT.
6-509
AS Ser ies Pro gra mm in g M anu al
Module
ChNo
Update
Comp1
Action1
Yno1
Comp2
Action2
Yno2
Match1
Match2
Error
ErrCode
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
Data type
_6 Module
ChNo
Update
Comp1
Action1
Yno1
Comp2
Action2
Yno2
Match1
Match2
Error
ErrCode
6-510
Cha p ter 6 App l ied Ins truc tio ns
Symbol
Match1 : When the value reaches the set value 1, this flag is ON.
Match2 : When the value reaches the set value 2, this flag is ON.
Error : Error flag
Explanation
1. This instruction is for AS02HC-A only. The counter value either by counting up or counting down met the set value is
a MATCH. Once you have a MATCH, the system reacts accordingly to what you have set, including counter actions
and which output point to output. This instruction is available for PLC with FW V1.08.or later and ISPSoft V3.10 or
later.
6_
2. Use this instruction with DHCCNT instruction. When executing DHCCNT instruction, the counting starts. And then you
3. Before executing this instruction, you need to set up Comp1, Comp2, Action1, Action2, Yno1, and Yno2. Once En
is activated, the PLC scans the values in Comp1, Comp2, Action1, Action2, Yno1, and Yno2 immediately.
4. You can edit the values in Comp1, Comp2, Action1, Action2, Yno1, and Yno2 during operation. Set new values and
set the Update to ON. Once the values are updated, the Update, Match1 and Match2 switch to OFF.
5. Module: The module number that is connected to the right side of PLC directly or connected to the remote module
that acts as PLC, e.g. the first connected module is module number 1, the second connected module is module number
2. Up to 32 modules can be connected and counted and each type of modules should be included in the count.
7. Comp 1and Comp 2 are the values for comparison (The value in Comp 1 and Comp 2 should be different.). If the
counter value of ChNo met the set value, its corresponding flag Match 1 / Match2 will be ON. The appointed output
point by Yno1 and Yno2 reacts according to the settings for Action.
6-511
AS Ser ies Pro gra mm in g M anu al
8. When the counter type is linear, the value in Comp 1 and Comp 2 should satisfy the following condition: the smallest
counter value < Comp < the largest counter value. If you are using SSI (serial synchronous interface) encoder and
the setting of counter mode is in Absolute Position. The value in Comp 1 and Comp 2 should satisfy the following
9. The timing to be considered reaching the set value varies according to different settings on input interfaces in
Ex. Comp = 5
8
7 7
Counting up 6 Counting down
6
Comp
5 5
4 4
3 3
2 2
1 1
0 0
Counted Value
0 1 2 3 4 5 6 7 8 9 7 6 5 4 3 2 1 0
Pulse Input -
Timing to consider as reaching the target
SSI Input -
Timing to consider as reaching the target
If the input interface is pulse input, the timing to be considered to meet the set value is before the counting leaving
the set value. Take Comp = 5 as an example, when the counting goes from 5 to 6 or from 5 to 4, the timing here is
touching the set value. Take Comp = 5 as an example, when the counting goes from 4 to 5 or from 6 to 5, the timing
10. If the counter value of ChNo met the set value, its corresponding flag Match 1 / Match2 will be ON. The appointed
output point by Yno1 and Yno2 reacts according to the settings for Actions: Action 1 (for the appointed output point
0 No action 0 No action
1 OFF 1 OFF
2 ON 2 ON
OFF + clear the counter value OFF + clear the counter value When the counter
4 4
of its channel of its channel value is cleared,
ON + clear the counter value ON + clear the counter value the flags of Match
5 5
of its channel of its channel 1 and Match 2 will
6-512
Cha p ter 6 App l ied Ins truc tio ns
clear the counter value of its clear the counter value of its
channel channel
Clear the counter value of its Clear the counter value of its
7 7
channel channel
Clear the counter value of its Clear the counter value of its
Yno2) Yno2)
Note: there is a time difference between meeting the set value and for the action to take place. Up to 100 us of time
11. Set the value in Yno1 and Yno2 to assign the output points Y0.0, Y0.1, Y0.2, and Y0.3. You can have two sets of
values (Yno1 and Yno2) to achieve two sets of comparisons. After this instruction starts to execute, you cannot use
HCDO instruction to control the output points.
0 Y0.0
1 Y0.1
2 Y0.2
3 Y0.3
12. The counter value either by counting up or counting down met the set value is a MATCH. The flags of Match 1 and
6_
Match 2 are the indicators. When the counter value met the set value, its corresponding Match 1 or Match 2 flag will
be ON. Either one of the followings occurs, the flags of Match 1 and Match 2 will be cleared to OFF, when the PLC
CPU stops, clears the counters, DHCCMP instruction switches from OFF to ON, or Update flag is set to ON.
13. The flags of Match 1 and Match 2 can be used for interrupt devices I, ranging from I400 to I431.
Note: The frequency of the interrupt device I with the same numbering should not be higher than 800Hz.
14. If you stopped executing the instruction, its relative compared values and its output function will stop updating.
15. Refer to the following table for more details when any of the Error flag is ON.
ErrCode Description
6-513
AS Ser ies Pro gra mm in g M anu al
ErrCode Description
One of the counting channel of the HC module is executing output. Other channels cannot
16#1413
perform the same task at the same time.
Example 1: Output from the output point Y when the counter value reached the set value.
1. In HWCONFIG set the input interface of the channel 1 to pulse input or SSI input. And set the counter type to ring
counter.
2. Set the value in Comp 1 to 16#5000000, the value in Action1 to 3, and the value in Yno1 to 0; set the value in
Comp 2 to 16#D000000, the value in Action2 to 3, and the value in Yno2 to 1.
3. When M0 = ON, the counter starts counting and sets parameters for DHCCMP instruction and then waits for the
counter value to meet the set value.
4. When the counter value reached Comp 1, the Match 1 flag is ON. Y0.0 is OFFON.
5. When the counter value reached Comp 2, the Match 2 flag is ON. Y0.1 is OFFON.
6. When the counter value reached Comp 1 once again, Y0.0 is ONOFF. When the counter value reached Comp 2
_6 once again, Y0.1 is ONOFF.
6-514
Cha p ter 6 App l ied Ins truc tio ns
H’7FFFFFFF
Comp1
Channel 1
Counter 0
Value
Comp2
H’80000000
MATCH1
Y0.0
MATCH2
Y0.1
Example 2: Clear the counter value of its channel when the counter value reached the set value.
1. Set the value in Comp 1 to 2500, the value in Action1 to 2, and the value in Yno1 to 0; set the value in Comp 2 to
2. When M0 = ON, the counter starts counting and sets parameters for DHCCMP instruction and then waits for the
3. When the counter value reached Comp 1, the Match 1 flag is ON. Y0.0 is OFFON.
When the counter value reached Comp 2, start the Action 2 = 8: clear the counter value of its channel, clear the
6_
4.
5. When the counter value reached Comp 1 once again, the Match 1 flag is ON. Y0.0 is OFFON.
6-515
AS Ser ies Pro gra mm in g M anu al
Comp2
Comp1
Channel One
Counter 0
Value
MATCH1
Y0.0
MATCH2
Y0.1
Example 3: Update the counter value of its channel when the counter value reached the set value.
1. Set the value in Comp 1 to 5000, the value in Action1 to 3, and the value in Yno1 to 0; set the value in Comp 2 to
10000, the value in Action2 to 3, and the value in Yno2 to 1.
2. When M0 = ON, the counter starts counting and sets parameters for DHCCMP instruction and then waits for the
counter value to meet the set value.
3. When the counter value reached Comp 1, the Match 1 flag is ON. Y0.0 is OFFON.
4. When the counter value reached Comp 2, the Match 2 flag is ON. Y0.1 is ONOFF.
5. Set a new value for comparison. Set the value in Comp 1 to 15000, the value in Action1 to 3, and the value in Yno1
_6 to 0; set the value in Comp 2 to 20000, the value in Action2 to 6, and the value in Yno2 to 1.
6. Set the Update flag to ON. Once the update is done, the flag is cleared to OFF automatically and the flags of Match
1 / Match 2 will also be cleared.
7. When the counter value reached Comp 1 once again. Y0.0 is ONOFF.
8. When the counter value reached Comp 2 once again. Y0.1 is ONOFF and start the Action 2 = 6: Toggle between
ON /OFF, clear the counter value of its channel, and the flags of Match 1 / Match 2 will also be cleared.
6-516
Cha p ter 6 App l ied Ins truc tio ns
New Comp2
New Comp1
Comp2
Comp1
6_
Channel 1
Counter 0
Value
Update Flag
MATCH1
Y0.0
MATCH2
Y0.1
6-517
AS Ser ies Pro gra mm in g M anu al
Example 4: Execute interrupts when the counter value reached the set value.
1. DHCCMP instruction can be used for interrupt. Set the flags of Match 1 and Match 2 as interrupts of I400 and I401
respectively.
2. Set the value in Comp 1 to 5000, the value in Action1 to 3, and the value in Yno1 to 0; set the value in Comp 2 to
3. When M0 = ON, the counter starts counting and sets parameters for DHCCMP instruction and then waits for the
4. When the counter value reached Comp 1, I400 interrupt is executed and start the Action 1 = 3: Y0.0 toggles
between ON /OFF.
5. When the counter value reached Comp 2, I401 interrupt is executed and start the Action 2 = 3: Y0.1 toggles
between ON /OFF.
_6
6-518
Cha p ter 6 App l ied Ins truc tio ns
Module
ChNo
Update
CmpLen
CompS
ActionS
YnoS
InoS
CurNo
Error
ErrCode
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
Device
Module
ChNo
Update 6_
CmpLen
CompS
ActionS
YnoS
InoS
CurNo
Error
ErrCode
6-519
AS Ser ies Pro gra mm in g M anu al
Symbol
Explanation
1. This instruction is for AS02HC-A only. It is used for comparing the counter value in a cyclic manner and once the value
is matched, the set action is taken. When the last group is done for comparison, set the counter value as the first
compared value and the comparison goes back to the first group.
2. This instruction can only work for one direction. If you change the direction in the middle of instruction execution, the
result may be incorrect. Up to 10 compared values can be set. You need to arrange the values (should be non-identical)
in order, either ascending or descending. When in ascending order, the counting method is count-up and the values
_6 used should be positive integer numbers. When in descending order, the counting method is count-down and the
values used should be negative integer numbers. When the counter value matched the compared value, the output
3. This instruction is available for PLC with FW V1.08.or later and ISPSoft V3.10 or later.
4. Use this instruction with DHCCNT instruction. When executing DHCCNT instruction, the counting starts. And then you
5. Before executing this instruction, you need to set up CmpLen, CompS, ActionS, YnoS and InoS. Once En is
activated, the PLC scans the values in CmpLen, CompS, ActionS, YnoS and InoS immediately.
6. You can edit the values in CmpLen, CompS, ActionS, YnoS and InoS during operation. Set new values and set the
Update to ON. Once the values are updated, the flag of Update switches to OFF automatically.
7. Module: The module number that is connected to the right side of PLC directly or connected to the remote module
that acts as PLC, e.g. the first connected module is module number 1, the second connected module is module number
2. Up to 32 modules can be connected and counted and each type of modules should be included in the count.
9. CmpLen: the data length for comparison in a cycle; the setting range is 2~10. When the setting value is out of the
range, the system cannot execute the instruction and an error code appears.
6-520
Cha p ter 6 App l ied Ins truc tio ns
10. CompS is where you store the values (in 32-bit integer format) for comparison. It takes several space of Dword in
CmpLen consecutively. You need to arrange the values (should be non-identical) in order, either ascending or
descending. When in ascending order, the counting method is count-up and the values used should be positive integer
numbers. When in descending order, the counting method is count-down and the values used should be negative
When the counter type is linear, the value in CompS should satisfy the following condition: the smallest counter
If you are using SSI (serial synchronous interface) encoder and the setting of counter mode is in Absolute Position.
The value in CompS should satisfy the following condition: 0< CompS<2 (MT+ST Length).
11. The timing to be considered reaching the set value varies according to different settings on input interfaces in
Ex. Comp = 5
8
7 7
Counting up 6 Counting down
6
Comp
5 5
4 4
3 3
2 2
1 1
0 0
Counted Value
0 1 2 3 4 5 6 7 8 9 7 6 5 4 3 2 1 0
Pulse Input -
Timing to consider as reaching the target 6_
SSI Input -
Timing to consider as reaching the target
If the input interface is pulse input, the timing to be considered to meet the set value is before the counting leaving the
set value. Take CompS = 5 as an example, when the counting goes from 5 to 6 or from 5 to 4, the timing here is
considered the set value reached.
If the input interface is SSI input, the timing to be considered reaching the set value is right before the counting touching
the set value. Take Comp = 5 as an example, when the counting goes from 4 to 5 or from 6 to 5, the timing here is
12. If the counter value of ChNo met the set value, the appointed output point by YnoS reacts according to the settings
for ActionS. The value in ActionS should be a 16-bit integer and takes several space of Word in CmpLen
consecutively.
6-521
AS Ser ies Pro gra mm in g M anu al
0 No action
1 OFF
2 ON
Note: there is a time difference between meeting the set value and for the action to take place. Up to 100 us of time
13. The value in YnoS should be a 16-bit integer and takes several space of Word in CmpLen consecutively.
0 Y0.0
1 Y0.1
2 Y0.2
_6
3 Y0.3
14. The value in InoS is the interrupt numbers. You can send specific interrupts to the PLC CPU. The allowable interrupt
is ranging from I400 to I431. The value in InoS should be a 16-bit integer and would take several space of Word in
CmpLen consecutively.
InoS Action
0 No interrupt
Note: The frequency of the interrupt device I with the same numbering should not be higher than 800Hz.
15. CurNo is the current group number. See the table below for reference. If the counter value is 200, the counted number
is less than the value in D100, and the matched CurNo is 0. If the counter value is 1000, check the table below to find
6-522
Cha p ter 6 App l ied Ins truc tio ns
16. Comps(supposing D100), ActionS (supposing D200), YnoS (supposing D300), and the value in CmpLen is 6.
17. Executing the instruction (En OFF ON) and set the Update to ON. Once the values are updated, the instruction
uses the updated values for comparison. The current number less than the corresponding value in Compsis set for
comparison. For instance, if the current value is 3500 when the instruction is executed, the corresponding CurNo is 3
and the number 1~3 (counter value 3000 < current value 3500) are set for comparison. The action set is Y0.0 = ON +
interrupt I400 request, Y0.1 = ON + interrupt I401 request, Y0.0 = toggle between ON and OFF) + interrupt I402
18. If En ON OFF, it indicates the comparison output function is disabled. The states of CurNo and Output stop
updating. The counter continues to count but no comparison is made.
19. Refer to the following table for more details when any of the Error flag is ON.
6_
ErrCode Description
One of the counting channel of the HC module is executing output. Other channels cannot perform
16#1413
the same task at the same time.
6-523
AS Ser ies Pro gra mm in g M anu al
Example
2. Executing the instruction (En OFF ON) and set the Update to ON. Once the values are updated, the instruction
uses the updated values for comparison. The current counted number less than the corresponding value in
Compsis set for comparison. The starting current value is less than 1000, its corresponding CurNo is 0 and no
action is taken.
_6
3. When the counter value met 1000 (999→1000), its corresponding CurNo switches from 0 to 1 and Y0.0 switches
from OFF to ON, and I400 interrupt is executed. If the input interface is pulse, the comparison begins when the
4. When the counter value met 2000 (1999→2000), its corresponding CurNo switches from 1 to 2 and Y0.1 switches
from OFF to ON, and I401 interrupt is executed. If the input interface is pulse, the comparison begins when the
5. When the counter value met 3000 (2999→3000), its corresponding CurNo switches from 2 to 3 and Y0.2 switches
from OFF to ON, and I402 interrupt is executed. If the input interface is pulse, the comparison begins when the
6. Follow the same rule to do the comparison, until the CurNo is 10. After the last comparison is done, set the counter
7. If you are using the ring counter, when the counter value met 1000 again, the comparison starts again. The CurNo is
1, Y0.0 switches from OFF to ON, and I400 interrupt is executed. And follow the same rule to do the comparison.
6-524
Cha p ter 6 App l ied Ins truc tio ns
10000
9000
8000
7000
6000
5000
4000
6_
3000
2000
1000
Channel 1
Counter 0
Value
EN
CurNo 0 1 2 3 4 5 6 7 8 9 10 10 1 2
Y0.0
Y0.1
Y0.2
Y0.3
6-525
AS Ser ies Pro gra mm in g M anu al
Module
ChNo
Update
Cnt/Rev
Smpl
Avg
Freq
RPM
Error
ErrCode
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
Device
Module
ChNo
Update
Cnt/Rev
_6 Smpl
Avg
Freq
RPM
Error
ErrCode
Symbol
6-526
Cha p ter 6 App l ied Ins truc tio ns
Explanation
1. This instruction is for AS02HC-A only. This instruction is available for PLC with FW V1.08.or later and ISPSoft V3.10
or later.
2. Use this instruction with DHCCNT instruction. When executing DHCCNT instruction, the counting starts. And then you
3. Before executing this instruction, you need to set up Cnt/Rev, Smpl and Avg. Once En is activated, the PLC scans
4. You can edit the values in Cnt/Rev, Smpl and Avg during operation. Set new values and set the Update to ON. Once
5. Module: The module number that is connected to the right side of PLC directly or connected to the remote module
that acts as PLC, e.g. the first connected module is module number 1, the second connected module is module number
2. Up to 32 modules can be connected and counted and each type of modules should be included in the count.
7. Cnt/Rev: Counted value of the encoder revolution for one time, ranging from 1 to 4294967295
(H’00000001~H’FFFFFFFF).
8. Smpl: Sampling cycle, ranging from 1 to 1000, unit: ms. Different values set in Smpl and Freq for output and RPM
for output may cause different resolutions. 6_
Resolution of Frequency = 1000 ÷ Smpl (unit: Hz)
Cnt
Resolution of RPM = 60000 ÷ �Smpl × � (unit: rev/min)
Rev
The start of sampling cycle and the current counted number (CurCnt) are two basic components for the calculation of
revolution. Therefore you need to take the following factors that may affect the measurement results into account.
Encoder Type Counter Type Factors that affect the measurement results
Incremental Encoder The difference between the counted values in the same sampling
Linear counter cycle exceeds the limit of 231 or the counted value exceeds the
upper/lower limit.
Absolute The difference between the counted values in the same sampling
In Absolute Positon The difference between the counted values in the same sampling
Ring Counter
cycle exceeds the limit of 231.
6-527
AS Ser ies Pro gra mm in g M anu al
9. Avg is the average times and in the moving average of the measurement result, ranging from 1 to 10.
10. Freq is the measurement result of the average frequency; unit: Hz. The format is as below.
11. RPM is the measurement result of the average revolution; unit: rev/min. The format is as below.
12. If you stopped executing the instruction, its measuring function will stop. The values in Freq and RPM will not be
updated.
13. Note that if you clear or change the counter value, the sampling measurement result of Freq and RPM in the cycle
will be affected.
14. Refer to the following table for more details when any of the Error flag is ON.
ErrCode Description
16#1400 This function is NOT available for this module.
16#1401 The value is invalid or out of range.
16#1402 No response from the module. Communication timeout.
16#1403 HWCONFIG configuration error. Instruction stops.
16#1404 There is no such counting channel for the HC module.
_6 16#1405 Input interface not selected. Instruction stops.
6-528
Cha p ter 6 App l ied Ins truc tio ns
Motor Encoder
1. Set the input interface of the channel 1 to pulse input or SSI input in HWCONFIG. And set the counter type to ring
counter.
2. Set the value in Cnt/Rev to 1000, the value in Smpl to 1000 and the value in Avg to 10.
3. When M0 switches to ON, the counter would start to count and configure DHCMEAS parameters in module’s
settings at the same time for measuring frequencies and speed, which the results would be updated in the display of
4. While the motor is running and the encoder receives pulses of 5kHz, the results would be displayed as 5kHz fin Freq
and 300 rev/min in RPM. In this example, the encoder speed is the motor speed, so the motor here would be 300
rev/min.
6_
6-529
AS Ser ies Pro gra mm in g M anu al
2. Set the value in Cnt/Rev to 8192, the value in Smpl to 1000 and the value in Avg to 10.
3. When M0 switches to ON, the counter would start to count and configure DHCMEAS parameters in module’s
settings at the same time for measuring frequencies and speed, which the results would be updated in the display of
4. While the motor is running and the speed of position changes of the absolute encoder with SSI is 4095 LSB/Sec, the
results would be displayed as 4095kHz in Freq and 30 rev/min in RPM. In this example, the encoder speed is the
_6
6-530
Cha p ter 6 App l ied Ins truc tio ns
Group
Module
ChNo
Mode
Period
Points
PostTrg
Datalog
CurNo
Cmplt
Error
ErrCode
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
Data Type
Group
Module
6_
ChNo
Mode
Period
Points
PostTrg
Datalog
CurNo
Cmplt
Error
ErrCode
6-531
AS Ser ies Pro gra mm in g M anu al
Explanation
1. This instruction is for analog input modules (AS04AD-A, AS06XA-A, AS02ADH-A) to enable or disable the record
function and send the record data to the designated Datalog devices. This instruction is available for PLC with FW
2. The description of record period and log points is specified in the following table. Refer to the description concerning
Mode for more details.
Fixed period mode, Fixed period + Trigger start mode, Fixed period +
The setting range is from 1 to 32000 and the options for time unit are
external input point not within a fixed period. The trigger timing for
detected at X0.0.
detected at X0.1.
3. Group is used to specify the analog input module connected to the right side of PLC directly or connected to the
remote module that acts as PLC, e.g. the PLC is number 0, the first remote module would be number 1 and so on.
4. Module: The module number that is connected to the right side of PLC directly or connected to the remote module
that acts as PLC, e.g. the first connected module is module number 1, the second connected module is module number
2. Up to 32 modules can be connected and counted and each type of modules should be included in the count.
5. ChNo: The specified channel number. Channel1 would be numbered 1 and channel 2 is numbered 2.
6-532
Cha p ter 6 App l ied Ins truc tio ns
6. Mode: Record mode. Modes supported by the corresponding models are listed as follows.
AS04AD-A
K0 Fixed period Perform recording periodically.
AS06XA-A
K1 Fixed period + Trigger start points. After received, periodic recording would
be performed.
(1) Fixed period mode: Set Mode=0, the data recording would be performed according to the pre-defined record
period when EN switches to ON. After the recording of a specified number of log points is complete, the Cmplt
flag would be set to High automatically.
Example:
6_
Set Points = 2000
1 2
0 t
EN
CurNo 0 1~1999 2000 0~1999 2000
Cmplt
(2) Fixed period + Trigger start mode: Set Mode=1 and switch instruction EN to ON before the recording starts.
When a trigger signal is detected at the external input point, start recording based on the pre-defined record
period. And the Cmplt flag is set to High automatically when completed. Before the recording is complete, any
operation at the external input points does NOT affect the proceeding of record. When the recording of log points
is complete and the Cmplt flag is High, trigger the external input points again to start a new cycle of recording;
the instruction EN does NOT required to be turned OFF and then ON again to start another new recording.
6-533
AS Ser ies Pro gra mm in g M anu al
Example:
Set Points = 2000, the trigger timing for the external input point is set to rising-edge triggered.
1 2
0 t
EN
External input trigger
The feature of Fixed period + Trigger Start is similar to Fixed period. But the start timing of recording in Fixed
period mode would be delayed as a result of PLC scan time and module communication time, which is shown
in the following illustration. It is assumed that M0 is the device to control EN of ADLOG instruction. We can see
_6 when M0 switches from OFF to ON, the module does not start recording immediately but with a slight delay.
0 t
Fixed period
M0
Recording Starts
6-534
Cha p ter 6 App l ied Ins truc tio ns
(3) Point Logging mode: Set Mode=2, turn the instruction EN to ON before the recording starts. One log point would
be recorded for each triggering at external input point until it reaches the pre-defined point number, Cmplt flag
would set to High automatically. If you need to the recording to be continued after the Cmplt flag is set to High,
execute the instruction again.
Example:
Set Points = 2000, the trigger timing for external input point is set to rising-edge triggered.
2000 th point
2nd poin t 1999 th point
1s t point 3rd poin t 3rd poin t
1st poin t
0 t
EN
Exte rnal input trig ger
Fixed period + Trigger position Assign mode: Set Mode=3 and set parameters Points and PostTrg according
(4)
6_
to your requirements. This mode is to trigger at the external input point and record the pre-defined number of
log points before and after the triggering occurs. When using EN to turn on this mode, AS02ADH-A would start
waiting for signals to be triggered at external input. And the sampling would start right after, until it reaches the
pre-defined point number, and then Cmplt flag would set to High automatically. The value in CurNo is 0 before
triggered, and after triggered, the modules start to send the before-triggered data log to the PLC CPU . Therefore
the value of CurNo would catch up to the number of accumulated log points.
6-535
AS Ser ies Pro gra mm in g M anu al
Example
Set Mode=3, Points = 2000, and PostTrg = 1500 so the position of point 501 (Points – PostTrg)would be the first record
after an external trigger signal is detected.
1 2
The number of all records(Points):2000 The number of all records(Points):2000
AS04AD-A
1~100 The unit is fixed to be 10ms, unchangeable.
AS06XA-A
_6 8. Points is the number of total records which is only applicable for AS02ADH-A, and can set a maximum of 2000 records.
For other models, the setting value is fixed to 500.
AS04AD-A
The value is fixed to be 500, other setting value is invalid.
AS06XA-A
9. PostTrg is the number of log points recorded after Trigger occurs which should be applied with Points, to record the
number of all records, including data before and after the triggering. PostTrg is only applicable for Fixed period +
Trigger position assign mode (Mode=3) and invalid for other modes. Please note that the value of PostTrg should not
be greater than the value in Points (the number of all records), or the value in PostTrg would be replaced with the
value in Points. For example, if Points=100 and PostTrg=200, the value in PostTrg would be seen as the value in
Points, which is 100, since the value in PostTrg is greater than the value in Points (the number of all records).
Therefore, only a number of 100 points would be recorded after the triggering occurs.
AS02ADH-A 0~2000 point (Should not be greater than the value in Points)
6-536
Cha p ter 6 App l ied Ins truc tio ns
Example
Set Points = 1000 and PostTrg = 700, and then there would be 1000 logs, including 300 pieces of data before triggering
and 700 pieces of data after triggering.
0
Exte rnal In put Trigge r
10. Datalog is the device to store data logs. If selecting integral to be the format of output values of AD module, we
suggest to use it with 16-bit ADLOG instruction. A space of 500 words would be occupied by using AS04AD-A or
AS06XA-A, while a space ranging from 1 to 2000 words (based on the number of total records) could be occupied by
using AS02ADH-A model. (if using 32-bits DADLOG instruction, the 16-bit data would be expanded to 32 bits which
the data space is taken doubly.) If selecting floating point to be the format of output values of AD module, you must
use it with 32-bit ADLOG instruction. A space of 1000 words would be occupied by using AS04AD-A or AS06XA-A,
while a space ranging from 2 to 4000 words (based on the number of total records) could be occupied by using
AS02ADH-A.
11. CurNo is the number of records which has been sent back to the PLC by the module. When the recording is in progress,
the value of CurNo may not be able to be viewed in a consecutive order as a result of impacts from scan period.
12. Cmplt, the completion flag is used for indicating the logs recording is complete. When Cmplt switches from OFF to
ON, it is indicated that all the log data has been sent to the designated Datalog device. When EN switches from OFF
6_
to ON, the Cmplt flag would be initialized to OFF automatically.
13. If you stop executing this instruction, the designated channel would stop updating the right side values.
14. Refer to the following table for more details when any of the Error flag is ON.
ErrCode Description
16#1406 The data format of AD module and the instruction do not match with each other.
6-537
AS Ser ies Pro gra mm in g M anu al
Group
Module
ChNo
MAX
MIN
Error
ErrCode
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
Data Type
Group
Module
ChNo
MAX
MIN
Error
ErrCode
MAX : Maximum
MIN : Minimum
6-538
Cha p ter 6 App l ied Ins truc tio ns
Explanation
1. ADPEAK is dedicated for analog input modules (AS04AD-A, AS08AD-B, AS08AD-C, AS06XA-A, AS02ADH-A) to
enable and disable the recording of peak values. This instruction is available for PLC with FW V1.10.00 or later and
2. Group is used to specify the analog input module connected to the right side of PLC directly or connected to the
remote module that acts as PLC, e.g. the PLC is number 0, the first remote module would be number 1 and so on.
3. Module: The module number that is connected to the right side of PLC directly or connected to the remote module
that acts as PLC, e.g. the first connected module is module number 1, the second connected module is module number
2. Up to 32 modules can be connected and counted and each type of modules should be included in the count.
4. ChNo: The specified channel number. Channel1 would be numbered 1 and channel 2 is numbered 2.
5. MAX and MIN are respectively the maximum value and the minimum value. When EN switches from OFF to ON, the
values of MAX and MIN would be initialized to a new measured value and start recording peak values. The values of
MAX and MIN would be updated continuously while detecting maximum and minimum values. If selecting integral to
be the format of output values of AD module, we suggest to use it with 16-bit ADPEAK instruction. If selecting floating
point to be the format of output values of AD module, you must use it with 32-bit DADPEAK instruction.
6. If En switches from ON to OFF, the function of recording peak values would be disabled. Meanwhile, the values of
ErrCode Description
16#1406 The data format of AD module and the instruction do not match with each other.
6-539
AS Ser ies Pro gra mm in g M anu al
Group
Module
Port
Index
SubIndex
DataType
Done
Error
ErrCode
ReadLen
DataRead
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
資料型態
Group
Module
_6 Port
Index
SubIndex
DataType
Done
Error
ErrCode
ReadLen
DataRead
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
Data Type
Group
Module
Port
Index
SubIndex
DataType
Done
Error
ErrCode
ReadLen
6-540
Cha p ter 6 App l ied Ins truc tio ns
DataRead
6_
6-541
AS Ser ies Pro gra mm in g M anu al
Symbol
Explanation
1. This instruction is available for PLC with FW V1.08.50 or later and ISPSoft V3.12 or later.
2. You can refer to the IODD file of the IO-Link device to learn more about the device parameters. You can also use this
3. There is no limit on the number of times you execute the instruction but only one instruction (IOLINKR or IOLINKW)
instruction during this time. After the communication with IO-Link is done, it is suggested to use the flags DONE or
5. Group: The group number of AS04SIL that is connected to the right side of PLC directly or connected to the remote
module that acts as PLC, e.g. the first connected module is module number 1, the second connected module is number
2. Up to 15 modules can be connected. If the connected module is not AS04SIL, the Error flag switches to ON.
6. Module: The module number that is connected to the right side of PLC directly or connected to the remote module
that acts as PLC, e.g. the first connected module is module number 1, the second connected module is module number
2. Up to 32 modules can be connected and counted and each type of modules should be included in the count. If the
7. Port: The communication port number, ranging from 1 to 4. If the port number used is not the port for AS04SIL, the
Error flag switches to ON.
8. Index is the index number that is read from the parameter of the IO-Link device.
9. SubIndex is the sub-index number that is read from the parameter of the IO-Link device. The sub-index number can
be set from 0 to 255. If the value exceeds the setting range, the Error flag switches to ON.
10. DateType is the parameter data type of the IO-Link device. You need to set the correct datatype before executing this
instruction.
6-542
Cha p ter 6 App l ied Ins truc tio ns
If the setting value exceeds the setting range, the Error flag switches to ON.
String; data length: 1~232 byte; Null (0x00) is seen as the ending character for
0x0004 StringT
the string.
0x0005 OctetStringT Fixed length string, defined by the IODD fixed length; data length: 1~232 byte
0x0008 ArrayT A whole array that is read from the sub-index number 0
0x0009 RecordT A whole record that is read from the sub-index number 0
11. DataRead is the data read from the IO-Link device; unit: byte, arranged by high byte and low byte.
12. ReadLen is the data length of the data read from the IO-Link device; unit: byte.
13. Done is a communication complete flag. When this flag is ON, it indicates the parameter of the IO-Link device is read
completely. The range of the read data (ReadData) will be used according to the data length (READLen).
6_
14. Error is a communication error flag. When this flag is ON, it indicates an error occurs during the communication among
the PLC CPU, AS04SIL and the IO-Link device. Refer to the following Error Codes for troubleshooting.
15. Refer to the following table for more details when any of the Error flag is ON.
6-543
AS Ser ies Pro gra mm in g M anu al
0x8105 The sub-index number of the parameter exceeds the setting range 0~255.
0x8106 The data to be read and written exceeds the setting range 1~232.
0x8107 Reserved
0x8108 Communication timeout; no response from IO-Link device for over 5000 ms.
0x810B Execute more than two IO-Link read/write instructions on the same AS04SIL module.
The starting address of the read/write device + the data length to read/write exceed the device
0x810C
setting range.
0x810D The value of the parameter data type exceeds the setting range.
_6 0x810E The parameter data type and the read/write data length are inconsistent.
16. The communication process among the PLC CPU, AS04SIL and IO-Link device:
6-544
Cha p ter 6 App l ied Ins truc tio ns
17. Sequences of the EN, Done, and Error flags: when an error occurs during communication (scenario 1) and when the
communication is compete (scenario 1).
Example 1: Read the parameter of Application Specific Tag on the first device of the first communication port.
1. Check HWCONFIG to learn the setting value in Application Specific Tag is “ABCDEFGH”.
2. AS04SIL is the first module that installed on the right side of the PLC CPU. The setting value in Group is 0, and 1 in
manual. Set the setting values in Index to 24, in Sub-index to 0, in data type to 4 (StringT).
4. Start sending “to read” request when M0 is ON. When M10 (DONE) is ON, it indicates the device has responded
and has complete reading. ReadLen (D40) is 32, and the data string is stored in DataRead (D50~D65). IO-Link
device reads the data and stores it in accordance with the order of high byte and low byte.
6-545
AS Ser ies Pro gra mm in g M anu al
Example 2: Read the parameter of gain trim green channel on the first device of the second communication port.
1. Check HWCONFIG to learn the setting value in gain trim green channel is “-63”.
2. AS04SIL is the first module that installed on the right side of the PLC CPU. The setting value in Group is 0, 1 in
_6
3. We learnt that its index is 72, its Sub-index is 0, and the data type is IntegerT from its IODD file or the IO-Link device
manual. Set the setting values in Index to 72, in Sub-index to 0, in data type to 2 (IntegerT).
4. Start sending “to read” request when M0 is ON. When M10 (DONE) is ON, it indicates the device has responded
and has complete reading. ReadLen (D40) is 1, and the data is stored in DataRead (D50 Low Byte). IO-Link device
reads the data and stores it in accordance with the order of high byte and low byte.
6-546
Cha p ter 6 App l ied Ins truc tio ns
Example 3: Read the parameter of gain trim green channel on the first device of the second communication port.
1. Check HWCONFIG to learn the setting value in Ambient temperature is 28.60551.
2. AS04SIL is the first module that installed on the right side of the PLC CPU. The setting value in Group is 0, 1
device manual. Set the setting values in Index to 268, in Sub-index to 0, in data type to 3 (Float32T).
4. Start sending “to read” request when M0 is ON. When M10 (DONE) is ON, it indicates the device has responded
and has complete reading. ReadLen (D40) is 4, and the data is stored in DataRead (D50~D51). IO-Link device
reads the data and stores it in accordance with the order of high byte and low byte.
6_
6-547
AS Ser ies Pro gra mm in g M anu al
Group
Module
Port
Index
SubIndex
DataType
WriteLen
DataWrite
Done
Error
ErrCode
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
Data Type
Group
Module
_6 Port
Index
SubIndex
DataType
WriteLen
DataWrite
Done
Error
ErrCode
6-548
Cha p ter 6 App l ied Ins truc tio ns
Symbol
Explanation
1. This instruction is available for PLC with FW V1.08.50 or later and ISPSoft V3.12 or later.
2. You can refer to the IODD file of the IO-Link device to learn more about the device parameters. You can also use this 6_
instruction to write the parameters into the IO-Link device.
3. There is no limit on the number of times you execute the instruction but only one instruction (IOLINKR or IOLINKW)
4. During communication, it takes at least 5 seconds for the IO-Link device to response. Do NOT stop or start another
instruction during this time. After the communication with IO-Link is done, it is suggested to use the flags DONE or
ERROR to stop or start the instruction.
5. Group: The group number of AS04SIL that is connected to the right side of PLC directly or connected to the remote
module that acts as PLC, e.g. the first connected module is module number 1, the second connected module is number
2. Up to 15 modules can be connected. If the connected module is not AS04SIL, the Error flag switches to ON.
6. Module: The module number that is connected to the right side of PLC directly or connected to the remote module
that acts as PLC, e.g. the first connected module is module number 1, the second connected module is module number
2. Up to 32 modules can be connected and counted and each type of modules should be included in the count. If the
7. Port: The communication port number, ranging from 1 to 4. If the port number used is not the port for AS04SIL, the
Error flag switches to ON.
8. Index is the parameter index number that is intended to write into the IO-Link device.
6-549
AS Ser ies Pro gra mm in g M anu al
9. SubIndex is the parameter sub-index number that is intended to write into the IO-Link device. The sub-index number
can be set from 0 to 255. If the value exceeds the setting range, the Error flag switches to ON.
10. DateType is the parameter data type of the IO-Link device. You need to set the correct datatype before executing this
instruction. Refer to API1426 IOLINKR instruction for more information.
11. DataWrite is the data written into the IO-Link device; unit: byte, arranged by high byte and low byte.
12. WriteLen is the data length of the data to be written into the IO-Link device; unit: byte.
13. Done is a communication complete flag. When this flag is ON, it indicates the parameters have written into the IO-
Link device completely.
14. Error is a communication error flag. When this flag is ON, it indicates an error occurs during the communication among
the PLC CPU, AS04SIL and the IO-Link device. Refer to the Error Codes from API1426 IOLINKR instruction for
troubleshooting.
18. The communication process among the PLC CPU, AS04SIL and IO-Link device:
_6
C: the IO-Lind Device is processing the request
and send data to AS04SIL.
D: The PLC CPU updates the status (DONE /
ERROR) and receives the data.
19. Sequences of the EN, Done, and Error flags: when an error occurs during communication (scenario 1) and when the
communication is compete (scenario 1).
6-550
Cha p ter 6 App l ied Ins truc tio ns
Example 1: Write the parameter of Application Specific Tag into the first device of the first communication port.
1. Check HWCONFIG to learn the setting value in Application Specific Tag is “ABCDEFGH”.
2. AS04SIL is the first module that installed on the right side of the PLC CPU. The setting value in Group is 0, 1 in
manual. Set the setting values in Index to 24, in Sub-index to 0, in data type to 4 (StringT).
4. Use the instruction $MOV to write the string “IO-Link” into the data device, starting from D60.
5. Start sending “to write” request when M1 is ON. When M10 (DONE) is ON, it indicates the device has received the
response and has complete writing. WriteLen is 32, and the data string is saved in DataWrite (D60~D75). IO-Link
device writes the data into the data devices in accordance with the order of high byte and low byte.
6_
6-551
AS Ser ies Pro gra mm in g M anu al
6. Check HWCONFIG to learn the setting value in Application Specific Tag is updated to “IO-Link”.
Example 2: Write the parameter of gain trim green channel into the first device of the second communication
port.
1. Check HWCONFIG to learn the setting value in gain trim green channel is “-63”.
_6
2. AS04SIL is the first module that installed on the right side of the PLC CPU. The setting value in Group is 0, 1 in
manual. Set the setting values in Index to 72, in Sub-index to 0, in data type to 2 (IntegerT).
4. Use the instruction $MOV to write 0xE2 (-30) into the data device, starting from D60.
5. Start sending “to write” request when M1 is ON. When M10 (DONE) is ON, it indicates the device has received the
response and has complete writing. WriteLen is 1, and the data is saved in DataWrite (D60 Low byte). IO-Link
device writes the data into the data devices in accordance with the order of high byte and low byte.
6-552
Cha p ter 6 App l ied Ins truc tio ns
6_
7. Check HWCONFIG to learn the setting value in gain trim green channel is updated to “-30”.
6-553
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
Data type
Group
Module
ChNo
Fcutoff
Error
ErrCode
Symbol
6-554
Cha p ter 6 App l ied Ins truc tio ns
Explanation
1. The instruction provides the function of a digital low-pass filter for analog input signals. And the instruction should
be V2.08 or later.
PLC with built-in AD AS218 Firmware: V1.12 or later
channels
2. After enabling the MLPF instruction, the input value corresponding to the channel changes from the original
average value to the result of the digital filter.
3. For the assigned device, if the MLPF instruction is enabled for any of its channels, the sampling times of all analog
channels will be specified to their mandatorily values and original sampling time setting will be invalid. If the MLPF
instruction is disabled, then the sampling will be conducted according to original sampling time setting.
AS04AD-A,
Model name AS-F2AD AS08AD-A, AS02LC-A PLC built-in AD
AS06XA-A
Sampling time
specified 2 ms 2 ms 10 ms 2 ms 6_
mandatorily
4. Group specifies the group number for the analog input modules connected to the right side of the PLC or the
remote modules. The number of the PLC CPU is 0, the number of the first remote module is 1, and so forth. The
5. Module specifies a module number. If the input channel is an analog input channel built in the PLC CPU, the value
must be set to 0. If the input channel is an analog input channel of the AS-F2AD function card, set the operand to
Module Description
0 PLC built-in analog input channels
1 The 1st extension module number on the right of the PLC
2 The 2nd extension module number on the right of the PLC
According to the above arrangement rule, a maximum of 32 extension modules can be
3 ~ 32
connected on the right side of the PLC.
33 Function card slot 1
34 Function card slot 2
6-555
AS Ser ies Pro gra mm in g M anu al
6. ChNo specifies the channel number for using the low-pass filter.
Module ChNo Description
1 Analog input channel 1 built in the PLC CPU
0
2 Analog input channel 2 built in the PLC CPU
1 Input channel 1 of the 1st extension module
1
2~8 Input channels 2 ~ 8 of the 1st extension module
1 Input channel 1 of the 2nd extension module
2
2~8 Input channels 2 ~ 8 of the 2nd extension module
3 ~ 32 Follow the same rules as the previous ones shown above.
33 1 Analog input channel 1 of AS-F2AD in Function card slot 1
33 2 Analog input channel 2 of AS-F2AD in Function card slot 1
34 1 Analog input channel 1 of AS-F2AD in Function card slot 2
34 2 Analog input channel 2 of AS-F2AD in Function card slot 2
7. Fcutoff is the cut-off frequency of the low-pass filter; the setting range is as follows:
Model name Range of Fcutoff value Characteristic
_6
AS08AD-B,
-100
AS08AD-C,
AS06XA-A 0.001fc 0.01fc 0.1fc fc 10fc 100fc
Frequency
LPF 5Hz, 10Hz and 20Hz correspond to to the magnitudes:
0
Magnitude (dB)
0: 5Hz -20
6-556
Cha p ter 6 App l ied Ins truc tio ns
Magnitude (dB)
-20
-40
-60
0 10 20 30 40 50 60 70 80 90
Frequency (Hz)
100
Input Signal
Weight (g)
Filtered Signal
30
Filter Mode Delay Time (T)
20 LPF 5Hz 320ms
LPF 10Hz 320ms
0 LPF 20Hz 320ms
LPF 50/60Hz 100ms
0 Time t
8. Before modifying any parameters during execution, you need to disable MLPF instruction first. After the
modification is complete, enable the instruction again.
9. Refer to the following table for the description of error codes (ErrCode) when the error flag Error is ON.
Error code Description 6_
0x1400 The function is not supported by the device.
0x1401 The group number or module number is not set properly.
0x1402 The channel does not exist in the module.
0x1403 Fcutoff value exceeds the set range.
0x1404 No response from the module and communication timeout
The digital low-pass filter function for the specified channel has been enabled.
0x1405
Repeatedly specifying the same channel is forbidden.
6-557
AS Ser ies Pro gra mm in g M anu al
Example 1
1. Take AS218 built-in analog input channel 1 as an example, set Group = 0, Module = 0, ChNo = 1, Fcutoff = 10
(Hz).
2. The frequency of the digital low-pass filter corresponds to the magnitude as follows.
-20
Magnitude (dB)
Slope: -40dB/decade
-40
-60
-80
-100
8
Voltage (V)
_6 4
2 Input Siganl
Filtered Signal
0 Time t
6-558
Cha p ter 6 App l ied Ins truc tio ns
Example 2
1. Take input channel 2 of the first AS02LC-A on the right side of the PLC CPU for example, set Group = 0, Module =
1, ChNo = 2, Fcutoff = 3 (50/60Hz).
2. The frequency of the digital low-pass filter corresponds to the magnitude as follows.
0
Magnitude (dB)
-20
-40
-60
0 10 20 30 40 50 60 70 80 90
Frequency (Hz)
3. Input the signal for testing:
The load cell signal plus 50Hz sinusoidal noise is shown in the blue waveform below. After it passes through the low-
pass filter (LPF), a red waveform is output and it can be seen that the 50Hz sinusoidal wave is significantly attenuated
100ms
100
Weight (g)
30
20
0
6_
Input Signal
Filtered Signal
0 Time t
6-559
AS Ser ies Pro gra mm in g M anu al
6-560
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
S : Source value
D : Sine value
Explanation
1. This instruction finds the sine of the value in S and stores it in D. The state of SM695 determines whether the
source value in S is in radians or degrees. 6_
Degree=Radian×180/π. (0o≦Degree≦3600)
5. The following graph shows the relation between radian and sine values.
6-561
AS Ser ies Pro gra mm in g M anu al
Example
When X0.0 is ON, the BIN instruction converts the binary-coded decimal value in X1.15–X1.0 into the binary value, and
stores the conversion result in D0. The FLT instruction converts the binary value in D0 into a floating-point number, and
stores the conversion result in (D11, D10). The FRAD instruction converts a floating-point number in (D11, D10) into
radians, and stores the conversion result in (D21, D20). The FSIN instruction finds the sine of the radian value in (D21,
D20), and stores it in (D31, D30). The sine value is a floating-point number.
Additional remarks
1. If the value in S exceeds the range of values that can be represented by floating-point numbers, the instruction is
not executed, SM0 is ON, and the error code in SR0 is 16#2013.
2. If SM695 is ON, and the value in S is not between 0–360, the instruction is not executed, SM0 is ON, and the error
code is 16#2003.
6-562
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
S : Source value
D : Cosine value
Explanation
1. This instruction finds the cosine of the value in S and stores it in D. The state of SM695 determines whether the
Degree=Radian×180/π. (0o≦Degree≦3600)
5. The following graph shows the relation between radians and cosine values.
6-563
AS Ser ies Pro gra mm in g M anu al
Example
When X0.0 is ON, the BIN instruction converts the binary-coded decimal value in X1.15–X1.0 into the binary value, and
stores the conversion result in D0. The FLT instruction converts the binary value in D0 into a floating-point number, and
stores the conversion result in (D11, D10). The FRAD instruction converts a floating-point number in (D11, D10) into
radians, and stores the conversion result in (D21, D20). The FCOS instruction finds the cosine of the radian value in
(D21, D20) and stores it in (D31, D30). The cosine value is a floating-point number.
Additional remarks
1. If the value in S exceeds the range of values that can be represented by floating-point numbers, the instruction is
not executed, SM0 is ON, and the error code in SR0 is 16#2013.
2. If SM695 is ON, and the value in S is not between 1–360, the instruction is not executed, SM0 is ON, and the error
code is 16#2003.
6-564
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
S : Source value
D : Tangent value
Explanation
1. This instruction finds the tangent of the value in S and stores it in D. The state of SM695 determines whether the
Degree=Radian×180/π. (0o≦Degree≦3600)
5. The following graph shows the relation between radians and tangent values.
6-565
AS Ser ies Pro gra mm in g M anu al
Example
When X0.0 is ON, the BIN instruction converts the binary-coded decimal value in X1.15–X1.0 into the binary value, and
stores the conversion result in D0. The FLT instruction converts the binary value in D0 into the floating-point number, and
stores the conversion result in (D11, D10). The FRAD instruction converts the floating-point number in (D11, D10) into
radians, and stores the conversion result in (D21, D20). The FTAN instruction finds the tangent of the radian value in
(D21, D20) and stores it in (D31, D30). The tangent value is a floating-point number.
_6
6-566
Ch ap te r 6 Ap pl ie d Instruc ti ons
Additional remarks
1. If the value in S exceeds the range of values that can be represented by floating-point numbers, the instruction is
not executed, SM0 is ON, and the error code in SR0 is 16#2013.
2. If SM695 is ON, and the value in S is not between 0–360, the instruction is not executed, SM0 is ON, and the error
code is 16#2003.
6_
6-567
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
S : Source value
D : Arcsine value
_6 Explanation
1. This instruction finds the arcsine of the value in S and stores it in D. Arcsine value=sin-1
The following graph shows the relation between sine and arcsine values.
6-568
Ch ap te r 6 Ap pl ie d Instruc ti ons
Example
When X0.0 is ON, the instruction finds the arcsine of the floating-point number in (D1, D0) and stores it in (D11, D10).
The FDEG instruction converts the arcsine value in (D11, D10) into degrees, and stores the conversion result in (D21,
D20). The DINT instruction converts the degree value in (D21, D20) into the integer, and stores the conversion result in
(D31, D30). The BCD instruction converts the integer in (D31, D30) into the binary-coded decimal value, and stores the
Additional remarks
1. The floating-point number specified by the operand S must be between –1.0 to 1.0. If the floating-point number is
not in that range, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#2003.
2. If the value in S exceeds the range of values that can be represented by floating-point numbers, the instruction is
not executed, SM0 is ON, and the error code in SR0 is 16#2013.
6-569
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
S : Source value
D : Arccosine value
Explanation
1. This instruction finds the arccosine of the value in S and stores it in D. Arccosine value=cos-1
The following graph shows the relation between cosine and arccosine values.
_6
2. If the absolute value of the conversion result is larger than the value that can be represented by the maximum
3. If the absolute value of the conversion result is less than the value that can be represented by the minimum
6-570
Ch ap te r 6 Ap pl ie d Instruc ti ons
Example
When X0.0 is ON, the FACOS instruction finds the arccosine of the floating-point number in (D1, D0) and stores it in
(D11, D10). The FDEG instruction converts the arccosine value in (D11, D10) into degrees, and stores the conversion
result in (D21, D20). The DINT instruction converts the degrees value in (D21, D20) into an integer, and stores the
conversion result in (D31, D30). The BCD instruction converts the integer in (D31, D30) into a binary-coded decimal
Additional remarks
1. The floating-point number specified by the operand S must be between –1.0 to 1.0. If the floating-point number is
not in the range, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#2003.
2. If the value in S exceeds the range of values that can be represented by floating-point numbers, the instruction is
not executed, SM0 is ON, and the error code in SR0 is 16#2013.
6-571
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
S : Source value
D : Arctangent value
Explanation
_6
1. This instruction finds the arctangent of the value in S and stores it in D. Arctangent value=tan-1
2. The following graph shows the relation between tangent and arctangent values.
6-572
Ch ap te r 6 Ap pl ie d Instruc ti ons
Example
When X0.0 is ON, the FATAN instruction finds the arctangent of the floating-point number in (D1, D0) and stores it in
(D11, D10). The FDEG instruction converts the arctangent value in (D11, D10) is converted into degrees, and stores the
conversion result in (D21, D20). The DINT instruction converts the degree in (D21, D20) into the integer, and stores the
conversion result in (D31, D30). The BCD instruction converts the integer in (D31, D30) into the binary-coded decimal
Additional remarks
If the value in S exceeds the range of values that can be represented by floating-point numbers, the instruction is not
executed, SM0 is ON, and the error code in SR0 is 16#2013.
6-573
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
S :
D :
Explanation
_6 1. This instruction finds the hyperbolic sine of the value in S and stores it in D. Hyperbolic sine value=(es-e-s)/2.
2. If the absolute value of the conversion result is larger than the value that can be represented by floating-point
3. If the absolute value of the conversion result is less than the value that can be represented by floating-point
Example
1. When X0.0 is ON, the instruction finds the hyperbolic sine of the floating-point number in (D1, D0) and stores it in
(D11, D10). The hyperbolic sine value in (D11, D10) is a floating-point number.
6-574
Ch ap te r 6 Ap pl ie d Instruc ti ons
S Single-pr ecision
D1 D0
floati ng- poi nt number
2. If the absolute value of the conversion result is larger than the value that can be represented by floating-point
numbers, SM602 is ON.
3. If the absolute value of the conversion result is less than the value that can be represented by floating-point
numbers, SM601 is ON.
Additional remarks
If the value in S exceeds the range of values that can be represented by floating-point numbers, the instruction is not
executed, SM0 is ON, and the error code in SR0 is 16#2013.
6_
6-575
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
S : Source value
Explanation
_6 1. This instruction finds the hyperbolic cosine of the value in S and stores it in D. Hyperbolic cosine value=(es+e-s)/2.
2. If the absolute value of the conversion result is larger than the value that can be represented by floating-point
3. If the absolute value of the conversion result is less than the value that can be represented by floating-point
Example
1. When X0.0 is ON, the instruction finds the hyperbolic cosine of the floating-point number in (D1, D0) and stores it
in (D11, D10). The hyperbolic cosine value in (D11, D10) is a floating-point number.
6-576
Ch ap te r 6 Ap pl ie d Instruc ti ons
S D1 D0 Single-pr ecision
floati ng- point number
2. If the absolute value of the conversion result is larger than the value that can be represented by floating-point
3. If the absolute value of the conversion result is less than the value that can be represented by floating-point
Additional remarks
If the value in S exceeds the range of values that can be represented by floating-point numbers, the instruction is not
executed, SM0 is ON, and the error code in SR0 is 16#2013.
6_
6-577
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
S : Source value
Explanation
1. This instruction finds the hyperbolic tangent of the value in S and stores it in D.
Hyperbolic tangent value=(es-e-s)/(es+e-s).
Example
1. When X0.0 is ON, the instruction finds the hyperbolic tangent of the floating-point number in (D1, D0) and stores it
in (D11, D10). The hyperbolic tangent value in (D11, D10) is a floating-point number.
Single- pr ecision
S D1 D0
floati ng- point number
6-578
Ch ap te r 6 Ap pl ie d Instruc ti ons
Additional remarks
If the value in S exceeds the range of values that can be represented by floating-point numbers, the instruction is not
executed, SM0 is ON, and the error code in SR0 is 16#2013.
6_
6-579
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
Explanation
1. This instruction converts the degrees value in S into radians, and stores it in D.
_6
2. Radian=Degree×(π/180).
Example
When X0.0 is ON, the instruction converts the degree value in (D1, D0) to the radians value, and stores the conversion
Degree
S D1 D0
F loating- point number
6-580
Ch ap te r 6 Ap pl ie d Instruc ti ons
Additional remarks
If the value in S exceeds the range of values that can be represented by floating-point numbers, the instruction is not
executed, SM0 is ON, and the error code in SR0 is 16#2013.
6_
6-581
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
Explanation
2. Degree=Radian×(180/π).
_6
3. If the absolute value of the conversion result is larger than the value that can be represented by floating-point
4. If the absolute value of the conversion result is less than the value that can be represented by floating-point
Example
When X0.0 is ON, the instruction converts the radians values in (D1, D0) to the degree value, and stores the conversion
6-582
Ch ap te r 6 Ap pl ie d Instruc ti ons
Radian
S D1 D0 Fl oating-point number
Additional remarks
If the value in S exceeds the range of values that can be represented by floating-point numbers, the instruction is not
executed, SM0 is ON, and the error code in SR0 is 16#2013.
6_
6-583
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
Symbol
S : Source value
Explanation
_6 1. This instruction calculates the square root of the value in S, and stores the result in the device specified by D.
2. The operation result stored in D is an integer. If a floating-point number is rounded down to the nearest whole digit,
SM601 is ON.
4. Only the 32-bit instructions can use the 32-bit counter, but not the device E.
Example
When X0.0 is ON, the instruction calculates the square root of the value in D0, and stores the result in D10.
6-584
Ch ap te r 6 Ap pl ie d Instruc ti ons
Additional remarks
The value in S only can be a positive value. If the value in S is a negative value, an operation error occurs, the instruction
is not executed, SM0 is ON, and the error code in SR0 is 16#2003.
6_
6-585
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
S : Source value
Explanation
1. This instruction calculates the square root of the floating-point number in S, and stores the result in the device
specified by D.
Example 1
When X0.0 is ON, the instruction calculates the square root of the floating-point number in (D1, D0), and stores the result
in (D11, D10).
Additional remarks
The value in S only can be a positive value. If the value in S is a negative value, an operation error occurs, the instruction
is not executed, SM0 is ON, and the error code in SR0 is 16#2003.
6-586
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
Explanation
1. This function calculates the value of the number e raised to the power in S. Exponentiation involves two numbers,
register, and the number in the device specified by S should be a floating-point number.
4. The value in the register specified by D is eS (e is 2.71828, and S represents the source value).
5. If the absolute value of the conversion result is larger than the value that can be represented by floating-point
numbers, the value in the register specified by D is 16#7F800000, and SM602 is ON.
Example
1. When X0.0 is ON, the DFLT instruction converts the value in (D1, D0) into a floating-point number, and stores the
2. When X0.1 is ON, the FEXP instruction performs the exponentiation with the value in (D11, D10), and stores the
6-587
AS Ser ies Pro gra mm in g M anu al
_6
6-588
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
Symbol
S2 : Source value
Device where the operation result is
D :
stored
Explanation
1. This instruction calculates the logarithm of the value in S2 with respect to the value in S1, and stores the single- 6_
precision floating-point operation result in D.
3. S1D=S2.→D=LogS1S2.
4. Example: suppose the values in S1 and S2 are 5 and 125 respectively. Find log5125 (log base 5 of the number
125).
5. S1D=S2.→5D=125.→D=log5125=3.
Example
1. When X0.0 is ON, the DFLT instruction converts the values in (D1, D0) and (D3, D2) into the floating-point
numbers, and stores the conversion results in (D11, D10) and (D13, D12) respectively.
2. When X0.1 is ON, the FLOG instruction calculates the logarithm of the floating-point number in (D13, D12) with
6-589
AS Ser ies Pro gra mm in g M anu al
respect to the floating-point number in (D11, D10), and stores the operation result in (D21, D20).
Additional remarks
If the value in S1 is less than or equal to 1, or if the value in S2 is less or equal to 0, the instruction is not executed, SM0
is ON, and the error code in SR0 is 16#2003.
_6
6-590
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
S : Source value
Explanation
1. This instruction calculates the natural logarithm of the operand S in a single-precision floating-point operation.
6_
3. eD=S.→The value in D=lnS.
Example
1. When X0.0 is ON, the DFLT instruction converts the value in (D1, D0) into the floating-point number, and stores the
2. When X0.1 is ON, the FLN instruction calculates the natural logarithm of the floating-point number in (D11, D10),
6-591
AS Ser ies Pro gra mm in g M anu al
Additional remarks
If the value in S is less than or equal to 0, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
_6
6-592
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
Symbol
S1 : Source value
S2 : Exponent value
Device where the operation result is
D :
stored
Explanation
1. This instruction raises the single-precision floating-point number in S1 to the power of the value in S2, and stores 6_
the single-precision floating-point operation result in D.
2. D=POW[S1+1,S1]^[S2+1,S2]
3. For PLC with firmware V1.10.00 or previous versions, the value in S1 only can be a positive number, but the value
4. For PLC with firmware V1.10.10 or later versions, if the value in S1 is a positive number, the value in S2 can be
either a positive or a negative number. If the value in S1 is a negative number, the value in S2 should be an integer
number either positive or negative.
6. If the absolute value of the operation result is larger than the value that can be represented by floating-point
7. If the absolute value of the operation result is less than the value that can be represented by floating-point
6-593
AS Ser ies Pro gra mm in g M anu al
Example
1. When X0.0 is ON, the DFLT instruction converts the values in (D1, D0) and (D3, D2) into floating-point numbers,
and stores the conversion results in (D11, D10) and (D13, D12) respectively.
2. When X0.1 is ON, the FPOW instruction raises the floating-point number in (D11, D10) to the power of the floating-
point number in (D13, D12), and stores the operation result in (D21, D20).
3. When X0.2 is ON, the FBCD instruction converts the binary floating-point number in (D21, D20) into the binary-
coded decimal floating-point number, and stores the conversion result in (D31, D30).
_6
Additional remarks
1. For PLC with firmware V1.10.00 or previous versions, if the value in S1 is less than 0, the instruction is not executed,
SM0 is ON, and the error code in SR0 is 16#2003.
2. For PLC with firmware V1.10.10 or later versions, if the value in S1 is less than 0, and the value in S2 is NOT an
integer number, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#2003.
3. If the value in S1 is 0, and the value in S2 is less than or equals to 0, the instruction is not executed, SM0 is ON, and
the error code in SR0 is 16#2003.
6-594
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
Symbol
S1 : Minimum value
S2 : Maximum value
Explanation
1. This instruction generates a random number between the minimum value in S1 and the maximum value in S2, and 6_
then stores the result in D.
2. If the value in S1 is larger than the value in S2, the instruction takes the values in S1 and S2 as the maximum value
and the minimum value respectively.
Example
When X0.0 is ON, the instruction generates a random number between the minimum value in D0 and the maximum
Additional remarks
The values in S1 and S2 must be between 0–32767. If the value in S1 or S2 exceeds the range, the instruction is not
executed, SM0 is ON, and the error code in SR0 is 16#2003.
6-595
AS Ser ies Pro gra mm in g M anu al
_6
6-596
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
D
Symbol
Explanation
1. This instruction reads the current time from the built-in real time clock in the CPU module, and stores the current
6_
time in D.
3. The built-in real-time clock provides the year, the week, the moth, the day, the minute, and the second. The data is
stored in SR391–SR397.
4. The last two digits of the year number for A.D. are stored in SR391.
Example
When M0 is ON, the instruction reads the current time from the real-time clock into D0–D6. The value 1 in SR397
represents Monday, the value 2 represents Tuesday, and this continues to the value 7 represents Sunday.
6-597
AS Ser ies Pro gra mm in g M anu al
Additional remarks
1. If D+6 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
2. When SM220 is ON, the real-time clock is calibrated within ±30 seconds. If the value of the seconds read from the
real-time clock is between 0–29, the instruction clears the seconds value to zero. If the value of the seconds read
from the real-time clock is between 30–59, the instruction increments the value of the minute by one, and clears
6-598
Ch ap te r 6 Ap pl ie d Instruc ti ons
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
Symbol
S : Data source
Explanation
1. This instruction adjusts the built-in real-time clock in the CPU module by writing the correct current time in S into
the built-in real-time clock.
2. The operand S occupies seven consecutive devices. (Use 24 hour time format)
3. The instruction instantly writes the new setting time into the real-time clock in the PLC. 6_
4. Make sure that when the instruction executes, the new setting time in S is consistent with the actual time.
5. It is suggested to use it as a pulse instruction. If the contact is normally open, the instruction is executed to write
the time constantly. But the PLC only writes the time at the first scan. If the built-in real-time clock needs to be
updated, you can close the contact for a scan time and then execute this instruction again to update the clock.
Example
When M0 is ON, the instruction writes the correct current time into the built-in real-time clock in the PLC.
6-599
AS Ser ies Pro gra mm in g M anu al
Additional remarks
1. If the value in S exceeds the range, an operation error occurs, the instruction is not executed, SM is ON, and the
error code in SR is 16#2003.
2. If S+6 exceeds the device range, an operation error occurs, the instruction is not executed, SM is ON, and the
error code in SR is 16#2003.
3. If you declare the operand S in ISPSoft, the data type is ARRAY [7] of WORD/INT.
_6
6-600
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
Symbol
S1 : Source device 1
S2 : Source device 2
Explanation 6_
1. This instruction adds the value of the hour, the minute, and the second in the real-time clock specified by S2 to the
value of the hour, the minute, and the second in the real-time clock specified by S1, and then stores the sum in the
register specified by D.
2. The operands S1, S2, and D each occupy three consecutive devices.
3. If the sum is larger than or equal to 24 hours, SM602 is ON, and the instruction subtracts 24 hours from the sum
4. If the sum is zero (zero hour zero minute zero second), SM600 is ON.
Example
When M0 is ON, the instruction adds the value of the hour, the minute, and the second in D10–D12 to the value of the
hour, the minute, and the second in D0–D2, and stores the sum in D20–D22.
6-601
AS Ser ies Pro gra mm in g M anu al
Additional remarks
1. If the value in S1 or S2 exceeds the range, an operation error occurs, the instruction is not executed, SM0 is ON,
and the error code in SR0 is 16#2003.
2. If S1+2, S2+2, or D+2 exceeds the device range, an operation error occurs, the instruction is not executed, SM0 is
ON, and the error code in SR0 is 16#2003.
3. If you declare the operand S1 in ISPSoft, the data type is ARRAY [3] of WORD/INT.
4. If you declare the operand S2 in ISPSoft, the data type is ARRAY [3] of WORD/IN.
If you declare the operand D in ISPSoft, the data type is ARRAY [3] of WORD/INT.
_6
5.
6-602
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
Symbol
S1 : Source device 1
S2 : Source device 2
Explanation
1. This instruction subtracts the value of the hour, the minute, and the second in the real-time clock specified by S2 6_
from the value of the hour, the minute, and the second in the real-time clock specified by S1, and stores the
2. The operands S1, S2, and D all occupy three consecutive devices.
3. If the difference is a negative, SM601 is ON, and the instruction adds 24 hours to the difference and then stores
the result in D.
4. If the difference is zero (zero hour zero minute zero second), SM600 is ON.
Example
1. When M0 is ON, the instruction subtracts the value of the hour, the minute, and the second in D10–D12 from the
value of the hour, the minute, and the second in D0–D2, and stores the difference in D20–D22.
6-603
AS Ser ies Pro gra mm in g M anu al
Additional remarks
1. If the value in S1 or S2 exceeds the range, an operation error occurs, the instruction is not executed, SM0 is ON,
and the error code in SR0 is 16#2003.
2. If S1+2, S2+2, or D+2 exceeds the device range, an operation error occurs, the instruction is not executed, SM0 is
ON, and the error code in SR0 is 16#2003.
3. If you declare the operand S1 in ISPSoft, the data type is ARRAY [3] of WORD/INT.
If you declare the operand S2 in ISPSoft, the data type is ARRAY [3] of WORD/INT.
_6
4.
5. If you declare the operand D in ISPSoft, the data type is ARRAY [3] of WORD/INT.
6-604
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D1
D2
Symbol
Time after which the output
S :
device is ON
D1 : Current time
D2 : Output device
Explanation
1. This instruction switches the output device specified by D2 to ON after the amount of time in S. 6_
3. D1: The current time (Unit: Hour). The value in D1 must be between 0–32,767.
D1+1: The current time which is less than one hour (Unit: Second). The value in D1+1 should be between 0–3,599.
D1+2 is for system use only. The value in it cannot be altered when the instruction is executed; otherwise, an error
occurs.
When the current time is 32,767 hour 3,599 second, the timer stops counting. After the values in D1 and D1+1 are
cleared to 0, the timer starts to count again.
4. When the time for which the input contact has been ON reaches the setting time in S, the output device is ON.
Before that the output device is not ON. This function allows you to manage the running time of the machine and
maintenance.
6-605
AS Ser ies Pro gra mm in g M anu al
6. When using on-line editing, reset the conditional contact to initialize the instruction.
Example 1
When X0.0 is ON, the instruction timer starts to count. When the time for which X0.0 has been ON reaches 100 hours,
Y0.0 is ON. The current time is recorded in D0, and the current time which is less than one hour is recorded in D1. D2 is
for system use. The value in it cannot be altered; otherwise, an error occurs.
Additional remarks
1. When S is less than or equal to 0, the instruction is not executed, and the state of the output device is unchanged.
2. If the value in D1 is less than 0, the state of the output device is unchanged.
3. If D1+2 exceeds the device range, an operation error occurs, the instruction is not executed, SM0 is ON, and the
_6 error code in SR0 is 16#2003.
4. If you declare the operand D1 in ISPSoft, the data type is ARRAY [3] of WORD/INT.
6-606
Ch ap te r 6 Ap pl ie d Instruc ti ons
Device
X Y M S T C HC D FR SM SR E K 16# “$” F
S1
S2
S3
S
D
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
S
D
Symbol
S : Current time
D : Comparison result
Explanation
1. This instruction compares the value of the hour, the minute, and the second specified by S1–S3 with the value of
the hour, the minute, and the second in the devices starting from the device specified by S, and stores the
comparison result in D.
2. The hour of the current time is in the device specified by S, and the value of the hour between 0–23. The minute of
the current time is in the device specified by S+1, and the value of the minute must be between 0–59. The second
of the current time is in the device specified by S+2, and the value of the second must be between 0–59.
3. The operand D occupies three consecutive devices. The comparison result is stored in D, D+1, and D+2.
4. In general, use the TRD instruction (API 1600) to read the current time from the real-time clock first, and then use
5. If the setting time in S1-S3 is larger than the current time in S, D is ON, D+1 is OFF, and D+2 is OFF.
6-607
AS Ser ies Pro gra mm in g M anu al
6. If the setting time in S1-S3 is equal to the current time in S, D is OFF, D+1 is ON, and D+2 is OFF.
7. If the setting time in S1-S3 is less than the current time in S, D is OFF, D+1 is OFF, and D+2 is ON.
Example
1. When X0.0 is ON, the instruction compares the setting time 12 hour 20 minute 45 second with the current time in
D20–D22, and stores the comparison result in M10–M12. When X0.0 switches from ON to OFF, the instruction is
not executed, and the states of M10, M11, and M12 remain the same as they were before X0.0 switched to ON.
2. If you want to get the comparison result ≧, ≦, or ≠, you can connect M10–M12 in series or in parallel.
_6
Additional remarks
1. If S+2 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
2. If D+2 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
3. If the value in S exceeds the range, an operation error occurs, the instruction is not executed, SM0 is ON, and the
error code in SR0 is 16#2003.
4. If the values in S1–S3 exceed the range, an operation error occurs, the instruction is not executed, SM0 is ON, and
the error code in SR0 is 16#2003.
6-608
Ch ap te r 6 Ap pl ie d Instruc ti ons
5. If you declare the operand S in ISPSoft, the data type is ARRAY [3] of WORD.
6. If you declare the operand D in ISPSoft, the data type is ARRAY [3] of BOOL.
6_
6-609
AS Ser ies Pro gra mm in g M anu al
Device
X Y M S T C HC D FR SM SR E K 16# “$” F
S1
S2
S
D
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S
D
Symbol
S : Current time
_6 D : Comparison result
Explanation
1. This instruction compares the current time specified by S with the lower limit time specified by S1, and with the
upper limit time specified by S2, and stores the comparison result in D.
2. The hour of the lower limit time is in the device specified by S1, the minute of the lower limit time is in the device
specified by S1+1, and the second of the lower limit time is in the device specified by S1+2.
3. The hour of the upper limit time is in the device specified by S2, the minute of the upper limit time is in the device
specified by S2+1, and the second of the upper limit time is in the device specified by S2+2.
4. The hour of the current time is in the device specified by S, the minute of the current time is in the device specified
by S+1, and the second of the current time is in the device specified by S+2.
5. The time in the device specified by S1 must be less than the time in the device specified by S2. If the time in the
device specified by S1 is larger than the time in the device specified by S2, the instruction takes the time in the
device specified by S1 as the upper limit time during the execution of the instruction.
6. In general, use the TRD instruction (API 1600) to read the current time from the real-time clock first, and then use
6-610
Ch ap te r 6 Ap pl ie d Instruc ti ons
7. If the current time in the device specified by S is less than the lower limit time in the device specified by S1, and is
less than the upper limit time in the device specified by S2, D is ON. If the current time in the device specified by S
is larger than the lower limit time in the device specified by S1, and is larger than the upper limit time in the device
Example
When X0.0 is ON, the TZCP instruction is executed. M10, M11, or M12 is ON. When X0.0 is OFF, the instruction is not
executed, the state of M10, the state of M11, and the state of M12 remain the same as before X0.0 switched to ON.
6_
Additional remarks
1. If S1+2, S2+2, S+2, or D+2 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code
in SR0 is 16#2003.
2. If the values in S1, S2, and S exceed the range, an operation error occurs, the instruction is not executed, SM0 is
ON, and the error code in SR0 is 16#2003
3. If you declare the operand S1 in ISPSoft, the data type is ARRAY [3] of WORD/INT.
4. If you declare the operand S2 in ISPSoft, the data type is ARRAY [3] of WORD/INT.
5. If you declare the operand S in ISPSoft, the data type is ARRAY [3] of WORD/INT.
6. If you declare the operand D in ISPSoft, the data type is ARRAY [3] of BOOL.
6 - 6 11
AS Ser ies Pro gra mm in g M anu al
1607 DST P S, S1, S2, S3, S4, S5, D Daylight saving time
Device
X Y M S T C HC D FR SM SR E K 16# “$” F
S
S1
S2
S3
S4
S5
D
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
S1
S2
S3
S4
S5
D
_6 Symbol
6-612
Ch ap te r 6 Ap pl ie d Instruc ti ons
Explanation
Firmware version before V1.04 (V1.04 excluded) supports the following function codes:
Firmware version after V1.04 (V1.04 included) supports the following function codes:
Note 2: Read more for information on the various modes in the following sections.
S=1 (daylight saving time mode 1 enabled), S2: settings for the date to start daylight saving time
S=3 (daylight saving time mode 2 enabled), S2: settings for the week to start daylight saving time, S2+1: on which
weekday of S2
S=1 (daylight saving time mode 1 enabled), S4: settings for the date to end daylight saving time
6-613
AS Ser ies Pro gra mm in g M anu al
S=3 (daylight saving time mode 2 enabled), S4: settings for the week to end daylight saving time, S2+1: on which
weekday of S4
S5: settings for the change due to daylight saving time; unit: minute
D: stores the state of the daylight saving time; when the value in D is OFF, daylight saving time is disabled. When the
2. Descriptions on the value in function code S for daylight saving time functions
saving time, the values in S1–S5 are irrelevant and the operand D shows the daylight saving time state as OFF.
daylight saving time; S3 and S4: setting for the month to end daylight saving time; S5: settings for the change
due to daylight saving time; unit: minute; the operand D shows the daylight saving time state. When the
function of daylight saving time is enabled and the system runs for the first time during the start time (S1, S2),
_6 the system time adds the value set in S5 once. When the function of daylight saving time is disabled and the
system runs for the first time during the end time (S1, S2), the system time subtracts the value set in S5 once.
6-614
Ch ap te r 6 Ap pl ie d Instruc ti ons
Operand Description
Note 2: If the date is set incorrectly, the daylight saving function cannot be enabled. The SM0 is ON, and the
error code in SR0 is 16#200B. For example if a non-existed date is set, such as April 31, or the
starting date is set smaller than the ending date in a calendar year, for example starting date is
Note 3: If S5 is set out of range, the daylight saving function cannot be enabled. The SM0 is ON, and the error
6_
code in SR0 is 16#200B.
Operand Description
S2 S2: settings for the week to start daylight saving time; range: 1-4
S2+1 S2+1: on which weekday of the S2; range: 1-7 (Monday: 1, Tuesday: 2…, Sunday: 7)
S4 S4: settings for the week to end daylight saving time; range: 1-4
S4+1 S4+1: on which weekday of the S4; range: 1-7 (Monday: 1, Tuesday: 2…, Sunday: 7)
6-615
AS Ser ies Pro gra mm in g M anu al
Note 2: The setting range for S2 and S4 is 1— 4 or -1— -4. The value -1 indicates the last week of the month
and -2 indicates the last 2nd week. If the value in S2 is -2 and S2+1 is 7, it indicates the last 2 Sunday
of the month. If the date is set incorrectly, the daylight saving function cannot be enabled. The SM0 is
Note 3: If the value in S2+1 / S4+1 is out of range, the default setting value is 7, indicating Sunday.
Note 4: If S5 is set out of range, the daylight saving function cannot be enabled. The SM0 is ON, and the error
code in SR0 is 16#200B.
Note 5: If the device for operand S2 and S4 is K or 16#, the values are not saved, the SM0 is ON, and the error
code in SR0 is 16#2003.
When the operand S is 2, the function of daylight saving time is being read. S1 and S2: setting for the month to start
daylight saving time; S3 and S4: setting for the month to end daylight saving time; S5: settings for the change due to
daylight saving time; unit: minute. When S is set to read the state of the daylight saving function and the output state
of D is ON, the PLC saves the setting values in the operands S1–S5. The device is set to D while S is set to read. If
the device is set to K or 16#, the values are not saved, the SM0 is ON, and the error code in SR0 is 16#2003.
Devices with firmware version after V1.04 (V1.04 included) adds 4 to the function codes in S, after the daylight saving
state is read. For example, after the daylight saving state is read, the function codes 0, 1, 3 become 4, 5 and 7.
_6 When the DST state is OFF, the operand and descriptions are shown below.
Operand Description
When the DST state is ON and in mode 1, the operand and descriptions are shown below.
Operand Description
S After firmware V1.04 (V1.04 included), function code is 5, indicating the DST state is ON
and in mode 1.
6-616
Ch ap te r 6 Ap pl ie d Instruc ti ons
Operand Description
When the DST state is ON and in mode 2, the operand and descriptions are shown below.
Operand Description
3. This instruction is to enable / disable the daylight saving time function. Whether the contact is normally open or close
will not affect the daylight saving time setting. (refer to example 2 for more details on how to switch the contact M0
OFF=>ON) You can reset the daylight saving time by executing the instruction again. There is no need to disable
and then enable this function to reset the daylight saving time.
4. When setting the daylight saving time to start on April 1st and to end on September 1st, and the duration is 60 minutes;
6-617
AS Ser ies Pro gra mm in g M anu al
Example 1
D1 X Invalid operand
D2 X Invalid operand
Enable contact M0
Y0.0=OFF, indicating DST function is disabled.
Enable contact M1
6-618
Ch ap te r 6 Ap pl ie d Instruc ti ons
Example 2
Set the DST to start on 1st April and to end on 3rd September and the duration is 60 minutes.
6_
Setting values and descriptions:
Enable contact M0
The PLC system time adds 60 minutes when the date April 1st arrives, and subtracts 60 minutes when the date
6-619
AS Ser ies Pro gra mm in g M anu al
Enable contact M1
Setting
Device Description
Value
Use the instruction DST or HWCONFIG in ISPSoft to read the daylight saving state. The HWCONFIG converts the result
Enable the contact M0 OFF=>ON again; this act has no impact on the DST. The DST does not reset.
Setting
_6 Device Description
Value
If the daylight saving time starts from 3 o’clock of 1st April, 60 minutes is added; the real-time clock shows 4 o’clock of 1st
April. No matter how many times the contact M0 is disabled or enabled, the real-time clock keeps the same daylight
saving time.
6-620
Ch ap te r 6 Ap pl ie d Instruc ti ons
Example 3
Set the DST to start from the 2nd Wednesday of May and to end on 3rd Friday of September and the duration is 60
minutes.
Enable contact M0
For the year 2017, the 2nd Wednesday of May is 10th May and the 3rd Friday of September is 15th September. The PLC
system time adds 60 minutes when the date May 10th arrives and subtracts 60 minutes when the date September 15th
6-621
AS Ser ies Pro gra mm in g M anu al
Enable contact M1
Setting
Device Description
Value
Use the instruction DST or HWCONFIG in ISPSoft to read the daylight saving state. The HWCONFIG converts the result
_6
6-622
Ch ap te r 6 Ap pl ie d Instruc ti ons
Device
X Y M S T C HC D FR SM SR E K 16# “$” F
S1
S2
S3
S4
D
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
S4
D
Symbol
The hour to start working (occupies 7 consecutive
S1 :
devices)
The minute to start working (occupies 7 consecutive
S2 :
devices)
The hour to stop working (occupies 7 consecutive
6_
S3 :
devices)
The minute to stop working (occupies 7 consecutive
S4 :
devices)
D : Output control
Explanation
1. This instruction allows you to set the time to start working for the week. S1–S1+6 allows you to set the time on Sunday
/ Monday / Tuesday / Wednesday / Thursday / Friday / Saturday respectively. This operand occupies 7 consecutive
devices. You can use the variables in an ARRAY to declare the operands.
2. S2–S2+6 S1–S1+6 allows you to set the minutes to start working on Sunday / Monday / Tuesday / Wednesday /
Thursday / Friday / Saturday respectively. This operand occupies 7 consecutive devices. You can use the variables
3. S3–S3+6 allows you to set the hour to stop working on Sunday / Monday / Tuesday / Wednesday / Thursday / Friday /
Saturday respectively. This operand occupies 7 consecutive devices. You can use the variables in an ARRAY to
4. S4–S4+6 allows you to set the minutes to stop working on Sunday / Monday / Tuesday / Wednesday / Thursday /
6-623
AS Ser ies Pro gra mm in g M anu al
Friday / Saturday respectively. This operand occupies 7 consecutive devices. You can use the variables in an ARRAY
5. When the hour value in S1 is larger than the value set in S3, it means the time to stop working is the next day. For
example, when you set the time to start working at 18:00 on Monday and the time to stop working at 6:00, it means
Sunday S1 24 S2 00 S3 24 S4 00
6. The setting value for the hour is between 0–23. When the setting value is out of range, this function is not enabled.
The setting value for the minute is between 0–59. When the setting value is out of range, this function is enabled but
7. When it is required to set the work time to be more than 1 day, you can set the hour as 24, which means the system
does not check the start working time and the stop working time. For example, to set the start working time to 8 am
Monday and the stop working time to 8pm Tuesday, use S1+1=8, S3+1=24, S1+2 =24 and S3+2=20. See the formula
in the following table.
Sunday S1 24 S2 00 S3 24 S4 00
8. This instruction should work with the real-time clock in the PLC. Before operating, make sure the PLC battery is
9. There is no limit on the number of times you can execute the instruction but the output control device D cannot be
used repeatedly. If you use the device D repeatedly, only the last output result from the WWON instruction is executed.
10. If more than 1 set of work hours are needed, use the WWON instruction repeatedly as required. Note that you cannot
6-624
Ch ap te r 6 Ap pl ie d Instruc ti ons
Example 1
Set a working time from 8:00 to 18:00 from Monday to Friday and no work on Saturday and Sunday.
Example 2
Set a working time from 18:00 Monday to 08:00 Tuesday and from 18:00 Tuesday to 08: 00 Wednesday. Follow this pattern
6-625
AS Ser ies Pro gra mm in g M anu al
When M0 is ON, Y0.0 is ON from 18:00 to 8:00 the next day from Monday to Friday and for other times the Y0.0 is OFF.
Example 3
Set a working time from 08:00 to 12:00 and from 14:00 to 17:30 from Monday to Friday. No work on Saturday and Sunday.
_6
6-626
Ch ap te r 6 Ap pl ie d Instruc ti ons
The following table lists the settings in the morning for the device D.
The following table lists the settings in the afternoon for the device D.
When M0 is ON, Y0.0 is ON from 08:00 to 12:00 and 14:00 to 17:30 from Monday to Friday and for other times the Y0.0 is
OFF.
6-627
AS Ser ies Pro gra mm in g M anu al
_6
6-628
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D1
D2
Symbol
Explanation 6_
1. The ten external inputs starting from the input specified by S represents 0–9 in the decimal system. They are
connected to ten keys. You can enter a four-digit decimal value 0–9,999 (16-bit instruction) or an eight-digit
decimal value 0–99,999,999 (32-bit instruction) by pressing the keys in order. The instruction stores the decimal
3. The operand D2 occupies eleven bits. Please do not change the states of the bits during the execution of the
instruction.
4. When the conditional contact is not enabled, the eleven bits starting from the bit specified by D2 are OFF.
5. When using on-line editing, please reset the conditional contact to initialize the instruction.
6. You can use the 32-bit counter only when D1 uses 32-bit instructions.
6-629
AS Ser ies Pro gra mm in g M anu al
Example
1. The ten external inputs starting from X0.0 are connected to ten keys that represent 0–9 in the decimal system.
When M0 is ON, the instruction stores the value that you enter as a binary value in D0, and stores the output
signals in M10–M19.
0 1 2 3 4 5 6 7 8 9
24VDC
X0.0 X0.1 X0.2 X0.3 X0.4 X0.5 X0.6 X0.7 X0.8 X0.9 S/S
_6 0 1 2 3 4 5 6 7 8 9 Numeric keys
Ov erflowi ng 10
3 2
10 10
1
10
0
Binary -coded
decimal value
Binary
value D0
2. If the keys connected to X0.5, X0.3, X0.0, and X0.1 are pressed in the order shown in the timing chart, the
instruction stores the result 5,301 in D0. The maximum value that can be stored in D0 is 9,999. If the value
exceeds four digits, the first digit from the left overflows.
3. After the key connected to the X0.2 is pressed and before other keys are pressed, M12 is ON. The same applies to
the other keys.
6-630
Cha p ter 6 App l ied Ins truc tio ns
4. When a key connected to the input within the range between X0.0 and X0.9 is pressed, the corresponding output
within the range between M10 and M19 is ON.
6. When the conditional contact M0 is switched OFF, the value stored in D0 is unchanged; however, M10–M20 are
switched OFF.
X0.0 3
X0.1 4
X0.3 2
X0.5 1
M10
M11
M13
M15
Output si gnal
M20 1 2 3 4 6_
Additional remarks
1. If you declare the operand S in ISPSoft, the data type is ARRAY [10] of BOOL.
2. If you declare the operand D2 in ISPSoft, the data type is ARRAY [11] of BOOL.
6-631
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
type INT
S1
S2
D1
D2
D3
Symbol
D3 : Output signal
Explanation
1. The four external inputs starting from the input specified by S are connected to the four external outputs starting
from the output specified by D1 to form a 16-key keypad. The instruction stores the value that you enter by
pressing the keys in D2, and stores the output signals in D3. If you press several keys simultaneously, the value
that is smaller is stored.
2. The value that you enter by pressing the keys is temporarily stored in D2. For the 16-bit HKY instruction, the
maximum value that can be stored in D2 is 9,999. If the value exceeds four digits, the first digit from the left
overflows. For the 32-bit DHKY instruction, the maximum value that can be stored in D2 is 9,999. If the value
exceeds eight digits, the first digit from the left overflows.
3. After the instruction completes, SM692 is ON. That is, SM692 is ON for a scan cycle after the execution of the
6-632
Cha p ter 6 App l ied Ins truc tio ns
4. You can use the 32-bit counter only when D2 uses 32-bit instructions.
Example
1. The four external inputs X0.0–X0.3 are connected to the four external outputs Y0.0–Y0.3 to form a 16-key keypad.
When X1.0 is ON, the instruction stores the value that you enter as a binary value in D0, and stores the output
signals in M0–M7.
Numeric keys:
0 1 2 3 4 5 6 7 8 9 A B C D E F Kyes
Ov erflowi ng 16
3
16
2 1
16 16
0
6_
D0
Numeric keys:
0 1 2 3 4 5 6 7 8 9 Numeric keys
Ov erflowi ng 10
3
10
2
10
1
10
0
Bina ry -c oded
dec imal v alue
Binary
D0
value
6-633
AS Ser ies Pro gra mm in g M anu al
Function keys:
When A is pressed, M0 stays ON. When D is pressed, M0 switches OFF, and M3 stays ON.
If several function keys are pressed, the key which is pressed first has priority.
F E D C B A
M5 M4 M3 M2 M1 M0
2. Output signals:
3. When the conditional contact X1.0 switches to OFF, the value that was stored in D0 is unchanged. However, M0–
M7 are switched OFF.
C D E F
8 9 A B
4 5 6 7
_6
0 1 2 3
24VDC
+
X0.0 X0.1 X0.2 X0.3 S/S Y0.0 Y0.1 Y0.2 Y0.3 UP ZP
Additional remarks
1. When this instruction is executed, a too long or a too short scan cycle time will cause the state of the switches to
When the scan cycle is too short, the I/O may not be able to respond in time and cannot read the correct
states of the inputs. You can set a fixed scan time to solve this issue.
When the scan cycle is too long, the switch may become slow to react. You can write this instruction to a
2. If you declare the operand S in ISPSoft, the data type is ARRAY [4] of BOOL.
3. If you declare the operand D1 in ISPSoft, the data type is ARRAY [4] of BOOL.
4. If you declare the operand D3 in ISPSoft, the data type is ARRAY [8] of BOOL.
6-634
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D1
D2
n
Symbol
Explanation
1. The four or eight external inputs starting from the input specified by S1 are connected to the four external outputs
starting from the output specified by D1 to form a four-digit DIP switch or two four-digit DIP switches. The
instruction stores the value from the DIP switch in D2. Whether there is one four-digit DIP switch or two four-digit
DIP switches depends on n.
2. If n is 1, the operand D2 occupies one register. If n is 2, the operand D2 occupies two registers.
3. S2 and S2+1, are for system use only, and occupy two devices. Please do not alter the values in these devices.
5. When the conditional contact is not enabled, the four external outputs starting from the output specified by D1 stay
OFF.
6-635
AS Ser ies Pro gra mm in g M anu al
6. When using on-line editing, please reset the conditional contact to initialize the instruction.
Example
1. X0.0–X0.3 are connected to Y0.0–Y0.3 to form the first DIP switch, and X0.4–X0.7 are connected to Y0.0–Y0.3 to
form the second DIP switch. When X1.0 is ON, the instruction converts the value that you enter with the first DIP
switch into the binary value, and stores the conversion result in D20. The instruction converts the value that you
enter with the second DIP switch into the binary value, and stores the conversion result in D21.
2. When X1.0 is ON, Y0.0–Y0.3 are ON cyclically. After the instruction completes, SM694 is ON for a scan cycle.
X1.0
Cycli c ac tion
Y0.1 0.1s
Inter ruption
Y0.2 0.1s
_6 Y0.3 0.1s
T he execution of the
SM694 insturc iton is complete.
0 1 2 3
10 10 10 10
A dio de (1 N4 14 8) m u st
b e con ne cted i n series .
+
3 2 1 0
1 2 4 8 1 2 4 8 10 10 10 10
X 0 .0 X 0.1 X 0 .2 X 0 .3 X 0. 4 X 0.5 X 0.6 X0 .7 S /S Y 0.3 Y 0.2 Y 0.1 Y0 .0 UP ZP
6-636
Cha p ter 6 App l ied Ins truc tio ns
Additional remarks
1. If n exceeds the range, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#200B.
2. If you declare the operand D1 in ISPSoft, the data type is ARRAY [4] of BOOL.
6_
6-637
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
type INT
S1
S2
D1
D2
n
Symbol
n : Positive/Negative logic
Explanation
1. This instruction defines S1 as the down arrow, S1+1 as the up arrow, S1+2 as the right arrow, and S1+3 as the left
arrow. The instruction stores the setting value in D1, and the value must be between 0–9,999.
3. S2 is for system use only. Please do not alter the value in it.
5. When the conditional contact is disabled, the eight bit devices starting from the bit device specified by D2 stay OFF.
7. When using on-line editing, please reset the conditional contact to initialize the instruction.
6-638
Cha p ter 6 App l ied Ins truc tio ns
Example
1. The instruction defines X0.0 as the down arrow, X0.1 as the up arrow, X0.2 as the right arrow, and X0.3 as the left
arrow. The instruction stores the setting value in D20, and the setting value must be between 0–9,999.
2. When X1.0 is ON, the digit in the place 103 is selected. If the left arrow is pressed, the places are selected in
sequence (103→100→101→102→103→100).
3. If you press right arrow, the places are selected in sequence (103→102→101→100→103→102). The LED indicators
for the corresponding places are connected to Y0.4–Y0.7. When the digits in the places are selected in sequence,
4. If you press the up arrow, the digit in the place selected changes (0→1→2→…8→9→0→1). If you press the down
arrow, the digit in the place selected changes (0→9→8→…1→0→9). The new digit is shown on seven-segment
display.
Up arr ow
Y 0.4
Y0 .5
Y 0.6
X 0.1
6_
Y 0.7 LED indic ators
Left arrow X 0.3 X 0.2 Right arr ow
3 2 1 0
10 10 10 10
1 X 0.0
Y 0.0
2
Y 0.1
4
Y 0.2
Y 0.3
8 Down arrow
Additional remarks
1. If n exceeds the range, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#200B.
2. If you declare the operand S1 in ISPSoft, the data type is ARRAY [4] of BOOL.
3. If you declare the operand D2 in ISPSoft, the data type is ARRAY [8] of BOOLL.
6-639
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
n
Symbol
S1 : Source device
_6 n : Positive/Negative logic
Explanation
1. The eight external outputs starting from the output specified by D are connected to a four-digit seven-segment
display; or the twelve external outputs starting from the output specified by D are connected to two four-digit seven-
segment displays. Every place is equipped with a driver that converts a binary-coded decimal value into seven-
segment data, and every driver is equipped with a latch that can be used to store state information.
2. The value in S1 is the value to show on first seven-segment display, and the value in S1+1 is the value to show on
second seven-segment display.
3. S2 is for system use only. Please do not alter the value in it.
4. The operand n must be between 0–7. Please refer to the Additional remark for more information.
5. Whether there is one four-digit seven-segment display or two four-digit seven-segment displays, and whether an
6. If there is one four-digit seven-segment display, eight outputs are occupied. If there are two four-digit seven-
6-640
Cha p ter 6 App l ied Ins truc tio ns
7. When the instruction is executed, the outputs are ON cyclically. If the conditional contact switches from OFF to ON
during the execution of the instruction, the outputs are ON cyclically again.
8. After the execution of the instruction is complete, SM693 is ON for a scan cycle.
Example
1. When X1.0 is ON, the instruction is executed. Y0.0–Y0.4 form a circuit. The instruction converts the value in D10
into the binary-coded decimal value, and shows the conversion result on first seven-segment display. The
instruction converts the value in D11 into the binary-coded decimal value, and shows the conversion result on
second seven-segment display. If the value in D10 or D11 exceeds 9,999, an operation error occurs.
2. When X1.0 is ON, Y0.4–Y0.7 are ON cyclically. It takes twelve scan cycles for Y0.4–Y0.7 to be ON. After the
Connect the pins 1, 2, 4, and 8 in parallel, then connect them to Y0.0–Y0.3 on the PLC, and connect the 6_
latches to Y0.4–Y0.7 on the PLC.
When X1.0 is ON, the instruction is executed. Y0.4–Y0.7 are ON cyclically, and the value in D10 is shown on
seven-segment display.
Connect the pins 1, 2, 4, and 8 in parallel, then connect them to Y0.8–Y0.11 on the PLC, and connect the
The value in D10 is shown on first seven-segment display, and the value in D11 is shown on second seven-
segment display. If the values in D10 and D11 are 1234 and 4321 respectively, 1234 is shown on second
seven-segment display.
6-641
AS Ser ies Pro gra mm in g M anu al
5. The wiring:
Y0.0 Y0.1 Y0.2 Y0.3 Y0.4 Y0.5 Y0.6 Y0.7 Y0.8 Y0.9 Y0.10 Y0.11 UP ZP
0 1 2 3
1 2 4 8 +
10 10 10 10
24VDC
3 2 1 0 3 2 1 0
10 10 10 10 10 10 10 10
1
2 V+ 1
2 V+
4 4
8 8
Additional remarks
Whether an output is a positive output or a negative output, and whether there is one four-digit seven-
The outputs on the PLC should be NPN transistors whose collectors are open collectors. In addition, an
output has to connect a pull-up resistor to the DC power supply (less than 30 VDC). Therefore, when an
_6 Output
Binary-coded
(Binary-coded Signal
decimal value
decimal code)
b3 b2 b1 b0 8 4 2 1 A B C D
0 0 0 0 0 0 0 0 1 1 1 1
0 0 0 1 0 0 0 1 1 1 1 0
0 0 1 0 0 0 1 0 1 1 0 1
0 0 1 1 0 0 1 1 1 1 0 0
0 1 0 0 0 1 0 0 1 0 1 1
0 1 0 1 0 1 0 1 1 0 1 0
0 1 1 0 0 1 1 0 1 0 0 1
0 1 1 1 0 1 1 1 1 0 0 0
1 0 0 0 1 0 0 0 0 1 1 1
1 0 0 1 1 0 0 1 0 1 1 0
6-642
Cha p ter 6 App l ied Ins truc tio ns
Output
Binary-coded
(Binary-coded Signal
decimal value
decimal code)
b3 b2 b1 b0 8 4 2 1 A B C D
0 0 0 0 1 1 1 1 0 0 0 0
0 0 0 1 1 1 1 0 0 0 0 1
0 0 1 0 1 1 0 1 0 0 1 0
0 0 1 1 1 1 0 0 0 0 1 1
0 1 0 0 1 0 1 1 0 1 0 0
0 1 0 1 1 0 1 0 0 1 0 1
0 1 1 0 1 0 0 1 0 1 1 0
0 1 1 1 1 0 0 0 0 1 1 1
1 0 0 0 0 1 1 1 1 0 0 0
1 0 0 1 0 1 1 0 1 0 0 1
Number of seven-
One Two
segment displays
Output
(Binary-coded + - + -
decimal code)
Latch + - + - + - + -
n 0 1 2 3 4 5 6 7
You can edit the parameters in n to modify the logics for the output transistor and the input of the seven-
segment display.
6-643
AS Ser ies Pro gra mm in g M anu al
The following graphic shows the connection of the common-anode four-digit seven-segment display with IC
7447.
3 2 1 0
8 4 2 1 10 10 10 10
1K 120
B Vcc
C f
LT g 3 a f 2 1 b
+
5VDC RBO a
RBI b e d c h g 0
D c
A d
GND e
IC7447
C0
_6
6-644
Cha p ter 6 App l ied Ins truc tio ns
1817 MODRWE – – Reading and writing Modbus data without using any flags
6_
1818 DNETRW – – Reading and writing DeviceNet communication data
6-645
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
n
D
Symbol
n : Number of bytes
First device where the operation result is
D :
stored
_6 Explanation
1. This instruction performs a longitudinal parity check on n bytes in the device specified by S. Please refer to the
Additional remark for this instruction (below) for more information about the LRC check code.
2. The operand n must be an even number, and must be between 1–1000. If n is not in the range, an operation error
occurs, the instruction is not executed, SM0 and SM1 are ON, and the error code in SR0 is 16#200B.
3. The 16-bit conversion mode: When SM606 is OFF, the instruction divides the hexadecimal data in the device
specified by S into the high 8-bit data and the low 8-bit data. The instruction applies the LRC to every byte, and
stores the operation result in the high 8-bit and the low 8-bit in the device specified by D. The number of bytes
depends on n.
4. The 8-bit conversion mode: When SM606 is ON, the instruction divides the hexadecimal data in the device
specified by S into the high 8-bit data (invalid data) and the low 8-bit data. The instruction applies the LRC to every
byte, and stores the operation result in the low 8-bit in the two registers. The number of bytes depends on n. The
values of the high 8 bits in the two registers are 0.
6-646
Cha p ter 6 App l ied Ins truc tio ns
Example
1. The PLC is connected to the VFD-S series AC motor drive (ASCII modeSM210 is OFF; 8-bit mode: SM606 is ON.).
The PLC sends the command, and reads the data in the six devices at the addresses starting from 16#2101 in the
PLCVFD-S
SM606 is ON).
6-647
AS Ser ies Pro gra mm in g M anu al
The two’s complement of 16#2C is 16#D4. ‘D’ (16#44) is stored in the low 8-bit in D113, and ‘4’
Additional remarks
1. The following table lists the format of the communication data in the ASCII mode.
Function Lo ‘3’ The 8-bit function code is composed of two ASCII codes.
‘1’
_6 ‘0’
DATA(n-1)
‘2’
…….
‘0’
DATA 0
‘0’
‘0’
‘2’
LRC CHK Lo ‘7’ The 8-bit check code is composed of two ASCII codes.
2. LRC check code: The instruction adds up the values starting from the communication address to the data, then the
instruction calculates the two’s complement of the sum that is the LRC check code.
Example 16#01+16#03+16#21+16#02+16#00+16#02=16#29
6-648
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
n
D
Symbol
n : Number of bytes
First device in which the operation result is
D:
stored
Explanation
1. This instruction performs a cyclic redundancy check on n bytes starting with the device specified by S. Please refer 6_
to the Additional remark for this instruction (below) for more information about the CRC check code.
2. The operand n must be between 1–1000. If n is not in the range, an operation error occurs, the instruction is not
executed, SM0 and SM1 are ON, and the error code in SR0 is 16#200B.
3. The 16-bit conversion mode: When SM606 is OFF, the instruction divides the hexadecimal data in the device
specified by S into the high 8-bit data and the low 8-bit data. The instruction applies the CRC to every byte, and the
stores the operation result in the high 8-bit and the low 8-bit in the device specified by D. The number of bytes
depends on n.
4. The 8-bit conversion mode: When SM606 is ON, the instruction divides the hexadecimal data in the device
specified by S into the high 8-bit data (invalid data) and the low 8-bit data. The instruction applies the CRC to every
byte, and stores the operation result in the low 8-bit in the two registers. The number of bytes depends on n.
6-649
AS Ser ies Pro gra mm in g M anu al
Example
1. The PLC is connected to the VFD-S series AC motor drive (RTU modeSM210 is ON; 16-bit mode: SM606 is ON.).
The value 16#12, to be written into the device at 16#2000 in the VFD-S series AC motor drive, is written into the
PLCVFD-S
D100
16#01 Address
Low 8 bits
D101
16#06 Function
Low 8 bits
D102
16#20
Low 8 bits
Data address
D103
16#00
Low 8 bits
_6 D104
16#00
Low 8 bits
Data
D105
16#12
Low 8 bits
D106
16#02 CRC CHK 0
Low 8 bits
D107
16#07 CRC CHK 1
Low 8 bits
CRC CHK (01) above is the error checking code. You can calculate it with the CRC instruction (8-bit mode: SM606
is ON).
CRC check code: 16#02 is stored in the low 8-bit in D106, and 16#07 is stored in the low 8-bit in D107.
6-650
Cha p ter 6 App l ied Ins truc tio ns
Additional remarks
1. The following table shows the format of the communication data in RTU mode.
…….
DATA 0
2. CRC check code: The check code starts from the address to the data. The operation rule is shown in the following
table.
Step 1: Suppose the data in the 16-bit register (the register where the CRC check code is stored) is 16#FFFF.
Step 2: The logical operator XOR takes the first 8-bit message and the low 8-bit data in the 16-bit register, and
performs the logical exclusive OR operation on each pair of corresponding bits. The operation result is
6_
stored in the 16-bit register.
Step 3: The values of the bits in the 16-bit registers are shifted by one bit to the right. The value of the highest
bit becomes 0.
Step 4: If the value of the right-most bit that is shifted to the right is 0, the data from step 3 is stored in the 16-bit
register. Otherwise, the logical operator XOR takes 16#A001 and the data in the 16-bit register, and
performs the logical exclusive OR operation on each pair of corresponding bits. The operation result is
Step 5: Repeat step 3 and step 4, and perform the operation on the 8-bit message.
Step 6: Repeat step 2–5, and then get the next 8-bit message. Perform the operations on all messages. The
final result in the 16-bit register is the CRC check code. Notice that the low 8-bit data in the 16-bit
register is interchanged with the high 8-bit data in the 16-bit register before the CRC check code is put
6-651
AS Ser ies Pro gra mm in g M anu al
1808 MODRW S1, S2, S3, S, n Reading and Writing Modbus data
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
type INT
S1
S2
S3
S
n
Symbol
S1 : Unit address
S2 : Function code
_6
S3 : Device address
n : Data length
Explanation
Function Data
Description Devices that support devices for slaves
code length
16#01 PLC reads the data from several bit devices. 1-1600 X, Y, M, SM, S, T, C, HC
16#02 PLC reads the data from several bit devices. 1-1600 X, Y, M, SM, S, T, C, HC
6-652
Cha p ter 6 App l ied Ins truc tio ns
Function Data
Description Devices that support devices for slaves
code length
16#06 PLC writes the data into a word device. 1 Y, SR, D, T, C, HC, E
16#0F PLC writes the states into several bit devices. 1-1600 Y, M, SM, S, T, C, HC
The instruction supports only the function codes mentioned above, and cannot execute other function codes.
3. S3 is the device address. If the address is invalid for the designated communication device, the communication
device responds with an error message. For example, the device address 16#8000 is invalid in the DVP-ES2.
The data to be read from the external equipment is stored in the register.
For word-type communication function codes, the data length cannot exceed 100 words.
6_
For bit-type (BOOL) communication function codes, the data length is between 1–1600 bits.
6. The following table shows how the functions of S3, S, and n vary with the function code used.
Function
S3 S n
code
6-653
AS Ser ies Pro gra mm in g M anu al
Function
S3 S n
code
data is written
7. There is no limitation on the number of times you can use this instruction; however only one instruction can be
executed on the same COM port at a time. You need to decide and use the sending flag for the COM to be used
before executing this instruction. Otherwise, the data from 2 different communication COMs may be mixed up.
8. If a communication timeout occurs, the timeout flags are ON. After you solve the problem, you must reset timeout
flags to OFF. When using this instruction, the timeout value cannot 0. Set the value between 100–32767ms; when
9. In Modbus ASCII mode, you need to set up only the data (non-ASCII mode) for transmission. The instruction converts
the non-ASCII mode to the ASCII mode, consisting of the head code (:), the converted ASCII code, checksum (LRC)
and tail code (CRLF). The instruction stores the data received in ASCII character in the internal register. The PLC
_6 automatically converts the data into the hexadecimal value, and if the communication data is correct, stores the
10. In Modbus RTU mode, you need to set up only the data for transmission. The instruction adds the checksum (CRC)
and the stores the data received in ASCII character in the internal register. The PLC automatically converts the data
into the hexadecimal value, and if the communication data is correct, stores the conversion result stored in S.
11. The instruction cannot be used in the ST programming language, interrupt tasks or function block which is called
only once.
1. The following examples use PLC communication port 1 and special registers to demonstrate how to setup a
communication protocol.
2. You can set up the PLC communication port with HWCONFIG in ISPSoft, or with the relative special registers, or
you can use the COMDF instruction (API 1813) to set up the communication. Please refer to the ISPSoft manual for
setting it up in HWCONFIG. For communication register setups (SM, SR), please refer to section 6.19.3 for more
details.
6-654
Cha p ter 6 App l ied Ins truc tio ns
3. The communication setup for this example is RS485 ASCII, 9600, 8, E, 1 (SR209=16#0025).
If you set up the communication port with the COMDF instruction (API 1813), you can ignore this step.
6_
If you set up the communication port in ISPSoft->HWCONFIG->COM Port, you can ignore this step.
6-655
AS Ser ies Pro gra mm in g M anu al
Example 1
1. Function code 01 (16#01): the PLC reads the data from several bit devices that are not discrete input devices (16
pieces of data is read in this example). For function code 02, the operation is the same as for function code 01.
When SM96 and X0.0 are on, the AS Series CPU sends and receives the Y0–Y17 commands from the DVP-ES2.
When the address of Y0 is 16#0500, the states of Y0–Y17 in DVP-ES2 are listed in the following table.
_6 Device Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
Value D 2
Value 0 4
The following table lists the operands for the MODRW instruction.
n Data length 16
6-656
Cha p ter 6 App l ied Ins truc tio ns
ASCII mode
You do not need to convert the ASCII codes and they are all expressed in 16# values.
RTU mode
2. The response messages from the DVP-ES2 are stored in registers D10.0 to 10.15 (the data read is D10.15–
D10.0=16#04D2).
Value D 2
Value 0 4 6_
3. After the receiving the data sent back from the DVP-ES2, the PLC confirms the data format sent back from DVP-
ES2 and determines if it is correct. If no error occurs in the format, the corresponding special flags SM100 are ON;
6-657
AS Ser ies Pro gra mm in g M anu al
Example 2
1. Function code 03 (16#03): the PLC reads the data from several bit devices that are not discrete input devices
(eight pieces of data is read in this example). For function code 04, the operation is the same as for function code
03.
When SM96 and X0.0 are on, the AS Series CPU module sends and receives D32–D39 from the DVP-ES2.
_6 3. When the address of D32 is 16#1020, the values of D32–D39 in DVP-ES2 are listed in the following table.
Value (16#) 1234 5678 1122 3344 5566 7788 99AA BBCC
n Data length 8
6-658
Cha p ter 6 App l ied Ins truc tio ns
ASCII mode
You do not need to convert the ASCII codes, and they are all expressed in 16# values.
RTU mode
The response messages from the DVP-ES2 is stored in registers D10 to D17.
Value
1234 5678 1122 3344 5566 7788 99AA BBCC
(16#)
4. After the receiving the data sent back from the DVP-ES2, the PLC confirms the data format sent back from DVP-
ES2 and determines if it is correct. If no error occurs in the format, the corresponding special flags SM100 are ON;
6-659
AS Ser ies Pro gra mm in g M anu al
Example 3
1. Function code 05 (16#05): the PLC writes the state into a bit device. The device is set to ON in this example.
_6
2. The AS Series CPU module is connected to the DVP-ES2 series PLC. D10.0 is ON and Y0 in the DVP-ES2 Series
PLC is also ON. When SM96 and X0.0 are ON, the PLC can set the state of Y0.
The following table lists the operands for the MODRW instruction.
S1 Unit address 1
ASCII mode
The numbers below are only for reference. Instead of showing the values in the ASCII codes, here the expressions
6-660
Cha p ter 6 App l ied Ins truc tio ns
RTU mode
3. After receiving the data from the DVP-ES2, the PLC confirms the data format sent back from the DVP-ES2 and
determines if it is correct. If no error occurs in the format, the corresponding special flags SM100 are ON; if not
SM102 is ON.
6_
6-661
AS Ser ies Pro gra mm in g M anu al
Example 4
1. Function code 06 (16#06): the PLC writes the state into a word device.
_6
2. AS Series CPU module is connected to the DVP-ES2 series PLC.
3. Suppose D10 is 16#55AA (waiting to write data to the device T0 of the DVP-ES2).
When SM96 and X0.0 are ON, the PLC can write data to the T0 of the DVP-ES2 series PLC. The address of T0 is
16#0600.
The following table lists the operands for the MODRW instruction.
S1 Unit address 1
6-662
Cha p ter 6 App l ied Ins truc tio ns
ASCII mode
You do not need to convert the ASCII codes, and they are all expressed in 16# values.
RTU mode
4. After receiving the data from the DVP-ES2, the PLC confirms the data format sent back from the DVP-ES2 and
determines if it is correct. If no error occurs in the format, the corresponding special flags SM100 are ON; if not
SM102 is ON.
5. When the DVP-ES2 receives this instruction, it writes the data stored in the device D10 to the device T0 in the
DVP-ES2.
6_
6-663
AS Ser ies Pro gra mm in g M anu al
Example 5
1. Function code 0F (16#0F): the PLC writes the states into several bit devices.
Value D 2
Value 0 4
When SM96 and X0.0 are ON, the PLC can set the state of Y0-Y17 in the DVP-ES2. The address of Y0 is
16#0500.
6-664
Cha p ter 6 App l ied Ins truc tio ns
The following table lists the operands for the MODRW instruction.
S1 Unit address 1
n Data length 16
ASCII mode
You do not need to convert the ASCII codes, and they are all expressed in 16# values.
RTU mode
ES2 and determines if it is correct. If no error occurs in the format, the corresponding special flags SM100 are ON;
Device Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
Value D 2
Value 0 4
4. Since this function code writes data, the operand n is ignored.
6-665
AS Ser ies Pro gra mm in g M anu al
Example 6
1. Function code 10 (16#10): the PLC writes the states into several word devices.
3. Suppose the values for D20–27 are listed in the following table (waiting to write data to the devices T0–7 of the
DVP-ES2).
Value (16#) 1234 5678 1122 3344 5566 7788 99AA BBCC
When SM96 and X0.0 are ON, the PLC can write data to the T0–7 in the DVP-ES2 series PLC. The address of T0
is 16#0600.
S1 Unit address 1
6-666
Cha p ter 6 App l ied Ins truc tio ns
ASCII mode
You do not need to convert the ASCII codes, and they are all expressed in 16# values.
AS sends the communication command: “:01 10 0600 00 08 10 1234 5678 1122 3344 5566 7788 99AA BBCC
8F CR LF”
RTU mode
AS sends the communication command: “01 10 06 00 00 08 10 1234 5678 1122 3344 5566 7788 99AA BBCC 0B
0C”
5. After receiving the data sent back from the DVP-ES2, the PLC confirms the data format sent back from the DVP-
ES2, and determines if it is correct. If no error occurs in the format, the corresponding special flags SM100 are ON;
if not SM102 is ON. When the DVP-ES2 receives this instruction, it writes data stored in the devices D20–27 to the
Device T0 T1 T2 T3 T4 T5 T6 T7
Value (16#) 1234 5678 1122 3344 5566 7788 99AA BBCC
6_
6. Since this function code writes data, the operand n is ignored.
Additional remarks
1. If the value in S1 or S2 exceeds the range, an operation error occurs, the instruction is not executed, SM0 is ON,
and the error code in SR0 is 16#2003.
2. If the device specified by S is not sufficient to contain the n pieces of data, the instruction is not executed, SM0 is
ON, and the error code in SR0 is 16#2003.
3. If n exceeds the range, an operation error occurs, the instruction is not executed, SM0 is ON, and the error code in
SR0 is 16#200B.
4. If the function code specified by S2 is related to bit devices, the device specified by S must be a bit device;
otherwise, an operation error occurs, the instruction is not executed, and the error code in SR0 is 16#2003.
5. If the function code specified by S2 is related to word devices, the device specified by S must be a word device;
otherwise, an operation error occurs, the instruction is not executed, and the error code in SR0 is 16#2003.
6-667
AS Ser ies Pro gra mm in g M anu al
6. If the communication command is 0x05 or 0x06, the value in n can be ignored. The length of the data is only one
bit or one word.
7. The MODRW instruction is not executed if the sending flags SM96 and SM97 are not ON.
8. If a communication timeout occurs, the timeout flags SM104 and SM105 are ON, and the receiving flags SM98 and
9. If an error occurs while receiving data, the error flags SM102 and SM103 are ON, and the receiving flags SM98
10. If the function code specified by S2 is related to word devices, the device in the external equipment with which the
PLC communicates must be a word device. If the function code specified by S2 is related to bit devices, the device
in the external equipment with which the PLC communicates must be a bit device.
11. Please refer to section 6.19.3 for more details on communication register setups (SM, SR).
_6
6-668
Cha p ter 6 App l ied Ins truc tio ns
1812 COMRS S1, S2, S3, D1, D2 Sending and receiving communication data
S1
S2
S3
D1
D2
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
D1
D2
Symbol
Explanation
1. S1 is a communication port number: COM1 is number 1, COM 2 is number 2, Card 1 is number 11 and Card 2 is
number 12. If the data is out of the communication port range, the instruction does not execute any sending or
receiving.
2. If you use a specific character or characters to end receiving data, it is suggested that you apply the instruction to
ASCII data. If you do not apply the instruction to ASCII data, it is suggested that you use a timeout period to end
receiving data.
6-669
AS Ser ies Pro gra mm in g M anu al
If S2 is D100 and S3 is 10, the instruction sends the values in the low bytes in D100–D109 through the
4. No strings are sent if the setting value in S3 is 0. The maximum number of characters that can be sent is 256
words.
If D1 is D200, the value in D2 is 3, and the value in D2+1 is 16#0D0A, the instruction stores data received in the low
bytes in the devices starting from D201 (the high bytes is unchanged) The instruction continues to receive data
until it receives the consecutive stop characters 16#0D and 16#0A. The instruction writes the length of the data
received to D200 after receiving 16#0D and 16#0A, and sets a completion flag to ON after the receiving data
stops.
The data received ends with a The setting value in D2+1 is a If a specific character is 16#0A,
2
specific character. specific character. the value in D2+1 is 16#000A.
The data received starts with a A specific character is stored in If a start character is 16#3A,
4 specific character. When the the high byte in D2+1, and the and time is 15 milliseconds, the
time after the last piece of data time is stored in the low byte in value in D2+1 is 16#3A0F.
6-670
Cha p ter 6 App l ied Ins truc tio ns
is received exceeds the time D2+1. The time set in the low
The data received starts with a The setting value in D2+1 is a If a start character is 16#3A,
5 specific character, and ends specific start character, and a and a stop character is 16#0A,
with a specific character. specific end character. the value in D2+1 is 16#3A0A.
specific character and The setting value in D2+1 is a If an end character is 16#0A,
7
generates communication specific end character. the value in D2+1 is 16#000A.
interrupts.
Set the quantity of data The setting value in D2+1 is the If you want to receive 10
8 received and then generate length of the data received. The characters, set the value in
executed.
7. Except for mode 6 and 8, when data received in D2 exceeds the maximum range of the received data length (256
words) and no ending character is received, the instruction stops executing and treats this operation as a receiving
8. The interactions among the communication port, the related special auxiliary relays, and the related special data
6-671
AS Ser ies Pro gra mm in g M anu al
9. Timing diagrams
When data is sent, you cannot cancel the sending of data. If the conditional contact preceding the instruction
is not enabled, the data will still be sent, but the completion flag will not be set to ON after sending of the data
is complete.
Reception fl ag
Completion fl ag
2 3 2 5
1 4 4 1
_6
Description:
② Time during which data is sent. The period of time in which data is sent is not measured.
③ After the first character is received, the time that passes before the next character is received is
measured. Whenever a character is received, the instruction clears the time measured. The completion
flag is not be set to ON until the time measured is greater than the setting value in D2+1.
④ If the instruction is still enabled after you reset the completion flag or the communication flag, the next
communication data is sent automatically when the instruction is scanned in the next cycle.
⑤ When the PLC begins to receive data, it begins to measure the time that passes. It does not set the
communication timeout to ON until the time measured exceeds the timeout period. It is suggested that
you set the timeout period to be longer than the time set in D2+1.
6-672
Cha p ter 6 App l ied Ins truc tio ns
Reception fl ag
Completion fl ag
2 3 2 2
1 4 4 1
Description:
② Time during which data is sent. The period of time in which data is sent is not measured.
③ After the first character is received, the time that passes before the next character is
received is measured. Whenever a character is received, the instruction clears the time measured.
6_
The communication timeout flag is not set to ON until the time measured exceeds the
timeout period.
④ If the instruction is still enabled after you reset a completion flag or a communication flag,
the next communication data is sent automatically when the instruction is scanned in the
next cycle.
8-bit mode: The command that is edited is stored in the initial transmission device, and the command to be sent
includes the head code and the tail code. The instruction divides the 16-bit data into the high 8-bit data and the low
8-bit data. The instruction ignores the high 8-bit data, and can send or receive the low 8-bit data can be sent or
6-673
AS Ser ies Pro gra mm in g M anu al
16-bit mode: The command that is edited is stored in the initial transmission device, and the command to be sent
includes the head code and the tail code. When SM106/SM107 is OFF, the instruction divides the 16-bit data into
_6
The data that the PLC receives from the external equipment includes the head and the tail code; therefore, you
11. When the mode is 7 or 8, the corresponding communication port and the interrupt number are listed in the
following table.
Communication
COM1 COM2 Card1 Card2
port number
12. The instruction cannot be used in the ST programming language, interrupt tasks or function block which is called
only once.
6-674
Cha p ter 6 App l ied Ins truc tio ns
Example 1
The mode in D2 is 0 (not receiving communication data) and you set the mode for sending and receiving data to 8-bit
mode (SM106=ON).
2. The contents for the data to be sent: D100=16#0031, D101=16#0032, D102=16#0033, D103=16#0034.
7. Since receiving data is not required, after the PLC sends out the data, the operation ends, and SM100=0.
6_
8. To send more data, set the flag SM100 to OFF to start the operation again.
6-675
AS Ser ies Pro gra mm in g M anu al
Example 2
The mode in D2 is 1 (setting the timeout value to 5–3000 ms) and you set the mode for sending and receiving data to 16-
bit mode (SM106=OFF).
3. Set D10=16#0001 (mode: 1), D11=300 (set the timeout value to 300 ms).
7. After the external equipment receives the data from the PLC, it sends 5 consecutive data to the PLC, each sent in
_6 8. D200=5 (number of data received), and the content of data received: D201=16#3635, D202=16#3837,
D203=16#0039.
10. To send more data, set the flag SM100 to OFF to start the operation again.
NOTE: When the sending of data is complete, the receiving flag SM98 is ON, and then the PLC starts to receive data.
You set the timeout between each data reception in D11. When the interval time exceeds the set timeout and no
6-676
Cha p ter 6 App l ied Ins truc tio ns
Example 3
The mode in D2 is 2 (the data received ends with a specific character.) and you set the mode of sending and receiving
data to 8-bit mode (SM106=ON).
1. Set the length of the data to be sent: D20=0, meaning the PLC will not send data but only receives data.
4. The PLC waits to receive data from the external equipment. D20=0 means that the PLC does not send data to the
external equipment.
6. D200=6 (number the data received), the content of data received: D201=16#0031, D202=16#0032,
8. To send more data, set the flag SM100 to OFF to start the operation again.
NOTE: When the sending of data is complete, the receiving flag SM98 is ON and then the PLC starts receiving data until
receiving the ending character (16#0A). When the reception of data is complete, SM100 is ON. If the
communication timeout occurs but the ending character (16#0A) is still not received, the communication timeout
6-677
AS Ser ies Pro gra mm in g M anu al
Example 4
The mode in D2 is 3 (the data received ends with two specific characters.) and you set the mode for sending and
receiving data to 16-bit mode (SM106=OFF).
This example uses a DVP-ES2 as the external equipment and writes H1234 to D100 in the DVP-ES2.
2. The contents for the data to be sent: D100=16#303A, D101=16#3031, D102=16#3136, D103=16#3630,
3. Set D10=16#0003 (mode: 3), D11=16#0D0A (the ending characters are 16#0D and 16#0A).
6. The external equipment receives the data from the PLC and the last 2 data are 16#0D and 16#0A.
7. D200=17 (number of the data received), and the content of the received data: D201=16#303A, D202=16#3031,
D209=16#000A.
9. To send more data, set the flag SM100 to OFF to start the operation again.
NOTE: When sending of data is complete, the receiving flag SM98 is ON and then the PLC starts receiving data until it
receives the ending character (16#0D0A). When the reception of data is complete, SM100 is ON. If the
communication timeout occurs but the ending character (16#0D0A) is still not received, the communication
6-678
Cha p ter 6 App l ied Ins truc tio ns
Example 5
The mode in D2 is 4 (the data received starts with a specific character and you set the timeout value to 5–255 ms.) and
you set the mode of sending and receiving data to 8-bit mode (SM106=ON).
2. The contents for the data to be sent: D100=16#0031, D101=16#0032, D102=16#0033, D103=16#0034.
3. Set D10=16#0004 (mode: 4), D11=16#3A0F (the starting character is 16#3A and set the time value to 16#0F,
meaning 15ms).
6. The external equipment receives data from the PLC and then sends 7 consecutive words to the PLC with an
7. D200=6 (number of the data received), and the content of the received data: D201=16#003A, D202=16#0035,
9. To send more data, set the flag SM100 to OFF to start the operation again.
NOTE: When the sending of data is complete, the receiving flag SM98 is ON and then the PLC is ready to receive data.
When the PLC receives the starting character 16#3A, it starts receiving data. The interval timeout between
receiving each piece of data is set in D11. When the interval time exceeds the set timeout 16#0F (15 ms) and no
6-679
AS Ser ies Pro gra mm in g M anu al
Example 6
The mode in D2 is 5 (the data received starts and ends with a specific character) and you set the mode of sending and
receiving data to 16-bit mode (SM106=OFF).
The example uses a DVP-ES2 as the external equipment and reads data from D100 in the DVP-ES2.
2. The contents for the data to be sent: D100=16#303A, D101=16#3031, D102=16#3133, D103=16#3630,
3. Set D10=16#0005 (mode: 5), D11=16#3A0A (the starting character is 16#3A and the ending character is 16#0A).
7. D200=15 (number of the data received), and the content of the received data: D201=16#303A, D202=16#3031,
9. To send more data, set the flag SM100 to OFF to start the operation again.
NOTE: When the data sending is complete, the receiving flag SM98 is ON and then the PLC is ready to receive data.
When the PLC receives the starting character 16#3A, it starts receiving data until receiving the ending character
16#0A, and SM100 is ON. If the communication timeout occurs but the starting character 16#3A or the ending
character 16#0A is still not received, the communication timeout flag SM104 is ON.
6-680
Cha p ter 6 App l ied Ins truc tio ns
Example 7
The mode in D2 is 6 (the received data length) and you set the mode of sending and receiving data to 8-bit mode
(SM106=ON).
2. The contents for the data to be sent: D100=16#0031, D101=16#0032, D102=16#0033, D103=16#0034.
6. The external equipment receives data from the PLC and then sends 8 consecutive data to the PLC.
9. To send more data, set the flag SM100 to OFF to start the operation again.
NOTE: When the data sending is complete, the receiving flag SM98 is ON and then the PLC is ready to receive data.
When receiving a set quantity of data, the SM100 is ON. If the communication timeout occurs but the set quantity
of data is still not received, the communication timeout flag SM104 is ON.
6-681
AS Ser ies Pro gra mm in g M anu al
Example 8
The mode in D2 is 7 (the data received ends with a specific character and generates communication interrupts) and you
set the mode of sending and receiving data to 8-bit mode (SM106=ON).
3. The contents for the data to be sent: D100=16#0031, D101=16#0032, D102=16#0033, D103=16#0034.
9. D200=6 (number of the data received), and the content of the received data: D201=16#0031, D202=16#0032,
11. D30=1 (the interrupt is triggered and then INC D30 is executed).
12. To send more data, set the flag SM100 to OFF to start the operation again.
NOTE: When the data sending is complete, the receiving flag SM98 is ON and then the PLC is ready to receive data.
When receiving the set ending character (16#06), SM100 is ON. If the communication timeout occurs but the set
ending character is still not received, the communication timeout flag SM104 is ON.
6-682
Cha p ter 6 App l ied Ins truc tio ns
Example 9
The mode in D2 is 8 (the set quantity of data is received and generates communication interrupts) and you set the mode
of sending and receiving data to 8-bit mode (SM106=ON).
3. The contents for the data to be sent: D100=16#0031, D101=16#0032, D102=16#0033, D103=16#0034.
8. The external equipment receives data from the PLC and then sends 8 consecutive data to the PLC.
10. D200=8 (number of the data received), and the content of the received data: D201=16#0032, D202=16#0033,
12. D30=1 (the interrupt is triggered and then the INC D30 is executed).
13. To send more data, set the flag SM100 to OFF to start the operation again.
NOTE: When the data sending is complete, the receiving flag SM98 is ON and then the PLC is ready to receive data.
When receiving the set quantity of data, SM100 is ON. If the communication timeout occurs but the set quantity of
data is still not received, the communication timeout flag SM104 is ON.
6-683
AS Ser ies Pro gra mm in g M anu al
Example 10
The mode in D2 is 9 (the set ending character or the set quantity of data is received) and set the mode of sending
data/mode of receiving data to 8-bit mode (SM106=ON).
2. The contents for the data to be sent: D100=16#0031, D101=16#0032, D102=16#0033, D103=16#0034.
3. Set D10=16#0009 (mode: 9), D11=16#0A0F (the ending character is 16#0A and the set data length is 16#0F).
6. The external equipment receives data from the PLC and then sends 15 pieces of data to the PLC.
_6 7. D200=6 (number of the data received), and the content of the received data: D201=16#0031, D202=16#0032,
The PLC stops receiving data after the 6th piece of data is received.
9. To send more data, set the flag SM100 to OFF to start the operation again.
NOTE: When the data sending is complete, the receiving flag SM98 is ON and then the PLC is ready to receive data.
When receiving the set ending character or the set quantity of data, the SM100 is ON. If the communication
timeout occurs but the set ending character or the set quantity of data is still not received, the communication
6-684
Cha p ter 6 App l ied Ins truc tio ns
Additional remarks
1. There is no limit on the number of times you can execute the COMRS communication instruction. However, each
communication port can only be enabled by one communication instruction, and the later communication
2. The instruction does not use checksum when you execute this instruction. If you need a checksum, use COMRS
and another available instruction.
3. If the value in D2 is 2, 3, 5, 6 or 9, it is suggested that you set a timeout period. After you set a timeout period, the
instruction tries to send the data again if a stop character is not received.
4. The instruction does not automatically clear the value in D1–D1+n whenever the instruction is executed or the PLC
begins to receive new communication data. You can know whether and how much data the PLC receives only after
a completion flag switches from OFF to ON . If the you want to clear the values in D1–D1+n, use the ZRST
instruction (API 1206).
6. If the number of devices starting from S2 is not equal to the value in S3, the instruction is executed, SM0 is ON, and
the error code in SR0 is 16#2003.
7. If the value in D2 is not between 0–9, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#200B.
8. If the value in D2 is 6, 8 or 9, and the number of devices starting from D1 is not equal to the value in D2+1, the
instruction is not executed, SM0 is ON, and the error code in SR0 is 16#2003.
9. If the quantity of data received is greater than the number of devices starting from D1, the data that cannot be stored
6_
is ignored.
10. If a completion flag is ON, the PLC stops receiving data. If a communication port receives data when a completion
flag is ON, the data is not received.
11. If the setting value in S3 is not between 0–256, the instruction is not executed, SM0 is ON, and the error code in
SR0 is 16#200B.
12. When the mode of D2 is 6 or 8, the length of D2+1 not between 1–256, the instruction is not executed. SM0 is ON,
and the error code in SR0 is 16#200B.
6-685
AS Ser ies Pro gra mm in g M anu al
S1
S2
S3
S4
S5
D
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
S4
S5
D
S3 : Parity bit
Explanation
1. This instruction provides a way to directly set the parameter values, instead of declaring variables.
2. S1 sets the baud rate with the units 100 bps. For example, a value 96 indicates 9600 bps.
3. S2 sets the number of data bits. The value 7 indicates 7 data bits and 8 indicates 8 data bits. If the value is not 7 or
6-686
Cha p ter 6 App l ied Ins truc tio ns
4. S3 sets the parity bit. The value 0 indicates None (no parity bit). The value 1 indicates Odd bit checking. The value 2
corresponds to Even bit checking. If the value in S3 is not 0, 1 or 2, the instruction uses the default value.
5. S4 sets the number of end bits. The value 1 (preset) indicates 1 bit. The value 2 indicates 2 bits. If the value in S4 is
not 1 or 2, the instruction uses the default value.
6. S5 sets the communication mode for Modbus communication. The value 0 indicates ASCII (default value). The value
of 1 indicates RTU. If the value in S5 is not 0 or 1, the instruction uses the default value.
7. D sets communication port number. The number for COM1 is 1, COM2 is 2, Card1 is 11 and Card2 is 12. If the
setting value is out of the valid range, the instruction does not set the communication port format.
8. You can also directly set the communication port in HWCONFIG in ISPSoft (COM Port settings) or with the special
registers. For more on in HWCONFIG, see the ISPSoft user manual. Refer to Section 6.19.3 for setting the
9. The communication at the actual communication port changes immediately after you change the setting of the
instruction. If some communication is being carried out at the moment, it is forced to cancel. Additionally, the
corresponding setting value in SM/SR changes accordingly. For details on SM/SR, refer to Section 6.19.3.
10. This instruction does not change any setting for the actual communication port when the communication format
6_
Example
1. This example uses the PLC COM1 port. Other PLC communication ports are similar in the way you set up the
communication.
5. The following table explains the COMDF operands for the example.
S3 Parity bit E 2
6-687
AS Ser ies Pro gra mm in g M anu al
_6
6-688
Cha p ter 6 App l ied Ins truc tio ns
S1
S2
S3
S
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
S
Symbol
Explanation
1. S1 sets the communication port number. The number for COM1 is 1, COM2 is 2, Card1 is 11 and Card2 is 12. If the
value exceeds the valid range, the instruction does not receive any communication data.
2. S2 sets the station address for the VFD AC motor drive. 0 indicates that the instruction uses the broadcast mode.
The range is between 0–254, and the instruction is not executed if this value is out of the valid range.
6-689
AS Ser ies Pro gra mm in g M anu al
3. S3 is the communication function code, and S is the source or received data as explained in the following table.
S3
function S3 function name S source and received data Remark
code
VFD.
_6
4. The following chart shows the timing for sending and receiving data.
Sending data
Rec eption fl ag
Compl etion fl ag
6-690
Cha p ter 6 App l ied Ins truc tio ns
Description:
Transmitting data begins. During this time, the communication timeout time is not measured.
The reception flag is set. From the moment when the first character is received to the moment when the next
character is received, the period of time is measured. Whenever a character is received, the measured time is
cleared to 0. The instruction generates the communication timeout flag if the time measured is greater than the
When receiving of data is complete, the instruction sets the completion flag. You must clear the flag before
The instruction is stopped for one cycle after the completion flag is set. Then the instruction can be started in
5. There is no limit to the number of times the instruction can be executed. The instruction can use only one
communication port for the output and execution of one communication instruction each time. If receiving and
sending data is complete, you must disable the instruction to correctly release the communication control.
6. The instruction cannot be used in the ST programming language, interrupt tasks or function block which is called
only once.
2. Set the motor drive parameters using the panel on the Delta C2000 AC motor drive according to the following steps.
B. Set 09-01 to 115.2: RS485 baud rate of the AC motor drive is 115200.
6-691
AS Ser ies Pro gra mm in g M anu al
Example
Use the VFDRW instruction to control the velocity: make the VFD run forward at the frequency of 120Hz, then run in
_6
Set D202=12000 initially. When M1 is ON, VFD starts to accelerate after receiving the clockwise running command,
2. Set D204=18000 initially. When M2 is ON, VFD starts to decelerate until it stops after receiving the counterclockwise
6-692
Cha p ter 6 App l ied Ins truc tio ns
3. When M3 is ON (at this time, the value in D206 is ignored), VFD decelerates to stop after receiving the stop command.
4. When M4 is ON, the instruction reads the values of H2100–H2104 of VFD and stores them in D220–224.
Frequency
Content Error code VFD state Output frequency Output current
command
Bit2=1 causes the VFD to execute the Jog command. Bit4–3=11B causes the VFD to run counterclockwise. The
frequency command is 18000, and causes the VFD to run at 180Hz. For the definitions of the parameter addresses
in the communication protocol, refer to the Delta AC Motor Drive user manual.
5. The reception completion flag SM100 is ON, and the values of M1–M5 are cleared to avoid interfering with the next
communication command.
After receiving the data that the VFD sends back, the instruction checks the format of the data sent back from VFD.
6_
6-693
AS Ser ies Pro gra mm in g M anu al
S1
S2
S3
S
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
S
Symbol
Explanation
1. S1 sets the communication port number. The number for COM1 is 1, COM2 is 2, Card1 is 11 and Card2 is 12. If the
value exceeds the valid range, the instruction does not receive any communication data.
2. S2 sets the station address for the servo. 0 indicates that the instruction uses the broadcast mode. The range of the
value is between 0–254. The instruction is not executed if the value is out of the valid range.
4. S3 is the communication function code, and S is the source or received data as explained in the following table.
6-694
Cha p ter 6 App l ied Ins truc tio ns
S3 function
S3 function name S source or received data Remark
code
Reading the servo register Occupies 8 consecutive devices Reading the value from the
1
value S–S+7 registers P0-09–P0-16
S3 function
S3 function name S source or received data Remark
code
Reading the servo state value Occupies 10 consecutive Reading the state value from
(32-bit value)
Writing data into the servo Occupies 8 consecutive devices Writing the data into the
(32-bit value)
Writing the mapping parameter Occupies 8 consecutive devices Writing the data into the
(32-bit value)
Jog velocity input, run Valid range of velocity: Valid Writing data into the registers
19
clockwise, run range 1–5000; P4-05
6-695
AS Ser ies Pro gra mm in g M anu al
0 (stop)
Velocity command Occupies 6 consecutive devices Writing data into the registers
Torque command Occupies 6 consecutive devices Writing the data into the
Setting the mapping targets of Occupies 8 consecutive devices Writing the data into the
(32-bit value)
5. The following chart shows the timing for sending and receiving data.
_6
of the instruction
Sending data
Rec eption fl ag
Compl etion fl ag
Description:
Transmitting data begins. During this period, the communication timeout time is not measured.
The reception flag is set. From the moment when the first character is received to the moment when the next
character is received, the period of time is measured. Whenever a character is received, the measured is
cleared to 0. The instruction generates the communication timeout flag if the time measured is greater than the
6-696
Cha p ter 6 App l ied Ins truc tio ns
When receiving of data is complete, the instruction sets the completion flag. You must clear the flag before
The instruction is disabled for one cycle after the completion flag is set. Then the instruction can be started in
6. There is no limit to the number of times the instruction can be executed. The instruction can use only one
communication port for the output and execution of one communication instruction each time. If receiving and
sending data is complete, you must disable the instruction to correctly release the communication control.
7. The instruction cannot be used in the ST programming language, interrupt tasks or function block which is called
only once.
1. Set the PLC COM1 (RS485) port in HWCONFIG with these values: ASCII, 115200, 8, E, 1
2. Set the servo parameters using the panel on the Delta ASDA-A2 servo according to the following steps.
B. Cycle the power on the servo off and then back on.
E. Set P3-01 to 0205: the RS485 baud rate of the servo is set to 115200.
F. Set P3-02 to 0004: the RS485 communication format of the servo is set to 8, E, 1.
G. Cycle the power to the servo again after completing these settings.
6-697
AS Ser ies Pro gra mm in g M anu al
Example
Use the ASDRW instruction to control the velocity: make the servo run to the relative position 5000000 PUU by accelerating
for 400 ms to the speed 3000.0 r/min and then decelerating for 200 ms.
_6
6-698
Cha p ter 6 App l ied Ins truc tio ns
2. Set the values in D200–D207 as in the following table, which are written to P0-35–P0-38 in the ASDA-A2. The values
When M2 is ON, the values in D200–D207 are written to P0-35–P0-38 in the ASDA-A2.
The setting values of P0-35–P0-38 are set the mapping target for P0-25–P0-28. You can set the mapping target;
Setting value (16#) 0514 0515 0602 0602 0603 0603 053C 0507
Setting the value of P0-38 to 053C 0507indicates that the mapping parameter target for P0-28 is P5-60 (16 bits) and
Mapping parameter
P5-20, P5-21 P6-02 P6-03 P5-60, P5-07
target
Acceleration/deceleration
Target velocity and
time1
Parameter name Path type1 Path1 data PR command trigger
Acceleration/deceleration
time2
Setting value (16#) 0190 00C8 0000 1083 4C4B40 7530 0001
When M3 is ON, the values in D220-D227 are written into P0-25–28 in the ASDA-A2.
Setting value (16#) 0190 00C8 0000 1083 4C4B40 7530 0001
6-699
AS Ser ies Pro gra mm in g M anu al
The servo starts running with the parameters: acceleration time=0190 (400 ms), deceleration time=00C8 (200 ms),
path type=1083, position command=4C4B40 (5000000 PUU), target velocity=7530 (3000.0 rpm) and PR command
trigger =1.
4. Set the values in D240-D247 as shown in the following table, to be written into P0-17–P0-20 in the ASDA-A2. The
When M4 is ON, the values in D240–D247 are written into P0-17–20 in the ASDA-A2.
You can set the contents to be displayed; refer to the Delta Servo Operation manual.
Setting P0-17 to 41 indicates that the contents of P0-09 is the drive state.
When the drive state bit (Bit 4) is one, it indicates that the target position is reached.
Refer to Delta servo operation manual for the explanation for P0-46.
6. When the reception completion flag SM100 is set to ON, the instruction clears the values of M1–M5 to avoid
After receiving the data that the ASDA-A2 sends back, the PLC checks the format of the data sent back from the
ASDA-A2. If the data format is correct, SM100 is ON; otherwise, SM102 is ON if the data format is incorrect.
6-700
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
6_
6-701
AS Ser ies Pro gra mm in g M anu al
Explanation
Function code for reading If the value exceeds the valid range, the
S4 WORD
_6 data instruction does not modify the operand. If
256 bits;
selected.
6-702
Cha p ter 6 App l ied Ins truc tio ns
bits;
6_
2. It is suggested that you use the pulse instruction.
3. See the details about the Modbus function codes in S4 and S8 below.
The command for the AS reads the data from several bit devices (which are not discrete input devices) is 1 (16#01).
The command for the AS reads the data from several bit devices (which are only discrete input devices) is 2 (16#02).
The command for the AS to read the data from several word devices (which are not input registers) is 3 (16#03).
The command for the AS to read the data from several word devices (which are only input registers) is 4 (16#04).
The command for the AS to write the state into a bit device is 5 (16#05).
The command for the AS to write the state into a word device is 6 (16#06).
The command for the AS to write the state into several bit devices is 15 (16#0F).
The command for the AS to write the data into several word devices is 16 (16#10).
The command for the AS to synchronously read from and to write the data into several word devices is 23 (16#17).
Only the function codes listed above are supported. Other function code setting values, such as 0, are invalid
6-703
AS Ser ies Pro gra mm in g M anu al
(including communication address, length and the start register), and the instruction executes the data exchange
4. When you select 16#17 (for reading and writing synchronously) in S4 (the function code for reading), the operand
S8 (the function code for writing) is processed as invalid and 16#17 is automatically processed for writing data.
5. For PLC with FW V1.04.00 or previous versions: if you select16#05 or 16#06 in S8 (the function code for writing),
the operand S10 (the data length) is invalid and 16#05 or 16#06 indicates writing a piece of data.
6. The parameter values specified by the instruction are valid only while PLC is running. If you cycle the power on the
PLC, the data in the data exchange table set in HWCONFIG are taken as default values. If you want to modify the
7. You can use the instruction to immediately set the parameters for the communication connection when the data
exchange function is not running. The new communication parameters are not used until the next cycle if the data
exchange function is running; however, the instruction changes the communication parameters for the connection
number.
For example, while the data exchange function is running with the parameters set for connection 3, you can specify
new the parameters for connection 3. The new parameters are not used until the next cycle when connection 3
starts.
8. The instruction only allows you to change the communication parameters. Refer to the following table for the flags
_6
to start and close the communication connection function if you use the PLC program to perform those functions.
When you set the automatic scan function through ISPSoft, the start/stop flag of the connection number
automatically updates the start/stop state once after the data exchange function finishes executing the scan.
6-704
Cha p ter 6 App l ied Ins truc tio ns
The PLC sets the flag to ON when the reading success flag indicates that receiving data is complete and the data
checked are correct. If an error occurs in receiving data or a communication timeout occurs, the error flag is set to
ON refer to the error codes). The PLC does not reset any of the reading success or error flags to OFF in the data
exchange since the reading success flag and error flag of every connection number are not ON simultaneously.
9. The following table describes the SR (only-read registers) in the data exchange function.
SR No. Description
SR1335 Cycle of the actual connections 1–32 in the COM1 data exchange 6_
SR1336 Cyclic connection number in the current COM1 data exchange
SR1340–SR1371 Error codes of the connections 1–32 in the COM1 data exchange
SR1375 Cycle of the actual connections 1–32 in the COM2 data exchange
SR1380–SR1411 Error codes for connections 1–32 in the COM2 data exchange
SR1435 Cycle of the actual connections 1–32 in the Function Card 1 data exchange
SR1436 Cyclic connection number in the current Function Card 1 data exchange
SR1440 ~ SR1471 Error codes of the connections 1–32 in the Function Card 1 data exchange
SR1475 Cycle of the actual connections 1–32 in the Function Card 2 data exchange
SR1476 Cyclic connection number in the current Function Card 2 data exchange
SR1480 ~ SR1511 Error codes of the connections 1–32 in the Function Card 2 data exchange
10. The data exchange function does not provide a writing success flag. It is suggested that you refer to the connection
number in the execution to judge whether the writing of data succeeds or not.
6-705
AS Ser ies Pro gra mm in g M anu al
For example, when the executed connection number is 3 in SR1336, the successive communication actions are to
read the communication data first, and then to write the communication data after reading is completed. The
11. If the reading data length value in S6 and the initial device in S7 are out of the range of the D or M device, the length
value in S6 is automatically set to be in the valid range. For example, if the length value in S6 is100 and the initial
12. In the following cases, the instruction is not executed and the parameter settings in HWCONFIG are not changed
for the communication port, and SM0 is set to ON, and the error code in SR0 is 16#200B.
An input error occurs when the setting values in S1, S2, S4 and S8 are out of the specified range.
When S4 or S8 function code selects the bit type for reading or writing data, the local device for storing data
S7 or S11 must select the M device. An input error occurs if the selection is not M.
When the S4 or S8 function code selects the word type for reading or writing data, the local device for storing
data S7 or S11 must select the D device. An input error occurs if the selection is not D.
1. For the data exchange between the AS Series CPU and the DVP-ES2 CPU, the following table shows the COM1
data exchange table in HWConfig in ISPSoft.
_6 Detection
Remote
Local Remote Function
Item No. station Length How to start
method device device code
address
2. Before starting data exchange, suppose that the corresponding data between the AS Series CPU and the DVP-ES2
CPU are listed in the following table.
6-706
Cha p ter 6 App l ied Ins truc tio ns
3. The data exchange between the AS Series CPU and the DVP-ES2 CPU starts when X0.1 is ON.
6_
4. After data exchange starts, the corresponding data between the AS Series CPU and the DVP-ES2 CPU change as
shown in the following table.
6-707
AS Ser ies Pro gra mm in g M anu al
5. When X0.0 is ON, the COM1 data exchange table parameters in the AS Series CPU are modified as shown in the
following table.
M100 M0 10 H01
Specified Program
2 3
connection M110 M50 10 H0F control
6. Due to the change of COM1 data exchange table parameters, the corresponding data between the AS Series CPU
and the DVP-ES2 CPU are modified as shown in the following table.
M100-M109 ON M0-M9 ON
_6
6-708
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
type INT
S1
S2
S3
S4
S
n
D
Symbol 6_
S1 : Communication port number
S2 : Unit address
S3 : Function code
S4 : Device address
n : Data length
Explanation
1. S1 sets the serial number of a communication port. The number of COM1 is 1, COM2 is 2, Card1 is 11 and Card2 is
12. If the value exceeds the valid range, the instruction does not receive any communication data.
2. Refer to the explanation of the MODRW instruction (API 1808) for the meaning of the operands S2, S3, S4, S and n.
3. D sets the communication state flags when the instruction completes the communication, and the flags occupy 3
consecutive devices. You must reset the flags to OFF. The following table gives explanations of the flag states.
6-709
AS Ser ies Pro gra mm in g M anu al
Operand Description
NOTE: Only one flag is set to ON among the three state flags, and the corresponding special flags (SM) are also set
to ON every time the communication is completed. Refer to Section 6.19.3 for the use of the special flags.
4. The timing for sending the instruction begins when the instruction starts. You must disable the instruction for a scan
cycle after communication is completed. The next communication instruction can be sent as soon as the instruction
is restarted.
5. The communication action and control sequence of the instruction are similar to MODRW instruction (API 1808). The
only difference between the two instructions is that you can send the communication command without control over
6. The instruction cannot be used in the ST programming language, interrupt tasks or function block which is called
only once.
Example
_6 You can compare the MODRW program and MODRWE program, for example, by using the PLC COM1 and function code
03 to read eight pieces of data from D20 in the DVP-ES2. The same is true for other PLC communication ports. Refer to
the MODRW instruction (API 1808) and the following example for the use of other function codes.
1. The device address of D20 in the DVP-ES2 CPU (16#1020) and the content values in D20–D27 are shown in the
following table.
Value (16#) 1234 5678 1122 3344 5566 7788 99AA BBCC
2. The AS Series PLC reads the content values from D20–D27 in the DVP-ES2 CPU through communication.
6-710
Cha p ter 6 App l ied Ins truc tio ns
The data in D20-D27 of the DVP-ES2 are read when SM96 is ON and X0.0 is ON.
The communication response between the AS Series CPU and the DVP-ES2 depends on the mode.
ASCII mode: You do not need to convert the ASCII codes, and they are expressed in 16# values.
6 - 7 11
AS Ser ies Pro gra mm in g M anu al
RTU mode
After the receiving of the data sent from the DVP-ES2, the PLC confirms the data format sent back from the DVP-
ES2. If there are no errors in the format, SM100 is ON; otherwise, SM102 is ON. SM104 is ON if there is no
response.
The data in D20-D27 of the DVP-ES2 are read when X0.0 is ON.
_6
The communication response between the AS series CPU and the DVP-ES2 depends on the mode.
6-712
Cha p ter 6 App l ied Ins truc tio ns
ASCII mode: You do not need to convert the ASCII codes, and they are expressed in 16# values.
RTU mode
After the receiving of the data sent from the DVP-ES2, the PLC confirms the data format sent from DVP-ES2. If
there is no error in the format, M0 is ON; otherwise, M1 is ON. M2 is ON if there is no response. The
Value (16#) 1234 5678 1122 3344 5566 7788 99AA BBCC
6_
Additional remarks
1. If you declare the operand in IPSSoft, the data type is ARRAY [3] of BOOL.
2. If D+2 exceeds the device range, the instruction is not executed, SM0 is ON and the error code in SR0is 16#2003.
6-713
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
S1
_6 S2
S3
S4
S5
S6
S7
S8
S9
S10
D1
D2
D3
D4
D5
6-714
Cha p ter 6 App l ied Ins truc tio ns
Symbol
Number of the module sending the DeviceNet
S1 :
communication
S2 : DeviceNet MAC ID
S3 : Service Code
S4 : Class ID
S5 : Instance ID
S6 : Attribute ID
S7 : Written-data length
D1 : Completion flag
D2 : Error flag
D3 : Error code
D4 : Read-data length
Explanation 6_
1. S1 is the serial number of the module at the right of the PLC. The first one is number 1, the second one is number 2
and so on. Whatever modules at the right of the PLC must be numbered. The setting range is 1~32. If the setting
value (<1 or >32) exceeds the range, the instruction will run at the minimum value or maximum value.
2. S2 is the DeviceNet Mac ID within the range: 0~63. It can be the Mac ID of the slave which the master is to read and
write as well as the Mac ID of the master which means to read and write the data in the master.
(Get_Attribute_Single)
4. S4, S5 and S6 are respectively class ID, instance ID and attribute ID for specifying the parameter path in the EPATH
of the DeviceNet protocol.
6-715
AS Ser ies Pro gra mm in g M anu al
6. S8 is the starting address of the devices where written data are stored in the order from low bit to high bit.
7. S9 is the communication timeout time. The range of the setting value is 1~100 and the unit is 0.1s (second).
8. S10 is the number of retransmission times and the range is 0~3. When the communication timeout occurs, the
communication will be transmitted again.
Error code
Description
Code 1 (High Byte) Code 2 (Low Byte)
16 00 Communication timeout
11. D5 is the starting address of the devices where read data are stored in the order from low bit to high bit.
_6 12. D1 is the communication completion flag and D2 is the error flag. See the detailed communication sending procedure
and sequence diagram.
The DNETRW instruction is enabled for the first time and the command will be sent out immediately if the
The data sending is completed and the completion flag or error flag changes to On according to the response.
The next message is ready to be sent out. The next command is sent out right after the completion flag or error
flag is cleared.
6-716
Cha p ter 6 App l ied Ins truc tio ns
13. The instruction cannot be used in the ST programming language, interrupt tasks or function block which is called
only once.
6_
6-717
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
S4
D1
D2
D3
S2 : Communication ID (MsgID)
S3 : Sent-data length
Explanation
1. The CANRS instruction is applicable to AS series PLC with the firmware of V1.04.00 and later. The instruction cannot
be used in the ST programming language, interrupt tasks or function block which is called only once.
2. Before the CANRS instruction is executed, please ensure that HWCONFIG for the hardware configuration has
6-718
Cha p ter 6 App l ied Ins truc tio ns
3. S1 sets the communication mode. See the following modes that the instruction supports. If the setting value is
incorrect, the error flag D3 changes to On and the error code SR659 is set to 1.
Communication
Setting
code Communication
value of Description
High 8 Low 8 format
S1
bits bits
data.
4. S2 is the ID of the transmitted message. According to 2.0A or 2.0B protocol, the transmitted data automatically
occupies D buffer registers.
When 2.0A is selected, S2 is 11 bits of ID code with the following data transmission format.
S2 No. S2
Description Msg. ID
When 2.0B is selected, S2 (Lo-word) and S2+1 (Hi-word) are both 29 bits of ID code.
S2 No. S2 S2+1
6-719
AS Ser ies Pro gra mm in g M anu al
5. S3 is the length of the transmitted message. The setting value should be in the range of 0~8 with the unit of byte
(8bits). If the setting value (<0 or >8) exceeds the range, the instruction will run at the minimum value 0 or the
maximum 8. If the length of the transmitted message is 0, the communication mode will automatically change into
the slave mode to receive messages without sending out any data. The mode can be used to monitor the
communication packet.
6. S4 is the starting device where transmitted data are stored and only the following 8 bits of data are used.
For example, 4 messages are transmitted with D10 as the starting device. See the data transmission sequence as
below.
7. If S1 is the master mode in which the master will wait to receive data after sending data or the slave mode, the
received data will be directly stored in the device specified by D1. D100 is specified by D1 Here See the stored
content format.
Note: If the Msg. ID to be received need be specified at the stage of receiving data, set the value of D1/ D1+1
beforehand based on the 2.0A/2.0B mode. If the Msg. ID is not specified, please clear the value of D1/ D1+1 to 0
before receiving data.
8. If S1 is the master broadcast mode, the received data will be stored in the device specified by D1. D100 is specified
D103 ~ D110
D1 No. D100 D101 D102 D111 D112~D120 D121~130
(Lower 8 bits)
Receiving
Data ID, Length,
Description Packet Msg. ID Data1 ~ Data8 Msg. ID Length, Data
Length Data
number
6-720
Cha p ter 6 App l ied Ins truc tio ns
Selecting 2.0B mode: (Here is the introduction of receiving data from 2 slaves. For other data, increase the number
of D1)
D104 ~ D111
D1 No. D100 D101 D102 D103 D112~D122
(Lower 8 bits)
Receiving
Msg. ID(Lo- Msg. ID(Hi- Data
Description Packet Data1 ~ Data8 ID, Length, Data
word) word) Length
number
9. D2 and D3 are the receiving-completed flag and error flag respectively. The two flags will judge if the data receiving
is completed or an error occurs based on the current communication state when the instruction is scanned. If the
data receiving is completed or an error occurs, the flags will change to On. The two flags will be cleared and
10. When the instruction is set to the master mode, using the receiving timeout setting in HWCONFIG is
recommended. So D3 will change to On and the error code 2 will be recorded in SR659 if the communication
packet has not been received fully within the specified period of time.
If the receiving timeout time is set to 0, it indicates that the communication timeout is not limited and the status can
Note: The communication control right can not be released until the instruction is disabled by manual when the 6_
method in which there is no limit to the communication timeout is adopted.
11. There is no limit to the number of times of using the instruction. But only one CAN communication command is
allowed to be sent every time. If one command is being sent or received currently, the next CANRS instruction can
not be enabled.
12. Here is the CAN BUS format and every bit of content for Msg. ID is explained as below.
As 2.0A protocol is selected and the value of S2 is 16#0123, the Msg. ID content is shown in the following table.
S2 value (16bits) - 1 2 3
As 2.0B protocol is selected, the value of S2 is set to 16#1234 (Lo-word) and S2+1 is 16#0567 (Hi-word), the Msg.
ID content is shown in the following table.
Bit No. 31 ~ 29 28 27 ~ 24 23 ~ 20 19 ~ 16 15 ~ 0
13. If the operand D1 is declared in a variable, using the Word-type matrix is recommended.
6-721
AS Ser ies Pro gra mm in g M anu al
:The CANRS instruction is enabled. If no other CANRS instruction occupies the control right, the flags D2 and
D3 are cleared and then the data are sent out right away.
:The data sending is completed and meanwhile the data receiving starts. After the receiving is completed, the
:The instruction sends data again after you clear the flag D2.
:If an error is found, you can disable the instruction. Alternatively, you can have the instruction resend data after
enable
D3
_6
Example 1
Master Mode
Using the CANRS instruction, the 6-byte data in D10~D15 are transmitted to the slave and the response data from the
slave are stored in the devices starting from D100. M100 changes to On when the sending and receiving are over.
Master mode_MsgID=2
0= master mode, waits to receive the response from the slave after sending out
Communication mode
data.
6-722
Cha p ter 6 App l ied Ins truc tio ns
Communication completion
M100
flag
1. As M1 is on, set the MsgID of the sent message to 1 and MsgID of the received message to 2. Then the data
sending begins.
Device D10~D15
B. The received response data from the slave are stored in D100~D109. M100 changes to On as the receiving is
done.
Content 2 8 H0B
6_
6-723
AS Ser ies Pro gra mm in g M anu al
Example 2
Slave Mode
Using the CANRS instruction, the received data from the master are stored in the devices starting from D120 and the 8-
byte data in D20~D27 are sent back. M110 changes to On when the sending and receiving are over.
Slave mode_MsgID=1
Communication
M110
completion flag
_6
Communication error flag M111
1. As M1 is on, set the MsgID of the sent message to 2 and MsgID of the received message to 1 and then wait to
receive data.
A. The received 6-byte data from the master are placed in D120~D127.
Content 1 6 H0A
B. Then the 8-byte data in D20~D27 start to be sent back to the master. M110 changes to On as the data sending is
done.
Device D10~D15
6-724
Cha p ter 6 App l ied Ins truc tio ns
6_
6-725
AS Ser ies Pro gra mm in g M anu al
1820 DMVSH Mode ~ ErrCode Enabling Delta DMV detection and communication
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
Mode
Start1
Start2
_6 Ready
ComNo
Id_Ip
Address
Length
Shoot1
Shoot2
RdData
Ok
Err
ErrCode
6-726
Cha p ter 6 App l ied Ins truc tio ns
Symbol
Starting device where the data that the PLC receives from the DMV
RdData :
are stored
Explanation
1. The DMVSH instruction is applicable to AS series PLC with the firmware of V1.06.00 and later.
2. Mode sets the method through which the PLC triggers DMV including DMV1000 and DMV2000 and the receiving
method. There are 2 modes: 0 and 1 for option. If the setting exceeds the range, PLC will automatically run in mode
0.
3. Please refer to following example explanation for the function of Start1, Start2, Ready, Shoot1, Shoot2, RdData
4. ComNo sets a communication port number of the PLC. The number 1 represents COM1, number 2 represents
COM2, number 11 represents Card1, number 12 represents Card2 and number 4 represents Ethernet port. If the
setting is not one of the numbers mentioned above or represents the communication port that the PLC does not
support, the error flag Err will change to On and the error code 16#0001 will show up.
6-727
AS Ser ies Pro gra mm in g M anu al
5. Id_Ip sets the communication station address (Mac ID) of the slave DMV or network IP. Address is the
communication address where DMV detection result is read. Length is the length of the read detection data.
16#0001 The specified communication port is incorrect. Specify a new communication port number.
16#0004 Waiting for the response from DMV; DMV Modify the timing of enabling DMV detection.
Example 1
Mode=0
Only set1 is used to trigger the DMV detection and receiving of DMV response data.
See the sequence control diagram below.
En
Start1
_6
Shoot1
Ready
Com.
send receive
port
Ok
Set Start1 to On to notify the instruction to send the output signal Shoot1 (ON for about 10ms) and notify DMV to enable
the detection function.
After DMV receives the trigger message, Ready is set from On to Off.
6-728
Cha p ter 6 App l ied Ins truc tio ns
After DMV detection is finished, Ready is set from Off to On. The PLC starts to judge if Ready is on after waiting for 1.5
times the input filtering time. The PLC receives the message that Ready changes from Off to On and sends a read
command via Modbus 0x03.
The Ok flag is set to On after the PLC receives the communication data sent back from DMV. At the moment, the already
received data can be processed.
If the detection need be retriggered to execute, directly set Start1 to On to start the next-round DMV detection. (Return
to step 2 to continue.)
Example 2
Mode = 1
Set1 and set2 are used to trigger the DMV detection separately. But the communication data reading command can not
be sent until both Readys change to On. (The example is applicable to the two-camera DMV1000 detection.)
En
Start1 6_
Shoot1
Ready
Start2
Shoot2
Com.
port send receive
Ok
6-729
AS Ser ies Pro gra mm in g M anu al
Set Start1 to On to notify the instruction to send the output signal Shoot1 (which is on for about 10ms) and notify DMV
to enable the detection function of the first camera.
After DMV receives the trigger message, Ready is set from On to Off.
Set Start2 to On to notify the instruction to send the output signal Shoot2 (which is on for about 10ms) and notify DMV
to enable the detection function of the second camera.
After DMV detection is finished, Ready is set from Off to On and the two detections are complete. Then the PLC sends
a read command via Modbus 0x03.
The Ok flag is set to On after the PLC receives the communication data sent back from DMV. At the moment, the already
received data can be processed.
The Start1, Start2 and Ok flags can be cleared to Off by manual. If the detection need be retriggered to execute, return
to step 2 to proceed.
_6
6-730
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
ComNo
ListNo
OK
Error
ErrCode
Symbol
Explanation
1. This instruction is available for PLC with FW V1.08.20 or later and ISPSoft V3.09.07 or later.
2. Make sure the data exchange table of the PLC CPU is already created before executing this instruction. If not, the
V1.12 or later
6-731
AS Ser ies Pro gra mm in g M anu al
5. When the instruction is enabled, only the appointed communication number of the data exchange table will be
executed. When the communication is done and the slave device reponses with OK, the OK flag will be ON. The
corresponding SM of the communication number will be ON and the Error Code is recorded as 0.
6. Before executing this instruction, the system checks if the communication number to be executed is in cyclic
communication mode. If yes, this instruction will not be executed. The Error flag is ON. Error Code is recorded as 2.
7. Refer to the following table for more details when any of the Error flag is ON.
1 The data exchange table or the communication number does NOT exist.
2 The connection of the data exchange table is started; do NOT start another connection again.
The communication port does NOT exist or the communication card (AS-F232/422/485) is
6
NOT installed. .
7 The communication number of the data exchange table exceeds the setting rang (1~32).
9. This instruction is suggested for applications where the slave device is better not to receive or be sent with
communication requests regularly. Since only one communication will be opened during the instruction execution,
you need to close the instruciton to start another communication if the same communicaitron port is being used.
_6 10. There is no limit on the number of times you execute the instruction but only one communication can be
established for each communication port. If you execute the insturcion again when the same comunicaiton port is
being used, the Error flag will be ON and the Error Code is recorded as 5.
Example:
When M0 is ON, the instruction starts to execute the number four communication of the data exchange table in COM1.
6-732
Cha p ter 6 App l ied Ins truc tio ns
Flag
Description Action
COM1 COM2 Card 1 Card 2
receive data, you must use the pulse instruction to You set the flag to ON, and
SM96 SM97 SM76 SM77 set the flag to ON. When the instruction is the system automatically
executed, the PLC sends and receives the data. resets it to OFF.
After receiving the data, the system automatically The system automatically
SM100 SM101 SM80 SM81 sets the flag to ON. When the flag is ON, the data sets the flag to ON, and
SM102 SM103 SM82 SM83 An error occurs during receiving data using the sets the flag to ON, and
If you set the communication timeout (in SR) and The system automatically
SM104 SM105 SM84 SM85 no data is received after the timeout period, the flag sets the flag to ON, and
is ON. After the problem is solved, you must reset you reset it to OFF.
6-733
AS Ser ies Pro gra mm in g M anu al
Flag
Description Action
COM1 COM2 Card 1 Card 2
Communication mode
set in HWCONFIG.
_6
NOTE: the above flags are non-latching types.
6-734
Cha p ter 6 App l ied Ins truc tio ns
Communication protocol
SR209 SR212 SR177 SR179 For details, please refer to the following table to set up the communication
Suppose the setting value is larger than 0. When the PLC executes the
the setting value, the timeout flag is ON. You can set the register to 0 to disable
100–32767 (ms).
00 : None
6-735
AS Ser ies Pro gra mm in g M anu al
Baud rate (bps) RTU timeout timer (ms) Baud rate (bps) RTU timeout timer (ms)
4800 9 115200 1
9600 5 230400 1
19200 3 - -
38400 2 - -
57600 1 - -
_6
6-736
Ch ap te r 6 Ap pl ie d Instruc ti ons
6_
6-737
AS Ser ies Pro gra mm in g M anu al
Symbol
Explanation
1. This instruction resets the watchdog timer to monitor the operation of the AS Series PLC system.
2. If the program scanning time in the PLC exceeds 200 milliseconds, the error LED indicator is ON, and the PLC
stops running.
Program execution takes too much time, and therefore the scan time is longer than the watchdog timer
setting value. There are two way you can improve the situation.
STEP0 END
WDT
t1 t2
(a) Refer to the ISPSoft User Manual for more information about changing the watchdog timer setting value.
6-738
Ch ap te r 6 Ap pl ie d Instruc ti ons
Example
Suppose the program scanning time is 300 milliseconds. After the program is divided into two parts, and you insert the
instruction WDT between these two parts, the time it takes to scan either the first part of the program or the second part
6_
6-739
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
Symbol
S : Delay
Explanation
This instruction delays the execution of the program following the DELAY instruction for a period of time specified in S.
Example
_6
When X0.0 is ON, the instruction delays the execution of the program following the DELAY instruction for two
milliseconds. That is, Y0.0 is ON and the states of Y0.0–Y0.15 are refreshed two milliseconds after the DELAY instruction
is executed.
6-740
Ch ap te r 6 Ap pl ie d Instruc ti ons
Input X0.0
T =2ms
Additional remarks
2. If S is larger than 1000, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#2003.
3. You can adjust the delay according to the actual conditions of your equipment.
6_
6-741
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
Symbol
S1 : Pulse width
S2 : Pulse cycle
D : Output device
Explanation
_6 1. This instruction outputs every pulse with a width specified by S1 and with a cycle specified by S2 from the device
specified by D.
3. The pulse cycle specified by S2 is T. T must be between 1–32767 milliseconds, and S1 should be less than S2.
4. The S2+1 and S2+2 parameters are for system use. Please do not change them.
5. If S1 is less than 0, there is no pulse output. If S1 is larger than S2, the output device stays ON.
8. When using on-line editing, please reset the conditional contact to initialize the instruction.
Example
When the program is executed, the values in D0 and D2 are 1000 and 2000 respectively. When X0.0 is ON, the device
Y0.0 outputs the pulses illustrated below. When X0.0 is OFF, Y0.0 is OFF.
6-742
Ch ap te r 6 Ap pl ie d Instruc ti ons
t =1000ms
Y0.0
T= 2000ms
Additional remarks
1. The instruction counts by the scan cycle. Therefore, the maximum error is one scan cycle. Besides, S1, S2, and
(S2-S1) should be larger than the scan cycle; otherwise, an error occurs when the GPWM instruction is executed.
6_
2. If you use the instruction in a function block or an interrupt task, an inaccurate pulse output occurs.
3. If you declare the operand S2 in ISPSoft, the data type is ARRAY [3] of WORD/INT.
6-743
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
D
Symbol
Explanation
1. This instruction stores the values in E0–E9 in the devices specified by D. The valid range for D is between 0–99.
The instruction is not executed for values that exceed the range.
2. The instruction uses sixteen devices, and the last six devices are for system use. If you execute the instruction and
the number of times the data is stored is n (the value in D), the instruction stores data in E0–E9 in D+(16*n+1)–
_6
D+(16*n+16), and increments the value in D to n+1.
4. This instruction uses a pulse instruction to interact with the stack, pushing a value onto the stack. Therefore, you
5. When you use this instruction with the EPOP instruction (API 1905), the value stored last in the device specified by
D+1 E0
D+2 E1
......
......
D + 10 E9
For system u se
D +16
D +17 E0
D + 18 E1
D + 19 E2
......
......
6-744
Ch ap te r 6 Ap pl ie d Instruc ti ons
Example
When X0.0 is ON for the first time, the instruction transmits the data in E0–E9 to D1–D10 and increments the value in D0
to 1.
When X0.0 switches from OFF to ON for the second time, the instruction transmits the data in E0–E9 to D17–D26, and
When X0.0 switches from OFF to ON for the nth time, the instruction transmits the data in E0–E9 to (n*16)+1–(n*16)+10.
Additional remarks
1. If the value in D is not between 0–99, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
2. If the range of devices is not sufficient for D+((the value in D)+1)*16-1), the instruction is not executed, SM0 is ON,
and the error code in SR0 is 16#2003. 6_
6-745
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
D
Symbol
Explanation
1. This instruction reads the values in the devices specified by D into E0–E9, and decrements the value in D by one.
The valid value for D is between 1–100. The instruction does not execute values that exceed the range.
2. The instruction involves sixteen devices, and the last six devices are for system use. If you execute the instruction
and the number of times the data is stored is n (the value in D), the instruction stores the data in E0–E9 in
_6 D+16*(n-1)+1–D+16*(n-1)+10, and decrements the value in D to n-1.
3. This instruction uses a pulse instruction to interact with the stack, taking the TOP VALUE from the stack and
assigning it to the specified variable; therefore, you must reset the contact before the next operation.
4. The value that the instruction stores last in the device specified by D is read first, following the LIFO (last in first
out) principle.
......
D + 10 E9
F or syst em u se
D +16
D +17 E0
D + 18 E1
D + 19 E2
......
......
6-746
Ch ap te r 6 Ap pl ie d Instruc ti ons
Example
When X0.0 is ON, the MOV instruction sets the value in D0 is set to 0, and the EPUSH instruction transmits the values in
E0–E9 to D1–D10. After the execution of FB0 is complete, the EPOP instruction reads the values in D1–D9 into E0–E9.
Additional remarks
6_
1. If the value in D is not in the range 0–100, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
2. If the range of device is not sufficient for D+((the value in D) *16-1), the instruction is not executed, SM0 is ON, and
the error code in SR0 is 16#2003.
6-747
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
Explanation
_6
1. S is the system information reading code and the codes are listed in the following table.
Number of
consecutive D
(Number of
Words)
6-748
Ch ap te r 6 Ap pl ie d Instruc ti ons
2. If the product serial no. is AS332T-AW16360001, the reading code of the instruction is 0 and the read data are
stored in the devices starting from D0, the product serial no. is stored in the order as below.
D0 D1 D2 D3 D4 D5 D6 D7 D8
3. If Mac ID is 16#123456789ABC, the reading code of the instruction is 1 and the read data are stored in the devices
starting from D10, the Mac ID data are stored in the order as below.
4. If the already-power-on time is 70000 minutes (16#00011170), the reading code of the instruction is 2 and the read
data are stored in the devices starting from D20, the already-power-on time data are stored in the order as below.
D20 D21
16#1170 16#0001
5. Only the first-time execution of the INFO instruction is effective when the conditional contact is met. Therefore, it is
recommended to use the pulse instruction INFOP. If the INFO instruction is used with the normally-open contact
6_
Additional remark:
If D is declared in a variable and the code is 0, 1 and 2, they can be declared respectively in ARRAY [9], [3], [2] of
WORD.
6-749
AS Ser ies Pro gra mm in g M anu al
2100 BINDA DBINDA Converting a signed decimal number into an ASCII code
2111 $RIGHT – Retrieving characters from a string starting from the right
2112 $LEFT – Retrieving characters from a string starting from the left
6-750
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
S : Source value
6_
Explanation
1. This instruction converts the signed decimal binary number in S into an ASCII code, and stores the conversion
result in D.
3. For 16-bit instructions, the value in S must be a binary number and between -32768 to 32767. The operand D
occupies four word devices. The instruction converts the data is converted as follows.
b15 b0 b15 b7
b8 b0
6-751
AS Ser ies Pro gra mm in g M anu al
If SM690 is OFF, the instruction stores the ending character 16#0000 in D+2. If SM690 is ON, the value in D+2 is
unchanged without the ending character.
If the value in S is a positive value, the instruction stores only the value but not the sign character in D. If the value
in S is a negative value, the instruction stores the “-” sign character in D (16#2D). For example, if the value in S is -
12345 and SM690 is OFF, the conversion result is as follows.
b15 b0 b15 b7
b8 b0
4. For 32-bit instructions, the value in S must be a binary number between -2147483648 to 2147483647. The
b31 b0 b15 b7
b8 b0
In addition, if the value in S is a positive value, the instruction stores only the value but not the sign character in D.
If the value in S is a negative value, the instruction stores the “-“ sign character in D (16#2D). For example, if the
b31 b0 b15 b7
b8 b0
6-752
Cha p ter 6 App l ied Ins truc tio ns
Example 1
Suppose the value in L0 is 5126 and SM690 is OFF. When the instruction executes, the values are D0=16#3135,
D1=16#3632, D2=16#0000.
D10 b15 b7
b8 b0
16#36 16#32 D1
16#00 16#00 D2
Example 2
Suppose the value in D10 is -3842563 and SM690 is OFF. When the instruction is executed, the values are
6_
D10 b15 b7
b8 b0
16#34 16#38 D1
16#35 16#32 D2
16#33 16#36 D3
16#00 16#00 D4
Additional remarks
1. If value in the device D is not sufficient for the conversion, SM0 is ON, and the error code in SR0 is 16#2003.
2. For 16-bit instructions, if you declare the operand D in ISPSoft, the data type is ARRAY [4] of WORD/INT.
3. For 32-bit instructions, if you declare the operand D in ISPSoft, the data type is ARRAY [6] of WORD/INT.
6-753
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
S : Source value
_6 Explanation
1. This instruction converts the hexadecimal binary number in S an ASCII code, and stores the conversion result in D.
3. For 16-bit instructions, the value in S must be between 16#0000–16#FFFF, and should be a four-digit binary
If SM690 is OFF, 16#0000 is stored in D+2. If SM690 is ON, the value in D+2 is unchanged. For example, if the
b15 b0 b15 b7
b8 b0
02A6 16#32 16#30 D+0
16#36 16#41 D+1
16#00 16#00 D+2
4. For 32-bit instructions, the value in S must be between 16#00000000–16#FFFFFFFF, and should be an eight-digit
If SM690 is OFF, 16#0000 is stored in D+4. If SM690 is ON, the value in D+4 is unchanged. For example, if the
6-754
Cha p ter 6 App l ied Ins truc tio ns
b31 b0 b15 b7
b8 b0
03AC 6251 16#33 16#30 D+0
16#43 16#41 D+1
16#32 16#36 D+2
16#31 16#35 D+3
16#00 16#00 D+4
Example 1
Suppose the value in D10 is 16#9C06 and SM690 is OFF. When the instruction executes, the values are D0=16#4339,
D1=16#3630, D2=16#0000.
D10 b15 b7
b8 b0
16#36 16#30 D1 6_
16#00 16#00 D2
Example 2
Suppose the value in D10 is 16#7B3C581F and SM690 is OFF. When the instruction executes, the values are
6-755
AS Ser ies Pro gra mm in g M anu al
D10 b15 b7
b8 b0
16#43 16#33 D1
16#38 16#35 D2
16#46 16#31 D3
16#00 16#00 D4
Additional remarks
1. For 16-bit instructions, if D+2 exceeds the device range, SM0 is ON, and the error code in SR0 is 16#2003.
2. For 32-bit instructions, if D+4 exceeds the device range, SM0 is ON, and the error code in SR0 is 16#2003.
3. For 16-bit instructions, if you declare the operand D in ISPSoft, the data type is ARRAY [3] of WORD/INT.
4. For 32-bit instructions, if you declare the operand D in ISPSoft, the data type is ARRAY [5] of WORD/INT.
_6
6-756
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
S : Source value
Explanation
1. This instruction converts a binary-coded decimal number in S into an ASCII code, and stores the conversion result 6_
in D.
3. The binary-coded decimal value in S used in the 16-bit instruction must be between 0–9999, and should be a four-
digit binary-coded decimal value. The operand D occupies three word devices. The data is converted as follows.
4. For 32-bit instructions, the binary-coded decimal value in S must be between 0–99999999, and should be an eight-
digit binary-coded decimal value. The operand D occupies five word devices. The data is converted as follows.
6-757
AS Ser ies Pro gra mm in g M anu al
b31 b0 b15 b7
b8 b0
0876 5432 16#38 16#30 D+0
16#36 16#37 D+1
16#34 16#35 D+2
16#32 16#33 D+3
16#00 16#00 D+4
5. If SM690 is OFF, the instruction stores the ending character 16#0000 in D+5. If SM690 is ON, the value in D+5 is
unchanged without the ending character.
6. Even if the first digit of binary-coded decimal value in S is 0, the instruction converts it into an ASCII code 0 (16#30).
Example 1
Suppose the binary-coded decimal value in D10 is 1295 and SM690 is OFF. When the instruction executes, the values
D10 b15 b7
b8 b0
_6 1295 16#32 16#31 D0
16#35 16#39 D1
16#00 16#00 D2
Example 2
Suppose the binary-coded decimal value in D10 is 00578352 and SM690 is OFF. When the instruction executes, the
D10 b15 b7
b8 b0
0057 8352 16#30 16#30 D0
16#37 16#35 D1
16#33 16#38 D2
16#32 16#35 D3
16#00 16#00 D4
6-758
Cha p ter 6 App l ied Ins truc tio ns
Additional remarks
1. For 16-bit instructions, if the value in S is not between 0–9999, the instruction is not executed, SM0 is ON, and the
error code in SR0 is 16#200D. The binary-coded decimal value is represented by the hexadecimal number, but
2. For 32-bit instructions, if the value in S is not between 0–99999999, the instruction is not executed, SM0 is ON,
and the error code in SR0 is 16#200D. The binary-coded decimal value is represented by the hexadecimal
number, but one of digits is not within the range between 0 and 9.
3. For 16-bit instructions, if D+2 exceeds the device range, SM0 is ON, and the error code in SR0 is 16#2003.
4. For 32-bit instructions, if D+4 exceeds the device range, SM0 is ON, and the error code in SR0 is 16#2003.
5. For 16-bit instructions, if you declare the operand D in ISPSoft, the data type is ARRAY [3] of WORD/INT.
6. For 32-bit instructions, if you declare the operand D in ISPSoft, the data type is ARRAY [5] of WORD/INT.
6_
6-759
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
S : Source value
Explanation
_6 1. This instruction converts the signed decimal ASCII code in S into a signed decimal binary number, and stores the
conversion result in D.
2. For 16-bit instructions, the operand S occupies three word devices, and the decimal ASCII code in S must be
between -32768 to 32767. If the value in S is a string and does not include the ending character 16#00, the
conversion can be up to 5 digits (excluding the sign).
b15 b7 b15
b8 b0 b0
S+0 “2“ “1“ 1234 D
S+1 “4“ “3“
S+2 16#00 16#00
3. If the first character is “ ” (a space), the sign is a positive sign. If the first character is “-”, the sign is a negative sign.
Take the string “2345” for example.
b15 b7 b15
b8 b0 b0
S+0 “2“ “-“ -2345 D
S+1 “4“ “3“
S+2 16#00 “5“
6-760
Cha p ter 6 App l ied Ins truc tio ns
4. For 32-bit instructions, the operand S occupies six word devices, and the decimal ASCII code in S must be
between -2147483648 to 2147483647. If the value in S is a string and does not include the ending character
16#00, the conversion can be up to 10 digits (sign excluded).
b15 b7 b31
b8 b0 b0
S+0 “2“ “1“ 1234567890 D
S+1 “4“ “3“
S+2 “6“ “5“
S+3 “8“ “7“
S+4 “0“ “9“
S+5 16#00 16#00
5. If the first character is “ ” (a space), the sign is a positive sign. If the first character is “-”, the sign is a negative sign.
Take the string “-234567890” for example.
b15 b7 b31
b8 b0 b0
6. If the first digit of the string in the device S is blank (16#20) + sign (16#2B), the value in S is processed as 0. For
6_
the second digit, if the number is not 0–9, the instruction treats it as the end of a string and no error message will
be shown. For example if the word order is 16#2016#3116#3216#2B, the conversion result is 12.
7. For 16-bit instructions, the string range in the device S is 1–6 (positive or negative signs included) and for 32-bit
instruction the range is 1–11 (positive negative signs included).
8. Only the 32-bit instructions can use the 32-bit counter, but not the device E.
6-761
AS Ser ies Pro gra mm in g M anu al
Example 1
Suppose the values are D20=16#302D, D21=16#3433, D22=16#0035. When the instruction executes, the value is D0=-
345.
b15 b7 b15
b8 b0 b0
D20 16#30 16#2D -345 D0
D21 16#34 16#33
D22 16#00 16#35
Example 2
Suppose the values are D20=16#322D, D21=16#3433, D22=16#3635, D23=16#2037, D24=16#0000, D25=16#0000.
_6
b15 b7 b31
b8 b0 b0
6-762
Cha p ter 6 App l ied Ins truc tio ns
Example 3
Suppose the string value in S is 12. When the instruction executes, the value is D0=12.
Additional remarks
1. If the value of the first word in S is an ending character (16#00), the value is processed as 0 (16#30).
2. If the value of the first digit in S is 16#20 (blank) or 16#2B (+) or 16#2D (-) and the second digit is 16#00, the value
in S is processed as 0 (16#30).
3. Even if the first digit of binary-coded decimal value in S is 0, it is converted into the ASCII code 0 (16#30).
4. The value of the first digit in S only supports ASCII codes, 16#30–16#39 (0–9), 16#200 (blank), 16#2D (negative
sign), 16#2B (positive sign), 16#00 (ending character). If the value of the first digit in S is not ASCII code, the
instruction is not executed, SM0 is ON, and the error code in SR0 is 16#2003.
5. Except the first digit, if the value of other digits in S are not ASCII codes, 16#30–16#39 or 16#00, the value in S is
6_
processed as 16#00.
6. If the value in S exceeds the device range, SM0 is ON, and the error code in SR0 is 16#2003. The instruction is
not executed.
7. For 16-bit instructions, if you declare the operand S in ISPSoft, the data type is ARRAY [3] of WORD/INT.
8. For 32-bit instructions, if you declare the operand S in ISPSoft, the data type is ARRAY [6] of WORD/INT.
6-763
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
S : Source value
_6 Explanation
1. This instruction converts a hexadecimal ASCII code in S into a hexadecimal binary number, and stores the
conversion result in D.
2. For 16-bit instructions, the operand S occupies two word devices. If the value in S is a string and does not include
the ending character 16#00, the conversion can be up to 4 digits (sign excluded). The hexadecimal ASCII code in
b15 b7 b15
b8 b0 b0
3. For 32-bit instructions, the operand S occupies four word devices. If the value in S is a string and does not include
the ending character 16#00, the conversion can be up to 8 digits (sign excluded). The hexadecimal ASCII code in
6-764
Cha p ter 6 App l ied Ins truc tio ns
b15 b7 b31
b8 b0 b0
4. The valid string range in the device S for 16-bit instruction is 1–4 and for 32-bit instruction it is 1–8.
Example 1
Suppose the values are D20=16#3641, D21=16#4633 (ASCII 16#A63F). When the instruction executes, the value is
D0=-22977.
b15 b7 b15
6_
b8 b0 b0
Example 2
Suppose the values are D20=16#4634, D21=16#3244, D22=16#3738, D23=16#3035 (ASCII 16#4FD28750). When the
6-765
AS Ser ies Pro gra mm in g M anu al
b15 b7 b31
b8 b0 b0
Example 3
Suppose the string value in S is A. When the instruction executes, the value is D20=16#A=10.
Example 4
_6 Suppose the values are D20=16#3641, D21=16#4600 (ASCII 16#00A6). When the instruction executes, the value is
D0=166.
b15 b7 b15
b8 b0 b0
6-766
Cha p ter 6 App l ied Ins truc tio ns
Additional remarks
1. If the ASCII code in S is not between 16#30–16#39 (“0”–”9”), or between 16#41–16#46 (“A”–”F”), the instruction is
not executed, SM0 is ON, and the error code in SR0 is 16#2003.
2. For 16-bit instructions, if you declare the operand S in ISPSoft, the data type is ARRAY [2] of WORD/INT.
3. For 32-bit instructions, if you declare the operand S in ISPSoft, the data type is ARRAY [4] of WORD/INT.
6_
6-767
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
S : Source value
Explanation
_6 1. This instruction converts the ASCII code in S into a binary-coded decimal number, and stores the conversion result
in D.
2. For 16-bit instructions, the operand S occupies two word devices, and the ASCII code in S must be between 0000–
b8 b0
3. For 32-bit instructions, the operand S occupies four word devices, and the ASCII code in S must be between
b8 b0 b0
6-768
Cha p ter 6 App l ied Ins truc tio ns
4. If the value in S is 16#20 the value is processed as 16#30. If the value in S is 16#00, the value is processed as an
ending character.
5. For 16-bit instructions, if S is a string, the number of characters contained in the string must be between 1–4. For
32-bit instructions, if S is a string, the number of characters contained in the string must be between 1–8.
Example 1
Suppose the values are D20=16#3820, D21=16#3637 (ASCII 876). When the instruction executes, the instruction
6_
b15 b7 b15-b12 b11-b8 b7-b4 b3-
b8 b0 b0
6-769
AS Ser ies Pro gra mm in g M anu al
Example 2
Suppose the values are D20=16#3738, D21=16#3536, D22=16#3334, D23=16#3132 (ASCII 87654321). When the
b15 b7 b31
b8 b0 b0
Example 3
_6
Suppose the string value in S is 1. When the instruction executes, the value is D20=16#0001.
Example 4
Suppose the string value in S is 1234. When the instruction executes, the value is (D21, D20)= 16#00001234.
6-770
Cha p ter 6 App l ied Ins truc tio ns
Additional remarks
1. If the ASCII code in S is not ASCII codes 16#30–16#39, 16#20, or 16#00, the instruction is not executed, SM0 is
ON, and the error code in SR0 is 16#2003.
2. If S is a string and the number of characters contained in the string exceeds the range, the instruction is not
executed, SM0 is ON, and the error code in SR0 is 16#2003.
3. For 16-bit instructions, if you declare the operand S in ISPSoft, the data type is ARRAY [2] of WORD/INT.
4. For 32-bit instructions, if you declare the operand S in ISPSoft, the data type is ARRAY [4] of WORD/INT.
6_
6-771
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
S : String
_6 Explanation
1. This instruction calculates the length of the string in S, exclusive of the ending character (16#00), and stores the
2. The value stored in D must be between 0–32767. If it exceeds this range, the value in D is processed as 32767.
b15 b8 b 7 b0
S Sec ond char acter Fi rs t c haracter
S+1 F ourth c harac ter Thir d char acter b15 b0
S+2 Six th c harac ter Fifth charac ter n D
6-772
Cha p ter 6 App l ied Ins truc tio ns
b15 b8 b7 b0
S 16#42( B) 16#41( A)
S+1 16#44( D) 16#43( C) ABCDEF GHI b15 b0
S+2 16#46( F) 16#45( E) 9 D
S+3 16#48( H) 16#47( G)
S+4 16#00 16#49( I)
( En di ng cha ra cter )
Example 1
2. When M0 switches from OFF to ON, the instruction $LEN counts and stores the string length into the value in Len.
6_
Additional remarks
1. If the string does not end with 16#00, the instruction executes to the maximum length of 32767.
2. If the length of the value exceeds the device range, the last character is processed as the ending character.
6-773
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
Symbol
S1 : Source value
_6 Explanation
1. This instruction converts the floating-point number in S1 into a string in accordance with the format setting value in
S2, and stores the conversion result in D.
2. This instruction converts the floating-point number in S1 into a string and appends the ending character 16#00 to
the end of the string, and then stores the conversion result in D.
Floating-point number …… ……
Floating-point string
6-774
Cha p ter 6 App l ied Ins truc tio ns
4. The value in S2+1 must be between 2≦S2+1≦20; the sign (+,-) and the digits in an integer or decimal number are
included but the decimal point in a decimal number and the exponent number are not included.
Operand Description
0: Decimal format
S2
1: Exponential
5. If the value in S1 is a positive number, the first ASCII code can be stored in D; if the value in S1 is a negative
number, the sign 16#2D (-) is stored first and then the second ASCII is stored.
The value in S2+1 must be between 2≦S2+1≦20; the sign (+,-) and the digits in an integer or decimal
number are included but the decimal point in a decimal number and the exponent number are not included.
Example 1
Suppose the number of characters is eight. Two floating-point numbers examples are -1.2345678 and
16#00
D+3 16#36 (6) 16#35 (5)
ending character
16#00
D+4 16#38 (8)
ending character
After the conversion, if the floating-point number is stored in S2+1 but if the length exceeds the value in S2+1,
the instruction rounds off the digits in the decimal number. The floating-point string does not have to fill all of
S2+1.
6-775
AS Ser ies Pro gra mm in g M anu al
Example 2
After the conversion, if the floating-point number is stored in S2+1, the instruction uses the exponential
format to convert. For example, the number of characters is five digits and the floating-point number is
Floating-point number
D number
1234567
16#0000
D+5
ending character
Example 3
After the conversion, if the floating-point number is stored in S2+1, the instruction uses the exponential
format to convert. For example, the number of characters is two digits and the floating-point number is
_6 0.00012345, the conversion result is1.2E-04.
Floating-point number
D number
0.00012345
16#00
D+3 16#34 (4)
ending character
6-776
Cha p ter 6 App l ied Ins truc tio ns
Example 4
After the conversion, if the absolute value of the floating-point number is <=10-5, the instruction uses the
exponential format to convert. For example, the number of characters is four digits and the floating-point
Floating-point number
D number
0.00001234
16#00
D+4 16#35 (5)
ending character
Exponential
After con ve rsio n,
the fl oa ting -p oin t string
Si gn In tege r . De ci ma l
in th e device D. 6_
The value in S2+1 must be between 2≦S2+1≦20; the sign (+,-) and the digits in an integer and decimal
number are included but the decimal point in the decimal number and the exponent number are not included.
After calculation, the length adds the exponents (four digits) and the decimal point of the decimal number.
The number of character in the area for the integer is one digit.
The number of character in the area for the exponent is four characters.
If the exponent is a positive number, the instruction adds 16#2B (+) in the area for exponent in D. If the
exponent is a negative number, the instruction adds 16#2D (-) in the area for exponent in D. The number of
character in the area for the exponent is two digits. If there is only one digit in the conversion result, the
instruction adds 16#30 (0) as the first digit of the area for the exponent.
6-777
AS Ser ies Pro gra mm in g M anu al
Example
Suppose the number of characters is eight. Two floating-point numbers examples are -123.456789 and
16#00
D+5 16#30 (0) 16#2B (+)
ending character
16#00
D+6 16#32 (2)
ending character
After the conversion, if the floating-point number is stored in S2+1, and the instruction rounds off the extra
digits.
_6 The conversion result of the string length for the floating number -123.456789 in eight characters is 13 (the
The conversion result of the string length for the floating number 12345 in eight characters is 10 (the ending
character excluded).
The floating-point string does not have to fill all the characters.
Example 1
The floating-point number in (D1, D0= 12.3456) is converted into the decimal format in a string (D4=0, D5=8).
6-778
Cha p ter 6 App l ied Ins truc tio ns
16#00
D13 16#36(6)
ending character
Example 2
The floating-point number in (D1, D0 = 0.0012345678) is converted into the exponential format in a string (D4=1, D5=8).
Additional remarks
1. If the value in S1 exceeds the range of values that can be represented by floating-point numbers, the instruction is
not executed, SM0 is ON, and the error code in SR0 is 16#2013.
2. If the value in S2 is neither 0 nor 1, the instruction is not executed, SM0 is ON, and the error code in SR0 is
16#2003.
3. If the value in S2+1 is not in between 2≦S2+1≦20, the instruction is not executed, SM0 is ON, and the error code
in SR0 is 16#2003.
4. If you declare the operand S2 in ISPSoft, the data type is ARRAY [2] of WORD/INT.
6-779
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
Symbol
S : Source value
Explanation
1. This instruction converts a string in S into a floating-point number, and stores the conversion result in D.
_6
High byte Low byte
…… …… Floating-point number
16#00
S +n
ending character
Floating-point string
For decimal or exponential formats, the maximum length for the floating-point string (m) is 24 characters
(excluding the ending character 16#00) and the maximum length of n is 13 characters.
6-780
Cha p ter 6 App l ied Ins truc tio ns
2. The format of the value in S can be decimal or exponential. The instruction automatically determines the format
Decimal format: the length for the floating-point string is nine; the ending character 16#00 is not included.
16#00
S+4 16#37 (7)
ending character
OR
S+4
16#00
16#38 (8) 6_
ending character
Exponential format: the length for the floating-point string is 9; the ending character 16#00 is not included.
16#00
S+4 16#32 (3)
ending character
3. If the sign code in S is 16#20, 16#30, or 16#2B, then the conversion result is a positive value. If the sign code in S1
is 16#2D, then the conversion result is a negative value.
6-781
AS Ser ies Pro gra mm in g M anu al
Example 1
16#00
D4 16#37 (7)
ending character
Example 2
_6
16#00
D4 16#32 (3)
ending character
6-782
Cha p ter 6 App l ied Ins truc tio ns
Additional remarks
1. If the length of the string in S exceeds 25 bytes and does not end with 16#00, SM0 is ON, and the error code in
SR0 is 16#2003.
2. There are some rules for the value in S. if the value in S does not follow the rules, the instruction is not executed,
SM0 is ON and the error code in SR0 is 16#2003.
The first ASCII code: signs16#2B(+), 16#2D(-), blank16#20, and numbers 16#30(0)–16#39(9) are allowed.
If the first ASCII code is a sign or a blank, the second ASCII code must be a number.
Decimal format:
Integ er OR In tege r
. D ecimal
The decimal point “,” (16#2E), can only occur once and there must be numbers before and after the decimal point.
Exponential format:
Fi rst Second
E OR e +OR- n umber
nu mb er
There must be an “E” (16#45) or ”e” (16#65) and it can only occur once.
There must be a sign “+”(16#2B) or “-” (16#2D) and it can only occur once.
6-783
AS Ser ies Pro gra mm in g M anu al
3. If the string in S is out of range, the instruction is not executed, SM is ON, and the error code in SR0 is 16#2003.
If the first character in the string is a number ”0”–”9” (16#30–16#39), the valid range for a floating-point string
If the first character in the string is a blank (16#20) or a sign (“+”(16#2B) or “-” (16#2D)), the valid range for a
floating-point string is 2–24. The minimum length for the string is two (“+1”).
4. If the conversion result exceeds the range of values that can be represented by floating-point numbers, the
instruction is not executed, SM0 is ON, and the error code in SR0 is 16#2013.
_6
6-784
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
n
D
Symbol
S : String
6_
Explanation
1. This instruction retrieves n characters from the string in S from the right, and stores the retrieved characters in D.
When the data type of S (source value) is string, the maximum length for the value in S is 31 characters. When the
data type of S (source value) is not string, the maximum length for the value in S is 255 characters.
6-785
AS Ser ies Pro gra mm in g M anu al
b15 b8 b7 b0
S Second A SCII code F irst ASCII code
S +1 F our th ASCII code T hi rd AS CII c ode
~
n-1 A SCII c ode from the last
th
n ASCII code fr om the las t
th
~
Second ASC II code from the last T hi rd AS CII c ode from the l as t
16#00 F irst ASC II code from the last
n-1 A SCII c ode from the last n ASCII code fr om the las t
th th
D
n-3 A SCII c ode from the last
th
n-2 A SCII c ode from the last
th
D +1
.....................
~
Second ASC II code from the last T hi rd AS CII c ode from the l as t
16#00 F irst ASC II code from the last
If the data in S is ABCDEF12345 and n is 5, the instruction retrieves five characters in the string in S from the right.
The conversion result is as follows.
b15 b8 b7 b0 b15 b8 b7 b0
S 16#42(B) 16#41(A) 16# 32(2) 16#31(1) D
S +1 16# 44(D) 16# 43(C) 16# 34(4) 16# 33(3) D +1
ABCDE F12345 S +2 16# 46(F ) 16# 45(E) 16#00 16# 35(5) D +2
S +3 16# 32(2) 16# 31(1)
S +4 16# 34(4) 16# 33(3) T he fifth charac ter from the last
S +5 16# 00 16# 35(5)
_6 Example
b15 b8 b7 b0 b15 b8 b7 b0
D0 16#42(B) 16#41( A) 16# 46(F ) 16#45( E) D10
D1 16# 44(D) 16#43( C) 16# 48(H) 16# 47(G) D11
D2 16# 46(F ) 16# 45(E) 16# 00 D12
D3 16#48( H) 16#47( G) T he fourth char ac ter from the last
D4 16# 00
6-786
Cha p ter 6 App l ied Ins truc tio ns
Additional remarks
1. If the operand S is not a string ($) but a device with a string, the string in S can be up to 256 characters (16#00
ending character included). If the string in S does not end with 16#00, SM0 is ON, and the error code in SR0 is
16#200E.
2. If n is less than 0, it is processed as 0. If n is greater than the length of the string in S, it is processed as the length
of the string is S.
3. If D is not sufficient to contain n characters, the instruction is not executed, SM0 is ON, and the error code in SR0
is 16#2003.
6_
6-787
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
n
D
Symbol
S : String
_6
Explanation
1. This instruction retrieves n characters from the string in S starting from the left, and stores the retrieved characters
in D. When S is a string device, the maximum length for the value in S is 31 characters; when the S is not a string
2. If n is 0, the value in D is 0.
b15 b8 b7 b0 b15 b8 b7 b0
S Second ASCII code F irst ASCII code Second ASCII code F irst ASCII code D
S +1 F our th ASCII code T hi rd A SCII c ode F our th ASCII code T hi rd A SCII c ode D +1
.....................
...........
~
If the data in S is ABCDEF12345 and n is 7, the instruction retrieves seven characters in the string in S from the
left. The conversion result is as follows.
6-788
Cha p ter 6 App l ied Ins truc tio ns
b15 b8 b7 b0 b15 b8 b7 b0
S 16#42(B) 16#41( A) 16# 42(B) 16#41( A) D
S +1 16# 44(D) 16# 43(C) 16# 44(D) 16# 43(C) D +1
ABCDEF 12345 S +2 16# 46(F ) 16# 45(E) 16# 46(F ) 16# 45(E) D +2
S +3 16# 32(2) 16# 31(1) 16# 00 16# 31(1) D +3
S +4 16# 34(4) 16# 33(3) Seventh c haracter
S +5 16# 00 16# 35(5)
Example
When M0 is ON, the instruction retrieves the six characters starting from the character in D100, and stores them in D10.
b15 b8 b7 b0 b15 b8 b7 b0
D0 6 D100 16#42(B) 16#41( A) 16# 42(B) 16#41( A) D10
D101 16# 44(D) 16# 43(C) 16# 44(D) 16# 43(C) D11
D102 16# 46(F ) 16# 45(E) 16# 46(F ) 16# 45(E) D12
Six th charac ter D103 16# 48(H) 16#47( G) 16# 00 D13
D104 16# 00
Additional remarks
6_
1. If the operand S is not a string ($) but a device with a string, the string in S can be up to 256 characters(16#00
ending character included). If the string in S does not end with 16#00, SM0 is ON, and the error code in SR0 is
16#200E.
2. If n is less than 0, it is processed as 0. If n is greater than the length of the string in S, it is processed as the length
of the string is S.
3. If D is not sufficient to contain n characters, the instruction is not executed, SM0 is ON, and the error code in SR0
is 16#2003.
6-789
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
Symbol
S1 : String
_6 Explanation
1. Suppose the values in S2 and S2+1 are n and m respectively. This instruction retrieves m characters starting from
b15 b8 b7 b0 b15 b8 b7 b0
.. .. .. .. ...
~
n+ 1
th
AS CII co de f rom th e las t n t h A SCII c ode from t he las t n+ m-2 t h AS CII co de f rom th e las t n+ m-3 t h AS CII co de f rom t he las t
6-790
Cha p ter 6 App l ied Ins truc tio ns
2. If the data in S1 is ABCDEFGHIJK, the value in S2 is 3, and the value in S2+1 is 7, the instruction retrieves the
seven characters starting from the third characters in the string from the left. The conversion result is as follows.
b15 b8 b7 b0 b15 b8 b7 b0
S1 16#42(B) 16#41(A) 16# 44(D) 16# 43(C) D
S1 +1 16# 44(D) 16# 43(C) 16# 46(F ) 16#45(E) D+1
S2
S1 +2 16# 46(F ) 16# 45(E) 16# 48(H) 16# 47(G) D+2
Thi rd cha ra cter D+3
S1+3 16# 48(H) 16# 47(G) 16# 00 16# 49(I)
S1 +4 16# 4A(J ) 16# 49(I)
16# 00 16# 4B(K) Se ven th ch ar acte r
S1+5
4. If the value in S2+1 is -1, the instruction retrieves the characters in S1 starting from the character indicated by the
5. If the data in S1 is ABCDEFGHIJK, the value in S2 is 5, and the value in S2+1 is -1, the conversion result is as
follows.
b15 b8 b7 b0 b15 b8 b7 b0
S1 16#42(B) 16#41( A) 16# 46(F ) 16#45( E) D
S1 +1 16# 44(D) 16# 43(C) 16# 48(H) 16# 47(G) D +1
S1 +2 16# 46(F ) 16# 45(E) 16# 4A(J ) 16# 49(I) D +2
S1+3 16# 48(H) 16# 47(G) Fifth c harac ter 16# 00 16# 4B(K)
S1 +4 16# 4A(J ) 16# 49(I)
6_
S1+5 16# 00 16# 4B(K)
Example
b15 b8 b7 b0 b15 b8 b7 b0
D10 16#32(2) 16#31( 1) 16# 34(4) 16#33( 3) D0
D11 16# 34(4) 16# 33(3) 16# 36(6) 16# 35(5) D1
D12 16#36( 6) 16# 35(5) 16# 00 D2
D13 16# 00 16# 37(7)
D20 3
D21 4
6-791
AS Ser ies Pro gra mm in g M anu al
Additional remarks
1. If the operand S1 is not a string ($) but a device with a string, the string in S1 can be up to 256 characters (16#00
ending character included). If the string in S1 does not end with 16#00, SM0 is ON, and the error code in SR0 is
16#200E.
2. If the value of S2 is S2<=0 or S2+1<-1, SM0 is ON, and the error code in SR0 is 16#2003.
3. If the value in S2 or S2 + S2+1 is larger than the length of the string in S1, SM0 is ON, and the error code in SR0 is
16#2003.
4. If the value in S2+1 is larger than the number of characters that can be retrieved from the string in S1, SM0 is ON,
and the error code in SR0 is 16#2003.
5. If D is not sufficient to contain S2+1 characters, the instruction is not executed, SM0 is ON, and the error code in
SR0 is 16#2003.
6. if you declare the operand S2 in ISPSoft, the data type is ARRAY [2] of WORD/INT.
_6
6-792
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
n
D
Symbol
S1 : String to be searched
D : Search result 6_
Explanation
1. This instruction searches the string in S2 from the nth character for the string in S1, and stores the search result in
D.
2. When the nth character exceeds the length of the string in S2, or S1>S2, D is 0.
3. Suppose the string in S2 is “ABCDEFGHIJK”, the string in S1 is “EFGH”, and n is 3. The search begins from the
b15 b8 b 7 b0 b15 b8 b 7 b0
S1 1 6#46 (F ) 1 6#45(E) 16#4 2(B) 16#4 1(A) S2
S1 +1 1 6#4 8(H ) 1 6#47 (G) 16#4 4(D ) 16#4 3(C ) S2 +1 Se arch ing t he st ring f rom the th ird chara ct er
S1 +2 忽略
Ig n o r e d 16 #00 16 #46(F) 16# 45(E) S2+2
Matchin g chara ct er
16 #48(H) 16# 47(G) S2 +3
16# 4A(J) 1 6#4 9(I ) S2+4
16 #00 16# 4B(K) S2+5
5 D
6-793
AS Ser ies Pro gra mm in g M anu al
Example
b15 b8 b7 b0
16#32(2) 16#31( 1) D0
AB 16# 44(D) 16# 43(C) D1
Searc hing the str ing from the thi rd c har acter
16# 42(B) 16#41( A) D2
Matching c har acter
16# 48(H) 16# 47(G) D3
Ignored 16# 00
5 D100
Additional remarks
1. If the operand S1 is not a string ($) but a device with a string, the string in S1 can be up to 256 characters(16#00
_6 ending character included). If the string in S1 does not end with 16#00, SM0 is ON, and the error code in SR0 is
16#200E.
2. If the operand S1 is not a string ($) but a device with a string, the string in S2 can be up to 256 characters(16#00
ending character included). If the string in S1 does not end with 16#00, SM0 is ON, and the error code in SR0 is
16#200E.
3. If n is less than or equal to 0, SM0 is ON, and the error code in SR0 is 16#2003.
6-794
Cha p ter 6 App l ied Ins truc tio ns
2116 $RPLC P S1, S2, S3, S4, D Replacing the characters in a string
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
S4
D
Symbol
String to be searched and matching
S1 :
characters replaced
S2 : New string
Explanation
1. This instruction replaces the characters in S1 with the characters in S2, starting from the character in S1 that
matches the character in S4. The number of characters that are replaced is indicated by the value in S3, and the
2. For example, the instruction replaces the four characters starting from the sixth character in the string
6-795
AS Ser ies Pro gra mm in g M anu al
b15 b8 b7 b0 b15 b8 b7 b0
S1 16#32(2) 16#31( 1) 16# 32(2) 16#31( 1) D
S1+1 16# 34(4) 16#33( 3) 16# 34(4) 16# 33(3) D+1
S1+2 16# 36(6) 16# 35(5) 16# 4D(M) 16# 35(5) D+2
S1+3 16# 38(8) 16# 37(7) After the instruction 16# 30(0) 16# 4E(N) D+3
S1+4 16# 30(0) 16# 39(9) is executed 16# 0000 D+4
S1+5 Ignored 16# 00
4. If the value in S3 is larger than the number of characters that the instruction can replace in the string in S1, the
instruction replaces the characters in S1 starting from the character indicated by the value in S4 to the last
character in S1.
Example
When M0 is ON, the data in D0–D7 is “1234ABAB1234AB”, and the data in D10–D11 is “CDEF”. When the $RPLC
_6 instruction executes, the instruction replaces the characters in D0–D7 starting from the character indicated by the value
in D51 with the characters in D10–D11. The number of characters to replace is indicated by the value in D50, and the
6-796
Cha p ter 6 App l ied Ins truc tio ns
If the values in D50 and D51 are 3 and 4 respectively, the execution result is as follows.
b 15 b8 b7 b0
b15 b8 b7 b0
D0 16# 32 (2) 16#31(1)
1 6#32(2) 16#31 (1) D20
D1 16# 34 (4) 1 6#33(3) A f te r t he in s t ruc t io n 1 6#43(C) 16# 33 (3) D21
D2 16# 42(B) 16 #41(A) is ex ec u t ed.
16#45(E) 16#44(D) D 22
D3 16#42(B) 16 #41(A )
執行後 16# 41 (A) 1 6#46(F) D23
D4 1 6#32(2) 1 6#31(1) 16# 31 (1) 16# 42 (B) D 24
D5 1 6#34(4) 1 6#33(3)
16# 33 (3) 16# 32 (2) D 25
D6 1 6#42(B) 16#41(A) 16#41(A) 16# 34 (4 ) D 26
D7 Ig忽略
n o re d 16 #00 1 6#00 16# 42 (B) D 27
D50 3 取代數量
N u m b e r o f c h ar ac t er s w h ic h a r e r e p la c e d
D 51 4 開始取代的位置
C h a r a c t e r w h ic h i s r e p la c e d
If the values in D50 and D51 are 4 and 4 respectively, the execution result is as follows.
b15 b8 b7 b0 b15 b8 b7 b0
D0 16#32(2) 16#31( 1) 16# 32(2) 16#31( 1) D20
D1 16# 34(4) 16# 33(3) 16# 43(C) 16# 33(3) D21
D2 16# 42(B) 16# 41(A) 16# 45(E) 16# 44(D) D22
D3 16# 42(B) 16# 41(A) 16# 42(B) 16# 46(F ) D23
After the instruction
D4 16# 32(2) 16# 31(1) 16#32 (2) 16#31 (1) D24
is executed
D5 16# 34(4) 16# 33(3) 16# 34(4) 16# 33(3) D25
D6 16# 42(B) 16# 41(A) 16# 42(B) 16#41 (A) D26 6_
D7 Ignored 16#00 16# 0000 D27
6-797
AS Ser ies Pro gra mm in g M anu al
If the values in D50 and D51 are 20 and 4 respectively, the execution result is as follows.
b15 b8 b7 b0 b15 b8 b7 b0
D0 16#32(2) 16#31(1) 16# 32(2) 16#31(1) D20
D1 16# 34(4) 16# 33(3) 16# 43(C) 16# 33(3) D21
D2 16# 42(B) 16# 41(A) 16# 45(E) 16# 44(D) D22
D3 16# 42(B) 16# 41(A) After the instruction 16# 00 16# 46(F ) D23
D4 16# 32(2) 16# 31(1) is executed
D5 16# 34(4) 16# 33(3)
D6 16# 42(B) 16# 41(A)
D7 Ignored 16# 00
If the values in D50, D51, and D10 are 3, 4, and 16#00 respectively, the execution result is as follows. The three
b15 b8 b7 b0 b15 b8 b7 b0
D0 16#32(2) 16#31(1) 16# 32(2) 16#31(1) D20
D1 16# 34(4) 16# 33(3) 16# 41(A) 16# 33(3) D21
D2 16# 42(B) 16# 41(A) 16# 31(1) 16# 42(B) D22
D3 16# 42(B) 16# 41(A) After the instruction 16# 33(3) 16# 32(2) D23
D4 16# 32(2) 16# 31(1) is executed 16# 41(A) 16# 34(4) D24
D5 16# 34(4) 16# 33(3) 16# 00 16#42(B) D25
D6 16# 42(B) 16# 41(A)
D7 16# 00
_6 D10 16# 00
Additional remarks
1. If the string in S1 does not end with 16#00, SM0 is ON, and the error code in SR0 is 16#200E.
2. If the string in S2 does not end with 16#00, SM0 is ON, and the error code in SR0 is 16#200E.
3. If the value in S3 <0 or S4<=0 or the value in S4 is larger than the length of the string in S1, SM0 is ON, and the error
code in SR0 is 16#2003.
4. If the value in the string (16#00 the ending character included) in S1 after the replacement is larger than 256, the
instruction is not executed, SM0 is ON, and the error code in SR0 is 16#2003.
6-798
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
D
Symbol
S1 : String
1. This instruction deletes the characters in S1 starting from the character indicated by the value in S3. The number of
characters that are deleted is indicated by the value in S2, and the instruction stores the result in D.
2. For example, the instruction deletes the four characters starting from the third character in the string “1234567890”
b15 b8 b7 b0 b15 b8 b7 b0
S1 16#32(2) 16#31( 1) 16# 32(2) 16#31( 1) D
S1 +1 16# 34(4) 16# 33(3) 16# 38(8) 16# 37(7) D +1
S1 +2 16# 36(6) 16# 35(5) 16# 30(0) 16# 39(9) D +2
S1+3 16# 38(8) 16# 37(7) After the instruction 16# 0000 D +2
S1 +4 16# 30(0) 16# 39(9) is executed
S1 +5 Ignored 16# 00
S2 4
S3 3
6-799
AS Ser ies Pro gra mm in g M anu al
3. If the value in S2 is larger than the number of characters which can be deleted in the string in S1, the instruction
deletes the characters in S1 starting from the character indicated by the value in S3 to the last character in S1, and
stores 16#00 in D.
b15 b8 b7 b0
S1 16#32(2) 16#31(1)
S1 +1 16# 34(4) 16# 33(3) b15 b8 b7 b0
16# 32(2) 16#31(1) D
S1 +2 16# 36(6) 16# 35(5)
D +1
S1+3 16# 38(8) 16# 37(7) After the instruction 16# 0000
S1 +4
is executed
16# 30(0) 16# 39(9)
S1 +5 Ignored 16# 00
Example
When M0 is ON, the data in D0–D3 is “1234567”. When the $DEL instruction executes, it deletes the characters in D0–
D3 starting from the character indicated by the value in D11. The number of characters to delete is indicated by the value
_6
If the values in D10 and D11 are 3 and 4 respectively, the execution result is as follows.
b15 b8 b7 b0
D0 16#32(2) 16#31( 1) b15 b8 b7 b0
D1 16# 34(4) 16# 33(3) 16# 32(2) 16#31( 1) D20
D2 16# 36(6) 16# 35(5) 16# 37(7) 16# 33(3) D21
D3 16# 00 16# 37(7) 16# 00 D22
After the instruction
is executed
D10 3
D11 4
If the values in D10 and D11 are 5 and 4 respectively, the execution result is as follows. Note that the number of
characters to delete exceeds the range, the instruction deletes the characters in D0–D3 starting from the fourth character
6-800
Cha p ter 6 App l ied Ins truc tio ns
b15 b8 b7 b0
D0 16#32(2) 16#31( 1)
b15 b8 b7 b0
D1 16# 34(4) 16# 33(3)
16# 32(2) 16#31( 1) D20
D2 16# 36(6) 16# 35(5) D21
After the instruction 16# 00 16# 33(3)
D3 16# 00 16# 37(7)
is executed
D11 4
If the values in D10 and D11 are 5 and 1 respectively, the execution result is as follows.
b15 b8 b7 b0
D0 16#32(2) 16#31(1)
b15 b8 b7 b0
D1 16# 34(4) 16# 33(3)
16# 37(7) 16#36(6) D20
D2 16# 36(6) 16# 35(5) D21
16# 00
D3 16# 00 16# 37(7) After the instruction
is executed
D10 5
D11 1
Additional remarks
1. If the string in S1 does not end with 16#00, SM0 is ON, and the error code in SR0 is 16#200E.
2. If the value in S2 is less than 0, the value in S3 is less than or equal to 0, or the value in S3 is larger than the length
of the string in S1, SM0 is ON, and the error code in SR0 is 16#2003.
6_
6-801
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
Symbol
S : String to be cleared
Explanation
_6 1. This instruction clears the string in S. If the string in S does not end with 16#00, the instruction clears up to 255
characters.
b15 b8 b7 b0
S 16#31(1) 16# 2D(-) S 16# 0000
S +1 16# 33(3) 16# 32(2) S +1 16# 0000
S +2 16# 34(4) 16# 35(5) S +2 16# 0000
S +3 16# 36(6) 16# 2E(.) S +3 16# 0000
S +4 16# 38(8) 16# 37(7) After the instruction S +4 16# 0000
is executed 16# 0000
S +5 16# 00 S +5
6-802
Cha p ter 6 App l ied Ins truc tio ns
Example
The instruction clears the string in D0 as illustrated below.
b15 b8 b7 b0
D0 16#32(2) 16#31(1) 16# 0000 D0
D1 16# 34(4) 16# 33(3) 16# 0000 D1
D2 16# 36(6) 16# 35(5) 16# 0000 D2
D3 16# 00 16# 37(7) After the instruction 16# 0000 D3
is executed
6_
6-803
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
D
Symbol
S1 : String
S2 : String to be inserted
S3 : The string S2 is inserted into S1 after the character indicated by the value in S3.
1. This instruction inserts the string in S2 into the string in S1 after the character indicated by the value in S3, and
2. If the string in either S1 or S2 is a null string, the instruction stores the other string (S1 or S2) that is not a null string
in D.
3. If the strings in S1 and S2 are null strings, the instruction stores 16#0000 in D.
b15 b8 b7 b0 b15 b8 b7 b0
S1 16#32(2) 16#31( 1) 16# 32(2) 16#31( 1) D
S1 +1 16# 34(4) 16# 33(3) 16# 34(4) 16# 33(3) D +1
S1 +2 16# 36(6) 16# 35(5) 16# 36(6) 16# 35(5) D +2
S1+3 16# 38(8) 16# 37(7) 16# 4E(N) 16# 4D( M) D +3
After the instruction
S1 +4 16# 30(0) 16# 39(9) 16# 38(8) 16# 37(7) D +4
is executed
S1 +5 16# 00 16# 30(0) 16# 39(9) D +5
16# 00 D +6
S2 16# 4E(N) 16# 4D( M)
S2 +1 16# 00
S3 6
6-804
Cha p ter 6 App l ied Ins truc tio ns
Example
When M0 is ON, the data in D0–D3 is “1234567”, and the data in D10 is “AB”. When the $INS instruction executes, it
inserts “AB” into the string in D0–D3 after the character indicated by the value in D30, and stores the result in D20–D24.
b15 b8 b7 b0 b15 b8 b7 b0
D0 16#32(2) 16#31( 1) 16# 41(A) 16#31( 1) D20
D1 16# 34(4) 16# 33(3) 16# 32(2) 16# 42(B) D21
D2 16# 36(6) 16# 35(5) 16# 34(4) 16# 33(3) D22
D3 16# 00 16# 37(7) After the instruction 16# 36(6) 16# 35(5) D23 6_
is executed 16# 00 16# 37(7) D24
D10 16# 42(B) 16# 41(A)
D11 Ignored 16# 00
D30 1
b15 b8 b7 b0 b15 b8 b7 b0
D0 16#32(2) 16#31(1) 16#42(B) 16 #41(A) D20
D1 16#34(4) 16#33(3) 16#32(2 ) 16 #31(1) D21
D2 16#36(6) 16#35(5) Af ter 16#34(4) 16 #33(3) D22
execution 16# 36(6)
D3 16#00 16#37(7) 16 #35(5) D23
16#00 16 #37(7) D24
D10 16#42(B) 16#41(A)
D11 I gnored 16#00
D30 0
6-805
AS Ser ies Pro gra mm in g M anu al
Additional remarks
1. If the string in S1 does not end with 16#00, SM0 is ON, and the error code in SR0 is 16#200E.
2. If the string in S2 does not end with 16#00, SM0 is ON, and the error code in SR0 is 16#200E.
3. If the value in S3 is less than 0, or if the value in S3 is larger than the length of the string in S1, SM0 is ON, and the
error code in SR0 is 16#2003.
4. If the inserted value in the string (16#00 the ending character included) in S1 is larger than 256, the instruction is
not executed, SM0 is ON, and the error code in SR0 is 16#2003.
_6
6-806
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
S4
D1
D2
Symbol
S1 : String
S2 : Splitter
6_
S3 : Designated ending character of a splitter
Explanation
2. S1 is the string source. For characters in a string, only the characters before an ending character or the value in S3
will be used as a valid string.
3. S2 is the splitter that separates strings. S3 is a designated ending character of a splitter. Only values in the lower 8-
byte are valid for S2 and S3. However, if you input a value other than the value in the lower 8-byte, PLC does not
send any error message. When S2 and S3 use D devices to store values, only use lower 8-byte for values in ASCII
format. Values in S2 and S3 can be a constant number, an ASCII or a string.
4. S4 is the storing length for a string after a splitter; unit: WORD. The ending characters, such as 16#00 and 16#0000
6-807
AS Ser ies Pro gra mm in g M anu al
should be included in the length. The maximum WORDs a string can contain is S4 and a WORD equals to 2 bytes.
An ending character 16#00 takes a byte. For example, if S4 is 2, the maximum WORDs a string can contain is 2
WORDs and 2 WORDs equals to 4 bytes. And that means a string can contain 3 characters and 1 ending character
(16#00). The setting range for S4 is 1-100. (If the input value is out of the range, the value will be seen as the
minimum or the maximum during operation and PLC does not send any error message.)
6. The result of D1~ D1+ S4 *D2 –1 is the D devices that are occupied.
For example, if D2 is 3, that means the 1st string will be stored from D1+0 and the 2nd string will be stored in D1+ S4
7. The instruction looks for a string for a length defined in S4 (WORD) till there is an ending character or a splitter. Add
8. Up to 256 characters can be stored in S1 and up to 20 sets of strings can be stored in D2. When any of the limitation
is reached even when there is no ending character, the splitting stops.
Example
Use “,” as a splitter to split a string “abcd,1234,5.67,8910;ef” and use “;” as an ending character that stored in D0-D11. And
_6
store the results in the register starting from D100 in a unit of 10 WORDs.
Note: the string to be split does not include the characters “”.
6-808
Cha p ter 6 App l ied Ins truc tio ns
Explanation
D0 16#6261 “ba”
D1 16#6463 “dc”
D2 16#312C “1,”
D3 16#3332 32
D4 16#2C34 “,4”
D5 16#2E35 “.5”
D6 16#3736 “76”
D7 16#382C “8,”
D8 16#3139 “19”
D9 16#3330 “30”
2. Starting contact is M0
occupied; D100- D100 D101 D102 D103 D104 D105 D106 D107 D108 D109
D101=“abcd”
HEX 6261 6463 0000 0000 0000 0000 0000 0000 0000 0000
occupied; D110 D111 D112 D113 D114 D115 D116 D117 D118 D119
D110~D111=“1234”
HEX 3231 3433 0000 0000 0000 0000 0000 0000 0000 0000
6-809
AS Ser ies Pro gra mm in g M anu al
Device D120 D121 D122 D123 D124 D125 D126 D127 D128 D129
HEX 2E35 3736 0000 0000 0000 0000 0000 0000 0000 0000
Device D130 D131 D132 D133 D134 D135 D136 D137 D138 D139
HEX 3938 3031 0033 0000 0000 0000 0000 0000 0000 0000
Upper:
3”
String “98” “01” - - - - - - -
Lower:
16#00
Additional remarks
1. Up to 256 characters can be stored in S1 if there is no ending character (16#00) or splitter, the instruction will
execute on the 256 characters. SM0 will not be ON.
_6 2. Ending character 16#00 or 16#0000 will be added in a string after it is split (D1). See the example above.
3. Ending character 16#00 or 16#0000 will be added in a string after it is split (D1) even when there is no string behind
the split string.
6-810
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
D1
D2
Symbol
S1 : String source 1
S2 : String source 2
S3 : Splitter 6_
D1 : Device in which the merged string is stored
Explanation
2. S1 and S2 are the string source 1 and 2 respectively. S3 is the splitter that separates strings. Only values in the lower
8-byte are valid for S3. S1 merges S2 directly, when S3 is 0 (16#00). S1 adds the splitter and then merges S2, when
S3 is not 0.
3. D1 is where to store a merged string. The merging order is string 1 + splitter + string 2 + ending character 0 (16#00).
You can self-define an ending character. This self-defined ending character will be added before the official one, 0
(16#00).
5. D2 is the sum of all the merged strings (ending character 16#00 excluded). The accumulated length for the string is
the length of string 1 or the length of string 1 + splitter + the length of string 2.
6 - 8 11
AS Ser ies Pro gra mm in g M anu al
6. If the string sources for S1 and S2 are both 0 or when strings are merged, the length for the merged string is up to
255 words (ending character 16#00 excluded). For example, there are 250 words in String 1 and 100 words in
String 2. After they are merged, the length for the merged string is 250 words from String 1 + splitter *1 + first 4
Example
Use “,” as a splitter to split a string and use “;” as an ending character and then merge 3 strings “abcd”, ”1234” and ”5.67”.
And store the results “abcd,1234,5.67;” D100=15, in the register starting from D0-D7.
_6 Explanation
1. Starting contact is M0
2. The 1st program: merge the 1st string “abcd” and 2nd string “1234” together and put a splitter “,” in between and then
store the result in the registers starting from D0.
The merged result: D0~D4= “abcd,1234”; the quantity of merged strings: D100=9
Device D0 D1 D2 D3 D4
HEX 6261 6463 312C 3332 0034
String “ba” “dc” “1,” “32” Upper 8-byte: 16#00 ; lower 8-byte: 4
3. The 2nd program: merge the 1st string D0=“abcd,1234” and 2nd string ”5.67” together and put a splitter “,” in between
and then store the result in the registers starting from D0.
The merged result: D0~D7= “abcd,1234,5.67”; the quantity of merged strings: D100=14
Device D0 D1 D2 D3 D4 D5 D6 D7
HEX 6261 6463 312C 3332 2C34 2E35 3736 0000
String “ba” “dc” “1,” “32” “,4” “.5” “76” 16#0000
6-812
Cha p ter 6 App l ied Ins truc tio ns
4. The 3rd program: merge the 1st string D0=“abcd,1234,5.67” and 2nd string ”,” together and put a splitter “0” in between
(merge the string 1 and 2 directly) and then store the result in the registers starting from D0.
The merged result: D0~D7= “abcd,1234,5.67;”; the quantity of merged strings: D100=15.
Device D0 D1 D2 D3 D4 D5 D6 D7
Additional remarks
1. If the string in S1 does not end with 16#00, SM0 is ON, and the error code in SR0 is 16#200E.
2. If the string in S2 does not end with 16#00, SM0 is ON, and the error code in SR0 is 16#200E.
3. If D1 + (D2+1)/2 – 1 exceeds the device range, the instruction is not executed, SM0 is ON, and the error code in
SR0 is 16#2003.
4. Ending character 16#00 or 16#0000 will be added behind the merged string. See the examples above.
6_
6-813
AS Ser ies Pro gra mm in g M anu al
6-814
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
S2 : Socket number
S3 : Communication mode
Explanation
6_6
1. This instruction opens a socket. Set S1 to 1 to open a TCP socket, and set S1 to 0 to open a UDP socket.
2. S2 is the socket number. It should correspond to the Ethernet socket number set in the advanced settings; up to 4
can be set.
3. The AS Series PLC functions as a client and sends a TCP connection (S1 = 1) request to the server if S3 is 1 or 3
(available for V1.06.30 or later), and the AS Series PLC functions as a sever and waits for a TCP connection (S1 =
1) request from the client if S3 is 0 or 2 (available for V1.06.30 or later).
5. The operand S1 must be either 0 or 1 (default: 0); the operand S2 must be between 1–4 (default: 1); the operand S3
must be either 0 or 1 (default: 0). If exceeding the range, error code H’2003 shows on the PLC.
6. Before using the instruction, set the following setting in HWCONFIG in ISPSoft.
6-815
AS Ser ies Pro gra mm in g M anu al
PLC Parameter Setting → Ethernet-Advanced → Socket → TCP/UDP Socket Connection and Setting
sockets to be used
7. Refer to the SCONF instructions (API 2209) for more on the TCP and UDP Socket parameters.
8. If you need to send several data separately, you can use this new functionality: S3 = 2 or 3 (available for V1.06.30
or later). The first device in the receiving destination is stored with the length of the data to be received, and the data
to be received is stored from the second device and on. If you need to receive another data, you can clear the value
9. When the TCP Socket (S1 = 1) is opened, use the following settings for S3, the Socket IP and communication ports.
Local Remote
Start
S3 Remote IP Communicatio Communicatio Description
Mode
n Port n Port
be appointed.
Note: New modes 2 and 3 are available for V1.06.30 or later. New modes use the first device in the receiving destination
to store the length of the data to be received. You can use the value here to determine if the receiving is complete. For
6-816
Ch ap te r 6 Ap pl ie d Instruc ti ons
10. If data is sent through a TCP socket, and no error occurs after the instruction is executed, the socket starts to
establish the connection with the remote device and the flag for starting connection is ON. If the connection is
made successfully, the flag for successful connection is ON, and the flag for starting connection is OFF. If an error
TCP
Connection Data Connection Connection Data
Socket Data Sent Error Flag
Started Received Starting Closed Sending
Number
11. If data is transmitted through a UDP socket, and no error occurs after the instruction is executed, the flag for
6_6
3 SM1344 SM1345 SM1346 SM1347 SM1348
12. If data is transmitted through a TCP Socket in Server mode or through a UDP Socket, it is not allowed to use the
following communication port number for AS series PLC.
TCP 80 HTTP
UDP 68 DHCP/BOOTP
6-817
AS Ser ies Pro gra mm in g M anu al
Example 1 (S3 = 1)
1. This example illustrates how to establish a TCP connection between a computer as server and an AS Series PLC
as client.
Ethernet Configuration
IP Address Mode Static
IP Address 192.168.1.111
Netmask Address 255.255.255.0
Gateway Address 192.168.1.1
b) SCONF instruction
Remote IP 192.168.1.110
available and for V1.06.30 or later versions: 4096 bytes are available.
4. First, set the parameters related to TCP Socket1 in HWCONFIG in ISPSoft or in the SCONF instruction.
6-818
Ch ap te r 6 Ap pl ie d Instruc ti ons
5. Establishing a connection (Network 1); When M0 is ON, the system checks whether the socket is closed (SM1274
= ON), NOT connected (SM1270 = OFF), or NOT being connected (SM1273 = OFF). If the socket is not closed,
has not been connected, and is not being connected, the system performs the connection procedure. Once the
6. Sending data (Network 3): When M1 is ON, the system checks whether the socket has been connected (SM1270
= ON), and no data is being sent yet (SM1275 = OFF). If the socket has been connected and no data is being sent,
the system starts to send the data. If the socket has not been connected, the system does not execute the
instruction. After the data has been sent (SM1272 = ON), M1 is switched to OFF.
7. Receiving data (Network 4): When M2 is ON, the system checks whether the socket has been connected and the
flag (SM1271) for data received is ON. If the socket has been connected and the flag for data received is ON, then
the data has already been received. But that does NOT necessary mean it has reached its maximum length of
receiving. After the data has been received (SM1271 = ON), M2 and SM1271 are switched to OFF.
8. Closing a connection (Network 5): When M3 is ON, the system checks whether the socket has been connected. If
the socket has been connected (SM1270 = ON), and the connection is not yet closed (SM1274 = OFF), the system
is going to close the connection. If the socket has not been connected, the system does not execute the
6_6
6-819
AS Ser ies Pro gra mm in g M anu al
Example 2 (S3 = 0)
1. This example illustrates how to establish an UDP connection between a computer and an AS Series PLC.
b) SCONF instruction
2. Establishing a connection (Network 1); When M0 is ON, the system checks if the socket is closed (SM1334 = OFF)
and then the system performs the connection procedure. Once the socket is connected (SM1334 = ON), M0 is
switched to OFF.
3. Sending data (Network 3): When M1 is ON, the system checks if the socket has been connected (SM1334 = ON),
and then the system starts to send the data. After the data has been sent, M1 is switched to OFF.
4. Receiving data (Network 4): When M2 is ON, the system checks if the socket has been connected and the flag
(SM1335) for data received is ON. If so, the data has already been received. But that does NOT necessary mean it
has reached its maximum length of receiving. After the data has been received (SM1335 = ON), M2 and SM1335
5. Closing a connection (Network 5): When M3 is ON, the system checks if the socket to be closed has been
connected (SM1334 = ON), and if the connection is not yet closed (SM1337 = OFF). If so, the system is going to
close the connection. If the socket has not been connected, the system does not execute the instruction. After the
_6
connection is closed, M3 is switched to OFF.
6-820
Ch ap te r 6 Ap pl ie d Instruc ti ons
Example 3 (S3 = 2)
1. This example illustrates how a Server receives data of 2K byes from a TCP connection in mode S3 = 2.
2. SCONF instruction
Remote IP 192.168.1.106
Remote Port 0
6_6
Local Port 2020
#1: This data length is defined by settings in SCONF instruction; for V1.06.20 or previous versions: 512 bytes are
available and for V1.06.30 or later versions: 4096 bytes are available.
3. When PLC CPU is from STOP to RUN, execute SCONF instruction. Refer to API 2209 SCONF for setting up the
socket.
4. Establishing a connection (Network 3); When M0 is ON, the system checks if the socket is closed (SM1274 = ON),
NOT connected (SM1270 = OFF), or NOT being connected (SM1273 = OFF). If the socket is not closed, has not
been connected, and is not being connected, the system performs the connection procedure. Once the socket is
6-821
AS Ser ies Pro gra mm in g M anu al
5. The connection to remote Client (IP = 192.168.1.106) is connected and sending 2K bytes of data.
6. Open the Monitor Table and start monitoring the starting device where the data length of the received data is
stored.
If 2K bytes of data is received, you can see the value in D15000 is 2000. If you need to start another data
transmission, you can set the value in D15000 to 0 to start another data length count.
7. Closing a connection (Network 5): When M3 is ON, the system checks if the socket has been connected. If the
socket has been connected (SM1270 = ON), the system is going to close the connection. If the socket has not
been connected, the system does not execute the instruction. After the connection is closed, M3 is switched to
OFF.
_6
6-822
Ch ap te r 6 Ap pl ie d Instruc ti ons
Additional remarks
Error Code
Error Flag Description
(SR180)
16#6201 TCP Socket error flag Illegal TCP Socket communication mode setting
16#6202 TCP Socket error flag Illegal TCP Socket mode setting
16#6203 TCP Socket error flag Illegal address for sending data
16#6204 TCP Socket error flag Length of sent data exceeds the range
16#6205 TCP Socket error flag Source data device exceeds the range
16#6206 TCP Socket error flag Illegal address for receiving data
16#6207 TCP Socket error flag Length of received data exceeds the range
16#6208 TCP Socket error flag Target data device exceeds the range
16#6214 TCP Socket error flag TCP Socket connection rejected by remote equipment
16#6218 TCP Socket error flag Sending data through TCP Socket triggered
16#621A TCP Socket error flag Disabling TCP Socket connection triggered
6-823
AS Ser ies Pro gra mm in g M anu al
Error Code
Error Flag Description
(SR180)
16#620C UDP Socket error flag Illegal address for sending data
16#620D UDP Socket error flag Length of sent data exceeds the range
16#620E UDP Socket error flag Source data device exceeds the range
16#620F UDP Socket error flag Illegal address for receiving data
16#6210 UDP Socket error flag Length of data received exceeds the range
16#6211 UDP Socket error flag Target data device exceeds the range
16#6213 UDP Socket error flag Size of data received larger than dataset
16#621A UDP Socket error flag Disabling UDP Socket connection triggered
3. When the client and server are both AS Series PLC and the communication timeout settings are set the same, the
server automatically cuts the connection if a timeout occurs on the server first. In this case, the error flag on the
client is not ON. On the other hand, if a timeout occurs on the client first, the error flag on the client is ON and the
connection is cut.
6-824
Ch ap te r 6 Ap pl ie d Instruc ti ons
DWORD
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S1 : Socket mode
S2 : Socket number
Explanation
1. This instruction sends data through the socket specified by S1. Set S1 to 1 to open a TCP socket, and set S1 to 0 to
open a UDP socket.
6_6
2. S2 is the socket number. It should correspond to the Ethernet socket number; up to 4 can be set.
3. The operand S1 must be either 0 or 1 (default: 0); the operand S2 must be between 1–4 (default: 1). If exceeding the
range, error code H’2003 shows on the PLC.
4. Before using this instruction, use the SOPEN instruction (API 2200) to open the socket. If the flag for the successful
connection of the TCP socket is ON, or the flag for started connection of the UDP socket is ON, use this instruction.
5. If data is sent through a TCP socket, and no error occurs after the instruction is executed, the data is sent, and the
flag for sending data is ON. If data is sent successfully, the flag for sent data is ON, and the flag for sending data is
6-825
AS Ser ies Pro gra mm in g M anu al
6. If data is sent through a UDP socket, and no error occurs after the instruction is executed, the flag for sent data is
1 SM1336 SM1338
2 SM1341 SM1343
3 SM1346 SM1348
4 SM1351 SM1353
Example
Additional remarks
16#6202 TCP Socket error flag Illegal TCP Socket mode setting
16#6203 TCP Socket error flag Illegal address for sending data
16#6204 TCP Socket error flag Length of sent data exceeds the range
16#6205 TCP Socket error flag Source data device exceeds the range
16#6214 TCP Socket error flag TCP Socket connection rejected by remote equipment
6-826
Ch ap te r 6 Ap pl ie d Instruc ti ons
16#620A UDP Socket error flag Illegal UDP Socket communication mode setting
16#620C UDP Socket error flag Illegal address for sending data
16#620D UDP Socket error flag Length of sent data exceeds the range
16#620E UDP Socket error flag Source data device exceeds the range
6_6
6-827
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S1 : Socket mode
S2 : Socket number
Explanation
1. This instruction closes the socket specified by S1. Set S1 to 0 to close TCP socket, and set S1 to 1 to close UDP socket.
2. S2 is the socket number. It should correspond to the Ethernet socket number; up to 4 can be set.
_6 3. The operand S1 must be either 0 or 1 (default: 0); the operand S2 must be between 1–4 (default: 1). If exceeding the
range, error code H’2003 shows on the PLC.
4. Before closing the socket, make sure that the socket is connected or else the instruction is not executed.
5. If the client closes a TCP socket, the server continues to be connected to the local communication port (the flag for
successful connection is ON). If the server closes a TCP socket, the server is no longer connected to the local
communication port after the instruction is executed. When a TCP socket is closed, the corresponding flags are OFF.
6. After the instruction is executed to close a UDP socket, the corresponding flags are OFF.
7. If a TCP socket is closed, and no error occurs after the instruction is executed, the connection with the remote device
starts to close and the flag for closing connection is ON. If the connection is closed successfully, the flag for closing
1 SM1274 SM1277
2 SM1282 SM1285
3 SM1290 SM1293
4 SM1298 SM1301
6-828
Ch ap te r 6 Ap pl ie d Instruc ti ons
8. If a UDP socket is closed, and no error occurs after the instruction is executed, the flag for started connection is OFF.
1 SM1338
2 SM1343
3 SM1348
4 SM1353
Example
Additional remarks
16#6214 TCP Socket error flag TCP Socket connection rejected by remote device
16#621A TCP Socket error flag Disabling TCP Socket connection triggered
16#621A UDP Socket error flag Disabling UDP Socket connection triggered
6-829
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
D
S2 : Email subject
S3 : Email body
1. This instruction creates and sends an email by setting S1, S2, and S3.
PLC Parameter Setting → Ethernet-Advanced → Email → Setting SMTP server, port, local email address,
and SMTP subject
PLC Parameter Setting → Ethernet-Advanced → Email and Trigger Configuration → Setting email address
If account identification is required: PLC Parameter Setting → Ethernet-Advanced → Email → Setting user
name and password
6-830
Ch ap te r 6 Ap pl ie d Instruc ti ons
Set Bit 0–bit 3 in ISPSoft to indicate the remote email addresses. You
Remote email can set up to four email addresses in ISPSoft. Bit 0 corresponds to
S1
number email 1, bit 1 corresponds to email 2, and so on.
If you want to send an email, you must set the corresponding bit in
ISPSoft.
Completion of the After the execution of the instruction is complete, the bit is ON. If the
D
instruction execution of the instruction is abnormal, the next bit (D+1) is ON.
Example
Suppose the value in D0 is 00000101. When X0.0 is ON, the email is sent to email numbers 1 and 3. After the
communication with the SMTP sever is complete, M20 is ON. If no error occurs during the communication, M21 is OFF
6_6
6-831
AS Ser ies Pro gra mm in g M anu al
Additional remarks
1. For the length of the string in S2 or S3, the system captures the data with the end of 16#00. If the length of the string
is larger than the maximum value (with 16#00 as the end), the length of the string in S2 or S3 is processed as the
maximum value.
2. If you declare the operand D in ISPSoft, the data type is ARRAY [2] of WORD/INT.
4. The following table explains errors in the execution of the email instruction.
_6
6-832
Ch ap te r 6 Ap pl ie d Instruc ti ons
DWORD
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
D : Conversion result
Explanation
1. This instruction converts the IP address in S and S+1 into a string IP address, and stores the conversion result in
D.
Afte r th e in struction
D 12 "6 " " 1"
D0 16 #C0( 192) 16#A8(16 8) is exe cu ted D1 3 "." "8 "
D1 " 192.168.0.1"
16#00 ( 0) 16 #01 (1) D 14 " 0" " 0"
D 15 "." " 0"
D 16 "0 " "0 "
D1 7 16 # 00 "1 "
Additional remarks
1. If you declare the operand S in ISPSoft, the data type is ARRAY [2] of WORD/INT.
2. If you declare the operand D in ISPSoft, the data type is ARRAY [8] of WORD/INT.
6-833
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
D : Conversion result
Explanation
1. This instruction converts the string IP address in S into an integer IP address, and stores the conversion result in D
and D+1.
3. There are 1–3 characters in every section of the string IP address in S. These sections are separated by “.”
(16#2E). For example, you can enter “192.168.0.1” instead of “192.168.000.001”.
4. The value of each section of the string IP address in S must be between 0–255.
6-834
Ch ap te r 6 Ap pl ie d Instruc ti ons
Example 1
" 19 2. 16 8 .0 .1 "
Example 2
6_6
Additional remarks
1. If the string in S does not end with 16#00, SM0 is ON, and the error code in SR0 is 16#200E.
2. In the string in S, except for the code representing the decimal point, the binary codes must be between 16#30–
16#39 or the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#2003.
3. If there are not three decimal points “.” in the string in S, the instruction is not executed, SM0 is ON, and the error
code in SR0 is 16#2003.
4. If the value of any section of the string IP address in S is not between 0–255, the instruction is not executed, SM0
is ON, and the error code in SR0 is 16#2003.
5. The number of characters in any section of the string IP address in S must be between 1–3 or the instruction is not
executed, SM0 is ON, and the error code in SR0 is 16#2003.
6-835
AS Ser ies Pro gra mm in g M anu al
6. If you declare the operand S in ISPSoft, the data type is ARRAY [8] of WORD/INT.
7. If you declare the operand D in ISPSoft, the data type is ARRAY [2] of WORD/INT.
_6
6-836
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
6-837
AS Ser ies Pro gra mm in g M anu al
Explanation
1. This instruction reads and writes EtherNet/IP data. The following table lists the names and explanations of S1–S7,
n, S and D1–D2.
and S1+1=16#0105.
ON: Enable;
S6 Attribute ID switch BOOL
OFF: Disable
_6
S7 Attribute ID Refer to EtherNet/IP protocol. WORD
1:Communication in process
3:Communication error
Occupies
words
6-838
Ch ap te r 6 Ap pl ie d Instruc ti ons
2. When you enable this instruction for the first time, it sends the communication command. If the number of
connected slaves reaches the upper limit, the communication status value in D1 is 3, and the communication
command is not sent. The error code shows16#6306 in D2[1] .
3. When the parameter exceeds the range, the instruction is not executed and the communication status value in D1
is 4.
4. This instruction should work with rising-edge trigger. If it is repeatedly triggered, the error code shows16#02 in
D2[0]. Wait till the execution of the instruction is complete before starting another instruction.
Example 1
The instruction reads the vendor code of the device at 192.168.1.5 and stores the value in D100. It sets the EtherNet/IP
(1) Class ID = 1
(2) Instance ID = 1
(3) Attribute ID = 1
6_6
6-839
AS Ser ies Pro gra mm in g M anu al
Example 2
The maximum frequency (01-00) of the AC motor drive (at 192.168.1.6) is set to 60.00Hz. The EtherNet/IP Object
_6
Additional remarks
1. If you declare the operand S1 in ISPSoft, the data type is ARRAY [2] of WORD.
2. If you declare the operand S in ISPSoft, the data type is ARRAY [n] of WORD, where n is the size of the
read/written data.
3. If you declare the operand D2 in ISPSoft, the data type is ARRAY [2] of WORD.
6-840
Ch ap te r 6 Ap pl ie d Instruc ti ons
Status
Description What to Do
Code
16#01 Connection error Ensure the EDS file of the slave is correct.
instruction.
Ensure the settings are correct for Class ID (S4), Instance ID (S5),
16#04 Path error
and Attribute ID (S7).
Destination path does not Ensure the settings are correct for Class ID (S4), Instance ID (S5),
16#05
exist and Attribute ID (S7).
properly. 6_6
16#07 Connection broken
2. Ensure the keep alive timer setting is correct for the slave
device.
Ensure the slave device object attribute allows PLC to perform the
16#0A Error in attribute list
Get_Attribute_List and Set_Attribute_List functions.
Ensure the slave supports the defined object. The service does not
16#0D Object existed
need to execute if the defined object is supported.
16#0E Attribute not writable Ensure the object attribute supports the write function.
6-841
AS Ser ies Pro gra mm in g M anu al
Status
Description What to Do
Code
No privilege to perform
16#0F Ensure the slave device is allowed to perform the service code.
service code
Size of response data too Ensure the length of data in the object attribute does not exceed
16#11
large the limit (100 words).
16#12 error when tag is Ensure the data length and the data type are correct.
accessed
Attribute value Ensure the Attribute ID switch (S6) and Attribute ID (S7) are
16#14
unsupported correct.
16#16 Object does not exist Ensure the Class ID (S4) is correct.
16#18 Attribute value not stored Ensure no error state on the slave device occurred.
User-defined object
16#1F Refer to the definition of the slave device error.
access error
6-842
Ch ap te r 6 Ap pl ie d Instruc ti ons
6_6
6-843
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
Symbol
S1-S10 : See Explanation below
_6
Explanation
1. This instruction sets the TCP/UDP Socket parameters. The following table lists the names and explanations of S1–
S10.
6-844
Ch ap te r 6 Ap pl ie d Instruc ti ons
S6 sent data comes S7 bytes of data are sent from the registers WORD
byte).
S7 Size of sent data For PLC with FW V1.06.30 or later; maximum: WORD
4096 bytes
S8 received data is S9 bytes of data are received and stored in the WORD
Applicable
mode only
3. The Socket parameters uses the setting values in HWCONFIG by default. Use the SCONFP instruction when the
4. If you set the parameters while the socket is communicating, the settings do not take effect until the communication
is complete. The setting should be changed after the socket is no longer in use.
5. If any one of the parameters is out of range, the instruction is not executed, SM0 is ON, and the error code in SR0
is 16#2003.
6-845
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
_6
6-846
Ch ap te r 6 Ap pl ie d Instruc ti ons
Explanation
1. This instruction reads and writes Modbus TCP data. The following table lists the names and explanations of S1–
S11.
Data
Operand Name Description Remarks
Type
S2+1=16#0105.
Read remote
S5 16#0000–16#FFFF WORD
communication address
6-847
AS Ser ies Pro gra mm in g M anu al
Data
Operand Name Description Remarks
Type
Write remote
S9 Range:16#0000–16#FFFF WORD
communication address
16#05
used in 16#05
3. The following points explain the Modbus communication function codes in S4 and S8.
When the AS Series PLC reads the data from multiple bit devices (not discrete input devices), the function code
sent is 1 (16#01).
When AS Series PLC reads the data from multiple bit devices (only discrete input devices), the function code sent
is 2 (16#02).
When the AS Series PLC reads the data from multiple word devices (not input registers), the function code sent is
3 (16#03).
6-848
Ch ap te r 6 Ap pl ie d Instruc ti ons
When the AS Series PLC reads the data from multiple word devices (only input registers), the function code sent is
4 (16#04).
When the AS Series PLC writes the status to one bit device, the function code sent is 5 (16#05).
When the AS Series PLC writes the data to one word device, the function code sent is 6 (16#06).
When the AS Series PLC writes the status to multiple bit devices, the function code sent is 15 (16#0F).
When the AS Series PLC writes the data to multiple word devices, the function code sent is 16 (16#10).
When the AS Series PLC writes the data to multiple word devices, the function code sent is 23 (16#17).
At present, the AS Series PLC only supports the function codes listed above.
4. The parameters in the instruction are valid only while PLC is running. When PLC is powered back on after being
powered off, it takes the settings from the data exchange table by default. If you need to change some parameters
5. If the specified socket is already communicating, the new parameters become effective after the current
communication is complete.
6. When any parameter is not within the valid range, the instruction is not executed, SM0 is ON, and the error code in
SR0 is 16#200B.
6_6
7. The AS Series PLC does not support the Modbus TCP communication instruction or anything similar to the
instruction ETHRW DVP series PLC. If you use the PLC program for Ethernet Modbus TCP communication
control, enable “Program control” mode in the data exchange table first and use the SM numbers from the following
table.
When data is received successfully, the success flag is ON. When there is an error receiving data, the error flag is
ON. The success flag and the error flag of any one connection socket are never switched to ON at the same time.
6-849
AS Ser ies Pro gra mm in g M anu al
8. The following table explains the (read-only) SR numbers used in data exchange.
SR Number Explanation
_6
6-850
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
Data
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
type INT
Symbol
6_6
6-851
AS Ser ies Pro gra mm in g M anu al
Explanation
1. This instruciton is available for PLC with FW V1.06.00.
2. See the operand name, use explanation and data type in the following table.
Operand Name Explanation Data type Remark
Server +0: Data length, unit: bytes (0 or 4;
0: no modification)
Refer to Server
Server +1~ Server +2: data (Data are +0 for address
occupation.
placed from the lower 8 bits.) WORD[N]
3 consecutive
For example: 192.168.0.1,
words at most
Server Email server D0 = 16#0004, D1= 16#0001, D2= can be occupied.
16#C0A8;
D6 = 16#2E63, D7 = 16#6D6F
D2 = 16#0062
6-852
Ch ap te r 6 Ap pl ie d Instruc ti ons
D2 = 16#7265
D2 = 16#7373,D3 = 16#0077
You can set up the email related settings in ISPSoft > HWCONFIG > Device Setting > Ethernet Port Advance
Setting > Email. And from here you can also check the parameters which are set through instrucitons. But only the
6-853
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
Data
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
Symbol
Explanation
_6 2. See the operand name, use explanation and data type in the following table.
D2 = 16#6440, D3 = 16#6C65,
D4 = 16#6174, D5 = 16#7777,
D6 = 16#632E, D7 = 16#6D6F
6-854
Ch ap te r 6 Ap pl ie d Instruc ti ons
You can set up the email related settings in ISPSoft > HWCONFIG > Device Setting > Ethernet Port Advance
Setting > Email. And from here you can also check the parameters which are set through instrucitons. But only the
6_6
6-855
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
Execute
Refer to the following instruction explanation.
~ Status
Symbol
Execute ~
: See the instruction explanation below.
Status
6-856
Ch ap te r 6 Ap pl ie d Instruc ti ons
Explanation
1. This instruction is available for ISPSoft V3.16 or later and AS300 PLC with firmware V1.12 or later when the AS-
2. Refer to the function descriptions on AS-FFTP01 in AS Series Module Manual or the instruction example below
Fixed value: 34
AS-FFTP01)
Server
BrokerNum Fixed value: 1 WORD
(Broker) ID
the end.
WillTopic message The maximum length is 100 characters and WORD of Will Message
topic the string terminator (16#00) is a must at the below.
end.
6-857
AS Ser ies Pro gra mm in g M anu al
end.
Service
Set the quality of service (Qos) for Will
quality for
WillQos message. WORD
Will
Setting range: 0, 1
message
Will
ON: Enable Will message function
WillFlag message
OFF: Disable Will message function
flag
will be closed.
operation.
1: Connected occupied.
6-858
Ch ap te r 6 Ap pl ie d Instruc ti ons
4. Before starting MQTT_Publish or MQTT_Subscribe, make sure that the connection has been successfully
established. You can use the status code of MQTT_Connect to see if MQTT_Publish or MQTT_Subscribe can be
started or not. For details, refer to the operation examples in MQTT_Publish (API2215) and MQTT_Subscribe
(API2216).
5. Explanation of Client ID
(1) Use a unique name for the client as its Client ID, which is used by the server for identificaiton. A Client ID
6. Session description
(1) Clean Session: Indicates that the messages from the client will be deleted by the server after disconnection,
and the previous sessions will be removed. It is recommended for the scenarios where messages are
(2) Persistent Session: Indicates that after disconnection, the server will retain the session, including
uncompleted messaging. Once the connection is re-established, all subscriptions will be automatically
resumed and stored messages will be automatically delivered. It is recommended for the scenarios where
(3) The actual messages and contents in a session are determined by the server account. Refer to the developer
(1) The Will Message covers the parameters WillTopic, WillMessage, WillRetain, WillQos and WillFlag.
(2) To start the Will Message function, you need to set up the above parameters, set WillFlag to ON and then
establish the connection. When the device is abnormally disconnected (the server receives no disconnection
command but detects that the connection is interrupted), the server will send the Will message to other devices
(3) The characteristics of WillTopic and WillMessage are the same as those of general messages publishing.
(4) The characteristic of WillRetain is the same as that of general messages retaining. Refer to Retain in
(5) The characteristic of WillQos is the same as Qos (Quality of Service) of general messages. Refer to Qos in
(6) When WillFlag is set to FALSE, WillRetain must be set to OFF and WillQos must be set to 0.
6-859
AS Ser ies Pro gra mm in g M anu al
8. Timing diagrams
_6
9. The error codes and explanation are shown in the following table:
0x2200 SID is out of range. Modify the value of the input variable SID.
0x2201 Function card 2 is not AS-FFTP01. Check if the card type of function card 2 is correct.
0x2202 BrokerNum is out of range. Modify the value of the input variable BrokerNum.
6-860
Ch ap te r 6 Ap pl ie d Instruc ti ons
The string length of Message is out of Modify the string length of the input variable
0x220C
range. Message.
0x220D Qos is out of range. Modify the value of the input variable Qos.
0x8002 Buffer area is full. The size of received packets exceeds 1024 bytes.
0x8003 Failed to send MQTT packets. Check if the Ethernet network is normal.
6_6
0x8004 Failed to receive MQTT packets. Check if the Ethernet network is normal.
normal.
An invalid packet is received from the
0x8005 Export the system log file through System
server.
diagnostic of the AS-FFTP01 webpage and
contact the factory for analysis.
0x8008 An illegal state recorded of the AS-FFTP01 web page and contact the factory
for analysis.
The received packet is not consistent Use MQTT_Connect to disconnect and then
0x8009
with what is recorded. reconnect if the connection status is unstable.
6-861
AS Ser ies Pro gra mm in g M anu al
correct.
Number of subscribed topic reached After cancelling the subscription of the unrequired
0x800F
the maximum. topics, trigger the Subscribe function again.
0x8011 The topic is already subscribed to. The same topic cannot be subscribed twice.
_6
Example
1. Refer to the function descriptions on AS-FFTP01 in the AS Series Module Manual for the setup on MQTT server
endpoint address, key certificate and device certificate in HWCONFIG and then download the parameters for the
SID 34
Fixed parameter values
BrokerNum 1
ClientID “AS300” The server will connect the session to Client ID: "AS300".
The session is not cleared and the subscription content from the
CleanSession OFF
last connection is retained after the connection is re-established.
WillTopic “Status”
The clients who have subscribed to the topic "Status" of Will
6-862
Ch ap te r 6 Ap pl ie d Instruc ti ons
WillRetain OFF The server will not keep the Will message.
6_6
6-863
AS Ser ies Pro gra mm in g M anu al
3. Trigger to execute the instruction: Set En and Execute to ON in sequence, when Status[0] = 1, it indicates that the
connection is completed.
4. Publish and Subscribe: Status[0] = 1 can be set as the condition for En of MQTT_Publish (API2215) and
MQTT_Subscribe (API2216). The Publish and Subscribe functions can be enabled only after the connection is
_6
established. Refer to MQTT_Publish (API2215) and MQTT_Subscribe (API2216). for parameters setting and
operation examples.
5. When Execute is set to OFF, AS-FFTP01 will send a “disconnect” request. When Status[0] = 0, it indicates that
the disconnection is executed. That is the standard process for a disconnection.
6. When AS-FFTP01 is disconnected from the server without warning, the clients who have subscribed to the topic
6-864
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
Data type
Execute ~
Refer to following instruction explanation.
ErrCode
Symbol
6-865
AS Ser ies Pro gra mm in g M anu al
Explanation
1. This instruction is available for ISPSoft V3.16 or later and AS300 PLC with firmware V1.12 or later when the AS-
2. Refer to the function descriptions on AS-FFTP01 in AS Series Module Manual or the instruction example below
3. Before starting MQTT_Publish, make sure that the connection has been successfully established. You can use
the status code of MQTT_Connect to see if MQTT_Publish can be started or not. For details, refer to the
operation examples below.
Fixed value: 34
SID Slot number (Representing the function card WORD
AS-FFTP01)
Server (Broker)
BrokerNum Fixed value:1 WORD
ID
terminator (16#00)
Message Message WORD[128]
Data arrangement description:
hexadecimal system.
6-866
Ch ap te r 6 Ap pl ie d Instruc ti ons
See Qos
Quality of Quality of service of the message,
Qos WORD explanation
Service Setting range: 0, 1
below.
See Retain
below.
duplicate message.
Error Error
An error occurs and an error code shows
BOOL
6_6
up.
QoS is a symmetric communication agreement. Publishers and subscribers can set their own QoS levels and
different QoS levels determine different transmissions or receptions. AS-FFTP01 supports Qos of level 1 and 2.
(1) QoS=0: It does not guarantee that the message will be received. Whether the message will be received or not
The subscriber does not reply whether the message is received or not.
When publishing a message with QoS set to 0, Dup must be set to OFF.
(2) QoS=1: It guarantees that the message will be received at least once.
The subscriber will reply with an acknowledgement packet (PUBACK Packet) after receiving the message.
6-867
AS Ser ies Pro gra mm in g M anu al
The publisher and the server will retain the message until the acknowledgement packet is received from
the subscriber.
Message Resend: If the subscriber does not receive the message after the message is published, the
message will be automatically resent if the session is not cleared (CleanSession set to OFF) when the
connection is reestablished successfully.
6. Retain function.
(1) When the published message is retained (Retain = ON), the server will save the message and its QoS data
and deliver the last retained message to all new subscribers of the topic in the future.
(2) When the published message is retained (Retain = ON), the server will NOT save the message and the
retained messages which have been saved will NOT be removeed or replaced.
7. Timing diagram
_6
Example
SID 34
Fixed parameter values
BrokerNum 1
Topic “MyTopic”
The clients who have subscribed to the topic
FFTP01".
6-868
Ch ap te r 6 Ap pl ie d Instruc ti ons
6_6
6-869
AS Ser ies Pro gra mm in g M anu al
When Status[0] = 1 of MQTT_Connect, En is ON; it indicates the connection is established. Once En is ON, you
can execute MQTT_Publish. After Execute is set to ON, publishing data is completed and Done is ON.
4. To send a string message (Size = 0), the low-byte data will be transmitted first, and then the high-byte data will be
transmitted. See the example of data transmittion shown below.
_6
The clients who have subscribed to the topic "MyTopic" will receive the message "Hello from AS-FFTP01". Take the
6-870
Ch ap te r 6 Ap pl ie d Instruc ti ons
5. Even if the subscriber is disconnected at the time of the message being published and fails to receive the message,
as long as the subscriber's QoS level is 1, the message "Hello from AS-FFTP01." will be resent to the subscriber, if
the session is not cleared (CleanSession is set to OFF) after the connection is resumed.
6. If Retain is set to ON, the message "Hello from AS-FFTP01." will be received by the new subscribers of the topic
"MyTopic" once they are connected.
7. To transmit a non-string message (Size ≠ 0), the high-byte data will be transmitted first, and then the low-byte data.
You can specify the data length in M_P_size. Modify the above example to publish 9 bytes starting from D600, and
compare the original data with the data received via MQTT_Subscribe, as the example shown below.
6_6
6-871
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
Data type
Execute ~
Refer to following instruction explanation.
RecvTopic
Symbol
_6
Execute ~
: See instruction explanation below.
RecvTopic
Explanation
1. This instruction is available for ISPSoft V3.16 or later and AS300 PLC with firmware V1.12 or later when the AS-
2. Refer to the function descriptions on AS-FFTP01 in AS Series Module Manual or the instruction example below
6-872
Ch ap te r 6 Ap pl ie d Instruc ti ons
3. Before starting MQTT_Subscribe, make sure that the connection has been successfully established. You can use
the status code of MQTT_Connect to see if MQTT_Subscribe can be started or not. For details, refer to the
operation examples below.
Fixed value: 34
SID Slot number (Representing the function card WORD
AS-FFTP01)
Server (Broker)
BrokerNum Fixed value 1 WORD
ID
6-873
AS Ser ies Pro gra mm in g M anu al
source.
received topic;
6-874
Ch ap te r 6 Ap pl ie d Instruc ti ons
Timing diagrams
Example 6_6
SID 34
Fixed parameter values
BrokerNum 1
6-875
AS Ser ies Pro gra mm in g M anu al
When Status[0] = 1 of MQTT_Connect, En is ON; it indicates the connection is established. Once En is ON, you
can execute MQTT_Subscribe. After Execute is set to ON, the subscripotion is successful and Status[0] = 1
4. Receive data
After the publisher sends a message to "MyTopic" (refer to the example in MQTT_Publish (API2215)), the function
card AS-FFTP01 will receive the message "Hello from AS-FFTP01.". The data lengths of the topic and the message
are stored in byte in Message[0] and RecvTopic[0], and the topic name and the message contents are stored in
_6
6-876
Ch ap te r 6 Ap pl ie d Instruc ti ons
5. Unsubscribe: When Execute is set to OFF, an Unsubscribe packet for the topic specified by Topic will be sent to the
6. If you did NOT execute the Unsubscribe function, even if the connection stops or the PLC enters STOP state, you
can still receive the message of the topic previously subscribed to, after the connection is re-established, the PLC
returns to RUN state and CleanSession is set to OFF. If you execute the MQTT_Subscribe again when the
connection loss occurs, you will receive the error code 16#8011, which tells you that the topic has already been
subscribed to.
7. When the QoS level for the message of the topic subscribed to is 1, the message will be received at least once after
the connection loss occurs. Make sure the session is retained (CleanSession set to OFF) when the connection is
re-established, and the QoS level of the published message is 1 as well; the message will be redelivered.
6_6
6-877
AS Ser ies Pro gra mm in g M anu al
2300 MWRIT – Writing data from the PLC into the memory card
2301 MREAD – Reading data from the memory card into the PLC
_6
6-878
Cha p ter 6 App l ied Ins truc tio ns
2300 MWRIT P C, S, S1, S2, S3, S4 Writing data from the PLC into the memory card
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
C
S
S1
S2
S3
S4
Symbol 6_
C : Control parameter
S : Data source
S1 : Data length
S2 : Line advance
S3 : File name
Explanation
1. This instruction writes data from the PLC to the memory card. The operands are described as follows.
6-879
AS Ser ies Pro gra mm in g M anu al
Binary value
Default value
0
The file name extension is .dmd.
6-880
Cha p ter 6 App l ied Ins truc tio ns
Appending
The data that is written into the memory card is appended after the last
Overwriting
The data that is written into the memory card replaces the values in the file
1
starting from the value indicated by the value in S4. 6_
If the file does not exist, it is created automatically.
S1: The length of the data that the instruction writes into the file
If the value in S1 is 0, the instruction does not write any data into the file.
Item Description
If the file format is 0, 1, 3, 5, or 7, the unit of the value is a word. If the file format
Value unit
is 2, 4, or 6, the unit of the value is a double word.
The devices where the instruction stores the data cannot exceed the device
Length of the data range, and the size of the data that the instruction writes into the file cannot be
more than four gigabytes. Refer to Chapter 2 for more information about devices.
6-881
AS Ser ies Pro gra mm in g M anu al
AS CPU firmware version 1.04.00 or later supports using string (less than 9 characters) in the file name S3.
Firmware version 1.08.30 or later supports up to 200 characters (16#00 included) in the file name S3.
S3–S3+4: S3 occupies five devices. The file name contains a maximum of nine characters, including 16#00. If
the string does not end with 16#00, an error occurs. When the instruction reads the ending character, it stops
reading, and checks if the file name is legal. The characters in the file name can be A–Z, a–z, and 0–9. The
file name extension depends on the file format. The file that the instruction creates is in the default folder. If
the file name is “Test1”, the instruction writes the characters into the devices as follows.
ASCII
S3 'e' 'T ' Code S3 16#65 1 6#54
ASCI I代碼
S3 +1 't' 's' S3 + 1 16 #74 16#73
S3+2 NUL '1' S3+ 2 16 #00 16#31
_6
S4: The value in the file that the instruction overwrites is indicated by the value in S4.
Item Description
If the file format is 0, 1, 3, 5 or 7, the unit of the value is a word. If the file format is 2, 4,
Value unit
or 6, the unit of the value is a double word. (refer to operand C)
If the function option is 1, the instruction replaces the values in the file with the data to
be written into the memory card starting from the value indicated by the value in S4.
Usage
The value in S4 must indicate a value in the file.
If the value in S4 is 0, the instruction overwrites the data in the file starting at the first
value in the file.
2. Instruction flags:
6-882
Cha p ter 6 App l ied Ins truc tio ns
Flag Description
The data is being written from the PLC to the memory card, or the data is being read
SM452
from the memory card to the PLC.
ON: an error occurs during the operation of the memory card. If the flag is ON, you
SM453
must reset it to OFF. The error code is stored in SR453.
4. If the format of the target file on the memory card is 0, the format of the source file in the PLC must also be 0.
Otherwise, the instruction cannot read the data, and SM453 is ON. The same applies to the other file formats.
Example
SM450 is ON when you insert the memory card into the CPU module; SM452 is ON when the MWRIT instruction
executes; SM452 is OFF when the MWRIT instruction completes. You cannot use MWRITP (the pulse instruction)
continuously. Executing this pulse instruction to write data into the memory card continuously may exceed the writing
6-883
AS Ser ies Pro gra mm in g M anu al
D10, D11 16#00000030 The size of the data that is written into the file is 48 words.
D20=16#6554
The data that is written into the memory card replaces the values in the file
D30, D31 16#00000000
starting from the first value.
Additional remarks
1. If the value in C exceeds the range, an operation error occurs, the instruction is not executed, SM0 is ON, and the
error code in SR0 is 16#2003.
2. If the value in S1 exceeds the range, an operation error occurs, the instruction is not executed, SM0 is ON, and the
error code in SR0 is 16#2003.
3. If the value in S2 exceeds the range, an operation error occurs, the instruction is not executed, SM0 is ON, and the
error code in SR0 is 16#2003.
4. If the value in S3 exceeds the range, an operation error occurs, the instruction is not executed, SM0 is ON, and the
error code in SR0 is 16#2003.
6-884
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
C
S
S1
S2
S3
D
Symbol
C : Control parameter
6_
S : File name
S2 : Reserved
S3 : Data length
D : Data destination
Explanation
1. This instruction reads data from the memory card into the PLC. The operands are described as follows.
6-885
AS Ser ies Pro gra mm in g M anu al
Binary value
6-886
Cha p ter 6 App l ied Ins truc tio ns
The values in the file starting from the value indicated by the value in S1 are read.
0
The default value is 0.
1 If the file format is 0, 1, 3, or 5, the unit of the value is a word. If the file format is 2, 4,
AS CPU firmware version 1.04.00 or later supports using string (less than 9 characters) in the file name S.
S–S+4: S occupies five devices. The file name contains a maximum of nine characters, including 16#00. If
6_
the string does not end with 16#00, an error occurs. When the instruction reads the ending character, the
instruction stops reading characters, and checks if the file name is legal. The characters in a file name can
be A–Z, a–z, and 0–9. The file name extension depends on the file format. The file that the instruction
creates is in the default folder. If the file name is “Test1”, the instruction writes the characters into the devices
as follows.
ASCII
S 'e' ' T' S 16#6 5 16 #54
AS Code
CI I代碼
S +1 't ' 's ' S +1 16 #74 16 #73
S+ 2 NUL '1' S+ 2 16 #00 16 #31
S1: The value in the file that the instruction reads is indicated by the value in S1.
6-887
AS Ser ies Pro gra mm in g M anu al
Item Description
Refer to operand C for its file format. If the file format is 0, 1, 3, 5 or 7, the unit of
Value unit the value is a word. If the file format is 2, 4, or 6, the unit of the value is a double
word.
S3: The length of the data that the instruction reads from the file
The devices in which the instruction stores the data cannot exceed the device range. If the value in S3 is
larger than the number of values in the file, the length of the data read from the file is the number of
AS CPU firmware version 1.08.30 or later supports up to 200 characters (16#00 included) in the file
name S3.
2. Instruction flags:
Flag Description
The data is being written from the PLC to the memory card, or the data is being read from the
SM452
memory card into the PLC.
ON: an error occurs during the operation of the memory card. If the flag is ON, you must reset
SM453
it to OFF. The error code is stored in SR453.
6-888
Cha p ter 6 App l ied Ins truc tio ns
16#0063 An error occurs when the data is written into the file.
4. If the format of the target file into which the instruction writes data is 0, the format of the file from which the
instruction reads data must also be 0. Otherwise, the instruction cannot read the data, and SM453 is ON. The
Example
SM450 is ON when the memory card is inserted into the CPU module; SM452 is ON when the MREAD instruction
6_
Operand Setting value Description
D300=16#6554
D302=16#0031
D10, D11 16#00000000 The values in the file starting from the first value are read.
D30, D31 16#00000020 The size of the data that is read from the file is 32 words.
6-889
AS Ser ies Pro gra mm in g M anu al
Additional remarks
1. If the value in C exceeds the range, an operation error occurs, the instruction is not executed, SM0 is ON, and the
error code in SR0 is 16#2003.
2. If the value in S2 exceeds the range, an operation error occurs, the instruction is not executed, SM0 is ON, and the
error code in SR0 is 16#2003.
3. If the value in S3 exceeds the range, an operation error occurs, the instruction is not executed, SM0 is ON, and the
error code in SR0 is 16#2003.
4. If the value in D exceeds the range, an operation error occurs, the instruction is not executed, SM0 is ON, and the
error code in SR0 is 16#2003.
_6
6-890
Cha p ter 6 App l ied Ins truc tio ns
2302 MTWRIT P C, S, S1, S2, S3 Writing a string into the memory card
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
C
S
S1
S2
S3
Symbol
C : Control parameter
S : Data source 6_
S1 : Data length
S2 : Separation mark
S3 : File name
Explanation
1. This instruction writes a string into the memory card. The operands are described as follows.
Parameter
Description
value
If the file exists, the data that is written into the memory card is appended after the last byte
0
in the file.
(Appending)
If the file does not exist, it is created automatically.
If the file exists, the new data that is written to the memory card replaces the old data in the
6-891
AS Ser ies Pro gra mm in g M anu al
1 file. The size of the file is the size of the new data.
If the string that the instruction writes into the file is “12345”, the instruction stores the characters in the
devices as follows. The basic unit is a byte, and so the instruction stores the first character in the low
byte in D300. The instruction stores the second character in the high byte in D300. The same applies to
other characters. The instruction stores “16#00” in the high byte in D300+2, and indicates the end of the
string.
S1: The length of the data that is written into the memory card
The basic unit is a byte. The devices where the instruction stores the data cannot exceed the device
range, and the length of the data that the instruction writes into the memory card cannot be more than
255 bytes.
If the value in S1 is N, the instruction writes the value in S2 into the memory card as follows.
_6 S2 Operand
Description
High byte Low byte
16#00 or
16#00 The N-byte data is written into the file.
Not 16#00
Not The N+1-byte data is written into the file. The value in the high byte in S2 is the value
16#00
16#00 in the N+1st byte.
Not Not The N+2-byte data is written into the file. The value in the high byte in S2 is the value
16#00 16#00 in the seventh byte, and the value in low byte in S2 is the value in the N+2th byte.
AS CPU firmware version 1.04.00 or later supports using string (less than 9 characters) in the file name S3.
Firmware version 1.08.30 or later supports up to 200 characters (16#00 included) in the file name S3.
S3–S3+4: S3 occupies five devices. The file name contains a maximum of nine characters, including 16#00. If
the string does not end with 16#00, an error occurs. When the instruction reads the ending character, the
instruction stops reading characters, and checks if the file name is legal. The characters in the file name can
be A–Z, a–z, and 0–9. The file name extension depends on the file format. The file that the instruction
creates is in the default folder. If the file name is “Test1”, the instruction writes characters into the devices as
follows.
6-892
Cha p ter 6 App l ied Ins truc tio ns
ASCII
S3 'e' 'T ' Code S3 16#65 1 6#54
ASCI I代碼
S3 +1 't' 's' S3 + 1 16 #74 16#73
S3+2 NUL '1' S3+ 2 16 #00 16#31
2. Instruction flags
Flag Description
The data is being written from the PLC into the memory card, or the data is being read
SM452
from the memory card into the PLC.
ON: an error occurs during the operation of the memory card. If the flag is ON, you must
SM453 6_
reset it to OFF. The error code is stored in SR453.
16#0063 An error occurs when the data is written into the file.
6-893
AS Ser ies Pro gra mm in g M anu al
Example:
SM450 is ON when the memory card is inserted into the CPU module; SM452 is ON when the MTWRIT instruction
D10 16#000A The size of the string that is written to the file is 10 bytes.
_6
After the data is written to the file, the separation mark is appended after the last
D1 16#0A00
byte in the file.
D30=16#6554
D32=16#0031
Additional remarks
1. If the value in C exceeds the range, an operation error occurs, the instruction is not executed, SM0 is ON, and the
error code in SR0 is 16#2003.
2. If the value in S1 exceeds the range, an operation error occurs, the instruction is not executed, SM0 is ON, and the
error code in SR0 is 16#2003.
3. If the value in S3 exceeds the range, an operation error occurs, the instruction is not executed, SM0 is ON, and the
error code in SR0 is 16#2003.
6-894
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
D
n
Symbol
n : Data length
6_
Explanation
1. This instruction writes data into the file register. The description of the operands is as follows.
• S: The initial address of the data source; it is suggested that you declare an array type variable.
• D: The initial address where the instruction stores data. It is suggested that you assign an address for the file
register and declare an array type variable.
• n: The length of the data that the instruction writes into the file register, between 1–2048. If the value
exceeds the range, the instruction is not executed, SM0 is ON, and the error code in SR0 is 16#200B.
• If the device S or D exceeds the allowed range, SM0 is ON, and the error code in SR0 is 16#2003.
2. Since it takes 60–120 ms for the instruction to write the data, it is suggested that you use this instruction when the
PLC is idle. For example, when there is no external interrupt task, no high-speed output, or any immediate events
3. The instruction writes only when the contact switches from OFF to ON and writes only once.
NOTE: You can write into this file register a maximum of 100,000 times.
6-895
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
ctrl
fname
Symbol
Explanation
1. This instruction writes data from the PLC to the memory card. The operands are described as follows.
You can use strings (less than 9 characters) in the in fname (file name).
fname occupies five devices. The file name contains a maximum of nine characters, including 16#00. If the
string does not end with 16#00, an error occurs. When the instruction reads the ending character, it stops
reading, and checks if the file name is legal. The characters in the file name can be A–Z, a–z, and 0–9. The
file name extension depends on the file format. The file that the instruction creates is in the default folder. If
the file name is “Test1”, the instruction writes the characters into the devices as follows.
6-896
Cha p ter 6 App l ied Ins truc tio ns
ASCII
S3 'e' 'T ' Code S3 16#65 1 6#54
ASCI I代碼
S3 +1 't' 's' S3 + 1 16 #74 16#73
S3+2 NUL '1' S3+ 2 16 #00 16#31
AS CPU firmware version 1.08.30 or later supports up to 200 characters (16#00 included) in the file name S3.
2. Instruction flags:
Flag Description
The data is being written from the PLC to the memory card, or the data is being read
SM452
from the memory card to the PLC.
6_
ON: an error occurs during the operation of the memory card. If the flag is ON, you
SM453
must reset it to OFF. The error code is stored in SR453.
16#0063 An error occurs when the data is written into the file.
6-897
AS Ser ies Pro gra mm in g M anu al
Example
SM450 is ON when you insert the memory card into the CPU module; SM452 is ON when this instruction executes;
D20=16#6554
D22=16#0031
Additional remarks
_6
1. If the value in ctrl exceeds the range, an operation error occurs, the instruction is not executed, SM0 is ON, and
the error code in SR0 is 16#2003.
2. If the value in fname exceeds the range, an operation error occurs, the instruction is not executed, SM0 is ON, and
the error code in SR0 is 16#2003.
6-898
Cha p ter 6 App l ied Ins truc tio ns
2305 Record_Trigger Execute ~ ErrCode Recording and writing data into a file
STRING
LWORD
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
Data type
Execute
SID
Tb_num
W_mode
Done
Busy
Error
ErrCode
Symbol
Explanation
2. This instruction is available for AS300 PLC with firmware V1.12 or later when the AS-FFTP01 function card is installed
on the PLC. Before use, refer to the function description on AS-FFTP01 in AS Series Module Manual or the example
below to complete the setting of the log parameters for AS-FFTP01 in HWCONFIG.
3. Set Log Mode to Program Control first in HWCONFIG before using the instruction.
6-899
AS Ser ies Pro gra mm in g M anu al
PLC Run
Use the Log Cycle in HWCONFIG Use the parameters in HWCONFIG
Always Enable
Log cycles, including Second, Minute, Hour,
Card Timing”.
Fixed value: 34
SID Slot ID WORD
(Representing the function card AS-FFTP01)
ON: Executing
Error flag
ErrCode Error code Refer to the error code description below. WORD
6-900
Cha p ter 6 App l ied Ins truc tio ns
Example
1. Using FTP Client software to check if the SD card can be read correctly. For the FTP setting, refer to the function
description on AS-FFTP01 in Chapter 10 from AS Series Module Manual.
2. Make sure that the time zone setting (HWCONFIG -> Ethernet Port Advanced Setting -> NTP -> Time Zone) and the
RTC setting (ISPSoft -> Tools-> Set RTC) for the AS300 PLC are set correctly.
3. Go to HWCONFIG -> AS-FFTP01 for parameters setting
6_
(1) On the Table 1 page, filling in the parameter name, register type, register address, data type and etc. Fields 1
and 2 are fixed for displaying date and time, and the self-defined fields start from ID 3. In this example, the
data stored in two data registers are in the formats of integer and floating point respectively.
6-901
AS Ser ies Pro gra mm in g M anu al
(2) Set the Log Mode to Program Control and ignore the Log Cycle parameter here.
(3) Set Parent Directory Name, Subdirectory Name and File Name on the File Name page.
The data will be saved in: SD card/Delta/MyLog_date/Device_log_date_time.csv
(4) On the Parameter Settings page, set up the following parameters “New File Creating Timing”, “New File
Creating Parameter”, “Save to SD Card Timing” and “Save to SD Card Parameter”.
Each trigger records one piece of data. A maximum of 10 records will be stored in one file. Triggered for 5
times indicates 5 pieces of data will be written in one file. Another 5 triggers generate another 5 pieces of
_6 data and the data will be written in the same file. That is to say, two files will be generated automatically after
the 15th record is done.
4. Explanation of parameters
Parameter Setting value Description
6-902
Cha p ter 6 App l ied Ins truc tio ns
6. W_mode:
(1) If W_mode is set to ON, the current data in the buffer area will be directly written to the file when Execute is
set to ON, which can be used for applications that the log cannot be lost for important events or the log must
be saved immediately for device abnormality occurs.
(2) If W_mode is set to OFF, the current data in the buffer area will be written into a file only after the conditions
set in HWCONFIG are met after Execute changes to ON. When Execute is ON for the 3rd time, there will be
3 records of data in the buffer area and they have not yet been saved to a file. After that if W_mode is set to
ON before the 4th trigger is performed, the 4th record and previous 3 records (which is 4 records in total) will
be directly saved to a file in the SD card after Execute is set to ON for the 4th time.
7. After the 15th trigger is performed manually in this example, two files are generated and all records are saved in .csv
format. The first 10 records are saved in the first file and the last 5 records are kept in the second file. The log files
can be transferred to the computer via FTP Client.
8. The following picture shows the content of the first file which is opened. The first row shows titles. Follow the
operations in step 3 above to set up parameters on the Table 1 page. The Date and Time in columns A and B are
6_
fixed. The data in registers are recorded in the rows starting from the second row.
6-903
AS Ser ies Pro gra mm in g M anu al
_6
6-904
Ch ap te r 6 Ap pl ie d Instruc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
Symbol
S : Task number
Explanation
2. When the PLC runs, the execution of the cyclic tasks depends on the setting of the cyclic tasks in ISPSoft.
6_
3. The operand S must be between 0-31.
4. Refer to the ISPSoft User Manual for more information about creating and enabling tasks.
Example
When the PLC runs, cyclic task (0) is enabled. When the TKON instruction in cyclic task (0) executes, it enables cyclic
You create cyclic tasks in ISPSoft, and you define their default enabled/disabled state in ISPSoft. Cyclic task (0) is
enabled when the PLC runs, and cyclic task (1) is not enabled when the PLC runs.
6-905
AS Ser ies Pro gra mm in g M anu al
Cyclic task (1) is enabled by the TKON instruction in cyclic task (0).
Additional remarks
_6
6-906
Ch ap te r 6 Ap pl ie d Instruc ti ons
Device
X Y M S T C HC D FR SM SR E K 16# “$” F
S
DWORD
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
Symbol
S : Task number
Explanation
2. When the PLC runs, the execution of the cyclic tasks depends on the setting of the cyclic tasks in ISPSoft.
Example
When the PLC runs, cyclic task (0) and cyclic task (1) are enabled. When the TKOFF instruction in cyclic task (0)
You create cyclic tasks in ISPSoft and you define their default enabled/disabled state in ISPSoft. Cyclic task (0) and
cyclic task (1) are enabled when the PLC runs, and cyclic task (1) is disabled when the TKOFF instruction in cyclic task
(0) executes. Cyclic task (1) is disabled by the execution of the TKOFF instruction in cyclic task (0).
6-907
AS Ser ies Pro gra mm in g M anu al
Additional remarks
_6
6-908
Chapter 6 Applied Instructions
6_
6-909
AS Series Programming Manual
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
type INT
S1
S2
S3
Symbol
S2 : Function code
S3 : Device address
_6
Explanation
1. This instruction runs the SFC (Sequential Function Chart) program specified by S1 according to the function code
in S2.
2. The instruction runs the SFC POU (Program Organization Unit) specified by S1 only when the PLC is scanning the
SFC POU.
When the designated SFC POU of S1 executes, the instruction clears the parameters (such as
SFC/STEP/ACTION/TRANSITION) for the SFC program when S2=0 or 1, and the SFC execution starts
IF S2=0, the system executes the SFC POU from the initial step.
IF S2=1, the system executes the SFC POU from the designated step in S3.
6-910
Chapter 6 Applied Instructions
If S2=2, the instruction does NOT clear the status and the parameters (such as
SFC/STEP/ACTION/TRANSITION) for the SFC and the system starts executing from where it paused.
5. When the state of the SFC POU is RUN, executing this instruction is invalid.
Example
Set up one LD (ladder) POU and specify its POU name as “Main”, and then set up two SFC POUs with the names of
1. When the PLC executes the Main program (RUN), TestSFC1 and TestSFC2 execute the SFCSTP instruction (API
2. When M0 switches from OFF to ON, TestSFC1/ TestSFC2 POU execute the SFCRUN* instruction. See below for
the contents of the TestSFC1 and TestSFC2 for execution details. When S2=0, the SFC status and parameters are
cleared and begin to execute from STEP 1. When S2=1, the SFC status and parameters are cleared and begin to
3. When M1 switches from OFF to ON, TestSFC1 POU pauses. When S2=1, all the SFC executing actions and outputs
are cleared, and the system runs the final scan. 6_
4. When M2 switches from OFF to ON, TestSFC1 POU executes. When S2=1, the SFT status and parameters are
cleared, and the system begins to execute from STEP 2.
5. When M3 switches from OFF to ON, TestSFC2 POU pauses. When S2=0, all the SFC executing actions and outputs
are kept, and the system does not run the final scan.
6. When M4 switches from OFF to ON, TestSFC1 POU executes. When S2=2, the SFC status and parameters are
and the SFC begins to execute from where it paused.
6-911
AS Series Programming Manual
Main POU
_6
6-912
Chapter 6 Applied Instructions
TestSFC1 POU
TestSFC2 POU 6_
Additional remarks
Refer to the ISPSoft User Manual for more information on Sequential Function Charts.
6-913
AS Series Programming Manual
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
Symbol
S2 : Function code
Explanation
1. This instruction pauses the SFC POU specified by S1 according to the function code in S2.
_6
2. The instruction can pause the SFC POU specified by S1 only when the PLC is scanning the SFC POU.
3. When paused, the SFC status and parameters (such as SFC/STEP/ACTION/TRANSITION) are stored.
When S2=0, the instruction preserves all the executing actions of the SFC and the outputs, and the system
does not run the final scan.
When S2=1, the instruction clears all the executing actions and the outputs of the SFC POU, and the system
runs the final scan..
6. When the state of the SFC POU is PAUSE/STOP, executing this instruction is invalid.
6-914
Chapter 6 Applied Instructions
Example
Refer to the SFCRUN (API 2500) programming example for more information.
Additional remarks
6_
6-915
AS Series Programming Manual
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
Symbol
Explanation
2. This instruction stops the SFC POU specified by S1 only when the PLC is scanning the SFC POU.
_6
3. When stopping, the instruction clears the SFC status and parameters, and the system runs the final scan.
4. When the state of the SFC POU is STOP, executing this instruction is invalid.
Example
Refer to the SFCRUN (API 2500) programming example for more information.
Additional remarks
6-916
Cha p ter 6 App l ied Ins truc tio ns
The following table lists the High-speed Output instructions covered in this section.
Instruction Pulse
numbered
numbered
code instruct
Even-
axis*1
axis*2
Odd-
API Function
ion
16-bit 32-bit
6-917
AS Ser ies Pro gra mm in g M anu al
Instruction Pulse
numbered
numbered
code instruct
Even-
axis*1
axis*2
Odd-
API Function
ion
16-bit 32-bit
NOTE:
*1: Even-numbered axes include Y0.0, Y0.2, Y0.4, Y0.6, Y0.8, and Y0.10.
*2: Odd-numbered axes include Y0.1, Y0.3, Y0.5, Y0.7, Y0.9, and Y0.11.
_6
6-918
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
Symbol
1. This instruction specifies the pulse output (S1, S2) for the device specified in D with no ramp up or ramp down when
the frequency changes. S1 specifies the pulse output frequency range: for line driver output models, the range is
between 0–4MHz; for open collector output models, the range is between 0 Hz–200 kHz. The unit of the output
frequency is 1 Hz. The error rate for 200 kHz is about 0.02% and for 100 kHz it is about 0.01%. The error rate
decreases with decreasing frequency. For example, if the output frequency setting is 199990 Hz, the actual output is
199960 Hz. If the output frequency setting is 99999 Hz, the actual output is 99990 Hz. If the output frequency is out
of the valid range, the PLC automatically processes it as the maximum or minimum pulse output frequency.
2. You can change the output frequency specified by S1 during the execution of the instruction without using the ramp
up/down process. The time to change the frequency is when the PLC is scanning the instruction and the instruction
3. S2 specified the number of output pulses. The range is between 0–2,147,483,647. When you set the number of output
pulses to 0, then the number of pulses is not restricted and pulses are output constantly until the instruction is disabled.
When the number of output pulses is set to less than 0, no pulses are output.
4. After the instruction starts to output pulses, the number of output pulses specified by S2 cannot be changed.
6-919
AS Ser ies Pro gra mm in g M anu al
5. D only allows Y0.0–Y0.11 as the output devices. After the instruction is executed, its output function becomes the
high-speed output, and the basic instruction output point control is invalid. It is suggested that you do not use the
general output function after using the high-speed output function in the program.
6. The ratio of Duty-OFF Time and Duty-ON Time for the pulse output is 1:1.
7. There is no limit to how many times you can use the instruction a program. But only one output instruction that uses
the same output point can be executed in the same scan cycle. When several high-speed pulse output instructions
start the same output point in the program, the PLC first performs the output based on the instruction that is executed
first.
8. After every high-speed output instruction for every output point is executed, other instruction occupying the same
output point can not start until the high-speed output instruction in execution is disabled.
9. When the high-speed output instruction is executed in an interrupt program or is not in the main process, it is
suggested that you use the instruction with the auto-reset function when output is completed and the PLC updates
10. After the stop flag is set, the PLC stops the output and clears the busy flag only after executing the start instruction a
second time and outputting a full pulse. The PLC continues to output pulses when the stop flag is reset and the
previously stopped pulse output is not finished. You set and reset the stop flag is set in the program.
11. The high-speed output points and corresponding SM/SR are listed in the following table.
_6 Output point number Attribute#2 Y0.0 Y0.1 Y0.2 Y0.3 Y0.4 Y0.5
Output completion
R/W SM470 SM475 SM490 SM495 SM510 SM515
auto-reset#4
Present output
SR460 SR474 SR480 SR494 SR500 SR514
position#1 R/W
SR461 SR475 SR481 SR495 SR501 SR515
(32-bit)
Output point number Attribute #2 Y0.6 Y0.7 Y0.8 Y0.9 Y0.10 Y0.11
6-920
Cha p ter 6 App l ied Ins truc tio ns
Output point number Attribute#2 Y0.0 Y0.1 Y0.2 Y0.3 Y0.4 Y0.5
Output completion
R/W SM530 SM535 SM550 SM555 SM570 SM575
auto-reset #4
Notes:
#1: All present output positions are latched when power is off.
#2: R means Read-only registers, and the data in the registers cannot be modified. R/W means the data in the
#3: It is suggested that you clear the completion flag. If the completion flag is not cleared, it is cleared automatically
when the high-speed output instruction is executed the next time.
#4: You set the output completion auto-reset flag. The PLC clears the flag automatically after the output is
completed.
Example 1
1. When X0.0 is ON, Y0.0 outputs 200 pulses at 1kHz. SM461 is ON when the pulse output is completed and then 6_
Y0.12 is ON.
2. When X0.0 is OFF, Y0.0 stops the output. It restarts the pulse output when X0.0 switches to ON again.
0.5ms
輸出 Y0 2 3 200
Output point Y0.0
1ms
6-921
AS Ser ies Pro gra mm in g M anu al
Example 2
_6
Explanation
1. Y0.0 outputs 1000 pulses when X0.0 receives one external interrupt signal. Y0.2 outputs 1000 pulses when
X0.1 receives one external interrupt signal.
2. When the external interrupt input X triggers the pulse output from Y, the interval time between the Y pulse
output completion and the next external interrupt input X trigger must be one or more PLC scan cycles.
6-922
Cha p ter 6 App l ied Ins truc tio ns
Explanation
1. When M0 is ON, Y0.0 outputs 1000 pulses at 1kHz. When M1 is ON, it indicates Y0.0 is used for high-speed pulse
output.
2. When the pulse output is completed, SM461 is ON. And if M1 is also ON, it triggers SM470 (output completion
auto-reset for Y0.0) to be ON and Y0.0 is free and ready to be used again.
4. When there are more than two high-speed output instructions in a program, do not use the variable name, M1,
repeatedly.
5. It is suggested not to use ST language in a program if there is any chance the outputting needed to be stopped.
6_
6-923
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
D
Symbol
Explanation
1. This instruction specifies the pulse output (S1, S2) for the device specified in D with ramp up or ramp down in the
frequency change. S1 specifies the pulse output frequency as 4 MHz for line driver output models and the pulse
output frequency between 0 Hz–200 kHz for the open collector output models. The unit of the output frequency is 1
Hz. The tolerable error rate for 200 kHz is about 0.02% and for 100 kHz it is about 0.01%. The error rate decreases
with decreasing frequency. For example, if the output frequency setting is 199990 Hz, the actual output is 199960
Hz. If the output frequency setting is 99999 Hz, the actual output is 99990 Hz. If the output frequency is out of the
valid range, the PLC automatically processes it as the maximum or minimum pulse output frequency.
2. After the instruction is executed, you can change the target output frequency specified by S1 and the PLC performs
the ramp up or ramp down process according to the ramp up or ramp down time setting S3. The time to change the
frequency is when the PLC is scanning the instruction and the instruction has completed output of a full pulse.
3. S2 is the number of output pulses. The range is between 0–2,147,483,647. When you set the number of pulses to 0,
then the number of pulses is not restricted and pulses are output continuously until the instruction is disabled.
6-924
Cha p ter 6 App l ied Ins truc tio ns
4. After the instruction starts to output pulses, the number of output pulses that S2 specifies cannot be changed.
5. S3 sets the ramp-up or ramp down time with the unit of 1ms. The value is effective when the instruction is executed
for the first time. If the target frequency specified by S1 is modified in the ramp-up process, the ramp up or ramp down
time is reloaded for execution. But if the target frequency is modified when the output enters the ramp-down process,
6. D only allows Y0.0–Y0.11 as the pulse output devices. After the instruction is executed, its output function becomes
the high-speed output, and the general instruction output point control is invalid. It is suggested that you do not use
the general output function after using the high-speed output function in the program.
7. The target output frequency S1, number of output pulses S2 and ramp up/down time S3 are illustrated in the following
graphic.
8. The ratio of Duty-OFF Time and Duty-ON Time for the pulse output is 1:1. 6_
9. There is no limit to how many times you can use the instruction a program. But only one output instruction that uses
the same output point can be executed in the same scan cycle. When several high-speed pulse output instructions
start the same output point in the program, the PLC first performs the output based on the instruction that is executed
first.
10. After the high-speed output instruction for one output point is enabled, other instructions that occupy the same output
point can not start until the high-speed output instruction in execution is disabled.
11. When the high-speed output instruction is executed in an interrupt program or is not in the main program, it is
suggested that you use the instruction with the auto-reset function when the output is completed and the PLC updates
12. After the stop flag is set, PLC performs the ramp-down stop; or it immediately stops the output only after the start
13. Refer to the PLSY instruction (API 2700) for an explanation of the high-speed output points and corresponding SM/SR.
14. Refer to Example 3 from the PLSY instruction (API 2700) for programming in ST language.
6-925
AS Ser ies Pro gra mm in g M anu al
15. When the target output frequency is reached, you can change the set target output frequency. The frequencies for
ramp up and ramp down are already set, if you change the set target output frequency during the instruction execution,
the frequency goes either ramping up or ramping down. If more than one target output frequencies are set, it is
suggested to set the last new target frequency the same as the original target frequency to avoid abrupt change when
See the example below. The blue line indicates the original target freueency and the red line indicates new target
frequency.
Situation A: ramping up
Freq.
Time
6-926
Cha p ter 6 App l ied Ins truc tio ns
Freq.
Time
Suggested design: it is suggested to set the last new target frequency the same as the original target frequency
6_
Freq.
Time
6-927
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D
Symbol
D :
_6 Pulse output device
Explanation
1. This instruction specifies the pulse output width. The 16-bit instruction uses 100 us as the output unit, while the 32-
bit instruction uses 1 us as the output unit.
2. S1 (pulse output width--Duty ON) is defined as t, S2 (pulse output cycle time--Cycle time) is T as shown below. It is
recommended that S1≦S2.
6-928
Cha p ter 6 App l ied Ins truc tio ns
4. There is no limit to how many times you can use the instruction a program. But only one output instruction that uses
the same output point can be executed in the same scan cycle. When several high-speed pulse output instructions
start the same output point in the program, the PLC first performs the output based on the instruction that is executed
first.
5. If S1≦0 or S2≦0, it is processed as 0 (the pulse output is OFF). If S1>S2, it is processed as S1=S2. When S1=S2
6. You can modify the pulse output width S1 and pulse output cycle S2 when the PWM instruction is executed.
Output point number Attribute Y0.0 Y0.1 Y0.2 Y0.3 Y0.4 Y0.5
Present output
SR460 SR474 SR480 SR494 SR500 SR514
position#1 R/W
SR461 SR475 SR481 SR495 SR501 SR515
(32-bit)
Output point number Attribute Y0.6 Y0.7 Y0.8 Y0.9 Y0.10 Y0.11
8. Refer to Example 3 from the DJOG instruction (API 2703) for programming in ST language.
Example
When X0.0 is ON, Y0.1 outputs the following pulses. When X0.0 switches to OFF, Y0.1 output changes to OFF.
t=1000ms
Output Y0.1
Output Y1
T=2000ms
6-929
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
type INT
S1
S2
S3
D1
D2
Symbol
S1 : Ramp-up time
_6
S2 : Target output frequency
S3 : Ramp-down time
Explanation
1. This instruction specifies the JOG output (S1 , S2 , S3) for the devices specified in D1 and D2. S1 is the ramp-up time
with the unit of 10 ms. For Example , the value 10 means the ramp-up time is 100 ms. After the instruction is
executed, the output frequency can be divided by ten, and it speeds up once every 10ms. It reaches the JOG
2. When the instruction is disabled, its output frequency ramps down once every 10ms based on the ramp-down time
in S3. The output does not stop until reaching the ramp-down time. If you set the ramp-down time to 0, the output
stops immediately.
6-930
Cha p ter 6 App l ied Ins truc tio ns
3. The range of the ramp-up time S1 and the ramp-down time S3 is between 0–3000 (0–30 seconds). If the setting
value is out of range, the PLC processes it as the minimum or maximum output value. The ramp-up time and
ramp-down time are affected by the scan time. If you require accurate ramp-up or ramp-down time, it is
recommended that you use an output instruction with specified ramp up or ramp down time such as the DDRVI
4. The range of the target output frequency S2 is between -200 kHz to 200 kHz. If the setting value is out of the range,
the PLC processes it as the minimum or maximum output value. A positive number for the output frequency
indicates forward output. A negative number for the output frequency indicates reverse output.
5. D1 allows only Y0.0–Y0.11 for the output point. For the auxiliary output point specified by D2, refer to the output
points in the following table. If you choose other output points or the M device, the value in SR indicating the output
mode is invalid and the Pulse+direction mode is valid by default. D2 is a direction output point.
6_
Present output SR460 SR480 SR500 SR520 SR540 SR560
Backlash
SR478 SR498 SR518 SR538 SR558 SR578
compensation
Backlash
SR479 SR499 SR519 SR539 SR559 SR579
compensation
6-931
AS Ser ies Pro gra mm in g M anu al
6. When the value is 0 in SR462, SR482, SR502, SR522, SR542, and SR562, it indicates the Pulse+direction output
mode. When the value is 1 in SR462, SR482, SR502, SR522, SR542, and SR562, it indicates the A/B phase
output mode.
Note: you can select the output mode only when D1 uses an even output point and D2 uses a recommended
direction output point.
7. When the direction outputs are not using the default outputs to output, you can refer to the table below for setting
up the outputting time that pulse outputting goes first before direction outputting does. So that you can be sure the
outputting only happens when switching to the direction outputs. The unit for SR is millisecond and the range is 0-
Note: the time source here is from PLC scan time. (available for firmware version 1.02.20 or later)
8. When the output begins, the Busy flag SM is ON. When the output is completed, the Busy flag is automatically
9. The following graph shows the output timing diagram. For the Busy flag in the following graph, refer to the Busy
flag axis.
_6
Jog_in
Busy flag
S2 > 0
S1 S3
D1
0 Time
S1 S3
S2 < 0
10. You can modify the target output frequency during instruction execution but you can NOT change the ramp-up or
ramp-down time. When the new target frequency is greater than the previous one, the instruction uses the ramp-up
slope. When the new frequency is less than the previous one, the instruction uses the ramp-down slope.
11. The instruction sets the ramp-up/down slope through conversion of the set time and target frequency when the
instruction is executed. The slope does not change with the changing target frequency in the output process. For
example, the original target output frequency is 1 kHz and then it is modified to 2 kHz. The actual ramp-down time
6-932
Cha p ter 6 App l ied Ins truc tio ns
is different from the original time. The dotted line is the ramp-up and ramp down timing diagram after the target
frequency is modified.
Jog_in
Change S2
S2
D1
Time
S1 S3
12. If there is any change on the frequency during ramp up or ramp down, the change can only be carried out after the
original frequency completes outputting. For example, if the new target frequency is 100 Hz and the ramp-up timing
is set at 100 (1 second), after the original frequency completes outputting, the new target frequency 100 Hz will be
outputted next. (Even though the target frequency changes every 10 ms but if the pulse does NOT complete
texts, you need to use the output completion auto-reset flag as well for the PLC to know the output point is free and
ready to be used again when the output completes. Taking Y0.0 as the output point, the program should be written as
6-933
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
type INT
S1
S2
S3
S4
D
Symbol
Explanation
1. This instruction causes the machine to return to the zero point. The range of the target frequency for zero return S1
is between 1 Hz–200 kHz. The JOG frequency S2 should be less than the target frequency S1. The JOG frequency
S2 is the start frequency. If S1 is less than S2, S1 is automatically revised processed as equal to S2.
2. The input point for S4 and output point for D must match. Do not change them during instruction execution. The
input point for S4 is suggested to use the 16 high-speed input points X0.0–X0.15. They will not be affected by PLC
instruction scan time. If you use X1.0 successive input points or M devices (firmware V1.02.10 or above is
required), they will be affected by the PLC instruction scan time. Refer to the following table for the selection of D
output point and direction output point. If D is not the preset Pulse+direction output (default: 0), change the mode
to A/B phase output by setting SR to 1.
6-934
Cha p ter 6 App l ied Ins truc tio ns
Note 1: This function is only available for firmware version 1.04.30 or later. See the diagram below for
mode setting.
Execute DZRN DOG signal received Move away frm DOG signal
6_
0: stops immediately
2: moves a number of pulses and then stops
Moves in the
3: searches for a number of Z phases and then stop
negative 4: outputs the clear signal
Searches for
direction 6: moves a number of pulses and outputs the
the zero point clear signal
in the 7: searches for a number of Z phases and outputs
the clear signal
direction of
Moves in the
negative or
positive direction
positive 1, 8, 9: stops immediately
10: moves a number of pulses and then stops
11: searches for a number of Z phases and then stop
5, 12, 13: outputs the clear signal
14: moves a number of pulses and outputs the clear
signal
15: searches for a number of Z phases and outputs
the clear signal
6-935
AS Ser ies Pro gra mm in g M anu al
4. Use S3 to select the zero return mode. The function code is set by the two high and low16-bit parameters. See the
following table for details.
Code
Functions High 16- Low Explanation
bit 16-bit
When the instruction is executed, the search for
the zero point is in the negative direction with the
Leaves the zero point in target frequency. When the zero point is ON (the
the negative direction and zero point signal changes from OFF to ON), the
0 0
then stops frequency is decreased to the JOG speed and
(Mode 0) the motion in the negative direction continues,
and does not stop until the zero point signal
changes from ON to OFF.
When the instruction is executed, the search for
the zero point is in the negative direction with the
Leaves the zero point in target frequency. When the zero point is ON (the
the positive direction and zero point signal changes from OFF to ON), the
0 1
then stops frequency decreases to 0 immediately, and then
(Mode 1) the motion is in the positive direction at the JOG
speed, and does not stop until the zero point
signal changes from ON to OFF.
Returning to the zero point is the same as that
for the low 16-bit code. After the zero point is
Number ON, the motion continues according to the
Mode 0 Moves again after
of pulses 2 number of specified pulses. When the high 16-
returning to the zero point
for motion bit code is a positive number, the search is in
the positive direction. A negative value means
_6 that the search is in the negative direction.
Returning to the zero point is the same as that
for the low 16-bit code. After returning to the
zero point, the motion continues according to
the number of Z phases. When the high 16-bit
Mode 0 Searches Z phase
code is a positive number, the search is in the
after returning to the zero Number
positive direction. A negative value indicates
point of Z 3
that the search is in the negative direction.
(Z phase input point is set phases
Suppose you specified that the rising-edge
in HWCONFIG )
trigger of X0.1 as the condition for the Z phase
input in HWCONFIG. The counting is
performed once whenever the rising-edge
trigger for X0.1 occurs.
Choosing a value between 4–7 means
4+0=4 selecting the functions codes 0–3 respectively,
Number
Mode 0 Outputs the clear and the specified output point sends an ON
of pulses 4+1=5
signal after returning to the signal that is about 20ms wide when the
for motion 4+2=6
zero point. function execution completes. The range of the
or 4+3=7
(Output clear point is set in output point is Y0.12–Y0.15 and Y1.0–Y1.15.
number of (bit
HWCONFIG ) For example, if you specify Y1.12 as the output
Z phases 2=ON) point in HWCONFIG, it indicates Y1.12 is for
the output of clear signals.
Leaves the zero point in
8+0=8 The operation for zero point return is the same
the positive direction and 0
8+1=9 as that for code 1 (mode 1).
then stops
6-936
Cha p ter 6 App l ied Ins truc tio ns
(Mode 1) (bit
3=ON)
The operation for zero point return is the same
as that for low 16-bit code 1.
Mode 0 or mode 1 for the zero point return, selected according to the value of bit 3.
The operation of the zero point return is performed according to the values of bit 1 and bit 0.
6. Set the input point and the rising edge trigger condition in HWCONFIG, when the position control system needs
positive and negative limit input points. Note that the limit input points must not be the same as the zero point or Z
For firmware V1.10 or previous versions, when the zero return motion is in process and the limit point check function
is activated, the limit alarm flag is not set to ON once the limit point is reached. For firmware V1.12 or later, the limit
alarm flag will automatically set to ON for a reminder, and then you can decide the follow-up operation based on the
alarm flag. (Note: After the limit alarm flag is ON, it must be cleared by yourself.)
6-937
AS Ser ies Pro gra mm in g M anu al
7. The Completion flag is set to ON after the instruction finishes performing the specified function. For example, for
function code 6, the PLC sets the Completion flag to ON only when the Z phase seeking completes.
8. After the DZRN instruction is executed, an interrupt service program is not executed till the DZRN instruction is
disabled, if the specified input point for the zero point is the same as that for the external input interrupt in the
program.
9. When the limit switch is specified in HWCONFIG, and there is an external input interrupt service program, the
10. The instruction cannot be used in the ST programming language, interrupt tasks or function block which is called
only once. Firmware V1.12 or later supports the ST programming language. For details, refer to the description in
the example.
The DZRN function is executed and the search for the zero point is in the negative direction with the target
frequency.
After the DOG signal is received, the output frequency decreases to the JOG frequency. The output continues in
the negative direction and does not stop until the zero point signal changes from ON to OFF.
_6 The output stops when the signal changes from ON to OFF and the axis moves away from the DOG signal.
Negative direction
Completion flag ON
DOG signal ON
Frequen cy
Target frequency
JOG frequency
Time
1 2 3
Function code 1:
The DZRN function is executed and the search for the zero point is in the negative direction with the target
frequency.
After the DOG signal is received, the output is in the positive direction with the JOG frequency after the output
frequency decreases, and the motion direction reverses. The output does not stop until the zero point signal
6-938
Cha p ter 6 App l ied Ins truc tio ns
The axis moves away from the DOG signal and PLC stops when the signal changes from ON to OFF.
P ositive
Negative direction direction
Completion flag ON
DOG signal ON
F requency
Target frequency
JOG frequency
Time
1 2 3 4
Function code 2:
The DZRN function is executed and the search for the zero point is in the negative direction with the target
frequency.
After the DOG signal is received, the output decreases the frequency to the JOG frequency and continues in the
negative direction.
When the DOG signal is left and the signal changes from ON to OFF, the specified number of pulses are output.
Completion flag ON
DOG signal ON
Output Y
Frequency
Target frequency
JOG frequency
Time
1 2 3 4 5
6-939
AS Ser ies Pro gra mm in g M anu al
Function code 3:
DZRN function is executed and the search for the zero point is in the negative direction with the target
frequency.
After the DOG signal is received, the output frequency decreases to the JOG frequency and the motion
The motion goes on according to the number of Z phases when the signal changes from ON to OFF after the
The motion stops after the 2nd Z phase completes and the Completion flag is ON.
Completion flag ON
DOG signal ON
Z phase pulse
Frequency
Target frequency
JOG frequency
Time
1 2 3 4 5
_6 Function code 4:
Executed DZRN and the search for the zero point is in the negative direction with the target frequency.
After the DOG signal is received, the output frequency decreases to the JOG frequency and continues in the
negative direction. The output does not stop until the zero point signal changes from ON to OFF.
After the axis moves away from the DOG signal, the output stops when the signal changes from ON to OFF and
Negative direction
Completion flag ON
Clear signal ON
DOG signal ON
Frequency
Target frequency
JOG frequency
Time
1 2 3
6-940
Cha p ter 6 App l ied Ins truc tio ns
You set the negative limit input point in HWCONFIG, and then download the setting to the PLC. The PLC
automatically calculates the negative limit function when the instruction is executed.
DZRN function is executed and the search for the zero point is in the negative direction with the target
frequency.
After the negative limit switch is ON, the motion stops and then goes in the positive direction after reversing
direction.
The motion continues in the positive direction after leaving the negative limit switch.
The output frequency ramps down after receiving the DOG signal. The reverse output is performed with the
The output stops when the signal changes from ON to OFF after the axis moves away from the DOG signal.
Positive Negative
Negative direction direction direction
Completion flag ON
DOG signal
Frequency
Target frequency 6_
JOG frequency
Time
1 2 3 4 5
Example 1
When M0 is ON, outputting the pulse from Y0.0 with a frequency of 20 kHz to search for the zero point in the negative
direction. When the DOG signal is received and X0.4 is ON, it keeps moving in the negative directon with the JOG
frequency of 1 kHz. The output stops immediately after X0.4 changes from ON to OFF.
6-941
AS Ser ies Pro gra mm in g M anu al
Explanation
S3 is set to 0.
High 16-bit [0000] is to disable the function to move a number of pulses or to search for Z phases.
Low 16-bit [0000] is Mode 0; when the DOG signal is received, the axis moves in the negative direction; after the axis
moves away from the DOG signal, it stops immediately.
Example 2
When M0 is ON, outputting the pulse from Y0.0 with a frequency of 20 kHz to search for the zero point in the negative
direction. When the DOG signal is received and X0.4 is ON, the PLC decreases the frequency to the JOG frequency of 1
kHz and keeps moving in the positive directon with the JOG frequency of 1 kHz. When X0.4 is OFF, the PLC starts to
seek the Z phase pulse in the positive direction. When X0.5 receives two pulses, the PLC stops and Y1.4 outputs a
20ms-width pulse.
_6
Explanation
1. If you specify the rising-edge trigger at X0.5 as the condition for Z phase input in HWCONFIG, the count is
2. Y1.4 is specified as the output point for outputting the clear signal in HWCONFIG.
3. S3 is set as 16#FE0C000E.
High 16-bit [0002] is to search for the Z phase twice, once the axis moves away from the DOG signal.
Low 16-bit [0007] is Mode 7; when the DOG signal is received, the axis moves in the negative direction; after the
axis moves away from the DOG signal, and found the Z phase, a clear signal is outputted (20ms).
6-942
Cha p ter 6 App l ied Ins truc tio ns
Example 3
When M0 is ON, outputting the pulse from Y0.0 with a frequency of 20 kHz to search for the zero point in the negative
direction. When the DOG signal is received and X0.4 is ON, the PLC decreases the frequency to the JOG frequency of 1
kHz and keeps moving in the positive directon with the JOG frequency of 1 kHz. When X0.4 is OFF, the axis starts to
move after 500 pluse output completes in the negative direction. Y1.4 outputs a 20ms-width pulse and then stops
outputting.
Explanation
1. Y1.4 is specified as the output point for outputting the clear signal in HWCONFIG.
2. S3 is set as 16#FE0C000E.
High 16-bit [FE0C=-500] once the axis moves away from the DOG signal. The axis starts to move after 500 pluse
output completes in the negative direction.
Low 16-bit [000E] is Mode 14; when the DOG signal is received, the axis moves in the positive direction; after the
6_
axis moves away from the DOG signal, a clear signal is outputted (20ms).
Generally, it is suggested to use the ladder diagram language to edit the program when using this instruction. If you use
ST language (which is only available for firmware V1.12 or later), you must wait until the zero-return motion is completed
(SM461 completion flag is ON) and then disable the instruction. Besides, you must use the auto reset flag together to notify
Taking Y0.0 output for example, the program writing is shown in the figure below
6-943
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
S
D1
D2
Symbol
Explanation
_6
1. This instruction adjusts the pulse output frequency and direction (S) for the devices specified in D and D2. S specifies
the pulse output frequency: for line driver output models, the range is between -4 MHz to +4 MHz; for open collector
output models, the range is between -200 kHz to +200 kHz. The minus sign and plus sign indicate the positive
direction and negative pulse direction. You can change the pulse output frequency during the pulse output; but if the
new frequency is different from the previous frequency in direction, the instruction stops the output, and one cycle
2. Refer to the following table for the selection of pulse output devices for D1 and D2. When the output mode for D1
and D2 is not the default Pulse+direction output (0 is the default value), modify the mode by setting SR to 1, which
changes the mode to A/B phase output.
Direction output point for D2 Y0.1 Y0.3 Y0.5 Y0.7 Y0.9 Y0.11
6-944
Cha p ter 6 App l ied Ins truc tio ns
3. The output point for the pulse direction output device D2 is affected by the scan cycle if it is not the recommended
output point in the table above.
4. The pulse direction output device D2 changes its own state according to the minus or plus sign in S. D2 is OFF if S
5. There is no ramp-up or ramp-down setting in the instruction. The instruction does not perform a ramp-up
operation at the beginning or ramp-down at stopping. If you want the ramp-up and ramp-down function, use the
DRAMP instruction (API 0703) for increasing and decreasing the pulse output frequency.
6. While the instruction is executing the pulse output, the output immediately stops if the drive condition changes to
OFF.
7. When the direction outputs are not using the default outputs to output, you can refer to the table below for setting
up the time for directional outputting goes first before pulse outputting. So that you can be sure the outputting only
happens when switching to the direction outputs. The unit for SR is millisecond and the range is 0-20 ms. Default is
0, indicating inactive.
Note: the time source here is from PLC scan time. (available for firmware version 1.02.20 or later)
8. Refer to Example 3 from the DJOG instruction (API 2703) for programming in ST language.
Example
When M10 is ON, Y0.0 outputs the pulse at 20 kHz. Y0.1 = OFF means the positive direction for the pulse output.
6-945
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D1
D2
Symbol
D1 :
_6
Pulse output device
Explanation
1. This instruction specifies the output pulse setting for relative positioning. S1 is the number of output pulses (relative
positioning). The range is between -2,147,483,648 to +2,147,483,647, and the +/- signs indicate the positive and
negative pulse directions. When the instruction is executed and S1 is 0, it indicates not outputting and output
completion flag not be set to ON. If 0 is a possible output number in your program, it is suggested to add more
2. S2 is the pulse output frequency, and the range is between 0 Hz–200 kHz for open collector output models and 0–4
MHz for line driver output models. If the value in S2 is less than the Start/end frequency (Hz) set in SR (refer to the
SR table below for more details), PLC operates according to the values set in SR.
3. Refer to the following table for the selection of pulse output devices for D1 and D2. When the output mode for D1
and D2 is not the default Pulse+direction output (0 is the default value), modify the mode by setting SR to 1, which
changes the mode into A/B phase output.
6-946
Cha p ter 6 App l ied Ins truc tio ns
DDRVI and DDRVA support the output devices for D1 which can be the odd points as shown in the following table.
Only the Pulse+direction output mode is supported. It is not recommended that you use the input points Y0.0, Y0.2–
4. The output point for the pulse direction output device D2 is affected by the scan cycle if it is not the recommended
output point in the table above.
5. When D2 uses the output mode Pulse+direction and S1 has a minus sign, D2 is ON. When S1 has a plus sign, D2 is
OFF. D2 is not OFF immediately after the pulse output in the negative direction is completed. D2 switches to OFF
when the contact for the execution of the instruction is OFF.
6_
6. For the instruction execution, you must use the parameters such as the start/end frequency and ramp-up/down
time. Refer to the following table for SM/SR corresponding to the axes.
The following table applies when D1 selects the even output points as the output devices.
Output completion
SM470 SM490 SM510 SM530 SM550 SM570
auto-reset
6-947
AS Ser ies Pro gra mm in g M anu al
Executing an interrupt
output ends
Corresponding
I500 I501 I502 I503 I504 I505
interrupt I number
The output
immediately stops
SM476 SM496 SM516 SM536 SM556 SM576
when the instruction is
disabled or stops
Start/end frequency
SR463 SR483 SR503 SR523 SR543 SR563
(Hz)
The following table applies when D1 selects the odd output points as the output devices.
Output completion
SM475 SM495 SM515 SM535 SM555 SM575
auto-reset
The output
immediately stops
SM477 SM497 SM517 SM537 SM557 SM577
when the instruction is
disabled or stops
6-948
Cha p ter 6 App l ied Ins truc tio ns
Start/end
SR476 SR496 SR516 SR536 SR556 SR576
frequency(Hz)
Ramp-up/down time
SR477 SR497 SR517 SR537 SR557 SR577
(ms)
Some flags, such as fixed slope ramp-up/down, and executing an interrupt program when pulse output ends, are
If the output is ongoing, the preset output is the ramp-down stop when the instruction is disabled or stops
temporarily. If the output must be stopped immediately, set the immediately stop flag to ON.
7. For PLC with FW V1.06.00 or later, added new SR652, SR653 for displaying number of pulse in ramp-up area and
Refer to the following table for Attribute, Factory default and latched values of SM/SR corresponding to the axes.
Factory
Item Attribute StopRun RunStop Power ON Latched
default
Output completion N
6_
R/W OFF OFF OFF OFF
auto-reset
Executing an interrupt N
output ends
The output N
immediately stops
R/W OFF OFF OFF OFF
when the instruction is
disabled or stops
Present output
R / Wd No change No change No change 0 Y
position
Start/end Y
R / Wd No change No change No change 200
frequency(Hz)
6-949
AS Ser ies Pro gra mm in g M anu al
Ramp-down time Y
R / Wd No change No change No change 200
(ms)
Target frequency of R / Wd Y
No change No change No change 0
the fixed slope
Present output
R 0 0 0 0 N
frequency
Note: R mean the device is readable. W means the device is writable. Wd means the device is writable any time
8. After output completion auto-reset is enabled, the flag is automatically reset to OFF when the output completes.
You must set the flag to ON again if the auto-reset function is needed for the next output operation. It is suggested
that you use the rising-edge or falling-edge to trigger the flag every time. The function is usually used when the
output DDRVI instruction cannot be scanned and executed by PLC program after DDRVI is executed. For
9. If you use the Completion flag to set the I interrupt function, the flag is automatically reset to OFF when the output
completes and the interrupt program starts. You must set the flag to ON again for the next output in which the
interrupt occurs. It is suggested that you use the rising-edge or falling-edge to trigger the flag every time.
10. When the direction outputs are not using the default outputs to output, you can refer to the table below for setting
up the time for directional outputting goes first before pulse outputting. So that you can be sure the outputting only
_6 happens when switching to the direction outputs. The unit for SR is millisecond and the range is 0-20 ms. Default is
0, indicating inactive.
Note: the time source here is from PLC scan time. (available for firmware version 1.02.20 or later)
6-950
Cha p ter 6 App l ied Ins truc tio ns
Example 1
When M10 is ON, Y0.0 outputs 20,000 pulses at 2 kHz (relative positioning). Y0.1 = OFF means the positive direction.
Additional remarks
1. The following graph explains the relative positioning by specifying the travel distance from the current position with
the +/- signs.
F requency
+ 3, 000 pulse
Target frequency
S tart/end frequency
Current position
2. Setting the ramp up/down and the items for relative positioning 6_
F requency
Number of
S1:: output pulses
Slope ramp-up
S2
S tart/end frequency
SR463
Time
then other instructions that also use Y0.0 for output are not executed. The instruction that starts the output
c) After the instruction is executed, any modification of the parameters is not accepted until the instruction is
disabled.
6-951
AS Ser ies Pro gra mm in g M anu al
F requency
Fixed slope
Target frequency
Target frequency
Original slope
S tart/end frequency
Time
c) The new slope takes the place of the original slope and the DDRVI instruction performs the positioning as
shown above.
d) The general slope is determined by the start/end frequency, target frequency, and ramp up and down time.
The fixed slope is determined by the start/end frequency, target frequency of the fixed slope, and ramp up
e) When the target frequency of the fixed slope is less than the target frequency, the fixed slope function is not
_6
started.
6-952
Cha p ter 6 App l ied Ins truc tio ns
b) Ramp-down stop
When M10 is ON, the DDRVI instruction is executed and starts to output pulses, and SM460, the Busy flag
is ON.
When the instruction is disabled (M10 is OFF) or the stop flag SM463 is ON, the state of the immediately
If the immediately stop flag SM476 is OFF, the output ramps down to stop and then the Busy flag SM460
is OFF.
If M10 is not OFF and the stop flag SM463 is not ON after the instruction is executed, Y0.0 stops the output
c) Immediately stop
When M10 is ON, the DDRVI instruction is executed and starts to output pulses, and SM460, the Busy flag
is ON.
If the instruction is disabled (M10 is OFF) or the stop flag SM463 is ON, the state of the immediately stop
If the immediately stop flag SM476 is ON, the output stops immediately and the Busy flag SM460 is OFF.
a) The following graphic shows the output curve diagram of axis 1 (Y0.0/Y0.1).
6_
Positive limit function Negative limit function
6-953
AS Ser ies Pro gra mm in g M anu al
DDRVI outputs 20,000 pulses in the positive direction. Note: the instruction does not output in the
positive direction if the positive limit point is ON when the function starts.
When the limit input point X0.6 is triggered by the external mechanism and is ON, the condition for the
DDRVI instruction stops the output immediately and the positive limit alarm SM465 is ON.
If the condition for the hardware limit function is not met, Y0.0 stops the output after 20,000 pulses.
DDRVI outputs 20,000 pulses in the negative direction. Note: the instruction does not output in the negative
direction if the negative limit point is ON when the function starts.
When the limit input point X0.7 is triggered by the external mechanism and is ON, the condition for the
DDRVI instruction stops the output immediately and the negative limit alarm SM467 is ON.
If the condition for the hardware limit function is not met, Y0.0 stops the output after -20,000 pulses.
Enabling the
limit
Enabling the
limit
Note: The limit point alarm flag and is set or reset automatically by the PLC according to the state of the start flag.
6-954
Cha p ter 6 App l ied Ins truc tio ns
a) The following diagram shows the output curve diagram of axis 1 (Y0.0/Y0.1).
the setting to the PLC, it means the positive limit function starts.
DDRVI starts to output 20,000 pulses in the positive direction. Note: the instruction does not output in the
positive direction if the positive limit is exceeded when the function starts.
When the current position SR460 > the limit position SR580, it means that the condition for the software limit
6_
function is met.
DDRVI instruction stops the output immediately and the positive limit alarm SM465 is ON.
If the condition for the limit function is not met, Y0.0 stops the output after 20,000 pulses.
6-955
AS Ser ies Pro gra mm in g M anu al
downloading the setting to the PLC, the negative limit function starts.
DDRVI starts to output 20,000 pulses in the negative direction. Note: the instruction does not output in the
negative direction if the negative limit is exceeded when the function starts.
When the current position SR460 < the limit position SR582, the condition for the software negative limit function
is met.
DDRVI instruction stops the output immediately and the negative limit alarm SM467 is ON.
If the condition for the software limit function is not met, Y0.0 stops the output after -20,000 pulses.
d) Rising-edge trigger
Descriptions
When started: from low to When started: from high to
high and maintains at high low and maintains at low
Positive output limit: the output stops immediately if the current position is greater than the positive limit position.
Negative output limit: the output stops immediately if the current position is less than the negative limit position.
When the positive and negative limits are both 0, the software limit function cannot start. Since the software limit
function checks the output position when the output instruction is scanned, stopping the output is affected by the
PLC scan. To quickly stop the output in real time, use the external input point as the limit point.
6-956
Cha p ter 6 App l ied Ins truc tio ns
7. ST Example
Explanation
7.2 When the pulse output completes, SM461 is ON and SM470=ON is triggered.
7.3 The pulse output restarts when M0 changes from OFF to ON again
7.4 When there are more than two high-speed output instructions in a program, do not use the variable name, M1,
repeatedly.
7.5 It is suggested not to use ST language in a program if there is any chance the outputting needed to be
stopped.
Function block 1
6-957
AS Ser ies Pro gra mm in g M anu al
Function block 2
Explanation
When M0 is ON, Y0.0 outputs 10000 pulse at 1kHz. Y0.1 = OFF means the pulse output direction is positive.
9. Be sure to refer to PLSR instruciton (API2701) for more details on changing target frequency during outputting.
Remember if there is any change on the target frequency, the change can only be carried out after the original
target frequency completes outputting.
even after the target position is changed. For example, if the original output target position is in the positive
direction, after the target positon is changed, it still outputs in the positive positive.
10.2 After you set the change flag, the changing happens when the instruction is being scanned. And after it is
changed, the change flag is cleared off. But if the target position is set incorrectly, the change flag keeps ON.
10.3 Refer to the following table for the corresponding outputs and change flag SM.
10.4 This changing target posiiton funciton is available for DDRVI and DDRVA insturcitos. When the instruction
DDRVI is used and a change flag is set, the change will be executed. Even if the output number is 0, the
operation will be carried out and stop outputting. When the instruction DDRVA is used, if the changed target
position is the same as the previous one, this change will not be performed.
10.5 Three situations may occur, when changing target position during output.
6-958
Cha p ter 6 App l ied Ins truc tio ns
Change SM
Freq.
Pulse no.
Situation B: changing timing occurs during outputting in the target frequency area.
oringinal target position during initial start (blue)
new number of output pulse >= number of output pulse in ramp-down area, its outputting curve
(red).
new number of output pulse < number of output pulse in ramp-down area, its outputting
curve(green)
PLC change & clear
User set
Change SM
Freq.
Pulse no.
6_
Situation C: changing timing occurs during outputting in the ramp-up area.
oringinal target position during initial start (blue)
new number of output pulse >= number of output pulse in ramp-down area, its outputting curve
(red).
new number of output pulse < number of output pulse in ramp-down area, its outputting
curve(green)
User set
PLC change & clear
Change SM
Freq.
Pulse no.
6-959
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
D1
D2
Symbol
Explanation
1. This instruction specifies the output pulse setting for absolute positioning. S1 is the number of output pulses (absolute
positioning). The range is between -2,147,483,648 to +2,147,483,647, and +/- signs indicate the positive and
negative pulse directions. When the instruction is executed, it checks the current position with S1. If S1 is 0, it indicates
not outputting and output completion flag not be set to ON. If 0 is a possible output number in your program, it is
suggested to add more conditions in your program to rule out this possibility.
2. S2 is the pulse output frequency and the range is between 0 Hz–4 MHz for the line driver output models and 0 Hz–
200 kHz for the open collector output models. If the value in S2 is less than the Start/end frequency (Hz) set in SR
(refer to the SR table of DRVI instruction for more details), PLC operates according to the values set in SR.
3. Absolute positioning means that the instruction outputs pulses to move from current position until the specified target
position is reached. For example, the number of output pulses at current position is 100 and the number of pulses at
the target position S1 is set to 1000. So the number of the actual output pulses is 1000-100=900.
6-960
Cha p ter 6 App l ied Ins truc tio ns
Example
If the value of the present output position SR460 (32-bit) is 100 and M10 is ON, then the DDRVA instruction causes Y0.0
to output pulses at 2 kHz until the value in SR460 becomes 20,000 (absolute positioning). Y0.1 = OFF means the positive
direction.
Additional remarks
1. The following graph shows absolute positioning: the way of specifying the distance from the center (zero point).
F requency
+ 3, 000 pulse
Target frequency
S tart/end frequency
6_
Zero point
0 pulse
6-961
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
S4
S5
D1
D2
Explanation
1. This instruction specifies the catch speed and proportional output. S1 can only specify X0.0, X0.2, X0.4, X0.6, X0.8
and X0.10 as the input points, and the operand occupies two consecutive input points. You cannot execute the
instruction if the input points are the points specified for S1 above. After you select the input points, the high-speed
counter is automatically specified. If there is a DCNT instruction (API 1004) with the same high-speed counter in
6-962
Cha p ter 6 App l ied Ins truc tio ns
the program, the PLC first executes the instruction that starts the counter first. The input points and corresponding
Group number 1 2 3 4 5 6
High-speed counter
HC202 HC206 HC210 HC214 HC218 HC222
number
2. If the high-speed counters for the instruction can use only the phase A/B input mode, set the flag for reversing the
input direction to ON when MPG is connected but has not rotated yet, and the PLC input point is ON. Set the
3. S2 is the number of input pulses. Use a 32-bit variable to declare the parameter.
4. S3 is the frequency of input pulses. Use a 32-bit variable to declare the parameter with the unit of 1 Hz.
5. S4 is the denominator (output frequency) for the proportion of the input frequency and output frequency. S5 is the
numerator (input frequency) for the proportion of the input frequency and output frequency. The range of S4 and S5 6_
is between 1–255. If the setting value exceeds the range, the instruction is processed as the maximum or minimum
value. For example, if input frequency: output frequency= 5:3, the denominator output frequency is K3 and the
numerator input frequency is K5. If the input frequency: output frequency=1:2, the denominator output frequency is
6. D1 can only specify Y0.0, Y0.2, Y0.4, Y0.6, Y0.8 and Y0.10 as the output points and occupies two consecutive
output points.
The output points and corresponding output mode SR are shown in the following table.
7. D2 is the frequency of the output pulses. Use a 32-bit variable to declare the parameter with the unit of 1 Hz.
6-963
AS Ser ies Pro gra mm in g M anu al
8. There is no limit to the number of times you can use this instruction; but the high-speed input and output points
cannot be used by other instructions when this instruction is executed. Otherwise, the instruction cannot be
executed.
9. The instruction cannot be used in the ST programming language, interrupt tasks or function block which is called
only once.
Notes
1. The PLC calculates the input pulse frequency based on the input pulse width (ON) in the positive half cycle. If the
proportion of the pulse width for ON:pulse width for OFF is not 1:1, the PLC takes the ON width as the standard for
conversion by default.
2. The input pulse=ON means the input point LED is on. When using the MPG but it has not rotated yet, you can check
if the input point LED is OFF and the flag for reversing the input direction is activated .
3. For PLC with FW V1.04.70 (V1.04.70 included) or later, the minimum pluse frequence for input and output is 50 Hz.
If the actual input pulse is 10 Hz and the value in S3 shows 10 Hz. But since the minimum pulse frequence for output
is 50 Hz, the instruction uses 50 Hz instead of 10 Hz to calculate. For the ratio 1:2, after conversion, the output pulse
is 100 Hz. For the ratio 2:1, after conversion, the output pulse is 50 Hz instead of 25 or 5 Hz.
4. You can modify values in S4 or S5 during the execution of this instruction. But you need to re-execute this instruction
to actualize this modification. Otherwise the value in S2 is not accurate enough to be used for calculating the current
5. After conversion, if the output pulse frequecne exceeds the maximum limit, the error code is recorded as 16#2030 in
Error Log File in ISPSoft and SM29 is ON. SR29 is the axis number. This function is available for PLC with FW
6. If the input pulse is 0 Hz and lasts for more than 2 seconds, PLC stops outputting automatically and the error code is
recorded as 16#2031 in Error Log File in ISPSoft and SM29 is ON. SR29 is the axis number. This function is
Example 1
X0.0/X0.1 input pulses for detecting the MPG. When M0 is ON, the setting values of S4 and S5 are both 1 (D4=1 and
D5=1). When the input frequency is 10 Hz (D2, D3=10) and the number of pulses is 10 (D0, D1=10), the output axis
6-964
Cha p ter 6 App l ied Ins truc tio ns
Example 2
When M0 is ON, the setting values of S4 and S5 are 3 and 5 (D4=3, D5=5) respectively. When the input frequency of the
MPG is 500 Hz (D2, D3=500) and the number of pulses is 2500 (D0, D1=2500), the output axis (Y0.0/Y0.1) outputs 1500
6_
6-965
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
S4
S5
S6
D1
D2
Symbol
S4 : The number of output pulses at the end for the fore mask section
S5 : The number of output pulses at the beginning for the rear mask section
The number of output pulses in the ramp-down process after the
S6 :
interrupt signal is received
D1 : Pulse output device
6-966
Cha p ter 6 App l ied Ins truc tio ns
Explanation
1. This instruction performs mark alignment positioning. When the value of S1 is 0, it indicates the output is a
maximum 32-bit value (with a sign) and the output does not perform the ramp-down stop until receiving the mark
signal.
If the value of S1 is not 0 and the external interrupt does not occur, the target number output pulses are output. The
range of S1 is between -2,147,483,648 to +2,147,483,647, and the +/- sign means the positive or negative direction.
2. When the value of S2 is less than or equal to 0, the output is not enabled. If the output frequency is greater than the
maximum frequency, the PLC processes it as the maximum output frequency.
3. S3 can specify the M or X device as the input point. The input source signal is affected by the scan cycle if the
selected input point is not in X0.0–X0.15 in the PLC.
4. You must use the instruction by combining the input point number and the external interrupt program to achieve the
real-time ramp-down output. For the rising-edge or falling-edge trigger for the external interrupt, select the triggers
A. Using the external interrupt (e.g. I0xx, I1xx): when the external interrupt occurs, the ramp-down stop is
performed after the mark signal is received. No operation is performed if the external interrupt is not enabled.
B. Without using the external interrupt (I0xx, I1xx): When the instruction is executed, the ramp-down stop is
performed after the mark signal is received if the rising edge occurs at X point or M device. It is affected by the
scan time. 6_
5. The number of output pulses in the fore mask section is between 1–S4. When the setting value for S4 is 0, it means
the fore- mask section function is disabled. When the number of pulses to be masked exceeds the value of S1, the
instruction takes the target number of output pulses S1 as the number to be masked. If the external input trigger
occurs within the number of output pulses to be masked, the external input interrupt is automatically invalid.
6. The number of output pulses in the rear mask section is between S5 and S1. When S5 =0 or S5 >=S1, the rear mask
section function is disabled. When the external input trigger occurs in the masked sections, the external input
interrupt is automatically invalid. When S4 >S5, it indicates the external input interrupt is invalid in the output process.
7. If the fore and rear mask sections are both set and S4 < S5, the valid input interrupt occurs in the section between
6-967
AS Ser ies Pro gra mm in g M anu al
If S6 =-1 or < 0 after the mark signal is received the output immediately stops
If S6 is greater than the number of pulses output within pulses with the same output frequency when the
the ramp-down time, interrupt is triggered, and then performs the ramp-
down process
9. For PLC with FW V1.06.00 (V1.06.00 included) or later: If S6 is set to 0 after the mark signal is received, it means
that the ramp-down stop is performed based on the ramp-down time. If S6 is set to -1 after the mark signal is
received, it means that the output immediately stops. If S6 is set to >0 after the mark signal is received and if the
setting value of S6 is not enough to achieve the ramp-down stop within the ramp-down time, the instruction limits
the target frequency and performs the ramp-down stop in accordance with the set ramp-down time. If S6 is greater
than the number of pulses output within the ramp-down time, the instruction outputs the number of redundant
pulses with the same output frequency when the interrupt is triggered, and then performs the ramp-down process.
If S6 = > 0 after the mark signal is received The instruction limits the target frequency and
If S6 is set to 0 after the mark signal is received The ramp-down stop is performed based on the ramp-
down time
If S6 =-1 after the mark signal is received The output immediately stops
If S6 =< -1 after the mark signal is received The instruction does NOT limit the target frequency
6-968
Cha p ter 6 App l ied Ins truc tio ns
If S6 is greater than the number of pulses output within Interrupt is triggered, and then performs the ramp-
Added new SR652, SR653 for displaying number of pulse in ramp-up area and new SR654, SR655 for
10. If the output has entered the ramp-down process when the external input interrupt trigger occurs, the instruction
11. See the following timing diagram about the output, interrupt trigger, mask and relevant flags. For the completion
flag, refer to the Completion flag SM for the axes in DDRVI instruction (API 2706).
EN
S4 S5
S3
finish flag
S2
D1
Time
0
Pulse No.
S6 6_
S1
12. The target frequency S2 of the instruction can be modified in the process of the pulse output. Since the number of
output pulses in the ramp-down section has been set when the instruction is executed, the timing diagram for
S3
Change S2
S2
D1
Time
Pulse No.
S6
13. Refer to the DDRVI instruction (API 2706) for the selection of pulse output devices for D1 and D2. The output points
for D1 can only be even-numberd such as Y0.0, Y0.2 or Y0.10. If the output points are not the recommended ones,
6-969
AS Ser ies Pro gra mm in g M anu al
14. The instruction cannot be used in the ST programming language, interrupt tasks or function block which is called
only once.
Example 1
Notes
_6
1. When M0 changes from OFF to ON, Y0.0 starts to output pulses. After outputting more than 30,000 pulses, the
external interrupt is detected on X0.4. The value in D0 increases by 1 and the pulse output stops after 15,000 pulses
(S6 = 15,000). If the interrupt does not occur, the output does not stop until 100,000 pulses are output.
2. If the number of output pulses is between 1–30,000, they are in the fore mask section. The external interrupt occurs
at X0.4 at the moment and the instruction does not perform the ramp-down stop operation.
3. If the number of output pulses is between 70,000–100,000, they are in the rear mask section. The external interrupt
occurs at X0.4 at the moment and the instruction still does not perform the ramp-down stop operation.
6-970
Cha p ter 6 App l ied Ins truc tio ns
Additional remarks
When the interrupt occurs for the mark alignment, the ramp-down process starts and the output stops after the
When the interrupt for the mark alignment does not occur or has no effect, DDRVM stops outputting the pulses
S4: The number of output pulses in the fore mask section. If the interrupt occurs in this section, the interrupt is
ineffective for the mark alignment.
S5: The number of output pulses in the rear mask section. If the interrupt occurs in this section, the interrupt is
ineffective for the mark alignment.
6_
6-971
AS Ser ies Pro gra mm in g M anu al
2. The mark alignment function is enabled in the ramp-up and target frequency and ramp-down sections. (Horizontal
coornate (x axis) represents TIME and vertical coornate (y axis) represents PULSE.)
When the mark alignment function is not enabled, set S1 = 100,000; the output stops after 100,000 pulses.
100,000 pulse
The operation of the mark alignment (green line: OFF -> ON) begins when the number of pulses is 3000. The target
_6 frequency of 10 kHz cannot be reached even if S6 is 15,000.
15,000 pulse
6-972
Cha p ter 6 App l ied Ins truc tio ns
The operation of the mark alignment (green line: OFF -> ON) begins when the number of pulses is 6000. The target
15,000 pulse
The operation of the mark alignment (green line: OFF -> ON) begins when the number of pulses is 50,000. Set S6 =
6_
15,000; the output stops after 15,000 pulses.
15,000 pulse
6-973
AS Ser ies Pro gra mm in g M anu al
The operation of the mark alignment (green line: OFF -> ON) begins when the number of pulses is 95,000.
Set S6 = 15,000; the output stops after 15,000 pulses at the current speed.
15,000 pulse
_6 The operation of the mark alignment (green line: OFF -> ON) begins when the number of pulses is 95,000. After the
6-974
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
D1
D2
Symbol
Explanation
1. This instruction performs 2-axis relative-coordinate point-to-point synchronized motion. S1 and S2 specify the
number of output pulses (relative positioning) for the X and Y axes. The range is between: -2,147,483,648 to
2. S3 specifies the maximum point to point output frequency. The range is between 1 Hz–200 kHz.
3. For firmware V1.08.70 or later, you can change the target frequency during execution of the instruction. After the
original target frequency completes outputting, new target frequency can be used. And the ramp up and ramp down
time from the original target frequency to the new target frequency is calculated according to the interval frequency
and interval time since the instruction is enabled. Refer to DPLSR instruction for the details on the actual movement
in the ramp down section that is between the new target frequency and the next target frequency.
6-975
AS Ser ies Pro gra mm in g M anu al
4. D1 and D2 are the output devices for the X and Y axes respectively. You can designate the following six axes for
output but you cannot change the fixed direction output points. The direction signal: OFF means in positive direction
and ON is in negative direction. If you do not use the preset Pulse+direction output mode (default: 0), change the
Fixed direction
Y0.1 Y0.3 Y0.5 Y0.7 Y0.9 Y0.11
output point
5. The PLC assigns the value of S3 to the X or Y axis depending on which outputs the largest number of pulses. If the
numbers of pulses output for the two axes are excessively different, so that no proper output frequency can be
calculated through the numbers of their output pulses, the PLC automatically decreases the maximum point to point
6. The instruction uses the parameters such as the start and end frequencies and ramp-up and ramp-down times for
the axes the instruction executes. Instead of the originally configured parameters for the axes, the X axis
parameters are taken as the reference source. For example, when the X axis selects axis 1 and the Y axis selects
axis 3 for the output, axis 1 parameters become the parameter sources for the start frequency and ramp up and
ramp-down time.
_6
7. The following table shows the flags for the axes and the corresponding SM/SR.
8. There is no limit to how many times you can use the instruction in a program. But during the execution of the
instruction, it cannot execute the output (if the Y axis output is being used) until the Y axis completes its output and
is released.
9. When the 2-axis synchronized pulse output completes, the corresponding Completion flags for the two axes is set.
Since the same timing for the completion of the 2-axis synchronized pulse output cannot be ensured every time, the
program should check the Completion flags of both axes before executing the next user program.
6-976
Cha p ter 6 App l ied Ins truc tio ns
Y軸
(0, 0)
X軸
(0,-5 5000)
2. Steps:
Set the coordinates of four points (0, 0), (-27000, -27000), (0, -55000), (27000, -27000) as in the figure
above. Calculate the relative coordinates of the four points and obtain (-27000, -27000),
(27000, -28000), (27000, 28000), and (-27000, 27000). Place them in the 32-bit registers (D200, D202), (D204,
RUN the program in the PLC. Set M0 to ON to start the 2-axis line drawing.
6_
6-977
AS Ser ies Pro gra mm in g M anu al
_6
3. Operation:
When PLC runs the program and M0 is ON, the PLC starts the first point-to-point motion at 100 kHz. D0 increments by 1
whenever a point-to-point motion is completed and the second point-to-point motion starts to execute automatically. The
6-978
Cha p ter 6 App l ied Ins truc tio ns
Explanation
1. When M0 is ON, Y0.0 and Y0.2 outputs 1000 pulses at 1kHz simultaneously. When M1 is ON, it indicates Y0.0 and
Y0.2 are used for high-speed pulse output.
2. When the Y0.0 pulse output is completed, SM461 is ON. When the Y0.2 pulse output is completed, SM481 is ON.
And if M1 is also ON, it triggers SM470 (output completion auto-reset for Y0.0) and SM490 (output completion
auto-reset for Y0.2) to be ON. Y0.0 and Y0.2 are free and ready to be used again and M1 is cleared to OFF.
4. When there are more than two high-speed output instructions in a program, do not use the variable name, M1,
repeatedly.
5. It is suggested not to use ST language in a program if there is any chance the outputting needed to be stopped.
6_
6-979
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
type INT
S1
S2
S3
D1
D2
Symbol
Explanation
1. This instruction performs 2-axis absolute-coordinate point-to-point synchronized motion. S1 and S2 specify the
number of output pulses (absolute positioning) for the X and Y axes.
6-980
Cha p ter 6 App l ied Ins truc tio ns
Example
A xis Y
(0,0)
Axis X
(0, -55,000)
2. Steps:
Set the four coordinates (-27000, -27000), (0, -55000), (27000, -27000) and (0, 0) as in the
figure above. Place them in the 32-bit registers (D200, D202), (D204, D206), (D208, D210),
(D212, D214).
RUN the program in the PLC. Set M0 to ON to start the 2-axis line drawing.
6_
6-981
AS Ser ies Pro gra mm in g M anu al
3. Operation:
_6
When PLC runs the program and M0 is ON, the PLC starts the first point-to-point motion at 100 kHz. D0 increments by 1
whenever a point-to-point motion completes and the second point-to-point motion starts to execute automatically. The
6-982
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
type INT
S1
S2
S3
S4
S5
D1
D2
S5 : Function selection
Explanation
1. S1, S2 and S3 respectively designate the X axis target coordinate, Y axis target coordinate (relative position) and the
shift of the center or a central angle of a circle. Refer to the following clockwise arc operation for details.
2. D1 and D2 are the pulse output devices for the X and Y axes respectively. Refer to the DPPMR instruction (API
2710) for the selection of output points and output modes for the axes.
6-983
AS Ser ies Pro gra mm in g M anu al
3. S4 sets the target frequency for the reference. The target reference frequency is used for the prior calculation when
the PLC plans the travel path for the arc after the instruction is executed. But if the estimated calculation process
cannot achieve the arc travel path, the output frequency is automatically decreased to fulfill the synchronized arc
drawing function.
4. S5 is the setting value for function selection. See the descriptions below.
5. Refer to Example 2 of the DPPMR instruction for more details on ST language programming.
6-984
Cha p ter 6 App l ied Ins truc tio ns
1. Define the four quadrants (QI, QII, QIII and QIV) of a coordinate system as in the graph below. Point A indicates the
II I
X
A
III IV
2. Point B is the target coordinates specified by S1 and S2. Point O is the center of a circle enclosing both point A and
point B.
3. For PLC with FW V1.04.59 or previous versions, S3 is the distance to shift the center point O. For PLC with FW
V1.04.60 or later, S3 can also be the distance to shift the center point or central angle, if it is defined as the central
angle, it is the included angle of AOB.
4. The point A represents the origin of the axes X and Y in a plane. The target point B can be in Quadrant I, II, III, IV of
the plane. Use the target point B to connect to the point A to draw a line and then use the setting values (shift the
S3 >= 0
O
S3 < 0 B
A
r O
r
A
S3>= 0 S3< 0
6-985
AS Ser ies Pro gra mm in g M anu al
5. The figures below show 2 arc-travel path examples (solid lines) when the point B is in Quadrant I and IV with
6. The figures below show 2 arc-travel path examples (solid lines) when the point B is in Quadrant II and III with
S3 < 0
O
S3 >= 0 A B O
r
r
_6
B
S3>= 0 S3< 0
7. The figures below show 2 arc-travel path examples (solid lines) when the point B is in Quadrant II and III with
6-986
Cha p ter 6 App l ied Ins truc tio ns
8. When the point B is at a point where the value in X axis is 0 and the value is >= in Y axis, the point B is in Quadrant
I. While if the point B is at a point where the value in X axis is 0 and the value is < 0 in Y axis, the point B is in
Quandrant III.
Drawing a 90 degree clockwise arc (for Setting values 20~22 in S5) for AS Series CPU FW V1.10.10 or later
1. Define the four quadrants (QI, QII, QIII and QIV) of a coordinate system as in the graph below.
Y
II I
X
III IV
2. Use the values in S1 (X axis target coordinate) and in S2 (Y axis target coordinate) to identify the target position in
one of the following four quardrants.
Y ax is
6_
QI I QI
X ax is
QII I QI V
3. Since the distances bewteen the starting positions and the target positions in the X and Y axes are not the same,
and the travel path will be formed by a 90 degree arc of an ellipse. This function is useful for applications that draw
elliptical arcs.
6-987
AS Ser ies Pro gra mm in g M anu al
Example
For an ellipse: use the DCICR instruction for the relative-position clockwise arc interpolation.
P4(123119,73206).
_6 Taking (39930,-9982)as the starting point, yields these relative coordinates: (-49912,49912), (83188,
6-988
Cha p ter 6 App l ied Ins truc tio ns
6_
When the PLC runs the program and M1 is ON, the PLC starts drawing the first segment of the arc. D1
increments by one when a segment of arc is completed and the second segment of the arc starts to
automatically execute. This operation pattern repeats until the fourth segment of arc is completed.
When D1=1, using DCICR, the PLC draws the first-segment arc from P1 to P2 with the shift of the center of the
When D1=2, using DCICR, the PLC draws the second-segment arc from P2 to P3 with the shift of the center of the
When D1=3, using DCICR, the PLC draws the third-segment arc from P3 to P4 with the shift of the center of the
When D1=4, using DCICR, PLC draws the fourth-segment arc from P4 to P1 with the shift of the center of the circle:
6-989
AS Ser ies Pro gra mm in g M anu al
For a circle = use DCCMR instruction (API 2716) for the relative-position circle drawing.
The absolute coordinates of the circle: P5(86213,15435) and P6(103048,37425). Taking (86213,
15435) as the starting point, yields the relative coordinates for the center of the circle as (16835,21990).
When the PLC runs the program and M2 is ON, the PLC starts to draw the relative-position circle with the target
For a delta, use DPPMA (API 2711) for the absolute-position 2-axis synchronized motion.
Absolute coordinates of the delta= starting point P7 (-80360,23641), P8 (208552,-23641) and P9 (62096,
206884).
_6
6-990
Cha p ter 6 App l ied Ins truc tio ns
When the PLC runs the program and M0 is ON, the PLC starts drawing the first segment of the 2-axis synchronized
motion at 50 kHz. D1 increments by one when a segment of the 2-axis synchronized motion completes and the
second segment of 2-axis synchronized motion starts to automatically execute. The operation pattern repeats until
When D1=2, the PLC starts to draw the line from P8 to P9 with the DPPMA instruction.
When D1=3, the PLC starts to draw the line from P9 to P7 with the DPPMA instruction.
6-991
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
S4
S5
D1
D2
S5 : Function
Explanation
1. This instruction performs 2-axis absolute-position clockwise arc interpolation. S1 and S2 respectively
designate the X- and Y-axis target coordinates. For more explanation, refer to DCICR instruction (API
2712).
2. Refer to Example 2 from the DPPMR instruction (API 2710) for programming in ST language.
6-992
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
S4
S5
D1
D2
S5 : Function
6-993
AS Ser ies Pro gra mm in g M anu al
Explanation
1. This instruction performs 2-axis relative-position clockwise arc interpolation. S1, S2 and S3 respectively designate
the target coordinate on X axis, target coordinate on Y axis, and the shift of the center of a circle. Refer to the
2. D1 and D2 are the output devices for the X and Y axes respectively. Refer to the DPPMR instruction (API 2710) for
the selection of output points and output mode for the axes.
3. S4 sets the target frequency for the reference. The target reference frequency is used for the prior calculation when
the PLC plans the travel path for the arc, after the instruction is executed. If the estimated calculation process
cannot achieve the planned arc travel path, the output frequency is automatically decreased so as to fulfill the
4. S5 is the setting value for function selection. See the descriptions below.
6-994
Cha p ter 6 App l ied Ins truc tio ns
1. Define the four quadrants (QI, QII, QIII and QIV) of a coordinate system as below. Point A indicates the current
II I
X
A
III IV
2. Point B is the target coordinates specified by S1 and S2. Point O is the center of a circle containing points A and B.
For PLC with FW V1.04.59 or previous versions, S3 is the distance to shift the center point O. For PLC with FW
6_
3.
V1.04.60 or later, S3 can also be the distance to shift the center point or central angle, if it is defined as the central
angle, it is the included angle of AOB.
4. The point A represents the origin of the axes X and Y in a plane. The target point B can be in Quadrant I, II, III, IV of
the plane. Use the target point B to connect to the point A to draw a line and then use the setting values (shift the
S3 < 0
O
S3 >= 0 B
A
r O
r
A
S3>= 0 S3< 0
6-995
AS Ser ies Pro gra mm in g M anu al
5. The figures below show 2 arc-travel path examples (solid lines) when the point B is in Quadrant I and IV with
6. The figures below show 2 arc-travel path examples (solid lines) when the point B is in Quadrant II and III with
S3 >= 0
O
S3 < 0 A
B
_6 r O
r
B
S3>= 0 S3< 0
7. The figures below show 2 arc-travel path examples (solid lines) when the point B is in Quadrant II and III with
6-996
Cha p ter 6 App l ied Ins truc tio ns
8. When the point B is at a point where the value in X axis is 0 and the value is >= in Y axis, the point B is in Quadrant
I. While if the point B is at a point where the value in X axis is 0 and the value is < 0 in Y axis, the point B is in
Quandrant III.
Drawing a 90 degree counterclockwise arc (for Setting values 20~22 in S5) for AS Series CPU FW V1.10.10 or
later
1. Define the four quadrants (QI, QII, QIII and QIV) of a coordinate system as in the graph below.
Y
II I
X
III IV
2. Use the values in S1 (X axis target coordinate) and in S2 (Y axis target coordinate) to identify the target position in
one of the following four quardrants.
Y ax is
6_
QI I QI
X ax is
QII I QI V
3. Since the distances bewteen the starting positions and the target positions in the X and Y axes are not the same,
and the travel path will be formed by a 90 degree arc of an ellipse. This function is useful for applications that draw
elliptical arcs.
6-997
AS Ser ies Pro gra mm in g M anu al
Example
For an ellipse: use the DCICR instruction (API 2712) for the relative-position counterclockwise arc interpolation.
9982,39930)
_6 Taking (39930,-9982) as the start point, the obtained relative coordinates: (83189, 83188), (-49913, 49913), (-
6-998
Cha p ter 6 App l ied Ins truc tio ns
6_
When the PLC runs the program and M1 is ON, the PLC starts drawing the first segment of the clockwise arc at
50kHz. D1 increments by 1 when a segment of arc is completed and the second segment of arc starts to
automatically execute. The operation pattern repeats until the fourth segment of arc is completed.
When D1=1, using DCICCR, the PLC draws the first-segment arc from P1 to P4 with the shift of the center of the
circle: -110295 and arc resolution: 5.
When D1=2, using DCICCR, the PLC draws the second-segment arc from P4 to P3 with the shift of the center of
the circle: -18825 and arc resolution: 5.
When D1=3, using DCICCR, the PLC draws the third-segment arc from P3 to P2 with the shift of the center of the
circle: -110295 and arc resolution: 5.
When D1=4, using DCICCR, the PLC draws the fourth-segment arc from P2 to P1 with the shift of the center of the
circle: -18825 and arc resolution: 5.
A circle = use DCCMR instruction (API 2716) for the relative-position circle drawing. Refer to the example in API
2712 DCICR for detailed operation.
A delta = use DPPMA (APIU 2711) for the absolute-position 2-axis synchronized motion. Refer to the example in
DCICR (API 2712 ) for more information.
6-999
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
S4
S5
D1
D2
Symbol
S5 : Function
Explanation
1. S1 and S2 respectively designate the target coordinate on the X axis and the target coordinate on the Y axis. For an
explanation of the instruction, refer to DCICCR instruction (API 2714).
2. Refer to Example 2 from the DPPMR instruction (API 2710) for programming in ST language.
6-1000
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
S4
D1
D2
Symbol
S3 : Function selection
6-1001
AS Ser ies Pro gra mm in g M anu al
Explanation
1. This instruction draws a circle based on relative positioning. S1 and S2 are respectively the X and Y axis coordinates
of the center of a circle (relative position).
2. S3 is the setting value for function selection. See the descriptions below.
0 The arc resolution uses a 10° arc as the basic angle for clockwise motion.
1 The arc resolution uses a 5° arc as the basic angle for clockwise motion.
2 The arc resolution uses a 10° arc as the basic angle for counterclockwise motion.
3 The arc resolution uses a 5° arc as the basic angle for counterclockwise motion.
The arc resolution uses a 1° arc as the basic angle for clockwise motion.
4
(FW V1.04.60 or later)
The arc resolution uses a 1° arc as the basic angle for counterclockwise motion.
5
(FW V1.04.60 or later)
3. D1 and D2 are the pulse output devices for the X and Y axes respectively. Refer to DPPMR instruction (API 2710)
for the selection of output points and output mode for the axes.
4. S4 sets the target frequency for the reference. The target reference frequency is used for the prior calculation when
the PLC plans the travel path for the arc after the instruction is executed. But if the calculation process which is
estimated cannot achieve the planned arc travel path, the output frequency is automatically decreased to fulfill the
5. When the X axis coordinate of the center point O=0, point O is defined as the point staying in QI of point A if Y axis
target coordinate >= 0. Whereas, if Y axis target coordinate < 0, point B is defined as the point staying in QIII of
point A.
6. Refer to Example 2 from the DPPMR instruction (API 2710) for programming in ST language.
6-1002
Cha p ter 6 App l ied Ins truc tio ns
Point A is the present position and point O is the target center, r is the radius of the circle as the figures below.
O O
r
A
Center O in QI and QIV Center O in QII and QIII
O O
r
6_
A
6-1003
AS Ser ies Pro gra mm in g M anu al
Example
1. Taking (40000, 50000) as the center O and (10000, 10000) as point A, draw a circle as shown below.
O (4 0000, 50000)
O
A (10000, 10000)
A
2. Steps:
S3=1 and the clockwise circle drawing is performed with a 5° as the basic motion angle.
When the PLC runs the program and M0 is set to ON, the relative-position circle drawing starts.
_6
3. Operation:
When the PLC runs the program and M0 is ON, the PLC starts to draw the circle in the clockwise direction at 100
kHz.
When the circle drawing completes, SM461 and SM481 are ON.
6-1004
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
S4
D1
D2
Symbol
S3 : Function selection
S4 : Target frequency
Explanation
1. S1 and S2 are respectively the X and Y axis coordinates of the center of a circle (absolute positioning). For more
information, refer to the DCCMR instruction (API 2716).
2. Refer to Example 2 from the DPPMR instruction (API 2710) for programming in ST language.
6-1005
AS Ser ies Pro gra mm in g M anu al
Example
1. Taking (40000, 50000) as the center O and (10000, 10000) as point A, draw a circle as shown below.
O (4 0000, 50000)
O
A (10000, 10000)
A
3. Steps:
Set the absolute X coordinate and Y coordinate (40000, 50000) in the instruction
S3 is 1 and the clockwise circle is drawn with 5° as the basic motion angle.
When the PLC runs the program and M0 is ON, the absolute-position circle drawing starts.
_6
4. Operation:
When the PLC runs the program and M0 is ON, the PLC starts to draw the circle in the clockwise direction at 100
kHz.
When the circle drawing completes, SM461 and SM481 are ON.
6-1006
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
S
D1
D2
Symbol
6_
Explanation:
1. This instruction uses the position planning table to control the output. S is the number listed in the position planning
table. If the number does not exist in the table, the instruction is not executed, SM0 is ON and the error code is
SR0=16#2027.
2. S is the first output number when PLC runs. Refer to the value in D1 if there are consecutive-number outputs during
the output.
3. When one single number or the first one of consecutive numbers is output, the switch flag D2 is set to OFF. When
the consecutive-number output reaches the output number to be switched to, D2 is ON for a scan cycle and then is
ON again until the last number output is completed.
6-1007
AS Ser ies Pro gra mm in g M anu al
The example and timing diagram for the flag state switching are shown below.
M0
TPO
M0 EN D1 D100 D100 1 2 3
1 S D2 M100
M100
4. The switch flag D2 is affected by the PLC scan time. If the time for switching to the next output number is shorter
than the scan time, the flag for switching to the output number may not reset to OFF.
5. The instruction cannot be used in the ST programming language, interrupt tasks or function block which is called
only once.
6. If using the function Single-axis multi-segment motion and the firmware is below V1.07.10, you cannot use the stop
flag during output. If you need to stop outputting, use this instruction instead.
7. For firmware V1.08.00 or later, you can use the stop flag during output to stop the output. If you use the stop flag
and this instruction, it will stop output after this segment is done outputting. For example, supposing the segments
are 1, 2 and 3 for output in a consecutive order and you use the stop flag while outputting segment 2. The system
will complete outputting segment 2 and then after you switch the stop flag to OFF, the execution of this instruction
_6
8. If using the funciton Single-axis point-to-pint motion to output, and using the stop flag during the output, this
instruciton will stop execution and resume execution and output the remainings after the stop flag is OFF.
9. If using the fucntion 2-axis arc interpolation, and using the stop flag during the output, this instruciton will stop
execution after one basic unit of arc interpolation (1 degree) and this instruciotn resumes execution after the stop
10. For firmware V1.12.10 or later, it is supported to stop the ongoing ouptut sequency and start a new one during the
execution of TPO instruciton. When the relevant SM changes to ON, the PLC CPU will act according to the settings
in the relevant SR to output a specific number of segment or the next segment on the positioning table. Two
scenarios:
A. If the relevant SM changes to ON and the value in SR1291-SR1296 is valid, the PLC CPU will act accordingly
to output a specific number of segment on the positioning talbe. After that, the PLC CPU clears the relevant SM
and SR.
B. If the relevant SM changes to ON but the value in SR1291-SR1296 is 0 or NOT a valid value or the positioning
table does NOT exist, the PLC CPU will stop outputting. After you clear the relevant SM, the PLC CPU will
6-1008
Cha p ter 6 App l ied Ins truc tio ns
Example 1:
The target position is 2000 (Unit:mm). After converting in the position planing table, 400,000 output pulses are
6_
When M0 is ON, Y0.0 outputs 400,000 pulses at 100kHz. After the output completes, M100 is ON.
1. Use D device in Target Position of the position planning table and download the parameters.
The unit for D60 in PLC is pulse by default. If you need to use D devices in Target position and in the
6-1009
AS Ser ies Pro gra mm in g M anu al
2. When M0 is ON, and D60 is 400,000. Y0.0 outputs 400,000 pulses at 100kHz. After the output completes,
M100 is ON.
Note: the unit is pulse, when you use global symbols, D devices, or instructions including DTPWS, DTPWL,
_6
2. Abort signal: When No. 3 stops the outputting abruptly, M100 is ON and the system starts to output No. 4
immediately.
The abort symbol is applicable for the following conditionss: external interrupts, high-speed comparision
3. Completion flag: When No. 4 completes the outputting, M777 is ON. When the execution of this positioning
planning table is complete, the system calls for an interrupt or starts a M device.
You can use the interupt numbers I510~519 and M device (M0~M8191) in the positioning planning table.
Note: If you use interrupts instead of M devices, PLC scan cycle is not affected.
6-1010
Cha p ter 6 App l ied Ins truc tio ns
2. When M0 is ON, Y0.0 outputs No.1 to No. 3 consecutively. After the ouptput is done, M100 is ON.
6_
b) Ramp-down stop
When M0 is ON, the TPO instruction is executed and starts to output No. 1 segment.
When the stop flag SM463 is ON during the output of No.2 segment, the state of the immediately
If the immediately stop flag SM476 is OFF, the output ramps down to stop, according to the SR465 ramp-
down time in axis 1, till the it drops to the lowest 1000 Hz frequency.
Output at the lowest 100Hz freuency and till the No. 2 output is complete and stopped. (pulse = 600 K)
⑤ After the stop flag SM463 switches to OFF, the execution of TPO instruciton starts outputting No.3
segment till the output is complete. (pulse = 1200 K)
6 - 1 0 11
AS Ser ies Pro gra mm in g M anu al
c) Immediatelly stop
When M0 is ON, the TPO instruction is executed and starts to output No. 1 segment.
When the stop flag SM463 is ON during the output of No.2 segment, the state of the immediately
If the immediately stop flag SM476 is ON, the output stops after the No. 2 output is complete.
After the stop flag SM463 switches to OFF, the execution of TPO instruciton starts outputting No.3
_6
6-1012
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
Symbol
S2 : Target position
S3 : Target speed
6_
Explanation
1. This instruction sets the single-axis output parameters in the position planning table. S1 is the number listed in the
position planning table. If the number does not exist in the table, or the number is not under Single-axis point-to-
point motion, or under Single-axis multi-segment motion, the instruction is not executed, SM0 is ON and the error
code is SR0=16#2027.
2. S2 is the target position (must be a 32-bit integer). If you use the mechanical unit conversion when editing the
position planning table in ISPSoft, use the conversion instruction for modification first.
3. S3 is the target speed. The range is between 1–200,000Hz.
Note1: The maximum speed of the output axis Y0 and Y2 is 4 MHz for AS324MT.
Note2: if the setting value is out of the range, the instruction automatically changes the setting into the minimum or
maximum value.
4. When the instruction is executed to modify the parameters for the single axis which is outputting pulses, the modified
parameters are kept in the table and are not effective until the next output starts.
5. The parameters modified by the instruction can only be modified while the PLC is running. The last written
parameter is not saved when the power turns OFF. The table that you edit in ISPSoft and download to the PLC is
processed as the default position planning table when the power is ON.
6-1013
AS Ser ies Pro gra mm in g M anu al
6. This instruction does NOT modify the acceleration or deceleration time. If you need to modify the time for
acceleration or deceleration, you can set SM585 flag to ON. And then modify the acceleration and deceleration time
set in SR to change the acceleration time in single-axis point-to-point motion and single-axis multi-segment motion
or the deceleration time in single-axis point-to-point motion. Re-execute this instruction to actualize this modification.
This function is available for PLC with FW V1.06.00.
7. While the TPO instruction is being executed, please be aware of the timing of modifying parameters via this instruction.
It is suggested to avoid modifying the used number for the output that is being performed or is to be performed soon.
Example 1: Change the parameters of Axis 3 of Number 5 during execution in Single-axis point-to-point motion.
1) Use DMOV instruction to define new target position and target speed.
2) Use MOV instruction to define the start/end frequency in SR503, acceleration time in SR504 and deceleration
time in SR505 for Axis 3. After that the relative parameters in single-axis point-to-point motion are updated.
3) Set the flag SM585 to ON.
4) Re-execute DTPWS instruciton to actualize the modification.
5) After that, SM585 switches to OFF automatically.
Example 2: Change the parameters of Axis 3 of Number 2 during execution in Single-axis multi-segment motion.
1) Use DMOV instruction to define new target position and target speed.
_6 2) Use MOV instruction to define the acceleration time in SR504. After that the relative parameters in single-axis
multi-segment motion are updated.
3) Set the flag SM585 to ON.
4) Re-execute DTPWS instruciton to actualize the modification.
5) After that, SM585 switches to OFF automatically.
6-1014
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
S4
Symbol
S4 : Target speed
Explanation
1. This instruction sets the 2-axis linear interpolation parameters in the position planning table. S1 is the number listed
in the position planning table. If the number does not exist in the table or the output of the number does not belong
to the 2-axis linear interpolation, the instruction is not executed, SM0 is ON and the error code is SR0=16#2027.
2. S2 and S3 are respectively the target positions of the X and Y axes, which can only be 32-bit integers. If you use the
mechanical unit conversion when editing the position planning table in ISPSoft, use the conversion instruction for
modification first.
6-1015
AS Ser ies Pro gra mm in g M anu al
3. S4 is the target speed. The range is between 1–200,000Hz. (Note: if the setting value is out of the range, the
instruction automatically changes the setting into the minimum or maximum value.)
4. When the instruction executes the linear interpolation, the target frequency S4 automatically corresponds to the
output of the axis which is farthest from its target position. If X axis and Y axis cannot simultaneous reach the target
positions, the PLC automatically decelerates the frequency to make the two axes reach the target positions
simultaneously.
5. When the instruction is executed to modify parameters for the two axes (either of which is outputting), the modified
parameters of the two axes are kept in the table and are not effective until the next 2-axis output starts.
6. The parameters modified by the instruction can be modified only while the PLC is running. The last written
parameter is not saved when the power turns OFF. The table that you edit in ISPSoft and download to the PLC is
processed as the default position planning table when the power is ON.
7. To modify the acceleration/deceleration time, you should modify the acceleration/deceleration time in SR that the
specified output axis of X axis corresponds to, set the flag SM585 to ON, and then execute this instruction. When
changing relevant parameters is complete, SM585 will be automatically cleared and change to OFF.
For example, if Y0.0 output axis is designated for X axis, you should modify the value in SR464 (acceleration time of
Y0.0 output) to modify the acceleration/deceleration time. For details on operation steps, please refer to Example 1 of
Note:
_6 The acceleration and deceleration time is only for the PLC operation of the 2-axis synchronized motion. If the
simultaneous arrival to the target positions cannot be achieved after calculation, the PLC will automatically
execute the instruction with the most proper acceleration/deceleration time and no error information will occur.
The function is available for PLC firmware version V1.12.00 and later.
8. While the TPO instruction is being executed, please be aware of the timing of modifying parameters via this instruction.
It is suggested to avoid modifying the used number for the output that is being performed or is to be performed soon.
6-1016
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
S4
S5
Symbol
S5 : Target speed
6-1017
AS Ser ies Pro gra mm in g M anu al
Explanation
1. This instruction sets the 2-axis arc interpolation parameters in the position planning table. S1 is the number listed in
the position planning table. If the number does not exist in the table, or the output of the number does not belong to
the 2-axis arc interpolation, the instruction is not executed, SM0 is ON and the error code is SR0=16#2027.
2. S2 and S3 are respectively the target positon on the X and Y axes. S4 is the distance to shift the center. The three
parameters can only be 32-bit integers. If you use the mechanical unit conversion when editing the position planning
3. S5 is the target speed. The range is between 1–200,000 Hz. It is the reference speed for the actual output. The PLC
automatically decelerates the speed if the 2-axis synchronized output cannot be achieved.
4. When the instruction is executed to modify parameters for the two axes (either of which is outputting), the modified
parameters of the two axes are kept in the table and are not effective until the next 2-axis output starts.
5. The parameters modified by the instruction can be modified only while the PLC is running. The last written
_6
parameter is not saved when the power turns OFF. The table that you edit in ISPSoft and downloaded to the PLC is
processed as the default position planning table when the power is ON.
6. This instruction does not support changing the clockwise or counterclockwise motion direction. For direction change,
add or modify the output parameters for arc interpolation in the position planning table in ISPSoft.
7. While the TPO instruction is being executed, please be aware of the timing of modifying parameters via this instruction.
It is suggested to avoid modifying the used number for the output that is being performed or is to be performed soon.
6-1018
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
S4
D1
D2
Symbol
6_
S1 : Relative target position A
S3 : Target speed
Target speed ratio adjusted value
S4 :
(floating point value)
D1 : Pulse output device
Explanation
1. This high speed output instruction specifies a movement going back and forth between two target positions that are
converted from the two relative target positions specified by S1 and S2. This instruction is applicable for machines
such as warping machines in the textile industry, and winding & binding machines in the cable industry.
2. When the instruction starts the output, the relative positions S1 and S2 must be specified first so that the instruction
can make the calculation for switching to the next output. After the instruction is executed, you can modify the
target positions to execute, but you cannot change the outputting target positions.
6-1019
AS Ser ies Pro gra mm in g M anu al
DPPGB instruction is executed. When S1 is 30,000 and S2 is -30,000, the motion goes toward the target position
A1=30,000.
If the pulse position>15,000, the relative positions are modified into S1:20,000 and S2:-20,000, and the target
position is momentarily A1=30,000. The target positions obtained through calculation are B1=10,000(A1+ S2) and
3. S3 is the target speed (must be a 32-bit integer), and S4 is the target speed ratio adjusted value (must be a floating
point number). The actual speed is the result of multiplying the values in S3 and S4 and then rounding down the
calculation result to a 32-bit integer. The acceptable input speed range is 1–200 kHz. When values are out of
_6
range, the PLC automatically processes the value as the minimum or the maximum of the operation range. The
ratio formula for the actual target speed is S3 x S4. For instance, if target speed is 1 kHz, the adjusted floating point
is 1.2345 and the actual value is 1234 Hz.
4. When the instruction is outputting, the target speed and the adjusted ratio can be modified, and the result is
updated to the actual output speed once the instruction is scanned. But it is suggested that you do not change the
5. The output points for D1 can only be Y0.0, Y0.2, Y0.4, Y0.6, Y0.8 and Y0.10, and it occupies 2 consecutive output
points. The output sets and the output special register modes are listed in the following table.
6. D2 is the flag indicating the target speed and the adjusted ratio that you can change. When this flag is ON, the
executing target speed can be modified. When the flag switches from ON to OFF, it is now decelerating and the
current target speed will be processes as the target speed for the next output.
6-1020
Cha p ter 6 App l ied Ins truc tio ns
7. There is no limit on the number of times you can execute this instruction, but during execution, the designated high
speed axis cannot be occupied by any other instruction, and the other instruction is not executed.
Speed
D2 = OFF
D2 = ON
S3 x S4
D1 +1 = OFF
S1
S2 Position
D1 +1 = ON
S3 x S4
D2 = ON
D2 = OFF
Example
When M0 is ON, the DPPGB instruction starts to move back and forth between the target positions that are calculated
6_
from the two relative target positions specified by S1 and S2, at the actual target speed of 8500 Hz (5000*1.7). Y0.0 is the
output point. Y0.1=OFF means the positive direction.
6-1021
AS Ser ies Pro gra mm in g M anu al
_6
6-1022
Cha p ter 6 App l ied Ins truc tio ns
Explanation
1. After the instruction starts the output, modify the relative target positions A for S1 and B for S2.
b) Explanation:
When S1:30,000, S2:-30,000 and M0 enables the DPPGB instruction, the motion goes toward the position
A1=30,000.
When D0=1 and the position: number of pulses in SR460 >15,000, the relative positions are changed to
At the moment, the target position is A1=30,000 since the outputting target position cannot be modified. The
When D0=2 and the position: number of pulses in SR460 >15,000, the relative positions are changed to
At this time, the target position is A2=28,000 since the outputting target position cannot be modified.
When D0=3 and the position: number of pulses in SR460 >15,000, the relative positions are changed to
When D0=4 and the position: number of pulses in SR460 >15,000, the relative positions are changed to
6-1023
AS Ser ies Pro gra mm in g M anu al
Step S1: Relative position S2: Relative position Target position B Target position A
_6
6-1024
Cha p ter 6 App l ied Ins truc tio ns
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
TFreq
JFreq
Mode
DOG
NL
Pulse
Dir
6-1025
AS Ser ies Pro gra mm in g M anu al
Explanation
1. This instruction is available for PLC with FW V1.04.90 (V1.04.90 included) or later.
2. This instruction causes the machine to return to the zero point. The range of the target frequency (TFreq) for zero
return is between 1 Hz–200 kHz. The JOG frequency (JFreq) should be less than the target frequency (TFreq).
The JOG frequency (JFreq) is the start frequency. If the target frequency (TFreq) is less than (JFreq), the target
3. Do not change the operands DOG, NL, Pulse, or Dir during instruction execution. The input point for DOG and NL
is suggested to use the 16 high-speed input points X0.0–X0.15. They will not be affected by PLC instruction scan
time. If you use X1.0 successive input points or M devices, they will be affected by the PLC instruction scan time.
You can use X or M device but do NOT choose the same input point for different axes.
DOG point When the DOG point uses X0.0–X0.15 for inputs, go to HWCONFIG to set up the filtering
time for the inputs if the switch starts to rattle.
NL point You can use X or M device but do NOT choose the same input point for different axes.
Dir contact You can use Y or M device.
For firmware V1.10 or earlier, when the zero return is in process and the limit point check function is activated, the
limit alarm flag is not set to ON once the limit point is reached. For firmware V1.12 or later, the limit alarm flag will
automatically set to ON for a reminder, and then you can decide the follow-up operation based on the alarm flag.
directional outputting
SR640 SR642 SR644 SR646 SR648 SR650
goes first before pulse
6-1026
Cha p ter 6 App l ied Ins truc tio ns
directional outputting
SR641 SR643 SR645 SR647 SR649 SR651
goes first before pulse
6. Select the zero return mode. The function code is set by the two high and low16-bit parameters. See the following
6_
7. The function code is set by the two high and low 16-bit parameters. See the following table for details.
Code
Functions High Low 16- Description
16-bit bit
When the instruction is executed, the search for the
zero point is in the negative direction with the target
Leaves the zero point in frequency. When the zero point is ON (the zero
the negative direction point signal changes from OFF to ON), the
0 0
and then stops frequency is decreased to the JOG speed and the
(Mode 0) motion in the negative direction continues, and
does not stop until the zero point signal changes
from ON to OFF.
When the instruction is executed, the search for
the zero point is in the negative direction with the
Leaves the zero point in target frequency. When the zero point is ON (the
the positive direction and zero point signal changes from OFF to ON), the
0 1
then stops frequency decreases to 0 immediately, and then
(Mode 1) the motion is in the positive direction at the JOG
speed, and does not stop until the zero point
signal changes from ON to OFF.
Mode 0 Moves again Number of 2 Returning to the zero point is the same as that for
6-1027
AS Ser ies Pro gra mm in g M anu al
Code
Functions High Low 16- Description
16-bit bit
after returning to the zero pulses for the low 16-bit code. After the zero point is ON, the
point motion motion continues according to the number of
specified pulses. When the high 16-bit code is a
positive number, the search is in the positive
direction. A negative value means that the search
is in the negative direction.
Leaves the zero point in
8+0=8
the positive direction and Refer to mode 1. The operation for zero point
0 8+1=9
then stops return is the same as that for code 1 (mode 1).
(bit3=ON)
(Mode 1)
The operation for zero point return is the same as
that for low 16-bit code 1.
Mode 1 outputs the After returning to the zero point, the motion
Number of
number of pulses after 8+2=10 continues in accordance with the number of
pulses for
returning to the zero (bit3=ON) specified pulses. When the value of the high 16-bit
motion
point code is a positive number, the motion is in the
positive direction. A negative number indicates
that the motion is in the negative direction.
When in the low 16-bit code, bit 4 is ON, it means
+16 the zero point is ON as the DOG point changes
DOG point is B point
(bit4=ON) from ON to OFF and the zero point is left as the
DOG point changes from OFF to ON.
When in the low 16-bit code, bit 5 is ON, it means
+32 the zero point is ON as the NL point changes from
NL point is B point
(bit5=ON) ON to OFF and the zero point is left as the DOG
_6 point changes from OFF to ON.
8. The execution sequence is based on the value of the low 16-bit code in the table above, and described below.
The NL negative limit and DOG signal are determined by the value of bit 5 and bit 4.
Mode 0 or mode 1 for the zero point return, selected according to the value of bit 3.
The operation of the zero point return is performed according to the values of bit 1 and bit 0.
The DOG signal mask function is only available for firmware V1.12. or later. When the mask function is enabled
(setting bit6 to 1), Mode+1 is the number of DOG signals to be masked. When the value is less than or equal to 0,
the DOG point mask function is regarded as disabled.
Task section is determined by the number of output pulses (regardless of the direction positive or negative) after the
DZRN2 instruction is executed. Since the start position for the search for the zero position may be different each
time, the setting of the mask section may lead to the case that the zero position is missed. So be sure to evaluate
whether to set the mask function or set the negative limit function based on the actual application.
For example, set Mode to D0=64 (bit6 set to 1) and set D2=120000 (the number of pulses to be masked). After
DZRN2 is executed, the DOG signals for the number of output pulses less than 120,000 will all be masked and thus
6-1028
Cha p ter 6 App l ied Ins truc tio ns
9. The Completion flag is set to ON after the instruction finishes performing the specified function. For example, for
function code 2, the PLC sets the Completion flag to ON only when the specified number of pulses completes
outputting.
10. After the DZRN2 instruction is executed, an interrupt service program is not executed till the DZRN2 instruction is
disabled, if the specified input point for the zero point is the same as that for the external input interrupt in the
program.
11. It is not suggested to use the instruction in the ST programming language, interrupt tasks or function block which is
called only once. Firmware V1.12 or later supports the ST programming language. For details, refer to the
Function code 0:
The DZRN2 function is executed and the search for the zero point is in the negative direction with the target
frequency (TFreq).
After the DOG signal is received, the output frequency decreases to the JOG frequency (JFreq). The output
continues in the negative direction and does not stop until the zero point signal changes from ON to OFF.
The output stops when the signal changes from ON to OFF and the axis moves away from the DOG signal.
Negative direction
Completion flag ON
6_
DOG signal ON
Frequen cy
Target frequency
JOG frequency
Time
1 2 3
Function code 1:
The DZRN2 function is executed and the search for the zero point is in the negative direction with the target
frequency (TFreq).
After the DOG signal is received, the output is in the positive direction with the JOG frequency (JFreq) after the
output frequency decreases, and the motion direction reverses. The output does not stop until the zero point
The axis moves away from the DOG signal and PLC stops when the signal changes from ON to OFF.
6-1029
AS Ser ies Pro gra mm in g M anu al
P ositive
Negative direction direction
Completion flag ON
DOG signal ON
F requency
Target frequency
JOG frequency
Time
1 2 3 4
Function code 2:
The DZRN2 function is executed and the search for the zero point is in the negative direction with the target
frequency (TFreq).
After the DOG signal is received, the output decreases the frequency to the JOG frequency (JFreq) and
continues in the negative direction.
When the DOG signal is left and the signal changes from ON to OFF, the specified number of pulses are output.
_6 When the 100th pulse output completes, the PLC stops and the Completion flag is ON.
Completion flag ON
DOG signal ON
Output Y
Frequency
Target frequency
JOG frequency
Time
1 2 3 4 5
6-1030
Cha p ter 6 App l ied Ins truc tio ns
Example 1
When M0 is ON, outputting the pulse from Y0.0 with a frequency of 20 kHz to search for the zero point in the negative
direction. When the DOG signal is received and X0.4 is ON, it keeps moving in the negative directon with the JOG
frequency of 1 kHz. The output stops immediately after X0.4 changes from ON to OFF.
Explanation
Mode is set to 0.
Generally, it is suggested to use the ladder diagram language for editing the program when using this instruction. If you
use ST language (which is available for firmware V1.12 or later), you must wait until the zero-return motion is completed
(SM461 completion flag is ON) and then disable the instruction. Besides, you must use the auto reset flag together to notify
Taking Y0.0 output for example, the program writing is shown in the figure below
6-1031
AS Ser ies Pro gra mm in g M anu al
servo
6-1032
Ch ap te r 6 App l ied Ins tr uc ti ons
6_
6-1033
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S
Symbol
Explanation
_6
1. Before executing the instruction, if the PLC CPU is AS300, be sure to select Delta Special Driver & AS Remote
Mode as the working mode for function card 2 in the hardware configuration software (HWCONFIG) in ISPSoft. If
the PLC CPU is AS200 or AS100, make sure the working mode for the built-in CAN communication port is selected
2. The servo range of S is 1–8. When the input value is greater than 8, PLC will automatically process 8 as the value
of S for the initialization. The node ID must start at 1 and the following addresses cannot be skipped or reserved.
3. When the PLC firmware is V1.02.00 or later, S ranging from 21 to 28 is added for inverters. For the input value that
is not in the range of 21 to 28, this instruction will not be executed. Same rule applies to the servo; the node ID
4. When setting the number of station to be initialized to 5, this instruction initializes node ID from 1 to 5. And when
setting the number of station to be initialized to 23, this instruction initializes node ID from 21 to 23. When there are
5 servo systems and 3 inverters that need to be initialized, you need to execute this instruction twice. One is INITC
5. When you execute this instruction (SM1686 = OFF) on servos (S is 1–8), SM1681 is set to OFF and the states of
servo 1 to 8 are reset to uninitialized. SM1681 is set to ON when the initializations on servo 1 to 8 are complete.
6-1034
Ch ap te r 6 App l ied Ins tr uc ti ons
SM1683 is set to OFF and S is 21–28, the states of servo 21 to 28 are reset to uninitialized. SM1683 is set to ON
when the initializations on servo 21 to 28 are complete.
Note: The initialization flags are used for notifying if the initialization is done or not. After that if you use parameters
in this instruction, these two flags are used as completion flags for the execution of the instruction.
6. SM1682 is set to ON when an error occurs during communication. In addition, SR658 retains the ID number in
which the error occurs and SR659 retains the error code. (The flag and code here are especially for Delta
7. For firmware V1.06.40 or later, a new functional SM1686 is added for initializing only one specified slave. For
example if you set SM1686 to OFF and execute INITC 3 indicates the slaves 1, 2 and 3 will be initialized. After that
if you set SM1686 to ON, execute INITC 6 indicates only the slave 6 will be initialized. And then together you will
Note: if you need to initialize multiple slaves and single slave, you need to set SM1686 to OFF first to have multiple
slaves initialized and then set SM1686 to ON for single initializations, but not the other way around.
8. If a heartbeat error (SR0 = 0x1900~0x191C; last 2 codes are the slave ID) occurs after the initialization is complete
and the SM1684 is OFF (default, indicating when one goes down, all the servos are OFF), the initialization
complete flags SM1681 & SM1683 will be cleared to OFF and related actions on other slaves will also be paused.
After all the troubles are cleared, you need to initialize every slave to restart the operation. PLC will turn the error
LED off after PLC confirms the initialization is complete. This error will be recorded in the error log.
6_
9. If each node ID is working independently and the communication is working properly, you can set the SM1684 to
ON (indicating when one goes down, only the defective servo is OFF) to notify PLC to record the specific error on
10. You need to set the node ID and speed of the servos manually and turn the servos off and then on again to
11. This instruction should not be used in the Structured Texts programming language, or interrupt programs or FB
6-1035
AS Ser ies Pro gra mm in g M anu al
In se r t AS - FCO P M
P ower O n
HW CO NF IG
Sel ect Delta S peci al Dr iver & AS Re mote Mode
FC OP M Mo d e
PLC Run
PL C se nd i n g
in i ti al i za ti on
No
Initi ali zatio n Set up error record
compl ete ex : Servo, V FD dis connected
PL CS top
De termi ne i f th e he artbe at Abn ormal
works n o rmal ly Stop heartbeat f unc ti on
and s top s ervo & V F D
Nor ma l
S till R un Exec ute the communic ati on PLC S top C lear initi alization complete
ins truc ti ons for positioning fl ags M1681 & M1683
1. Before using the Delta CANopen instruction, mount an AS-FCOPM card in the AS Series PLC (slot 2 only) and be
_6 sure to select Delta Special Driver & AS Remote Mode as the working mode for the AS-FCOPM card 2 in the
configuration software (HWCONFIG in ISPSoft). Set the baud rate to 125 kbps, 250 kbps, 500 kbps, or 1000 kbps.
6-1036
Ch ap te r 6 App l ied Ins tr uc ti ons
2. Connect the AS Series PLC to an ASDA series with a CANopen communication cable as shown in the figure
below. (Switch the 120 Ω terminal resistor ON in the AS-FCOPM card to enable the terminal resistor.)
6_
3. Follow the steps below for the basic settings on the panel of the ASD-A2.
d. Set P3-01 to 0400 and the baud rate of the servo for CANopen communication to 1.0 Mbps. The baud rate must
e. Set a node ID for every servo, based on the number of servos. Set P3-00 of each servo to 1, 2, and 3 in order.
6-1037
AS Ser ies Pro gra mm in g M anu al
4. Download the sample program and set M0 to ON (default: SM1686 = OFF). The instruction initializes the servos at
node ID 1–3. When SM1681 is ON, the initialization is complete. When the servo enters CANopen mode
Ladder diagram:
5. The following list shows the settings to initialize a servo drive in the AS Series.
a. Set P2-30 (auxiliary function) to 5 to indicate that the servo does not need to store the settings in EEPROM
cleared.
c. Set P3-06 (SDI source) to 16#0100. This indicates that DI1–DI8 are controlled by the hardware, EDI9 is
e. Set P2-36 (EDI9) to 16#0101. This indicates that the function of EDI9 is set to Servo ON.
f. Set P0-17 (CM1A) to 1. This indicates that the mapping parameter is the pulse command output register
CMD_O.
g. Set P0-18 (CM2A) to 64. This indicates that the mapping parameter is the pulse command register CMD_E.
h. Set P5-20–P5-35 (acceleration time) to 1. This indicates that the acceleration time is 1 ms.
i. Set P5-60–P5-75 (target speed) to 1. This indicates that the target speed is 0.1 rpm.
j. Set PDO1 to correspond to P5-07 (PR command), P0-01 (Fault code), P0-46 (state of DO point) and P4-07
(state of DI point)
6-1038
Ch ap te r 6 App l ied Ins tr uc ti ons
k. Set PDO2 to correspond to P0-09 (CM1 state: CMD_O) and P0-10 (CM2 state: CMD_E).
m. Available for PLC with FW V1.04.00 or later: set time for the heartbeat and the PLC scan overtime to 200ms
(default). When a communication overtime occurs, PLC will send error message (error LED flashing slowly; refer
to error code for more details) and the servo turns off automatically.
n. If SM1685 is ON, PDO3 reads self-defined parameters from servo drive P0-12 and stores the data in SR791-
SR806. You need to set up the P0-20 (CM4A) before executing. 2 SRs are reserved for every servo drive ID and
Note: PLC with firmware V1.04.10 or later supports states of current torque (PD03) and DI point (PD01). PLC with
6. Do not use the COPRW instruction (API 2807) to modify the servo parameters of the eight items A, B, F, G, J, K
7. When you use an absolute-type servo, use the COPRW communication instruction to write 16#0100 to P3-12,
which writes the relevant absolute-type servo parameters to EEPROM at the moment the servo powers off.
8. Set the relevant DI signal configuration parameters manually or with the COPRW instruction to modify the
hardware DI signal setting of ASD-A2. Use COPRW to modify the configuration after execution of the INITC
P5-18.
10. For more details on the servo parameters, refer to the Delta Servo Operation manual.
1. Manually set the inverter parameter P09-36 (ranging from 21 to 28), P09-37 (communication baud rate default is
2. Manually set the source of frequency command P00-20 to 6 and source of the operation command P00-21 to 3,
3. The following list shows the settings to initialize an inverter in the AS Series.
A. Set PDO mapping area: the operation frequencies, current state, and states of torque and DI point correspond
to PLC SRs.
B. Set time for the heartbeat and the PLC scan overtime to 200ms (default). When a communication overtime
6-1039
AS Ser ies Pro gra mm in g M anu al
occurs, PLC will send error message (error LED flashing slowly; refer to error code for more details) and the
4. For more details on the servo parameters, refer to the Delta Inverter Operation manual.
Example
1. When M0 changes from OFF to ON, the INITC instruction starts to initialize the inverter at node ID 21, until
Additional Remarks:
The following table shows special flags (SM) and registers (SR) related to initialization.
_6
Flag R/W ID. 1 ID. 2 ID. 3 ID. 4 ID. 5 ID. 6 ID. 7 ID. 8
Enable specific function R/W The flag in HWCONFIG is set to ON when the PLC is from Stop to Run.
Note1: After the axis starts to output, PLC clears the corresponding completion flag.
The following table shows the Delta special drier CANopen error codes. (error code in SR659)
6-1040
Ch ap te r 6 App l ied Ins tr uc ti ons
0x0006 One of the stations is being used when the INITC instruction is executed.
When you use Delta Special Driver & AS Remote mode / Delta Special Driver & CANopen DS301 and execute INITC
instruction, the refreshing time of PDO data exchange among stations 1 to 15 and 21 to 28 is shown below. For example,
when the baud rate is 1M, PDO data exchange refreshing time is 10 ms X 5 times = 50 ms.
#1: If you use Delta Special Driver & CANopen DS301 mode, you can use CANopen Builder software to edit the time to
synchronize for the slaves. But the edited time can only be greater than the time shown in the table above. If you set the
time lesser than the time shown above, the system ignores the editing and runs according to the time shown above.
#2: If you use Delta Special Driver & CANopen DS301 mode, you can use CANopen Builder software to edit the number
of synchronization times for the preset number of synchronization times in the table of DS301. For the preset number of
When you use Delta Special Driver & AS Remote mode / Delta Special Driver & CANopen DS301 and execute
COPPRW instruction (SDO communication), the communication timeout is shown below.
When the mode is CANopen DS301, you can set the time of the COPRW timeout in the CANopen communication setting
6-1041
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
Symbol
Explanation
_6 1. ECAT communication is available for the PLC with firmware V1.14.00 or later and ISPSoft V3.16 or later, and the
2. For CAN communication, the INITC instruction must be complete before this instruction is executed. For ECAT
communication, the INITEC instruction must be complete before this instruction is executed.
3. For CAN communication, the range of S1 is 1–8 (for servo) and 21-28 (for inverter). There will be no execution when
the input value is out of the range. For ECAT communication, the range of S1 is 1–16. There will be no execution
when the input value is out of the range. Use INITEC instruction to set up the ID number and device type.
4. The range of S1 (for servo) is 1–8 (for CAN communication) and 1-16 (for ECAT communication) and S2 is a non-
zero value, the servo is enabled (Servo-ON). If S2 is 0, the servo is disabled (Servo-OFF).
5. The range of S1 (for inverter) is 21–28 (for CAN communication) and 1-16 (for ECAT communication). When S2 is 1,
it indicates it is in inverter speed mode. When S2 is 2, it indicates it is in inverter torque mode. When S2 is 0, it
indicates it stops operating. Since control modes (speed mode and torque mode) for inverters can be switched
directly, the operation can keep going. Before switching control modes, make sure all the inverter parameters are
set.
6-1042
Ch ap te r 6 App l ied Ins tr uc ti ons
communication, every node ID of servo (1-16) has a flag (SM1651–M1658, SM1621-SM1628) for displaying its
state. You can read the actual servo state from the flag. When the flag is ON, the servo is Servo-ON. When the flag
8. For CAN communication, every inverter (21-28) has a flag (SM1621–M1628) for displaying its state. For ECAT
communication, every node ID of inverter (1-16) has a flag (SM1651–M1658, SM1621-SM1628) for displaying its
state. You can read the actual inverter state from the flag. When the flag is ON, the inverter is ON. When the flag is
9. SM1682 is ON if an error occurs during communication. In addition, SR658 retains the ID number in which the error
is ON.
2. When M1 changes from OFF to ON, the ASDON instruction starts to enable the servo at node ID 2. When SM1652
3. When M2 changes from OFF to ON, the ASDON instruction starts to disable the servo at node ID 2. When SM1652
6-1043
AS Ser ies Pro gra mm in g M anu al
_6
1. When M1 changes from OFF to ON, this instruction starts to enable the servo at node ID 2. When SM1652 is ON, it
indicates Servo-ON.
2. Make sure M1 and SM1652 are both ON and then set the auto return communication control right flag SM1582 to
ON for node ID 2. This will free the communication control right and the node ID 2 can receive and execute other
communication instructions.
3. When M2 changes from OFF to ON, this instruction starts to disable the servo at node ID 2. When SM1652 is OFF, it
indicates Servo-OFF.
4. Make sure M2 is ON and SM1652 is OFF and then set the auto return communication control right flag SM1582 to
ON for node ID 2. This will free the communication control right and the node ID 2 can receive and execute other
communication instructions.
6-1044
Ch ap te r 6 App l ied Ins tr uc ti ons
1. When M0 changes from OFF to ON, this instruction starts to initialize the node ID 21. When SM1683 is ON, it
2. When M2 changes from OFF to ON, this instruction starts to set the control mode at the node ID 21. When SM1621
6_
6-1045
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
Symbol
Explanation
1. ECAT communication is available for the PLC with firmware V1.14.00 or later and ISPSoft V3.16 or later, and the
2. For CAN communication, the INITC instruction must be complete before this instruction is executed. For ECAT
communication, the INITEC instruction must be complete before this instruction is executed.
3. For CAN communication, the range of S1 is 1–8 (for servo) and 21-28 (for inverter). There will be no execution when
the input value is out of the range. For ECAT communication, the range of S1 is 1–16. There will be no execution
when the input value is out of the range. Use INITEC instruction to set up the ID number and device type.
6-1046
Ch ap te r 6 App l ied Ins tr uc ti ons
3000.0 rpm to 0.
(parameters are set successfully). When you execute this instruction and the range of S1 is 21–28 (for inverter),
SM1683 is set to OFF (parameters are being editing). When the inverter responds to the received command,
SM1683 is ON (parameters are set successfully). For ECAT communication, when you execute this instruction and
the range of S1 is 1–16, SM1681 is set to OFF (parameters are being editing). When the servo / inverter responds to
the received command, SM1681 is ON (parameters are set successfully).
6. SM1682 is set to ON when an error occurs during communication. In addition, SR658 retains the ID number in which
2. When M1 changes from OFF to ON and the target speed of the servo at node ID 2 is 3000 rpm, the CASD
instruction sets the acceleration time of servo 2 to 3000 ms and the deceleration time to 9000 ms.
3. If the target speed of servo 2 is 1000 rpm, the acceleration time and deceleration time are shown below.
6-1047
AS Ser ies Pro gra mm in g M anu al
2. When M1 changes from OFF to ON, this instruction starts to set the acceleration time to 2000 ms and deceleration
_6
6-1048
Ch ap te r 6 App l ied Ins tr uc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
Symbol
S1 : Node ID of servo
S3 : Target speed
6_
Explanation
1. ECAT communication is available for the PLC with firmware V1.14.00 or later and ISPSoft V3.16 or later, and the
2. For CAN communication, the INITC and ASDON (servo ON) instructions must be complete before this instruction is
executed. For ECAT communication, the INITEC and ASDON (servo ON) instructions must be complete before this
instruction is executed.
3. For CAN communication, the range of S1 is 1–8. There will be no execution when the input value is out of the range.
For ECAT communication, the range of S1 is 1–16. There will be no execution when the input value is out of the
range or if the device of the assigned ID is not a servo.
4. The range of S2 is -2147483648 to +2147483647. The +/- sign indicates the forward / reverse direction. The target
position is a relative position.
5. The unit of the value of S3 is 0.1 rpm. The range is 1–60000, which indicates 0.1–6000.0 rpm.
6-1049
AS Ser ies Pro gra mm in g M anu al
6. When the target position is reached, the corresponding completion flags of axes SM1631–SM1638 for CAN node ID
1-8 and the corresponding completion flags of axes SM1631–SM1638, SM1921-SM1928 for ECAT node ID 1-16 are
ON. After the axis starts to output, PLC clears the corresponding completion flag. If the positioning is required for
several times on the same output axis, you need to clear the corresponding completion flags by yourself to save
7. Refer to the following table for the corresponding SM and SR of the axes.
8. SM1682 is ON when an error occurs during communication. In addition, SR658 retains the ID number in which the
9. This instruction uses SDO (Service Data Object) of CANopen protocol to communicate. Since only one SDO
communication can be sent for a time, do NOT use this instruction for outputting positioning in various axis
synchronized motion.
10. For PLC CPU with firmware V1.12.10 or later, it is supported to modify the target speed and the target position
Target speed modification: the servo will act according to the acceleration and deceleration time.
If the new target speed is 0, the servo will go decelerating and then to a stop.
If the new target speed is changed from 0 to any number other than 0, the servo will resume whatever the
movement was.
For the movement in a negative direction, the target position is not allowed to change.
For the relative positioning, when the new target position is 0, the servo will go decelerating and then to a stop
1. When M0 changes from OFF to ON, the INITC instruction starts to initialize the servos at node ID1–3, until SM1681
is ON.
2. When M1 changes from OFF to ON, the ASDON instruction starts to enable the servo at node ID2. When SM1652 is
3. When M2 changes from OFF to ON, servo 2 moves to the relative position 100000 PUU at 100.0 rpm.
6-1050
Ch ap te r 6 App l ied Ins tr uc ti ons
6_
Example 2 (Structured Texts programming language):
1. When M2 changes from OFF to ON, servo 2 moves to the relative position 100000 PUU at 100.0 rpm.
2. Make sure M2 and SM1632 are both ON and then set the auto return communication control right flag SM1582 to
ON for node ID2. This will free the communication control right and the node ID2 can receive and execute other
communication instructions.
6-1051
AS Ser ies Pro gra mm in g M anu al
Explanation of special flags (SM) and registers (SR) for Delta special CANopen communication instructions
The following table shows special flags (SM) and registers (SR) related to Delta special CANopen communication.
Flag R/W ID. 1 ID. 2 ID. 3 ID. 4 ID. 5 ID. 6 ID. 7 ID. 8
The flag in HWCONFIG is set to ON when the PLC changes from Stop to
Enable specific function R/W
Run.
Positioning complete R/W#1 SM1631 SM1632 SM1633 SM1634 SM1635 SM1636 SM1637 SM1638
Stop R/W SM1641 SM1642 SM1643 SM1644 SM1645 SM1646 SM1647 SM1648
Go-back/go-forth enabled
R/W SM1661 SM1662 SM1663 SM1664 SM1665 SM1666 SM1667 SM1668
Only DDRVAC is supported.
Go-back/go-forth direction indicator
R SM1671 SM1672 SM1673 SM1674 SM1675 SM1676 SM1677 SM1678
Only DDRVAC is supported.
Auto return communication control SM1581 SM1582 SM1583 SM1584 SM1585 SM1586 SM1587 SM1588
R/W
right
_6 Heartbeat error code R SM1691 SM1692 SM1693 SM1694 SM1695 SM1696 SM1697 SM1698
SM1684 = OFF (default; when one goes down, all the servos are OFF.)
Heartbeat error handling R/W
SM1684 = ON (when one goes down, only the defective servo is OFF.)
ID number with a communication
R SR658
error
Note1: After the axis starts to output, PLC clears the corresponding completion flag.
The following table shows how Delta servo parameters of axes correspond to special flags and registers in the CANopen
communication.
Servo Parameter Name (Number) R/W ID. 1 ID. 2 ID. 3 ID. 4 ID. 5 ID. 6 ID. 7 ID. 8
PR command (P5-07) R SR661 SR662 SR663 SR664 SR665 SR666 SR667 SR668
Alarm code (P0-01) (hexadecimal) R SR671 SR672 SR673 SR674 SR675 SR676 SR677 SR678
DO state (P0-46) R SR681 SR682 SR683 SR684 SR685 SR686 SR687 SR688
Servo target position CMD_E (P0-10) R SR711 SR713 SR715 SR717 SR719 SR721 SR723 SR725
6-1052
Ch ap te r 6 App l ied Ins tr uc ti ons
DI state (P4-07) R SR731 SR732 SR733 SR734 SR735 SR736 SR737 SR738
Current torque (unit: 0.1%) R SR741 SR742 SR743 SR744 SR745 SR746 SR747 SR748
Self-defined (P0-12) * SR791 SR793 SR795 SR797 SR799 SR801 SR803 SR805
R
Work with SM1685 Enable/Disable SR792 SR794 SR796 SR798 SR800 SR802 SR804 SR806
Positioning completion range setting R/W SR811 SR812 SR813 SR814 SR815 SR816 SR817 SR818
*For example, if a servo real position is requested, set the sero values in P0-20, enable SM1685 and then the servo real
position can be read in SR791-SR806. For more details, refer to Delta High Resolution AC Servo Drive for Network
The following table shows how Delta inverter parameters of axes correspond to special flags and registers in the
CANopen communication.
Inverter starting up flag R SM1621 SM1622 SM1623 SM1624 SM1625 SM1626 SM1627 SM1628
Inverter Heartbeat error flag R SM1611 SM1612 SM1613 SM1614 SM1615 SM1616 SM1617 SM1618
Auto-reset the communication R/W SM1601 SM1602 SM1603 SM1604 SM1605 SM1606 SM1607 SM1608
control
Inverter status
(Index 6041H-00H)
R SR751 SR752 SR753 SR754 SR755 SR756 SR757 SR758 6_
Inverter current velocity
R SR761 SR762 SR763 SR764 SR765 SR766 SR767 SR768
(Index 6043H-00H)
Inverter current torque
(unit: 0.1%) R SR771 SR772 SR773 SR774 SR775 SR776 SR777 SR778
(Index 2021H-0CH)
Inverter digital input status
R SR781 SR782 SR783 SR784 SR785 SR786 SR787 SR788
(Index 2022H-11H)
The following table shows the CANopen communication error codes of Delta servos and inverters. (error code in SR659)
An error occurs in the message received by the slave. This error often occurs when the settings of the
0x0003
COPRW instruction are invalid causing the slave not to receive the complete message.
0x0006 One of the stations is being used when the INITC instruction is executed.
6-1053
AS Ser ies Pro gra mm in g M anu al
A slave cannot be reset; check if the communication cable is connected and if the communication of the
0x0008
slave is working properly.
The following table shows special flags (SM) and registers (SR) related to ECAT communication.
Function R/W ID. 1 ID. 2 ID. 3 ID. 4 ID. 5 ID. 6 ID. 7 ID. 8
Servo positioning complete#1 R/W SM1631 SM1632 SM1633 SM1634 SM1635 SM1636 SM1637 SM1638
Servo stop R/W SM1641 SM1642 SM1643 SM1644 SM1645 SM1646 SM1647 SM1648
Servo-ON, inverter-ON R SM1651 SM1652 SM1653 SM1654 SM1655 SM1656 SM1657 SM1658
_6
Go-back/go-forth enabled
R/W SM1661 SM1662 SM1663 SM1664 SM1665 SM1666 SM1667 SM1668
Only DDRVAC is supported.
Go-back/go-forth direction indicator
R SM1671 SM1672 SM1673 SM1674 SM1675 SM1676 SM1677 SM1678
Only DDRVAC is supported.
Auto return communication control
R/W SM1581 SM1582 SM1583 SM1584 SM1585 SM1586 SM1587 SM1588
right. Only DDRVAC is supported.
Connection loss error code#2 R/W SM1691 SM1692 SM1693 SM1694 SM1695 SM1696 SM1697 SM1698
Function R/W ID. 9 ID. 10 ID. 11 ID. 12 ID. 13 ID. 14 ID. 15 ID. 16
Servo Positioning complete#1 R/W SM1921 SM1922 SM1923 SM1924 SM1925 SM1926 SM1927 SM1928
Servo Stop R/W SM1931 SM1932 SM1933 SM1934 SM1935 SM1936 SM1937 SM1938
Servo-ON, inverter-ON R SM1621 SM1622 SM1623 SM1624 SM1625 SM1626 SM1627 SM1628
Go-back/go-forth enabled
R/W SM1941 SM1942 SM1943 SM1944 SM1945 SM1946 SM1947 SM1948
Only DDRVAC is supported.
Go-back/go-forth direction indicator
R SM1951 SM1952 SM1953 SM1954 SM1955 SM1956 SM1957 SM1958
Only DDRVAC is supported.
Auto return communication control
R/W SM1601 SM1602 SM1603 SM1604 SM1605 SM1606 SM1607 SM1608
right. Only DDRVAC is supported.
Connection loss error code#2 R/W SM1611 SM1612 SM1613 SM1614 SM1615 SM1616 SM1617 SM1618
6-1054
Ch ap te r 6 App l ied Ins tr uc ti ons
#1: The timing for the servo positioning completion flag to be cleared to off automatically is when the outputting of the
axis is enabled. If you need to use positioning instructions on a certain axis for several times in a row, you need to clear
the servo positioning completion flag by yourself. If you do not clear the servo positioning completion flag and then use
the positioning instruction again and again, it is possible that before the next positioning instruction is executed, a servo
positioning completion flag is detected and then the execution of positioning instruction will be stopped.
# 2: Since the heartbeat is not available for ECAT communication, working counter (WKC) is used as a way to determine
The following table shows special flags (SM) and registers (SR) related to Servo ECAT communications.
Parameter Name (Number) R/W ID. 1 ID. 2 ID. 3 ID. 4 ID. 5 ID. 6 ID. 7 ID. 8
Servo PR command (P5-07) / R SR661 SR662 SR663 SR664 SR665 SR666 SR667 SR668
Inverter status (index 6041H-00H)
Servo Alarm code (P0-01) R SR671 SR672 SR673 SR674 SR675 SR676 SR677 SR678
Servo DO state (P0-46) R SR681 SR682 SR683 SR684 SR685 SR686 SR687 SR688
Servo DI state (P4-07) R SR731 SR732 SR733 SR734 SR735 SR736 SR737 SR738
Current torque (P0-11) R SR741 SR742 SR743 SR744 SR745 SR746 SR747 SR748
Parameter Name (Number) R/W ID. 9 ID. 10 ID. 11 ID. 12 ID. 13 ID. 14 ID. 15 ID. 16
Servo PR command (P5-07) / R SR751 SR752 SR753 SR754 SR755 SR756 SR757 SR758
Inverter status (index 6041H-00H)
Servo Alarm code (P0-01) R SR761 SR762 SR763 SR764 SR765 SR766 SR767 SR768
Servo DO state (P0-46) R SR1191 SR1192 SR1193 SR1194 SR1195 SR1196 SR1197 SR1198
Servo command positon CMD_O SR1201 SR1203 SR1205 SR1207 SR1209 SR1211 SR1213 SR1215
R
(P0-09) SR1202 SR1204 SR1206 SR1208 SR1210 SR1212 SR1214 SR1216
Servo target position CMD_E SR1221 SR1223 SR1225 SR1227 SR1229 SR1231 SR1233 SR1235
R
(P0-10) SR1222 SR1224 SR1226 SR1228 SR1230 SR1232 SR1234 SR1236
Servo DI state (P4-07) R SR781 SR782 SR783 SR784 SR785 SR786 SR787 SR788
Current torque (P0-11) R SR771 SR772 SR773 SR774 SR775 SR776 SR777 SR778
SR1241 SR1243 SR1245 SR1247 SR1249 SR1251 SR1253 SR1255
Servo Self-defined (P0-12) R
SR1242 SR1244 SR1246 SR1248 SR1250 SR1252 SR1254 SR1256
Positioning completion range R/W SR1261 SR1262 SR1263 SR1264 SR1265 SR1266 SR1267 SR1268
setting
6-1055
AS Ser ies Pro gra mm in g M anu al
The following table shows the ECAT communication error codes of Delta servos and inverters. (error code in SR659)
0x0006 One of the stations is being used when the INITC instruction is executed.
0x000A More than four slaves are managed by DCSOFC instruction simultaneously.
_6
6-1056
Ch ap te r 6 App l ied Ins tr uc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
Symbol
S3 : Target speed
6_
Explanation
1. ECAT communication is available for the PLC with firmware V1.14.00 or later and ISPSoft V3.16 or later, and the
2. For CAN communication, the INITC and ASDON (servo ON) instructions must be complete before this instruction is
executed. For ECAT communication, the INITEC and ASDON (servo ON) instructions must be complete before this
instruction is executed.
3. For CAN communication, the range of S1 is 1–8. There will be no execution when the input value is out of the range.
For ECAT communication, the range of S1 is 1–16. There will be no execution when the input value is out of the
range or if the device of the assigned ID is not a servo.
4. The range of S2 is -2147483648 to +2147483647. The +/ - sign indicates the forward / reverse direction. The target
position is an absolute position.
5. Refer to the DRVIC instruction (API 2803) for additional information and examples.
6-1057
AS Ser ies Pro gra mm in g M anu al
Example 1
1. When M0 changes from OFF to ON, the INITC instruction starts to initialize the servos at node ID1–3, until SM1681
is ON.
2. When M1 changes from OFF to ON, the ASDON instruction starts to enable the servo at node ID2. When SM1652 is
3. When M2 changes from OFF to ON, servo 2 moves from the current position to the absolute position 100,000 PUU
at 100.0 rpm.
_6
6-1058
Ch ap te r 6 App l ied Ins tr uc ti ons
Example 2
1. Add one line to the program in Example 1. When the PLC runs and SM1662 is ON, the function is enabled for servo
2. As the figure shows below, the servo moves from its current position (20,000) to the absolute target position
(100,000) after M2 is ON. After that, it goes back and forth between the absolute position 100,000 and 0.
The direction indication flag SM1672 is ON when the servo goes toward the target position for the first time after
Servo-ON. After that, the flag repeats the state, changing from ON to OFF.
3. You can modify the target position at any time in the motion, but the new target position is only valid for the next
back and forth cycle.
6_
6-1059
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
Symbol
S1 : Node ID of a servo
S2 Target speed
Explanation
1. ECAT communication is available for the PLC with firmware V1.14.00 or later and ISPSoft V3.16 or later, and the
_6 AS-FECAT function card must be installed on the PLC.
2. For CAN communication, the INITC and ASDON (servo ON) instructions must be complete before this instruction is
executed. For ECAT communication, the INITEC and ASDON (servo ON) instructions must be complete before this
instruction is executed.
3. For CAN communication, the range of S1 is 1–8. There will be no execution when the input value is out of the range.
For ECAT communication, the range of S1 is 1–16. There will be no execution when the input value is out of the
range.
4. Table to describe S2
21-28 (CAN) -32768 - 32767 The +/- sign indicates the forward / reverse direction. For
Inverter
1-16 (ECAT) (1rpm) example, when inputting 605 in S2, the value is 605rpm.
6-1060
Ch ap te r 6 App l ied Ins tr uc ti ons
5. For corresponding SM and SR of the axes, refer to the DRVIC instruction (API 2803).
6. SM1682 is set to ON when an error occurs during communication. In addition, SR658 retains the number of the axis
in which the error occurs and SR659 retains the error code.
1. When M0 changes from OFF to ON, the INITC instruction starts to initialize the servos at node ID 1–3, until SM1681
is ON.
2. When M1 changes from OFF to ON, the ASDON instruction starts to enable the servo at node ID 2. When SM1652
3. When M2 changes from OFF to ON, servo 2 moves at 100.0 rpm until M2 is OFF.
6_
6-1061
AS Ser ies Pro gra mm in g M anu al
2. When M1 changes from OFF to ON, this instruction starts to set the acceleration time and deceleration time at the
node ID 21.
3. When M2 changes from OFF to ON, this instruction starts to set the control mode at the node ID 21.
4. When M3 changes from OFF to ON, the inverter moves at 2500rpm until M3 goes OFF.
_6
6-1062
Ch ap te r 6 App l ied Ins tr uc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
Symbol
S1 : Node ID of servo
Explanation
6_
1. ECAT communication is available for the PLC with firmware V1.14.00 or later and ISPSoft V3.16 or later, and the
2. For CAN communication, the INITC and ASDON (servo ON) instructions must be complete before this instruction is
executed. For ECAT communication, the INITEC and ASDON (servo ON) instructions must be complete before this
instruction is executed. It is suggested to use ZRNM (API 2810) to set all the axes of servo to the homing mode.
3. For CAN communication, the range of S1 is 1–8. There will be no execution when the input value is out of the range.
For ECAT communication, the range of S1 is 1–16. There will be no execution when the input value is out of the
range or if the device of the assigned ID is not a servo.
4. The range of S2 is 1–20000. Unit: 0.1 rpm (servo drive parameter P5-05); if you need to use linear motor drive and
the first section exceeds 32767, you need to use DZRNC instruction instead (only available for PLC FW V1.04 or
later).
5. The range of S3 is 1–5000. Unit: 0.1 rpm (servo drive parameter P5-06)
6. When the servo returns to the home position, the corresponding finish flags of the axes are ON. Refer to the DRVIC
instruction (API 2803) for explanations of special flags (SM) and registers (SR).
6-1063
AS Ser ies Pro gra mm in g M anu al
7. SM1682 is set to ON when an error occurs during communication. In addition, SR658 retains the number of the axis
in which the error occurs and SR659 retains the error code.
Example
1. When M0 changes from OFF to ON, the INITC instruction starts to initialize servo 1, until SM1681 is ON.
2. When M1 changes from OFF to ON, the acceleration time (10000) and deceleration time (20000) of servo 1 are set
by using the CASD instruction (API 2802). When SM1651 is ON, it indicates Servo-ON.
2-byte data is written to P5-04 in servo 1. When D100 = 5 and the data is written, M100 is ON.
4-byte data is written to P6-00 in servo 1. When D102 = 0 and the data is written, M101 is ON.
4-byte data is written to P6-01 in servo 1. When D104 = 0 and the data is written, M102 is ON.
4. When M3 changes from OFF to ON, the homing function is enabled for servo 1.
_6
6-1064
Ch ap te r 6 App l ied Ins tr uc ti ons
6_
6-1065
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
S4
S5
D
_6 Symbol
S2 : Request code
S3 : Index
S4 : Sub-index
S5 : Read/write device
Explanation
1. This instruction reads and writes CANopen communication data to the servo at the address specified in S1. The
range of S1 is 1–127. If the value is out of range (<1 or >127), the minimum or maximum value is automatically
2. S2 can only specify four types of request codes, as shown in the following table. If you set the request code wrong, it
does NOT execute; SM1682 is ON and SR659 is 16#0005.
6-1066
Ch ap te r 6 App l ied Ins tr uc ti ons
S2
Reading the data. The data length is contained in the SDO response message;
16#0040
Expedited SDO
16#0021 Data and its length are specified by S5; Normal SDO
16#0041 Reading the data and store the read data and its length in S5; Normal SDO
3. For S3 and S4, refer to the object dictionary in the Delta servo / inverter operation manual or the object dictionary
from a third-party device that complies with CANopen DS301.
4. You should execute the COPRW instruction only after the INITC instruction is complete in case the parameters are
overwritten by the INITC instruction. Use the COPRW instruction for CANopen SDO communication. If the node ID
of a slave exceeds the range 1–8 or 21-28, you can use the COPRW instruction to set, read, and write slave-related
parameters.
When you use Delta Special Driver & AS Remote mode / Delta Special Driver & CANopen DS301 and execute
When the mode is CANopen DS301, you can set the time of the COPRW timeout in the CANopen communication
5. SM1682 is set to ON when an error occurs during communication. In addition, SR658 retains the ID number in which
the error occurs and SR659 retains the error code. Refer to DRVIC instruction for details.
Note: When you use the COPRW instruction, you must edit the process for dealing with communication errors in
order to avoid invalid communication occurring as a result of unexpected communication errors.
When you enable the COPRW instruction for the first time, the instruction sends the command code immediately
The code has been sent and the finish flag is set to ON.
6-1067
AS Ser ies Pro gra mm in g M anu al
You modify the next data to be sent out. The next command code is sent out immediately after the finish flag is
set to OFF.
The code has been sent and the COPRW instruction is disabled.
7. The COPRW instruction only supports the Delta Special Driver & AS Remote Mode and CANopen DS301 in the
hardware configuration setting (HWCONFIG in ISPSoft).
_6
8. Most of the parameters in Delta ASDA-A2 are displayed in the decimal format. You can convert the parameters into
index addresses, see the example below. 0 is a fixed value for the sub index address.
6-1068
Ch ap te r 6 App l ied Ins tr uc ti ons
9. Most of the parameters in Delta inverter are also displayed in the decimal format. Use the following formula to
10. Since this instruction uses SDO (Service Data Objects) and the communication mode is one transmission (one
sending/one receiving) at a time, and the communication right is shared with the high-speed output instructions.
* It is suggested NOT to use 2 COPRW instructions or communication at a time in one scan cycle.
* It is suggested NOT to use this instruction in a function block. Because when this instruction is written in a function
block, there will be 2 POU in the PLC program and when the function block is called, 2 instructions will be enabled
11. The request codes for normal SDO are 16#0021 and 16#0041, available for PLC CPU with firmware V1.04.80 or
later.
12. When the request code is 16#0021, S5 is the data length (“n” byte) to write into the slave. S5+1~ S5+((n+1) / 2) is the
data to write into the slave. For example, if S5 is specified as D100 and the value in S5 is 16. This instruction sends
data in D101 ~ D108 to the slave in the following order, lower 8-bit in D101, upper 8-bit in D101, lower 8-bit in D102,
6_
upper 8-bit in D102 and so forth.
13. When the request code is 16#0041, when received responses from the slave, this instruction stores the data length
(“n” byte) in S5 and data in S5+1~ S5+((n+1) / 2). For example, if received 15 bytes of data length, D100 is 15 and
store the data Byte[0], Byte[1].. Byte[14] in the following order, lower 8-bit in D101, upper 8-bit in D101, lower 8-bit in
14. The maximum data length is 255 bytes. To prevent too many Normal SDO transmissions, if the data length exceeds
6-1069
AS Ser ies Pro gra mm in g M anu al
1. When M0 changes from OFF to ON, the INITC instruction starts to initialize the servos at node ID 1–3, until SM1681
is ON.
2. When M1 changes from OFF to ON, the PLC writes the 2-byte data (S2=16#002B) in D100 to P5-04 (S3=16#2504)
of servo 3, using the COPRW instruction. When the writing is complete, M100 is ON.
3. When M2 changes from OFF to ON, the PLC reads the value of P4-07 (S3=16#2407) of servo 3 and stores the
_6
6-1070
Ch ap te r 6 App l ied Ins tr uc ti ons
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
S1
S2
S3
D
Symbol
Explanation
1. S1 sets the node ID within the range of 1~127. If the setting value exceeds the range (< 1 or >127), the instruction
will automatically send data at the minimum or maximum value respectively.
2. S2 is the starting source device where written data are stored and S3 is the number of messages to consecutively
write data. E.g., S2 specifies D10 as the starting device and the number of messages to consecutively write data is 3.
Here is the detailed explanation in the following table.
Instruction name Message No. Index address Subindex address Written source data
1 D10 D11 D12
COPWL
2 D13 D14 D15
(Writes 16-bit values)
3 D16 D17 D18
1 D10 D11 D12, D13
DCOPWL
2 D14 D15 D16, D17
(Writes 32-bit values)
3 D18 D19 D20, D21
6-1071
AS Ser ies Pro gra mm in g M anu al
3. For the index addresses and subindex addresses of Delta servo and AC motor drive, refer to the explanation of the
COPRW instruction. In principle, the parameter values of Delta servo and AC motor drive are both16-bit or 32-bit
values including floating point numbers. If you need write an 8-bit value, use the COPRW instruction.
4. D is the communication completion flag. D will turn on after the sending of multiple communication messages is
complete.
After the COPWL instruction sends one piece of message, the next PLC instruction continues to execute.
As the COPWL instruction is scanned once again and the prior message has been received by the slave, the
When the last written-data sending is done, the instruction will set the completion flag to ON.
When the completion flag turns on, the COPWL instruction need be disabled by manual so that the subsequent
Note: When you disable the instruction, the completion flag will be automatically cleared accordingly.
enable enable
disable disable
_6 COPWL
S2 1 2 3 1
Note: The sequence diagram above shows the sending of 3 pieces of written data.
5. After the instruction is enabled, wait until the writing is complete and then disable the instruction. If there is a
communication error in the execution, shoot the trouble and then re-enable the instruction to write all data.
6-1072
Ch ap te r 6 App l ied Ins tr uc ti ons
Example
2. When M1 = OFF → ON, the instruction writes a 32-bit value for P1-44 of the servo whose node ID is 2 and the
written value 77777777 is stored in D52. The instruction writes a 32-bit value for P1-45 and the written value
6_
6-1073
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
Node
Para
Ok
Err
Symbol
Explanation
1. Only the PLC firmware of V1.04.10 and later and the ISPSoft software of V3.03.08 and later support the
instruction. ECAT communication is available for the PLC with firmware V1.14.00 or later and ISPSoft V3.16 or
later, and the AS-FECAT function card must be installed on the PLC.
2. For CAN communication, before the RSTD instruction is used in Delta special instruction mode, make sure that all
Delta servos / inverters have been initialized via the INITC instruction and they once worked normally.
3. For ECAT communication, before the RSTD instruction is used in Delta special instruction mode, make sure that all
Delta servos / inverters have been initialized via the INITEC instruction and they once worked normally.
4. For CAN communication, when used in CANopen DS301 mode, the RSTD instruction works as the NMT
communication function and can switch network states via the Para parameter.
5. For CAN communication, when CAN communication port is specified to work in Delta special driver mode, the
value of Node can be 0 (for the broadcast function) and 1~8 which are for servo node ID only and 21~28 for node
6-1074
Ch ap te r 6 App l ied Ins tr uc ti ons
ID of AC motor drives only. When the node ID exceeds the range, the PLC will not perform the reset action and the
Err flag turns on. (Refer to the explanation of SR659 for error codes)
6. For CAN communication, when CAN communication port is specified to work in CANopen DS301 mode, the value
of Node is in the range of 1~64 and 0 (for the broadcast function). When the value exceeds the range, the PLC will
not perform the NMT communication and the Err flag turns on. (Refer to the explanation of SR659 for error codes)
7. For ECAT communication, the value of Node can be 0 (for the broadcast function) and 1~16 which are for servo /
inverter node ID. When the node ID exceeds the range, the PLC will not perform the reset action and the Err flag
turns on. (Refer to the explanation of SR659 for error codes)
8. The setting value of Para is only applicable to CANopen DS301 mode. The parameter is meaningless if the
instruction is used in Delta special driver mode and AS remote mode. The settings for Para (NMT service code)
are listed in the following table. If the setting value is not one of the values in the table, the Err flag turns on.
NMT
16#01 16#02 16#80 16#81 16#82
service code
Enter the pre- Reset the
Function Reset the
Start the slave Stop the slave operational application
description communication
state layer
9. The RSTD instruction can implement the command action on only one drive or slave every time. If multiple RSTD
instructions are enabled simultaneously, the PLC will automatically take priority to perform the instruction which is
enabled earlier.
10. The RSTD instruction is executed to send the command when it is enabled. If the instruction is disabled before the 6_
Ok flag is on, the PLC will not set the Ok flag to ON.
11. Apart from notifying the specified drive to clear the error state, the instruction would also re-check if relevant
communication parameter values are correct and re-set correct communication parameter values.
For example, due to the disconnection of the slave of node ID 2, the entire system stops running. After the trouble
is solved, the slave of node ID 2 can return to the state of being controllable by using the RSTD instruction to reset
the slave of node ID 2 only. So the time of re-initializing all drives are saved.
12. If the slave responds by sending back any communication command fault to the PLC during the communication,
the RSTD instruction will turn the Err flag on and stop the upcoming actions. (Refer to explanation of SR659 for
error codes.)
6-1075
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
Data
REAL
UINT
DINT
LINT
TMR
CNT
INT
type
Node
Mode
Ok
Err
Symbol
Ok : Completion flag
_6
Err : Error flag
Explanation
1. Only the PLC firmware of V1.04.10 and later and the ISPSoft software of V3.03.08 and later support the
instruction. ECAT communication is available for the PLC with firmware V1.14.00 or later and ISPSoft V3.16 or
later, and the AS-FECAT function card must be installed on the PLC.
2. Make sure that all Delta drives have been initialized before executing the reset instruction.
3. For CAN communication, the value of Node is in the range of 1~8 (exclusive for servo node IDs) or in the range of
1~16 for ECAT communication. If the setting value exceeds the range or if the device of the assigned ID is not a
servo, the PLC will not perform the action of the homing mode and set the Err flag to ON. (Refer to explanation of
SR659 for error codes.)
4. The ZRNM instruction can set the homing mode of only one drive every time. If multiple instructions are enabled
simultaneously, the PLC will take priority to perform the instruction which is enabled earlier.
5. The ZRNM instruction is executed to send the command when it is enabled. If the instruction is disabled or will
NOT be scanned again before the Ok flag is on, the PLC will NOT be able to set the Ok flag or Err flag to ON.
6-1076
Ch ap te r 6 App l ied Ins tr uc ti ons
6. This instruction will only be triggered once when the EN contact is switched from OFF to ON. It is suggested to use
this instruction in the ladder programming. If using this instruction in SFC or ST programming, when the EN contact
7. Mode sets a homing mode. If the setting value exceeds the range, the PLC will still send the command and the
server itself will decide whether to receive the command or not. The setting mode is the homing mode that ASDA
The setting value of Delta servo homing mode is a hex value. The value is defined as the format of 0xWZYX. See
Homing
Range Function and code description Remark
mode code
back.
Y 0~2
2 =Do not look for Z pulse.
1 =Do not look for Z pulse both when coming back and going
forward.
6-1077
AS Ser ies Pro gra mm in g M anu al
home position.
home position.
home position.
_6
6-1078
Ch ap te r 6 App l ied Ins tr uc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data UINT
DINT
LINT
TMR
CNT
INT
type
Node
Dest
Len
Ok
Err
Symbol
Ok : Completion flag
Explanation
1. Only the PLC firmware of V1.04.10 and later and the ISPSoft software of V3.03.08 and later support the
instruction. ECAT communication is available for the PLC with firmware V1.14.00 or later and ISPSoft V3.16 or
later, and the AS-FECAT function card must be installed on the PLC.
2. The EMER instruction is applicable to CANOpen DS301 mode, Delta special mode and ECAT communication.
3. After receiving the Emergency message from the slave Node, the PLC will automatically store the data in the
4. It is recommended that the Node value should be specified from the slave node IDs which have already existed. If
the value is not one existing node ID or the slave has been disconnected, the PLC will not be able to receive any
message, set the Err flag to ON and show error code of communication timeout. (Refer to explanation of SR659
6-1079
AS Ser ies Pro gra mm in g M anu al
5. The way the EMER instruction reads Emergency messages is the same as Emergency communication method in
AS operation manual. Please just select one communication method from them when reading Emergency
messages.
6. The EMER instruction can read 5 Emergency messages at most. Every time the reading is successful, the Ok flag
turns on and Len displays the total number of messages which are read. You can judge how many consecutive
words are occupied by Dest based on the length. Every message uses 4 words. The data are stored in the order
from lower 8 bits to higher 8 bits. The storage format is shown as below. (E.g. Dest is D10, Len is 2 which is the
number of messages stored in D5.)
D10 The second byte in the first message The first byte in the first message
D11 The forth byte in the first message The third byte in the first message
D12 The sixth byte in the first message The fifth byte in the first message
D13 The eighth byte in the first message The seventh byte in the first message
D15 The forth byte in the second message The third byte in the second message
D16 The sixth byte in the second message The fifth byte in the second message
6-1080
Ch ap te r 6 App l ied Ins tr uc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
Xno
InCnt
InSpd
Gear
Axis
OutCnt
OutSpd
6-1081
AS Ser ies Pro gra mm in g M anu al
Explanation
1. For CAN communication, the PLC firmware of V1.06 and later and the ISPSoft software of V3.07 and later support
the instruction. ECAT communication is available for the PLC with firmware V1.14.00 or later and ISPSoft V3.16 or
later, and the AS-FECAT function card must be installed on the PLC.
2. For CAN communication, the INITC and ASDON (servo ON) instructions must be complete before this instruction
is executed. For ECAT communication, the INITEC and ASDON (servo ON) instructions must be complete before
3. Xno can only specify X0.0, X0.2, X0.4, X0.6, X0.8 and X0.10 as the input points, and the operand occupies two
consecutive input points. You cannot execute the instruction if the input points are the points specified for Xno
above. After you select the input points, the high-speed counter is automatically specified. If there is a DCNT
instruction (API 1004) or CSFO instruction (API 2708) with the same high-speed counter in the program, the PLC
first executes the instruction that starts the counter first. The input points and corresponding high-speed counters
Group number 1 2 3 4 5 6
4. If the high-speed counters for the instruction can use only the phase A/B input mode, set the flag for reversing the
input direction to ON when MPG is connected but has not rotated yet, and the PLC input point is ON. Set the
5. InCnt is the number of input pulses. Use a 32-bit variable to declare the parameter.
6. InSpd is the frequency of input pulses. Use a 32-bit variable to declare the parameter with the unit of 1 Hz.
7. Gear is the proportion of the input frequency and output frequency (floating-point value). The formula is that output
frequency equals to the result of input frequency multiplying Gear. For instance, if Gear is 2.5 and the input
frequency is 50, the output is 125 (50*2.5). Note: the output count and the output frequency are rounded down to
6-1082
Ch ap te r 6 App l ied Ins tr uc ti ons
8. Axis is the node ID, ranging from 1 to 8 for CAN communication and it should be within the node ID that is initiated
by the INITC instruction. For ECAT communication, the node ID ranges from 1 to 16 and it should be within the
node ID that is initiated by the INITEC instruction and the device of the assigned ID should be a servo.
9. OutCnt is the number of output pulses. Use a 32-bit variable to declare the parameter with the unit of PUU.
10. OutSpd is the frequency of the output pulses. Use a 32-bit variable to declare the parameter with the unit of 1 Hz.
11. There is no limit to the number of times you can use this instruction. Several instructions can use one group of
input points as its source of input count. But you need to clear the value in the input counter before execution of
this instruction; especially when you are using one input and several outputs. And this instruction executes
according to the axis number to record information about its input and output. The same axis can be used for
several times but you must not output the same axis at the same time. If you use the same axis to output for
several times, PLC outputs the first starting one and then the second one. For ECAT communication, up to four
slaves can be controlled simultaneously. If exceeding the limit, this instruction is NOT executed and SM0 is ON,
12. The instruction cannot be used in the ST programming language, interrupt tasks or function block which is called
only once.
Note
1. The PLC calculates the input pulse frequency based on the input pulse width (ON) in the positive half cycle. If the
proportion of the pulse width for ON:pulse width for OFF is not 1:1, the PLC takes the ON width as the standard for
conversion by default. 6_
2. The input pulse=ON means the input point LED is on. When using the MPG but it has not rotated yet, you can check
if the input point LED is OFF and the flag for reversing the input direction is activated .
3. There is a 20 ms time difference in CANopen / ECAT communication when executing this instruction. If this worries
you, use CSFO instruction instead, controlling the servo by the pulse output.
Example
When M0 switches from OFF to ON, PLC starts to execute this instruction to initialize servo node ID 1 and 2 until
SM1681 is ON.
When M1 switches from OFF to ON, PLC starts to execute this instruction to start servo node ID 1 and when the
When M2 switches from OFF to ON, PLC starts to execute this instruction to start servo node ID 1 and when the
6-1083
AS Ser ies Pro gra mm in g M anu al
When M3 switches from OFF to ON, input points X0.0 and X0.1 connect to the MPG to control 2 servos. The
proportions for the 1st servo is 1 and for the 2nd servo is 2.
_6
6-1084
Ch ap te r 6 App l ied Ins tr uc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
Slave
Source
Len
CAddr
Done
Err
ErrCode
Explanation
1. For execution of this instruction, you need to use PLC FW V1.06 or later and ISPSoft V3.07 or later.
2. Slave is where you store the downloaded E-CAM chart; the supported slave station ranges from 1 to 8. After the
downloading is complete, the DONE flag is ON. If the slave station number you are using is out of the supported
range, the instruction is NOT executed. And the Err (error) flag is ON.
6-1085
AS Ser ies Pro gra mm in g M anu al
3. Source is where you specify from which E-CAM chart to start downloading; the supported E-CAM chart length is
from 1 to 16. If the E-CAM chart number you are using is out of the supported length, the instruction is NOT
executed. And the Err (error) flag is ON. You can also use the PLC data register number to specify from which E-
CAM chart to start downloading to the servo and it takes Len+1 as its downloading length. After the setting is done,
the system starts to read from the specified data register number (device number) to a length of Len +1 (32-bit)
consecutively to the servo. If the Source is D10 and the Len is 10, the system starts to read from D10 to a length of
10+1, starting from D10/D11, D12/D13 to D30/D31 to the servo.
4. Len is the E-CAM chart length for downloading; its setting range is from 1 to 720. If the length you are using is out of
the supported range, the instruction is NOT executed. And the Err (error) flag is ON. The servo supports up to 800; if
the Len+1 exceeds 800, PLC stops downloading and the Err (error) flag is ON.
5. CAddr is the starting address where to store the E-CAM chart in the servo; the supported setting range is from 0 to
798. If the starting address you are using is out of the supported range, the instruction is NOT executed. And the Err
(error) flag is ON.
6. If the supported 16 E-CAM charts are not sufficient, you can choose to download the E-CAM charts to the PLC file
7. You can make use of the 1st ~ 800th storage in the servo. When creating E-CAM charts with not so many points (less
than 800), you can download the E-CAM charts altogether at one time to save communication time. For example, if
you use points 1-200 in chart A and 201-400 in chart B, the points in chart A plus the points in chart B are 400 (less
_6
than 800), you can download these two charts at one go.
8. Once executing this instruction, it clears the Done flag first and then sends the E-CAM chart. Once the transmission
is complete, the Done flag is ON. If any error occurs from the slaves, the Err (error) flag is ON. If you need to resend
the E-CAM chart, you need to wait for one scan time before executing this instruction again.
ErrCode Description
0005 Error message sent from the slave while downloading or setting up.
The PLC is NOT in the Delta Special Driver & AS Remote Mode nor in the Delta Special
0006
Driver & CANopen DS301 Mode.
6-1086
Ch ap te r 6 App l ied Ins tr uc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
Slave
Smode
CAddr
CLen 6_
RPuu
Cmode
WbPuu
OutT
CaPuu
CwPuu
ORate
Done
Err
ErrCode
6-1087
AS Ser ies Pro gra mm in g M anu al
Symbol
Explanation
1. For execution of this instruction, you need to use PLC FW V1.06 or later and ISPSoft V3.07 or later.
2. This instruction is for setting up the E-CAM related parameters for the first time or setting up the E-CAM chart before
the first engagement. If you need to modify the E-CAM chart during engaging, you need to use instruction ECAMC
(API2816) instead.
3. Slave is the servo slave station, ranging from 1 to 8. If the slave station number you are using is out of the supported
range, the instruction is NOT executed. And the Err (error) flag is ON. After modifying and the specified servo slave
4. Smode is where you can set the command source for encoder of the master axis; the options are as shown below.
6-1088
Ch ap te r 6 App l ied Ins tr uc ti ons
command source is Pulse Command, you need to set up the pulse type via the servo parameter P1-00 while the
servo is OFF.
6. CAddr is the starting address where to store the E-CAM chart in the servo; the supported setting range is from 0 to
794. If the starting address you are using is out of the supported range, the instruction is NOT executed. And the Err
(error) flag is ON. PLC sets the servo parameter P5-81 (start address of data array).
7. CLen is the specified E-CAM chart length for executing; its setting range is from 5 to 720. E-CAM chart is divided
into CLen and the chart should include CLen +1 data. The servo supports 1st ~ 800th space; if the starting address is
501 and set the CLen to 400, this arrangement takes 902 (501+401) space which exceeds the 800th space, the
6_
instruction is NOT executed and the Err (error) flag is ON. PLC sets the servo parameter P5-82. Write this
parameter when E-CAM stops (P5-88, X=0).
8. RPuu is where you set the number of pulses for the master’s E-CAM to rotate a full 360 cycle; servo unit: PUU (per
user unit). The value in RPuu should be 32-bit and ranges from 10 to 1073741823. When the value exceeds the
upper or lower limit, it will be seen as the maximum vlaue or the minimum value. PLC sets the servo parameter P5-
83 and P5-84. Write the parameters when E-CAM stops (P5-88, X0=0).
9. Cmode is where you can set the engaging condition; the options are as shown below.
Mode Description
0 Engage immediately
1 DI: CAM ON
2 Any one of the Capture
Other numbers Treated as Mode 0, to engage immediately
6-1089
AS Ser ies Pro gra mm in g M anu al
11. WbPuu is where you set the number of pulses for E-CAM to wait before engaging for the first time. The value in
WbPuu should be 32-bit and ranges from -1073741824 to +1073741823. When the value exceeds the upper or
lower limit, it will be seen as the maximum vlaue or the minimum value. When the value is 0, it means no waiting
before the first engagement. PLC sets the servo parameter P5-87.
12. OutT is where you can set the disengaging condition; the options are as shown below. Option 2, 4 and 6 cannot be
selected at the same time.
0 Never disengaged -
Other
Treated as Mode 0, to engage immediately
numbers
14. CaPuu is where you set the number of pulses for E-CAM to wait before disengaging. The value in CaPuu should be
32-bit and ranges from -1073741824 to +1073741823. When the value exceeds the upper or lower limit, it will be
seen as the maximum vlaue or the minimum value. When the value is 0, it means no waiting before disengaging.
15. CwPuu is where you set the number of pulses for E-CAM to wait before engaging again. The value in CwPuu
should be 32-bit and ranges from -2147483648 to +2147483647. When the value is 0, it means no waiting before
6-1090
Ch ap te r 6 App l ied Ins tr uc ti ons
16. ORate is where you set the output ratio for the E-CAM chart. The value in ORate should be a 32-bit integer and
ranges from -2147000000 to +2147000000. When the value exceeds the upper or lower limit, it will be seen as the
maximum vlaue or the minimum value. PLC sets the servo parameter P5-19. For example, set ORate to 123000 and
123000 will be divided by 1000000 by the servo. And you will have 0.123 as the output ratio. Set ORate to 1500000
and 1500000 will be divided by 1000000 by the servo. And you will have 1.5 as the output ratio.
17. Once executing this instruction, it clears the Done flag first and then sends a request of setting E-CAM parameters.
If the transmission works correctly, the DONE flag is ON. If any error occurs from the slaves, the Err (error) flag is
ON. If you need to modify the E-CAM parameters, you need to wait for one scan time before executing this
instruction again.
18. If the Err (error) flag is ON, refer to the definitions below.
ErrCode Description
0003 This downloading address (CAddr) or length (CLen) is NOT in the supported range.
0005 Error message sent from the slave while downloading or setting up.
The PLC is NOT in the Delta Special Driver & AS Remote Mode nor in the Delta Special
0006
Driver & CANopen DS301 Mode.
6_
6-1091
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
Slave
CAMEn
CAMSt
MIPuu
SOPuu
Err
ErrCode
6-1092
Ch ap te r 6 App l ied Ins tr uc ti ons
Explanation
1. For execution of this instruction, you need to use PLC FW V1.06 or later and ISPSoft V3.07 or later.
2. The INITC and ASDON (Servo-ON) instructions must be complete before this instruction is executed.
3. Slave is a servo slave station where you can specify to receive commands; the supported slave station ranges from
1 to 8. If the slave station number you are using is out of the supported range, the instruction is NOT executed. And
the Err (error) flag is ON. If the specified servo slave station cannot communicate, the Err (error) flag is also ON.
4. CAMEn is where you can activate the E-CAM control. When the BOOL value in CAMEn is ON, it indicates E-CAM
control is activated. When the BOOL value in CAMEn is OFF, it indicates E-CAM control is NOT activated. PLC sets
5. CAMSt is where you can find the E-CAM status in the servo according to the servo parameter P5-88.
S: Shows the engage status (Read-only, the setting is invalid)
0: Stop
1: Engage status
2: Pre-engage status
6_
6. Status Description:
Stop: It is the initial status of the E-CAM. The E-CAM does not operate with the master pulse. When E-CAM
function is disabled (P5-88, X=0), it returns to this status.
Pre-engage: When the engaged condition (path 1) is established, it enters this status. The E-CAM still does
not operate with the master pulse.
Engage: When it reaches pre-engaged status (path 3), it enters this status. The E-CAM starts to operate with
the master pulse.
7. Path Description:
Path 1: When the engaged condition is established (P5-88.Z), the status is Stop → Pre-engaged.
Path 2: When the E-CAM function is disabled (P5-88.X=0), it returns to Stop status.
6-1093
AS Ser ies Pro gra mm in g M anu al
Path 4: When the disengaged condition is established (P5-88, U=4), the status is Engaged → Pre-engaged.
The lead pulse is determined by P5-92 (available for FM V1.006sub04 or later).
Path 5: When the disengaged condition is established (P5-88, U=1, 2, 6) or the E-CAM function is disabled
8. MIPuu is wherer you can find the number of pulses received by the specified Slave from the Master. The unit is per
user unit (PUU) of the servo. This value is shown accoridng to the servo parameter P5-86. When the instruction
9. SOPuu is wherer you can find the number of pulses outputted by the specified Slave. The unit is per user unit (PUU)
of the servo. This value is shown accoridng to the servo parameter CMD_O. When the instruction stops, this value
10. If the Err (error) flag is ON, refer to the definitions below.
ErrCode Description
0005 Error message sent from the slave while downloading or setting up.
The PLC is NOT in the Delta Special Driver & AS Remote Mode nor in the Delta Special
0006
Driver & CANopen DS301 Mode.
6-1094
Ch ap te r 6 App l ied Ins tr uc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
type INT
Slave
CAddr
CLen
Done
Err
ErrCode
Symbol 6_
Slave : Servo slave station number
From which address to start storing E-CAM chart
CAddr :
in the servo
CLen : Specified E-CAM chart length for executing
Explanation
1. For execution of this instruction, you need to use PLC FW V1.06 or later and ISPSoft V3.07 or later.
2. This instruction is for modifying E-CAM chart settings. You need to download the E-CAM chart to the specified servo
3. Slave is a servo slave station where you can specify to receive commands; the supported slave station ranges from
1 to 8. If the slave station number you are using is out of the supported range, the instruction is NOT executed. And
the Err (error) flag is ON. If the specified servo slave station cannot communicate, the Err (error) flag is also ON.
6-1095
AS Ser ies Pro gra mm in g M anu al
After modifying the E-CAM parameters and the specified servo slave station responds correctly, the DONE flag is
ON.
4. CAddr is the starting address where to store the E-CAM chart in the servo; the supported setting range is from 0 to
794. If the starting address you are using is out of the supported range, the instruction is NOT executed. And the Err
(error) flag is ON. PLC sets the servo parameter P5-81 (start address of data array).
5. CLen is the specified E-CAM chart length for executing; its setting range is from 5 to 720. E-CAM chart is divided
into CLen and the chart should include CLen +1 data. The servo supports 1st ~ 800th space; if the starting address is
501 and set the CLen to 400, this arrangement takes 902 (501+401) space which exceeds the 800th space, the
instruction is NOT executed and the Err (error) flag is ON. PLC sets the servo parameter P5-82. Write this
parameter when E-CAM stops (P5-88, X=0).
6. Once executing this instruction, it clears the Done flag first and then sends the modification request. After modifying
the E-CAM parameters and the specified servo slave station responds correctly, the DONE flag is ON. If any error
occurs from the slaves, the Err (error) flag is ON. If you need to modify the E-CAM starting address and length, you
need to wait for one scan time before executing this instruction again.
ErrCode Description
0002
_6 This E-CAM chart number is NOT in the supported range.
0003 This downloading address (CAddr) or length (CLen) is NOT in the supported range.
0005 Error message sent from the slave while downloading or setting up.
The PLC is NOT in the Delta Special Driver & AS Remote Mode nor in the Delta Special
0006
Driver & CANopen DS301 Mode.
6-1096
Ch ap te r 6 App l ied Ins tr uc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
Data type
Node
TarTQ
LSpeed
CurTQ
Reach
Err
Symbol
2. For CAN communication, the PLC firmware of V1.06 and later and the ISPSoft software of V3.07 and later support
the instruction. ECAT communication is available for the PLC with firmware V1.14.00 or later and ISPSoft V3.16 or
later, and the AS-FECAT function card must be installed on the PLC.
3. For Delta Servo Drives: set the parameter P1-01 to 3 (T: Torque Control mode) and turn the power off and on
For Delta Vector Control Drives: use ASDON instruction to set Torque Control mode and set the parameter P11-33
(Torque command source) to 3 (CANopen) on Delta AC Motor Drives that supports torque control mode.
6-1097
AS Ser ies Pro gra mm in g M anu al
4. Node: for CAN communication, the node ID of Delta Servos and Inverters range from 1 to 8 (Delta Servos) and 21
to 28 (Delta Inverters). If the setting is out of the range, Err flag will be ON. For ECAT communication, the node ID
range from 1 to 16 and the device of the assigned ID should be a servo. If the setting is out of the range, Err flag
will be ON.
5. TarTQ: specified target torque; it is suggested to check the manuals of Delta Servo Drives and AC Motor Drives
before setting up. You can modify the settings during the execution of this instruction.
Drive Node ID
TarTQ
Types Range
Setting the servo parameter P1-12 (internal torque limit 1), valid range: -300~+300,
unit: 1%; value exceeding the upper/lower limit will be treated as the upper/lower
limit value. For FW V1.08.40 or later, ASDA-A3/B3 high resolution torque mode is
supported; valid range: -3000~+3000, unit: 0.1%, value exceeding the upper/lower
1~8 (CAN) limit will be treated as the upper/lower limit value.
Servo
The +/- sign indicates the forward / reverse direction. The servo runs according to
Drive
1-16 (ECAT) torque control mode parameter P1-01 (torque output direction); set servo DI to
suggested to use COPRW instruction to clear the value in servo parameter P1-12
before Power-On. Since the default value of P1-12 is NOT 0%, it will start running
Setting the AC motor drive parameter P11-27 (maximum torque command); index
AC
_6 6071-00 (targeting torque) and index 6072-00 (largest output torque); valid range: -
Motor 21~28 (CAN)
500~+500; unit: 1%; value exceeding the upper/lower limit will be treated as the
Drive
upper/lower limit value.
6. LSpeed: maximum speed limit; this is used to prevent exceeding the speed limit, if the drives cannot complete the
specified torque commands. You can modify the settings during the execution of this instruction.
Drive Node ID
LSpeed
Types Range
Servo 1~8 (CAN) Setting the servo parameter P1-55 (maximum speed limit); valid range 10 to rated
1. P01-00 = LSpeed (max. output frequency); valid range: 0~59900; unit: 0.01 Hz;
value exceeding the upper/lower limit will be treated as the upper/lower limit
AC
2. P11-37=100% (forward speed limit)
Motor 21~28 (CAN)
3. P11-38=100% (reverse speed limit)
Drive
You need to set parameter P11-36 (speed limit selection) to 0 and when parameter
P11-36 is set to 0, the speed limit is determined by the settings in P11-37 and P11-
38.
6-1098
Ch ap te r 6 App l ied Ins tr uc ti ons
7. CurTQ: current torque value; unit: 0.1%; the value here is the same as the value shown in its corresponding SR.
Refer to API 2803 DRVIC instruction for more details on the corresponding SR.
8. Reach is the result of the comparison between CurTQ and TarTQ, shown in 0.1% as its unit. When CurTQ >=
TarTQ, the Reach flag is ON. When CurTQ < (TarTQ – 5), the Reach flag is OFF. The delay response value is 5.
9. If the nodes of the drives respond with error messages or do not respond, PLC will set Err flag to ON. For more
details on error codes, refer to SR658 and SR659 from API 2803 DRVIC instruction.
10. Since the values in the command of torque and speed may vary. It is suggested to check the manuals of Delta
Servo Drives and AC Motor Drives before setting up. This instruction does NOT examine or restrict if there is any
invalid value.
1. Set up ASD-A2
B. Set servo DI: TCM0 = ON and TCM1 = OFF in order to select internal torque command to 1.
If the value in DI is default value, you can set DI3 to ON and then the torque command is set by DI3 and DI4.
C. Turn the power off and on again for the setting to be effective.
2. When M1 changes from OFF to ON, the INITC instruction starts to initialize the servos at node ID 1, until
SM1681 is ON.
3. When M2 changes from OFF to ON, set the servo parameter P1-12 to 0. Use COPRW instruction to write the value
in D100 into P1-12 (S3=16#210B). Remember use COPRW instruction to clear the value in servo parameter P1-12
6_
before Power-On. Since the default value of P1-12 is NOT 0%, it will start running once it is Servo ON.
4. When M3 changes from OFF to ON, the ASDON instruction starts to enable the servo at node ID 1. When
5. When M4 changes from OFF to ON, servo parameter P1-12 = 12%, servo at node ID 2 moves at 1000 rpm until M4
is OFF.
6-1099
AS Ser ies Pro gra mm in g M anu al
_6
A. Set the parameter P09-36 (CANopen slave address) to range 21~28 and P09-37 (CANopen speed) to 0 (1
MHz) and P09-40 (CANopen decoding method) to 1 (Enable CANopen DS402 standard protocol).
B. Set the parameter P00-20 (source of master frequency command (AUTO)) to 6 (CANopen communication
C. Set parameter P11-36 (speed limit selection) to 0 and when parameter P11-36 is set to 0, the speed limit is
2. When M1 changes from OFF to ON, the INITC instruction starts to initialize the AC motor drive at node ID 21, until
SM1683 is ON.
3. When M2 changes from OFF to ON, start torque control on the AC motor drive at node ID 21.
4. When M3 changes from OFF to ON, the target torque of AC motor drive is set at 10% and AC motor drive at node ID
6 - 11 0 0
Ch ap te r 6 App l ied Ins tr uc ti ons
6_
6 - 11 0 1
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
Data type
Node
TarSpd
LimitTQ
CurTQ
Reach
Err
Symbol:
2. For CAN communication, the PLC firmware of V1.06 and later and the ISPSoft software of V3.07 and later support
the instruction. ECAT communication is available for the PLC with firmware V1.14.00 or later and ISPSoft V3.16 or
later, and the AS-FECAT function card must be installed on the PLC.
3. For Delta Servo Drives: set the parameter P1-01 to 3 (T: Torque Control mode) and turn the power off and on
For Delta Vector Control Drives: use ASDON instruction to set Torque Control mode and set the parameter P00-20
(source of master frequency command (AUTO)) to 6 (CANopen communication card) on Delta AC Motor Drives
6 - 11 0 2
Ch ap te r 6 App l ied Ins tr uc ti ons
4. Node: for CAN communication, the node ID of Delta Servos and Inverters range from 1 to 8 (Delta Servos) and 21
to 28 (Delta Inverters). If the setting is out of the range, Err flag will be ON. For ECAT communication, the node ID
range from 1 to 16 and the device of the assigned ID should be a servo. If the setting is out of the range, Err flag
will be ON.
6. LimitTQ: maximum torque value; once the instruction is started, the setting applies to the servo drive. You can
NOT modify the settings during the execution of this instruction.
Setting the servo parameter P1-12 (internal torque limit 1), valid range: -300~+300, unit: 1%; value exceeding the
upper/lower limit will be treated as the upper/lower limit value. For FW V1.08.40 or later, ASDA-A3/B3 high
resolution torque mode is supported; valid range: -3000~+3000, unit: 0.1%, value exceeding the upper/lower limit
will be treated as the upper/lower limit value. Setting P1-02 (speed and torque (force) limit setting); Set servo DI to
TCM0 = ON and TCM1 = OFF in order to select internal torque command to 1. It is suggested to use COPRW
instruction to clear the value in servo parameter P1-12 before Power-On. Since the default value of P1-12 is NOT
0%, it will start running once it is Servo ON. Supposing input a value of 30 in P1-12 and you will have the
Setting the AC motor drive parameter P11-17 (forward motor torque limit Quadrant I) and P11-19 (reverse motor
torque limit Quadrant III), valid range: 0~+500, unit: 1%; value exceeding the upper/lower limit will be treated as the
upper/lower limit value. Supposing input a value of 30 in P11-17 and P11-19 and you will have the followings as
Setting P11-17 P11-19 Allowable torque Forward torque (force) Reverse torque (force)
Item (force) range limit limit
Value +30 +30 -30% ~ +30% 30% -30%
7. CurTQ: current torque value; unit: 0.1%; the value here is the same as the value shown in its corresponding SR.
Refer to API 2803 DRVIC instruction for more details on the corresponding SR.
8. Reach is the result of the comparison between CurTQ and TarTQ, shown in 0.1% as its unit. When CurTQ >=
TarTQ, the Reach flag is ON. When CurTQ < (TarTQ – 5), the Reach flag is OFF. The delay response value is 5.
9. If the nodes of the drives respond with error messages or do not respond, PLC will set Err flag to ON. For more
details on error codes, refer to SR658 and SR659 from API 2803 DRVIC instruction.
6 - 11 0 3
AS Ser ies Pro gra mm in g M anu al
10. Since the values in the command of torque and speed may vary. It is suggested to check the manuals of Delta
Servo Drives and AC Motor Drives before setting up. This instruction does NOT examine or make any restrictions if
11. The moment when the instruction is closed, all the restrictions on torque value will be lifted, so that the drive can
1. Set up ASD-A2
A. Set the parameter P1-01 (operation mode) to 0001 (position mode)
B. Set the parameter P1-02 (speed and torque (force) limit setting) to 0010 (enabled) or use COPRW instruction
to set this parameter.
C. Set servo DI: TCM0 = ON and TCM1 = OFF in order to select internal torque command to 1.
If the value in DI is default value, you can set DI3 to ON and then the torque command is set by DI3 and DI4.
2. When M0 changes from OFF to ON, the INITC instruction starts to initialize the servos at node ID 1, until
SM1681 is ON.
3. When M1 changes from OFF to ON, use COPRW instruction to set the servo parameter P1-02 (speed and torque
4. When M2 changes from OFF to ON, the ASDON instruction starts to enable the servo at node ID 1. When
5. When M3 changes from OFF to ON, servo parameter P1-12 = 10%, servo at node ID 1 moves at 1000 rpm until M3
is OFF.
_6
6 - 11 0 4
Ch ap te r 6 App l ied Ins tr uc ti ons
A. Set the parameter P09-36 (CANopen slave address) to range 21~28 and P09-37 (CANopen speed) to 0 (1
MHz) and P09-40 (CANopen decoding method) to 1 (Enable CANopen DS402 standard protocol).
B. Set the parameter P00-20 (source of master frequency command) to 6 (CANopen communication card),
2. When M1 changes from OFF to ON, the INITC instruction starts to initialize the AC motor drive at node ID 21, until
SM1683 is ON. 6_
3. When M2 changes from OFF to ON, start torque control on the AC motor drive at node ID 21.
4. When M3 changes from OFF to ON, the torque limit of AC motor drive is set at 10% and AC motor drive at node ID
21 moves at 1000 rpm until M3 is OFF.
6 - 11 0 5
AS Ser ies Pro gra mm in g M anu al
_6
6 - 11 0 6
Ch ap te r 6 App l ied Ins tr uc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data UINT
DINT
LINT
TMR
CNT
INT
type
SlaveNo
SType
Done
Error
ErrCode
Symbol
Explanation
1. This instruction is available for AS PLC with firmware V1.14.00 or later and ISPSoft V3.16 or later and the AS-
2. Before executing this instruction, make sure that the AS-FECAT communication card has been installed on the
PLC.
3. SlaveNo should specify a value in the range of 1~16. (A maximum of 16 EtherCAT slaves are supported by AS-
FECAT.) If the setting value exceeds this range, the PLC will consider it as an initialization error.
Note: The IDs of slaves must start from 1, and the way of setting a slave ID by skipping some station numbers is not
allowed.
4. SType is the type of slaves and is an Array of Word variable, e.g. if SlaveNo is set to 8, this variable must also be
set to an Array[8] variable. Type codes and corresponding Delta drives are listed in the following table.
6 - 11 0 7
AS Ser ies Pro gra mm in g M anu al
5. Done is the initialization complete flag. It is suggested that you start the subsequent position control after the
initialization is completed.
6. Error is the initialization error flag, and ErrCode is the error code.
16#0000 No error
The number of slaves actually connected is less than the number of slaves
16#0009
set in INITEC.
_6 16#000A No physical connection between the AS-FECAT and the slave
7. When the connection-loss problem (SR0 = 0x1901~0x1910, the last two codes represent the slave ID) occurs after
the initialization is completed, SM1684 is OFF (default, indicating when one goes down, all slaves are OFF) and the
relevant actions of other slaves will also be paused. After the trouble is cleared, you need to initialize all slaves to
restart the operation. The PLC will automatically turn off the flashing error LED after confirming the initialization is
8. If slaves need to work independently without being affected by the failure of any slave else when the communication
cable is properly connected, you need to set the SM1684 to ON after initialization is done to notify the PLC to record
the error and set the corresponding error flag to ON, without needing to stop other slaves working.
6 - 11 0 8
Ch ap te r 6 App l ied Ins tr uc ti ons
STRING
LWORD
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
Data type
Slave
RWCode
Index
SubIndex
Length
Data
Done
Error
ErrCode 6_
Symbol
Slave : Slave ID
Index : Index
SubIndex Sub-index
6 - 11 0 9
AS Ser ies Pro gra mm in g M anu al
Explanation
1. This instruction is available for the PLC with firmware V1.14.00 or later and ISPSoft V3.16 or later, and the AS-
2. This instruction is used to read and write parameter values of a slave on the EtherCAT network through SDO
communication.
3. Slave specifies a value in the range of 1~16. (A maximum number of 16 EtherCAT slaves are supported by AS-
FECAT.) If the value exceeds the setting range for initialization, the PLC will consider it as a setting error.
4. RWCode specifies the function code for reading or writing data. See the read/write function codes in the table as
follows.
Read one single Read multiple Write one single Write multiple
Note: If you set RWCode to a function code which is not defined in the table above, the PLC will treat it as an error.
When the function codes for reading and writing one single parameter value are used, the Length parameter of the
instruction is invalid. When the function codes for reading and writing multiple parameter values are used, the
5. Index and SubIndex are the index and sub-index for the SDO communication. Length is the size of the multiple
parameter values to be read or written and the setting range is 1 ~ 50. If the setting value exceeds the range, it will
be automatically adjusted to the upper limit or lower limit. If you are to read and write multiple parameter values, the
_6
variables of Index and SubInex must be declared as Array type.
6. Data is the destination device for storing the data to read or the source device where the data to write is. To read
and write multiple parameter values, it should be noted that the data type of Data must be declared as Array. Each
read or written parameter value occupies 2 words.
7. Done is the reading or writing completion flag. During performing the read operation, you should wait for the
completion flag to be ON before using the read data.
8. Error is the communication error flag, and ErrCode is the error code.
16#0000 No error
16#0001 The slave ID is out of range or the specified slave is not initialized.
According to the set length of the data to read and write, the data in Index /
16#0004
SubIndex device is out of the range.
6 - 111 0
Ch ap te r 6 App l ied Ins tr uc ti ons
According to the set length of the data to read and write, the data in Data
16#0005
device is out of the range.
16#0007 This error often occurs when the settings of the ECATRW instruction are
6_
6 - 1111
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
UINT
DINT
LINT
TMR
CNT
INT
Data type
Slave
Reset
Position
State
Done
Error
ErrCode
Slave : Slave ID
Explanation
1. This instruction is available for the PLC with firmware V1.14.00 or later and ISPSoft V3.16 or later, and the AS-FECAT
2. Through PDO communication method, this instruction regularly refreshes the status and position of the specified
slave. And the specified slave is scanned and its status and position are automatically updated to the variables of
the instruction. It is suggested that you execute the instruction to refresh the latest status of the slave after the
initialization is completed.
6 - 111 2
Ch ap te r 6 App l ied Ins tr uc ti ons
3. Slave specifies a value in the range of 1~16. (Up to16 EtherCAT slaves are supported by AS-FECAT.) If the value
exceeds the setting range for initialization, the PLC will consider it as a setting error.
4. When Reset is ON, the occupied position control over the specified slave is cleared so that other position instructions
(including DDRVIC / DDRVAC / DPLSVC / ZRNC / DZRNC / DCSFOC / DTQC / DTQLC) can restart the slave to
perform the position control. After the position control is released, Reset will automatically change to OFF.
Note: In the normal position control, the original positioning will be stopped when this Reset action is performed.
5. If the device type of the specified slave is servo, Position is the current position (32 bits) of the specified slave. If
the device type of the specified slave is the AC motor drive, the value of Position is the fixed value 0.
7. Done is the status update completion flag. In normal circumstances, the flag should be ON continuously. If it is OFF,
the last updated data of the current state, position and speed of the slave will be maintained.
8. Error is the communication error flag, and ErrCode is the error code.
See the error codes and causes in the following table.
16#0000 No error
16#0001 The slave ID is out of range or the specified slave is not initialized.
6 - 111 3
AS Ser ies Pro gra mm in g M anu al
STRING
LWORD
WORD
LREAL
BOOL
REAL
Data
UINT
DINT
LINT
TMR
CNT
INT
type
Slave
State
Done
Error
ErrCode
Symbol
Slave : Slave ID
Explanation
1. This instruction is available for the PLC with firmware V1.14.00 or later and ISPSoft V3.16 or later, and the AS-
2. The execution of the INITEC instruction should be completed before this instruction is executed.
3. There is no limit on the number of times the instruction can be used. However, for the same slave only one
4. Slave specifies a value in the range of 1~16. (A maximum number of 16 EtherCAT slaves are supported by AS-
FECAT.) If the value exceeds the setting range or the specified slave is not initialized, the instruction will not be
executed.
6 - 111 4
Ch ap te r 6 App l ied Ins tr uc ti ons
1: Initialization State
2: Pre-Operational State
Bit 0~3 3: Bootstrap State
4: Safe-Operational State
8: Operational State
0:The device state is consistent with the required state or cleared by a command.
Bit 4
1:The device state is inconsistent with the required state or changed by the slave.
6. Done is the status update completion flag. In normal circumstances, the flag should be ON all the time. If it is OFF,
the last updated data of the EtherCAT slave state mentioned above will be maintained.
7. Error is the communication error flag, and ErrCode is the error code.
See the error codes and causes in the following table.
16#0000 No error
16#0001 The slave ID is out of range or the specified slave is not initialized.
16#0004 Two or more ECATST instructions are started with the same slave ID.
6 - 111 5
AS Ser ies Pro gra mm in g M anu al
Steps:
1) Make sure that Card 2 is set to AS-FCOPM communication card in AS HWCONFIG and the communication
mode is Delta special driver mode. Then check if the communication rate is the specified baud rate. After
above settings are correct, re-download the hardware configuration table and then re-check if the initialization
works. If the initialization still does not work, proceed with the next step.
2) Ensure that the servo initialization has been set by manual. Then re-power the servo on after power off. After
3) Ensure that the servo node ID (P3-00), baud rate and mode (P3-01) have been set by manual and
communication mode (P1-01) has been set to PR mode by manual. Then proceed with the step 4.
4) Ensure that the CAN communication cable connection is proper, the terminal resistor in AS-FCOPM card of
the PLC is switched on and the last servo has been connected with a terminal resistor. Then move forward to
the step 5.
5) Observe whether the word: code appears temporarily on the digital display of the servo when the PLC
enables the initialization instruction. If there is no code appearing temporarily, return to step 1 or replace the
servo parameters. E.g. DI0 is the negative limit input (contact A). Check if the actual input state has been OFF
_6 (Contact B). If DI function has been enabled, make the function disabled. If the function has not been enabled,
go on with step7.
7) The communication mode of the communication card AS-FCOMP in HWCONFIG is switched back to DS301
mode. Use the CANopen Builder software to search the slave and observe which slave has not been
scanned. Remove the one which has not been scanned and then make the initialization again by adjusting the
6 - 111 6
12
7
Chapter 7 Troubleshooting
Table of Contents
7.4 Error Codes and LED Indicators for Modules .................................... 7-28
7.4.1 Error Codes and LED Indicators for CPU Modules ............................. 7-28
7.4.2 Error Codes and LED Indicators for Analog/Temperature Modules ...... 7-35
7.4.3 Error Codes and LED Indicators for Positioning Module AS02 / 04PU ... 7-36
7.4.4 Error Codes and LED Indicators for High Speed Counter Module
AS02HC..................................................................................... 7-36
7.4.5 Error Codes and LED Indicators for Load Cell Module AS02LC ............ 7-37
7.4.6 Error Codes and LED Indicators for Module AS04SIL IO-Link as
a Communication Module ............................................................. 7-37
7.4.7 Error Codes and LED Indicators for Module AS00SCM as a Communication
Module ...................................................................................... 7-38
7.4.8 Error Codes and LED Indicators for Module AS00SCM as a Remote
7-1
AS Series Programming Manual
_7
7-2
C h a p t e r 7 Tr o u b l e s h o o t i n g
7.1 Troubleshooting
7.1.1 Basic troubleshooting steps
This chapter includes the possible errors the can occur during operation, their causes, and corrective actions.
The PLC should be operated in a safe environment (consider environmental, electronic, and vibration safeties).
Use the System Log function in ISPSoft to check system operation and logs
(1) Switch the CPU model state to STOP and then to RUN.
(4) Reset the CPU to the default settings and download the program again.
7-3
AS Series Programming Manual
Basic
troub leshoot in g No Refer to s ec tion 7 .1 .1 for
Basic troubleshooti ng steps
steps
done
Yes
Mo dule 1. Refer to s ec ti on 7 .1.4 f or the s ys tem l og
error 2. Refer to s ec ti on 7 .4 for error codes and
CP U mo d u le e r ro r L ED indic ators for CPU modules
o r mo d u le s er r or 3. Refer to s ec ti on 7 .3 for tr oubles hooting f or
I/O modules
CP U module
error
1. Refer to s ection 7 . 1. 4 for the s ys tem log
Yes 2. Refer to s ec ti on 7 .4 for error codes and
ERRO R L E D O N L ED indic ators for CPU modules
3. Refer to s ec ti on 7 .2 for tr oubles hooting f or
C PU modul es
No
No
No
_7 E RR O R LE D bl in k in g
sl o wl y (e ve r y 1 se c. ,
Yes 2. Refer to s ec ti on 7 .4 for error codes and
L ED indic ators for CPU modules
sto p fo r 3 se c.) 3. Refer to s ec ti on 7 .2 for tr oubles hooting f or
C PU modul es
No
No
Afte r g oi ng t hr ou gh
tro ub le sho oti ng s tep s,
Yes If the p roblem per sis ts , pleas e c ontact
the i ssu es a re s til l n ot s upport.
r eso lve d.
No
7-4
C h a p t e r 7 Tr o u b l e s h o o t i n g
(2) The System Log window appears. Click Clear Log to clear the error log in the window and the error log in the CPU
module, and reset the CPU module.
7_
Group No.: The number 1 indicates that the error occurred in the CPU module or the right-side module 1. The
numbers 2–16 indicate the error occurred in the remote modules 1–15.
Module No.: The number 0 indicates that the error occurred in the CPU module or the remote module. The
numbers 1–32 indicate the error occurred in the right-side module of the CPU module / remote
module. The number 1 represents the closest module to the CPU module or the remote module. This
number increases from the closest to the furthest from the CPU module or the remote module. Note:
up to eight extension modules can be connected to the right-side of the remote module.
PLC/Module name: Model names of the CPU, remote, and extension modules.
7-5
AS Series Programming Manual
Date & Time: The date and time the error occurred. The most recently occurring error is listed on the top.
(3) If the operation or operand exceeds the allowed range (SM0 = ON, stored in SR0) or an instruction inspection
error (SM5 = ON, stored in SR4) occurs, you can use the following method to see where the problem is.
When SM0 = ON, check the value in SR1 to see the error step. SR1: The address of the operation error (32-bit).
When SM5 = ON, check the value in SR5 to see the error step. SR5: The address of the grammar check error
(32-bit).
Once you know the error step number, you can go to ISPSoft -> Edit -> Step positioning. Enter the error step
number and click OK. The system takes you to the position where the step went wrong.
_7
7-6
C h a p t e r 7 Tr o u b l e s h o o t i n g
Note: Error log is also stored in SR. Refer to Chapter 2 for more information on SR.
Error
Code Description Solution Flag Log
(16#)
7-7
AS Series Programming Manual
Error
Code Description Solution Flag Log
(16#)
_7 distributors.
1. Make sure the module is properly connected to the
The extension module ID is CPU module and turn the modules on again.
1602 SM10 V
duplicated. 2. If the problem persists, contact the local authorized
distributors.
1. Make sure the module is properly connected to the
The extension module cannot be CPU module and turn the modules on again.
1603 SM10 V
operated. 2. If the problem persists, contact the local authorized
distributors.
1. Make sure the module is properly connected to the
Extension module communication CPU module and turn the modules on again.
1604 SM10 V
timeout 2. If the problem persists, contact the local authorized
distributors.
If the problem persists, contact the local authorized
1605 Hardware failure SM10 V
distributors.
Errors on the settings of the
Make sure the function card is properly connected to the
1606 communication module function SM10 V
CPU module and turn the modules on again.
card
7-8
C h a p t e r 7 Tr o u b l e s h o o t i n g
Error
Code Description Solution Flag Log
(16#)
Error
Code Description Solution Flag Log
(16#)
Check if the external 24 V power supply to the module is
002A The external voltage is abnormal. SM7 V
normal.
7-9
AS Series Programming Manual
range.
Error
Code Description Solution Flag Log
(16#)
0027 Battery Low Change battery or turn this option off SM219 X
Error
Code Description Solution Flag Log
(16#)
RTC cannot keep track of the If the problem persists, contact the local authorized
0026 SM218 V
current time distributors.
If the problem persists, contact the local authorized
0028 No response from RTC SM217 V
distributors.
7-10
C h a p t e r 7 Tr o u b l e s h o o t i n g
7.2.8 The RUN and LED Indicators are Blinking One After Another
Every 0.5 Seconds.
This happens when the CPU module memory card is backing up, restoring, or saving. If the CPU you are using is AS218
Series with no SD card installed, the RUN and LED indicators are blinking one after another every 0.5 seconds indicates
the AIO firmware is updating. If this happens once the power is supplied to the CPU module, it indicates the AIO firmware
updating has been failed and need to be updated again. If you did not update AIO firmware, the blinking indicates that
AIO component is abnormal and you need to contact your pointo f purchase.
7 - 11
AS Series Programming Manual
7-12
C h a p t e r 7 Tr o u b l e s h o o t i n g
authorized distributors.
1. Check if the network cable is normal and the
shielded cable is grounded.
2. Check if the start and end of the network cable
CANopen communication is in the BUS-
19F4 are both connected with a 121Ω terminal - V
OFF state.
resistor.
3. Check if all the node devices run at the same
baud rate on the network.
The sending registers exceed the Revise the time to synchronize (suggested to use a
19FB longer time). - V
range.
The receiving registers exceed the Revise the time to synchronize (suggested to use a
19FC longer time). - V
range.
1. Use the FCOMP card in the function card 2 slot
Not using the FCOMP card or not in the and make sure its work mode is CANopen
right mode for the ASDA-A2 while using communicaiton.
2001 SM0 V
the CANopen communication 2. Check the position where an error occurs and
instruction. modify the program. Compile the program and
download the program again.
The device used in the program
2003 SM0 V
exceeds the device range or it is illegal.
The operand n or the other constant
200B SM0 V
operands K/H exceed the range.
200C The operands overlap. SM0 V
The binary to binary-coded decimal
200D SM0 V
conversion is incorrect.
200E The string does not end with 00. Check the position where an error occurs and SM0 V
2012 Incorrect division operation modify the program. Compile the program and SM0 V
download the program again.
The value exceeds the range of values
2013 that can be represented by the floating- SM0 V
point numbers.
The task designated by the TKON or
2014 YKOFF instruction is incorrect or SM0 V
exceeds the range.
2017
The instruction BREAK is written
SM0 V
7_
outside of the FOR-NEXT loop.
1. Check the position where an error occurs and
No such position planning table number modify the program. Compile the program and
2027 SM0 V
or the format is incorrect. download the program again.
2. Check the settings in the position planning table.
High speed output instruction is being
Refer to SR28 for the record of the axis number and
2028 executed. Only one instruction can be - V
rearrange the output control procedures.
executed at a time.
The output frequency executed by
Modify the ratio of input and output frequency or
2030 CSFO instruction exceeds the - V
lower the input frequency.
maximum output frequency.
If the input pulse is 0 Hz and lasts for
Modify the ratio of input and output frequency or
2031 more than 2 seconds, PLC stops - V
lower the input frequency.
outputting automatically.
Set the Ethernet parameter for the CPU module in
6004 The IP address filter is set incorrectly. SM1108 X
HWCONFIG again.
600D RJ45 port is not connected. Check the connection. SM1100 X
7-13
AS Series Programming Manual
7-14
C h a p t e r 7 Tr o u b l e s h o o t i n g
7-15
AS Series Programming Manual
correct.
Check if operational sequence in the program is
6217 The socket is opened. - X
correct.
The data has been sent through the Check if operational sequence in the program is
6218 - X
socket. correct.
The data has been received through the Check if operational sequence in the program is
6219 - X
socket. correct.
Check if operational sequence in the program is
621A The socket is closed. - X
correct.
1. Check the communication setting in the master
The device communication function
7011 and the slave. - H
code in COM1 is incorrect.
2. Check the communication cable.
1. Check the communication setting in the master
The device communication address
7012 and the slave. - H
used in COM1 is incorrect.
2. Check the communication cable.
1. Check the communication setting in the master
The device used in COM1 exceeds the
7013 and the slave. - H
device range.
2. Check the communication cable.
1. Check the communication setting in the master
The device length of the communication
7014 and the slave. - H
data in COM1 exceeds the limit.
2. Check the communication cable.
The device checksum for the 1. Check the communication setting in the master
7017 communication serial port of COM1 is and the slave. - H
incorrect. 2. Check the communication cable.
1. Check the communication setting in the master
The device communication function
7021 and the slave. - H
code in COM2 is incorrect.
2. Check the communication cable.
1. Check the communication setting in the master
The device communication address
7022 and the slave. - H
used in COM2 is incorrect.
2. Check the communication cable.
1. Check the communication setting in the master
The device used in COM2 exceeds the
7023 and the slave. - H
device range.
2. Check the communication cable.
_7 1. Check the communication setting in the master
The device length of the communication
7024 and the slave. - H
data in COM2 exceeds the limit.
2. Check the communication cable.
The device checksum for the 1. Check the communication setting in the master
7027 communication serial port of COM2 is and the slave. - H
incorrect. 2. Check the communication cable.
1. Check the communication setting in the master
The device communication function
7031 and the slave. - H
code in the Ethernet is incorrect.
2. Check the communication cable.
1. Check the communication setting in the master
The device communication address
7032 and the slave. - H
used in the Ethernet is incorrect.
2. Check the communication cable.
1. Check the communication setting in the master
The device used in the Ethernet
7033 and the slave. - H
exceeds the device range.
2. Check the communication cable.
1. Check the communication setting in the master
The device length of the communication
7034 and the slave. - H
data in the Ethernet exceeds the limit.
2. Check the communication cable.
7-16
C h a p t e r 7 Tr o u b l e s h o o t i n g
The device checksum for the 1. Check the communication setting in the master
7037 communication serial port of the and the slave. - H
Ethernet is incorrect. 2. Check the communication cable.
1. Check the communication setting in the master
The device communication function
7041 and the slave. - H
code in the USB is incorrect.
2. Check the communication cable.
1. Check the communication setting in the master
The device communication address
7042 and the slave. - H
used in the USB is incorrect.
2. Check the communication cable.
1. Check the communication setting in the master
The device used in the USB exceeds
7043 and the slave. - H
the device range.
2. Check the communication cable.
1. Check the communication setting in the master
The device length of the communication
7044 and the slave. - H
data in the USB exceeds the limit.
2. Check the communication cable.
The device checksum for the 1. Check the communication setting in the master
7047 communication serial port of the USB is and the slave. - H
incorrect. 2. Check the communication cable.
1. Check the communication setting in the master
The device communication function
70B1 and the slave. - H
code in function card 1 is incorrect.
2. Check the communication cable.
1. Check the communication setting in the master
The device communication address
70B2 and the slave. - H
used in function card 1 is incorrect.
2. Check the communication cable.
1. Check the communication setting in the master
The device used in the function card 1
70B3 and the slave. - H
exceeds the device range.
2. Check the communication cable.
The device length of the communication 1. Check the communication setting in the master
70B4 data in function card 1 exceeds the and the slave. - H
limit. 2. Check the communication cable.
The device checksum for the 1. Check the communication setting in the master
70B7 communication serial port of function and the slave. - H
card 1 is incorrect. 2. Check the communication cable.
1. Check the communication setting in the master 7_
The device communication function
70C1 and the slave. - H
code in function card 2 is incorrect.
2. Check the communication cable.
1. Check the communication setting in the master
The device communication address
70C2 and the slave. - H
used in function card 2 is incorrect.
2. Check the communication cable.
1. Check the communication setting in the master
The device used in function card 2
70C3 and the slave. - H
exceeds the device range.
2. Check the communication cable.
The device length of the communication 1. Check the communication setting in the master
70C4 data in function card 2 exceeds the and the slave. - H
limit. 2. Check the communication cable.
The device checksum for the 1. Check the communication setting in the master
70C7 communication serial port of function and the slave. - H
card 2 is incorrect. 2. Check the communication cable.
1. Refer to the function codes defined by the
7203 Invalid communication function code communication protocols - H
2. Check if the software and firmware you are using
7-17
AS Series Programming Manual
_7
7-18
C h a p t e r 7 Tr o u b l e s h o o t i n g
Digital I/O, analog I/O, temperature measurement, positioning, high-speed counter, load cell, and network modules
can be installed in an AS Series system. There are 2 types of error codes; error and warning. The CPU module
and its modules stop operating when errors occur. The CPU modules and its modules do not stop operating when
warnings are triggered.
Error
Description Solution
Code
If the problem persists, contact the local authorized
16#1605 Hardware failure
distributors.
16#1607 The external voltage is abnormal. Check the power supply.
The factory calibration or the CJC is If the problem persists, contact the local authorized
16#1608
abnormal. distributors.
Error
Description Solution
Code
16#1801 The external voltage is abnormal. Check the power supply.
7-19
AS Series Programming Manual
Error
Description Solution
Code
The signal received by channel 5
16#180C exceeds the range of analog inputs Check the signal received by channel 5
(temperature).
The signal received by channel 6
16#180D exceeds the range of analog inputs Check the signal received by channel 6
(temperature).
The signal received by channel 7
16#180E exceeds the range of analog inputs Check the signal received by channel 7
(temperature).
The signal received by channel 8
16#180F exceeds the range of analog inputs Check the signal received by channel 8
(temperature).
Upon power-on, the module does NOT
Check the connection between the CPU and the
- receive any detecting request from the
PLC CPU. module or reconnect them again.
7-20
C h a p t e r 7 Tr o u b l e s h o o t i n g
Error
Description Solution
Code
Linear count exceeding the set Check the signal received by channel 1 and 2.
16#1802
upper/lower limit on CH1 Hardware counter is still counting; when the number is
Linear count exceeding the set accumulated to the maximum and go back to the
16#1803
upper/lower limit on CH2 minimum, the error code will be cleared.
The variation in relation to a SSI encoder Check if there is any interruption and check the device
16#1804
position exceeding the limit on CH1 specification to see if the offset setting is matching with
The variation in relation to a SSI encoder the actual placement. When the next reading is normal,
16#1805
position exceeding the limit on CH2 the error code will be cleared.
Error
Description Solution
Code
If the problem persists, contact the local authorized
16#1605 Hardware failure (that is, the driver board)
distributors.
16#1607 The external voltage is abnormal. Check the power supply.
7-21
AS Series Programming Manual
Error
Description Solution
Code
16#1801 The external voltage is abnormal. Check the power supply.
If the problem persists, contact the local authorized
16#1802 Hardware failure
distributors.
Check if the terminals is affected by any interference or
16#1807 Diver board failure is short-circuit (check EXC+ and EXC-). If the problem
persists, contact the local authorized distributors.
The signal received by channel 1
Check the signal received by channel 1 and the cable
16#1808 exceeds the range of analog inputs or the
connections.
SEN voltage is abnormal.
The signal received by channel 1 Check the value input to channel 1 and the maximum
16#1809
exceeds the weight limit. weight setting.
The factory calibration in channel 1 is
16#180A Check the weight calibration in channel 1.
incorrect.
The signal received by channel 2
Check the signal received by channel 2 and the cable
16#180B exceeds the range of analog inputs or the
connections.
SEN voltage is abnormal.
The signal received by channel 2 Check the value input to channel 2 and the maximum
16#180C
exceeds the weight limit. weight setting.
The factory calibration in channel 2 is
16#180D Check the weight calibration in channel 1.
incorrect.
Upon power-on, the module does NOT
Check the connection between the CPU and the
- receive any detecting request from the
PLC CPU. module or reconnect them again.
Error
Description Solution
Code
1. Check that the module is securely installed.
16#1605 Hardware failure 2. Install a new AS04SIL or if the problem persists,
contact the local authorized distributors.
24VDC power supply is not sufficient and Check whether the 24 V power supply to the module is
16#1606 then recovered from low-voltage for less normal.
than 10 ms.
7-22
C h a p t e r 7 Tr o u b l e s h o o t i n g
Error
Description Solution
Code
16#1802 No external power supply Check the external power supply
Error
Description Solution
Code
See the following IO-Link Event Code table for more
16#1800 Error occurs in IO-Link Master
information.
See the following IO-Link Event Code table for more
16#1801 Error occurs in IO-Link device
information.
Error in the download of IO-Link device
16#1803 Redownload the configuration by the software.
mapping tables
Failure to switch the process data Check if the configurations of the actual connected
16#1804
parameter set device are the same as the ones in the software.
A connection error occurs in IO-Link via
16#1805 communication port 1
A connection error occurs in IO-Link via 1. Cut the external power off for 3 seconds and then
16#1806 communication port 2
put the power back on.
A connection error occurs in IO-Link via
16#1807 communication port 3 2. Redownload the configuration by the software.
A connection error occurs in IO-Link via
16#1808 communication port 4
1. Cut the external power off for 3 seconds and then
Device scanning error and the scanning is
16#1809 forced to stop put the power back on.
2. Scan all device again
7-23
AS Series Programming Manual
7-24
C h a p t e r 7 Tr o u b l e s h o o t i n g
Error
Description Solution
Code
3. Check that the module is securely installed.
16#1605 Hardware failure
4. Install a new AS00SCM or contact your distributor.
1. Check if the function card is securely installed.
2. Install a new function card or contact your
Errors on the settings of the distributor.
16#1606
communication module function card 3. Check if the setting in HWCONFIG is consistent with
the function card setting.
4. Install a new AS00SCM or contact your distributor.
Error
Description Solution
Code
Check the parameter in HWCONFIG. Download the
16#1802 Incorrect parameters
parameter again.
1. Check if the communication cable is properly
connected.
2. Check if the station number and the
16#1803 Communication timeout
communication format are correctly set.
3. Check if the connection with the function card is
working correctly.
1. Check the settings of the UD Link.
16#1804 The UD Link setting is incorrect.
2. Check the warning settings in the PLC.
7_
The following error codes can only be viewed with SCMSoft; when the following errors occur, they are not shown on the
LED indicators and the system does not send the error messages to the CPU module.
Error
Description Solution
Code
The settings in HWCONFIG and manual Check the settings in HWCONFIG and manual
16#0107 settings are not consistent with function settings for function card 1.
card 1.
The settings in HWCONFIG and manual Check the settings in HWCONFIG and manual
16#0108 settings are not consistent for function card settings for function card 2.
2.
Check the parameter in HWCONFIG. Download the
16#0201 Incorrect parameters
parameter again.
1. Check if the station number and the
communication format are correctly set.
16#0301 Function card 1 communication timeout
2. Check if the connection with the function card is
working correctly.
7-25
AS Series Programming Manual
Error
Description Solution
Code
1. Check if the station number and the
communication format are correctly set.
16#0302 Function card 2 communication timeout
2. Check if the connection with the function card is
working correctly.
1. Check the UD Link settings.
16#0400 Invalid UD Link Group ID for function card 1
2. Check the warning settings in the PLC.
1. Check the UD Link settings.
16#0401 Invalid UD Link Group ID for function card 2
2. Check the warning settings in the PLC.
1. Check the UD Link settings.
16#0402 Invalid UD Link Command for function card 1
2. Check the warning settings in the PLC.
1. Check the UD Link settings.
16#0403 Invalid UD Link Command for function card 1
2. Check the warning settings in the PLC.
Error
Description Solution
Code
1. Check if the module is securely installed.
16#1301 Hardware failure 2. Change and install a new AS00SCM or contact your
distributor.
1. Check if the function card is securely installed with
the AS-FCOPM card.
2. Change and install a new function card or contact
Errors on the settings of the
_7 16#1302
communication module function card
your distributor.
3. Check if the setting in HWCONFIG is consistent
with the function card setting.
4. Install a new AS00SCM or contact your distributor.
More than eight remote modules on the Check the total number of remote modules on the right
16#1304 right side of the CPU module. side of the CPU module (maximum is 8).
Error
Description Solution
Code
This error code should work with AS Series Remote
Module Setting in ISPSoft. When this error code shows
up, it indicates the remote module had been stopped:
Master Disconnected, Master Reconnected, IO Module
16#1506 Remote module had been stopped.
Alarm, or IO Module Timeout. Check and clear the
problem and then power-off and then power-on the
remote module to refresh its state. Refer to section 9.4.3
in AS Series Module Manual for more details.
7-26
C h a p t e r 7 Tr o u b l e s h o o t i n g
Error
Description Solution
Code
Check the network connection cable of the remote
16#1500 Remote module communication timeout
modules.
Error codes:
Error
Description Solution
Code
24VDC power supply is not sufficient and Check if the 24 V power supply to the module is normal.
16#1303 then recovered from low-voltage for less
than 10 ms.
7-27
AS Series Programming Manual
c. CPU status: If the error occurs, the CPU stops running, keeps running, or shows the status you defined for the
error.
d. LED indicator status: If the error occurs, the LED indicator is ON, OFF, or blinks.
Descriptions
Error type:
ON: A serious error occurs in the module.
CPU Error LED Blinking fast (every 0.2 seconds): unstable power supply or hardware
Failure.
Blinking normally (every 0.5 second): system program errors or system
cannot run.
_7 Warning type:
Blinking slowly (every one second and off for three seconds): a warning is
triggered, but the system can still run.
OFF: a warning is triggered, but the system can still run. You can modify the rules
of how a warning is triggered, or use the SM/SR to show the warnings.
7-28
C h a p t e r 7 Tr o u b l e s h o o t i n g
7-29
AS Series Programming Manual
7-30
C h a p t e r 7 Tr o u b l e s h o o t i n g
7-31
AS Series Programming Manual
7-32
C h a p t e r 7 Tr o u b l e s h o o t i n g
7-33
AS Series Programming Manual
7-34
C h a p t e r 7 Tr o u b l e s h o o t i n g
7-35
AS Series Programming Manual
7.4.3 Error Codes and LED Indicators for Positioning Module AS02 /
04PU
7.4.4 Error Codes and LED Indicators for High Speed Counter Module
AS02HC
7-36
C h a p t e r 7 Tr o u b l e s h o o t i n g
7.4.5 Error Codes and LED Indicators for Load Cell Module AS02LC
7.4.6 Error Codes and LED Indicators for Module AS04SIL IO-Link as
a Communication Module
7_
MS Status LED indicator
Error Code Description
ON Blinking
NS LED indicator
Error Code Description
ON Blinking
7-37
AS Series Programming Manual
NS LED indicator
Error Code Description
ON Blinking
7-38
C h a p t e r 7 Tr o u b l e s h o o t i n g
7-39
AS Series Programming Manual
No I/O module is configured to Add I/O modules in AS01DNET (RTU) in the DeviceNet
F1 AS01DNET (RTU) in the Builder software and download the configuration data to
DeviceNet Builder software. AS01DNET (RTU) after the configuration is finished.
The work voltage of AS01DNET Check if the power supply for AS01DNET (RTU) works
F2
(RTU) is too low. normally.
AS01DNET (RTU) enters the
F3 Repower AS01DNET (RTU).
test mode.
1. Check if the network communication cable is normal and
the shielded cable is grounded.
AS01DNET (RTU) is the Bus- 2. Ensure the baud rates of all network nodes are same.
F4
Off state. 3. Check if the two ends of the network are both connected
with a 120Ω terminal resistor.
4. Repower the scanner module.
7-40
C h a p t e r 7 Tr o u b l e s h o o t i n g
Internal error;
Return the product for repair if the error still exists after re-
F6 An error in the internal storage
power on.
units of AS01DNET (RTU)
Internal error;
Return the product for repair if the error still exists after re-
F7 An error in the data exchange
power on.
units of AS01DNET (RTU)
Return the product for repair if the error still exists after re-
F8 Manufacture error
power on.
Internal error;
Return the product for repair if the error still exists after re-
F9 An error in the access of the
power on.
Flash of AS01DNET (RTU)
If the code has emerged for a long time, please shoot troubles
in the methods below.
1. Ensure that there are at least two nodes working normally
in the network.
2. Check if the two ends of the network are both connected
with a 121Ω terminal resistor.
3. Ensure that the baud rates of all network nodes are same.
E7
Repeated node ID detection 4. Check if the network cable has a problem such as being 7_
disconnected and loosened.
5. Check if the bus communication cable length exceeds
maximum transmission distance. If the maximum
transmission distance is exceeded, the stability of the
system can not be ensured.
6. Check if the shielded wire of the network communication
cable is grounded.
7. Turn on the power of AS01DNET (RTU) again.
7-41
AS Series Programming Manual
MEMO
_7
7-42