(57)【特許請求の範囲】
【請求項１】
マスタ軸の角度変化または基準時からの経過時間を変化量情報とし、当該変化量情報に同期してスレーブ軸の動作命令の実行を制御する制御部を備える同期制御装置であって、
前記制御部は、
前記変化量情報を算出する変化量情報算出部と、
前記スレーブ軸の動作命令に対して、前記マスタ軸の角度範囲を定めた角度条件または時間範囲を定めた前記基準時からの時間条件と、前記制御部の内部メモリの値に基づいて定められる信号条件とが開始条件として定義され、前記変化量情報が前記角度条件または前記時間条件を満たしており、かつ、前記信号条件が真となり、前記開始条件が真となった場合は、対応する動作命令の開始を判定すると共に、当該動作命令の予め定められた完了条件に基づいて動作完了の判定を行う動作命令実行制御部と、
前記動作命令実行制御部で開始と判定された動作命令を実行し、かつ、前記動作命令実行制御部で動作完了と判定された場合は当該動作命令を停止する動作命令実行部とを備えたことを特徴とする同期制御装置。
【請求項２】
前記マスタ軸一周分または前記基準時からの一周期分の開始条件と動作命令を実行順に並べた動作タイミングテーブルを備え、
前記動作命令実行制御部は、いずれかの動作命令が実行されるか、前記変化量情報が前記開始条件の値を通過した場合に、次に実行する動作命令の判定に移行し、前記動作タイミングテーブルの実行順の最後を過ぎた場合は、当該動作タイミングテーブルの最初の実行順の判定に移行することを特徴とする請求項１記載の同期制御装置。
【請求項３】
前記信号条件として、ＯＮ／ＯＦＦの２値で表現されるデバイスからの入力信号、数値または文字列を扱えるデバイスからの入力信号、タイマを扱えるデバイスからの入力信号、および外部入力機器からの入力信号のうち少なくとも一つを含むことを特徴とする請求項１記載の同期制御装置。
【請求項４】
複数の前記制御部を備え、前記複数の制御部のうちの任意の制御部が、これとは異なる特定の前記制御部の動作命令の完了を自身の前記信号条件としている場合、前記特定の制御部が前記動作命令の完了タイミングを算出すると共に、前記任意の制御部は、前記特定の制御部における前記動作命令の完了タイミングに基づいて自身の動作命令の開始判定を行うことを特徴とする請求項１記載の同期制御装置。
【請求項５】
動作命令は、請求項１の前記動作命令に代えて、自身が完了条件を有さず、他の動作命令によって停止する命令であることを特徴とする請求項１記載の同期制御装置。
【請求項６】
任意の動作命令がグループ化され、前記動作命令実行制御部は、前記グループ内のいずれかの動作命令が条件を満たした場合に当該条件を満たした動作命令の開始を判定することを特徴とする請求項２記載の同期制御装置。
【請求項７】
前記動作命令として、他の動作タイミングテーブルへの変更、または現在の動作タイミングテーブルにおける動作命令の実行順序の変更を含むことを特徴とする請求項２記載の同期制御装置。
【請求項８】
前記動作タイミングテーブルは、同期制御対象とする出力デバイスまたは同期制御を実行する際に用いる値である前記内部メモリの値の変更を含むことを特徴とする請求項２記載の同期制御装置。
【請求項９】
前記出力デバイスまたは前記内部メモリの値の変更命令を、一つの前記動作タイミングテーブルで保持することを特徴とする請求項８記載の同期制御装置。
【請求項１０】
マスタ軸の角度変化または基準時からの経過時間を変化量情報とし、当該変化量情報に同期してスレーブ軸の動作命令の実行を制御する同期制御装置であって、
前記スレーブ軸の動作命令に対応して設けられた命令実行条件、または、制御に用いる任意のデバイスの値を示す内部メモリの値の変更実行条件に対して、前記変化量情報と自身が有する所定の信号値とを照合し、これらが共に前記命令実行条件または変更実行条件を満たしていた場合に、前記動作命令または前記内部メモリの値の変更を実行するよう制御を行う動作命令実行制御部と、
前記動作命令実行制御部の実行制御状態をグラフィカルに表示すると共に、当該表示されている内容に対する動作命令または前記内部メモリの値の変更の編集入力を受け付けるグラフィカル編集部とを備えたことを特徴とする同期制御装置。
【請求項１１】
制御対象とする前記スレーブ軸への動作命令がモータを一方向に回し続ける命令であった場合、変化量に対する速度または前記スレーブ軸の動作中か否かを表すオン／オフ状態でグラフィカル表示することを特徴とする請求項１０記載の同期制御装置。
【請求項１２】
前記変化量情報として、前記マスタ軸の角度変化と前記基準時からの経過時間のうちいずれか一方または両方を表示することを特徴とする請求項１０記載の同期制御装置。
【請求項１３】
前記グラフィカル編集部は、制御対象とする前記スレーブ軸または任意のデバイスのうち少なくとも一方の表示のオン／オフ、入れ替え、またはグループ化のうち少なくともいずれかを行って表示することを特徴とする請求項１０記載の同期制御装置。
【請求項１４】
前記グラフィカル編集部は、前記動作命令実行制御部が制御を行うための外部機器からの入力信号と前記内部メモリの値を設定する設定入力を受け付けると共に、グループ化された動作命令に対して実行する動作命令を選択する選択入力を受け付け、これらの入力に対する前記動作命令実行制御部の制御結果を表示することを特徴とする請求項１０記載の同期制御装置。
【請求項１５】
前記グラフィカル編集部は、前記動作命令実行制御部が制御を行うための外部機器からの入力信号および前記内部メモリの値のうち少なくとも一方の値を、指定した変化量に従って変更するシナリオを入力し、当該入力したシナリオに沿って動作する前記動作命令実行制御部のシミュレーション結果をグラフィカル表示することを特徴とする請求項１０記載の同期制御装置。
【請求項１６】
複数の動作命令の整合性を検査し、整合しない場合は前記グラフィカル編集部で警告を発生させることを特徴とする請求項１０記載の同期制御装置。
【請求項１７】
複数の動作命令の整合性を検査し、いずれかの動作命令が重複する区間が存在する場合は、どの動作命令の動作タイミングを調整するかを前記グラフィカル編集部で提示することを特徴とする請求項１０記載の同期制御装置。
【請求項１８】
前記グラフィカル編集部は、前記動作命令実行制御部が制御対象とする前記スレーブ軸の動作命令の開始タイミングが他の動作命令の完了タイミングに影響され、かつ、これら動作命令の整合性が得られない場合は、整合性が取れる範囲で最大の運転速度とそれを実現する動作命令の開始タイミングを表示することを特徴とする請求項１０記載の同期制御装置。
【請求項１９】
前記グラフィカル編集部は、前記動作命令実行制御部が命令実行をシミュレーションした結果と、実際の制御対象から得た値を表示することを特徴とする請求項１０記載の同期制御装置。
【請求項２０】
前記グラフィカル編集部は、想定する運転速度と位置決め命令からカムデータを作成し、前記動作命令実行制御部は、前記カムデータに基づいて実行制御を行うことを特徴とする請求項１０記載の同期制御装置。
【請求項２１】
前記グラフィカル編集部は、想定する運転速度と、予め設定したスムージング時間またはスムージングのすべり量に基づき、前記運転速度で前記設定したスムージングを実行した場合の動作パターンからカムデータを作成し、前記動作命令実行制御部は、前記カムデータに基づいて実行制御を行うことを特徴とする請求項１０記載の同期制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】  この発明は、駆動装置を有する産業用機械や製造装置、製造ラインを制御する産業用コントローラにおける同期制御を行う同期制御装置に関するものである。
【背景技術】
【０００２】  従来からサーボモータの同期制御として、同期制御のタイミングを決定するマスタ軸に取り付けたマスタエンコーダの位相とスレーブ軸の位置を一対一に対応付けるカムデータを用いて同期を実現する電子カム制御が広く知られている。また、いわゆる位置決め命令といった、速度や加速度、時間などで軌跡が定義される動作命令があり、これら動作命令を信号入力等で起動する制御も広く知られている。【０００３】  従来、電子カム制御において、カムデータを区間に区切り、この区間を任意の順番、任意の回数で呼出すことで、繰返しを含む同期制御を容易にできるようにする技術が知られている（例えば、特許文献１参照）。  また、電子カム制御において，動作時間が不定の補機動作との同期制御を行うために、補機動作終了時の信号を基にカム動作をシフトさせる制御が知られている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−１３１７４０号公報
【特許文献２】特開２００９−２８２６２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】  しかしながら、例えば、特許文献１に記載された技術は、開始角度を指定してカム動作を起動するものであり、実現できる動作は、マスタ軸とスレーブ軸の位置関係が常に同じである従来からの電子カム制御と同様である。つまり、速度や加速度、時間などで軌跡が定義される動作命令の動作完了や外部や内部の信号変化のタイミングに同期する制御を実現できないという課題があった。【０００６】  また、特許文献２の技術では、実際の信号入力を基に基準軸にシフト量を加えてカム制御を実行するものであり、速度や加速度、時間などで軌跡が定義される動作命令を組合わせた制御を混在させることができないという課題があった。また、基準軸にシフト量を加える制御、特に軸によってシフト量が異なる制御の場合には、プログラミング時や動作モニタ時に全体の動作や各シフト量を把握することが難しく、調整に時間がかかるという課題もあった。【０００７】  この発明は、上記のような課題を解決するためになされたものであり、駆動装置を有する装置の作業効率を向上させると共に、立上げ・調整時間を短縮させることのできる同期制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
この発明に係る同期制御装置は、マスタ軸の角度変化または基準時からの経過時間を変化量情報とし、変化量情報に同期してスレーブ軸の動作命令の実行を制御する制御部を備える同期制御装置であって、制御部は、変化量情報を算出する変化量情報算出部と、スレーブ軸の動作命令に対して、マスタ軸の角度範囲を定めた角度条件または時間範囲を定めた基準時からの時間条件と、制御部の内部メモリの値に基づいて定められる信号条件とが開始条件として定義され、変化量情報が角度条件または時間条件を満たしており、かつ、信号条件が真となり、開始条件が真となった場合は、対応する動作命令の開始を判定すると共に、動作命令の予め定められた完了条件に基づいて動作完了の判定を行う動作命令実行制御部と、動作命令実行制御部で開始と判定された動作命令を実行し、かつ、動作命令実行制御部で動作完了と判定された場合は動作命令を停止する動作命令実行部とを備えたものである。
【発明の効果】
【０００９】
この発明の同期制御装置は、スレーブ軸の動作命令に対して、マスタ軸の角度範囲を定めた角度条件または時間範囲を定めた基準時からの時間条件と、制御部の内部メモリの値に基づいて定められる信号条件とが開始条件として定義され、変化量情報が角度条件または時間条件を満たしており、かつ、信号条件が真となり、開始条件が真となった場合は、対応する動作命令の開始を判定すると共に、動作命令の予め定められた完了条件に基づいて動作完了の判定を行うようにしたので、駆動装置を有する装置の作業効率を向上させると共に、立上げ・調整時間を短縮させることができる。
【図面の簡単な説明】
【００１０】
【図１】二つの軸の同期制御を示す説明図である。
【図２】この発明の実施の形態１による同期制御装置を示す構成図である。
【図３】この発明の実施の形態１の同期制御装置における一定周期で実行される軸制御を示すフローチャートである。
【図４】この発明の実施の形態１の同期制御装置におけるカムデータの一例を示す説明図である。
【図５】この発明の実施の形態１の同期制御装置におけるカム命令の動作を示す説明図である。
【図６】この発明の実施の形態２の同期制御装置における動作タイミングテーブルの一例を示す説明図である。
【図７】この発明の実施の形態２の同期制御装置において実現される動作軌跡の一例を示す説明図である。
【図８】この発明の実施の形態５の同期制御装置における条件分岐を示す説明図である。
【図９】この発明の実施の形態５の同期制御装置における動作タイミングテーブルを示す説明図である。
【図１０】この発明の実施の形態７の同期制御装置における一定周期で実行される軸制御を示すフローチャートである。
【図１１】この発明の実施の形態８の同期制御装置における動作タイミングテーブルの一例を示す説明図である。
【図１２】この発明の実施の形態９による同期制御装置を示す構成図である。
【図１３】この発明の実施の形態９の同期制御装置におけるグラフィカル編集部の表示イメージを示す説明図である。
【図１４】この発明の実施の形態１０の同期制御装置における速度で軸の動作を表現した場合の説明図である。
【図１５】この発明の実施の形態１３の同期制御装置における命令種別毎に区別した場合の説明図である。
【図１６】この発明の実施の形態１３の同期制御装置におけるサーボ軸の位置毎に区別した場合の説明図である。
【図１７】この発明の実施の形態１４の同期制御装置におけるサブプログラムの呼び出しをグラフで表現した場合の説明図である。
【発明を実施するための形態】
【００１１】  以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面に従って説明する。実施の形態１．  本発明は、マスタ軸の角度や動作命令の完了、外部・内部信号の変更に同期してサーボ軸の動作命令を実行することで、サーボ軸の同期制御を柔軟に実行できるようにしたものであり、先ず、その概要について説明する。
【００１２】  図１は、二つの軸の同期制御を示す説明図である。横軸はマスタ軸の角度（Ａｎｇｌｅ）、縦軸は各軸のストローク（ｓｔ）を表している。全体の動きは、先ずマスタ軸の角度がＡ１の時に軸１が動作を開始し、軸１の動作が完了後に軸２が動作を開始する。その後、マスタ軸の角度がＡ２の時に軸１が動作を開始し、軸１の動作が完了後に軸２が動作を開始する動きである。つまり、マスタ軸と連動した特定のタイミングで軸１が動作を開始し、その動作完了後に軸２が動作を開始する動作である。例えば、軸１でワークをクランプ後に軸２が退避するような動作である。ただし、図１では簡略化のために加減速を省略している。
【００１３】  従来、このような制御をする場合には、図１で記述されているようなカムデータを軸毎に作成し、カム制御を行うことで実現してきた。この時のカム曲線はマスタ軸一周分のデータであるため、作業者は軸１が動作を完了する角度を計算して軸２のカムデータを作成していた。この際、装置全体の速度を予め想定しておき、モータの速度や加速度の性能から、モータに過度な負荷がかからないカムデータを作成する必要があった。また、装置の作業効率を向上させるために、装置全体の運転速度を上げる場合には、カムデータも改定する必要があった。
【００１４】  そこで、本発明では、軸１は角度Ａ１とＡ２でそれぞれ位置決め命令を実行し、軸２は対応する軸１の位置決め命令が完了したタイミングでそれぞれ位置決め命令を実行するという制御を実行する。位置決め命令は速度や加速度を指定する命令であるので、モータの性能を十分に発揮する動作を簡単に、且つ、装置全体の運転速度とは無関係に実現できる。すなわち、装置全体の運転速度を上げる場合にもプログラムを変更することなく、軸１はマスタ軸の特定角度で動作を開始し、軸２は軸１の動作完了後に動作を開始するという同期を保ちつつ、モータの性能を十分に発揮する動作を実現できる。
【００１５】  図２は、実施の形態１の同期制御装置を示す構成図である。  図示のように、同期制御装置は、変化量情報算出部１、動作命令実行制御部２、動作命令実行部３を有する制御部１００を備えている。変化量情報算出部１は、変化量情報として、マスタ軸の角度を検出するマスタエンコーダ２００からの信号に基づいて、同期制御装置として使用するマスタ軸の角度を計算する演算部である。すなわち、変化量情報算出部１は、マスタエンコーダ２００から制御部１００への通信遅れや、制御部１００から制御対象となる軸端への通信・制御遅れの補償も含む処理を行うものであり、これら補償は既知の遅れ時間とマスタ軸の回転速度から現在の制御周期で想定すべきマスタ軸の角度を計算する処理である。なお、これらの処理については既知の技術であるため、ここでの詳細な説明は省略する。
【００１６】  動作命令実行制御部２は、マスタ軸の角度が動作命令で定義されている角度条件を満たし、かつ、信号条件が真であった場合は、対応する動作命令の開始と判定し、また、動作命令の予め定められた完了条件に基づいて動作完了の判定を行う処理部である。また、動作命令実行制御部２が保持する動作タイミングテーブル４については実施の形態２で説明する。なお、図示例では、動作タイミングテーブル４は動作命令実行制御部２内に設けられているが、動作命令実行制御部２の外部に設けられていてもよい。
【００１７】  動作命令実行部３は、動作命令実行制御部２で開始と判定された動作命令を実行し、かつ、動作命令実行制御部２で動作完了と判定された場合はその動作命令を停止する動作命令の実行部であり、制御対象であるサーボ軸の制御を行うサーボアンプ３００に対してその指令値を出力する。
【００１８】  次に、実施の形態１の同期制御装置の動作を図３のフローチャートに沿って説明する。図３は、一定周期で実行される軸制御を示すフローチャートである。  先ず、変化量情報算出部１は、マスタ軸の角度計算を実行する（ステップＳＴ１）。この処理は、上述したように、マスタエンコーダ２００からの制御部１００への通信遅れや、制御部１００から軸端への通信・制御遅れの補償も含む処理であり、これら補償は既知の遅れ時間とマスタ軸の回転速度から現在の制御周期で想定すべきマスタ軸の角度を計算することで行う。
【００１９】  次に、動作命令実行制御部２は、各軸の現在実行中の動作命令、すなわち、今回の定周期処理までに開始されて、まだ終了していない動作命令を処理してサーボアンプ３００への指令値を計算する（ステップＳＴ２）。実行中の動作命令の完了判定もこのステップＳＴ２で実行される。動作命令が実行中ではない場合には、特に処理を実行しない。
【００２０】  次に、動作命令実行制御部２は、動作命令開始を受入れ可能な状態の各軸において、動作命令の開始条件を判定する（ステップＳＴ３）。開始条件は、例えば角度条件と信号条件からなり、両方の条件が真であれば該当する動作命令が実行開始される。動作命令実行部３は、ステップＳＴ３で実行開始と判定された動作命令を処理してサーボアンプ３００への指令値を計算する（ステップＳＴ４）。この時の指令値はステップＳＴ２の指令値を上書きする。
【００２１】  上記のステップＳＴ２において、動作完了の判定は動作命令が完了する位置への指令を生成した時点で行われる。すなわち、カム制御のようなマスタ軸の角度に対応して出力が決定される命令であれば、ステップＳＴ１で計算したマスタ軸の角度がカムデータの終端に達した場合には、その終端部のカムデータで指令値を生成し、動作完了の判定を行う。また、位置決め命令のような、命令の指令値とエンコーダ値を比較して十分に小さい場合に動作命令を完了とする命令においても、エンコーダ値との比較は実施せずに命令の終端に対応する指令値を出力する時点で動作完了とする。制御部１００は全体の制御を、ステップＳＴ１において、通信遅れを補償するために制御部１００に入力されるマスタ軸の角度情報よりも進んだ角度を基に実行しているため、エンコーダ値との比較では通信遅れの待ち時間が発生してしまい、装置の運転速度向上を阻害する要因となるからである。
【００２２】  ステップＳＴ３において、角度条件とはステップＳＴ１で計算されたマスタ軸の角度と定数若しくは変数との比較式で表現される。比較演算子は、例えば“＝”，“＜”，“＝＜”，“＞”，“＞＝”などの一般的な演算子が利用される。ただし、“＝”は式の両辺が等しいかを判定するのでは無く、ステップＳＴ１で計算されたマスタ軸の角度が初めて比較される定数若しくは変数に達した周期において真と判定される。例えば、マスタ軸の角度をＡｎｇｌｅと表現し、角度条件の比較式が“Ａｎｇｌｅ＝１００”であり、前回の処理周期でのステップＳＴ１のマスタ軸の角度計算結果が９８で、今回の処理周期でのステップＳＴ１のマスタ軸の角度計算結果が１０１であった場合には、今回の処理周期において前記角度条件の比較式“Ａｎｇｌｅ＝１００”は真と判定される。その他の不等式は一般的に使用されている”小なり“，”以下“，“大なり“，”以上“と同じであり、ステップＳＴ１のマスタ軸の角度計算結果と定数若しくは変数を比較して判定する。範囲を設定するために、複数の不等式を用いて条件式を設定しても良い。
【００２３】  ステップＳＴ３において、信号条件とは制御部１００の内部メモリの値と定数若しくは変数との比較式で表現される。ここで、内部メモリの値には、ＯＮ／ＯＦＦの２値で表現されるデバイスや数値や文字列を扱えるデバイス、タイマなどの内部デバイスだけでなく、スイッチやセンサなどからの外部入力機器からの信号状態も含まれる。比較演算子は、例えば“＝”，“＜”，“＝＜”，“＞”，“＞＝”などの一般的な演算子が利用される。信号条件は複数の比較式の論理和や論理積で表現されても良い。また、指定した軸の指定した動作命令の完了したタイミングを信号条件として指定しても良い。  ステップＳＴ３において角度条件と信号条件は省略をしても良く、その場合は該当条件がそれぞれ真であるとする。
【００２４】  既存のカム制御と同様にマスタ軸には一周の長さが設定されており、マスタ軸が回転を続けて一周を超える時にはマスタ軸の角度は０に戻り、周期的に制御は実行される。  実行される動作命令は、カム命令や位置決め命令などである。ただし、本発明のカム命令では、カムデータのカム長はマスタ軸の一周とは一致せず、カム長だけ動作を実行したら該当する動作命令は完了する。例えば、図４のようなカム長さがｗのカムデータＣ１があり、図５のようにマスタ軸の角度がＡ１の時にＣ１のカムデータで制御するカム命令が実行された場合、マスタ軸の角度がＡ１＋ｗを通過するまでは該当するカム命令が実行され、マスタ軸の角度がＡ１＋ｗで該当する動作命令が完了する。
【００２５】  マスタ軸の速度に連動した動作軌跡を描くような動作命令を実現したい場合、例えばコンベア上を流れているワークに追従して動作を行いたい場合や、カム制御で動作している軸との同期動作を実現したい場合などには、カム命令を実行すれば良い。一方、動作の開始タイミングだけを合わせたい場合や、他機器との関係でマスタ軸の速度とは無関係に一定時間・一定速度で動作させたい場合、できるだけ速く動作させたい場合には、位置決め命令を実行すれば良い。また、外部機器の動作完了待ちなどで指定した時間だけ軸の位置を保持したい場合には時間待機命令を実行し、該当の時間待機命令の完了タイミングで、適切な移動命令を実行すれば良い。
【００２６】  また、変化量情報として、角度条件の代わりに時間条件で記述しても良い。この場合、マスタ軸の角度の代わりにマスタ局の時間が基準となり、こちらも一周の長さが設定してあって周期的に制御が実行される。マスタ軸の回転速度が変更されるように、基準時間の進む速さをシステム内で自由に変更できるものとする。
【００２７】  このように、実施の形態１では、マスタ軸の角度条件と制御部１００の内部メモリの信号条件に基づいて、カム命令や位置決め命令、時間待機命令などのサーボ軸の動作命令を起動することによって、動作タイミングをマスタ軸に同期してサーボ軸の各種動作命令を実行するという柔軟な同期制御が可能になる。この制御によって、従来必要であった動作タイミングの同期をとるためのインターロック信号の処理やサーボ軸の位置決め完了待ちといった待ち時間が削減でき、装置の運転速度の向上が可能になる効果がある。また、装置の運転速度を上げる場合にも、カムデータの調整が削減でき、調整時間を短縮できる効果がある。
【００２８】  以上説明したように、実施の形態１の同期制御装置によれば、マスタ軸の角度変化または基準時からの経過時間を変化量情報とし、この変化量情報に同期して動作命令の実行を制御する同期制御装置であって、変化量情報を算出する変化量情報算出部と、動作命令に対して、マスタ軸の角度条件または基準時からの時間条件を示す開始条件と、所定の信号条件とが定義され、変化量情報が開始条件を満たし、かつ、信号条件が真であった場合は、対応する動作命令の開始を判定すると共に、動作命令の予め定められた完了条件に基づいて動作完了の判定を行う動作命令実行制御部と、動作命令実行制御部で開始と判定された動作命令を実行し、かつ、動作命令実行制御部で動作完了と判定された場合はその動作命令を停止する動作命令実行部とを制御部として備えたので、駆動装置を有する装置の作業効率を向上させると共に、立上げ・調整時間を短縮させることができる。
【００２９】実施の形態２．  実施の形態２は、実施の形態１の制御を実現するのに好適なデータ構造と処理方式についての例を示すものである。実施の形態２では、動作命令実行制御部２に保持された、軸毎に動作命令が動作実行順に格納された動作タイミングテーブル４について説明する。  図６は、制御部１００（ＣＰＵ１）の軸１の動作タイミングテーブルの例、図７は実現される動作軌跡の例である。角度０でカムデータ１のカム動作を実行し、角度９０でサーボ１の位置決め命令を実行する。サーボ１の位置決め命令完了後に２ｓｅｃ軸の位置を保持した後に、サーボ２の位置決め命令を実行する。
【００３０】  説明を簡単にするために、図３のステップＳＴ１で計算されるマスタ軸の角度が０に達する初めての処理周期から、図６の動作タイミングテーブル４で軸１を動作開始させるとする。最初の処理周期では動作命令が実行中ではないのでステップＳＴ２での処理はない。続いてステップＳＴ３で動作番号１の動作命令の開始条件を判定する。ここでは、角度条件と信号条件の両方を満たしているので、動作番号１の動作命令を起動する。最後にステップＳＴ４でカムデータ１に基づいて指令値を生成する。カムデータがアドレスとストロークで定義されているとすると、カム命令が開始された角度（この場合は０）からステップＳＴ１で計算されたマスタ軸の角度までに進んだ角度を計算し、それをアドレスとしてカムデータからストロークを導出して指令値とする。
【００３１】  カムデータ１のカム長がｗであったとすると、ステップＳＴ１で計算される角度がｗを超えるまでの処理では、ステップＳＴ２でカムデータ１に基づいた指令値を生成し、次の動作命令を受入れ可能な状態ではないのでステップＳＴ３とステップＳＴ４では何も処理をしない。  ステップＳＴ１で計算される角度がｗを超える最初の処理周期では、ステップＳＴ２で動作完了の処理を実行し、次の動作命令を受入れ可能な状態に移る。続けて、ステップＳＴ３では動作タイミングテーブルで次の動作命令である動作番号２の動作命令の開始条件の判定を実行する。ここではｗ＜９０とすると、この処理周期では判定は偽となるため、動作命令は実行されない。今回の処理周期で計算されたマスタ軸の角度は、動作番号２の角度条件を超えていないため、次の動作命令の開始条件の判定には移らずにステップＳＴ３は終了する。ステップＳＴ４も動作命令が開始されていないので何も処理しない。
【００３２】  ステップＳＴ１で計算される角度が動作番号２の角度条件である９０を超えるまでの処理では、ステップＳＴ２は何も処理をせず、ステップＳＴ３は動作番号２の開始条件に偽の判定を行い、ステップＳＴ４は何も処理をしない。  ステップＳＴ１で計算される角度が動作番号２の角度条件である９０に達する最初の処理では、ステップＳＴ３は動作番号２の開始条件に真の判定を行い、動作命令を起動する。ステップＳＴ４ではサーボ１に基づいた位置決め命令を処理して指令値を生成する。  ステップＳＴ２において動作番号２の位置決め命令が完了判定されるまでは、ステップＳＴ２で指令値を生成し、次の動作命令を受入れ可能な状態ではないのでステップＳＴ３とステップＳＴ４では何も処理をしない。
【００３３】  ステップＳＴ２において動作番号２の位置決め命令が完了判定された処理周期では、ステップＳＴ３では動作タイミングテーブル４で次の動作命令である動作番号３の動作命令の開始条件の判定を実行する。ステップＳＴ１で計算されたマスタ軸の角度が１８０未満とすると角度条件は真であり、信号条件であるＣＰＵ１の軸１の動作番号２の動作命令は完了しているので、動作番号３の開始条件は真となり、動作命令が実行される。ステップＳＴ４は２ｓｅｃの間軸の位置を保持するという命令に基づいて指令値を生成する。上述した処理と同様に動作命令３が完了するまでは、ステップＳＴ２では指令値を生成し、ステップＳＴ３とステップＳＴ４では何も処理を行わない。
【００３４】  ステップＳＴ２において動作番号３の時間待機命令が完了判定された処理周期では、ステップＳＴ３では動作タイミングテーブルで次の動作命令である動作番号４の動作命令の開始条件の判定を実行する。ステップＳＴ１で計算されたマスタ軸の角度が２７０未満とすると角度条件は真であり、信号条件であるＣＰＵ１の軸１の動作番号３の動作命令は完了しているので、動作番号４の開始条件は真となり、動作命令が実行される。ステップＳＴ４ではサーボ２に基づいた位置決め命令を処理して指令値を生成する。これまでの説明と同様に動作命令４が完了するまでは、ステップＳＴ２において指令値を生成し、ステップＳＴ３とステップＳＴ４では何も処理を行わない。
【００３５】  最後に、ステップＳＴ２において動作番号４の時間待機命令が完了判定された処理周期では、ステップＳＴ３では動作タイミングテーブルが動作番号４までしか定義されていないため、最初の動作命令である動作番号１の動作命令に戻って開始条件の判定を実行する。  以降は、マスタ軸の一周期と合わせて動作命令が実行されていく。
【００３６】  ここで、動作番号２において、開始条件判定に移った処理周期が、マスタ軸の角度が初めて９０を超えた処理周期を超えていた場合には、動作を実行せずに次の動作番号に移行するか、警告を出力した上で動作を実行しても良い。  また、動作番号３，４においても、開始条件判定に移った処理周期において、マスタ軸の角度がそれぞれ１８０，２７０を超えていた場合には、動作を実行せずに次の動作番号に移行するか、警告を出力した上で動作を実行しても良い。
【００３７】  図６では、動作番号３，４はそれぞれ信号条件で動作完了を明記して記述しているが、信号条件を明記しない（常に真とする）記述方法でも同様の制御が可能となる。また、動作開始が遅れた場合の警告や動作命令の不実行を無視するのであれば、動作番号３，４は角度条件を明記しない（常に真とする）記述方法でも同様の制御が可能となる．
【００３８】  以上説明したように、実施の形態２の同期制御装置によれば、マスタ軸一周分または基準時からの一周期分の開始条件と動作命令を実行順に並べた動作タイミングテーブルを備え、動作命令実行制御部は、いずれかの動作命令が実行されるか、変化量情報が開始条件の値を通過した場合に、次に実行する動作命令の判定に移行し、動作タイミングテーブルの実行順の最後を過ぎた場合は、動作タイミングテーブルの最初の実行順の判定に移行するようにしたので、各軸の動作命令は動作タイミングテーブルに記述された順番で実行されるため、不必要な条件判定を記述・処理する必要が無くなり、プログラム記述の簡素化と処理負荷を低減する効果がある。
【００３９】実施の形態３．  複数の制御部１００を用いた設備での同期制御を考えた場合、他の制御部１００で管理するメモリを参照するには通信遅れが発生する。一方で、マスタ軸に同期した制御では、マスタ軸のマスタエンコーダ２００と制御部１００、制御部１００と軸端との間にある通信遅れを補償するために、制御部１００への入力信号より先んじた指令を生成している。よって、動作完了のような他の制御部１００の管理するメモリを参照して動作命令を開始すると、メモリ参照の通信遅れだけ制御部間の同期がずれてしまうという問題がある。
【００４０】  そこで、実施の形態３では、特定の制御部１００の動作命令完了を動作開始タイミングに指定して同期するために、参照される特定の制御部１００は動作命令が完了するマスタ軸の角度を計算し、計算された角度を他の制御部１００が参照するようにしたものである。  すなわち、動作命令を実行する各制御部が、動作命令が完了するマスタ軸の角度を計算し、計算された角度を他の制御部が参照することによって、各制御部は指定した動作命令の完了タイミングに遅れることなく動作命令を開始することができる。一意に定まるマスタ軸の角度を動作開始タイミングにすることで、複数の制御部を用いた場合でも、動作命令完了を動作命令の開始タイミングに指定した同期制御が可能になる。
【００４１】  完了角度は「動作命令の開始角度＋動作命令の動作実行角度」の式で、動作命令が開始するタイミングで計算される。動作命令の動作実行角度はカム命令であれば実行するカムデータのカム長になる。位置決め命令や時間待機命令では、各命令の実行時間に動作開始時のマスタ軸の回転速度を乗じることで計算される。
【００４２】  特定の制御部の動作命令完了を動作開始タイミングにする場合には、参照先となる特定の制御部から上記の式で計算された該当する動作命令の完了角度と、該当する動作命令が実行開始されたかのデータを受取り、ステップＳＴ３は該当する完了角度を通過するタイミングを持って信号条件である動作完了を真とする。実行開始のデータが得られない場合には信号条件である動作完了は偽とする。
【００４３】  特定の制御部との同期タイミングを合わせるために、時間待機命令や位置決め命令などの一定時間で動作する命令は、上記の式で計算した完了角度をマスタ軸の角度が通過する処理周期で動作命令を完了とし、次の動作命令に移行しても良い。
【００４４】  以上説明したように、実施の形態３の同期制御装置によれば、複数の制御部を備え、任意の制御部が、これとは異なる特定の制御部の動作命令の完了を自身の信号条件としている場合、特定の制御部が動作命令の完了タイミングを算出すると共に、任意の制御部は、特定の制御部における動作命令の完了タイミングに基づいて自身の動作命令の開始判定を行うようにしたので、位置決め命令や時間固定命令の完了タイミングを変化量情報で共有することによって、制御部間の同期精度を向上させる効果がある。
【００４５】実施の形態４．  動作命令として、速度命令やトルク命令、ギア命令などを追加しても良い。これらの命令は、一方向に対して軸が回転し続ける動作であり、終了のタイミングを指定するか停止指令が入るまで動作し続けるものである。  速度命令やトルク命令は指定した速度や加速度、トルクでモータを制御する命令であり、マスタ軸の速度とは無関係に動作する、ギア命令はマスタ軸とのギア比を指定してマスタ軸の速度と比例した速度で軸を動作させる命令である。ギア命令では，動作命令開始時や終了時の過度な加速度を抑えるためにスムージング動作を導入しても良い。
【００４６】  このような動作命令は、実施の形態１〜３で説明してきた動作命令とは異なり、動作命令開始時には完了条件が定義されないため、停止命令の実行によって動作命令が終了する。これら動作命令は命令開始後に次の動作命令を受入れ可能状態となり、次の動作命令の動作開始条件を判定することになる。例えば、続く命令としては、停止命令や指令値の変更命令、位置決め命令などがある。
【００４７】  また、動作命令に完了条件を指定しても良い。例えば、信号入力や指定時間、完了角度などである。これら完了条件を指定した場合には、動作命令開始後も完了条件が満たされるまでは、次の動作命令を受入れ可能状態とする必要はない。
【００４８】  以上説明したように、実施の形態４の同期制御装置によれば、動作命令として、自身が完了条件を有さず、他の動作命令によって停止する命令としたので、速度命令やトルク命令、ギア命令などのモータを回転させ続ける制御にも対応することで制御の幅を広げる効果がある。
【００４９】実施の形態５．  図８のように内部メモリＤ０の値によって実行する動作命令を変更する条件分岐を実現するために、図９のように動作命令のグループ化を行っても良く、これを実施の形態５として次に説明する。
【００５０】  グループ化されていない動作命令の場合、動作命令が実行完了するかマスタ軸の角度が開始条件の角度条件を通過した場合に、次の動作命令に移行する。一方でグループ化された動作命令の場合には、開始条件が真でなかった場合にはグループ内の次の動作命令の開始条件を判定していく。そしてグループ内の動作命令が一つでも実行された場合か、マスタ軸の角度がグループ内の全ての開始条件を通過した場合に、グループ外の次の動作命令に移行する。ここで，マスタ軸の角度がグループ内の開始条件を一つでも通過していない場合で、全ての動作命令の信号条件が偽であり、グループ内の動作命令が一つも実行されなかった場合には，次の処理周期においても、このグループ内の動作命令の判定を実行していく。
【００５１】  例えば、図９に示すような動作タイミングテーブル４が設定されていた場合、マスタエンコーダの角度が０゜の時に動作番号１に記載の動作命令１が実行され、動作命令１の実行が完了直後にＤ０の値に従って、動作番号２，３，４にそれぞれ記載の動作命令２，３，４の何れかが実行されるか、信号条件が偽であって何れも実行されない。何れかの命令が実行完了後か、信号条件が偽であった場合には、動作命令１の開始条件の判定に移る。角度条件、信号条件が共に記載の無い場合には常に真として実行する。また、角度条件の記載が無い場合には、該当する動作命令の動作開始判定は一度だけ実行される。さらに、信号条件が偽だった場合には、動作命令を開始せずに次の動作命令に移る。
【００５２】  なお、図９では、単純な「グループ化開始」「グループ中」「グループ化終了」としているが、各グループに番号を付けたり、入れ子構造などにして、複雑な条件分岐を可能にしても良い。
【００５３】  以上説明したように、実施の形態５の同期制御装置によれば、任意の動作命令がグループ化され、動作命令実行制御部は、グループ内のいずれかの動作命令が条件を満たした場合に条件を満たした動作命令の開始を判定するようにしたので、実行する動作命令の条件分岐が可能となり、制御の幅を広げる効果がある。
【００５４】実施の形態６．  動作命令として、動作タイミングテーブル４の変更や動作番号の変更を追加しても良い。装置の不良や制作する製品の変更等で実行する動作命令を大きく変更したい場合に、指定した動作タイミングテーブル４へ変更する。または、次の実行する動作番号を指定して動作順序を変更したい場合に用いる。  このように構成することで、他の動作命令と同様に、開始条件が真になった場合に命令が実行されて、指定した動作タイミングテーブル４に変更したり、指定した動作番号に変更したりする。
【００５５】  以上説明したように、実施の形態６の同期制御装置によれば、動作命令として、他の動作タイミングテーブルへの変更、または現在の動作タイミングテーブルにおける動作命令の実行順序の変更を含むようにしたので、制御ロジックの幅を広げる効果がある。
【００５６】実施の形態７．  出力デバイスや内部メモリの値の変更を動作タイミングテーブル４で記述しても良い。マスタ軸の角度や軸の動作完了などに同期して、変更を実行したい出力デバイスや内部メモリを選択し、動作タイミングテーブル４を作成する。開始条件の記述はサーボ軸と同じである。実行される命令としては、デバイスのＯＮ／ＯＦＦやパルス出力、メモリの値変更などである。
【００５７】  図１０は処理のフローチャートである。サーボ軸の処理に加えてステップＳＴ１０の内部メモリの変更処理（出力デバイスの変更処理を含む）が、動作命令の開始条件判定の前に実行される。その他のステップＳＴ１〜ＳＴ４の処理については図３と同様であるため、ここでの説明は省略する。
【００５８】  以上説明したように、実施の形態７の同期制御装置によれば、動作タイミングテーブルは、同期制御対象とする出力デバイスまたは同期制御を実行する際に用いる値である内部メモリの値の変更を含むようにしたので、出力デバイスや内部メモリの値をマスタ軸の角度やサーボ軸の動作完了に同期して変更処理ができるため、外部機器や内部処理も含めた同期制御が可能になる効果がある。
【００５９】実施の形態８．  マスタ軸の角度でタイミングが定義されている出力デバイスや内部メモリの値の変更命令を、デバイスやメモリ毎には分割せずにまとめてテーブルで記述しても良く、これを実施の形態８として次に説明する。
【００６０】  図１１は、実施の形態８のデバイス命令をまとめた動作タイミングテーブル４の一例である。図示のように、動作命令は角度条件の昇順に並べられている。信号条件は前述までの実施の形態と同様である。デバイスは変更するデバイスを指定し、命令は変更内容を指定する。  このように構成された動作タイミングテーブル４を用いて、動作命令実行制御部２では、前回の処理周期でのマスタ軸の角度から今回の処理周期でのマスタ軸の角度までに該当する動作命令だけを条件判定し、命令を実行する。
【００６１】  以上説明したように、実施の形態８の同期制御装置によれば、出力デバイスまたは内部メモリの値の変更命令を、一つの動作タイミングテーブルで保持するようにしたので、前回の処理周期でのマスタ軸の角度から今回の処理周期でのマスタ軸の角度までに該当する動作命令だけを条件判定することで、処理を実行する動作命令を最小限に抑えることができ、処理負荷を低減する効果がある。
【００６２】実施の形態９．  データの入力や動作確認をグラフィカルに表現するエディタ（グラフィカル編集部）で実現しても良く、これを実施の形態９として次に説明する。  図１２は、実施の形態９の同期制御装置の構成図であり、図２に示した同期制御装置の構成に対してエディタであるグラフィカル編集部４００が追加されている。このグラフィカル編集部４００は、動作命令実行制御部２の実行制御状態をグラフィカルに表示すると共に、表示されている内容に対する動作命令または内部メモリの値の変更の編集入力を受け付ける機能を有するものである。
【００６３】  図１３は、グラフィカル編集部４００における表示イメージを示す説明図である。横軸はマスタ軸の一周期分の角度を表現し、各グラフはサーボ軸の位置やデバイスのＯＮ／ＯＦＦ，格納されている値を表現している。  グラフィカル編集部４００では、装置全体の運転速度であるマスタ軸の想定速度を入力する。図１３では運転速度と表示している。入力された運転速度と動作タイミングテーブル４を基にサーボ軸やデバイスの状態を表示する。  サーボ軸はマスタ軸の角度に応じた位置が表示される。各軸の命令実行状態によって色や線種が変更される。例えば、命令実行待ちの状態は灰、カム動作中は黒、位置決め命令中は緑、時間待機命令中は橙など、実行中の命令種別を含めて視覚的に区別がつくように表現される。動作開始タイミングが動作命令完了である命令は、その対応関係が視覚的に分かるように矢印などの線分で表現される。  ＯＮ／ＯＦＦなどの２値を取るデバイスの状態も、図１３のＹ０軸のようにグラフ表現される。整数値などの値を保持するデバイスの状態は、図１３のＤ０軸のように格納されている値が表現される。
【００６４】  グラフィカル編集部４００では、作成したプログラムの確認だけでなく調整も可能とする。例えば、命令が記述されている線分をマウスでドラッグアンドドロップ操作をすることで、角度条件を変更可能とする機能、命令が記述されている線分を選択することで、対応する命令の編集画面が呼出される機能、画面上の位置を指定して各種命令を追加する機能、２つの命令を選択することで、一方の動作開始条件をもう一方の動作完了条件とする機能などが挙げられる。何れの機能においても、プログラムが変更された際には、自動的に表現が更新されるものとする。
【００６５】  以上説明したように、実施の形態９の同期制御装置によれば、マスタ軸の角度変化または基準時からの経過時間を変化量情報とし、この変化量情報に同期して動作命令の実行を制御する同期制御装置であって、動作命令に対応して設けられた命令実行条件、または、制御に用いる任意のデバイスの値を示す内部メモリの値の変更実行条件に対して、変化量情報と自身が有する所定の信号値とを照合し、これらが共に命令実行条件または変更実行条件を満たしていた場合に、動作命令または内部メモリの値の変更を実行するよう制御を行う動作命令実行制御部と、動作命令実行制御部の実行制御状態をグラフィカルに表示すると共に、表示されている内容に対する動作命令または内部メモリの値の変更の編集入力を受け付けるグラフィカル編集部とを備えたので、軸やデバイスの状態をグラフィカルに表現することで、同期状態が理解し易くなり、合わせてグラフィック上で編集を行えることで、プログラムの調整や編集が容易になる効果がある。
【００６６】実施の形態１０．  速度命令やトルク命令，ギア命令などのように、モータを一方向に回し続ける命令は、変位ではなく、Ｏｎ／ＯＦＦや速度をグラフで表現しても良い。図１４は速度で表現したものであり、グラフの縦軸が速度となっている。
【００６７】  以上説明したように、実施の形態１０の同期制御装置によれば、制御対象とするサーボ軸への動作命令がモータを一方向に回し続ける命令であった場合、変化量に対する速度またはオン／オフ状態でグラフィカル表示したので、変位での表現では理解しにくい命令でも軸の動作状態を理解し易くなり、調整や編集が容易になる効果がある。
【００６８】実施の形態１１．  時間を表現する軸を表示できるようにしても良い。グラフィカル編集部４００における表示上の横軸はマスタ軸の角度に対応しているが、角度表示を時間表示に変更したり、時間または角度を表示する補助軸を追加で表現したりしても良い。
【００６９】  以上説明したように、実施の形態１１の同期制御装置によれば、変化量情報として、マスタ軸の角度変化と基準時からの経過時間のうちいずれか一方または両方を表示するようにしたので、マスタ軸の角度だけでなく時間でも表現できるため、時間で動作タイミングを計る命令の調整や編集が容易になる効果がある。
【００７０】実施の形態１２．  プログラム上にあるサーボ軸やデバイスの表示ＯＮ／ＯＦＦや入れ替え、グループ化をしても良い。グラフィカル編集部４００において、表現するグラフが多くなった場合に調整や編集を容易にするため、注目したい箇所を適切に表現できるようにする機能が求められる。そこで、実施の形態１２では、グラフィカル編集部４００において、例えば、サーボ軸やデバイスを選択してグラフ表示のＯＮ／ＯＦＦを切替可能にする機能、グラフをドラッグアンドドロップで表示する上下の順番を入れ替える機能、複数のグラフをグループ化しておき、纏めて表示のＯＮ／ＯＦＦや順番の入れ替えを行う機能などを実現する。
【００７１】  以上説明したように、実施の形態１２の同期制御装置によれば、グラフィカル編集部は、制御対象とするサーボ軸または任意のデバイスのうち少なくとも一方の表示のオン／オフ、入れ替え、またはグループ化のうち少なくともいずれかを行って表示するようにしたので、グラフの表示のＯＮ／ＯＦＦや表示順序を変更できることにより、プログラムの状態を適切に表現でき、調整や編集を容易にする効果がある。
【００７２】実施の形態１３．  グラフィカル編集部４００は、サーボ軸やデバイスの表現をグラフ表示ではなくラインで表現しても良い。グラフで表現すると、視覚的に軸やデバイスの変位が理解し易いが、画面上に多くの数を表現できないという課題がある。そこで、ラインで表現し、動作命令の状態や位置をラインの色や線種で区別する。例えば、実施の形態９で説明したように、動作種別毎に色や線種を変える機能や、サーボ軸の位置毎に色や線種を変える機能、移動中と停止時のサーボ軸の位置で色や線種を変える機能である。また、デバイスのＯＮ／ＯＦＦで色や線種を変える機能や、デバイスに格納されている値で色を変える機能である。
【００７３】  図１５は、命令種別毎に区別した場合であり、図１３におけるＣＰＵ１＿軸１、ＣＰＵ１＿軸２、ＣＰＵ２＿軸１のグラフ表示をライン表示としている。ここで、例えば、ライン表示におけるＡは正方向の位置決めを示し、赤で表示する。また、Ｂは負方向の位置決めを示し、青で表示する。さらに、Ｃはカム動作を示し、緑で表示する。Ｄは停止中を表し、白色表示とする。
【００７４】  また、図１６は、同様に、サーボ軸の位置毎に区別した場合である。ライン上をグラデーションで表現しており、ａは正方向（黒）、ｂは負方向（白）、ｃは原点位置（黄）を示している。
【００７５】  以上説明したように、実施の形態１３の同期制御装置によれば、グラフィカル表示を、ライン状で、かつ、ラインの位置に応じて表示を変化させるようにしたので、サーボ軸やデバイスをラインで表現することで、画面上に表現できる数を増やすことができ、プログラム全体の調整や編集を容易にする効果がある。
【００７６】実施の形態１４．  グラフィカル編集部４００は、サブプログラムの呼び出しをグラフで表現しても良い。演算処理や外部入力信号のチェックなどを、マスタ軸の角度やサーボ軸の動作に同期して実行したい場合に利用する。図１７はグラフ表示の例である。ここでＳＰＲＧ１は、例えば入力信号を確認する命令で、外部センサからの入力値を特定のタイミングで取込む処理である。また、ＳＰＲＧ２は一定期間だけ内部メモリの状態を監視するプログラム処理である。つまり、ＳＰＲＧ１は一度だけ実行される処理で、ＳＰＲＧ２は一定期間だけ繰返し処理される処理である。  これらタイミングは、デバイスの命令と同様にグラフィカル編集部４００で編集可能とする。
【００７７】  以上説明したように、実施の形態１４の同期制御装置によれば、グラフィカル編集部は、動作命令実行制御部が実行しているプログラムに対するサブプログラムの呼び出しを示す表示を行うようにしたので、演算処理のプログラムの実行タイミングをグラフィカルに表現・編集することができ、調整や編集を容易にする効果がある。
【００７８】実施の形態１５．  グラフィカル編集部４００は、入力信号や内部メモリの値を設定可能にし、それらの状態の基での動作をグラフ表現できるようにしても良い。グラフィカル編集部４００において、入力信号や内部メモリの値の指定できる入力画面を用意し、入力された状態でのプログラム実行状態をグラフィカルに表現する（例えば図１３に示すような表示）機能や、グループ化された動作命令に対しグラフィック画面上で実行する動作命令を選択できるようにする機能を追加する。
【００７９】  以上説明したように、実施の形態１５の同期制御装置によれば、グラフィカル編集部は、動作命令実行制御部が制御を行うための入力信号と内部メモリの値を設定する設定入力を受け付けると共に、グループ化された動作命令に対して実行する動作命令を選択する選択入力を受け付け、これらの入力に対する動作命令実行制御部の制御結果を表示するようにしたので、例えば、条件分岐によって変化する動作パターンをグラフィカルに表現できることにより、調整や編集を容易にする効果がある。
【００８０】実施の形態１６．  グラフィカル編集部４００において、入力信号や内部メモリの値を指定した角度や時間で変更するシナリオを入力し、入力したシナリオに沿って複数周期に跨る動作パターンをグラフィカルに表現しても良い。ここで、シナリオは、外部機器や他の制御部１００からの入力を模擬するものであり、例えば、次のように構成されている。
【００８１】=90 Then X0 = ON          角度90で外部入力X0がON=120 Then X0 = OFF        角度120で外部入力X0がOFFY0=ON+300msec Then X1=ON      出力Y0がONの300msec後にX1がONY0=OFF+10msec Then X1=OFF    出力Y0がOFFの10msec後にX1がOFFTime=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を代入
【００８２】  動作命令実行制御部２は、このようなシナリオに沿ってシミュレーションを行い、その結果をグラフィカル編集部４００で表示する。
【００８３】  以上説明したように、実施の形態１６の同期制御装置によれば、グラフィカル編集部は、動作命令実行制御部が制御を行うための入力信号および内部メモリの値のうち少なくとも一方の値を、指定した変化量に従って変更するシナリオを入力し、入力したシナリオに沿って動作する動作命令実行制御部のシミュレーション結果をグラフィカル表示するようにしたので、シナリオに沿った場合の動作パターンを表示することにより、プログラムのシミュレーション結果を確認することができ、調整や編集を容易にする効果がある。
【００８４】実施の形態１７．  サーボ軸の動作タイミングテーブル４の整合性を確認し、整合しない場合は、グラフィカル編集部４００において、その警告をテキストかグラフィック画面上で表現しても良い。すなわち、動作命令の受入れ可能状態であるかを考慮せずに、サーボ軸の動作命令の開始タイミングと完了タイミングを比較し、他の動作命令の動作完了前に動作開始が行われている動作命令がある場合、グラフィカル編集部４００において、開始される動作命令に対する警告を表示する。なお、整合性の確認は動作命令実行制御部２で行っても良い。
【００８５】  グラフィカル編集部４００における警告の表示としては、例えば、動作命令が重複している区間を文字で表現したり、該当区間の動作命令の線分の色や線種を変更、該当区間の背景色を変更して表現したりする。
【００８６】  以上説明したように、実施の形態１７の同期制御装置によれば、複数の動作命令の整合性を検査し、整合しない場合はグラフィカル編集部で警告を発生させるようにしたので、動作タイミングに不備がある場合には警告を表示することで、調整や編集を容易にする効果がある。
【００８７】実施の形態１８．  実施の形態１７では、動作タイミングテーブル４の整合性を確認し、動作命令が重複する区間が存在する場合は警告を表示したが、どこの動作タイミングを調整すれば良いかをグラフィカル編集部４００で提示しても良い。
【００８８】  他の動作命令の完了を動作開始タイミングにしている動作命令の完了タイミングは、参照元になる動作命令の動作開始タイミングに依存している。よって、複数の動作命令が絡み合った場合、どこの動作命令の開始タイミングを調整すれば動作タイミングテーブル４の整合性が保てるかを理解することが難しくなる。  そこで、グラフィカル編集部４００で、動作命令が重複する区間が存在する動作命令を抽出し、重複する動作命令の動作開始タイミングを決定付けている動作命令を確認して表示する。なお、整合性の確認は動作命令実行制御部２で行っても良い。
【００８９】  以上説明したように、実施の形態１８の同期制御装置によれば、複数の動作命令の整合性を検査し、いずれかの動作命令が重複する区間が存在する場合は、どの動作命令の動作タイミングを調整するかをグラフィカル編集部で提示するようにしたので、重複する動作命令の動作開始タイミングを決定付けている動作命令を確認して表示することによって、タイミングを調整する動作命令の確認が容易になり、調整や編集を容易にする効果がある。
【００９０】実施の形態１９．  実施の形態１８では、タイミングを調整可能な動作命令をグラフィカル編集部４００で表示したが、動作タイミングの調整機能を追加しても良い。例えば、位置決め命令や時間固定命令は、運転速度を上げると、マスタ軸の角度から見た命令完了タイミングが遅れていく。よって、運転速度を上げすぎると動作タイミングテーブル４の整合性が崩れる可能性があり、該当する動作命令の開始タイミングを調整する必要が出てくる。
【００９１】  そこで、実施の形態１９では、グラフィカル編集部４００において、動作タイミングテーブル４の整合性を保つことが可能という条件で、最高の運転速度とそれを実現する動作命令の開始タイミングを求め、これを提示する。これは動作命令の完了タイミングを決定付けている動作命令の抽出と、調整可能な動作開始タイミングの範囲の抽出、位置決め命令や時間固定命令の実行時間から計算することができる。
【００９２】  合わせて、サーボ軸の最高速度や最高加速度を入力しておき、実行されるカム命令のカムデータから最高速度や最高加速度を超えない運転速度を計算して、運転速度の最高速度と制限を与えるカム命令を提示しても良い。なお、整合性の確認は動作命令実行制御部２で行っても良い。
【００９３】  以上説明したように、実施の形態１９の同期制御装置によれば、グラフィカル編集部は、動作命令実行制御部が制御対象とするサーボ軸の動作命令の開始タイミングが他の動作命令の完了タイミングに影響され、かつ、これら動作命令の整合性が得られない場合は、整合性が取れる範囲で最大の運転速度とそれを実現する動作命令の開始タイミングを表示するようにしたので、入力された動作タイミングテーブルから、最高の運転速度とそれを実現する動作タイミングや制限を与えるカム命令を提示することにより、調整や編集を容易にする効果がある。
【００９４】実施の形態２０．  実機を動作させた場合の動作パターンとプログラムをグラフィカル編集部４００上で比較して表示しても良い。実施の形態２０では、実機を自動運転させた場合の、サーボ軸の指令値やフィードバック信号（サーボアンプ３００から制御部１００にフィードバックされるモータの現在位置等のサーボ軸の運転状況を示す信号）、および内部メモリの値を動作命令実行制御部２でモニタリングし、グラフィカル編集部４００上にグラフィカルに表現する。モニタした内部メモリの値から動作プログラムをシミュレーションした結果の軸や出力の動作と、実際の指令値やフィードバック信号と並べてまたは重畳して表示やデータ保存を行う。
【００９５】  以上説明したように、実施の形態２０の同期制御装置によれば、グラフィカル編集部は、動作命令実行制御部が命令実行をシミュレーションした結果と、実際の制御対象から得た値を表示するようにしたので、プログラムの実行をシミュレーションした結果と実機の動作を比較して表現することで、調整や編集を容易にする効果がある。
【００９６】実施の形態２１．  位置決め命令からカムデータを作成しても良い。想定する運転速度と位置決め命令のパラメータから、指定した想定したラインでマスタ軸が動作した時にサーボ軸が位置決め命令を実行した時と同じ軌跡を描くカムデータをグラフィカル編集部４００で作成する。または、動作を開始するマスタ軸の角度と動作を完了するマスタ軸の角度とストロークを指定し、その２点を急激な負荷がかからないような曲線を描くカムデータを作成する。そして、制御部１００は該当するカムデータでカム制御として動作命令を実行する。また、想定する運転速度が変更されるなど、カムデータが変更される場合には、カムデータも同時に変更される。
【００９７】  以上説明したように、実施の形態２１の同期制御装置によれば、グラフィカル編集部は、想定する運転速度と位置決め命令からカムデータを作成し、動作命令実行制御部は、カムデータに基づいて実行制御を行うようにしたので、位置決め命令のように速度や加速度を指定してカムデータを作成することや、２点間を滑らかにつなぐカムデータを作成することで、サーボの性能を十分に発揮できるカムデータの作成が容易になり、調整や編集を容易にする効果がある。
【００９８】実施の形態２２．  想定運転速度とスムージング時間、またはスムージングのすべり量を設定し、選択したカムデータに対して設定したスムージングを実行した場合の動作パターンからカムデータを作成しても良い。高速回転している主軸に停止している従軸がスムージング無しに連結した場合、アンプやモータが過負荷となる。そこで、本実施の形態では、グラフィカル編集部４００において、想定運転速度とスムージングパラメータからカムデータを補正し、スムージングを設定・実行しなくても動作命令実行制御部２で同等の制御を行えるようにしている。
【００９９】  以上説明したように、実施の形態２２の同期制御装置によれば、グラフィカル編集部は、想定する運転速度と、予め設定したスムージング時間またはスムージングのすべり量に基づき、想定する運転速度で設定したスムージングを実行した場合の動作パターンからカムデータを作成し、動作命令実行制御部は、このカムデータに基づいて実行制御を行うようにしたので、設定したスムージングを実現するカムデータが得られ、運転中の主軸につなぐ際にスムージングを実施する必要が無くなるため、プログラムの記述が簡易になり、合わせて制御の計算負荷を減らす効果がある。
【０１００】  なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【産業上の利用可能性】
【０１０１】  以上のように、この発明に係る同期制御装置は、マスタ軸の角度変化または基準時からの経過時間を変化量情報とし、変化量情報に同期して動作命令の実行を制御するものであり、駆動装置を有する産業用機械や製造装置、製造ラインを制御する産業用コントローラに用いるのに適している。
【符号の説明】
【０１０２】  １  変化量情報算出部、２  動作命令実行制御部、３  動作命令実行部、４  動作タイミングテーブル、１００  制御部、２００  マスタエンコーダ、３００  サーボアンプ、４００  グラフィカル編集部。
【図１】
0006038189.tif 000002
【図２】
0006038189.tif 000003
【図３】
0006038189.tif 000004
【図４】
0006038189.tif 000005
【図５】
0006038189.tif 000006
【図６】
0006038189.tif 000007
【図７】
0006038189.tif 000008
【図８】
0006038189.tif 000009
【図９】
0006038189.tif 000010
【図１０】
0006038189.tif 000011
【図１１】
0006038189.tif 000012
【図１２】
0006038189.tif 000013
【図１３】
0006038189.tif 000014
【図１４】
0006038189.tif 000015
【図１５】
0006038189.tif 000016
【図１６】
0006038189.tif 000017
【図１７】
0006038189.tif 000018