(57)【特許請求の範囲】
【請求項１】
フィールド機器と機器制御装置との間に接続可能に構成されるプロトコルコンバータであって、
前記プロトコルコンバータは、コンバータ制御部と、コンバータ記憶部とを備え、
前記コンバータ記憶部は、
前記コンバータ制御部と機器制御装置とによってデータを書き込み可能且つデータを読み出し可能に構成され、
前記コンバータ制御部が制御する第１カウンタ、及び、前記機器制御装置が制御する第２カウンタを格納し、
前記コンバータ制御部は、
前記フィールド機器からフィールドデータを取得し、
前記第１カウンタの値と前記第２カウンタの値とが等しい場合に、前記フィールドデータを複数のデータで構成されるデータセットとして前記コンバータ記憶部に書き込み、前記第１カウンタの値を変更し、
前記第１カウンタの値と前記第２カウンタの値とが異なる場合に、前記フィールドデータを前記コンバータ記憶部に書き込む動作を停止する、
プロトコルコンバータ。
【請求項２】
前記コンバータ制御部は、最後に前記第１カウンタの値を変更してから所定時間以上経過した場合に、前記第１カウンタの値を変更する、請求項１に記載のプロトコルコンバータ。
【請求項３】
データバスを介して前記機器制御装置に接続可能に構成される、請求項１又は２に記載のプロトコルコンバータ。
【請求項４】
フィールド機器と機器制御装置との間に接続可能に構成され、コンバータ記憶部を備えるプロトコルコンバータが実行するデータ伝送方法であって、
前記フィールド機器からフィールドデータを取得するステップと、
前記プロトコルコンバータによって制御される第１カウンタの値と、前記機器制御装置によって制御される第２カウンタの値とが等しい場合に、前記フィールドデータを複数のデータで構成されるデータセットとして前記コンバータ記憶部に書き込み、前記第１カウンタの値を変更するステップと、
前記第１カウンタの値と前記第２カウンタの値とが異なる場合に、前記フィールドデータを前記コンバータ記憶部に書き込む動作を停止するステップと
を含む、データ伝送方法。
【請求項５】
フィールド機器と機器制御装置との間に接続可能に構成され、コンバータ記憶部を備えるプロトコルコンバータに、
前記フィールド機器からフィールドデータを取得するステップと、
前記プロトコルコンバータによって制御される第１カウンタの値と、前記機器制御装置によって制御される第２カウンタの値とが等しい場合に、前記フィールドデータを複数のデータで構成されるデータセットとして前記コンバータ記憶部に書き込み、前記第１カウンタの値を変更するステップと、
前記第１カウンタの値と前記第２カウンタの値とが異なる場合に、前記フィールドデータを前記コンバータ記憶部に書き込む動作を停止するステップと
を実行させる、データ伝送プログラム。
【請求項６】
プロトコルコンバータと、機器制御装置と、記憶装置とを備え、
前記プロトコルコンバータは、フィールド機器と前記機器制御装置との間に接続可能に構成され、
前記プロトコルコンバータ及び前記機器制御装置は、前記記憶装置に対してデータを書き込み可能、且つ、前記記憶装置からデータを読み出し可能に構成され、
前記記憶装置は、前記プロトコルコンバータが制御する第１カウンタ、及び、前記機器制御装置が制御する第２カウンタを格納し、
前記プロトコルコンバータは、
前記フィールド機器からフィールドデータを取得し、
前記第１カウンタの値と前記第２カウンタの値とが等しい場合に、前記フィールドデータを複数のデータで構成されるデータセットとして前記記憶装置に書き込み、前記第１カウンタの値を変更し、
前記第１カウンタの値と前記第２カウンタの値とが異なる場合に、前記フィールドデータを前記記憶装置に書き込む動作を停止し、
前記機器制御装置は、前記第１カウンタの値と前記第２カウンタの値とが異なる場合に、前記記憶装置に書き込まれている前記フィールドデータを取得し、前記第１カウンタの値を前記第２カウンタにコピーする、データ伝送システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、プロトコルコンバータ、データ伝送方法、データ伝送プログラム、及び、データ伝送システムに関する。
【背景技術】
【０００２】
従来、コントローラと制御対象機器との間で情報を伝送するために、コントローラと制御対象機器との両方からアクセス可能な情報伝送用メモリを備えるシステムが知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平３−１２７２０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
複数のデータで構成されるデータセットが伝送される場合、データセットを構成する各データのバージョンを一致させることが求められる。データのバージョンは、例えば、各データの取得時刻、設定時刻、又は作成時刻等によって特定されてよい。つまり、データセットの同期が求められる。
【０００５】
本開示は、データセットを同期して伝送できるプロトコルコンバータ、データ伝送方法、データ伝送プログラム、及び、データ伝送システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
幾つかの実施形態に係るプロトコルコンバータは、フィールド機器と機器制御装置との間に接続可能に構成されるプロトコルコンバータであって、前記プロトコルコンバータは、コンバータ制御部と、コンバータ記憶部とを備え、前記コンバータ記憶部は、前記コンバータ制御部と機器制御装置とによってデータを書き込み可能且つデータを読み出し可能に構成され、前記コンバータ制御部が制御する第１カウンタ、及び、前記機器制御装置が制御する第２カウンタを格納し、前記コンバータ制御部は、前記フィールド機器からフィールドデータを取得し、前記第１カウンタの値と前記第２カウンタの値とが等しい場合に、前記フィールドデータを複数のデータで構成されるデータセットとして前記コンバータ記憶部に書き込み、前記第１カウンタの値を変更し、前記第１カウンタの値と前記第２カウンタの値とが異なる場合に、前記フィールドデータを前記コンバータ記憶部に書き込む動作を停止する。このようにすることで、機器制御装置によって読み出されるデータセットを構成する各データのバージョンを容易に一致させることができる。その結果、データセットが同期して伝送される。
【０００７】
一実施形態に係るプロトコルコンバータにおいて、前記コンバータ制御部は、最後に前記第１カウンタの値を変更してから所定時間以上経過した場合に、前記第１カウンタの値を変更してよい。このようにすることで、デッドロック状態からの復帰が実現できる。その結果、データ伝送動作の信頼性が高まる。
【０００８】
一実施形態に係るプロトコルコンバータは、データバスを介して前記機器制御装置に接続可能に構成されてよい。このようにすることで、オープンネットワークへの接続が実現される。その結果、プロトコルコンバータの利便性が向上する。
【０００９】
幾つかの実施形態に係るデータ伝送方法は、フィールド機器と機器制御装置との間に接続可能に構成され、コンバータ記憶部を備えるプロトコルコンバータが実行するデータ伝送方法であって、前記フィールド機器からフィールドデータを取得するステップと、前記プロトコルコンバータによって制御される第１カウンタの値と、前記機器制御装置によって制御される第２カウンタの値とが等しい場合に、前記フィールドデータを複数のデータで構成されるデータセットとして前記コンバータ記憶部に書き込み、前記第１カウンタの値を変更するステップと、前記第１カウンタの値と前記第２カウンタの値とが異なる場合に、前記フィールドデータを前記コンバータ記憶部に書き込む動作を停止するステップとを含む。このようにすることで、機器制御装置によって読み出されるデータセットを構成する各データのバージョンを容易に一致させることができる。その結果、データセットが同期して伝送される。
【００１０】
幾つかの実施形態に係るデータ伝送プログラムは、フィールド機器と機器制御装置との間に接続可能に構成され、コンバータ記憶部を備えるプロトコルコンバータに、前記フィールド機器からフィールドデータを取得するステップと、前記プロトコルコンバータによって制御される第１カウンタの値と、前記機器制御装置によって制御される第２カウンタの値とが等しい場合に、前記フィールドデータを複数のデータで構成されるデータセットとして前記コンバータ記憶部に書き込み、前記第１カウンタの値を変更するステップと、前記第１カウンタの値と前記第２カウンタの値とが異なる場合に、前記フィールドデータを前記コンバータ記憶部に書き込む動作を停止するステップとを実行させる。このようにすることで、機器制御装置によって読み出されるデータセットを構成する各データのバージョンを容易に一致させることができる。その結果、データセットが同期して伝送される。
【００１１】
幾つかの実施形態に係るデータ伝送システムは、プロトコルコンバータと、機器制御装置と、記憶装置とを備え、前記プロトコルコンバータは、フィールド機器と前記機器制御装置との間に接続可能に構成され、前記プロトコルコンバータ及び前記機器制御装置は、前記記憶装置に対してデータを書き込み可能、且つ、前記記憶装置からデータを読み出し可能に構成され、前記記憶装置は、前記プロトコルコンバータが制御する第１カウンタ、及び、前記機器制御装置が制御する第２カウンタを格納し、前記プロトコルコンバータは、前記フィールド機器からフィールドデータを取得し、前記第１カウンタの値と前記第２カウンタの値とが等しい場合に、前記フィールドデータを複数のデータで構成されるデータセットとして前記記憶装置に書き込み、前記第１カウンタの値を変更し、前記第１カウンタの値と前記第２カウンタの値とが異なる場合に、前記フィールドデータを前記記憶装置に書き込む動作を停止し、前記機器制御装置は、前記第１カウンタの値と前記第２カウンタの値とが異なる場合に、前記記憶装置に書き込まれている前記フィールドデータを取得し、前記第１カウンタの値を前記第２カウンタにコピーする。このようにすることで、機器制御装置によって読み出されるデータセットを構成する各データのバージョンを容易に一致させることができる。その結果、データセットが同期して伝送される。
【発明の効果】
【００１２】
本開示によれば、データセットを同期して伝送できるプロトコルコンバータ、データ伝送方法、データ伝送プログラム、及び、データ伝送システムが提供される。
【図面の簡単な説明】
【００１３】
【図１】比較例に係るデータ伝送システムを示すブロック図である。
【図２】比較例に係るデータ伝送システムにおいて読み出されるデータの構成例を示す図である。
【図３】一実施形態に係るデータ伝送システムの構成例を示すブロック図である。
【図４】コンバータ記憶部が有する記憶領域の構成例を示す図である。
【図５】データ伝送システムの状態遷移の一例を表す状態遷移図である。
【図６】プロトコルコンバータが実行するデータ伝送方法の一例を示すフローチャートである。
【図７】機器制御装置が実行するデータ伝送方法の一例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
（比較例）
図１に示されるように、比較例に係るデータ伝送システム９は、プロトコルコンバータ９１０と機器制御装置９２０とを備える。プロトコルコンバータ９１０は、複数のフィールド機器３０それぞれに、Ｉ／Ｏデバイス３２を介して通信可能に接続される。複数の構成が通信可能に接続されている状態は、複数の構成それぞれの間においてデータ又は情報等の送受信が可能である状態に対応する。機器制御装置９２０は、操作監視端末５２及び機器管理部５４に、データバス５０を介して通信可能に接続される。操作監視端末５２は、フィールド機器３０のデータと状態とを監視し、機器制御装置９２０に操作指令を出す。機器管理部５４は、フィールド機器３０の計装情報を管理し、機器制御装置２０に計装情報を通知する。
【００１５】
機器制御装置９２０は、第１通信プロトコルに基づく通信によってデータを出力したり取得したりする。一方で、各フィールド機器３０は、第１通信プロトコルと異なる第２通信プロトコルに基づく通信によってデータを出力したり取得したりする。この場合、機器制御装置９２０が取得可能なデータ形式は、フィールド機器３０が出力するデータ形式と異なることがある。また、機器制御装置９２０が出力するデータ形式は、フィールド機器３０が取得可能なデータ形式と異なることがある。
【００１６】
プロトコルコンバータ９１０は、データ形式を変換することによって、異なる通信プロトコルで通信する機器同士でデータ伝送を可能にする。プロトコルコンバータ９１０は、フィールド機器３０が出力するデータを、機器制御装置９２０に対して伝送可能なデータに変換し、機器制御装置９２０が取得可能な状態にする。データが伝送可能である状態は、そのデータの形式が伝送先の構成で受け取り可能なデータ形式である状態に対応する。
【００１７】
例えば、機器制御装置９２０に対して伝送可能なデータのサイズは、機器制御装置９２０の通信インタフェースによって限定される。機器制御装置９２０に対して伝送可能なデータサイズがフィールドデータのサイズより小さい場合、プロトコルコンバータ９１０は、フィールドデータを分割し、機器制御装置９２０が取得可能な状態にする。１つのフィールドデータを分割することによって複数のデータが生成される。機器制御装置９２０は、分割された複数のデータを結合することによって、１つのフィールドデータを復元できる。機器制御装置９２０は、復元した１つのフィールドデータを操作監視端末５２に出力してもよいし、分割された複数のデータの少なくとも一部を操作監視端末５２に出力してもよい。プロトコルコンバータ９１０は、複数のデータを１つずつ機器制御装置９２０が取得可能な状態にする。機器制御装置９２０が取得可能な状態にされているデータを機器制御装置９２０が取得することによって、データは、プロトコルコンバータ９１０から機器制御装置９２０に伝送される。つまり、複数のデータは、時分割でプロトコルコンバータ９１０から機器制御装置９２０に伝送される。
【００１８】
データが逐次更新される場合において、更新前のデータと更新後のデータとは異なるバージョンのデータとして区別される。つまり、互いに異なるバージョンのデータが存在する。したがって、分割によって生成された各データのバージョン管理が必要とされる。復元に用いられる複数のデータの一部が異なるバージョンのデータになっている場合、それらのデータから復元されるデータは、異常なデータであるおそれがある。分割したデータから正常なデータを復元するために、復元に用いられる各データのバージョンが一致することが求められる。データのバージョンは、例えば、分割される前のデータの取得時刻、設定時刻、又は作成時刻等によって特定されてよい。
【００１９】
プロトコルコンバータ９１０は、データを格納する記憶領域を備える。プロトコルコンバータ９１０が記憶領域に書き込んだデータは、記憶領域に格納される。プロトコルコンバータ９１０は、フィールド機器３０から取得したデータを複数のデータに分割して記憶領域に書き込む。機器制御装置９２０は、分割された複数のデータを、記憶領域から読み出し、結合することによって、フィールド機器３０が出力したデータを復元できる。一方で、プロトコルコンバータ９１０は、機器制御装置９２０がデータを読み出すタイミングにかかわらず、フィールド機器３０から取得したデータを分割し、記憶領域に書き込む。
【００２０】
機器制御装置９２０は、上述したとおり、データを１つずつ取得できる。機器制御装置９２０が所定のバージョンのデータから分割された複数のデータを記憶領域から１つずつ取得する。機器制御装置９２０が分割されたデータを１つずつ取得している間に、プロトコルコンバータ９１０は、異なるバージョンのデータから分割された複数のデータを記憶領域に上書きすることが起こり得る。例えば図２に示されるように、記憶領域が１番から４番までで表されるアドレスによってデータの格納場所を特定できるとする。期間Ｐ１において、記憶領域の１番から４番までのアドレスに、Ｖｅｒ．１と表されるバージョンのデータから分割された４つのデータが格納されているとする。期間Ｐ２において、記憶領域の１番から４番までのアドレスに、Ｖｅｒ．２と表されるバージョンのデータから分割された４つのデータが格納されているとする。ここで、機器制御装置９２０が１番から４番までのアドレスに格納されているデータの読み出しを期間Ｐ１に開始したものの、順次読み出している途中で、期間Ｐ２に変わったとする。そして、機器制御装置９２０は、期間Ｐ１において１番及び２番のアドレスに格納されていたデータを読み出し、期間Ｐ２に変わってから３番及び４番のアドレスに格納されていたデータを読み出したとする。この場合、機器制御装置９２０が１番及び２番のアドレスから読み出したデータのバージョンは、Ｖｅｒ．１であるものの、３番及び４番のアドレスから読み出したデータのバージョンは、Ｖｅｒ．２である。つまり、機器制御装置９２０が取得する複数のデータの一部は、異なるバージョンのデータになる。これらのデータに基づいて復元されるデータは、異常なデータとなり得る。
【００２１】
以上述べてきたように、比較例に係るデータ伝送システム９において、分割した複数のデータが伝送される場合、複数のデータのうちの一部が異なるバージョンのデータとなり得る。伝送される各データのバージョンを一致させることが求められる。複数のデータのバージョンを一致させることによって、複数のデータを同期させることができる。
【００２２】
そこで、本開示は、伝送されるデータを同期させることができる、プロトコルコンバータ１０（図３参照）、データ伝送方法、データ伝送プログラム、及び、データ伝送システム１（図３参照）について説明する。
【００２３】
（実施形態）
図３に示されるように、本開示の一実施形態に係るデータ伝送システム１は、プロトコルコンバータ１０と、機器制御装置２０とを備える。
【００２４】
機器制御装置２０は、プロトコルコンバータ１０を介して、フィールド機器３０に通信可能に接続されている。言い換えれば、プロトコルコンバータ１０は、フィールド機器３０と機器制御装置２０との間に接続可能に構成される。複数の構成が通信可能に接続されている状態は、複数の構成それぞれの間においてデータ又は情報等の送受信が可能である状態に対応する。機器制御装置２０は、プロトコルコンバータ１０を介してフィールド機器３０からデータを取得する。プロトコルコンバータ１０は、フィールド機器３０から取得するデータを、機器制御装置２０に伝送可能なデータに変換する。データが伝送可能である状態は、そのデータの形式が伝送先の構成で受け取り可能なデータ形式である状態に対応する。このようにすることで、フィールド機器３０の仕様にかかわらず、機器制御装置２０は、フィールド機器３０からデータを取得できる。
【００２５】
機器制御装置２０は、フィールド機器３０から取得したデータに基づいて演算し、フィールド機器３０に出力するデータを生成し、プロトコルコンバータ１０を介してフィールド機器３０に出力する。プロトコルコンバータ１０は、機器制御装置２０が出力するデータをフィールド機器３０に伝送可能なデータに変換する。このようにすることで、フィールド機器３０の仕様にかかわらず、機器制御装置２０は、フィールド機器３０にデータを出力できる。
【００２６】
機器制御装置２０がフィールド機器３０に出力するデータは、例えばフィールド機器３０にフィードバックする情報を含んでもよいし、フィールド機器３０を制御する情報を含んでよい。機器制御装置２０は、データバス５０を介して、操作監視端末５２及び機器管理部５４に通信可能に接続される。データバス５０は、例えば、イーサネット（登録商標）を含んでもよいし、制御バスを含んでもよい。データバス５０は、オープンプロセスオートメーションシステムを構成する機器と接続可能に構成されてもよい。操作監視端末５２は、フィールド機器３０のデータと状態とを監視し、機器制御装置２０に操作指令を出す。機器管理部５４は、フィールド機器３０の計装情報を管理し、機器制御装置２０に計装情報を出力する。機器制御装置２０は、操作監視端末５２が出した操作指令と機器管理部５４から取得した計装情報とに基づいて、フィールド機器３０に出力するデータを生成してもよい。
【００２７】
機器制御装置２０は、第１通信プロトコルに基づいてデータ通信を実行すると仮定する。一方で、各フィールド機器３０は、第１通信プロトコルと異なる第２通信プロトコルに基づいてデータ通信を実行すると仮定する。この場合、機器制御装置２０と第２インタフェース１４との間で伝送可能なデータ形式は、フィールド機器３０が出力するデータ形式及びフィールド機器３０が取得するデータ形式と異なることがある。フィールド機器３０が出力するデータは、フィールドデータとも称される。機器制御装置２０がフィールド機器３０に出力するデータは、制御データとも称される。
【００２８】
プロトコルコンバータ１０は、通信プロトコルに合わせてデータ形式を変換することによって、異なる通信プロトコルで通信する機器同士のデータ伝送を可能にする。プロトコルコンバータ１０は、フィールド機器３０から取得したフィールドデータを、機器制御装置２０に対して伝送可能なデータに変換し、機器制御装置２０が取得可能な状態にする。また、機器制御装置２０は、制御データを、プロトコルコンバータ１０に対して伝送可能なデータとして出力する。プロトコルコンバータ１０は、機器制御装置２０から取得したデータを、フィールド機器３０に出力する制御データに変換し、フィールド機器３０に出力する。このようにすることで、プロトコルコンバータ１０は、フィールド機器３０のデータ形式にかかわらず、フィールド機器３０と機器制御装置２０との間でデータを伝送できる。
【００２９】
プロトコルコンバータ１０は、コンバータ記憶部１１と、コンバータ制御部１２と、第１インタフェース１３と、第２インタフェース１４とを備える。プロトコルコンバータ１０は、第１インタフェース１３において、Ｉ／Ｏデバイス３２及びフィールド機器３０に通信可能に接続される。Ｉ／Ｏデバイス３２は、入出力デバイスとも称される。第１インタフェース１３は、機器側インタフェースとも称される。機器側インタフェースは、Ｉ／Ｏデバイス３２と接続する通信線を含んでよい。プロトコルコンバータ１０は、フィールド機器３０が出力するデータをＩ／Ｏデバイス３２を介して取得する。プロトコルコンバータ１０は、第２インタフェース１４において、機器制御装置２０に通信可能に接続される。第２インタフェース１４は、制御側インタフェースとも称される。制御側インタフェースは、機器制御装置２０と接続する通信線を含んでよい。第２インタフェース１４は、データバス５０に接続され、データバス５０を介して機器制御装置２０に接続されてもよい。このようにすることで、プロトコルコンバータ１０は、オープンネットワークに接続できる。その結果、プロトコルコンバータ１０の利便性が向上する。
【００３０】
プロトコルコンバータ１０は、第１インタフェース１３によって、Ｉ／Ｏデバイス３２を介してフィールド機器３０からデータを取得するとともに、フィールド機器３０にデータを出力する。プロトコルコンバータ１０は、機器制御装置２０が第２インタフェース１４を介してデータを取得できるようにデータを変換するとともに、機器制御装置２０からデータを取得する。
【００３１】
コンバータ記憶部１１は、指定された位置にデータを書き込んだり読み出したりできる記憶領域を有する。プロトコルコンバータ１０は、フィールド機器３０から取得したデータを、機器制御装置２０が取得可能な状態となるようにコンバータ記憶部１１に書き込むことによって格納する。機器制御装置２０は、第２インタフェース１４を介してコンバータ記憶部１１と通信可能に接続されている。機器制御装置２０は、コンバータ記憶部１１からデータを読み出し可能、且つ、コンバータ記憶部１１にデータを書き込み可能に構成されている。つまり、機器制御装置２０は、コンバータ記憶部１１にアクセス可能に構成されている。したがって、機器制御装置２０は、コンバータ記憶部１１に格納されているデータを取得できる。
【００３２】
コンバータ記憶部１１は、例えば半導体メモリ等で構成されてよいし、磁気ディスク等の記憶媒体で構成されてもよい。コンバータ記憶部１１は、半導体メモリで構成される場合、データを書き込んだり読み出したりする位置をアドレスによって指定してよい。コンバータ記憶部１１は、磁気ディスクで構成される場合、データを書き込んだり読み出したりする位置をセクタ番号等によって指定してよい。コンバータ記憶部１１は、プロトコルコンバータ１０に含まれず、プロトコルコンバータ１０と別体に構成されてもよい。コンバータ記憶部１１は、プロトコルコンバータ１０と別体に構成される場合、記憶装置とも称される。つまり、データ伝送システム１は、プロトコルコンバータ１０と、記憶装置とを別々の構成として備えてもよい。
【００３３】
コンバータ制御部１２は、第１インタフェース１３で取得したフィールドデータを、機器制御装置２０に伝送可能なデータに変換し、機器制御装置２０が取得可能な状態となるようにコンバータ記憶部１１に書き込むことによって格納する。コンバータ制御部１２は、１つ以上のプロセッサで構成されてよい。プロセッサは、ＣＰＵ（Central Processing Unit）等の汎用的な集積回路によって構成されてよい。プロセッサは、所定のプログラムを実行することによって、種々の機能を実現してよい。プロセッサは、プロセッサ記憶部を有してよい。プロセッサ記憶部は、プロセッサの動作に用いられる各種情報、又は、プロセッサがプロトコルコンバータ１０の機能を実現するためのプログラム等を格納してよい。プロセッサ記憶部は、プロセッサのワークメモリとして機能してよい。プロセッサ記憶部は、例えば半導体メモリ等で構成されてよい。
【００３４】
第１インタフェース１３は、Ｉ／Ｏデバイス３２に通信可能に接続される。第１インタフェース１３は、Ｉ／Ｏデバイス３２から入力される電気信号に基づいてデータを生成し、フィールド機器３０から機器制御装置２０に伝送するデータとしてプロトコルコンバータ１０に出力する。第１インタフェース１３は、機器制御装置２０からフィールド機器３０に伝送するデータをプロトコルコンバータ１０から取得し、電気信号に変換してＩ／Ｏデバイス３２に対して出力してよい。電気信号は、電流信号を含んでよいし、電圧信号を含んでもよい。電流信号は、４ｍＡ以上且つ２０ｍＡ以下に制御されている計装用標準信号であってもよい。
【００３５】
第２インタフェース１４は、機器制御装置２０に通信可能に接続される。第２インタフェース１４は、機器制御装置２０との間でデジタル信号を送受信してもよい。プロトコルコンバータ１０と機器制御装置２０との間で伝送可能なデータの形式は、第２インタフェース１４の仕様に基づいて定まり得る。第２インタフェース１４の仕様は、機器制御装置２０と接続する通信線の仕様を含んでよい。プロトコルコンバータ１０は、フィールドデータを機器制御装置２０に伝送可能なデータに変換するとともに、機器制御装置２０から伝送されたデータをフィールド機器３０に出力するデータに変換する。
【００３６】
プロトコルコンバータ１０は、複数のデータを１つのデータセットとして取り扱うことがある。例えば、１つのデータから分割された複数のデータが伝送され、伝送された先において元のデータに復元される場合、分割された複数のデータは、１つのデータセットとして取り扱われてよい。他の例として、フィールド機器３０が所定時刻における複数の測定データを出力する場合、複数の測定データは、１つのデータセットとして取り扱われてよい。
【００３７】
通信線の仕様は、通信容量を含んでよい。通信容量は、第２インタフェース１４と機器制御装置２０との間で単位時間当たりに送受信できるデータ量に対応する。プロトコルコンバータ１０と機器制御装置２０との間で伝送可能なデータのサイズは、通信線の通信容量に基づいて定まり得る。プロトコルコンバータ１０と機器制御装置２０との間で伝送可能なデータのサイズは、伝送許容サイズとも称される。
【００３８】
フィールドデータのサイズが伝送許容サイズより大きい場合、コンバータ制御部１２は、フィールドデータを、伝送許容サイズ以下のデータに分割し、機器制御装置２０が取得可能な状態となるようにコンバータ記憶部１１に書き込むことによって格納する。機器制御装置２０は、コンバータ記憶部１１にアクセスし、分割されて格納されているデータを読み出して取得し、フィールドデータを復元する。１つのフィールドデータを分割して生成された複数のデータは、１つのフィールドデータを復元するための復元データセットを構成する。
【００３９】
機器制御装置２０がフィールドデータに基づいて生成した制御データのサイズが伝送許容サイズより大きい場合、機器制御装置２０は、制御データを伝送許容サイズ以下のデータに分割し、分割したデータをコンバータ記憶部１１に書き込むことによって格納する。プロトコルコンバータ１０は、コンバータ記憶部１１に格納された複数のデータから１つの制御データを復元し、復元した制御データを、Ｉ／Ｏデバイス３２を介してフィールド機器３０に出力する。１つの制御データを分割した複数のデータの集合は、１つの制御データを復元するための復元データセットを構成する。
【００４０】
プロトコルコンバータ１０と機器制御装置２０との間で分割して伝送されるデータは、フラグメントデータとも称される。
【００４１】
フィールド機器３０が出力する複数のデータは、機器制御装置２０で互いに関連づけて処理されてよい。機器制御装置２０で互いに関連づけられるデータの集合は、関連データセットとも称される。関連データセットは、フィールド機器３０が所定時刻に測定した測定データの集合として構成されてよい。関連データセットを構成する測定データは、例えば、所定時刻における、気体の温度若しくは流量、又は、液体の温度若しくは流量等のプロセスデータを含んでよい。測定データは、例えば、所定時刻における、３次元座標若しくは回転角等の位置データ、又は、速度、加速度若しくは角速度等のモーションデータを含んでもよい。機器制御装置２０は、関連データセットを構成する測定データを互いに関連づけて処理することによって、所定時刻における測定データをフィールド機器３０の制御にフィードバックする制御データを生成できる。
【００４２】
機器制御装置２０は、フィールド機器３０に対する制御データとして複数のデータを出力してもよい。フィールド機器３０は、複数のデータに基づいて１つの制御を実行してよい。フィールド機器３０に対して１つの制御を指示するデータの集合は、制御データセットとも称される。制御データセットを構成する制御データは、例えば、温度を制御するヒータの出力又は流量を制御するバルブの開度等を含んでよい。制御データセットを構成する制御データは、例えば、モータの出力又はアクチュエータの変位等を含んでよい。
【００４３】
復元データセット、並びに、関連データセット及び制御データセットは、単にデータセットとも総称される。プロトコルコンバータ１０と機器制御装置２０との間に接続されている第２インタフェース１４は、データセットを構成する複数のデータを１つずつ伝送する。つまり、第２インタフェース１４は、プロトコルコンバータ１０と機器制御装置２０との間で、複数のデータを時分割で伝送する。
【００４４】
フィールドデータが逐次更新される場合において、更新前後のフィールドデータは、異なるバージョンのデータとして区別される。したがって、フィールドデータに対応するデータセットを構成する各データのバージョンを管理することが必要とされる。例えば、復元データセットを構成するフラグメントデータの一部が異なるバージョンである場合、そのデータセットから復元されるフィールドデータは、異常なデータとなるおそれがある。その結果、復元されたフィールドデータに基づいて生成される制御データは、異常なデータとなるおそれがある。したがって、復元データセットを構成する各データのバージョンが一致することが求められる。データのバージョンは、例えば、フィールドデータの取得時刻、設定時刻、又は作成時刻等によって特定されてよい。
【００４５】
また、フィールドデータが関連データセットとして構成される場合においても、関連データセットを構成する複数のデータのバージョンを管理することが必要とされる。関連データセットを構成するデータの一部が異なるバージョンである場合、関連データセットに基づいて生成される制御データは、異常なデータとなるおそれがある。したがって、関連データセットを構成する各データのバージョンが一致することが求められる。
【００４６】
データセットを構成する各データのバージョンが一致している状態は、データセットが同期している状態に対応する。つまり、プロトコルコンバータ１０と機器制御装置２０との間のデータ伝送において、データセットが同期することが求められる。プロトコルコンバータ１０は、例えば以下のような構成を有することによって、データセットを同期させることができる。
【００４７】
図４に例示されるように、コンバータ記憶部１１の記憶領域は、フィールド機器３０と機器制御装置２０との間で互いに伝送されるデータセットを格納する伝送データ領域１１ａを含む。また、コンバータ記憶部１１の記憶領域は、データセットを同期させるためのカウンタＡ及びカウンタＢを格納するカウンタ領域１１ｂを含む。伝送データ領域１１ａは、フィールド機器３０から機器制御装置２０に伝送されるフィールドデータに対応するデータセットを格納する領域と、機器制御装置２０からフィールド機器３０に伝送される制御データに対応するデータセットを格納する領域とを含む。プロトコルコンバータ１０が複数のフィールド機器３０に接続されている場合、コンバータ記憶部１１は、各フィールド機器３０に対応する記憶領域を有する。つまり、コンバータ記憶部１１は、各フィールド機器３０に対応する伝送データ領域１１ａとカウンタ領域１１ｂとを有する。
【００４８】
フィールドデータを格納する領域は、データセットを構成する各データを格納する領域に分けられる。データセットを構成するデータは、フィールドデータを伝送許容サイズ以下のサイズに分割したデータであってよいし、関連データセットを構成する測定データ等であってよい。図４の例において、フィールドデータは、１／ＸからＸ／Ｘまでの番号が付されたＸ個のデータで構成されているデータセットとして格納されている。つまり、フィールドデータは、Ｘ個のデータに分けて格納されている。
【００４９】
制御データを格納する領域は、データセットを構成する各データを格納する領域に分けられる。データセットを構成するデータは、制御データを伝送許容サイズ以下のサイズに分割したデータであってよいし、制御データセットを構成するデータであってよい。図４の例において、制御データは、１／ＹからＹ／Ｙまでの番号が付されたＹ個のデータで構成されているデータセットとして格納されている。つまり、制御データは、Ｙ個のデータに分けて格納されている。
【００５０】
フィールドデータに対応するデータセットを構成するデータの数（Ｘ）と、制御データに対応するデータセットを構成するデータの数（Ｙ）とは、同じであってもよいし、異なっていてもよい。
【００５１】
カウンタ領域１１ｂに格納されるカウンタＡ及びカウンタＢはそれぞれ、第１カウンタ及び第２カウンタとも称される。カウンタＡの値は、プロトコルコンバータ１０のコンバータ制御部１２によって制御される。カウンタＢの値は、機器制御装置２０によって制御される。カウンタＡの値は、単にＡと表されるとする。カウンタＢの値は、単にＢと表されるとする。
【００５２】
データ伝送システム１は、カウンタＡ及びＢそれぞれの値に基づいて動作する。データ伝送システム１は、図５に示されるように、カウンタＡ及びＢそれぞれの値に基づく複数の状態に遷移して動作すると仮定する。コンバータ制御部１２は、カウンタＡの値とカウンタＢの値とが一致するか異なるかにかかわらず、Ｉ／Ｏデバイス３２を介してフィールド機器３０からフィールドデータを取得する。
【００５３】
Ａ＝Ｂが成立している状態は、第１状態と称されるとする。コンバータ制御部１２は、第１状態において、コンバータ記憶部１１の伝送データ領域１１ａにフィールドデータを書き込む。コンバータ制御部１２は、フィールドデータのサイズが伝送許容サイズより大きい場合、フィールドデータを分割したデータを、復元データセットを構成するデータとしてコンバータ記憶部１１に書き込む。コンバータ制御部１２は、フィールドデータとして複数の測定データを取得した場合、各測定データを、関連データセットを構成するデータとしてコンバータ記憶部１１に書き込む。
【００５４】
機器制御装置２０は、第１状態において、コンバータ記憶部１１からデータを読み出した場合、読み出したフィールドデータを復元せず、破棄する。このようにすることで、プロトコルコンバータ１０が伝送データ領域１１ａへフィールドデータを書き込んでいる間に機器制御装置２０が伝送データ領域１１ａから読み出したフィールドデータに基づいて、制御データが生成されることが避けられる。その結果、機器制御装置２０が読み出すデータセットを構成する各データのうち、一部のデータのバージョンが異なる状況が避けられる。
【００５５】
また、機器制御装置２０は、コンバータ記憶部１１にデータを書き込まない。このようにすることで、プロトコルコンバータ１０が伝送データ領域１１ａから制御データを読み出している間に、機器制御装置２０が伝送データ領域１１ａに制御データを書き込むことが避けられる。その結果、プロトコルコンバータ１０がフィールド機器３０に出力するデータセットを構成する各データのうち、一部のデータのバージョンが異なる状況が避けられる。
【００５６】
コンバータ制御部１２は、データセットを構成するすべてのデータをコンバータ記憶部１１に書き込んだことを条件として、カウンタＡの値として、現在の値と異なる値に変更し、カウンタ領域１１ｂに書き込むことによって、カウンタＡの値を変更する。
【００５７】
コンバータ制御部１２は、カウンタＡの値をインクリメントしてよい。この場合、カウンタＡは、カウントアップで動作する。コンバータ制御部１２は、カウンタＡの値をデクリメントしてもよい。この場合、カウンタＡは、カウントダウンで動作する。つまり、コンバータ制御部１２は、カウンタＡの値を増やす方向又は減らす方向に変更してよい。コンバータ制御部１２は、他の種々のルールに基づいてカウンタＡの値を変更してよい。
【００５８】
Ａ＝Ｂが成立している第１状態においてカウンタＡの値が変更されることによって、Ａ≠Ｂが成立する状態に遷移する。Ａ≠Ｂが成立している状態は、第２状態と称されるとする。第１状態から第２状態に遷移するための条件は、第１条件とも称される。第１条件は、フィールドデータに対応するデータセットを構成するすべてのデータがコンバータ記憶部１１に書き込まれることによって満たされる。
【００５９】
機器制御装置２０は、第１状態であるか第２状態であるかにかかわらず、コンバータ記憶部１１の伝送データ領域１１ａのうちフィールドデータを格納する領域からデータを読み出す。機器制御装置２０は、第２状態において復元データセットを読み出した場合、復元データセットの各データに基づいてフィールドデータを復元する。機器制御装置２０は、復元したフィールドデータに基づいて、制御データを生成する。機器制御装置２０は、関連データセットを読み出した場合、関連データセットを構成する各データに基づいて、制御データを生成する。
【００６０】
機器制御装置２０は、生成した制御データをコンバータ記憶部１１の伝送データ領域１１ａのうち制御データを格納する領域に書き込む。制御データのサイズが伝送許容サイズより大きい場合、機器制御装置２０は、制御データを分割して伝送データ領域１１ａに書き込む。分割した制御データは、制御データセットを構成する。機器制御装置２０は、制御データセットを構成する複数の制御データを生成する場合、各制御データを伝送データ領域１１ａに書き込む。
【００６１】
コンバータ制御部１２は、第２状態において、伝送データ領域１１ａにデータを書き込まない。言い換えれば、コンバータ記憶部１１は、第２状態において、コンバータ記憶部１１の伝送データ領域１１ａにデータを書き込む動作を停止する。このようにすることで、機器制御装置２０が第２状態において伝送データ領域１１ａからフィールドデータを読み出している間に、プロトコルコンバータ１０が伝送データ領域１１ａへフィールドデータを書き込むことが避けられる。その結果、機器制御装置２０が読み出すデータセットを構成する各データのうち、一部のデータのバージョンが異なる状況が避けられる。また、コンバータ制御部１２は、第２状態において、コンバータ記憶部１１に格納されたデータをフィールド機器３０に出力しない。このようにすることで、機器制御装置２０が第２状態において伝送データ領域１１ａに制御データを書き込んでいる間に、プロトコルコンバータ１０が伝送データ領域１１ａから制御データを読み出すことが避けられる。その結果、フィールド機器３０に出力する制御データセットを構成する各データのうち、一部のデータのバージョンが異なる状況が避けられる。
【００６２】
機器制御装置２０は、コンバータ記憶部１１からフィールドデータに対応するデータセットを構成するすべてのデータを読み出したことを条件として、カウンタＢの値を変更する。機器制御装置２０は、カウンタＢの値として、カウンタＡの値をカウンタ領域１１ｂに書き込むことによってカウンタＢの値を変更する。つまり、機器制御装置２０は、カウンタＡの値をカウンタＢの値としてコピーすることによってカウンタＢの値を変更する。機器制御装置２０は、更に、読み出したデータに基づいて生成した制御データに対応するデータセットを構成するすべてのデータをコンバータ記憶部１１に書き込んだことを条件として、カウンタＢの値を変更してもよい。
【００６３】
Ａ≠Ｂが成立している第２状態においてカウンタＢの値が変更されることによって、Ａ＝Ｂが成立する状態、すなわち第１状態に遷移する。第２状態から第１状態に遷移するための条件は、第２条件とも称される。第２条件は、フィールドデータに対応するデータセットを構成するすべてのデータがコンバータ記憶部１１から読み出されることによって満たされる。第２条件は、更に、制御データに対応するデータセットを構成するすべてのデータがコンバータ記憶部１１に書き込まれることによって満たされてもよい。
【００６４】
第２状態において、機器制御装置２０がカウンタＢの値を変更する際に、カウンタＢの値をコンバータ記憶部１１のカウンタ領域１１ｂに書き込む動作が失敗することがある。カウンタＢの書き込みの失敗は、例えば、機器制御装置２０と第２インタフェース１４との間での通信異常によって起こり得る。通信異常は、通信線で生じるノイズ等に起因し得る。
【００６５】
機器制御装置２０は、機器制御記憶部を備え、機器制御記憶部にカウンタＢの値を格納しているとする。機器制御装置２０は、機器制御記憶部にカウンタＢの値を書き込んで格納しておくことによって、カウンタＢをコンバータ記憶部１１から読み出す必要がなくなる。その結果、機器制御装置２０の負荷が低減される。
【００６６】
機器制御装置２０は、カウンタＢの値を変更する際に、機器制御記憶部に格納しているカウンタＢの値としてカウンタＡの値を書き込むとともに、コンバータ記憶部１１のカウンタ領域１１ｂに格納しているカウンタＢの値としてカウンタＡの値を書き込む。機器制御装置２０は、カウンタＢの値をカウンタ領域１１ｂに書き込むことに成功したか失敗したかにかかわらず、機器制御記憶部に格納しているカウンタＢの値を変更していることによって、第１状態に遷移していると認識している。この場合、機器制御装置２０は、データの書き込み及び読み出しを実行しない。
【００６７】
一方で、プロトコルコンバータ１０は、カウンタ領域１１ｂへのカウンタＢの値の書き込みが失敗した場合、第２状態のままであると認識している。この場合、プロトコルコンバータ１０は、データの書き込み及び読み出しを実行しない。
【００６８】
プロトコルコンバータ１０及び機器制御装置２０が両方とも動作しないことによって、データ伝送システム１は、動作しないデッドロック状態に陥ってしまう。デッドロック状態は、第３状態とも称される。第２状態から第３状態に遷移する条件は、第３条件とも称される。第３条件は、機器制御装置２０によるカウンタ領域１１ｂへのカウンタＢの値の書き込みが失敗した場合に満たされる。
【００６９】
データ伝送システム１は、第３状態に遷移した場合、プロトコルコンバータ１０及び機器制御装置２０が両方とも動作しないことによって、そのままでは第１状態にも第２状態にも遷移できない。第３状態において、データ伝送システム１は、コンバータ制御部１２にカウンタＡの値を変更させる。カウンタＡの値が変更されることによって、データ伝送システム１は、第３状態から第２状態に遷移できる。つまり、カウンタＡの値が変更されることによって、データ伝送システム１は、第３状態から復帰することができる。このようにすることで、データ伝送システム１は、簡便な構成で、デッドロック状態からの復帰を実現できる。その結果、データ伝送システム１におけるデータ伝送動作の信頼性が高まる。
【００７０】
コンバータ制御部１２は、最後にカウンタＡの値が変更されてから所定時間が経過した場合に、カウンタＡの値を変更してよい。この場合、所定時間は、例えば、４秒に設定されてよい。コンバータ制御部１２は、第２状態に遷移したと認識してから所定時間が経過しても第２状態のままであると認識している場合に、カウンタＡの値を変更してよい。第３状態から第２状態に遷移する条件は、第４条件とも称される。第４条件は、コンバータ制御部１２がカウンタＡの値を変更した場合に満たされる。第４条件は、コンバータ制御部１２が最後にカウンタＡの値を変更してから所定時間が経過した場合に満たされるともいえる。第４条件は、コンバータ制御部１２が第２状態に遷移したと認識してから所定時間が経過した場合に満たされるともいえる。
【００７１】
一実施形態に係るデータ伝送システム１及びプロトコルコンバータ１０は、機器制御装置２０によって読み出されるデータセットを構成する各データのバージョンを容易に一致させることができる。また、一実施形態に係るデータ伝送システム１及びプロトコルコンバータ１０は、プロトコルコンバータ１０がフィールド機器３０に出力するデータセットを構成する各データのバージョンを容易に一致させることができる。その結果、データセットが同期して伝送される。
【００７２】
プロトコルコンバータ１０は、データ伝送方法として、図６のフローチャートに例示される手順を実行してよい。図６のフローチャートに例示される手順は、データ伝送プログラムとして実現されてもよい。
【００７３】
コンバータ制御部１２は、フィールド機器３０からフィールドデータを取得する（ステップＳ１）。コンバータ制御部１２は、Ａ＝Ｂが成立するか否かにかかわらず、フィールドデータを取得してよい。
【００７４】
コンバータ制御部１２は、コンバータ記憶部１１のカウンタ領域１１ｂに格納されているカウンタＡ及びＢの値を読み出し、Ａ＝Ｂが成立しているか判定する（ステップＳ２）。コンバータ制御部１２は、コンバータ記憶部１１のカウンタ領域１１ｂに格納されているカウンタＡ及びＢの値を読み出すことによって、判定してよい。コンバータ制御部１２は、Ａ＝Ｂが成立していない場合（ステップＳ２：ＮＯ）、ステップＳ６の手順に進む。この場合、コンバータ制御部１２は、ステップＳ１で取得したフィールドデータを破棄してもよい。
【００７５】
コンバータ制御部１２は、Ａ＝Ｂが成立している場合（ステップＳ２：ＹＥＳ）、フィールドデータをコンバータ記憶部１１の伝送データ領域１１ａに書き込む（ステップＳ３）。これによって、フィールドデータが伝送データ領域１１ａに格納される。コンバータ制御部１２は、フィールドデータのサイズが伝送許容サイズより大きい場合、フィールドデータを分割し、データセットを構成するデータとしてコンバータ記憶部１１の伝送データ領域１１ａに書き込んでよい。コンバータ制御部１２は、フィールドデータに対応するデータセットを取得した場合、データセットを構成する各データをコンバータ記憶部１１の伝送データ領域１１ａに書き込んでよい。
【００７６】
コンバータ制御部１２は、機器制御装置２０がコンバータ記憶部１１に書き込んだ制御データを読み出し、フィールド機器３０に出力する（ステップＳ４）。コンバータ制御部１２は、ステップＳ４の手順を、ステップＳ３の手順と同時に実行してもよいし、ステップＳ３の手順より前に実行してもよい。
【００７７】
コンバータ制御部１２は、カウンタＡの値を変更する（ステップＳ５）。コンバータ制御部１２は、ステップＳ５の後、ステップＳ１の手順に戻る。コンバータ制御部１２は、ステップＳ５の後、ステップＳ２に手順に戻ってもよい。
【００７８】
コンバータ制御部１２は、Ａ＝Ｂが成立していない場合（ステップＳ２：ＮＯ）、つまり、Ａ≠Ｂが成立している場合、データ伝送システム１がデッドロック状態に陥っているか判定する（ステップＳ６）。コンバータ制御部１２は、最後にカウンタＡの値を変更してから所定時間が経過した場合に、データ伝送システム１がデッドロック状態に陥っていると判定してよい。この場合、所定時間は、４秒に設定されてよい。コンバータ制御部１２は、Ａ≠Ｂが成立する第２状態に遷移したと認識してから所定時間が経過しても第２状態のままであると認識した場合に、データ伝送システム１がデッドロック状態に陥っていると判定してもよい。
【００７９】
コンバータ制御部１２は、データ伝送システム１がデッドロック状態に陥っている場合（ステップＳ６：ＹＥＳ）、ステップＳ５の手順に進み、カウンタＡの値を変更する。コンバータ制御部１２は、データ伝送システム１がデッドロック状態に陥っていない場合（ステップＳ６：ＮＯ）、ステップＳ１の手順に戻る。
【００８０】
機器制御装置２０は、データ伝送方法として、図７のフローチャートに例示される手順を実行してよい。図７のフローチャートに例示される手順は、データ伝送プログラムとして実現されてもよい。
【００８１】
機器制御装置２０は、コンバータ記憶部１１の伝送データ領域１１ａからフィールドデータを読み出すとともに、コンバータ記憶部１１のカウンタ領域１１ｂからカウンタＡの値を読み出す（ステップＳ１１）。機器制御装置２０は、フィールドデータとカウンタＡの値とを同時に読み出してもよいし、時分割で読み出してもよい。
【００８２】
機器制御装置２０は、Ａ＝Ｂが成立しているか判定する（ステップＳ１２）。機器制御装置２０は、機器制御記憶部を備え、機器制御記憶部にカウンタＢの値を格納しているとする。機器制御装置２０は、機器制御記憶部に格納しているカウンタＢの値と、コンバータ記憶部１１から読み出したカウンタＡの値とを比較する。
【００８３】
機器制御装置２０は、Ａ＝Ｂが成立している場合（ステップＳ１２：ＹＥＳ）、ステップＳ１１の手順に戻る。機器制御装置２０は、Ａ＝Ｂが成立していない場合（ステップＳ１２：ＮＯ）、つまり、Ａ≠Ｂが成立している場合、ステップＳ１１で読み出したフィールドデータに基づいて制御データを生成して出力する（ステップＳ１３）。機器制御装置２０は、制御データをコンバータ記憶部１１に書き込むことによって出力する。制御データのサイズが伝送許容サイズより大きい場合、機器制御装置２０は、制御データを分割したデータで構成されるデータセットをコンバータ記憶部１１に書き込む。機器制御装置２０は、制御データセットを構成する複数のデータを生成する場合、各データをコンバータ記憶部１１に書き込む。
【００８４】
機器制御装置２０は、カウンタＢの値を変更する（ステップＳ１４）。機器制御装置２０は、機器制御記憶部に格納されているカウンタＢの値として、カウンタＡの値を書き込む。さらに、機器制御装置２０は、機器制御記憶部に格納されているカウンタＢの値をカウンタ領域１１ｂに書き込むことによってコンバータ記憶部１１に格納されているカウンタＢの値を変更する。つまり、機器制御装置２０は、カウンタＡの値をカウンタＢの値としてコピーすることによってコンバータ記憶部１１に格納されているカウンタＢの値を変更する。機器制御装置２０は、ステップＳ１５の手順の後、ステップＳ１１の手順に戻る。
【００８５】
一実施形態に係るデータ伝送方法及びデータ伝送プログラムによれば、機器制御装置２０によって読み出されるデータセットを構成する各データのバージョンを容易に一致させることができる。また、プロトコルコンバータ１０がフィールド機器３０に出力するデータセットを構成する各データのバージョンを容易に一致させることができる。その結果、データセットが同期して伝送される。
【００８６】
本実施形態に係るデータ伝送システム１は、カウンタＡ及びカウンタＢを制御することによってデータセットを同期できる。比較例として、データセットを同期するためにフラグが用いられる場合、伝送するデータにフラグを表すビットが含まれる。この場合、データ形式が制限されるとともに、伝送するデータの実質的なデータ容量がフラグによって減少する。また、データの内容を解釈する処理が必要となる。本実施形態に係るデータ伝送システム１によれば、データセットが同期されながらも、比較例に対してデータ形式が制限されにくく、且つ、データ容量が減少しにくい。また、データの内容を解釈する処理が必要とされず、プロセッサの負荷が低減する。
【００８７】
以上、本開示に係る実施形態について、図面を参照して説明してきたが、具体的な構成はこの実施形態に限定されるものではなく、本開示の趣旨を逸脱しない範囲においての種々の変更も含まれる。
【符号の説明】
【００８８】
１  データ伝送システム
１０  プロトコルコンバータ
１１  コンバータ記憶部
１１ａ  伝送データ領域
１１ｂ  カウンタ領域
１２  コンバータ制御部
１３  第１インタフェース（機器側インタフェース）
１４  第２インタフェース（制御側インタフェース）
２０  機器制御装置
３０  フィールド機器
３２  Ｉ／Ｏデバイス
５０  データバス
５２  操作監視端末
５４  機器管理部
【図１】
0006988863.tif 000002
【図２】
0006988863.tif 000003
【図３】
0006988863.tif 000004
【図４】
0006988863.tif 000005
【図５】
0006988863.tif 000006
【図６】
0006988863.tif 000007
【図７】
0006988863.tif 000008