(57)【特許請求の範囲】
【請求項１】
個々の位置決め動作に対応する動作命令を含む命令を複数一連に記述してなる位置決め制御プログラムを記憶させたプログラム記憶手段と、
前記プログラム記憶手段から、個々の動作命令を読み出して解読すると共に、読み出された命令が動作命令であるときには、対応する位置決め動作パターンを生成するプログラム実行手段と、
前記プログラム実行手段にて生成される位置決め動作パターンを目標パターンとして所定のサーボゲインパラメータを使用したサーボ演算により操作出力を生成するサーボ制御手段と、を有し、
前記プログラム実行手段は、読み出された命令が所定のサーボゲインパラメータ変更命令であるときには、そのパラメータ変更命令で指定されるサーボゲインパラメータを一次記憶させるように仕組まれており、かつ
前記サーボ制御手段にて使用されるサーボゲインパラメータは、新たな位置決め動作を開始する際に、前記一次記憶されたサーボゲインパラメータにて更新されるように仕組まれており、
それにより、位置決め制御プログラム中において、動作命令の前にパラメータ変更命令を記述することで、サーボゲインパラメータの値をそれが適用開始されるべき位置決め動作と関連づけて設定可能とした、ことを特徴とする位置決め制御装置。
【請求項２】
個々の位置決め動作に対応する動作命令を含む命令を複数一連に記述してなる位置決め制御プログラムを記憶させたプログラム記憶手段と、
前記プログラム記憶手段から、個々の動作命令を読み出して解読すると共に、読み出された命令が動作命令であるときには、対応する位置決め動作パターンを生成するプログラム実行手段と、
前記プログラム実行手段にて生成される位置決め動作パターンを目標パターンとして所定のサーボゲインパラメータを使用したサーボ演算により操作出力を生成するサーボ制御手段と、を有し、
前記プログラム実行手段は、位置決め制御プログラムの先頭に、サーボゲインパラメータの変更を意味する命令語、変更後のサーボゲインパラメータ、及びそれが適用されるべき位置決め動作に対応する動作命令のステップ番号が記述されているときには、それらの情報を一次記憶させるように仕組まれており、かつ
前記サーボ制御手段にて使用されるサーボゲインパラメータは、前記ステップ番号の動作命令に相当する位置決め動作を開始する際に、前記一次記憶されたサーボゲインパラメータにて更新されるように仕組まれており、
それにより、位置決め制御プログラムの先頭に、サーボゲインパラメータの変更を意味する命令語、変更後のサーボゲインパラメータ、及びそれが適用されるべき位置決め動作に対応する動作命令のステップ番号を記述することで、サーボゲインパラメータの値をそれが適用開始されるべき位置決め動作と関連づけて設定可能とした、ことを特徴とする位置決め制御装置。
【請求項３】
プログラマブル・コントローラ・システムの高機能ユニットの１つである位置決め制御ユニットとして構成されている、ことを特徴とする請求項１又は２に記載の位置決め制御装置。
【請求項４】
ＣＰＵユニットと位置決め制御ユニットとを含むプログラマブル・コントローラ・システムであって、
ＣＰＵユニットは、
ラダー図等のユーザプログラム中からサーボゲインパラメータ変更命令が読み出されるのに応答して、その命令で指定されるサーボゲインパラメータの値及びそれが適用開始されるべき位置決め動作に相当する情報を位置決め制御ユニットへと送出するように仕組まれており、
位置決め制御ユニットは、
個々の位置決め動作に対応する動作命令を含む命令を複数一連に記述してなる位置決め制御プログラムを記憶させたプログラム記憶手段と、
前記プログラム記憶手段から、個々の動作命令を読み出して解読すると共に、読み出された命令が動作命令であるときには、対応する位置決め動作パターンを生成するプログラム実行手段と、
前記プログラム実行手段にて生成される位置決め動作パターンを目標パターンとして所定のサーボゲインパラメータを使用したサーボ演算により操作出力を生成するサーボ制御手段と、
サーボゲインパラメータの値をそれが適用開始されるべき位置決め動作と関連づけて設定可能なサーボゲインパラメータ設定手段とを有し、
前記サーボゲインパラメータ設定手段は、前記ＣＰＵユニットからの情報に、サーボゲインパラメータの変更を意味する内容、変更後のサーボゲインパラメータ、及びそれが適用されるべき位置決め動作に対応する動作命令のステップ番号が含まれているときには、それらの情報を一次記憶させるように仕組まれており、かつ
前記サーボ制御手段にて使用されるサーボゲインパラメータは、前記ステップ番号の動作命令に相当する位置決め動作を開始する際に、前記一次記憶されたサーボゲインパラメータにて更新されるように仕組まれており、
それにより、ラダー図等のユーザプログラム中に、サーボゲインパラメータの変更を意味する命令語、変更後のサーボゲインパラメータ、及びそれが適用されるべき位置決め動作に対応する動作命令のステップ番号を記述することで、サーボゲインパラメータの値をそれが適用開始されるべき位置決め動作と関連づけて設定可能とした、ことを特徴とするプログラマブル・コントローラ・システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、プログラマブル・コントローラ・システムの高機能ユニットの１つである位置決め制御ユニット等として好適な位置決め制御装置に係り、特に位置決め制御プログラムを構成する個々の位置決め動作と同期を取りつつサーボゲインパラメータを任意に変更可能とした位置決め制御装置に関する。
【０００２】
【従来の技術】
この種の位置決め制御装置は、プログラマブル・コントローラ・システムの高機能ユニットの１つである位置決め制御ユニット等として従来より知られている。その基本的な構成は、個々の位置決め動作に対応する動作命令を複数一連に記述してなる位置決め制御プログラムを記憶させたプログラム記憶手段と、このプログラム記憶手段から個々の動作命令を読み出して解読することにより、対応する位置決め動作パターンを生成するプログラム実行手段と、このプログラム実行手段にて生成される位置決め動作パターンを目標パターンとして所定のサーボゲインパラメータを使用したサーボ演算により操作出力を生成するサーボ制御手段とを備えている。
【０００３】
斯かる位置決め制御装置において、シーリング等のような軌跡の精度を要求されるアプリケーションを実施する場合、個々の位置決め動作毎にサーボゲインパラメータの値を適切に設定せねばならない。プログラマブル・コントローラ・システムの高機能ユニットの１つである位置決め制御ユニット（以下、ＭＣユニットと称する）の場合、従来、このサーボゲインパラメータの変更処理は、ＣＰＵユニットに組み込まれるラダー図プログラムにおいて、所定の命令語を使用することにより実現することができる。
【０００４】
即ち、ユーザープログラム中にサーボゲインパラメータ変更命令を記述すればこれが解読されてその旨の情報がＣＰＵユニットからＭＣユニットへとシステムバスを介して送られ、これを受けたＭＣユニットが直ちにサーボゲインパラメータの値を変更する。つまり、ＭＣユニットのサーボゲインパラメータは、個々の位置決め動作とは非同期に変更されてしまう。
【０００５】
そのため、正確に個々の位置決め動作の境界でサーボゲインパラメータの値を変更したい場合には、ラダー図プログラム上において、サーボゲインパラメータ変更命令の前後に位置決め動作停止命令と位置決め動作再開命令とを記述することによって、２つの位置決め動作の間に待ち時間Ｔｗを設けねばならない。
【０００６】
【発明が解決しようとする課題】
しかしながら、このような従来のサーボゲインパラメータ変更手法にあっては、ラダー図プログラム上において、サーボゲインパラメータ変更の都度に、動作停止命令と動作再開命令とを記述せねばならないことから、その分だけプログラムが煩雑となる。また、相前後する位置決め動作の間に待ち時間Ｔｗを挿入せねばならないことからタクトタイムが低下する。
【０００７】
この発明は、このような従来の問題点に着目してなされたものであり、その目的とするところは、相前後する位置決め動作の間に必要以上の待ち時間を設けることなく、正確に目的とする位置決め動作の開始時点からサーボゲインパラメータの値を変更することができるようにした位置決め制御装置を提供することにある。
【０００８】
【課題を解決するための手段】
この発明は、基本的には、個々の位置決め動作に対応する動作命令を複数一連に記述してなる位置決め制御プログラムを記憶させたプログラム記憶手段と、サーボゲインパラメータの値をそれが適用開始されるべき位置決め動作と関連づけて設定可能なサーボゲインパラメータ設定手段と、前記プログラム記憶手段から、個々の動作命令を読み出して解読することにより、対応する位置決め動作パターンを生成するプログラム実行手段と、前記プログラム実行手段にて生成される位置決め動作パターンを目標パターンとして所定のサーボゲインパラメータを使用したサーボ演算により操作出力を生成するサーボ制御手段と、前記サーボゲインパラメータ設定手段によりサーボゲインパラメータの値が設定されている場合には、それと関連付けられた位置決め動作パターンの開始時点にてサーボゲインパラメータの値を設定値に変更するパラメータ変更手段と、を具備することを特徴とする位置決め制御装置にある。
【０００９】
このような構成によれば、サーボゲインパラメータの値をそれが適用開始されるべき位置決め動作と関連づけて設定しておきさえすれば、該当する位置決め動作パターンの開始時点にてサーボゲインパラメータの値は設定値に自動的に変更される。そのため、相前後する位置決め動作の間に、サーボゲインパラメータ変更のために、必要以上の待ち時間を設ける必要がなくなり、その分だけタクトタイムが向上する。
【００１０】
この発明は、一実施態様にあっては、位置決め制御装置が、プログラマブル・コントローラ・システムの高機能ユニットの１つである位置決め制御ユニットであり、サーボゲインパラメータ設定手段は、位置決め制御プログラムの解読結果に基づいて、サーボゲインパラメータの値をそれが適用開始されるべき位置決め動作と関連付けて設定することを特徴とする位置決め制御装置にある。
【００１１】
このような構成によれば、位置決め制御ユニットで使用される位置決め制御プログラム中に、適切な命令語等を記述しておきさえすれば、目的とする位置決め動作の到来と共に、サーボゲインパラメータの値は自動的に設定値に変更されることとなる。
【００１２】
ここで、位置決め制御プログラム中において、サーボゲインパラメータの値をそれが適用開始されるべき位置決め動作と関連づけて設定する手法としては、様々なものが考えられる。最も簡単なものは、サーボゲインパラメータの変更を意味する特定の命令語並びに変更後のサーボゲインパラメータの値を、それが適用開始されるべき動作命令の直前に挿入するものである。また、それ以外の例としては、位置決め制御プログラムの先頭に、サーボゲインパラメータの変更を意味する命令語並びに変更後のサーボゲインパラメータの値を記述すると共に、それが適用開始されるべき位置決め動作に対応する動作命令のステップ番号を記述することなどが考えられる。いずれにしても、サーボゲインパラメータの値をそれが適用開始されるべき位置決め動作と関連づけて設定する手法は当業者において様々なものが考えられるはずである。
【００１３】
この発明は、他の一実施態様にあっては、位置決め制御装置が、プログラマブル・コントローラ・システムの高機能ユニットの１つである位置決め制御ユニットであり、かつシステムバスを介してＣＰＵユニットとの間でデータのやり取りを行うように仕組まれており、サーボゲインパラメータ設定手段は、前記ＣＰＵユニット側にあって、ラダー図等のユーザプログラムの解読結果に基づいて、サーボゲインパラメータの値並びにそれが適用開始されるべき位置決め動作を認識して、位置決め制御ユニットへ送られるべきゲイン設定情報を生成する手段と、前記位置決め制御ユニット側にあって、前記ＣＰＵユニットから送られてくるゲイン設定情報に基づいて、サーボゲインパラメータの値をそれが適用開始されるべき位置決め動作と関連づけて設定する手段と、からなることを特徴とする位置決め制御装置にある。
【００１４】
このような構成によれば、ＣＰＵユニットに組み込まれるラダー図等のユーザー命令上において、特定の命令語を記述するだけで、位置決め制御ユニット側における目的とする位置決め動作の到来と共に、サーボゲインパラメータの値は自動的に設定値に変更される。そのため、従前の手法のように、サーボゲインパラメータ変更希望時点の前後に動作停止命令や動作再開命令を記述する煩雑さを回避することができる。また、それに伴う必要以上の待ち時間を発生させることもない。
【００１５】
この発明は、他の実施態様にあっては、サーボゲインパラメータの値をそれが適用開始されるべき位置決め動作と関連づけて設定可能なサーボゲインパラメータ設定手段と、個々の位置決め動作に対応する動作命令を複数一連に記述してなる位置決め制御プログラムを記憶させたプログラム記憶手段から、個々の動作命令を読み出して解読することにより、対応する位置決め動作パターンを生成するプログラム実行手段と、前記プログラム実行手段にて生成される位置決め動作パターンを目標パターンとして所定のサーボゲインパラメータを使用したサーボ演算により操作出力を生成するサーボ制御手段と、前記サーボゲインパラメータ設定手段によりサーボゲインパラメータの値が設定されている場合には、それと関連付けられた位置決め動作パターンの開始時点にてサーボゲインパラメータの値を設定値に変更するパラメータ変更手段と、を具備する位置決め制御装置を実施するためのコンピュータプログラムを記録させた記録媒体にある。
【００１６】
ここで、記録媒体としては、位置決め制御装置に組み込まれる各種のメモリデバイスが含まれる。
【００１７】
【発明の実施の形態】
以下に、この発明の好適な一実施形態を図１〜図１３を参照して詳細に説明する。
【００１８】
本発明が適用されたＭＣユニットを含むプログラマブル・コントローラ・システムの全体が図１のシステム構成図が概略的に示されている。よく知られているように、この種のプログラマブル・コントローラ・システム１は、マザーボード上にシステムバスを敷設してなるラック上に、それぞれコネクタを介して多数の制御ユニットを接続して構成される。図では、それらの制御ユニットのうちで、本発明が適用されたＭＣユニット１００と、ＣＰＵユニット２００と、電源ユニット３００のみが明示されている。
【００１９】
ＭＣユニット１００には、それぞれケーブルを介して４個のサーボドライバ１１０ａ，１１０ｂ，１１０ｃ，１１０ｄが接続される。また、それらサーボドライバ１１０ａ，１１０ｂ，１１０ｃ，１１０ｄのそれぞれには、サーボモータ１２０ａ，１２０ｂ，１２０ｃ，１２０ｄが接続される。尚、１３０ａ，１３０ｂ，１３０ｃ，１３０ｄは、サーボモータの軸に取り付けられたロータリエンコーダである。
【００２０】
その他、１４０はティーチング時などの微妙な位置合わせが必要なときに使用される手動式パルスゼネレータ、１５０はＣＣＷ限界入力、ＣＷ限界入力、原点近傍入力、即停止入力等を与えるための専用端子台、１６０は試運転・デバック・ティーチング等に使用するティーチングボックスである。また２はデータ設定の他、Ｇ言語のプログラミング等に使用するプログラミングツールである。
【００２１】
ＭＣユニット１００並びにＣＰＵユニット２００の電気的なハードウェア構成が図２のブロック図に概略的に示されている。
【００２２】
同図に示されているように、ＭＣユニット１００内には、ユニット全体を統括制御するＭＰＵ１００ａと、ユーザにより作成された位置決め制御プログラムを格納するためのフラッシュメモリ１００ｂと、各種の演算用エリア等として使用されるＲＡＭ１００ｃと、エンコーダ１３０からのフィードバック情報を生成するためのカウンタ１００ｄと、サーボドライバ１１０に対してアナログ電圧である操作出力を送り出すためのＤ／Ａコンバータ１００ｅと、当該ユニットの制御仕様を規定するシステムプログラムが格納されるＲＯＭ１００ｈと、ＣＰＵユニット２００との間でデータのやりとりを行うための共有メモリ１００ｆとが内蔵されており、それらはＭＰＵバス１００ｇを介して互いに結ばれている。
【００２３】
一方、ＣＰＵユニット２００内には、ユニット全体を統括制御するＭＰＵ２００ａと、システムプログラムを格納するためのＲＯＭ２００ｂと、ラダー図プログラム等を格納するためのＰＲＯＭ２００ｃと、入出力メモリや各種の演算エリアとして使用されるＲＡＭ２００ｄと、システムバス３との接続を制御するバスＩ／Ｆ回路２００ｅとが内蔵されており、それらはＭＰＵバス２００ｆを介して結ばれている。
【００２４】
ＭＣユニット１００内のＲＯＭ１００ｈ並びにＣＰＵユニット２００内のＲＯＭ２００ｂにそれぞれ格納されたシステムプログラムの構成が図３のゼネラルフローチャートに示されている。同図に示されるように、ＣＰＵユニット２００においては、電源投入直後のイニシャライズ処理を経た後（ステップ３０１）、入力リフレッシュ処理、プログラム実行処理、出力リフレッシュ処理、システムサービス処理を繰り返す（ステップ３０２〜３０５）。
【００２５】
ここで、入力リフレッシュ処理（ステップ３０２）では、よく知られているように、図示しない入力ユニットから取り込んだ入力データを、ＲＡＭ２００ｄに割り当てた入力エリアに書き込む。また、これと同時に、ＭＣユニット１００に関しては、各種のステータスの入力処理を同時に行う。ここで、ステータスの中には、例えばエラー識別情報、システムステータス、エラーコード、Ｍコード、タスクステータス、現在位置などが含まれる。
【００２６】
続くプログラム実行処理（ステップ３０３）では、よく知られているように、ＲＡＭ２００ｄに割り付けられた入出力エリアの内容を読み込んで、ラダー図プログラムなどを実行すると共に、その実行結果により再び出力エリアの内容を書き替える処理などを行う。
【００２７】
続く出力リフレッシュ処理（ステップ３０４）では、よく知られているように、命令実行により書き替えが完了した出力エリアの内容を図示しない出力ユニットに転送して外部へと出力する。ここで、ＭＣユニット１００に関しては、同時に運転に関する様々な指令を行う。ここで運転に関する指令には、プログラム番号指定、自動／手動、サイクルスタート、Ｍコードリセット、ＪＯＧ運転などが含まれる。
【００２８】
一方、続くシステムサービス処理（ステップ３０５）では、各種の応用命令あるいは特殊補助リレーの実行結果を格納するデータ転送用エリアの内容を、他の高機能ユニットとの間でやりとりする処理などを実行する。ここで、ＭＣユニット１００に関しては、位置データ、システムパラメータ（ユニットパラメータ、メモリ管理パラメータ、機械使用パラメータ、目標値パラメータ、送り速度パラメータ、ゾーンパラメータ、サーボパラメータ等）、モニタ情報（エラーコード、Ｉ／Ｏモニタ、タスクステータス、現在位置、偏差カウンタ等）並びに特殊情報（フラッシュメモリ書き込み／読み出し、位置データ書き込み／読み出し、自動ローディング等）が含まれる。
【００２９】
これに対して、ＭＣユニット１００側においては、同様に電源投入直後のイニシャライズ処理を経た後（ステップ３１１）、様々な処理を実行するわけであるが、図示例では本発明に関連するプログラム実行処理（ステップ３１２）並びにシステムサービス処理（ステップ３１３）のみが示されている。
【００３０】
プログラム実行処理（ステップ３１２）は、Ｇ言語で記述されてフラッシュメモリ１００ｂに格納された位置決め制御プログラムを実行するものであり、その詳細が図４のフローチャートに部分的に示されている。
【００３１】
同図において、処理が開始されると、まず後述するサーボ制御処理において１動作命令が完了したことを示す１動作命令実行完了フラグの内容が参照される（ステップ４０１）。今仮に、サーボ制御処理において、１動作命令が実行完了した状態にあると（ステップ４０１ＳＥＴ）、Ｇ言語で記述された位置決め制御プログラムから次の命令を読み出して解読する処理が実行される（ステップ４０２，４０３）。
【００３２】
ここで、解読されたものが本発明で新たに定義されたサーボゲインパラメータ変更命令であれば（ステップ４０４ＹＥＳ）、当該変更命令からサーボゲインパラメータ（Ｇ）を取り出して記憶する処理を実行する（ステップ４０５）。ここで重要なことは、この処理（ステップ４０５）では、単にサーボゲインパラメータ（Ｇ）を一次記憶するだけであって、この時点においては演算用サーボゲインパラメータ（Ｇ´）の更新を行わない点である。つまり、この時点でサーボゲインパラメータ（Ｇ）の値で演算用サーボゲインパラメータ（Ｇ´）を更新してしまえば、新たなサーボゲインパラメータ（Ｇ）の値が直ちに後述するサーボ演算に反映されてしまい、本発明の目的とする位置決め制御プログラムとの同期がとれない。
【００３３】
続いて、次の命令の読み出し処理（ステップ４０２）並びに命令解読処理（ステップ４０３）が実行されて、今度は動作命令が解読され（ステップ４０６ＹＥＳ）、その動作命令で指令された位置決め動作パターンの生成処理が行われる（ステップ４０７）。この位置決め動作パターンは、ステップ４０７のブロック中に示されるように、横軸を時間、縦軸を速度とした場合において、所定の加速時間Ｔａ、減速時間Ｔｂ、低速時間Ｔｃを有する台形状パターンとして表すことができる。
【００３４】
以後、位置決め動作パターンが更新されたことを示すために位置決め動作パターン更新フラグをセットし（ステップ４０８）、また１動作命令の実行が開始されたことを示すために１動作命令実行完了フラグをリセットした後（ステップ４０９）、図５に示されるサーボ制御処理へと処理を任せる。
【００３５】
サーボ制御処理の詳細が図５のフローチャートに示されている。このサーボ制御処理は、タイマ割り込み処理によって時間Ｔ（例えば２ｍ／ｓｅｃ）周期で実行される。同図において、処理が開始されると、位置決め動作パターンの更新直後であることを示す位置決め動作パターン更新フラグの状態が参照される。ここで、位置決め動作パターンの更新直後であると判定されると（ステップ５０１ＳＥＴ）、新たな位置決め動作パターンの取得処理（ステップ５０２）並びに演算用サーボゲインパラメータ（Ｇ´）の更新処理（ステップ５０３）が実行され、その後新たな位置決め動作パターンの更新を禁止するために、位置決め動作パターン更新フラグのリセット処理が行われる（ステップ５０４）。ここで重要な点は、演算用サーボゲインパラメータ（Ｇ´）の更新は、新たな位置決め動作パターンを取得する際にのみ行われるのであって、図４のフローチャートに示したプログラム実行処理の段階においては、単に新しいサーボゲインパラメータ（Ｇ）が記憶されるだけであって、その時点では更新されない点にある。そして、このことが、位置決め制御プログラムとの同期を取りつつ、個々位置決め動作単位でサーボゲインパラメータを変更するという作用に結びつくのである。
【００３６】
以後、図４のフローチャートにおけるステップ４０７にて生成された位置決め動作パターン並びに図５のフローチャートにおけるステップ５０３で更新された演算用サーボゲインパラメータ（Ｇ´）を少なくとも用いて、サーボ演算処理が行われ、最終的に操作出力が得られるのである（ステップ５０５〜５０８）。
【００３７】
このとき行われるサーボ演算処理が、図１０〜図１３に概念的に示されている。
【００３８】
図１０（ａ）に示されるように、ＭＣユニットで使用されるサーボ機構としては、セミクローズドループ方式等と称されるものが使用される。この方式のサーボ機構は、指令値に対する機械の移動量をモータの回転量で検出し、これをフィードバックする。指令値と実際の移動量の偏差を算出し、これが零になるように制御が行われる。現在の産業用位置決め装置に適用されるサーボ機構としては、このセミクローズドループ方式が主流である。
【００３９】
次に、ＭＣユニット１１の内部動作を、図１０（ｂ），図１１，図１２，図１３を参照しながらわかりやすく説明する。
【００４０】
まず、エンコーダ１４のパルスを単位とする一定の位置指令値（図１２（ａ）参照）が、偏差カウンタ１１ａにセットされる。これをパルス分配と称する。偏差カウンタ１１ａはＤ／Ａコンバータ１１ｂに直結されている。これにより、カウンタ１１ａのパルス数がアナログ電圧に変換され、これがサーボドライバ１２への速度指令電圧となる。
【００４１】
図１１に示されるように、サーボドライバ１２は速度指令電圧が与えられると、その電圧に応じた速度でモータを回転させる。ここで、回転数は速度指令電圧に比例させている。
【００４２】
サーボモータ１３の軸に直結されているロータリエンコーダ１４は、モータの回転に同期して回転し、フィードバックパルスを発生する。
【００４３】
すると、図１２（ｂ）に示されるように、フィードバックパルスにより、偏差カウンタ値（溜まり量）は零になるまで減算される。偏差カウンタ１１ａの内容が零になると、ドライバ１２への速度指令電圧も零になり、モータの回転も停止する（図１２（ｃ）参照）。
【００４４】
位置指令値がセットされない時は、偏差カウンタ値を常に零の状態に保持しようとする。負荷変動でモータの軸がわずかに変動すると、ロータリエンコーダ１４からのフィードバックパルスが偏差カウンタ１１ａに取り込まれる。この偏差カウンタ値（溜まり量）により、モータ軸が回転した方向と逆の方向に速度指令電圧が出力され、モータ軸を元の位置に戻す。このように常に現在の位置を保持しようとする修正動作をサーボロックまたはサーボクランプと称する。
【００４５】
この原理から、加減速を伴った位置決めは、図１３（ａ）に示されるように、１指令値を変化させながら、連続的に偏差カウンタにセットしていくことで実現できることが分かる。
【００４６】
偏差カウンタ１１ａにセットされた１指令値は、図１３（ｂ）に示されるように、偏差カウンタの溜まり量となり、最終的に図１３（ｃ）に示されるように、サーボドライバ１２への速度指令電圧に変換され、サーボモータ１３が制御される。
【００４７】
以上から位置決め位置は、位置指令値の総数（図の塗られた部分：パルス数）となり、速度は単位時間あたりの位置指令値（パルス数）により決定されることが分かるであろう。
【００４８】
次に、図５のフローチャートに戻って、指令値生成処理（ステップ５０５）では、図１３（ａ）の階段状位置指令値波形の１ステップ分に相当する指令値の生成が行われる。この例では、２ｍ／ｓｅｃ分の指令値生成が行われる。
【００４９】
続くフィードバック値読み込み処理（ステップ５０６）では、図２に示されるエンコーダ１３０のフィードバックパルスをカウントするカウンタ１００ｄのカウント値を読み込むことで、フィードバック値の読み込み処理が行われる。
【００５０】
続く操作出力生成処理（ステップ５０７）では、ステップ５０５で生成された指令値とステップ５０６で読み込まれたフィードバック値との偏差に対して、図５のフローチャートのステップ５０３で更新された演算用サーボゲインパラメータ（Ｇ´）を乗ずることによって、操作出力の値が生成される。
【００５１】
続く操作出力外部送出処理（ステップ５０８）では、ステップ５０７で生成された操作出力を、図２に示されるＤ／Ａコンバータ１００ｅに出力する処理が実行される。
【００５２】
以後、タイマ割り込みが到来する度に、位置指令値を変化させながら、指令値生成処理、フィードバック値読み込み処理、操作出力生成処理、操作出力外部送出処理（ステップ５０５〜５０８）が繰り返し実行され、最後の位置指令値が送出された時点で（ステップ５０９ＹＥＳ）、１動作命令実行完了フラグはセットされる（ステップ５１０）。
【００５３】
すると、図４のフローチャートに戻って、１動作命令実行完了フラグがセットされていることを条件として（ステップ４０１ＳＥＴ）、次の命令の読み出し並びに解読などが再開される（ステップ４０２，４０３）。
【００５４】
次に、本発明の要部であるサーボゲインパラメータ設定手段の構成を、図６〜図９を参照しながら詳細に説明する。
【００５５】
まず最初に、位置決め制御プログラム中に新たに特別な命令を定義することによって、サーボゲインパラメータの値をそれが適用開始されるべき位置決め動作と関連づけて設定する場合について説明する。位置決め制御のためのプログラム言語としてＧ言語が使用される場合におけるゲイン変更命令の一例が図６に示されている。このゲイン変更命令は、ゲイン変更命令であることを示す命令コード「Ｇ６９」と、それに続く２つの修飾語とから構成されている。第１の修飾語は＃システムパラメータ種類を示す数値「１〜２」であり、第２の修飾語は変更内容を示す種々のデータである。＃システムパラメータ種類の「１」は、１ループゲインを示しており、そのレンジとしては１〜２５０［ｒａｄ／ｓ］が許されている。また、＃システムパラメータ種類の「２」は１ループＦＦ（フィードフォワードゲイン）を示しており、そのレンジとしては０〜１００［％］が許されている。
【００５６】
一方、変更内容を示すデータとしては、軸名（Ｘ，Ｙ，Ｚ，Ｕ）と、変更値（数値である場合とレジスタ名（Ａ００〜Ａ９９）である場合とが許されている。
【００５７】
図６に示されるゲイン変更命令を使用した２つのプログラミング例が図７（ａ）並びに図７（ｂ）に示されている。
【００５８】
図７（ａ）に示されるものは、変更値を直接に数値で指定するものであり、具体的にはステップ番号「Ｎ００９」に対応して、ゲイン変更命令として「Ｇ６９＃６／Ｘ５０  Ｙ５０」と記述することによって、Ｘ／Ｙ軸それぞれのＦＦゲインを５０％に変更するように指示している。また、このゲイン変更命令は、変更後のゲインがサーボ制御において適用されるべき動作命令「Ｇ０１  Ｘ５００Ｙ４００」の１ステップ手前に挿入されている。従って、この記述方法によれば、図４のフローチャートに示す命令解読処理（ステップ４０３）においては、ステップ番号「Ｎ００９」に記述されたゲイン変更命令「Ｇ６９  ＃６／Ｘ５０Ｙ５０」で指定されるサーボゲインパラメータを、その次のステップ番号「Ｎ０１０」に記述された直線補間動作命令「Ｇ０１  Ｘ５００  Ｙ４００」に関して適用すべきと解読することができる。
【００５９】
図７（ｂ）に示される例にあっては、ステップ番号「Ｎ００９」にゲイン変更命令として「Ｇ６９  ＃６／ＸＡ０１  ＹＡ０１」と記述することによって、速度の１／１００のＦＦゲインに変更すべきことを指示している。これは、１ループＦＦゲインの最適値が、速度の１／１００の数値である機械を想定した場合であり、このようなプログラミング手法を採用することで、速度の変更があってもプログラムを書き替えることなく、自動的に最適なゲインとすることが可能となる。
【００６０】
次に、図８には、位置決め制御プログラム中にゲイン変更命令を記述することによって、相前後する位置決め動作の境界で正確にサーボゲインパラメータを変更した場合の動作が示されている。同図（ａ）に示されるのは非連続モードの場合であり、同図（ｂ）に示されるものは連続モードの場合である。
【００６１】
それらの図から明らかなように、いずれの動作モードにおいても、後段の位置決め動作に関しては、正確にその開始時点から変更後のサーボゲインパラメータが使用されている。殊に、同図（ａ）に示される非連続モードにあっては、待ち時間Ｔｗの値を必要最小限にとどめることができる。また、同図（ｂ）に示される連続モードの場合には、Ｇコードのゲイン変更命令が先読み実行されても、次の動作開始時にしか変更されないため、スムーズな制御が可能となっている。
【００６２】
次に、ＣＰＵユニットに格納されたラダー図プログラム上において、ゲイン変更命令を定義することにより、ＣＰＵユニットからの指令によって、ＭＣユニット側のサーボゲインパラメータを、位置決め動作単位で変更する場合を説明する。
【００６３】
図９（ａ）には、ラダー図プログラム上において使用されるサーボゲインパラメータ変更命令が図式表示されている。このサーボゲインパラメータ変更命令には、位置決め制御プログラム上の関連する動作命令を示すステップ番号９０１と、変更後のパラメータ値９０２，９０３とが含まれている。
【００６４】
図９（ｂ）には、ラダー図プログラムの解読処理の中で、サーボゲインパラメータ変更命令に関する部分だけを取り出して示されている。同図に示されるように、次の命令の読み出し処理（ステップ９０４）及び命令解読処理（ステップ９０５）の結果、サーボゲインパラメータ変更命令であると判定されると（ステップ９０６）、当該変更命令に含まれる「Ｎ０１０，Ｘ５０，Ｙ５０」は、ＭＣユニットへの送信情報を格納するデータエリアへと記憶される（ステップ９０７）。よく知られているように、このデータエリアの内容は、周期的にシステムサービス処理によって、ＭＣユニットの側へと送信される。これを受けたＭＣユニットの側では、受信情報を一時記憶し、図５のステップ５０３に示されるタイミングで、サーボゲインパラメータ（Ｇ´）の更新処理を行う。すると、新たな位置決め動作の開始時点から変更後のサーボゲインパラメータ（Ｇ）を使用したサーボ演算が実行される結果、本発明が目的とする位置決め動作単位でのサーボゲインパラメータの変更が可能となるのである。
【００６５】
以上説明した実施形態によれば、位置決め制御を実行するプログラムから、位置決め動作毎に最適なサーボゲインパラメータを設定することができるため、タクトタイムを低下させることなく軌跡の精度を向上させることができる。特に、直線補間と円弧補間が連続する動作の場合に本発明は効果的である。円弧補間の場合、ゲインが低いと機械系の遅れの原因等により、本来の円より小さな円となってしまう。この問題は、速度が早いほど顕著になる。しかし、ゲインを高く設定すると、直線補間のときにオーバーシュートやアンダーシュートが発生してしまい、軌跡精度が低くなってしまう。本発明では、直線補間と円弧補間の正確なつなぎ目でゲインを変更できるため、スムーズな制御が可能となり、直線補間及び円弧補間共に軌跡の精度を向上させることができる。また、サーボゲインパラメータの設定を、レジスタを用いた間接指定とすることで、移動速度や負荷条件を変更しても数値を設定し直す必要がなくなるという利点もある。
【００６６】
【発明の効果】
本発明によれば、この種の位置決め制御装置において、１つ１つの位置決め動作制御毎に、動作を停止させることなく、最適なサーボゲインパラメータを設定することが可能となる。
【図面の簡単な説明】
【図１】本発明が適用された位置決め制御ユニットを含むプログラマブル・コントローラ・システム全体の構成を示す構成図である。
【図２】同プログラマブル・コントローラ・システムに含まれるＭＣユニット並びにＣＰＵユニットのハードウェア構成を概略的に示すブロック図である。
【図３】ＣＰＵユニット並びにＭＣユニットの処理の全体を概略的に示すゼネラルフローチャートである。
【図４】ＭＣユニットで実行されるプログラム実行処理の詳細を示すフローチャートである。
【図５】ＭＣユニットで実行されるサーボ制御処理の詳細を示すフローチャートである。
【図６】位置決め制御プログラム中で使用されるＧ言語によるゲイン変更命令の一例を示す説明図である。
【図７】同ゲイン変更命令のプログラミング例を示す説明図である。
【図８】本発明によるサーボゲインパラメータの変更処理を採用した場合における実際の動作例を示す説明図である。
【図９】ラダー図プログラム上においてゲイン変更命令を記述してＭＣユニット側のサーボゲインパラメータを変更する場合のプログラミング例並びにその解読処理を概略的に示す説明図である。
【図１０】この種の位置決め制御装置に使用されるサーボ制御処理の理解を容易とするための説明図である。
【図１１】サーボドライバの速度特性を示すグラフである。
【図１２】セミクローズドループ方式における位置決めの基本動作を説明するための説明図である。
【図１３】この種のセミクローズドループ方式の加減速を伴った位置決めの例を示す説明図である。
【符号の説明】
１  プログラマブル・コントローラ・システム
２  プログラミングツール
３  システムバス
１００  ＭＣユニット
２００  ＣＰＵユニット
３００  電源ユニット
１１０ａ〜１１０ｄ  サーボドライバ
１２０ａ〜１２０ｄ  サーボモータ
１３０ａ〜１３０ｃ  ロータリエンコーダ
１００ａ  ＭＰＵ
１００ｂ  フラッシュメモリ
１００ｃ  ＲＡＭ
１００ｄ  カウンタ
１００ｅ  Ｄ／Ａコンバータ
１００ｆ  共有メモリ
１００ｇ  ＭＰＵバス
１００ｈ  ＲＯＭ
２００ａ  ＭＰＵ
２００ｂ  ＲＯＭ
２００ｃ  ＰＲＯＭ
２００ｄ  ＲＡＭ
２００ｅ  バスＩ／Ｆ回路
２００ｆ  ＭＰＵバス
【図１】
0003719044.tif 000002
【図２】
0003719044.tif 000003
【図３】
0003719044.tif 000004
【図４】
0003719044.tif 000005
【図５】
0003719044.tif 000006
【図６】
0003719044.tif 000007
【図７】
0003719044.tif 000008
【図８】
0003719044.tif 000009
【図９】
0003719044.tif 000010
【図１０】
0003719044.tif 000011
【図１１】
0003719044.tif 000012
【図１２】
0003719044.tif 000013
【図１３】
0003719044.tif 000014