JP7139576B2 - フィールド機器、設定装置、および設定プログラム - Google Patents

フィールド機器、設定装置、および設定プログラム Download PDF

Info

Publication number
JP7139576B2
JP7139576B2 JP2017114335A JP2017114335A JP7139576B2 JP 7139576 B2 JP7139576 B2 JP 7139576B2 JP 2017114335 A JP2017114335 A JP 2017114335A JP 2017114335 A JP2017114335 A JP 2017114335A JP 7139576 B2 JP7139576 B2 JP 7139576B2
Authority
JP
Japan
Prior art keywords
variable
unit
arithmetic expression
function
variables
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.)
Active
Application number
JP2017114335A
Other languages
English (en)
Other versions
JP2018206301A (ja
Inventor
聖仁 塚野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP2017114335A priority Critical patent/JP7139576B2/ja
Publication of JP2018206301A publication Critical patent/JP2018206301A/ja
Application granted granted Critical
Publication of JP7139576B2 publication Critical patent/JP7139576B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Testing And Monitoring For Control Systems (AREA)

Description

本発明は、フィールド機器、設定装置、および設定プログラムに関する。
従来から、プラントや工場等においては、分散制御システム(DCS:Distributed Control System)が構築されており、高度な自動操業が実現されている。この分散制御システムは、フィールド機器と呼ばれる現場機器(例えば、測定器、操作器)と、これらの制御を行う制御装置とが通信手段を介して接続されたシステムである。従来の分散制御システムは、フィールド機器と制御装置との間の通信を有線通信で行うものが殆どであった。近年においては、フィールド機器と制御装置との間の通信を無線通信(例えば、ISA100.11a等の産業用無線通信規格に準拠した無線通信)で行う分散制御システムも実現されている。
上述のフィールド機器としては、例えば、オリフィス等の絞り機構(以下、「プライマリエレメント」と称する)に発生する圧力差を流量に変換して流量計測を行うものが開示されている(例えば、特許文献1参照)。
特許第4636428号公報
ところで、上述した従来技術の手法では、圧力差を流量に変換するための演算式が必要となる。しかしながら、このような演算式は、プライマリエレメントの種類や、開発元のメーカー等によって異なるため、新しくプライマリエレメントが規格化されたり、開発されたりした場合には、対応する新たな演算式をフィールド機器に実装し、ファームウェアを更新しないと、所望する演算が実行できない場合があった。
本発明は上記事情に鑑みてなされたものであり、ユーザが任意に設定した演算式での演算を実現することができるフィールド機器、設定装置、及び設定プログラムを提供することを目的とする。
上記課題を解決するために、本発明のフィールド機器は、物理量を検出することが可能な少なくとも1つのセンサ部による検出値を取得する取得部(110)と、外部から設定された演算式に関する設定情報に基づいて、前記取得部により取得された検出値を入力値として演算可能な演算式を生成し、生成された演算式に基づいて前記取得部により取得された検出値を演算する演算部(112,114)と、前記演算部により演算された結果を出力する出力部(118)と、を備える。
また、本発明のフィールド機器は、前記演算式に関する設定情報が、逆ポーランド記法により記述された文字情報を含む。
また、本発明のフィールド機器は、前記演算部が、前記逆ポーランド記法により記述された文字情報の先頭から1文字ごとに読み出し、読み出した文字が変数である場合には、前記変数を所定の記憶領域に格納し、前記読み出した文字が関数である場合には、前記所定の記憶領域に格納された変数を読み出し、読み出した前記変数と前記関数とに基づいて演算を行う。
また、本発明のフィールド機器は、前記演算部が、複数のタスクの演算が可能であり、前記演算式に含まれる変数が非公開変数である場合には、他のタスクからの参照を拒否し、前記演算式に含まれる変数が公開変数である場合には、前記他のタスクからの参照を許可する。
本発明の設定装置は、フィールド機器(1)で取得可能な検出値に対して、所定の演算を実行させるための演算式を設定する演算式設定部(242)と、前記演算式設定部により設定された演算式を所定のコードに変換するコード変換部(244)と、前記コード変換部により設定されたコード情報を、前記フィールド機器に送信する通信処理部(246)と、を備える。
また、本発明の設定装置は、前記コード変換部が、前記演算式設定部により設定された演算式を、変数部分と関数部分とに分離し、分離した前記変数部分に関する変数コードと、前記関数部分とに関する関数コードとを設定する。
また、本発明の設定装置は、前記演算式設定部が、設定する演算式に、非公開変数または公開変数の少なくとも一方を設ける。
また、本発明の設定プログラムは、コンピュータを、フィールド機器(1)で取得可能な検出値に対して、所定の演算を実行させるための演算式を設定する演算式設定手段(242)と、前記演算式設定手段により設定された演算式を所定のコードに変換するコード変換手段(244)と、前記コード変換手段により設定されたコード情報を、前記フィールド機器に送信する通信処理手段(246)として機能させる。
本発明によれば、ユーザが任意に設定した演算式での演算を実現することができる。
本発明の一実施形態によるフィールド機器の概略構成の一例を示す図である。 設定装置200の機能構成の一例を示す図である。 設定装置200における演算式の設定処理の一例を示すフローチャートである。 演算式の設定画面の一例を示す図である。 他の演算式を設定する様子を説明するための図である。 変数コード変換表264の一例を示す図である。 関数コード変換表266の一例を示す図である。 逆ポーランド記法に対応付けた変数コードおよび関数コードの設定の様子を説明するための図である。 本発明の一実施形態による汎用演算の様子を説明するための図である。 演算処理タスクによる演算処理の一例を示すフローチャートである。 演算式の変数がスタックに格納される様子を説明するための図である。 図4で設定した演算式に対する演算処理の様子を説明するための図である。 図5で設定した演算式に対する演算処理の様子を説明するための図である。
以下、図面を参照して本発明の一実施形態によるフィールド機器、設定装置、および設定プログラムについて詳細に説明する。
[フィールド機器]
図1は、フィールド機器1の概略構成の一例を示す図である。図1に示すフィールド機器1は、例えば、差圧センサ10と、静圧センサ20と、プロセス温度センサ30と、多変数伝送器100とを備える。差圧センサ10、静圧センサ20、およびプロセス温度センサ30の一部または全部は、「センサ部」の一例である。
図1の例では、パイプPにオリフィス等の絞り機構Kが設けられている。フィールド機器1は、パイプPの上流側圧力P1及び下流側圧力P2を物理量として検出し、流量信号Foutを出力する。
差圧センサ10は、上流側圧力P1と下流側圧力P2との差圧を検出する。静圧センサ20は、上流側圧力P1を基準圧力として、真空圧力との差を検出する。真空とは、厳密な真空の意味ではなく、ある程度の圧力のある状態を含んでもよい。プロセス温度センサ30は、パイプP中の流体Fの温度を検出する。差圧センサ10、静圧センサ20、およびプロセス温度センサ30による出力信号(検出値)は、多変数伝送器100に出力される。
多変数伝送器100は、例えば、A/D変換部110-1~110-3と、差圧値・静圧値演算部112と、汎用演算部114と、記憶部116と、出力部118と、通信部120とを備える。また、A/D変換部110-1~110-3、差圧値・静圧値演算部112、汎用演算部114、および出力部118のうち一部または全部は、ファームウェアが実行されることにより実現される機能である。また、差圧値・静圧値演算部112および汎用演算部114のうち一部または全部は、「演算部」の一例である。
A/D変換部110-1~110-3は、差圧センサ10、静圧センサ20、およびプロセス温度センサ30からの検出値を取得する「取得部」の一例である。A/D変換部110-1は、差圧センサ10からの出力信号をデジタル信号に変換する。A/D変換部110-2は、静圧センサ20からの出力信号をデジタル信号に変換する。A/D変換部110-3は、プロセス温度センサ30からの出力信号をデジタル信号に変換する。
差圧値・静圧値演算部112は、取得したデジタル信号に基づいて流体の差圧値および静圧値を求める演算処理を行う。
汎用演算部114は、例えば電卓等のように、数値を所定の演算子により演算する機能を備える。例えば、汎用演算部114は、差圧値・静圧値演算部112により演算された差圧値および静圧値と、A/D変換部110-3から得られる温度のデジタル値を入力とし、所定の演算式を用いて演算を行う。この場合、汎用演算部114は、設定装置200等の外部の装置から設定された演算式に関する設定情報に基づいて演算式を生成し、生成された演算式に基づいて演算を行う。また、汎用演算部114は、例えば、差圧値・静圧値演算部112およびA/D変換部110-3からの入力があった場合に演算を行う。また、汎用演算部114は、設定装置200からの指示を受け付けた場合に演算を行ってもよい。汎用演算部114の機能の詳細については、後述する。
記憶部116は、例えばHDD(ハードディスクドライブ)やSSD(ソリッドステートドライブ)等の補助記憶装置を備える。記憶部116は、例えば、汎用演算部114による演算を行うために必要な各種データを格納する。また、記憶部116は、汎用演算部114により演算式の少なくとも一部を一時的に格納するスタックに対応する記憶領域を備える。また、記憶部116は、汎用演算部114の処理結果を格納してもよい。
出力部118は、汎用演算部114により演算されたデジタル値をアナログ信号に変換し、変換した値を2線式伝送線またはフィールド・バス等へ出力する。出力部118から出力される値としては、例えば、流量信号Foutである。
通信部120は、通信プロトコルにより、多変数伝送器100と、設定装置200等の外部装置との間の通信処理を実行する。
また、フィールド機器1には、図1に示すように設定装置200が含まれてもよい。設定装置200は、多変数伝送器100と有線または無線で接続されていてもよく、有線と無線とを組み合わせて接続されていてもよい。また、設定装置200は、フィールド機器1とは離れた位置に設置されてもよい。設定装置200は、例えば、ノート型のパーソナルコンピュータ、或いはタブレット端末、スマートフォン等の携帯端末により実現される。
[設定装置200]
図2は、設定装置200の機能構成の一例を示す図である。設定装置200は、例えば、操作部210と、表示部220と、ドライブ装置230と、処理部240と、通信部250、記憶部260とを備える。操作部210は、例えば、キーボードやポインティングデバイス等の入力装置を備える。操作部210は、入力装置等により、設定装置200を使用するユーザからの操作に応じた指示を受け付け、受け付けた指示を処理部240に出力する。
表示部220は、例えば液晶表示装置等の表示装置を備える。表示部220は、処理部240により処理される前、処理中、処理された後において、表示可能な各種情報を画面に表示する。また、表示部220は、多変数伝送器100から取得したデータ等を画面に表示してもよい。操作部210および表示部220は、物理的に分離されたものでよく、表示機能と操作機能とを兼ね備えるタッチパネル式の液晶表示装置のように物理的に一体化されたものでもよい。
ドライブ装置230は、例えばCD-ROM又はDVD-ROM等のコンピュータ読み取り可能な記録媒体Mに記録されているデータの読み出しを行う。記録媒体Mは、設定装置200の各ブロックの機能を実現するプログラム(設定プログラム)を格納している。
記録媒体Mに格納されたプログラムがドライブ装置230によって読み込まれ、設定装置200にインストールされることにより、設定装置200の各ブロックの機能がソフトウェア的に実現される。つまり、これらの機能は、ソフトウェアとハードウェア資源とが協働することによって実現される。設定装置200の各ブロックの機能を実現するプログラムは、例えば、記録媒体Mに記録された状態で配布される。また、上述のプログラムは、インターネット等の外部のネットワークを介して配布されてもよい。
処理部240は、操作部210から入力される操作指示等に基づいて、設定装置200の各種動作を制御する。図3は、設定装置200における演算式の設定処理の一例を示すフローチャートである。処理部240は、例えば、演算式設定部(演算式設定手段)242と、コード変換部(コード変換手段)244と、通信処理部(通信処理手段)246とを備える。
図3の例において、演算式設定部242は、多変数伝送器100で取得可能な検出値等に対して、多変数伝送器100の汎用演算部114に所定の演算をさせるための演算式を設定する(ステップS100)。なお、演算式設定部242は、少なくとも1つの演算(タスク)に対応する演算式を設定する。設定された演算式は、設定情報262として記憶部260に格納される。
次に、コード変換部244は、演算式設定部242で設定された演算式を変数部分と関数部分とに分離する(ステップS102)。また、コード変換部244は、分離した変数部分に対応する変数コードと、関数部分に対応する関数コードとを設定する(ステップS104)。設定された各種コード情報は、設定情報262として記憶部260に格納される。
通信処理部246は、通信部250を制御して多変数伝送器100との間で通信を行う(ステップS106)。例えば、通信処理部246は、操作部210から設定情報262の送信指示が入力された場合には、記憶部260に格納された設定情報262を読み出し、通信部250により多変数伝送器100に送信させる。また、通信処理部246は、操作部210からデータ取得指示が入力された場合には、通信部250を介して多変数伝送器100からデータを取得する処理を行う。通信部250は、通信処理部246によって制御され、例えば、多変数伝送器100との間で通信を行う。
記憶部260は、例えば、HDDやSSD等の補助記憶装置を備える。記憶部260は、実施形態における各種データを格納する。具体的には、記憶部260は、設定情報262、変数コード変換表264、および関数コード変換表266を格納する。各データの詳細については、後述する。
[処理部240の具体的な処理内容]
次に、処理部240における具体的な処理内容について説明する。演算式設定部242は、表示部220に演算式を設定する設定画面を表示し、設定画面により受け付けられたユーザ指示に基づいて、演算式等を設定する。
図4は、演算式の設定画面の一例を示す図である。演算式設定部242は、操作部210により設定指示を受け付けた場合に、表示部220に図4に示すGUI(Graphical User Interface)画面(Calculator 1)300を表示させる。GUI画面300には、例えば、演算式表示領域302と、GUIボタン表示領域304と、キャンセルボタン306と、設定適用ボタン308とが示されている。
演算式表示領域302には、ユーザがGUIボタン等を用いて設定する演算式が表示される。また、演算式表示領域302には、すでに設定情報262として記憶部260に格納されている演算式が表示されてもよい。
GUIボタン表示領域304には、例えば、変数や関数のそれぞれに対応して割り当てられたGUIボタンが配列されている。GUIボタンに割り当てられる情報としては、例えば、少なくとも1つのセンサ部による計測値(例えば、差圧△P、静圧P、温度T)、ユーザ設定変数(例えば、x1~x8)、演算子や関数(例えば、四則演算、累乗)、実行する演算(タスク)の演算結果(図4の例では、y1)、他のタスクでの演算結果(例えば、y2~y4)、演算式表示領域302に記載された演算式のクリア(CL)、文字の消去(DEL)等である。ユーザは、GUIボタン表示領域304に配列されたGUIボタンの少なくとも1つを選択して演算式を設定する。演算式設定部242は、ユーザによるキャンセルボタン306の選択操作を受け付けた場合に、それまで設定していた演算式の内容を消去する。また、演算式設定部242は、設定適用ボタン308を選択することで、演算式表示領域302に表示さている演算式を、設定情報262として、記憶部260に格納させる。
また、演算式設定部242は、演算式を複数に分割して設定してもよい。図5は、他の演算式を設定する様子を説明するための図である。図5に示すGUI画面(Calculator 2)310には、例えば、演算式表示領域312と、GUIボタン表示領域314と、キャンセルボタン316と、設定適用ボタン318とが示されている。演算式表示領域312、GUIボタン表示領域314、キャンセルボタン316、および設定適用ボタン318は、上述した演算式表示領域302、GUIボタン表示領域304、キャンセルボタン306、および設定適用ボタン308に対応している。演算式設定部242は、複数の演算式を設定する場合に、各演算式に対応するGUI画面を表示する。図4に示すGUI画面300は、y1の演算式を設定する表示画面であり、図5に示すGUI画面310は、y2の演算式を設定する表示画面である。それぞれの演算式を設定するためのGUI画面は、デザインが統一させていることが好ましいが、これに限定されるものではない。ユーザは、それぞれのGUI画面300,310で演算式を設定する。設定されたそれぞれの演算式は、設定情報262として記憶部260に格納される。
また、演算式設定部242は、設定する演算式に、非公開変数または公開変数の少なくとも一方を設けることができる。非公開変数とは、他のタスクから参照できない変数である。公開変数とは、他のタスクから参照できる変数である。非公開変数は、例えば、ユーザが設定可能な変数x1~x8や変数コード、関数コード等である。また、公開変数は、例えば、各タスクの演算結果y1~y4等である。
なお、演算式設定部242は、上述したようにユーザに直接演算式を設定させる画面を表示部220に表示させるのではなく、例えば、プライマリエレメントや使用環境等の条件を設定させる画面を表示させてもよい。この場合、演算式設定部242は、ユーザが操作部210等を操作することで受け付けた条件に基づいて、演算式を自動的に生成または選択してもよい。これにより、ユーザは、演算式に関する知識がなくても、適切な演算式を設定することができる。
コード変換部244は、演算式設定部242により設定された演算式をフィールド機器1で演算可能な形式の文字情報(演算式に関する設定情報)に変換する。コード変換部244は、例えば、演算式設定部242により設定された演算式の演算部分を、逆ポーランド記法を用いた文字情報に変換する。逆ポーランド記法とは、演算子を非演算子の後に配置して数式を表記する方法である。以下では、m変数関数も演算子とみなし、逆ポーランド記法を適用する。
例えば、コード変換部244は、以下に示す(1)式のような演算式を設定する。
Figure 0007139576000001
(1)式は、上述した図4で設定された演算式である。コード変換部244は、逆ポーランド記法により(1)式の右辺の演算部分を「x1・x2・(MUL)・x3・(MUL)・x4・(P2)・(MUL)・△P・x5・(MUL)・x6・y2・(P4)・(SUB)・(DIV)・(SQRT)・(MUL)・END」と変換する。
また、コード変換部244は、逆ポーランド記法を数値と関数とに分離してエンコードする。エンコードには、予め記憶部260に記憶された変数コード変換表264と、関数コード変換表266とを用いる。
図6は、変数コード変換表264の一例を示す図である。図6の例では、上述したGUI画面300,310のGUIボタン表示領域304,314に表示されたGUIボタンに対応する変数(x1~x8、y1~y4)と、それぞれの変数を識別するためのコードとが割り当てられている。コードは、例えば、16進数により設定されるが、これに限定されるものではない。
また、図7は、関数コード変換表266の一例を示す図である。図7の例では、上述したGUI画面300,310のGUIボタン表示領域304,314に表示されたGUIボタンに対応する関数と、それぞれの関数を識別するためのコードとが割り当てられている。例えば、図7の例において、「ADD(A、B)」は、2変数(A、B)の和を示す関数である。「SUB(A、B)」は、2変数(A、B)の差を示す関数である。「MUL(A、B)」は、2変数(A、B)の積を示す関数である。「DIV(A,B)」は、2変数(A,B)の商を示す関数である。また、「POWER2(A)」は、1変数(A)の二乗を示す関数である。「POWER3(A)」は、1変数(A)の三乗を示す関数である。「POWER4(A)」は、1変数(A)の四乗を示す関数である。上述した逆ポーランド記法による変換式のうち、(P2)、(P4)は、「POWER2」、「POWER4」に対応する。「SQRT(A)」は、1変数の平方根を示す関数である。関数コード変換表266は、これらの関数を識別するためのコードが関数と対応付けて格納される。コードは、例えば、16進数により設定されるが、これに限定されるものではない。
コード変換部244は、逆ポーランド記法に変換した式を、変数部分と関数部分とに分離し、分離した変数部分を、変数コード変換表264に基づいて変数コードに変換する。また、コード変換部244は、分離した関数部分を、関数コード変換表266に基づいて関数コードに変換する。以下に、逆ポーランド記法による演算式に対応させた変数コードおよび関数コードのそれぞれに変換する例について、具体的に説明する。
図8は、逆ポーランド記法に対応付けた変数コードおよび関数コードの設定の様子を説明するための図である。図8の例では、上述した(1)式の逆ポーランド記法の数式(文字情報)が示されている。この数式では、合計18個のインデックスを備える。
[変数コードへの変換例]
コード変換部244は、例えば、図8に示す逆ポーランド記法に変換した式のうち、関数(例えば、ADD、SUB、MUL)が表記された要素である場合、コード変換部244は、「FF」で置換する。この場合、「FF」は、関数が入力された要素であることを示す。また、変数(例えば、x1、y1、△P等)が表記された要素である場合、コード変換部244は、変数コード変換表264に基づいて、対応する16進数の数値に置換する。また、終端記号(END)が表記された要素である場合、コード変換部244は、「FE」で置き換える。これにより、図8に示す変数コードが設定される。
[関数コードへの変換例]
また、コード変換部244は、例えば、図8に示す逆ポーランド記法の数式のうち、関数が表記された要素である場合、コード変換部244は、関数コード変換表266に基づいて、対応する16進数の数値に置換する。また、変数が表記された要素である場合、コード変換部244は、「FF」で置換する。この場合、「FF」は、変数が入力された要素であることを示す。また、終端記号が表記された要素である場合、コード変換部244は、「FE」で置き換える。これにより、図8に示す関数コードが設定される。
コード変換部244は、上述の処理により設定された演算式に対応する変数コードおよび関数コードを含む情報を、多変数伝送器100に出力する。多変数伝送器100の汎用演算部114は、設定装置により設定された演算式に対応する変数コードおよび関数コードに基づいて、汎用演算処理を実行する。
[汎用演算部114の処理内容]
次に、汎用演算部114の処理内容について具体的に説明する。汎用演算部114は、例えば、演算タスク群と、タスク専用データとを備える。演算タスク群とは、ユーザが設定(定義)した演算式を用いて動的に演算を実行する少なくとも1つのタスクを含む。各タスクは、各演算部(Calculator)に対応する。各タスクの処理は、例えば、全てのタスクで共通、且つ汎用的な電卓機能を備える。汎用演算部114は、複数のタスクが実行される場合に、各タスクに優先順位を設定してもよい。これにより、汎用演算部114は、優先順位の大きい順に演算式を実行する等、演算式を多段階に分割して演算を実行ことができる。タスク専用データとは、各演算タスクのデータ構造を定義したものである。データ構造には、非公開変数と、公開変数とが含まれる。
汎用演算部114は、例えば、四則演算、累乗、平方根、指数関数や三角関数等の初等関数、その他の関数等を用いた演算を実行する。これらの処理は、各タスクが共通に利用できる。図9は、本発明の一実施形態による汎用演算の様子を説明するための図である。図9の例では、4つのタスク(汎用演算タスク1~4)を示しているが、実施形態においては、これに限定されるものではなく、任意個数のタスクを実行することができる。
また、図9の例では、関数コード変換表266に合わせて2変数関数(ADD、SUB、MUL、DIV)と1変数関数(POWER2、POWER3、POWER4、SQRT)とを示している。汎用演算部114には、引数がm変数になる関数を定義してもよい。
ここで、設定装置200にある変数コード変換表264と、関数コード変換表266とは、記憶部116に記憶されてもよい。汎用演算部114は、記憶部116から読み出した変数コード変換表264と関数コード変換表266とに基づいて、どの関数に、どの変数を代入して演算を実行するかを決定する。
通信部120は、設定装置200で定義されたx1~x8のパラメータ値を汎用演算タスク1~4ごとにダウンロードする。具体的には、通信部120は、設定装置200により設定された各演算式に対応するユーザが設定した非公開変数である変数(x1~x8)、変数コード、および関数コードをダウンロードする。通信部120では、ダウンロードされたパラメータを、タスク専用データとして、図9に示すタスク専用データ構造を、記憶部116の不揮発メモリに書き込む。なお、汎用演算タスク1~4の演算結果であるy1~y4は、例えば、公開変数として設定される。
汎用演算部114は、演算式に含まれる変数が非公開変数である場合に、他のタスクからの参照を拒否する。また、汎用演算部114は、演算式に含まれる変数が公開変数である場合に、他のタスクからの参照を許可する。
次に、汎用演算部114による演算処理タスクの処理内容について説明する。図10は、演算処理タスクによる演算処理の一例を示すフローチャートである。汎用演算部114は、逆ポーランド記法で入力された演算式を用いて、計測値等の入力値に対する演算処理を行う。図10の例において、汎用演算部114は、インデックスnにゼロ(0)を代入し、初期化を行う(ステップS200)。
次に、汎用演算部114は、n番目の変数コードを取得し(ステップS202)、n番目の変数コードが終端に到達しているか(変数コードがENDであるか)否かを判定する(ステップS204)。変数コードが終端に到達していない場合、変数コードがFFであるか否かを判定する(ステップS206)。変数コードがFFである場合、汎用演算部114は、n番目の関数コードを取得し(ステップS208)、取得した関数コードに基づいて、関数コード変換表266から対応する関数を選択する(ステップS210)。
次に、汎用演算部114は、選択した関数の引数の数が1であるか否かを判定する(ステップS212)。選択した関数の引数の数が1である場合、汎用演算部114は、記憶部116に設けられたスタックから1変数を取得し(ステップS214)、取得した1変数関数で演算を行う(ステップS216)。また、選択した関数の引数の数が1でない場合、汎用演算部114は、スタックから2変数を取得し(ステップS218)、取得した2変数関数で演算を行う(ステップS220)。なお、図10の例では、説明の便宜上、関数の引数の数が1以外の場合の引数の数を2としているが、これに限定されるものではなく、引数の数が2であるか、3であるか等の3以上の引数の数も考慮した処理を行ってもよい。
また、上述したステップS206の処理において、変数コードがFFでなかった場合、汎用演算部114は、変数コード変換表264から該当する変数を取得し(ステップS222)、取得した変数をスタックに格納する(ステップS224)。ステップS216、ステップS220、またはステップS224の処理後、汎用演算部114は、演算結果をスタックに格納し(ステップS226)、インデックスnの値をインクリメント(n=n+1)して(ステップS228)、ステップS202の処理に戻る。
また、上述したステップS204の処理において、n番目の変数コードが終端である場合、本フローチャートの処理を終了する。
図11は、演算式の変数がスタックに格納される様子を説明するための図である。図11の例では、「(a+b)*(c+d)」の演算式を演算する様子を示している。また、図11の例では、スタックとして8個の記憶領域が設定されている。
汎用演算部114は、上述した演算式が逆ポーランド記法により「ab+cd+*」に変換された数式を、設定装置200により取得する。また、汎用演算部114は、取得した数式に対して、スタックを利用した演算を行う。例えば、汎用演算部114は、演算式の先頭(n=0)から1文字ずつ読出し、n番目の文字が変数(例えば、数値)である場合に、スタックに格納する。図11の例では、演算式に変数aおよびbが連続するため、汎用演算部114は、2つの変数aおよびbを個々のスタックに格納する。また、汎用演算部114は、演算式のn番目の文字が演算子の場合、スタックから2つの変数aおよびbを読み出し、読み出した変数aおよびbと演算子とに基づいて演算する。図11の例では、「+」の演算子が設定されているため、汎用演算部114は、変数aとbとを加算する演算を行う。また、汎用演算部114は、演算結果をスタックに格納する。また、汎用演算部114は、このような処理を数式の終端記号(END)が出るまで続けることで、演算結果を出力することができる。
なお、実施形態では、演算子に加えて累乗等の関数も適用できる。汎用演算部114は、逆ポーランド記法の拡張として、数値の後に、引数がm変数、戻り値が1変数の関数(以下、m変数関数)を記述する。また、汎用演算部114は、演算式のn番目の文字がm変数関数の場合、スタックからm変数を読み出し、読み出した変数を関数に代入して演算された結果をスタックに格納する。つまり、実施形態では、上述した四則演算の演算子を2変数関数として使用することで、汎用的な演算を実現することができる。
図12は、図4で設定した演算式に対する演算処理の様子を説明するための図である。図12の例では、上述した(1)式における演算の様子を示している。汎用演算部114は、例えば、(1)式に相当する演算式に関する設定情報として、図8に示す逆ポーランド記法の情報等を、先頭からインデックスnごとに読み取る。また、汎用演算部114は、インデックスnが0から17になるまで順に読み取るとともに、図12に示すようにスタックを用いて演算式を生成し、生成された演算式に基づいて演算を行う。そして、汎用演算部114は、最終的にスタックの最下段に格納された演算式による演算を実行して、その演算結果をy1に代入する。
また、図13は、図5で設定した演算式に対する演算処理の様子を説明するための図である。汎用演算部114は、図5に示すGUI画面310で設定された演算式y2=x1/x2に関する設定情報として、逆ポーランド記法の変換後の情報「x1・x2・(DIV)・END」等を、先頭からインデックスnごとに読み取る。また、汎用演算部114は、インデックスnが0から2になるまで順に読み取るとともに、図13に示すようにスタックを用いて演算式を生成し、生成された演算式に基づいて演算を行う。そして、汎用演算部114は、最終的にスタックの最下段に格納された演算式による演算を実行して、その演算結果をy2に代入する。
ここで、上述した(1)式に対応する変数において、x1=((√2)*π)/4、x2=C、x3=ε、x4=d、x5=ρ、x6=1.0の値を代入する。また、演算式y2=x1/x2における変数において、x1=d、x2=Dの値を代入する。上述したC、D、d、ε、ρは、説明の都合上、具体的な数値を記号で置き換えている。また、(1)式におけるx1~x6と、演算式y2=x1/x2におけるx1、x2は、それぞれ別タスクにおける非公開変数であるため、それぞれ別の値を代入できる。また、(1)式におけるy2は、公開変数であるため、演算式y2=x1/x2におけるy2と同じ変数である。したがって、2つのタスクにより以下の演算式が定義される。
Figure 0007139576000002
この演算式は、オリフィス流量計の流量演算式を示している。ただし、C、D、d、ε、ρは、それぞれ、流出係数、配管径、絞り径、気体膨脹補正係数、流体密度である。このように、実施形態のフィールド機器1は、設定装置200で設定されたオリフィス流量計の演算式に基づいて、ファームウェアで実装される電卓機能による演算を行うことができる。また、実施形態における演算式は、フィールド機器1に直接実装されるものではない。そのため、汎用演算部114は、上述した流量演算式に限らず、ユーザが設定する任意の演算式に基づいて、多種の演算を実現することができる。
[変形例]
上述した実施形態において、フィールド機器1は、上述した圧力伝送器に限定されるものではなく、例えば、温度センサ等のセンサ機器、流量制御弁や開閉弁等のバルブ機器、ファンやモータ等のアクチュエータ機器、プラント内の状況や対象物を撮影するカメラやビデオ等の撮像機器、プラント内の異音等を収集したり警報音等を発したりするマイクやスピーカ等の音響機器、各機器の位置情報を出力する位置検出機器、その他の機器であってもよい。
また、実施形態におけるフィールド機器1は、センサ等により検出された値を設定装置200に送信し、設定装置200の表示部220で表示させるようにしてもよい。
また、実施形態によれば、各タスクの演算結果のログを記憶してもよい。この場合、例えば、多変数伝送器100の記憶部116および設定装置200の記憶部260の少なくとも一方において、演算結果のログ情報を記憶する。これにより、多変数伝送器100および設定装置200の少なくとも一方において、ログ情報を用いて時系列解析を実行することができる。また、実施形態によれば、差圧から水位や密度を算出することができるため、フィールド機器1をレベル計や密度計等の様々な用途で使用することができる。
以上説明した実施形態におけるフィールド機器、設定装置、及び設定プログラムによれば、ユーザが任意に設定した演算式での演算を実現することができる。具体的には、実施形態によれば、例えば、設定装置により設定されたオリフィス流量計の演算式にしたがって、ファームウェアで演算することができる。
また、上述した実施形態における設定装置は、コンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
また、コンピュータはCPU、ROM、RAM、EEPROM(登録商標)等の各種メモリ、通信バス及びインタフェースを有し、予めファームウェアとしてROMに格納された処理プログラムをCPUが読み出して順次実行することで、設定装置200として機能してもよい。
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
1 フィールド機器
10 差圧センサ
20 静圧センサ
30 プロセス温度センサ
100 多変数伝送器
110 A/D変換部
112 差圧値・静圧値演算部
114 汎用演算部
116 記憶部
118 出力部
120 通信部
200 設定装置
210 操作部
220 表示部
230 ドライブ装置
240 処理部
242 演算式設定部
244 コード変換部
246 通信処理部
250 通信部
260 記憶部
262 設定情報
264 変数コード変換表
266 関数コード変換表

Claims (6)

  1. 物理量を検出することが可能な少なくとも1つのセンサ部による検出値を取得する取得部と、
    前記取得部で取得された前記検出値を用いた所定の演算を行うための演算式で規定されている変数及び関数を所定のコードに変換したコード情報を記憶する記憶部と、
    前記記憶部に記憶された前記コード情報を順次読み出し、読み出した前記コード情報に応じた演算を行う演算部と、
    前記演算部により演算された結果を出力する出力部と
    備え
    前記関数は、m(mは正の整数)変数を引数とし、1変数を戻り値とするm変数関数であり、
    前記コード情報は、前記変数及び前記m変数関数を逆ポーランド記法にしたものを所定のコードに変換したものであり、前記変数に係る変数コードと、前記m変数関数に係る関数コードとに分けられている、
    ィールド機器。
  2. 前記演算部は、前記コード情報を先頭から順次読み出し、読み出したコードが変数を示すものである場合には、前記変数を所定の記憶領域に格納し、前記読み出したコードが前記m変数関数を示すものである場合には、前記所定の記憶領域に格納された変数を読み出し、読み出した前記変数と前記m変数関数とに基づいて演算を行う、
    請求項1に記載のフィールド機器。
  3. 前記演算部は、複数のタスクの演算が可能であり、
    前記演算式に含まれる変数が非公開変数である場合には、他のタスクからの参照を拒否し、前記演算式に含まれる変数が公開変数である場合には、前記他のタスクからの参照を許可する、
    請求項1または2に記載のフィールド機器。
  4. フィールド機器で取得可能な検出値を用いた所定の演算を行うための演算式を設定する演算式設定部と、
    前記演算式設定部により設定された演算式で規定されている変数及び関数を所定のコードに変換するコード変換部と、
    前記コード変換部により得られたコード情報を、前記フィールド機器に送信する通信処理部と、
    を備え
    前記関数は、m(mは正の整数)変数を引数とし、1変数を戻り値とするm変数関数であり、
    前記コード変換部は、前記演算式設定部により設定された演算式を逆ポーランド記法に変換し、変換した式を変数部分と前記m変数関数の部分である関数部分とに分離し、分離した前記変数部分に関する変数コードと、前記関数部分とに関する関数コードとを設定する、
    定装置。
  5. 前記演算式設定部は、設定する演算式に、非公開変数または公開変数の少なくとも一方を設ける、
    請求項4記載の設定装置。
  6. コンピュータを、
    フィールド機器で取得可能な検出値を用いた所定の演算を行うための演算式を設定する演算式設定手段と、
    前記演算式設定手段により設定された演算式で規定されている変数及び関数を所定のコードに変換するコード変換手段と、
    前記コード変換手段により得られたコード情報を、前記フィールド機器に送信する通信処理手段と、
    して機能させ
    前記関数は、m(mは正の整数)変数を引数とし、1変数を戻り値とするm変数関数であり、
    前記コード情報は、前記変数及び前記m変数関数を逆ポーランド記法にしたものを所定のコードに変換したものであり、前記変数に係る変数コードと、前記m変数関数に係る関数コードとに分けられている、
    定プログラム。
JP2017114335A 2017-06-09 2017-06-09 フィールド機器、設定装置、および設定プログラム Active JP7139576B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017114335A JP7139576B2 (ja) 2017-06-09 2017-06-09 フィールド機器、設定装置、および設定プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017114335A JP7139576B2 (ja) 2017-06-09 2017-06-09 フィールド機器、設定装置、および設定プログラム

Publications (2)

Publication Number Publication Date
JP2018206301A JP2018206301A (ja) 2018-12-27
JP7139576B2 true JP7139576B2 (ja) 2022-09-21

Family

ID=64957225

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017114335A Active JP7139576B2 (ja) 2017-06-09 2017-06-09 フィールド機器、設定装置、および設定プログラム

Country Status (1)

Country Link
JP (1) JP7139576B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7358813B2 (ja) * 2019-07-19 2023-10-11 横河電機株式会社 フィールド機器システム、測定値変換方法、端末装置、及び端末プログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004020524A (ja) 2002-06-20 2004-01-22 Yamatake Corp 差圧発信器
JP2004334732A (ja) 2003-05-12 2004-11-25 Yokogawa Electric Corp 測定装置
JP2007193544A (ja) 2006-01-19 2007-08-02 Yokogawa Electric Corp データ連携システム
JP2012032855A (ja) 2010-07-28 2012-02-16 Yokogawa Electric Corp フィールド機器
JP2012168598A (ja) 2011-02-10 2012-09-06 Mitsubishi Electric Corp ソフトウェア部品管理装置およびソフトウェア部品管理プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0736835A (ja) * 1993-07-15 1995-02-07 Sharp Corp 電子計算機
JPH0822334A (ja) * 1994-07-11 1996-01-23 Kubota Corp バルブ制御用コントローラにおける制御方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004020524A (ja) 2002-06-20 2004-01-22 Yamatake Corp 差圧発信器
JP2004334732A (ja) 2003-05-12 2004-11-25 Yokogawa Electric Corp 測定装置
JP2007193544A (ja) 2006-01-19 2007-08-02 Yokogawa Electric Corp データ連携システム
JP2012032855A (ja) 2010-07-28 2012-02-16 Yokogawa Electric Corp フィールド機器
JP2012168598A (ja) 2011-02-10 2012-09-06 Mitsubishi Electric Corp ソフトウェア部品管理装置およびソフトウェア部品管理プログラム

Also Published As

Publication number Publication date
JP2018206301A (ja) 2018-12-27

Similar Documents

Publication Publication Date Title
CN102369416B (zh) 现场设备配置系统
KR101076902B1 (ko) 시스템 오디오 설정을 관리하는 방법
US11585688B2 (en) Human machine interface for a remote terminal unit
JP6473831B2 (ja) グラフィックユーザーインターフェースのプロトタイプ製作方法及びその装置
JP2019020885A (ja) プラント制御支援装置、プラント制御支援方法、プラント制御支援プログラム及び記録媒体
JP7139576B2 (ja) フィールド機器、設定装置、および設定プログラム
EP3208676A2 (en) Input/output (i/o) binding with automatic international electromechanical commission (iec) address generation in remote terminal unit (rtu) configuration
JPWO2015141218A1 (ja) 情報処理装置、解析方法、及び、プログラム記録媒体
EP3547050A1 (en) Device management apparatus, device management method, device management program, storage medium, and device management system
US8175754B2 (en) Configuration of a multivariable process fluid flow device
JP2008039733A (ja) パラメータ設定装置
JP6172159B2 (ja) プログラム設定装置、及び、プログラム設定方法
JP4904978B2 (ja) パラメータ設定装置
JP7014595B2 (ja) 監視装置、監視方法、及び、監視プログラム
JP6708240B2 (ja) 機器保全装置、機器保全システム、機器保全方法、機器保全プログラム及び記録媒体
JP6809216B2 (ja) 流量測定装置、設定装置、及び設定プログラム
KR101745287B1 (ko) 웹 기반 hmi의 이미지 편집 장치 및 그 방법
JP2008293103A (ja) 分散配置装置及び仮想装置の配置方法
JP2017126296A (ja) 機器監視システム、機器監視方法、及び、機器監視プログラム
JP2018041368A (ja) 並列処理装置、並列処理装置の制御方法、及び並列処理装置に用いられる制御装置
KR102226341B1 (ko) 질량 유량계 컨트롤러
JP6782119B2 (ja) 機器状態表示装置
JP5823083B1 (ja) プログラマブルコントローラ、プログラマブルコントローラシステム、エンジニアリングツールおよび表示器
CN115509630B (zh) 控件处理方法、装置、电子设备及介质
EP2908244A1 (en) Signal processing arrangement

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210518

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210705

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211026

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220322

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220510

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220809

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220822

R150 Certificate of patent or registration of utility model

Ref document number: 7139576

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150