(57)【特許請求の範囲】
【請求項１】
複数の通信プロトコルのうちのいずれかの通信プロトコルでフィールドバスを介したデータの送受信を行うフィールド装置において、
前記フィールドバスを介したデータの送受信時の通信プロトコルを指示する制御部と、
前記複数の通信プロトコルのうちのいずれかの通信プロトコルでデータの送受信を行う送受信部、前記送受信部で受信されたデータの受信フレームの内容を確認するフレーム確認部、前記制御部の指示と前記フレーム確認部で確認された受信フレームに含まれる命令が読込命令及び書込命令のいずれであるかとに基づいて前記送受信部の通信プロトコルを切り替える切替部、を有するフィールドバスコントローラと、
を備えるフィールド装置。
【請求項２】
前記切替部は、前記制御部の指示と、前記フレーム確認部で確認された受信フレームに含まれる命令が読込命令及び書込命令のいずれであるかと、に基づいて、送信データに係る通信プロトコルと、受信データに係る通信プロトコルと、を個別に切り替える請求項１に記載のフィールド装置。
【請求項３】
前記制御部は、前記フィールドバスコントローラから参照可能なレジスタを有し、当該レジスタに前記指示すべき通信プロトコルに係る情報を格納する請求項１又は２に記載のフィールド装置。
【請求項４】
複数の通信プロトコルのうちのいずれかの通信プロトコルでデータの送受信を行う送受信部と、
前記送受信部で受信されたデータの受信フレームの内容を確認するフレーム確認部と、
入力される切替指示と前記フレーム確認部で確認された受信フレームに含まれる命令が読込命令及び書込命令のいずれであるかとに基づいて、前記送受信部の通信プロトコルを切り替える切替部と、
を備えるフィールドバスコントローラ。
【請求項５】
前記切替部は、前記入力される切替指示と、前記フレーム確認部で確認された受信フレームに含まれる命令が読込命令及び書込命令のいずれであるかと、に基づいて、送信データに係る通信プロトコルと、受信データに係る通信プロトコルと、を個別に切り替える請求項４に記載のフィールドバスコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フィールド装置及びフィールドバスコントローラに関する。
【背景技術】
【０００２】
従来、石油・石油化学、化学、鉄鋼などの産業プラントでは、フィールドバスにより制御装置と測定機器・調節弁などの現場との間のデータ通信を行っている。フィールドバスは、フィールド装置と制御デバイスの間におけるデジタル双方向のマルチドロップ通信リンクであり、上述した産業プラントのローカルエリアネットワークの一つである。
【０００３】
具体的には、図８に示すように、フィールドバスＦＢは、制御ステーション２０４と現場に設置される調整弁や測定機器などであるフィールド機器２１０、２２０、２３０とを接続している。制御ステーション２０４は、通信ネットワークＮを介してＷＳ（Work  Station）などである情報機器２０１〜２０３と接続されている。情報機器２０１〜２０３は産業プラントの中央制御室などに設置されている。操作者は情報機器２０１〜２０３を操作することで、現場に設置される調整弁の制御や測定機器からのデータ収集を行うことができる。
【０００４】
上述したフィールドバスＦＢの通信仕様は、図９のＯＳＩ（Open Systems Interconnection）参照モデルと比較すると、物理層、データリンク（ＤＬ：Data  Link）層、アプリケーション層の３層からなる、簡素化されたものとなっている。なお、ＯＳＩ参照モデルの２〜７層（フィールドバスモデルのデータリンク層、アプリケーション層）は、ソフトウエアで占められており、一般に通信スタックと呼ばれる。
【０００５】
フィールドバスのアプリケーション層は、アクセス副層（ＦＡＳ：Fieldbus  Access  Sublayer：以下、単に「ＦＡＳ」という）、メッセージング副層（ＦＭＳ：Fieldbus  Message  Specification：以下、単に「ＦＭＳ」という）の二つの副層からなる。ＦＡＳは、データリンク層にＦＭＳを結びつける役割を果たす。ＦＭＳは、ポジショナ制御信号、下限リミット信号、バルブ開度信号、上限リミット信号等のセンサからの測定変量などのユーザーデータを含む。このユーザデータは、制御装置やフィールド装置のユーザアプリケーションで利用するデータである。
【０００６】
ここで、フィールドバスによるデータ伝送について説明する。図１０に示すように、各層では、上位層のプロトコルデータユニット（ＰＤＵ：Protocol  Data  Unit：以下、単に「ＰＤＵ」という）にプロトコル制御情報（ＰＣＩ：Protocol  Control  Infomation：以下、単に「ＰＣＩ」という）と呼ばれる層制御情報やＣＲＣ（Cyclic Redundancy Check）方式のフレームチェックシーケンス（ＦＣＳ：Frame Check Sequence）等を付加する。ここでＰＣＩは、ＰＤＵに関する制御情報であり、フレームの開始／終了を示すフラグシーケンス、伝送先アドレスなどを示すアドレスフィールド、制御フィールドなどを含む。
【０００７】
上述したように、各層においてＰＣＩやＦＣＳ等の情報を付加した結果、下位層になるほど、より多くの情報がユーザデータに付加される。最下層であり、フィールドバス上でのデータ伝送が行われる物理層では、データリンク層のプロトコルデータユニット（ＤＬ  ＰＤＵ）にプリアンブル、開始信号、終了信号が付加されてデータ伝送が行われる。
【０００８】
次に、フィールドバスＦＢに接続する従来のフィールド機器の詳細を説明する。図１１に示すとおり、フィールド機器は、ＭＡＵ３０１、フィールドバスコントローラ３０２、制御部３０３、フラッシュＲＯＭ３０４、ＲＡＭ３０５、ＥＥＰＲＯＭ３０６、同期信号生成部３０７、センサ３０８を有している。制御部３０３、フィールドバスコントローラ３０２、フラッシュＲＯＭ３０４、ＲＡＭ３０５は、アドレスバス３０９により互いに接続されている。
【０００９】
ＭＡＵ３０１は、フィールドバスＦＢと接続するＭＡＵ（Media  Attachment  Unit）であり、フィールドバスＦＢを介した信号の送受信時において信号波形の成形を行う。
【００１０】
フィールドバスコントローラ３０２は、図１２に示すように、Ｉ／Ｆ部４０１、送信用バッファ４１１、送信部４１２、ＦＣＳ生成部４１３、エンコーダ４１４、信号送信部４１５、信号受信部４２１、デコーダ４２２、受信部４２３、ＦＣＳ確認部４２４、受信用バッファ４２５を有する。
【００１１】
Ｉ／Ｆ部４０１は、制御部３０３と接続するとともに、同期信号生成部３０７からの同期信号を受け付ける。送信用バッファ４１１はＦＩＦＯ（First In, First Out）でデータを格納するバッファである。送信用バッファ４１１は、制御部３０３からＩ／Ｆ部４０１を介して入力される送信データを順次格納する。送信用バッファ４１１に格納される送信データは、図１０に例示したＦＡＳ層のプロトコルデータユニット（ＦＡＳ  ＰＤＵ）である。
【００１２】
送信部４１２は、送信用バッファ４１１に格納された送信データを読み出して、データリンク層のＰＣＩの付加、ＦＣＳ生成部４１３によりＣＲＣ方式などで生成されたＦＣＳの付加を行いエンコーダ４１４へ出力する。エンコーダ４１４は、送信部４１２から出力されたデータに対してマンチェスター符号化などのエンコード処理を行う。信号送信部４１５はエンコーダ４１４によりエンコード処理されたデータ（ＤＬ  ＰＤＵ）へ、プリアンブル、開始信号、終了信号などを付加し、送信信号としてＭＡＵ３０１へ出力する。
【００１３】
フィールドバスコントローラ３０２では、上述した送信用バッファ４１１、送信部４１２、ＦＣＳ生成部４１３、エンコーダ４１４、信号送信部４１５により、制御部３０３からの送信データ（ＦＡＳ  ＰＤＵ）を送信用バッファ４１１に一時格納し、当該制御部３０３からの割込信号に基づいてＭＡＵ３０１へ送信データに基づいた送信信号（プリアンブル、開始信号、ＤＬ  ＰＤＵ、終了信号）を出力する。
【００１４】
信号受信部４２１は、ＭＡＵ３０１で受信された受信信号を受け付けて、プリアンブル、開始信号、終了信号を除いたデータ（ＤＬ  ＰＤＵ）をデコーダ４２２へ出力する。デコーダ４２２は、信号受信部４２１で受け付けられ、マンチェスター符号化されたデータの復号などのデコード処理を行う。
【００１５】
受信部４２３は、デコーダ４２２で復号されたデータに含まれるデータリンク層のＰＣＩとＦＣＳを取り出し、残りのＦＡＳ  ＰＤＵをＦＣＳ確認部４２４へ出力する。ＦＣＳ確認部４２４は、ＦＡＳ  ＰＤＵのＣＲＣと受信したデータに含まれるＦＣＳとを比較してデータの正当性を確認する。受信部４２３は、ＦＣＳ確認部４２４によりＦＣＳの確認が行われた後のＦＡＳ  ＰＤＵを受信データとして受信用バッファ４２５へ格納し、制御部３０３へ割込信号を出力する。
【００１６】
フィールドバスコントローラ３０２では、上述した信号受信部４２１、デコーダ４２２、受信部４２３、ＦＣＳ確認部４２４、受信用バッファ４２５により、ＭＡＵ３０１からの受信信号（プリアンブル、開始信号、ＤＬ  ＰＤＵ、終了信号）に基づいた受信データ（ＦＡＳ  ＰＤＵ）を受信用バッファ４２５に一時格納し、制御部３０３へ割込信号を出力する。
【００１７】
図１１に示すように、制御部３０３は、ＲＡＭ３０５（Random  Access  Memory）を作業領域として、ＥＥＰＲＯＭ３０６（Electrically  Erasable  and  Programmable  Read Only Memory）に格納された制御プログラムや設定情報などを順次読み出して実行することで、フィールド機器の各部を統括制御する。
【００１８】
具体的には、制御部３０３は、フィールドバスコントローラ３０２の受信用バッファ４２５に格納された受信データ（ＦＡＳ  ＰＤＵ）をフィールドバスコントローラ３０２からの割込信号に基づいて随時取り込み、ＰＣＩ（ＦＡＳ  ＰＣＩ、ＦＭＳ  ＰＣＩ等）に基づいた処理を行ってユーザデータを取り出し、当該ユーザデータに基づいた処理を実行する。例えばこのユーザデータに基づいた処理としては、ユーザデータが計測データの読込命令などの場合、ＲＡＭ３０５に格納された計測データが読み込まれて当該ユーザーデータの送信元へ返信される。また、ユーザデータがＲＡＭ３０５へのデータの書込命令などの場合、当該ユーザデータに基づいたデータがＲＡＭ３０５へ書き込まれる。
【００１９】
また、制御部３０３は、外部機器へ送信すべきユーザデータを符号化し、各層制御情報（ＦＭＳ  ＰＣＩ、ＦＡＳ  ＰＣＩ）を付加して送信データ（ＰＡＳ  ＰＤＵ）を作成し、フィールドバスコントローラ３０２の送信用バッファ４１１へ格納し、フィールドバスコントローラ３０２へデータ送信のための割込信号を出力する。
【００２０】
ＲＡＭ３０５は、フィールド機器の設定データやセンサ３０８の計測データを格納する。同期信号生成部３０７は、水晶発振器などを備えた回路であり、同期信号を生成して制御部３０３やフィールドバスコントローラ３０２等に出力する。センサ３０８は、各種測定変量を検出して制御部３０３へ出力する。
【００２１】
上述したとおり、従来のフィールド機器では、制御部３０３において、ＦＡＳ  ＰＤＵ以上の上位層に関する処理、即ちアプリケーション層の処理を行う構成である。このため、通常の通信プロトコル以外の通信プロトコルであって、アプリケーション層の処理を改良した安全計装用の通信プロトコルも使用する場合は、制御部３０３のファームウエアを改良して複数の通信プロトコルに対応させていた。
【００２２】
例えば、安全計装用の通信プロトコルは、通常の通信プロトコルに追加処理を行う通信プロトコルであり、アプリケーション層のデータを基にＣＲＣ３２を計算する、当該ＣＲＣ３２を含むアプリケーション層のデータを２重にして送受信するものである。
【００２３】
上述した複数の通信プロトコルに対応する技術として、特許文献１には、フィールドバスコントローラ３０２側で伝送データのフレーム判別を行い、適切な通信プロトコルを選択して送受信を行う技術が開示されている。また、非特許文献１は、従来のフィールドバスコントローラに関する文献である。
【特許文献１】特開２００４−１２０６６８号公報
【非特許文献１】ＹＡＭＡＨＡ  ＣＯＲＰＯＲＡＴＩＯＮ，「ＹＴＺ４２０  ＡＰＰＬＩＣＡＴＩＯＮ  ＭＡＮＵＡＬ」，ＣＡＴＡＬＯＧ  Ｎｏ．：ＬＳＩ−６ＴＺ４２０Ａ０，１９９５年７月
【発明の開示】
【発明が解決しようとする課題】
【００２４】
しかしながら、上記従来技術では、複数の通信プロトコルへの対応には制御部３０３のファームウエアを新たに開発するための開発期間が必要であり、容易に実現できるものではなかった。また、通常の通信プロトコル以外の追加処理がある場合には、その追加処理のために制御部３０３の限られた資源が使用されるため、通信パフォーマンスの低下や、本来実現すべき制御演算、センサからの信号変換、ファンクションブロックの実行時間が遅くなる虞があった。
【００２５】
本発明の課題は、上記従来技術の問題に鑑みてなされたものであり、複数の通信プロトコルを用いたフィールドバスでのデータ通信を、装置本来の演算処理への影響を少なく且つ容易に実現する技術を提供することである。
【課題を解決するための手段】
【００２６】
上記課題を解決するために、請求項１に記載の発明は、
複数の通信プロトコルのうちのいずれかの通信プロトコルでフィールドバスを介したデータの送受信を行うフィールド装置において、
前記フィールドバスを介したデータの送受信時の通信プロトコルを指示する制御部と、
前記複数の通信プロトコルのうちのいずれか一の通信プロトコルでデータの送受信を行う送受信部、前記送受信部で受信されたデータの受信フレームの内容を確認するフレーム確認部、前記制御部の指示と前記フレーム確認部で確認された受信フレームに含まれる命令が読込命令及び書込命令のいずれであるかとに基づいて前記送受信部の通信プロトコルを切り替える切替部、を有するフィールドバスコントローラと、
を備える。
【００２８】
請求項２に記載の発明は、請求項１に記載の発明において、前記切替部は、前記制御部の指示と、前記フレーム確認部で確認された受信フレームに含まれる命令が読込命令及び書込命令のいずれであるかと、に基づいて、送信データに係る通信プロトコルと、受信データに係る通信プロトコルと、を個別に切り替える。
【００２９】
請求項３に記載の発明は、請求項１又は２に記載の発明において、前記制御部は、前記フィールドバスコントローラから参照可能なレジスタを有し、当該レジスタに前記使用すべき通信プロトコルに係る情報を格納することで、前記フィールドバスコントローラで使用すべき通信プロトコルを指示する。
【００３０】
請求項４に記載の発明は、フィールドバスコントローラにおいて、複数の通信プロトコルのうちのいずれか一の通信プロトコルでデータの送受信を行う送受信部と、
前記送受信部で受信されたデータの受信フレームの内容を確認するフレーム確認部と、
入力される切替指示と前記フレーム確認部で確認された受信フレームに含まれる命令が読込命令及び書込命令のいずれであるかとに基づいて、前記送受信部の通信プロトコルを切り替える切替部と、
を備える。
【００３２】
請求項５に記載の発明は、請求項４に記載の発明において、前記切替部は、前記入力される切替指示と、前記フレーム確認部で確認された受信フレームに含まれる命令が読込命令及び書込命令のいずれであるかと、に基づいて、送信データに係る通信プロトコルと、受信データに係る通信プロトコルと、を個別に切り替える。
【発明の効果】
【００３３】
本発明によれば、複数の通信プロトコルを用いたフィールドバスでのデータ通信を行う際に、当該複数の通信プロトコルに関する多くの処理を制御部が行う必要がなくなるため、装置本来の演算処理への影響を少なくすることができる。また、制御部側では単に通信プロトコルを指示するだけでよいため、制御部側のファームウエアの変更箇所を少なくして複数の通信プロトコルに対応でき、容易に実現することができる。
【発明を実施するための最良の形態】
【００３４】
以下、この発明の実施の形態について図を参照して説明するが、この発明は以下の実施の形態に限定されない。また、この発明の実施の形態は発明の最も好ましい形態を示すものであり、発明の範囲を限定するものではない。
【００３５】
先ず、本発明を適用したフィールド装置の構成について説明する。図１に示すように、フィールド装置１は、ＭＡＵ１１、フィールドバスコントローラ１２、制御部１３、フラッシュＲＯＭ１４、ＲＡＭ１５、ＥＥＰＲＯＭ１６、同期信号生成部１７、センサ１８を有する構成である。フィールド装置１はフィールドバスＦＢとＭＡＵ１１を介して接続される。フィールドバスコントローラ１２、制御部１３、フラッシュＲＯＭ１４、ＲＡＭ１５は装置内部のアドレスバス１９により互いに接続されている。
【００３６】
なお、ＭＡＵ１１、フラッシュＲＯＭ１４、ＲＡＭ１５、ＥＥＰＲＯＭ１６、同期信号生成部１７、センサ１８は、前述した従来のフィールド機器における該当各部と略同一であるため、説明は省略する。
【００３７】
フィールドバスコントローラ１２は、図２に示すように、Ｉ／Ｆ部２０、送信用バッファ２１、送信プロトコル切替部２２、フレーム生成部２３、符号生成部２４、送信部２５、ＦＣＳ生成部２６、エンコーダ２７、信号送信部２８、信号受信部３１、デコーダ３２、受信部３３、ＦＣＳ確認部３４、受信プロトコル切替部３５、フレーム確認部３６、符号確認部３７、受信用バッファ３８を有する。
【００３８】
制御部１３は、フィールドバスコントローラ１２で使用すべき通信プロトコルに係る情報を格納するレジスタ３０を有する。このレジスタ３０に格納される情報は、送信プロトコル切替部２２、受信プロトコル切替部３５から参照可能となっている。
【００３９】
Ｉ／Ｆ部２０、送信用バッファ２１、送信部２５、ＦＣＳ生成部２６、エンコーダ２７、信号送信部２８、信号受信部３１、デコーダ３２、受信部３３、ＦＣＳ確認部３４、受信用バッファ３８は、前述した従来のフィールドバスコントローラの該当各部と略同一であるため、説明は省略する。
【００４０】
送信プロトコル切替部２２は、レジスタ３０に格納された使用すべき通信プロトコルに係る情報を参照して、送信時における通信プロトコルを切り替える。また、送信プロトコル切替部２２は、フレーム確認部３６による受信フレームの確認結果に基づいて送信時における通信プロトコルの切り替えを行う。この送信時における通信プロトコルの切り替えについては、後述する送信時プロトコル処理で詳細を説明する。
【００４１】
フレーム生成部２３は、送信プロトコル切替部２２により安全計装用の通信プロトコルへの切り替えられた場合、送信用バッファ２１に格納された送信データを読み出して安全計装用の通信プロトコルに対応した送信フレームを生成する。例えば、送信用バッファ２１に格納された送信データ（読込命令に対する返信）へ、当該返信のもととなる受信データのシーケンス番号を付与した送信フレームを生成する。符号生成部２４は、フレーム生成部２３で生成された送信フレームに含まれる送信データとシーケンス番号、コネクションキー値からＣＲＣ３２方式で演算した符号データを生成する。
【００４２】
受信プロトコル切替部３５は、レジスタ３０に格納された使用すべき通信プロトコルに係る情報を参照して、受信時における通信プロトコルを切り替える。また、受信プロトコル切替部３５は、フレーム確認部３６による受信フレームの確認結果に基づいて受信時における通信プロトコルの切り替えを行う。この受信時における通信プロトコルの切り替えについては、後述する受信時プロトコル処理で詳細を説明する。
【００４３】
フレーム確認部３６は、受信フレーム（ＦＭＳ  ＰＤＵ内の受信データ）を読み出して読込命令／書込命令であるか否かを確認する。符号確認部３７は、受信フレームに含まれる受信データとシーケンス番号、コネクションキー値からＣＲＣ３２方式で符号データを演算し、受信フレームのＣＲＣ３２に該当するデータと比較して、受信フレームの正当性を確認する。
【００４４】
上述したように、フィールドバスコントローラ１２は、上述した送信プロトコル切替部２２、受信プロトコル切替部３５において、制御部１３のレジスタ３０を参照し、そのレジスタ３０に格納された情報に基づいて、通信プロトコルを切り替える構成である。切り替える通信プロトコルには、従来の構成による通常の通信プロトコルと、更にフレーム生成部２３、符号生成部２４、フレーム確認部３６、符号確認部３７を用いた安全計装用の通信プロトコルとがある。
【００４５】
安全計装用の通信プロトコルとは、アプリケーション層のデータを基にＣＲＣ３２方式の符号を算出し、ＣＲＣ３２方式で算出された符号を含むアプリケーション層のデータを２重に伝送する通信プロトコルである。
【００４６】
この安全計装用の通信プロトコルを使用する通信仕様としては、読込命令受信の際の受信フレームに通常の通信プロトコルを使用してその返信に安全計装用の通信プロトコルを使用する。また、書込命令受信の際には、受信フレームに安全計装用の通信プロトコルを使用し、その返信に通常の通信プロトコルを使用する。
【００４７】
なお、本実施の形態では、通常の通信プロトコルと安全計装用の通信プロトコルを切り替えてデータ伝送を行うフィールドバスコントローラ１２を例示したが、更に複数の通信プロトコルを切り替えてデータ伝送を行う構成であってもよい。また、通信プロトコルの種別も通常／安全計装以外のものであってよく、特に限定しない。
【００４８】
次に、制御部１３とフィールドバスコントローラ１２とによるフィールド装置１の動作について図３〜５を参照して説明する。なお、以下の説明においては、フィールドバスコントローラ１２が行う動作については符号の頭に「Ａ」を付して説明する。また、制御部１３が行う動作については符号の頭に「Ｂ」を付して説明する、また、フィールドバスコントローラ１２と制御部１３との間の信号の送受信については符号の頭に「Ｃ」を付して説明する。
【００４９】
フィールド装置１では、図３に示すように、フィールドバスコントローラ１２においてＭＡＵ１１からの信号受信が開始されて受信用バッファ３８への受信データの格納が行われると（ステップＡ１）、フィールドバスコントローラ１２から制御部１３へ割込信号の送信が行われて、制御部１３からその受信データの参照が行われる（ステップＣ１）。
【００５０】
次いで、制御部１３においてフィールド装置１の通信プロトコルに関する設定データがＥＥＰＲＯＭ１６などから読み出され（ステップＢ１）、その読み出された設定データと参照された受信データとに基づいて、フィールドバスコントローラ１２での送受信データで使用する通信プロトコルに係る値がレジスタ３０にセットされる（ステップＢ２）。
【００５１】
次いで、ステップＢ２によりレジスタ３０にセットされた値がフィールドバスコントローラ１２で参照されて（ステップＣ２）、受信時プロトコル処理が行われる（ステップＡ２）。
【００５２】
図４に示すように、フィールドバスコントローラ１２において、受信時プロトコル処理が開始されると、レジスタ３０にセットされた値が通常の通信プロトコルの使用を示す値、又は、安全計装用の通信プロトコルの使用を示す値のいずれであるかが判定される（ステップＡ１１）。
【００５３】
このステップＡ１１における判定は、前述した通常の通信プロトコル、安全計装用の通信プロトコルの二つの通信プロトコルだけでなく、更に複数の通信プロトコルの使用を判定するものであってよい。また、前述の通信プロトコル以外の通信プロトコルの使用を判定してもよい。
【００５４】
ステップＡ１１において、安全計装用の通信プロトコルの使用であると判定された場合は、フレーム確認部３６により受信フレームが確認され（ステップＡ１２）、その受信フレームに含まれる命令が読込命令又は書込命令のいずれであるかが判定される（ステップＡ１３）。
【００５５】
ステップＡ１１において通常の通信プロトコルであると判定された場合及びステップＡ１３において読込命令であると判定された場合は、２重に伝送されるアプリケーション層のデータに係る処理や、符号確認部３７によるＣＲＣ３２のチェックなどの安全計装用の通信プロトコルに係る処理が行われることなく、受信部３３からのデータがそのまま受信用バッファ３８に格納される（ステップＡ１４）。
【００５６】
ステップＡ１３において書込命令であると判定された場合は、ステップＡ１５〜Ａ２３の処理が行われて、安全計装用の通信プロトコルで伝送されたデータの受信処理が行われる。
【００５７】
具体的には、ｉ＝０、１の時にステップＡ１７〜Ａ２２が行われることで２重に伝送されるデータのそれぞれが受信される。その受信されたそれぞれのデータについては、データのＰＤＵが確認される（ステップＡ１７）。次いで、シーケンス番号の確認、すなわち、受信されたデータにおけるシーケンス番号が予め設定されたものと等しいか否かの確認が行われる（ステップＡ１８）。次いで、受信されたデータが受信用バッファ３８に格納される（ステップＡ１９）。
【００５８】
次いで、コネクションキー値と受信用バッファ３８に格納されたデータと、に基づいたＣＲＣ３２方式の符号演算が行われ（ステップＡ２０）、その演算結果と受信データに含まれるＣＲＣ３２方式の符号の値との比較が行われ、受信データの正当性がチェックされる（ステップＡ２１）。
【００５９】
上述したステップＡ１７、Ａ１８で異常と判定された場合や、ステップＡ２１において互いの符号値が等しくないと判定されて受信データの正当性が否定された場合は、受信用バッファ３８に格納された受信データの破棄や送信元に再送要求を行うなどのエラー処理が行われる（ステップＡ２３）。
【００６０】
図３に示すように、上述した受信時プロトコル処理（ステップＡ２）に次いで、フィールドバスコントローラ１２から制御部１３へ割込信号の送信が行われて、受信時プロトコル処理後に受信用バッファ３８に格納された受信データが制御部１３から参照される（ステップＣ３）。
【００６１】
すなわち、ステップＣ３では、ステップＡ１１において通常の通信プロトコルであると判定された場合及びステップＡ１３において読込命令であると判定された場合、安全計装用の通信プロトコルに係る処理が行われることなく、信号受信部３１の信号受信により受信用バッファ３８に格納された受信データがそのまま制御部１３から参照される。また、ステップＣ３では、ステップＡ１１において安全計装用の通信プロトコルでありステップＡ１３において書込命令であると判定された場合、信号受信部３１の信号受信による受信データに安全計装用の通信プロトコルに係る処理が施されて受信用バッファ３８に格納されたデータが制御部１３から参照される。
【００６２】
次いで、その受信データに基づいたファームウエアの処理が行われ（ステップＢ３）、返信用データが作成され（ステップＢ４）、その返信用データが制御部１３からフィールドバスコントローラ１２へ送信される（ステップＣ４）。
【００６３】
次いで、その送信された返信用データが送信用バッファ２１に格納され（ステップＡ３）、送信時プロトコル処理が行われる（ステップＡ４）。
【００６４】
図５に示すように、フィールドバスコントローラ１２において、送信時プロトコル処理が開始されると、レジスタ３０にセットされた値が通常の通信プロトコルの使用を示す値、又は、安全計装用の通信プロトコルの使用を示す値のいずれであるかが判定される（ステップＡ３１）。
【００６５】
このステップＡ３１における判定は、前述した通常の通信プロトコル、安全計装用の通信プロトコルの二つの通信プロトコルだけでなく、更に複数の通信プロトコルの使用を判定するものであってよい。また、前述の通信プロトコル以外の通信プロトコルの使用を判定してもよい。
【００６６】
ステップＡ３１において、安全計装用の通信プロトコルの使用であると判定された場合は、返信の元となる受信データの受信フレームがフレーム確認部３６により確認され（ステップＡ３２）、その受信フレームに含まれる命令が読込命令又は書込命令のいずれであるかが判定される（ステップＡ３３）。
【００６７】
ステップＡ３１において通常の通信プロトコルであると判定された場合及びステップＡ３３において書込命令であると判定された場合は、アプリケーション層のデータを２重に伝送するための処理や、符号生成部２４によりＣＲＣ３２方式の符号を生成して送信データに付す処理などの安全計装用の通信プロトコルに係る処理が行われることなく、そのまま終了する。
【００６８】
ステップＡ３３において読込命令であると判定された場合は、ステップＡ３４〜Ａ３８による安全計装用の通信プロトコルで送信するための処理が行われて終了する。
【００６９】
具体的には、返信の元となる受信データに基づいたシーケンス番号が付与され（ステップＡ３４）、コネクションキー値が読み込まれて（ステップＡ３５）、そのコネクションキー値と、送信用バッファ２１に格納されたデータと、に基づいたＣＲＣ３２方式の符号演算が行われる（ステップＡ３６）。
【００７０】
次いで、返信用データ、ステップＡ３４によるシーケンス番号、ステップＡ３６による符号演算の結果の順に、安全計装用の通信プロトコルとしての要件を備えた送信用データが送信用バッファ２１に格納され（ステップＡ３７）、その送信用バッファ２１に格納された送信用データが２回送信されるようにセットされる（ステップＡ３８）。具体的には、送信用バッファ２１に同じ送信用データが続けて格納される。
【００７１】
図３に示すように、上述した送信時プロトコル処理（ステップＡ４）に次いで、送信用バッファ２１に格納された送信用データに基づいた信号送信が信号送信部２８からＭＡＵ１１へ行われる（ステップＡ５）。
【００７２】
すなわち、ステップＡ５では、ステップＡ３１において通常の通信プロトコルであると判定された場合及びステップＡ３３において書込命令であると判定された場合、制御部１３からの返信用データがそのまま通常の通信プロトコルで送信される。また、ステップＡ５では、ステップＡ３１において安全計装用の通信プロトコルでありステップＡ３３において読込命令であると判定された場合、制御部１３からの返信用データが安全計装用の通信プロトコルで送信される。
【００７３】
以上のように、フィールド装置１は、複数の通信プロトコルのうちのいずれかの通信プロトコルでフィールドバスを介したデータの送受信を行うフィールド装置であって、前記フィールドバスを介したデータの送受信時の通信プロトコルを指示する制御部（制御部１３）と、前記複数の通信プロトコルのうちのいずれかの通信プロトコルでデータの送受信を行う送受信部（送信部２５、受信部３３）、前記制御部の指示に基づいて前記送受信部の通信プロトコルを切り替える切替部（送信プロトコル切替部２２、受信プロトコル切替部３５）、を有するフィールドバスコントローラ（フィールドバスコントローラ１２）と、を備える。
【００７４】
このため、フィールド装置１では、複数の通信プロトコルを用いたフィールドバスでのデータ通信を行う際に、当該複数の通信プロトコルに関する処理（例えばステップＡ２、Ａ４）を制御部１３が行う必要がない。よって、フィールド装置１では、複数の通信プロトコルを用いたフィールドバスでのデータ通信を、装置本来の演算処理への影響を少なくして行うことができる。また、フィールド装置１では、制御部１３側から単に通信プロトコルを指示するだけでよいため、制御部１３側のファームウエアの変更箇所を極力少なくして複数の通信プロトコルに対応できる。よって、フィールド装置１では、このファームウエアの開発期間を短縮することができ、容易に実現することができる。
【００７５】
また、フィールド装置１において、前記フィールドバスコントローラは、前記送受信部で受信されたデータの受信フレームの内容を確認するフレーム確認部（フレーム確認部３６）を有し、前記切替部は、前記フレーム確認部で確認された受信フレームの内容に基づいて前記送受信部の通信プロトコルを切り替える構成である。
【００７６】
このため、フィールド装置１では、受信フレームの内容に基づいた通信プロトコルの切り替えを行うことができる。例えば、フィールド装置１では、受信フレームの内容が読込命令／書込命令の場合で使用する通信プロトコルを切り替えることができる。
【００７７】
また、フィールド装置１において、前記切替部は、前記制御部の指示に基づいて、送信データに係る通信プロトコルと、受信データに係る通信プロトコルと、を個別に切り替える構成である。
【００７８】
このため、フィールド装置１では、送信と受信とで使用する通信プロトコルを個別に切り替えることができる。例えば、フィールド装置１では、受信は通常の通信プロトコルを使用し、送信は安全計装用の通信プロトコルを使用することができる。逆に、フィールド装置１では、受信は安全計装用の通信プロトコルを使用し、送信は通常の通信プロトコルを使用することができる。これにより、フィールド装置１は、他のフィールド装置が安全計装用の通信プロトコルに対応しているか否かに関係なく、通信を行うことができる。また、フィールド装置１では、送受信で異なる通信プロトコル処理を受信フレームの確認によりフィールドバスコントローラ１２が実施するため、制御部１３のファームウエアは本来の演算処理などへの影響を少なくすることができる。
【００７９】
また、フィールド装置１において、前記制御部は、前記フィールドバスコントローラから参照可能なレジスタ（レジスタ３０）を有し、当該レジスタに前記指示すべき通信プロトコルに係る情報を格納する構成である。
【００８０】
このため、フィールド装置１では、フィールドバスコントローラから参照可能なレジスタを備えることにより、当該レジスタを介してフィールドバスコントローラにおける送受信時の通信プロトコルの設定を行うことができる。よって、フィールド装置１では、複数の通信プロトコルへ対応するためのファームウエアの変更箇所を極力少なくすることができる。これにより、フィールド装置１では、ファームウエアの開発期間を短縮することができ、ファームウエアの開発コストを削減するほか、ファームウエアの信頼性を向上させることができる。
【００８１】
［変形例１］
なお、上述したフィールド装置１は、図６に示すように、制御部１３と従来のフィールドバスコントローラ３０２との間に直列に接続する安全計装対応コントローラ１２ａを備えるフィールド装置１ａであってもよい。この場合の制御部１３への割込は安全計装対応コントローラ１２ａから行われる。
【００８２】
このフィールド装置１ａにおける安全計装対応コントローラ１２ａは、Ｉ／Ｆ部２０、送信用バッファ２１、送信プロトコル切替部２２、フレーム生成部２３、符号生成部２４、受信プロトコル切替部３５、フレーム確認部３６、符号確認部３７、受信用バッファ３８を備えている。このため、前述したステップＡ２、ステップＡ４の処理が可能である。
【００８３】
［変形例２］
また、フィールド装置１は、図７に示すように、制御部１３と従来のフィールドバスコントローラ３０２とに並列に接続する安全計装対応コントローラ１２ｂを備えるフィールド装置１ｂであってもよい。この場合の制御部１３への割込は従来のフィールドバスコントローラ３０２から行われる。
【００８４】
このフィールド装置１ｂにおける安全計装対応コントローラ１２ｂは、Ｉ／Ｆ部２０、送信用バッファ２１、送信プロトコル切替部２２、フレーム生成部２３、符号生成部２４、受信プロトコル切替部３５、フレーム確認部３６、符号確認部３７、受信用バッファ３８を備えている。このため、前述したステップＡ２、ステップＡ４の処理が可能である。
【００８５】
なお、上述した実施の形態における記述は、一例を示すものであり、これに限定するものではない。上述した実施の形態における構成及び動作に関しては、適宜変更が可能である。
【図面の簡単な説明】
【００８６】
【図１】本実施の形態に係るフィールド装置の構成を模式的に示すブロック図である。
【図２】フィールドバスコントローラの構成を模式的に示すブロック図である。
【図３】フィールド装置の動作を示すラダーチャートである。
【図４】受信時プロトコル処理を示すフローチャートである。
【図５】送信時プロトコル処理を示すフローチャートである。
【図６】変形例１に係るフィールド装置の構成を模式的に示すブロック図である。
【図７】変形例２に係るフィールド装置の構成を模式的に示すブロック図である。
【図８】フィールドバスによる通信ネットワークを例示する概念図である。
【図９】フィールドバスの通信仕様を例示する概念図である。
【図１０】フィールドバスにより伝送されるデータを例示する概念図である。
【図１１】従来のフィールド機器の構成を模式的に示すブロック図である。
【図１２】従来のフィールドバスコントローラの構成を模式的に示すブロック図である。
【符号の説明】
【００８７】
１  フィールド装置
１１  ＭＡＵ
１２  フィールドバスコントローラ
１３  制御部
１４  フラッシュＲＯＭ
１５  ＲＡＭ
１６  ＥＥＰＲＯＭ
１７  同期信号生成部
１８  センサ
１９  アドレスバス
２０  Ｉ／Ｆ部
２１  送信用バッファ
２２  送信プロトコル切替部
２３  フレーム生成部
２４  符号生成部
２５  送信部
２６  ＦＣＳ生成部
２７  エンコーダ
２８  信号送信部
３０  レジスタ
３１  信号受信部
３２  デコーダ
３３  受信部
３４  ＦＣＳ確認部
３５  受信プロトコル切替部
３６  フレーム確認部
３７  符号確認部
３８  受信用バッファ
ＦＢ  フィールドバス
【図１】
0005115101.tif 000002
【図２】
0005115101.tif 000003
【図３】
0005115101.tif 000004
【図４】
0005115101.tif 000005
【図５】
0005115101.tif 000006
【図６】
0005115101.tif 000007
【図７】
0005115101.tif 000008
【図８】
0005115101.tif 000009
【図９】
0005115101.tif 000010
【図１０】
0005115101.tif 000011
【図１１】
0005115101.tif 000012
【図１２】
0005115101.tif 000013