(57)【要約】【課題】データの更新がされない状態を検知可能なフィールド通信システムを提供する。【解決手段】本発明は、フィールド機器からのデータを、通信ネットワークを介して受け取ってレジスタにマッピングすることにより、データを更新するフィールド通信システムに適用される。検出手段は、通信ネットワークを介するフィールド機器との間の通信状態を検出する。書込手段は、検出手段により検出された通信状態を、上記データに付加された情報として上記レジスタに書き込む。【選択図】図１
2012004790.tif 000002
【特許請求の範囲】
【請求項１】
フィールド機器からのデータを、通信ネットワークを介して受け取ってレジスタにマッピングすることにより、前記データを更新するフィールド通信システムにおいて、
前記通信ネットワークを介する前記フィールド機器との間の通信状態を検出する検出手段と、
前記検出手段により検出された前記通信状態を、前記データに付加された情報として前記レジスタに書き込む書込手段と、
を備えることを特徴とするフィールド通信システム。
【請求項２】
前記フィールド機器からの前記データには前記フィールド機器の自己診断情報が含まれており、
前記書込手段は、前記検出手段により前記通信状態の異常が検出された場合に、前記レジスタにマッピングされる前記自己診断情報を書き換えることで前記自己診断情報に前記異常を反映させることを特徴とする請求項１に記載のフィールド通信システム。
【請求項３】
前記検出手段は、前記通信状態として、前記フィールド機器が前記通信ネットワークに参加しているか否かを検出することを特徴とする請求項１または２に記載のフィールド通信システム。
【請求項４】
前記検出手段は、前記通信状態として、それまで継続していた前記フィールド機器からの前記通信ネットワークを介する前記データの受信が停止したか否かを検出することを特徴とする請求項１または２に記載のフィールド通信システム。
【請求項５】
前記検出手段は、前記通信状態として、前記フィールド機器からの前記通信ネットワークを介する前記データの受信が前記通信ネットワークへの参加時から継続して停止しているか否かを検出することを特徴とする請求項１または２に記載のフィールド通信システム。
【請求項６】
前記通信ネットワークは、無線ネットワークであることを特徴とする請求項１〜５のいずれか１項に記載のフィールド通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フィールド機器からのデータを、通信ネットワークを介して受け取ってレジスタにマッピングすることにより、前記データを更新するフィールド通信システムに関する。
【背景技術】
【０００２】
ISA100.11aフィールド無線規格に準拠した無線通信機能を備えるフィールド機器と、上位機器との間でのデータの送受信を可能とするための構成として、ISA100.11aフィールド無線規格に準拠したISA100無線ゲートウェイを介して両者を接続するものがある。また、上位機器がModbus/TCPクライアントである場合には、ISA100無線ゲートウェイにModbus/TCPサーバと、フィールド機器との間で無線通信を行うためのISA100バックボーンルータとを内蔵させることで、上記のデータの送受信が可能となる。Modbus/TCPサーバには、データをマッピングするためのModbusレジスタが設けられている。
【０００３】
この場合、フィールド機器１および無線ゲートウェイ２は、ISA100.11aフィールド無線規格に従ったPublish/Subscribe方式による無線通信を行う。フィールド機器１から無線通信により送信されたプロセスデータ等はISA100バックボーンルータを介して受信され、Modbus/TCPサーバは、受信されたプロセスデータ等をModbusレジスタにマッピングする。また、Modbus/TCPクライアントはModbus/TCPプロトコルを使用して、Modbus/TCPサーバから、Modbusレジスタにマッピングされたプロセスデータ等を取得し、制御等を実行する。このように、Modbusレジスタに逐次データをマッピングすることで、データの更新が行われる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−００７１６６号公報
【特許文献２】特開２００４−１２８７８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、フィールド機器の無線通信機能の故障、ISA100無線ネットワークの異常、ISA100バックボーンルータの故障などが発生した場合には、フィールド機器からのデータが受信できなくなり、Modbusレジスタのプロセスデータ等は最後に正常であった値から更新されなくなる。しかし、Modbus/TCPクライアント側からは更新されないプロセスデータ等がそのまま読めてしまい、異常の発生を検知することができない。
【０００６】
本発明の目的は、データの更新がされない状態を検知可能なフィールド通信システムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明のフィールド通信システムは、フィールド機器からのデータを、通信ネットワークを介して受け取ってレジスタにマッピングすることにより、前記データを更新するフィールド通信システムにおいて、前記通信ネットワークを介する前記フィールド機器との間の通信状態を検出する検出手段と、前記検出手段により検出された前記通信状態を、前記データに付加された情報として前記レジスタに書き込む書込手段と、を備えることを特徴とする。
このフィールド通信システムによれば、通信ネットワークを介するフィールド機器との間の通信状態を検出し、フィールド機器からのデータに付加された情報としてレジスタに書き込むので、データの更新がされない状態を検知可能となる。
【０００８】
前記フィールド機器からの前記データには前記フィールド機器の自己診断情報が含まれており、前記書込手段は、前記検出手段により前記通信状態の異常が検出された場合に、前記レジスタにマッピングされる前記自己診断情報を書き換えることで前記自己診断情報に前記異常を反映させてもよい。
【０００９】
前記検出手段は、前記通信状態として、前記フィールド機器が前記通信ネットワークに参加しているか否かを検出してもよい。
【００１０】
前記検出手段は、前記通信状態として、それまで継続していた前記フィールド機器からの前記通信ネットワークを介する前記データの受信が停止したか否かを検出してもよい。
【００１１】
前記検出手段は、前記通信状態として、前記フィールド機器からの前記通信ネットワークを介する前記データの受信が前記通信ネットワークへの参加時から継続して停止しているか否かを検出してもよい。
【００１２】
前記通信ネットワークは、無線ネットワークであってもよい。
【発明の効果】
【００１３】
本発明のフィールド通信システムによれば、通信ネットワークを介するフィールド機器との間の通信状態を検出し、フィールド機器からのデータに付加された情報としてレジスタに書き込むので、データの更新がされない状態を検知可能となる。
【図面の簡単な説明】
【００１４】
【図１】本発明によるフィールド通信システムを適用した分散型フィールド制御システムの構成例を示すブロック図。
【図２】Modbusレジスタのレジスタ番号と、フィールド機器のデータとの対応付けを例示する図。
【図３】インプットレジスタにマッピングされるデータのデータ構造を示す図。
【図４】「ステータス」のデータ構造を示す図。
【図５】「ステータス」の値の制御に関するModbus/TCPサーバの処理を示すフローチャート。
【発明を実施するための形態】
【００１５】
以下、本発明によるフィールド通信システムの一実施形態について説明する。
【００１６】
図１は、本発明によるフィールド通信システムを適用した分散型フィールド制御システムの構成例を示すブロック図である。
【００１７】
図１に示すように、プラントにはISA100.11aフィールド無線規格に準拠した無線通信機能を備えるフィールド機器１，１，・・・が配置され、フィールド機器１，１，・・・は、それぞれISA100.11aフィールド無線規格に準拠したISA100無線ゲートウェイ２を介してModbus/TCPクライアント３と接続される。
【００１８】
図１に示すように、無線ゲートウェイ２は、Modbus/TCPサーバ２１と、フィールド機器１との間で無線通信を行うためのISA100バックボーンルータ２２とを内蔵している。Modbus/TCPサーバ２１には、Modbusレジスタ２１ａが設けられている。
【００１９】
後述するように、本実施形態のフィールド通信システムでは、Modbus/TCPサーバ２１が本発明における検出手段および書込手段として機能する。
【００２０】
フィールド機器１および無線ゲートウェイ２は、ISA100.11aフィールド無線規格に従ったPublish/Subscribe方式による無線通信を行う。フィールド機器１から無線通信により送信されたプロセスデータ等はバックボーンルータ２２を介して受信され、Modbus/TCPサーバ２１は、受信されたプロセスデータ等をModbusレジスタ２１ａにマッピングする。また、Modbus/TCPクライアント３はModbus/TCPプロトコルを使用して、Modbus/TCPサーバ２１から、Modbusレジスタ２１ａにマッピングされたプロセスデータ等を取得する。Modbus/TCPクライアント３は、取得されたプロセスデータ等に基づく制御を実行する。さらに、Modbus/TCPクライアント３はModbus/TCPプロトコルを使用して、Modbus/TCPサーバ２１のModbusレジスタ２１ａに操作値等をマッピングする。この操作値は、バックボーンルータ２２を介する無線通信によりフィールド機器１に与えられる。
【００２１】
このように、本実施形態のフィールド通信システムでは、Modbusレジスタ２１ａにデータをマッピングすることにより、通信対象となるデータを更新する。
【００２２】
図２は、Modbusレジスタ２１ａのレジスタ番号と、フィールド機器のデータとの対応付けを例示する図である。このような対応付けは、Modbusレジスタマッピング情報の定義ファイルにより予め定義される。図２に示すように、Modbusレジスタ２１ａの領域は、フィールド機器１から取得されたプロセスデータ等の読み込みに使用されるインプットレジスタと、Modbus/TCPクライアント３からの操作値などが書込まれるホールディングレジスタとに分離されている。インプットレジスタは読み込み専用の領域、ホールディングレジスタは読み込み／書き込み可能な領域としてそれぞれ使用される。
【００２３】
図２に示すように、フィールド機器のデータのデータは、ゲートウェイ名、フィールド機器名、ＵＡＰ（ユーザアプリケーション）名、データ名を順次用いた階層構造により表現される。例えば、無線ゲートウェイ２に対応するゲート名「GW0001」に属し、フィールド機器名「FIC100」、ＵＡＰ名「UAP1」、およびデータ名「UAP_STATUS」で順次特定されるデータは、「GW0001.FIC100.UAP1.UAP_STATUS」として表現され、このデータはインプットレジスタのレジスタ番号０−２に対応付けられている。
【００２４】
同様に、「GW0001.FIC100.UAP1.AI2_PV」として表現されるデータは、インプットレジスタのレジスタ番号３−５に対応付けられている。また、図２において網線を付して示している「GW0001.FIC100.UAP2. UAP_STATUS」として表現されるデータは、インプットレジスタのレジスタ番号Ｎ＋０,Ｎ＋１,Ｎ＋２に対応付けられている。
【００２５】
図３（ａ）は、インプットレジスタのレジスタ番号Ｎ＋０,Ｎ＋１,Ｎ＋２に対応付けられた「GW0001.FIC100.UAP2. UAP_STATUS」として表現されるデータのデータ構造を示す図である。
【００２６】
図３（ａ）に示すように、「GW0001.FIC100.UAP2.UAP_STATUS」として表現されるデータは、３２ビットの「データ値」と、８ビットの「ステータス」とからなる。一方、各レジスタ番号はデータ読み込みまたはデータ書込みの１単位としての１６ビット（１ワード）に対応しており、レジスタ番号Ｎ＋０には「ステータス」の８ビット、および３２ビットの「データ値」のうち上位８ビットが、割り当てられる。また、レジスタ番号Ｎ＋１およびレジスタ番号Ｎ＋２には、３２ビットの「データ値」のうち残りのビットが順次割り当てられる。
【００２７】
３２ビットの「データ値」は、フィールド機器１から送信されるプロセスデータ値や、自己診断結果（例えば、バッテリやセンサの状態）を示す値であるが、他のデータ値であってもよい。
【００２８】
図３（ｂ）は、「ステータス」をインプットレジスタにマッピングする際に、１バイト後方にシフトさせる例を示している。このように、「ステータス」の位置を１バイト分シフトさせることにより、３２ビットの「データ値」を２ワードの領域に格納することが可能となり、「データ値」がModbusレジスタ２１ａのワード境界をまたがる状態を回避できる。また、１ワード内における「ステータス」および「データ値」のビットの混在を防止できる。Modbus/TCPクライアント３は、Modbusレジスタ２１ａの情報をワード単位で読み込むため、連続した２ワードを１回の要求で取得することができる。さらに、取得された２ワード分のデータの固まりをModbus/TCPクライアント３においてデータ型変換すれば、そのまま浮動小数点データとして扱うことが可能となる。
【００２９】
図４は、「ステータス」のデータ構造を示す図である。
【００３０】
図４に示すように、「ステータス」は２ビットの「クオリティ」と、３ビットの「サブステータス」を含んで構成される。「サブステータス」以外のビットは、フィールド機器１から送信されたデータである。
【００３１】
「クオリティ」は、フィールド機器１の自己診断に基づくデータであり、当該フィールド機器１から送信されてくるデータ値の品質を示している。この値が「０」のときは「悪い」を、「２」のときは「良い」をそれぞれ示す。また、この値が「１」のときは、対応するフィールド機器１はISA100ネットワークに参加しデータを送信できているが、レンジオーバーなどで制御に使用できないデータであることを示している。
【００３２】
「サブステータス」は、フィールド機器１との間の通信状態に基づき、Modbus/TCPサーバ２１によりModbusレジスタ２１ａに書き込まれるデータである。Modbus/TCPサーバ２１は、例えば定期的に各フィールド機器１との間で通信を試み、通信状態を確認する。通信状態が正常な場合、Modbus/TCPサーバ２１は、そのフィールド機器１から送信されてくるデータを、Modbusレジスタ２１ａの対応する領域にコピーする。しかし、フィールド機器１がISA100ネットワークに参加していない場合には対応する「サブステータス」の値を「２」に、フィールド機器１がISA100ネットワークに参加しているがデータが到着しない場合には対応する「サブステータス」の値を「６」に、データが到着していたが途中から途絶した場合には対応する「サブステータス」の値を「５」に、それぞれ置換したうえでModbusレジスタ２１ａの対応する領域に書き込む。また、「サブステータス」の値を「２」、「６」、「５」のいずれかに書き換える場合には、Modbus/TCPサーバ２１は「クオリティ」の値を、「悪い」を示す「０」に置換したうえで、Modbusレジスタ２１ａの対応する領域に書き込む。
【００３３】
図５は、Modbusレジスタ２１ａに書き込まれる「ステータス」の値の制御に関するModbus/TCPサーバ２１の処理を示すフローチャートである。
【００３４】
図５のステップＳ１〜ステップＳ１１は、フィールド機器１との間の通信状態に基づき、「サブステータス」の値を特定する処理を示している。なお、この処理では、「サブステータス」の初期値（フィールド機器１から受信されたデータのデータ値）を「０」としている。
【００３５】
図５のステップＳ１では、受信フラグの値を「０」とする。この受信フラグは、データ受信がされた履歴の有無を示している。
【００３６】
次に、ステップＳ２では、対応するデータの「サブステータス」の値を「２」とする。
【００３７】
次に、ステップＳ３では、計時タイマをリセットして計時を開始する。次に、ステップＳ４では、対応するデータが受信されたか否か判断し、判断が肯定されればステップＳ５へ進み、判断が否定されればステップＳ７へ進む。
【００３８】
ステップＳ５では、受信フラグの値を「１」とする。次にステップＳ６では、対応するデータの「サブステータス」の値を「０」とし、ステップＳ３へ戻る。
【００３９】
一方、ステップＳ７では、計時開始（ステップＳ３）から所定時間が経過したか否か判断し、判断が肯定されればステップＳ８へ進み、判断が否定されればステップＳ４へ戻る。なお、ステップＳ７で判断対象となる上記所定時間は、通信異常と判定するためのタイムアウトとなる時間に相当する。
【００４０】
ステップＳ８では、対応するフィールド機器１がISA100ネットワークに参加しているか否か判断し、判断が肯定されればステップＳ９へ進み、判断が否定されればステップＳ２へ戻る。
【００４１】
ステップＳ９では、受信フラグの値が「１」であるか否か判断し、判断が肯定されればステップＳ１０へ進み、判断が否定されればステップＳ１１へ進む。
【００４２】
ステップＳ１０では、「サブステータス」の値を「５」とし、ステップＳ３へ進む。
【００４３】
一方、ステップＳ１１では、「サブステータス」の値を「６」とし、ステップＳ３へ進む。
【００４４】
図５のステップＳ２１〜ステップＳ２４は、「クオリティ」の値を切り替えるModbus/TCPサーバ２１の処理を示している。
【００４５】
ステップＳ２１では、対応するデータの「サブステータス」の値が「２」であるか否か判断し、判断が肯定されればステップＳ２４へ進み、判断が否定されればステップＳ２２へ進む。
【００４６】
ステップＳ２２では、対応するデータの「サブステータス」の値が「５」であるか否か判断し、判断が肯定されればステップＳ２４へ進み、判断が否定されればステップＳ２３へ進む。
【００４７】
ステップＳ２３では、対応するデータの「サブステータス」の値が「６」であるか否か判断し、判断が肯定されればステップＳ２４へ進み、判断が否定されればステップＳ２１へ戻る。
【００４８】
ステップＳ２４では、対応するデータの「クオリティ」の値を「０」とし、処理を終了する。
【００４９】
このように、本実施形態のフィールド通信システムでは、「サブステータス」の値によりフィールド機器１との間の通信状態を示すとともに、「サブステータス」の値を「クオリティ」の値に反映させている。このため、Modbus/TCPクライアント３が「クオリティ」の値を読み、この値が「０」であれば当該データが信用できないと判断することができる。また、そのときの「ステータス」の値を確認することにより、異常要因の詳細を把握することができる。例えば、制御アプリケーションで参照しているプロセスデータをＩＯＰ（Input Open）と判断させ、あるいは異常状況をシステムアラームで通知させることも可能となる。
【００５０】
また、「クオリティ」の値が「１」のときは、フィールド機器１から受信されているデータがレンジオーバーなどで制御に使用できないデータであるため、Modbus/TCPクライアント３では、「クオリティ」の値が「１」になる前の状態を継続すべきである。すなわち、Modbus/TCPクライアント３は次のように振舞うべきである。
【００５１】
第１に、「クオリティ」の値が「０」から「１」に変化した場合、Modbus/TCPクライアント３は当該データの品質が「良い」状態に復帰したとは判断しない。第２に、「クオリティ」の値が「２」から「１」に変化した場合、Modbus/TCPクライアント３は当該データを信用せずに、「クオリティ」の値が「２」であったときの直近のデータを保持する。
【００５２】
以上のように、本実施形態のフィールド通信システムによれば、Modbus/TCPサーバ２１から取得されるデータに付随する「ステータス」に基づいて、ISA100.11aフィールド無線規格に準拠するフィールド機器１の故障やISA100無線ネットワーク状態の異常等に基づく通信異常を把握できるため、故障や異常を早期に発見し修復することが可能となる。これにより、システム全体の稼働率を向上させることができる。
【００５３】
上記実施形態では、フィールド機器がISA100無線ネットワークに接続される場合を例示しているが、他方式の無線通信や有線通信を用いる場合であっても、下位側のフィールド機器のデータを上位側のサーバが収集するような構成のシステムであれば、サーバにおいて、このデータに対し「ステータス」に相当する情報を付加することができる。また、上記実施形態では、Modbus/TCPサーバによる処理を例示しているが、Modbusスレーブ機能やＯＰＣサーバ機能を用いることで同様の処理を実行できる。
【００５４】
本発明の適用範囲は上記実施形態に限定されることはない。本発明は、フィールド機器からのデータを、通信ネットワークを介して受け取ってレジスタにマッピングすることにより、前記データを更新するフィールド通信システムに対し、広く適用することができる。
【符号の説明】
【００５５】
１      フィールド機器
２１    Modbus/TCPサーバ（検出手段、書込手段）
【図１】
2012004790.tif 000003
【図４】
2012004790.tif 000004
【図５】
2012004790.tif 000005
【図２】
2012004790.tif 000006
【図３】
2012004790.tif 000007