0% found this document useful (0 votes)
2 views35 pages

Programming Instruction

The document provides detailed programming instructions for various PLC (Programmable Logic Controller) models, including sequence, bit control, and sequence control instructions. It outlines the mnemonics, operation methods, and specific key inputs for different PLC series. Additionally, it includes notation for understanding instruction support and operation across different models.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views35 pages

Programming Instruction

The document provides detailed programming instructions for various PLC (Programmable Logic Controller) models, including sequence, bit control, and sequence control instructions. It outlines the mnemonics, operation methods, and specific key inputs for different PLC series. Additionally, it includes notation for understanding instruction support and operation across different models.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Common PLC Information

Programming Instructions

Programming Instructions
Instructions Table of Contents
Sequence Instructions. . . . . . . . . . . . . . . . . . . . . . . . 48
Timer and Counter Instructions . . . . . . . . . . . . . . . . . 51
Data Comparison Instructions . . . . . . . . . . . . . . . . . . 52
Data Movement Instructions . . . . . . . . . . . . . . . . . . . 56
Shift Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Increment/Decrement Instructions . . . . . . . . . . . . . . 59
Calculation Instructions . . . . . . . . . . . . . . . . . . . . . . . 59
Conversion Instructions. . . . . . . . . . . . . . . . . . . . . . . 63
Logic Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Special Math Instructions . . . . . . . . . . . . . . . . . . . . . 65
Floating-point Math Instructions . . . . . . . . . . . . . . . . 65
Double Precision Floating-point Math Instructions . . 67
Table Data Processing Instructions. . . . . . . . . . . . . . 68
Data Control Instructions. . . . . . . . . . . . . . . . . . . . . . 70
Subroutine Instructions . . . . . . . . . . . . . . . . . . . . . . . 71
Interrupt Control Instructions . . . . . . . . . . . . . . . . . . . 72
Step Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Peripheral Control Instructions . . . . . . . . . . . . . . . . . 73
Clock and Time-related Instructions . . . . . . . . . . . . . 77
Debugging Instructions . . . . . . . . . . . . . . . . . . . . . . . 77
User-defined Error and Diagnostic Instructions. . . . . 77
Special Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Block Program Instructions . . . . . . . . . . . . . . . . . . . . 79
Character String Processing Instructions . . . . . . . . . 80
SFC Control Instructions . . . . . . . . . . . . . . . . . . . . . . 81

Notation Used in Instructions Tables


The following notation is used to indicate various aspects of instructions support and operation.

• Function Codes, Instruction Variations, and Input • Differentiated Instructions


Methods Some instructions support differentiated versions.
Notation Meaning Input example C-series PLCs
( ) Indicates function codes for ladder pro- FUN Key ® Instructions with mnemonics prefixed with @ are executed only when
gramming instructions. function_code ® the execution condition changes from OFF to ON. These are input
ENT Key from the Programming Console using the NOT Key, for example
< > Indicates function codes for block program- SHIFT Key ® FUN Key @MOV(21) is input as follows: FUN Key ® 2 ® 1 ® NOT Key ® ENT Key
ming instructions. ® function_code ®
ENT Key SK20, SP10, SP16, and SP20
Key Indicates instructions that can be input us- --- These PLCs do not directly support differentiated versions of any
ing a special Programming Console Key. instructions. To produce the same results, use DIFD and DIFU to con-
--- Indicates instructions that are not support- --- trol instruction execution indirectly.
ed by a PLC.
@ Indicates that the instruction has an up- --- CJ1, CS1-series, CVM1, and CV-series PLCs
wardly differentiated version (executed on Instructions with mnemonics prefixed with @ are executed only when
OFF to ON changes).
the execution condition changes from OFF to ON, those prefixed with
% Indicates that the instruction has a down- --- %, only for ON to OFF. Refer to user manuals for input methods.
wardly differentiated version (executed on
ON to OFF changes).
• Immediate Refresh Instructions
! Indicates that the instruction has an imme- ---
diate refresh version. The CS1-series, CVM1, and CV-series PLCs support instructions with
Expan- Indicated expansion instructions. The de- --- immediate refresh versions (!). As soon as these instructions are exe-
sion fault function code is also given if one ex- cuted, I/O refreshing is processed.
ists. These instructions cannot be executed
unless a function code is allocated.
• Expansion Instructions
The CQM1H, CPM2A, CPM2C, and C200HX/HG/HE PLCs have
expansion instructions indicated by Expansion in the tables. These
instructions must be allocated function codes before they can be used
in programs (although some of these are allocated function codes by
default, which can be used unless the allocations are changed).

Common PLC Information-47


Common PLC Information
Programming Instructions
Sequence Instructions

Sequence Instructions
■ Ladder Diagram Instructions
Name CPM2A CPM1A CQM1H C200HX SK20
Mnemonic CPM2C SRM1 C200HG SP10
C200HE SP16
SP20
LOAD Key Key Key Key Key
LD
LOAD NOT Key Key Key Key Key
LD NOT
AND Key Key Key Key Key
AND
AND NOT Key Key Key Key Key
AND NOT
OR Key Key Key Key Key
OR
OR NOT Key Key Key Key Key
OR NOT
AND LOAD Key Key Key Key Key
AND LD
OR LOAD Key Key Key Key Key
OR LD
NOT --- --- --- --- ---
NOT
DIFFERENTIATE UP --- --- --- --- ---
UP
DIFFERENTIATE DOWN --- --- --- --- ---
DOWN
BIT TEST --- --- --- (350) ---
TST (-Z only)
BIT TEST NOT --- --- --- (351) ---
TSTN (-Z only)

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
LOAD Key Key Key Key Starts an instruction line based on the status of the specified bit.
LD @, %, ! @, %, ! @, %, ! @, %, !
LOAD NOT Key Key Key Key Starts an instruction line based on the inverse status of the specified
LD NOT ! ! ! ! bit.
AND Key Key Key Key Logically ANDs the status of the operand bit with the current execu-
AND @, %, ! @, %, ! @, %, ! @, %, ! tion condition.
AND NOT Key Key Key Key Logically ANDs the inverse status of the specified bit with the current
AND NOT ! ! ! ! execution condition.
OR Key Key Key Key Logically ORs the status of the specified bit with the current execu-
OR @, %, ! @, %, ! @, %, ! @, %, ! tion condition.
OR NOT Key Key Key Key Logically ORs the inverse status of the specified bit with the current
OR NOT ! ! ! ! execution condition.
AND LOAD Key Key Key Key Logically ANDs the previous execution conditions.
AND LD
OR LOAD Key Key Key Key Logically ORs the previous execution conditions.
OR LD
NOT (520) (520) (010) (010) Inverts the current execution condition and connects the next line.
NOT
DIFFERENTIATE UP (521) (521) (018) (018) Connects the next line at the rising edge (OFF ® ON transition) of
UP (-V2 only) the input condition.
DIFFERENTIATE DOWN (522) (522) (019) (019) Connects the next line at the falling edge (ON ® OFF transition) of
DOWN (-V2 only) the input condition.
BIT TEST (350) (350) (350) --- Connects the next line when the specified bit is ON.
TST (-V2 only)
BIT TEST NOT (351) (351) (351) --- Connects the next line when the specified bit is OFF.
TSTN (-V2 only)

Common PLC Information-48


Common PLC Information
Programming Instructions
Sequence Instructions

■ Bit Control Instructions


Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
OUTPUT Key Key Key Key Key Key
OUT
OUTPUT NOT Key Key Key Key Key Key
OUT NOT
KEEP (11) (11) (11) (11) (11) (11)
KEEP
DIFFERENTIATE UP (13) (13) (13) (13) (13) ---
DIFU
DIFFERENTIATE DOWN (14) (14) (14) (14) (14) (11)
DIFD
SET Key Key Key Key Key ---
SET <07>
RESET Key Key Key Key Key ---
RSET <08>
MULTIPLE BIT SET --- --- --- --- --- ---
SETA
MULTIPLE BIT RESET --- --- --- --- --- ---
RSTA
SINGLE BIT SET --- --- --- --- --- ---
SETB
SINGLE BIT RESET --- --- --- --- --- ---
SRTB
SINGLE BIT OUTPUT --- --- --- --- --- ---
OUTB

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
OUTPUT Key Key Key Key Outputs the result of logic processing.
OUT ! ! ! !
OUTPUT NOT Key Key Key Key Inverts the result of logic processing and outputs that result.
OUT NOT ! ! ! !
KEEP (011) (011) (011) (011) Operates a latch output.
KEEP ! ! ! !
DIFFERENTIATE UP (013) (013) (013) (013) Turns ON the specified bit for just one cycle when the result of logic
DIFU ! ! ! ! processing goes from OFF to ON.
DIFFERENTIATE DOWN (014) (014) (014) (014) Turns ON the specified bit for just one cycle when the result of logic
DIFD ! ! ! ! processing goes from ON to OFF.
SET Key Key (016) (016) Turns ON the specified bit only when the result of logic processing is
SET @, %, ! @, %, ! @, %, ! @, %, ! ON.
RESET Key Key (017) (017) Turns OFF the specified bit only when the result of logic processing
RSET @, %, ! @, %, ! @, %, ! @, %, ! is ON.
MULTIPLE BIT SET (530) (530) (047) --- Turns ON the specified number of consecutive bits.
SETA ! ! !
(-V2 only)
MULTIPLE BIT RESET (531) (531) (048) --- Turns OFF the specified number of consecutive bits.
RSTA ! ! !
(-V2 only)
SINGLE BIT SET (532) (532) --- --- Turns ON the specified bit in the DM or EM Area.
SETB @, ! @, !
(-H only)
SINGLE BIT RESET (533) (533) --- --- Turns OFF the specified bit in the DM or EM Area.
SRTB @, ! @, !
(-H only)
SINGLE BIT OUTPUT (534) (534) --- --- Outputs the result of logic processing to the specified bit in the DM
OUTB (-H only) or EM Area.

Common PLC Information-49


Common PLC Information
Programming Instructions
Sequence Instructions

■ Sequence Control Instructions


Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
NO OPERATION (00) (00) (00) (000) (00) (00)
NOP
END (01) (01) (01) (001) (01) (01)
END
INTERLOCK (02) (02) (02) (002) (02) (02)
IL
INTERLOCK CLEAR (03) (03) (03) (003) (03) (03)
ILC
JUMP (04) (04) (04) (004) (04) ---
JMP
JUMP END (05) (05) (05) (005) (05) ---
JME
CONDITIONAL JUMP --- --- --- --- --- ---
CJP
CONDITIONAL JUMP --- --- --- --- --- ---
CJPN
MULTIPLE JUMP --- --- --- --- --- ---
JMP0
MULTIPLE JUMP END --- --- --- --- --- ---
JME0
FOR-NEXT LOOPS --- --- --- --- --- ---
FOR
BREAK LOOP --- --- --- --- --- ---
BREAK
FOR-NEXT LOOPS --- --- --- --- --- ---
NEXT

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
NO OPERATION (000) (000) (000) (000) Performs no operation. NOP can be used with mnemonic displays
NOP only.
END (001) (001) (001) (001) Indicates the end of the program.
END
INTERLOCK (002) (002) (002) (002) If the execution condition is OFF, all outputs between the IL instruc-
IL tion and the next ILC instruction are turned OFF and all timer s are
reset.
INTERLOCK CLEAR (003) (003) (003) (003) Releases an interlock initiated by IL.
ILC
JUMP (004) (004) (004) (004) If the execution condition is OFF, the instructions between JMP and
JMP the next JME instruction with the same jump number are not execut-
ed, i.e., they are jumped.
JUMP END (005) (005) (005) (005) Releases a jump initiated by JMP.
JME
CONDITIONAL JUMP (510) (510) (221) (221) If the execution condition is ON, program execution jumps directly to
CJP (-V2 only) the next JME instruction with the same jump number.
CONDITIONAL JUMP (511) (511) (222) (222) If the execution condition is OFF, program execution jumps directly to
CJPN (-V2 only) the next JME instruction with the same jump number.
MULTIPLE JUMP (515) (515) --- --- If the execution condition is OFF, all instructions between JMP0 and
JMP0 the next JME0 instruction are treated as NOP instructions.
MULTIPLE JUMP END (516) (516) --- --- Indicates the end of the jump initiated by JMP0.
JME0
FOR-NEXT LOOPS (512) (512) --- --- The program loop between FOR and NEXT is executed uncondition-
FOR ally for the specified number of loops and then program execution
continues from the instruction following NEXT.
BREAK LOOP (514) (514) --- --- Interrupts a FOR-NEXT loop. All remaining instructions up to NEXT
BREAK are treated as NOP.
FOR-NEXT LOOPS (513) (513) --- --- Indicates the end of a FOR-NEXT loop.
NEXT

Common PLC Information-50


Common PLC Information
Programming Instructions
Timer and Counter Instructions

