US20210255837A1 - Opc ua server, system operating using opc ua, and method of executing opc ua system - Google Patents
Opc ua server, system operating using opc ua, and method of executing opc ua system Download PDFInfo
- Publication number
- US20210255837A1 US20210255837A1 US16/790,170 US202016790170A US2021255837A1 US 20210255837 A1 US20210255837 A1 US 20210255837A1 US 202016790170 A US202016790170 A US 202016790170A US 2021255837 A1 US2021255837 A1 US 2021255837A1
- Authority
- US
- United States
- Prior art keywords
- opc
- server
- configuration file
- interpreter
- calculation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45508—Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
- Programmable Controllers (AREA)
Abstract
An Open Platform Communications (OPC) Unified Architecture (UA) server includes: a storage that stores a configuration file written in a compiled programming language and in which an interpreter is embedded; a transceiver that receives, from an OPC UA client, an execution request to execute a calculation defined in the configuration file; and a processor that executes the calculation using the interpreter.
Description
- An Open Platform Communications (OPC) Unified Architecture (UA) is a platform-independent service-oriented architecture that provides the necessary infrastructure for interoperability across the enterprise including: machine-to-machine communication, machine-to-enterprise communication, and everything else in between.
- Generally, an OPC UA system includes OPC UA clients and OPC UA servers. The OPC UA server executes an OPC UA server application program based on a request message from the OPC UA client. In conventional OPC UA systems, the OPC UA server application program is provided by vendors and written in compiled programming languages such as C++. The compiled programming languages use a compiler, which is a program that converts source code into machine code. When a compilation process by the compiler is finished, the converted program can be executed without need of the original source code. If a change is made to the OPC UA server program, all the source code must be edited and the compilation process must be re-run to create new machine code.
- Programs written in the compiled programming languages are unable to be modified without access to all the source code and the ability to re-compile the program. However, the user of the OPC UA server may not own all the source code of the OPC UA server program. Furthermore, a highly specialized skillset is required to make any changes to the source code. Accordingly, even if the user wishes to make changes or add new functionality to the OPC UA server program, the user may not be able to easily modify the OPC UA server program, which may require the user to request a professional programmer or vendor to get a new server compiled and built. As a result, the user may expend considerable time and money to modify the OPC UA server program.
- An OPC UA server according to one or more embodiments includes: a storage that stores a configuration file written in a compiled programming language and in which an interpreter is embedded; a transceiver that receives, from an OPC UA client, an execution request to execute a calculation defined in the configuration file; and a processor that executes the calculation using the interpreter.
- A system according to one or more embodiments operates using OPC UA. The system includes: an OPC UA server that stores a configuration file written in a compiled programming language and in which an interpreter is embedded; and an OPC UA client that sends the OPC UA server an execution request to execute a calculation defined in the configuration file. The OPC UA server executes the calculation using the interpreter upon receiving the execution request.
- A method of executing an Open Platform Communications (OPC) Unified Architecture (UA) system according to one or more embodiments includes: storing, with an OPC UA server, a configuration file written in a compiled programming language and in which an interpreter is embedded; sending, from an OPC UA client to the OPC UA server, an execution request to execute a calculation defined in the OPC UA configuration file; receiving, with the OPC UA server, the execution request; and executing, with the OPC UA server, the calculation using the interpreter upon receiving the execution request.
- One or more embodiments makes it possible to modify a configuration file written in a compiled programming language used in the OPC UA system more easily and execute the OPC UA program without compiling the configuration file.
-
FIG. 1 shows an OPC Unified Architecture (UA) system according to one or more embodiments. -
FIG. 2 shows a hardware diagram of an OPC UA client according to one or more embodiments. -
FIG. 3 shows a hardware diagram of an OPC UA server according to one or more embodiments. -
FIG. 4 shows a diagram of an OPC UA server architecture according to one or more embodiments. -
FIG. 5 shows a flowchart of configuring a calculation in the OPC UA server according to one or more embodiments. -
FIG. 6 shows an example of a configuration file according to one or more embodiments. -
FIG. 7 shows an example of OPC UA nodes created in an address space of the OPC UA server according to one or more embodiments. -
FIG. 8 shows an example of a configuration file according to one or more embodiments. -
FIG. 9 shows an example of OPC UA nodes created in an address space of the OPC UA server according to one or more embodiments. -
FIG. 10 shows an example of a configuration file according to one or more embodiments. -
FIG. 11 shows a flowchart of executing a calculation in the OPC UA server according to one or more embodiments. - Embodiments of the present invention will be described in detail below with reference to the drawings. Like elements in the various figures are denoted by like reference numerals for consistency.
- In the following description of embodiments of the invention, numerous specific details are set forth in order to provide a more thorough understanding of the invention. However, it will be apparent to one of ordinary skill in the art that the invention may be practiced without these specific details. In other instances, well-known features have not been described in detail to avoid obscuring the invention.
-
FIG. 1 shows an OPCUA system 1 according to one or more embodiments. The OPC UAsystem 1 includes an OPC UAclient 110 and an OPC UAserver 120. The OPC UAclient 110 is connected to the OPC UAserver 120 via an OPC UA network. The OPC UAsystem 1 may include a plurality of OPC UAclients 110 and OPCUA servers 120. - The OPC UA
client 110 is a client computer in the OPC UAsystem 1. The OPC UAclient 110 includes a software application that sends messages to the OPC UAserver 120. The messages may be data units conveyed between the OPC UAclient 110 and the OPC UAserver 120 that represent a predetermined service request or response. The OPC UAclient 110 is used to define one or more calculations executed by the OPC UAserver 120. Each calculation defined by the user has a name. - The OPC UA
server 120 is a server endpoint of client/server interactions. The OPC UAserver 120 includes a software application that implements and exposes predetermined services. The OPC UAserver 120 includes one or more calculations to be executed based on a request from the OPC UAclient 110. - The OPC UA
client 120 may have functions of the OPC UAserver 120 and vice versa. - Next, hardware configurations of the OPC UA
client 110 and the OPC UAserver 120 will be described. -
FIG. 2 shows a hardware diagram of the OPC UAclient 110 according to one or more embodiments. As shown inFIG. 2 , the OPC UAclient 110 includes at least one processor (e.g., a central processing unit (CPU)) 111, amemory 112 that communicates with theprocessor 111, astorage 113, anetwork interface 114, and adisplay 115. Theprocessor 111 executes programs stored in thememory 112. Thestorage 113 is a non-transitory computer readable storage medium. Thestorage 113 may be a hard disk drive (HDD) or a solid-state drive (SSD). Thenetwork interface 114 transmits and receives messages (data, signals) and may be at least one of a Local Area Network (LAN) interface, a wireless LAN interface, or a cellular network interface such as Long Term Evolution (LTE) or New Radio (NR) (5G). Thedisplay 115 displays information based on instructions from theprocessor 111. -
FIG. 3 shows a hardware diagram of the OPC UAserver 120 according to one or more embodiments. As shown inFIG. 3 , the OPC UAserver 120 includes at least one processor 121 (e.g., a CPU), amemory 122, astorage 123, and anetwork interface 124. Theprocessor 121 executes programs stored in thememory 122. Thestorage 123 is a non-transitory computer readable storage medium and may be referred to as a disk. Thenetwork interface 124 transmits and receives messages and may be at least one of a LAN interface, a wireless LAN interface, or a cellular network interface such as LTE or NR (5G). Each of the OPC UAserver 120 may include adisplay 125. Thenetwork interface 124 may be referred to as a transceiver. In one or more embodiments, information stored in thememory 122 may be stored in thestorage 123 and vice versa. - Next, an architecture of the
OPC UA server 120 will be described.FIG. 4 shows a diagram of the OPC UA server architecture according to one or more embodiments. - As shown in
FIG. 4 , thememory 122 stores aserver application program 1201 in which aninterpreter 1202 is embedded, and a server Application Programming Interface (API) 1203. - The
server application program 1201 is a code that implements the function of theOPC UA server 120. Theserver application program 1201 uses the server API to send and receive OPC UA messages to/from theOPC UA client 110. The server API is an internal interface that isolates theserver application program 1201 from an OPCUA communication stack 1204 included in thenetwork interface 124. Theserver application program 1201 may be defined by a configuration file to be executed based on a request from theOPC UA client 110. Theserver application program 1201 may be an OPC UA application program. - The OPC
UA communication stack 1204 receives a request message and publication message from theOPC UA client 110. The OPCUA communication stack 1204 sends a response message and a notification message to theOPC UA client 110. - The
server application program 1201 is written in a compiled programming language such as a C++, Fortran, and COBOL, which uses a compiler that converts source code into machine code. The compiled programming language is not limited to the above examples and may be a predetermined programming language. Theserver application program 1201 may be referred to as a control strategy. - The
interpreter 1202 may be a Lua scripting engine. Lua is a embeddable scripting language. Theinterpreter 1202 converts source code of theserver application program 120 line by line into a machine code on-the-fly during run time. Theinterpreter 1202 may be referred to as aLua interpreter 1202. As another example, theinterpreter 1202 may be a program written in JavaScript. Theinterpreter 1202 is not limited to the above examples and may be apredetermined interpreter 1202. - By embedding an
interpreter 1202 into theOPC UA server 120, the end user can define and run calculations using theinterpreter 1202, such that the compiled OPC UA server in which theinterpreter 1202 is hosted need not be modified. - One or more embodiments of the invention make it possible to flexibly modify the
server application program 1201 and add the function to theserver application program 1201 using the embeddedinterpreter 1202 without changing all of the source code of theserver application program 1201. - Examples of methods of configuring a calculation, modifying a configuration file, and running the calculation will be described below.
- (Configuring Calculation)
-
FIG. 5 shows a flowchart of configuring a calculation in theOPC UA server 120 according to one or more embodiments. - At step S101 of
FIG. 5 , theOPC UA server 120 receives a configuration request including a configuration file from theOPC UA client 110 via a network. The configuration request may be formatted in any format. - The configuration file contains source code indicating a configuration of a calculation. The configuration file may include a name for the calculation, the number of inputs for the calculation and a data type for each input, the number of outputs of the calculation and a data type for each output, and the algorithm of the calculation written in plaintext code for an
interpreter 1202.FIG. 6 is an example of the source code contained in the configuration request. InFIG. 6 , the name for the calculation is “MyCalc,” the data type for each of inputs “A” and “B” is “INT,” the data type for output “SUM” is “INT,” and the algorithm is “SUM=A+B.” - At step S102 of
FIG. 5 , when theOPC UA server 120 receives the configuration request, theprocessor 121 of theOPC UA server 120 determines if a configuration file exists on thestorage 123. - If the determination at step S102 is yes, the
OPC UA server 120 deletes an OPC UA object node and child nodes from thememory 122 and deletes existing configuration file from thestorage 123 at step S103. - If the determination is at step S102 is no, an operation of step S104 is performed.
- At step S104, the
processor 121 reads the configuration file in the configuration request and creates an OPC UA node and child nodes in thememory 122 using “Name,” “ArgsIn,” and “ArgsOut” components of configuration file. - At step S105, the
processor 121 writes the “Algorithm” component of the configuration file to thestorage 123. - For example, when the
OPC UA server 120 reads the configuration file ofFIG. 6 , theOPC UA server 120 performs the following steps: - creation of an OPC UA object node named “MyCalc” in an address space in the
memory 122; - creation of an OPC UA folder node named “Inputs” as a child of “MyCalc”;
- creation of an OPC UA node as a child of the node “Inputs” for input argument “A” using the data type integer that has read/write permissions;
- creation of an OPC UA node as a child of the node “Inputs” for input argument “B” using the data type integer that has read/write permissions;
- creation of an OPC UA folder node named “Outputs” as a child of “MyCalc”;
- creation of an OPC UA node as a child of the node “Outputs” for output argument “C” using the data type integer that has read only permissions; and
- creation of an OPC UA node as a child of the node “MyCalc” for a method named “runCalc.”
- As a result, the OPC UA nodes of
FIG. 7 are created in the address space in thememory 122. In the tree structure ofFIG. 7 , the OPC UA object node named “MyCalc” is created. The OPC UA child nodes named “Inputs,” “Outputs,” and “runCalc” are on the same hierarchical level under the OPC UA object node named “MyCalc.” - Thus, according to one or more embodiments, the configuration file can be configured in the OPC UA server without compiling the configuration file because the
interpreter 1202 runs the configuration file line-by-line. - (Modifying Configuration File)
- Next, the method of modifying the configuration file will be described below.
- When the
OPC UA server 120 receives the configuration file ofFIG. 8 following the configuration file ofFIG. 6 , the OPC UA nodes as shown inFIG. 9 are created in the address space in thememory 122. In the OPC UA nodes ofFIG. 9 , the OPC UA object node named “Average3” is created in addition to the OPC UA object node named “MyCalc.” The OPC UA child nodes named “Inputs,” “Outputs,” and “runCalc” are on the same hierarchical level under the OPC UA object node named “Average3.” As shown inFIG. 8 , in the “Algorithm” component, is set. - According to one or more embodiments, when part of the components in the configuration file, which has been already configured in the
OPC UA server 120, is modified, theOPC UA client 110 sends the OPC UA server 120 a configuration file where part of components is modified. - For example, when the “Algorithm” component “AVERAGE=(Val1+Val2+Val3)/2.0” in the configuration file of
FIG. 8 is modified, theOPC UA client 110 sends the OPC UA server 120 a configuration file ofFIG. 10 where “AVERAGE=(Val1+Val2+Val3)/3.0” is written in the “Algorithm” component. The remaining components other than the “Algorithm” component are the same between the configuration files ofFIGS. 8 and 10 . - When the configuration file is modified, the
OPC UA server 120 operates following the procedures indicated inFIG. 5 . - When the
OPC UA server 120 receives the configuration file ofFIG. 10 named “Average3” (S101 ofFIG. 5 ), theOPC UA server 120 determines if the configuration file named “Average3” already exists on the storage 123 (S102). - Because the configuration file named “Average3” already exists on the storage 123 (yes at S102), the
OPC UA server 120 deletes the existing OPC UA object node named “Average3” and child nodes of the OPC UA object node named “Average3” from the memory 122 (S103). TheOPC UA server 120 deletes the existing configuration file named “Average3.txt” from the storage 123 (S103). - The
OPC UA server 120 creates the OPC UA object node named “Average3” and child nodes of the OPC UA object node named “Average3” in thememory 122 using the configuration file ofFIG. 10 (S104). - The
OPC UA server 120 writes the “Algorithm” component being “AVERAGE=(Val1+Val2+Val3)/3.0” ofFIG. 10 to thestorage 123 under the OPC UA filename “Average3.txt” (S105). - Thus, by modifying only a component to be fixed in the configuration file, it is possible to flexibly fix the configuration file using the
interpreter 1202. - According to one or more embodiments, even if an error is found in the exiting configuration file, the error can be fixed without compiling the configuration file because the
interpreter 1202 executes the configuration file. As a result, it is flexible to modify or fix the configuration file because the user does not need to know complicated rules such as syntax rules of the compiled programing language to modify the configuration file. - (Running Calculation)
- According to one or more embodiments, the
OPC UA server 120 causes theinterpreter 1202 to execute the calculation based on a request from theOPC UA client 110.FIG. 11 is a flowchart of running the calculation in theOPC UA server 120 according to one or more embodiments. - At step S201 of
FIG. 11 , theOPC UA server 120 receives an execution request to execute the calculation defined in the configuration file from theOPC UA client 110 via a network. The execution request includes a name for the calculation and values input by the user via theOPC UA client 110. In this example, the name for the calculation is “MyCalc” ofFIG. 6 and the values “A” and “B” are “3” and “4”, respectively. Theprocessor 121 of theOPC UA server 120 writes the values of “3” and “4” to “A” and “B” in thememory 122, respectively. - At step S202, the
processor 121 reads the values of the OPC UA nodes located under “ArgsIn” of the address space from thememory 122 and passes values to theinterpreter 1202. In this example, theprocessor 121 reads the values of “3” and “4” corresponding to “A” and “B”, respectively, and passes the values of “3” and “4” to theinterpreter 1202. - At step S203, the
processor 121 loads instructions from the configuration file intomemory 122 and passes the instructions to theinterpreter 1202. For example, theprocessor 121 loads the instructions defined for “MyCalc” (“C=A+B”) from “MyCalc.txt” in thestorage 123. Then, theprocessor 121 passes the instructions of “MyCalc.txt” to theinterpreter 1202. - At step S204, the
processor 121 executes the algorithm using theinterpreter 1202 without compiling the configuration file. For example, theinterpreter 1202 executes the calculation of “C=3+4.” - At step S205, the
processor 121 retrieves results from theinterpreter 1202 defined by “ArgsOut” and stores the results in thememory 122. For example, theprocessor 121 stores the result of “7” obtained by the calculation in to the value named “C” in thememory 122. - At step S206, the
processor 121 writes the results from theinterpreter 1202 into ArgsOut nodes. - Thus, one or more embodiments provide a
OPC UA system 1 including theOPC UA server 120 that is able to flexibly modify the configuration file used in theOPC UA system 1 and execute the calculation using the interpreter without compiling the configuration file. - In one or more embodiments, configuration files are not limited in the above examples indicated in
FIGS. 6, 8, and 10 . The configuration files may contain any source code that defines OPC UA application programs. - Although the disclosure has been described with respect to only a limited number of embodiments, those skilled in the art, having benefit of this disclosure, will appreciate that various other embodiments may be devised without departing from the scope. Accordingly, the scope of the invention should be limited only by the attached claims.
Claims (15)
1. An Open Platform Communications (OPC) Unified Architecture (UA) server comprising:
a storage that stores a configuration file written in a compiled programming language and in which an interpreter is embedded;
a transceiver that receives, from an OPC UA client, an execution request to execute a calculation defined in the configuration file;
a processor that executes the calculation using the interpreter; and
a memory that stores OPC UA nodes created based on the configuration file, wherein
the execution request comprises at least one value corresponding to at least one of the OPC UA nodes,
the processor passes the at least one value to the interpreter upon receiving the execution request,
the processor passes an instruction defined in the configuration file to the interpreter, and
the processor causes the interpreter to execute an algorithm based on the instruction using the at least one value.
2. The OPC UA server according to claim 1 , wherein the processor executes the calculation without compiling the configuration file.
3-4. (canceled)
5. The OPC UA server according to claim 1 , wherein the configuration file is written in plaintext.
6. The OPC UA server according to claim 1 , wherein the interpreter is a Lua engine.
7. A system that operates using Open Platform Communications (OPC) Unified Architecture (UA), the system comprising:
an OPC UA server that stores a configuration file written in a compiled programming language and in which an interpreter is embedded; and
an OPC UA client that sends the OPC UA server an execution request to execute a calculation defined in the OPC UA configuration file, wherein
the OPC UA server executes the calculation using the interpreter upon receiving the execution request,
the OPC UA server stores OPC UA nodes created based on the configuration file,
the execution request comprises at least one value corresponding to at least one of the OPC UA nodes,
the OPC UA server passes the at least one value to the interpreter upon receiving the execution request,
the OPC UA server passes an instruction defined in the configuration file to the interpreter, and
the OPC UA server causes the interpreter to execute an algorithm based on the instruction using the at least one value.
8. The system according to claim 7 , wherein the OPC UA server executes the calculation without compiling the configuration file.
9-10. (canceled)
11. The system according to claim 7 , wherein the configuration file is written in plaintext.
12. The system according to claim 7 , wherein the interpreter is a Lua engine.
13. A method of executing an Open Platform Communications (OPC) Unified Architecture (UA) system, the method comprising:
storing, with an OPC UA server, a configuration file written in a compiled programming language and in which an interpreter is embedded;
sending, from an OPC UA client to the OPC UA server, an execution request to execute a calculation defined in the OPC UA configuration file;
receiving, with the OPC UA server, the execution request; and
executing, with the OPC UA server, the calculation using the interpreter upon receiving the execution request, wherein p1 the storing further stores OPC UA nodes created based on the configuration file,
the execution request comprises at least one value corresponding to at least one of the OPC UA nodes, and
the method further comprising:
passing, with the OPC UA server, the at least one value to the interpreter upon receiving the execution request;
passing, with the OPC UA server, an instruction defined in the configuration file to the interpreter; and
causing, with the OPC UA server, the interpreter to execute an algorithm based on the instruction using the at least one value.
14. The method according to claim 13 , wherein the executing executes the calculation without compiling the configuration file.
15-16. (canceled)
17. The method according to claim 13 , wherein the configuration file is written in plaintext.
18. The method according to claim 13 , wherein the interpreter is a Lua engine.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/790,170 US11106435B1 (en) | 2020-02-13 | 2020-02-13 | OPC UA server, system operating using OPC UA, and method of executing OPC UA system |
JP2021001644A JP2021128760A (en) | 2020-02-13 | 2021-01-07 | Opc ua server, system processing using opc ua, and executing method of opc ua system |
EP21153159.5A EP3866443A1 (en) | 2020-02-13 | 2021-01-25 | Opc ua server, system operating using opc ua, and method of executing opc ua system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/790,170 US11106435B1 (en) | 2020-02-13 | 2020-02-13 | OPC UA server, system operating using OPC UA, and method of executing OPC UA system |
Publications (2)
Publication Number | Publication Date |
---|---|
US20210255837A1 true US20210255837A1 (en) | 2021-08-19 |
US11106435B1 US11106435B1 (en) | 2021-08-31 |
Family
ID=74215813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/790,170 Active US11106435B1 (en) | 2020-02-13 | 2020-02-13 | OPC UA server, system operating using OPC UA, and method of executing OPC UA system |
Country Status (3)
Country | Link |
---|---|
US (1) | US11106435B1 (en) |
EP (1) | EP3866443A1 (en) |
JP (1) | JP2021128760A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114661277A (en) * | 2022-03-25 | 2022-06-24 | 机科发展科技股份有限公司 | Client middleware based on OPC technology and implementation method thereof |
WO2024065780A1 (en) * | 2022-09-30 | 2024-04-04 | 西门子股份公司 | Data interaction model updating method, apparatus, electronic device, and storage medium |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100211197A1 (en) * | 2009-02-19 | 2010-08-19 | James Randall Balentine | Methods and apparatus to configure a process control system using an electronic description language script |
US8423608B2 (en) * | 2007-12-21 | 2013-04-16 | Abb Research Ltd. | Method and device for communicating according to the standard protocol OPC UA in a client/server system |
US20140040431A1 (en) * | 2012-08-06 | 2014-02-06 | General Electric Company | Systems and methods for an opc ua server |
US20150012912A1 (en) * | 2009-03-27 | 2015-01-08 | Optumsoft, Inc. | Interpreter-based program language translator using embedded interpreter types and variables |
US9854027B2 (en) * | 2012-05-31 | 2017-12-26 | Siemens Aktiengesellschaft | Providing clients access to a server service using an OPC unified architecture (OPC-UA) |
US20180088548A1 (en) * | 2015-03-27 | 2018-03-29 | Bühler AG | Method and system for process controlling of plants in an opc-ua based machine-to-machine network |
US10812577B2 (en) * | 2017-12-22 | 2020-10-20 | Prosys Opc Oy | Method, a system and a computer program product for dynamically scaling OPC UA server capacity |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6978447B1 (en) | 2001-02-28 | 2005-12-20 | Cisco Technology, Inc. | Method and system for efficiently interpreting a computer program |
-
2020
- 2020-02-13 US US16/790,170 patent/US11106435B1/en active Active
-
2021
- 2021-01-07 JP JP2021001644A patent/JP2021128760A/en active Pending
- 2021-01-25 EP EP21153159.5A patent/EP3866443A1/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8423608B2 (en) * | 2007-12-21 | 2013-04-16 | Abb Research Ltd. | Method and device for communicating according to the standard protocol OPC UA in a client/server system |
US20100211197A1 (en) * | 2009-02-19 | 2010-08-19 | James Randall Balentine | Methods and apparatus to configure a process control system using an electronic description language script |
US20150012912A1 (en) * | 2009-03-27 | 2015-01-08 | Optumsoft, Inc. | Interpreter-based program language translator using embedded interpreter types and variables |
US9854027B2 (en) * | 2012-05-31 | 2017-12-26 | Siemens Aktiengesellschaft | Providing clients access to a server service using an OPC unified architecture (OPC-UA) |
US20140040431A1 (en) * | 2012-08-06 | 2014-02-06 | General Electric Company | Systems and methods for an opc ua server |
US20180088548A1 (en) * | 2015-03-27 | 2018-03-29 | Bühler AG | Method and system for process controlling of plants in an opc-ua based machine-to-machine network |
US10812577B2 (en) * | 2017-12-22 | 2020-10-20 | Prosys Opc Oy | Method, a system and a computer program product for dynamically scaling OPC UA server capacity |
Non-Patent Citations (7)
Title |
---|
BORRIELLO GAETANO, PAU GIOVANNI, GRUTESER MARCO, HONG JASON, NIKRAVESH ASHKAN, YAO HONGYI, XU SHICHANG, CHOFFNES DAVID, MAO Z. MOR: "Mobilyzer : An Open Platform for Controllable Mobile Network Measurements", PROCEEDINGS OF THE 13TH ANNUAL INTERNATIONAL CONFERENCE ON MOBILE SYSTEMS, APPLICATIONS, AND SERVICES, MOBISYS '15, FLORENCE, ITALY, MAY 18 - 22, 2015, ACM PRESS, NEW YORK, NEW YORK, USA, 18 May 2015 (2015-05-18), New York, New York, USA, pages 389 - 404, XP055787363, ISBN: 978-1-4503-3494-5, DOI: 10.1145/2742647.2742670 * |
JEAN UTKE ; UWE NAUMANN ; MIKE FAGAN ; NATHAN TALLENT ; MICHELLE STROUT ; PATRICK HEIMBACH ; CHRIS HILL ; CARL WUNSCH: "OpenAD/F: A Modular, Open-Source Tool forAutomatic Differentiation of Fortran Codes", ACM TRANSACTIONS ON MATHEMATICAL SOFTWARE., ACM, NEW YORK, NY., US, vol. 34, no. 4, 1 July 2008 (2008-07-01), US, pages 1 - 36, XP058249244, ISSN: 0098-3500, DOI: 10.1145/1377596.1377598 * |
JENS-MATTHIAS BOHLI ; ALBAN HESSLER ; OSMAN UGUS ; DIRK WESTHOFF: "Security enhanced multi-hop over the air reprogramming with Fountain Codes", LOCAL COMPUTER NETWORKS, 2009. LCN 2009. IEEE 34TH CONFERENCE ON, IEEE, PISCATAWAY, NJ, USA, 20 October 2009 (2009-10-20), Piscataway, NJ, USA, pages 850 - 857, XP031581353, ISBN: 978-1-4244-4488-5 * |
JOHN W. LOCKWOOD ; NICK MCKEOWN ; GREG WATSON ; GLEN GIBB ; PAUL HARTKE ; JAD NAOUS ; RAMANAN RAGHURAMAN ; JIANYING LUO: "NetFPGA--An Open Platform for Gigabit-Rate Network Switching and Routing", MICROELECTRONIC SYSTEMS EDUCATION, 2007. MSE '07. IEEE INTERNATIO NAL CONFERENCE ON, IEEE, PI, 1 June 2007 (2007-06-01), Pi, pages 160 - 161, XP031176259, ISBN: 978-0-7695-2849-6 * |
LUIZ HENRIQUE DE FIGUEIREDO, ROBERTO IERUSALIMSCHY, WALDEMAR CELES: "The Implementation of Lua 5.0", VERLAG DER TECHNISCHEN UNIVERSITÄT GRAZ, 1 January 2005 (2005-01-01), XP055787362, Retrieved from the Internet <URL:https://www.lua.org/doc/jucs05.pdf> DOI: 10.3217/jucs-011-07-1159 * |
MARK HANDLEY ; ORION HODSON ; EDDIE KOHLER: "XORP", COMPUTER COMMUNICATION REVIEW., ACM, NEW YORK, NY., US, vol. 33, no. 1, 1 January 2003 (2003-01-01), US, pages 53 - 57, XP058137105, ISSN: 0146-4833, DOI: 10.1145/774763.774771 * |
SUN XIAOLE, DJORDJEVIC IVAN B.: "FPGA implementation of rate-adaptive spatially coupled LDPC codes suitable for optical communications", OPTICS EXPRESS, vol. 27, no. 3, 4 February 2019 (2019-02-04), pages 3422 - 3428, XP055781071, DOI: 10.1364/OE.27.003422 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114661277A (en) * | 2022-03-25 | 2022-06-24 | 机科发展科技股份有限公司 | Client middleware based on OPC technology and implementation method thereof |
WO2024065780A1 (en) * | 2022-09-30 | 2024-04-04 | 西门子股份公司 | Data interaction model updating method, apparatus, electronic device, and storage medium |
Also Published As
Publication number | Publication date |
---|---|
EP3866443A1 (en) | 2021-08-18 |
US11106435B1 (en) | 2021-08-31 |
JP2021128760A (en) | 2021-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10481884B2 (en) | Systems and methods for dynamically replacing code objects for code pushdown | |
AU2011323773B2 (en) | Managing data set objects in a dataflow graph that represents a computer program | |
US9244709B2 (en) | Automatic recognition of web application | |
US7752598B2 (en) | Generating executable objects implementing methods for an information model | |
KR102183185B1 (en) | Controlling runtime access to application programming interfaces | |
US10901804B2 (en) | Apparatus and method to select services for executing a user program based on a code pattern included therein | |
US11561784B2 (en) | Versioning of pipeline templates for continuous delivery of services on datacenters configured in cloud platforms | |
US9116770B2 (en) | Recipe-based application conversion | |
US7523461B2 (en) | Modification of logic in an application | |
US11595299B2 (en) | System and method of suppressing inbound payload to an integration flow of an orchestration based application integration | |
US20080271004A1 (en) | Computer-implemented method, system, and program product for optimizing a distributed application | |
EP3866443A1 (en) | Opc ua server, system operating using opc ua, and method of executing opc ua system | |
US11392366B1 (en) | Optimized compilation of pipelines for continuous delivery of services on datacenters configured in cloud platforms | |
US20130227572A1 (en) | Test device, a system, a program and a method | |
US20150082322A1 (en) | Data Upgrade Framework for Distributed Systems | |
US10884764B1 (en) | Optimizing managed runtime applications for serverless environments | |
CN108681491B (en) | File decoupling method and system | |
WO2022199324A1 (en) | Run-time communications protocol parameter adjustment in containerized applications | |
CN115658140A (en) | SDK packaging method, device, terminal and storage medium | |
CN114816475A (en) | Method, device, equipment and medium for updating embedded operating system | |
CN113641389B (en) | Software upgrading method, device and equipment based on OpenCPU | |
CN114489674A (en) | Data verification method and device of dynamic data model | |
US10853225B2 (en) | Control method, apparatus, and non-transitory computer-readable storage medium for generating data body adjusted to second program by converting data type of parameter of first program | |
CN113032004A (en) | Method, apparatus and program product for managing development jobs in a development environment | |
US10853040B2 (en) | Address space splitting for legacy application compatibility |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: YOKOGAWA ELECTRIC CORPORATION, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:NGUYEN, VIEN;CLAY, PATRICK;REEL/FRAME:051969/0235 Effective date: 20200212 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |