IP Library Granted Patent US 12681465
Granted Patent B2
US 12681465 · App. 18/161,207 · Granted Jul 14, 2026

Gateways for connecting data-driven control systems to OPC UA entities

Inventors: Roland Braun (Niederkassel, DE); Mario Hoernicke (Landau, DE); Katharina Stark (Weinheim, DE); Nicolai Schoch (Heidelberg, DE); Sten Gruener (Laudenbach, DE)
Assignee: ABB Schweiz AG
G05B19/4186G05B19/41835
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12681465
App. No.
18/161,207
Granted
Jul 14, 2026
Kind
B2
Abstract

A first gateway device for connecting an OPC UA client to a data-driven controller and/or control system includes a first interface implementing an OPC UA server and is configured to receive, from the OPC UA client, at least one call to invoke an OPC UA method on an OPC UA object, and a second interface that sends a request to write at least one value to at least one control variable of the data-driven controller and/or control system, and first translation logic therebetween. A second gateway device connects a data-driven controller and/or control system to a controlled device or subsystem of an industrial plant and includes a third interface that receives a value of a control variable, and a fourth interface that sends a call to invoke an OPC UA method on an OPC UA object, and second translation logic therebetween.

Claims (53)

1 . A first gateway device for connecting an Open Platform Communication Uniform Architecture (OPC UA) client to a data-driven controller and/or control system, wherein the data-driven controller and/or control system comprises control logic with control functions that are configured to be triggered by writing at least one value to at least one control variable, the first gateway device comprising:

a first interface that implements an OPC UA server and is configured to receive from the OPC UA client at least one call to invoke an OPC UA method on an OPC UA object;

a second interface that is configured to send to the data-driven controller and/or control system a request to write at least one value to at least one control variable of the data-driven controller and/or control system; and

a first translation logic configured to:

determine at least one control variable and at least one value, wherein writing of this value to this control variable triggers a control function that achieves the intended effect of performing the OPC UA method on the OPC UA object in the call received from the OPC UA client; and

generate the request to write said value to said control variable,

wherein the determining of the control variable and the value is performed either:

in one step based either on a pre-stored correspnodance between combination of OPC UA objects and methods or on combinations of control variable and values; or

in two steps by determining a control function in the control logic that need to be invoked in a first step, and then determining which value to write into the control variable in the second step.

2 . The first gateway device of claim 1 , wherein the second interface implements an Open Platform Communication Data Access (OPC DA) client and is configured to send the request to an OPC DA server implemented by the data-driven controller and/or control system.

3 . The first gateway device of claim 1 , wherein the first translation logic is further configured to:

determine, from at least one argument included with the call to invoke the OPC UA method, at least one further control variable and at least one further value wherein writing of this further value to this further control variable produces the intended effect of the at least one argument; and

generate a request to write said further value to said further control variable.

4 . The first gateway device of claim 1 , wherein:

the second interface is further configured to obtain, from the data-driven controller and/or control system, at least one output generated by the triggered control function; and

the first interface is further configured to include said output in a service result returned to the OPC UA client in response to the call.

5 . The first gateway device of claim 4 , wherein the first translation logic is further configured to determine, based at least in part on the to-be-triggered control function, a request to read at least one control variable of the data-driven controller and/or control system, wherein this at least one control variable comprises an output generated by the triggered control function, and wherein the second interface is further configured to send this request to the data-driven controller and/or control system.

6 . A second gateway device for connecting a data-driven controller and/or control system to a controlled device or subsystem of an industrial plant, wherein the controlled device or subsystem implements an Open Platform Communication Unified Architecture (OPC UA) server and is configured to be controlled by calls to invoke OPC UA methods on OPC UA objects, the second gateway device comprising:

a third interface that implements a data-driven client and is configured to receive, from the data-driven controller and/or control system, at least one value of at least one control variable;

a fourth interface that is configured to send, to the controlled device or subsystem, at least one call to invoke an OPC UA method on an OPC UA object; and

second translation logic configured to:

determine, from the at least one control variable and its value, at least one OPC UA object and at least one OPC UA method whereby a call to invoke this OPC UA method on this OPC UA object achieves the intended effect of setting said control variable to said value; and

generate the call to invoke said OPC UA method on said OPC UA object,

wherein the determining of the OPC UA object and OPC UA method is performed

in one step based either on a pre-stored correspnodance between combination of OPC UA objects and methods or on combinations of control variable and values; or