Timer and Counter Instructions


Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
TIMER Key Key Key Key Key Key
TIM
COUNTER Key Key Key Key Key Key
CNT
REVERSIBLE COUNTER (12) (12) (12) (012) (12) ---
CNTR
HIGH-SPEED TIMER (15) (15) (15) (015) (15) (21)
TIMH (1-ms timer)
ONE-MS TIMER Expansion --- --- --- --- ---
TMHH
ACCUMULATIVE TIMER --- --- (87) (087) --- ---
TTIM
LONG TIMER Expansion --- --- --- --- ---
TIML
MULTI-OUTPUT TIMER --- --- --- --- --- ---
MTIM
RESET TIMER/COUNTER --- --- --- --- --- ---
CNR
10-MS TIMER --- --- --- --- --- (20)
TIMM
ANALOG TIMER --- --- --- --- --- (22)
ATIM
ANALOG TIMER 1 --- --- --- --- --- (25)
ATM1 (SK20, SP10, SP20
only)
ANALOG TIMER 2 --- --- --- --- --- (26)
ATM2 (SK20, SP10, SP20
only)

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
TIMER Key Key Key Key Operates a decrementing ON-delay timer. The set value can be set
TIM between 0 and 999.9 s.
COUNTER Key Key Key Key Operates a decrementing counter. The set value can be set between
CNT 0 and 9999.
REVERSIBLE COUNTER (012) (012) (012) (012) Operates a reversible (up/down) counter.
CNTR
HIGH-SPEED TIMER (015) (015) (015) (015) Operates a high-speed decrementing ON-delay timer that times in
TIMH 10-ms units. The set value can be set between 00.00 and 99.99 s.
Operates a very high-speed decrementing ON-delay timer that times
in 1-ms units. The set value can be set between 0.000 and 9.999 s.
ONE-MS TIMER (540) (540) --- --- Operates a totalizing timer.
TMHH
ACCUMULATIVE TIMER (087) (087) (120) (120) Operates a long-term decrementing ON-delay timer that can time up
TTIM to 115 days.
LONG TIMER (542) (542) (121) (121) Operates a totalizing timer that can have up to 8 independent pairs
of set values and Completion Flags.
MULTI-OUTPUT TIMER (543) (543) (122) (122) Operates a decrementing ON-delay timer. The set value can be set
MTIM between 0 and 999.9 s.
RESET TIMER/COUNTER (545) (545) (236) (236) Resets a specified range of timers or counters.
CNR ! ! ! !
10-MS TIMER --- --- --- --- Operates a timer that times in 10-ms units.
TIMM
ANALOG TIMER --- --- --- --- Operates an analog timer with a set value that can be adjusted freely
ATIM (0.1 to 25.0 s) with the SK/SP series PLC’s built-in potentiometer.
ANALOG TIMER 1 --- --- --- --- Operates an analog timer with a set value that can be adjusted freely
ATM1 with the SK/SP16/SP20 series PLC’s built-in potentiometer.
ANALOG TIMER 2 --- --- --- --- Operates an analog timer with a set value range of 1 to 250 s, 0.1 to
ATM2 25.0 s, or 0.01 to 2.50 s.

Common PLC Information-51


Common PLC Information
Programming Instructions
Timer and Counter Instructions, Continued

Timer and Counter Instructions, Continued


Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
REVERSIBLE DRUM COUNTER --- --- --- --- --- ---
FUN60
REVERSIBLE DRUM COUNTER (23)
RDM
HIGH-SPEED DRUM COUNTER --- --- --- --- --- ---
FUN61
HIGH-SPEED COUNTER --- --- --- --- --- ---
HDM
HIGH-SPEED COUNTER (24)
CNTH (SK20, SP10, SP20
only)

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
REVERSIBLE DRUM COUNTER --- --- --- --- Operates a reversible drum counter. The set value can be set be-
FUN60 tween 0 and 9999.
REVERSIBLE DRUM COUNTER --- --- --- ---
RDM
HIGH-SPEED DRUM COUNTER --- --- --- --- Compares the counter’s PV and SV.
FUN61
HIGH-SPEED COUNTER --- --- --- --- ---
HDM
HIGH-SPEED COUNTER --- --- --- ---
CNTH

Data Comparison Instructions


Name CPM2A CPM1A CQM1H C20H C20P C200HX C200HS C1000H SK20
Mnemonic CPM2C SRM1 C28H C28P C200HG C2000H SP10
C40H C40P C200HE SP16
C60H C60P SP20
UNSIGNED COMPARE (20) (20) (20) (20) (20) (020) (20) (20) (32)
CMP
DOUBLE UNSIGNED COMPARE (60) (60) (60) --- --- (060) (60) --- ---
CMPL
UNSIGNED BLOCK COMPARE (68) (68) (68) (68) --- (068) (68) (68) (34)
BCMP (SK20, SP10,
SP20 only)
EXPANDED BLOCK COMPARE --- --- --- --- --- --- --- --- ---
BCMP2
TABLE COMPARE (85) (85) (85) --- --- (085) (85) (85) ---
TCMP
MULTIPLE COMPARE --- --- (19) --- --- (019) (19) --- ---
MCMP
EQUAL --- --- --- --- --- --- --- --- ---
EQU

Common PLC Information-52


Common PLC Information
Programming Instructions
Data Comparison Instructions, Continued

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
UNSIGNED COMPARE (020) (020) (020) (020) Compares two words.
CMP ! ! ! !
Compares two pairs of words (two 8-digit hexadecimal values) and
outputs the result to the Arithmetic Flags.
DOUBLE UNSIGNED COMPARE (060) (060) (021) (021) Compares a 1-word value with the 16 ranges defined in the compar-
CMPL ison table and turns ON the corresponding bit in the output word for
each value that is within the range.
UNSIGNED BLOCK COMPARE (068) (068) (022) (022) Compares a 1-word value with the 16 consecutive words in the com-
BCMP @ @ @ @ parison table and turns ON the corresponding bit in the output word
for each value that matches.
Compares 16 consecutive words in one comparison table with the 16
consecutive words in another comparison table and turns ON the
corresponding bit in the output word for each pair of values that does
not match.
EXPANDED BLOCK COMPARE (502) --- --- --- Compares the source data to up to 256 ranges (defined by upper and
BCMP2 (CJ1M only) lower limits) and turns ON the corresponding bit in the result word
when the source data is within a range.
TABLE COMPARE (085) (085) (023) (023) Compares two words and produces an ON execution condition when
TCMP @ @ @ @ the words are equal.
MULTIPLE COMPARE (019) (019) (024) (024) Compares two words as signed binary data.
MCMP @ @ @ @
EQUAL --- --- (025) (025) Compares two pairs of words (two 32-bit values) as signed binary
EQU @ @ data.

Data Comparison Instructions, Continued


Name CPM2A CPM1A CQM1H C20H C20P C2000HX C200HS C1000H SK20
Mnemonic CPM2C CPM1 C28H C28P C2000HG C2000H SP10
SRM1 C40H C40P C2000HE SP16
C60H C60P SP20
SIGNED BINARY COMPARE --- --- Expansion --- --- (114) Expansion --- ---
CPS Expansion
DOUBLE SIGNED BINARY COMPARE --- --- (115) --- --- Expansion Expansion --- ---
CPSL
UNSIGNED COMPARE --- --- --- --- --- --- --- --- ---
CMP
DOUBLE UNSIGNED COMPARE --- --- --- --- --- --- --- --- ---
CMPL
EQUAL --- --- --- --- --- (300) --- --- ---
= (-Z only)
DOUBLE EQUAL --- --- --- --- --- (301) --- --- ---
=L (-Z only)
SIGNED EQUAL --- --- --- --- --- (302) --- --- ---
=S (-Z only)
DOUBLE SIGNED EQUAL --- --- --- --- --- (303) --- --- ---
=SL (-Z only)
NOT EQUAL --- --- --- --- --- (305) --- --- ---
<> (-Z only)
DOUBLE NOT EQUAL --- --- --- --- --- (306) --- --- ---
<>L (-Z only)
SIGNED NOT EQUAL --- --- --- --- --- (307) --- --- ---
<>S (-Z only)
DOUBLE SIGNED NOT EQUAL --- --- --- --- --- (308) --- --- ---
<>SL (-Z only)
LESS THAN --- --- --- --- --- (310) --- --- ---
< (-Z only)
DOUBLE LESS THAN --- --- --- --- --- (311) --- --- ---
<L (-Z only)
SIGNED LESS THAN --- --- --- --- --- (312) --- --- ---
<S (-Z only)
DOUBLE SIGNED LESS THAN --- --- --- --- --- (313) --- --- ---
<SL (-Z only)

Common PLC Information-53


Common PLC Information
Programming Instructions
Data Comparison Instructions, Continued

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
SIGNED BINARY COMPARE (114) (114) (026) --- Compares two words.
CPS ! ! !
(-V2 only)
DOUBLE SIGNED BINARY COMPARE (115) (115) (027) --- Compares two pairs of words (two 8-digit hexadecimal values) and
CPSL (-V2 only) outputs the result to the Arithmetic Flags.
UNSIGNED COMPARE --- --- (028) --- Compares two words as unsigned binary data.
CMP (-V2 only)
DOUBLE UNSIGNED COMPARE --- --- (029) --- Compares two pairs of words (two 32-bit values) as unsigned binary
CMPL (-V2 only) data.
EQUAL (300) (300) (300) --- Compares two words as 4-digit hexadecimal values and produces an
= (-V2 only) ON execution condition when the words are equal.
DOUBLE EQUAL (301) (301) (301) --- Compares two pairs of words as 8-digit hexadecimal values and pro-
=L (-V2 only) duces an ON execution condition when the words are equal.
SIGNED EQUAL (302) (302) (302) --- Compares two words as 16-bit signed binary values and produces
=S (-V2 only) an ON execution condition when the words are equal.
DOUBLE SIGNED EQUAL (303) (303) (303) --- Compares two pairs of words as 32-bit signed binary values and pro-
=SL (-V2 only) duces an ON execution condition when the words are equal.
NOT EQUAL (305) (305) (305) --- Compares two words as 4-digit hexadecimal values and produces an
<> (-V2 only) ON execution condition when the words are not equal.
DOUBLE NOT EQUAL (306) (306) (306) --- Compares two pairs of words as 8-digit hexadecimal values and pro-
<>L (-V2 only) duces an ON execution condition when the words are not equal.
SIGNED NOT EQUAL (307) (307) (307) --- Compares two words as 16-bit signed binary values and produces
<>S (-V2 only) an ON execution condition when the words are not equal.
DOUBLE SIGNED NOT EQUAL (308) (308) (308) --- Compares two pairs of words as 32-bit signed binary values and pro-
<>SL (-V2 only) duces an ON execution condition when the words are not equal.
LESS THAN (310) (310) (310) --- Compares two words as 4-digit hexadecimal values and produces an
< (-V2 only) ON execution condition when the first value is less than the second.
DOUBLE LESS THAN (311) (311) (311) --- Compares two pairs of words as 8-digit hexadecimal values and pro-
<L (-V2 only) duces an ON execution condition when the first value is less than the
second.
SIGNED LESS THAN (312) (312) (312) --- Compares two words as 16-bit signed binary values and produces
<S (-V2 only) an ON execution condition when the first value is less than the sec-
ond.
DOUBLE SIGNED LESS THAN (313) (313) (313) --- Compares two pairs of words as 32-bit signed binary values and pro-
<SL (-V2 only) duces an ON execution condition when the first value is less than the
second.

Data Comparison Instructions, Continued


Name CPM2A CPM1A CQM1H C20H C20P C2000HX C200HS C1000H SK20
Mnemonic CPM2C CPM1 C28H C28P C2000HG C2000H SP10
SRM1 C40H C40P C2000HE SP16
C60H C60P SP20
LESS THAN OR EQUAL --- --- --- --- --- (315) --- --- ---
<= (-Z only)
DOUBLE LESS THAN OR EQUAL --- --- --- --- --- (316) --- --- ---
<=L (-Z only)
SIGNED LESS THAN OR EQUAL --- --- --- --- --- (317) --- --- ---
<=S (-Z only)
DOUBLE SIGNED LESS THAN OR --- --- --- --- --- (318) --- --- ---
EQUAL (-Z only)
<=SL
GREATER THAN --- --- --- --- --- (320) --- --- ---
> (-Z only)
DOUBLE GREATER THAN --- --- --- --- --- (321) --- --- ---
>L (-Z only)
SIGNED GREATER THAN --- --- --- --- --- (322) --- --- ---
>S (-Z only)
DOUBLE SIGNED GREATER THAN --- --- --- --- --- (323) --- --- ---
>SL (-Z only)
GREATER THAN OR EQUAL --- --- --- --- --- (325) --- --- ---
>= (-Z only)
DOUBLE GREATER THAN OR EQUAL --- --- --- --- --- (326) --- --- ---
>=L (-Z only)
SIGNED GREATER THAN OR EQUAL --- --- --- --- --- (327) --- --- ---
>=S (-Z only)
DOUBLE SIGNED GREATER THAN --- --- --- --- --- (328) --- --- ---
OR EQUAL (-Z only)
>=SL
AREA RANGE COMPARE (88) (88) Expansion --- --- (088) (88) --- ---
ZCP (-V2 only) Expansion Expansion
COUBLE AREA RANGE COMPARE (116) --- Expansion --- --- (116) Expansion --- ---
ZCPL Expansion

Common PLC Information-54


