処理中

しばらくお待ちください...

設定

設定

出願の表示

1. WO2014119036 - 同期制御装置

Document

明 細 書

発明の名称 同期制御装置

技術分野

0001  

背景技術

0002   0003  

先行技術文献

特許文献

0004  

発明の概要

発明が解決しようとする課題

0005   0006   0007  

課題を解決するための手段

0008  

発明の効果

0009  

図面の簡単な説明

0010  

発明を実施するための形態

0011   0012   0013   0014   0015   0016   0017   0018   0019   0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083   0084   0085   0086   0087   0088   0089   0090   0091   0092   0093   0094   0095   0096   0097   0098   0099   0100  

産業上の利用可能性

0101  

符号の説明

0102  

請求の範囲

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18   19   20   21   22  

図面

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17  

明 細 書

発明の名称 : 同期制御装置

技術分野

[0001]
 この発明は、駆動装置を有する産業用機械や製造装置、製造ラインを制御する産業用コントローラにおける同期制御を行う同期制御装置に関するものである。

背景技術

[0002]
 従来からサーボモータの同期制御として、同期制御のタイミングを決定するマスタ軸に取り付けたマスタエンコーダの位相とスレーブ軸の位置を一対一に対応付けるカムデータを用いて同期を実現する電子カム制御が広く知られている。また、いわゆる位置決め命令といった、速度や加速度、時間などで軌跡が定義される動作命令があり、これら動作命令を信号入力等で起動する制御も広く知られている。
[0003]
 従来、電子カム制御において、カムデータを区間に区切り、この区間を任意の順番、任意の回数で呼出すことで、繰返しを含む同期制御を容易にできるようにする技術が知られている(例えば、特許文献1参照)。
 また、電子カム制御において,動作時間が不定の補機動作との同期制御を行うために、補機動作終了時の信号を基にカム動作をシフトさせる制御が知られている(例えば、特許文献2参照)。

先行技術文献

特許文献

[0004]
特許文献1 : 特開2003-131740号公報
特許文献2 : 特開2009-282625号公報

発明の概要

発明が解決しようとする課題

[0005]
 しかしながら、例えば、特許文献1に記載された技術は、開始角度を指定してカム動作を起動するものであり、実現できる動作は、マスタ軸とスレーブ軸の位置関係が常に同じである従来からの電子カム制御と同様である。つまり、速度や加速度、時間などで軌跡が定義される動作命令の動作完了や外部や内部の信号変化のタイミングに同期する制御を実現できないという課題があった。
[0006]
 また、特許文献2の技術では、実際の信号入力を基に基準軸にシフト量を加えてカム制御を実行するものであり、速度や加速度、時間などで軌跡が定義される動作命令を組合わせた制御を混在させることができないという課題があった。また、基準軸にシフト量を加える制御、特に軸によってシフト量が異なる制御の場合には、プログラミング時や動作モニタ時に全体の動作や各シフト量を把握することが難しく、調整に時間がかかるという課題もあった。
[0007]
 この発明は、上記のような課題を解決するためになされたものであり、駆動装置を有する装置の作業効率を向上させると共に、立上げ・調整時間を短縮させることのできる同期制御装置を得ることを目的とする。

課題を解決するための手段

[0008]
 この発明に係る同期制御装置は、マスタ軸の角度変化または基準時からの経過時間を変化量情報とし、変化量情報に同期して動作命令の実行を制御する同期制御装置であって、変化量情報を算出する変化量情報算出部と、動作命令に対して、マスタ軸の角度条件または基準時からの時間条件を示す開始条件と、所定の信号条件とが定義され、変化量情報が開始条件を満たし、かつ、信号条件が真であった場合は、対応する動作命令の開始を判定すると共に、動作命令の予め定められた完了条件に基づいて動作完了の判定を行う動作命令実行制御部と、動作命令実行制御部で開始と判定された動作命令を実行し、かつ、動作命令実行制御部で動作完了と判定された場合は動作命令を停止する動作命令実行部とを制御部として備えたものである。

発明の効果

[0009]
 この発明の同期制御装置は、動作命令に対して、マスタ軸の角度条件または基準時からの時間条件を示す開始条件と、所定の信号条件とが定義され、変化量情報が開始条件を満たし、かつ、信号条件が真であった場合は、対応する動作命令の開始を判定すると共に、動作命令の予め定められた完了条件に基づいて動作完了の判定を行うようにしたので、駆動装置を有する装置の作業効率を向上させると共に、立上げ・調整時間を短縮させることができる。

図面の簡単な説明

[0010]
[図1] 二つの軸の同期制御を示す説明図である。
[図2] この発明の実施の形態1による同期制御装置を示す構成図である。
[図3] この発明の実施の形態1の同期制御装置における一定周期で実行される軸制御を示すフローチャートである。
[図4] この発明の実施の形態1の同期制御装置におけるカムデータの一例を示す説明図である。
[図5] この発明の実施の形態1の同期制御装置におけるカム命令の動作を示す説明図である。
[図6] この発明の実施の形態2の同期制御装置における動作タイミングテーブルの一例を示す説明図である。
[図7] この発明の実施の形態2の同期制御装置において実現される動作軌跡の一例を示す説明図である。
[図8] この発明の実施の形態5の同期制御装置における条件分岐を示す説明図である。
[図9] この発明の実施の形態5の同期制御装置における動作タイミングテーブルを示す説明図である。
[図10] この発明の実施の形態7の同期制御装置における一定周期で実行される軸制御を示すフローチャートである。
[図11] この発明の実施の形態8の同期制御装置における動作タイミングテーブルの一例を示す説明図である。
[図12] この発明の実施の形態9による同期制御装置を示す構成図である。
[図13] この発明の実施の形態9の同期制御装置におけるグラフィカル編集部の表示イメージを示す説明図である。
[図14] この発明の実施の形態10の同期制御装置における速度で軸の動作を表現した場合の説明図である。
[図15] この発明の実施の形態13の同期制御装置における命令種別毎に区別した場合の説明図である。
[図16] この発明の実施の形態13の同期制御装置におけるサーボ軸の位置毎に区別した場合の説明図である。
[図17] この発明の実施の形態14の同期制御装置におけるサブプログラムの呼び出しをグラフで表現した場合の説明図である。

発明を実施するための形態

[0011]
 以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態1.
 本発明は、マスタ軸の角度や動作命令の完了、外部・内部信号の変更に同期してサーボ軸の動作命令を実行することで、サーボ軸の同期制御を柔軟に実行できるようにしたものであり、先ず、その概要について説明する。
[0012]
 図1は、二つの軸の同期制御を示す説明図である。横軸はマスタ軸の角度(Angle)、縦軸は各軸のストローク(st)を表している。全体の動きは、先ずマスタ軸の角度がA1の時に軸1が動作を開始し、軸1の動作が完了後に軸2が動作を開始する。その後、マスタ軸の角度がA2の時に軸1が動作を開始し、軸1の動作が完了後に軸2が動作を開始する動きである。つまり、マスタ軸と連動した特定のタイミングで軸1が動作を開始し、その動作完了後に軸2が動作を開始する動作である。例えば、軸1でワークをクランプ後に軸2が退避するような動作である。ただし、図1では簡略化のために加減速を省略している。
[0013]
 従来、このような制御をする場合には、図1で記述されているようなカムデータを軸毎に作成し、カム制御を行うことで実現してきた。この時のカム曲線はマスタ軸一周分のデータであるため、作業者は軸1が動作を完了する角度を計算して軸2のカムデータを作成していた。この際、装置全体の速度を予め想定しておき、モータの速度や加速度の性能から、モータに過度な負荷がかからないカムデータを作成する必要があった。また、装置の作業効率を向上させるために、装置全体の運転速度を上げる場合には、カムデータも改定する必要があった。
