Program Execution After a Switchover

Project with Periodic Tasks

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)
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
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
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
Crossloads 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.
Crossload at Various Intervals
Crossloads at Various Intervals
Provide Feedback
Have questions or feedback about this documentation? Please submit your feedback here.
Normal