Help
  • Get started
  • Ask the Community
  • How-To & Best Practices
  • Contact Support
Login / Register
Brand Logo
Help
  • Get started
  • Ask the Community
  • How-To & Best Practices
  • Contact Support
close
  • Community Home
  • Forums
    • By Topic
    • By Topic
      EcoStruxure Building
      • Field Devices Forum
      • SmartConnector Forum
      EcoStruxure Power & Grid
      • Gateways and Energy Servers
      • Metering & Power Quality
      APC UPS, Critical Power, Cooling and Racks
      • APC UPS Data Center & Enterprise Solutions Forum
      • APC UPS for Home and Office Forum
      EcoStruxure IT
      • EcoStruxure IT forum
      • EcoStruxure IT™ Advisor CFD
      Remote Operations
      • EcoStruxure Geo SCADA Expert Forum
      • Remote Operations Forum
      Industrial Automation
      • Alliance System Integrators Forum
      • AVEVA Plant SCADA Forum
      • CPG Expert Forum DACH
      • EcoStruxure Automation Expert / IEC 61499 Forum
      • Fabrika ve Makina Otomasyonu Çözümleri
      • Harmony Control Customization Forum
      • Industrial Edge Computing Forum
      • Industry Automation and Control Forum
      • Korea Industrial Automation Forum
      • Machine Automation Forum
      • Modicon PAC Forum
      • PLC Club Indonesia
      Schneider Electric Wiser
      • Schneider Electric Wiser Forum
      Power Distribution IEC
      • Eldistribution & Fastighetsautomation
      • Elektrik Tasarım Dağıtım ve Uygulama Çözümleri
      • Paneelbouw & Energie Distributie
      • Power Distribution and Digital
      • Solutions for Motor Management
      • Specifiers Club ZA Forum
      • Електропроектанти България
      Power Distribution NEMA
      • Power Monitoring and Energy Automation NAM
      Power Distribution Software
      • EcoStruxure Power Design Forum
      • LayoutFAST User Group Forum
      Energy & Sustainability Services
      • Green Building Scoring and Certification Forum
      Light and Room Control
      • SpaceLogic C-Bus Forum
      Solutions for your Business
      • Solutions for your Business Forum
      Support
      • Ask the Community
  • Knowledge Center
    • Building Automation Knowledge Base
    • Remote Operations Devices Knowledge Base
    • Geo SCADA Knowledge Base
    • Industrial Automation How-to videos
    • Digital E-books
    • Success Stories Corner
  • Events & Webinars
    • All Events
    • Innovation Talks
    • Innovation Summit
    • Let's Exchange Series
    • Partner Success
    • Process Automation Talks
    • Technology Partners
  • Ideas
    • EcoStruxure Building
      • EcoStruxure Building Advisor Ideas
      Remote Operations
      • EcoStruxure Geo SCADA Expert Ideas
      • Remote Operations Devices Ideas
      Industrial Automation
      • Modicon Ideas & new features
  • Blogs
    • By Topic
    • By Topic
      EcoStruxure Power & Grid
      • Backstage Access Resources
      EcoStruxure IT
      • EcoStruxure IT™ Advisor CFD
      Remote Operations
      • Remote Operations Blog
      Industrial Automation
      • Industrie du Futur France
      • Industry 4.0 Blog
      Power Distribution NEMA
      • NEMA Power Foundations Blog
      Energy & Sustainability Services
      • Active Energy Management Blog
      Light and Room Control
      • KNX Blog
      Knowledge Center
      • Digital E-books
      • Geo SCADA Knowledge Base
      • Industrial Automation How-to videos
      • Remote Operations Devices Knowledge Base
      • Success Stories Corner
  • companyImpact

Determining Which Logic Program Has Priority for Execution

Geo SCADA Knowledge Base

Access vast amounts of technical know-how and pro tips from our community of Geo SCADA experts.

cancel
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • Home
  • Communities
  • Knowledge Center
  • Geo SCADA Knowledge Base
  • Determining Which Logic Program Has Priority for Execution
Invite a Co-worker
Send a co-worker an invite to the Exchange 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 Invite Cancel
Invitation Sent
Your invitation was sent.Thanks for sharing Exchange with your co-worker.
Send New Invite Close
Top Labels
Top Labels
  • Alphabetical
  • database 32
  • Web Server and Client 31
  • Lists, Events & Alarms 21
  • WebX 19
  • Request Form 18
  • ViewX 15
  • Setup 12
  • Application Programming 12
  • Telemetry 7
  • Mimic Graphics 7
  • Downloads 6
  • Support 5
  • IoT 5
  • Drivers and Communications 4
  • security 4
  • SCADA 4
  • Geo SCADA Expert 4
  • DNP 3 3
  • IEC 61131-3 Logic 3
  • Events & Alarms 2
  • Trends and Historian 2
  • Virtual ViewX 2
  • Lists 2
  • Privacy Policy 1
  • OPC-UA 1
  • Architectures 1
  • Templates and Instances 1
  • ClearSCADA 1
  • Releases 1
  • Maps and GIS 1
  • Tools & Resources 1
  • Mobile 1
  • Geo Scada 1
  • Previous
  • 1 of 4
  • Next
