Detailed instructions for use are in the User's Guide.
[. . . ] @ Inner Boards
PROGRAMMING MANUAL
SYSMAC CQM1H Series
CQM1H-CPU@ Inner Boards Programming Manual
Revised September 2007
iv
Notice:
OMRON products are manufactured for use according to proper procedures by a qualified operator and only for the purposes described in this manual. The following conventions are used to indicate and classify precautions in this manual. Failure to heed precautions can result in injury to people or damage to property.
!DANGER
!WARNING
Indicates an imminently hazardous situation which, if not avoided, will result in death or serious injury. [. . . ] (Content of *EM/*DM word is not BCD, or the EM/DM area boundary has been exceeded. )
271
Data Movement Instructions
Section 5-18
5-18-4 BLOCK SET BSET(71)
Operand Data Areas Ladder Symbols
BSET(71) S St E @BSET(71) St: Starting word S St E IR, SR AR, DM, EM, HR, TIM/CNT, LR E: End Word IR, SR, AR, DM, EM, HR, TIM/CNT, LR S: Source data IR, SR, AR, DM, EM, HR, TIM/CNT, LR, #
Limitations
St must be less than or equal to E, and St and E must be in the same data area. When the execution condition is ON, BSET(71) copies the content of S to all words from St through E.
S 3452 St 3452 St+1 3452 St+2 3452
Description
E 3452
BSET(71) can be used to change timer/counter PV. (This cannot be done with MOV(21) or MVN(22). ) BSET(71) can also be used to clear sections of a data area, i. e. , the DM area, to prepare for executing other instructions. Flags ER: St and E are not in the same data area or St is greater than E. (Content of *EM/*DM word is not BCD, or the EM/DM area boundary has been exceeded. ) Example The following example shows how to use BSET(71) to copy a constant (#0000) to a block of the DM area (DM 0000 to DM 0500) when IR 00000 is ON.
Address Instruction
@BSET(71) #0000 DM 0000 DM 0500
00000
Operands 00000 # DM DM 0000 0000 0500
00000 00001
LD @BSET(71)
272
Data Movement Instructions
Section 5-18
5-18-5 DATA EXCHANGE XCHG(73)
Ladder Symbols
XCHG(73) E1 E2 @XCHG(73) E1 E2: Exchange word 2 E2 IR, SR, AR, DM, EM, HR, TIM/CNT, LR
Operand Data Areas
E1: Exchange word 1 IR, SR, AR, DM, EM, HR, TIM/CNT, LR
Limitations Description
DM 6144 to DM 6655 cannot be used for E1 or E2. When the execution condition is ON, XCHG(73) exchanges the content of E1 and E2.
E1 E2
If you want to exchange content of blocks whose size is greater than 1 word, use work words as an intermediate buffer to hold one of the blocks using XFER(70) three times. (Content of *EM/*DM word is not BCD, or the EM/DM area boundary has been exceeded. )
5-18-6 SINGLE WORD DISTRIBUTE DIST(80)
Operand Data Areas Ladder Symbols
DIST(80) S DBs C @DIST(80) S DBs C S: Source data IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # DBs: Destination base word IR, SR, AR, DM, EM, HR, TIM/CNT, LR C: Control word (BCD) IR, SR, AR, DM, EM, HR, TIM/CNT, LR, #
Limitations Description Single-word Distribution
C must be BCD. DIST(80) can be used for single-word distribution or for a stack operation depending on the content of the control word, C. When bits 12 to 15 of C=0 to 8, DIST(80) can be used for a single word distribute operation. When the execution condition is ON, DIST(80) copies the content of S to DBs+Of, i. e. , Of is added to DBs to determine the destination word. Note DBs and DBs+Of must be in the same data area and cannot be between DM 6144 and DM 6655. Example The following example shows how to use DIST(80) to copy #00FF to HR 10 + Of. The content of LR 10 is #3005, so #00FF is copied to HR 15 (HR 10 + 5) when IR 00000 is ON.
273
Data Movement Instructions
00000 @DIST(80) #00FF HR 10 LR 10
Section 5-18
Address Instruction 00000 00001 LD @DIST(80) # HR LR Operands 00000 00FF 10 10
LR 10 3005
#00FF 00FF
HR 10 0000
HR 15 00FF
Stack Operation
When bits 12 to 15 of C=9, DIST(80) can be used for a stack operation. The other 3 digits of C specify the number of words in the stack (000 to 999). When the execution condition is ON, DIST(80) copies the content of S to DBs+1+the content of DBs. In other words, 1 and the content of DBs are added to DBs to determine the destination word. DIST(80) will be executed every cycle unless the differentiated form (@DIST(80)) is used or DIST(80) is used with DIFU(13) or DIFD(14). Be sure to initialize the stack pointer before using DIST(80) as a stack operation. Example The following example shows how to use DIST(80) to create a stack between DM 0001 and DM 0005. DM 0000 acts as the stack pointer.
00000 @DIST(80) 001 DM 0000 216
Address Instruction 00000 00001 LD @DIST(80)
Operands 00000 001 0000 216
DM
IR 001 IR 216 DM 0000 DM 0001 DM 0002 DM 0003 DM 0004 DM 0005
FFFF 9005 0000 0000 0000 0000 0000 0000 First execution Stack pointer incremented DM 0000 DM 0001 DM 0002 DM 0003 DM 0004 DM 0005 0001 FFFF 0000 0000 0000 0000 Second execution Stack pointer incremented DM 0000 DM 0001 DM 0002 DM 0003 DM 0004 DM 0005 0002 FFFF FFFF 0000 0000 0000
Flags
ER:
The offset or stack length in the control word is not BCD. (Content of *EM/*DM word is not BCD, or the EM/DM area boundary has been exceeded. ) During stack operation, the value of the stack pointer+1 exceeds the length of the stack.
274
Data Movement Instructions
EQ: ON when the content of S is zero; otherwise OFF.
Section 5-18
5-18-7 DATA COLLECT COLL(81)
Operand Data Areas Ladder Symbols
COLL(81) SBs C D @COLL(81) SBs C D SBs: Source base word IR, SR, AR, DM, EM, HR, TIM/CNT, LR C: Control word (BCD) IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # D: Destination word IR, SR, AR, DM, EM, HR, TIM/CNT, LR
Limitations Description Data Collection
C must be BCD. COLL(81) can be used for data collection, an FIFO stack operation, or an LIFO stack operation depending on the content of the control word, C. [. . . ] If a Programming Devices is involved, the Programming Device is considered the host computer. A timer within the system that ensures that the scan time stays within specified limits. When limits are reached, either warnings are given or PC operation is stopped depending on the particular limit that is reached. Some data areas can be accessed only by words; others, by either words or bits. [. . . ]