OPC UA Function Block Calls Synchronized in Control Tasks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for calling function modules in industrial controllers using OPC UA protocols often result in inconsistencies due to parallel processing, requiring additional system functions to manage parameter transfer and timing, which reduces user control and introduces complexity.

Innovation Solution

A method where an OPC UA client sends a call to an OPC UA server, which saves the call and copies input parameters to a function block, allowing the function block to be processed within a control task thread, ensuring consistent parameter transfer and eliminating the need for additional system functions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the OPC UA server calls the control code directly after receiving a method call, then the response time to the OPC UA client is reduced, but inconsistencies occur because the control program is processed in parallel

Engineering Contradiction:
Improveresponse timeVSAvoiddata consistency
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent applies preliminary action by saving the OPC UA call and its parameters before executing the control program. The system stores the call information in advance, then retrieves and processes it within the control task's sequential flow, ensuring consistency while maintaining responsiveness.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If additional system functions are added to manage OPC UA call timing and parameter transfer, then data consistency is improved, but the device complexity increases

Engineering Contradiction:
Improveparameter consistencyVSAvoidsystem function complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges the OPC UA call management with the existing control task structure. Instead of adding separate system functions, the solution integrates call saving, parameter copying, and execution into the normal control task flow, eliminating the need for additional complexity while maintaining consistency.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The control task is designed to handle both regular control operations and saved OPC UA calls universally. The same control task thread processes both real-time control logic and deferred method calls, reducing the need for specialized system functions and simplifying the overall architecture.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Ease of operation

If the OPC UA call is processed outside the control task thread, then user control over processing time is reduced, but the responsiveness to external clients is improved

Engineering Contradiction:
Improveuser controlVSAvoidclient responsiveness
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent uses an intermediary approach by introducing a saved call structure that acts as a mediator between the OPC UA client request and the control task execution. The call is saved in a structured format and then retrieved and processed by the control task, allowing both user control and client responsiveness to be maintained.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP4022403B1Method and industrial controller for the synchronized calling of a function block in a control program having opc ua
Publication Date: 2023.07.12 PHOENIX CONTACT GMBH & CO KG
  • EP4022403B1 patent drawingFigure 1

AI summary

The invention relates in particular to a method for calling a function block of a control program of an industrial controller where the industrial controller has an OPC UA server and uses the OPC UA communication protocol to communicate with an OPC UA client, wherein the function block is requested from an OPC UA call of the OPC UA client, i.e. is requested for processing, in particular is called from the OPC UA client using a method of the OPC UA server. According to the invention there is provision for the requesting of the function block to involve a call directed thereto, that is to say in particular a call appropriately directed to the method of the OPC UA server, being sent from the OPC UA client to the OPC UA server in a first step and the OPC UA call being stored by the OPC UA server of the industrial controller in a second step. IN Parameters transferred together with the OPC UA call, i.e. IN parameters transferred from the OPC UA client to the OPC UA server, are then copied to corresponding IN parameters of the function block of the control program in a third step and the function block of the control program is called at a previously defined point within a control task of the industrial controller in a fourth step and the IN parameters of the function block are processed.