Common PLC Information
Programming Instructions
Data Comparison Instructions, Continued

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
LESS THAN OR EQUAL (315) (315) (315) --- Compares two words as 4-digit hexadecimal values and produces an
<= (-V2 only) ON execution condition when the first value is less than or equal to
the second.
DOUBLE LESS THAN OR EQUAL (316) (316) (316) --- Compares two pairs of words as 8-digit hexadecimal values and pro-
<=L (-V2 only) duces an ON execution condition when the first value is less than or
equal to the second.
SIGNED LESS THAN OR EQUAL (317) (317) (317) --- Compares two words as 16-bit signed binary values and produces
<=S (-V2 only) an ON execution condition when the first value is less than or equal
to the second.
DOUBLE SIGNED LESS THAN OR (318) (318) (318) --- Compares two pairs of words as 32-bit signed binary values and pro-
EQUAL (-V2 only) duces an ON execution condition when the first value is less than or
<=SL equal to the second.
GREATER THAN (320) (320) (320) --- Compares two words as 4-digit hexadecimal values and produces an
> (-V2 only) ON execution condition when the first value is greater than the sec-
ond.
DOUBLE GREATER THAN (321) (321) (321) --- Compares two pairs of words as 8-digit hexadecimal values and pro-
>L (-V2 only) duces an ON execution condition when the first value is greater than
the second.
SIGNED GREATER THAN (322) (322) (322) --- Compares two words as 16-bit signed binary values and produces
>S (-V2 only) an ON execution condition when the first value is greater than the
second.
DOUBLE SIGNED GREATER THAN (323) (323) (323) --- Compares two pairs of words as 32-bit signed binary values and pro-
>SL (-V2 only) duces an ON execution condition when the first value is greater than
the second.
GREATER THAN OR EQUAL (325) (325) (325) --- Compares two words as 4-digit hexadecimal values and produces an
>= (-V2 only) ON execution condition when the first value is greater than or equal
to the second.
DOUBLE GREATER THAN OR EQUAL (326) (326) (326) --- Compares two pairs of words as 8-digit hexadecimal values and pro-
>=L (-V2 only) duces an ON execution condition when the first value is greater than
or equal to the second.
SIGNED GREATER THAN OR EQUAL (327) (327) (327) --- Compares two words as 16-bit signed binary values and produces
>=S (-V2 only) an ON execution condition when the first value is greater than or
equal to the second.
DOUBLE SIGNED GREATER THAN (328) (328) (328) --- Compares two pairs of words as 32-bit signed binary values and pro-
OR EQUAL (-V2 only) duces an ON execution condition when the first value is greater than
>=SL or equal to the second.
AREA RANGE COMPARE (088) (088) --- --- Compares a word (4-digit hexadecimal) to a specified range.
ZCP (-H only)
COUBLE AREA RANGE COMPARE (116) (116) --- --- Compares a pair of words (8-digit hexadecimal) to a specified range.
ZCPL (-H only)

Common PLC Information-55


Common PLC Information
Programming Instructions
Data Movement Instructions

Data Movement Instructions


Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
MOVE (21) (21) (21) (021) (21) (30)
MOV @ @ @ @
MOVE NOT (22) (22) (22) (022) (22) (31)
MVN @ @ @ @
DOUBLE MOVE --- --- --- --- --- ---
MOVL
DOUBLE MOVE NOT --- --- --- --- --- ---
MVNL
DATA EXHANGE (73) (73) (73) (073) (73) ---
XCHG @ @ @ @ @
DOUBLE DATA EXHANGE --- --- --- --- --- ---
XCGL
MOVE TO REGISTER --- --- --- --- --- ---
MOVR
MOVE QUICK --- --- --- --- --- ---
MOVQ
MULTIPLE BIT TRANSFER --- --- Expansion (062) --- ---
XFRB Expansion
@
BLOCK TRANSFER (70) (70) (70) (070) (70) ---
XFER @ @ @ @ @
BLOCK SET (71) (71) (71) (071) (71) ---
BSET @ @ @ @ @
MOVE BIT (82) (82) (82) (082) (82) ---
MOVB @ @ @ @ @
MOVE DIGIT (83) (83) (83) (083) (83) ---
MOVD @ @ @ @ @
SINGLE WORD DISTRIBUTE (80) (80) (80) (080) (80) ---
DIST @ @ @ @ @
DATA COLLECT (81) (81) (81) (081) (81) ---
COLL @ @ @ @ @

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
MOVE (021) (021) (030) (030) Copies a word of data to the destination address.
MOV !, @ !, @ !, @ !, @
MOVE NOT (022) (022) (031) (031) Copies the inverse of a word of data to the destination address.
MVN @ @ @ @
DOUBLE MOVE (498) (498) (032) (032) Copies two words of data to the destination address.
MOVL @ @ @ @
DOUBLE MOVE NOT (499) (499) (033) (033) Copies the inverse of two words of data to the destination address.
MVNL @ @ @ @
DATA EXHANGE (073) (073) (034) (034) Exchanges the word data at two addresses.
XCHG @ @ @ @
DOUBLE DATA EXHANGE (562) (562) (035) --- Exchanges two words of data at two addresses.
XCGL @ @ @
MOVE TO REGISTER (560) (560) (036) (036) Writes the memory address of the specified word or bit to an index
MOVR @ @ @ @ register.
MOVE QUICK --- --- (037) --- Copies a word of data to the destination address at high-speed.
MOVQ
MULTIPLE BIT TRANSFER (062) (062) (038) --- Copies a specified number of consecutive bits.
XFRB @ @ @
(-V2 only)
BLOCK TRANSFER (070) (070) (040) (040) Copies a specified number of consecutive words.
XFER @ @ @ @
BLOCK SET (071) (071) (041) (041) Copies a word of data to the specified number of consecutive words.
BSET @ @ @ @
MOVE BIT (082) (082) (042) (042) Copies a specified bit.
MOVB @ @ @ @
MOVE DIGIT (083) (083) (043) (043) Copies a specified digit.
MOVD @ @ @ @
SINGLE WORD DISTRIBUTE (080) (080) (044) (044) Copies a word of data to a destination address, which is calculated
DIST @ @ @ @ by adding an offset to a base address.
DATA COLLECT (081) (081) (045) (045) Copies a word of data from a source address, which is calculated by
COLL @ @ @ @ adding an offset to a base address, to a destination address.

Common PLC Information-56


Common PLC Information
Programming Instructions
Data Movement Instructions, Continued

Data Movement Instructions, Continued


Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
EM BANK TRANSFER --- --- --- (125) --- ---
BXFR @
(-Z only)
EM BANK TRANSFER --- --- --- Expansion --- ---
BXF2
EM BLOCK TRANSFER --- --- --- Expansion --- ---
XFR2

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
EM BANK TRANSFER --- --- (046) --- Copies a specified number of consecutive words from a source da-
BXFR @ tabank to a destination databank.
(-V2 only)
EM BANK TRANSFER --- --- --- --- Copies a specified number of consecutive words from the current EM
BXF2 bank.
EM BLOCK TRANSFER --- --- --- --- Copies a specified number of consecutive words from the specified
XFR2 EM bank.

Shift Instructions
Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
SHIFT REGISTER Key Key Key Key Key (33)
SFT (10) (10) (10) (010) (10)
REVERSIBLE SHIFT REGISTER (84) (84) (84) (084) (84) ---
SFTR @ @ @ @ @
ASYNCHRONOUS SHIFT REGISTER (17) (17) (17) (017) --- ---
ASFT @ @ @ @
WORD SHIFT (16) (16) (16) (016) (16) ---
WSFT @ @ @ @ @
SHIFT N-BIT DATA LEFT --- --- --- --- --- ---
NSFL
SHIFT N-BIT DATA RIGHT --- --- --- --- --- ---
NSFR
SHIFT N-BITS LEFT --- --- --- --- --- ---
NASL
DHIFT N-BITS RIGHT --- --- --- --- --- ---
NASR

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
SHIFT REGISTER (010) (010) (050) (050) Operates a bit shift register.
SFT
REVERSIBLE SHIFT REGISTER (084) (084) (051) (051) Operates a reversible bit shift register.
SFTR @ @ @ @
ASYNCHRONOUS SHIFT REGISTER (017) (017) (052) (052) Packs non-zero words to one end of a specified range by shifting
ASFT @ @ @ @ words that contain 0000 in one direction and words that do not con-
tain 0000 in the other direction.
WORD SHIFT (016) (016) (053) (053) Shifts data in word units.
WSFT @ @ @ @
SHIFT N-BIT DATA LEFT (578) (578) (054) --- Shifts the specified number of bits one bit to the left.
NSFL @ @ @
(-V2 only)
SHIFT N-BIT DATA RIGHT (579) (579) (055) --- Shifts the specified number of bits one bit to the right.
NSFR @ @ @
(-V2 only)
SHIFT N-BITS LEFT (580) (580) (056) --- Shifts all bits in a word to the left by the specified number of bits.
NASL @ @ @
(-V2 only)
DHIFT N-BITS RIGHT (581) (581) (057) --- Shifts all bits in a word to the right by the specified number of bits.
NASR @ @ @
(-V2 only)

Common PLC Information-57


Common PLC Information
Programming Instructions
Shift Instructions, Continued

Shift Instructions, Continued


Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
DOUBLE SHIFT N-BITS LEFT --- --- --- --- --- ---
NSLL
DOUBLE SHIFT N-BITS RIGHT --- --- --- --- --- ---
NSRL
ARITHMETIC SHIFT LEFT (25) (25) (25) (025) (25) ---
ASL @ @ @ @ @
ARITHMETIC SHIFT RIGHT (26) (26) (26) (026) (26) ---
ASR @ @ @ @ @
ROTATE LEFT (27) (27) (27) (027) (27) ---
ROL @ @ @ @ @
ROTATE RIGHT (28) (28) (28) (028) (28) ---
ROR @ @ @ @ @
DOUBLE SHIFT LEFT --- --- --- --- --- ---
ASLL
DOUBLE SHIFT RIGHT --- --- --- --- --- ---
ASRL
DOUBLE ROTATE LEFT --- --- --- --- --- ---
ROLL
DOUBLE ROTATE RIGHT --- --- --- --- --- ---
RORL
ONE DIGIT SHIFT LEFT (74) (74) (74) (074) (74) ---
SLD @ @ @ @ @
ONE DIGIT SHIFT RIGHT (75) (75) (75) (075) (75) ---
SRD @ @ @ @ @
ROTATE LEFT WITHOUT CARRY --- --- --- --- --- ---
RLNC
ROTATE RIGHT WITHOUT CARRY --- --- --- --- --- ---
RRNC
DOUBLE ROTATE LEFT WITHOUT CARRY --- --- --- --- --- ---
RLNL
DOUBLE ROTATE RIGHT WITHOUT CAR- --- --- --- --- --- ---
RY
RRNL

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
DOUBLE SHIFT N-BITS LEFT (582) (582) (058) --- Shifts all bits in a pair of words (32 bits) to the left by the spec-
NSLL @ @ @ (-V2 only) ified number of bits.
DOUBLE SHIFT N-BITS RIGHT (583) (583) (059) --- Shifts all bits in a pair of words (32 bits) to the right by the spec-
NSRL @ @ @ (-V2 only) ified number of bits.
ARITHMETIC SHIFT LEFT (570) (570) (060) (060) Shifts all bits in a word by one bit to the left.
ASL @ @ @ @
ARITHMETIC SHIFT RIGHT (026) (026) (061) (061) Shifts all bits in a word by one bit to the right.
ASR @ @ @ @
ROTATE LEFT (027) (027) (062) (062) Creates a 16-bit left-rotating shift register with the CY Flag.
ROL @ @ @ @
ROTATE RIGHT (028) (028) (063) (063) Creates a 16-bit right-rotating shift register with the CY Flag.
ROR @ @ @ @
DOUBLE SHIFT LEFT (570) (570) (064) (064) Shifts all bits in a pair of words (32 bits) by one bit to the left.
ASLL @ @ @ @
DOUBLE SHIFT RIGHT (571) (571) (065) (065) Shifts all bits in a pair of words (32 bits) by one bit to the right.
ASRL @ @ @ @
DOUBLE ROTATE LEFT (572) (572) (066) (066) Creates a 32-bit left-rotating shift register with the CY Flag.
ROLL @ @ @ @
DOUBLE ROTATE RIGHT (573) (573) (067) (067) Creates a 32-bit right-rotating shift register with the CY Flag.
RORL @ @ @ @
ONE DIGIT SHIFT LEFT (074) (074) (068) (068) Shifts digits (4-bit units) to the left in the specified range of
SLD @ @ @ @ words.
ONE DIGIT SHIFT RIGHT (075) (075) (069) (069) Shifts digits (4-bit units) to the right in the specified range of
SRD @ @ @ @ words.
ROTATE LEFT WITHOUT CARRY (574) (574) (260) --- Creates a 16-bit left-rotating shift register.
RLNC @ @ @ (-V2 only)
ROTATE RIGHT WITHOUT CARRY (575) (575) (261) --- Creates a 16-bit right-rotating shift register.
RRNC @ @ @ (-V2 only)
DOUBLE ROTATE LEFT WITHOUT CARRY (576) (576) (262) --- Creates a 32-bit left-rotating shift register.
RLNL @ @ @ (-V2 only)
DOUBLE ROTATE RIGHT WITHOUT CAR- (577) (577) (263) --- Creates a 32-bit right-rotating shift register.
RY @ @ @ (-V2 only)
RRNL

Common PLC Information-58


Common PLC Information
Programming Instructions
Increment/Decrement Instructions

Increment/Decrement Instructions
Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
INCREMENT BCD (38) (38) (38) (038) (38) ---
INC @ @ @ @ @
DECREMENT BCD (39) (39) (39) (039) (39) ---
DEC @ @ @ @ @
INCREMENT BINARY --- --- --- --- --- ---
INCB
DECREMENT BINARY --- --- --- --- --- ---
DECB
DOUBLE INCREMENT BCD --- --- --- --- --- ---
INCL
DOUBLE INCREMENT BCD --- --- --- --- --- ---
DECL
DOUBLE INCREMENT BINARY --- --- --- --- --- ---
INBL
DOUBLE DECREMENT BINARY --- --- --- --- --- ---
DEBL

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
INCREMENT BCD (590) (590) (090) (090) Increments the 4-digit BCD value of the specified word by 1.
++B/INC @ @
DECREMENT BCD (591) (591) (091) (091) Decrements the 4-digit BCD value of the specified word by 1.
- -B/DEC @ @
INCREMENT BINARY (592) (592) (092) (092) Increments the 16-bit binary value of the specified word by 1.
++/INCB @ @
DECREMENT BINARY (593) (593) (093) (093) Decrements the 16-bit binary value of the specified word by 1.
- -/DECB @ @
DOUBLE INCREMENT BCD (594) (594) (094) (094) Increments the 8-digit BCD value of a specified pair of words by 1.
++BL/INCL @ @
DOUBLE INCREMENT BCD --- --- (095) (095) Decrements the 8-digit BCD value of the specified pair of words by 1.
- -B/LDECL
DOUBLE INCREMENT BINARY --- --- (096) (096) Increments the 32-bit binary value of the specified word by 1.
++L/INBL
DOUBLE DECREMENT BINARY --- --- (097) (097) Decrements the 32-bit binary value of the specified word by 1.
- -L/DEBL

