New Community Ranking System
Our Community ranking system has recently been updated. You may notice changes in user rankings and receive system messages or notifications. If you have questions about how the new ranking works, please refer to the announcement post for more details (click here).
Execution Precedence Sets Program Execution Order but Not Priority
Building Automation Knowledge Base
Schneider Electric Building Automation Knowledge Base is a self-service resource to answer all your questions about EcoStruxure Building suite, Andover Continuum, Satchwell, TAC…
Search in
Improve your search experience:
Exact phrase→Use quotes " "(e.g., "error 404")
Wildcard→Use * for partial words(e.g., build*, *tion)
AND / OR→Combine keywords(e.g., login AND error, login OR sign‑in)
Keep it short→Use 2–3 relevant words, not full sentences
Filters→Narrow results by section(Knowledge Base, Users, Products)
Send a co-worker an invite to the portal.Just enter their email address and we'll connect them to register. After joining, they will belong to the same company.
You have entered an invalid email address. Please re-enter the email address.
This co-worker has already been invited to the Exchange portal. Please invite another co-worker.
Please enter email address
Send InviteCancel
Invitation Sent
Your invitation was sent.Thanks for sharing Exchange with your co-worker.
Can Execution Precedence be used to determine the priority of a program that is bound to a value?
Application Task shows the "Conflicts" property set to true
High Memory/CPU values causing performance issues with Automation Servers running a large number (100+) of applications (Function Block Programs and Script Programs)
Product Line
EcoStruxure Building Operation
Environment
Building Operation Automation Server (AS. AS-B, AS-P, AS-P-3)
Function Block programs
Script programs
Cause
The behavior of the Execution Precedence property is often misunderstood. Execution Precedence is intended to help the Application Scheduler establish a valid execution sequence between dependent programs. It does not provide a program priority mechanism and cannot be used to determine which program has control of a value when multiple programs are bound to the same output. Incorrect assumptions about its purpose can result in dependency-cycle issues, application conflicts, or unexpected control results
Resolution
Execution Precedence is a program property available in both Function Block and Script programs. It is configured from the program Properties on the Basic tab.
How Execution Precedence Works
Execution Precedence controls the order in which programs are executed.
Programs with lower Execution Precedence values execute before programs with higher values.
Program execution is coordinated by the Application Scheduler. For synchronized tasks, the scheduler normally determines execution order by analyzing dependencies between program inputs and outputs.
Applications that provide data are generally executed before applications that consume that data.
Programs with the Same Execution Precedence
If multiple programs have the same Execution Precedence value, Execution Precedence does not establish an execution-order preference between them.
In this situation, the Application Scheduler determines the execution order based on program dependencies.
Important: Programs with equal Execution Precedence values should not be assumed to execute in a specific order unless that order is defined by their dependencies.
Using Execution Precedence for Dependent Programs
Execution Precedence can be used when one program generates a value that is required by another program.
Example
Program A calculates a compensated setpoint.
Program B is a PID control program that uses the compensated setpoint as its reference value.
Program B must have a higher Execution Precedence value than Program A so that the compensated setpoint is calculated before the PID program executes.
Resolving Dependency Cycles
A dependency cycle occurs when two or more programs depend on each other, preventing the Application Scheduler from determining a valid execution order.
Example
To resolve a dependency cycle:
Identify the program that should execute first.
Assign that program a uniquely lowest Execution Precedence value.
The Application Scheduler uses that value to establish a valid execution order.
Example
Program A: Execution Precedence = 10
Program B: Execution Precedence = 20
Result:
Program A executes first.
Program B executes second.
Note: If multiple programs within the dependency cycle share the same lowest Execution Precedence value, Execution Precedence does not provide a tie-break mechanism and cannot be used to resolve the cycle.
What Execution Precedence Does Not Do
Execution Precedence affects execution order only.
It does not affect program priority.
If two programs are bound to the same value output, both programs attempt to control that value, resulting in an indeterminate outcome.
Combining Outputs from Multiple Programs
When outputs from multiple programs must be combined, use appropriate logic.
Binary values
AND
OR
XOR
Other logical operators
Analog values
Maximum
Minimum
Average
Other methods appropriate for the application requirements
References EcoStruxure Building Operation WebHelp: