(57)【特許請求の範囲】
【請求項１】
制御対象を制御するための制御装置であって、
制御演算を実行する演算処理部と、
第１の通信プロトコルに従ってデータを遣り取りするための第１および第２のネットワークコントローラと、
前記第１の通信プロトコルとは異なる第２の通信プロトコルに従ってデータを遣り取りするための第３のネットワークコントローラと、
ローカルバスを介して接続されたローカルユニットとの間でデータを遣り取りするローカルバスコントローラと、
予め定められたフィルタリング情報に従って、前記第１のネットワークコントローラで受信されたパケットの複製を前記第２のネットワークコントローラから出力するとともに、前記第２のネットワークコントローラで受信されたパケットの複製を前記第１のネットワークコントローラから出力するためのパケット転送部と、
パケットに応じた処理を実行するパケット処理部とを備え、
前記フィルタリング情報は、転送すべきパケットの条件と、転送すべきではないパケットの条件との少なくとも一方を含み、
前記パケット転送部は、予め定められた収集対象となるパケットの複製を前記パケット処理部へ出力し、
前記パケット処理部は、前記パケット転送部から出力されたパケットの履歴を収集する、制御装置。
【請求項２】
前記予め定められた収集対象の条件は、パケットの送出元の指定、および、ポート番号の指定の少なくとも一方を含む、請求項１に記載の制御装置。
【請求項３】
前記第１の通信プロトコルは、イーサネット（登録商標）およびＴＣＰ／ＩＰを含む通信プロトコルである、請求項１または２に記載の制御装置。
【請求項４】
前記第２の通信プロトコルは、データの到着時刻を保証する産業用ネットワークの通信プロトコルである、請求項１〜３のいずれか１項に記載の制御装置。
【請求項５】
前記パケット転送部は、一方のネットワークコントローラで受信されたパケットの宛先として指定された物理アドレスに基づいて、当該受信されたパケットの複製を他方のネットワークコントローラから出力するか否かを判断する、請求項１〜４のいずれか１項に記載の制御装置。
【請求項６】
前記パケット転送部は、一方のネットワークコントローラで受信されたパケットの宛先として指定されたネットワークアドレスに基づいて、当該受信されたパケットの複製を他方のネットワークコントローラから出力するか否かを判断する、請求項１〜４のいずれか１項に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御対象を制御するための制御装置に関する。
【背景技術】
【０００２】
従来から、ＦＡ（ファクトリオートメーション）の分野では、ＰＬＣ（プログラマブルコントローラ）などの制御装置を、生産指示や生産結果のような生産管理情報を扱う情報系のシステムを接続するような構成が採用される。
【０００３】
例えば、特開２００８−０８４３４３号公報（特許文献１）は、互いに異なるネットワークに接続された装置（コンピュータ，ＰＬＣ等）同士であってもデータの送受を行うことができるプログラマブルコントローラなどを開示する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−０８４３４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
近年のＩＣＴ（Information and Communication Technology）の進展に伴って、制御装置同士でも各種情報の遣り取りを行いたいというニーズがある。特開２００８−０８４３４３号公報（特許文献１）に開示される構成は、ＣＰＵユニットと通信ユニットとからなるＰＬＣであり、それぞれのユニットが異なるネットワークに接続されることが前提となっている。
【０００６】
このような構成を採用した場合には、接続されるネットワークの数と同数の通信ユニットが必要となり、構成が複雑化するという課題がある。
【０００７】
本発明は、上述したような課題を解決するために、複数の制御装置がネットワーク接続される場合であっても、ネットワーク接続の構成を簡素化できる手段を提供することを一つの目的とする。
【課題を解決するための手段】
【０００８】
本開示の一例に従えば、制御対象を制御するための制御装置が提供される。制御装置は、第１の通信プロトコルに従ってデータを遣り取りするための第１および第２のネットワークコントローラと、第１のネットワークコントローラで受信されたパケットの複製を第２のネットワークコントローラから出力するとともに、第２のネットワークコントローラで受信されたパケットの複製を第１のネットワークコントローラから出力するためのパケット転送部とを含む。
【０００９】
この開示によれば、複数の制御装置を、第１の通信プロトコルに従ったデータの遣り取りを行うネットワークに接続する場合において、ハブなどを用いることなく、制御装置同士を接続すればよいので、ネットワーク接続の構成を簡素化できる。
【００１０】
上述の開示において、第１の通信プロトコルは、イーサネット（登録商標）およびＴＣＰ／ＩＰを含む通信プロトコルであってもよい。この開示によれば、イーサネットベースの産業用ネットワークなどを利用できる。
【００１１】
上述の開示において、制御装置は、第１の通信プロトコルとは異なる第２の通信プロトコルに従ってデータを遣り取りするための第３のネットワークコントローラをさらに含んでいてもよい。この開示によれば、複数の通信プロトコルに従うデータの遣り取りを並行して実施できる。
【００１２】
上述の開示において、第２の通信プロトコルは、データの到着時刻を保証する産業用ネットワークの通信プロトコルであってもよい。この開示によれば、第１の通信プロトコルとは別に、データの到着時刻を保証する産業用ネットワークを、フィールドネットワークとして利用できる。
【００１３】
上述の開示において、パケット転送部は、一方のネットワークコントローラで受信されたパケットの宛先として指定された物理アドレスに基づいて、当該受信されたパケットの複製を他方のネットワークコントローラから出力するか否かを判断するようにしてもよい。この開示によれば、ある制御装置に入来したパケットのうち、必要なパケットのみを複製して後段に転送できるので、複数の制御装置からなるネットワーク内のトラフィックの増大を抑制できる。
【００１４】
上述の開示において、パケット転送部は、一方のネットワークコントローラで受信されたパケットの宛先として指定されたネットワークアドレスに基づいて、当該受信されたパケットの複製を他方のネットワークコントローラから出力するか否かを判断するようにしてもよい。この開示によれば、ある制御装置に入来したパケットのうち、必要なパケットのみを複製して後段に転送できるので、複数の制御装置からなるネットワーク内のトラフィックの増大を抑制できる。
【発明の効果】
【００１５】
本発明によれば、複数の制御装置がネットワーク接続される場合であっても、ネットワーク接続の構成を簡素化できる。
【図面の簡単な説明】
【００１６】
【図１】本実施の形態に係る制御装置の構成例を示す模式図である。
【図２】本実施の形態に係る制御装置に含まれるメインユニットの構成例を示す模式図である。
【図３】一般的なハブ接続の形態を示す模式図である。
【図４】デイジーチェーン類似の接続形態を示す模式図である。
【図５】本実施の形態に係る制御装置においてリピータハブ機能を実装した場合の機能構成を示す模式図である。
【図６】本実施の形態に係る制御装置においてスイッチングハブ機能を実装した場合の機能構成を示す模式図である。
【図７】本実施の形態に係る制御装置においてルータ機能を実装した場合の機能構成を示す模式図である。
【図８】本実施の形態に係る制御装置においてフィルタリング機能を実装した場合の機能構成を示す模式図である。
【発明を実施するための形態】
【００１７】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００１８】
＜Ａ．適用例＞
まず、本発明が適用される場面の一例について説明する。
【００１９】
図１は、本実施の形態に係る制御装置１の構成例を示す模式図である。図１を参照して、本実施の形態に係る制御装置１は、任意の設備や機械を含む制御対象を制御するためのＰＬＣ（プログラマブルコントローラ）である。制御装置１は、少なくとも、メインユニット１００を有する。メインユニット１００は、制御対象を制御するための任意のプログラムを実行する演算処理部に相当し、後述するように、他の装置との間でデータを遣り取りするための通信機能も有している。
【００２０】
図１に示す構成においては、制御装置１は、メインユニット１００とローカルバスを介して接続されたローカルユニット２００を含む。ローカルユニット２００は、フィールドとの間で信号を遣り取りする入出力ユニット、セーフティ制御を担当するセーフティ制御ユニット、ＰＩＤ制御やロボット制御などを担当する特殊制御ユニットなどが想定されている。
【００２１】
メインユニット１００は、３つの通信ポートＰ１１，Ｐ１２，Ｐ２を有している。通信ポートＰ１１，Ｐ１２は、同一の通信プロトコルでのデータの遣り取りが可能になっている。典型的には、通信ポートＰ１１，Ｐ１２は、イーサネットベースの産業用ネットワークに接続されている。
【００２２】
一方、通信ポートＰ２は、リモート入出力デバイス、各種センサ、各種アクチュエータなどのフィールド装置との間でデータを遣り取りする。典型的には、通信ポートＰ２は、フィールドネットワークに接続されている。なお、通信ポートＰ２を省略してもよい。
【００２３】
制御装置１においては、通信ポートＰ１１と通信ポートＰ１２との間で、任意にパケットの転送が可能になっている。すなわち、制御装置１は、通信ポートＰ１１で受信されたパケットの複製を通信ポートＰ１２から出力するとともに、通信ポートＰ１２で受信されたパケットの複製を通信ポートＰ１１から出力するためのパケット転送機能を有している。
【００２４】
このようなパケット転送機能を採用することで、通信ポートＰ１１および通信ポートＰ１２を利用して、各種のネットワーク機能（例えば、後述するような、リピータハブ機能、スイッチングハブ機能、ルータ機能、フィルタリング機能、パケットモニタリング機能など）を実現できる。
【００２５】
このようなネットワーク機能を制御装置１に実装することで、複数の制御装置がネットワーク接続される場合であっても、ネットワーク接続の構成を簡素化できる。
【００２６】
＜Ｂ．メインユニット１００の構成例＞
まず、本実施の形態に係る制御装置１に含まれるメインユニット１００の構成例について説明する。
【００２７】
図２は、本実施の形態に係る制御装置１に含まれるメインユニット１００の構成例を示す模式図である。図２を参照して、メインユニット１００は、プロセッサ１０２と、チップセット１０４と、主記憶装置１０６と、二次記憶装置１０８と、ネットワークコントローラ１１０，１２０と、フィールドネットワークコントローラ１３０と、ＵＳＢ（Universal Serial Bus）コントローラ１４０と、メモリカードインターフェイス１５０と、ローカルバスコントローラ１６０とを含む。
【００２８】
プロセッサ１０２は、制御演算などを実行する演算処理部に相当し、ＣＰＵ（Central Processing Unit）やＧＰＵ（Graphics Processing Unit）などで構成される。具体的には、プロセッサ１０２は、二次記憶装置１０８に格納されたプログラム（一例として、システムプログラムやユーザプログラム）を読出して、主記憶装置１０６に展開して実行することで、制御対象に応じた制御、および、後述するような各種処理を実現する。
【００２９】
チップセット１０４は、メインユニット１００を構成するコンポーネント間のデータの遣り取りを仲介および制御する。
【００３０】
主記憶装置１０６は、ＤＲＡＭ（Dynamic Random Access Memory）やＳＲＡＭ（Static Random Access Memory）などの揮発性記憶装置などで構成される。二次記憶装置１０８は、例えば、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）などの不揮発性記憶装置などで構成される。
【００３１】
ネットワークコントローラ１１０，１２０は、いずれも産業用の通信プロトコルに従って、各ネットワークを介して、他の制御装置や任意のデバイスとの間でデータを遣り取りする。典型的には、ネットワークコントローラ１１０，１２０は、イーサネットベースの産業用ネットワークに対応しており、イーサネットの規格に沿った物理層およびデータリンク層の機能を有している。
【００３２】
さらに、ネットワークコントローラ１１０，１２０においては、ネットワーク層およびトランスポート層（インターネット層およびトランスポート層）として、ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）あるいはＵＤＰ／ＩＰ（User Datagram Protocol/Internet Protocol）などの通信プロトコルが用いられてもよい。このように、ネットワークコントローラ１１０，１２０がデータの遣り取りに用いる通信プロトコルとして、イーサネットおよびＴＣＰ／ＩＰを含む通信プロトコルを採用してもよい。
【００３３】
そして、セッション層、プレゼンテーション層、アプリケーション層（アプリケーション層）として、ＣＩＰ（Common Industrial Protocol）を採用することで、ＥｔｈｅｒＮｅｔ／ＩＰ，ＤｅｖｉｃｅＮｅｔ，ＣｏｎｔｒｏｌＮｅｔ，ＣｏｍｐｏＮｅｔといった産業用ネットワークを実現できる。
【００３４】
ネットワークコントローラ１１０，１２０は、同一の通信プロトコルに対応しており、連係して動作することで、一種のスイッチングハブあるいはリピータハブとして機能することもできる。すなわち、ネットワークコントローラ１１０とネットワークコントローラ１２０との間は、送受信されるパケットを内部的に転送可能になっており、ネットワークコントローラ１１０で受信されたパケットの複製をネットワークコントローラ１２０から送出でき、また、ネットワークコントローラ１２０で受信されたパケットの複製をネットワークコントローラ１１０から送出できる。
【００３５】
フィールドネットワークコントローラ１３０は、ネットワークコントローラ１１０，１２０において使用される通信プロトコルとは異なる通信プロトコルに対応する。すなわち、フィールドネットワークコントローラ１３０は、フィールドネットワーク用の通信プロトコルに従って、フィールドネットワークを介して、任意のデバイスとの間でデータを遣り取りする。
【００３６】
フィールドネットワークにおいては、データの到着時刻を保証する産業用ネットワークの通信プロトコルを採用することが好ましい。例えば、フィールドネットワークコントローラ１３０としては、ＥｔｈｅｒＣＡＴ（登録商標）、ＤｅｖｉｃｅＮｅｔ（登録商標）、ＣｏｍｐｏＮｅｔ（登録商標）、ＰＲＯＦＩＢＵＳ（登録商標）などのいずれかに準拠したものを採用してもよい。
【００３７】
ＵＳＢコントローラ１４０は、ＵＳＢ接続を介して、図示しないサポート装置などとの間でデータを遣り取りする。
【００３８】
メモリカードインターフェイス１５０は、記録媒体の一例であるメモリカード１５２が着脱可能になっている。メモリカードインターフェイス１５０は、メモリカード１５２との間で各種データ（ユーザプログラム、設定データ、ログ、トレースデータなど）の読書きが可能になっている。
【００３９】
ローカルバスコントローラ１６０は、ローカルバスを介して、ローカルユニット２００（図１参照）などとの間でデータを遣り取りする。
【００４０】
図２には、プロセッサ１０２がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（例えば、ＡＳＩＣ（Application Specific Integrated Circuit）またはＦＰＧＡ（Field-Programmable Gate Array）など）を用いて実装してもよい。あるいは、メインユニット１００の主要部を、汎用的なアーキテクチャに従うハードウェア（例えば、汎用パソコンをベースとした産業用パソコン）を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のＯＳ（Operating System）を並列的に実行させるとともに、各ＯＳ上で必要なアプリケーションを実行させるようにしてもよい。さらに、メインユニット１００に表示装置やサポート装置などの機能を統合した構成を採用してもよい。
【００４１】
＜Ｃ．ネットワーク接続形態＞
次に、本実施の形態に係る制御装置１を複数用いたネットワーク構成の典型的な接続形態について説明する。
【００４２】
図３は、一般的なハブ接続の形態を示す模式図である。図４は、デイジーチェーン類似の接続形態を示す模式図である。図３および図４には、３つの制御装置１Ａ〜１Ｃを互いに接続する例を示す。
【００４３】
図３に示す接続形態においては、ハブ１０を中心に複数の制御装置１が接続されている。より具体的には、制御装置１Ａの通信ポートＰ１１がハブ１０の１つの通信ポートに接続され、制御装置１Ｂの通信ポートＰ１１がハブ１０の別の１つの通信ポートに接続され、制御装置１Ｃの通信ポートＰ１１がハブ１０のさらに別の１つの通信ポートに接続されている。
【００４４】
このような接続構成においては、ハブ１０から各制御装置１に対して接続用のケーブルが敷設される。
【００４５】
一方、図４に示す接続形態においては、複数の制御装置１が、デイジーチェーンのように、直列接続されている。より具体的には、制御装置１Ａの通信ポートＰ１２と制御装置１Ｂの通信ポートＰ１１とが接続されており、制御装置１Ｂの通信ポートＰ１２と制御装置１Ｃの通信ポートＰ１１とが接続されている。なお、制御装置１Ａの通信ポートＰ１１がさらに別の制御装置１に接続されていてもよいし、制御装置１Ｃの通信ポートＰ１２がさらに別の制御装置１に接続されていてもよい。
【００４６】
このような接続形態を実現するために、各制御装置１の通信ポートＰ１１および通信ポートＰ１２は、リピータハブまたはスイッチングハブとして機能する。すなわち、ある制御装置１の通信ポートＰ１１に入来したパケットは、そのまま、あるいは選択的に、通信ポートＰ１２から送出される。同様に、ある制御装置１の通信ポートＰ１２に入来したパケットは、そのまま、あるいは選択的に、通信ポートＰ１１から送出される。
【００４７】
このように、通信ポートＰ１１と通信ポートＰ１２との間でパケットを適宜転送する処理を実装することで、図３に示すようなハブ１０を不要にできる。
【００４８】
なお、図３および図４には、説明の便宜上、制御装置１同士をネットワーク接続する例を示したが、制御装置１に限らず、任意のデバイスと接続することが可能である。
【００４９】
＜Ｄ．ネットワーク機能＞
次に、本実施の形態に係る制御装置１がネットワークコントローラ１１０，１２０を利用して提供するネットワーク機能の一例について説明する。なお、以下に説明するネットワーク機能のすべてを実装する必要はなく、少なくともその一部の機能のみを実装するようにしてもよい。
【００５０】
本実施の形態に係る制御装置１は、ネットワークコントローラ１１０（通信ポートＰ１１）で受信されたパケットの複製をネットワークコントローラ１２０（通信ポートＰ１２）から出力するとともに、ネットワークコントローラ１２０（通信ポートＰ１２）で受信されたパケットの複製をネットワークコントローラ１１０（通信ポートＰ１１）から出力するためのパケット転送機能を有している。以下では、このような転送機能のいくつかのバリエーションについて説明する。
【００５１】
（ｄ１：リピータハブ機能）
図５は、本実施の形態に係る制御装置１においてリピータハブ機能を実装した場合の機能構成を示す模式図である。図５を参照して、制御装置１Ａ，１Ｂは、ネットワークコントローラ１１０，１２０に加えて、パケット複製部１７０およびパケット処理部１８０を含む。パケット複製部１７０およびパケット処理部１８０は、典型的には、プロセッサ１０２がシステムプログラムなどを実行することで実装してもよい。パケット複製部１７０およびパケット処理部１８０が提供する機能の一部または全部を、ＡＳＩＣやＦＰＧＡなどの専用のハードウェア回路を用いて実装してもよい。
【００５２】
パケット複製部１７０は、ネットワークコントローラ１１０，１２０の一方で受信された任意のパケットを複製して、ネットワークコントローラ１１０，１２０の一方へ出力する。また、パケット複製部１７０は、ネットワークコントローラ１１０，１２０のいずれかにより受信されたパケットをパケット処理部１８０へ出力する。
【００５３】
パケット処理部１８０は、パケット複製部１７０から与えられたパケットに応じた処理を実行する。
【００５４】
パケット複製部１７０は、一方のネットワークコントローラに入来したパケットをそのまま他方のネットワークコントローラから送出する。図５に示すように、例えば、パケット１が制御装置１Ａのネットワークコントローラ１１０に入来すると、そのまま複製して、ネットワークコントローラ１２０から送出する。制御装置１Ｂにおいても、同様に、ネットワークコントローラ１１０に入来したパケットがそのまま複製されて、ネットワークコントローラ１２０から出力される。
【００５５】
このようなパケットの複製および送出が繰返されることにより、実質的に、複数の制御装置１が共通のリピータハブに接続されている場合と同様のパケット通信を実現できる。
【００５６】
（ｄ２：スイッチングハブ機能）
図６は、本実施の形態に係る制御装置１においてスイッチングハブ機能を実装した場合の機能構成を示す模式図である。図６を参照して、制御装置１Ａ，１Ｂは、ネットワークコントローラ１１０，１２０に加えて、Ｌ２スイッチング部１７２およびパケット処理部１８０を含む。Ｌ２スイッチング部１７２およびパケット処理部１８０は、典型的には、プロセッサ１０２がシステムプログラムなどを実行することで実装してもよい。Ｌ２スイッチング部１７２およびパケット処理部１８０が提供する機能の一部または全部を、ＡＳＩＣやＦＰＧＡなどの専用のハードウェア回路を用いて実装してもよい。
【００５７】
Ｌ２スイッチング部１７２は、Ｌ２（Layer 2）のレベルでパケットのフィルタリングおよび転送処理を実現する。すなわち、Ｌ２スイッチング部１７２は、一方のネットワークコントローラで受信されたパケットの宛先として指定された物理アドレスに基づいて、当該受信されたパケットの複製を他方のネットワークコントローラから出力するか否かを判断する。より具体的には、Ｌ２スイッチング部１７２は、ネットワークに接続されている制御装置１の物理アドレスであるＭＡＣ（Access Control address）アドレスが記述されたＭＡＣアドレス情報１７３を参照して、パケットの転送先を制御する。ＭＡＣアドレス情報１７３は、予め静的に決定されてもよいし、パケットの転送処理の過程において適宜更新するようにしてもよい。
【００５８】
より具体的には、Ｌ２スイッチング部１７２は、ネットワークコントローラ１１０，１２０の一方で何らかのパケットを受信すると、当該受信されたパケットの宛先ヘッダに格納されているＭＡＣアドレスに基づいて、当該受信されたパケットが自装置宛のパケットであるか否かを判断する。当該受信されたパケットが自装置宛のパケットであると判断されると、Ｌ２スイッチング部１７２は、当該受信されたパケットをパケット処理部１８０へ出力する。この場合には、Ｌ２スイッチング部１７２は、当該受信されたパケットを他の制御装置１へは転送しない。
【００５９】
パケット処理部１８０は、Ｌ２スイッチング部１７２から与えられたパケットに応じた処理を実行する。
【００６０】
一方、当該受信されたパケットが自装置宛のパケットではないと判断すると、Ｌ２スイッチング部１７２は、当該受信したパケットの宛先ヘッダに格納されているＭＡＣアドレスに基づいて、当該受信したパケットを別の制御装置１へ転送すべきか否かを判断する。そして、Ｌ２スイッチング部１７２は、当該受信したパケットを別の制御装置１へ転送すべきであると判断すると、他方のネットワークコントローラから当該パケットの複製を送出する。
【００６１】
このように、Ｌ２スイッチング部１７２は、一方のネットワークコントローラに入来したパケットに対してＭＡＣアドレスでフィルタリングした上で、別のネットワークコントローラから複製を送出する。図６に示すように、例えば、ＭＡＣ１（制御装置１ＡのＭＡＣアドレス）宛のパケット１と、ＭＡＣ２（制御装置１ＢのＭＡＣアドレス）宛のパケット１とが制御装置１Ａのネットワークコントローラ１１０に入来した場合を想定する。
【００６２】
この場合には、Ｌ２スイッチング部１７２は、自装置宛のパケット１をパケット処理部１８０へ出力し、パケット１を他の制御装置１へは転送しない。一方、Ｌ２スイッチング部１７２は、自装置宛ではなく、制御装置１Ｂ宛のパケット２については、それを複製して、ネットワークコントローラ１２０から送出する。
【００６３】
このようなパケットのフィルタリングおよび送出が繰返されることにより、実質的に、複数の制御装置１が共通のスイッチングハブに接続されている場合と同様のパケット通信を実現できる。
【００６４】
（ｄ３：ルータ機能）
図７は、本実施の形態に係る制御装置１においてルータ機能を実装した場合の機能構成を示す模式図である。図７を参照して、制御装置１Ａ，１Ｂは、ネットワークコントローラ１１０，１２０に加えて、Ｌ３スイッチング部１７４およびパケット処理部１８０を含む。Ｌ３スイッチング部１７４およびパケット処理部１８０は、典型的には、プロセッサ１０２がシステムプログラムなどを実行することで実装してもよい。Ｌ３スイッチング部１７４およびパケット処理部１８０が提供する機能の一部または全部を、ＡＳＩＣやＦＰＧＡなどの専用のハードウェア回路を用いて実装してもよい。
【００６５】
Ｌ３スイッチング部１７４は、Ｌ３（Layer 3）のレベルでパケットのフィルタリングおよび転送処理を実現する。すなわち、Ｌ３スイッチング部１７４は、一方のネットワークコントローラで受信されたパケットの宛先として指定されたネットワークアドレスに基づいて、当該受信されたパケットの複製を他方のネットワークコントローラから出力するか否かを判断する。より具体的には、Ｌ３スイッチング部１７４は、ネットワークに接続されている制御装置１のネットワークアドレスであるＩＰアドレスが記述されたＩＰアドレス情報１７５を参照して、パケットの転送先を制御する。ＩＰアドレス情報１７５は、予め静的に決定されてもよいし、パケットの転送処理の過程において適宜更新するようにしてもよい。
【００６６】
より具体的には、Ｌ３スイッチング部１７４は、ネットワークコントローラ１１０，１２０の一方で何らかのパケットを受信すると、当該受信されたパケットの宛先ヘッダに格納されているＩＰアドレスに基づいて、当該受信されたパケットが自装置宛のパケットであるか否かを判断する。当該受信されたパケットが自装置宛のパケットであると判断されると、Ｌ３スイッチング部１７４は、当該受信されたパケットをパケット処理部１８０へ出力する。この場合には、Ｌ３スイッチング部１７４は、当該受信されたパケットを他の制御装置１へは転送しない。
【００６７】
パケット処理部１８０は、Ｌ３スイッチング部１７４から与えられたパケットに応じた処理を実行する。
【００６８】
一方、当該受信されたパケットが自装置宛のパケットではないと判断すると、Ｌ３スイッチング部１７４は、当該受信したパケットの宛先ヘッダに格納されているＩＰアドレスに基づいて、当該受信したパケットを別の制御装置１へ転送すべきか否かを判断する。そして、Ｌ３スイッチング部１７４は、当該受信したパケットを別の制御装置１へ転送すべきであると判断すると、他方のネットワークコントローラから当該パケットの複製を送出する。
【００６９】
このように、Ｌ３スイッチング部１７４は、一方のネットワークコントローラに入来したパケットに対してＩＰアドレスでフィルタリングした上で、別のネットワークコントローラから複製を送出する。図７に示すように、例えば、ＩＰ１（制御装置１ＡのＩＰアドレス）宛のパケット１と、ＩＰ２（制御装置１ＢのＩＰアドレス）宛のパケット１とが制御装置１Ａのネットワークコントローラ１１０に入来した場合を想定する。
【００７０】
この場合には、Ｌ３スイッチング部１７４は、自装置宛のパケット１をパケット処理部１８０へ出力し、パケット１を他の制御装置１へは転送しない。一方、Ｌ３スイッチング部１７４は、自装置宛ではなく、制御装置１Ｂ宛のパケット２については、それを複製して、ネットワークコントローラ１２０から送出する。
【００７１】
このようなパケットのフィルタリングおよび送出が繰返されることにより、実質的に、複数の制御装置１が共通のルータあるいはブリッジに接続されている場合と同様のパケット通信を実現できる。
【００７２】
（ｄ４：フィルタリング機能）
図８は、本実施の形態に係る制御装置１においてフィルタリング機能を実装した場合の機能構成を示す模式図である。図８を参照して、制御装置１Ａ，１Ｂは、ネットワークコントローラ１１０，１２０に加えて、フィルタリング部１７６およびパケット処理部１８０を含む。フィルタリング部１７６およびパケット処理部１８０は、典型的には、プロセッサ１０２がシステムプログラムなどを実行することで実装してもよい。フィルタリング部１７６およびパケット処理部１８０が提供する機能の一部または全部を、ＡＳＩＣやＦＰＧＡなどの専用のハードウェア回路を用いて実装してもよい。
【００７３】
フィルタリング部１７６は、入来したパケットに含まれる情報（送信元ＭＡＣアドレス、宛先ＭＡＣアドレス、送信元ＩＰアドレス、宛先ＩＰアドレス、送信日時、ポート番号、格納データなど）に基づいて、次の制御装置１への転送を管理する。より具体的には、フィルタリング部１７６は、パケットの転送条件を記述したフィルタリング情報１７７を参照して、ネットワークコントローラ１１０，１２０の一方で受信されたパケットの転送の要否および可否を判断する。
【００７４】
フィルタリング情報１７７としては、転送すべきパケットの条件を記述したホワイトリストの形で規定してもよいし、転送すべきではないパケットの条件を記述したブラックリストの形で規定してもよい。フィルタリング情報１７７は、外部から任意に設定あるいは更新されるようにしてもよい。
【００７５】
より具体的には、フィルタリング部１７６は、ネットワークコントローラ１１０，１２０の一方で何らかのパケットを受信すると、フィルタリング情報１７７を参照して、当該受信されたパケットにヘッダ情報などに基づいて、当該受信されたパケットを受信または転送すべきか否かを判断する。受信または転送すべきではないと判断されたパケットについては、破棄されるようにしてもよい。
【００７６】
フィルタリング部１７６は、受信または転送すべきと判断されたパケットのうち、自装置宛のパケットをパケット処理部１８０へ出力する。この場合には、フィルタリング部１７６は、当該受信されたパケットを他の制御装置１へは転送しない。また、フィルタリング部１７６は、受信または転送すべきと判断されたパケットのうち、他の制御装置１宛のパケットについては、他方のネットワークコントローラから複製を送出する。
【００７７】
このように、フィルタリング部１７６は、一方のネットワークコントローラに入来したパケットに対して、任意のフィルタリング条件でフィルタリングした上で、必要に応じて、別のネットワークコントローラから複製を送出する。
【００７８】
図８に示すように、例えば、４つのパケット（パケット１〜４）が制御装置１Ａのネットワークコントローラ１１０に入来した場合を想定する。これらのパケットのうち、パケット１は、制御装置１Ａに向けられた、転送可能なパケットであり、これらのパケットのうち、パケット２は、制御装置１Ｂに向けられた、転送可能なパケットであるとする。一方、パケット３およびパケット４については、転送できないパケットであるとする。
【００７９】
この場合には、フィルタリング部１７６は、パケット３およびパケット４については破棄し、パケット１およびパケット２のみを有効なものとして処理する。この場合には、パケット１は、制御装置１Ａのパケット処理部１８０へ与えられる、パケット２は、制御装置１Ｂのパケット処理部１８０へ与えられる。
【００８０】
このようなパケットに対する任意のフィルタリングを適用することで、セキュリティ上の問題を生じ得るパケットの転送を禁止するといった各種応用が可能である。
【００８１】
（ｄ５：パケットモニタリング機能）
図５〜図８に示すように、本実施の形態に係る制御装置１は、ネットワークコントローラ１１０，１２０の一方で受信されたパケットを複製し、ネットワークコントローラ１１０，１２０の他方から送出できる。この一方のネットワークコントローラから他方のネットワークコントローラまでのパケットの複製過程を利用して、パケットモニタリング機能を実現してもよい。
【００８２】
パケットモニタリング機能は、ネットワーク上を伝送するパケットの履歴を順次収集する機能であり、ネットワークに生じる任意の不具合の原因究明などに用いることができる。このようなパケットモニタリング機能においては、パケットの履歴の収集開始および収集終了を任意に指定できる。さらに、収集対象のパケットについての任意のフィルタリングを行ってもよい。例えば、特定の制御装置１から送出されるパケットのみ、あるいは、特定のポート番号を有するパケットのみ、といったフィルタリングが可能である。
【００８３】
＜Ｅ．設定方法＞
上述したようなネットワーク機能を制御装置１において有効化する場合には、サポート装置にて必要な設定を作成し、その作成した設定を対象の制御装置１に与えるようにしてもよい。この場合には、サポート装置において、有効にすべきネットワーク機能の指定や、フィルタリング情報などの指定を行うようにしてもよい。
【００８４】
別の設定方法として、制御装置１において実行されるユーザプログラム内において、有効にすべきネットワーク機能を指定する命令を記述するようにしてもよい。この場合には、制御装置１が起動して、ユーザプログラムが実行されることで、指定されたネットワーク機能が有効化される。
【００８５】
このようなネットワーク機能を有効化するための命令として、各ネットワーク機能に応じたファンクションブロックを提供してもよい。ファンクションブロックが提供されることで、プログラム作成者は、ネットワークに関する知識が乏しくても、必要なネットワーク機能を実現できる。
【００８６】
＜Ｆ．変形例＞
上述の実施の形態においては、メインユニット１００とサポート装置とがそれぞれ独立した構成となっているが、サポート装置の機能の全部または一部をメインユニット１００に組み入れるようにしてもよい。この場合、例えば、仮想化技術を利用して、共通のハードウェア上で制御装置１に相当する処理およびサポート装置に相当する処理を並列的に実行させてもよい。
【００８７】
上述の実施の形態においては、メインユニット１００とローカルユニット２００とからなる制御装置１（ＰＬＣ）を例示するが、メインユニット１００からのローカルバスにセーフティ制御ユニットや特殊制御ユニットなどを装着した構成を採用してもよい。この場合、装着されたセーフ制御ユニットや特殊制御ユニットは、メインユニット１００のネットワークコントローラ１１０，１２０を利用して、他のユニットまたはデバイスとコネクションを確立することもできる。この場合においても、上述したようなネットワーク機能を適用できる。
【００８８】
＜Ｇ．付記＞
上述したような本実施の形態は、以下のような技術思想を含む。
［構成１］
制御対象を制御するための制御装置（１）であって、
第１の通信プロトコルに従ってデータを遣り取りするための第１および第２のネットワークコントローラ（１１０，１２０）と、
前記第１のネットワークコントローラで受信されたパケットの複製を前記第２のネットワークコントローラから出力するとともに、前記第２のネットワークコントローラで受信されたパケットの複製を前記第１のネットワークコントローラから出力するためのパケット転送部（１７０，１７２，１７４，１７６）とを備える、制御装置。
［構成２］
前記第１の通信プロトコルは、イーサネットおよびＴＣＰ／ＩＰを含む通信プロトコルである、構成１に記載の制御装置。
［構成３］
前記第１の通信プロトコルとは異なる第２の通信プロトコルに従ってデータを遣り取りするための第３のネットワークコントローラをさらに備える、構成１または２に記載の制御装置。
［構成４］
前記第２の通信プロトコルは、データの到着時刻を保証する産業用ネットワークの通信プロトコルである、構成３に記載の制御装置。
［構成５］
前記パケット転送部（１７２）は、一方のネットワークコントローラで受信されたパケットの宛先として指定された物理アドレスに基づいて、当該受信されたパケットの複製を他方のネットワークコントローラから出力するか否かを判断する、構成１〜４のいずれか１項に記載の制御装置。
［構成６］
前記パケット転送部（１７４）は、一方のネットワークコントローラで受信されたパケットの宛先として指定されたネットワークアドレスに基づいて、当該受信されたパケットの複製を他方のネットワークコントローラから出力するか否かを判断する、構成１〜４のいずれか１項に記載の制御装置。
【００８９】
＜Ｈ．利点＞
本実施の形態に係る制御装置１は、２つのネットワークコントローラを有しており、ネットワークコントローラ間において、任意にパケットを転送することができ、このようなパケットの転送機能を利用したネットワーク機能を実装できる。制御装置に実装されるネットワーク機能を利用することで、複数の制御装置がネットワーク接続される場合であっても、ネットワーク接続の構成を簡素化できる。
【００９０】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００９１】
１，１Ａ，１Ｂ，１Ｃ  制御装置、１０  ハブ、１００  メインユニット、１０２  プロセッサ、１０４  チップセット、１０６  主記憶装置、１０８  二次記憶装置、１１０，１２０  ネットワークコントローラ、１３０  フィールドネットワークコントローラ、１４０  ＵＳＢコントローラ、１５０  メモリカードインターフェイス、１５２  メモリカード、１６０  ローカルバスコントローラ、１７０  パケット複製部、１７２，１７４  スイッチング部、１７３  アドレス情報、１７５  ＩＰアドレス情報、１７６  フィルタリング部、１７７  フィルタリング情報、１８０  パケット処理部、２００  ローカルユニット、Ｐ１１，Ｐ１２，Ｐ２  通信ポート。
【図１】
0006988650.tif 000002
【図２】
0006988650.tif 000003
【図３】
0006988650.tif 000004
【図４】
0006988650.tif 000005
【図５】
0006988650.tif 000006
【図６】
0006988650.tif 000007
【図７】
0006988650.tif 000008
【図８】
0006988650.tif 000009