Calculation Instructions
Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
BCD ADD (30) (30) (30) (030) (30) (40)
ADD @ @ @ @ @ @
BCD SUBTRACT (31) (31) (31) (031) (31) (41)
SUB @ @ @ @ @ @
BCD MULTIPLY (32) (32) (32) (032) (32) ---
MUL @ @ @ @ @
BCD DIVIDE (33) (33) (33) (033) (33) ---
DIV @ @ @ @ @
DOUBLE BCD ADD (54) (54) (54) (054) (54) ---
ADDL @ @ @ @ @

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
BCD ADD --- --- (070) (070) Adds two 4-digit BCD values (one-word units).
ADD @ @
BCD SUBTRACT --- --- (071) (071) Subtracts one 4-digit BCD value from another (one-word
SUB @ @ units).
BCD MULTIPLY --- --- (072) (072) Multiplies one 4-digit BCD value by another (one-word
MUL @ @ units).
BCD DIVIDE --- --- (073) (073) Divides one 4-digit BCD value by another (one-word units).
DIV @ @
DOUBLE BCD ADD --- --- (074) (074) Adds two 8-digit BCD values (two-word units).
ADDL @ @

Common PLC Information-59


Common PLC Information
Programming Instructions
Calculation Instructions, Continued

Calculation Instructions, Continued


Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
DOUBLE BCD SUBTRACT (55) (55) (55) (055) (55) ---
SUBL @ @ @ @ @
DOUBLE BCD MULTIPLY (56) (56) (56) (056) (56) ---
MULL @ @ @ @ @
DOUBLE BCD DIVIDE (57) (57) (57) (057) (57) ---
DIVL @ @ @ @ @
BINARY ADD (50) (50) (50) (050) (50) ---
ADB @ @ @ @ @
BINARY SUBTRACT (51) (51) (51) (051) (51) ---
SBB @ @ @ @ @
BINARY MULTIPLY (52) (52) (52) (052) (52) ---
MLB @ @ @ @ @
BINARY DIVIDE (53) (53) (53) (053) (53) ---
DVB @ @ @ @ @
DOUBLE BINARY ADD --- --- Expansion Expansion --- ---
ADBL
DOUBLE BINARY SUBTRACT --- --- Expansion Expansion --- ---
SBBL
DOUBLE BINARY MULTIPLY --- --- --- --- --- ---
MLBL
DOUBLE BINARY DIVIDE --- --- --- --- --- ---
DVBL
SIGNED BINARY ADD WITHOUT CARRY --- --- --- (400) --- ---
+ @ (-Z only)
DOUBLE SIGNED BINARY ADD WITHOUT --- --- --- (401) --- ---
CARRY @ (-Z only)
+L
SIGNED BINARY ADD WITH CARRY --- --- --- (402) --- ---
+C @ (-Z only)
DOUBLE SIGNED BINARY ADD WITH CARRY --- --- --- (403) --- ---
+CL @ (-Z only)

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
DOUBLE BCD SUBTRACT --- --- (075) (075) Subtracts one 8-digit BCD value from another (two-word
SUBL @ @ units).
DOUBLE BCD MULTIPLY --- --- (076) (076) Multiplies one 8-digit BCD value by another (two-word
MULL @ @ units).
DOUBLE BCD DIVIDE --- --- (077) (077) Divides one 8-digit BCD value by another (two-word
DIVL @ @ units).
BINARY ADD --- --- (080) (080) Adds two 16-bit binary values (one-word units).
ADB @ @
BINARY SUBTRACT --- --- (081) (081) Subtracts one 16-bit binary value from another (one-word
SBB @ @ units).
BINARY MULTIPLY --- --- (082) (082) Multiplies one 16-bit binary value by another (one-word
MLB @ @ units).
BINARY DIVIDE --- --- (083) (083) Divides one 16-bit binary value by another (one-word
DVB @ @ units).
DOUBLE BINARY ADD --- --- (084) (084) Adds two 32-bit binary values (two-word units).
ADBL @ @
DOUBLE BINARY SUBTRACT --- --- (085) (085) Subtracts one 32-bit binary value from another (two-word
SBBL @ @ units).
DOUBLE BINARY MULTIPLY --- --- (086) (086) Multiplies one 32-bit binary value by another (two-word
MLBL @ @ units).
DOUBLE BINARY DIVIDE --- --- (087) (087) Divides one 32-bit binary value by another (two-word
DVBL @ @ units).
SIGNED BINARY ADD WITHOUT CARRY (400) (400) (400) --- Adds two 16-bit signed binary values (one-word units).
+ @ @ @ (-V2 only)
DOUBLE SIGNED BINARY ADD WITHOUT CARRY (401) (401) (401) --- Adds two 32-bit signed binary values (two-word units).
+L @ @ @ (-V2 only)
SIGNED BINARY ADD WITH CARRY (402) (402) (402) --- Adds two 16-bit signed binary values (one-word units)
+C @ @ @ (-V2 only) and uses the CY Flag.
DOUBLE SIGNED BINARY ADD WITH CARRY (403) (403) (403) --- Adds two 32-bit signed binary values (two-word units)
+CL @ @ @ (-V2 only) and uses the CY Flag.

Common PLC Information-60


Common PLC Information
Programming Instructions
Calculation Instructions, Continued

Calculation Instructions, Continued


Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
BCD ADD WITHOUT CARRY --- --- --- (404) --- ---
+B @ (-Z only)
DOUBLE BCD ADD WITHOUT CARRY --- --- --- (405) --- ---
+BL @ (-Z only)
BCD ADD WITH CARRY --- --- --- (406) --- ---
+BC @ (-Z only)
DOUBLE BCD ADD WITH CARRY --- --- --- (407) --- ---
+BCL @ (-Z only)
SIGNED BINARY SUBTRACT WITHOUT CARRY --- --- --- (410) --- ---
- @ (-Z only)
DOUBLE SIGNED BINARY SUBTRACT WITHOUT --- --- --- (411) --- ---
CARRY @ (-Z only)
-L
SIGNED BINARY SUBTRACT WITH CARRY --- --- --- (412) --- ---
-C @ (-Z only)
DOUBLE SIGNED BINARY SUBTRACT WITH CARRY --- --- --- (413) --- ---
-CL @ (-Z only)
BCD SUBTRACT WITHOUT CARRY --- --- --- (414) --- ---
-B @ (-Z only)
DOUBLE BCD SUBTRACT WITHOUT CARRY --- --- --- (415) --- ---
-BL @ (-Z only)
BCD SUBTRACT WITH CARRY --- --- --- (416) --- ---
-BC @ (-Z only)
DOUBLE BCD SUBTRACT WITH CARRY --- --- --- (417) --- ---
-BCL @ (-Z only)
SIGNED BINARY MULTIPLY --- --- --- (420) --- ---
* @ (-Z only)
DOUBLE SIGNED BINARY MULTIPLY --- --- --- (421) --- ---
*L @ (-Z only)
UNSIGNED BINARY MULTIPLY --- --- --- (422) --- ---
*U @ (-Z only)
DOUBLE UNSIGNED BINARY MULTIPLY --- --- --- (423) --- ---
*UL @ (-Z only)

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
BCD ADD WITHOUT CARRY (404) (404) (404) --- Adds two 4-digit BCD values (one-word units).
+B @ @ @ (-V2 only)
DOUBLE BCD ADD WITHOUT CARRY (405) (405) (405) --- Adds two 8-digit BCD values (two-word units).
+BL @ @ @ (-V2 only)
BCD ADD WITH CARRY (406) (406) (406) --- Adds two 4-digit BCD values (one-word units) and
+BC @ @ @ (-V2 only) uses the CY Flag.
DOUBLE BCD ADD WITH CARRY (407) (407) (407) --- Adds two 8-digit BCD values (two-word units) and
+BCL @ @ @ (-V2 only) uses the CY Flag.
SIGNED BINARY SUBTRACT WITHOUT CARRY (410) (410) (410) --- Subtracts one 16-bit signed binary value from anoth-
- @ @ @ (-V2 only) er (one-word units).
DOUBLE SIGNED BINARY SUBTRACT WITHOUT CARRY (411) (411) (411) --- Subtracts one 32-bit signed binary value from anoth-
-L @ @ @ (-V2 only) er (two-word units).
SIGNED BINARY SUBTRACT WITH CARRY (412) (412) (412) --- Subtracts one 16-bit signed binary value from anoth-
-C @ @ @ (-V2 only) er (one-word units) and uses the CY Flag.
DOUBLE SIGNED BINARY SUBTRACT WITH CARRY (413) (413) (413) --- Subtracts one 32-bit signed binary value from anoth-
-CL @ @ @ (-V2 only) er (two-word units) and uses the CY Flag.
BCD SUBTRACT WITHOUT CARRY (414) (414) (414) --- Subtracts one 4-digit BCD value from another (one-
-B @ @ @ (-V2 only) word units).
DOUBLE BCD SUBTRACT WITHOUT CARRY (415) (415) (415) --- Subtracts one 8-digit BCD value from another (two-
-BL @ @ @ (-V2 only) word units).
BCD SUBTRACT WITH CARRY (416) (416) (416) --- Subtracts one 4-digit BCD value from another (one-
-BC @ @ @ (-V2 only) word units) and uses the CY Flag.
DOUBLE BCD SUBTRACT WITH CARRY (417) (417) (417) --- Subtracts one 8-digit BCD value from another (two-
-BCL @ @ @ (-V2 only) word units) and uses the CY Flag.
SIGNED BINARY MULTIPLY (420) (420) (420) --- Multiplies one 16-bit signed binary value by another
* @ @ @ (-V2 only) (one-word units).
DOUBLE SIGNED BINARY MULTIPLY (421) (421) (421) --- Multiplies one 32-bit signed binary value by another
*L @ @ @ (-V2 only) (two-word units).
UNSIGNED BINARY MULTIPLY (422) (422) (422) --- Multiplies one 16-bit unsigned binary value by anoth-
*U @ @ @ (-V2 only) er (one-word units).
DOUBLE UNSIGNED BINARY MULTIPLY (423) (423) (423) --- Multiplies one 32-bit unsigned binary value by anoth-
*UL @ @ @ (-V2 only) er (two-word units).

Common PLC Information-61


Common PLC Information
Programming Instructions
Calculation Instructions, Continued

Calculation Instructions, Continued


Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
BCD MULTIPLY --- --- --- (424) --- ---
*B @ (-Z only)
DOUBLE BCD MULTIPLY --- --- --- (425) --- ---
*BL @ (-Z only)
SIGNED BINARY DIVIDE --- --- --- (430) --- ---
/ @ (-Z only)
DOUBLE SIGNED BINARY DIVIDE --- --- --- (431) --- ---
/L @ (-Z only)
UNSIGNED BINARY DIVIDE --- --- --- (432) --- ---
/U @ (-Z only)
DOUBLE UNSIGNED BINARY DIVIDE --- --- --- (433) --- ---
/UL @ (-Z only)
BCD DIVIDE --- --- --- (434) --- ---
/B @ (-Z only)
DOUBLE BCD DIVIDE --- --- --- (435) --- ---
/BL @ (-Z only)
SIGNED BINARY MULTIPLY --- --- Expansion Expansion --- ---
MBS
SIGNED BINARY DIVIDE --- --- Expansion Expansion --- ---
DBS
DOUBLE SIGNED BINARY MULTIPLY --- --- Expansion Expansion --- ---
MBSL
DOUBLE SIGNED BINARY DIVIDE --- --- Expansion Expansion --- ---
DBSL

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
BCD MULTIPLY (424) (424) (424) --- Multiplies one 4-digit BCD value by another (one-word
*B @ @ @ (-V2 only) units).
DOUBLE BCD MULTIPLY (425) (425) (425) --- Multiplies one 8-digit BCD value by another (two-word
*BL @ @ @ (-V2 only) units).
SIGNED BINARY DIVIDE (430) (430) (430) --- Divides one 16-bit signed binary value by another (one-word
/ @ @ @ (-V2 only) units).
DOUBLE SIGNED BINARY DIVIDE (431) (431) (431) --- Divides one 32-bit signed binary value by another (two-word
/L @ @ @ (-V2 only) units).
UNSIGNED BINARY DIVIDE (432) (432) (432) --- Divides one 16-bit unsigned binary value by another (one-
/U @ @ @ (-V2 only) word units).
DOUBLE UNSIGNED BINARY DIVIDE (433) (433) (433) --- Divides one 32-bit unsigned binary value by another (two-
/UL @ @ @ (-V2 only) word units).
BCD DIVIDE (434) (434) (434) --- Divides one 4-digit BCD value by another (one-word units).
/B @ @ @ (-V2 only)
DOUBLE BCD DIVIDE (435) (435) (435) --- Divides one 8-digit BCD value by another (two-word units).
/BL @ @ @ (-V2 only)
SIGNED BINARY MULTIPLY --- --- --- --- Multiplies one 16-bit signed binary value by another (one-
MBS word units).
SIGNED BINARY DIVIDE --- --- --- --- Divides one 16-bit binary value by another (one-word units).
DBS
DOUBLE SIGNED BINARY MULTIPLY --- --- --- --- Multiplies one 32-bit signed binary value by another (two-
MBSL word units).
DOUBLE SIGNED BINARY DIVIDE --- --- --- --- Multiplies one 32-bit signed binary value by another (TWO-
DBSL word units).

Common PLC Information-62


Common PLC Information
Programming Instructions
Conversion Instructions

