Automation System Module Assignment via Call Specification Data Record
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing methods for assigning software modules to subprograms in automation systems are complex, error-prone, and difficult to manage, especially when handling changes, moving, dividing, and merging charts and modules, leading to insecure data access in multi-user engineering environments.
Innovation Solution
A call specification data record is introduced to encode the predetermined call order of software modules, allowing subprograms to access this record for calling modules based on a permanently configured sequence, reducing the complexity of module assignment and ensuring consistent call sequences across subprograms.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If software modules are manually assigned to subprograms using a control flow editor, then the assignment can be performed in a task-oriented manner, but the method becomes very complex and error-prone, especially when changing, moving, dividing and merging charts and software modules
Solution Approach 1:
The patent segments the monolithic control flow editor into separate functional components: a data flow editor for creating and organizing software modules independently, and a task editor for assigning modules to tasks. This segmentation allows each editor to handle specific aspects of module management, reducing overall system complexity while maintaining flexibility.
Solution Approach 2:
The patent introduces an intermediary data structure (module assignment record) that mediates between the data flow editor and task editor. This intermediary stores the assignments independently, allowing changes in one editor to be reflected in the other without direct coupling, thereby reducing complexity and errors during modifications.
2Ease of operation
If software modules are strongly interwoven with regard to control flow per task, then task-oriented assignment is achieved, but plans cannot be secured as granular units for respective developers in multiuser engineering environments
Solution Approach 1:
The patent segments the control flow into separate data flow definitions and task-specific assignments. Software modules are defined independently in the data flow editor with their own data interfaces, then assigned to tasks in the task editor. This segmentation allows developers to work on individual modules or plans as granular units without affecting other parts of the system, improving both ease of operation and reliability in multiuser environments.
Solution Approach 2:
The patent extracts the control flow assignment from the module definitions themselves and stores it separately in task-specific assignment records. This extraction allows modules to be defined once and reused across multiple tasks without being tightly coupled to any single task's control flow, enabling secure granular access control in multiuser environments.
3Adaptability or versatility
If the same software module is assigned to different tasks, then module reuse is achieved, but the assignment method becomes very complex and difficult for users to understand
Solution Approach 1:
The patent segments the module assignment process into two independent steps: first defining modules in the data flow editor, then assigning them to tasks in the task editor. This segmentation allows a single module definition to be referenced by multiple tasks through the assignment records, making module reuse straightforward and easy to understand rather than complex.
Solution Approach 2:
The patent uses a copying mechanism where software module definitions are created once and then referenced (copied) by multiple tasks through assignment records. Rather than manually reassigning the same module to different tasks in a complex manner, the system automatically manages the references, simplifying the user experience while enabling extensive module reuse.
Data Source
Figure 1
Figure 2
AI summary
A method for operating an automation system, a corresponding computer program for implementing the method, and a system or device that operates according to the method are specified, wherein a control program as an automation solution for a technical process (18) comprises a plurality of software modules (30, 32) and subroutines (24-28), wherein the software modules (30, 32) are called by individual subroutines (24, 28) according to a predefined call sequence, wherein a call sequence fixed for the software modules (30, 32) is stored in a call vector (42) in a call specification data set (38, 40), and wherein the call specification data set (38, 40) is available for the subroutine or subroutines (24-28) for a call of the software modules (30, 32) according to the call specification data set (38, 40).