(57)【要約】【課題】通信効率に優れた制御システムを提供することにある。【解決手段】制御システムは、上位制御装置と、複数の下位制御装置と、前記上位制御装置と各下位制御装置とを接続し、前記上位制御装置からのデータを各下位制御装置へ送信する第１の通信ラインと、前記上位制御装置と各下位制御装置とを接続するとともに各下位制御装置間を接続し、各下位制御装置からのデータを前記上位制御装置で受信するとともに各下位制御装置間でデータを送受信する第２の通信ラインとを備えている。【選択図】      図１
2006262386.tif 000002
【特許請求の範囲】
【請求項１】
上位制御装置と、
複数の下位制御装置と、
前記上位制御装置と各下位制御装置とを接続し、前記上位制御装置からのデータを各下位制御装置へ送信する第１の通信ラインと、
前記上位制御装置と各下位制御装置とを接続するとともに各下位制御装置間を接続し、各下位制御装置からのデータを前記上位制御装置で受信するとともに各下位制御装置間でデータを送受信する第２の通信ラインと、
を備えたことを特徴とする制御システム。
【請求項２】
前記上位制御装置は、前記第１の通信ラインを介して前記複数の下位制御装置の中の指定された下位制御装置に対して送信権を与えるためのトークンを発行し、
各下位制御装置は、受信したトークンの送り先情報を保持し、
前記トークンを受信している前記下位制御装置は、前記上位制御装置に対するデータの送信権を有し、前記第２の通信ラインを介して必要に応じて前記上位制御装置に対して入力データを送信し、前記第２の通信ラインを介して前記送り先情報に基づき受信したトークンを次の下位制御装置へ送信する、
ことを特徴とする請求項１に記載の制御システム。
【請求項３】
前記上位制御装置は、前記第１の通信ラインを介して所定の下位制御装置用のコマンド又は出力データを送信し、
前記トークンを受信している前記下位制御装置は、前記コマンド又は出力データに基づき前記トークンによる送信権の行使を保留し、
前記所定の下位制御装置は、前記コマンド又は出力データに対応して、前記第２の通信ラインを介してレスポンス又は入力データを送信する、
ことを特徴とする請求項２に記載の制御システム。
【請求項４】
前記上位制御装置は、前記第１の通信ラインを介して所定の下位制御装置用のコマンド又は出力データを送信し、
前記トークンを受信している前記下位制御装置は、前記コマンド又は出力データに基づき、前記上位制御装置に対する入力データの送信、及び次の下位制御装置に対するトークンの送信を中断し、
前記所定の下位制御装置は、前記コマンド又は出力データに対応して、前記第２の通信ラインを介してレスポンス又は入力データを送信する、
ことを特徴とする請求項２に記載の制御システム。
【請求項５】
前記トークンを受信している前記下位制御装置は、前記レスポンス又は入力データを確認し、前記トークンによる送信権の行使を再開することを特徴とする請求項３記載の制御システム。
【請求項６】
前記トークンを受信している前記下位制御装置は、前記レスポンス又は入力データを確認し、前記上位制御装置に対する入力データの送信、及び次の下位制御装置に対するトークンの送信を再開することを特徴とする請求項４に記載の制御システム。
【請求項７】
前記上位制御装置と前記下位制御装置は、入出力データの変化点を送受信することを特徴とする請求項３又は４に記載の制御システム。
【請求項８】
前記下位制御装置は、入出力ポートを介して送受信される入出力データの変化点の発生個数を監視し、変化点の発生個数に基づき入出力データのフレーム構成を選択し、選択したフレームにより入出力データを送受信することを特徴とする請求項３又は４に記載の制御システム。
【請求項９】
前記上位制御装置は、前記第２の通信ラインを介して各下位制御装置間で送受信されるトークンを監視し、通信障害を検出することを特徴とする請求項２に記載の制御システム。
【請求項１０】
前記上位制御装置は、
前記第２の通信ラインを介して各下位制御装置間で送受信されるトークンを監視し、
所定の下位制御装置に向けてトークンが送信された後のトークンの紛失に基づき、前記第１の通信ラインを介して診断コマンドを発行し、
前記診断コマンドに対する所定の下位制御装置からの所定時間内のレスポンスの受信に基づき、ノイズによる通信障害と判断し、
前記診断コマンドに対する所定の下位制御装置からの所定時間内のレスポンスの非受信に基づき、断線による通信障害と判断する、
ことを特徴とする請求項２に記載の制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多数のモータやセンサなどの制御機器を備えた制御ユニット部（下位制御装置）、及び制御機器を制御するためのコマンドなどを制御ユニット部に対して伝送する主制御部（上位制御装置）により構成される制御システムに関する。
【背景技術】
【０００２】
制御システムの一例として、紙葉類などの媒体を搬送する媒体搬送装置が知られている。媒体搬送装置は、媒体の分離や移動のための多数のパルスモータやアクチュエータを備えた複数のユニット部（搬送部、取込部、集積部）、及びこれらユニット部内のパスルモータやアクチュエータの動作を制御する制御コマンドを発行する主制御部により構成されている（特許文献１参照）。
【０００３】
主制御部（上位制御装置）とユニット部（下位制御装置）との間で行なわれるシリアル通信では、トータルフレーム方式によるサイクリック通信が採用されている。この通信方式により、主制御部からユニット部に送られるコマンド（ＣＯＭＭＡＮＤ）、ユニット部から主制御部へ送られるこのコマンドの処理結果としてのレスポンス（ＲＥＳＰＯＮＳＥ）、及び主制御部、ユニット部の間で伝送される入出力データ（ＤＡＴＡ−ＩＮＰＵＴ／ＯＵＴＰＵＴ）などが送受信されている。
【特許文献１】特開２００１−２０２５８８
【発明の開示】
【発明が解決しようとする課題】
【０００４】
サイクリック通信でデータを伝送する制御システムをイベントドリブン方式のシステムに組み込むと、複数のイベントを同時に処理することができず、遅延時間が発生してしまうという問題がある。また、通信障害の発生時、通信障害の種類を検知する手段が存在しないという問題もある。
【０００５】
本発明の目的は、上記課題を解決するためになされたものであり、通信効率に優れた制御システムを提供することにある。
【課題を解決するための手段】
【０００６】
この発明の制御システムは、上位制御装置と、複数の下位制御装置と、前記上位制御装置と各下位制御装置とを接続し、前記上位制御装置からのデータを各下位制御装置へ送信する第１の通信ラインと、前記上位制御装置と各下位制御装置とを接続するとともに各下位制御装置間を接続し、各下位制御装置からのデータを前記上位制御装置で受信するとともに各下位制御装置間でデータを送受信する第２の通信ラインとを備えている。
【発明の効果】
【０００７】
本発明によれば、通信効率に優れた制御システムを提供できる。
【発明を実施するための最良の形態】
【０００８】
以下、図面を参照し、本発明の実施形態について説明する。
【０００９】
この発明の一例の制御システムは、上位制御装置と下位制御装置により構成される分散処理型の制御システムであり、ＤＡＴＡ−ＩＮＰＵＴ／ＯＵＴＰＵＴ（以下、Ｄ−Ｉ／Ｏという）によるセンサ制御と、ＣＯＭＭＡＮＤ／ＲＥＳＰＯＮＳＥ（以下ＣＭＤ／ＲＥＳという）によるモータ制御をそれぞれに適したプロトコルを用いて通信する。これにより、モータ制御のリアルタイム性を保証し、通信障害に対してロバストな制御システムとすることができる。
【００１０】
図１は、この発明の一例に係る制御システムの概略構成を示す図である。図１に示すように制御システムは、主制御部１００Ａ及びユニット部１００Ｂを備えている。主制御部１００Ａは、コントロール用上位ＣＰＵ１０１、及び上位制御装置としての通信マスタ側ＬＳＩ１０２（メイン）を備えており、コントロール用上位ＣＰＵ１０１は、通信マスタ側ＬＳＩ１０２に対して各種指示を出す。一方のユニット部１００Ｂは、下位制御装置としての複数のスレーブ側ＬＳＩ１０３（ＵＮＩＴ＃１、ＵＮＩＴ＃２、ＵＮＩＴ＃３、ＵＮＩＴ＃４、…）、及び各スレーブ側ＬＳＩ１０３により制御されるフォトインタラプタ１０７、モータ１０８、モータ１０９、ソレノイド１１０等を備えている。
【００１１】
主制御部１００Ａの通信マスタ側ＬＳＩ１０２とユニット部１００Ｂの各スレーブ側ＬＳＩ１０３とは、送信ライン１０５及び受信ライン１０６を持ったシリアルケーブルにより接続されており、通信マスタ側ＬＳＩ１０２とスレーブ側ＬＳＩ１０３によりシリアル通信が制御される。
【００１２】
各ＬＳＩにはプロセッサが実装されている。コントロール用上位ＣＰＵ１０１は、ユニット部１００Ｂのフォトインタラプタ１０７、モータ１０８、モータ１０９、ソレノイド１１０に対する駆動を統括的に指令する。この指令値に従い、スレーブ側ＬＳＩ１０３がフォトインタラプタ１０７、モータ１０８、モータ１０９、ソレノイド１１０の駆動等の詳細な制御を行なう。
【００１３】
送信ライン１０５は、通信マスタ側ＬＳＩ１０２から見ると各スレーブ側ＬＳＩ１０３のユニットへデータを送信する送信ラインであるが、各スレーブ側ＬＳＩ１０３から見ると通信マスタ側ＬＳＩ１０２からのデータを受信する受信ラインとなる。また受信ライン１０６は、通信マスタ側ＬＳＩ１０２から見ると各スレーブ側ＬＳＩ１０３からのデータを受信する受信ラインであるが、各スレーブ側ＬＳＩ１０３から見ると通信マスタ側ＬＳＩ１０２へデータを送信する送信ラインであり、また、各スレーブ側ＬＳＩ１０３の間でデータを送受信する送受信ラインでもある。
【００１４】
送信ライン１０５は、通信マスタ側ＬＳＩ１０２から各スレーブ側ＬＳＩ１０３に対してコマンドや出力データを送信する。受信ライン１０６は、通信マスタ側ＬＳＩ１０２で各スレーブ側ＬＳＩ１０３からのレスポンスや入力データを受信する。
【００１５】
図２は、スレーブ側ＬＳＩ１０３と送信ライン１０５とを接続する送信回路の概略構成を示す図であり、図３は、スレーブ側ＬＳＩ１０３と受信ライン１０６とを接続する受信回路の概略構成を示す図である。図２及び図３に示すように、送信回路及び受信回路は、共にノーマルモードノイズ対策のためパルストランス２０２を備えたフローティング回路となっている。通信マスタ側ＬＳＩ１０２からの送信データは、送信ライン１０５上を伝搬し、送信回路のレシーバ２０３で受信される。これに対して、受信回路は、トランシーバ２０５とレシーバ２０６を備えている。
【００１６】
次に、プロトコルについて説明する。従来の省配線システムは、イベント的に発生するＣＭＤ／ＲＥＳと、サイクリックに通信し続けているＤ−Ｉ／Ｏといった二種類のパケットが存在していた。Ｄ−Ｉ／Ｏは任意の周期で監視し続ける必要があるため、通信マスタ側ＬＳＩ１０２−各スレーブ側ＬＳＩ１０３の間で全てのＤ−Ｉ／Ｏデータを送受信している。例えば、一つのスレーブ側ＬＳＩ１０３が２５６ポートを備え、１６個のスレーブ側ＬＳＩ１０３を想定すると、１サイクルの通信データ量は、２５６ｂｉｔ×１６ユニット固定となり、常にネットワークに負荷がかかっている状態となる。イベント的にコマンド（例えばモータ制御コマンド）が発生した場合、上記したようなネットワークの負荷の影響で通信遅延が発生し、リアルタイムでのコマンドの授受が行えない。
【００１７】
通信マスタ側ＬＳＩ１０２からの指令値（コマンドおよび出力データ）は、マスタ/スレーブ方式のＣＭＤ／ＲＥＳで制御され、スレーブ側ＬＳＩ１０３からのセンサ値（入力データ）は自律的に更新することが理想である。このため、トークンパッシング方式で伝送する（図１参照）。このときＤ−Ｉ／Ｏの伝送については、Ｄ−Ｉ／Ｏの変化点のみ送受信する方式を採用し、コマンド（例えばモータ制御コマンド）のリアルタイム性を確保することができる。
【００１８】
また、トークンパッシング方式を採用しているため、スレーブ側ＬＳＩ１０３は半自律的に送信権の取得/開放を行うことができる。
【００１９】
次に、図４を参照して、ネットワークテーブルの構築について説明する。
【００２０】
各スレーブ側ＬＳＩ１０３は、ＤＩＰスイッチを備え、このＤＩＰスイッチがハードウェア的にユニット番号（ＵＮＩＴ＿Ｎｏ）を決定する。ユニット番号は一意のものとする。
【００２１】
通信マスタ側ＬＳＩ１０２は、ネットワーク構築コマンドによるポーリング３０１を送信する。通信マスタ側ＬＳＩ１０２は、ネットワーク構築コマンドに対してレスポンスを返してきたスレーブ側ＬＳＩ１０３のユニット番号に基づきネットワークテーブル３０２を構築する（レスポンスを返してきたスレーブ側ＬＳＩ１０３のユニット番号をネットワークテーブル３０２に登録する）。制御システムが初期化された時は、ネットワークテーブル３０２が構築されていないため、複数回コマンドを送出してネットワークテーブル３０２を構築する。
【００２２】
ネットワークが構築されると、各スレーブ側ＬＳＩ１０３へ、トークンの送り先情報（ユニット番号）３０３を登録する。なお、後述するスキャンタイムを考慮する場合、一部のトークン送り先情報３０３の替わりにトークン送り先情報３０４を登録する。各スレーブ側ＬＳＩ１０３は、登録したトークンの送り先情報に基づきトークンの送信を制御する。後述するが、このときのトークンの送り先情報の設定で、Ｄ−Ｉ／Ｏの更新タイミングの制御方法が変わる。例えば、ＵＮＩＴ＃９のスレーブ側ＬＳＩ１０３におけるトークンの送り先の設定で（送り先情報：ＵＮＩＴ１０／送り先情報：ＵＮＩＴ０）、Ｄ−Ｉ／Ｏの更新タイミングの制御方法が変わる。
【００２３】
次に、図５を参照して、Ｄ−Ｉ／Ｏの更新タイミング制御について説明する。
【００２４】
受信回路は、トランシーバ２０５のみでなくレシーバ２０６も実装している。そのため、受信ライン１０６で半二重通信が可能であり、これを利用して送信権の獲得を行う。例えば、通信マスタ側ＬＳＩ１０２は、ＵＮＩＴ＃０のスレーブ側ＬＳＩ１０３（又はネットワーク上に存在するスレーブ側ＬＳＩ１０３の中で最も小さいユニット番号が割り与えられたスレーブ側ＬＳＩ１０３）に対してトークン（ＵＮＩＴ０）４０１を発行する。各スレーブ側ＬＳＩ１０３は、トークンを受け取った後、通信マスタ側ＬＳＩ１０２への送信データがあれば送信データを送信し、トークンの送り先情報に基づきトークンのユニット番号を更新し（次のユニット番号（昇順）へ更新し）、トークンを次のスレーブ側ＬＳＩ１０３へ渡す。例えば、ＵＮＩＴ＃０のスレーブ側ＬＳＩ１０３はＵＮＩＴ＃５のスレーブ側ＬＳＩ１０３へトークン（ＵＮＩＴ５）４０２を渡し、ＵＮＩＴ＃５のスレーブ側ＬＳＩ１０３はＵＮＩＴ＃８のスレーブ側ＬＳＩ１０３へトークン（ＵＮＩＴ８）４０３を渡し、ＵＮＩＴ＃８のスレーブ側ＬＳＩ１０３はＵＮＩＴ＃９のスレーブ側ＬＳＩ１０３へトークン（ＵＮＩＴ９）４０４を渡す。
【００２５】
ｎ個のスレーブ側ＬＳＩ１０３による通信が終わると、伝送路上にはトークン（ＵＮＩＴｎ＋１）が現れる。図５に示す例では、トークン（ＵＮＩＴ１０）４０５が現れる。通信マスタ側ＬＳＩ１０２は、トークン４０５を検知すると、再びＵＮＩＴ＃０のユニットに対してデータを送信する。スレーブ側ＬＳＩ１０３から見れば、通信マスタ側ＬＳＩ１０２が論理リングの間（ＵＮＩＴ＃０のスレーブ側ＬＳＩ１０３とＵＮＩＴ＃ｎのスレーブ側ＬＳＩ１０３）に存在している構成となる。
【００２６】
このとき、通信マスタ側ＬＳＩ１０２からＵＮＩＴ＃０のスレーブ側ＬＳＩ１０３へのトークンの送信タイミングは、事前に設定されている入力データのスキャンタイムに従って制御される。スキャンタイムは接続されているセンサの種別を考慮した最適値を設定する。Ｄ−Ｉ／Ｏのスキャンタイムを考慮せず、可能な限り早くデータスキャンしたい場合は、ＵＮＩＴ＃ｎ（ｎ＝９）のユニットがトークン（ＵＮＩＴ９）４０４を受信した後、次のトークンを送出する際のトークンのユニット番号をｎ＋１でなく０とし、トークン（ＵＮＩＴ０）４０６を送信する。これにより、通信マスタ側ＬＳＩ１０２のスケジューリングから外れて、スレーブ側ＬＳＩ１０３のみでトークンの巡回を行う通常の論理リングとなる。スキャンタイムを考慮するか否かの設定は、初期化時に通信マスタ側ＬＳＩ１０２によるネットワークテーブル構築時に登録されるトークン送り先情報（ユニット番号）によって設定される。
【００２７】
次に、図６を参照して、送受信されるＤ−Ｉ／Ｏのデータ量について説明する。通信マスタ側ＬＳＩ１０２／スレーブ側ＬＳＩ１０３から送受信するＤ−Ｉ／Ｏのデータ量は、初期化時に指定される。指定可能なデータ量として、例えば、変化ｂｉｔ単位（ａ）、１６ｂｉｔ単位（ｂ）、ユニット単位（ｃ）がある。通信マスタ側ＬＳＩ１０２から指令値が与えられる場合、例えばＤ−Ｉ／Ｏの変化点をトリガとしてイベントドリブンでモータ制御をする場合は、変化ｂｉｔ単位で送信データがやり取りされる。
【００２８】
また、Ｄ−Ｉ／Ｏの制御がメインの場合は、１６ｂｉｔ単位又はユニット単位で送信データがやり取りされる。例えば、１サンプリング間に多くの入力データが変化する場合にはユニット単位で送信データがやり取りされ、変化する入力データが少なければ１６ｂｉｔ単位で送信データがやり取りされる。
【００２９】
変化ｂｉｔ単位、１６ｂｉｔ単位、ユニット単位（Ｄ−Ｉ／Ｏの送受信フレームの構成）は、システムの要求条件によって使い分けられる。
【００３０】
Ｄ−Ｉ／Ｏの制御がメインで、通信量が予想できない場合は、初期化時に通信量 動的切り替えモードを指定する。各通信ノードのプロセッサが動的に単位時間当たりの通信量をモニタリングし、１６ｂｉｔ単位／ユニット単位での通信を切り替える。図６に示すフォーマットの例では、９６bit以上変化する場合、１６bit単位での送信からユニット単位での送信に切り替わる。但し、動的切り替えモードだと、スレーブ側ＬＳＩ１０３が常にＤ−Ｉ／Ｏの変化点の発生個数をモニタリングしてフレーム構成を変更するため（変化ｂｉｔ単位、１６ｂｉｔ単位、ユニット単位を使い分けるため）、ＬＳＩ内部のプロセッサに演算負荷がかかる。
【００３１】
次に、図７を参照して、プロトコルのプライオリティについて説明する。通信マスタ側ＬＳＩ１０２により発行されたコマンドに対して、スレーブ側ＬＳＩ１０３がレスポンスを送信する場合には、トークンは一旦インアクティブとなる。これにより、送信権は、トークンを持ったスレーブ側ＬＳＩ１０３（ユニットＮｏ．ｉ）から、コマンドの発行を受けたスレーブ側ＬＳＩ１０３（ユニットＮｏ．ｊ）に移る。このとき、スレーブ側ＬＳＩ１０３（ユニットＮｏ．ｉ）にてトークンは保留される（トークンによる送信権の行使は保留される）。その後、スレーブ側ＬＳＩ１０３（ユニットＮｏ．ｊ）からのレスポンスが確認されると、スレーブ側ＬＳＩ１０３（ユニットＮｏ．ｉ）のトークンがアクティブとなり巡回しはじめる。
【００３２】
同様に、通信マスタ側ＬＳＩ１０２により発行された出力データに対して、スレーブ側ＬＳＩ１０３が入力データを送信する場合にも、トークンは一旦インアクティブとなる。これにより、送信権は、トークンを持ったスレーブ側ＬＳＩ１０３（ユニットＮｏ．ｉ）から、出力データを受けたスレーブ側ＬＳＩ１０３（ユニットＮｏ．ｊ）に移る。このとき、スレーブ側ＬＳＩ１０３（ユニットＮｏ．ｉ）にてトークンは保留される（トークンによる送信権の行使は保留される）。その後、スレーブ側ＬＳＩ１０３（ユニットＮｏ．ｊ）からの入力データが確認されると、再びスレーブ側ＬＳＩ１０３（ユニットＮｏ．ｉ）のトークンがアクティブとなり巡回しはじめる。
【００３３】
このようにプロトコルにプライオリティをつけることでモータ制御のリアルタイム性を確保することが出来る。
【００３４】
次に、図８を参照して、トークンの紛失に対応する制御について説明する。トークンは受信ライン１０６上で半自律的に巡回している。このとき、通信マスタ側ＬＳＩ１０２は、スレーブ側ＬＳＩ１０３の間で送受信されているトークンを監視する（Ｆ９）。トークン（ＵＮＩＴｉ）がネットワーク上に現れてから、トークン（ＵＮＩＴｉ＋１）が現れるまでの時間を、通信マスタ側ＬＳＩ１０２はタイマでカウントする。通信マスタ側ＬＳＩ１０２が、初期化時に設定されたタイムアウト値とカウント値とをコンペアしてタイムアウトを判断すると（Ｆ１０）、ネットワーク上でトークンが紛失したとみなす。その後、通信マスタ側ＬＳＩ１０２は、ＵＮＩＴｉのユニットに診断コマンドを発行し（Ｆ１３）、トークン紛失がノイズによる一過性のものか、それとも伝送路およびユニット自体の障害かを判断する。通信マスタ側ＬＳＩ１０２は、診断コマンドに対して所定時間内にレスポンスを受け取ればノイズによる一過性のものと判断して、ＵＮＩＴｋのユニットに対して再度トークンを発行する。送信ライン１０５にトークンが現れると、全てのユニットで保持しているトークンは破棄される。これにより、トークンの重複を防ぐことが出来る。
【００３５】
通信マスタ側ＬＳＩ１０２は、診断コマンドに対して所定時間内にレスポンスを受け取らなかった場合は、コントロール用上位ＣＰＵ１０１に対してハードウェア障害であることを通知する（Ｆ１４）。
【００３６】
さらに、図８を参照して、通信マスタ側ＬＳＩ１０２の状態遷移について説明する。非活性の状態とは、データを送受信していない状態（Ｆ０）である。スレーブ側ＬＳＩ１０３から入力データを送信すると、共有ＩＯメモリ領域にデータが書き込まれる（Ｆ１１）。
【００３７】
コントロール用上位ＣＰＵ１０１からコマンド送信要求が発生した場合、通信マスタ側ＬＳＩ１０２は対象のスレーブ側ＬＳＩ１０３へコマンドを送信する（Ｆ１）。通信マスタ側ＬＳＩ１０２は、対象のスレーブ側ＬＳＩ１０３のユニットからのレスポンスを待つ（Ｆ２）。一定時間以上、レスポンスが返ってこなければタイムアウトが発生し（Ｆ３）、データ紛失と判断されコマンドの再送要求が発生し（Ｆ４）、コマンドが再送される（Ｆ１）。タイムアウト発生前に、通信マスタ側ＬＳＩ１０２が、レスポンスを確認すれば（Ｆ５）、再び非活性の状態へ戻る（Ｆ０）。
【００３８】
通信マスタ側ＬＳＩ１０２は、スレーブ側ＬＳＩ１０３の間で巡回しているトークンを監視し（Ｆ９）、タイムアウト（トークンの紛失）を検出すると（Ｆ１０）、診断コマンドを発行する（Ｆ１３）。通信マスタ側ＬＳＩ１０２は、診断コマンドに対して所定時間内にレスポンスを受け取ればノイズによる一過性のものと判断して、再度トークンを送信する（Ｆ１１）。通信マスタ側ＬＳＩ１０２は、診断コマンドに対して所定時間内にレスポンスを受け取らなかった場合は、コントロール用上位ＣＰＵ１０１に対してハードウェア障害であることを通知する（Ｆ１４）。通信マスタ側ＬＳＩ１０２は、タイムアウト（トークンの紛失）を検出せずに、トークン（ＵＮＩＴｎ＋１）を伝送路上に検出すると（Ｆ６）、スキャンタイムを調整して（Ｆ７）、トークン（ＵＮＩＴ０）を送信する。
【００３９】
次に、図９を参照して、所定のスレーブ側ＬＳＩ１０３の状態遷移について説明する。非活性の状態とは、トークンおよびコマンドによる送信権を獲得していない状態（Ｆ０）である。所定のスレーブ側ＬＳＩ１０３が、他のスレーブ側ＬＳＩ１０３から送信される入力データを、共有ＩＯメモリ領域に書き込む（Ｆ１２）。この所定のスレーブ側ＬＳＩ１０３が、自分宛てのトークンを受信した場合（Ｆ１）、通信マスタ側ＬＳＩ１０２からのデータが送信ライン上に存在していないかチェックする（Ｆ２）。データが流れていなければ、この所定のスレーブ側ＬＳＩ１０３は、送信権を獲得し（Ｆ５）、通信マスタ側ＬＳＩ１０２に対して入力データを送信する。データが流れていれば、この所定のスレーブ側ＬＳＩ１０３は、通信マスタ側ＬＳＩ１０２からのコマンドに対するレスポンスの発生を監視する。つまり、この所定のスレーブ側ＬＳＩ１０３は、レスポンスが発生するまで、受け取っているトークンを保留する（Ｆ３、Ｆ４）。その後、この所定のスレーブ側ＬＳＩ１０３は、通信マスタ側ＬＳＩ１０２からのコマンドに対してレスポンスが送信されたことを確認し、送信権行使の保留を解除し（送信権を獲得し）、入力データを通信マスタ側ＬＳＩ１０２へ送信する（Ｆ６）。この所定のスレーブ側ＬＳＩ１０３は、入力データの送信を終えて、コマンドの発生の監視（Ｆ２）へ戻り、トークンの送り先情報に基づきトークンを送信する（Ｆ７）。
【００４０】
また、この所定のスレーブ側ＬＳＩ１０３が、コマンドを受信した場合（Ｆ８）、ＣＲＣチェックを行い（Ｆ９）、他のスレーブ側ＬＳＩ１０３が通信マスタ側ＬＳＩ１０２へ送信しているデータの送信終了を待ってから（Ｆ１０）、レスポンスを通信マスタ側ＬＳＩ１０２へ送信する（Ｆ１１）。
【００４１】
以下に、上記した制御システムのポイントを記載する。
【００４２】
（１）この制御システムでは、上位制御装置（マスタ）と下位制御装置（ユニット）の通信手法として、下位制御装置の入力データ送信制御をトークンパッシングで行い、上位制御装置からのデータ更新要求なしに自律的に入力データを更新することで、Ｄ−Ｉ／Ｏのトラフィックを軽減させ、イベントドリブンで発行されるコマンドのリアルタイム性を向上させることができる。
【００４３】
（２）この制御システムでは、上位制御装置と下位制御装置の通信手法として、下位制御装置のみで構成される論理リンクに上位制御装置が介在しトークンの送信制御を行うことで、下位制御装置からの入力データのスキャンタイムを制御し、接続センサ種別を考慮して算出される最適周期でデータをサンプリングすることができ、高い精度でのＤ−Ｉ／Ｏ制御が可能となる。
【００４４】
（３）この制御システムでは、上位制御装置と下位制御装置の通信手法として、下位制御装置からのセンサデータはトークンパッシング方式で自律的に更新し、上位制御装置からの指令値はマスタ/スレーブ方式で通信する際、パケットにプライオリティを持たせることで、上位制御装置からの指令値を下位制御装置に優先して送ることができイベントドリブンによるモータ制御のリアルタイム性を確保することができる。
【００４５】
（４）この制御システムでは、上位制御装置と下位制御装置の通信手法として、１サンプリングタイムで変化するＤ−Ｉ／Ｏの変化量を考慮し、初期化時に下位制御装置当たりのＤ−Ｉ／Ｏの通信量（１６ｂｉｔ又は２５６ｂｉｔ）を設定することで、下位制御装置毎のＤ−Ｉ／Ｏの通信量を最適化することができる。
【００４６】
（５）この制御システムでは、上位制御装置と下位制御装置の通信手法として、初期化時にモード設定することで、１サンプリングタイムで変化するＤ−Ｉ／Ｏの変化量を常時プロセッサがモニタリングし、トラフィック増大を検知したら動的にＤ−Ｉ／Ｏ通信のフレーム構成を変化させ、ユニット毎のＤ−Ｉ／Ｏ通信量を最適化することができる。
【００４７】
（６）この制御システムでは、上位制御装置と下位制御装置の通信手法として、下位制御装置の送信権獲得のためのトークンを上位制御装置が常にモニタリングして、トークン紛失が起こったら、該当の下位制御装置の診断を行い、ノイズによる影響であればトークンを再送し、ハードウェア障害であれば上位制御装置に警告を発する、通信障害に対してロバストな通信が可能となる。
【００４８】
上記したように、この制御システムでは、下位制御装置からの入力データ制御と上位制御装置からの指令値を異なるプロトコルで通信する。これにより、下記（１）〜（３）の作用効果が得られる。
【００４９】
（１）プロトコルにプライオリティを持たせることで、上位制御装置からの指令値を下位制御装置に優先して送ることができ、イベントドリブンによるモータ制御のリアルタイム性を確保することができる。
【００５０】
（２）Ｄ−Ｉ／Ｏの変化点のみを送受信することで、トラフィックを抑え短いタイムスライス幅でのＤ−Ｉ／Ｏの更新が行え、イベントドリブンによるＤ−Ｉ／Ｏ制御のリアルタイム性を確保することができる。
【００５１】
（３）下位制御装置に送信権を与えるトークンを用いて通信障害の種類を検知し、ロバストな通信を行える。
【００５２】
なお、本願発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【図面の簡単な説明】
【００５３】
【図１】この発明の一例に係る制御システムの概略構成を示す図である。
【図２】スレーブ側ＬＳＩと送信ラインとを接続する送信回路の概略構成を示す図である。
【図３】スレーブ側ＬＳＩと受信ラインとを接続する受信回路の概略構成を示す図である。
【図４】ネットワークテーブルの構築を説明するための図である。
【図５】Ｄ−Ｉ／Ｏの更新タイミング制御を説明するための図である。
【図６】送受信されるＤ−Ｉ／Ｏのデータ量により選択されるフレーム構成の一例を示す図である。
【図７】プロトコルのプライオリティを説明するための図である。
【図８】トークンの紛失に対応する制御を説明するための図である。
【図９】スレーブ側ＬＳＩの状態遷移を説明するための図である。
【符号の説明】
【００５４】
１００Ａ…主制御部、１００Ｂ…ユニット部、１０１…コントロール用上位ＣＰＵ、１０２…通信マスタ側ＬＳＩ、１０３…スレーブ側ＬＳＩ、１０５…送信ライン、１０６…受信ライン、１０７…フォトインタラプタ、１０８…モータ、１０９…モータ、１１０…ソレノイド
【図１】
2006262386.tif 000003
【図２】
2006262386.tif 000004
【図３】
2006262386.tif 000005
【図４】
2006262386.tif 000006
【図５】
2006262386.tif 000007
【図６】
2006262386.tif 000008
【図７】
2006262386.tif 000009
【図８】
2006262386.tif 000010
【図９】
2006262386.tif 000011