Conversion Instructions
Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
BCD-TO-BINARY (23) (23) (23) (023) (23) ---
BIN @ @ @ @ @
BINARY-TO-BCD (24) (24) (24) (024) (24) ---
BCD @ @ @ @ @
DOUBLE BCD-TO-DOUBLE BINARY (58) --- (58) (058) (58) ---
BINL @ @ @ @
DOUBLE BINARY-TO-BCD (59) --- (59) (059) (59) ---
BCDL @ @ @ @
2’S COMPLEMENT Expansion Expansion Expansion (160) --- ---
NEG (SRM1-V2 only) Expansion
DOUBLE 2’S COMPLEMENT --- --- Expansion (161) --- ---
NEGL Expansion
16-BIT TO 32-BIT SIGNED BINARY --- --- --- --- --- ---
SIGN
DATA DECODER (76) (76) (76) (076) (76) ---
MLPX @ (4-to-16 only) @(4-to-16 only) @(4-to-16 only) @ @(4-to-16 only)
DATA ENCODER (77) (77) (77) (077) (77) ---
DMPX @(4-to-16 only) @(4-to-16 only) @(4-to-16 only) @ @(4-to-16 only)
ASCII CONVERT (86) (86) (86) (086) (86) ---
ASC @ @ @ @ @
COLUMN TO LINE --- --- Expansion (063) --- ---
LINE Expansion
@
LINE TO COLUMN --- --- Expansion (064) --- ---
COLM Expansion
@
ASCII TO HEX Expansion --- Expansion (162) --- ---
HEX Expansion
SIGNED BCD-TO-BINARY --- --- --- --- --- ---
BINS

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
BCD-TO-BINARY (023) (023) (100) (100) Converts a word of BCD data to binary data.
BIN @ @ @ @
BINARY-TO-BCD (024) (024) (101) (101) Converts a word of binary data to BCD data.
BCD @ @ @ @
DOUBLE BCD-TO-DOUBLE BINARY (058) (058) (102) (102) Converts two words of BCD data to binary data.
BINL @ @ @ @
DOUBLE BINARY-TO-BCD (059) (059) (103) (103) Converts two words of binary data to BCD data.
BCDL @ @ @ @
2’S COMPLEMENT (160) (160) (104) (104) Converts a word of binary data to its 2’s complement.
NEG @ @ @ @
DOUBLE 2’S COMPLEMENT (161) (161) (105) (105) Converts two words of binary data to its 2’s complement.
NEGL @ @ @ @
16-BIT TO 32-BIT SIGNED BINARY (600) (600) (106) (106) When bit 15 of S is 1, D+1 is set to FFFF. When bit 15 of S is 0, D+1
SIGN @ @ @ @ is set to 0000. The content of S is copied unchanged to D.
DATA DECODER (076) (076) (110) (110) Reads the specified digit or byte from a word uses that value as a
MLPX @ @ @ @ pointer to a bit in the destination word. The indicated bit is set to 1
and all other bits are set to 0.
DATA ENCODER (077) (077) (111) (111) Determines the leftmost bit that is ON within a word or 16-word range
DMPX @ @ @ @ (16 bits or 256 bits), converts that bit’s location to a numerical value,
and writes it to the destination digit or byte.
ASCII CONVERT (086) (086) (113) (113) Converts a specified digit’s hexadecimal value to its ASCII equiva-
ASC @ @ @ @ lent.
COLUMN TO LINE (063) (063) (115) (115) Extracts the 16 bits with the same bit number from 16 consecutive
LINE @ @ @ @ words and writes that 16-bit data to the specified destination word.
LINE TO COLUMN (064) (064) (116) (116) Takes the 16 bit data from the specified word and writes that data to
COLM @ @ @ @ the 16 bits with the same bit number in 16 consecutive words
ASCII TO HEX (162) (162) (117) --- Converts the ASCII characters in the specified word(s) to their hexa-
HEX @ @ @ decimal equivalents and writes the hexadecimal data to the destina-
(-V2 only) tion word(s).
SIGNED BCD-TO-BINARY (470) (470) (275) --- Converts signed BCD data to signed binary data.
BINS @ @ @
(-V2 only)

Common PLC Information-63


Common PLC Information
Programming Instructions
Conversion Instructions, Continued

Conversion Instructions, Continued


Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
SIGNED BINARY-TO-BCD --- --- --- --- --- ---
BCDS
DOUBLE SIGNED BCD-TO-BINARY --- --- --- --- --- ---
BISL
DOUBLE SIGNED BINARY-TO-BCD --- --- --- --- --- ---
BDSL

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
SIGNED BINARY-TO-BCD (471) (471) (276) --- Converts signed binary data to signed BCD data.
BCDS @ @ @
(-V2 only)
DOUBLE SIGNED BCD-TO-BINARY (472) (472) (277) --- Converts double signed BCD data to double signed binary data.
BISL @ @ @
(-V2 only)
DOUBLE SIGNED BINARY-TO-BCD (473) (473) (278) --- Converts double signed binary data to double signed BCD data.
BDSL @ @ @
(-V2 only)

Logic Instructions
Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
LOGICAL AND (34) (34) (34) (034) (34) (42)
ANDW
LOGICAL OR (35) (35) (35) (035) (35) (43)
ORW
EXCLUSIVE OR (36) (36) (36) (036) (36) ---
XORW
EXCLUSIVE NOR (37) (37) (37) (037) (37) ---
XNRW
DOUBLE LOGICAL AND --- --- --- --- --- ---
ANDL
DOUBLE LOGICAL OR --- --- --- --- --- ---
ORWL
DOUBLE EXCLUSIVE OR --- --- --- --- --- ---
XORL
DOUBLE EXCLUSIVE NOR --- --- --- --- --- ---
XNRL
COMPLEMENT (29) (29) (29) (029) (29) ---
COM
DOUBLE COMPLEMENT --- --- --- --- --- ---
COML

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
LOGICAL AND (034) (034) (130) (130) Logically ANDs two 16-bit values (one-word units).
ANDW @ @ @ @
LOGICAL OR (035) (035) (131) (131) Logically ORs two 16-bit values (one-word units).
ORW @ @ @ @
EXCLUSIVE OR (036) (036) (132) (132) Exclusively ORs two 16-bit values (one-word units).
XORW @ @ @ @
EXCLUSIVE NOR (037) (037) (133) (133) Exclusively NORs two 16-bit values (one-word units).
XNRW @ @ @ @
DOUBLE LOGICAL AND (610) (610) (134) (134) Logically ANDs two 32-bit values (two-word units).
ANDL @ @ @ @
DOUBLE LOGICAL OR (611) (611) (135) (135) Logically ORs two 32-bit values (two-word units).
ORWL @ @ @ @
DOUBLE EXCLUSIVE OR (612) (612) (136) (136) Exclusively ORs two 32-bit values (two-word units).
XORL @ @ @ @
DOUBLE EXCLUSIVE NOR (613) (613) (137) (137) Exclusively NORs two 32-bit values (two-word units).
XNRL @ @ @ @
COMPLEMENT (029) (029) (138) (138) Converts a word to its complement (one-word unit).
COM @ @ @ @
DOUBLE COMPLEMENT (614) (614) (139) (139) Converts a pair of words to its complement (two-word unit).
COML @ @ @ @

Common PLC Information-64


Common PLC Information
Programming Instructions
Special Math Instructions

Special Math Instructions


Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
BIT COUNTER (67) (67) (67) (067) (67) ---
BCNT @ @ @ @ @
BCD SQUARE ROOT --- --- (72) (072) (72) ---
ROOT @ @ @
FLOATING POINT DIVIDE --- --- --- (079) (79) ---
FDIV @ @
ARITHMETIC PROCESS --- --- Expansion (069) --- ---
APR Expansion
@
BINARY ROOT --- --- --- --- --- ---
ROTB

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
BIT COUNTER (067) (067) (114) (114) Counts the number of bits that are ON in the specified range of
BCNT @ @ @ @ words.
BCD SQUARE ROOT (072) (072) (140) (140) Calculates the square root of an 8-digit BCD value.
ROOT @ @ @ @
FLOATING POINT DIVIDE (079) (079) (141) (141) Divides one 32-bit floating point value by another.
FDIV @ @ @ @
ARITHMETIC PROCESS (069) (069) (142) (142) Calculates the SIN, COS, or linear extrapolation of a word.
APR @ @ @ @
BINARY ROOT (620) (620) (274) --- Calculates the square root of an 8-digit binary value.
ROTB @ @ @ (-V2 only)

Floating-point Math Instructions


Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
FLOATING TO 16-BIT --- --- Expansion --- --- ---
FIX
FLOATING TO 32-BIT --- --- Expansion --- --- ---
FIXL
16-BIT TO FLOATING --- --- Expansion --- --- ---
FLT
32-BIT TO FLOATING --- --- Expansion --- --- ---
FLTL
FLOATING-POINT ADD --- --- Expansion --- --- ---
+F
FLOATING-POINT SUBTRACT --- --- Expansion --- --- ---
-F
FLOATING-POINT MULTIPLY --- --- Expansion --- --- ---
*F
FLOATING-POINT DIVIDE --- --- Expansion --- --- ---
/F

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
FLOATING TO 16-BIT (450) (450) (450) --- Converts a 32-bit floating-point value to 16-bit binary format.
FIX @ @ @ (-V2 only)
FLOATING TO 32-BIT (451) (451) (451) --- Converts a 32-bit floating-point value to 32-bit binary format.
FIXL @ @ @ (-V2 only)
16-BIT TO FLOATING (452) (452) (452) --- Converts a 16-bit binary value to 32-bit floating-point format.
FLT @ @ @ (-V2 only)
32-BIT TO FLOATING (453) (453) (453) --- Converts a 32-bit binary value to 32-bit floating-point format.
FLTL @ @ @ (-V2 only)
FLOATING-POINT ADD (454) (454) (454) --- Adds two 32-bit floating-point values.
+F @ @ @ (-V2 only)
FLOATING-POINT SUBTRACT (455) (455) (455) --- Subtracts one 32-bit floating-point value from another.
-F @ @ @ (-V2 only)
FLOATING-POINT MULTIPLY (456) (456) (456) --- Multiplies one 32-bit floating-point value by another.
*F @ @ @ (-V2 only)
FLOATING-POINT DIVIDE (457) (457) (457) --- Divides one 32-bit floating-point value by another.
/F @ @ @ (-V2 only)

Common PLC Information-65


Common PLC Information
Programming Instructions
Floating-point Math Instructions, Continued

Floating-point Math Instructions, Continued


Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
DEGREES TO RADIANS --- --- Expansion --- --- ---
RAD
RADIANS-TO DEGREES --- --- Expansion --- --- ---
DEG
SINE --- --- Expansion --- --- ---
SIN
DOSINE --- --- Expansion --- --- ---
COS
TANGENT --- --- Expansion --- --- ---
TAN
ARC SINE --- --- Expansion --- --- ---
ASIN
ARC COSINE --- --- Expansion --- --- ---
ACOS
ARC TANGENT --- --- Expansion --- --- ---
ATAN
SQUARE ROOT --- --- Expansion --- --- ---
SQRT
EXPONENT --- --- Expansion --- --- ---
EXP
LOGARITHM --- --- Expansion --- --- ---
LOG
EXPONENTIAL POWER --- --- Expansion --- --- ---
PWR
Double-precision floating-point compari- --- --- --- --- --- ---
son instructions
=F, <>F, <F, <=F, >F, >=F
FLOATING POINT TO ASCII --- --- --- --- --- ---
FSTR
ASCII TO FLOATING POINT --- --- --- --- --- ---
FVAL

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
DEGREES TO RADIANS (458) (458) (458) --- Converts degrees to radians (32-bit floating-point values.)
RAD @ @ @ (-V2 only)
RADIANS-TO DEGREES (459) (459) (459) --- Converts radians to degrees (32-bit floating-point values.)
DEG @ @ @ (-V2 only)
SINE (460) (460) (460) --- Calculates the sine of a 32-bit floating-point value (radians.)
SIN @ @ @ (-V2 only)
DOSINE (461) (461) (461) --- Calculates the cosine of a 32-bit floating-point value (radians.)
COS @ @ @ (-V2 only)
TANGENT (462) (462) (462) --- Calculates the tangent of a 32-bit floating-point value (radians.)
TAN @ @ @ (-V2 only)
ARC SINE (463) (463) (463) --- Calculates the inverse sine (arcsin, in radians) of a 32-bit floating-
ASIN @ @ @ (-V2 only) point value.
ARC COSINE (464) (464) (464) --- Calculates the inverse cosine (arccos, in radians) of a 32-bit floating-
ACOS @ @ @ (-V2 only) point value.
ARC TANGENT (465) (465) (465) --- Calculates the inverse tangent (arctan, in radians) of a 32-bit floating-
ATAN @ @ @ (-V2 only) point value.
SQUARE ROOT (466) (466) (466) --- Calculates the square root of a 32-bit floating-point value.
SQRT @ @ @ (-V2 only)
EXPONENT (467) (467) (467) --- Calculates the exponent (base e) of a 32-bit floating-point value.
EXP @ @ @ (-V2 only)
LOGARITHM (468) (468) (468) --- Calculates the natural logarithm (base e) of a 32-bit floating-point
LOG @ @ @ (-V2 only) value.
EXPONENTIAL POWER (840) (840) --- --- Raises a 32-bit floating-point value to the specified power.
PWR @ @
Double-precision floating-point compari- (329) to (329) to --- --- Compare two 32-bit floating-point values.
son instructions (334) (334)
=F, <>F, <F, <=F, >F, >=F (-H only) (-H only)
FLOATING POINT TO ASCII (448) (448) --- --- Converts a 32-bit floating-point value to its equivalent in ASCII char-
FSTR @ @ acters (decimal or exponential notation.)
(-H only)
ASCII TO FLOATING POINT (449) (449) --- --- Converts a 32-bit floating-point value expressed in ASCII characters
FVAL @ @ (decimal or exponential notation) to its 32-bit floating-point equiva-
(-H only) lent.

