(57)【要約】      （修正有）【課題】多軸モーションを行うモータを制御するとき、軸別駆動命令によるモータの軸別駆動時点を同様に維持することで、モータと連結された制御対象装備が非正常な経路に移動する現象を防止できるＰＬＣのモータ駆動制御方法を提供する。【解決手段】ＰＬＣのモータ駆動制御方法は、Ｎ番目の位置決定制御周期が始まると、実行中であるスキャンプログラムを中断するステップ、予め設定された位置制御処理区間の間に１つ以上の軸に対する駆動命令を入力されるステップ、予め設定された位置制御演算区間の間に前記１つ以上の軸に対する駆動命令に対応する前記１つ以上の軸別移動量を演算するステップ、前記スキャンプログラム実行を再開するステップ、及びＮ＋１番目の位置決定制御周期が始まると、前記位置制御演算区間の間に演算された１つ以上の軸別移動量に基づいてモータを駆動させるステップを含む。【選択図】図６
2019194838.tif 000002
【特許請求の範囲】
【請求項１】
Ｎ番目の位置決定制御周期が始まると、実行中であるスキャンプログラムを中断するステップ；
予め設定された位置制御処理区間の間に１つ以上の軸に対する駆動命令を入力されるステップ；
予め設定された位置制御演算区間の間に、前記１つ以上の軸に対する駆動命令に対応する前記１つ以上の軸別移動量を演算するステップ；
前記スキャンプログラム実行を再開するステップ；及び、
Ｎ＋１番目の位置決定制御周期が始まると、前記位置制御演算区間の間に演算された１つ以上の軸別移動量に基づいてモータを駆動させるステップを含む、
ＰＬＣのモータ駆動制御方法。
【請求項２】
前記位置制御処理区間は、前記位置制御演算区間又は前記スキャンプログラム実行区間より高い優先順位を有する、
請求項１に記載のＰＬＣのモータ駆動制御方法。
【請求項３】
前記１つ以上の軸に対する駆動命令は、前記位置制御処理区間の間のみ入力される、
請求項１に記載のＰＬＣのモータ駆動制御方法。
【請求項４】
前記Ｎ＋１番目の位置決定制御周期が始まると、前記位置制御演算区間の間に演算された１つ以上の軸別移動量に基づいてモータを駆動させるステップは、
前記位置制御演算区間の間に演算された１つ以上の軸別移動量に基づいて、前記１つ以上の軸に対する駆動を同時に命令するステップを含む、
請求項１に記載のＰＬＣのモータ駆動制御方法。
【請求項５】
前記１つ以上の軸に対する駆動命令は、ＰＬＣプログラム作成時に前記スキャンプログラムとは別のタスクに入力される、
請求項１に記載のＰＬＣのモータ駆動制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＬＣのモータ駆動制御方法に関する。
【背景技術】
【０００２】
産業現場の自動化装備、特に半導体工程、ＬＣＤ製造等のような種々の分野では、モータを用いた位置制御技術を活用する。このようなモータを用いる装備は通常、ＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）の位置決定モジュールやＰＣのモーション制御カードで制御する。特に、多軸モーションを行うモータ駆動をＰＬＣで制御する場合、各軸別にモータの移動量が演算されなければならない。
【０００３】
通常、ＰＬＣは、使用者によって予め作成されたスキャンプログラム（Ｓｃａｎ  ｐｒｏｇｒａｍ）を繰り返して行う。また、ＰＬＣは、スキャンプログラム実行とは別に、各軸別にモータの移動量を演算する。
【０００４】
図１は、従来技術によるＰＬＣのモータ駆動制御過程を示すフロー図である。
【０００５】
従来技術によるＰＬＣは、予め作成されたスキャンプログラムを実行して、各種装備を制御する。また、従来技術によるＰＬＣは、スキャンプログラムとは別に、位置制御演算を行い、それぞれの軸に対する駆動命令に応じるそれぞれの軸別移動量を算出する。
【０００６】
従来技術によれば、スキャンプログラムの実行周期は、位置制御演算の実行周期と異なって設定される。図１に示したように、位置制御演算は、予め設定された位置決定制御周期に従って周期的に行われる。例えば、Ｎ番目の位置決定制御周期開始時点（Ｐ１）で位置制御演算区間（１０２）が始まると、スキャンプログラムは中断される。その後、位置制御演算区間（１０２）が終了すると、Ｍ番目のスキャンプログラム１０４が行われる。
【０００７】
一方、図１のように、Ｎ番目の位置決定制御周期（Ｐ１〜Ｐ２）内においてＭ番目のスキャンプログラム１０４が行われる途中、第１軸に対する駆動命令が入力されてもよい。その後、すぐ次の位置決定制御周期、すなわち、Ｎ＋１番目の位置決定制御周期（Ｐ２〜Ｐ３）の開始とともに、Ｍ番目のスキャンプログラム実行がしばらく中断されて、実行待機状態となり、位置制御演算（１０６）が優先して始まる。
【０００８】
位置制御演算区間（１０６）の間には、前にＭ番目のスキャンプログラム１０４を介して入力された第１軸に対する駆動命令に対応する第１軸の移動量が算出される。その後、位置制御演算区間（１０６）が終了すると、前に中断されたＭ番目のスキャンプログラム実行が再開される（１０８）。Ｍ番目のスキャンプログラム実行が終了処理されると、次に、Ｍ＋１番目のスキャンプログラム実行が始まる（１１０）。
【０００９】
Ｍ＋１番目のスキャンプログラムが未だ修了していない状態で、Ｎ＋２番目の位置決定制御周期（Ｐ３〜Ｐ４）が始まると、Ｍ＋１番目のスキャンプログラム実行が中断されて、位置制御演算（１１２）が優先して行われる。
【００１０】
一方、ＰＬＣは、Ｎ＋２番目の位置決定制御周期（Ｐ３〜Ｐ４）において、前にＮ＋１番目の位置決定制御周期の位置制御演算区間（１０６）の演算結果、すなわち、位置制御演算区間（１０６）を介して算出された第１軸の移動量をパルスで出力（１１６）して、第１軸と対応するモータを駆動させる。位置制御演算区間（１１２）が終了すると、前に中断されたＭ＋１番目のスキャンプログラム実行が再開される（１１４）。
【００１１】
結局、従来技術によれば、Ｎ番目の位置決定制御周期（Ｐ１〜Ｐ２）内において第１軸に対する駆動命令が入力されると、Ｎ＋１番目の位置決定制御周期（Ｐ２〜Ｐ３）内において第１軸の移動量が算出されて、Ｎ＋２番目の位置決定制御周期（Ｐ３〜Ｐ４）において第１軸の実際移動が行われる。
【００１２】
前述したように、従来技術によるＰＬＣは、予め設定された位置決定制御周期に従って位置制御演算を優先して行い、位置制御演算が終了した後、スキャンプログラムを行う。
【００１３】
図２は、従来技術によるＰＬＣの多軸モータ駆動制御過程を示すフロー図である。
【００１４】
前述したＰＬＣのモータ駆動制御過程は、多軸モーションを行うモータ制御にも適用することができる。図２は、同じ制御時点を共有する複数の軸に対する駆動命令、すなわち、同じタイミングに制御されなければならない第１軸及び第２軸に対する駆動命令を制御するＰＬＣのモータ駆動制御過程が示されている。
【００１５】
図２に示したように、Ｎ番目の位置決定制御周期開始時点（Ｐ１）前に、Ｍ番目のスキャンプログラムが行われる途中に第１軸に対する駆動命令が入力されて、その後、Ｎ番目の位置決定制御周期（Ｐ１〜Ｐ２）の間に第２軸に対する駆動命令が入力される場合が発生し得る。
【００１６】
この場合、第１軸の駆動命令に対応する第１軸の移動量は、Ｎ番目の位置決定制御周期（Ｐ１〜Ｐ２）内の位置制御演算区間（２０４）を介して算出される。しかし、第２軸の移動量は、Ｎ番目の位置決定制御周期（Ｐ１〜Ｐ２）ではなく、Ｎ＋１番目の位置決定制御周期（Ｐ２〜Ｐ３）内の位置制御演算区間（２０８）を介して算出される。
【００１７】
このように、第１軸の移動量と第２軸の移動量が異なる位置制御演算区間を介して算出されると、図２に示したように、第１軸の移動量と第２軸の移動量は、異なる位置決定制御周期（２１４、２１６）にそれぞれパルスで出力される。これにより、第１軸に対応するモータの駆動時点と、第２軸に対応するモータの駆動時点との間に差異が発生することになる。
【００１８】
図３は、第１軸と第２軸に対するモータ駆動が同じ時点に行われる場合、モータと連結された制御対象装備（例えば、ロボットアーム）の移動経路を示す。また、図４は、図２のように、第１軸と第２軸に対するモータ駆動が異なる時点に行われる場合、モータと連結された制御対象装備の移動経路を示す。
【００１９】
図３に示したように、第１軸の移動量と第２軸の移動量が互いに同じ位置制御演算区間を介して算出されて、第１軸と対応するモータの駆動時点と第２軸と対応するモータの駆動時点が一致する場合、モータと連結された制御対象装備は、最も理想的な移動経路を有する。
【００２０】
しかし、先の図２に示した例示のように、第１軸の移動量と第２軸の移動量が異なる位置制御演算区間を介して算出されて、第１軸と対応するモータの駆動時点と第２軸と対応するモータの駆動時点との間に差異が発生すると、図４に示したように、第１軸の運転方向への移動に比べて、第２軸の運転方向への移動が遅れる。この場合、モータと連結された制御対象装備は、理想的な移動経路とはまったく異なる移動経路を有するようになる問題がある。
【発明の概要】
【発明が解決しようとする課題】
【００２１】
本発明は、多軸モーションを行うモータを制御するとき、軸別駆動命令によるモータの軸別駆動時点を同様に維持することで、モータと連結された制御対象装備が非正常な経路に移動する現象を防止できるＰＬＣのモータ駆動制御方法を提供することを目的とする。
【００２２】
本発明の目的は、以上で言及した目的に制限されず、言及していない本発明の他の目的及び長所は、下記の説明によって理解されるし、本発明の実施形態によってより明らかに理解される。また、本発明の目的及び長所は、特許請求の範囲に示した手段及びその組み合わせによって実現できることが分かる。
【課題を解決しようとする手段】
【００２３】
本発明の一実施形態によるＰＬＣのモータ駆動制御方法は、Ｎ番目の位置決定制御周期が始まると、実行中であるスキャンプログラムを中断するステップ、予め設定された位置制御処理区間の間に１つ以上の軸に対する駆動命令を入力されるステップ、予め設定された位置制御演算区間の間に、前記１つ以上の軸に対する駆動命令に対応する前記１つ以上の軸別移動量を演算するステップ、前記スキャンプログラム実行を再開するステップ、及びＮ＋１番目の位置決定制御周期が始まると、前記位置制御演算区間の間に演算された１つ以上の軸別移動量に基づいてモータを駆動させるステップを含む。
【００２４】
本発明の一実施形態において、前記位置制御処理区間は、前記位置制御演算区間又は前記スキャンプログラム実行区間より高い優先順位を有する。
【００２５】
また、本発明の一実施形態において、前記１つ以上の軸に対する駆動命令は、前記位置制御処理区間の間のみ入力される。
【００２６】
また、本発明の一実施形態において、前記Ｎ＋１番目の位置決定制御周期が始まると、前記位置制御演算区間の間に演算された１つ以上の軸別移動量に基づいてモータを駆動させるステップは、前記位置制御演算区間の間に演算された１つ以上の軸別移動量に基づいて、前記１つ以上の軸に対する駆動を同時に命令するステップを含む。
【００２７】
また、本発明の一実施形態において、前記１つ以上の軸に対する駆動命令は、ＰＬＣプログラム作成時に前記スキャンプログラムとは別のタスクに入力される。
【発明の効果】
【００２８】
本発明によれば、多軸モーションを行うモータを制御するとき、軸別駆動命令によるモータの軸別駆動時点を同様に維持することで、モータと連結された制御対象装備が非正常な経路に移動する現象を防止できる長所がある。
【図面の簡単な説明】
【００２９】
【図１】従来技術によるＰＬＣのモータ駆動制御過程を示すフロー図である。
【図２】従来技術によるＰＬＣの多軸モータ駆動制御過程を示すフロー図である。
【図３】第１軸と第２軸に対するモータ駆動が同じ時点に行われる場合、モータと連結された制御対象装備の移動経路を示す。
【図４】図２のように、第１軸と第２軸に対するモータ駆動が異なる時点に行われる場合、モータと連結された制御対象装備の移動経路を示す。
【図５】本発明の一実施形態によるＰＬＣのモータ駆動制御装置の構成図である。
【図６】本発明の一実施形態によるＰＬＣのモータ駆動制御過程を示すフロー図である。
【図７】従来技術によるＰＬＣプログラム作成のためのソフトウェア実行時に現れるプログラム作成画面である。
【図８】本発明によるＰＬＣプログラム作成のためのソフトウェア実行時に現れるプログラム作成画面である。
【発明を実施するための形態】
【００３０】
前述した目的、特徴及び長所は、添付の図面を参照して詳細に後述されており、これによって、本発明が属する技術分野で通常の知識を有する者が本発明の技術思想を容易に実施することができる。本発明を説明するにおいて、本発明に係る公知技術に対する具体的な説明が本発明の要旨を曖昧にすると判断される場合には詳説を省略する。以下では、添付の図面を参照して、本発明による好ましい実施形態を詳説する。図面における同じ参照符号は、同一又は類似の構成要素を指すものに使われる。
【００３１】
図５は、本発明の一実施形態によるＰＬＣのモータ駆動制御装置の構成図である。
【００３２】
図５を参照すれば、本発明の一実施形態によるＰＬＣのモータ駆動制御装置５０は、貯蔵部５０２、制御部５０４、演算部５０６を含む。
【００３３】
貯蔵部５０２は、モータ５２を含むＰＬＣの制御対象装備を制御するために必要なプログラム、パラメーター、変数等を貯蔵する。本発明の一実施形態において、貯蔵部５０２は、制御対象装備を制御するためのスキャンプログラムを貯蔵する。また、本発明の一実施形態において、貯蔵部５０２は、ＰＬＣプログラム作成のためのソフトウェアを介して、スキャンプログラムとは別のタスクに入力される１つ以上の軸に対する駆動命令を貯蔵する。
【００３４】
制御部５０４は、モータ５２を含むＰＬＣの制御対象装備を制御するためのスキャンプログラムを行う。また、制御部５０４は、スキャンプログラムの実行過程において、モータ５２の軸別駆動命令を行う。軸別駆動命令を行うために制御部５０４は、演算部５０６によって算出される軸別移動量を参照してもよい。
【００３５】
演算部５０６は、制御部５０４によって行われるモータ５２を制御するための軸別駆動命令を行うための軸別移動量を算出する。
【００３６】
以下では、図６及び図７を参照して、本発明の一実施形態によるＰＬＣのモータ駆動制御過程を説明する。
【００３７】
図６は、本発明の一実施形態によるＰＬＣのモータ駆動制御過程を示すフロー図である。
【００３８】
図面を参照すれば、制御部５０４は、予め設定された位置決定制御周期に従って位置制御処理及び位置制御演算をそれぞれ行う。また、制御部５０４は、位置決定制御周期とは異なる周期でそれぞれのスキャンプログラムを行う。
【００３９】
まず、Ｎ番目の位置決定制御周期（Ｐ１〜Ｐ２）が始まると、制御部５０４は、前に行われていたスキャンプログラム実行を中断して、位置制御処理を行う（６０２）。
【００４０】
本発明による制御部５０４は、位置制御処理区間（６０２）の間に１つ以上の軸に対する駆動命令を入力される。例えば、図６に示したように、制御部５０４は、位置制御処理区間（６０２）の間に第１軸に対する駆動命令及び第２軸に対する駆動命令をそれぞれ入力される。実施形態によっては、１つ又は２つ以上の軸に対する駆動命令が位置制御処理区間（６０２）を介して入力されてもよい。
【００４１】
このように、本発明によるＰＬＣのモータ駆動制御過程では、あらゆる軸に対する駆動命令が１つの位置決定制御周期内において、ただ位置制御処理区間（６０２）を介してのみ入力される。また、本発明によるＰＬＣのモータ駆動制御過程では、各軸別駆動命令を入力される区間である位置制御処理区間が、位置制御演算区間又はスキャンプログラム実行区間より高い優先順位を有する。従って、図２に示したように、同じ制御時点を共有する各軸に対する駆動命令が異なる位置決定制御周期で入力される現象が防止される。
【００４２】
さらに図面を参照すれば、位置制御処理区間（６０２）を介して、あらゆる軸に対する駆動命令の入力が完了してから次に、演算部５０６による位置制御演算が行われる（６０４）。位置制御演算区間（６０４）では、同じ位置決定制御周期、すなわち、Ｎ番目の位置決定制御周期に含まれる位置制御処理区間（６０２）の間に入力されたそれぞれの軸に対する駆動命令に対応するそれぞれの軸別移動量が算出される。例えば、位置制御演算区間（６０４）の間には、前に位置制御処理区間（６０２）を介して入力された第１軸の駆動命令に対応する第１軸の移動量及び第２軸の駆動命令に対応する第２軸の移動量がそれぞれ算出される。
【００４３】
このように、本発明によるＰＬＣのモータ駆動制御過程では、任意の位置決定制御周期内で入力された軸別駆動命令に対応する各軸別移動量が同じ位置決定制御周期内で算出される。従って、図２に示したように、各軸に対する駆動命令が異なる位置決定制御周期で入力される現象が防止されて、より早い軸別制御が可能である。
【００４４】
さらに図面を参照すれば、位置制御演算区間（６０４）が終了した後、Ｍ番目のスキャンプログラムが実行又は再開される（６０６）。Ｍ番目のスキャンプログラムを実行する途中に、Ｎ＋１番目の位置決定制御周期（Ｐ２〜Ｐ３）の開始時点（Ｐ２）が到来すると、Ｍ番目のスキャンプログラム実行は中断されて、位置制御処理が始まる（６０８）。図面には示していないが、位置制御処理区間（６０８）の間には、第１軸及び第２軸に対する他の駆動命令又は他の軸に対する駆動命令が入力されてもよい。
【００４５】
位置制御処理区間（６０８）が終了すると、次に、演算部５０６による位置制御演算（６１０）が実行されて、位置制御処理区間（６０８）の間に入力された各軸別駆動命令に対応する移動量が算出される。位置制御演算区間（６１０）が終了すると、前に中断されたＭ番目のスキャンプログラム実行が再開される（６１２）。
【００４６】
一方、Ｎ＋１番目の位置決定制御周期（Ｐ２〜Ｐ３）の間には、前にＮ番目の位置決定制御周期（Ｐ１〜Ｐ２）の位置制御演算区間（６０４）の演算結果、すなわち、第１軸の移動量及び第２軸の移動量がそれぞれパルスで出力される。制御部５０４は、第１軸及び第２軸と連結された制御対象装備が位置制御演算区間（６０４）の間に算出された第１軸の移動量及び第２軸の移動量に応じて同時に移動するようにモータ５２を駆動させる。
【００４７】
このように、本発明によれば、制御部５０４がＮ番目の位置決定制御周期の位置制御演算区間（６０４）の間に演算された１つ以上の軸別移動量に基づいて、１つ以上の軸に対する駆動を同時に命令するため、モータ５２と連結された制御対象装備が図３のように、常に理想的な経路に移動する長所がある。
【００４８】
図７は、従来技術によるＰＬＣプログラム作成のためのソフトウェア実行時に現れるプログラム作成画面である。
【００４９】
ＰＬＣプログラム作成は、個別プロジェクト単位で行われるため、新しいＰＬＣプログラムを作成しようとする使用者は、新しいプロジェクトファイルをオープンする。従来技術によるＰＬＣプログラム作成のためのソフトウェアを行う場合、図７のように、プロジェクトツリーウィンドウ７０２及びプログラム作成ウィンドウ７０４がそれぞれ画面に表示される。
【００５０】
プロジェクトツリーウィンドウ７０２には、該プロジェクトに含まれるネットワーク構成に対する情報及び該プロジェクト内に含まれるプログラム情報がツリー構造に表示される。使用者は、プロジェクトツリーウィンドウ７０２を介してＰＬＣプログラム内で使われる変数やパラメーター等を設定あるいは変更することができる。
【００５１】
変数又はパラメーターの設定が完了すると、使用者は、スキャンプログラム項目７０６を選択して、ＰＬＣプログラムを構成するそれぞれのスキャンプログラムを作成する。スキャンプログラムは、それぞれ独立したタスク（ｔａｓｋ）単位に生成されて、スキャンプログラム項目７０６の下位項目として管理される。図７には、使用者が「基本動作」という名のスキャンプログラムを作成する過程が示されている。
【００５２】
使用者が「基本動作」という名の新しいスキャンプログラムを生成すると、図７のように、スキャンプログラム項目７０６の下位項目として、新しいタスクである基本動作項目７０８が生成される。使用者が基本動作項目７０８を選択すると、プログラム作成ウィンドウ７０４には、「基本動作」スキャンプログラムを作成するためのスキャンプログラム作成タップ７１０が表示される。
【００５３】
図７に示したように、使用者は、スキャンプログラム作成タップ７１０を介して、６つの軸を制御対象７１２に指定して、次に、それぞれ軸駆動のためのパラメーター７１４を定義する。このような制御対象７１２及びパラメーター７１４が、前述のような各軸に対する駆動命令を構成する。
【００５４】
すなわち、従来技術によれば、図７に示したように、各軸に対する駆動命令がスキャンプログラムの一部として含まれる。これによって、各軸に対する駆動命令は、図２に示したように、それぞれの位置決定制御周期とは関係なく、スキャンプログラムの駆動に応じて制御部５０４に入力される。
【００５５】
図８は、本発明によるＰＬＣプログラム作成のためのソフトウェア実行時に現れるプログラム作成画面である。
【００５６】
図８に示したように、本発明によるＰＬＣプログラム作成のためのソフトウェアを行う場合、従来のように、プロジェクトツリーウィンドウ８０２及びプログラム作成ウィンドウ８０４がそれぞれ画面に表示される。また、本発明によれば、プロジェクトツリーウィンドウ８０２には、従来のように、スキャンプログラム項目８０６及び使用者が生成したスキャンプログラムタスクと対応する項目、例えば、基本動作項目８０８が表示される。
【００５７】
一方、本発明によれば、使用者は、各軸に対する駆動命令をスキャンプログラムの一部ではなく、スキャンプログラムと別のタスクとして入力することができる。このように、各軸に対する駆動命令を入力するためのタスクを位置制御処理タスクと言う。図８のプロジェクトツリーウィンドウ８０２には、位置制御処理タスク項目がｐｏｓ項目８１０に表示されている。
【００５８】
使用者は、ｐｏｓ項目８１０を選択して、新しい位置制御処理タスク、例えば、「ｐｏｓ_ｐｒｇ」タスクを生成することができる。これによって、生成されるｐｏｓ_ｐｒｇ項目８１２は、ｐｏｓ項目８１０の下位項目として管理される。
【００５９】
使用者がｐｏｓ_ｐｒｇ項目８１２を選択すると、図８のように、「ｐｏｓ_ｐｒｇ」タスクを作成するための位置制御処理タスク作成タップ８１６が表示される。使用者は、位置制御処理タスク作成タップ８１６を介して、各軸に対する駆動命令を構成する制御対象８１８及びパラメーター８２０を入力する。
【００６０】
このように、位置制御処理タスク作成タップ８１６を介して入力された各軸に対する駆動命令は、スキャンプログラムとは別の位置制御処理タスクとして貯蔵され、貯蔵部５０２に貯蔵される。これによって、制御部５０４は、モータ５２に対する駆動制御を行う過程において、貯蔵部５０２に貯蔵された位置制御処理タスクを図６に示したように、位置制御処理区間６０２、６０８の間にスキャンプログラムとは別に行う。これにより、各軸に対する駆動命令は、スキャンプログラムの実行周期の間に入力されず、ただ位置制御処理区間６０２、６０８の間のみ制御部５０４に入力される。
【００６１】
前述した本発明は、本発明が属する技術分野で通常の知識を有する者にとって、本発明の技術思想を脱しない範囲内で様々な置換、変形及び変更が可能であるため、前述した実施形態及び添付の図面によって限定されるものではない。
【図１】
2019194838.tif 000003
【図２】
2019194838.tif 000004
【図３】
2019194838.tif 000005
【図４】
2019194838.tif 000006
【図５】
2019194838.tif 000007
【図６】
2019194838.tif 000008
【図７】
2019194838.tif 000009
【図８】
2019194838.tif 000010