PLC Memory Block Allocation for Dynamic Program Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional PLC user program management systems allocate fixed-sized memory blocks, leading to inefficient utilization of memory space and preventing program modifications during operation due to lack of available space.
Innovation Solution
An apparatus that dynamically allocates memory blocks of varying sizes based on user program requirements, using a compile, block allocation, link, execution table generation, and download mechanism to manage and execute user programs efficiently without stopping the PLC.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If fixed-sized memory blocks are allocated to each user program, then memory management is simplified, but memory space utilization deteriorates and program modification capability is lost
Solution Approach 1:
The patent implements dynamic memory block allocation where the size of memory blocks is adjusted based on the actual size of user programs. Instead of fixed allocation, the system allocates memory blocks of varying sizes (N, 2N, 4N, etc.) to match program requirements, thereby improving memory utilization while maintaining manageable complexity through systematic allocation rules
Solution Approach 2:
The system changes the parameter of memory block size from fixed to variable. By introducing multiple size categories (N, 2N, 4N, 8N, 16N, 32N, 64N bytes) and selecting appropriate sizes based on program requirements, the system optimizes memory usage without significantly increasing management complexity
2Ease of manufacture
If fixed-sized memory blocks are allocated, then allocation process is simple, but program modification during operation becomes impossible when space is insufficient
Solution Approach 1:
The patent enables dynamic program modification during PLC operation by allocating memory blocks of adequate size beforehand. When programs are modified or added, the system can utilize the pre-allocated variable-sized memory blocks to accommodate changes without requiring system shutdown, thus maintaining both allocation simplicity and modification adaptability
Solution Approach 2:
The system performs preliminary allocation of memory blocks with adequate sizes (N, 2N, 4N, etc.) before program execution. This preliminary action ensures that sufficient space is reserved for future program modifications and additions, enabling adaptability while keeping the actual modification process simple
3Loss of energy
If variable-sized memory blocks are allocated, then memory utilization improves, but allocation complexity increases
Solution Approach 1:
The patent segments the total memory into multiple fixed-size units (N bytes each) and creates variable-sized memory blocks by combining these units in powers of two (N, 2N, 4N, 8N, 16N, 32N, 64N). This segmentation approach improves memory utilization while controlling allocation complexity through a systematic, rule-based allocation mechanism
Solution Approach 2:
The system applies local quality by allocating different memory block sizes (N, 2N, 4N, etc.) to different user programs based on their specific requirements. Each program receives memory blocks with quality (size) tailored to its needs, optimizing overall memory utilization without requiring complex global management
Data Source
AI summary
An execution code of a user program applicable to a PLC is fitted and arranged to an adequate block among memory blocks of variable sizes, and execution order and position information of each execution code are downloaded to the PLC along with recorded execution table. A CPU module of PLC sequentially executes each execution code randomly arranged on a memory with reference to the execution table. Because an execution code is loaded on a memory block having respectively different sizes such as N, 2N and 4N, utilization of non-use space can be improved over a conventional allocation method of fixed size. An execution table is utilized to discontinuously configure a program execution area, whereby a user program can be easily modified or added during PLC operation.