Common PLC Information-66


Common PLC Information
Programming Instructions
Double Precision Floating-point Math Instructions

Double Precision Floating-point Math Instructions


Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
DOUBLE FLOATING TO 16-BIT BINARY --- --- --- --- --- ---
FIXD
DOUBLE FLOATING TO 32-BIT BINARY --- --- --- --- --- ---
FIXLD
16-BIT BINARY TO DOUBLE FLOATING --- --- --- --- --- ---
DBL
32-BIT BINARY TO DOUBLE FLOATING --- --- --- --- --- ---
DBLL
DOUBLE FLOATING-POINT ADD --- --- --- --- --- ---
+D
DOUBLE FLOATING-POINT SUBTRACT --- --- --- --- --- ---
-D
DOUBLE FLOATING-POINT MULTIPLY --- --- --- --- --- ---
*D
DOUBLE FOATING-POINT DIVIDE --- --- --- --- --- ---
/D
DOUBLE DEGREES TO RADIANS --- --- --- --- --- ---
RADD
DOUBLE RADIANS TO DEGREES --- --- --- --- --- ---
DEGD
DOUBLE SINE --- --- --- --- --- ---
SIND
DOUBLE COSINE --- --- --- --- --- ---
COSD
DOUBLE TANGENT --- --- --- --- --- ---
TAND
DOUBLE ARC SINE --- --- --- --- --- ---
ASIND
DOUBLE ARC COSINE --- --- --- --- --- ---
ACOSD
DOUBLE ARC TANGENT --- --- --- --- --- ---
ATAND

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
DOUBLE FLOATING TO 16-BIT BINARY (841) (841) --- --- Converts a double precision (64-bit) floating-point value to 16-bit
FIXD @ (-H only) @ signed binary format.
DOUBLE FLOATING TO 32-BIT BINARY (842) (842) --- --- Converts a double precision (64-bit) floating-point value to 32-bit
FIXLD @ (-H only) @ signed binary format.
16-BIT BINARY TO DOUBLE FLOATING (843) (843) --- --- Converts a 16-bit signed binary value to double precision (64-bit)
DBL @ (-H only) @ floating-point format.
32-BIT BINARY TO DOUBLE FLOATING (844) (844) --- --- Converts a 32-bit signed binary value to double precision (64-bit)
DBLL @ (-H only) @ floating-point format.
DOUBLE FLOATING-POINT ADD (845) (845) --- --- Adds two double precision (64-bit) floating-point values.
+D @ (-H only) @
DOUBLE FLOATING-POINT SUBTRACT (846) (846) --- --- Subtracts one double precision (64-bit) floating-point value from
-D @ (-H only) @ another.
DOUBLE FLOATING-POINT MULTIPLY (847) (847) --- --- Multiplies one double precision (64-bit) floating-point value by an-
*D @ (-H only) @ other.
DOUBLE FOATING-POINT DIVIDE (848) (848) --- --- Divides one double precision (64-bit) floating-point value by anoth-
/D @ (-H only) @ er.
DOUBLE DEGREES TO RADIANS (849) (849) --- --- Converts degrees to radians (double precision floating-point val-
RADD @ (-H only) @ ues.)
DOUBLE RADIANS TO DEGREES (850) (850) --- --- Converts radians to degrees (double precision floating-point val-
DEGD @ (-H only) @ ues.)
DOUBLE SINE (851) (851) --- --- Calculates the sine of a double precision floating-point value (radi-
SIND @ (-H only) @ ans.)
DOUBLE COSINE (852) (852) --- --- Calculates the cosine of a double precision (64-bit) floating-point
COSD @ (-H only) @ value (radians.)
DOUBLE TANGENT (853) (853) --- --- Calculates the tangent of a double precision (64-bit) floating-point
TAND @ (-H only) @ value (radians.)
DOUBLE ARC SINE (854) (854) --- --- Calculates the inverse sine (arcsin, in radians) of a double preci-
ASIND @ (-H only) @ sion (64-bit) floating-point value.
DOUBLE ARC COSINE (855) (855) --- --- Calculates the inverse cosine (arccos, in radians) of a double pre-
ACOSD @ (-H only) @ cision (64-bit) floating-point value.
DOUBLE ARC TANGENT (856) (856) --- --- Calculates the inverse tangent (arctan, in radians) of a double pre-
ATAND @ (-H only) @ cision (64-bit) floating-point value.

Common PLC Information-67


Common PLC Information
Programming Instructions
Double Precision Floating-point Math Instructions, Continued

Double Precision Floating-point Math Instructions, Continued


Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
DOUBLE SQUARE ROOT --- --- --- --- --- ---
SQRTD
DOUBLE EXPONENT --- --- --- --- --- ---
EXPD
DOUBLE LOGARITHM --- --- --- --- --- ---
LOGD
DOUBLE EXPONENTIAL POWER --- --- --- --- --- ---
PWRD
Double-length, double-precision floating- --- --- --- --- --- ---
point comparison instructions
=D, <>D, <D, <=D, >D, >=D

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
DOUBLE SQUARE ROOT (857) (857) --- --- Calculates the square root of a double precision (64-bit) floating-
SQRTD @ (-H only) @ point value.
DOUBLE EXPONENT (858) (858) --- --- Calculates the exponent (base e) of a double precision (64-bit)
EXPD @ (-H only) @ floating-point value.
DOUBLE LOGARITHM (859) (859) --- --- Calculates the natural logarithm (base e) of a double precision (64-
LOGD @ (-H only) @ bit) floating-point value.
DOUBLE EXPONENTIAL POWER (860) (860) --- --- Raises a double precision (64-bit) floating-point value to the spec-
PWRD @ (-H only) @ ified power.
Double-length, double-precision floating- (335) to (335) to --- --- Compare two double precision (64-bit) floating-point values.
point comparison instructions (340) (340)
=D, <>D, <D, <=D, >D, >=D (-H only) (-H only)

Table Data Processing Instructions


Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
SET STACK --- --- --- --- --- ---
SSET
PUSH ONTO STACK --- --- --- --- --- ---
PUSH
LAST IN FIRST OUT --- --- --- --- --- ---
LIFO
FIRST IN FIRST OUT --- --- --- --- --- ---
FIFO
SET RECORD LOCATION --- --- --- --- --- ---
SETR
GET RECORD NUMBER --- --- --- --- --- ---
GETR
DATA SEARCH Expansion --- Expansion (181) --- ---
SRCH Expansion
SWAP BYTES --- --- --- --- --- ---
SWAP

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
SET STACK (630) (630) (160) (160) Defines a stack in a specified range of words.
SSET @ @ @ @
PUSH ONTO STACK (632) (632) (161) (161) Stores data in the specified stack.
PUSH @ @ @ @
LAST IN FIRST OUT (634) (634) (162) (162) Reads the last (newest) word of data that was stored in the specified
LIFO @ @ @ @ stack.
FIRST IN FIRST OUT (633) (633) (163) (163) Reads the first (oldest) word of data that was stored in the specified
FIFO @ @ @ @ stack.
SET RECORD LOCATION (635) (635) --- --- Stores the specified record in the specified index register.
SETR
GET RECORD NUMBER (636) (636) --- --- Outputs the record number of the record contained in the specified
GETR index register.
DATA SEARCH (181) (181) (164) (164) Searches the specified range of words for the specified value.
SRCH @ @ @ @
SWAP BYTES (637) (637) --- --- Exchanges the left and right bytes in each word within the specified
SWAP range.

Common PLC Information-68


Common PLC Information
Programming Instructions
Table Data Processing Instructions, Continued

Table Data Processing Instructions, Continued


Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
FIND MAXIMUM Expansion --- Expansion (182) --- ---
MAX Expansion
FIND MINIMUM Expansion --- Expansion (183) --- ---
MIN Expansion
SUM Expansion --- Expansion (184) --- ---
SUM Expansion
FRAME CHECKSUM Expansion Expansion Expansion (180) --- ---
FCS (SRM1 only) Expansion
STACK SIZE READ --- --- --- --- --- ---
SNUM
STACK DATA READ --- --- --- --- --- ---
SREAD
STACK DATA WRITE --- --- --- --- --- ---
SWRIT
STACK DATA INSERT --- --- --- --- --- ---
SINS
STACK DATA DELETE --- --- --- --- --- ---
SDEL

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
FIND MAXIMUM (182) (182) (165) (165) Searches the specified range of words for the maximum value in the
MAX @ @ @ @ range.
FIND MINIMUM (183) (183) (166) (166) Searches the specified range of words for the minimum value in the
MIN @ @ @ @ range.
SUM (184) (184) (167) (167) Adds the contents of the words in the specified range and outputs the
SUM @ @ @ @ result to two destination words.
FRAME CHECKSUM (180) (180) --- --- Calculates the checksum value for the specified range and stores the
FCS @ @ result in ASCII format.
STACK SIZE READ (638) (638) --- --- Counts the number of data records in the stack.
SNUM @ (-H only) @
STACK DATA READ (639) (639) --- --- Reads the specified data record from the stack.
SREAD @ (-H only) @
STACK DATA WRITE (640) (640) --- --- Overwrites the specified stack location with different data.
SWRIT @ (-H only) @
STACK DATA INSERT (641) (641) --- --- Inserts data at the specified stack location.
SINS @ (-H only) @
STACK DATA DELETE (642) (642) --- --- Deletes the data from the specified stack location.
SDEL @ (-H only) @

Common PLC Information-69


Common PLC Information
Programming Instructions
Data Control Instructions

Data Control Instructions


Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
PID CONTROL Expansion Expansion Expansion (190) --- ---
PID (SRM1-V2 only) Expansion
PID CONTROL WITH AUTO TUNING --- --- --- --- --- ---
PIDAT
LIMIT CONTROL --- --- --- --- --- ---
LMT
DEAD BAND CONTROL --- --- --- --- --- ---
BAND
DEAD ZONE CONTROL --- --- --- --- --- ---
ZONE
SCALING Expansion Expansion Expansion (194) --- ---
SCL (SRM1-V2 only) Expansion
SCALING 2 Expansion --- Expansion --- --- ---
SCL2
SCALING 3 Expansion --- Expansion --- --- ---
SCL3
AVERAGE Expansion --- Expansion (195) --- ---
AVG Expansion

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
PID CONTROL (190) (190) (270) --- Performs PID control according to the specified PID parameters.
PID (-V2 only)
PID CONTROL WITH AUTO TUNING (191) (191) --- --- Performs PID control according to the specified PID parameters and
PIDAT @ @ uses auto tuning to adjust the PID constants.
(-H only)
LIMIT CONTROL (680) (680) (271) --- Prohibits the output data from exceeding the specified upper and
LMT @ @ @ lower limits.
(-V2 only)
DEAD BAND CONTROL (681) (681) (272) --- Outputs 0 for values within the specified upper and lower limits.
BAND @ @ @
(-V2 only)
DEAD ZONE CONTROL (682) (682) (273) --- Adds the specified bias to the output data.
ZONE @ @ @
(-V2 only)
SCALING (194) (194) --- --- Converts a 16-bit binary value to 4-digit BCD according to the spec-
SCL @ @ ified linear relationship. (X-intercept must be zero.)
SCALING 2 (486) (486) --- --- Converts a 16-bit signed binary value to 4-digit BCD (CY Flag indi-
SCL2 @ @ cates sign) according to the specified linear relationship.
SCALING 3 (487) (487) --- --- Converts a 4-digit BCD value (CY Flag indicates sign) to a 16-bit
SCL3 @ @ signed binary value to according to the specified linear relationship.
AVERAGE (195) (195) --- --- Calculates the average value (binary) of a word’s contents over the
AVG specified number of cycles.

Common PLC Information-70


Common PLC Information
Programming Instructions
Subroutine Instructions

Subroutine Instructions
Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
SUBROUTINE ENTRY (92) (92) (92) (092) (92) ---
SBN
SUBROUTINE CALL (91) (91) (91) (091) (91) ---
SBS @ @ @ @ @
SUBROUTINE RETURN (93) (93) (93) (093) (93) ---
RET
MACRO (99) (99) (99) (099) --- ---
MCRO
GLOBAL SUBROUTINE CALL --- --- --- --- --- ---
GSBS
GLOBAL SUBROUTINE ENTRY --- --- --- --- --- ---
GSBN
GLOBAL SUBROUTINE RETURN --- --- --- --- --- ---
GRET

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
SUBROUTINE ENTRY (092) (092) (150) (150) Indicates the beginning of the subroutine program with the specified
SBN subroutine number.
SUBROUTINE CALL (091) (091) (151) (151) Calls and executes the specified subroutine program.
SBS @ @ @ @
SUBROUTINE RETURN (093) (093) (152) (152) Indicates the end of a subroutine program that started with SBN.
RET
MACRO (099) (099) (156) --- Allows a single subroutine to replace several subroutines that have
MCRO @ @ @ identical structure but different operands.
GLOBAL SUBROUTINE CALL (750) (750) --- --- Calls and executes the specified global subroutine program. (A glo-
GSBS (-H only) bal subroutine can be called from more than one task.)
GLOBAL SUBROUTINE ENTRY (751) (751) --- --- Indicates the beginning of the global subroutine program with the
GSBN @ specified number.
(-H only)
GLOBAL SUBROUTINE RETURN (752) (752) --- --- Indicates the end of a global subroutine program that started with
GRET (-H only) GSBN.

Common PLC Information-71


Common PLC Information
Programming Instructions
Interrupt Control Instructions

