(57)【要約】      （修正有）【課題】リモートＩ／Ｏシステム内におけるデータの転送を高速化する。【解決手段】リモートＩ／Ｏシステム１００は、情報ネットワーク制御モジュールと、Ｉ／Ｏインタフェースモジュールと、リモートＩ／Ｏモジュールを備える。情報ネットワーク制御モジュールは、Ｉ／Ｏインタフェースモジュール毎に設けられるスキャンメモリ領域を有するコモンメモリと、制御ＩＣを備える。制御ＩＣは、情報ネットワークから読み込んだデータをスキャンメモリ領域に書き込み、Ｉ／Ｏインタフェースモジュールに送信する。また、情報ネットワークから読み込んだデータを記憶するデータラッチ用バッファと、前回読み込んだデータを記憶する変化検出メモリを有し、データの変化を検出する変化検出回路を備える。スキャンメモリ領域のうち、変化検出回路によってデータの変化が検出されたスキャンメモリ領域に記憶されるデータをＩ／Ｏインタフェースモジュールに送信する。【選択図】図１
2020134963.tif 000002
【特許請求の範囲】
【請求項１】
情報ネットワーク制御モジュールと、
Ｉ／Ｏインタフェースモジュールと、
リモートＩ／Ｏモジュールと、を備え、
前記Ｉ／Ｏインタフェースモジュールは、
Ｉ／Ｏインタフェースメモリと、
前記情報ネットワーク制御モジュールまたは他の前記Ｉ／Ｏインタフェースモジュールから、リモートＩ／Ｏバスを介して、サイクリックスキャン伝送によって送信されたデータを受信して、前記Ｉ／Ｏインタフェースメモリに書き込み、当該Ｉ／Ｏインタフェースメモリに記憶されるデータを前記リモートＩ／Ｏモジュールに出力する第１制御ＩＣと、備え、
前記情報ネットワーク制御モジュールは、
前記Ｉ／Ｏインタフェースモジュール毎に設けられるスキャンメモリ領域を有するコモンメモリと、
情報ネットワークから読み込んだデータを前記スキャンメモリ領域に書き込み、前記スキャンメモリ領域に記憶されるデータを、前記リモートＩ／Ｏバスを介して、サイクリックスキャン伝送によって前記Ｉ／Ｏインタフェースモジュールに送信する第２制御ＩＣと、を備え、
前記第２制御ＩＣは、
前記情報ネットワークから読み込んだデータを記憶するデータラッチ用バッファと、前記情報ネットワークから前回読み込んだデータを記憶する変化検出メモリと、を有し、前記データラッチ用バッファに記憶されるデータと、前記変化検出メモリに記憶されるデータと、を比較してデータの変化を検出する変化検出回路を備え、
前記スキャンメモリ領域のうち、前記変化検出回路によってデータの変化が検出された前記スキャンメモリ領域に記憶されるデータをサイクリックスキャン伝送によって前記Ｉ／Ｏインタフェースモジュールに送信する、リモートＩ／Ｏシステム。
【請求項２】
前記変化検出回路は、前記変化検出メモリにデータが記憶されていない場合には、前記情報ネットワークから読み込んだデータを前記変化検出メモリに書き込む初期更新処理を実行し、前記初期更新処理の実行後、前記情報ネットワークから次にデータを読み込んだ場合に、前記データラッチ用バッファに記憶されるデータと、前記変化検出メモリに記憶されるデータとを比較してデータの変化を検出する請求項１に記載のリモートＩ／Ｏシステム。
【請求項３】
前記変化検出回路は、外部のＣＰＵモジュールからサイクリックスキャン伝送の実行が指示された後、予め設定された周期で、前記データラッチ用バッファに記憶されるデータと、前記変化検出メモリに記憶されるデータとを比較してデータの変化を検出する請求項１または２に記載のリモートＩ／Ｏシステム。
【請求項４】
前記第２制御ＩＣは、前記情報ネットワークから読み込んだデータを記憶するリングバッファを有し、前記初期更新処理の実行前においては、前記リングバッファに記憶されるデータをサイクリックスキャン伝送によって前記Ｉ／Ｏインタフェースモジュールに送信する請求項２に記載のリモートＩ／Ｏシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、リモートＩ／Ｏシステムに関する。
【背景技術】
【０００２】
Ｉ／Ｏモジュールは、ＰＡやＦＡ等の工場において、コントローラやＰＣ等のマスタ機器と接続され、モータやセンサ等の周辺機器に対して、データの入出力を行う電子機器である。その中でも、リモートＩ／Ｏモジュールは、通信ネットワークを介して、マスタ機器とデータの転送を行う電子機器である。リモートＩ／Ｏモジュールによれば、マスタ機器に搭載されるＣＰＵモジュールの動作負荷の軽減、Ｉ／Ｏ通信に用いる配線の本数の削減、通信ネットワークで接続される一部のリモートＩ／Ｏモジュールの更新が可能となる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２２６４４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、大容量のデータを転送可能な大容量データ転送方式の需要拡大に伴い、Ｉ／ＯモジュールやリモートＩ／Ｏモジュールには、データ転送の高速化が求められている。
【０００５】
ここで、リモートＩ／Ｏモジュールを含むリモートＩ／Ｏシステムの構成の一例について説明する。リモートＩ／Ｏシステムにおいて、通信ネットワークに接続された情報ネットワーク制御モジュールからリモートＩ／Ｏモジュールへのデータの伝送は、Ｉ／Ｏインタフェースモジュールを介して行われる。その際、情報ネットワーク制御モジュールは、当該情報ネットワーク制御モジュールが有するコモンメモリ内のスキャンメモリ領域のうち、ＣＰＵモジュールによって指定されたスキャンメモリ領域に記憶されるデータを、Ｉ／Ｏインタフェースモジュールに対して送信する。その後、Ｉ／Ｏインタフェースモジュールは、情報ネットワーク制御モジュールから受信したデータを、リモートＩ／Ｏモジュールへ送信する。リモートＩ／Ｏモジュールから情報ネットワーク制御モジュールへのデータの転送方式も、同様に、Ｉ／Ｏインタフェースモジュールを介した転送方式によって行われる。
【０００６】
このようなリモートＩ／Ｏシステムでは、情報ネットワーク制御モジュールが有するコモンメモリ内のスキャンメモリ領域のうちリモートＩ／Ｏモジュールに送信するデータを記憶するスキャンメモリ領域をＣＰＵモジュールが指定する処理（以下、ＣＰＵ処理と言う）を介して、情報ネットワーク制御モジュールからＩ／Ｏインタフェースモジュールへのデータの送信が行われる。そのため、情報ネットワーク制御モジュールとＩ／Ｏインタフェースモジュール間でのデータの転送が、Ｉ／ＯインタフェースモジュールとリモートＩ／Ｏモジュール間でのデータの転送よりも常に時間がかかる。
【０００７】
これにより、情報ネットワーク制御モジュールとＩ／Ｏインタフェースモジュール間でのデータの転送、およびＩ／ＯインタフェースモジュールとリモートＩ／Ｏモジュール間でのデータの転送を並行して実行する一括入出力処理を行う場合に、情報ネットワーク制御モジュールとリモートＩ／Ｏモジュール間でのデータの転送に要するトータルの時間が、情報ネットワーク制御モジュールとＩ／Ｏインタフェースモジュール間でのデータの転送時間に依存してしまい、Ｉ／ＯインタフェースモジュールとリモートＩ／Ｏモジュール間でのデータの転送に無駄な待ち時間が生じている。
【課題を解決するための手段】
【０００８】
実施形態のリモートＩ／Ｏシステムは、情報ネットワーク制御モジュールと、Ｉ／Ｏインタフェースモジュールと、リモートＩ／Ｏモジュールと、を備える。Ｉ／Ｏインタフェースモジュールは、Ｉ／Ｏインタフェースメモリと、第１制御ＩＣと、を備える。第１制御ＩＣは、情報ネットワーク制御モジュールまたは他のＩ／Ｏインタフェースモジュールから、リモートＩ／Ｏバスを介して、サイクリックスキャン伝送によって送信されたデータを受信して、Ｉ／Ｏインタフェースメモリに書き込み、当該Ｉ／Ｏインタフェースメモリに記憶されるデータをリモートＩ／Ｏモジュールに出力する。情報ネットワーク制御モジュールは、コモンメモリと、第２制御ＩＣと、を備える。コモンメモリは、Ｉ／Ｏインタフェースモジュール毎に設けられるスキャンメモリ領域を有する。第２制御ＩＣは、情報ネットワークから読み込んだデータをスキャンメモリ領域に書き込み、スキャンメモリ領域に記憶されるデータを、リモートＩ／Ｏバスを介して、サイクリックスキャン伝送によってＩ／Ｏインタフェースモジュールに送信する。また、第２制御ＩＣは、情報ネットワークから読み込んだデータを記憶するデータラッチ用バッファと、情報ネットワークから前回読み込んだデータを記憶する変化検出メモリと、を有し、データラッチ用バッファに記憶されるデータと、変化検出メモリに記憶されるデータと、を比較してデータの変化を検出する変化検出回路を備え、スキャンメモリ領域のうち、変化検出回路によってデータの変化が検出されたスキャンメモリ領域に記憶されるデータをサイクリックスキャン伝送によってＩ／Ｏインタフェースモジュールに送信する。
【図面の簡単な説明】
【０００９】
【図１】図１は、本実施形態にかかるリモートＩ／Ｏシステムの構成の一例を示す図である。
【図２】図２は、本実施形態にかかるリモートＩ／Ｏシステムの情報ネットワーク制御モジュールが有するコモンメモリのメモリマップの一例を示す図である。
【図３】図３は、本実施形態にかかるリモートＩ／Ｏシステムにおける情報ネットワーク制御モジュールからリモートＩ／Ｏモジュールへのデータの送信処理の流れの一例を説明するための図である。
【図４】図４は、本実施形態にかかるリモートＩ／ＯシステムにおけるリモートＩ／Ｏモジュールから情報ネットワーク制御モジュールへのデータの送信処理の流れの一例を説明するための図である。
【図５】図５は、本実施形態にかかるリモートＩ／Ｏシステムにおける情報ネットワーク制御モジュールからリモートＩ／Ｏモジュールへのデータの送信処理の流れの一例を説明するための図である。
【図６】図６は、本実施形態にかかるリモートＩ／ＯシステムにおけるリモートＩ／Ｏモジュールから情報ネットワーク制御モジュールへのデータの送信処理の流れの一例を説明するための図である。
【図７】図７は、本実施形態にかかるリモートＩ／Ｏシステムが有する情報ネットワーク制御モジュールによるＩ／Ｏインタフェースモジュールに対するデータの送信処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、添付の図面を用いて、本実施形態にかかるリモートＩ／Ｏシステムについて説明する。
【００１１】
図１は、本実施形態にかかるリモートＩ／Ｏシステムの構成の一例を示す図である。本実施形態にかかるリモートＩ／Ｏシステム１００は、図１に示すように、情報ネットワーク制御モジュール１と、３つのＩ／Ｏインタフェースモジュール２−１〜２−３と、複数のリモートＩ／Ｏモジュール３と、を有する。
【００１２】
以下、複数のＩ／Ｏインタフェースモジュール２−１〜２−Ｎを区別する必要がない場合には、Ｉ／Ｏインタフェースモジュール２と記載する。本実施形態では、リモートＩ／Ｏシステム１００が、３つのＩ／Ｏインタフェースモジュール２−１〜２−３を有する例について説明するが、複数のＩ／Ｏインタフェースモジュール２を有するものであれば、これに限定するものではない。
【００１３】
情報ネットワーク制御モジュール１は、プラント内のイントラネット等の情報ネットワークＮＴ、およびコントローラやＰＣ等のマスタ機器４に搭載されるＣＰＵモジュール４ａと接続されている。また、情報ネットワーク制御モジュール１と、Ｉ／Ｏインタフェースモジュール２とは、リモートＩ／ＯバスＢ１を介して接続され、リモートＩ／ＯバスＢ１を介してサイクリックスキャン伝送を実行する。また、Ｉ／Ｏインタフェースモジュール２と、リモートＩ／Ｏモジュール３とは、Ｉ／ＯバスＢ２を介して接続されている。
【００１４】
リモートＩ／Ｏモジュール３は、Ｉ／Ｏメモリ３ａと、制御ＩＣ３ｂと、を有する。Ｉ／Ｏメモリ３ａは、Ｉ／Ｏインタフェースモジュール２から入力されるデータ、およびモータやセンサ等の周辺機器から入力されるデータを記憶する。制御ＩＣ３ｂは、Ｉ／ＯバスＢ２を介して、Ｉ／Ｏインタフェースモジュール２からデータを受信し、Ｉ／Ｏメモリ３ａに書き込む。そして、制御ＩＣ３ｂは、Ｉ／Ｏメモリ３ａに記憶されるデータ（Ｉ／Ｏインタフェースモジュール２から受信したデータ）を、周辺機器に送信する。また、制御ＩＣ３ｂは、周辺機器から入力されるデータを、Ｉ／Ｏメモリ３ａに書き込み。そして、制御ＩＣ３ｂは、Ｉ／Ｏメモリ３ａに記憶されるデータ（周辺機器から入力されるデータ）を、Ｉ／Ｏインタフェースモジュール２に送信する。
【００１５】
Ｉ／Ｏインタフェースモジュール２は、Ｉ／Ｏインタフェースメモリ２ａと、制御ＩＣ２ｂと、を有する。Ｉ／Ｏインタフェースメモリ２ａは、入力エリア２ｃと、出力エリア２ｄと、を有する。入力エリア２ｃは、リモートＩ／Ｏモジュール３から入力されるデータを記憶するメモリ領域である。出力エリア２ｄは、リモートＩ／Ｏモジュール３に出力するデータを記憶するメモリ領域である。
【００１６】
制御ＩＣ２ｂは、リモートＩ／Ｏモジュール３から入力されるデータを入力エリア２ｃに書き込み、当該入力エリア２ｃに記憶されるデータを、他のＩ／Ｏインタフェースモジュール２および情報ネットワーク制御モジュール１に対してサイクリックスキャン伝送によって送信する。また、制御ＩＣ２ｂは、情報ネットワーク制御モジュール１または他のＩ／Ｏインタフェースモジュール２からサイクリックスキャン伝送によって送信されたデータを受信して、出力エリア２ｄに書き込み、当該出力エリア２ｄに記憶されるデータを、リモートＩ／Ｏモジュール３に出力する。
【００１７】
情報ネットワーク制御モジュール１は、コモンメモリ１ａと、制御ＩＣ１ｂと、を有する。コモンメモリ１ａは、複数のスキャンメモリ領域を有する。ここで、スキャンメモリ領域は、Ｉ／Ｏインタフェースモジュール２毎に設けられ、リモートＩ／ＯバスＢ１を介したサイクリックスキャン伝送によってＩ／Ｏインタフェースモジュール２との間で送受信するデータを記憶するメモリ領域である。
【００１８】
図２は、本実施形態にかかるリモートＩ／Ｏシステムの情報ネットワーク制御モジュールが有するコモンメモリのメモリマップの一例を示す図である。図２に示すように、コモンメモリ１ａは、Ｉ／Ｏインタフェースモジュール２−１に対応するスキャンメモリ領域Ｍ１、Ｉ／Ｏインタフェースモジュール２−２に対応するメモリ領域Ｍ２、およびＩ／Ｏインタフェースモジュール２−３に対応するメモリ領域Ｍ３を有する。
【００１９】
図１に戻り、制御ＩＣ１ｂは、情報ネットワークＮＴからデータを読み込み、当該読み込んだデータをコモンメモリ１ａが有するスキャンメモリ領域に書き込み、スキャンメモリ領域に記憶されるデータをサイクリックスキャン伝送によってＩ／Ｏインタフェースモジュール２に送信する。また、制御ＩＣ１ｂは、Ｉ／Ｏインタフェースモジュール２からサイクリックスキャン伝送によって送信されるデータを受信する。そして、制御ＩＣ１ｂは、コモンメモリ１ａが有するスキャンメモリ領域のうち、受信したデータの送信元のＩ／Ｏインタフェースモジュール２に対応するスキャンメモリ領域に対して、当該受信したデータを書き込む。
【００２０】
ところで、従来、リモートＩ／Ｏシステム１００においては、情報ネットワーク制御モジュール１は、コモンメモリ１ａが有するスキャンメモリ領域のうち、マスタ機器４に搭載されるＣＰＵモジュール４ａによって指定されたスキャンメモリ領域に記憶されるデータを、Ｉ／Ｏインタフェースモジュール２に対してサイクリックスキャン伝送によって送信する。すなわち、リモートＩ／Ｏシステム１００では、ＣＰＵモジュール４ａがスキャンメモリ領域を指定する処理（以下、ＣＰＵ処理と言う）を介して、情報ネットワーク制御モジュール１からＩ／Ｏインタフェースモジュール２へのデータの送信が行われる。そのため、情報ネットワーク制御モジュール１とＩ／Ｏインタフェースモジュール２間でのデータの転送が、Ｉ／Ｏインタフェースモジュール２とリモートＩ／Ｏモジュール３間でのデータの転送よりも常に時間がかかる。
【００２１】
これにより、情報ネットワーク制御モジュール１とＩ／Ｏインタフェースモジュール２間でのデータの転送、およびＩ／Ｏインタフェースモジュール２とリモートＩ／Ｏモジュール３間でのデータの転送を並行して実行する一括入出力処理を行う場合に、情報ネットワーク制御モジュール１とリモートＩ／Ｏモジュール３間でのデータの転送に要するトータルの時間が、情報ネットワーク制御モジュール１とＩ／Ｏインタフェースモジュール２間でのデータの転送時間に依存してしまい、Ｉ／Ｏインタフェースモジュール２とリモートＩ／Ｏモジュール３間でのデータの転送に無駄な待ち時間が生じている。
【００２２】
そこで、本実施形態では、情報ネットワーク制御モジュール１は、ＣＰＵ処理を介さずに、Ｉ／Ｏインタフェースモジュール２へのデータの送信を行う。具体的には、情報ネットワーク制御モジュール１の制御ＩＣ１ｂは、変化検出回路１ｃを有する。変化検出回路１ｃは、データラッチ用バッファ１ｄと、変化検出メモリ１ｅと、を有する。データラッチ用バッファ１ｄは、情報ネットワークＮＴから読み込んだデータを記憶するバッファである。変化検出メモリ１ｅは、情報ネットワークＮＴから前回読み込んだデータ（以下、前回値と言う）を記憶するメモリである。
【００２３】
変化検出回路１ｃは、情報ネットワークＮＴから読み込んだデータを、データラッチ用バッファ１ｄに書き込む。次いで、変化検出回路１ｃは、データラッチ用バッファ１ｄに記憶されるデータと、変化検出メモリ１ｅに記憶される前回値とを比較する。これにより、変化検出回路１ｃは、データラッチ用バッファ１ｄに記憶されるデータの変化を検出する。
【００２４】
本実施形態では、変化検出回路１ｃは、外部のＣＰＵモジュール４ａからサイクリックスキャン伝送の実行が指示された後、予め設定された周期で、データラッチ用バッファ１ｄに記憶されるデータと、変化検出メモリ１ｅに記憶されるデータとを比較して、データラッチ用バッファ１ｄに記憶されるデータの変化を検出するものとする。
【００２５】
そして、制御ＩＣ１ｂは、コモンメモリ１ａが有するスキャンメモリ領域のうち、変化検出回路１ｃによってデータの変化が検出されたスキャンメモリ領域に記憶されるデータを、サイクリックスキャン伝送によって、Ｉ／Ｏインタフェースモジュール２に送信する。また、制御ＩＣ１ｂは、コモンメモリ１ａが有するスキャンメモリ領域のうち、変化検出回路１ｃによってデータの変化が検出されなかったスキャンメモリ領域に記憶されるデータについては、Ｉ／Ｏインタフェースモジュール２への送信を行わない。
【００２６】
これにより、ＣＰＵ処理を介さずに、情報ネットワーク制御モジュール１からＩ／Ｏインタフェースモジュール２に対してサイクリックスキャン伝送によってデータを送信することができる。その結果、マスタ機器４が有するＣＰＵモジュール４ａによるＣＰＵ処理を待つ必要が無くなり、情報ネットワーク制御モジュール１からＩ／Ｏインタフェースモジュール２へのデータの送信に要する時間が短縮できので、リモートＩ／Ｏシステム１００内におけるデータの転送を高速化することができる。
【００２７】
また、情報ネットワーク制御モジュール１とＩ／Ｏインタフェースモジュール２間でのデータの転送、およびＩ／Ｏインタフェースモジュール２とリモートＩ／Ｏモジュール３間でのデータの転送を並行して実行する一括入出力処理を行う場合に、情報ネットワーク制御モジュール１とリモートＩ／Ｏモジュール３間でのデータの転送に要するトータルの時間が、情報ネットワーク制御モジュール１とＩ／Ｏインタフェースモジュール２間でのデータの転送時間に依存することを軽減できるので、Ｉ／Ｏインタフェースモジュール２とリモートＩ／Ｏモジュール３間でのデータの転送における無駄な待ち時間が短縮できる。
【００２８】
また、変化検出回路１ｃは、変化検出メモリ１ｅにデータが記憶されていない場合には、情報ネットワークＮＴから読み込んだデータを変化検出メモリ１ｅに書き込む初期更新処理を実行する。そして、変化検出回路１ｃは、初期更新処理の実行後、情報ネットワークＮＴから次にデータを読み込んだ場合に、データラッチ用バッファ１ｄに記憶されるデータと、変化検出メモリ１ｅに記憶されるデータとを比較してデータの変化を検出する。
【００２９】
本実施形態では、制御ＩＣ１ｂは、図１に示すように、リングバッファ１ｆを有する。リングバッファ１ｆは、情報ネットワークＮＴから読み込んだデータを記憶する。そして、制御ＩＣ１ｂは、初期更新処理の実行前においては、リングバッファ１ｆに記憶されるデータを、サイクリックスキャン伝送によってＩ／Ｏインタフェースモジュール２に送信する。
【００３０】
また、本実施形態では、Ｉ／Ｏインタフェースモジュール２の制御ＩＣ２ｂも、図１に示すように、情報ネットワーク制御モジュール１の制御ＩＣ１ｂと同様に、変化検出回路２ｅを有する。変化検出回路２ｅは、データラッチ用バッファ２ｆと、変化検出メモリ２ｇと、を有する。データラッチ用バッファ２ｆは、リモートＩ／Ｏモジュール３から入力されるデータを記憶するバッファである。変化検出メモリ２ｇは、リモートＩ／Ｏモジュール３から前回入力されたデータ（以下、前回値と言う）を記憶するメモリである。
【００３１】
変化検出回路２ｅは、リモートＩ／Ｏモジュール３から入力されるデータを、データラッチ用バッファ２ｆに書き込む。次いで、変化検出回路２ｅは、データラッチ用バッファ２ｆに記憶されるデータと、変化検出メモリ２ｇに記憶される前回値とを比較する。これにより、変化検出回路２ｅは、データラッチ用バッファ２ｆに記憶されるデータの変化を検出する。本実施形態では、変化検出回路２ｅは、予め設定された周期で、データラッチ用バッファ２ｆに記憶されるデータと、変化検出メモリ２ｇに記憶されるデータとを比較して、データラッチ用バッファ２ｆに記憶されるデータの変化を検出するものとする。
【００３２】
そして、制御ＩＣ２ｂは、入力エリア２ｃに記憶されるデータの変化が検出された場合には、当該データを、サイクリックスキャン伝送によって、情報ネットワーク制御モジュール１および他のＩ／Ｏインタフェースモジュール２に対して送信する。一方、制御ＩＣ２ｂは、入力エリア２ｃに記憶されるデータの変化が検出されなかった場合には、当該データを、サイクリックスキャン伝送によって、情報ネットワーク制御モジュール１および他のＩ／Ｏインタフェースモジュール２に対して送信しない。
【００３３】
これにより、入力エリア２ｃに記憶されるデータに変化がない場合には、Ｉ／Ｏインタフェースモジュール２から情報ネットワーク制御モジュール１へのデータの転送が行われなくなるので、Ｉ／Ｏインタフェースモジュール２から情報ネットワーク制御モジュール１へのデータの転送による情報ネットワーク制御モジュール１およびＩ／Ｏインタフェースモジュール２にかかる負荷を軽減することができる。
【００３４】
次に、図３を用いて、初期更新処理の実行前における、情報ネットワーク制御モジュール１からリモートＩ／Ｏモジュール３へのデータの送信処理の流れの一例について説明する。図３は、本実施形態にかかるリモートＩ／Ｏシステムにおける情報ネットワーク制御モジュールからリモートＩ／Ｏモジュールへのデータの送信処理の流れの一例を説明するための図である。
【００３５】
まず、リモートＩ／Ｏシステム１００におけるデータの転送処理を起動させる際に、マスタ機器４に搭載されるＣＰＵモジュール４ａが、情報ネットワーク制御モジュール１が有する制御ＩＣ１ｂおよびＩ／Ｏインタフェースモジュール２が有する制御ＩＣ２ｂの動作モードを設定する（ステップＳ３０１）。
【００３６】
ここで、動作モードは、制御ＩＣ１ｂ，２ｂが動作するモードである。本実施形態では、動作モードは、ＲＩＯモードおよびコントローラモードを有する。ＲＩＯモードは、制御ＩＣ１ｂ，２ｂが、マスタ機器４が有するＣＰＵモジュール４ａからの指示によらずに動作するモードである。コントローラモードは、制御ＩＣ１ｂ，２ｂが、マスタ機器４が有するＣＰＵモジュール４ａからの指示に従って、動作するモードである。
【００３７】
また、マスタ機器４に搭載されるＣＰＵモジュール４ａは、情報ネットワーク制御モジュール１が有するコモンメモリ１ａのアドレスマップを、情報ネットワーク制御モジュール１およびＩ／Ｏインタフェースモジュール２に送信する。ここで、アドレスマップは、コモンメモリ１ａにおける、Ｉ／Ｏインタフェースモジュール２毎に設けられるスキャンメモリ領域のメモリアドレスを示す。
【００３８】
制御ＩＣ１ｂ，２ｂの動作モードが設定されると、情報ネットワーク制御モジュール１の制御ＩＣ１ｂは、情報ネットワークＮＴからデータを読み込み、読み込んだデータをリングバッファ１ｆに保存する（ステップＳ３０２）。さらに、制御ＩＣ１ｂは、リングバッファ１ｆに記憶されるデータを、アドレスマップに従って、コモンメモリ１ａのスキャンメモリ領域に書き込むとともに、リングバッファ１ｆに記憶されるデータを、変化検出回路１ｃに出力する（ステップＳ３０３）。変化検出回路１ｃは、初期更新処理の実行前に、リングバッファ１ｆに記憶されるデータが入力されると、当該入力されたデータを前回値として変化検出メモリ１ｅに書き込む。
【００３９】
次に、制御ＩＣ１ｂは、リングバッファ１ｆに記憶されるデータを、サイクリックスキャン伝送によって、Ｉ／Ｏインタフェースモジュール２に対して送信する（ステップＳ３０４）。
【００４０】
Ｉ／Ｏインタフェースモジュール２の制御ＩＣ２ｂは、情報ネットワーク制御モジュール１から受信したデータを、出力エリア２ｄに書き込む（ステップＳ３０５）。そして、リモートＩ／Ｏモジュール３からＩ／Ｏインタフェースモジュール２に対してデータが入力されている場合には（すなわち、リモートＩ／Ｏモジュール３からＩ／Ｏインタフェースモジュール２へのデータの入力が並行して実行されている場合には）、リモートＩ／Ｏモジュール３からＩ／Ｏインタフェースモジュール２へのデータの入力の完了を待って、マスタ機器４が有するＣＰＵモジュール４ａと各ハードウェア（情報ネットワーク制御モジュール１、Ｉ／Ｏインタフェースモジュール２、リモートＩ／Ｏモジュール３）の同期を行う（ステップＳ３０６）。
【００４１】
その後、制御ＩＣ２ｂは、出力エリア２ｄに記憶されるデータを、リモートＩ／Ｏモジュール３に出力する（ステップＳ３０７）。
【００４２】
リモートＩ／Ｏモジュール３の制御ＩＣ３ｂは、Ｉ／Ｏインタフェースモジュール２から入力されるデータを、Ｉ／Ｏメモリ３ａに書き込む（ステップＳ３０８）。そして、Ｉ／Ｏインタフェースモジュール２からリモートＩ／Ｏモジュール３へのデータの出力の完了を待って、マスタ機器４が有するＣＰＵモジュール４ａと各ハードウェア（情報ネットワーク制御モジュール１、Ｉ／Ｏインタフェースモジュール２、リモートＩ／Ｏモジュール３）の同期を行う（ステップＳ３０９）。
【００４３】
その後、Ｉ／Ｏインタフェースモジュール２の制御ＩＣ２ｂは、マスタ機器４のＣＰＵモジュール４ａに対して、情報ネットワーク制御モジュール１からリモートＩ／Ｏモジュール３へのデータの転送の完了を通知する（ステップＳ３１０）。
【００４４】
次に、図４を用いて、初期更新処理の実行前における、リモートＩ／Ｏモジュール３から情報ネットワーク制御モジュール１へのデータの送信処理の流れの一例について説明する。図４は、本実施形態にかかるリモートＩ／ＯシステムにおけるリモートＩ／Ｏモジュールから情報ネットワーク制御モジュールへのデータの送信処理の流れの一例を説明するための図である。
【００４５】
リモートＩ／Ｏモジュール３の制御ＩＣ３ｂは、Ｉ／Ｏメモリ３ａに記憶されるデータを、予め設定された周期で、Ｉ／Ｏインタフェースモジュール２に出力する（ステップＳ４０１）。
【００４６】
Ｉ／Ｏインタフェースモジュール２の制御ＩＣ２ｂは、リモートＩ／Ｏモジュール３から入力されるデータを、Ｉ／Ｏインタフェースメモリ２ａの入力エリア２ｃに書き込む。また、制御ＩＣ２ｂが有する変化検出回路２ｅは、リモートＩ／Ｏモジュール３から入力されるデータを、データラッチ用バッファ２ｆおよび変化検出メモリ２ｇに書き込む。
【００４７】
そして、情報ネットワーク制御モジュール１からＩ／Ｏインタフェースモジュール２に対してデータが送信されている場合には（すなわち、情報ネットワーク制御モジュール１からＩ／Ｏインタフェースモジュール２へのデータの送信が並行して実行されている場合には）、情報ネットワーク制御モジュール１からＩ／Ｏインタフェースモジュール２へのデータの送信の完了を待って、マスタ機器４が有するＣＰＵモジュール４ａと各ハードウェア（情報ネットワーク制御モジュール１、Ｉ／Ｏインタフェースモジュール２、リモートＩ／Ｏモジュール３）の同期を行う（ステップＳ４０２）。
【００４８】
その後、Ｉ／Ｏインタフェースモジュール２の制御ＩＣ２ｂは、入力エリア２ｃに記憶されるデータを、サイクリックスキャン伝送によって、情報ネットワーク制御モジュール１および他のＩ／Ｏインタフェースモジュール２に対して送信する（ステップＳ４０３）。
【００４９】
情報ネットワーク制御モジュール１の制御ＩＣ１ｂは、Ｉ／Ｏインタフェースモジュール２から受信したデータを、アドレスマップに基づいて、コモンメモリ１ａが有するスキャンメモリ領域のうち、当該受信したデータの送信元のＩ／Ｏインタフェースモジュール２に対応するスキャンメモリ領域に対して書き込む（ステップＳ４０４）。Ｉ／Ｏインタフェースモジュール２から情報ネットワーク制御モジュール１へのデータの送信の完了を待って、マスタ機器４が有するＣＰＵモジュール４ａと各ハードウェア（情報ネットワーク制御モジュール１、Ｉ／Ｏインタフェースモジュール２、リモートＩ／Ｏモジュール３）の同期を行う（ステップＳ４０５）。
【００５０】
その後、Ｉ／Ｏインタフェースモジュール２の制御ＩＣ２ｂは、マスタ機器４のＣＰＵモジュール４ａに対して、Ｉ／Ｏインタフェースモジュール２から情報ネットワーク制御モジュール１へのデータの転送の完了を通知する（ステップＳ４０６）。
【００５１】
次に、図５を用いて、初期更新処理の実行後における、情報ネットワーク制御モジュール１からリモートＩ／Ｏモジュール３へのデータの送信処理の流れの一例について説明する。図５は、本実施形態にかかるリモートＩ／Ｏシステムにおける情報ネットワーク制御モジュールからリモートＩ／Ｏモジュールへのデータの送信処理の流れの一例を説明するための図である。以下の説明では、図３に示す、情報ネットワーク制御モジュール１からリモートＩ／Ｏモジュール３へのデータの送信処理と異なる処理について説明する。
【００５２】
制御ＩＣ１ｂ，２ｂの動作モードが設定されると、情報ネットワーク制御モジュール１の制御ＩＣ１ｂは、情報ネットワークＮＴからデータを読み込み、読み込んだデータをリングバッファ１ｆに保存する（ステップＳ３０２）。さらに、制御ＩＣ１ｂは、リングバッファ１ｆに記憶されるデータを、アドレスマップに従って、コモンメモリ１ａのスキャンメモリ領域に書き込む。また、変化検出回路１ｃは、リングバッファ１ｆに記憶されるデータを、データラッチ用バッファ１ｄに書き込む（ステップＳ５０１）。変化検出回路１ｃは、予め設定された周期で、データラッチ用バッファ２ｆに記憶されるデータと、変化検出メモリ１ｅに記憶されるデータとを比較して、データラッチ用バッファ１ｄに記憶されるデータの変化を検出する（ステップＳ５０２）。
【００５３】
そして、制御ＩＣ１ｂは、データラッチ用バッファ１ｄに記憶されるデータの変化が検出された場合、コモンメモリ１ａが有するスキャンメモリ領域のうち、データの変化が検出されたスキャンメモリ領域に記憶されるデータを、サイクリックスキャン伝送によって、Ｉ／Ｏインタフェースモジュール２に送信する（ステップＳ５０３）。
【００５４】
その後、情報ネットワーク制御モジュール１からリモートＩ／Ｏモジュール３へのデータの転送が完了して、Ｉ／Ｏインタフェースモジュール２の制御ＩＣ２ｂによって、マスタ機器４のＣＰＵモジュール４ａに対して、情報ネットワーク制御モジュール１からリモートＩ／Ｏモジュール３へのデータの転送の完了が通知されると（ステップＳ３１０）、変化検出回路１ｃは、変化検出メモリ１ｅに記憶されるデータのリードバックによるリフレッシュを実行する（ステップＳ５０４）。
【００５５】
次に、図６を用いて、初期更新処理の実行後における、リモートＩ／Ｏモジュール３から情報ネットワーク制御モジュール１へのデータの送信処理の流れの一例について説明する。図６は、本実施形態にかかるリモートＩ／ＯシステムにおけるリモートＩ／Ｏモジュールから情報ネットワーク制御モジュールへのデータの送信処理の流れの一例を説明するための図である。以下の説明では、図４に示す、リモートＩ／Ｏモジュール３から情報ネットワーク制御モジュール１へのデータの送信処理と異なる処理について説明する。
【００５６】
Ｉ／Ｏインタフェースモジュール２の制御ＩＣ２ｂが有する変化検出回路２ｅは、リモートＩ／Ｏモジュール３から入力されるデータをデータラッチ用バッファ２ｆに書き込む（ステップＳ６０１）。そして、変化検出回路２ｅは、データラッチ用バッファ２ｆに記憶されるデータと、変化検出メモリ２ｇに記憶されるデータとを比較して、データラッチ用バッファ２ｆに記憶されるデータの変化を検出する（ステップＳ６０２）。
【００５７】
データラッチ用バッファ２ｆに記憶されるデータの変化が検出された場合、情報ネットワーク制御モジュール１からＩ／Ｏインタフェースモジュール２へのデータの送信が完了し、マスタ機器４が有するＣＰＵモジュール４ａと各ハードウェア（情報ネットワーク制御モジュール１、Ｉ／Ｏインタフェースモジュール２、リモートＩ／Ｏモジュール３）の同期が行われるのを待って（ステップＳ４０２）、制御ＩＣ２ｂは、入力エリア２ｃに記憶されるデータを、サイクリックスキャン伝送によって、情報ネットワーク制御モジュール１および他のＩ／Ｏインタフェースモジュール２に対して送信する（ステップＳ６０３）。その後、変化検出回路２ｅは、データラッチ用バッファ２ｆに記憶されるデータによって、変化検出メモリ２ｇに記憶されるデータを更新する。
【００５８】
一方、データラッチ用バッファ２ｆに記憶されるデータの変化が検出されなかった場合、制御ＩＣ２ｂは、入力エリア２ｃに記憶されるデータを、サイクリックスキャン伝送によって、情報ネットワーク制御モジュール１および他のＩ／Ｏインタフェースモジュール２に対して送信しない。
【００５９】
その後、リモートＩ／Ｏモジュール３から情報ネットワーク制御モジュール１へのデータの転送が完了して、Ｉ／Ｏインタフェースモジュール２の制御ＩＣ２ｂによって、マスタ機器４のＣＰＵモジュール４ａに対して、Ｉ／Ｏインタフェースモジュール２から情報ネットワーク制御モジュール１へのデータの転送の完了が通知されると、変化検出回路２ｅは、変化検出メモリ２ｇに記憶されるデータのリードバックによるリフレッシュを実行する（ステップＳ６０４）。
【００６０】
次に、図７を用いて、情報ネットワーク制御モジュール１によるＩ／Ｏインタフェースモジュール２に対するデータの送信処理の流れの一例について説明する。図７は、本実施形態にかかるリモートＩ／Ｏシステムが有する情報ネットワーク制御モジュールによるＩ／Ｏインタフェースモジュールに対するデータの送信処理の流れの一例を示すフローチャートである。
【００６１】
マスタ機器４が有するＣＰＵモジュール４ａから、Ｉ／Ｏインタフェースモジュール２との間でのサイクリックスキャン伝送の開始を指示するスキャン開始コマンドが入力されると（ステップＳ７０１）、変化検出回路１ｃは、変化検出メモリ１ｅに記憶されるデータを初期化する（ステップＳ７０２）。その後、制御ＩＣ１ｂによって情報ネットワークＮＴからデータが読み込まれ、リングバッファ１ｆに対して当該読み込んだデータが書き込まれると、変化検出回路１ｃは、初期更新処理が実行されたか否かを判断する（ステップＳ７０３）。
【００６２】
初期更新処理が実行されていないと判断した場合（ステップＳ７０３：Ｎｏ）、変化検出回路１ｃは、リングバッファ１ｆに記憶される最新のデータを、データラッチ用バッファ１ｄに書き込むとともに（ステップＳ７０４）、当該最新のデータを前回値として、変化検出メモリ１ｅに書き込む（ステップＳ７０５）。その後、制御ＩＣ１ｂは、リングバッファ１ｆに記憶される最新のデータを、サイクリックスキャン伝送によって、Ｉ／Ｏインタフェースモジュールに対して送信する（ステップＳ７０６）。
【００６３】
一方、初期更新処理が実行されていると判断した場合（ステップＳ７０３：Ｙｅｓ）、変化検出回路１ｃは、リングバッファ１ｆに記憶される最新のデータを、データラッチ用バッファ１ｄに書き込む（ステップＳ７０７）。また、変化検出回路１ｃは、変化検出メモリ１ｅに記憶される前回値を読み込む（ステップＳ７０８）。そして、変化検出回路１ｃは、データラッチ用バッファ１ｄに記憶されるデータと、変化検出メモリ１ｅから読み込んだ前回値とを比較して、データラッチ用バッファ１ｄに記憶されるデータの変化を検出する（ステップＳ７０９）。
【００６４】
データラッチ用バッファ１ｄに記憶されるデータの変化が検出された場合（ステップＳ７０９：Ｙｅｓ）、変化検出回路１ｃは、データラッチ用バッファ１ｄに記憶される最新のデータを前回値として変化検出メモリ１ｅに書き込む（ステップＳ７１０）。さらに、制御ＩＣ１ｂは、コモンメモリ１ａが有するスキャンメモリ領域のうち、データの変化が検出されたスキャンメモリ領域に記憶されるデータを、サイクリックスキャン伝送によって、Ｉ／Ｏインタフェースモジュール２に送信する（ステップＳ７１１）。
【００６５】
一方、データラッチ用バッファ１ｄに記憶されるデータの変化が検出されなかった場合（ステップＳ７０９：Ｎｏ）、制御ＩＣ１ｂは、変化検出メモリ１ｅに記憶されるデータの更新、および情報ネットワークＮＴから読み込んだデータのＩ／Ｏインタフェースモジュール２への送信を行わずに、情報ネットワーク制御モジュール１からＩ／Ｏインタフェースモジュール２へのデータの送信処理を終了する。
【００６６】
このように、本実施形態にかかるリモートＩ／Ｏシステムによれば、ＣＰＵ処理を介さずに、情報ネットワーク制御モジュール１からＩ／Ｏインタフェースモジュール２に対してサイクリックスキャン伝送によってデータを送信することができる。その結果、マスタ機器４が有するＣＰＵモジュール４ａによるＣＰＵ処理を待つ必要が無くなり、情報ネットワーク制御モジュール１からＩ／Ｏインタフェースモジュール２へのデータの送信に要する時間が短縮できので、リモートＩ／Ｏシステム１００内におけるデータの転送を高速化することができる。
【００６７】
本発明の実施形態を説明したが、この実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６８】
１  情報ネットワーク制御モジュール
１ａ  コモンメモリ
１ｂ，２ｂ，３ｂ  制御ＩＣ
１ｃ，２ｅ  変化検出回路
１ｄ，２ｆ  データラッチ用バッファ
１ｅ，２ｇ  変化検出メモリ
１ｆ  リングバッファ
２  Ｉ／Ｏインタフェースモジュール
２ａ  Ｉ／Ｏインタフェースメモリ
２ｃ  入力エリア
２ｄ  出力エリア
３  リモートＩ／Ｏモジュール
３ａ  Ｉ／Ｏメモリ
４  マスタ機器
４ａ  ＣＰＵモジュール
ＮＴ  情報ネットワーク
Ｂ１  リモートＩ／Ｏバス
Ｂ２  Ｉ／Ｏバス
【図１】
2020134963.tif 000003
【図２】
2020134963.tif 000004
【図３】
2020134963.tif 000005
【図４】
2020134963.tif 000006
【図５】
2020134963.tif 000007
【図６】
2020134963.tif 000008
【図７】
2020134963.tif 000009