[0014]
 そこで、本発明では、軸1は角度A1とA2でそれぞれ位置決め命令を実行し、軸2は対応する軸1の位置決め命令が完了したタイミングでそれぞれ位置決め命令を実行するという制御を実行する。位置決め命令は速度や加速度を指定する命令であるので、モータの性能を十分に発揮する動作を簡単に、且つ、装置全体の運転速度とは無関係に実現できる。すなわち、装置全体の運転速度を上げる場合にもプログラムを変更することなく、軸1はマスタ軸の特定角度で動作を開始し、軸2は軸1の動作完了後に動作を開始するという同期を保ちつつ、モータの性能を十分に発揮する動作を実現できる。
[0015]
 図2は、実施の形態1の同期制御装置を示す構成図である。
 図示のように、同期制御装置は、変化量情報算出部1、動作命令実行制御部2、動作命令実行部3を有する制御部100を備えている。変化量情報算出部1は、変化量情報として、マスタ軸の角度を検出するマスタエンコーダ200からの信号に基づいて、同期制御装置として使用するマスタ軸の角度を計算する演算部である。すなわち、変化量情報算出部1は、マスタエンコーダ200から制御部100への通信遅れや、制御部100から制御対象となる軸端への通信・制御遅れの補償も含む処理を行うものであり、これら補償は既知の遅れ時間とマスタ軸の回転速度から現在の制御周期で想定すべきマスタ軸の角度を計算する処理である。なお、これらの処理については既知の技術であるため、ここでの詳細な説明は省略する。
[0016]
 動作命令実行制御部2は、マスタ軸の角度が動作命令で定義されている角度条件を満たし、かつ、信号条件が真であった場合は、対応する動作命令の開始と判定し、また、動作命令の予め定められた完了条件に基づいて動作完了の判定を行う処理部である。また、動作命令実行制御部2が保持する動作タイミングテーブル4については実施の形態2で説明する。なお、図示例では、動作タイミングテーブル4は動作命令実行制御部2内に設けられているが、動作命令実行制御部2の外部に設けられていてもよい。
[0017]
 動作命令実行部3は、動作命令実行制御部2で開始と判定された動作命令を実行し、かつ、動作命令実行制御部2で動作完了と判定された場合はその動作命令を停止する動作命令の実行部であり、制御対象であるサーボ軸の制御を行うサーボアンプ300に対してその指令値を出力する。
[0018]
 次に、実施の形態1の同期制御装置の動作を図3のフローチャートに沿って説明する。図3は、一定周期で実行される軸制御を示すフローチャートである。
 先ず、変化量情報算出部1は、マスタ軸の角度計算を実行する(ステップST1)。この処理は、上述したように、マスタエンコーダ200からの制御部100への通信遅れや、制御部100から軸端への通信・制御遅れの補償も含む処理であり、これら補償は既知の遅れ時間とマスタ軸の回転速度から現在の制御周期で想定すべきマスタ軸の角度を計算することで行う。
[0019]
 次に、動作命令実行制御部2は、各軸の現在実行中の動作命令、すなわち、今回の定周期処理までに開始されて、まだ終了していない動作命令を処理してサーボアンプ300への指令値を計算する(ステップST2)。実行中の動作命令の完了判定もこのステップST2で実行される。動作命令が実行中ではない場合には、特に処理を実行しない。
[0020]
 次に、動作命令実行制御部2は、動作命令開始を受入れ可能な状態の各軸において、動作命令の開始条件を判定する(ステップST3)。開始条件は、例えば角度条件と信号条件からなり、両方の条件が真であれば該当する動作命令が実行開始される。動作命令実行部3は、ステップST3で実行開始と判定された動作命令を処理してサーボアンプ300への指令値を計算する(ステップST4)。この時の指令値はステップST2の指令値を上書きする。
[0021]
 上記のステップST2において、動作完了の判定は動作命令が完了する位置への指令を生成した時点で行われる。すなわち、カム制御のようなマスタ軸の角度に対応して出力が決定される命令であれば、ステップST1で計算したマスタ軸の角度がカムデータの終端に達した場合には、その終端部のカムデータで指令値を生成し、動作完了の判定を行う。また、位置決め命令のような、命令の指令値とエンコーダ値を比較して十分に小さい場合に動作命令を完了とする命令においても、エンコーダ値との比較は実施せずに命令の終端に対応する指令値を出力する時点で動作完了とする。制御部100は全体の制御を、ステップST1において、通信遅れを補償するために制御部100に入力されるマスタ軸の角度情報よりも進んだ角度を基に実行しているため、エンコーダ値との比較では通信遅れの待ち時間が発生してしまい、装置の運転速度向上を阻害する要因となるからである。
[0022]
 ステップST3において、角度条件とはステップST1で計算されたマスタ軸の角度と定数若しくは変数との比較式で表現される。比較演算子は、例えば“=”,“<”,“=<”,“>”,“>=”などの一般的な演算子が利用される。ただし、“=”は式の両辺が等しいかを判定するのでは無く、ステップST1で計算されたマスタ軸の角度が初めて比較される定数若しくは変数に達した周期において真と判定される。例えば、マスタ軸の角度をAngleと表現し、角度条件の比較式が“Angle=100”であり、前回の処理周期でのステップST1のマスタ軸の角度計算結果が98で、今回の処理周期でのステップST1のマスタ軸の角度計算結果が101であった場合には、今回の処理周期において前記角度条件の比較式“Angle=100”は真と判定される。その他の不等式は一般的に使用されている”小なり“,”以下“,“大なり“,”以上“と同じであり、ステップST1のマスタ軸の角度計算結果と定数若しくは変数を比較して判定する。範囲を設定するために、複数の不等式を用いて条件式を設定しても良い。
[0023]
 ステップST3において、信号条件とは制御部100の内部メモリの値と定数若しくは変数との比較式で表現される。ここで、内部メモリの値には、ON/OFFの2値で表現されるデバイスや数値や文字列を扱えるデバイス、タイマなどの内部デバイスだけでなく、スイッチやセンサなどからの外部入力機器からの信号状態も含まれる。比較演算子は、例えば“=”,“<”,“=<”,“>”,“>=”などの一般的な演算子が利用される。信号条件は複数の比較式の論理和や論理積で表現されても良い。また、指定した軸の指定した動作命令の完了したタイミングを信号条件として指定しても良い。
 ステップST3において角度条件と信号条件は省略をしても良く、その場合は該当条件がそれぞれ真であるとする。
[0024]
 既存のカム制御と同様にマスタ軸には一周の長さが設定されており、マスタ軸が回転を続けて一周を超える時にはマスタ軸の角度は0に戻り、周期的に制御は実行される。
 実行される動作命令は、カム命令や位置決め命令などである。ただし、本発明のカム命令では、カムデータのカム長はマスタ軸の一周とは一致せず、カム長だけ動作を実行したら該当する動作命令は完了する。例えば、図4のようなカム長さがwのカムデータC1があり、図5のようにマスタ軸の角度がA1の時にC1のカムデータで制御するカム命令が実行された場合、マスタ軸の角度がA1+wを通過するまでは該当するカム命令が実行され、マスタ軸の角度がA1+wで該当する動作命令が完了する。
