Peripheral Servicing Priority Mode
Operation
Time slice for
program execution
Execution
Note
CS1D CPU Units for Single-CPU Systems and CS1-H, CJ1-H, and CJ1M CPU Units
IOSP(287)
350
words being read by the program are written from a peripheral before the
read has been completed.
• When two instructions access the same words in memory. If these words
are written from a peripheral device between the times the two instruc-
tions are executed, the two instructions will read different values from
memory.
When data concurrence must be ensured, the DISABLE INTERRUPTS and
ENABLE INTERRUPTS instructions (DI(693) and EI(694)) can be used for
CS1 or CJ1 CPU Units to prevent priority servicing during required sections of
the program, as shown in the following example.
CS1-H, CJ1-H, and CJ1M CPU Units, and CS1D CPU Units for Single-CPU
Systems: Use IOSP(287) and IORS(288)
CS1G/H-CPU@@(-V1) and CS1@-CPU@@ CPU Units: Use DI (693) and
EI(694).
Priority servicing will not be executed between DI(693) and
EI(694) while W000000 is ON.
Time slice for
Time slice for program
peripheral servicing
execution
Peripheral
servicing
Interrupted
Execution
Program section
requiring data
concurrence
DI(693) executed.
1. DI(693) and IOSP(287) will disable not only interrupts for priority servicing,
but also all other interrupts, including I/O, scheduled, and external inter-
rupts. All interrupts that have been generated will be executed after the cy-
clic task has been executed (after END(001) execution) unless CLI(691) is
executed first to clear the interrupts.
2. Disabling interrupts with DI(693) or IOSP(287) is effective until EI(694) or
IORS(288) is executed, until END(001) is executed, or until PLC operation
is stopped. Program sections can thus not be created that go past the end
of a task or cycle. Use DI(693) and EI(694) or IOSP(287) and IORS(288)
in each cyclic task when necessary to disable interrupts in more than one
cycle or task.
When executed, IOSP(287) disables peripheral servicing. Peripheral servicing
will remain disabled if IOSP(287) is executed when it is already disabled.
Peripheral
servicing
Interrupted
Execution
I/O refresh
EI(694) executed.
Section 6-9
Normal peripheral
servicing
Need help?
Do you have a question about the CJ - PROGRAMMING MANUAL 08-2008 and is the answer not in the manual?