(57)【特許請求の範囲】
【請求項１】
通信機能を有する１のプログラマブル・コントローラ装置と通信機能を有する１若しくは２以上のＩ／Ｏターミナル装置とをバス型ネットワークで結ぶと共に、通信機能を有するプログラマブル・コントローラ装置を通信マスタ局とし、かつ通信機能を有するＩ／Ｏターミナル装置のそれぞれを通信スレーブ局とし、通信マスタ局と通信スレーブ局との間でデータを交換するための通信サイクルを繰り返し実行する通信マスタ局の通信サイクル制御方法であって、
前記通信サイクルは、
通信スレーブ局のネットワークへの加入およびネットワークからの離脱を管理する加入離脱処理時間と、メッセージ通信に使用する時間を決定する時間決定処理時間と、メッセージ通信を実行するメッセージ通信処理時間とを含むイベント処理時間と、
通信マスタ局と通信スレーブ局との間でＩ／Ｏデータを交換するためのＩ／Ｏリフレッシュ処理時間とからなり、
前記時間決定処理は、スレーブの加入離脱処理およびメッセージ通信処理の発生状況に対応して前記通信サイクルにおける前記Ｉ／Ｏリフレッシュ時間と前記イベント処理時間の配分を決定する、ことを特徴とする通信マスタ局の通信サイクル制御方法。
【請求項２】
前記通信サイクルは複数のパターンを持ち、そのパターンは、
前記Ｉ／Ｏリフレッシュ処理時間のないＩ／Ｏなし通信サイクルと、
前記Ｉ／Ｏリフレッシュ処理時間のあるＩ／Ｏあり通信サイクルと、
を含む請求項１に記載の通信マスタ局の通信サイクル制御方法。
【請求項３】
前記時間決定処理は、
前記加入離脱処理を優先する第１のフェーズと、
メッセージ通信要求が発生していない第２のフェーズと、
優先度の低いメッセージ通信要求処理のある第３のフェーズと、
優先度の高いメッセージ通信要求処理のある第４のフェーズと、
からなる通信フェーズに対応してイベント処理時間の配分を決定することを特徴とする請求項２に記載の通信マスタ局の通信サイクル時間制御方法。
【請求項４】
前記Ｉ／Ｏなし通信サイクルは、
通信マスタ局が、通信スレーブ局に対して、現在のネットワーク情報を通知するビーコンフレームと、
通信マスタ局が、通信スレーブ局の存在確認、およびスレーブ局からのメッセージ送信許可を同時に行うトリガフレームと、
通信スレーブ局が、通信マスタ局からの存在確認に対する応答を行うコネクトフレームと、
上記時間決定処理で割り振られたイベント処理時間内で行われるイベント処理群と、
から構成される、ことを特徴とする請求項３に記載の通信マスタ局の通信サイクル制御方法。
【請求項５】
前記Ｉ／Ｏあり通信サイクルは、
通信マスタ局が、通信スレーブ局に対して、現在のネットワーク情報を通知するビーコンフレームと、
通信マスタ局が、通信スレーブ局へのデータ送信、および通信スレーブ局の存在確認を行う出力フレームと、
通信スレーブ局が、通信マスタ局からの存在確認に対する応答を行うコネクトフレームと、
通信スレーブ局が、通信マスタ局へのＩ／Ｏデータ送信を行う入力フレームと、
上記時間決定処理で割り振られたイベント処理時間内で行われるイベント処理群と、
から構成される、ことを特徴とする請求項３に記載の通信マスタ局の通信サイクル制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、通信マスタ局（通信機能を有する１のプログラマブル・コントローラ装置）と通信スレーブ局（通信機能を有する１若しくは２以上のＩ／Ｏターミナル装置）とをバス型ネットワークで結んだプログラマブル・コントローラシステムに適用される通信マスタ局の通信サイクル制御方法に関する。
【背景技術】
【０００２】
通信機能を有する１のプログラマブル・コントローラ（以下、ＰＬＣという）装置と通信機能を有する１若しくは２以上のＩ／Ｏターミナル装置とをバス型ネットワークで結ぶと共に、通信機能を有するＰＬＣ装置を通信マスタ局とし、かつ通信機能を有するＩ／Ｏターミナル装置のそれぞれを通信スレーブ局とし、周期的に通信マスタ局と通信スレーブ局との間で通信（Ｉ／Ｏ）が行われている。
【０００３】
従来の通信サイクルタイムが図１０に示されている。同図に示されるように、通信サイクルの１通信サイクルはＩ／Ｏリフレッシュ時間ａと、イベント処理時間ｂとから構成されて、横軸には時間ｔが示されている。Ｉ／Ｏリフレッシュ時間ａと、イベント処理時間ｂとには、それぞれ処理時間が設定される。Ｉ／Ｏリフレッシュ処理またはイベント処理が開始された場合には、設定された時間がタイマ制限時間となり、制限時間内で各処理が行われている。このような通信マスタ局と各通信スレーブ局との間で様々なデータのやり取りを行うようにしたＰＬＣシステムは、従来より知られている。また、ここで言う「Ｉ／Ｏターミナル装置」とは、入力ターミナル装置、出力ターミナル装置、及び入出力ターミナル装置を総称するものである。なお、制御装置のイベント制御方法は、従来より開発されている（例えば、特許文献１参照）。
【特許文献１】特開平１１−１４９３０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、通信スレーブ局の加入処理は、イベントにより行われるため、通信スレーブ局がネットワーク上に多数存在する場合、電源投入後の加入処理時にイベント処理が多発する。そのため、通信スレーブ局の加入処理を実行するための時間を早めるには、１サイクルにおけるイベントの処理時間を長く取る必要がある。すなわち、図１０に示されるように、イベントの処理時間を長く取るように設定すると、図中のイベント処理時間ｂが長くなり、それに合わせて時間ｔが大きくなってしまう。イベントの時間を長く設定した場合、加入処理は多く割り当てられるため、加入処理自体は早くなるが、通信サイクルの時間はその分長くなってしまう。
【０００５】
また、ＰＬＣの使用用途や規模によっては、加入処理後の通常サイクル時において、イベント処理を必要としない場合がある。イベントの時間を短く設定した場合、通信サイクルの時間は短くすることができるが、加入処理はその分遅くなる問題が生じている。
【０００６】
この発明は、上述の問題点に着目してなされたものであり、その目的とするところは、１サイクルにおける通信サイクルタイムを長くしないで、電源投入時はイベント処理を多く実行可能とし、通信フェーズに適した通信サイクルを設定することができる通信マスタ局の通信サイクル制御方法を提供することにある。
【０００７】
この発明のさらに他の目的並びに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解されるであろう。
【課題を解決するための手段】
【０００８】
この発明の通信マスタ局の通信サイクル制御方法は、通信機能を有する１のプログラマブル・コントローラ装置と通信機能を有する１若しくは２以上のＩ／Ｏターミナル装置とをバス型ネットワークで結ぶと共に、通信機能を有するプログラマブル・コントローラ装置を通信マスタ局としかつ通信機能を有するＩ／Ｏターミナル装置のそれぞれを通信スレーブ局とし、通信マスタ局と通信スレーブ局との間でデータを交換するための通信サイクルを繰り返し実行される。
【０００９】
ここで、前記通信サイクルは、通信スレーブ局のネットワークへの加入およびネットワークからの離脱を管理する加入離脱処理時間と、メッセージ通信に使用する時間を決定する時間決定処理時間と、メッセージ通信を実行するメッセージ通信処理時間とを含むイベント処理時間と、通信マスタ局と通信スレーブ局との間でＩ／Ｏデータを交換するためのＩ／Ｏリフレッシュ処理時間とからなる。また、前記時間決定処理は、スレーブの加入離脱処理およびメッセージ通信処理の発生状況に対応して前記通信サイクルにおける前記Ｉ／Ｏリフレッシュ処理時間と前記イベント処理時間の配分を決定するものである。
【００１０】
ここで言う『プログラマブル・コントローラシステム』とは、通信機能を有する１のプログラマブル・コントローラ装置と通信機能を有する１若しくは２以上のＩ／Ｏターミナル装置とをバス型ネットワークで接続してなるものである。また、『通信スレーブ局の加入』とは、通信スレーブ局がネットワークに接続され、通信マスタ局と通信可能な状態になることである。
【００１１】
このような構成によれば、各フェーズのイベント時間を設定することができ、ユーザの使用目的に適したＰＬＣシステムを実現することができる。
【００１２】
本発明の好ましい実施の形態においては、前記通信サイクルは複数のパターンを持ち、そのパターンは、前記Ｉ／Ｏリフレッシュ処理時間のないＩ／Ｏなし通信サイクルと、前記Ｉ／Ｏリフレッシュ処理時間のあるＩ／Ｏあり通信サイクルと、を含む。
【００１３】
このような構成によれば、各フェーズによって通信サイクルパターンを切り替えることができるため、効率よく処理を実行することができる。
【００１４】
本発明の好ましい他の実施の形態においては、前記時間決定処理は、前記加入離脱処理を優先する第１のフェーズと、メッセージ通信要求が発生していない第２のフェーズと、優先度の低いメッセージ通信要求処理のある第３のフェーズと、優先度の高いメッセージ通信要求処理のある第４のフェーズと、からなる通信フェーズに対応してイベント処理時間の配分を決定するものであってもよい。
【００１５】
このような構成によれば、通信スレーブ局加入用のイベントを優先させることができるため、他のイベントが常時発生しているプログラマブル・コントローラシステムにおいても、通信スレーブ局の加入処理が短時間で行うことができる。
【００１６】
本発明の好ましい他の実施の形態においては、前記Ｉ／Ｏなし通信サイクルは、通信マスタ局が、通信スレーブ局に対して、現在のネットワーク情報を通知するビーコンフレームと、通信マスタ局が、通信スレーブ局の存在確認、およびスレーブ局からのメッセージ送信許可を同時に行うトリガフレームと、通信スレーブ局が、通信マスタ局からの存在確認に対する応答を行うコネクトフレームと、上記時間決定処理で割り振られたイベント処理時間内で行われるイベント処理群と、から構成されるものであってもよい。
【００１７】
このような構成によれば、出力フレームと入力フレームを実行させずに、加入処理やイベント送信を優先させているため、電源投入後の加入処理時にイベント時間を長く設定することができる。
【００１８】
本発明の好ましい他の実施の形態においては、Ｉ／Ｏあり通信サイクルは、通信マスタ局が、通信スレーブ局に対して、現在のネットワーク情報を通知するビーコンフレームと、通信マスタ局が、通信スレーブ局へのデータ送信、および通信スレーブ局の存在確認を行う出力フレームと、通信スレーブ局が、通信マスタ局からの存在確認に対する応答を行うコネクトフレームと、通信スレーブ局が、通信マスタ局へのＩ／Ｏデータ送信を行う入力フレームと、上記時間決定処理で割り振られたイベント処理時間内で行われるイベント処理群と、から構成されるものであってもよい。
【００１９】
このような構成によれば、通常通信サイクル時にイベント時間を短く設定することができることから、通常の通信サイクル時の通信サイクルタイムを短くすることができる。
【発明の効果】
【００２０】
この発明によれば、１サイクルにおける通信サイクルタイムを長くしないで、電源投入時はイベント処理を多く実行可能とし、通信フェーズに適したイベント処理用時間を設定することができる。さらに、電源投入時のイベント処理を優先させることにより、他のイベント処理が常時発生しているＰＬＣシステムにおいても通信スレーブ局の加入処理を最短で行うことができる。
【発明を実施するための最良の形態】
【００２１】
以下に、この発明に係る通信マスタ局の通信サイクル制御方法の好適な実施の一形態を添付図面を参照しながら詳細に説明する。
【００２２】
通信マスタ局及び通信スレーブ局を含むＰＬＣシステム全体の構成図が図１に示されている。同図に示されるように、このＰＬＣシステムは、通信マスタ局となる通信機能を有するＰＬＣ装置１と、通信スレーブ局となる複数台の通信機能を有するＩ／Ｏターミナル装置２，２・・・とを、バス型ネットワークであるフィールドバス６により繋いで構成されている。なお、図において、４は中継装置として機能するリピータ、５はフィールドバスの終端における反射を低減する終端装置である。
【００２３】
図示のＰＬＣ装置１としては、パラレルバスの敷設された図示しないバックプレーン上に多数のコネクタを配置し、それらのコネクタに対して、ＣＰＵユニット、Ｉ／Ｏユニット、その他各種の特殊機能ユニット等々を任意に装着可能とした所謂ビルディングブロック型のＰＬＣ装置が採用されている。そして、特に、この例では、バックプレーン上の１のコネクタに対して通信マスタユニットを装着することにより、「通信機能を有するＰＬＣ装置」が構成されている。図では、それらのユニットのうちで、ＣＰＵユニット２０及び通信マスタユニット１０のみに参照符号が付されている。
【００２４】
通信マスタユニット１０の内部構成を示すハードウェア構成図が図２に示されている。同図に示されるように、通信マスタユニット１０は、通信物理層として機能する通信インタフェース（通信Ｉ／Ｆ）１０１と、所望の通信機能を実現するための回路をＬＳＩ化してなるマスタ用ＡＳＩＣ１０２と、ＣＰＵユニット２０との間で受け渡される送受信データのバッファエリアや、後述するＭＰＵ１０４の演算用ワークエリア等として機能するＲＡＭ１０３と、マイクロプロセッサを主体として構成されて装置全体を統括制御するためのＭＰＵ１０４と、各種の設定データが格納される不揮発性メモリ（ＥＥＰＲＯＭ）１０５と、各種の動作表示等を行うためのＬＥＤ表示部１０６と、各種の設定操作等に使用される設定スイッチ（設定ＳＷ）１０７と、ＣＰＵユニット２０へ通ずる内部バスへのインタフェースとして機能する内部バスインタフェース（内部バスＩ／Ｆ）１０８とを含んでいる。
【００２５】
当業者にはよく知られているように、この種のＰＬＣシステムにおいては、ＣＰＵユニット２０は、共通処理、Ｉ／Ｏリフレッシュ処理、ユーザプログラム実行処理、周辺サービス処理等を繰り返し一巡実行しており、Ｉ／Ｏリフレッシュ処理の実行の際には、バックプレーン上に装着されたローカルＩ／Ｏユニットとの間のみならず、通信マスタユニット１０内のＲＡＭ１０３との間においても、Ｉ／Ｏリフレッシュ処理を実行する。
【００２６】
具体的には、ＣＰＵユニット２０のＩ／Ｏメモリ内のＯＵＴデータは、通信マスタユニット１０のＲＡＭ１０３内のＯＵＴエリアに書き込まれ、同ＲＡＭ１０３のＩＮデータは、ＣＰＵユニット２０のＩ／Ｏメモリ内のＩＮエリアに書き込まれる。
【００２７】
一方、後に詳細に説明するように、通信マスタユニット１０と各Ｉ／Ｏターミナル装置２との間では、ＣＰＵユニット２０のＩ／Ｏリフレッシュ動作とは非同期にフィールドバス６を介する通信が行われており、これにより各Ｉ／Ｏターミナル装置２と通信マスタユニット１０内のＲＡＭ１０３との間においても、一種のＩ／Ｏリフレッシュ処理が実行される。
【００２８】
具体的には、Ｉ／Ｏターミナル装置（図１参照）２から受信されたＩＮデータは、通信マスタユニット（図１参照）１０内のＲＡＭ１０３のＩＮエリアに書き込まれ、同ＲＡＭ１０３のＯＵＴエリアのＯＵＴデータは、該当するＩ／Ｏターミナル装置２へと送信される。
【００２９】
このようにして、ＣＰＵユニット２０内のＩ／Ｏメモリと各Ｉ／Ｏターミナル装置２，２・・との間において、通信マスタユニット１０を経由してＩ／Ｏリフレッシュ処理が実行され、その結果として、リモート設置された各Ｉ／Ｏターミナル装置２，２・・・に接続されたＩ／Ｏ機器をＣＰＵユニット２０で取り扱うことが可能となるのである。
【００３０】
さらに、本発明のイベント時間制御の動作は、通信完了割り込みが行われたときに実行される。通信完了割り込みは、マスタ用ＡＳＩＣ１０２が通信サイクル開始時に設定された一定時間後に、マスタ用ＡＳＩＣ１０２からＭＰＵ１０４に対して行われる。
【００３１】
次に、Ｉ／Ｏターミナル装置内部のハードウェア構成図が図３に示されている。同図に示されるように、Ｉ／Ｏターミナル装置２は、通信物理層として機能する通信インタフェース（通信Ｉ／Ｆ）２０１と、所望の通信機能を実現するための回路をＬＳＩ化してなるマスタ用ＡＳＩＣ２０２と、マイクロプロセッサを主体として構成されて装置全体を統括制御するためのＭＰＵ２０３と、各種の設定データが格納される不揮発性メモリ（ＥＥＰＲＯＭ）２０４と、各種の動作表示等を行うためのＬＥＤ表示部２０５と、各種の設定操作等に使用される設定スイッチ（設定ＳＷ）２０６と、Ｉ／Ｏ機器７との間でデータをやり取りするための外部インタフェース部（Ｉ／Ｆ部）２０７と、装置全体に安定化直流電源を供給するための変圧機能を有する直流電源部２０８とを含んでいる。
【００３２】
そして、後に詳細に説明するように、通信マスタユニット１０と各Ｉ／Ｏターミナル装置２との間では、通信マスタユニット１０を通信マスタ局、各Ｉ／Ｏターミナル装置２を通信スレーブ局とする１対Ｎのマスタ・スレーブ通信を通じて、Ｉ／Ｏデータや各種メッセージのやり取りが行われる。
【００３３】
具体的には、通信マスタユニット１０から受信されるＯＵＴデータは、Ｉ／Ｏターミナル装置２のＩ／Ｆ部２０７を介してＩ／Ｏ機器７へと送り出され、Ｉ／Ｏ機器７からＩ／Ｆ部２０７を介してＩ／Ｏターミナル装置２に取り込まれたＩＮデータは、通信マスタユニット１０へ宛てて送信される。
【００３４】
次に、本発明の要部であるイベント時間制御の動作を示すゼネラルフローチャートが図４に示されている。同図に示されるように、上述の通信完了割り込みが行われると、通信スレーブ局の加入離脱の確認が行われ（ステップ４０１）、フィールドバス６を介してＩ／Ｏターミナル装置２が接続（加入）または切断（離脱）されたかどうか、通信マスタ局と通信スレーブ局との間で送受信が行われるフレームによって、通信スレーブ局の加入離脱の確認が行われる。
【００３５】
接続確認フェーズのフレームの送受信の模式図が図５に示されている。同図に示されるように、通信マスタ局から生存確認フレーム（Alive_Frame）ＡＦが送信される。通信スレーブ局並びにリピータで生存確認フレームが受信されると、通信マスタ局から通信スレーブ局に対する存在確認に対する応答を行うためのコネクトフレーム（CN_Frame）ＣＦが通信スレーブ局から通信マスタ局に対して送信される。通信マスタ局は、コネクトフレームＣＦを受信することにより、通信スレーブ局やリピータが接続されているか否かを確認することができる。
【００３６】
コネクトフレーム（CN_Frame）の構造の一例が図１１に示されている。同図に示されるように、コネクトフレーム（CN_Frame）は、フレームの開始を示すスタート１１０１と、コネクトフレーム（CN_Frame）を示すコマンド１１０２と、当該コネクトフレーム（CN_Frame）を送信したスレーブを示すアドレス１１０３と、メッセージの種類またはメッセージ送信要求を示すアラーム１１０４と、フレームの異常を検出するためのＣＲＣ１１０５とから構成される。
【００３７】
図４のフローチャートに戻り、通信スレーブ局の加入離脱の確認が行われると（ステップ４０１）、イベント処理が行われる（ステップ４０２）。イベント処理については、後に詳細に説明する。
【００３８】
イベント処理が完了すると（ステップ４０２）、通信マスタ局側のＩ／Ｏリフレッシュ処理が行われる（ステップ４０３）。具体的には、ＣＰＵユニット２０のＩ／Ｏメモリ内のＯＵＴデータは、通信マスタユニット１０のＲＡＭ１０３内のＯＵＴエリアに書き込まれ、同ＲＡＭ１０３のＩＮデータは、ＣＰＵユニット２０のＩ／Ｏメモリ内のＩＮエリアに書き込まれる。
【００３９】
通信マスタ局側のＩ／Ｏリフレッシュ処理が完了すると（ステップ４０３）、通信サイクルパターンが決定される（ステップ４０４）。これは現在の通信フェーズによって、Ｉ／Ｏを必要とするかどうかにより、通信サイクルの種類が使い分けられる。具体的には、『電源投入後の初期スレーブ加入時』の場合には、Ｉ／Ｏ無しの通信サイクルパターンが適用され、『初期スレーブ加入後のイベント要求無し時』、『初期スレーブ加入後の優先度の低いイベント要求あり』、または『初期スレーブ加入後の優先度の高いイベント要求あり（スレーブ途中加入時など）』の場合には、Ｉ／Ｏ有りの通信サイクルパターンが適用される。
【００４０】
通信サイクルパターンの決定処理（ステップ４０４）で適用される通信サイクルパターンを示す説明図が図６に示されている。同図（ａ）に示されるように、Ｉ／Ｏなしサイクルは、通信スレーブ局に対して、現在の伝送速度を通知するためのビーコンフレーム（BEACON_Frame）６０１と、通信スレーブ局の存在確認、及び通信スレーブ局からのデータ送信許可を同時に行うためのネットワーク同期フレーム（トリガフレーム、TRG_Frame）６０２と、通信マスタ局から通信スレーブ局に対する存在確認に対する応答を行うためのコネクトフレーム（CN_Frame）６０３と、イベント群６０４とが含まれている。このＩ／Ｏなしサイクルは、出力フレーム（OUT_Frame）と、入力フレーム（IN_Frame）とを流さずに、イベントの加入勧誘やイベント発行処理を優先させた通信サイクルであり、電源投入時のフェーズで使用される。
【００４１】
また、同図（ｂ）に示されるように、Ｉ／Ｏ有りサイクルは、ビーコンフレーム（BEACON_Frame）６０１と、通信スレーブ局の存在確認、通信スレーブ局へのデータ送信、及び通信スレーブ局からのデータ送信許可を同時に行うための出力フレーム（OUT_Frame）６０５と、コネクトフレーム（CN_Frame）６０３と、マスタ局へのデータ送信を行うための入力フレーム（IN_Frame）６０６と、イベント群６０４とが含まれている。このＩ／Ｏ有りサイクルは、Ｉ／Ｏの通常動作を行う通信サイクルである。
【００４２】
また、この例にあっては、通信マスタ局のみが送信できるフレームとしては、（１）出力フレーム（OUT_Frame）、（２）トリガフレーム（TRG_Frame）、（３）ビーコンフレーム（BEACON_Frame）の３種類のフレームが存在する。
【００４３】
また、通信スレーブ局のみが送信できるフレームとしては、（１）コネクトフレーム（CN_Frame）、（２）入力フレーム（IN_Frame）の２種類のフレームが存在する。
【００４４】
図６（ｂ）に示されるように通信サイクルは、マスタから送信する出力フレーム（OUT_Frame）、出力フレーム（OUT_Frame）により指定されたスレーブからマスタに対して送信されるコネクトフレーム（CN_Frame）、ＩＮスレーブから送信される入力フレーム（IN_Frame）と続く。マスタユニットと各スレーブとの間の通信サイクルの開始タイミングは出力フレーム（OUT_Frame）の正常受信完了をもってあわせられる。そして、それにつづくコネクトフレーム（CN_Frame）、入力フレーム（IN_Frame）のフレーム長、送信されるフレーム数は固定であるため、各フレームの送信タイミングは、出力フレーム（OUT_Frame）の正常送信完了を開始タイミングとして定められた時間監視により行うことができる。
【００４５】
出力フレーム（OUT_Frame）の構造の一例が図１２に示されている。同図に示されるように、出力フレーム（OUT_Frame）は、フレームの開始を示すスタート１２０１と、出力フレーム（OUT_Frame）を示すコマンド１２０２と、コネクトフレーム（CN_Frame）送信要求するスレーブを示すＣＮ_frame送信要求アドレス１２０３と、ＯＵＴデータのデータ長を示すレングス１２０４と、ＯＵＴスレーブへの出力データを格納しているＯＵＴデータ１２０５と、フレームの異常を検出するためのＣＲＣ１２０６とから構成される。
【００４６】
マスタは、各ＯＵＴスレーブ宛の出力データを出力フレーム（OUT_Frame）のどこに割り当てるかの管理を行っており、そして各ＯＵＴスレーブのそれぞれは自局が受け取る出力データが、出力フレーム（OUT_Frame）のどこに割り当てられているのかを通信サイクルが始まる前に、マスタから通知されている。
【００４７】
入力フレーム（IN_Frame）の構造の一例が図１３に示されている。同図に示されるように、入力フレーム（IN_Frame）は、フレームの開始を示すスタート１３０１と、入力フレーム（IN_Frame）種をコマンド１３０２と、当該入力フレーム（IN_Frame）を送信したスレーブを示すアドレス１３０３と、ＩＮデータのデータ長を示すレングス１３０４と、ＩＮスレーブからの入力データを格納しているＩＮデータ１３０５と、フレームの異常を検出するためのＣＲＣ１３０５とから構成される。
【００４８】
マスタは、各ＩＮスレーブが、出力フレーム（OUT_Frame）正常受信後どの時間に送信するかの管理を行っており、通信サイクルが始まる前に、マスタから各ＩＮスレーブまたはＭＩＸスレーブに対して入力フレーム（IN_Frame）を送信するタイミングがそれぞれ通知される。各ＩＮスレーブは、マスタから通知された入力フレーム（IN_Frame）を送信するタイミングの値が保持されており、それぞれのＩＮスレーブはその値に従って入力フレーム（IN_Frame）を送信する。
【００４９】
入力フレーム（IN_Frame）は、ＩＮスレーブがマスタに送信することができるが、ＯＵＴスレーブは入力フレーム（IN_Frame）を発行することができないため、入力フレーム（IN_Frame）内にメッセージ通信要求を行う手段を持たせることはできない。このため、すべての種類のスレーブが発行可能なコネクトフレーム（CN_Frame）にメッセージ通信要求を行う手段を持たせる。
【００５０】
通常の通信サイクルフェーズのフレーム送受信の模式図が図７に示されている。同図に示されるように、通信マスタ局は、通信スレーブ局に対して出力フレーム（OUT_Frame）ＯＦ、またはネットワーク同期フレーム（トリガフレーム、TRG_Frame）ＴＦを送信する。通信スレーブ局で出力フレームＯＦが受信された場合には、自ノードで利用するデータのみを抜き出し受信される。また、トリガフレームＴＦが受信された場合には、内部タイマを起動し、送信時間到来時に通信マスタ局に対して入力フレーム（IN_Frame）が送信される。
【００５１】
アラームビットとメッセージ種の対応例が図１４に示されている。アラームは単数または複数ビットからなり、アラームビットとメッセージ種の対応はマスタと各スレーブ間とで事前に取れている。
【００５２】
次にメッセージ通信について説明する。メッセージ通信に使用するフレームの構造が図１５に示されている。同図に示されるように、メッセージフレームは、フレームの開始を示すスタート１５０１と、メッセージフレームを示すコマンド１５０２と、当該メッセージフレームの宛先ノードを示す宛先アドレス１５０３と、当該メッセージフレームの発信元ノードを示す発信元アドレス１５０４と、メッセージデータのデータ長を示すレングス１５０５と、メッセージ種に対応したメッセージデータ１５０６と、フレームの異常を検出するためのＣＲＣ１５０７とから構成される。メッセージフレームには用途がいくつかあり、メッセージフレームの送信許可を行うフレーム、データを転送するためのイベントフレーム、メッセージデータを正常受信したことを示すＡＣＫフレーム、メッセージデータが受信できないことをしめすＢＵＳＹフレームなどがあり、これらの区別には、上記のコマンドフィールドが使用される。
【００５３】
メッセージフレームは、図６（ｂ）に示されるＩ／Ｏ通信サイクルとは異なり、メッセージ通信サイクルと呼ばれる通信サイクルにて送受信される。メッセージ通信サイクルは、マスタがメッセージを送信する場合またはスレーブがマスタに対してメッセージ通信を要求しマスタが許可する場合にのみ挿入される。
【００５４】
通信サイクルとメッセージサイクルとの関係が図１６に示されている。同図（ａ）に示されるように、メッセージ通信サイクルが挿入されない場合には、Ｉ／Ｏ通信サイクル０１６００，Ｉ／Ｏ通信サイクル１１６０１，Ｉ／Ｏ通信サイクル２１６０２，Ｉ／Ｏ通信サイクル３１６０３と実行され、同図（ｂ）に示されるように、メッセージ通信サイクルが送受信される場合には、Ｉ／Ｏ通信サイクル１６１０，１６１２中にメッセージ通信サイクル１６１１が挿入される。
【００５５】
まず、マスタからスレーブに対して最初にメッセージを送信する場合について説明する。先のほどのコネクトフレーム（CN_Frame）の中にマスタからスレーブへのメッセージ通信を要求するメッセージ種が指定された場合、マスタはその重要度に応じて当該スレーブに対してメッセージ送信を行う。この場合のメッセージ通信の流れを以下に示す。
１．マスタは、スタート１５０１、イベントフレームを示すコマンド１５０２、メッセージ送信を要求してきたスレーブのアドレスを宛先アドレス１５０３、自局のアドレスを送信元アドレス１５０４、送信するメッセージデータ量に応じたデータ長をレングス１５０５、メッセージの内容をメッセージデータ１５０６、ＣＲＣ１５０７を生成し、メッセージフレームを送信する。
２．スレーブは、受信したメッセージフレームの宛先アドレス１５０３により自局宛かどうか判断する。自局宛ではない場合、フレームを破棄する。
３．宛先アドレス１５０３により自局宛と判断したスレーブは、フレームが正常受信した場合は、スタート１５０１、ＡＣＫフレームを示すコマンド１５０２、マスタのアドレスを宛先アドレス１５０３、自局のアドレスを送信元アドレス１５０４、ＣＲＣ１５０７をセットし、メッセージを送信する。フレームを正常受信できない場合は、スタート１５０１、ＢＵＳＹフレームを示すコマンド１５０２、マスタのアドレスを宛先アドレス１５０３、自局のアドレスを発信元アドレス１５０４、データ長“０”をレングス１５０５、適切な値をＣＲＣ１５０６にセットし、メッセージを送信する。
【００５６】
上記のマスタからスレーブに対してメッセージを送信する場合のメッセージサイクルが図１７に示されている。同図に示されるように、１つのメッセージ通信サイクル内にて、複数のイベントフレーム１７０１，１７０２を送受信してもよい。
【００５７】
次に、スレーブからマスタに対してメッセージ送信する場合について説明する。この場合、メッセージ通信は以下のような流れになる。
１．マスタは、スタート１５０１、メッセージ送信許可フレームを示すコマンド１５０２、メッセージ送信許可を要求してきたスレーブのアドレスを宛先アドレス１５０３、自局のアドレスを発信元アドレス１５０４、データ長“０”をレングス１５０５、適切な値をＣＲＣ１５０６にセットし、メッセージフレームを送信する。
２．スレーブは、受信したメッセージフレーム宛先アドレス１５０３により自局宛かどうか判断する。自局宛ではない場合、フレームを破棄する。
３．宛先アドレス１５０３により自局宛と判断したスレーブは、スタート１５０１、イベントフレームを示すコマンド１５０２、マスタのアドレスを宛先アドレス１５０３、送信元のマスタのアドレスを発信元アドレス１５０４、送信するメッセージデータ量に応じたデータ長をレングス１５０５、メッセージの内容をメッセージデータ１５０６、ＣＲＣ１５０７をセットし、メッセージを送信する。
４．マスタおよびスレーブは、受信したメッセージフレームの宛先アドレス１５０３により自局宛かどうか判断する。自局宛ではない場合、フレームを破棄する。
５．宛先アドレス１５０３により自局宛と判断したマスタは、フレームが正常受信した場合は、スタート１５０１、ＡＣＫフレームを示すコマンド１５０２、メッセージの送信元アドレスを宛先アドレス１５０３、自局のアドレスを発信元アドレス１５０４、ＣＲＣ１５０７をセットし、メッセージを送信する。フレームを正常受信できない場合は、スタート１５０１、ＢＵＳＹフレームを示すコマンド１５０２、メッセージの送信元アドレスを宛先アドレス１５０３、自局のアドレスを発信元アドレス１５０４、ＣＲＣ１５０７をセットし、メッセージを送信する。
【００５８】
上記のスレーブからマスタに対してメッセージを送信する場合のメッセージサイクルが図１８に示されている。同図に示されるように、１つのメッセージ通信サイクル内にて、マスタは複数のメッセージ送信許可フレーム１８０１，１８０３を送信し、スレーブに対して複数のイベントフレーム１８１１の送信を許可してもよい。
【００５９】
スレーブとマスタ間で、メッセージ通信が行われる具体的な例としては、図１９に示されるメッセージフレームのコマンドフィールドが挙げられる。また、メッセージデータは必ずしもメッセージフレームに含まれるとは限らない。
【００６０】
図４のフローチャートに戻り、通信サイクルパターンが決定されると（ステップ４０４）、該当する通信サイクルパターンに基づいて通信サイクルが開始され（ステップ４０５）、通信マスタ局とＩ／Ｏターミナル装置との間でＩ／Ｏリフレッシュ処理が行われる（ステップ４０６）。具体的には、通信マスタユニット１０から受信されるＯＵＴデータは、Ｉ／Ｏターミナル装置２のＩ／Ｏ部２０７を介してＩ／Ｏ機器７へと送り出され、Ｉ／Ｏ機器７からＩ／Ｏ部２０７を介してＩ／Ｏターミナル装置２に取り込まれたＩＮデータは、通信マスタユニット１０へ宛てて送信される。
【００６１】
イベント処理（ステップ４０２）の詳細を示すフローチャートが図８に示されている。同図に示されるように、イベント処理が行われると、後に詳細に説明するイベントの発行時間決定処理が行われる（ステップ８０１）。
【００６２】
イベントの発行時間決定処理が行われると（ステップ８０１）、イベントが存在するときのみイベントの発行が行われる（ステップ８０２）。イベントの発行はイベントの発行時間決定処理（ステップ８０１）で指定された時間に達するまで発行処理は継続される（ステップ８０３ＮＯ）。指定された時間に達すると（ステップ８０３ＹＥＳ）、イベントの発行処理は終了する。
【００６３】
イベントの発行時間決定処理（ステップ８０１）の詳細を示すフローチャートが図９に示されている。同図に示されるように、イベントの発行時間決定処理が行われると、現在の通信フェーズが『初期スレーブ加入中』であるか否かの判定が行われる（ステップ９０１）。現在のフェーズが初期スレーブ加入中である（マスタ動作開始から、通信スレーブ局が１台加入後に、全通信スレーブ局に対し存在確認をするまでの間）場合には（ステップ９０１ＹＥＳ）、イベントの発行時間は、初期スレーブ加入時時間が割り振られる（ステップ９０２）。現在のフェーズが初期スレーブ加入中でない場合には（ステップ９０１ＮＯ）、現在のフェーズが『優先度の高いイベント待ち』であるか否かの判定が行われる（ステップ９０３）。現在のフェーズが優先度の高いイベント待ちである場合には（ステップ９０３ＹＥＳ）、イベントの発行時間は、優先度の高いイベント要求あり時時間が割り振られる（ステップ９０４）。現在のフェーズが優先度の高いイベント待ちでない場合には（ステップ９０３ＮＯ）、現在のフェーズが『優先度の低いイベント待ち』であるか否かの判定が行われる（ステップ９０５）。現在のフェーズが優先度の低いイベント待ちである場合には（ステップ９０５ＹＥＳ）、イベントの発行時間は、優先度の低いイベント要求あり時時間が割り振られる（ステップ９０６）。現在のフェーズが優先度の低いイベント待ちでない場合には（ステップ９０５ＮＯ）、イベント発行時間は、イベントの要求無し時時間が割り振られる（ステップ９０７）。
【００６４】
このように、本実施形態による通信マスタ局の通信サイクル制御方法を適用することにより、１サイクルにおける通信サイクルタイムを長くしないで、電源投入時はイベント処理を多く実行可能とし、通信フェーズに適したイベント処理用時間を設定することができる。さらに、電源投入時のイベント処理を優先させることにより、他のイベント処理が常時発生しているＰＬＣシステムにおいても通信スレーブ局の加入処理を最短で行うことができる。
【産業上の利用可能性】
【００６５】
この発明によれば、１サイクルにおける通信サイクルタイムを長くしないで、電源投入時はイベント処理を多く実行可能とし、通信フェーズに適したイベント処理用時間を設定することができる。さらに、電源投入時のイベント処理を優先させることにより、他のイベント処理が常時発生しているＰＬＣシステムにおいても通信スレーブ局の加入処理を最短で行うことができる。
【図面の簡単な説明】
【００６６】
【図１】マスタユニット及びスレーブユニットを含むＰＬＣシステムの構成図である。
【図２】マスタユニットのハードウェア構成図である。
【図３】スレーブユニットのハードウェア構成図である。
【図４】本発明のイベント時間制御の動作を示すゼネラルフローチャートである。
【図５】接続確認フェーズのフレームの送受信の模式図である。
【図６】本発明の通信サイクルパターンを示す説明図である。
【図７】通信サイクルフェーズのフレームの送受信の模式図である。
【図８】イベント処理を示す詳細フローチャートである。
【図９】イベントの発行時間決定処理を示す詳細フローチャートである。
【図１０】従来の通信サイクルタイムを示す説明図である。
【図１１】コネクトフレーム（CN_Frame）の構造を示す図である。
【図１２】出力フレーム（OUT_Frame）の構造を示す図である。
【図１３】入力フレーム（IN_Frame）の構造を示す図である。
【図１４】アラームビットとメッセージの対応を示した図である。
【図１５】メッセージフレームの構造を示す図である。
【図１６】Ｉ／Ｏ通信サイクルとメッセージ通信サイクルの関係を表す図である。
【図１７】マスタからスレーブに対してメッセージを送信する場合のメッセージサイクルを表す図である。
【図１８】スレーブからマスタに対してメッセージを送信する場合のメッセージサイクルを表す図である。
【図１９】メッセージフレームのコマンドフィールドの意味を示した図である。
【符号の説明】
【００６７】
１        通信機能を有するＰＬＣ装置
２        通信機能を有するＩ／Ｏターミナル装置
３        パソコン
４        リピータ
５        終端装置
６        フィールドバス
７        Ｉ／Ｏ機器
１０      通信マスタユニット
２０      ＣＰＵユニット
１０１    通信インタフェース
１０２    マスタ用ＡＳＩＣ
１０３    ＲＡＭ
１０４    ＭＰＵ
１０５    ＥＥＰＲＯＭ
１０６    ＬＥＤ表示器
１０７    設定スイッチ（設定ＳＷ）
１０８    内部バズインタフェース
２０１    通信インタフェース
２０２    スレーブ用ＡＳＩＣ
２０３    ＭＰＵ
２０４    ＥＥＰＲＯＭ
２０５    ＬＥＤ表示部
２０６    設定スイッチ（設定ＳＷ）
２０７    外部インタフェース部（Ｉ／Ｆ部）
２０８    電源
６０１    ビーコンフレーム
６０２    ネットワーク同期フレーム（トリガフレーム）
６０３    コネクトフレーム
６０４    イベント群
６０５    出力フレーム
６０６    入力フレーム
１１０１  スタート
１１０２  コマンド
１１０３  アドレス
１１０４  アラーム
１１０５  ＣＲＣ
１２０１  スタート
１２０２  コマンド
１２０３  ＣＮ＿ｆｒａｍｅ送信要求アドレス
１２０４  レングス
１２０５  ＯＵＴデータ
１２０６  ＣＲＣ
１３０１  スタート
１３０２  コマンド
１３０３  アドレス
１３０４  レングス
１３０５  ＩＮデータ
１３０６  ＣＲＣ
１５０１  スタート
１５０２  コマンド
１５０３  宛先アドレス
１５０４  発信元アドレス
１５０５  レングス
１５０６  メッセージデータ
１５０７  ＣＲＣ
１６００  Ｉ／Ｏ通信サイクル０
１６０１  Ｉ／Ｏ通信サイクル１
１６０２  Ｉ／Ｏ通信サイクル２
１６０３  Ｉ／Ｏ通信サイクル３
１６１０  Ｉ／Ｏ通信サイクル０
１６１１  メッセージ通信サイクル
１６１２  Ｉ／Ｏ通信サイクル１
１７０１  イベントフレーム
１７０２  イベントフレーム
１７１１  ＡＣＫ  ｏｒ  ＢＵＳＹフレーム
１７１２  ＡＣＫ  ｏｒ  ＢＵＳＹフレーム
１８０１  メッセージ送信許可フレーム
１８０２  ＡＣＫ  ｏｒ  ＢＵＳＹフレーム
１８０３  メッセージ送信許可フレーム
１８１１  イベントフレーム
ＡＦ      生存確認フレーム
ＣＮ      コネクトフレーム
ＯＦ      出力フレーム
ＴＦ      ネットワーク同期フレーム（トリガフレーム）
ＩＦ      入力フレーム
ａ        Ｉ／Ｏリフレッシュ時間
ｂ        イベント処理時間
ｔ        時間
【図１】
0004458278.tif 000002
【図２】
0004458278.tif 000003
【図３】
0004458278.tif 000004
【図４】
0004458278.tif 000005
【図５】
0004458278.tif 000006
【図６】
0004458278.tif 000007
【図７】
0004458278.tif 000008
【図８】
0004458278.tif 000009
【図９】
0004458278.tif 000010
【図１０】
0004458278.tif 000011
【図１１】
0004458278.tif 000012
【図１２】
0004458278.tif 000013
【図１３】
0004458278.tif 000014
【図１４】
0004458278.tif 000015
【図１５】
0004458278.tif 000016
【図１６】
0004458278.tif 000017
【図１７】
0004458278.tif 000018
【図１８】
0004458278.tif 000019
【図１９】
0004458278.tif 000020