(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024120468
(43)【公開日】2024-09-05
(54)【発明の名称】情報処理装置、情報処理方法、情報処理プログラム及びプロセス制御システム
(51)【国際特許分類】
G05B 19/042 20060101AFI20240829BHJP
【FI】
G05B19/042
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023027284
(22)【出願日】2023-02-24
(71)【出願人】
【識別番号】000006507
【氏名又は名称】横河電機株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】伊藤 孝優
(72)【発明者】
【氏名】齋藤 寛之
(72)【発明者】
【氏名】水島 冬樹
【テーマコード(参考)】
5H220
【Fターム(参考)】
5H220AA01
5H220BB03
5H220CC06
5H220CX04
5H220JJ12
5H220JJ26
5H220JJ59
(57)【要約】
【課題】データ交換処理の効率を向上させること。
【解決手段】実施形態のプロトコルコンバータ20は、キャッシュメモリ21、インタフェースメモリ22及び転送部23を有する。キャッシュメモリ21は、第1のグループに含まれる1つ以上のプロセス値と、第1のグループに含まれない複数のプロセス値と、を含む、フィールド機器10によって更新される複数のプロセス値を記憶する。インタフェースメモリ22は、複数のプロセス値のそれぞれに対応する複数の制御データ値を記憶する。転送部23は、周期ごとに、複数の制御データ値のうち、第1のグループのプロセス値に対応する制御データ値とともに、第1のグループに含まれないプロセス値に対応する制御データ値であって、前回の周期において更新されなかった制御データ値を更新する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
第1のグループに含まれる1つ以上のプロセス値と、前記第1のグループに含まれない複数のプロセス値と、を含む、フィールド機器によって更新される複数のプロセス値を記憶する第1の記憶領域と、
前記複数のプロセス値のそれぞれに対応する複数の制御データ値を記憶する第2の記憶領域と、
周期ごとに、前記複数の制御データ値のうち、前記第1のグループのプロセス値に対応する制御データ値とともに、前記第1のグループに含まれないプロセス値に対応する制御データ値であって、前回の周期において更新されなかった制御データ値を更新する更新部と、
を有することを特徴とする情報処理装置。
【請求項2】
前記第1の記憶領域は、第1のグループに含まれる1つ以上のプロセス値であって、前記第1のグループに含まれない複数のプロセス値よりも高い頻度で更新されるプロセス値を記憶することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記更新部は、前記第1の記憶領域に記憶された前記プロセス値の通信プロトコルを変換した値を、前記制御データ値として前記第2の記憶領域に格納することを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記更新部は、周期ごとに、前記複数の制御データ値のうち、前記第1のグループに含まれないプロセス値に対応する制御データ値であって、更新した制御データ値を識別する情報を第3の記憶領域に格納し、前記複数の制御データ値のうち、前記第1のグループのプロセス値に対応する制御データ値とともに、前記第3の記憶領域に記憶された情報を基に識別される制御データ値の次の順番が指定された制御データ値を更新することを特徴とする請求項1に記載の情報処理装置。
【請求項5】
第1のグループに含まれる1つ以上のプロセス値と、前記第1のグループに含まれない複数のプロセス値と、を含む、フィールド機器によって更新される複数のプロセス値を記憶する第1の記憶領域と、
前記複数のプロセス値のそれぞれに対応する複数の制御データ値を記憶する第2の記憶領域と、
を有するコンピュータが、
周期ごとに、前記複数の制御データ値のうち、前記第1のグループのプロセス値に対応する制御データ値とともに、前記第1のグループに含まれないプロセス値に対応する制御データ値であって、前回の周期において更新されなかった制御データ値を更新する
処理を実行することを特徴とする情報処理方法。
【請求項6】
第1のグループに含まれる1つ以上のプロセス値と、前記第1のグループに含まれない複数のプロセス値と、を含む、フィールド機器によって更新される複数のプロセス値を記憶する第1の記憶領域と、
前記複数のプロセス値のそれぞれに対応する複数の制御データ値を記憶する第2の記憶領域と、
を有するコンピュータに、
周期ごとに、前記複数の制御データ値のうち、前記第1のグループのプロセス値に対応する制御データ値とともに、前記第1のグループに含まれないプロセス値に対応する制御データ値であって、前回の周期において更新されなかった制御データ値を更新する
処理を実行させることを特徴とする情報処理プログラム。
【請求項7】
プロセスコンバータと、プラントに備えられ、前記プロセスコンバータと接続された複数のフィールド機器と、前記プロセスコンバータと接続された制御コントローラと、を有するプロセス制御システムであって、
前記プロセスコンバータは、
第1のグループに含まれる1つ以上のプロセス値と、前記第1のグループに含まれない複数のプロセス値と、を含む、前記複数のフィールド機器によって更新される複数のプロセス値を記憶する第1の記憶領域と、
前記複数のプロセス値のそれぞれに対応する複数の制御データ値を記憶する第2の記憶領域と、
周期ごとに、前記複数の制御データ値のうち、前記第1のグループのプロセス値に対応する制御データ値とともに、前記第1のグループに含まれないプロセス値に対応する制御データ値であって、前回の周期において更新されなかった制御データ値を更新する更新部と、
を有し、
前記制御コントローラは、前記第2の記憶領域から取得した前記制御データ値を用いて演算を行うことを特徴とするプロセス制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、情報処理プログラム及びプロセス制御システムに関する。
【背景技術】
【0002】
プラントに備えられたフィールド機器から収集したセンサ値等のプロセスデータを基に、プラントの監視及び管理等を行うプロセス制御システムが知られている。例えば、フィールド機器は、温度センサ、気圧センサ、ガス濃度センサ、バルブの開度を検知する機器、スイッチの状態(オン又はオフ)を検知する機器等である。
【0003】
また、フィールド機器から出力されたプロセスデータは、プロセス値としてプロトコルコンバータに記憶される。フィールド機器は、データを出力することで、プロトコルコンバータに記憶されたプロセス値を更新する。
【0004】
また、プロトコルコンバータは、プロセス値を変換して得られた制御データ値を記憶領域に格納する。このようなプロトコルコンバータによる処理を、データ交換処理と呼ぶ。制御コントローラは、データ交換処理によって得られたデータを制御演算データとして取得し、取得した制御演算データを用いた演算を行い、プラントの監視及び管理等に必要な情報を得る。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来のプロトコルコンバータには、データ交換処理を効率良く行えない場合があるという問題がある。
【0007】
近年、産業用イーサネット(登録商標)の普及に伴い、フィールド機器によるプロセス値の更新周期の短縮化(更新処理の高速化)が進んでいる。また、多種多様なデータの収集のために様々なフィールド機器がプロセス制御システムに接続されるようになり、プロセス値の更新周期が互いに大きく異なるフィールド機器が同一のフィールドネットワーク上に接続されるケースが増加している。なお、フィールドネットワークは、フィールド機器とプロトコルコンバータを含む通信ネットワークである。
【0008】
プロトコルコンバータに接続されるフィールド機器の数が増加するほど、プロトコルコンバータによるデータ交換処理の対象のプロセス値の数は増加する。また、プロトコルコンバータによるデータ交換処理のパフォーマンスは、対象のプロセス値の数が増加するほど低下する。さらに、プロトコルコンバータのパフォーマンスが低下すると、データ交換処理に遅延が発生しやすくなる。
【0009】
従来のプロトコルコンバータでは、プロセス値の更新周期が短いフィールド機器から取得したプロセス値を基にしたデータ交換処理のパフォーマンスを維持するためには、フィールド機器の接続台数を制限する必要がある。
【0010】
このように、従来のプロトコルコンバータを、プロセス値の更新周期が短いフィールド機器を含む多数のフィールド機器が接続された状態で、効率良く動作させることは難しい。
【0011】
一つの側面では、データ交換処理を効率良く行うことを目的とする。
【課題を解決するための手段】
【0012】
一側面にかかる情報処理装置は、第1のグループに含まれる1つ以上のプロセス値と、前記第1のグループに含まれない複数のプロセス値と、を含む、フィールド機器によって更新される複数のプロセス値を記憶する第1の記憶領域と、前記複数のプロセス値のそれぞれに対応する複数の制御データ値を記憶する第2の記憶領域と、周期ごとに、前記複数の制御データ値のうち、前記第1のグループのプロセス値に対応する制御データ値とともに、前記第1のグループに含まれないプロセス値に対応する制御データ値であって、前回の周期において更新されなかった制御データ値を更新する更新部と、を有することを特徴とする。
【0013】
一側面にかかる情報処理方法は、第1のグループに含まれる1つ以上のプロセス値と、前記第1のグループに含まれない複数のプロセス値と、を含む、フィールド機器によって更新される複数のプロセス値を記憶する第1の記憶領域と、前記複数のプロセス値のそれぞれに対応する複数の制御データ値を記憶する第2の記憶領域と、を有するコンピュータが、周期ごとに、前記複数の制御データ値のうち、前記第1のグループのプロセス値に対応する制御データ値とともに、前記第1のグループに含まれないプロセス値に対応する制御データ値であって、前回の周期において更新されなかった制御データ値を更新する処理を実行することを特徴とする。
【0014】
一側面にかかる情報処理プログラムは、第1のグループに含まれる1つ以上のプロセス値と、前記第1のグループに含まれない複数のプロセス値と、を含む、フィールド機器によって更新される複数のプロセス値を記憶する第1の記憶領域と、前記複数のプロセス値のそれぞれに対応する複数の制御データ値を記憶する第2の記憶領域と、を有するコンピュータに、周期ごとに、前記複数の制御データ値のうち、前記第1のグループのプロセス値に対応する制御データ値とともに、前記第1のグループに含まれないプロセス値に対応する制御データ値であって、前回の周期において更新されなかった制御データ値を更新する処理を実行させることを特徴とする。
【0015】
一側面にかかるプロセス制御システムは、プロセスコンバータと、プラントに備えられ、前記プロセスコンバータと接続された複数のフィールド機器と、前記プロセスコンバータと接続された制御コントローラと、を有するプロセス制御システムであって、前記プロセスコンバータは、第1のグループに含まれる1つ以上のプロセス値と、前記第1のグループに含まれない複数のプロセス値と、を含む、前記複数のフィールド機器によって更新される複数のプロセス値を記憶する第1の記憶領域と、前記複数のプロセス値のそれぞれに対応する複数の制御データ値を記憶する第2の記憶領域と、周期ごとに、前記複数の制御データ値のうち、前記第1のグループのプロセス値に対応する制御データ値とともに、前記第1のグループに含まれないプロセス値に対応する制御データ値であって、前回の周期において更新されなかった制御データ値を更新する更新部と、を有し、前記制御コントローラは、前記第2の記憶領域から取得した前記制御データ値を用いて演算を行うことを特徴とする。
【発明の効果】
【0016】
一実施形態によれば、データ交換処理を効率良く行うことができる。
【図面の簡単な説明】
【0017】
【
図1】第1の実施形態に係るプロセス制御システムの構成例を示す図である。
【
図8】プロトコルコンバータの処理の流れを示すフローチャートである。
【
図9】基本データ更新処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0018】
以下に、本願の開示する情報処理装置、情報処理方法、情報処理プログラム及びプロセス制御システムの実施形態を図面に基づいて詳細に説明する。なお、ここで説明する実施形態により本願の発明が限定されるものではない。また、同一の要素には同一の符号を付し、重複する説明は適宜省略する。また、各実施形態は、矛盾のない範囲内で適宜組み合わせることができる。また、プロトコルコンバータは、情報処理装置の一例である。
【0019】
図1を用いて、第1の実施形態のプロセス制御システムの構成を説明する。
図1は、第1の実施形態に係るプロセス制御システムの構成例を示す図である。
【0020】
図1に示すように、プロセス制御システム1は、フィールド機器10、プロトコルコンバータ20、制御コントローラ30、操作監視端末40及び機器管理装置50を有する。
【0021】
フィールド機器10は、プラントに備えられる。フィールド機器10の数は、
図1に示すものに限られない。
【0022】
プラントは、例えば石油プラント、石油化学プラント、化学プラント、又はガスプラントである。プラントが稼働することで、LNG(液化天然ガス)、樹脂(プラスチック、ナイロン等)、化学製品といった生成物が得られる。
【0023】
また、プラントは、工場施設、機械施設、生産施設、発電施設、貯蔵施設、石油、天然ガス等を採掘する井戸元における施設等を有する。また、プラント内には、生成物を生成するための設備機器が備えられる。
【0024】
フィールド機器10は、プラントの状態に関する情報を取得する。例えば、フィールド機器10は、温度センサ、pHセンサ、速度センサ、加速度センサ、気圧センサ、ガス濃度センサ、バルブの開度を検知する機器、スイッチの状態(オン又はオフ)を検知する機器等である。
【0025】
フィールド機器10は、センサ値又は検知結果を、あらかめ決められた通信プロトコルにより、プロセスデータとしてプロトコルコンバータ20に送信する。例えば、フィールド機器10は、プロトコルコンバータ20とRJ45等のコネクタを備えた同軸ケーブル及び光ファイバで接続される。そして、フィールド機器10は、4-20mAのアナログ信号によりプロトコルコンバータ20にプロセスデータを送信する。
【0026】
プロトコルコンバータ20は、フィールド機器10から受信したプロセスデータをプロセス値として記憶する。プロトコルコンバータ20に記憶されたプロセス値は、プロトコルコンバータ20がフィールド機器10からプロセスデータを受信するたびに更新される。
【0027】
プロトコルコンバータ20はデータ交換処理を行う。すなわち、プロトコルコンバータ20は、プロトコル変換により、プロセス値を制御データ値に変換する。例えば、フィールド機器10とプロトコルコンバータ20との間の通信プロトコルが4-20mAのアナログ信号である場合、プロセス値は4-20mAのアナログ信号を示す値である。プロトコルコンバータ20は、プロセス値をイーサネットプロトコルのデジタル信号を示す値に変換する。なお、変換先の通信プロトコルは、プロトコルコンバータ20と制御コントローラ30との間の通信プロトコルに応じて決められる。
【0028】
プロトコルコンバータ20は、データ交換処理によって得られた制御データ値を、あらかじめ決められた通信プロトコル(例えば、イーサネットプロトコル)により、制御コントローラ30に送信する。
【0029】
制御コントローラ30は、受信した制御データ値を、操作監視端末40又は機器管理装置50で利用可能な形式に変換するための演算を行う。制御コントローラ30は、演算によって得られたデータを操作監視端末40又は機器管理装置50に送信する。
【0030】
例えば、フィールド機器10とプロトコルコンバータ20との間の通信プロトコルが4-20mAのアナログ信号であり、プロセス値が12mAであった場合を考える。このとき、プロセス値は、フィールド機器10によって取得された0℃から100℃までの温度を表すものとする。一例として、制御コントローラ30は、(100℃-0℃)×(12mA/(4mA+20mA))=50℃という演算を行う。そして、制御コントローラ30は、操作監視端末40又は機器管理装置50に、温度が50℃であったことを通知する。
【0031】
なお、操作監視端末40は、プラントの設備機器の状態を監視するための端末である。機器管理装置50は、フィールド機器10を含む各機器の操作を行うための装置である。
【0032】
[データ交換処理]
ここで、プロトコルコンバータ20によるデータ交換処理、及び関連する処置について説明する。
【0033】
まず、
図2に示すように、フィールド機器10は、それぞれに定められた周期でプロトコルコンバータ20にプロセスデータを送信することにより、プロトコルコンバータ20に記憶されたプロセス値を更新する。
図2は、データ交換処理を説明する図である。
【0034】
データA1、データB1、データC1、データD1、データE1及びデータF1はいずれもプロセスデータであり、それぞれ異なるフィールド機器10によって送信される。なお、1つのフィールド機器10が複数のプロセスデータを送信してもよい。
【0035】
ここで、データA1及びデータB1の送信速度は、データD1、データE1及びデータF1に比べて高速である。なお、送信速度が高速であることは、プロセスデータを送信する頻度が高いこと、すなわちプロセスデータが送信される周期が短いことを意味する。
【0036】
例えば、データA1及びデータB1が送信される周期は、1msから10ms程度である。また、例えば、データD1、データE1、データF1が送信される周期は、100ms以上である。
【0037】
ここで、
図1に示すように、プロトコルコンバータ20は、キャッシュメモリ21、インタフェースメモリ22及び転送部23を有する。
【0038】
キャッシュメモリ21及びインタフェースメモリ22は、揮発性又は不揮発性の記憶装置により実現される。キャッシュメモリ21及びインタフェースメモリ22は、互いに物理的に異なる記憶装置の記憶領域であってもよい。また、キャッシュメモリ21及びインタフェースメモリ22は、記憶装置の中に設けられた論理的な記憶領域であってもよい。キャッシュメモリ21は、第1の記憶領域の一例である。また、インタフェースメモリ22は、第2の記憶領域の一例である。また、記憶領域は、記憶部及び記憶装置等に言い換えられてもよい。
【0039】
転送部23は、CPU(Central Processing Unit)等の演算装置により実現される。転送部23は、更新部の一例である。
【0040】
キャッシュメモリ21は、高速データグループに含まれる1つ以上のプロセス値と、高速データグループに含まれない複数のプロセス値と、を含む、フィールド機器10によって更新される複数のプロセス値を記憶する。
【0041】
図2に示すように、キャッシュメモリ21は、データA2、データB2、データC2、データD2、データE2及びデータF2を記憶する。データA2、データB2、データC2、データD2、データE2及びデータF2は、それぞれフィールド機器10によって送信されたデータA1、データB1、データC1、データD1、データE1及びデータF1によって更新(上書き)される。
【0042】
また、前述の通り、データA1及びデータB1は送信される周期が短い。ここでは、データA1及びデータB1に対応するプロセス値であるデータA2及びデータB2は、高速データグループに含まれるものとする。すなわち、キャッシュメモリ21は、高速データグループに含まれる1つ以上のプロセス値であって、高速データグループに含まれない(基本データグループに含まれる)複数のプロセス値よりも高い頻度で更新されるプロセス値を記憶する。高速データグループは、第1のグループの一例である。
【0043】
データC2、データD2、データE2及びデータF2は、高速データグループに含まれない。データC2、データD2、データE2及びデータF2は、基本データグループに含まれる。
【0044】
転送部23は、周期ごとにデータ交換処理を行う。転送部23がデータ交換処理を行う周期は、例えば10msから20ms程度である。この場合、転送部23がデータ交換処理を行う周期は、高速データグループのプロセス値が更新される周期より長く、低速データグループのプロセス値が更新される周期より短い。
【0045】
インタフェースメモリ22は、複数のプロセス値のそれぞれに対応する複数の制御データ値を記憶する。
図2に示すように、インタフェースメモリ22は、制御データ値であるデータA3、データB3、データC3、データD3、データE3及びデータF3を記憶する。データA3、データB3、データC3、データD3、データE3及びデータF3は、それぞれプロセス値であるデータA2、データB2、データC2、データD2、データE2及びデータF2に対応する。
【0046】
データ交換処理において、転送部23は、周期ごとに、複数の制御データ値のうち、高速データグループのプロセス値に対応する制御データ値とともに、高速データグループに含まれないプロセス値に対応する制御データ値であって、前回の周期において更新されなかった制御データ値を更新する。高速データグループに含まれないプロセス値は、基本データグループに含まれるプロセス値である。
【0047】
また、データ交換処理において、転送部23は、キャッシュメモリ21に記憶されたプロセス値の通信プロトコルを変換した値を、制御データ値としてインタフェースメモリ22に格納(更新)する。
【0048】
例えば、転送部23は、第k周期(kは整数)において、高速データグループのプロセス値とともに、基本データグループのプロセス値の一部を対象にデータ交換処理を行う。そして、転送部23は、第k+1周期において、高速データグループのプロセス値とともに、第k周期に対象ではなかった基本データグループのプロセス値の一部に対してデータ交換処理を行う。
【0049】
図3及び
図4は、第k周期におけるデータ交換処理を説明する図である。
図3に示すように、転送部23は、第k周期において、高速データグループに含まれるプロセス値であるデータA2及びデータB2に対してデータ交換処理を行い、データA3及びデータB3を更新する。「*」は、高速データグループのプロセス値及び当該プロセス値に対応する制御データ値であることを示す。
【0050】
さらに、転送部23は、第k周期において、基本データグループに含まれるプロセス値の一部であるデータC2及びデータD2に対してデータ交換処理を行い、データC3及びデータD3を更新する。
【0051】
ここで、
図5に示すように、制御コントローラ30は、IOスキャンを実行する。
図5は、IOスキャンを説明する図である。
図5に示すように、IOスキャンは、制御コントローラ30が、インタフェースメモリ22に記憶された制御データ値を読み込む処理である。制御コントローラ30は、IOスキャンにおいて、データA3、データB3、データC3、データD3、データE3及びデータF3を、制御演算データA4、制御演算データB4、制御演算データC4、制御演算データD4、制御演算データE4及び制御演算データF4として取得する。
【0052】
制御コントローラ30は、フィールド機器10によるプロセス値の更新、及びプロトコルコンバータ20によるデータ交換処理のいずれとも非同期でIOスキャンを行うことができる。
【0053】
例えば、制御コントローラ30は、データ交換処理よりも長い周期でIOスキャンを行う。言い換えると、転送部23は、IOスキャンの周期よりも短い周期でデータ交換処理を行う。
【0054】
図6及び
図7は、第k+1周期におけるデータ交換処理を説明する図である。
図6に示すように、転送部23は、第k+1周期において、高速データグループに含まれるプロセス値であるデータA2及びデータB2に対してデータ交換処理を行い、データA3及びデータB3を更新する。
【0055】
さらに、転送部23は、第k+1周期において、基本データグループに含まれるプロセス値の一部であるデータE2及びデータF2に対してデータ交換処理を行い、データE3及びデータF3を更新する。
【0056】
このように、転送部23は、更新頻度が高い高速データグループのプロセス値に対しては、データ交換処理を毎周期行い、更新頻度が低い基本データグループのプロセス値に対しては、1周期おき又はそれ以下の頻度でデータ交換処理を行う。
【0057】
図8を用いて、プロトコルコンバータ20の処理の流れを説明する。
図8は、プロトコルコンバータの処理の流れを示すフローチャートである。
【0058】
まず、
図8に示すように、プロトコルコンバータ20は、高速データ転送処理対象の全領域を更新する(ステップS11)。つまり、プロトコルコンバータ20は、高速データグループのプロセス値であるデータA2及びデータB2に対してデータ交換処理を行う。また、
図8及び
図9における更新は、データ交換処理によるデータ制御値の更新を意味する。
【0059】
次に、プロトコルコンバータ20は、基本データ更新の前回終了領域を取得する(ステップS12)。前回終了領域は、1つの前の周期でデータ交換対象となった基本データグループのプロセス値を識別する情報である。
【0060】
続いて、プロトコルコンバータ20は、基本データ更新、すなわち基本データグループのプロセス値に対するデータ交換処理を行う(ステップS13)。ステップS13の詳細については後に説明する。
【0061】
そして、プロトコルコンバータ20は、基本データ更新の終了領域を保存する(ステップS14)。
【0062】
プロトコルコンバータ20は、周期ごとにステップS11からステップS14までの処理を実行する。ステップS14で保存された終了領域は、次の周期のステップS12で取得される。
【0063】
なお、終了領域が記憶される領域(第3の記憶領域の一例)は、プロトコルコンバータ20に備えられた記憶装置の記憶領域であればよく、キャッシュメモリ21及びインタフェースメモリ22と同じであってもよいし、異なっていてもよい。
【0064】
ここで説明したように、プロトコルコンバータ20(転送部23)は、周期ごとに、基本データ更新の終了領域を記憶領域に格納する。基本データ更新の終了領域は、複数の制御データ値のうち、高速データグループに含まれないプロセス値に対応する制御データ値であって、更新した制御データ値を識別する情報の一例である。
【0065】
また、プロトコルコンバータ20(転送部23)は、周期ごとに、複数の制御データ値のうち、高速データグループのプロセス値に対応する制御データ値とともに、前回終了領域を基に識別される制御データ値の次の順番が指定された制御データ値を更新する。
【0066】
基本データグループのプロセス値に対応する制御データ値には、データC3、データD3、データE3、データF3の順で順番が指定されているものとする。また、データF3の次の順番は最初に戻る。つまり、データF3の次の順番の制御データ値は、データC3である。
【0067】
この場合、プロトコルコンバータ20は、前回終了領域を基に識別される制御データ値の次の順番である制御データ値を更新する。例えば、前回終了領域を基に識別される制御データ値がデータD3である場合、プロトコルコンバータ20は、データE3を更新する。
【0068】
図9は、基本データ更新処理(
図8のステップS13)の流れを示すフローチャートである。
図9に示すように、プロトコルコンバータ20は、次の領域、すなわち前回終了領域を基に識別される制御データ値の次の順番が指定された制御データ値を更新する(ステップS131)。
【0069】
ここで、プロトコルコンバータ20は、さらに次の領域の更新が可能であるか否かを判定する(ステップS132)。例えば、ステップS131でデータE3が更新された場合、プロトコルコンバータ20は、データF3を更新可能であるか否かを判定する。
【0070】
次の領域の更新が可能である場合(ステップS132、Yes)、プロトコルコンバータ20はステップS131に戻り処理を繰り返す。一方、次の領域の更新が可能でない場合(ステップS132、No)、プロトコルコンバータ20は処理を終了する。
【0071】
ステップS132におけるプロトコルコンバータ20による判定(ステップS132)の手順について説明する。まず、プロトコルコンバータ20は、制御コントローラ30によりIOスキャンの周期T0を取得済みであるものとする。
【0072】
ここで、プロトコルコンバータ20は、現在の周期において、
図8のステップS11、S12及び
図9のステップS131までに要した時間T1を取得する。このとき、ステップS131は繰り返しにより複数回行われている場合がある。時間T1には、1回又は複数回のステップS131の実行に要した時間が含まれる。
【0073】
また、プロトコルコンバータ20は、さらにステップS131を実行した場合に要する時間T2を取得する。プロトコルコンバータ20は、過去の実績を基に時間T2を推定してもよいし、あらかじめT2として定められた固定値を取得してもよい。
【0074】
T1+T2<T0である場合、プロトコルコンバータ20は、次の領域の更新が可能(ステップS132、Yes)と判定する。一方、T1+T2≧T0である場合、プロトコルコンバータ20は、次の領域の更新が可能でない(ステップS132、No)と判定する。これにより、プロトコルコンバータ20は、IOスキャンの周期内で1周期分のデータ交換処理を完了させることができる。
【0075】
[効果]
これまで説明してきたように、実施形態のプロトコルコンバータ20(情報処理装置)は、キャッシュメモリ21、インタフェースメモリ22及び転送部23を有する。キャッシュメモリ21は、第1のグループに含まれる1つ以上のプロセス値と、第1のグループに含まれない複数のプロセス値と、を含む、フィールド機器10によって更新される複数のプロセス値を記憶する。インタフェースメモリ22は、複数のプロセス値のそれぞれに対応する複数の制御データ値を記憶する。転送部23は、周期ごとに、複数の制御データ値のうち、第1のグループのプロセス値に対応する制御データ値とともに、第1のグループに含まれないプロセス値に対応する制御データ値であって、前回の周期において更新されなかった制御データ値を更新する。
【0076】
このように、複数のプロセス値は、毎周期データ交換処理の対象になるものと、1周期おき又はそれ以下の頻度でデータ交換処理の対象になるものとに分けられる。これにより、プロトコルコンバータ20は、更新周期の短いフィールド機器のデータ交換処理における制御性及び応答性を向上しつつ、接続可能なフィールド機器の台数を増やすことができる。その結果、データ交換処理の効率が向上する。
【0077】
キャッシュメモリ21は、第1のグループに含まれる1つ以上のプロセス値であって、第1のグループに含まれない複数のプロセス値よりも高い頻度で更新されるプロセス値を記憶する。これにより、プロトコルコンバータ20は、プロセス値ごとの更新周期に適した頻度でデータ交換処理を行うことができる。
【0078】
転送部23は、キャッシュメモリ21に記憶されたプロセス値の通信プロトコルを変換した値を、制御データ値としてインタフェースメモリ22に格納する。これにより、プロトコルコンバータ20は、制御コントローラ30にプロセスデータを転送することができる。
【0079】
転送部23は、周期ごとに、複数の制御データ値のうち、第1のグループに含まれないプロセス値に対応する制御データ値であって、更新した制御データ値を識別する情報を第3の記憶領域に格納し、複数の制御データ値のうち、第1のグループのプロセス値に対応する制御データ値とともに、第3の記憶領域に記憶された情報を基に識別される制御データ値の次の順番が指定された制御データ値を更新する。このように、プロトコルコンバータ20は、周期ごとに更新した制御データ値を記憶しておくことで、データ交換処理を無駄なく行うことができる。
【0080】
[システム]
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0081】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、プロトコルコンバータ20は、制御コントローラ30の機能を内包していてもよい。
【0082】
さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0083】
[ハードウェア]
次に、プロトコルコンバータ20のハードウェア構成例を説明する。
図10は、ハードウェア構成例を説明する図である。
図10に示すように、プロトコルコンバータ20は、通信装置20a、HDD(Hard Disk Drive)20b、メモリ20c、プロセッサ20dを有する。また、
図10に示した各部は、バス等で相互に接続される。
【0084】
通信装置20aは、ネットワークインタフェースカード等であり、他のサーバとの通信を行う。HDD20bは、
図1に示した機能を動作させるプログラム及びDBを記憶する。
【0085】
プロセッサ20dは、
図3に示した各処理部と同様の処理を実行するプログラムをHDD20b等から読み出してメモリ20cに展開することで、
図1等で説明した各機能を実行するプロセスを動作させる。例えば、このプロセスは、プロトコルコンバータ20が有する各処理部と同様の機能を実行する。具体的には、プロセッサ20dは、転送部23と同様の機能を有するプログラムをHDD20b等から読み出す。そして、プロセッサ20dは、転送部23と同様の処理を実行するプロセスを実行する。
【0086】
このように、プロトコルコンバータ20は、プログラムを読み出して実行することで情報処理方法を実行する情報処理装置として動作する。また、プロトコルコンバータ20は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、プロトコルコンバータ20によって実行されることに限定されるものではない。例えば、他のコンピュータ又はサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【0087】
このプログラムは、インターネット等のネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
【0088】
開示される技術的特徴の組合せのいくつかの例を以下に記載する。
【0089】
(1)
第1のグループに含まれる1つ以上のプロセス値と、前記第1のグループに含まれない複数のプロセス値と、を含む、フィールド機器によって更新される複数のプロセス値を記憶する第1の記憶領域と、
前記複数のプロセス値のそれぞれに対応する複数の制御データ値を記憶する第2の記憶領域と、
周期ごとに、前記複数の制御データ値のうち、前記第1のグループのプロセス値に対応する制御データ値とともに、前記第1のグループに含まれないプロセス値に対応する制御データ値であって、前回の周期において更新されなかった制御データ値を更新する更新部と、
を有することを特徴とする情報処理装置。
(2)
前記第1の記憶領域は、第1のグループに含まれる1つ以上のプロセス値であって、前記第1のグループに含まれない複数のプロセス値よりも高い頻度で更新されるプロセス値を記憶することを特徴とする(1)に記載の情報処理装置。
(3)
前記更新部は、前記第1の記憶領域に記憶された前記プロセス値の通信プロトコルを変換した値を、前記制御データ値として前記第2の記憶領域に格納することを特徴とする(1)又は(2)に記載の情報処理装置。
(4)
前記更新部は、周期ごとに、前記複数の制御データ値のうち、前記第1のグループに含まれないプロセス値に対応する制御データ値であって、更新した制御データ値を識別する情報を第3の記憶領域に格納し、前記複数の制御データ値のうち、前記第1のグループのプロセス値に対応する制御データ値とともに、前記第3の記憶領域に記憶された情報を基に識別される制御データ値の次の順番が指定された制御データ値を更新することを特徴とする(1)から(3)のいずれか1つに記載の情報処理装置。
(5)
第1のグループに含まれる1つ以上のプロセス値と、前記第1のグループに含まれない複数のプロセス値と、を含む、フィールド機器によって更新される複数のプロセス値を記憶する第1の記憶領域と、
前記複数のプロセス値のそれぞれに対応する複数の制御データ値を記憶する第2の記憶領域と、
を有するコンピュータが、
周期ごとに、前記複数の制御データ値のうち、前記第1のグループのプロセス値に対応する制御データ値とともに、前記第1のグループに含まれないプロセス値に対応する制御データ値であって、前回の周期において更新されなかった制御データ値を更新する
処理を実行することを特徴とする情報処理方法。
(6)
第1のグループに含まれる1つ以上のプロセス値と、前記第1のグループに含まれない複数のプロセス値と、を含む、フィールド機器によって更新される複数のプロセス値を記憶する第1の記憶領域と、
前記複数のプロセス値のそれぞれに対応する複数の制御データ値を記憶する第2の記憶領域と、
を有するコンピュータに、
周期ごとに、前記複数の制御データ値のうち、前記第1のグループのプロセス値に対応する制御データ値とともに、前記第1のグループに含まれないプロセス値に対応する制御データ値であって、前回の周期において更新されなかった制御データ値を更新する
処理を実行させることを特徴とする情報処理プログラム。
(7)
プロセスコンバータと、プラントに備えられ、前記プロセスコンバータと接続された複数のフィールド機器と、前記プロセスコンバータと接続された制御コントローラと、を有するプロセス制御システムであって、
前記プロセスコンバータは、
第1のグループに含まれる1つ以上のプロセス値と、前記第1のグループに含まれない複数のプロセス値と、を含む、前記複数のフィールド機器によって更新される複数のプロセス値を記憶する第1の記憶領域と、
前記複数のプロセス値のそれぞれに対応する複数の制御データ値を記憶する第2の記憶領域と、
周期ごとに、前記複数の制御データ値のうち、前記第1のグループのプロセス値に対応する制御データ値とともに、前記第1のグループに含まれないプロセス値に対応する制御データ値であって、前回の周期において更新されなかった制御データ値を更新する更新部と、
を有し、
前記制御コントローラは、前記第2の記憶領域から取得した前記制御データ値を用いて演算を行うことを特徴とするプロセス制御システム。
【符号の説明】
【0090】
1 プロセス制御システム
10 フィールド機器
20 プロトコルコンバータ
20a 通信装置
20b HDD
20c メモリ
20d プロセッサ
21 キャッシュメモリ
22 インタフェースメモリ
23 転送部
30 制御コントローラ
40 操作監視端末
50 機器管理装置