Latest Blog Posts
  • Geo SCADA Expert 2022
  • Geo SCADA 2022 Operating System Support
  • Geo SCADA 2022 Upgrade Strategy
  • Geo SCADA 2022 Upgrade Notes
  • Geo SCADA 2022 Known Issues
Related Products
product field
Schneider Electric
EcoStruxure™ Geo SCADA Expert

Invite a Colleague

Found this content useful? Share it with a Colleague!

Invite a Colleague Invite
sbeadle1
Spock sbeadle1 Spock
Spock
‎2021-06-09 12:44 PM
0 Likes
0
214
  • Bookmark
  • Subscribe
  • Email to a Friend
  • Printer Friendly Page
  • Report Inappropriate Content
‎2021-06-09 12:44 PM

Determining Which Logic Program Has Priority for Execution

Originally published on Geo SCADA Knowledge Base by sbeadle1 | June 09, 2021 09:44 PM

📖 Home  Back  
The Logic engine is single threaded. This means that ClearSCADA only runs one Logic program at a time. To protect Logic programs from being affected by poorly written Logic programs that cannot execute correctly, ClearSCADA includes an Instruction Limit. The Instruction Limit prevents programs with infinite loops from 'locking out other programs.

A Logic program will run:
  • At regular intervals (On Interval). The intervals are defined in the Logic program's configuration.

  • At regular intervals but only if its inputs have changed (On Interval with Input Change Detection enabled) The intervals are defined in the Logic program's configuration.

  • At regular intervals only if the source of the Trigger has changed value (the Trigger is a value that is not used as an input in the Logic program). The source of the value is defined in the Trigger setting of the Logic program's configuration.

  • At regular intervals only if the trigger has changed value and the Logic program's inputs have changed.

  • When its inputs are processed (On Input Processed). Each point or variable update is queued and the Logic program will run once for each input update. The input updates are queued according to the time at which the server receives the updated values.

  • When it is triggered by a change to a value in the database

  • When the Execute action/method is triggered by a user, master station schedule, script, VB program etc.


When a Logic program is due to run, it is added to an execution queue. If there are no other Logic programs waiting in the queue, the Logic program will run immediately. However, if there are other Logic programs in the queue or another Logic program is already running at that time, the Logic program will not be executed immediately - it waits in the queue. When the running Logic program has executed successfully, the next Logic program in the queue is run. The queue orders the Logic programs according to the times at which they were intended to run.

It is rare for Logic programs to still be running when another Logic program is set to run. This is due to the Instruction Limit setting for Logic programs preventing the programs from taking an excessive amount of time to run. It also prevents Logic programs with infinite loops from 'locking' out other programs.

Each Logic program can be allocated a Priority number (0 by default). If multiple Logic programs are set to run at the same time, the Priority numbers of the Logic programs are used to determine the order in which the Logic programs are run. ClearSCADA will run the Logic program with the lowest Priority number first. The Priority number is only used when multiple Logic programs are set to run at the same time. At all other times, the Logic programs are run according to the time at which they were added to the execution queue.

If there are Logic programs set to run at the same time and these programs also have the same Priority numbers, ClearSCADA will run the Logic programs according to the amount of time for which they have been queued. The Logic program that has been queued the longest will be executed first.

Example



There are three Logic programs: ST Program 1, ST Program 2, and ST Program 3. ST Program 1 has a Priority number of 3, ST Program 2 has a Priority number of 5 and ST Program 3 has a Priority number of 0. All of the ST Programs are scheduled to run at 10:00.

A Function Block Diagram named 'FBD 6' has a Priority number of 0 and is scheduled to run at 10:01.

At 10:00, ClearSCADA runs ST Program 3 as it has the lowest Priority number (0). When ST Program 3 has run, ClearSCADA will run ST Program 1 as it has a Priority number of 3, and when ST Program 1 has run, ClearSCADA will run ST Program 2 as that has the highest Priority number (5).

ST Program 2 is not run until 10:02. The Function Block Diagram 'FBD 6' has not been executed, despite being scheduled to run at 10.01 and having a lower Priority number than ST Program 2. This is because ST Program 2 was scheduled to run before 'FBD 6'. The Priority number is only used if Logic programs are scheduled to run at the same time.

Go: Home Back

Author

Biography

sbeadle1

  • Back to Stream
  • Newer Article
  • Older Article
To The Top!

Forums

  • APC UPS Data Center Backup Solutions
  • EcoStruxure IT
  • EcoStruxure Geo SCADA Expert
  • Metering & Power Quality
  • Schneider Electric Wiser

Knowledge Center

Events & webinars

Ideas

Blogs

Get Started

  • Ask the Community
  • Community Guidelines
  • Community User Guide
  • How-To & Best Practice
  • Experts Leaderboard
  • Contact Support
Brand-Logo
Subscribing is a smart move!
You can subscribe to this forum after you log in or create your free account.
Forum-Icon

Create your free account or log in to subscribe to the forum - and gain access to more than 10,000+ support articles along with insights from experts and peers.

Register today for FREE

Register Now

Already have an account? Login

Terms & Conditions Privacy Notice Change your Cookie Settings © 2023 Schneider Electric, Inc