In a project with multiple periodic tasks, the point where program execution begins after a switchover depends on the following:
Crossload and synchronization settings
Task priority settings
The controller begins execution with the program that follows the last crossload and synchronization point. A higher priority task can interrupt a lower priority task. If a switchover occurs during or just after the higher priority task executes and the lower priority task has not been completed, then the lower priority task and programs are executed from the point at which the last crossload occurred.
The following diagram shows how tasks at different priorities execute if a switchover occurs while a lower priority task is executing. The crossload and synchronization points in this example are set to occur only at the end of the last program within the tasks. The points are not set to occur at the end of each program.
Normal Periodic Task Execution (No Switchover)
If a lower priority task has not completed when a switchover occurs, then the lower priority task and programs are executed from the beginning of the program where the switchover occurred. This is the default operation.
Configured to Crossload After Programs
The following diagram shows a lower priority task that has not completed when a switchover occurs. The lower priority task and programs are executed from the beginning and not at the program where the switchover occurred.
Configured Not to Crossload After Programs
For more information about programs and tasks with controllers, see the Logix 5000 Controllers Tasks, Programs, and Routines Programming Manual, publication 1756-PM005.
Project with a Continuous Task
In a project with only a continuous task, the new primary controller begins executing at the last crossload and synchronization point. Depending on your crossload and synchronization setting, the program that the new primary controller begins with can be the following:
The program that the switchover interrupted
The program that immediately follows the last crossload and synchronization point
If a program is configured to crossload and synchronize at each program end, then after a switchover, the new primary controller begins executing at the beginning of the program that the switchover interrupted. This operation is the default setting for a program.
Crossload at Each Program End
If a program is configured to crossload and synchronize at various intervals, then after a switchover, the new primary controller begins executing the program that follows the last crossload and synchronization point.