OPC UA Information Model Generation from PLC Source Code
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current machine configurations, particularly shaping machines, face challenges in interoperability and easy integration of peripheral devices due to proprietary protocols, making it difficult for machines from different vendors to communicate effectively and adapt to Industry 4.0 standards.
Innovation Solution
A computer-implemented method generates an OPC UA information model from source code in formal programming languages like IEC 61131-3 or C/C++, using abstract syntax trees and visitor design patterns to filter irrelevant variables, creating a standardized OPC UA information model that can be pre-generated and loaded into an OPC UA server, enabling efficient machine-to-machine communication.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If proprietary servers and protocols are used for machine control and communication, then machine-specific functionality and vendor control are maintained, but interoperability between machines from different vendors and integration with peripheral devices become difficult
Solution Approach 1:
The patent introduces an OPC UA server as an intermediary layer between the proprietary PLC control system and external communication partners. This mediator translates proprietary protocols into standardized OPC UA communication, enabling interoperability without exposing the complexity of the underlying proprietary system. The OPC UA server acts as a bridge that maintains vendor-specific functionality while providing standardized access points for peripheral devices and other machines.
Solution Approach 2:
The communication architecture is segmented into distinct functional layers: the proprietary PLC control layer maintains machine-specific functionality, while the OPC UA server layer handles standardized communication. This segmentation allows each layer to operate independently with its own optimization, resolving the contradiction by separating adaptability requirements from complexity management.
2Adaptability or versatility
If peripheral devices are integrated through all layers of the machine program and visualization, then device functionality is fully accessible, but the amount of software adaptation required increases significantly
Solution Approach 1:
The OPC UA server serves as an intermediary that provides standardized access to machine data and peripheral device control. Instead of integrating peripheral devices through all layers of proprietary software, the OPC UA interface exposes necessary data points and control functions through standardized nodes and methods, dramatically reducing software adaptation effort while maintaining full device functionality.
Solution Approach 2:
The OPC UA implementation provides universal access mechanisms that work with multiple types of peripheral devices through a common interface. The standardized information model allows different peripheral devices to be integrated using the same OPC UA client code, making the system universally compatible without requiring vendor-specific integration routines for each device type.
3Adaptability or versatility
If OPC UA information model is generated and loaded during runtime, then the system can adapt to different machine configurations, but startup time increases due to model generation processing
Solution Approach 1:
The OPC UA information model is generated and validated during the compilation phase of the machine configuration, before runtime operation. This preliminary action ensures that the information model is ready for immediate use when the OPC UA server starts, eliminating model generation processing from the startup sequence and thus reducing startup time while maintaining configuration adaptability.
4Adaptability or versatility
If proprietary protocols are used for machine communication, then vendor-specific control and optimization are maintained, but machine-to-machine communication according to Industry 4.0 standards becomes difficult
Solution Approach 1:
The OPC UA server acts as a mediator that translates proprietary machine protocols into standardized OPC UA communication protocols. This allows machines from different vendors to communicate using Industry 4.0 standards while the OPC UA server handles the protocol translation, maintaining vendor-specific control capabilities without sacrificing interoperability.
Solution Approach 2:
The system changes the communication parameter from proprietary protocols to standardized OPC UA protocols at the server interface level. This parameter change enables machine-to-machine communication according to Industry 4.0 standards while the underlying proprietary protocol parameters remain unchanged, preserving vendor-specific optimization.
Data Source
Figure 1
Figure 2a
Figure 2b
AI summary
A computer-implemented method to generate an OPC UA information model (6) of at least one selected machine component of a machine configuration of a machine based on a source code (1) representing the machine configuration, wherein the source code (1) is provided in a formal programming language with static type checking, comprising at least the following steps: a. providing the source code (1) in electronic textual form b. analyzing the source code (1) and extracting a data structure in the form of an abstract syntax tree (4) by use of a parser (3), wherein the abstract syntax tree (4) comprises all variables of the source code (1) c. removing at least one variable from the abstract syntax tree (4) which is irrelevant with respect to the at least one selected machine component and/or with respect to a desired OPC UA client (11) to create a filtered abstract syntax tree (4) and transforming the filtered abstract syntax tree (4) into an OPC UA information model (6) of the at least one selected machine component or transforming the abstract syntax tree (4) into an OPC UA information model (6) of the at least one selected machine component, wherein the step of transforming the abstract syntax tree (4) includes removing at least one variable from the abstract syntax tree (4) which is irrelevant with respect to the at least one selected machine component and/or with respect to a desired OPC UA client (11). The invention also contains a computer program, a computer and a machine carrying out such a method.