[0025]
 マスタ軸の速度に連動した動作軌跡を描くような動作命令を実現したい場合、例えばコンベア上を流れているワークに追従して動作を行いたい場合や、カム制御で動作している軸との同期動作を実現したい場合などには、カム命令を実行すれば良い。一方、動作の開始タイミングだけを合わせたい場合や、他機器との関係でマスタ軸の速度とは無関係に一定時間・一定速度で動作させたい場合、できるだけ速く動作させたい場合には、位置決め命令を実行すれば良い。また、外部機器の動作完了待ちなどで指定した時間だけ軸の位置を保持したい場合には時間待機命令を実行し、該当の時間待機命令の完了タイミングで、適切な移動命令を実行すれば良い。
[0026]
 また、変化量情報として、角度条件の代わりに時間条件で記述しても良い。この場合、マスタ軸の角度の代わりにマスタ局の時間が基準となり、こちらも一周の長さが設定してあって周期的に制御が実行される。マスタ軸の回転速度が変更されるように、基準時間の進む速さをシステム内で自由に変更できるものとする。
[0027]
 このように、実施の形態1では、マスタ軸の角度条件と制御部100の内部メモリの信号条件に基づいて、カム命令や位置決め命令、時間待機命令などのサーボ軸の動作命令を起動することによって、動作タイミングをマスタ軸に同期してサーボ軸の各種動作命令を実行するという柔軟な同期制御が可能になる。この制御によって、従来必要であった動作タイミングの同期をとるためのインターロック信号の処理やサーボ軸の位置決め完了待ちといった待ち時間が削減でき、装置の運転速度の向上が可能になる効果がある。また、装置の運転速度を上げる場合にも、カムデータの調整が削減でき、調整時間を短縮できる効果がある。
[0028]
 以上説明したように、実施の形態1の同期制御装置によれば、マスタ軸の角度変化または基準時からの経過時間を変化量情報とし、この変化量情報に同期して動作命令の実行を制御する同期制御装置であって、変化量情報を算出する変化量情報算出部と、動作命令に対して、マスタ軸の角度条件または基準時からの時間条件を示す開始条件と、所定の信号条件とが定義され、変化量情報が開始条件を満たし、かつ、信号条件が真であった場合は、対応する動作命令の開始を判定すると共に、動作命令の予め定められた完了条件に基づいて動作完了の判定を行う動作命令実行制御部と、動作命令実行制御部で開始と判定された動作命令を実行し、かつ、動作命令実行制御部で動作完了と判定された場合はその動作命令を停止する動作命令実行部とを制御部として備えたので、駆動装置を有する装置の作業効率を向上させると共に、立上げ・調整時間を短縮させることができる。
[0029]
実施の形態2.
 実施の形態2は、実施の形態1の制御を実現するのに好適なデータ構造と処理方式についての例を示すものである。実施の形態2では、動作命令実行制御部2に保持された、軸毎に動作命令が動作実行順に格納された動作タイミングテーブル4について説明する。
 図6は、制御部100(CPU1)の軸1の動作タイミングテーブルの例、図7は実現される動作軌跡の例である。角度0でカムデータ1のカム動作を実行し、角度90でサーボ1の位置決め命令を実行する。サーボ1の位置決め命令完了後に2sec軸の位置を保持した後に、サーボ2の位置決め命令を実行する。
[0030]
 説明を簡単にするために、図3のステップST1で計算されるマスタ軸の角度が0に達する初めての処理周期から、図6の動作タイミングテーブル4で軸1を動作開始させるとする。最初の処理周期では動作命令が実行中ではないのでステップST2での処理はない。続いてステップST3で動作番号1の動作命令の開始条件を判定する。ここでは、角度条件と信号条件の両方を満たしているので、動作番号1の動作命令を起動する。最後にステップST4でカムデータ1に基づいて指令値を生成する。カムデータがアドレスとストロークで定義されているとすると、カム命令が開始された角度(この場合は0)からステップST1で計算されたマスタ軸の角度までに進んだ角度を計算し、それをアドレスとしてカムデータからストロークを導出して指令値とする。
[0031]
 カムデータ1のカム長がwであったとすると、ステップST1で計算される角度がwを超えるまでの処理では、ステップST2でカムデータ1に基づいた指令値を生成し、次の動作命令を受入れ可能な状態ではないのでステップST3とステップST4では何も処理をしない。
 ステップST1で計算される角度がwを超える最初の処理周期では、ステップST2で動作完了の処理を実行し、次の動作命令を受入れ可能な状態に移る。続けて、ステップST3では動作タイミングテーブルで次の動作命令である動作番号2の動作命令の開始条件の判定を実行する。ここではw<90とすると、この処理周期では判定は偽となるため、動作命令は実行されない。今回の処理周期で計算されたマスタ軸の角度は、動作番号2の角度条件を超えていないため、次の動作命令の開始条件の判定には移らずにステップST3は終了する。ステップST4も動作命令が開始されていないので何も処理しない。
[0032]
 ステップST1で計算される角度が動作番号2の角度条件である90を超えるまでの処理では、ステップST2は何も処理をせず、ステップST3は動作番号2の開始条件に偽の判定を行い、ステップST4は何も処理をしない。
 ステップST1で計算される角度が動作番号2の角度条件である90に達する最初の処理では、ステップST3は動作番号2の開始条件に真の判定を行い、動作命令を起動する。ステップST4ではサーボ1に基づいた位置決め命令を処理して指令値を生成する。
 ステップST2において動作番号2の位置決め命令が完了判定されるまでは、ステップST2で指令値を生成し、次の動作命令を受入れ可能な状態ではないのでステップST3とステップST4では何も処理をしない。
[0033]
 ステップST2において動作番号2の位置決め命令が完了判定された処理周期では、ステップST3では動作タイミングテーブル4で次の動作命令である動作番号3の動作命令の開始条件の判定を実行する。ステップST1で計算されたマスタ軸の角度が180未満とすると角度条件は真であり、信号条件であるCPU1の軸1の動作番号2の動作命令は完了しているので、動作番号3の開始条件は真となり、動作命令が実行される。ステップST4は2secの間軸の位置を保持するという命令に基づいて指令値を生成する。上述した処理と同様に動作命令3が完了するまでは、ステップST2では指令値を生成し、ステップST3とステップST4では何も処理を行わない。
[0034]
 ステップST2において動作番号3の時間待機命令が完了判定された処理周期では、ステップST3では動作タイミングテーブルで次の動作命令である動作番号4の動作命令の開始条件の判定を実行する。ステップST1で計算されたマスタ軸の角度が270未満とすると角度条件は真であり、信号条件であるCPU1の軸1の動作番号3の動作命令は完了しているので、動作番号4の開始条件は真となり、動作命令が実行される。ステップST4ではサーボ2に基づいた位置決め命令を処理して指令値を生成する。これまでの説明と同様に動作命令4が完了するまでは、ステップST2において指令値を生成し、ステップST3とステップST4では何も処理を行わない。
[0035]
 最後に、ステップST2において動作番号4の時間待機命令が完了判定された処理周期では、ステップST3では動作タイミングテーブルが動作番号4までしか定義されていないため、最初の動作命令である動作番号1の動作命令に戻って開始条件の判定を実行する。
 以降は、マスタ軸の一周期と合わせて動作命令が実行されていく。
[0036]
 ここで、動作番号2において、開始条件判定に移った処理周期が、マスタ軸の角度が初めて90を超えた処理周期を超えていた場合には、動作を実行せずに次の動作番号に移行するか、警告を出力した上で動作を実行しても良い。
 また、動作番号3,4においても、開始条件判定に移った処理周期において、マスタ軸の角度がそれぞれ180,270を超えていた場合には、動作を実行せずに次の動作番号に移行するか、警告を出力した上で動作を実行しても良い。
