OPC UA Function Block Calls Within PLC Task Timing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for calling function blocks in industrial controllers using OPC UA protocols require additional system functions to manage parameter transfer, leading to inconsistencies and loss of user control over processing time.

Innovation Solution

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

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the OPC UA server calls the control code directly after receiving an OPC UA client request, then the response time is reduced, but inconsistencies occur in the returned parameters due to parallel processing

Engineering Contradiction:
Improveresponse timeVSAvoidparameter consistency
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent applies preliminary action by storing the OPC UA client request and input parameters in advance within the control program's memory before the control task executes. The control code is prepared to access these pre-stored parameters, ensuring that when the function block is called during the control task's cyclic execution, consistent and reliable parameter values are used, eliminating parallel processing inconsistencies.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If additional system functions are added to manage parameter transfer, then parameter 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 server's parameter storage function with the control program's existing memory structure. Instead of adding separate parameter storage and management functions, the input parameters from OPC UA calls are integrated into the control program's parameter space, allowing the control task to access them directly during its cyclic execution, thereby reducing system complexity while maintaining parameter consistency.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The control program's parameter storage and processing mechanisms are designed to serve multiple functions: they handle both traditional control inputs and OPC UA client requests uniformly. This multi-functionality eliminates the need for dedicated system functions for OPC UA parameter management, reducing overall device complexity while ensuring consistent parameter transfer.

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

3Device complexity

If the OPC UA method is mapped as a PLC method requiring all parameters at call time, then parameter transfer is simplified, but user control over processing time is lost

Engineering Contradiction:
Improveparameter transfer mechanismVSAvoiduser control over processing time
Core Design Contradiction:
Device complexityVSEase of operation

Solution Approach 1:

The patent implements dynamic parameter handling where the control program can access OPC UA parameters at any point during its cyclic execution based on runtime conditions. The control code dynamically determines when to read the pre-stored input parameters and when to execute the function block, giving users flexible control over processing timing while maintaining simplified parameter transfer through the pre-stored parameter mechanism.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12164283B2Method and industrial controller for the synchronized calling of a function block in a control program having OPC UA
Publication Date: 2024.12.10 PHOENIX CONTACT GMBH & CO KG
  • US12164283B2 patent drawing

AI summary

A method for calling a function block of a control program of an industrial controller is disclosed. The industrial controller has an OPC UA server and communicates with an OPC UA client, wherein the function block is requested from an OPC UA call of the OPC UA client. When the function block is requested, an OPC UA call directed thereto is sent from the OPC UA client to the OPC UA server. The OPC UA call is stored by the OPC UA server. IN Parameters transferred together with the OPC UA call are then copied to corresponding IN parameters of the function block and, the function block is called at a previously defined point within a control task of the industrial controller and the IN parameters of the function block are processed.