in two steps by determining which control action is to be triggered by the writing of the value into the control variable by the controller and/or control system in a first step, and then determining which OPC UA methods to invoke on which OPC UA objects in order to accomplish this control action in a second step.

7 . The second gateway device of claim 6 , wherein the third interface implements an Open Platform Communication Data Access (OPC DA) client and is configured to receive the at least one value of the at least one control variable from an OPC DA server implemented by the data-driven controller and/or control system.

8 . The second gateway device of claim 6 , wherein the third interface is configured to monitor, poll, and/or subscribe to, at least one control variable.

9 . The second gateway device of claim 8 , wherein the second translation logic is further configured to:

determine, for each control action from a given set of control actions that are triggerable on the controlled device or subsystem, at least one control variable that the control logic of the data-driven controller and/or control system is configured to set in order to trigger this control action; and

instruct the third interface to monitor, poll, and/or subscribe to, the so-determined control variable.

10 . The second gateway device of claim 9 , wherein the second translation logic is further configured to determine the given set of control actions by querying, from the controlled device or subsystem, a set of available OPC UA objects and OPC UA methods that are invokable on these OPC UA objects.

11 . The second gateway device of claim 6 , wherein the third interface is further configured to obtain at least one argument to be included with the call from at least one further control variable; and wherein the fourth interface is further configured to include this argument in the call.

12 . The second gateway device of claim 6 , wherein the fourth interface is further configured to obtain an output of the triggered control action in a service result returned from the controlled device or subsystem in response to the call; and wherein the third interface is further configured to send, to the data-driven controller and/or control system, a request to write this output as a value to a control variable.

13 . The second gateway device of claim 6 , wherein the second gateway device is further configured to cooperate in a system with subsea installed crude-oil or gas conveyance as the controlled device or subsystem.

14 . One or more computer programs with machine-readable instructions stored on non-transitory media that, when executed by one or more computers and/or compute instances, equip the one or more computers and/or compute instances with the functionality of at least one of:

a first gateway device, the first gateway device being operable for connecting an Open Platform Communication Uniform Architecture (OPC UA) client to a data-driven controller and/or control system, wherein the data-driven controller and/or control system comprises control logic with control functions that are configured to be triggered by writing at least one value to at least one control variable, the first gateway device comprising:

a first interface that implements an OPC UA server and is configured to receive from the OPC UA client at least one call to invoke an OPC UA method on an OPC UA object;

a second interface that is configured to send to the data-driven controller and/or control system a request to write at least one value to at least one control variable ( 32 a - 32 c ) of the data-driven controller and/or control system; and

a first translation logic configured to:

determine at least one control variable and at least one value such that the writing of this value to this control variable triggers a control function that achieves the intended effect of performing the OPC UA method on the OPC UA object in the call received from the OPC UA client; and

generate the request to write said value to said control variable;

wherein the determining of the control variable and the value is performed either:

in one step based either on a pre-stored correspnodance between combination of OPC UA objects and methods or on combinations of control variable and values; or

in two steps by determining a control function in the control logic that need to be invoked in a first step, and then determining which value to write into the control variable in the second step; or

a second gateway device, the second gateway device being operable for connecting a data-driven controller and/or control system to a controlled device or subsystem of an industrial plant, wherein the controlled device or subsystem implements an Open Platform Communication Unified Architecture (OPC UA) server and is configured to be controlled by calls to invoke OPC UA methods on OPC UA objects, the second gateway device comprising:

a third interface that implements a data-driven client and is configured to receive, from the data-driven controller and/or control system, at least one value of at least one control variable;

a fourth interface that is configured to send, to the controlled device or subsystem, at least one call to invoke an OPC UA method on an OPC UA object; and

second translation logic configured to:

determine, from the at least one control variable and its value, at least one OPC UA object and at least one OPC UA method such that a call to invoke this OPC UA method on this OPC UA object achieves the intended effect of setting said control variable to said value; and

generate the call to invoke said OPC UA method on said OPC UA object, wherein the determining of the OPC UA object and OPC UA method is performed

in one step based either on a pre-stored correspnodance between combination of OPC UA objects and methods or on combinations of control variable and values; or

in two steps by determining which control action is to be triggered by the writing of the value into the control variable by the controller and/or control system in a first step, and then determining which OPC UA methods to invoke on which OPC UA objects in order to accomplish this control action in a second step.