PLC Proxy Device for Memory Access Coordination
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The integration of real-time systems with virtualization in automation environments faces challenges due to differing time expectations and competing data accesses, particularly when a programmable logic controller (PLC) with changing memory access times interacts with a discontinuously running virtualized system, leading to potential violations of hard real-time requirements.
Innovation Solution
A computing device with a programmable logic controller and a subordinate system, where a proxy device coordinates memory access to ensure that the PLC has priority, using a proxy device to manage access requests and implement a 'roll-back' mechanism to maintain real-time operation and prevent non-resolvable competing accesses.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a virtualized system is integrated with a real-time PLC system to enable separate operation and improved stability, then system adaptability and operational independence are improved, but memory access timing conflicts and real-time requirement violations occur
Solution Approach 1:
A proxy device is introduced as an intermediary between the virtualized system and the PLC memory. The proxy receives memory access requests from the virtualized system, coordinates them with PLC memory access operations, and manages the shared memory resource. This mediator resolves timing conflicts by queuing and scheduling requests, ensuring PLC real-time requirements are met while enabling virtualized system access to memory resources.
2Reliability
If synchronization mechanisms (semaphores, mutex) are used to manage competing memory accesses between PLC and virtualized system, then memory access coordination is improved, but non-resolvable competing accesses occur leading to real-time requirement violations
Solution Approach 1:
The proxy device performs preliminary actions by pre-processing and queuing memory access requests from the virtualized system before they reach the PLC memory. It anticipates PLC memory access patterns and schedules virtualized system requests in advance during idle periods or low-priority time slots, preventing blocking and avoiding the need for time-consuming synchronization mechanisms during critical PLC operations.
Solution Approach 2:
The proxy device implements dynamic memory access management by adaptively adjusting the scheduling and prioritization of memory requests based on current system conditions. It dynamically responds to PLC memory access patterns, adjusting the timing and sequencing of virtualized system requests to avoid conflicts, rather than using static synchronization mechanisms that cause blocking.
3Productivity
If the virtual machine is stopped at irregular intervals to execute privileged commands or free processor time for other tasks, then processor resource utilization is improved, but memory access continuity and response time predictability deteriorate
Solution Approach 1:
The proxy device serves as a buffer and mediator that decouples the virtualized system's intermittent operation from the PLC's continuous memory access requirements. It maintains a queue of memory access requests and continues processing them during VM pauses, ensuring memory access continuity for the PLC even when the virtualized system is stopped or paused for processor resource management.
Data Source
Figure 1
Figure 2~4
AI summary
A PLC (programmable logic controller; 1) with changing memory access times is intended to interact with a subordinate system (2), in particular a discontinuous virtualized system. A computation apparatus, in which a programmable logic controller (1) is implemented and in which a system (2) that is subordinate to the programmable logic controller (1) in terms of a memory access operation is implemented, is therefore provided. A memory (4) to which a component of the programmable logic controller (1) has access is integrated in the programmable logic controller (1). Also implemented in the computation apparatus is a proxy device (6) which coordinates access to the memory (4) of the programmable logic controller (1) by the subordinate system (2) in such a manner that simultaneous access by the component of the programmable logic controller (1) has priority over access by the subordinate system (2). A predefined cycle time of the programmable logic controller (1) can therefore always be complied with.