Interrupt Control Instructions


Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
SET IN TERRUPT MASK --- --- --- --- --- ---
MSKS
CLEAR IN TERRUPT --- --- --- --- --- ---
CLI
READ IN TERRUPT MASK --- --- --- --- --- ---
MSKR
DISABLE INTERRUPTS --- --- --- --- --- ---
DI
ENABLE INTERRUPTS --- --- --- --- --- ---
EI
INTERVAL TIMER (69) (69) (69) --- --- ---
STIM @ @ @
INTERRUPT CONTROL (89) (89) (89) (089) (89) ---
INT @ @ @ @ @
(Not SRM1)

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
SET IN TERRUPT MASK (690) (690) (153) (153) Sets I/O interrupt processing and scheduled interrupt processing.
MSKS @ @ @ @
CLEAR IN TERRUPT (691) (691) (154) (154) Clears or maintains recorded I/O interrupt processing requests or
CLI @ @ @ @ sets the delay until scheduled interrupt processing.
READ IN TERRUPT MASK (692) (692) (155) (155) Reads the current mask status of the specified Interrupt Input Unit.
MSKR @ @ @ @
DISABLE INTERRUPTS (693) (693) --- --- Disables execution of all interrupt tasks except the Power OFF Inter-
DI rupt Task.
ENABLE INTERRUPTS (694) (694) --- --- Enables execution of all interrupt tasks disabled by the DI instruction.
EI
INTERVAL TIMER --- --- --- --- Controls the operation of interval timers.
STIM
INTERRUPT CONTROL --- --- --- --- Controls the operation of I/O interrupts, scheduled interrupts, and
INT communications interrupts.

Step Instructions
Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
STEP DEFINE (08) (08) (08) (008) (08) (04)
STEP
STEP START (09) (09) (09) (009) (09) (05)
SNXT

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
STEP DEFINE (008) (008) (008) (008) Indicates the end of the previous process and the beginning of the
STEP current process. A STEP instruction without a control bit indicates
the end of the processing block.
STEP START (009) (009) (009) (009) Resets the current process and starts the next process.
SNXT

Common PLC Information-72


Common PLC Information
Programming Instructions
Peripheral Control Instructions

Peripheral Control Instructions


■ Special I/O Unit and I/O Unit Instructions
Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
7-SEGMENT DECODER (78) (78) (78) (078) (78) ---
SDEC @ @ @ @ @
I/O REFRESH (97) (97) (97) (097) (97) ---
IORF @ @ @ @ @
(Not SRM1)
INTELLIGENT I/O READ --- --- --- (222) --- ---
IORD Expansion
INTELLIGENT I/O WRITE --- --- --- (223) --- ---
IOWR Expansion
CPU BUS UNIT I/O REFRESH --- --- --- --- --- ---
DLNK
I/O READ 2 --- --- --- --- --- ---
RD2
I/O WRITE 2 --- --- --- --- --- ---
WR2
GROUP-2 HIGH DENSITY I/O RE- --- --- --- (061) --- ---
FRESH
MPRF
TEN KEY INPUT --- --- (18) (211) --- ---
TKY Expansion
HEXADECIMAL KEY INPUT --- --- Expansion (212) --- ---
HKY Expansion
DIGITAL SWITCH INPUT --- --- (87) (210) --- ---
DSW Expansion
MATRIX INPUT --- --- --- (213) --- ---
MTR Expansion
7-SEGMENT DISPLAY OUTPUT --- --- (88) (214) --- ---
7SEG Expansion
PCMCIA CARD MACRO --- --- --- (261) --- ---
CMCR Expansion
@

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
7-SEGMENT DECODER (078) (078) (112) (112) Converts the specified hexadecimal digit (4-bit data) into 7-segment
SDEC @ @ @ @ display code (8-bit data.)
I/O REFRESH (097) (097) (184) (184) Refreshes the specified I/O words.
IORF @ @ @ @
INTELLIGENT I/O READ (222) (222) (190) (190) Reads data from a Special I/O Unit’s internal memory area.
IORD (READ) (READ)
INTELLIGENT I/O WRITE (223) (223) (191) (191) Outputs data from the CPU Unit’s memory area to a Special I/O Unit.
IOWR (WRIT) (WRIT)
CPU BUS UNIT I/O REFRESH (226) (226) --- --- Performs immediate I/O refreshing with the specified CPU Bus Unit.
DLNK @ @
(-H only)
I/O READ 2 --- --- (280) --- Reads data from a Special I/O Unit’s internal memory area and
RD2 (-V2 only) transfers the data in the specified words in the PLC.
I/O WRITE 2 --- --- (281) --- Writes the specified number of words from the PLC to the specified
WR2 (-V2 only) address in a Special I/O Unit’s internal memory area.
GROUP-2 HIGH DENSITY I/O RE- --- --- --- --- Refreshes I/O words allocated to the specified Group-2 High-density
FRESH I/O Units.
MPRF
TEN KEY INPUT --- --- --- --- Reads numerical inputs from a 10-key keypad.
TKY
HEXADECIMAL KEY INPUT --- --- --- --- Reads numerical inputs from a hexadecimal keypad.
HKY
DIGITAL SWITCH INPUT --- --- --- --- Reads the set value set on a digital switch.
DSW
MATRIX INPUT --- --- --- --- Outputs data received from an 8´8 matrix input.
MTR
7-SEGMENT DISPLAY OUTPUT --- --- --- --- Outputs data to a 7-segment display connected to an Output Unit.
7SEG
PCMCIA CARD MACRO --- --- --- --- Manages data (read, write, search, and compare) on files on a Mem-
CMCR ory Card in a PC Card Unit.

Common PLC Information-73


Common PLC Information
Programming Instructions
Peripheral Control Instructions

■ Network Instructions
Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
NETWORK SEND --- --- (90) (090) (90) ---
SEND
NETWORK RECEIVE --- --- (98) (098) (98) ---
RECV
DELIVER COMMAND --- --- Expansion --- --- ---
CMND

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
NETWORK SEND (090) (090) (192) (192) Sends data to the specified node on a network.
SEND @ @ @ @
NETWORK RECEIVE (098) (098) (193) (193) Receives data from the specified node on a network.
RECV @ @ @ @
DELIVER COMMAND (490) (490) (194) (194) Sends a command and receives the corresponding response.
CMND @ @ @ @

■ Serial Communications Instructions


Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
PROTOCOL MACRO --- --- Expansion (260) --- ---
PMCR @ Expansion
@
TRANSMIT Expansion Expansion Expansion (236) --- ---
TXD @ @ @ Expansion
(CPU31/33 only) @
RECEIVE Expansion Expansion Expansion (235) --- ---
RXD @ @ @ Expansion
(CPU31/33 only) @
RS-232C PORT OUTPUT --- --- --- --- --- ---
FUN63
RS-232C PORT INPUT --- --- --- --- --- ---
FUN64
CHANGE SERIAL PORT SETUP Expansion Expansion Expansion (237) --- ---
STUP @ @ @ Expansion
(CPU31/33 only) @

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
PROTOCOL MACRO (260) (260) --- --- Calls the communications sequence (protocol data) that is registered
PMCR in a Communications Board.
TRANSMIT (236) (236) --- --- Sends the specified number of bytes of data from the specified port.
TXD
RECEIVE (235) (235) --- --- Reads the specified number of bytes of data that was received at the
RXD specified port.
RS-232C PORT OUTPUT --- --- --- --- Outputs data (such as ASCII data) to an RS-232C port.
FUN63
RS-232C PORT INPUT --- --- --- --- Inputs data received at the RS-232C port and stores it in the speci-
FUN64 fied words.
CHANGE SERIAL PORT SETUP (237) (237) --- --- Overwrites the PLC Setup settings for the specified RS-232C port
STUP with the new settings in the specified words.

Common PLC Information-74


Common PLC Information
Programming Instructions
Peripheral Control Instructions

■ File Memory Instructions


Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
READ DATA FILE --- --- --- --- (42) ---
FILR @
WRITE DATA FILE --- --- --- --- (43) ---
FILW @
READ PROGRAM FILE --- --- --- --- (44) ---
FILP @
CHANGE STEP PROGRAM --- --- --- --- --- ---
FISP

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
READ DATA FILE (700) (700) (180) (180) Reads a data file from file memory to a data area in the CPU Unit.
FILR @ @ @ @
(FILR) (FILR)
WRITE DATA FILE (701) (701) (181) (181) Writes the specified number of words to file memory as a data file.
FILW @ @ @ @
(FILW) (FILW)
READ PROGRAM FILE --- --- (182) (182) Reads a ladder program file from file memory.
FILP @ @
CHANGE STEP PROGRAM --- --- (183) (183) Reads a step program file from file memory and overwrites the spec-
FISP @ @ ified SFC step in the CPU Unit.

■ Display Instructions
Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
I/O DISPLAY --- --- --- --- --- ---
IODP
DISPLAY MESSAGE (46) (46) (46) (046) (46) ---
MSG @ @ @ @ @
PROGRAMMING CONSOLE KEY OP- --- --- --- --- --- ---
ERATION
FUN62
TERMINAL MODE --- --- --- (048) --- ---
TERM Expansion
@
LONG MESSAGE --- --- --- (047) --- ---
LMSG @

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
I/O DISPLAY --- --- (189) (189) Outputs the specified data to the 7-segment LEDs in a Unit such as
IODP @ @ an I/O Interface Unit.
DISPLAY MESSAGE (046) (046) (195) (195) Displays 8 words of ASCII data on the Programming Console’s dis-
MSG @ @ @ @ play.
PROGRAMMING CONSOLE KEY OP- --- --- --- --- Registers a key code string and executes an operation automatically.
ERATION
FUN62
TERMINAL MODE --- --- --- --- Switches the Programming Console to TERMINAL mode.
TERM
LONG MESSAGE --- --- --- --- Displays 16 words of ASCII data on the Programming Console’s dis-
LMSG play.

Common PLC Information-75


Common PLC Information
Programming Instructions
Peripheral Control Instructions

■ High-speed Counter and Pulse Control Instructions


Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
COMPARISON TABLE LOAD (63) (63) (63) --- --- ---
CTBL @ @ @
(Not SRM1)
MODE CONTROL (61) (61) (61) --- --- ---
INI @ @ @
(Not SRM1)
SPEED OUTPUT (64) (64) (64) --- --- ---
SPED @ @ @
(CPM1A only)
ACCELERATION CONTROL Expansion --- Expansion --- --- ---
ACC @ @
SET PULSES (65) (65) (65) --- --- ---
PULS @ @ @
(CPM1A only)
PULSE WITH VARIABLE DUTY FAC- Expansion --- Expansion --- --- ---
TOR @ @
PWM
PULSE OUTPUT --- --- Expansion --- --- ---
PLS2 @
HIGH-SPEED COUNTER PV READ (62) (62) (62) --- --- ---
PRV @ @ @
(Not SRM1)
SYNCHRONIZED PULSE CONTROL Expansion --- --- --- --- ---
SYNC @

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
COMPARISON TABLE LOAD --- --- --- --- Registers a comparison table for use with the high-speed counter PV
CTBL and starts comparisons.
MODE CONTROL --- --- --- --- Controls high-speed counter operation and stops pulse outputs.
INI
SPEED OUTPUT --- --- --- --- Sets the output pulse frequency and starts a pulse output from the
SPED specified output bit.
ACCELERATION CONTROL --- --- --- --- Controls the rate of change of pulse output frequency (acceleration/
ACC deceleration rate) from ports 1 and 2.
SET PULSES --- --- --- --- Sets the number of pulses at which the pulse output will be stopped.
PULS
PULSE WITH VARIABLE DUTY FAC- --- --- --- --- Outputs pulses with the specified duty ratio from the specified output
TOR bit.
PWM
PULSE OUTPUT --- --- --- --- Controls pulse outputs from ports 1 and 2, with a constant rate of
PLS2 change of the pulse output frequency.
HIGH-SPEED COUNTER PV READ --- --- --- --- Reads the PV used for high-speed counter operations.
PRV
SYNCHRONIZED PULSE CONTROL --- --- --- --- Synchronizes the operation of high-speed counters or pulse outputs
SYNC with an input pulse frequency.

Common PLC Information-76


Common PLC Information
Programming Instructions
Clock and Time-related Instructions

Clock and Time-related Instructions


Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
HOURS TO SECONDS Expansion --- Expansion (065) --- ---
SEC Expansion
@
SECONDS TO HOURS Expansion --- Expansion (066) --- ---
HMS Expansion
@
CALENDAR ADD --- --- --- --- --- ---
CADD
CALENDAR SUBTRACT --- --- --- --- --- ---
CSUB
CLOCK ADJUSTMENT --- --- --- --- --- ---
DATE

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
HOURS TO SECONDS (065) (065) (143) (143) Converts time notation in hours/minutes/seconds to an equivalent in
SEC @ @ @ @ just seconds.
SECONDS TO HOURS (066) (066) (144) (144) Converts time notation in seconds to an equivalent in hours/minutes/
HMS @ @ @ @ seconds.
CALENDAR ADD (730) (730) (145) (145) Adds time to the calendar/clock setting in the specified words.
CADD @ @ @ @
CALENDAR SUBTRACT (731) (731) (146) (146) Subtracts time from the calendar/clock setting in the specified words.
CSUB @ @ @ @
CLOCK ADJUSTMENT (735) (735) (179) --- Changes the PLC’s calendar/clock setting to the specified date and
DATE @ @ @ time.

Debugging Instructions
Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
TRACE MEMORY SAMPLING --- --- (45) (045) (45) ---
TRSM
MARK TRACE --- --- --- --- --- ---
MARK

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
TRACE MEMORY SAMPLING (045) (045) (170) (170) Extracts bit or word data at an arbitrary point during program execu-
TRSM tion and writes that data to trace memory.
MARK TRACE --- --- (174) (174) The MARK instruction samples the content of a word set with a Pro-
MARK gramming Device and stores the value in trace memory. The time be-
tween executions of the MARK instruction can also be measured.

