![background image](http://html1.mh-extra.com/html/omron/cvm1d/cvm1d_operation-manual_742532109.webp)
104
The execution condition is always compared to the execution condition that ex-
isted the last time the instruction was scanned, which may not be the previous
cycle if an instruction is in a section of the program skipped by a jump, in a sub-
routine, etc. In the following examples, we will assume that the MOVE instruction
is scanned each cycle.
Address
Instruction
00000
LD
000000
00001
MOV(030)
A0001
D00000
00000
LD
000000
00001
j
MOV(030)
A001
D00000
Operands
Address Instruction Operands
0000
00
0000
00
(030)
MOV
A001 D00000
(030)
j
MOV
A001 D00000
Diagram A
Diagram B
In diagram A, the non-differentiated MOV(030) will move the content of A001 to
D00000 whenever it is scanned with 000000 ON. If the cycle time is 80 ms and
000000 remains ON for 2.0 seconds, this move operation will be performed 25
times and D00000 will contain the last value moved to it.
In diagram B, the differentiate up instruction
j
MOV(030) will move the content of
A001 to D00000 only once after 000000 goes ON. Even if 000000 remains ON
for 2.0 seconds, the move operation will be executed only during the first cycle in
which 000000 has changed from OFF to ON. Because the content of A001 could
very well change during the 2 seconds while 000000 is ON, the final content of
D00000 after the 2 seconds could be different depending on whether MOV(030)
or
j
MOV(030) was used.
All operands and other specifications for instructions are the same regardless of
whether the differentiated or non-differentiated form of an instruction is used.
When inputting, the same function codes are also used.
Operation of differentiated instructions can be uncertain when the instructions
are programmed between IL and ILC, between JMP and JME, or in subroutines.
Refer to 5-8 INTERLOCK and INTERLOCK CLEAR – IL(002) and ILC(003), 5-9
JUMP and JUMP END – JMP(004) and JME(005), and 5-30 Subroutines for de-
tails.
CVM1D PCs also provide differentiation instructions: DIFU(013) and
DIFD(014). These instruction operate as the differentiated variations of the
OUTPUT instruction: DIFU(013) turns ON a bit for one cycle when the execution
condition has changed from OFF to ON and DIFD(014) turns ON a bit for one
cycle when the execution condition has changed from ON to OFF. Refer to 5-7-2
DIFFERENTIATE UP/DOWN – DIFU(013) and DIFD(014) for details.
Up or down differentiation can be combined with immediate refreshing in a
single instruction.
Immediate Refreshing
Many instructions are provided in an immediate refresh variation, distinguished
by an exclamation mark, !, at the beginning of the mnemonic. An immediate re-
fresh instruction updates the status of input bits just before, or output bits just
after, the instruction is executed. If the instruction has a word operand, the whole
word is updated, and if the instruction has a bit operand, only the byte (leftmost
or rightmost 8 bits) containing the bit operand is updated.
Note: Immediate-refresh variations can be used in simplex mode only; they cannot be
used in duplex mode.
Differentiated and Immediate Refresh Instructions
Section 5-4
Summary of Contents for CVM1D
Page 462: ...SYSMAC CVM1D Duplex System Programmable Controllers Operation Manual Revised August 2001...
Page 463: ...iv...
Page 465: ...vi...