Automation Component Programming with Priority-Based TCM Memory Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional programmable logic controllers (PLCs) face challenges in achieving predictable execution times and low 'jitter' due to their reliance on cache memory, which requires specific knowledge of hardware architecture and manual memory management, leading to performance fluctuations and potential disruptions in time-critical applications.
Innovation Solution
A method and programming system that allows users to assign priority values to tasks, ensuring critical program parts are permanently stored in a faster special main memory, preventing cache misses and maintaining constant execution speeds, while hiding the underlying memory structure complexity from the user.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If cache memory is used to store frequently accessed program code and data, then average data throughput is improved, but execution time reproducibility deteriorates due to cache misses and jitter
Solution Approach 1:
The patent segments the memory system into two distinct parts: a first memory (cache memory) for storing frequently accessed program code and data to improve average throughput, and a second memory (TCM memory) for storing time-critical program parts and data to ensure execution time reproducibility. This segmentation allows each memory type to be optimized for its specific purpose without compromising the other.
Solution Approach 2:
The patent applies local quality by assigning different storage locations to different types of data based on their access characteristics. Time-critical program parts and data are specifically placed in the TCM memory with deterministic access times, while other data can be stored in the cache memory. This localized optimization ensures that time-critical operations always access data from the reliable TCM memory, eliminating jitter caused by cache misses.
2Reliability
If TCM memory is used to ensure reproducible execution time, then execution time reproducibility is improved, but device complexity increases due to manual memory management requirements
Solution Approach 1:
The patent implements self-service by providing an automatic analysis and allocation mechanism that identifies time-critical program parts and data, determines their storage requirements in TCM memory, and performs the allocation without requiring manual intervention. The system automatically analyzes the program to identify which parts require deterministic access times and automatically allocates appropriate storage space in the TCM memory, thereby eliminating the need for users to manually manage memory allocation while still achieving execution time reproducibility.
3Reliability
If manual memory allocation is performed to optimize execution time, then execution time reproducibility is improved, but ease of operation deteriorates due to required hardware knowledge
Solution Approach 1:
The patent introduces an intermediary component that acts as a bridge between the user and the complex memory management system. This intermediary automatically analyzes the program, identifies time-critical operations, and handles the complex task of allocating data to appropriate memory locations. The user simply needs to mark data as time-critical, and the intermediary takes care of the rest, including determining TCM memory requirements and performing allocations, thereby shielding the user from hardware complexity while ensuring execution time reproducibility.
4Speed
If more data is stored in fast main memory, then processing speed is improved, but memory capacity requirements increase
Solution Approach 1:
The patent extracts only the essential time-critical program parts and data from the general cache memory and places them in the smaller TCM memory. This extraction approach ensures that the limited TCM memory capacity is used efficiently to store only those data elements that require deterministic access times, while other data remain in the larger cache memory. This selective extraction optimizes processing speed for time-critical operations without requiring excessive fast memory capacity.
Data Source
AI summary
A method and programming system for programming an automation component of an industrial automation arrangement, the automation component being provided with at least one special main memory, such as a cache or a tightly coupled memory, with faster access, wherein a user is provided with an input option for assigning priority values to individual tasks of the automation program when creating the program, all of those program parts which are called when executing at least the task with the highest priority assigned by the user are automatically identified, and the identified program parts being permanently storable in the special main memory such that important program parts and routines are executable in a reproducible manner at high execution speed and with a short latency time.


