Parker Hannifin
home | products | how to buy | support & downloads | literature | search

Click Here to go to new EM&D Knowledge Base (FAQ) site


How to change the Task Type or Task Speed

 Products: ACR9600, ACR9630, ACR9640

A task is equivalent to a program plus the information about how the program can be executed. The definition of a task consists of the name, the information about the execution of the task and a POU of type PROGRAM which should be executed in this task.

IEC61131-3 defines 3 tasks types
Interrupt
-Called once whenever interrupt is called
-Highest priority
System Timer
-Called every N milliseconds
-Must finish before restarted
Cyclic (aka Freewheeling)
-Rescheduled immediately when finished
-Lowest priority
-Default task type in ACR

Task definition and optimization are managed from the Resources Tab of the IEC PLC Browser

Right-click on the controller name to view or change the resource optimization. The default setting of "Size Only" is recommended. Change individual task optimization as needed.

Right-click on an task to view or edit Optimization settings. By default the task will assume the "resource defaults" described above. Also select from:

Speed Only: for fastest possible execution, will increase program size
Size Only: reduces program memory usage
Normal: combination of size and speed
 
In general , "speed only" should only be used for the most time critical operations because of the impact on memory requirements.

 

Changing the task type is also accomplished by a right-click of the program name and selecting properties.

Cyclic Task

Cyclic Task is the default. Cyclic tasks will run to completion, in the order listed in the Resource list. The order of execution can be changed by right-clicking the program name and selecting MoveUp or MoveDown.

The Priority of a cyclic task indicates how often the task will run
1= every turn
2= every 2nd turn
3= every 3rd turn, etc

For example, from the Resource list shown above, the priorities are set as:
Prog1 : Priority 1
Prog2 : Priority 2
Prog3 : Priority 3
 
The tasks will then run as follows:
PROG1, PROG3, PROG2
PROG1
PROG1, PROG2
PROG1, PROG3
PROG1, PROG2
PROG1
PROG1, PROG3, PROG2
PROG1
PROG1, PROG2
PROG1, PROG3
PROG1, PROG2

System Timer Task

A System Timer task will run  every "x" milliseconds as designated by the user. The priority determines which System Timer task takes precedence if more than one are called to run at the same time. System timer tasks always have higher priority than cyclic tasks.Cyclic tasks that are interrupted by a timer task will "pause" during the timer task execution, then resume where left off when the timer task is complete

The  Time (ms) (aka Periodic task scan period) should be less than the overall time to run the task and should allow for sufficent time to run other tasks. For example, if the Time=10ms and the actual execution time is 9ms then only 1ms is left to run any other tasks. If the execution time exceeds the interrupt Time, the controller will increase the interrupt time accordingly.

The numeric status panel can be used to determine utilization of System Timer tasks.

Interrupt Tasks

Interrupt Tasks are the highest priority. There are three types:

STARTUP : task executes once on PLC start
ERROR : task executes once when a PLC system error occurs (for example:  divide by zero or array out of bounds)
PARKER : reserved for future use.

Mar-2013  JW