[0037]
 図6では、動作番号3,4はそれぞれ信号条件で動作完了を明記して記述しているが、信号条件を明記しない(常に真とする)記述方法でも同様の制御が可能となる。また、動作開始が遅れた場合の警告や動作命令の不実行を無視するのであれば、動作番号3,4は角度条件を明記しない(常に真とする)記述方法でも同様の制御が可能となる.
[0038]
 以上説明したように、実施の形態2の同期制御装置によれば、マスタ軸一周分または基準時からの一周期分の開始条件と動作命令を実行順に並べた動作タイミングテーブルを備え、動作命令実行制御部は、いずれかの動作命令が実行されるか、変化量情報が開始条件の値を通過した場合に、次に実行する動作命令の判定に移行し、動作タイミングテーブルの実行順の最後を過ぎた場合は、動作タイミングテーブルの最初の実行順の判定に移行するようにしたので、各軸の動作命令は動作タイミングテーブルに記述された順番で実行されるため、不必要な条件判定を記述・処理する必要が無くなり、プログラム記述の簡素化と処理負荷を低減する効果がある。
[0039]
実施の形態3.
 複数の制御部100を用いた設備での同期制御を考えた場合、他の制御部100で管理するメモリを参照するには通信遅れが発生する。一方で、マスタ軸に同期した制御では、マスタ軸のマスタエンコーダ200と制御部100、制御部100と軸端との間にある通信遅れを補償するために、制御部100への入力信号より先んじた指令を生成している。よって、動作完了のような他の制御部100の管理するメモリを参照して動作命令を開始すると、メモリ参照の通信遅れだけ制御部間の同期がずれてしまうという問題がある。
[0040]
 そこで、実施の形態3では、特定の制御部100の動作命令完了を動作開始タイミングに指定して同期するために、参照される特定の制御部100は動作命令が完了するマスタ軸の角度を計算し、計算された角度を他の制御部100が参照するようにしたものである。
 すなわち、動作命令を実行する各制御部が、動作命令が完了するマスタ軸の角度を計算し、計算された角度を他の制御部が参照することによって、各制御部は指定した動作命令の完了タイミングに遅れることなく動作命令を開始することができる。一意に定まるマスタ軸の角度を動作開始タイミングにすることで、複数の制御部を用いた場合でも、動作命令完了を動作命令の開始タイミングに指定した同期制御が可能になる。
[0041]
 完了角度は「動作命令の開始角度+動作命令の動作実行角度」の式で、動作命令が開始するタイミングで計算される。動作命令の動作実行角度はカム命令であれば実行するカムデータのカム長になる。位置決め命令や時間待機命令では、各命令の実行時間に動作開始時のマスタ軸の回転速度を乗じることで計算される。
[0042]
 特定の制御部の動作命令完了を動作開始タイミングにする場合には、参照先となる特定の制御部から上記の式で計算された該当する動作命令の完了角度と、該当する動作命令が実行開始されたかのデータを受取り、ステップST3は該当する完了角度を通過するタイミングを持って信号条件である動作完了を真とする。実行開始のデータが得られない場合には信号条件である動作完了は偽とする。
[0043]
 特定の制御部との同期タイミングを合わせるために、時間待機命令や位置決め命令などの一定時間で動作する命令は、上記の式で計算した完了角度をマスタ軸の角度が通過する処理周期で動作命令を完了とし、次の動作命令に移行しても良い。
[0044]
 以上説明したように、実施の形態3の同期制御装置によれば、複数の制御部を備え、任意の制御部が、これとは異なる特定の制御部の動作命令の完了を自身の信号条件としている場合、特定の制御部が動作命令の完了タイミングを算出すると共に、任意の制御部は、特定の制御部における動作命令の完了タイミングに基づいて自身の動作命令の開始判定を行うようにしたので、位置決め命令や時間固定命令の完了タイミングを変化量情報で共有することによって、制御部間の同期精度を向上させる効果がある。
[0045]
実施の形態4.
 動作命令として、速度命令やトルク命令、ギア命令などを追加しても良い。これらの命令は、一方向に対して軸が回転し続ける動作であり、終了のタイミングを指定するか停止指令が入るまで動作し続けるものである。
 速度命令やトルク命令は指定した速度や加速度、トルクでモータを制御する命令であり、マスタ軸の速度とは無関係に動作する、ギア命令はマスタ軸とのギア比を指定してマスタ軸の速度と比例した速度で軸を動作させる命令である。ギア命令では,動作命令開始時や終了時の過度な加速度を抑えるためにスムージング動作を導入しても良い。
[0046]
 このような動作命令は、実施の形態1~3で説明してきた動作命令とは異なり、動作命令開始時には完了条件が定義されないため、停止命令の実行によって動作命令が終了する。これら動作命令は命令開始後に次の動作命令を受入れ可能状態となり、次の動作命令の動作開始条件を判定することになる。例えば、続く命令としては、停止命令や指令値の変更命令、位置決め命令などがある。
[0047]
 また、動作命令に完了条件を指定しても良い。例えば、信号入力や指定時間、完了角度などである。これら完了条件を指定した場合には、動作命令開始後も完了条件が満たされるまでは、次の動作命令を受入れ可能状態とする必要はない。
[0048]
 以上説明したように、実施の形態4の同期制御装置によれば、動作命令として、自身が完了条件を有さず、他の動作命令によって停止する命令としたので、速度命令やトルク命令、ギア命令などのモータを回転させ続ける制御にも対応することで制御の幅を広げる効果がある。
[0049]
実施の形態5.
 図8のように内部メモリD0の値によって実行する動作命令を変更する条件分岐を実現するために、図9のように動作命令のグループ化を行っても良く、これを実施の形態5として次に説明する。
[0050]
 グループ化されていない動作命令の場合、動作命令が実行完了するかマスタ軸の角度が開始条件の角度条件を通過した場合に、次の動作命令に移行する。一方でグループ化された動作命令の場合には、開始条件が真でなかった場合にはグループ内の次の動作命令の開始条件を判定していく。そしてグループ内の動作命令が一つでも実行された場合か、マスタ軸の角度がグループ内の全ての開始条件を通過した場合に、グループ外の次の動作命令に移行する。ここで,マスタ軸の角度がグループ内の開始条件を一つでも通過していない場合で、全ての動作命令の信号条件が偽であり、グループ内の動作命令が一つも実行されなかった場合には,次の処理周期においても、このグループ内の動作命令の判定を実行していく。
[0051]
 例えば、図9に示すような動作タイミングテーブル4が設定されていた場合、マスタエンコーダの角度が0゜の時に動作番号1に記載の動作命令1が実行され、動作命令1の実行が完了直後にD0の値に従って、動作番号2,3,4にそれぞれ記載の動作命令2,3,4の何れかが実行されるか、信号条件が偽であって何れも実行されない。何れかの命令が実行完了後か、信号条件が偽であった場合には、動作命令1の開始条件の判定に移る。角度条件、信号条件が共に記載の無い場合には常に真として実行する。また、角度条件の記載が無い場合には、該当する動作命令の動作開始判定は一度だけ実行される。さらに、信号条件が偽だった場合には、動作命令を開始せずに次の動作命令に移る。
[0052]
 なお、図9では、単純な「グループ化開始」「グループ中」「グループ化終了」としているが、各グループに番号を付けたり、入れ子構造などにして、複雑な条件分岐を可能にしても良い。
