(57)【特許請求の範囲】
【請求項１】
複数の異なる制御周期をもつ複数の制御装置からなる下位システムと、これらの下位システムを統括する上位の制御システムと、からなる制御システムにおいて、
前記下位システムの各制御装置がそれぞれの制御周期の最小公倍数を１周期とするサブシステム長周期で互いに同期することを特徴とする制御システム。
【請求項２】
互いに異なる制御周期で動作する制御装置と、制御周期の終わりにタイマーキャリー信号を生成するタイマーと、前記タイマーキャリー信号を計数し、各制御装置の制御周期の最小公倍数を１周期とするサブシステム長周期を作り出すサブシステム長周期生成手段と、をそれぞれ備える下位システムと、
前記下位システムのタイマーから返されたタイマーキャリー信号を監視しながら制御周期毎に操作量指令値を各下位制御システムの制御装置に供給する上位システムと、  
からなることを特徴とする制御システム。
【請求項３】
前記システム長周期生成手段は、
各下位システムの制御装置の制御周期の最小公倍数を各制御周期で除した値がフルカウント値として設定され、タイマーキャリー信号のカウント値がフルカウント値に達したときにカウンタキャリー信号を出力する上位カウンタと、
タイマーキャリー信号と、カウンタキャリー信号が導入され、両信号の論理積をとって前記サブシステム長周期キャリー信号を生成する論理積回路と、
を具備ことを特徴とする請求項２に記載の制御システム。
【請求項４】
各下位システムから前記サブシステム長周期キャリー信号が導入され、サブシステム長周期キャリー信号に基づいて各下位システムのタイマー及び上位カウンタの動作を修正する同期制御部をさらに備えることを特徴とする請求項３に記載の制御システム。
【請求項５】
前記同期制御部は、システムの起動時に上位システムから初期化リセット信号が供給され、それぞれ下位システムの上位カウンタのカウンタ値およびタイマーに一括リセットをかけるシステムリセット信号を下位システムに与えることを特徴とする請求項３に記載の制御システム。
【請求項６】
前記同期制御部は、下位システム間での前記サブシステム長周期キャリー信号の発生時刻のずれあるいはゆらぎを検出し、検出した場合には上位カウンタおよびタイマーを再初期化するシステム再リセット信号を出力することを特徴とする請求項３に記載の制御システム。
【請求項７】
上位システムが、前記サブシステム長周期の整数倍の制御周期を有するシステムでは、この上位システムの制御周期１回分の操作量を各下位システムの制御周期毎に均等に配分した操作量にして位システムに分配する操作量分配手段を備えることを特徴とする請求項２に記載の制御システム。
【請求項８】
前記上位システムと下位システムが独立した制御周期で動作するシステムでは、前記上位システムの制御周期と前記サブシステム長周期の最小公倍数の周期で、上位システムと下位システムの同期をとることを特徴とする請求項１または２に記載の制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御システムに係り、特に、異なる制御周期で動作する複数の下位システムと、これら全体を統括して制御する上位システムとからなるシステムにおいて、システム全体の協調動作による制御性能向上を図った制御システムに関する。
【背景技術】
【０００２】
複数の制御装置をもつ制御システムでは、上位システムで各制御装置を統合的に制御することにより、全体として統一された動作をする制御システムが構築される。例えば、工作機械やロボットの制御システムでは、各軸の位置制御を行う制御部からなる下位のサブシステムと、これらのサブシステムを統括制御する上位システムとから構成される。この場合、上位システムは、下位のサブシステムに対して、制御対象の指令値をサブシステムに対する操作量として与える。これに対して、下位のサブシステムは、制御対象の量を検出する検出器から送られた検出信号と、上位システムから与えられた指令値とを比較し、その偏差に基づいて、制御対象を指令値に一致させるための操作量を決定し、その操作量をドライバに出力する。
【０００３】
このような制御システムでは、下位のサブシステムを構成する制御装置がそれぞれ異なる制御周期をもつ場合がある。従来は、サブシステムの制御装置間の同期はとらずに、それぞれ独立した周期で動作するのが一般的である。
【０００４】
各制御装置間の同期がどうしても必要なシステムの場合には、基準となる制御装置を決めて、その制御装置の周期と等しいか、または整数倍の周期で他の制御装置の制御周期を定めている（特許文献１）
【特許文献１】特開２００５−２２９１４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
非同期のシステムでは、上位システムから各サブシステムに与えられる操作量の分配は、図４に示すようになる。 
図４において、横軸に時間、縦軸には操作量を取り、図中、上向きの矢印で上位システムの周期で算出した操作量を示す。この非同期の制御システムでは、上位システムの下位には、制御装置１と制御装置２のサブシステムがあり、それぞれ異なる制御周期で動作するものとする。図４で、上位システムから制御装置１に与えられる操作量を時間的に均等に分配すると、その操作量は曲線Ａのように表される。同様に制御装置２に与えられる操作量を時間的に均等に分配すると、曲線Ｂのように表される。
【０００６】
上位システムと、下位のサブシステムである制御装置１、２が非同期であることから、操作量の分配を表す曲線Ａ、曲線Ｂには、完全な直線にはならず凹凸が不可避的に発生する。これは、上位システムが操作量を算出してから、各制御装置１、２に与えられるまでの時間にばらつきがあるためである。そして、制御装置１と制御装置２とで操作量を比較すると、制御装置２に与えられる操作量の分配曲線Ｂの方が凹凸が大きくなっている。これは、制御装置１に較べて制御装置２の制御周期が長いことに起因している。
【０００７】
以上のような操作量分配のばらつきは、サブシステム間の周期を整数倍にして同期をとったシステムでも避けられない。この場合でも、上位システムの制御周期に対してサブシステムの制御周期の相対的な時間関係が全く予想がつかない点では同じであるからである。このため、各制御装置１、２に対する操作量を適切に分配することができず、独立した制御装置単体の場合よりも制御性能が低下していまうという問題がある。
【０００８】
そこで、本発明の目的は、前記従来技術の有する問題点を解消し、各サブシステム間の時間的位相関係を上位システムが把握できるようにして、制御性能が低下することなく、全体のシステムが協調動作するようにした制御システムを提供することにある。
【課題を解決するための手段】
【０００９】
前記の目的を達成するために、本発明は、複数の異なる制御周期をもつ複数の制御装置からなる下位システムと、これらの下位システムを統括する上位の制御システムと、からなる制御システムにおいて、前記下位システムの各制御装置がそれぞれの制御周期の最小公倍数を１周期とするサブシステム長周期で互いに同期することを特徴とすることを特徴とするものである。
【００１０】
また、本発明は、互いに異なる制御周期で動作する制御装置と、制御周期の終わりにタイマーキャリー信号を生成するタイマーと、前記タイマーキャリー信号を計数し、各制御装置の制御周期の最小公倍数を１周期とするサブシステム長周期を作り出すサブシステム長周期生成手段と、をそれぞれ備える下位システムと、前記下位システムのタイマーから返されたタイマーキャリー信号を監視しながら制御周期毎に操作量指令値を各下位制御システムの制御装置に供給する上位システムと、からなることを特徴とするものである。
【発明の効果】
【００１１】
本発明によれば、各サブシステム間のその制御周期の最小公倍数の時間で同期させることにより、時間的位相関係を上位システムが把握することが可能となり、各制御装置に対して緻密な制御操作量の指令を与えることができ、結果として、制御性能が低下することなく、全体のシステムが良好に協調動作するようになる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の一実施形態による制御システムについて、添付の図面を参照しながら説明する。  
図１は、本実施形態による異なる制御周期で動作する複数の下位システムを有する制御システムの構成をブロック図である。この図１において、参照番号１０は、制御システム全体を統括制御する上位システムを示す。この上位システム１０の下位システムとしては、サブシステム１１、１２がある。この実施形態では、下位システム２つの比較的単純なシステムを例に挙げて説明する。具体的には、例えば、工作機械の制御システムを例にすれば、上位システム１０にはＮＣ装置、サブシステム１１、１２には、２軸の位置制御システムが相当する。
【００１３】
サブシステム１１は、第１制御装置１３、第１タイマー１４、第１上位カウンタ１５を含む。同様にサブシステム１２も第２制御装置１６、第２タイマー１７、第２上位カウンタ１８を含んでいる。
【００１４】
第１制御装置１３と第２制御装置１６は、互いに異なる制御周期で動作する。例えば、第１制御装置１３の制御周期をｊ（秒）、第２制御装置１６の制御周期をｋ（秒）とすると、第１制御装置１３と第２制御装置１６は、それぞれ制御周期ｊ、ｋ毎に上位システム１０から操作量指令値を受け取り、その指令値に基づいて操作量の偏差を修正し、制御対象の制御を実行する。
【００１５】
サブシステム１１、１２が備える第１タイマー１４、第２タイマー１７は、それぞれ第１制御装置１３、第２制御装置１６の制御周期を作り出しあるいは制御装置内の制御周期タイマーと同期して時間を計測するタイマーである。第１タイマー１４、第２タイマー１７は、それぞれ第１制御装置１３の制御周期ｊ（秒）、第２制御装置１６の制御周期ｋ（秒）を計測すると、タイマーキャリー信号を発生する。これらのタイマーキャリー信号は、上位システム１０およびそれぞれ第１制御装置１３、第２制御装置１６に出力される。上位システム１０は、タイマーキャリー信号を監視し、タイマーキャリー信号が送られると、第１制御装置１３、第２制御装置１６に操作量指令値を供給する。これにより、第１制御装置１３は制御周期ｊ（秒）、第２制御装置１６は制御周期ｋ（秒）毎に制御動作を行う。
【００１６】
また、タイマーキャリー信号は、それぞれ第１タイマー１４、第２タイマー１７から第１上位カウンタ１５、第２上位カウンタ１８に出力される。第１上位カウンタ１５、第２上位カウンタ１８は、それぞれタイマーキャリー信号を計数し、カウントした値を上位システム１０に出力するともに、上限として設定されたフルカウント値に等しくなったときにカウンタキャリー信号を出力する。本実施形態では、第１制御装置１３、第２制御装置１６のそれぞれ制御周期ｊ、ｋの最小公倍数ｘを１周期とするサブシステム長周期を作り出すために、第１上位カウンタ１５、第２上位カウンタ１８のフルカウント値として、それぞれｘ／ｊ、ｘ／ｋが設定されている。このフルカウント値は、上位システム１０が長周期ｘを算出して自動的に設定するようになっている。なお、長周期ｘは、システムを構築するときに予め設定してもよい。
【００１７】
ＡＮＤ回路１９、２０は、それぞれタイマーキャリー信号とカウンターキャリー信号を入力として、これらの論理積を取ってサブシステム長周期キャリー信号を同期制御部２２に出力する。同期制御部２２は、システム長周期キャリー信号に基づいて、各サブシステム１１、１２の第１タイマー１４、第２タイマー１７及び第１上位カウンタ１５、第２上位カウンタ１８にリセットをかけ、その動作を修正することができるようになっている。
【００１８】
図２は、本実施形態による制御システムのサブシステム１１、１２におけるタイマーキャリー信号とカウンタキャリー信号の発生タイミングを示す図である。そこで、図１、図２を参照しながら制御システム全体の動作について説明する。
【００１９】
サブシステム１１の第１上位カウンタ１５には、上位システム１０からフルカウント値として、第１制御装置１３、第２制御装置１６のそれぞれ制御周期ｊ、ｋの最小公倍数ｘを制御周期ｊで除したｘ／ｊが与えられて、サブシステム１２の第２上位カウンタ１８にはフルカウント値として、最小公倍数ｘを制御周期ｋで除したｘ／ｋが与えられる。またサブシステム１１の第１タイマー１４は制御周期ｊ（秒）を計測すると、タイマーキャリー信号を出力するように設定され、サブシステム１２の第２タイマー１７は制御周期ｋ（秒）を計測すると、タイマーキャリー信号を出力するように設定されている。
【００２０】
まず、システム起動時に、上位システム１０は同期制御部２２に初期化リセット信号を与えると、同期制御部２２は、システム１１、１２についてタイマー１４、１７と上位カウンタ１５、１８のタイマー値およびカウンタ値を一括してリセットするシステムリセット信号を下位システム１１、１２に与える。そして、一括リセットが解除されると、タイマー１４、１７、上位カウンタ１５、１８は動作を開始する。そこで、第１制御装置１３の制御周期ｊと第２制御装置１６の制御周期ｋの最小公倍数をｘとして、ｘ／ｊ、ｘ／ｋがそれぞれ３、７の場合を具体例として説明する。
【００２１】
図２において、サブシステム１１では、第１タイマー１４のカウント値は周期ｊ（秒）単位で図示するように連続的に変化し、周期ｊ毎にタイマーキャリー信号を発生する。そして、上位カウンタ１５のフルカウント値ｘ／ｊ（＝７）であるから、タイマーキャリー信号を７回カウントしたところで、カウンタキャリー信号を発生する。
【００２２】
同様に、サブシステム１２では第２タイマー１７はカウント値は周期ｋ（秒）単位で図示するように連続的に変化し、周期ｋ毎にタイマーキャリー信号を発生する。そして、第１上位カウンタ１８のフルカウント値ｘ／ｋ（＝３）であるので、３回カウントしたところで、カウンタキャリー信号が発生する。
【００２３】
この間、上位システム１０は、サブシステム１１、１２の第１タイマー１４、第２タイマー１７から返されたタイマーキャリー信号を監視しながら各周期ｊ、ｋ毎に操作量指令値をそれぞれ第１制御装置１３、第２制御装置１６に供給する。この実施形態では、できるだけ滑らかな制御を行うために、上位システムは、各制御装置１３、１６の制御周期ｊ、ｋ毎に操作量指令を均等に配分して分配する操作を行っている。これについては、さらに後述する。  
以上のように第１制御装置１３の制御周期ｊと、第２制御装置１６の制御周期ｋの最小公倍数ｘを使って、第１上位カウンタ１５、第２上位カウンタ１８のフルカウント値ｘ／ｊ、ｘ／ｋを設定する仕組みによって、下位のサブシステム１１、１２は、最小公倍数ｘを一周期（この周期ｘをサブシステム長周期という）として同期して動作する単一のシステムとなる。
【００２４】
カウンタキャリー信号は、それぞれＡＮＤ回路１９、２０に入力され、これらのＡＮＤ回路１９、２０では、カウンタキャリー信号とタイマーキャリー信号の論理積が成立したときにサブシステム長周期キャリー信号が同期制御部２２に出力される。このとき、同期制御部２２は、システムリセット信号により、第１タイマー１４、第２タイマー１７のタイマー値および第１上位カウンタ１５、第２上位カウンタ１８のカウンタ値の初期化を実行してもよい。
【００２５】
以上のようなシステムでは、第１タイマー１４、第２タイマー１７の時間計測の基準が同一の時計であれば、カウンタキャリー信号の発生時刻にズレは生じなく、下位のサブシステム１１、１２は同期動作する単一のシステムであることが保障される。
【００２６】
これに対して、第１タイマー１４若しくは第１制御装置１３、第２タイマー１７若しくは第２制御装置１６の時間計測を異なる時計を基準としていた場合には、カウンターキャリー信号の発生時刻に若干のズレあるいはゆらぎが生じる場合がある。
【００２７】
そこで、そのようなシステムにも対応できるように、同期制御部２２には、各下位のサブシステム１１、１２からサブシステム長周期キャリー信号が導入され、サブシステム長周期キャリー信号に基づいて各サブシステム１１、１２のタイマ１４、１７及び上位カウンタ１５、１８の動作を修正することができる。
【００２８】
すなわち、同期制御部２２は、下位のサブシステム１１、１２から出力されてくるサブシステム長周期キャリー信号の発生時刻のずれあるいはゆらぎを検出すると、第１上位カウンタ１５、第２上位カウンタ１８および第１タイマー１７、第２タイマー１７にシステムリセット信号を出力し、各カウンタ値を一括して再初期化する機能を有している。これによって、時間計測の基準が違っているシステム下位システム１１、１２であっても、単一システムとしての同期動作を確保することができる。
【００２９】
次に、各制御装置１３、１６の制御周期ｊ、ｋ毎に操作量指令を均等に配分して分配する上位システム１０の操作について説明する。  
この実施形態では、説明を簡単にするために、上位システム１０は、サブシステム長周期ｘの整数倍ａｘ（ａは整数）を制御周期にするものとする。
【００３０】
上述したように、下位の各サブシステム１１、１２は、サブシステム長周期ｘの一周期の範囲で複数回制御周期が発生し、長周期ｘの終期で同期する。そして、上位システム１０の制御周期は整数倍のａｘ（秒）であるから、各制御装置１３、１５では、上位システム１０の一周期の間に制御周期が多数発生することになる。  
上位システム１０が、各制御装置１３、１５に操作量指令をａｘ（秒）ごとに与えると、急激に操作量が変化することになるので好ましくない。
【００３１】
そこで、上位システム１０は、制御周期ａｘの１回分の操作量を、下位の各サブシステム１１、１２の制御周期ｊ、ｋ毎に均等に配分した操作量にして分配する。  
いま、上位システム１０が第１制御装置１３に与える操作量指令値をｐnと算出し、第２制御装置１６に与える操作量指令値をｑmと算出したとする。  
また上位システム１０が一回前の制御周期で算出した操作量指令値をそれぞれｐn-1、ｑm-1であるとする。
【００３２】
このとき、第１制御装置１３にその制御周期ｊ毎に与える操作量ｒvは、（ただし、ｖ＝０、１、２、…、ｘ／ｊ）次の式で表される。
【数１】
0004781888.tif 000002
【００３３】
同様に、第１制御装置１５にその制御周期ｊ毎に与える操作量ｓwは、（ただし、ｗ＝０、１、２、…、ｘ／ｊ）次の式で表される。
【数２】
0004781888.tif 000003
【００３４】
このように、操作量を分配すると、図３に示すように、凹凸が発生することなく、各制御装置１３、１５均等に与えることができる。その結果、全体のシステムとして、良好な制御性能を得ることができる。
【００３５】
以上、上位システムの制御周期が長周期ｘの整数倍である場合を例に挙げて説明したが、上位システム１０と下位システム１１、１２とが独立した制御周期で動作するシステムである場合も多い。
【００３６】
そのようなシステムでは、上位システム１０の制御周期と下位システム１１、１２間の長周期ｘの最小公倍数ｚの周期で、上位システム１０と下位システム１２の同期をとるようにすればよい。その場合の同期をとる考え方は、上述した実施形態と同じようにして、上位カウンタ１５、１８にさらに上位のカウンタを設け、そのフルカウント値をｚ／ｘとしてキャリー信号を発生させるようにすればよい。そうすれば、上位システム１０と、下位システム１１、１２は最小公倍数ｚの周期で動作する単一のシステムとなる。  
以上、本発明について、上位システムの下に２つの下位システムがあるシステムについて好適な実施形態を挙げて説明したが、本発明は、３以上の下位システムがあるシステムでも同じ考えで適用できることはもちろんである。
【図面の簡単な説明】
【００３７】
【図１】本発明の一実施形態による制御システムのブロック構成図。
【図２】同実施形態による制御システムの下位システムでのキャリー信号発生のタイミングを示すタイムチャート。
【図３】上位システムから下位システムへ与えられる操作量の分配操作を示す図。
【図４】従来のシステムにおける上位システムから下位システムへ与えられる操作量の分配操作を示す図。
【符号の説明】
【００３８】
１０  上位システム
１１  サブシステム
１２  サブシステム
１３  第１制御装置
１４  第１タイマー
１５  第１上位カウンタ
１６  第２制御装置
１７  第２タイマー
１８  第２上位カウンタ
２２  同期制御部
【図１】
0004781888.tif 000004
【図２】
0004781888.tif 000005
【図３】
0004781888.tif 000006
【図４】
0004781888.tif 000007