(57)【要約】      （修正有）【課題】通信を続けながら簡便な構成及び手法で確実に通信プロトコル処理を更新することが可能な通信処理装置及び通信システムを提供する。【解決手段】上位装置は通信処理装置に対して更新する通信プロトコル処理のＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）回路データを送信するＳ１００と共に、通信処理装置にＦＰＧＡ回路の再構成を指示するＳ１０１。上位装置は通信処理装置からＦＰＧＡ回路の再構成終了フラグを読み出しＳ１０２、全ての通信処理装置の再構成終了フラグの終了を確認後Ｓ１０３、通信処理装置に通信プロトコル処理回路の切替を指示するＳ１０４。【選択図】図５
2017069777.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークに接続され、通信ネットワークの上位装置の動作中に論理回路の部分的な書き替えが可能なプログラマブルロジックデバイスを備えた通信処理装置であって、
前記プログラマブルロジックデバイスは、
通信プロトコル処理を行う少なくとも２つの通信処理回路であって、切替て１つが動作可能であるとともに、第１の通信処理回路で通信を行い、第２の通信処理回路が待機とされた通信処理回路、
前記通信ネットワークから、更新された通信プロトコル処理の論理回路データをダウンロードして、前記第２の通信処理回路に回路構成を行う更新手段、
前記第２の通信処理回路における回路構成が終了したかどうかを示すとともに、回路構成状態が通信により前記上位装置側に読み出し可能なフラグ、
前記通信処理回路のいずれを使用するかを切替るための、通信により前記上位装置側から書き込み可能なレジスタ、
を備えることを特徴とする通信処理装置。
【請求項２】
請求項１に記載の通信処理装置であって、
前記通信処理回路を切替るためのレジスタの内容を変更した場合に、前記上位装置との通信処理中には前記通信処理回路の切替は行わず、通信処理が終了したタイミングで切替を行うことを特徴とする通信処理装置。
【請求項３】
請求項１記載の通信処理装置であって、
前記使用する通信処理回路の入力信号の一部と出力信号の一部を比較して、通信プロトコル処理が正しく行われているかを診断する診断機能を備えることを特徴とする通信処理装置。
【請求項４】
請求項１から請求項３のいずれか１項に記載の通信処理装置を複数台、前記通信ネットワークに接続して構成された通信システムにおける通信方法であって、
前記通信処理装置の１つに接続され、前記通信処理回路の通信プロトコル処理変更を制御する上位装置は、
他の通信処理装置に、更新された通信プロトコル処理の論理回路データを送信し、
前記プログラマブルロジックデバイスに、送信した論理回路データの部分的な書き替え指示を送信し、
前記プログラマブルロジックデバイスから部分的な書き替えが終了したかどうかを示す前記フラグを読み出し、
全ての前記プログラマブルロジックデバイスにおいて部分的な書き替えが終了したことを確認し、全ての前記プログラマブルロジックデバイスに、更新された通信プロトコル処理回路を使用する設定を通信により行うことを特徴とする通信方法。
【請求項５】
通信ネットワーク上に上位装置と制御装置が通信処理装置を介して接続された通信システムであって、
前記通信処理装置は、前記上位装置の動作中に論理回路の部分的な書き替えが可能なプログラマブルロジックデバイスを備え、
前記プログラマブルロジックデバイスは、
通信プロトコル処理を行う少なくとも２つの通信処理回路であって、切替て１つが動作可能であるとともに、第１の通信処理回路で通信を行い、第２の通信処理回路が待機とされた通信処理回路、
前記通信ネットワークから、更新された通信プロトコル処理の論理回路データをダウンロードして、前記第２の通信処理回路に回路構成を行う更新手段、
前記第２の通信処理回路における回路構成が終了したかどうかを示すとともに、回路構成状態が通信により前記上位装置側に読み出し可能なフラグ、
前記通信処理回路のいずれを使用するかを切替るための、通信により前記上位装置側から書き込み可能なレジスタ、
を備えることを特徴とする通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各種の通信ネットワークで使用される通信処理装置、通信方法および通信システムに関する。
【背景技術】
【０００２】
各種の通信ネットワークとして、例えば電力システムや産業システムでは、上位装置と複数の制御装置の間でＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）ポートを経由して通信を行っており、様々な制御装置などが相互に通信を行うために、通信ケーブルと通信処理装置（例えばスイッチ）で通信ネットワークが構成されている。
【０００３】
この場合に通信は、通信ネットワーク上での通信に関する規約を定めた通信プロトコルに従って行われる。また通信されるデータは一回で全てを送るのではなく、パケットと呼ばれる単位に小分けして送られる。パケットには、送るデータの他に宛先アドレスや送信元アドレスを含むヘッダーが付加される。
【０００４】
上位装置や制御装置を通信ネットワークに接続する通信処理装置には複数のポートがあり、受信したパケットのヘッダーを見て、宛先アドレスに送信するためのポートを選択し、パケットを送信する。通信処理は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と専用ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）を組み合わせて行うことが多い。専用ＬＳＩには、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）やＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）などがある。専用ＬＳＩを使うことで、通信処理を高速化できる。
【０００５】
このうちＡＳＩＣは、論理回路が固定であるのに対し、ＦＰＧＡはユーザによって論理回路を定義・変更できる点に特徴がある。ＦＰＧＡは、論理回路情報を内部のＣＲＡＭ（Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）に持つが、ＣＲＡＭがＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）で構成されるものは、ＳＲＡＭ型ＦＰＧＡと呼ばれる。ＳＲＡＭ型ＦＰＧＡは、電源投入後に外部のフラッシュメモリに記憶されている論理回路情報を読み出してＣＲＡＭに書き込み、論理回路を構成した後に動作を開始する。ＳＲＡＭ型ＦＰＧＡの中でも、動的部分再構成可能ＦＰＧＡは、動作中に論理回路の部分的な書き替えが可能なプログラマブルロジックデバイスということができる。
【０００６】
他方、近年の電力システムや産業システムでは、システムの通信網にＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）通信ネットワークが利用されるようになってきた。この結果として、電力システムや産業システムでは、今後サイバー攻撃の脅威が懸念されており、通信ネットワークのセキュリティ強化が課題になると思われる。
【０００７】
係るサイバー攻撃に対する対策として、通信パケットがサイバー攻撃によるものと判断した場合には、これを廃棄し、上位システムに通知することなどが必要になる。これらは通信プロトコル処理で行うことになるため、あらかじめ分かっている脅威に関しては処理機能を作り込んでおくことが可能であるが、新しい脅威については通信プロトコル処理に機能の追加が必要になる。
【０００８】
係る問題の解決策として、特許文献１には、通信内容に応じてＦＰＧＡの制御回路を随時書き替え、通信を中断させることなく制御回路の更新が動的に行えるようにするための通信処理装置の構成方法が記載されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０００−１７４８４４公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
特許文献１によれば、２つのＦＰＧＡに通信制御回路を構成し、その出力を切替回路で切替てネットワーク通信を行うようにし、一方のＦＰＧＡで通信を行いながら、他方のＦＰＧＡに新しい通信機能を構成し、切替回路でＦＰＧＡの出力を切替るようにしている。
【００１１】
特許文献１の技術は、通信処理装置単独でＦＰＧＡを切替る方法について言及しているものの、通信ネットワークを構成する全ての通信処理装置を同期して切替ることについては言及していない。通信処理装置がばらばらにＦＰＧＡを切替ると、送信側と受信側でプロトコル処理が異なるため、正しく通信することができないという課題がある。
【００１２】
また特許文献１では、ＦＰＧＡを複数備えることになるので通信処理装置自体が高価になることを避けられない。
【００１３】
以上のことから本発明においては、通信を続けながら簡便な構成及び手法で確実に通信プロトコル処理を更新することが可能な通信処理装置、通信方法および通信システムを提供するものである。
【課題を解決するための手段】
【００１４】
上記課題を解決するために本発明においては、通信ネットワークに接続され、通信ネットワークの上位装置の動作中に論理回路の部分的な書き替えが可能なプログラマブルロジックデバイスを備えた通信処理装置であって、プログラマブルロジックデバイスは、通信プロトコル処理を行う少なくとも２つの通信処理回路であって、切替て１つが動作可能であるとともに、第１の通信処理回路で通信を行い、第２の通信処理回路が待機とされた通信処理回路、通信ネットワークから、更新された通信プロトコル処理の論理回路データをダウンロードして、第２の通信処理回路に回路構成を行う更新手段、第２の通信処理回路における回路構成が終了したかどうかを示すとともに、回路構成状態が通信により上位装置側に読み出し可能なフラグ、通信処理回路のいずれを使用するかを切替るための、通信により上位装置側から書き込み可能なレジスタ、を備えることを特徴とする。
【００１５】
また本発明は、通信処理装置を複数台通信ネットワークに接続して構成された通信システムにおける通信方法であって、通信処理装置の１つに接続され、通信処理回路の通信プロトコル処理変更を制御する上位装置は、他の通信処理装置に、更新された通信プロトコル処理の論理回路データを送信し、プログラマブルロジックデバイス上に送信した論理回路データの部分的な書き替え指示を送信し、プログラマブルロジックデバイスから部分的な書き替えが終了したかどうかを示すフラグを読み出し、全てのプログラマブルロジックデバイスにおいて部分的な書き替えが終了したことを確認し、全てのプログラマブルロジックデバイスに、更新された通信プロトコル処理回路を使用する設定を通信により行うことを特徴とする。
【００１６】
また本発明は、通信ネットワーク上に上位装置と制御装置が通信処理装置を介して接続された通信システムであって、通信処理装置は、上位装置の動作中に論理回路の部分的な書き替えが可能なプログラマブルロジックデバイスを備え、プログラマブルロジックデバイスは、通信プロトコル処理を行う少なくとも２つの通信処理回路であって、切替て１つが動作可能であるとともに、第１の通信処理回路で通信を行い、第２の通信処理回路が待機とされた通信処理回路、通信ネットワークから、更新された通信プロトコル処理の論理回路データをダウンロードして、第２の通信処理回路に回路構成を行う更新手段、第２の通信処理回路における回路構成が終了したかどうかを示すとともに、回路構成状態が通信により上位装置側に読み出し可能なフラグ、通信処理回路のいずれを使用するかを切替るための、通信により上位装置側から書き込み可能なレジスタ、を備えることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、通信を続けながら簡便な構成及び手法で確実に通信プロトコル処理を更新することが可能になる。
【図面の簡単な説明】
【００１８】
【図１】上位装置１と制御装置４が通信処理装置２を介してネットワーク通信を行う通信システムの全体構成を示す図。
【図２】通信処理装置２の概略構成を示すブロック図。
【図３】通信処理装置２の構成部品であるＦＰＧＡ２２の構成を示すブロック図。
【図４】レジスタ２２ｄの内部構成を示すブロック図。
【図５】通信プロトコル処理の更新における上位装置の処理を示す図。
【図６】通信プロトコル処理の更新における通信処理装置の処置１のフローチャート。
【図７】通信プロトコル処理の更新における通信処理装置の処置２のフローチャート。
【図８】通信プロトコル処理の更新における通信処理装置の処置３のフローチャート。
【図９】通信プロトコル処理の更新における通信処理装置の処置４のフローチャート。
【図１０】通信プロトコル処理更新時の上位装置と通信処理装置間のタイミングチャート。
【図１１】診断回路を備えた、通信処理装置の構成部品であるＦＰＧＡのブロック図。
【発明を実施するための形態】
【００１９】
以下図面を用いて、本発明の実施例を説明する。
【実施例】
【００２０】
図１は、上位装置と制御装置が通信処理装置を介してネットワーク通信を行う通信システムの全体構成図である。
【００２１】
図１の通信システムにおいて、中央に設けられた上位装置１とプラント現場などに設けられた複数の制御装置４は、それぞれ通信処理装置２を経由して、通信ネットワーク３に接続し、通信を行っている。制御装置４側に設けられたプラント現場のセンサＳは、図に示していない電圧、電流、温度、振動などのプロセス量を測定する。アクチュエータＡは、現場機器の操作端としてのリレーやモーターなどである。
【００２２】
現場の制御装置４は予め決められた周期に基づいて、センサＳの検知したアナログ出力をディジタル変換し、内部に記憶している。中央の上位装置１は、制御装置４からセンサＳのデータを通信により読み出し、システム全体の制御を決定し、制御装置４にアクチュエータＡに対する制御を通信により伝える。
【００２３】
通信は、上位装置１と制御装置４の間、および制御装置４同士の間で行われる。通信処理装置２は、上位装置１、制御装置４、および他の通信処理装置２との間を通信ネットワーク３で接続している。各通信処理装置２は、通信ネットワーク３からパケットを受信すると、パケット内のヘッダーを確認して自己宛ての通信か否かを判断し、自己宛てであれば取り込み、自己宛てでない場合には送信するポートからパケットを転送したり、あるいはパケットを廃棄したりする。
【００２４】
なお図１の例では、上位装置１と制御装置４がそれぞれ通信処理装置を介して通信ネットワークに接続されている事例を示したが、これは広義には制御装置が複数通信ネットワークに接続されているものであればよい。上位装置もまた制御装置であり、上位装置としての機能を備えた制御装置ということも言える。
【００２５】
図２は、通信処理装置の概略構成を示すブロック図である。通信処理装置２は、複数のポート２０、２１を持ち、通信ネットワーク３を介してネットワーク通信を行う。２００はポート２０のネットワークインタフェース、２１０はポート２１のネットワークインタフェースである。
【００２６】
ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）２２は、ポート２０からの入力インタフェース２０１でパケットを受信し、ポート２０への出力インタフェース２０２にパケットを送信する。同様に、ポート２１からの入力インタフェース２１１でパケットを受信し、ポート２１への出力インタフェース２１２にパケットを送信する。なおＦＰＧＡ２２は、ユーザが自由にプログラミングできるＬＳＩであり、書き換えが可能であるため、回路変更が容易であるという特徴を有している。
【００２７】
フラッシュメモリ２３は、ＦＰＧＡ２２の論理回路情報を記憶する。ＦＰＧＡ２２は、電源投入後にフラッシュメモリ２３から論理回路情報を読み出してＦＰＧＡ２２内部のＣＲＡＭに書き込み、論理回路を構成した後に動作を開始する。このことは、ＦＰＧＡ２２の処理内容が、フラッシュメモリ２３に記憶された論理回路情報により決定され、適宜変更可能であることを意味している。
【００２８】
ＣＰＵ２４は、通信処理装置２のソフトウェア処理を実行する。メモリ２５は、ＣＰＵ２４が実行するプログラムと処理するデータ、およびＦＰＧＡ２２が処理するデータを記憶する。ＦＰＧＡ２２、ＣＰＵ２４、メモリ２５は、バス２６で接続されている。
【００２９】
なお図２には図示していないが、通信処理装置２には制御装置４が適宜の通信路を介して接続されており、上位装置１の指令を制御装置４に伝達し、制御装置４の現場における計測結果を上位装置１に伝達している。通信処理装置２と制御装置４間の通信路は、例えばバス２６を介して行われている。
【００３０】
図３は、通信処理装置の構成部品であるＦＰＧＡのブロック図である。ＦＰＧＡ２２の内部にある領域２２Ｒは可変領域と呼ばれ、動的再構成可能に設定する領域である。可変領域２２Ｒ以外の領域は固定領域と呼ばれ、動的再構成可能に設定しない領域である。本発明の実施例では、可変領域２２Ｒに通信処理回路２２ｉと通信処理回路２２ｊを構成するものとするが、可変領域２２Ｒに構成する通信処理回路の数はこれに限られたものではない。ＦＰＧＡ２２の固定領域には、切替回路２２ｂおよび２２ｈ、インタフェース２２ａ、切替制御回路２２ｃ、レジスタ２２ｄ、メモリ２２ｇ、部分再構成制御回路２２ｅ、ＣＲＡＭ２２ｆを備えている。
【００３１】
図３のＦＰＧＡを備えた通信処理装置において、現時点では可変領域２２Ｒ内の通信処理回路２２ｉに構成された通信プロトコルによる通信が実行されている。この通信処理回路２２ｉに構成された通信プロトコルは、インターネット外部からの攻撃に対して脆弱性を有する既存の通信プロトコルである。本発明では、上位装置１から脆弱性が解消された新たな通信プロトコルを含む情報を複数の通信処理装置に送り、通信強化を図ろうとしている。このための構成と手順がいかに説明されている。
【００３２】
このうちインタフェース２２ａは、ポート２０、２１からの入力インタフェース２０１、２１１でパケットを受信し、パケットを出力Ｓ１として可変領域２２Ｒの入口側の切替回路２２ｂに転送する。また、可変領域２２Ｒの出口側の切替回路２２ｈが出力するパケットを入力Ｓ１０として受け取り、ポート２０、２１への出力インタフェース２０２、２１２に送信する。
【００３３】
可変領域２２Ｒの入口側の切替回路２２ｂは、インタフェース２２ａの出力Ｓ１の他に、通信処理装置２のバス２６の出力Ｓ２、メモリ２２ｇの出力Ｓ３、レジスタ２２ｄの出力Ｓ４を入力し、通信処理回路２２ｉの入力Ｓ５または通信処理回路２２ｊの入力Ｓ６に切替接続する。切替は、切替制御回路２２ｃが出力する切替制御用の信号Ｓ７を用いて行う。
【００３４】
これに対し、可変領域２２Ｒの出口側の切替回路２２ｈは、通信処理回路２２ｉの出力Ｓ８または通信処理回路２２ｊの出力Ｓ９のいずれかを選択し、インタフェース２２ａの入力Ｓ１０、通信処理装置２のバス２６の入力Ｓ１１、レジスタ２２ｄの入力Ｓ１３、メモリ２２ｇの入力Ｓ１２に切替接続する。可変領域２２Ｒの出口側の切替回路２２ｈにおける切替は、切替制御回路２２ｃが出力する切替制御用の信号Ｓ１４を用いて行う。
【００３５】
切替制御回路２２ｃは、レジスタ２２ｄが出力する切替制御信号Ｓ１５に従い、入口側の切替回路２２ｂの切替制御信号Ｓ７、出口側の切替回路２２ｈの切替制御信号Ｓ１４を出力する。
【００３６】
レジスタ２２ｄは、通信処理回路２２ｉまたは通信処理回路２２ｊが処理するデータの一時記憶および制御のためのレジスタを有する。レジスタ２２ｄのレジスタ入力Ｓ１３は、レジスタ２２ｄの読み出し／書き込みのコマンド、レジスタアドレス、書き込みデータを含む。レジスタ２２ｄのレジスタ出力Ｓ４は、レジスタ２２ｄの読み出しデータを含む。
【００３７】
メモリ２２ｇは、通信処理回路２２ｉまたは通信処理回路２２ｊが処理するデータを一時記憶する。メモリ２２ｇのメモリ入力Ｓ１２は、メモリ２２ｇの読み出し／書き込みのコマンド、メモリアドレス、書き込みデータを含む。メモリ２２ｇのメモリ出力Ｓ３は、メモリ２２ｇの読み出しデータを含む。
【００３８】
部分再構成制御回路２２ｅは、ＦＰＧＡ２２の可変領域２２Ｒに、回路を構成するための制御を行う。部分再構成制御回路２２ｅは、レジスタ２２ｄから再構成指示信号Ｓ１６を受けると、外部のフラッシュメモリ２３に出力Ｓ１８として読み出しコマンドとメモリアドレスを出力する。これに対応してフラッシュメモリ２３から論理回路情報が入力Ｓ１９として読み出され、ＣＲＡＭ２２ｆに記録される。部分再構成制御回路２２ｅは、出力信号Ｓ２０をＣＲＡＭ２２ｆに与えて、ＣＲＡＭ２２ｆに記録されている論理回路情報を出力Ｓ２１としてＦＰＧＡ２２の可変領域２２Ｒに送信する。
【００３９】
図３のＦＰＧＡの構成において、可変領域２２Ｒに構成された通信処理回路２２ｉと通信処理回路２２ｊは、受信した信号のアドレスチェックの他、受信した信号を次に処理する処理先を指定し、あるいは外部に送信する信号の送信元を定めている。これらの機能の実行は、例えば通信処理回路２２ｉを主系とし、通信処理回路２２ｊを待機系として行われており、従って主系である通信処理回路２２ｉには論理回路情報が構成されているが、通信処理回路２２ｊには論理回路情報が構成されていない。
【００４０】
なお主系である通信処理回路２２ｉによる処理結果であるデータは、切替回路２２ｈにおいて出力信号Ｓ１０、Ｓ１１、Ｓ１２、Ｓ１３として、それぞれインターフェイス２２ａ、バス２６、メモリ２２ｇ、レジスタ２２ｄに切り替えられ、送出される。また主系である通信処理回路２２ｉに与えられる入力データはＳ１、Ｓ２、Ｓ３、Ｓ４であり、それぞれ送信元であるインターフェイス２２ａ、バス２６、メモリ２２ｇ、レジスタ２２ｄから送出され、切替回路２２ｂにおいて切替られて通信処理回路２２ｉに取り込まれる。
【００４１】
切替制御回路２２ｃは、常時は通信処理回路２２ｉを主系とし、通信処理回路２２ｊを待機系とするとともに、切替条件成立時に通信処理回路２２ｉを待機系とし、通信処理回路２２ｊを主系とする切替を実行すべく、入口側の切替回路２２ｂと出口側の切替回路２２ｈに対して切替を指令する出力Ｓ７、Ｓ１４をそれぞれに与えるものである。
【００４２】
図４は、レジスタ２２ｄの内部構成を示すブロック図である。レジスタ２２ｄは、書き込み制御回路２２ｄ１と、読み出し制御回路２２ｄ２と、複数のレジスタで構成されている。複数のレジスタは、切替設定レジスタ２２ｄ３、再構成設定レジスタ２２ｄ５、再構成終了フラグレジスタ２２ｄ６、その他レジスタ２２ｄ４で構成されている。
【００４３】
このうち切替設定レジスタ２２ｄ３は、ＦＰＧＡ２２の可変領域２２Ｒに構成している通信処理回路２２ｉと通信処理回路２２ｊのどちらの回路を使って通信処理を行うかを設定するものである。再構成設定レジスタ２２ｄ５は、ＦＰＧＡ２２の部分再構成の設定を行うためのものである。具体的には、部分再構成の開始と、部分再構成する論理回路情報が格納されたフラッシュメモリ２３のアドレス、論理回路情報を書き込むＣＲＡＭ２２ｆのアドレスを設定する。再構成終了フラグレジスタ２２ｄ６は、再構成が終了したかどうかを示すレジスタである。複数個備えられるその他レジスタ２２ｄ４は、通信処理回路２２ｉ、２２ｊが処理するデータを一時記憶するレジスタである。
【００４４】
書き込み制御回路２２ｄ１は、入力信号Ｓ１３をデコードし、レジスタ２２ｄ３〜２２ｄ６への書き込みを行う。Ｓ１３Ｗ３〜Ｓ１３Ｗ６は、それぞれレジスタ２２ｄ３〜２２ｄ６への書き込み信号であり、Ｄ１３は、書き込みデータである。読み出し制御回路２２ｄ２は、入力信号Ｓ１３をデコードし、レジスタ２２ｄ３〜２２ｄ６の読み出しデータを選択し、レジスタ出力として切替回路２２ｂに出力する。
【００４５】
なお切替設定レジスタ２２ｄ３の出力は、切替制御回路２２ｃに与えられる切替の出力Ｓ１５であり、再構成設定レジスタ２２ｄ５の出力は、部分再構成制御回路２２ｅに与えられる出力Ｓ１６である。また再構成終了フラグレジスタ２２ｄ６は、部分再構成制御回路２２ｅからの出力Ｓ１７をもって、再構成の終了とする。
【００４６】
次に、上位装置１並びに通信処理装置２の間で行われる、通信プロトコル処理の変更作業の手順について、図５から図９の処理フローチャートを用いて説明する。なお図５は、通信プロトコル処理の変更を指示する上位装置１側における処理内容を主体に纏めたものであり、図６から図９は上位装置１からの逐次の処理要求に対して通信処理装置２側で行う対応処理を個別に示したものである。
【００４７】
図５では、右側に上位装置１側における処理内容を示し、左側に通信処理装置２側における処理内容を対比して示している。このうち右側に示す上位装置１側における処理内容の概略を述べると以下のようである。まず最初の処理ステップＳ１００では、通信処理装置２に対して、更新する通信プロトコル処理のＦＰＧＡ回路データを送信する。処理ステップＳ１０１では、通信処理装置２にＦＰＧＡ回路の再構成を指示する。処理ステップＳ１０２において、通信処理装置からＦＰＧＡ回路の再構成終了フラグを読み出す。処理ステップＳ１０３において、再構成終了フラグが終了したことを示すかどうかを確認する。全ての通信処理装置の再構成終了フラグが終了を示すまで、終了していない通信処理にＳ１０２の処理を続ける。１０３において、全ての通信処理装置の再構成終了フラグが終了を示すと、Ｓ１０４の処理に移り、通信処理装置に通信プロトコル処理回路の切替を指示する。
【００４８】
これに対し、各通信処理装置２では以下のように対応する。
【００４９】
まず上位装置１の処理ステップＳ１００に対して、通信処理装置２では、図６の処理ステップＳ２００を実施する。図６は、通信プロトコル処理の更新における、通信処理装置の処置１のフローチャートである。図６の処理ステップＳ２００１では、上位装置１から更新する通信プロトコル処理のＦＰＧＡ回路データを受信する。次の処理ステップＳ２００２では、フラッシュメモリ２３にＦＰＧＡ回路データを書き込む。フラッシュメモリ２３にＦＰＧＡ回路データを書き込むまでの信号の流れを述べると、図３、図４において、Ｓ１→Ｓ８→Ｓ１３→Ｓ１６→Ｓ１８という流れになる。
【００５０】
上位装置１の処理ステップＳ１０１に対して、通信処理装置２では、図７の処理ステップＳ２０１を実施する。図７は、通信プロトコル処理の更新における、通信処理装置の処置２のフローチャートである。図７の処理ステップＳ２０１１では、上位装置１からＦＰＧＡ回路の再構成を指示される。処理ステップＳ２０１２では、フラッシュメモリ２３からＦＰＧＡ回路データを読み出し、ＣＲＡＭ２２ｆに書き込む。また部分再構成制御回路２２ｅは、出力信号Ｓ２０をＣＲＡＭ２２ｆに与えて、ＣＲＡＭ２２ｆに記録されている論理回路情報を出力Ｓ２１としてＦＰＧＡ２２の可変領域２２Ｒに送信し、可変領域２２Ｒ内の待機側の通信処理回路２２ｊに送られて書き込まれる。また部分再構成制御回路２２ｅは、再構成が終了した時点で終了を意味する出力Ｓ１７を与える。ＣＲＡＭ２２ｆなどに書き込む信号の流れを述べると、図３のＳ１９、Ｓ２０、Ｓ２１、Ｓ１７がこれに相当している。
【００５１】
上位装置１の処理ステップＳ１０２に対して、通信処理装置２では、図８の処理ステップＳ２０２を実施する。図８は、通信プロトコル処理の更新における、通信処理装置の処置３のフローチャートである。図８の処理ステップＳ２０２１では、上位装置１からＦＰＧＡ回路の再構成終了フラグＳ１７の読み出しを受ける。処理ステップＳ２０１２では、上位装置１にＦＰＧＡ回路の再構成終了フラグ２２ｄ６を送信する。上位装置１に再構成終了フラグ２２ｄ６を送信するまでの信号の流れを述べると、図３、図４において、２２ｄ６→Ｓ４→Ｓ８→Ｓ１０という流れになる。
【００５２】
上位装置１の処理ステップＳ１０４に対して、通信処理装置２では、図９の処理ステップＳ２０４を実施する。図９は、通信プロトコル処理の更新における、通信処理装置の処置４のフローチャートである。図９の処理ステップＳ２０４１では、上位装置１から通信プロトコル処理回路の切替指示を受ける。処理ステップＳ２０４２では、通信プロトコル処理回路の切替タイミングを待つ。処理ステップＳ２０４３では、通信プロトコル回路の切替を行う。この流れは、図３のレジスタ２２ｄの出力Ｓ１５が切替タイミング信号として作用し、切替制御回路２２ｃが出力Ｓ７を入力側切替回路２２ｂに与え、切替制御回路２２ｃが出力Ｓ１４を出力側切替回路２２ｈに与えることで実行され、以降ＦＰＧＡ２２の可変領域２２Ｒ内の処理は待機側であった通信処理回路２２ｊを主系とし、主系であった
通信処理回路２２ｉを待機系として実行されることになる。この場合待機側であった通信処理回路２２ｊにおける通信プロトコルは、上位装置１からの最新の通信プロトコルに置き換えられており、以後の通信は最新の状況が反映されたものとなる。
【００５３】
図１０は、通信プロトコル処理の更新における、上位装置１と通信処理装置２間のタイミングチャートである。図中の符号は、図５〜図９のフローチャートの処理ステップの記号に対応している。また通信処理装置２について、これが複数あることから、それぞれ２Ｉ、２Ｊ、２Ｋの３台に対する処理として説明する。
【００５４】
図１０では、上から順に上位装置１と通信処理装置２Ｉ、２Ｊ、２Ｋの状態が記載されている。また同図には、図５〜図９のフローチャートの処理ステップの実行期間と共に、フラグおよび切替の状態が示されている。
【００５５】
ここでフラグ「０」は、待機系通信処理回路２２ｊにおける通信プロトコルが初期値であり、ここでは情報なしの状態を意味している。従って、フラグ「１」は、待機系通信処理回路２２ｊにおける通信プロトコルが更新された状態を意味している。また切替「Ａ」は、待機系通信処理回路２２ｉによる通信、切替「Ｂ」は、待機系通信処理回路２２ｊによる通信を意味している。また通信プロトコル変更の作業開始前の状態において、上位装置１および通信処理装置２Ｉ、２Ｊ、２Ｋが置かれている状態は、フラグ「０」であり、切替は「Ａ」である。上位装置１は、通信処理装置２Ｉ、２Ｊ、２Ｋにおけるフラグが「０」であると認識したうえで、今から切り替えを実行しようとしている。
【００５６】
最初に上位装置１は、処理ステップＳ１００で通信処理装置２Ｉ、２Ｊ、２Ｋに更新する通信プロトコル処理のＦＰＧＡ回路データを送信する。
【００５７】
通信処理装置２Ｉ、２Ｊ、２Ｋは、それぞれの処理ステップＳ２００で上位装置１から更新する通信プロトコル処理のＦＰＧＡ回路データを受信し、処理ステップＳ２００２でフラッシュメモリにＦＰＧＡ回路データを書き込む。
【００５８】
上位装置１は、処理ステップＳ１０１で通信処理装置２Ｉ、２Ｊ、２ＫにＦＰＧＡ回路の再構成を指示する。通信処理装置２Ｉ、２Ｊ、２Ｋは、処理ステップＳ２０１で上位装置１からＦＰＧＡ回路の再構成を指示され、処理ステップＳ２０１２でフラッシュメモリ２３からＦＰＧＡ回路データを読み出し、ＣＲＡＭ２２ｆに書き込む。又これに続いて論理回路情報を出力Ｓ２１としてＦＰＧＡ２２の可変領域２２Ｒに送信し、可変領域２２Ｒ内の待機側の通信処理回路２２ｊに送られて書き込む処理を行う。図１０では、処理ステップＳ２０１２を横幅長く記載することで、この処理に時間を要することを表している。
【００５９】
上位装置１は次に、処理ステップＳ１０２で個別の通信処理装置を指示して、当該通信処理装置におけるＦＰＧＡ回路の再構成終了フラグを読み出す作業を行う。図１０では、最初に通信処理装置２Ｉを指示したことを意味しており、この場合には処理ステップＳ２０１２の処理が完了していないタイミングであったため、通信処理装置２Ｉからのフラグは「０」であったことを表している。なお、次いで通信処理装置２Ｊに対して行った処理ではフラグ「１」を確認でき、通信処理装置２Ｋからも同様にフラグ「１」を入手できた。最初失敗した通信処理装置２Ｉについてはその後の２度目のトライアルで成功している。このように通信処理装置２Ｉ、２Ｊ、２Ｋは、処理ステップＳ２０２で上位装置１からＦＰＧＡ回路の再構成終了フラグの読み出しを受け、処理ステップＳ２００２で上位装置１に送信する。
【００６０】
上位装置１は、通信処理装置２Ｉ、２Ｊ、２Ｋから読み出した再構成終了フラグが全て終了（値が１）を示すと、処理ステップＳ１０４で通信処理装置２Ｉ、２Ｊ、２Ｋに通信プロトコル処理回路の切替を指示する。通信処理装置２Ｉ、２Ｊ、２Ｋは、処理ステップＳ２０４１で上位装置１から通信プロトコル処理回路の切替指示を受け、処理ステップＳ２０４２で通信プロトコル処理回路の切替タイミングを待ち、処理ステップＳ２０４３で切替設定レジスタを“Ａ”から“Ｂ”に書き変える。
【００６１】
図１１は、本発明の変形実施例を示している。ここでは図３のＦＰＧＡ２２の構成において診断回路を備えたものである。
【００６２】
診断回路２２ｋは、入側の切替回路２２ｂから、通信を行っている通信処理回路２２ｉまたは２２ｊの入力の一部を第１の診断入力Ｓ３０として入力し、出側の切替回路２２ｈから、通信を行っている通信処理回路２２ｉまたは２２ｊの出力の一部を第２の診断入力Ｓ３２として入力し、通信処理が正しく行われているかの診断を行って、診断結果信号Ｓ３３を出力する。
【符号の説明】
【００６３】
１：上位装置
２：通信処理装置
３：通信ネットワーク
４：制御装置
Ｓ：センサ
Ａ：アクチュエータ
２０、２１：ポート
２２：ＦＰＧＡ
２２Ｒ：可変領域
２２ｉ、２２ｊ：通信処理回路
２２ｂ、２２ｈ：切替回路
２２ａ：インタフェース
２２ｃ：切替制御回路
２２ｄ：レジスタ
２２ｅ：部分再構成制御回路
２２ｆ：ＣＲＡＭ
２２ｇ：メモリ
２３：フラッシュメモリ
２４：ＣＰＵ
２５：メモリ
２６：バス
２００、２１０：ネットワークインタフェース
２０１、２１１：入力インタフェース
【図１】
2017069777.tif 000003
【図２】
2017069777.tif 000004
【図３】
2017069777.tif 000005
【図４】
2017069777.tif 000006
【図５】
2017069777.tif 000007
【図６】
2017069777.tif 000008
【図７】
2017069777.tif 000009
【図８】
2017069777.tif 000010
【図９】
2017069777.tif 000011
【図１０】
2017069777.tif 000012
【図１１】
2017069777.tif 000013