[0053]
 以上説明したように、実施の形態5の同期制御装置によれば、任意の動作命令がグループ化され、動作命令実行制御部は、グループ内のいずれかの動作命令が条件を満たした場合に条件を満たした動作命令の開始を判定するようにしたので、実行する動作命令の条件分岐が可能となり、制御の幅を広げる効果がある。
[0054]
実施の形態6.
 動作命令として、動作タイミングテーブル4の変更や動作番号の変更を追加しても良い。装置の不良や制作する製品の変更等で実行する動作命令を大きく変更したい場合に、指定した動作タイミングテーブル4へ変更する。または、次の実行する動作番号を指定して動作順序を変更したい場合に用いる。
 このように構成することで、他の動作命令と同様に、開始条件が真になった場合に命令が実行されて、指定した動作タイミングテーブル4に変更したり、指定した動作番号に変更したりする。
[0055]
 以上説明したように、実施の形態6の同期制御装置によれば、動作命令として、他の動作タイミングテーブルへの変更、または現在の動作タイミングテーブルにおける動作命令の実行順序の変更を含むようにしたので、制御ロジックの幅を広げる効果がある。
[0056]
実施の形態7.
 出力デバイスや内部メモリの値の変更を動作タイミングテーブル4で記述しても良い。マスタ軸の角度や軸の動作完了などに同期して、変更を実行したい出力デバイスや内部メモリを選択し、動作タイミングテーブル4を作成する。開始条件の記述はサーボ軸と同じである。実行される命令としては、デバイスのON/OFFやパルス出力、メモリの値変更などである。
[0057]
 図10は処理のフローチャートである。サーボ軸の処理に加えてステップST10の内部メモリの変更処理(出力デバイスの変更処理を含む)が、動作命令の開始条件判定の前に実行される。その他のステップST1~ST4の処理については図3と同様であるため、ここでの説明は省略する。
[0058]
 以上説明したように、実施の形態7の同期制御装置によれば、動作タイミングテーブルは、同期制御対象とする出力デバイスまたは同期制御を実行する際に用いる値である内部メモリの値の変更を含むようにしたので、出力デバイスや内部メモリの値をマスタ軸の角度やサーボ軸の動作完了に同期して変更処理ができるため、外部機器や内部処理も含めた同期制御が可能になる効果がある。
[0059]
実施の形態8.
 マスタ軸の角度でタイミングが定義されている出力デバイスや内部メモリの値の変更命令を、デバイスやメモリ毎には分割せずにまとめてテーブルで記述しても良く、これを実施の形態8として次に説明する。
[0060]
 図11は、実施の形態8のデバイス命令をまとめた動作タイミングテーブル4の一例である。図示のように、動作命令は角度条件の昇順に並べられている。信号条件は前述までの実施の形態と同様である。デバイスは変更するデバイスを指定し、命令は変更内容を指定する。
 このように構成された動作タイミングテーブル4を用いて、動作命令実行制御部2では、前回の処理周期でのマスタ軸の角度から今回の処理周期でのマスタ軸の角度までに該当する動作命令だけを条件判定し、命令を実行する。
[0061]
 以上説明したように、実施の形態8の同期制御装置によれば、出力デバイスまたは内部メモリの値の変更命令を、一つの動作タイミングテーブルで保持するようにしたので、前回の処理周期でのマスタ軸の角度から今回の処理周期でのマスタ軸の角度までに該当する動作命令だけを条件判定することで、処理を実行する動作命令を最小限に抑えることができ、処理負荷を低減する効果がある。
[0062]
実施の形態9.
 データの入力や動作確認をグラフィカルに表現するエディタ(グラフィカル編集部)で実現しても良く、これを実施の形態9として次に説明する。
 図12は、実施の形態9の同期制御装置の構成図であり、図2に示した同期制御装置の構成に対してエディタであるグラフィカル編集部400が追加されている。このグラフィカル編集部400は、動作命令実行制御部2の実行制御状態をグラフィカルに表示すると共に、表示されている内容に対する動作命令または内部メモリの値の変更の編集入力を受け付ける機能を有するものである。
[0063]
 図13は、グラフィカル編集部400における表示イメージを示す説明図である。横軸はマスタ軸の一周期分の角度を表現し、各グラフはサーボ軸の位置やデバイスのON/OFF,格納されている値を表現している。
 グラフィカル編集部400では、装置全体の運転速度であるマスタ軸の想定速度を入力する。図13では運転速度と表示している。入力された運転速度と動作タイミングテーブル4を基にサーボ軸やデバイスの状態を表示する。
 サーボ軸はマスタ軸の角度に応じた位置が表示される。各軸の命令実行状態によって色や線種が変更される。例えば、命令実行待ちの状態は灰、カム動作中は黒、位置決め命令中は緑、時間待機命令中は橙など、実行中の命令種別を含めて視覚的に区別がつくように表現される。動作開始タイミングが動作命令完了である命令は、その対応関係が視覚的に分かるように矢印などの線分で表現される。
 ON/OFFなどの2値を取るデバイスの状態も、図13のY0軸のようにグラフ表現される。整数値などの値を保持するデバイスの状態は、図13のD0軸のように格納されている値が表現される。
[0064]
 グラフィカル編集部400では、作成したプログラムの確認だけでなく調整も可能とする。例えば、命令が記述されている線分をマウスでドラッグアンドドロップ操作をすることで、角度条件を変更可能とする機能、命令が記述されている線分を選択することで、対応する命令の編集画面が呼出される機能、画面上の位置を指定して各種命令を追加する機能、2つの命令を選択することで、一方の動作開始条件をもう一方の動作完了条件とする機能などが挙げられる。何れの機能においても、プログラムが変更された際には、自動的に表現が更新されるものとする。
[0065]
 以上説明したように、実施の形態9の同期制御装置によれば、マスタ軸の角度変化または基準時からの経過時間を変化量情報とし、この変化量情報に同期して動作命令の実行を制御する同期制御装置であって、動作命令に対応して設けられた命令実行条件、または、制御に用いる任意のデバイスの値を示す内部メモリの値の変更実行条件に対して、変化量情報と自身が有する所定の信号値とを照合し、これらが共に命令実行条件または変更実行条件を満たしていた場合に、動作命令または内部メモリの値の変更を実行するよう制御を行う動作命令実行制御部と、動作命令実行制御部の実行制御状態をグラフィカルに表示すると共に、表示されている内容に対する動作命令または内部メモリの値の変更の編集入力を受け付けるグラフィカル編集部とを備えたので、軸やデバイスの状態をグラフィカルに表現することで、同期状態が理解し易くなり、合わせてグラフィック上で編集を行えることで、プログラムの調整や編集が容易になる効果がある。
[0066]
実施の形態10.
 速度命令やトルク命令,ギア命令などのように、モータを一方向に回し続ける命令は、変位ではなく、On/OFFや速度をグラフで表現しても良い。図14は速度で表現したものであり、グラフの縦軸が速度となっている。
[0067]
 以上説明したように、実施の形態10の同期制御装置によれば、制御対象とするサーボ軸への動作命令がモータを一方向に回し続ける命令であった場合、変化量に対する速度またはオン/オフ状態でグラフィカル表示したので、変位での表現では理解しにくい命令でも軸の動作状態を理解し易くなり、調整や編集が容易になる効果がある。
