この種のPLCシステムにおける通信マスタ局においては、起動後、リンク確立処理を経て、運用状態へと移行すると言った起動時制御方法が採用されている。リンク確立処理においては、接続可能な全通信スレーブ局のそれぞれに宛ててポーリングフレームを一括して又は幾つかのスレーブ局グループに分けて送信し、通信スレーブ局からのレスポンスフレームの受信有無に基づいて接続フレームの確認が行われる。通信スレーブ局のそれぞれは、ポーリングフレームに付された宛先アドレスと自己の設定アドレスとの照合一致に基づいて、自己に対するレスポンスフレーム送信要求を認識し、必要なレスポンスフレームをそのスレーブ局に固有のタイミングで返信する。
通信スレーブ局のアドレスは、DIPスイッチ等により現場で手動設定されるのが一般的である。また、自動車生産ラインや液晶製造ラインに代表される大規模製造ラインになると、通信スレーブ局は膨大な台数となり、60台近くの通信スレーブ局が1台の通信マスタ局に対してネットワークを介して接続される場合も想定される。そのため、アドレスの誤設定に基づく通信スレーブ局の重複は比較的に起こり易く、従来より様々なスレーブ重複対策が提案されている。
これに対して、図11(a)に示されるように、通信スレーブ局(S1,S2,・・・Sn)はネットワーク上に多数存在するのに対して、通信マスタ局(M1)は基本的にネットワーク上に1台しか存在せず(1対N)、しかもマスタ局アドレスは現場で手動設定されると言った性格のものではないので、通信マスタ局の重複対策が論ぜられることはなかった。
ところが、昨今、自動車生産ラインや液晶製造ラインに代表される大規模製造ラインにると、ネットワークの敷設距離は数十メートルにも及ぶことがあり、しかもネットワークを構成するネットワークケーブルは工場内を複雑に錯綜して引き回され、通信マスタ局とネットワークケーブルとの対応関係が分かり難くなったことから、工場内において物理的に隣接する2つのネットワーク間において、一方のネットワークの通信マスタ局を他方のネットワークのネットワークケーブルに誤って接続してしまったり、あるいは、工場内の見通しの悪さを原因として、既に通信マスタ局が接続済みであるにも拘わらず、誤ってもう一台の通信マスタ局を同一のネットワークのネットワークケーブルに接続してしまう等の誤接続により、図11(b)に示されるように、同一のネットワークに2台以上の通信マスタ局(M1,M2)が同時に存在する状態(以下、「マスタ重複」と言う)が発生する虞が論じられるに至っている。
加えて、昨今、ネットワーク上に1台しか通信マスタ局の存在を許容しない従前のPLCシステムに代えて、ネットワーク上に2台以上の通信マスタ局の存在を許容するPLCシステム製品も市場に出現したため、ユーザの側ではネットワーク上に2台以上の通信マスタ局の存在を許容するPLCシステム製品と誤認して、同一のネットワークに対応するネットワークケーブルに2以上の通信マスタ局を意識して接続する虞も論ぜられるに至っている。
このようなマスタ重複が発生すると、ネットワーク上において双方の通信マスタ局からのフレームが混在乃至衝突して、いずれかの通信スレーブ局が動作不能に陥ったり、その時々の状況により定まる通信マスタ局が発行したポーリングフレームに応答して予期せぬ動作をする虞も危惧される。
この発明は、上述の問題点に着目してなされたものであり、その目的とするところは、ネットワーク上に1台しか通信マスタ局を許容しないPLCシステムに対して2台以上の通信マスタ局が接続されると言った事態が生じた場合にも、当該PLCシステムの誤動作を確実に防止することができる通信マスタ局の起動時制御方法を提供することにある。
この発明のさらに他の目的並びに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解されるであろう。
この発明の通信マスタ局の起動時制御方法は、通信機能を有する1のPLC装置と通信機能を有する1若しくは2以上のI/Oターミナル装置とをバス型ネットワークで結ぶと共に、通信機能を有するPLC装置を通信マスタ局としかつ通信機能を有するI/Oターミナル装置のそれぞれを通信スレーブ局とし、運用状態においては、通信マスタ局からのポーリングフレームの送信に対して、該当する通信スレーブ局がレスポンスフレームを通信マスタ局へと返送することにより、通信マスタ局と各通信スレーブ局との間で様々なデータのやり取りを行うようにしたPLCシステムに適用される。
ここでポーリングフレームの送信は、通常のバス通信回線や、マルチドロップ回線においてフレームを送信する場合、すべてのスレーブ局が受信処理しないもので、特定のスレーブ局だけが受信するようなフレームを送信する場合などがある。また、「通信スレーブ局がレスポンスフレームを通信マスタ局へ返送する」の意味は、一般的なポーリングセレクション方式や、トークパッシング方式によりスレーブ局がフレームを返信する場合を含む。例えば、通信マスタ局が通信スレーブ局1台を特定してポーリングフレームを送信し、それを受信した1台の通信スレーブ局がデータを返信し、通信マスタ局がそのデータを受信するようなものを含む。通信マスタ局と各通信スレーブ局との間で1対1通信を順番に繰り返すものも含む。
また、各通信スレーブがトークンを順番に渡し、トークンを獲得したスレーブ局が順番にレスポンスフレームをマスタ局に対して送信するものも含む。以下に説明する各発明においても、ポーリングフレームの送信および「通信スレーブ局がレスポンスフレームを通信マスタ局へと返送する」の意味は、同様である。
より具体的には、本発明方法は、起動後、リンク確立処理を経て、運用状態へと移行する過程で、リンク確立処理に先立って実行されて、ネットワーク上に通信マスタ局が重複して存在するか否かを判定するマスタ重複判定処理を実行し、リンク確立処理に先立って実行するマスタ重複判定処理によって通信マスタ局が重複して存在すると判定されるときには、リンク確立処理へと移行することなく、所定のマスタ重複回避処理へと移行するように構成され、更に、リンク確立処理に先立って実行されるマスタ重複判定処理が、リンク確立処理に先立って、通信スレーブ局のみが送信するフレームを受信したことに基づいてマスタ重複と判定することを特徴とするものである。
本発明の好ましい他の実施の形態においては、リンク確立処理に先立って実行されるマスタ重複判定処理が、リンク確立処理に先立って、通信スレーブ局のみが送信するフレームを受信したことに基づいてマスタ重複と判定するものであってもよい。
このような構成によれば、既に稼働中のPLCシステムのネットワークを構成するネットワークケーブルに誤って通信マスタ局を接続してしまってような場合には、その追加接続された通信マスタ局の電源を投入して起動すると、その後、リンク確立処理に先立って、通信スレーブ局が送信する通信フレームが受信されるため、これに基づいてマスタ重複を判定することができる。
すなわち、既に稼働中のPLCシステムのネットワークを構成するネットワークケーブルには、所定の送信周期をもって、通信マスタ局からのポーリングフレームが繰り返し流され、これに応答する通信スレーブ局からのレスポンスフレームも流れているから、リンク確立処理に先立って、通信スレーブ局が送信する通信フレーム(レスポンスフレーム)が受信されると言うことは、既に他の通信マスタ局が存在すること(マスタ重複)を間接的に意味することとなり、これに基づいてマスタ重複と判定できるのである。
しかも、この判定方法によれば、ポーリングフレームの周期内には、最大、通信スレーブ局の接続台数分のレスポンスフレームが存在する上、それらの1つを受信しさえすればよいのであるから、間接的な判定であるとはいえ、判定アルゴリズムの点からは、信頼性の高い判定結果が得られる利点もある。
なお、この判定方法は、通信フレームのフォーマットにおいて、通信フレームの種別を示すフレームコード部の内容を示すコードが、通信スレーブ局のみが送信する既知の複数種のコードのいずれかに該当することを判別することにより実現することができる。
本発明の好ましい他の実施の形態においては、リンク確立処理に先立って実行されるマスタ重複判定処理に加えて、リンク確立処理と並行して実行されるマスタ重複判定処理を有し、リンク確立処理と並行して実行されるマスタ重複判定処理によって通信マスタ局が重複して存在すると判定されるときには、運用状態へと移行することなく、所定のマスタ重複回避処理へと移行するように構成され、更に、リンク確立処理と並行して実行されるマスタ重複判定処理が、接続可能な全通信スレーブ局のそれぞれに宛ててポーリングフレームを送信し、通信スレーブ局からのレスポンスフレームの受信有無を記憶するリンク確立のための接続フレーム確認処理において、いずれの通信スレーブ局からもレスポンスフレームの受信確認がとれないことに基づいてマスタ重複と判定するものであってもよい。
このような構成によれば、リンク確立処理に先立って実行されるマスタ重複判定処理に加えて、リンク確立処理と並行してマスタ重複判定処理を実行するため、リンク確立処理と並行して実行されるマスタ重複判定処理によって通信マスタ局が重複して存在すると判定されたときにも、運用状態へと移行することなく、所定のマスタ重複回避処理へと移行する。このため、ネットワーク上に1台しか通信マスタ局を許容しないPLCシステムに対して2台以上の通信マスタ局が接続されると言った事態が生じた場合にも、当該PLCシステムの誤動作を確実に防止することができる。
また、PLCシステムの新設時やメンテナンス後の運転再開時等において、1のネットワークを構成するネットワークケーブルに誤って、あるいは、2台以上の通信マスタ局を許容するシステムと誤認して、当初から2台以上の通信マスタ局が接続されてしまったような場合にあっても、リンク確立処理と並行して、マスタ重複を確実に判定することができる。
すなわち、このようにシステム立ち上げ時から2台以上の通信マスタ局がネットワークに接続されていると、それらの通信マスタ局は電源投入或いはリセットスイッチの作動等により同時に起動される可能性が高く、その場合、起動直後のリンク確立処理においては、各通信マスタ局からほぼ同一のタイミングでポーリングフレームが送信されるため、それらのポーリングフレームはネットワーク上で衝突して無効化されてしまい、各通信スレーブ局からレスポンスフレームが送信されない可能性が高い。したがって、接続可能な全通信スレーブ局のそれぞれに宛ててポーリングフレームを送信したにも拘わらず、いずれの通信スレーブ局からもレスポンスフレームの受信確認がとれないと言うことは、2台以上の通信マスタ局が存在すること(マスタ重複)をかなりの確立で推定することができ、これに基づいてマスタ重複と判定できるのである。
しかも、この判定方法にあっては、マスタ重複判定のために別途専用のポーリングフレーム送信処理を設けるのではなく、リンク確立処理において実行されるポーリングフレーム送信処理を流用しているため、電源投入又はリセットから運用状態へ移行する所要期間を徒に増大させることがないと言う利点もある。
本発明の好ましい他の実施の形態においては、リンク確立処理に先立って実行されるマスタ重複判定処理に加えて、リンク確立処理と並行して実行されるマスタ重複判定処理を有し、リンク確立処理と並行して実行されるマスタ重複判定処理によって通信マスタ局が重複して存在すると判定されるときには、運用状態へと移行することなく、所定のマスタ重複回避処理へと移行するように構成され、更に、リンク確立処理と並行して実行されるマスタ重複判定処理が、接続可能な全通信スレーブ局のそれぞれに宛ててポーリングフレームを送信し、通信スレーブ局からのレスポンスフレームの受信有無を記憶するリンク確立のための接続フレーム確認処理において、通信マスタ局のみが送信するフレームを受信したことに基づいてマスタ重複と判定するものであってもよい。
このような構成によっても、PLCシステムの新設時やメンテナンス後の運転再開時等において、1のネットワークを構成するネットワークケーブルに誤って、あるいは、2台以上の通信マスタ局を許容するシステムと誤認して、当初から2台以上の通信マスタ局が接続されてしまったような場合にあっても、リンク確立処理と並行して、マスタ重複を確実に判定することができる。
すなわち、このようにシステム立ち上げ時から2台以上の通信マスタ局がネットワークに接続されていると、それらの通信マスタ局は電源投入或いはリセットスイッチの作動等により同時に起動される可能性が高いのではあるが、それでも個々の通信マスタユニットは非同期で動作するのであるから、各通信マスタ局からのポーリングフレーム送信タイミングが僅かにずれて、個々の通信マスタ局が他の通信マスタ局が送信したポーリングフレームを受信することもあり得る。したがって、接続可能な全通信スレーブ局のそれぞれに宛ててポーリングフレームを送信し、通信スレーブ局からのレスポンスフレームの受信有無を記憶するリンク確立のための接続フレーム確認処理において、通信マスタ局のみが送信するフレームを受信したと言うことも、2台以上の通信マスタ局が存在すること(マスタ重複)をかなりの確立で推定することができ、これに基づいてマスタ重複と判定できるのである。
しかも、この判定方法にあっても、マスタ重複判定のために別途専用のポーリングフレーム送信処理を設けるのではなく、リンク確立処理において実行されるポーリングフレーム送信処理を流用しているため、電源投入又はリセットから運用状態へ移行する所要期間を徒に増大させることがないと言う利点もある。
本発明の好ましい他の実施の形態においては、リンク確立処理に先立って実行されるマスタ重複判定処理に加えて、リンク確立処理と並行して実行されるマスタ重複判定処理を有し、リンク確立処理と並行して実行されるマスタ重複判定処理によって通信マスタ局が重複して存在すると判定されるときには、運用状態へと移行することなく、所定のマスタ重複回避処理へと移行するように構成され、更に、リンク確立処理と並行して実行されるマスタ重複判定処理が、接続可能な全通信スレーブ局を少なくとも2つ以上のグループに分けて、各グループ毎にポーリングフレームを送信し、通信スレーブ局からのレスポンスフレームの受信有無を記憶するリンク確立のための接続フレーム確認処理において、通信マスタ局のみが送信するフレームを受信したことに基づいてマスタ重複と判定するものであり、かつポーリングフレームの送信間隔を各グループ毎にランダムに変更する、ものであってもよい。
このような構成によっても、PLCシステムの新設時やメンテナンス後の運転再開時等において、1のネットワークを構成するネットワークケーブルに誤って、あるいは、2台以上の通信マスタ局を許容するシステムと誤認して、当初から2台以上の通信マスタ局が接続されてしまったような場合にあっても、リンク確立処理と並行して、マスタ重複を確実に判定することができる。
すなわち、先に述べたように、システム立ち上げ時から2台以上の通信マスタ局がネットワークに接続されていると、それらの通信マスタ局は電源投入或いはリセットスイッチの作動等により同時に起動される可能性が高いのではあるが、それでも個々の通信マスタユニットは非同期で動作するのであるから、各通信マスタ局からのポーリングフレーム送信タイミングが僅かにずれて、個々の通信マスタ局が他の通信マスタ局が送信したポーリングフレームを受信することもあり得る。このとき、ポーリングフレームの送信間隔を各グループ毎にランダムに変更してやると、2以上の通信マスタ局のそれぞれから送信されるポーリングフレームの衝突確立が低減されて、個々の通信マスタ局が他の通信マスタ局のポーリングフレームを受信する確立が高まる。このため、通信マスタ局のみが送信するフレームを受信したことに基づいてマスタ重複と判定する処理がより一層有効に作用して、マスタ重複をより確実に判定できることになる。
本発明の好ましい他の実施の形態においては、所定のマスタ重複回避処理が、ネットワークから離脱する処理であってもよい。ここで、「ネットワークからの離脱処理」とは、スイッチを介して回線の接続を物理的に絶つ場合と、物理的には回線と接続されているものの、ポーリングフレーム等のフレームについては一切送信しない休止状態の場合との双方を含んでいる。
このような構成によれば、電源投入後、リンク確立処理前に、マスタ重複と判定された場合には、稼働中のPLCシステムに一切外乱を与えることがないから、稼働中のPLCはそのまま運転を継続することができる一方、リンク確立処理中に、マスタ重複と判定された場合には、全ての通信マスタ局がネットワークから離脱されるため、マスタ重複のまま運用状態へと移行することによる危険を回避することができる。
先に述べように、本発明の目的とするところは、ネットワーク上に1台しか通信マスタ局を許容しないPLCシステムに対して2台以上の通信マスタ局が接続されると言った事態が生じた場合にも、当該PLCシステムの誤動作を確実に防止することであることは、先に述べたとおりである。斯かる目的を考慮すれば、「所定のマスタ重複回避処理」については、「ネットワークからの離脱処理」以外にも様々な形態を採用することができる。
「所定のマスタ重複回避処理」の他の形態としては、例えば、(1)リンク確立処理前に、マスタ重複と判定された場合には、その後、リンク確立処理へと移行することなく、あとから追加接続された通信マスタ局は通信スレーブ局になりすまして、本来の通信マスタ局へとレスポンスフレームを送信してマスタ重複を本来の通信マスタ局に通知すること、(2)リンク確立処理中に、マスタ重複と判定された場合には、その後、運用状態へと移行することなく、通信マスタ局はランダムなタイミングで全ての通信スレーブ局に対して所定のエラーコードを送信して、最初に届いたエラーコードにより、全ての通信スレーブ局の動作を休止させること、等を挙げることができる。
別の一面から見た本発明は、PLCシステムとして捉えることもできる。すなわち、このPLCは、通信機能を有する1のPLC装置と通信機能を有する1若しくは2以上のI/Oターミナル装置とをバス型ネットワークで結ぶと共に、通信機能を有するPLC装置を通信マスタ局としかつ通信機能を有するI/Oターミナル装置のそれぞれを通信スレーブ局とし、運用状態においては、通信マスタ局からのポーリングフレームの送信に対して、該当する通信スレーブ局がレスポンスフレームを通信マスタ局へと返送する一連の動作を繰り返すことにより、通信マスタ局と各通信スレーブ局との間で様々なデータのやり取りを行うようになされている。
そして、前記通信マスタ局には、起動後、リンク確立処理を経て、運用状態へと移行する過程で、リンク確立処理に先立って実行されて、ネットワーク上に通信マスタ局が重複して存在するか否かを判定するマスタ重複判定手段と、リンク確立処理に先立って実行されるマスタ重複判定処理によって通信マスタ局が重複して存在すると判定されるときには、リンク確立処理へと移行することなく、所定のマスタ重複回避処理へと移行する第1のマスタ重複回避手段と、、が具備されている。
さらに、別の一面から見た本発明は、PLCシステムのマスタ局として捉えることもできる。すなわち、このマスタ局は、通信機能を有する1のPLC装置と通信機能を有する1若しくは2以上のI/Oターミナル装置とをバス型ネットワークで結ぶと共に、通信機能を有するPLC装置を通信マスタ局としかつ通信機能を有するI/Oターミナル装置のそれぞれを通信スレーブ局とし、運用状態においては、通信マスタ局からのポーリングフレームの送信に対して、該当する通信スレーブ局がレスポンスフレームを通信マスタ局へと返送することにより、通信マスタ局と各通信スレーブ局との間で様々なデータのやり取りを行うようにしたPLCシステムに適用される。
そして、このマスタ局には、起動後、リンク確立処理を経て、運用状態へと移行する過程で、リンク確立処理に先立って実行されて、ネットワーク上に通信マスタ局が重複して存在するか否かを判定する第1のマスタ重複判定手段と、リンク確立処理に先立って実行される第1のマスタ重複判定処理によって通信マスタ局が重複して存在すると判定されるときには、リンク確立処理へと移行することなく、所定のマスタ重複回避処理へと移行する第1のマスタ重複回避手段とが具備されており、更に、リンク確立処理に先立って実行される第1のマスタ重複判定手段が、リンク確立処理に先立って、通信スレーブ局が送信するフレームを受信したことに基づいてマスタ重複と判定するものである。
また、本発明は、通信機能を有する1のPLC装置と通信機能を有する1若しくは2以上のI/Oターミナル装置とをバス型ネットワークで結ぶと共に、通信機能を有するPLC装置を通信マスタ局としかつ通信機能を有するI/Oターミナル装置のそれぞれを通信スレーブ局とし、運用状態においては、通信マスタ局からのフレーム送信に対して該当する通信スレーブ局がレスポンスフレームを通信マスタ局へと返送することにより、通信マスタ局と各通信スレーブ局との間で様々なデータのやり取りを行うようにしたPLCシステムに適用される通信マスタ局の起動時制御方法であって、起動後、リンク確立処理を経て、運用状態へと移行する過程で、リンク確立処理に先立って実行され、ネットワーク上に通信マスタ局が重複して存在するか否かを判定するマスタ重複判定処理を実行し、リンク確立処理に先立って実行されるマスタ重複判定処理によって通信マスタ局が重複して存在すると判定されるときには、リンク確立処理へと移行することなく、所定のマスタ重複回避処理へと移行する、ことを特徴とするものである。
また、本発明のPLCシステムは、通信機能を有する1のPLC装置と通信機能を有する1若しくは2以上のI/Oターミナル装置とをバス型ネットワークで結ぶと共に、通信機能を有するPLC装置を通信マスタ局としかつ通信機能を有するI/Oターミナル装置のそれぞれを通信スレーブ局とし、運用状態においては、通信マスタ局からのフレーム送信に対して、該当する通信スレーブ局がレスポンスフレームを通信マスタ局へと返送することにより、通信マスタ局と各通信スレーブ局との間で様々なデータのやり取りを行うようにしたPLCシステムであって、前記通信マスタ局には、起動後、リンク確立処理を経て、運用状態へと移行する過程で、リンク確立処理に先立って実行され、ネットワーク上に通信マスタ局が重複して存在するか否かを判定するマスタ重複判定手段と、リンク確立処理に先立って実行されるマスタ重複判定処理によって通信マスタ局が重複して存在すると判定されるときには、リンク確立処理へと移行することなく、所定のマスタ重複回避処理へと移行する第1のマスタ重複回避手段と、、を具備したものである。
本発明によれば、リンク確立処理に先立って実行するマスタ重複判定処理によって通信マスタ局が重複して存在すると判定されるときには、リンク確立処理へと移行することなく、所定のマスタ重複回避処理へと移行すると共に、リンク確立処理と並行して実行するマスタ重複判定処理によって通信マスタ局が重複して存在すると判定されるときには、運用状態へと移行することなく、所定のマスタ重複回避処理へと移行するため、ネットワーク上に1台しか通信マスタ局を許容しないPLCシステムに対して2台以上の通信マスタ局が接続されると言った事態が生じた場合にも、当該PLCシステムの誤動作を確実に防することができる。
以下に、この発明に係る通信マスタ局の起動時制御方法の好適な実施の一形態を添付図面を参照しながら詳細に説明する。
通信マスタ局及び通信スレーブ局を含むPLCシステム全体の構成図が図1に示されている。同図に示されるように、このPLCシステムは、通信マスタ局となる通信機能を有するPLC装置1と、通信スレーブ局となる複数台の通信機能を有するI/Oターミナル装置2,2・・・とを、バス型ネットワークであるフィールドバス6により繋いで構成されている。なお、図において、4は中継装置として機能するリピータ、5はフィールドバスの終端における反射を低減する終端装置である。
図示のPLC装置1としては、パラレルバスの敷設された図示しないバックプレーン上に多数のコネクタを配置し、それらのコネクタに対して、CPUユニット、I/Oユニット、その他各種の高機能ユニット等々を任意に装着可能とした所謂ビルディングブロック型のPLC装置が採用されている。そして、特に、この例では、バックプレーン上の1のコネクタに対して通信マスタユニットを装着することにより、「通信機能を有するPLC装置」が構成されている。図では、それらのユニットのうちで、CPUユニット20及び通信マスタユニット10のみに参照符号が付されている。
通信マスタユニット10の内部構成を示すハードウェア構成図が図2に示されている。同図に示されるように、通信マスタユニット10は、通信物理層として機能する通信インタフェース(通信I/F)101と、所望の通信機能を実現するための回路をLSI化してなるマスタ用ASIC102と、CPUユニット20との間で受け渡される送受信データのバッファエリアや、後述するCPU104の演算用ワークエリア等として機能するRAM103と、マイクロプロセッサを主体として構成されて装置全体を統括制御するためのCPU104と、各種の設定データが格納される不揮発性メモリ(EEPROM)105と、各種の動作表示等を行うためのLED表示器106と、各種の設定操作等に使用される設定スイッチ107と、CPUユニット20へ通ずる内部バスへのインタフェースとして機能する内部バスインタフェース(内部バスI/F)108とを含んでいる。
当業者にはよく知られているように、この種のPLCシステムにおいては、CPUユニット20は、共通処理、I/Oリフレッシュ処理、ユーザプログラム実行処理、周辺サービス処理等を繰り返し一巡実行しており、I/Oリフレッシュ処理の実行の際には、バックプレーン上に装着されたローカルI/Oユニットとの間のみならず、通信マスタユニット10内のRAM103との間においても、I/Oリフレッシュ処理を実行する。
具体的には、CPUユニット20のI/Oメモリ(図示せず)内のOUTデータは、通信マスタユニット10のRAM103内のOUTエリアに書き込まれ、同RAM103のINデータは、CPUユニット20のI/Oメモリ内のINエリアに書き込まれる。
一方、後に詳細に説明するように、通信マスタユニット10と各I/Oターミナル装置2との間では、CPUユニット20のI/Oリフレッシュ動作とは非同期にフィールドバス6を介する通信が行われており、これにより各I/Oターミナル装置2と通信マスタユニット10内のRAM103との間においても、一種のI/Oリフレッシュ処理が実行される。
具体的には、I/Oターミナル装置2から受信されたINデータは、通信マスタユニット10内のRAM103のINエリアに書き込まれ、同RAM103のOUTエリアのOUTデータは、該当するI/Oターミナル装置2へと送信される。
このようにして、CPUユニット20内のI/Oメモリと各I/Oターミナル装置2,2・・との間において、通信マスタユニット10を経由してI/Oリフレッシュ処理が実行され、その結果として、リモート設置された各I/Oターミナル装置2,2・・・に接続されたI/O機器をCPUユニット20で取り扱うことが可能となるのである。
次に、I/Oターミナル装置内部のハードウェア構成図が図3に示されている。同図に示されるように、I/Oターミナル装置2は、通信物理層として機能する通信インタフェース(通信I/F)201と、所望の通信機能を実現するための回路をLSI化してなるマスタ用ASIC202と、マイクロプロセッサを主体として構成されて装置全体を統括制御するためのCPU203と、各種の設定データが格納される不揮発性メモリ(EEPROM)204と、各種の動作表示等を行うためのLED表示器205と、各種の設定操作等に使用される設定スイッチ206と、I/O機器7との間でデータをやり取りするためのI/F部207と、装置全体に安定化直流電源を供給するための変圧機能を有する直流電源部208とを含んでいる。
そして、後に詳細に説明するように、通信マスタユニット10と各I/Oターミナル装置2との間では、通信マスタユニット10を通信マスタ局、各I/Oターミナル装置2を通信スレーブ局とする1対Nのマスタ・スレーブ通信を通じて、I/Oデータのやり取りが行われる。
具体的には、通信マスタユニット10から受信されるOUTデータは、I/Oターミナル装置2のI/F部207を介してI/O機器7のうちの出力機器へと送り出される。そして、I/O機器7のうちの入力機器からI/F部207を介してI/Oターミナル装置2に取り込まれたINデータは、通信マスタユニット10へ宛てて送信される。出力機器の具体例は駆動系のアクチュエータなどであり、入力機器の具体例はセンサやスイッチなどである。
次に、本発明の要部を含むポーリング・セレクティング方式による1対Nのマスタ・スレーブ通信の詳細を図4〜図10を参照して説明する。
通信フレームのフォーマットの構成図が図4に示されている。同図に示されるように、フィールドバス6を流れる通信フレームには、フレームの先頭を示すスタートコードが格納されるスタートコード部401と、フレームの種別を判定するためのフレームコードが格納されるフレームコード部402と、データ等が格納されるデータ部403と、CRCコードやパリティビット等のチェックコードが格納されるチェックコード部404とが少なくとも用意されている。
フィールドバス6上には様々な通信フレームが流れるが、それらのフレームには、通信マスタ局のみが送信できるフレームと、通信スレーブ局のみが送信できるフレームとが存在する。それらのフレームの識別は、フレームコード部402の内容に基づいて行うことができる。
この例にあっては、通信マスタ局のみが送信できるフレームとしては、(1)通信スレーブ局の存在確認、通信スレーブ局へのデータ送信、及び通信スレーブ局からのデータ送信許可を同時に行い、ネットワークの同期、接続確認、出力データの送信と3つの役割を持っているネットワーク同期兼出力用データフレーム(OUT_Frame)、(2)通信スレーブ局の存在確認、及び通信スレーブ局からのデータ送信許可を同時に行い、ネットワークの同期、接続確認の役割を持っているネットワーク同期フレーム(TRG_Frame)、(3)通信スレーブ局へのデータ送信を行い、出力データ送信の役割を持つ出力用データフレーム(OUT_NT_Frame)、(4)通信スレーブ局に対して、現在の伝送速度を通知するための探索フレーム(BEACON_Frame)の4種類のフレームが存在する。
また、通信スレーブ局のみが送信できるフレームとしては、(1)通信マスタ局から通信スレーブ局に対する存在確認(OUT_Frame又はTRG_Frame)に対する応答を行うための存
在応答フレーム(CN_Frame)、(2)マスタ局へのデータ送信を行うための入力用データフレーム(IN_Frame)の2種類のフレームが存在する。そして、この6種類のフレームを区別できるようにコードを予め決めておき、フレームコード部402にコード情報を格納する。なお、コード情報の決め方には代替もあり、例えば、送信元が通信マスタ局なのか通信スレーブ局なのかを示す局種別コードと、そのフレーム内容を示す内容コードとの2つをあわせてフレームコード部402に格納してもよい。
このPLCシステムにおける運用状態においては、通信マスタ局からのポーリングフレームの一斉同報送信に対して、該当する通信スレーブ局のそれぞれが互いにタイミングをずらせてレスポンスフレームを通信マスタ局へと返送する一連の動作を繰り返すことにより、通信マスタ局と各通信スレーブ局との間で様々なデータのやり取りが行われる。
具体的には、通信マスタ局が第1〜第4フレームの全てに宛ててポーリングフレーム(先に説明したネットワーク同期兼出力用データフレーム(OUT_Frame)やネットワーク同期フレーム(TRG_Frame)等に相当)を一斉同報送信すると、第1スレーブ局、第2スレーブ局、第3スレーブ局、第4スレーブ局の順に、各スレーブ局からレスポンスフレーム(先に説明した存在応答フレーム(CN_Frame)や入力用データフレーム(IN_Frame)等に相当)が返信される。このとき、各通信スレーブの返信タイミングをどのように決めるかについては、例えば、特開平9−128019号公報に見られるように、ネットワーク同期兼出力用データフレーム(OUT_Frame)内の自己宛データの受信タイミングに、フレーム長および物理的遅延を考慮した基本アイドル時間を加えて返信タイミングを決定する方法等が従来より知られている。
なお、一斉同報送信されるポーリングフレームには、宛先を指定することも可能となっている。例えば、上の例において、第3フレームを宛先指定から除外すれば、これを受信する第3スレーブ局は自己宛のポーリングフレームでないと認識して、レスポンスフレームを返送することはない。
このように、通信マスタ局からは全ての通信スレーブ局へとポーリングフレームの一斉同報送信が行われるものの、各通信スレーブ局の側ではその一斉同報送信されるポーリングフレームに自己宛の宛先指定が存在しない限り、レスポンスフレームを返信することはないから、このデータ伝送手順は、実質的に、ポーリング・セレクティング方式であると言って差し支えないものである。
次に、本発明の要部である通信マスタ局の起動時制御方法について説明する。先に説明したように、本発明の通信マスタ局の起動時制御方法は、起動後、リンク確立処理を経て、運用状態へと移行する過程で、リンク確立処理に先立って、及び/又は、リンク確立処理と並行して、ネットワーク上に通信マスタ局が重複して存在することを検知するためのマスタ重複判定処理を実行し、リンク確立処理に先立って実行するマスタ重複判定処理によって通信マスタ局が重複して存在すると判定されるときには、リンク確立処理へと移行することなく、所定のマスタ重複回避処理へと移行すると共に、リンク確立処理と並行して実行するマスタ重複判定処理によって通信マスタ局が重複して存在すると判定されるときには、運用状態へと移行することなく、所定のマスタ重複回避処理へと移行する、ことを特徴とするものである。
リンク確立処理に先立って実行されるマスタ局の処理を示すフローチャート(その1)が図6に示されている。なお、このフローチャートに示される処理は、図2に示される通信マスタユニット10内のCPU104により実行される。
同図において、電源投入により処理が開始されると、先ず、初期化処理(ステップ601)が実行されて、フラグやレジスタ類の初期設定が行われた後、監視時間を決定するためのタイマがセットされて監視時間の計時が開始される(ステップ602)。ここでセットされるタイマの監視時間は、システムの運用状態におけるポーリングフレームの送信周期(送信時間間隔)よりも十分に長めに決められている。
その後、タイマがタイムアップするまでの間(ステップ604NO)、何らかのフレームが正常に受信されたか否かの判定が繰り返し実行される(ステップ603NO)。ここで、何らかのフレームが受信されたか否かの判定は、当該フレームのチェックコード部404に格納されたCRCコードやパリティビット等のチェックコードの存在有無の検知により行うことができる。
タイマがタイムアップするまでの間に(ステップ604NO)、何らかのフレームが受信されたと判定されると(ステップ603YES)、マスタ局重複検出処理が実行されて(ステップ605)、所定のマスタ重複検出フラグF1が“1”にセットされた後、マスタ重複回避のためにネットワーク離脱処理への移行が行われる(ステップ606)。
このような処理を採用したのは、通信マスタ局が接続されたネットワークに、既に、他の通信マスタ局が接続されて運転されていれば、監視時間が終了してタイマがタイムアップするまでには、既に存在する通信マスタ局から送信されたポーリングフレームか又はそれに応答して各通信スレーブ局から送信されるレスポンスフレームが受信される筈だからである。
なお、ネットワーク離脱処理においては、スイッチを介して回線の接続を物理的に絶つようにしてもよいし、物理的には回線と接続されているものの、ポーリングフレーム等のフレームについては一切送信しない休止状態としてもよい。
これに対して、なんらのフレームも正常受信することなく(ステップ603NO)、タイマがタイムアップすると(ステップ604YES)、フレーム送信許可処理が実行されて(ステップ607)、所定のフレーム送信許可フラグF2が“1”にセットされた後、リンク確立処理への移行が行われる(ステップ608)。
このような処理を採用したのは、通信マスタ局が接続されたネットワークに、他の通信マスタ局が接続されていなければ、監視時間が終了してタイマがタイムアップするまでに、ポーリングフレームやレスポンスフレームが受信される筈はないからである。
以上の例によれば、既に稼働中のPLCシステムのネットワークを構成するネットワークケーブルに誤って通信マスタ局を接続してしまってような場合には、その追加接続された通信マスタ局の電源を投入して起動すると、その後、運用状態におけるポーリングフレームの一斉同報送信周期よりも十分に長い監視期間内には、ネットワーク上を流れる何らかの通信フレームが受信されることとなるため、これに基づいてマスタ重複を判定し、ネットワークからの離脱を成し遂げることができる。
なお、ここでいう「一斉同報送信周期」は、例えば、通信マスタ局が通信スレーブ局1台を特定してポーリングフレームを送信し、それを受信した1台の通信スレーブ局がデータを返信し、通信マスタ局がそのデータを受信するようなもので、通信マスタ局と各通信スレーブ局との間で1対1通信を順番に繰り返すものである場合には、その1対1通信を行う通信周期の意味も含む。以下に説明する実施形態においても、「一斉同報送信周期」の意味は、同様である。
このようなマスタ局の処理によれば、通信フレームのすべてに付されている筈の例えばチェックコード(CRCコードやパリティビット等に相当)の存在を検知するだけで、マスタ重複を判定できるため、判定アルゴリズムが簡単で既存のシステムに即座に導入できると言う利点がある。
次に、リンク確立処理に先立って実行されるマスタ局の処理を示すフローチャート(その2)が図7に示されている。なお、このフローチャートに示される処理も、図2に示される通信マスタユニット10内のCPU104により実行される。
図7のフローチャートにおいて、図6のフローチャートとの相違点は、フレームを正常に受信したか否かの判定処理(ステップ603)とマスタ局重複検出処理(ステップ605)との間に、送信元がマスタであるか否かを判定する処理(ステップ609)を新たに追加した点にある。
すなわち、この例にあっては、タイマがタイムアップするまでの間に(ステップ604NO)、何らかのフレームが受信されたと判定されたとしても(ステップ603YES)、直ちにマスタ局重複検出処理(ステップ605)へと移行するのではなくて、さらに送信元がマスタであるか否かの判定を行い(ステップ609)、送信元がマスタであると判定された場合に限り(ステップ609YES)、マスタ重複検出処理へと移行して(ステップ605)、所定のマスタ重複検出フラグF1が“1”にセットされた後、マスタ重複回避のためにネットワーク離脱処理へと移行するのである(ステップ606)。
ここで、送信元がマスタであるか否かの判定は、通信フレームのフォーマットにおいて、通信フレームの種別を示すフレームコード部の内容を示すコードが、通信マスタ局のみが送信する既知の複数種のコード((1)通信スレーブ局の存在確認、通信スレーブ局へのデータ送信、及び通信スレーブ局からのデータ送信許可を同時に行うためのネットワーク同期兼出力用データフレーム(OUT_Frame)、(2)通信スレーブ局の存在確認、及び通信スレーブ局からのデータ送信許可を同時に行うためのネットワーク同期フレーム(TRG_Frame)、(3)通信スレーブ局へのデータ送信を行うための出力用データフレーム(OUT_NT_Frame)、(4)通信スレーブ局に対して、現在の伝送速度を通知するための探索フレーム(BEACON_Frame)の4種類のフレームに相当)のいずれかに該当することを判別することにより実現することができる。なお、コードを、送信元が通信マスタ局なのか通信スレーブ局なのかを示す局種類コードと、そのフレーム内容を示す内容コードとからなるものとした場合には、フレームコード部の局種類コードから判別することでも実現することができる。
なお、たまたま受信されたフレームの送信元がマスタではない(送信元がスレーブ)としても(ステップ609NO)、タイマにより決定される監視時間は、ポーリングフレームの送信周期よりも十分に長めに設定されているから、マスタ重複が生じている限り、タイマがタイムアップするまでの間には(ステップ604NO)、他のマスタから送信されるポーリングフレームが必ず検出されて(ステップ609YES)、マスタ重複検出処理の実行を経て(ステップ605)、ネットワーク離脱処理への移行が行われる(ステップ606)。
これに対して、マスタ重複が生じていなければ、マスタから送信されるポーリングフレームが受信されないまま(ステップ609NO)、タイマがタイムアップすることとなり(ステップ604YES)、この場合には、フレーム送信許可処理(ステップ607)を経て、リンク確立処理への移行が行われる(ステップ608)。
以上の例によっても、既に稼働中のPLCシステムのネットワークを構成するネットワークケーブルに誤って通信マスタ局を接続してしまってような場合には、その通信マスタ局の電源を投入して起動すると、その後、運用状態におけるポーリングフレームの一斉同報送信周期よりも十分に長い監視期間内には、通信マスタ局のみが送信する通信フレームが受信されるため、これに基づいてマスタ重複を判定し、ネットワークからの離脱を成し遂げることができる。
このようなマスタ局の処理によれば、既に稼働中のPLCシステムのネットワークを構成するネットワークケーブルには、所定の送信周期をもって、通信マスタ局からのポーリングフレームが繰り返し流れているから、運用状態におけるポーリングフレームの一斉同報送信周期よりも十分に長い監視期間内に、通信マスタ局のみが送信する通信フレーム(ポーリングフレーム等)が受信されると言うことは、既に他の通信マスタ局が存在すること(マスタ重複)を直接的に意味することとなり、これに基づいてマスタ重複判定をより確実に行うことができると言う利点がある。
次に、リンク確立処理に先立って実行されるマスタ局の処理を示すフローチャート(その3)が図8に示されている。なお、このフローチャートに示される処理も、図2に示される通信マスタユニット10内のCPU104により実行される。
図8のフローチャートにおいて、図6のフローチャートとの相違点は、フレームを正常に受信したか否かの判定処理(ステップ603)とマスタ局重複検出処理(ステップ605)との間に、送信元がスレーブであるか否かを判定する処理(ステップ610)を新たに追加した点にある。
すなわち、この例にあっては、タイマがタイムアップするまでの間に(ステップ604NO)、何らかのフレームが受信されたと判定されたとしても(ステップ603YES)、直ちにマスタ局重複検出処理(ステップ605)へと移行するのではなくて、さらに送信元がスレーブであるか否かの判定を行い(ステップ610)、送信元がスレーブであると判定された場合に限り(ステップ610YES)、マスタ重複検出処理へと移行して(ステップ605)、所定のマスタ重複検出フラグF1が“1”にセットされた後、マスタ重複回避のためにネットワーク離脱処理へと移行するのである(ステップ606)。
ここで、送信元がスレーブであるか否かの判定は、通信フレームのフォーマットにおいて、通信フレームの種別を示すフレームコード部の内容を示すコードが、通信スレーブ局のみが送信する既知の複数種のコード((1)通信マスタ局から通信スレーブ局に対する存在確認(OUT_Frame又はTRG_Frame)に対する応答を行うための存在応答フレーム(CN_Frame)、(2)マスタ局へのデータ送信を行うための入力用データフレーム(IN_Frame)の2種類のフレームに相当)のいずれかに該当することを判別することにより実現することができる。なお、コードを、送信元が通信マスタ局なのか通信スレーブ局なのかを示す局種類コードと、そのフレーム内容を示す内容コードとからなるものとした場合には、フレームコード部の局種類コードから判別することでも実現することができる。
なお、たまたま受信されたフレームの送信元がスレーブではない(送信元がマスタ)としても(ステップ610NO)、タイマにより決定される監視時間は、ポーリングフレームの送信周期よりも十分に長めに設定されているから、マスタ重複が生じている限り、タイマがタイムアップするまでの間には(ステップ604NO)、スレーブから送信されるレスポンスフレームが必ず検出されて(ステップ610YES)、マスタ重複検出処理の実行を経て(ステップ605)、ネットワーク離脱処理への移行が行われる(ステップ606)。
これに対して、マスタ重複が生じていなければ、スレーブから送信されるレスポンスフレームが受信されないまま(ステップ610NO)、タイマがタイムアップすることとなり(ステップ604YES)、この場合には、フレーム送信許可処理(ステップ607)を経て、リンク確立処理への移行が行われる(ステップ608)。
以上の例によっても、既に稼働中のPLCシステムのネットワークを構成するネットワークケーブルに誤って通信マスタ局を接続してしまってような場合には、その通信マスタ局の電源を投入して起動すると、その後、運用状態におけるポーリングフレームの一斉同報送信周期よりも十分に長い監視期間内には、通信スレーブ局のみが送信する通信フレームが受信されるため、これに基づいてマスタ重複を判定し、ネットワークからの離脱を成し遂げることができる。
しかもこのようなマスタ局の処理によれば、ポーリングフレームの周期内には、最大、通信スレーブ局の接続台数分のレスポンスフレームが存在する上、それらの1つを受信しさえすればよいのであるから、間接的な判定であるとはいえ、判定アルゴリズムの点からは、信頼性の高い判定結果が得られる利点もある。
次に、リンク確立処理中のマスタ局の処理を示すフローチャートが図9(前半)及び図10(後半)にかけて示されている。図5に示されるように、リンク確立処理中のマスタ局は、接続可能な全通信スレーブ局のそれぞれに宛ててポーリングフレームを個別に送信し、通信スレーブ局からのレスポンスフレームの受信有無を記憶するリンク確立のための接続スレーブ確認処理を実行しつつ、マスタ重複判定処理を実行する。
図9において、リンク確立処理が開始されると、先ず、リンク確立処理に必要な各種の前処理を実行したのち(ステップ701)、ポーリングフレーム送信処理(ステップ702)及び監視時間を設定するためにタイマセット処理(ステップ703)を実行する。
しかるのち、タイマがタイムアップするまでの間(ステップ708NO)、なんらかのフレームを正常受信したか否かを待機する状態となる(ステップ704NO)。ここで、何らかのフレームが受信されたか否かの判定は、当該フレームのチェックコード部404に格納されたCRCコードやパリティビット等のチェックコードの存在有無の検知により行うことができる。
ところで、ポーリングフレーム送信処理(ステップ702)により一斉同報送信されるポーリングフレームには、宛先指定が可能とされている一方、各通信スレーブ局は互いにタイミングをずらせてレスポンスフレームを送信する機能が組み込まれている。そのため、接続スレーブ確認処理のためのポーリングのかけ方は一通りではない。
1台の通信マスタ局に対して4台の通信スレーブ局が存在する場合であれば、(1)第1スレーブ局〜第4スレーブ局を全て宛先指定する1個のポーリングフレームを一斉同報送信することで全ての通信スレーブ局にポーリングをかける場合、(2)ポーリング対象とするスレーブ局を、第1及び第2スレーブ局を含むグループと第3スレーブ局及び第4スレーブ局を含むグループとの2つのグループに分け、各グループのそれぞれに含まれるスレーブ局を宛先指定する2個のポーリングフレームを2回に分けて一斉同報送信することで全ての通信スレーブ局にポーリングをかける場合、(3)ポーリング対象となる4つのスレーブ局を1局毎に宛先指定する4個のポーリングフレームを4回に分けて一斉同報送信することで全ての通信スレーブ局にポーリングをかける場合、等々が想定される。なお、先に図5を参照して説明した通信シーケンス説明図の例は、上記の(3)の場合に相当する。
この図5からわかるように、マスタ局は通信スレーブ局1台を特定してポーリングフレームを送信し、それを受信した1台の通信スレーブ局からのレスポンスフレームの受信有無に基づいて接続フレームの確認を行う。次に別の通信スレーブ局1台にポーリングフレームを送信し、それを受信した当該通信スレーブ局からのレスポンスフレームの受信有無に基づいて接続フレームの確認を行う。
それを順番に繰り返すことにより、リンク確立処理をする。この一斉同報の意味は、すべてのスレーブ局が受信処理しないもので、特定のスレーブ局だけが受信するようなポーリングフレームを送信する場合も含む意味である。通常のバス通信回線や、マルチドロップ回線において送信されるフレームであっても、ここでいう「一斉同報」の意味に含まれる。
ここで、説明の便宜のために、図9のフローチャートに示す例においては、図5に示されるように、上記の(3)の場合に沿って、ポーリングフレーム送信処理(ステップ703)が実行されるものと想定する。
このような前提の上に、ポーリングフレーム送信処理(ステップ702)が実行されて、第1スレーブ局を宛先指定するポーリングフレームが送信されると、マスタ重複が生じていない正常な状態であれば、タイマがタイムアップする以前に(ステップ708NO)、第1スレーブ局からのレスポンスフレームが受信され(ステップ704YES、ステップ705NO、ステップ706YES)、レスポンス受信処理(ステップ707)が実行されて、第1スレーブ局に対応する接続確認フラグF11は“1”にセットされる。
以後、第2スレーブ局〜第4スレーブ局に至るまで(図10、ステップ701NO)、宛先を変更してはポーリングフレームの送信処理が繰り返され(ステップ702)、この例では第2〜第4スレーブ局の全てが接続されているため、その都度、レスポンス受信処理が実行されて(ステップ707)、第2〜第4スレーブ局に対応する接続確認フラグF12,F13,F14は順次に“1”にセットされる。
なお、第1〜第4スレーブ局のいずれかが接続されていなければ、そのスレーブ局に対応するレスポンスフレーム受信待機中にタイマがタイムアップするため(ステップ708YES)、その第nスレーブ局に関する接続確認フラグF1nは“0”の状態のままに維持される。
このようにして、全てのスレーブ局に対するポーリングフレームの送信が完了すると(ステップ709YES)、接続確認フラグF11〜F14の内容に基づいて、1つ以上のスレーブ局からレスポンスフレームを受信したか否かの判定が行われ(ステップ710)、ここで肯定判定が得られれば(ステップ710YES)、リンク確立処理は終了されて、運用状態への移行が行われる。
この運用状態においては、先に説明したように、通信マスタ局からのポーリングフレームの一斉同報送信に対して、該当する通信スレーブ局のそれぞれが互いにタイミングをずらせてレスポンスフレームを通信マスタ局へと返送する一連の動作を繰り返すことにより、通信マスタ局と各通信スレーブ局との間で様々なデータのやり取りが行われる。
なお、通信マスタ局と各通信スレーブ局との間で様々なデータのやり取りは、一般的なポーリングセレクション方式や、トークンパッシング方式であってもよい。例えば、通信マスタ局が通信スレーブ局1台を特定してポーリングフレームを送信し、それを受信した1台の通信スレーブ局がデータを返信し、通信マスタ局がそのデータを受信するものようなもので、通信マスタ局と各通信スレーブ局との間で1対1通信を順番にしてゆくものであってもよい。各通信スレーブがトークンを順番に渡し、トークンを獲得したスレーブ局が順番にレスポンスフレームをマスタ局に対して送信するものであってもよい。「通信スレーブ局のそれぞれが互いにタイミングをずらせてレスポンスフレームを通信マスタ局へと返送する」の意味は、そのような方式も含んでいる。
次に、以上のリンク確立処理と並行して行われるマスタ重複回避のためのマスタ重複判定処理について説明する。
PLCシステムの新設時やメンテナンス後の運転再開時等において、1のネットワークを構成するネットワークケーブルに誤って、あるいは、2台以上の通信マスタ局を許容するシステムと誤認して、当初から2台以上の通信マスタ局が接続されてしまったような場合が想定される。
このようにシステム立ち上げ時から2台以上の通信マスタ局がネットワークに接続されていると、それらの通信マスタ局は電源投入或いはリセットスイッチの作動等により同時に起動される可能性が高く、その場合、起動直後のリンク確立処理においては、各通信マスタ局からほぼ同一のタイミングでポーリングフレームが送信されるため、それらのポーリングフレームはネットワーク上で衝突して無効化されてしまい、各通信スレーブ局からレスポンスフレームが送信されない可能性が高い。したがって、接続可能な全通信スレーブ局のそれぞれに宛ててポーリングフレームを送信したにも拘わらず、いずれの通信スレーブ局からもレスポンスフレームの受信確認がとれないと言うことは、2台以上の通信マスタ局が存在すること(マスタ重複)をかなりの確立で推定することができ、これに基づいてマスタ重複と判定できるのである。
すなわち、図9及び図10のフローチャートにおいて、全てのスレーブにポーリングフレームを送信したにも拘わらず(ステップ709YES)、いずれのスレーブ局からもレスポンスフレームを受信しないと判定されると(ステップ710NO)、回線異常またはマスタ重複を検出する処理(ステップ712)が実行されて、回線異常またはマスタ重複検出を示す所定のフラグF3は“1”にセットされ、しかるのち、ネットワーク離脱処理への移行が行われる(第1処理)。
このような構成によれば、PLCシステムの新設時やメンテナンス後の運転再開時等において、1のネットワークを構成するネットワークケーブルに誤って、あるいは、2台以上の通信マスタ局を許容するシステムと誤認して、当初から2台以上の通信マスタ局が接続されてしまったような場合にあっても、リンク確立処理と並行して、マスタ重複を確実に判定し、重複する全ての通信マスタ局を自発的に回線から離脱させ、マスタ重複によるPLCシステムの誤動作を未然に防止することができる。
一方、システム立ち上げ時から2台以上の通信マスタ局がネットワークに接続されていると、それらの通信マスタ局は電源投入或いはリセットスイッチの作動等により同時に起動される可能性が高いのではあるが、それでも個々の通信マスタユニットは非同期で動作するのであるから、各通信マスタ局からのポーリングフレーム送信タイミングが僅かにずれて、個々の通信マスタ局が他の通信マスタ局が送信したポーリングフレームを受信することもあり得る。したがって、接続可能な全通信スレーブ局のそれぞれに宛ててポーリングフレームを送信し、通信スレーブ局からのレスポンスフレームの受信有無を記憶するリンク確立のための接続フレーム確認処理において、通信マスタ局のみが送信するフレームを受信したと言うことも、2台以上の通信マスタ局が存在すること(マスタ重複)をかなりの確立で推定することができ、これに基づいてマスタ重複と判定できる。
すなわち、図9及び図10のフローチャートにおいて、いずれかのスレーブ局からのレスポンスフレーム受信待機中に、マスタ局からのフレームが受信されたと判定されると(ステップ705YES)、マスタ局重複検出処理(ステップ711)が実行されて、マスタ局重複検出を示すフラグF4が“1”にセットされたのち、ネットワーク離脱処理への移行が行われる(第2処理)。
このような構成によっても、PLCシステムの新設時やメンテナンス後の運転再開時等において、1のネットワークを構成するネットワークケーブルに誤って、あるいは、2台以上の通信マスタ局を許容するシステムと誤認して、当初から2台以上の通信マスタ局が接続されてしまったような場合にあっても、リンク確立処理と並行して、マスタ重複を確実に判定し、重複する全ての通信マスタ局を自発的に回線から離脱させ、マスタ重複によるPLCシステムの誤動作を未然に防止することができる。
加えて、以上の第1処理並びに第2処理によれば、マスタ重複判定のために別途専用のポーリングフレーム送信処理を設けるのではなく、リンク確立処理において実行されるポーリングフレーム送信処理を流用しているため、電源投入又はリセットから運用状態へ移行する所要期間を徒に増大させることがないと言う利点もある。
なお、以上述べた第2処理においては、重複する2台の通信マスタ局のそれぞれから送信されるポーリングフレームの偶然的な送信タイミングのずれを利用して、互いに他の通信マスタ局が他のマスタ局のポーリングフレームの受信を検知するようにしたが、予め各マスタ局毎にリンク確立処理におけるポーリングフレームの送信周期を異ならせておいたり、あるいはタイマセット処理(ステップ703)において、タイマにセットされる監視時間データを乱数発生器を利用してランダムな値に設定すれば、重複する2台の通信マスタ局のそれぞれから送信されるポーリングフレームの送信タイミングを積極的にずらすこともでき、これによりマスタ重複時におけるポーリングフレーム受信可能性を高め、マスタ重複判定の信頼性を高めることができる。
すなわち、このような構成を採用すると、2以上の通信マスタ局のそれぞれから送信されるポーリングフレームの衝突確立が低減されて、個々の通信マスタ局が他の通信マスタ局のポーリングフレームを受信する確立が高まり、通信マスタ局のみが送信するフレームを受信したことに基づいてマスタ重複と判定する処理がより一層有効に作用して、マスタ重複をより確実に判定できることになる。