System
System holds Tasks. A task is what the runtime actually runs: a period, a priority and a
core, with your logic inside it. Add Task on the PLC project’s Tasks tab adds another one.
Two more arrive with NC and are not added by you: NC Preparation and NC Execution. They
carry the same three values and are set the same way, and what each of them runs is on
Motion & NC.
Priority is a real-time priority
Section titled “Priority is a real-time priority”The number is passed to the target’s real-time scheduler, so a task holds the processor against every task below it until its cycle is done. Motion’s two tasks are created above the priority a PLC task is created with, which is what keeps a long scan in your logic from arriving as late motion on the part.
A PLC task raised above the motion tasks takes the processor from the axis loop. Logic that needs to run sooner wants a shorter period, not a higher priority.
CPU Core pins the task to one core
Section titled “CPU Core pins the task to one core”-1 leaves the task wherever the operating system puts it. A number pins it there for good.
Motion’s tasks are pinned, so read which core they are on before pinning yours: two real-time
tasks on one core is one of them waiting.
A slave’s I/O moves at the period of its group’s task
Section titled “A slave’s I/O moves at the period of its group’s task”Every slave on the bus sits in a sync unit group, and each group is exchanged by one task. The
drives are in the group the motion side exchanges, the rest of the I/O in the group your PLC
task exchanges, and moving a slave between them on SyncUnits changes how often its inputs
and outputs are refreshed. A task’s period is therefore the rate of its own I/O as well as of
its logic.
Where to go next
Section titled “Where to go next”- Motion & NC: the two tasks motion brings, and what runs in them.
- PLC: the logic a task runs.
- I/O & EtherCAT: the bus the groups are made of.