[0068]
実施の形態11.
 時間を表現する軸を表示できるようにしても良い。グラフィカル編集部400における表示上の横軸はマスタ軸の角度に対応しているが、角度表示を時間表示に変更したり、時間または角度を表示する補助軸を追加で表現したりしても良い。
[0069]
 以上説明したように、実施の形態11の同期制御装置によれば、変化量情報として、マスタ軸の角度変化と基準時からの経過時間のうちいずれか一方または両方を表示するようにしたので、マスタ軸の角度だけでなく時間でも表現できるため、時間で動作タイミングを計る命令の調整や編集が容易になる効果がある。
[0070]
実施の形態12.
 プログラム上にあるサーボ軸やデバイスの表示ON/OFFや入れ替え、グループ化をしても良い。グラフィカル編集部400において、表現するグラフが多くなった場合に調整や編集を容易にするため、注目したい箇所を適切に表現できるようにする機能が求められる。そこで、実施の形態12では、グラフィカル編集部400において、例えば、サーボ軸やデバイスを選択してグラフ表示のON/OFFを切替可能にする機能、グラフをドラッグアンドドロップで表示する上下の順番を入れ替える機能、複数のグラフをグループ化しておき、纏めて表示のON/OFFや順番の入れ替えを行う機能などを実現する。
[0071]
 以上説明したように、実施の形態12の同期制御装置によれば、グラフィカル編集部は、制御対象とするサーボ軸または任意のデバイスのうち少なくとも一方の表示のオン/オフ、入れ替え、またはグループ化のうち少なくともいずれかを行って表示するようにしたので、グラフの表示のON/OFFや表示順序を変更できることにより、プログラムの状態を適切に表現でき、調整や編集を容易にする効果がある。
[0072]
実施の形態13.
 グラフィカル編集部400は、サーボ軸やデバイスの表現をグラフ表示ではなくラインで表現しても良い。グラフで表現すると、視覚的に軸やデバイスの変位が理解し易いが、画面上に多くの数を表現できないという課題がある。そこで、ラインで表現し、動作命令の状態や位置をラインの色や線種で区別する。例えば、実施の形態9で説明したように、動作種別毎に色や線種を変える機能や、サーボ軸の位置毎に色や線種を変える機能、移動中と停止時のサーボ軸の位置で色や線種を変える機能である。また、デバイスのON/OFFで色や線種を変える機能や、デバイスに格納されている値で色を変える機能である。
[0073]
 図15は、命令種別毎に区別した場合であり、図13におけるCPU1_軸1、CPU1_軸2、CPU2_軸1のグラフ表示をライン表示としている。ここで、例えば、ライン表示におけるAは正方向の位置決めを示し、赤で表示する。また、Bは負方向の位置決めを示し、青で表示する。さらに、Cはカム動作を示し、緑で表示する。Dは停止中を表し、白色表示とする。
[0074]
 また、図16は、同様に、サーボ軸の位置毎に区別した場合である。ライン上をグラデーションで表現しており、aは正方向(黒)、bは負方向(白)、cは原点位置(黄)を示している。
[0075]
 以上説明したように、実施の形態13の同期制御装置によれば、グラフィカル表示を、ライン状で、かつ、ラインの位置に応じて表示を変化させるようにしたので、サーボ軸やデバイスをラインで表現することで、画面上に表現できる数を増やすことができ、プログラム全体の調整や編集を容易にする効果がある。
[0076]
実施の形態14.
 グラフィカル編集部400は、サブプログラムの呼び出しをグラフで表現しても良い。演算処理や外部入力信号のチェックなどを、マスタ軸の角度やサーボ軸の動作に同期して実行したい場合に利用する。図17はグラフ表示の例である。ここでSPRG1は、例えば入力信号を確認する命令で、外部センサからの入力値を特定のタイミングで取込む処理である。また、SPRG2は一定期間だけ内部メモリの状態を監視するプログラム処理である。つまり、SPRG1は一度だけ実行される処理で、SPRG2は一定期間だけ繰返し処理される処理である。
 これらタイミングは、デバイスの命令と同様にグラフィカル編集部400で編集可能とする。
[0077]
 以上説明したように、実施の形態14の同期制御装置によれば、グラフィカル編集部は、動作命令実行制御部が実行しているプログラムに対するサブプログラムの呼び出しを示す表示を行うようにしたので、演算処理のプログラムの実行タイミングをグラフィカルに表現・編集することができ、調整や編集を容易にする効果がある。
[0078]
実施の形態15.
 グラフィカル編集部400は、入力信号や内部メモリの値を設定可能にし、それらの状態の基での動作をグラフ表現できるようにしても良い。グラフィカル編集部400において、入力信号や内部メモリの値の指定できる入力画面を用意し、入力された状態でのプログラム実行状態をグラフィカルに表現する(例えば図13に示すような表示)機能や、グループ化された動作命令に対しグラフィック画面上で実行する動作命令を選択できるようにする機能を追加する。
[0079]
 以上説明したように、実施の形態15の同期制御装置によれば、グラフィカル編集部は、動作命令実行制御部が制御を行うための入力信号と内部メモリの値を設定する設定入力を受け付けると共に、グループ化された動作命令に対して実行する動作命令を選択する選択入力を受け付け、これらの入力に対する動作命令実行制御部の制御結果を表示するようにしたので、例えば、条件分岐によって変化する動作パターンをグラフィカルに表現できることにより、調整や編集を容易にする効果がある。
[0080]
実施の形態16.
 グラフィカル編集部400において、入力信号や内部メモリの値を指定した角度や時間で変更するシナリオを入力し、入力したシナリオに沿って複数周期に跨る動作パターンをグラフィカルに表現しても良い。ここで、シナリオは、外部機器や他の制御部100からの入力を模擬するものであり、例えば、次のように構成されている。
[0081]
=90 Then X0 = ON     角度90で外部入力X0がON
=120 Then X0 = OFF    角度120で外部入力X0がOFF
Y0=ON+300msec Then X1=ON   出力Y0がONの300msec後にX1がON
Y0=OFF+10msec Then X1=OFF  出力Y0がOFFの10msec後にX1がOFF
Time=0 Then D0=1000      シミュレーション時間0でD0に1000を代入
Time=3000msec Then D0=1500  シミュレーション時間3000でD0に1500を代入
Time=Loop(3)+200msec Then D0=500  ループ3週目のシミュレーション時間200でD0に500を代入
[0082]
 動作命令実行制御部2は、このようなシナリオに沿ってシミュレーションを行い、その結果をグラフィカル編集部400で表示する。
[0083]
 以上説明したように、実施の形態16の同期制御装置によれば、グラフィカル編集部は、動作命令実行制御部が制御を行うための入力信号および内部メモリの値のうち少なくとも一方の値を、指定した変化量に従って変更するシナリオを入力し、入力したシナリオに沿って動作する動作命令実行制御部のシミュレーション結果をグラフィカル表示するようにしたので、シナリオに沿った場合の動作パターンを表示することにより、プログラムのシミュレーション結果を確認することができ、調整や編集を容易にする効果がある。
[0084]
実施の形態17.
 サーボ軸の動作タイミングテーブル4の整合性を確認し、整合しない場合は、グラフィカル編集部400において、その警告をテキストかグラフィック画面上で表現しても良い。すなわち、動作命令の受入れ可能状態であるかを考慮せずに、サーボ軸の動作命令の開始タイミングと完了タイミングを比較し、他の動作命令の動作完了前に動作開始が行われている動作命令がある場合、グラフィカル編集部400において、開始される動作命令に対する警告を表示する。なお、整合性の確認は動作命令実行制御部2で行っても良い。
