IEC 61499 Execution Environments for Non-Blocking Functional Blocks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing IEC 61499-compliant computing devices are limited in their ability to efficiently utilize system resources due to their stateful nature, which can lead to blocking and reduced multitasking capabilities.
Innovation Solution
A partially compatible IEC 61499 computing device with an execution engine that creates a second execution environment data set during or before the execution of a functional block, allowing for the creation of additional execution environments without being blocked by the ongoing execution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the execution device waits for a functional block to finish execution before creating a new execution environment, then the state management is simple, but the system resource utilization is poor and multitasking capability is reduced
Solution Approach 1:
The execution device is divided into multiple independent execution environments (first execution environment and second execution environment). Each execution environment can operate independently, allowing the system to create and manage multiple execution contexts simultaneously without blocking. This segmentation enables parallel processing of execution environment creation and functional block execution.
Solution Approach 2:
The execution device creates the second execution environment data set and configures the second execution environment in advance, before the first functional block completes execution. This preliminary action allows the system to prepare future execution contexts without waiting for current execution to finish, improving resource utilization and reducing waiting times.
2Productivity
If the execution device creates a new execution environment only after the previous one is no longer in use, then the blocking is minimized, but the multitasking capability and response time are reduced
Solution Approach 1:
The execution device maintains continuous useful action by creating and configuring execution environments without interruption. While the first functional block executes in the first execution environment, the device simultaneously creates the second execution environment data set and configures the second execution environment, ensuring no idle waiting time and continuous productive operation.
Solution Approach 2:
The second execution environment is created and configured in advance before it is needed. This preliminary preparation eliminates waiting time when the second execution environment is required, as it is already ready for immediate use, thereby improving multitasking response time and capability.
3Productivity
If the execution device is stateful and blocks during execution, then the state consistency is maintained, but the system efficiency and resource utilization are reduced
Solution Approach 1:
The system segments state management into separate execution environments. Each execution environment maintains its own state independently, allowing the first execution environment to maintain state consistency for the first functional block while the second execution environment is being created and configured simultaneously. This segmentation enables both state consistency and high system efficiency.
Data Source
Figure 1~2
Figure 3~4
Figure 5
AI summary
An IEC 61499 partially compliant computing device has a computing unit, a RAM, a ROM, an operating system memory, one or more interfaces for the input and/or output of data and signals, and a bus connecting one or more or all of the above and/or the following components. A program memory is configured to store a program comprising one or more functional blocks, wherein a functional block comprises one or more programmed functions and may comprise a programmed execution control card. An execution device is configured to create a first execution environment record for configuring an execution environment for executing a functional block of a program.It is also designed to create a second execution environment record during or before a functional block or function is executed in an execution environment configured by a first execution environment record previously created by the execution device.