JP2021128760A - Opc uaサーバ、opc uaを用いたシステム処理、及びopc uaシステムを実行する方法 - Google Patents
Opc uaサーバ、opc uaを用いたシステム処理、及びopc uaシステムを実行する方法 Download PDFInfo
- Publication number
- JP2021128760A JP2021128760A JP2021001644A JP2021001644A JP2021128760A JP 2021128760 A JP2021128760 A JP 2021128760A JP 2021001644 A JP2021001644 A JP 2021001644A JP 2021001644 A JP2021001644 A JP 2021001644A JP 2021128760 A JP2021128760 A JP 2021128760A
- Authority
- JP
- Japan
- Prior art keywords
- opc
- server
- configuration file
- interpreter
- execution request
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 16
- 238000012545 processing Methods 0.000 title description 2
- 238000004422 calculation algorithm Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000011217 control strategy Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- 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
-
- 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
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
【課題】コンパイルされたプログラミング言語で記載された構成ファイルを、より容易に修正し、構成ファイルをコンパイルすることなくOPC UAプログラムを実行することを可能とするOPC UAシステムを提供する。【解決手段】OPC UAサーバ120は、コンパイルされたプログラミング言語で記載され、インタプリタが埋め込まれた構成ファイルを格納するストレージ123と、OPC UAクライアントから、前記構成ファイルで定義された演算を実行する実行要求を受信するトランシーバと、前記インタプリタを用いて前記演算を実行するプロセッサ121と、を備える。【選択図】図3
Description
OPC(Open Platform Communications) UA(Unified Architecture)は、プラットフォームから独立した、サービス中心のアーキテクチャであり、機械同士の通信、機械と企業体との通信、及び中間にある他の全てのものを含む、企業体全体での相互運用に必要な基盤を提供するアーキテクチャである。
通常、OPC UAシステムは、OPC UAクライアントと、OPC UAサーバとを備える。OPC UAサーバは、OPC UAクライアントからの要求メッセージに基づき、OPC UAサーバアプリケーションプログラムを実行する。従来のOPC UAシステムにおいて、OPC UAサーバアプリケーションプログラムは、ベンダにより提供され、例えばC++等のコンパイルされたプログラミング言語で記載されている。コンパイルされたプログラミング言語は、ソースコードをマシンコードに変換するプログラムであるコンパイラを用いる。コンパイラによるコンパイルプロセスが終了すると、変換されたプログラムは、元のソースコードを必要とすることなく実行可能となる。OPC UAサーバプログラムが変更された場合、全てのソースコードが編集されなければならず、新たなマシンコードを作るためにコンパイルプロセスが再実行されなければならない。
コンパイルされたプログラミング言語で記載されたプログラムは、全てのソースコードにアクセスすることなしに、且つ、プログラムを再コンパイルする能力なしに、修正することは不可能である。しかしながら、OPC UAサーバのユーザは、OPC UAサーバプログラムの全てのソースコードを所有していない場合がある。さらに、ソースコードを変更するには、高度に専門的なスキルセットが要求される。そのため、ユーザがOPC UAサーバプログラムに対して変更を加えたり、新たな機能を追加したりすることを望んでいても、ユーザは、OPC UAサーバプログラムを容易に修正しえず、コンパイル又は構築された新たなサーバを入手するために、専門のプログラマ又はベンダに依頼することが必要となり得る。その結果、ユーザは、OPC UAサーバプログラムを修正するのに莫大な時間と費用を費やすこととなり得る。
一以上の実施形態に係るOPC UAサーバは、コンパイルされたプログラミング言語で記載され、インタプリタが埋め込まれた構成ファイルを格納するストレージと、OPC UAクライアントから、前記構成ファイルで定義された演算を実行する実行要求を受信するトランシーバと、前記インタプリタを用いて前記演算を実行するプロセッサと、を備える。
一以上の実施形態に係るシステムは、OPC UAを用いて処理する。前記システムは、コンパイルされたプログラミング言語で記載され、インタプリタが埋め込まれた構成ファイルを格納する、OPC UAサーバと、前記構成ファイルで定義された演算を実行する実行要求を、前記OPC UAサーバに送信する、OPC UAクライアントと、を備える。前記OPC UAサーバは、前記実行要求を受信すると、前記インタプリタを用いて前記演算を実行する。
一以上の実施形態に係るOPC UAシステムを実行する方法は、OPC UAサーバにより、コンパイルされたプログラミング言語で記載され、インタプリタが埋め込まれた構成ファイルを格納するステップと、前記OPC UA構成ファイルで定義された演算を実行する実行要求を、OPC UAクライアントから前記OPC UAサーバに送信するステップと、前記OPC UAサーバにより、前記実行要求を受信するステップと、前記OPC UAサーバにより、前記実行要求を受信すると、前記インタプリタを用いて前記演算を実行するステップと、を含む。
一以上の実施形態によれば、OPC UAシステムで使用されている、コンパイルされたプログラミング言語で記載された構成ファイルを、より容易に修正し、構成ファイルをコンパイルすることなくOPC UAプログラムを実行することが可能である。
本発明の実施形態について、図面を参照しながら、以下詳細に説明する。整合をとるため、複数の図面における同じ要素は、同じ参照符号で示される。
より完全な発明の理解のため、以下の発明の実施形態の説明において、多数の具体的な詳細について説明する。しかしながら、当業者にとって、発明がこれらの具体的な詳細以外で実施され得ることは明らかである。他の例において、発明が不明確になるのを回避するために、周知の構成については詳細に説明していない。
図1は、一以上の実施形態に係る、OPC UAシステム1を示す。OPC UAシステム1は、OPC UAクライアント110と、OPC UAサーバ120と、を備える。OPC UAクライアント110は、OPC UAネットワークを介してOPC UAサーバ120に接続されている。OPC UAシステム1は、複数のOPC UAクライアント110及びOPC UAサーバ120を備えていてもよい。
OPC UAクライアント110は、OPC UAシステム1におけるクライアントコンピュータである。OPC UAクライアント110は、OPC UAサーバ120にメッセージを送信するソフトウェアアプリケーションを有する。メッセージは、OPC UAクライアント110とOPC UAサーバ120との間で伝達される、所定のサービス要求又は応答を示すデータ単位であってよい。OPC UAクライアント110は、OPC UAサーバ120により実行される一以上の演算を定義するために用いられる。ユーザにより定義された各演算は、名前を有する。
OPC UAサーバ120は、クライアント/サーバの相互通信のサーバエンドポイントである。OPC UAサーバ120は、所定のサービスを実行して公開するするソフトウェアアプリケーションを有する。OPC UAサーバ120は、OPC UAクライアント110からの要求に基づいて実行される一以上の演算を有する。
OPC UAクライアント110は、OPC UAサーバ120の機能を有していてよく、その逆も同様である。
次に、OPC UAクライアント110及びOPC UAサーバ120のハードウェア構成について説明する。
図2は、一以上の実施形態に係る、OPC UAクライアント110のハードウェアの概略図である。図2に示すように、OPC UAクライアント110は、少なくとも1つのプロセッサ(例えば中央処理装置(CPU))111、プロセッサ111と通信するメモリ112、ストレージ113、ネットワークインタフェース114、及びディスプレイ115を備える。プロセッサ111は、メモリ112に格納されたプログラムを実行する。ストレージ113は、非一時的なコンピュータ可読の記憶媒体である。ストレージ113は、ハードディスクドライブ(HDD)又はソリッドステートドライブ(SSD)であってよい。ネットワークインタフェース114は、メッセージ(データ、信号)を送受信し、ローカルエリアネットワーク(LAN)インタフェース、無線LANインタフェース、又は、例えばロングタームエヴォリューション(LTE)又はNew Radio(NR)(5G)などのセルラーネットワークインタフェースの少なくともいずれかであってよい。ディスプレイ115は、プロセッサ111からの指示に基づいて情報を表示する。
図3は、一以上の実施形態に係る、OPC UAサーバ120のハードウェアの概略図である。図3に示すように、OPC UAサーバ120は、少なくとも1つのプロセッサ121(例えばCPU)、メモリ122、ストレージ123、及びネットワークインタフェース124を備える。プロセッサ121は、メモリ122に格納されたプログラムを実行する。ストレージ123は、非一時的なコンピュータ可読の記憶媒体であり、ディスクと称されるものであってよい。ネットワークインタフェース124は、メッセージを送受信し、LANインタフェース、無線LANインタフェース、又は、例えばLTE又はNR(5G)などのセルラーネットワークインタフェースの少なくともいずれかであってよい。OPC UAサーバ120のそれぞれは、ディスプレイ125を備えてもよい。ネットワークインタフェース124は、トランシーバと称されるものであってよい。一以上の実施形態において、メモリ122に格納された情報は、ストレージ123に格納されてもよく、その逆も同様である。
次に、OPC UAサーバ120のアーキテクチャについて説明する。図4は、一以上の実施形態に係る、OPC UAサーバアーキテクチャの概略図である。
図4に示すように、メモリ122は、内部にインタプリタ1202が埋め込まれたサーバアプリケーションプログラム1201と、アプリケーションプログラミングインタフェース(API)1203と、を格納している。
サーバアプリケーションプログラム1201は、OPC UAサーバ120の機能を実装するコードである。サーバアプリケーションプログラム1201は、サーバAPIを用いて、OPC UAメッセージを、OPC UAクライアント110に送信又はOPC UAクライアント110から受信する。サーバAPIは、ネットワークインタフェース124に含められているOPC UA通信スタック1204からサーバアプリケーションプログラム1201を取り出す内部インタフェースである。サーバアプリケーションプログラム1201は、OPC UAクライアント110からの要求に基づいて実行される構成ファイルにより定義されてよい。サーバアプリケーションプログラム1201は、OPC UAアプリケーションプログラムであってよい。
OPC UA通信スタック1204は、OPC UAクライアント110から、要求メッセージ及びパブリケーションメッセージを受信する。OPC UA通信スタック1204は、OPC UAクライアント110に、応答メッセージ及び通知メッセージを送信する。
サーバアプリケーションプログラム1201は、例えばC++、Fortran及びCOBOL等のような、ソースコードをマシンコードに変換するコンパイラを用いる、コンパイルされたプログラミング言語で記載されている。コンパイルされたプログラミング言語は、上述の例に限られず、所定のプログラミング言語であってよい。サーバアプリケーションプログラム1201は、制御戦略と称されるものであってよい。
インタプリタ1202は、Luaスクリプトエンジンであってよい。Luaは、埋め込み可能なスクリプト言語である。インタプリタ1202は、ランタイムの間に、サーバアプリケーションプログラム1201のソースコードを、オンザフライで1行ずつマシンコードに変換する。インタプリタ1202は、Luaインタプリタ1202と称されるものであってよい。他の一例として、インタプリタ1202は、Javascriptで記載されたプログラムであってもよい。インタプリタ1202は、上述の例に限られず、所定のインタプリタ1202であってよい。
インタプリタ1202をOPC UAサーバ120に埋め込むことにより、エンドユーザは、インタプリタ1202がホストされコンパイルされたOPC UAサーバ120を修正する必要がないように、インタプリタ1202を用いて演算を定義し、実行することができる。
本発明の一以上の実施形態により、サーバアプリケーションプログラム1201を柔軟に修正することができ、埋め込まれたインタプリタ1202を用いることによって、サーバアプリケーションプログラム1201のソースコードの全体を変えることなく、サーバアプリケーションプログラム1201に機能を追加することができる。
演算の構成、構成ファイルの修正及び演算の実行の方法の例について、以下説明する。
(演算の構成)
図5は、一以上の実施形態に係る、OPC UAサーバ120での演算を構成するフローチャートである。
図5のステップS101において、OPC UAサーバ120は、ネットワークを介して、OPC UAクライアント110から、構成ファイルを含む構成要求を受信する。構成要求は、任意のフォーマットで初期化されてよい。
構成ファイルは、演算の構成を示すソースコードを有する。構成ファイルは、演算の名称、演算に対する入力の数値及び各入力のデータ型、演算の出力の数値及び各出力のデータ型、及び、インタプリタ1202のためにプレーンテキストコードで記載された演算のアルゴリズムを含んでもよい。図6は、構成要求に含まれるソースコードの例である。図6において、演算の名称は「MyCalc」であり、各入力「A」及び「B」のデータ型は「INT」であり、出力「SUM」のデータ型は「INT」であり、アルゴリズムは「SUM=A+B」である。
図5のステップS102において、OPC UAサーバ120が構成要求を受信したとき、OPC UAサーバ120のプロセッサ121は、構成ファイルがストレージ123に存在するかを決定する。
ステップS102における決定がYesである場合、ステップS103において、OPC UAサーバ120は、OPC UAオブジェクトノード及び子ノードをメモリ122から削除し、既存の構成ファイルをストレージ123から削除する。
ステップS102における決定がNoである場合、ステップS104の処理が実行される。
ステップS104において、プロセッサ121は、構成要求の構成ファイルを読み出し、構成ファイルの「Name」、「ArgsIn」及び「ArgsOut」コンポーネントを用いて、メモリ122にOPC UAノード及び子ノードを生成する。
ステップS105において、プロセッサ121は、構成ファイルの「Algorithm」コンポーネントを、ストレージ123に書き込む。
例えば、OPC UAサーバ120が図6の構成ファイルを読み出したとき、OPC UAサーバ120は、以下のステップを実行する。
メモリ122のアドレス空間に、「MyCalc」という名称のOPC UAオブジェクトノードを生成
「MyCalc」の子ノードとして、「Inputs」という名称のOPC UAフォルダノードを生成
読出/書込が許可されたデータ型の整数を用いて、入力引数「A」のためのノード「Inputs」の子ノードとして、OPC UAノードを生成
読出/書込が許可されたデータ型の整数を用いて、入力引数「B」のためのノード「Inputs」の子ノードとして、OPC UAノードを生成
「MyCalc」の子ノードとして、「Outputs」という名称のOPC UAフォルダノードを生成
読出のみが許可されたデータ型の整数を用いて、入力引数「C」のためのノード「Outputs」の子ノードとして、OPC UAノードを生成
「runCalc」という名称の方法のためのノード「Outputs」の子ノードとして、OPC UAノードを生成。
この結果、メモリ122のアドレス空間に図7のOPC UAノードが生成される。図7のツリー構造において、「MyCalc」という名称のOPC UAオブジェクトノードが生成される。「Inputs」、「Outputs」及び「runCalc」という名称のOPC UA子ノードは、「MyCalc」という名称のOPC UAオブジェクトノード下において、同一の階層レベルに存在する。
従って、一以上の実施形態によれば、インタプリタ1202が構成ファイルを1行ずつ実行するため、構成ファイルをコンパイルすることなく、構成ファイルをOPC UAサーバ120に構成することができる。
(構成ファイルの修正)
次に、構成ファイルの修正方法について説明する。
OPC UAサーバ120が、図6の構成ファイルに続いて図8の構成ファイルを受信したとき、メモリ122のアドレス空間に、図9に示すOPC UAノードが生成される。図9のOPC UAノードにおいて、「MyCalc」という名称のOPC UA オブジェクトノードに加え、「Average3」という名称のOPC UAオブジェクトノードが生成される。「Inputs」、「Outputs」及び「runCalc」という名称のOPC UA子ノードは、「Average3」という名称のOPC UAオブジェクトノード下において、同一の階層レベルに存在する。図8に示すように、「Algorithm」コンポーネントが設定される。
一以上の実施形態において、OPC UAサーバ120に既に構成されている構成ファイルのコンポーネントの一部が修正されたとき、OPC UAクライアント110は、コンポーネントの一部が修正された構成ファイルをOPC UAサーバ120に送信する。
例えば、図8の構成ファイルの「Algorithm」コンポーネントの「AVERAGE = (Va11+Va12+Va13)/2.0」が修正されたとき、OPC クライアント110は、「Algorithm」コンポーネントに「AVERAGE = (Va11+Va12+Va13)/3.0」が書き込まれた図10の構成ファイルを、OPC UAサーバ120に送信する。「Algorithm」コンポーネント以外の残りのコンポーネントは、図8及び10の構成ファイル間で同一である。
構成ファイルが修正されたとき、OPC UAサーバ120は、図5に示される以下の手続きを処理する。
OPC UAサーバ120は、「Average3」という名称の図10の構成ファイルを受信したとき(図5のS101)、「Average3」という名称の構成ファイルが既にストレージ123n存在するかを決定する(S102)。
「Average3」という名称の構成ファイルが既にストレージ123に存在するため(S102のyes)、OPC UAサーバ120は、メモリ122から、「Average3」という名称の既存のOPC UAオブジェクトノードと、「Average3」という名称のOPC UAオブジェクトノードの子ノードとを、削除する(S103)。OPC UAサーバ120は、ストレージ123から、「Average3.txt」という名称の既存の構成ファイルを削除する(S103)。
OPC UAサーバ120は、図10の構成ファイルを用いて、「Average3」という名称のOPC UAオブジェクトノードと、「Average3」という名称のOPC UAオブジェクトノードの子ノードを、メモリ122に生成する(S104)。
OPC UAサーバ120は、図10の「Algorithm」コンポーネントの「AVERAGE = (Va11+Va12+Va13)/3.0」を、OPC UAファイル名「Average3.txt」で、ストレージ123に書き込む(S105)。
従って、構成ファイルにおいて、修正すべきコンポーネントのみを修正することにより、インタプリタ1202を用いて、構成ファイルを柔軟に修正することが可能である。
一以上の実施形態によれば、既存の構成ファイルにエラーが発見されたとしても、インタプリタ1202が構成ファイルを実行するため、構成ファイルをコンパイルすることなくエラーを修正できる。その結果、ユーザは、構成ファイルを修正するために、コンパイルされたプログラミング言語における、構文規則のようなコンパイルされた規則を知る必要がないため、構成ファイルを修正することは柔軟性を有する。
(演算の実行)
一以上の実施形態において、OPC UAサーバ120は、OPC UAクライアント110からの要求に基づき、インタプリタ1202に演算を実行させる。図11は、一以上の実施形態に係るOPC UAサーバ120での演算の実行のフローチャートである。
図11のステップS201において、OPC UAサーバ120は、OPC UAクライアント110からネットワークを介して、構成ファイルで定義された演算を実行する実行要求を受信する。実行要求は、演算の名称及びOPC UAクライアント110を介してユーザにより入力された値を含む。ここでの例では、演算の名称は、図6の「MyCalc」であり、値「A」及び「B」は、それぞれ「3」及び「4」である。OPC UAサーバ120のプロセッサ121は、値「3」及び「4」を、それぞれメモリ122の「A」及び「B」に書き込む。
ステップS202において、プロセッサ121は、メモリ122から、アドレス空間の「ArgsIn」下に位置するOPC UAノードの値を読み出し、その値をインタプリタ1202に送る。ここでの例では、プロセッサ121は、「A」及び「B」にそれぞれ対応する値「3」及び「4」を読み出し、値「3」及び「4」をインタプリタ1202に送る。
ステップS203において、プロセッサ121は、構成ファイルからの指示をメモリ122に読み込み、その指示をインタプリタ1202に送る。例えば、プロセッサ121は、ストレージ123の「MyCalc.txt」から「MyCalc」(「C=A+B」)として定義された指示を読み込む。そして、プロセッサ121は、「MyCalc.txt」の指示をインタプリタ1202に送る。
ステップS204において、プロセッサ121は、インタプリタ1202を用いて、構成ファイルをコンパイルすることなく、アルゴリズムを実行する。例えば、インタプリタ1202は、「C=3+4」の演算を実行する。
ステップS205において、プロセッサ121は、「ArgsOut」により定義された結果をインタプリタ1202から読み出し、その結果をメモリ122に格納する。例えば、プロセッサ121は、演算により得られた「7」という結果を、メモリ122の「C」という名称の値に格納する。
ステップS206において、プロセッサ121は、インタプリタ1202からArgsOutノードに結果を書き込む。
従って、一以上の実施形態は、OPC UAシステム1で用いられる構成ファイルを柔軟に修正し、構成ファイルをコンパイルすることなくインタプリタを用いて演算を実行することができるOPC UAサーバ120を備える、OPC UAシステム1を提供する。
一以上の実施形態において、構成ファイルは、図6、8及び10で示された上述の例に限られない。構成ファイルは、OPC UAアプリケーションプログラムを適宜する任意のソースコードを含んでよい。
本開示につき、限られた数の実施形態に関して説明したが、当業者は、本開示を利用して、範囲を逸脱することなく、多様な他の実施形態が考案され得ることを理解できるであろう。従って、本発明の範囲は、添付された特許請求の範囲のみに限定されるものではない。
Claims (18)
- コンパイルされたプログラミング言語で記載され、インタプリタが埋め込まれた構成ファイルを格納するストレージと、
OPC UAクライアントから、前記構成ファイルで定義された演算を実行する実行要求を受信するトランシーバと、
前記インタプリタを用いて前記演算を実行するプロセッサと、
を備える、OPC UAサーバ。 - 前記プロセッサは、前記構成ファイルをコンパイルすることなく前記演算を実行する、請求項1に記載のOPC UAサーバ。
- 前記構成ファイルに基づいて生成されたOPC UAノードを格納するメモリをさらに備える、請求項1又は2に記載のOPC UAサーバ。
- 前記実行要求は、少なくとも一つのOPC UAノードに対応する少なくとも一つの値を含み、
前記プロセッサは、前記実行要求を受信すると、前記少なくとも一つの値を前記インタプリタに送り、
前記プロセッサは、前記構成ファイルで定義された指示を、前記インタプリタに送り、
前記プロセッサは、前記インタプリタに、前記指示に基づいて前記少なくとも一つの値を用いてアルゴリズムを実行させる、
請求項3に記載のOPC UAサーバ。 - 前記構成ファイルは、プレーンテキストで記載されている、請求項1から4のいずれか一項に記載のOPC UAサーバ。
- 前記インタプリタは、Luaエンジンである、請求項1から5のいずれか一項に記載のOPC UAサーバ。
- コンパイルされたプログラミング言語で記載され、インタプリタが埋め込まれた構成ファイルを格納する、OPC UAサーバと、
前記OPC UA構成ファイルで定義された演算を実行する実行要求を、前記OPC UAサーバに送信する、OPC UAクライアントと、
を備え、
前記OPC UAサーバは、前記実行要求を受信すると、前記インタプリタを用いて前記演算を実行する、
OPC UAを用いて処理するシステム。 - 前記OPC UAサーバは、前記構成ファイルをコンパイルすることなく前記演算を実行する、請求項7に記載のシステム。
- 前記OPC UAサーバは、前記構成ファイルに基づいて生成されたOPC UAノードを格納する、請求項7又は8に記載のシステム。
- 前記実行要求は、少なくとも一つのOPC UAノードに対応する少なくとも一つの値を含み、
前記OPC UAサーバは、前記実行要求を受信すると、前記少なくとも一つの値を前記インタプリタに送り、
前記OPC UAサーバは、前記構成ファイルで定義された指示を、前記インタプリタに送り、
前記OPC UAサーバは、前記インタプリタに、前記指示に基づいて前記少なくとも一つの値を用いてアルゴリズムを実行させる、
請求項7から9のいずれか一項に記載のシステム。 - 前記構成ファイルは、プレーンテキストで記載されている、請求項7から10のいずれか一項に記載のシステム。
- 前記インタプリタは、Luaエンジンである、請求項7から11のいずれか一項に記載のシステム。
- OPC UAシステムを実行する方法であって、
OPC UAサーバにより、コンパイルされたプログラミング言語で記載され、インタプリタが埋め込まれた構成ファイルを格納するステップと、
前記OPC UA構成ファイルで定義された演算を実行する実行要求を、OPC UAクライアントから前記OPC UAサーバに送信するステップと、
前記OPC UAサーバにより、前記実行要求を受信するステップと、
前記OPC UAサーバにより、前記実行要求を受信すると、前記インタプリタを用いて前記演算を実行するステップと、
を含む方法。 - 前記実行するステップは、前記構成ファイルをコンパイルすることなく前記演算を実行する、請求項13に記載の方法。
- 前記格納するステップは、前記構成ファイルに基づいて生成されたOPC UAノードをさらに格納する、請求項13又は14に記載の方法。
- 前記実行要求は、少なくとも一つのOPC UAノードに対応する少なくとも一つの値を含み、
前記OPC UAサーバにより、前記実行要求を受信すると、前記少なくとも一つの値を前記インタプリタに送るステップと、
前記OPC UAサーバにより、前記構成ファイルで定義された指示を、前記インタプリタに送るステップと、
前記OPC UAサーバにより、前記インタプリタに、前記指示に基づいて前記少なくとも一つの値を用いてアルゴリズムを実行させるステップと、
をさらに含む、請求項13から15のいずれか一項に記載の方法。 - 前記構成ファイルは、プレーンテキストで記載されている、請求項13から16のいずれか一項に記載の方法。
- 前記インタプリタは、Luaエンジンである、請求項13から17のいずれか一項に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/790170 | 2020-02-13 | ||
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 (1)
Publication Number | Publication Date |
---|---|
JP2021128760A true JP2021128760A (ja) | 2021-09-02 |
Family
ID=74215813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021001644A Pending JP2021128760A (ja) | 2020-02-13 | 2021-01-07 | Opc uaサーバ、opc uaを用いたシステム処理、及びopc uaシステムを実行する方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11106435B1 (ja) |
EP (1) | EP3866443A1 (ja) |
JP (1) | JP2021128760A (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114466039B (zh) * | 2022-01-04 | 2024-06-18 | 中国船舶集团有限公司第七一六研究所 | 一种基于5g专网的opcua通信***及方法 |
CN114661277B (zh) * | 2022-03-25 | 2022-09-23 | 机科发展科技股份有限公司 | 一种基于opc技术的客户端中间件及其实现方法 |
WO2024065780A1 (zh) * | 2022-09-30 | 2024-04-04 | 西门子股份公司 | 数据交互模型更新方法、装置、电子设备和存储介质 |
Family Cites Families (8)
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 |
DE102007062985B4 (de) * | 2007-12-21 | 2014-01-02 | Abb Research Ltd. | Verfahren und Einrichtung zur Kommunikation gemäß dem Standardprotokoll OPC UA in einem Client-Server-System |
US9354629B2 (en) * | 2009-02-19 | 2016-05-31 | Fisher-Rosemount Systems, Inc. | Methods and apparatus to configure a process control system using an electronic description language script |
US8799877B2 (en) * | 2009-03-27 | 2014-08-05 | 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 |
TR201906576T4 (tr) * | 2015-03-27 | 2019-05-21 | Buehler Ag Geb | Adapte edilebilir çapraz tesis kontrolü ve yönlendirme sistemi ve ilgili yöntemi. |
FI127806B (en) * | 2017-12-22 | 2019-02-28 | Prosys Opc Oy | A method, system and computer software for managing OPC UA server capacity |
-
2020
- 2020-02-13 US US16/790,170 patent/US11106435B1/en active Active
-
2021
- 2021-01-07 JP JP2021001644A patent/JP2021128760A/ja active Pending
- 2021-01-25 EP EP21153159.5A patent/EP3866443A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP3866443A1 (en) | 2021-08-18 |
US11106435B1 (en) | 2021-08-31 |
US20210255837A1 (en) | 2021-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2021128760A (ja) | Opc uaサーバ、opc uaを用いたシステム処理、及びopc uaシステムを実行する方法 | |
JP6116721B2 (ja) | グラフに基づく計算の動的ロード | |
JP5420139B2 (ja) | ダイナミック・サービス・サロゲート | |
CN102103497B (zh) | 有限状态机执行装置和方法、在应用中的建立和使用方法 | |
US8560602B2 (en) | Data sharing in a stream processing system | |
US7523461B2 (en) | Modification of logic in an application | |
JP2006107483A (ja) | デマンドイベントのためのオブジェクトクローン作成 | |
US20030130980A1 (en) | Efficient configuration data migration technique | |
US20130227572A1 (en) | Test device, a system, a program and a method | |
US20100229154A1 (en) | Declarative aspects and aspect containers for application development | |
US20180373542A1 (en) | Method and apparatus for declarative action orchestration | |
CN112199164A (zh) | 一种保证容器镜像一致性的方法 | |
US10579366B2 (en) | Data upgrade framework for distributed systems | |
US20230221981A1 (en) | Sidecar-based integration capabilities for containerized applications | |
US7003773B2 (en) | Dynamic interface aggregation on demand | |
US20180329729A1 (en) | Software-defined microservices | |
US20220385535A1 (en) | Cloud service component dependencies | |
US9253286B2 (en) | Computer program composed from tabular storage structures that includes data and code | |
JP2013534347A (ja) | 高性能コンピューティングアプリケーションの実行のためのシステムおよび方法 | |
US8214330B2 (en) | Information processing apparatus, information processing method, and computer program product | |
US11706156B2 (en) | Method and system for changing resource state, terminal, and storage medium | |
Chiang et al. | Two-stage diff: An efficient dynamic software update mechanism for wireless sensor networks | |
JP7073813B2 (ja) | 制御プログラム、制御方法および情報処理装置 | |
De Nicola et al. | A basic calculus for modelling service level agreements | |
JP2014197291A (ja) | プログラム処理方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231213 |