[0085]
 グラフィカル編集部400における警告の表示としては、例えば、動作命令が重複している区間を文字で表現したり、該当区間の動作命令の線分の色や線種を変更、該当区間の背景色を変更して表現したりする。
[0086]
 以上説明したように、実施の形態17の同期制御装置によれば、複数の動作命令の整合性を検査し、整合しない場合はグラフィカル編集部で警告を発生させるようにしたので、動作タイミングに不備がある場合には警告を表示することで、調整や編集を容易にする効果がある。
[0087]
実施の形態18.
 実施の形態17では、動作タイミングテーブル4の整合性を確認し、動作命令が重複する区間が存在する場合は警告を表示したが、どこの動作タイミングを調整すれば良いかをグラフィカル編集部400で提示しても良い。
[0088]
 他の動作命令の完了を動作開始タイミングにしている動作命令の完了タイミングは、参照元になる動作命令の動作開始タイミングに依存している。よって、複数の動作命令が絡み合った場合、どこの動作命令の開始タイミングを調整すれば動作タイミングテーブル4の整合性が保てるかを理解することが難しくなる。
 そこで、グラフィカル編集部400で、動作命令が重複する区間が存在する動作命令を抽出し、重複する動作命令の動作開始タイミングを決定付けている動作命令を確認して表示する。なお、整合性の確認は動作命令実行制御部2で行っても良い。
[0089]
 以上説明したように、実施の形態18の同期制御装置によれば、複数の動作命令の整合性を検査し、いずれかの動作命令が重複する区間が存在する場合は、どの動作命令の動作タイミングを調整するかをグラフィカル編集部で提示するようにしたので、重複する動作命令の動作開始タイミングを決定付けている動作命令を確認して表示することによって、タイミングを調整する動作命令の確認が容易になり、調整や編集を容易にする効果がある。
[0090]
実施の形態19.
 実施の形態18では、タイミングを調整可能な動作命令をグラフィカル編集部400で表示したが、動作タイミングの調整機能を追加しても良い。例えば、位置決め命令や時間固定命令は、運転速度を上げると、マスタ軸の角度から見た命令完了タイミングが遅れていく。よって、運転速度を上げすぎると動作タイミングテーブル4の整合性が崩れる可能性があり、該当する動作命令の開始タイミングを調整する必要が出てくる。
[0091]
 そこで、実施の形態19では、グラフィカル編集部400において、動作タイミングテーブル4の整合性を保つことが可能という条件で、最高の運転速度とそれを実現する動作命令の開始タイミングを求め、これを提示する。これは動作命令の完了タイミングを決定付けている動作命令の抽出と、調整可能な動作開始タイミングの範囲の抽出、位置決め命令や時間固定命令の実行時間から計算することができる。
[0092]
 合わせて、サーボ軸の最高速度や最高加速度を入力しておき、実行されるカム命令のカムデータから最高速度や最高加速度を超えない運転速度を計算して、運転速度の最高速度と制限を与えるカム命令を提示しても良い。なお、整合性の確認は動作命令実行制御部2で行っても良い。
[0093]
 以上説明したように、実施の形態19の同期制御装置によれば、グラフィカル編集部は、動作命令実行制御部が制御対象とするサーボ軸の動作命令の開始タイミングが他の動作命令の完了タイミングに影響され、かつ、これら動作命令の整合性が得られない場合は、整合性が取れる範囲で最大の運転速度とそれを実現する動作命令の開始タイミングを表示するようにしたので、入力された動作タイミングテーブルから、最高の運転速度とそれを実現する動作タイミングや制限を与えるカム命令を提示することにより、調整や編集を容易にする効果がある。
[0094]
実施の形態20.
 実機を動作させた場合の動作パターンとプログラムをグラフィカル編集部400上で比較して表示しても良い。実施の形態20では、実機を自動運転させた場合の、サーボ軸の指令値やフィードバック信号(サーボアンプ300から制御部100にフィードバックされるモータの現在位置等のサーボ軸の運転状況を示す信号)、および内部メモリの値を動作命令実行制御部2でモニタリングし、グラフィカル編集部400上にグラフィカルに表現する。モニタした内部メモリの値から動作プログラムをシミュレーションした結果の軸や出力の動作と、実際の指令値やフィードバック信号と並べてまたは重畳して表示やデータ保存を行う。
[0095]
 以上説明したように、実施の形態20の同期制御装置によれば、グラフィカル編集部は、動作命令実行制御部が命令実行をシミュレーションした結果と、実際の制御対象から得た値を表示するようにしたので、プログラムの実行をシミュレーションした結果と実機の動作を比較して表現することで、調整や編集を容易にする効果がある。
[0096]
実施の形態21.
 位置決め命令からカムデータを作成しても良い。想定する運転速度と位置決め命令のパラメータから、指定した想定したラインでマスタ軸が動作した時にサーボ軸が位置決め命令を実行した時と同じ軌跡を描くカムデータをグラフィカル編集部400で作成する。または、動作を開始するマスタ軸の角度と動作を完了するマスタ軸の角度とストロークを指定し、その2点を急激な負荷がかからないような曲線を描くカムデータを作成する。そして、制御部100は該当するカムデータでカム制御として動作命令を実行する。また、想定する運転速度が変更されるなど、カムデータが変更される場合には、カムデータも同時に変更される。
[0097]
 以上説明したように、実施の形態21の同期制御装置によれば、グラフィカル編集部は、想定する運転速度と位置決め命令からカムデータを作成し、動作命令実行制御部は、カムデータに基づいて実行制御を行うようにしたので、位置決め命令のように速度や加速度を指定してカムデータを作成することや、2点間を滑らかにつなぐカムデータを作成することで、サーボの性能を十分に発揮できるカムデータの作成が容易になり、調整や編集を容易にする効果がある。
[0098]
実施の形態22.
 想定運転速度とスムージング時間、またはスムージングのすべり量を設定し、選択したカムデータに対して設定したスムージングを実行した場合の動作パターンからカムデータを作成しても良い。高速回転している主軸に停止している従軸がスムージング無しに連結した場合、アンプやモータが過負荷となる。そこで、本実施の形態では、グラフィカル編集部400において、想定運転速度とスムージングパラメータからカムデータを補正し、スムージングを設定・実行しなくても動作命令実行制御部2で同等の制御を行えるようにしている。
[0099]
 以上説明したように、実施の形態22の同期制御装置によれば、グラフィカル編集部は、想定する運転速度と、予め設定したスムージング時間またはスムージングのすべり量に基づき、想定する運転速度で設定したスムージングを実行した場合の動作パターンからカムデータを作成し、動作命令実行制御部は、このカムデータに基づいて実行制御を行うようにしたので、設定したスムージングを実現するカムデータが得られ、運転中の主軸につなぐ際にスムージングを実施する必要が無くなるため、プログラムの記述が簡易になり、合わせて制御の計算負荷を減らす効果がある。
[0100]
 なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。

産業上の利用可能性

[0101]
 以上のように、この発明に係る同期制御装置は、マスタ軸の角度変化または基準時からの経過時間を変化量情報とし、変化量情報に同期して動作命令の実行を制御するものであり、駆動装置を有する産業用機械や製造装置、製造ラインを制御する産業用コントローラに用いるのに適している。

符号の説明

[0102]
 1 変化量情報算出部、2 動作命令実行制御部、3 動作命令実行部、4 動作タイミングテーブル、100 制御部、200 マスタエンコーダ、300 サーボアンプ、400 グラフィカル編集部。

請求の範囲

