Omron SYSMAC CS/CJ Series Programming Manual page 182

Table of Contents

Advertisement

Using Tasks
Relationship of Tasks to I/O Memory
Note
Relationship of Tasks to
Timer Operation
If task m places task n in Standby status and m > n, will go to Standby status
the next cycle.
Example: If task 5 places task 2 in Standby status, task 2 will go to Standby
status the next cycle.
If task m places task n in Standby status and m < n, task n will go to Standby
status in the same cycle.
Example: If task 2 places task 5 in Standby status, task 5 will go to Standby
status in the same cycle.
There are two different ways to use Index Registers (IR) and Data Registers
(DR): 1) Independently by task or 2) Shared by all task (supported by CS1-H,
CJ1-H, or CJ1M CPU Units only).
With independent registers, IR0 used by cyclic task 1 for example is different
from IR0 used by cyclic task 2. With shared registers, IR0 used by cyclic task
1 for example is the same as IR0 used by cyclic task 2.
The setting that determines if registers are independent or shared is made
from the CX-Programmer.
• Other words and bits in I/O Memory are shared by all tasks. CIO 001000
for example is the same bit for both cyclic task 1 and cyclic task 2. There-
fore, be very careful in programming any time I/O memory areas other
than the IR and DR Areas are used because values changed with one
task will be used by other tasks.
I/O memory
CIO, Auxiliary, Data Memory and all other mem-
ory areas except the IR and DR Areas. (See
note 1.)
Index registers (IR) and data registers (DR)
(See note 2.)
1. The current EM bank is also shared by tasks. Therefore if the current EM
bank number is changed with cyclic task 1 for example, the new current EM
bank number will be valid for cyclic task 2 as well.
2. IR and DR values are not set when interrupt tasks (including extra cyclic
tasks) are started. If IR and DR are used in an interrupt task, these values
must be set by the MOVR/MOVRW (MOVE TO REGISTER and MOVE
TIMER/COUNTER PV TO REGISTER) instructions within the interrupt
task. After the interrupt task has been executed, IR and DR will return to
their values prior to the interrupt automatically.
Timer present values for TIM, TIMX, TIMH, TIMHX, TMHH, TMHHX, TIMW,
TIMWX, TMHW, and TMHWX programmed for timer numbers 0000 to 2047
will be updated even if the task is switched or if the task containing the timer is
changed to Standby status or back to READY status.
If the task containing TIM goes to Standby status and is the returned to
READY status, the Completion Flag will be turned ON if the TIM instruction is
executed when the present value is 0. (Completion Flags for timers are
updated only when the instruction is executed.) If the TIM instruction is exe-
cuted when the present value is not yet 0, the present value will continue to be
updated just as it was while the task was in READY status.
• The present values for timers programmed with timer numbers 2048 to
4098 will be maintained when the task is in Standby status.
Section 4-2
Relationship to tasks
Shared with other tasks.
Used separately for each task.
161

Advertisement

Table of Contents
loading

Table of Contents