User-defined Error and Diagnostic Instructions


Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
FAILURE ALARM (06) (06) (06) (006) (06) ---
FAL @ @ @ @ @
SEVERE FAILURE ALARM (07) (07) (07) (007) (07) ---
FALS @ @ @ @ @
FAILURE POINT DETECTION --- --- Expansion (269) --- ---
FPD Expansion

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
FAILURE ALARM (006) (006) (006) (006) Generates a non-fatal error for user-defined conditions.
FAL @ @ @ @
SEVERE FAILURE ALARM (007) (007) (007) (007) Generates a fatal error for user-defined conditions.
FALS @ @ @ @
FAILURE POINT DETECTION (269) (269) (177) --- Monitors the execution of an instruction block according to specified
FPD (-V2 only) conditions, detects errors, and determines the input conditions re-
sponsible for the errors.

Common PLC Information-77


Common PLC Information
Programming Instructions
Special Instructions

Special Instructions
Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
SET CARRY (40) --- (40) (040) (40) ---
STC @ @ @ @
CLEA CARRY (41) --- (41) (041) (41) (41)
CLC @ @ @ @ @
CONVERT ADDRESS FROM CV --- --- --- --- --- ---
FRMCV
CONVERT ADDRESS TO CV --- --- --- --- --- ---
TOCV
SELECT EM BANK --- --- --- (281) --- ---
EMBC Expansion
@
LOAD CONDITION FLAGS --- --- --- --- --- ---
CCL
SAVE CONDITION FALGS --- --- --- --- --- ---
CCS
LOAD REGISTER --- --- --- --- --- ---
REGL
SAVE REGISTER --- --- --- --- --- ---
REGS
EXTEND MAXIMUM CYCLE TIME --- --- --- (094) (94) ---
WDT @ @
DISABLE PERIPHERAL SERVICING --- --- --- --- --- ---
IOSP
ENABLE PERIPHERAL SERVICING --- --- --- --- --- ---
IORS
EXPANSION DM READ --- --- --- (280) --- ---
XDMR Expansion
@
SET SYSTEM --- --- --- --- --- ---
FUN49
CYCLE TIME --- --- --- (018) --- ---
SCAN @
INDIRECT EM ADDRESSING --- --- --- Expansion --- ---
IEMS @

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
SET CARRY (040) (040) (078) (078) Sets the Carry Flag to 1.
STC @ @ @ @
CLEA CARRY (041) (041) (079) (079) Resets the Carry Flag to 0.
CLC @ @ @ @
CONVERT ADDRESS FROM CV (284) (284) --- --- Converts a CV-series PLC memory address to its equivalent CS-se-
FRMCV @ (-H only) @ ries PLC memory address.
CONVERT ADDRESS TO CV (284) (284) --- --- Converts a CS-series PLC memory address to its equivalent CV-se-
TOCV @ (-H only) @ ries PLC memory address.
SELECT EM BANK (281) (281) (171) (171) Switches the current EM bank to the specified EM bank.
EMBC @ @ @ @
LOAD CONDITION FLAGS (282) (282) (172) (172) Changes the status of the Arithmetic Flags to the values that existed
CCL @ (-H only) @ @ @ when the CCS instruction was executed.
SAVE CONDITION FALGS (283) (283) (173) (173) Saves the status of the Arithmetic Flags in the CPU Unit for later re-
CCS @ (-H only) @ @ @ trieval.
LOAD REGISTER --- --- (175) (175) Copies the contents of the 6 specified source words to the data reg-
REGL @ @ isters and index registers.
SAVE REGISTER --- --- (176) (176) Saves the contents of the data registers and index registers to the 6
REGS @ @ specified destination words.
EXTEND MAXIMUM CYCLE TIME (094) (094) (178) --- Extends the maximum cycle time. The extension is specified in mul-
WDT @ @ @ (-V2 only) tiples of 10 ms.
DISABLE PERIPHERAL SERVICING (287) (287) (187) (187) Disables access to the PLC’s memory from Programming Devices,
IOSP @ (-H only) @ @ @ networking Units, and some other Units
ENABLE PERIPHERAL SERVICING (288) (288) (188) (188) Enables access to the PLC’s memory that was disabled by the IOSP
IORS @ (-H only) @ @ @ instruction.
EXPANSION DM READ --- --- --- --- Copies the specified number of words from the Expansion DM area.
XDMR
SET SYSTEM --- --- --- --- Executes system commands.
FUN49
CYCLE TIME --- --- --- --- Sets a fixed (minimum) cycle time and adds a delay to short cycles
SCAN to extend them to the minimum set time.
INDIRECT EM ADDRESSING --- --- --- --- Switches the destination of indirectly addressed DM to an EM bank.
IEMS

Common PLC Information-78


Common PLC Information
Programming Instructions
Block Program Instructions

Block Program Instructions


Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
BLOCK PROGRAM BEGIN --- --- --- --- (96) ---
BPRG
BLOCK PROGRAM END --- --- --- --- <01> ---
BEND
CONDITIONAL BRANCHING BLOCK --- --- --- --- <02> ---
IF
CONDITIONAL BRANCHING BLOCK NOT --- --- --- --- <02> ---
IF NOT
ELSE --- --- --- --- <03> ---
ELSE
IF END --- --- --- --- <04> ---
IEND
ONE CYCLE AND WAIT --- --- --- --- <05> ---
WAIT
ONE CYCLE AND WAIT NOT --- --- --- --- <05> ---
WAIT NOT
CONDITIONAL BLOCK EXIT --- --- --- --- <06> ---
EXIT
CONDITIONAL BLOCK EXIT NOT --- --- --- --- <06> ---
EXIT NOT
LOOP --- --- --- --- <09> ---
LOOP
LOOP END --- --- --- --- <10> ---
LEND
LOOP END NOT --- --- --- --- <10> ---
LEND NOT
BLOCK PROGRAM PAUSE --- --- --- --- <11> ---
BPPS
TIMER WAIT --- --- --- --- <13> ---
TIMW
COUNTER WAIT --- --- --- --- <14> ---
CNTW
HIGH-SPEED TIMER WAIT --- --- --- --- <15> ---
TMHW
BLOCK PROGRAM RESTART --- --- --- --- <12> ---
BPRS

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
BLOCK PROGRAM BEGIN (096) (096) (250) --- Indicates the beginning of a block program with the specified block pro-
BPRG (-V2 only) gram number.
BLOCK PROGRAM END (801) (801) (001) --- Indicates the end of a block program.
BEND (-V2 only)
CONDITIONAL BRANCHING BLOCK (802) (802) (002) --- Branch program operation based on bit conditions.
IF (-V2 only)
CONDITIONAL BRANCHING BLOCK NOT (802) (802) (002) ---
IF NOT (-V2 only)
ELSE (803) (803) (003) --- Indicates the start of the next block to be executed when the IF condition
ELSE (-V2 only) (or IF NOT condition) is false.
IF END (804) (804) (004) --- Indicates the end of a conditional branch block.
IEND (-V2 only)
ONE CYCLE AND WAIT (805) (805) (005) --- When the execution condition for WAIT is ON, the instructions between
WAIT (-V2 only) WAIT and BEND will not be executed.
ONE CYCLE AND WAIT NOT (805) (805) (005) --- When the execution condition for WAIT NOT is OFF, the instructions be-
WAIT NOT (-V2 only) tween WAIT NOT and BEND will not be executed.
CONDITIONAL BLOCK EXIT (806) (806) (006) --- When the execution condition for EXIT is ON, the block program will end
EXIT (-V2 only) without executing the instructions between EXIT and BEND.
CONDITIONAL BLOCK EXIT NOT (806) (806) (006) --- When the execution condition for EXIT NOT is OFF, the block program will
EXIT NOT (-V2 only) end without executing the instructions between EXIT NOT and BEND.
LOOP (809) (809) (009) --- Indicates the beginning of a block program loop.
LOOP (-V2 only)
LOOP END (810) (810) (010) --- Indicates the end of a block program loop. When the execution condition
LEND (-V2 only) for LEND is OFF (or ON for LEND NOT), program execution returns to the
LOOP END NOT (810) (810) (010) --- previous LOOP line. The block program loop will be executed repeatedly
LEND NOT (-V2 only) until the execution condition for LEND is ON (or OFF for LEND NOT).
BLOCK PROGRAM PAUSE (811) (811) (011) --- Temporarily suspends execution of the block program (currently being ex-
BPPS (-V2 only) ecuted) with the specified block number.
TIMER WAIT (813) (813) (013) --- Delays execution of the remainder of the program (through BEND) for the
TIMW (-V2 only) set time. The timer delay can be set from 0 to 999.9 s.
COUNTER WAIT (814) (814) (014) --- Delays execution of the remainder of the program (through BEND) until
CNTW (-V2 only) the counter completes counting.
HIGH-SPEED TIMER WAIT (815) (815) (015) --- Delays execution of the remainder of the program (through BEND) for the
TMHW (-V2 only) set time. The timer delay can be set from 0 to 99.99 s.
BLOCK PROGRAM RESTART (812) (812) (012) --- Resumes execution of the block program with the specified block number
BPRS (-V2 only) that was suspended by BPPS.

Common PLC Information-79


Common PLC Information
Programming Instructions
Character String Processing Instructions

Character String Processing Instructions


Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
MOV STRING --- --- --- --- --- ---
MOV$
CPMCATENATE STRING --- --- --- --- --- ---
+$
GET STRING LEFT --- --- --- --- --- ---
LEFT$
GET STRING RIGHT --- --- --- --- --- ---
RGHT$
GET STRING MIDDLE --- --- --- --- --- ---
MID$
FIND IN STRING --- --- --- --- --- ---
FIND$
STRING LENGTH --- --- --- --- --- ---
LEN$
REPLACE IN STRING --- --- --- --- --- ---
RPLC$
DELETE STRING --- --- --- --- --- ---
DEL$
EXCHANGE STRING --- --- --- --- --- ---
XCHG$
CLEAR STRING --- --- --- --- --- ---
CLR$
INS$ --- --- --- --- --- ---
INS$
Text string comparison instructions --- --- --- --- --- ---
LD, AND, OR+, =$, <>, $, <$, <=$, >$,
>=$

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
MOV STRING (664) (664) --- --- Transfers a character string.
MOV$
CPMCATENATE STRING (656) (656) --- --- Combines one character string with another.
+$
GET STRING LEFT (652) (652) --- --- Extracts the specified number of characters from the left side (begin-
LEFT$ ning) of a character string.
GET STRING RIGHT (653) (653) --- --- Extracts the specified number of characters from the right side (end)
RGHT$ of a character string.
GET STRING MIDDLE (654) (654) --- --- Extracts the specified number of characters starting at the specified
MID$ point in a character string.
FIND IN STRING (660) (660) --- --- Searches for the specified characters within a character string and
FIND$ outputs the position.
STRING LENGTH (650) (650) --- --- Calculates the length of a character string.
LEN$
REPLACE IN STRING (661) (661) --- --- Replaces part of a character string with the specified characters
RPLC$ starting at the specified point.
DELETE STRING (658) (658) --- --- Deletes the specified part of a character string.
DEL$
EXCHANGE STRING (665) (665) --- --- Exchanges one character string with another.
XCHG$
CLEAR STRING (666) (666) --- --- Clears all characters in a character string to null characters (00 Hex).
CLR$
INS$ (657) (657) --- --- Inserts a specified character string into another one at the specified
INS$ point.
Text string comparison instructions (670): =$ (670): =$ --- --- Compares two character strings based on their ASCII data values
LD, AND, OR+, =$, <>$, <$, <=$, >$, (671): <>$ (671): <>$ and connects to the next instruction line if the comparison result is
>=$ (672): <$ (672): <$ true.
(673): <=$ (673): <=$ Three ladder diagram instructions (LD, AND, and OR) can be used
(674): >$ (674): >$ with the comparison instructions.
(675): >=$ (675): >=$

Common PLC Information-80


Common PLC Information
Programming Instructions
SFC Control Instructions

SFC Control Instructions


Name CPM2A CPM1A CQM1H C200HX C1000H SK20
Mnemonic CPM2C SRM1 C200HG C2000H SP10
C200HE SP16
SP20
TRANSITION COUNTER --- --- --- --- --- ---
TCNT
READ STEP TIMER --- --- --- --- --- ---
TSR
WRITE STEP TIMER --- --- --- --- --- ---
TSW
TRANSITIO OUTPUT --- --- --- --- --- ---
TOUT
ACTIVATE STEP --- --- --- --- --- ---
SA
PAUSE STEP --- --- --- --- --- ---
SP
RESTART STEP --- --- --- --- --- ---
SR
END STEP --- --- --- --- --- ---
SF
DEACTIVATE STEP --- --- --- --- --- ---
SE
RESET STEP --- --- --- --- --- ---
SOFF

Name CJ Series CS Series CVM1 CV500 Description


Mnemonic CV1000
CV2000
TRANSITION COUNTER --- --- --- (123) Computes the number of times that a transition program is executed
TCNT and turns ON the Transition Flag when the preset count is reached.
READ STEP TIMER --- --- --- (124) Reads the present value of the step timer for a step and writes to
TSR @ memory.
WRITE STEP TIMER --- --- --- (125) Changes the present value of the step timer for a step to a specified
TSW @ value.
TRANSITIO OUTPUT --- --- --- (202) Outputs the result of a transition program to the Transition Flag.
TOUT
ACTIVATE STEP --- --- --- (210) Places a step in a specified subchart in execute status to start the ex-
SA @ ecution of actions.
PAUSE STEP --- --- --- (211) Changes a step or subchart from execute to pause status.
SP @
RESTART STEP --- --- --- (212) Changes a step from pause to execute status.
SR @
END STEP --- --- --- (213) Changes a step from execute or pause to halt status.
SF @
DEACTIVATE STEP --- --- --- (214) Changes a step from active (execute, pause, or halt) to inactive sta-
SE @ tus.
RESET STEP --- --- --- (215) Resets a step (regardless of its status) to inactive status.
SOFF @

Common PLC Information-81

You might also like