(57)【要約】【課題】通信が断線した場合でも断線箇所までは通信可能にすることができるフィールドバスシステムの通信速度制御方法を提供すること【解決手段】ＰＬＣ１０を構成するマスタユニット１２と、スレーブ２０がバス型のフィールドバス３０に接続されるとともに、そのフィールドバスの終端には終端抵抗３１が接続されてフィールドバスシステムが構成される。正常時は、終端抵抗が必要な高速の通信速度でマスタユニットとスレーブが通信を行い、フィールドバスが断線した際に、マスタユニットは、終端抵抗が不在な状態でも通信可能な低速の通信速度に切り替えてスレーブと通信を継続して行う。【選択図】        図２
2004221904.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブルコントローラを構成するマスタユニットと、スレーブが、バス型のフィールドバスに接続されるとともに、そのフィールドバスの終端には終端抵抗が接続されたフィールドバスシステムにおける通信速度の制御方法であって、
正常時は、前記終端抵抗が必要な高速の通信速度で前記マスタユニットと前記スレーブが通信を行い、
前記フィールドバスが断線した場合に、前記マスタユニットは、終端抵抗が不在な状態でも通信可能な低速の通信速度に切り替えて前記スレーブと通信を行うことを特徴とするフィールドバスシステムの通信速度制御方法。
【請求項２】
前記断線の判断は、前記プログラマブルコントローラを構成するユニットが行うことを特徴とする請求項１に記載のフィールドバスシステムの通信速度制御方法。
【請求項３】
前記ユニットは、前記フィールドバスに接続された前記スレーブのうち、予め設定した個数以上の複数のスレーブが通信不能になった場合に断線と判断するようにしたことを特徴とする請求項２に記載のフィールドバスシステムの通信速度制御方法。
【請求項４】
終端抵抗を有するバス型のフィールドバスに接続されるプログラマブルコントローラを構成するマスタユニットであって、
複数の通信速度に対応する機能を持ち、
前記複数の通信速度は、少なくとも前記終端抵抗が必要な高速の通信速度と、前記終端抵抗が不在な状態でも通信可能な低速の通信速度を有し、
前記フィールドバスが断線された場合に、前記低速の通信速度に切り替える切替手段を備えたことを特徴とするマスタユニット。
【請求項５】
前記切替手段は、前記プログラマブルコントローラを構成する他のユニットからの断線通知を受けて前記低速の通信速度に切り替えるものであることを特徴とする請求項４に記載のマスタユニット。
【請求項６】
前記フィールドバスの断線を検知する断線検知手段を備え、その断線検知手段が断線を検知した場合に、前記切替手段は、前記低速の通信速度に切り替えるようにしたことを特徴とする請求項４に記載のマスタユニット。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、フィールドバスシステムの通信速度制御方法及びマスタユニットに関するもので、特に、フィールドバスの断線といった異常事態における通信速度の制御に関する。
【０００２】
【従来の技術】
ＦＡ（ファクトリーオートメーション）で用いられるＰＬＣ（プログラマブルコントローラ）は、スイッチやセンサなどの入力機器のＯＮ／ＯＦＦ情報を入力し、ラダー言語などで書かれたシーケンスプログラム（ユーザプログラム）に沿って論理演算を実行する。そして、ＰＬＣは、得られた演算結果にしたがって、リレー，バルブ，アクチュエータなどの出力機器に対し、ＯＮ／ＯＦＦ情報の信号を出力することで制御が実行される。
【０００３】
係るＰＬＣの一形態として、各機能ごとに生成されたユニットを複数用意し、電気，機械的に連結して構成するものがある。係るタイプを構成するためのユニットとしては、電源ユニット，ＣＰＵユニット，Ｉ／Ｏユニット，マスタユニット等各種のものがある。
【０００４】
そして、上記したマスタユニットは、フィールドバス等の制御系ネットワークに接続され、その制御系ネットワークに接続された各種のスレーブと制御系ネットワークを介して通信可能となっている。この種のスレーブの一例として、リモートＩＯがある。すなわち、上記した入力機器や出力機器は、ＰＬＣを構成するＩ／Ｏユニットに接続することもあるが、仮に全ての入出力機器を直接Ｉ／Ｏユニットに接続した場合には、それら入出力機器とＩ／Ｏユニットを結ぶ配線が、入出力機器の数だけ存在することになり、係る多数の配線がＰＬＣ（Ｉ／Ｏユニット）を起点として工場内に引き回されることになり、好ましくない。
【０００５】
そこで、制御対象の付近に入出力機器を接続するための端子台となるリモートＩＯを設置し、そのリモートＩＯに各種の入出力機器を接続する。そして、ＰＬＣ（マスタユニット）に接続されたネットワークケーブル（通信線）に対して各リモートＩＯを接続し、各リモートＩＯとＰＬＣとの間ではマスタ−スレーブ間通信などによってＩ／Ｏデータの送受を行い、実際の入出力機器に対しては係るリモートＩＯを介して情報の伝達をするようにしている。
【０００６】
上記したネットワーク構成の一例を示すと、図１のようなものがある。すなわち、ＰＬＣ１を構成するユニットの１つであるマスタユニット２並びにスレーブ３が、バス型のフィールドバス４に接続される。さらに、最近ではフィールドバス４を用いたネットワークにおいても非常に早い通信速度を使用することが多くなってきているため、フィールドバス４の端部には、終端抵抗５を接続するようになっている。
【０００７】
なお、上記のフィールドバス４における通信速度は、予め決めた速度をマスタユニット並びにスレーブに設定しておき、その決めた通信速度で通信を行う。そして、通常は同一のフィールドバス４では、単一の通信速度が用いられる。これらのことは、たとえば特許文献１の従来技術の説明などに開示されている。なお、特許文献１に記載の発明は、制御装置（ＰＬＣ）と入出力装置間をシリアルバス方式で通信するものであって、同一の伝送線路に異なる通信速度に対応した入出力装置（高速対応の入出力装置と低速対応の入出力装置）を接続した状態で通信可能にするものである。但し、この特許文献に記載の発明も、個々の入出力装置との通信速度は一義的に決まっている。
【０００８】
【特許文献１】
特開２００２−０８２７１９
【特許文献２】
特開平１１−２９８５６１
【０００９】
【発明が解決しようとする課題】
しかしながら、上記した特許文献１に示した発明では、以下に示す問題がある。すなわち、フィールドバス４を構成する通信線が断線した場合、断線された箇所よりも下流側に位置するスレーブ３と通信できなくなることは当然であるが、断線箇所より上流側でフィールドバス４を介してマスタユニット２と物理的に接続が維持されたスレーブ３も通信不能となることが多々ある。これは、断線したことにより、終端抵抗が不在のネットワーク構成となるので、高い通信速度では通信回線が安定せず、通信できないスレーブ３が発生するためである。
【００１０】
したがって、断線時にマスタ−スレーブ間通信により、どのスレーブ３が接続されているかを特定することを利用して断線箇所を早期発見することは困難であった。さらに、断線が発生すると正常な制御ができないので、システムが緊急停止することになるが、すべてのスレーブ３と通信できなくなるので、例えばスレーブ３に接続された制御対象の装置を安全な状態になるまで動作させ、その後停止するような緊急退避制御処理もできなくなる。そのため、例えば半導体プロセスなどにおいては、処理中のウエハが不良品となり歩留まりの低下を招くなどの問題を生じる。
【００１１】
なお、例えば本発明と直接関連しないが、一般のデータ伝送をするモデムなどでは、通信回線の状況に応じて通信速度を自動的に増減する技術が実装されている（特許文献２等）。これにより、ノイズなどが発生し環境の悪い通信回線では、通信速度を遅くして確実に相手にデータを送信し、環境が良い通信回線では通信速度を早くして高速にデータを送信することができる。但し、このモデムの発明は、通信線に断線など生じておらず、相手との通信は正常に行える環境下にあることを前提としており、本発明が対象とする断線を発生した場合には、通信不可となる。
【００１２】
本発明は、通信が断線した場合でも断線箇所までは通信可能にすることができるフィールドバスシステムの通信速度制御方法及びマスタユニットを提供することを目的とする。
【００１３】
【課題を解決するための手段】
上記した目的を達成するため、本発明に係るフィールドバスシステムの通信速度制御方法は、プログラマブルコントローラを構成するマスタユニットと、スレーブが、バス型のフィールドバスに接続されるとともに、そのフィールドバスの終端には終端抵抗が接続されたフィールドバスシステムにおける通信速度の制御方法である。そして、正常時は、前記終端抵抗が必要な高速の通信速度で前記マスタユニットと前記スレーブが通信を行い、前記フィールドバスが断線した場合に、前記マスタユニットは、終端抵抗が不在な状態でも通信可能な低速の通信速度に切り替えて前記スレーブと通信を行うようにした。
【００１４】
そして、前記断線の判断は、例えば前記プログラマブルコントローラを構成するユニットが行うようにすることができる。さらに、その場合に、前記ユニットは、前記フィールドバスに接続された前記スレーブのうち、予め設定した個数以上の複数のスレーブが通信不能になった場合に断線と判断するようにすることができる。
【００１５】
もちろん、断線の判断アルゴリズムは上記したものに限られることはない。また、「プログラマブルコントローラを構成するユニット」は、実施の形態でも示したように、ＣＰＵユニットや、マスタユニットとすることができるし、断線検知用の専用のユニットや他のユニットによっても実現できる。
【００１６】
また、本発明に係るマスタユニットは、終端抵抗を有するバス型のフィールドバスに接続されるプログラマブルコントローラを構成するマスタユニットであって、複数の通信速度に対応する機能を持つ。そして、係る複数の通信速度は、少なくとも前記終端抵抗が必要な高速の通信速度と、終端抵抗が不在な状態でも通信可能な低速の通信速度を有することである。さらに、前記フィールドバスが断線された場合に、前記低速の通信速度に切り替える切替手段を備えるようにした。
【００１７】
そして好ましくは、前記切替手段は、前記プログラマブルコントローラを構成する他のユニットからの断線通知を受けて前記低速の通信速度に切り替えるようにすることである。また別の解決手段としては、前記フィールドバスの断線を検知する断線検知手段を備え、その断線検知手段が断線を検知した場合に、前記切替手段は、前記低速の通信速度に切り替えるようにすることもできる。
【００１８】
本発明によれば、フィールドバスの断線が発生した場合に、自動的に低速の通信速度に下げることができる。これにより、終端抵抗がなくてもフィールドバスに接続された断線箇所よりもマスタユニット側に存在するスレーブと通信が可能となる。
【００１９】
その結果、断線箇所よりマスタユニット側に存在するスレーブと通信することができるので、どのスレーブが断線により通信不能になったかを知ることができ、断線箇所の予測をすることが可能となる。また、通信可能なスレーブと通信することで、そのスレーブに接続された機器に対して制御が可能となる。
【００２０】
【発明の実施の形態】
図２は、本発明が適用されるフィールドバスシステムの一例を示している。図２に示すように、ＰＬＣ１０と各種のスレーブ２０が、フィールドバス３０を介して接続されネットワークシステムを構築している。スレーブ２０としては、リモートＩＯその他の機器がある。フィールドバス３０は、各スレーブ２０を直列に接続したバス型である。そのため、そのフィールドバス３０の終端には、終端抵抗３１が接続されている。また、本実施の形態では、通信回線の二重化等がされておらず、通信回線（ケーブル）が断線されると、その断線箇所より下流側とは通信不可能となるようなネットワーク構成をとっている。
【００２１】
ＰＬＣ１０は、各機能ごとに生成されたユニットを連結することにより構成され、例えば、ＣＰＵユニット１１，マスタユニット１２などがある。マスタユニット１２は、フィールドバス３０に接続され、各スレーブ２０と通信を行うようになっている。さらに、ＰＬＣ１０の内部バスを介してＣＰＵユニット１１のＩＯメモリにアクセスし、ＩＯデータ等の読み書きを行うようになっている。
【００２２】
マスタユニット１２は、図３に示すように、フィールドバスに接続され、実際にデータの送受を行う通信インタフェース１２ａと、その通信インタフェース１２ａを介してマスタ−スレーブ間通信をし、スレーブ２０との間でＩ／Ｏデータの送受を行なったり、所定のコマンドの送信並びにそれに基づくレスポンスの受信を行うマスタ用ＡＳＩＣ１２ｂと、各種の制御を行うＭＰＵ１２ｄと、各種の制御実行時にワークエリア等として使用されるＲＡＭ１２ｃと、上記制御を行うプログラムや、各種の設定データ等が格納されたＥＥＰＲＯＭ１２ｅと、他のユニットなどと通信を行うためのインタフェース１２ｈと、動作状態（通信状態）や異常／正常などを示すＬＥＤ表示部１２ｆ並びにアドレスの設定などを行うための設定スイッチ１２ｇを備えている。なお、基本的なハードウェア構成等は、従来のマスタユニットと同様であるので、その詳細な説明を省略する。
【００２３】
ここで本発明では、マスタユニット１２がフィールドバス３０を介してスレーブ２０と通信する際の通信速度として複数種用意している。そして、その複数種の通信速度の少なくとも１つは、通信線つまりフィールドバス３０が断線して終端抵抗３１が存在しない状態になった場合でも、通信可能となる十分低い通信速度としている。この十分低い通信速度としては、例えば１００から２００ｂｐｓ程度とすることができるが、これ以外の速度でももちろんよい。そして、他の通信速度としては、正常時に各スレーブ２０と通信を行う高速の通信速度であり、この高速の通信速度は、１つでも良いし、特許文献１に示されたように複数設けても良い。さらに、通信線が断線されていない正常時に使用される通信速度として複数用意した場合に、特許文献１のように入出力機器（スレーブ２０）ごとに異ならせても良いし、通信回線の状態に応じて適切な通信速度を切り替えながら使用するようにしても良い。
【００２４】
さらに、ＭＰＵ１２ｄが行う制御としては、ＣＰＵユニット１１その他のユニット等と通信したり、マスタ用ＡＳＩＣ１２ｂを動作させたりするようになっている。特に本発明との関係でいうと、フィールドバス３０の断線時に通信速度を十分低い通信速度に切り替え、当該通信速度でスレーブ２０と通信を行うようにしている。さらに上記した断線の有無の判断は、マスタユニット１２自体が行っても良いし、実際の判断自体はＣＰＵユニット１１が行い、そのＣＰＵユニット１１からの通知に基づいて通信速度を切り替えるようにしてもよい。
【００２５】
ＣＰＵユニット１１は、図４に示すように、システムプログラムはフラッシュメモリからなるシステムメモリ（ＳＲＯＭ）１１ａに格納されており、このシステムプロクラムは、ＭＰＵ１１ｂに呼び出され、ＭＰＵ１１ｂは、ワークメモリ（ＷＲＡＭ）１１ｃを適宜使用しながらプログラムに従った所定の処理を実行する。
【００２６】
また、運転時において、ユーザデータの１つであるユーザプログラムは、ユーザメモリ１１ｄに格納されている。このユーザメモリ１１ｄは、高速ＲＡＭであるＳＲＡＭにより構成され、電源ＯＦＦ時には内容を保持することができない。従って、同一内容のユーザプログラムを、電源ＯＦＦ時にも内容を保持するフラッシュメモリから構成されるバックアップメモリ１１ｅに格納しておく。そして、電源ＯＮ時にバックアップメモリ１１ｅに格納されたユーザプログラムをユーザメモリ１１ｄに転送するようにしている。また、Ｉ／Ｏデータやパラメータは、ＩＯメモリ１１ｆに格納されている。
【００２７】
そして、これらユーザメモリ１１ｄに格納されたユーザプログラム（命令オブジェクトコード）は、ＡＳＩＣ１１ｇに順次呼び出され、呼び出した命令オブジェクトを解析し、命令実行をする。また、この命令実行時に、適宜ＩＯメモリ１１ｆにアクセスし、Ｉ／Ｏデータを読み書きしたり、パラメータを取得する。さらに、Ｉ／Ｏデータは、Ｉ／Ｏバス１１ｈを介して他のユニットひいては、マスタユニット１２経由でスレーブ２０との間で送受される。
【００２８】
ここで本発明では、ＣＰＵユニット１１側にフィールドバス３０の断線を検知する機能と、断線を検知した場合にマスタユニット１２に通知する機能を設けた。具体的には、いずれもユーザプログラムに組み込むことで実現している。
【００２９】
すなわち、ＩＯメモリ１１ｆの所定エリアには各スレーブ２０のステータスビットが書き込まれている。これは、マスタユニット１２がフィールドバス３０に接続されたスレーブ２０から一定期間応答がないと異常が発生したと判断し、ＩＯメモリ１１ｆのステータスビットに異常フラグを立てるようになっている。従って、ユーザプログラム中に、上記ステータスビットを監視し、所定のスレーブのステータスビットの異常フラグが立ったことを条件に、マスタユニットに断線通知をするプログラムを組み込む。
【００３０】
そして、断線と判断する異常フラグであるが、例えば、全てのスレーブ２０の異常フラグがＯＮになることを条件としても良いし、複数のスレーブの異常フラグがＯＮになることを条件としても良いし、複数の特定のスレーブの異常フラグがＯＮになることを条件としても良い。
【００３１】
すなわち、高速の通信速度でマスタ−スレーブ間通信をしている場合に、フィールドバス３０が断線し、終端抵抗３１が不在になると、多くの場合全てのスレーブ２０と通信ができなくなる。従って、全てのスレーブ２０の異常フラグがＯＮになると、断線を生じたと推定できる。
【００３２】
また、フィールドバス３０に接続されている複数のスレーブ２０の内の１つのスレーブの異常フラグＯＮになった場合には、そのスレーブ２０の故障などのおそれが高いが、同時に複数のスレーブ２０と通信不能になり当該複数のスレーブ２０の異常フラグがＯＮになると、その複数のスレーブ２０が同時に故障した可能性よりも通信線の不良（断線）の可能性の方が高い。従って、任意の複数のスレーブ２０の異常フラグが同時にＯＮになると、断線を生じたと推定できる。なお、同時とは、例えば同一のサイクルタイム中としてもよいし、数サイクル分まで含むようにすることもできる。もちろんそれ以上の期間まで含めることもできる。
【００３３】
これにより、サイクリックにユーザプログラムが実行される都度、断線のチェックが行われ、断線が発生したと判断した場合には、マスタユニット１２に通知する。これに伴い、マスタユニット１２は、断線発生時に速やかに自動的に通信速度を十分に低い速度に下げることができる。
【００３４】
スレーブ２０は、自動速度追従機能を備えている。つまり、マスタユニット１２から指定された通信速度に合わせて、自己の通信インタフェースで処理する通信速度を変更することができる。これにより、ネットワーク全体の通信速度をマスタユニット１２側の通信速度の切替のみで変更できる。
【００３５】
従って、フィールドバス３０が断線して終端抵抗３１が不在になったとしても、マスタユニット１２から断線箇所までに接続されたスレーブ２０に対してはマスタ−スレーブ間通信を継続することができる。よって、どのスレーブ２０が接続されているかを特定することができ、断線箇所を早期に発見することが可能となる。さらに、断線が発生してシステムが緊急停止した場合でも、例えば通信可能なスレーブ２０に接続された制御対象の装置を安全な状態になるまで動作させ、その後停止するような緊急退避制御処理を実行することができる。そのため、例えば半導体プロセスなどにおいては、処理中のウエハが不良品となることが抑制できたり、各種ロボット等を基準位置まで戻すことができる。なお、上記した緊急退避処理を実行するプログラムは、例えばユーザプログラムとしてＣＰＵユニット１１に実装しておき、緊急時に当該プログラムを実行することにより、動作させることができる。
【００３６】
なお、上記した例では、通常の制御を行うユーザプログラムの一部に組み込み、ステータスビットのＯＮ／ＯＦＦの状態により断線を判断するようにしたが、本発明はこれに限ることはなく、ＭＰＵ１１ｂに別途アプリケーションプログラムを組み込み、より高機能な判断をすることもできる。
【００３７】
また、ツールなどを使用してマスタユニット１２に通信速度切替条件（例えば、「スレーブが２台以上異常の場合」など）を書き込んでおき、マスタユニット１２側で断線を判断し、自動的に通信速度の切り替えを行うようにすることもできる。つまり、マスタユニット１２は、各スレーブ２０と通信をしているので、立ち上げ時に存在していたスレーブから一定期間応答がない場合には異常と判断する機能を有している。従って、例えばＭＰＵ１２ｄに、異常になったスレーブの有無を監視し、係る異常になったスレーブが複数存在した場合に断線を生じたと判断し、十分に遅い通信速度に切り替えるようなプログラムを組み込むことにより、マスタユニット１２側の判断で自動的に通信速度を切り替えることができる。なお、いずれのユニットが判断する場合でも、断線の判断のアルゴリズムは上記したものに限られないのはもちろんである。
【００３８】
【発明の効果】
以上のように、この発明では、フィールドバスが断線した場合でも、自動的に通信速度を低速に下げることにより、断線箇所までは通信可能にすることができる。
【図面の簡単な説明】
【図１】従来例を示す図である。
【図２】本発明に係るフィールドバスシステムの好適な一実施の形態を示す図である。
【図３】マスタユニットの内部構造を示すブロック図である。
【図４】スレーブの内部構造を示すブロック図である。
【符号の説明】
１０  ＰＬＣ
１１  ＣＰＵユニット
１１ａ  システムメモリ
１１ｂ  ＭＰＵ
１１ｃ  ワークメモリ（ＷＲＡＭ）
１１ｄ  ユーザメモリ（ＲＡＭ）
１１ｅ  バックアップメモリ（ＢＲＯＭ）
１１ｆ  ＩＯメモリ
１１ｇ  ＡＳＩＣ
１１ｆ  Ｉ／Ｏバス
１２  マスタユニット
１２ａ  通信インタフェース
１２ｂ  マスタ用ＡＳＩＣ
１２ｃ  ＲＡＭ
１２ｄ  ＭＰＵ
１２ｅ  ＥＥＰＲＯＭ
１２ｆ  ＬＥＤ表示部
１２ｇ  設定スイッチ
１２ｈ  インタフェース
２０  スレーブ
３０  フィールドバス
３１  終端抵抗
【図１】
2004221904.tif 000003
【図２】
2004221904.tif 000004
【図３】
2004221904.tif 000005
【図４】
2004221904.tif 000006