[請求項1]
 マスタ軸の角度変化または基準時からの経過時間を変化量情報とし、当該変化量情報に同期して動作命令の実行を制御する同期制御装置であって、
 前記変化量情報を算出する変化量情報算出部と、
 前記動作命令に対して、前記マスタ軸の角度条件または前記基準時からの時間条件を示す開始条件と、所定の信号条件とが定義され、前記変化量情報が前記開始条件を満たし、かつ、前記信号条件が真であった場合は、対応する動作命令の開始を判定すると共に、当該動作命令の予め定められた完了条件に基づいて動作完了の判定を行う動作命令実行制御部と、
 前記動作命令実行制御部で開始と判定された動作命令を実行し、かつ、前記動作命令実行制御部で動作完了と判定された場合は当該動作命令を停止する動作命令実行部とを制御部として備えたことを特徴とする同期制御装置。
[請求項2]
 前記マスタ軸一周分または前記基準時からの一周期分の開始条件と動作命令を実行順に並べた動作タイミングテーブルを備え、
 前記動作命令実行制御部は、いずれかの動作命令が実行されるか、前記変化量情報が前記開始条件の値を通過した場合に、次に実行する動作命令の判定に移行し、前記動作タイミングテーブルの実行順の最後を過ぎた場合は、当該動作タイミングテーブルの最初の実行順の判定に移行することを特徴とする請求項1記載の同期制御装置。
[請求項3]
 複数の制御部を備え、任意の制御部が、これとは異なる特定の制御部の動作命令の完了を自身の信号条件としている場合、前記特定の制御部が前記動作命令の完了タイミングを算出すると共に、前記任意の制御部は、前記特定の制御部における前記動作命令の完了タイミングに基づいて自身の動作命令の開始判定を行うことを特徴とする請求項1記載の同期制御装置。
[請求項4]
 動作命令は、請求項1の前記動作命令に代えて、自身が完了条件を有さず、他の動作命令によって停止する命令であることを特徴とする請求項1項記載の同期制御装置。
[請求項5]
 任意の動作命令がグループ化され、前記動作命令実行制御部は、前記グループ内のいずれかの動作命令が条件を満たした場合に当該条件を満たした動作命令の開始を判定することを特徴とする請求項2記載の同期制御装置。
[請求項6]
 前記動作命令として、他の動作タイミングテーブルへの変更、または現在の動作タイミングテーブルにおける動作命令の実行順序の変更を含むことを特徴とする請求項2項記載の同期制御装置。
[請求項7]
 前記動作タイミングテーブルは、同期制御対象とする出力デバイスまたは同期制御を実行する際に用いる値である内部メモリの値の変更を含むことを特徴とする請求項2記載の同期制御装置。
[請求項8]
 前記出力デバイスまたは前記内部メモリの値の変更命令を、一つの前記動作タイミングテーブルで保持することを特徴とする請求項7記載の同期制御装置。
[請求項9]
 マスタ軸の角度変化または基準時からの経過時間を変化量情報とし、当該変化量情報に同期して動作命令の実行を制御する同期制御装置であって、
 前記動作命令に対応して設けられた命令実行条件、または、制御に用いる任意のデバイスの値を示す内部メモリの値の変更実行条件に対して、前記変化量情報と自身が有する所定の信号値とを照合し、これらが共に前記命令実行条件または変更実行条件を満たしていた場合に、前記動作命令または内部メモリの値の変更を実行するよう制御を行う動作命令実行制御部と、
 前記動作命令実行制御部の実行制御状態をグラフィカルに表示すると共に、当該表示されている内容に対する動作命令または内部メモリの値の変更の編集入力を受け付けるグラフィカル編集部とを備えたことを特徴とする同期制御装置。
[請求項10]
 制御対象とするサーボ軸への動作命令がモータを一方向に回し続ける命令であった場合、変化量に対する速度またはオン/オフ状態で前記グラフィカル表示することを特徴とする請求項9記載の同期制御装置。
[請求項11]
 前記変化量情報として、前記マスタ軸の角度変化と前記基準時からの経過時間のうちいずれか一方または両方を表示することを特徴とする請求項9記載の同期制御装置。
[請求項12]
 前記グラフィカル編集部は、制御対象とするサーボ軸または任意のデバイスのうち少なくとも一方の表示のオン/オフ、入れ替え、またはグループ化のうち少なくともいずれかを行って表示することを特徴とする請求項9記載の同期制御装置。
[請求項13]
 前記グラフィカル表示は、ライン状で、かつ、当該ラインの位置に応じて表示を変化させるものであることを特徴とする請求項9記載の同期制御装置。
[請求項14]
 前記グラフィカル編集部は、前記動作命令実行制御部が実行しているプログラムに対するサブプログラムの呼び出しを示す表示を行うことを特徴とする請求項9記載の同期制御装置。
[請求項15]
 前記グラフィカル編集部は、前記動作命令実行制御部が制御を行うための入力信号と内部メモリの値を設定する設定入力を受け付けると共に、グループ化された動作命令に対して実行する動作命令を選択する選択入力を受け付け、これらの入力に対する前記動作命令実行制御部の制御結果を表示することを特徴とする請求項9記載の同期制御装置。
[請求項16]
 前記グラフィカル編集部は、前記動作命令実行制御部が制御を行うための入力信号および内部メモリの値のうち少なくとも一方の値を、指定した変化量に従って変更するシナリオを入力し、当該入力したシナリオに沿って動作する前記動作命令実行制御部のシミュレーション結果をグラフィカル表示することを特徴とする請求項9記載の同期制御装置。
[請求項17]
 複数の動作命令の整合性を検査し、整合しない場合は前記グラフィカル編集部で警告を発生させることを特徴とする請求項9記載の同期制御装置。
[請求項18]
 複数の動作命令の整合性を検査し、いずれかの動作命令が重複する区間が存在する場合は、どの動作命令の動作タイミングを調整するかを前記グラフィカル編集部で提示することを特徴とする請求項9記載の同期制御装置。
[請求項19]
 前記グラフィカル編集部は、前記動作命令実行制御部が制御対象とするサーボ軸の動作命令の開始タイミングが他の動作命令の完了タイミングに影響され、かつ、これら動作命令の整合性が得られない場合は、整合性が取れる範囲で最大の運転速度とそれを実現する動作命令の開始タイミングを表示することを特徴とする請求項9記載の同期制御装置。
[請求項20]
 前記グラフィカル編集部は、前記動作命令実行制御部が命令実行をシミュレーションした結果と、実際の制御対象から得た値を表示することを特徴とする請求項9記載の同期制御装置。
[請求項21]
 前記グラフィカル編集部は、想定する運転速度と位置決め命令からカムデータを作成し、前記動作命令実行制御部は、前記カムデータに基づいて実行制御を行うことを特徴とする請求項9記載の同期制御装置。
[請求項22]
 前記グラフィカル編集部は、想定する運転速度と、予め設定したスムージング時間またはスムージングのすべり量に基づき、前記運転速度で前記設定したスムージングを実行した場合の動作パターンからカムデータを作成し、前記動作命令実行制御部は、前記カムデータに基づいて実行制御を行うことを特徴とする請求項9記載の同期制御装置。

図面

[ 図 1]

[ 図 2]

[ 図 3]

[ 図 4]

[ 図 5]

[ 図 6]

[ 図 7]

[ 図 8]

[ 図 9]

[ 図 10]

[ 図 11]

[ 図 12]

[ 図 13]

[ 図 14]

[ 図 15]

[ 図 16]

[ 図 17]