Industrial Control Cycles With Barrier Timestamps for Deterministic Packets
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Industrial control systems face challenges in achieving time-deterministic behavior during reconfigurations, particularly when network packets are in transit, leading to non-deterministic delivery and inefficient use of processing time.
Innovation Solution
The proposed solution involves using a real-time container agent to manage network packets through queuing disciplines with barrier timestamps, ensuring that network packets are processed and delivered in deterministic cycles, allowing maintenance processing to occur without fixed time slices, and enabling reconfigurations during quiescent periods.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the cycle is subdivided into smaller time cycles with reserved time slices for communication, reconfiguration, and processing, then time-deterministic behavior is achieved, but the cycle becomes long and valuable CPU time is wasted
Solution Approach 1:
The system dynamically adjusts the barrier timestamp based on the actual completion time of maintenance processing, rather than using fixed time slices. The real-time container agent determines when maintenance processing completes and updates the barrier timestamp accordingly, allowing the system to adapt to varying processing durations and eliminate wasted CPU time while maintaining time-deterministic packet delivery
Solution Approach 2:
The system performs maintenance processing during quiescent periods before control applications become active. By completing maintenance tasks (such as reconfigurations) before the control cycle begins, the system ensures time-deterministic behavior without requiring reserved time slices during the active control period, thus maximizing CPU efficiency
2Productivity
If network packets are transmitted during reconfiguration, then communication continues, but it is not clear whether packets will be routed according to old or changed rules
Solution Approach 1:
The system prevents network packets from being transmitted during reconfiguration by using barrier timestamps to block packet transmission until maintenance processing is complete. The real-time container agent updates the barrier timestamp only after maintenance processing finishes, ensuring that all packets transmitted after this point use the new routing rules, thereby eliminating routing ambiguity
Solution Approach 2:
The barrier timestamp acts as an intermediary mechanism between the maintenance processing and network packet transmission. It mediates the transition from old to new routing rules by controlling when packets can be transmitted, ensuring that packets are routed according to the intended configuration without mixing old and new rules
3Reliability
If fixed time slices are reserved for maintenance processing, then time-deterministic behavior is achieved, but overprovisioning occurs and the cycle becomes long
Solution Approach 1:
The system uses dynamic barrier timestamps that are updated based on the actual completion time of maintenance processing, rather than relying on fixed time slices. This allows the control cycle to be as short as necessary while still ensuring time-deterministic packet delivery, eliminating the overprovisioning inherent in fixed time slice approaches
Data Source
Figure 1~2
Figure 3~5
Figure 6~7
AI summary
An industrial control device executes a number of containerized control applications in constant cycles and comprises: queuing disciplines associated with a respective network interface, which manage incoming or outgoing network packets in a queue and hold back network packets having a timestamp not older than a barrier timestamp; and an agent that performs, in each cycle, first performs maintenance processing and then executes the control applications for a remainder of the cycle. The maintenance processing comprises I/O processing with a technical device on behalf of the control applications and transmitting, to each of the queuing disciplines, a move command instructing advancement of the barrier timestamp and comprising a timestamp indicating a start time of the respective cycle. The queuing disciplines adjust their barrier timestamps based on the received start time. Time-deterministic behavior is achieved in an efficient manner.