(57)【特許請求の範囲】
【請求項１】
マスタ装置からスレーブ装置へのコマンドの伝送を通信で行う制御システムのスレーブ装置において、通信フレームの受信時に発生する通信タイミング信号でクリアされるタイマと、比較値を設定する比較値設定手段と、タイマ値と比較値を比較して両者の値が一致した時に一致信号を出力する比較器と、通信タイミング信号もしくは一致信号が入力されればスレーブ制御起動信号を出力する起動信号生成手段とを備え、前記比較値設定手段は、通信タイミング信号が入力された時にはその通信タイミング信号の周期である通信周期にタイミングマージンを加えた時間に相当するタイマ値を比較値として設定し、また、一致信号が入力された時には通信周期に相当するタイマ値を現在の比較値に加算した値を新たな比較値として設定し、さらに、前記タイミングマージンは通信周期の最大変動幅よりも大なる値としたことを特徴とするスレーブ装置。
【請求項２】
比較値が予め設定された上限値以上になった場合に、タイムアウト異常処理を実行することを特徴とする請求項１記載のスレーブ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マスタ装置からスレーブ装置へのコマンドの伝送をサイクリック通信で行う制御システムにおいて、通信サイクルに同期した制御を行うスレーブ装置に関する。
【背景技術】
【０００２】
近年、高機能化や省配線化などを目的として、制御システムの各装置間の情報伝送に通信を用いることが広く行われるようになってきている。図６はこれを表したブロック図で、マスタ装置Ｍとスレーブ装置Ｓ間が通信線Ｌで結ばれており、マスタ装置Ｍから送信されたコマンドが通信線Ｌを介してスレーブ装置Ｓに伝わりスレーブ装置Ｓを制御する構成になっている。なお、通常は１台のマスタ装置Ｍに複数台のスレーブ装置Ｓが接続されるのが普通であるが、説明を容易にするため、本図ではスレーブ装置Ｓが１台の例を模式的に示している。
【０００３】
一般に通信ではノイズ等により通信異常が発生し得るが、この時、単にデータが化ける場合だけではなく、状況によってはその周期のデータが抜けて消失することもある。用途によってはこの通信データ抜けは問題にならない場合もあるが、リアルタイム制御を目的としてサイクリック通信を行う場合には問題となることが多い。
【０００４】
例えば、サーボ制御のようなモーションコントロールを行う場合では、通信データ抜けが発生した周期のスレーブ装置の制御演算を停止すると動作が不安定になってしまう。したがって、通信データ抜けが生じた周期においても制御演算を継続して実行できるようにすることが重要となる。単純に受信した時に制御演算を実行したのでは、通信データ抜けが生じた周期の制御演算が欠落してしまうので、この解決策として、例えば、特許文献１に示すような制御が行われてきた。
【０００５】
図７はこの制御構成を示すブロック図であり、スレーブ装置Ｓの内部に構成されるものである。図７において、タイマ１はタイマ周期指令２に基づいた周期で動作する。そして起動信号生成手段３はこのタイマ１の出力値を用いてタイマ１の周期に同期したパルス信号を生成し、スレーブ制御起動信号４として出力する。
【０００６】
このスレーブ制御起動信号４によって制御演算を周期的に起動し、この演算処理の中でマスタ装置Ｍからの動作指令データが制御に反映される。また、通信タイミング信号５は通信サイクルに同期したタイミング基準となるパルス信号で、例えば通信フレームの受信完了信号などがこれに用いられる。
【０００７】
この通信タイミング信号５とスレーブ制御起動信号４が遅延時間検出手段６に入力され、通信タイミング信号５に対するスレーブ制御起動信号４の遅延時間７を測定して出力する。そして、基準遅延時間８と遅延時間７の差に制御ゲイン９を乗じた結果に基準タイマ周期１０を加算したものがタイマ周期指令２となるように構成されている。なお、基準タイマ周期１０には通信周期に相当する値が予め設定されている。
【０００８】
この構成において、通信タイミング信号５を基準にしたスレーブ起動信号４の遅延時間７が基準遅延時間８よりも短い場合には、制御ゲイン９の出力値が正となるのでタイマ１は基準タイマ周期１０、すなわち通信周期よりも長い周期で動作する。これによりスレーブ制御起動信号４の周期も通信周期より長くなって、遅延時間７が基準遅延時間８に近づくように作用する。
【０００９】
この結果、やがて遅延時間７が基準遅延時間８と一致すると制御ゲイン９の出力値がゼロになるので、タイマ１は基準タイマ周期１０、すなわち通信周期で動作するようになり、ここで安定化する。逆に、遅延時間７が基準遅延時間８よりも長い場合には、制御ゲイン９の出力値が負となるのでタイマ１は通信周期よりも短い周期で動作する。これによりスレーブ制御起動信号４の周期も通信周期よりも短くなって遅延時間７が基準遅延時間８に近づくように作用し、やがて遅延時間７が基準遅延時間８と一致する。
【００１０】
このように、閉ループ制御の働きにより、常に遅延時間７が基準遅延時間８と一致するように動作し、この結果、スレーブ制御起動信号４は通信タイミング信号５に同期する。特に、基準遅延時間８をゼロに設定した場合には、遅延時間７もゼロになるように制御されるので通信タイミング信号５とスレーブ制御起動信号４のタイミングは一致する。
【００１１】
ここで、通信データ抜けが生じた場合は、その周期の通信タイミング信号５も欠落するが、この通信タイミング信号５ではなくタイマ１を基準にしてスレーブ制御起動信号４は生成されるので、この場合でも制御演算を継続して実行することができる。この停止することなく連続して実行される制御演算の中で、通信データ抜けが発生した場合には閉ループ制御処理を停止してタイマ周期指令２を保持する操作を行えば、タイマ１の動作が不安定になることもない。
【特許文献１】特開２００３−１８９６５４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかし、このような従来のスレーブ装置には、閉ループ制御を行っているが故に制御ゲイン９の適切な調整が不可欠であり、このゲイン調整を行う作業が面倒であるという課題がある。
【００１３】
ゲイン調整の際に閉ループ制御の安定性を判断するには、ステップ応答のような時間軸の収束波形を観測するのが一般的であるが、スレーブ装置の制御はソフトウェアで構成されることが多いので、各部の信号波形を観測するには工夫が必要となる。
【００１４】
例えば、Ｄ／Ａコンバータを実装してオシロスコープで観測したり、あるいは、各部のデータを時系列にメモリに保存しておき、後で読み出してパーソナルコンピュータ上に表示させるなどの方法を行うが、いずれの方法も面倒である。
【００１５】
本発明はこのような従来の課題を解決するものであり、閉ループ制御を用いずに、通信データ抜けが生じた場合でも制御演算を継続して実行できるスレーブ装置の提供を目的とする。
【課題を解決するための手段】
【００１６】
上記課題を解決するために本発明は、マスタ装置からスレーブ装置へのコマンドの伝送を通信で行う制御システムのスレーブ装置において、通信フレームの受信時に発生する通信タイミング信号でクリアされるタイマと、比較値を設定する比較値設定手段と、タイマ値と比較値を比較して両者の値が一致した時に一致信号を出力する比較器と、通信タイミング信号もしくは一致信号が入力されればスレーブ制御起動信号を出力する起動信号生成手段とを備え、前記比較値設定手段は、通信タイミング信号が入力された時にはその通信タイミング信号の周期である通信周期にタイミングマージンを加えた時間に相当するタイマ値を比較値として設定し、また、一致信号が入力された時には通信周期に相当するタイマ値を現在の比較値に加算した値を新たな比較値として設定し、さらに、前記タイミングマージンは通信周期の最大変動幅よりも大なる値として構成している。
【発明の効果】
【００１７】
本発明のスレーブ装置によれば、従来例のような閉ループ制御の構成ではないので面倒な制御ゲインの調整は不要である。また、基本的には通信タイミング信号でスレーブ装置の制御演算を起動する構成であるが、通信タイミング信号が得られない場合は一致信号によりスレーブ装置の制御演算を起動するため、通信データ抜けが生じた場合においてもスレーブ装置の制御を継続できる。
【００１８】
また、比較値が予め設定された上限値以上になった場合に、タイムアウト異常処理を実行する構成としたことにより、通信機器で不可欠なタイムアウトの検出処理を別途独立して設ける必要がなく、スレーブ装置の構成を簡単にすることができる。
【発明を実施するための最良の形態】
【００１９】
本発明は、マスタ装置からスレーブ装置へのコマンドの伝送を通信で行う制御システムのスレーブ装置において、通信フレームの受信時に発生する通信タイミング信号でクリアされるタイマと、比較値を設定する比較値設定手段と、タイマ値と比較値を比較して両者の値が一致した時に一致信号を出力する比較器と、通信タイミング信号もしくは一致信号が入力されればスレーブ制御起動信号を出力する起動信号生成手段とを備え、前記比較値設定手段は、通信タイミング信号が入力された時にはその通信タイミング信号の周期である通信周期にタイミングマージンを加えた時間に相当するタイマ値を比較値として設定し、また、一致信号が入力された時には通信周期に相当するタイマ値を現在の比較値に加算した値を新たな比較値として設定し、さらに、前記タイミングマージンは通信周期の最大変動幅よりも大なる値とする構成としている。
【００２０】
また、比較値が予め設定された上限値以上になった場合に、タイムアウト異常処理を実行する構成としている。
【実施例１】
【００２１】
以下、本発明の実施例について図面を用いて説明する。
【００２２】
図１は実施例１の制御構成を示すブロック図である。通信タイミング信号５はタイマ１１をクリアするように接続されており、さらにこのタイミングで比較値１２ａを設定するために比較値設定手段１２にも接続されている。
【００２３】
なお、通信タイミング信号５は図７に示す従来例の説明に使用したものと同じなので、同一符号を付与している。
【００２４】
タイマ値１１ａと比較値１２ａは比較器１３で比較がなされ、両者の値が一致した時に一致信号１４が出力される。この一致信号１４と通信タイミング信号５は起動信号生成手段１５に入力され、両信号の論理和をとってスレーブ制御起動信号１６として出力される。そして、この信号でスレーブ装置の制御演算を起動するように構成されている。
【００２５】
また、一致信号１４は比較値設定手段１２にも入力されており、したがって、比較値設定手段１２は通信タイミング信号５の入力時と一致信号１４の入力時という２種類のタイミングで比較値１２ａを設定する。
【００２６】
図２は比較値設定手段１２の動作を示すフローチャートである。入力信号が通信タイミング信号５の場合には比較値１２ａをＣ１に設定し、また、入力信号が一致信号１４の場合には、現在の比較値１２ａにＫＴｃを加えたものを新たな比較値１２ａとして設定する。
【００２７】
ここで、Ｃ１とＫＴｃは下記の数式に基づいており、式１において、Ｔｃは通信周期、Ｔｍはタイミングマージン、Ｋは時間をタイマ値に変換するための係数である。よって、Ｃ１は通信周期ＴｃにタイミングマージンＴｍを加えた時間に相当するタイマ値を、また、ＫＴｃは通信周期Ｔｃに相当するタイマ値をそれぞれ表している。
【００２８】
したがって、現在の比較値１２ａにＫＴｃを加えたものを新たな比較値１２ａとして設定する操作は、現在の比較値１２ａがＣ１であればＣ２に、Ｃ２であればＣ３にというように順に増大させていくことに等しい。式１には例としてＣ４までしか記していないが、それ以上に増大させる場合も同様の演算が行われる。
【００２９】
【数１】
0004645476.tif 000002
図３は全体の動作を示すタイムチャートである。タイミングｔ１からｔ３までは正常に通信フレーム１７を受信しているので通信タイミング信号５が出力されており、この信号でスレーブ装置の制御演算が起動する。同時に、この信号によりタイマ値１１ａがクリアされるので、このｔ１からｔ３の期間においてはタイマ値１１ａが比較値１２ａ以上になることはない。次に、ｔ４のタイミングでは、通信フレーム１７が抜けたので通信タイミング信号５は出力されない。
【００３０】
このためタイマ値１１ａはクリアされることなく増加して、タイミングマージンＴｍを経過した時点で比較値１２ａと一致し、一致信号１４が出力される。この信号でスレーブ装置の制御演算が起動するので、通信データ抜けが発生しても制御を継続することができる。
【００３１】
また、この時に比較値１２ａがＣ１からＣ２に変化（ａ部）して、次回の比較に備える。そして、次のタイミングｔ５では通信フレームを再び正常に受信したので、通信タイミング信号５が出力される。
【００３２】
これにより、比較値１２ａはＣ２からＣ１に変化（ｂ部）して初期状態に戻る。なお、特に図示していないが、電源投入時にはタイマ１１は停止状態にあり、その後に最初の通信フレーム１７を受信した時点、すなわち、最初の通信タイミング信号５の出力時点からタイマ１１が動作を開始するように構成している。
【００３３】
こうすることで、電源投入後の通信フレーム１７が受信されない期間に、意図せぬ一致信号１４が出力されないようにしている。
【００３４】
通信フレーム１７を受信する周期は常に一定というわけではなく、現実には僅かながら変動が生じるので、これによる問題が生じないようにタイミングマージンＴｍを設定する必要がある。
【００３５】
なお、ここで言う変動とは通信周期Ｔｃ自体の誤差のことではなく、動作中の揺らぎ、すなわちジッタを意味し、これは特に、通信経路に中継装置を配置したような場合に大きくなるものである。
【００３６】
図４は通信タイミング信号５の周期の変動を示しており、上側が通信周期が基準値Ｔｃである場合、また、下側は最大値Ｔｃｍａｘになった場合である。
【００３７】
タイミングマージンＴｍは、ＴｃｍａｘからＴｃを減算した結果である最大変動幅Ｔｄｍａｘよりも大きくなるように設定する。これにより、変動のために通信フレーム１７の受信が遅れた場合に、間違って一致信号１４が出力されてしまう不具合を回避できる。
【００３８】
なお、一致信号１４でスレーブ装置の制御演算を起動する場合には、通信タイミング信号５で起動する場合に比べてタイミングマージンＴｍの時間だけ制御演算の起動が遅れることになるが、一般にタイミングマージンＴｍは通信周期Ｔｃに対して十分に短い時間となるので、この遅れは制御にほとんど影響を与えない。
【００３９】
以上のように、実施例１の構成によれば、通信フレーム１７を正常に受信した場合には通信タイミング信号５が出力され、また、通信データ抜けが生じた場合には一致信号１４が出力されることにより、これらの信号を用いてスレーブ装置の制御演算を途切れることなく継続して起動することができる。
【００４０】
また、構成要素には従来例で存在した制御ゲインが無いので、面倒なゲイン調整は不要である。加えて、本構成要素のタイマ１１や比較器１３は一般的な制御用ＣＰＵに内蔵されていることが多いため、特別なハードウェアを必要としない。
【００４１】
通信タイミング信号５や一致信号１４でスレーブ装置の制御演算を起動するのには、個別に割り込みを行いそれぞれの割り込み処理の中で制御演算を実行すればよく、そうすれば、起動信号生成手段１５にも特別なハードウェアを必要としない。
【００４２】
さらに、比較器設定手段１２はソフトウェアで構成可能であるので、結局、必要な部品はＣＰＵのみとなり、低コストで実現可能である。
【００４３】
なお、説明を簡単にするために、通信タイミング信号５と同じタイミングでスレーブ装置の制御演算を起動する構成としたが、通信タイミング信号５もしくは出力であるスレーブ制御起動信号１６の後段に遅延手段を介在させても構わない。こうすれば、従来例と同様に通信タイミング信号５の出力からスレーブ制御起動までの間に任意の遅延時間を設けることができ、応用の自由度が高まる。
【００４４】
また、一致信号１４による制御演算の起動を割り込みで行う場合には、電源投入後の最初の通信タイミング信号５の出力時点で割り込みを許可する方法をとれば、電源投入後すぐにタイマ１１を動作させても問題はない。この方法は、タイマ１１の起動、停止が自由にはできない場合に有効となる。
【００４５】
さらに、比較器１３が、一致ではなくタイマ値１１ａが比較値１２ａ以上となったこと、あるいは超えたことを検出し、この変化タイミングを一致信号１４の代わりとして使用してもよいことは言うまでもない。
【実施例２】
【００４６】
通信を用いた制御システムでは、断線等が生じた場合にこれを確実に検出してスレーブ装置を安全に停止させなければならないが、これにはタイムアウトの検出で行うのが一般的である。このタイムアウトの検出機能を付加したのが実施例２である。
【００４７】
図５は実施例２における比較値設定手段１２の動作を示すフローチャートである。図５において、点線で囲んだ部分が実施例１の説明に用いた図２から追加された部分である。入力信号が一致信号１４であった場合に、現在の比較値１２ａが予め設定された上限値以上であるかどうかを判断し、上限値以上であった場合にはタイマ１１を停止してタイムアウト異常処理を実行する。そうではない場合には実施例１に示した処理を行う構成になっている。
【００４８】
実施例１の説明に用いた図３において、ｔ７以降のタイミングに本実施例の動作を示している。なお、ここでは、比較値１２ａの上限値が予めＣ４に設定されている。タイミングｔ７以降では通信フレーム１７の受信がないので、すでに説明した通りに一致信号１４が通信タイミング信号５を補うように出力され、また、比較値１２ａがＣ１からＣ２（ｃ部）、Ｃ２からＣ３（ｄ部）、Ｃ３からＣ４（ｅ部）と順に増加する。
【００４９】
そしてタイミングｔ１０においても通信フレーム１７が受信されないため、それまでと同様に一致信号１４が出力されるが、比較値１２ａが上限値であるＣ４になっているためこれ以上には比較値を増加せず、タイマ１１を停止（ｆ部）させてタイムアウト異常処理を実行する。本図ではタイムアウト異常処理の一部として、タイムアウト検出信号１８をＬからＨに変化させている例を示している。
【００５０】
以上の動作により、タイムアウト検出時間は、事前に設定された上限値Ｃ４に相当する時間となる。
【００５１】
本構成によれば、単にタイムアウトの検出機能を実現するだけではなく、一致信号１４の出力タイミングを生成するタイマ１１をタイムアウトの検出用としても利用しているので、タイムアウトの検出専用に独立したタイマを設けなくて済むという利点がある。
【００５２】
また、実施例１に対して付加した部分、すなわち、図５の点線で囲んだ部分はソフトウェアで構成できるので、実施例１と同じコストで実現できる。
【００５３】
なお、一致信号１４による制御演算の起動を割り込みで行う場合には、タイムアウト検出時にタイマ１１を停止する処理に代えて、割り込みを禁止する処理としても構わない。
【図面の簡単な説明】
【００５４】
【図１】本発明の実施例１における制御ブロック図
【図２】本発明の実施例１における比較値設定手段１２のフローチャート
【図３】本発明の実施例１および実施例２における動作を示すタイムチャート
【図４】本発明の実施例１におけるタイミングマージンＴｍの説明図
【図５】本発明の実施例２における比較値設定手段１２のフローチャート
【図６】通信を用いた制御システムの模式図
【図７】従来例における制御ブロック図
【符号の説明】
【００５５】
５  通信タイミング信号
１１  タイマ
１２  比較値設定手段
１３  比較器
１４  一致信号
１５  起動信号生成手段
１６  スレーブ制御起動信号                                                                         
【図１】
0004645476.tif 000003
【図２】
0004645476.tif 000004
【図３】
0004645476.tif 000005
【図４】
0004645476.tif 000006
【図５】
0004645476.tif 000007
【図６】
0004645476.tif 000008
【図７】
0004645476.tif 000009