!
120
A
non-dif
ferentiated instruction is executed each time it is
cycled as long as its
execution
condition is ON. A dif
ferentiated instruction
is executed only once af
-
ter
its execution condition goes from OFF to ON. If the execution condition has
not
changed or has changed from ON to
OFF since the last time the instruction
was cycled, the instruction will not be executed. The following two examples
show
how this works with MOV(21) and @MOV(21), which are used to move the
data in the address designated by the first operand to the address designated by
the second operand.
00000
MOV(21)
HR 10
DM 0000
Diagram A
00000
@MOV(21)
HR 10
DM 0000
Diagram B
Address Instruction Operands
Address Instruction Operands
00000 LD 00000
00001 MOV(21)
HR 10
DM 0000
00000 LD 00000
00001 @MOV(21)
HR 10
DM 0000
In
diagram A, the non-dif
ferentiated
MOV(21) will move the content of HR 10 to
DM 0000 whenever it is cycled with 00000. If the cycle time
is 80 ms and 00000
remains
ON for 2.0 seconds, this move operation will be performed 25 times and
only the last value moved to DM 0000 will be preserved there.
In
diagram B, the dif
ferentiated @MOV(21)
will move the content of HR 10 to DM
0000 only once after 00000 goes ON.
Even
if 00000 remains ON for 2.0 seconds
with
the same 80 ms cycle time, the move operation will be executed only once
during
the
first cycle in which 00000 has changed from OFF to ON. Because the
content of HR 10 could very well change during the 2 seconds while 00000 is
ON,
the final content of DM 0000 after
the 2 seconds could be dif
ferent depend
-
ing on whether MOV(21) or @MOV(21) was used.
All
operands, ladder diagram symbols, and other
specifications for instructions
are
the same regardless of whether the dif
ferentiated
or non-dif
ferentiated form
of
an instruction is used.
When inputting, the same function codes are also used,
but
NOT is input after the function code to designate
the dif
ferentiated form of an
instruction. Most, but not all, instructions have differentiated forms.
Refer
to
5-10 INTERLOCK and INTERLOCK CLEAR – IL(02) and IL(03)
for the
effects of interlocks on differentiated instructions.
The
C200HS also provides dif
ferentiation instructions: DIFU(13) and DIFD(14).
DIFU(13) operates the same as a differentiated instruction, but is used to turn
ON a bit for one cycle. DIFD(14) also turns ON a bit for one cycle, but does it
when
the execution condition has changed from ON to OFF
. Refer to
5-9-2 DIF
-
FERENTIATE UP and DOWN - DIFU(13) and DIFD(14) for details.
Caution Do not use SR 25313 and SR25315 for differentiated instructions. These bits
never change status and will not trigger differentiated instructions
5-5 Expansion Instructions
The
C200HS has
more instructions that require function codes (121) than func
-
tion
codes (100), so some instructions do not have fixed function codes. These
instructions,
called
expansion instructions, are listed in the following table. De
-
fault function codes are given for the instructions that have them.
An expansion instruction can be assigned one of 18 function codes using the
Programming
Console’
s Expansion Instruction Function Code Assignments op
-
eration.
The 18 function codes are: 17, 18, 19, 47, 48, 60 to 69, 87, 88, and 89.
Refer
to
7-1-14 Expansion Instruction Function
Code Assignments
for details on
assigning function codes.
Expansion Instructions Section 5-5