Function Block Framework for Hardware Automation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Developing custom automation and process control software for hardware devices is time-consuming and costly, with coordination among multiple developers with different expertise being difficult due to asynchronous contributions.
Innovation Solution
A function block framework is introduced that enables multiple developers to contribute to the development of executable code for hardware devices, allowing for rapid and efficient development by providing a standardized framework for generating and testing executable images, which separates function block development from core development and facilitates sharing of code among developers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If custom automation software is developed manually by multiple developers, then functionality can be customized, but development time and cost increase significantly
Solution Approach 1:
The software is segmented into reusable function blocks that can be independently developed, tested, and combined. Each function block represents a modular unit of automation functionality that can be assembled to create customized solutions without developing entire systems from scratch.
Solution Approach 2:
The system allows customization through parameter configuration of standardized function blocks rather than custom code development. Developers can adapt software behavior by modifying parameters and configurations of existing blocks, enabling rapid customization without increasing development time.
2Productivity
If multiple developers work asynchronously on software components, then parallel development is enabled, but coordination difficulty increases
Solution Approach 1:
By dividing the software into standardized function blocks, each developer can work on specific blocks independently with clear interfaces defined by the framework. This segmentation enables parallel development while reducing coordination complexity through standardized interaction protocols.
Solution Approach 2:
The function block framework provides universal interfaces and standards that work across all development teams. This universality allows developers from different expertise areas to contribute using common patterns and conventions, simplifying integration and coordination.
3Reliability
If comprehensive software testing is performed, then bug reduction is achieved, but development time increases
Solution Approach 1:
Testing is performed preliminarily at the function block level before integration into the complete system. Each function block is validated independently through automated tests, ensuring bugs are caught early in the development process rather than during final system testing, thus reducing overall testing time.
Solution Approach 2:
The testing process is segmented to match the modular function block structure. Independent test suites can be executed for each block, allowing parallel testing and reducing the total time required compared to testing the entire system as a single unit.
Data Source
Figure 1A
Figure 1B
Figure 2A
AI summary
For function block framework generation, a method generates a function block framework for a hardware device. The function block framework includes function block framework source code and a function block framework description. The hardware device includes a logic engine and automation hardware. The function block framework presents a standard interface to a function block core executed by the logic engine. The method instantiates the function block framework and the function block core as an executable image for the hardware device. The method further configures the logic engine to execute the executable image using the function block framework description. The method executes the executable image with the logic engine.