JP3665008B2 - Synchronization control method and synchronization control apparatus - Google Patents
Synchronization control method and synchronization control apparatus Download PDFInfo
- Publication number
- JP3665008B2 JP3665008B2 JP2001327315A JP2001327315A JP3665008B2 JP 3665008 B2 JP3665008 B2 JP 3665008B2 JP 2001327315 A JP2001327315 A JP 2001327315A JP 2001327315 A JP2001327315 A JP 2001327315A JP 3665008 B2 JP3665008 B2 JP 3665008B2
- Authority
- JP
- Japan
- Prior art keywords
- axis
- reference variable
- slave
- section
- synchronization
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/19—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/42—Servomotor, servo controller kind till VSS
- G05B2219/42186—Master slave, motion proportional to axis
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/43—Speed, acceleration, deceleration control ADC
- G05B2219/43174—Simulating cam motion mechanism
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/50—Machine tool, machine tool null till machine tool work handling
- G05B2219/50216—Synchronize speed and position of several axis, spindles
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/50—Machine tool, machine tool null till machine tool work handling
- G05B2219/50218—Synchronize groups of axis, spindles
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/50—Machine tool, machine tool null till machine tool work handling
- G05B2219/50233—Synchonize time-dependent with electronic cam data
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/50—Machine tool, machine tool null till machine tool work handling
- G05B2219/50234—Synchronize two spindles, axis, electronic transmission, line shafting
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
- Control Of Position Or Direction (AREA)
Description
【0001】
【発明の属する技術分野】
同期制御を行う産業機械、工作機械等の2以上の可動軸を同期運転するための同期制御方法および同期制御装置に関する。
【0002】
【従来の技術】
従来の同期制御方法では、1つの可動軸をマスタ軸とし、該マスタ軸に同期して他の可動軸をスレーブ軸として駆動制御している。この場合、マスタ軸の位相0°から始まり1回転するまでのマスタ軸の位相に対応してスレーブ軸の変位が決まっている。そのため、スレーブ軸は同じ動作の繰り返ししかできず、機械の状態に合わせて途中からスレーブ軸の動作を変えたり、特定の動作を繰り返したりすることができない。図1は、このマスタ軸が360°で1回転する場合のマスタ軸1回転の各位相θに対応したスレーブ軸の変位yを表した例である。また、図2は、このマスタ軸の位相θに対応するスレーブ軸の変位yを記憶するデータテーブルの説明図である。この図1、図2に示すように、時々刻々変化するマスタ軸の位相θに対応してスレーブ軸の位置yを対応する位置に位置決めするようにしている。マスタ軸は通常回転軸で構成され、その回転角が360°を越えると0°に戻ることから、まったく同じ動作を繰り返し行うことができる。
【0003】
また、スレーブ軸の動作がマスタ軸の各回転毎に異なる場合、複数回転の全てのデータを入れる必要があり、データが膨大になる。さらに、別の変位データを呼び出すサブプログラム方式という方法も公知であるが、この方法は、呼び出しのための処理が必要なため、変位データのつなぎ目でパルスが途切れてしまい、変位データのつなぎ目での加工や動作が滑らかにならない欠点がある。
【0004】
【発明が解決しようとする課題】
上述したように、従来の同期制御方法では、マスタ軸の0度の角度からマスタ軸1回転に合わせてスレーブ軸の位置を同期させるものであることから、マスタ軸の途中、すなわち、機械の状態に合わせて途中からスレーブ軸の動作を変えたり、特定の動作を繰り返したりすることができないという欠点がある。また、繰り返し部分も指定しなければならずデータが膨大になるという問題点もある。
【0005】
なお、繰り返しデータはサブプログラムにして呼び出す方式、あるいは、データを複数に分割する方式はあるが、データが固定化されてしまい、運転状態を変化させる場合、対応できず融通が効かない。
そこで、本発明は、マスタ軸に対してスレーブ軸を任意のパターンで同期させて移動させることができ、かつ、繰り返しも容易にできるようにした同期制御方法及び装置を提供することにある。
【0006】
【課題を解決するための手段】
マスタ軸と、該マスタ軸の位置に対応して位置決めされるスレーブ軸を有する機械の同期制御方法において、本願請求項1に係わる発明は、前記マスタ軸の位置と前記スレーブ軸変位を関係付ける基準変数を設け、該基準変数に対応する前記スレーブ軸の変位データを登録しておき、マスタ軸の位置と基準変数の関数関係を設定し、同期実行区間の開始基準変数と該区間の基準変数領域及びマスタ軸の同期開始位置を指定し、前記指定したマスタ軸の同期開始位置より、前記指定した同期実行区間の開始基準変数から基準変数に対応するスレーブ軸の変位データに基づいてスレーブ軸を時々刻々変化するマスタ軸の位置に対応させて位置決めするものである。
また、請求項2に係わる発明は、前記同期実行区間を、前記スレーブ軸の変位データとの関係を登録した基準変数の任意の一部あるいは全部を同期実行区間として指定するとともに、前記指定した同期実行区間の一つないし複数個を任意の順序で指定するものとした。請求項3に係わる発明は、同期実行区間と合わせて繰り返し回数を指定することにより、繰り返し回数が指定された同期実行区間を指定繰り返し回数だけ繰り返し実行することができるようにした。請求項4に係わる発明は、同期実行区間および繰り返し回数のパターンを複数指定できるものとした。
請求項5に係わる発明は、モーションプログラムまたはシーケンスプログラムにより同期実行区間および繰り返し回数を指定することにより、アプローチ−加工・作業動作−退避の工程によるスレーブ軸の動作パターンの切り換えや、加工物の変更にともない途中からスレーブ軸の動作を変えるアプリケーションにも適用可能とした。さらに、請求項6に係わる発明は、同期実行区間または繰り返し回数のパターンを複数指定した場合、パターンの切り換え時にスレーブ軸の変位差がある場合は、次のパターンを変位差がなくなるようにスレーブ軸の変位をオフセットし、滑らかに次のパターンへ切り換えるようにし、請求項7に係わる発明は、次のパターンまで直線的に移動するようにした。請求項8に係わる発明は、マスタ軸の単位移動量に対する基準変数の変化量を指定して、マスタ軸の移動量に対するスレーブ軸の移動量を変えてマスタ軸の位置に対応してスレーブ軸を位置決めするようにした。
【0007】
請求項9に係わる発明は、マスタ軸と、該マスタ軸の位置に対応して位置決めされるスレーブ軸を有する機械の同期制御装置において、前記マスタ軸の位置と前記スレーブ軸変位を関係付ける基準変数を設け、該基準変数に対応して前記スレーブ軸の変位データを登録しておく記憶手段と、1以上の同期実行区間の開始基準変数と各区間の基準変数領域及び各区間のマスタ軸の同期開始位置を指定するモーションプログラムまたはシーケンスプログラムと、前記指定したマスタ軸の同期開始位置より、前記指定した実行区間の開始基準変数から基準変数に対応するスレーブ軸の変位データに基づいてスレーブ軸を時々刻々変化するマスタ軸の位置に対応させて位置決めする手段とを備えたことを特徴とする同期制御装置である。また、請求項10に係わる発明は、前記モーションプログラムまたはシーケンスプログラムにより、マスタ軸の単位移動量に対する基準変数の変化量を指定し、前記位置決めする手段は、マスタ軸の変化量に対して基準変数を指定変化量だけ変化させてスレーブ軸を位置決めする同期制御装置とした。
【0008】
【発明の実施の形態】
図3は、本発明の一実施形態におけるスレーブ軸の変位状態を表す図である。本発明においては、マスタ軸の位置とスレーブ軸変位を関係付ける基準変数xを設け、スレーブ軸変位yはこの基準変数xの関数として設定登録される。図3に示すような基準変数xに対するスレーブ軸の変位yは、図4に示すようなデータテーブルDTに格納記憶される。
【0009】
また、マスタ軸の位置θ(マスタ軸の位置は0度から360=0度までの角度としており,以下位相という)と基準変数xは、リニアな関係に設定するもので、例えば、マスタ軸位相θが0度のとき基準変数xは0、マスタ軸位相θが50度のとき基準変数xは50として対応させる。すなわち、マスタ軸位相θと基準変数xは対応関係を持たせる。これによって、マスタ軸位相θとこのマスタ軸位相に対応するスレーブ軸変位yは、基準変数xを媒介して得られることになる。
【0010】
また、基準変数xが「0」から「1083」まで変化する間に、スレーブ軸変位yが、図3、図4に示すように変化するように設定登録したとき、マスタ軸に同期してスレーブ軸を駆動する場合、基準変数xとマスタ軸位相θを対応付けて、基準変数xが「0」から「1082」まで、1回、またはこれを繰り返して、実行すれば、図1、図2に示した従来の同期制御と同様に、マスタ軸の移動に同期してスレーブ軸が1つのパターンで移動するものとなる。
【0011】
しかし、本発明においては、図3、図4に示すように、この設定登録された基準変数xに対するスレーブ軸変位yのパターンを区間わけして、各区間毎の同期制御、各区間の組み合わせによる同期制御、任意に指定された区間の繰り返し同期制御等を実行できるものである。
【0012】
例えば、マスタ軸とスレーブ軸を同期して加工・作業等を行う場合、アプローチ区間に続いて加工、作業区間があり、最後に退避区間があるような場合、図3、図4に示すように、区間1、区間2、区間3と三つの区間に分け、基準変数xが0から150までの区間1をアプローチ区間とし、基準変数xが150から872までの区間2を加工、作業動作の区間とし、基準変数xが872から1083までの区間3を退避の区間とし、アプローチ区間の区間1と退避区間の区間3は最初と終わりに夫々1回行い、加工、作業区間の区間2を複数回(例えば10回)行うような場合で、マスタ軸が360°で1回転し、マスタ軸が1回転する間にスレーブ軸の変位データを361点使用する場合、つまりマスタ軸1°おきのデータを使用する場合、次のように同期制御のモーションプログラム指令またはシーケンスプログラムの指令で行う。なお、このプログラムをモーションプログラム1という。
【0013】
G05 P23010 Q0 R150 S0 T1 L1
G05 P23010 Q150 R872 S150 T2 L10
G05 P23010 Q872 R1083 S150 T1 L1
このプログラム指令において、「G05 P23010」は、同期制御コマンドを意味し、「Q」は同期制御実行区間の開始基準変数番号、「R」は同期制御実行区間の終了基準変数番号、「S」は同期制御開始位置(マスタ軸の位相)、「T」は変位データのピッチ、「L」は繰り返し回数を指定するものである。
【0014】
このように実行区間の指定は開始基準変数番号と終了基準変数番号をそれぞれQ,Rのアドレスで指定し、またマスタ軸との対応づけとして開始位置(区間の切り換え位置)をマスタ軸の位相で指定する。さらに、同期を開始するマスタ軸の位置(マスタ軸位相)を示すアドレスはSを使用する。またマスタ軸1回転あたりに使用するスレーブ軸の変位データ点数(この例では361点)と、図4に示すデータテーブルDTのスレーブ軸変位データの点数を関連付けるためにスレーブ軸変位データのピッチをTで指定する。例えばT1であればスレーブ軸変位データyのピッチは1となるので基準変数xとマスタ軸位相θは1対1に対応する。また、T2であればスレーブ軸変位データyのピッチは2となり基準変数xの1つおきのスレーブ軸変位データyとマスタ軸の位相θが対応させられることを意味する。
【0015】
このモーションプログラムの起動により、マスタ軸が位相0°から+方向に任意の速度で回転する場合、スレーブ軸は次のように動作する。
・アプローチ工程
区間1(0〜150)をマスタ軸位相0°〜150°に対するスレーブ軸の変位データとみなして同期制御を1サイクル行う。すなわち、「S0」であるので、このアプローチ工程の開始のマスタ軸位相は「0°」であり、かつ、「Q0」であることから、このアプローチ工程の開始基準変数が「0」となり、アプローチ工程の開始は、マスタ軸位相は「0°」であり、開始基準変数xが「0」のスレーブ軸変位データyが対応することを意味する。さらに、「T1」であるから、マスタ軸位相が「1°」変化する毎に基準変数xは「1」変化し、スレーブ軸の変位もそれに対応して変化することになる。そして、「R150」で「L1」であるから、このアプローチ工程の終了は基準変数xが「150」となったときであり、しかも、このアプローチ工程の区間1の処理は1回のみ行われることとなる。
よって、マスタ軸の位相が0度から150度に変化する間に、基準変数xは0から150まで変化し、それに応じて読み出され指令されるスレーブ軸の変位yは図4のデータテーブルDTに示すように、0から7000まで変化することになる。
・加工・作業動作工程
区間2は、「Q150」、「R872」であることから、基準変数xが150から872までの区間であり、「T2」と指令されピッチが2であることから、マスタ軸位相が1度変化する毎に基準変数xが1つとび毎に指定され、それに対応するスレーブ軸の変位データyが読み出され指令されることになる。従って、マスタ軸位相が150°、151°、152°…と変化したとき、基準変数xは、150、152、154…と一つおきに指定され、それに対応するスレーブ軸変位yが指令されることになる。よって、マスタ軸位相150°〜360°〜150°のマスタ軸の1回転で、基準変数は150から872まで変化して、夫々のスレーブ軸変位データyが出力される。そして、「L10」とプログラムされているから、マスタ軸が駆動され、このマスタ軸位相150°〜360°〜150°、対応する基準変数xの150〜872が指定され、この基準変数xに対して設定されているスレーブ軸変位データyの7000〜7000の位置にスレーブ軸が夫々駆動されて区間2の処理の同期制御が10サイクル行われることになる。
・退避工程
区間3では、マスタ軸位相θが150°から基準変数xの872スレーブ軸変位データyが読み出され、マスタ軸位相θが1°増加する毎に基準変数xも1増加して、スレーブ軸変位データyが読み出される。この動作処理を1回だけ実施する。
【0016】
ここでは説明の簡略上、マスタ軸が位相0°から+方向に回転するとしたが、スタート位置は360°内のどこからでもよい。マスタ軸の位相が開始位置に達するまでは、スレーブ軸は停止したままとなる。また上述した例では、+方向を前提にアプローチ−加工・作業動作−退避という工程の動作を行うようにしたものであるが、マスタ軸を−方向に回転しても同期制御は行わせることができる。この場合には、−方向に回転することを考慮した変位データテーブルDTを作成しておく必要がある。
【0017】
以上のように、マスタ軸位相θに対する基準変数xに対応させて区間を設定できることから、図4に示すようなデータテーブルDTがある場合、このデータテーブルDTを利用して、任意の区間を指定して、マスタ軸に同期されてスレーブ軸をこのデータテーブルDTで設定された変位に移動させることができるものとなる。
【0018】
図5は、図3で区間2の一部分を区間4として、これを加工工程2としたときの説明図であり、図6は、図4に示したデータテーブルDTにおいて、各区間1〜4を示す図である。そこで、区間1のアプローチ処理を実行した後、区間2の加工処理1をピッチ2で10回行い、次に区間4の加工処理2をピッチ1で5回行い、その後、区間3の退避工程を実行するものとすると、同期制御のモーションプログラム指令またシーケンスプログラム指令は次のようになる。なお、このプログラムをモーションプログラム2という。
このモーションプログラムの起動により、マスタ軸が位相0°から+方向に任意の速度で回転する場合、スレーブ軸は次のように動作する。
・アプローチ工程
区間1の基準変数xが0〜150に対して設定されているスレーブ軸変位データyをマスタ軸位相0°〜150°に対するスレーブ軸の変位データとみなして同期制御を1サイクル行う。
・加工工程1
区間2の基準変数xが150〜872に対して設定されているスレーブ軸変位データyをマスタ軸位相150°〜360°〜150°に対するスレーブ軸の変位データとみなして同期制御を10サイクル行う。ただし変位データはピッチが2なので一つおきに読み取られる。
・加工工程2
区間4の基準変数xが200〜561に対して設定されているスレーブ軸変位データyをマスタ軸位相150°〜360°〜150°に対するスレーブ軸の変位データとみなして同期制御を5サイクル行う。このときのピッチは1なのでマスタ軸の位相に1対1対応する。
【0019】
ここで、区間2の終点と区間4の始点は段差が生じており変位データが連続していない。この場合は区間4の始点での変位データが区間2の終点での変位データと等しくなるように区間4すべての変位データを負の方向にシフトする。
【0020】
さらに区間4の終点は始点と一致していないので、区間4を繰り返し実行するときは、終点まできたらさらに区間4のスレーブ軸の変位yを負の方向へシフトして終点と始点を一致させる。従って加工する度にスレーブ軸の変位は負の方向へと落ち込んでいく。
【0021】
退避工程
区間3の基準変数xが872〜1083に対して設定されているスレーブ軸変位データyをマスタ軸位相200°〜360°〜50°に対するスレーブ軸の変位データとみなして同期制御を1サイクル行う。ここで、区間4の終点は150°で区間3の始点は200°なので150°〜200°までの変位データが存在しない。この場合は、マスタ軸位相θが区間3の始点に達するまで、スレーブ軸を停止して待つか、マスタ軸位相θが区間3の始点に達するまでの間に区間4の終点(150°のスレーブ軸変位)と区間3の始点(200°のスレーブ軸変位)を結ぶ直線上を移動するようにする。
【0022】
図7は複数のスレーブ軸を制御する制御装置の一構成例を説明するブロック図である。第1スレーブ軸、第2スレーブ軸、第3スレーブ軸は、別個のスレーブ軸とすることも、あるいは、同一のスレーブ軸とすることもできる。
【0023】
各スレーブ軸について同期制御を適用するか否かの制御は、同期信号によって選択できる。図7において、マスタ軸側は、マスタ軸分配処理部10bと加減速制御部10cとディジタルサーボ回路10dとサーボモータ10eとを備える。加減速制御部10cは、制御部10aが備えるマスタ軸分配処理部10bから出力される信号を受けてサーボモータ10eを駆動し、マスタ軸を駆動する。
【0024】
一方、スレーブ側は、第1,2,3スレーブ分配処理部21b,22b,23bと加減速制御部21c,22c,23cとディジタルサーボ回路21d,22d,23dとサーボモータ21e,22e,23eとを備える。第1,2,3スレーブ分配処理部21b,22b,23bは、マスタ分配処理部10bから出力される信号を受け、各マスタ軸に応じた信号を形成し加減速制御部21c,22c,23cに送る。
【0025】
第1,2,3スレーブ軸の同期制御の切り替えは、マスタ分配処理部10bと第1,2,3スレーブ分配処理部21b,22b,23bとの間に設けた切り替え手段により行うことができ、該切り替えは同期信号のオン,オフで行うことができる。なお、図7の例では、複数のスレーブ軸として3つの場合を示しているが、該例に限らず任意の複数個とすることができる。
【0026】
また、本発明の同期制御方法は数値制御装置に適用することができる。図8は本発明の同期制御方法及び装置を適用する数値制御装置100のブロック図である。CPU11は数値制御装置100を全体的に制御するプロセッサである。CPU11は、ROM12に格納されたシステムプログラムをバス20を介して読み出し、該システムプログラムに従って数値制御装置全体を制御する。RAM13には一時的な計算データや表示データ及び表示器/MDIユニット70を介してオペレータが入力した各種データが格納される。CMOSメモリ14は図示しないバッテリでバックアップされ、数値制御装置100の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。CMOSメモリ14中には、インターフェイス15を介して読み込まれた加工プログラムや表示器/MDIユニット70を介して入力された加工プログラム等が記憶される。また、ROM12には、加工プログラムの作成及び編集のために必要とされる編集モードの処理や自動運転のための処理を実施するための各種システムプログラムがあらかじめ書き込まれている。
【0027】
本発明の同期制御を行うためのデータテーブルDTは不揮発性メモリ14に予め書き込み設定しておく。なお、このデータテーブルDTは、各スレーブ軸毎に設定されるものであるが、2つ以上のスレーブ軸が同一動作を行うものであれば、データテーブルDTは、これらに対して1つ設ければよい。
【0028】
インターフェイス15は、数値制御装置100とアダプタ等の外部機器72との接続を可能とするものである。外部機器72側からは加工プログラムが読み込まれる。また、数値制御装置100内で編集した加工プログラムは、外部機器72を介して外部記憶手段に記憶させることができる。PMC(プログラマブル・マシン・コントローラ)16は、数値制御装置100に内蔵されたシーケンスプログラムで工作機械の補助装置(例えば、工具交換用のロボットハンドといったアクチュエータ)にI/Oユニット17を介して信号を出力し制御する。また、工作機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、CPU11に渡す。なお、機械側からの信号を、本発明の同期信号として用いることができる。
【0029】
表示器/MDIユニット70はディスプレイやキーボード等を備えた手動データ入力装置であり、インターフェイス18は表示器/MDIユニット70のキーボードからの指令,データを受けてCPU11に渡す。インターフェイス19は手動パルス発生器等が設けられた操作盤71に接続されている。
【0030】
各軸の軸制御回路30〜33はCPU11からの各軸の移動指令量を受けて、各軸の指令をサーボアンプ40〜43に出力する。サーボアンプ40〜43はこの指令を受けて、各軸のサーボモータ50〜53を駆動する。各軸のサーボモータ50〜53は位置・速度検出器を内蔵し、この位置・速度検出器からの位置。速度フィードバック信号を軸制御回路30〜33にフィードバックし、位置・速度のフィードバック制御を行う。なお、図8では、位置・速度のフィードバックについては省略している。
【0031】
また、スピンドル制御回路60は主軸回転指令を受け、スピンドルアンプ61にスピンドル速度信号を出力する。スピンドルアンプ61はスピンドル速度信号を受けて、主軸モータ62を指令された回転速度で回転させる。ポジションコーダ63は、主軸モータ62の回転に同期して帰還パルスをスピンドル制御回路60にフィードバックし、速度制御を行う。
【0032】
マスタ軸をスピンドル軸(スピンドル制御回路60、スピンドルアンプ61、スピンドルモータ62)としても、また、他の軸(軸制御回路30〜33,サーボアンプ40〜43,及びサーボモータ50〜53で駆動される軸)で構成することができ、何れをマスタ軸とし何れをスレーブ軸とするかは、設定により定めることができる。
【0033】
図9は、上述した数値制御装置が実行する同期制御のフローチャートである。例えば、スピンドル軸をマスタ軸として、他の軸を1以上をスレーブ軸として、同期制御するものとする。この場合、スレーブ軸が2以上ある場合で、各スレーブ軸が異なった動きに同期制御されるときは、図4、図6に示すようなデータテーブルDTは、その動きの異なるスレーブ軸分設けられることになる。以下に説明する例では、説明を簡単にするために、スレーブ軸は1つであるとして説明する。
【0034】
プロセッサ11は、プログラムの1ブロックを読み(ステップA1)、該ブロックで指令されている指令が「G05 P23010」の同期制御指令かを判断し、(ステップA2)、この同期制御指令でなければ、フラグFを「0」にセットし(ステップA21)、このブロックで指令された処理を実行する。
【0035】
一方、同期制御指令であると、該ブロックで指令されているアドレスQ,R,S,T,Lの指令値を読み出し、アドレスQの同期実行の開始基準変数番号xを開始基準変数Stxとして、アドレスSの同期開始するマスタ軸の位相θを開始位相Stθとして、アドレスRで指令された当該区間の終了基準変数を終了基準変数番号Exとして、アドレスTで指定された値をピッチPとして、さらに、アドレスLに指定された値を繰り返し回数Nとして記憶する。また、レジスタR(θ)に開始位相Stθを格納し、レジスタR(x)に開始基準変数Stxを格納する。
【0036】
一例として、図5、図6で示すモーションプログラム2を参照して説明する。この例であると、最初のブロックでStx=0、Stθ=0、Ex=150、P=1、N=1が記憶される。レジスタR(θ)には、Stθ=0が格納され、レジスタR(x)にはStx=0が格納されることになる。なお、マスタ軸のスピンドル軸は、所定の任意の速度で回転させられているものとする。
【0037】
そして、フラグFが「1」か判断し、最初は、初期設定またはステップA21の処理で「0」が設定されているから、ステップA5に移行し、シフト量Hを「0」にセットし、フラグFを「1」にセットする(ステップA6)。
【0038】
次に、マスタ軸の位相θを読み(ステップA7)、該マスタ軸位相θがレジスタR(θ)に記憶する同期区間の開始位相(Stθ)に達したか判断し(ステップA8)、達するまでステップA7、A8の処理を繰り返し実行する。モーションプログラム2の最初のブロック(区間1)ではStθ=0であるから、マスタ軸の位相θが「0」に達するまで待ち、達すると、レジスタR(x)に記憶する開始基準変数番号Stxに対して設定されているスレーブ軸変位yを読み取り、該読み出したスレーブ軸変位yから記憶するシフト量H(最初はステップA5で「0」が設定されている)を減じて、スレーブ軸の変位を出力する(ステップA9)。モーションプログラム2の最初のブロック(区間1)では、基準変数Stx=0で、対応するスレーブ軸変位y=0であり、スレーブ軸への出力y0=0−0=0が出力される。
【0039】
次に、レジスタR(x)に記憶する値がこの区間の終了基準変数番号Exに達したか判断し(ステップA10)、達してなければ、基準変数を記憶するレジスタR(x)にピッチPを加算し、マスタ軸位相を記憶するレジスタR(θ)に1°を加算する(ステップA11)。そして、マスタ軸位相を記憶するレジスタR(θ)が360°でなければそのまま、また360°となっていれば、該レジスタR(θ)を「0」にセットしたあと、ステップA8に戻り前述したステップA7以下の処理を実行する。レジスタR(x)にP=1が加算され、レジスタR(θ)に記憶する位相θは1°進められるから、ステップA8では1°マスタ軸位相θが1°進んだときYESとなり、ステップA9では、1進んだ基準変数xに対するスレーブ軸変位yが読み出されることになり、シフト量H=0を減じてスレーブ軸変位y0=yが出力される。
【0040】
以下、レジスタR(θ)の記憶値は、0、1、2、3…と進み、これに同期してレジスタR(x)も0、1、2、3…と進み、このレジスタR(x)に記憶する基準変数xに対応したスレーブ軸変位yが読み出され、シフト量Hを減じたあとスレーブ軸変位として出力される。そして、レジスタR(x)=150、レジスタR(θ)=150となって、ステップA10で、R(x)=Ex=150と判断されたとき、すなわち区間1が終了したときには、ステップA10からステップA14に移行し、回数Nを記憶するレジスタから1を減じて(ステップA14)、該レジスタに記憶する回数Nが「0」か判断する(ステップA15)。モーションプログラム2の最初のブロック(区間1)では、回数は1回であるから、N=0となりステップA15からステップA1に戻り、次のブロックを読む、モーションプログラム2の次のブロックも同期制御指令であり、図5に示す区間2のパターンを10回繰り返す指令である。ステップA3では、Stx=150、Stθ=150、Ex=872、P=2、N=10が記憶される。レジスタR(θ)には、Stθ=150が格納され、レジスタR(x)にはStx=150が格納されることになる。
【0041】
また、フラグFは「1」にセットされているから、ステップA4からステップA19に移行して、開始基準変数番号Stx(=150)として記憶する基準変数に対するスレーブ軸変位yを読み出す。この変位をys(=7000)とする。この当該区間(区間2)の開始スレーブ変位ysから、ステップA9で求めた1つ前のブロック(区間1)の終了時のスレーブ軸の変位y0(=7000)を減じて差を求め、この差をシフト量Hとする(ステップA20)。図5の区間1から区間2に移行する際のシフト量Hは、H=ys−y0=7000−7000=0である。
そして、前述したステップA7以下の処理を行うが、この区間2では、P=2がセットされているので、ステップA11では、レジスタR(x)にはP=2が加算されることになる。よって、マスタ軸変位θが1°進む毎に基準変数xは2つ進むことになり、マスタ軸変位θが150°、151°、152°……0°……150°と変化すると、基準変数xを記憶するレジスタR(x)の値は、150、152、154…510……872と1つとびに変化し、その基準変数xに対応するスレーブ軸変位yが読み出されシフト量H=0が減算されてスレーブ軸の変位y0として出力される。
【0042】
こうして区間2の1回の処理動作が終了し、レジスタR(x)の記憶値が終了基準変数番号Ex=872に達すると、ステップA10からステップA14に移行し、回数Nを記憶するレジスタから「1」減じる。この場合N=9となる。回数Nが「0」でないことからステップA15からステップA16に移行し、ステップA3で記憶した開始基準変数番号Stxに対応するスレーブ変位ysを読みとり、該スレーブ変位ysから、ステップA9で求めたスレーブ変位y0を減じてシフト量Hを求める(ステップA17)。区間2の場合、図5、図6に示すように、区間2の開始基準変数番号Stxに対するスレーブ軸変位ysは「7000」で、区間2の終了時におけるスレーブ軸変位y0も「7000」でありシフト量Hは「0」となる。
【0043】
次に、レジスタR(θ)にステップA3で記憶したマスタ軸の区間2の開始位相Stθを格納し、レジスタR(x)に区間2の開始基準変数Stxを格納し(ステップA18)、ステップA7に移行する。
以下、回数Nを記憶するレジスタの値が「0」となるまで、ステップA7からステップA18の処理を繰り返し実行することになる。このときシフト量Hは「0」である。
【0044】
ステップA7からステップA18の区間2の処理を10回行い、回数Nが「0」となると、ステップA1に戻り、次のブロックを読む。モーションプログラム2の次のブロックは区間4の処理動作であり、Q=200、R=561,S=150,T=1,L=5であるから、基準変数xが200〜561までの区間をマスタ軸位相θが150°からピッチ1で実行開始し、この区間を5回実行する指令である。この指令が読まれてステップA3の処理がなされ、P=1、Stθ=150°、Stx=200,Ex=561,N=5,R(θ)=150°,R(x)=200として記憶される。フラグFは「1」であるからステップA4からステップA19に移行する。
【0045】
区間1の処理、区間2の10回の処理ではシフト量Hは「0」であるから、この時点でのスレーブ軸変位y0は、区間2の終わり基準変数x=「872」に対応する「7000」であり、区間4の開始基準変数番号Stxは「200」で、対応するスレーブ軸変位yは「10000」でys=10000となり、ステップA20でシフト量Hが、H=ys−y0=10000−7000=3000として求められる。
【0046】
次にステップA7以下の処理により、区間4の処理が繰り返し5回実行することになるが、最初の区間処理では、前述したようにシフト量Hが「3000」であり、区間4の開始のマスタ軸位相θは、区間2の終了時のマスタ軸位相150と同一であるから、ステップA7の読みで直ちにθ=150°が読み出され、レジスタR(θ)に記憶する値と一致するから、ステップA8からステップA9に進み、R(x)に記憶する基準変数x=200のスレーブ軸変位yの「10000」が読み出されるが、これからシフト量H=3000が減じられることにより、スレーブ軸変位y0は、「7000」となり、区間2の終了時のスレーブ軸変位と等しくなり、区間2と区間4は連続するものとなる。そして、前述したステップA7からステップA13の処理が実行され、区間4の1サイクルが実行される。このとき、ステップA9でシフト量Hが基準変数に対して読み出されたスレーブ軸変位yに対して補正されるから、図5において、区間4のスレーブ軸変位のパターンは「3000」だけ下方向にシフトした形となる。
【0047】
かくして、区間4の1サイクルが終了し、ステップA14でN=4となり、ステップA16に移行し、当該区間4の開始基準変数番号Stxのスレーブ軸変位ys=「10000」が読み出され、該変位ys=「10000」からステップA9で求めたスレーブ軸この時点の変位y0が減算されて、シフト量Hが求められる(ステップA17)。すなわち、区間4の1サイクルの終了時におけるスレーブ軸変位yの値が該区間4の2サイクル目の開始スレーブ軸変位の値となるようにシフト量Hが求められるものである。次に、レジスタR(θ),R(x)に区間4のマスタ軸の開始位相Stθ、開始基準変数Stxを格納し(ステップA18)、ステップA7以下の処理を実行する。
【0048】
ステップA7からステップA18の処理を繰り返し実行し、区間4の処理を5回実行すると、N=0となり、ステップA15からステップA1に移行して次のブロックを読む。モーションプログラム2の次のブロックは、区間3の処理を1回実行する処理であり、Q=872,R=1083,S=200,T=1,L=1であるから、Stθ=200,Stx=872,Ex=1083,P=1,N=1が記憶され、レジスタR(θ),R(x)には、Stθ=200、Stx=872が格納される。そして、ステップA19、A20で、当該区間3の開始スレーブ軸変位ysから前区間4の終了スレーブ軸変位y0を減じてシフト量Hを求め、ステップA7以下の処理を実行するが、前区間の区間4の終了時のマスタ軸位相は150°であり、当該区間3の開始マスタ軸位相は200°であるから、該マスタ軸位相θが200°になるまで、ステップA7からステップA8の処理が実行され、その間スレーブ軸の移動は停止した状態となる。
【0049】
マスタ軸位相θが200°となり、レジスタR(θ)に記憶する開始位相200°と一致すると(ステップA8)、前述したステップA9以下の処理を実行する。以下、ステップA7からステップA13の処理を繰り返し実行し、レジスタR(x)の値が当該区間3の終了基準変数番号Exに達すると、ステップA10からステップA14に移行し、回数Nを記憶するレジスタから「1」減算され、該回数が「0」となったことがステップA15で確認されるので、ステップA1に戻り次のブロックを読むが、次のブロックが同期制御指令ではない場合には、同期制御は終了し、フラグFを「0」にセットして(ステップA21)、このブロックで指令された処理を実行する(ステップA22)。
【0050】
図5、図6で示した実施形態では、区間2の中に区間4を設定してこの区間4を実行するようにしたが、さらに異なったスレーブ軸のマスタ軸に対する同期動作を行われるような場合、そのスレーブ軸の異なった同期パターン部分を異なった基準変数で設定しておき、この基準変数を選択することによって、マスタ軸に対してスレーブ軸を同期制御することができる。例えば、区間1,区間3のアプローチ動作や退避動作は同一でも、加工、作業動作が区間2や区間4のパターンとは異なるパターンを選択して実施するような場合には、さらに異なった基準変数領域に対してスレーブ軸変位のパターンをデータテーブルDTに格納しておき、この基準変数領域を選択することによって、さらに別なパターンの区間の加工、作業動作をさせることができる。
【0051】
なお、上記実施形態では、区間から区間に移行するさい、当該区間の開始時のスレーブ軸変位を前区間の終了時のスレーブ軸変位と一致するようにシフト量Hを求めるようにしたが、前区間の終了時のスレーブ軸変位から該区間の開始時のスレーブ軸変位まで直線状に移動させるようにしてもよい。この場合、前区間の終了時のマスタ軸位相と当該区間のマスタ軸開始位相とに差Δθがある場合には、この差分Δθで、前区間の終了時のスレーブ軸変位から該区間の開始時のスレーブ軸変位の差を割り、マスタ軸が1°変化する毎にスレーブ軸の移動量Δyを求め、前区間の終了時からマスタ軸が1°増加する毎にスレーブ軸の増加移動量Δyを前区間の終了時のスレーブ軸変位に加算した値をスレーブ軸へ指令とすればよい。また、前区間の終了時のマスタ軸位相と当該区間のマスタ軸開始位相とに差Δθが「0」で、スレーブ軸変位yに差Δyがある場合には、マスタ軸が360°回転する間に、この差Δyだけスレーブ軸を直線的に移動させるようにすればよい。
また、上記実施形態ではマスタ軸変位θが1°ずつ進むような速度でマスタ軸が回転している場合について説明したが、マスタ軸の回転速度は任意で,変動してもよい。その場合はマスタ軸の位相に対応した基準変数xに対応するスレーブ軸変位に位置決めされる。
【0052】
【発明の効果】
スレーブ軸の変位データに基づいて、スレーブ軸を時々刻々変化するマスタ軸の位相に対応する変位に位置決めする同期制御において、モーションプログラムまたはシーケンスプログラムにより実行区間および繰り返し回数を指定することにより、アプローチ−加工・作業動作−退避の工程によるスレーブ軸の動作パターンの切り換えや、加工物の変更にともない途中からスレーブ軸の動作を変えたり、また特定の部分を繰り返すようなアプリケーションにも適用できる。
また、区間を繰り返し実行できるため、同じ動作を繰り返す部分を含む場合はデータ量を削減できる。
別の変位データを呼び出すサブプログラム方式と比較して、同一の変位データ内での動作のため、呼び出しのための処理が不要なため、変位データのつなぎ目でパルスが途切れない処理にすることが容易である。(通常、メインプログラムとサブプログラムの切り替え時にパルスが途切れないようにするのは難しく、工夫が必要である。)
繰り返しや任意の指定区間の運転を可能とすることにより、同じ動作の部分を1ヶ所にまとめられるので、変位データのサイズを小さくできる。
【図面の簡単な説明】
【図1】従来の同期制御におけるマスタ軸1回転の各位相に対応したスレーブ軸の変位を表した例である。
【図2】図1に示した従来の同期制御におけるこのマスタ軸の位相に対応するスレーブ軸の変位を記憶するデータテーブルの説明図である。
【図3】本発明の一実施形態における基準変数に対するスレーブ軸の変位状態を表す図である。
【図4】図3に示す基準変数に対するスレーブ軸の変位状態を格納したデータテーブルの説明図である。
【図5】図3で区間2の一部分を区間4として、これを加工工程2としたときの説明図である。
【図6】図4に示したデータテーブルにおいて、区間1〜4を示す図である。
【図7】本発明の同期制御方法を実施する制御装置の一実施形態である。
【図8】本発明の同期制御方法一実施形態を実施する数値制御装置の要部ブロック図である。
【図9】本発明の同期制御方法の一実施形態のフローチャートである。
【符号の説明】
100 数値制御装置
DT データテーブル[0001]
BACKGROUND OF THE INVENTION
Synchronous control method for synchronously operating two or more movable shafts of industrial machines, machine tools, etc. that perform synchronous control and The present invention relates to a synchronous control device.
[0002]
[Prior art]
In a conventional synchronous control method, one movable axis is used as a master axis, and the other movable axis is driven and controlled in synchronization with the master axis as a slave axis. In this case, the displacement of the slave axis is determined corresponding to the phase of the master axis starting from the phase of the
[0003]
Further, when the operation of the slave axis is different for each rotation of the master axis, it is necessary to enter all data of a plurality of rotations, and the data becomes enormous. Furthermore, a method called a subprogram method for calling another displacement data is also known. However, since this method requires a process for calling, the pulse is interrupted at the joint of the displacement data, and the displacement data is joined at the joint. There is a fault that processing and operation are not smooth.
[0004]
[Problems to be solved by the invention]
As described above, the conventional synchronous control method synchronizes the position of the slave axis in accordance with one rotation of the master axis from the angle of 0 degrees of the master axis. Therefore, there is a drawback that the operation of the slave axis cannot be changed or the specific operation cannot be repeated in the middle. In addition, there is a problem that a repetitive part must be specified and the data becomes enormous.
[0005]
There is a method of calling repeated data as a subprogram, or a method of dividing the data into a plurality of data. However, if the data is fixed and the operation state is changed, it cannot be handled and the flexibility is not effective.
Accordingly, the present invention provides a synchronous control method that can move the slave axis in synchronization with the master axis in an arbitrary pattern and that can be easily repeated. as well as To provide an apparatus.
[0006]
[Means for Solving the Problems]
In a synchronous control method for a machine having a master axis and a slave axis positioned corresponding to the position of the master axis, the invention according to
In the invention according to
In the invention according to
[0007]
The invention according to
[0008]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 3 is a diagram illustrating a displacement state of the slave shaft in the embodiment of the present invention. In the present invention, a reference variable x that relates the position of the master axis and the slave axis displacement is provided, and the slave axis displacement y is set and registered as a function of the reference variable x. The displacement y of the slave axis with respect to the reference variable x as shown in FIG. 3 is stored and stored in the data table DT as shown in FIG.
[0009]
Also, the master axis position θ (the master axis position is an angle from 0 degree to 360 = 0 degree, hereinafter referred to as phase) and the reference variable x are set in a linear relationship. For example, the master axis phase When θ is 0 degree, the reference variable x is 0, and when the master axis phase θ is 50 degrees, the reference variable x is 50. That is, the master axis phase θ and the reference variable x have a correspondence relationship. As a result, the master axis phase θ and the slave axis displacement y corresponding to the master axis phase are obtained via the reference variable x.
[0010]
Further, when the slave axis displacement y is set and registered so as to change as shown in FIGS. 3 and 4 while the reference variable x changes from “0” to “1083”, the slave is synchronized with the master axis. When driving the axis, if the reference variable x is associated with the master axis phase θ and the reference variable x is changed from “0” to “1082” once or repeatedly, it is executed as shown in FIGS. As in the conventional synchronous control shown in (1), the slave axis moves in one pattern in synchronization with the movement of the master axis.
[0011]
However, in the present invention, as shown in FIGS. 3 and 4, the pattern of the slave axis displacement y with respect to the set reference variable x is divided into sections, and the synchronization control for each section and the combination of the sections are used. Synchronous control, repetitive synchronous control of arbitrarily designated sections, etc. can be executed.
[0012]
For example, when machining / working is performed in synchronization with the master axis and slave axis, there are machining / working sections following the approach section, and there is a retracting section at the end, as shown in FIGS. ,
[0013]
G05 P23010 Q0 R150 S0 T1 L1
G05 P23010 Q150 R872 S150 T2 L10
G05 P23010 Q872 R1083 S150 T1 L1
In this program command, “G05 P23010” means a synchronous control command, “Q” is the start reference variable number of the synchronous control execution section, “R” is the end reference variable number of the synchronous control execution section, and “S” is Synchronous control start position (master axis phase), “T” designates the pitch of displacement data, and “L” designates the number of repetitions.
[0014]
In this way, the execution interval is specified by specifying the start reference variable number and the end reference variable number by the addresses of Q and R, respectively, and associating with the master axis, the start position (section change position) is determined by the phase of the master axis. specify. Further, S is used as an address indicating the position of the master axis (master axis phase) where synchronization is started. Further, in order to associate the number of slave axis displacement data points (361 in this example) used per master axis revolution with the number of slave axis displacement data points in the data table DT shown in FIG. Specify with. For example, if the pitch is T1, the pitch of the slave axis displacement data y is 1, so the reference variable x and the master axis phase θ have a one-to-one correspondence. On the other hand, if T2, the pitch of the slave axis displacement data y is 2, meaning that every other slave axis displacement data y of the reference variable x is associated with the phase θ of the master axis.
[0015]
When the master axis rotates from the
・ Approach process
The interval 1 (0 to 150) is regarded as the displacement data of the slave axis with respect to the
Therefore, while the phase of the master axis changes from 0 degree to 150 degrees, the reference variable x changes from 0 to 150, and the displacement y of the slave axis read and commanded accordingly is shown in the data table DT of FIG. As shown in FIG.
・ Processing / work operation process
Since
・ Evacuation process
In
[0016]
Here, for simplicity of explanation, the master axis is rotated in the + direction from the
[0017]
As described above, since the section can be set in correspondence with the reference variable x with respect to the master axis phase θ, when there is a data table DT as shown in FIG. 4, an arbitrary section is designated using this data table DT. Thus, the slave axis can be moved to the displacement set in the data table DT in synchronization with the master axis.
[0018]
FIG. 5 is an explanatory diagram when a part of the
When the master axis rotates from the
・ Approach process
The slave axis displacement data y set for the reference variable x in the
・
The slave axis displacement data y for which the reference variable x in
・
The slave axis displacement data y in which the reference variable x in the
[0019]
Here, there is a step between the end point of the
[0020]
Further, since the end point of the
[0021]
Evacuation process
The slave axis displacement data y in which the reference variable x in
[0022]
FIG. 7 is a block diagram illustrating a configuration example of a control device that controls a plurality of slave axes. The first slave axis, the second slave axis, and the third slave axis can be separate slave axes or the same slave axis.
[0023]
Control of whether or not to apply synchronization control to each slave axis can be selected by a synchronization signal. In FIG. 7, the master axis side includes a master axis distribution processing unit 10b, an acceleration /
[0024]
On the other hand, the slave side includes first, second and third slave distribution processing units 21b, 22b, and 23b, acceleration /
[0025]
The switching of the synchronous control of the first, second and third slave axes can be performed by a switching means provided between the master distribution processing unit 10b and the first, second and third slave distribution processing units 21b, 22b and 23b. The switching can be performed by turning on / off the synchronization signal. In the example of FIG. 7, three cases are shown as a plurality of slave axes. However, the present invention is not limited to this example, and any number of slave axes may be used.
[0026]
The synchronous control method of the present invention can be applied to a numerical control device. FIG. 8 is a block diagram of a
[0027]
The data table DT for performing the synchronization control of the present invention is set in advance in the
[0028]
The
[0029]
The display /
[0030]
The
[0031]
The
[0032]
The master axis is a spindle axis (
[0033]
FIG. 9 is a flowchart of the synchronous control executed by the numerical controller described above. For example, synchronous control is performed with the spindle axis as the master axis and the other axes as one or more slave axes. In this case, when there are two or more slave axes and each slave axis is synchronously controlled with different movements, data tables DT as shown in FIGS. 4 and 6 are provided for the slave axes with different movements. It will be. In the example described below, in order to simplify the description, it is assumed that there is one slave axis.
[0034]
The processor 11 reads one block of the program (step A1), determines whether the command commanded in the block is a synchronous control command of “G05 P23010” (step A2), and if it is not this synchronous control command, The flag F is set to “0” (step A21), and the process commanded in this block is executed.
[0035]
On the other hand, if it is a synchronous control command, the command values at addresses Q, R, S, T, and L commanded in the block are read, and the start reference variable number x for synchronous execution at address Q is set as the start reference variable Stx. The phase θ of the master axis at which the synchronization of the address S starts is set as the start phase Stθ, the end reference variable of the section instructed by the address R is set as the end reference variable number Ex, the value specified by the address T is set as the pitch P, and The value designated at the address L is stored as the repetition count N. Further, the start phase Stθ is stored in the register R (θ), and the start reference variable Stx is stored in the register R (x).
[0036]
As an example, the
[0037]
Then, it is determined whether the flag F is “1”. Initially, “0” is set in the initial setting or the process of step A21. Therefore, the process proceeds to step A5, and the shift amount H is set to “0”. The flag F is set to “1” (step A6).
[0038]
Next, the phase θ of the master axis is read (step A7), and it is determined whether or not the master axis phase θ has reached the start phase (Stθ) of the synchronization section stored in the register R (θ) (step A8). Steps A7 and A8 are repeatedly executed. Since Stθ = 0 in the first block (section 1) of the
[0039]
Next, it is determined whether the value stored in the register R (x) has reached the end reference variable number Ex of this section (step A10). If not, the pitch P is stored in the register R (x) storing the reference variable. And 1 ° is added to the register R (θ) for storing the master axis phase (step A11). If the register R (θ) for storing the master axis phase is not 360 °, it is left as it is, and if it is 360 °, the register R (θ) is set to “0”, and the process returns to step A8 and described above. The processing after step A7 is executed. Since P = 1 is added to the register R (x) and the phase θ stored in the register R (θ) is advanced by 1 °, YES is obtained when the 1 ° master axis phase θ is advanced by 1 ° in step A8, and step A9 Then, the slave axis displacement y with respect to the reference variable x advanced by 1 is read, and the shift amount H = 0 is subtracted and the slave axis displacement y0 = y is output.
[0040]
Hereinafter, the stored value of the register R (θ) proceeds as 0, 1, 2, 3,..., And the register R (x) also proceeds as 0, 1, 2, 3,. The slave axis displacement y corresponding to the reference variable x stored in () is read out, and after subtracting the shift amount H, it is output as the slave axis displacement. Then, when the register R (x) = 150 and the register R (θ) = 150 are determined and R (x) = Ex = 150 is determined in Step A10, that is, when the
[0041]
Since the flag F is set to “1”, the process proceeds from step A4 to step A19, and the slave axis displacement y with respect to the reference variable stored as the start reference variable number Stx (= 150) is read. This displacement is assumed to be ys (= 7000). The difference is obtained by subtracting the slave axis displacement y0 (= 7000) at the end of the previous block (section 1) obtained in step A9 from the start slave displacement ys of the section (section 2). Is the shift amount H (step A20). The shift amount H when shifting from
Then, the processing from step A7 onward is performed. Since P = 2 is set in this
[0042]
In this way, when one processing operation in the
[0043]
Next, the start phase Stθ of
Thereafter, the processing from step A7 to step A18 is repeatedly executed until the value of the register storing the number of times N becomes “0”. At this time, the shift amount H is “0”.
[0044]
The processing of
[0045]
Since the shift amount H is “0” in the process of
[0046]
Next, the processing of
[0047]
Thus, one cycle of
[0048]
When the processing from step A7 to step A18 is repeatedly executed and the processing in
[0049]
When the master axis phase θ becomes 200 ° and coincides with the
[0050]
In the embodiment shown in FIG. 5 and FIG. 6, the
[0051]
In the above embodiment, when shifting from section to section, the shift amount H is obtained so that the slave axis displacement at the start of the section matches the slave axis displacement at the end of the previous section. You may make it move linearly from the slave axis displacement at the end of the section to the slave axis displacement at the start of the section. In this case, if there is a difference Δθ between the master axis phase at the end of the previous section and the master axis start phase of the section, the difference Δθ is used to determine the start of the section from the slave axis displacement at the end of the previous section. The slave axis displacement difference is divided to obtain the slave axis movement amount Δy every time the master axis changes by 1 °, and the slave axis increase movement amount Δy every time the master axis increases by 1 ° from the end of the previous section. A value added to the slave axis displacement at the end of the previous section may be used as a command to the slave axis. In addition, when the difference Δθ is “0” between the master axis phase at the end of the previous section and the master axis start phase of the section, and there is a difference Δy in the slave axis displacement y, the master axis is rotated 360 °. In addition, the slave axis may be linearly moved by this difference Δy.
In the above-described embodiment, the case where the master axis rotates at a speed at which the master axis displacement θ advances by 1 ° has been described. However, the rotation speed of the master axis is arbitrary and may vary. In that case, positioning is performed at the slave axis displacement corresponding to the reference variable x corresponding to the phase of the master axis.
[0052]
【The invention's effect】
In synchronous control that positions the slave axis to the displacement corresponding to the phase of the master axis that changes from time to time based on the displacement data of the slave axis, the execution section and the number of repetitions are specified by the motion program or sequence program. It can also be applied to applications that change the operation pattern of the slave axis in the machining / work operation-retraction process, change the operation of the slave axis in the middle of changing the workpiece, or repeat a specific part.
In addition, since the section can be repeatedly executed, the data amount can be reduced when a portion where the same operation is repeated is included.
Compared to the sub-program method that calls other displacement data, the operation within the same displacement data eliminates the need for call processing, so it is easy to make the process where pulses are not interrupted at the joint of displacement data. It is. (Normally, it is difficult to prevent the pulses from being interrupted when switching between the main program and the sub program, and some ingenuity is required.)
By enabling repeated operation or operation in any specified section, the same movement can be combined in one place, so the size of the displacement data can be reduced.
[Brief description of the drawings]
FIG. 1 is an example showing a displacement of a slave axis corresponding to each phase of one rotation of a master axis in conventional synchronous control.
FIG. 2 is an explanatory diagram of a data table that stores the displacement of a slave axis corresponding to the phase of the master axis in the conventional synchronous control shown in FIG.
FIG. 3 is a diagram illustrating a displacement state of a slave axis with respect to a reference variable according to an embodiment of the present invention.
4 is an explanatory diagram of a data table storing a displacement state of a slave axis with respect to the reference variable shown in FIG.
FIG. 5 is an explanatory diagram when a part of the
6 is a
FIG. 7 is an embodiment of a control apparatus that implements the synchronization control method of the present invention.
FIG. 8 is a principal block diagram of a numerical controller that implements an embodiment of the synchronization control method of the present invention;
FIG. 9 is a flowchart of an embodiment of the synchronization control method of the present invention.
[Explanation of symbols]
100 Numerical controller
DT data table
Claims (10)
前記マスタ軸の位置と前記スレーブ軸変位を関係付ける基準変数を設け、
該基準変数に対応する前記スレーブ軸の変位データを登録しておき、
マスタ軸の位置と基準変数の関数関係を設定し、
同期実行区間の開始基準変数と該区間の基準変数領域及びマスタ軸の同期開始位置を指定し、
前記指定したマスタ軸の同期開始位置より、前記指定した同期実行区間の開始基準変数から基準変数に対応するスレーブ軸の変位データに基づいてスレーブ軸を時々刻々変化するマスタ軸の位置に対応させて位置決めする同期制御方法。In a synchronous control method of a machine having a master axis and a slave axis positioned corresponding to the position of the master axis,
Providing a reference variable that relates the position of the master axis and the displacement of the slave axis;
Previously registered displacement data of the slave axis corresponding to the reference variable,
Set the function relationship between the master axis position and the reference variable,
Specify the start reference variable of the synchronization execution section, the reference variable area of the section and the synchronization start position of the master axis,
From the synchronization start position of the designated master axis, the slave axis is made to correspond to the position of the master axis that changes from time to time based on the displacement data of the slave axis corresponding to the reference variable from the start reference variable of the designated synchronization execution section. Synchronous control method for positioning.
前記指定した同期実行区間の一つないし複数個を任意の順序で指定する請求項1に記載の同期制御方法。The synchronization control method according to claim 1, wherein one or more of the designated synchronization execution sections are designated in an arbitrary order.
アプローチ−加工・作業動作−退避の工程によるスレーブ軸の動作パターンの切り換えや、加工物の変更にともない途中からスレーブ軸の動作を変えるアプリケーションにも適用可能としたことを特徴とする請求項1乃至4の内いずれか1項に記載の同期制御方法。By specifying the synchronous execution section and the number of repetitions with the motion program or sequence program,
Approach - processing and working operation - Switching or operation pattern of the slave axis by retracting step, 1 to claim, characterized in that also can be applied in the middle with the change of the workpiece to the application to change the operation of the slave axis 5. The synchronization control method according to any one of 4 .
前記マスタ軸の位置と前記スレーブ軸変位を関係付ける基準変数を設け、
該基準変数に対応して前記スレーブ軸の変位データを登録しておく記憶手段と、
1以上の同期実行区間の開始基準変数と各区間の基準変数領域及び各区間のマスタ軸の同期開始位置を指定するモーションプログラムまたはシーケンスプログラムと、
前記指定したマスタ軸の同期開始位置より、前記指定した実行区間の開始基準変数から基準変数に対応するスレーブ軸の変位データに基づいてスレーブ軸を時々刻々変化するマスタ軸の位置に対応させて位置決めする手段と、
を備えたことを特徴とする同期制御装置。In a synchronous control device for a machine having a master axis and a slave axis positioned corresponding to the position of the master axis,
Providing a reference variable that relates the position of the master axis and the displacement of the slave axis;
Storage means for registering the displacement data of the slave axis in response to the reference variable,
A motion program or a sequence program that designates the start reference variable of one or more synchronization execution sections, the reference variable area of each section, and the synchronization start position of the master axis of each section;
Positioning the slave axis corresponding to the position of the master axis that changes from time to time based on the displacement data of the slave axis corresponding to the reference variable from the start reference variable of the specified execution section from the synchronization start position of the specified master axis Means to
A synchronization control device comprising:
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001327315A JP3665008B2 (en) | 2001-10-25 | 2001-10-25 | Synchronization control method and synchronization control apparatus |
US10/272,020 US6888334B2 (en) | 2001-10-25 | 2002-10-17 | Synchronization control method and synchronization control device |
DE60235061T DE60235061D1 (en) | 2001-10-25 | 2002-10-23 | Method and device for synchronous control |
EP02257351A EP1308809B1 (en) | 2001-10-25 | 2002-10-23 | Synchronization control method and synchronization control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001327315A JP3665008B2 (en) | 2001-10-25 | 2001-10-25 | Synchronization control method and synchronization control apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003131740A JP2003131740A (en) | 2003-05-09 |
JP3665008B2 true JP3665008B2 (en) | 2005-06-29 |
Family
ID=19143562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001327315A Expired - Lifetime JP3665008B2 (en) | 2001-10-25 | 2001-10-25 | Synchronization control method and synchronization control apparatus |
Country Status (4)
Country | Link |
---|---|
US (1) | US6888334B2 (en) |
EP (1) | EP1308809B1 (en) |
JP (1) | JP3665008B2 (en) |
DE (1) | DE60235061D1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015063925A1 (en) * | 2013-10-31 | 2015-05-07 | 三菱電機株式会社 | Program creating device, program creating method, and program |
WO2018179185A1 (en) * | 2017-03-29 | 2018-10-04 | 三菱電機株式会社 | Motion control device and external display device |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ITVI20010149A1 (en) * | 2001-07-04 | 2003-01-04 | Adriano Cazzavillan | METHOD TO COORDINATE AND SYNCHRONIZE THE MOVEMENT OF SERVO-ASSISTED AXES |
JP2004005302A (en) * | 2002-06-03 | 2004-01-08 | Yaskawa Electric Corp | Motion program execution device and motion program debugging device |
JP2004227163A (en) * | 2003-01-21 | 2004-08-12 | Fanuc Ltd | Servo control device |
JP3680064B2 (en) * | 2003-04-21 | 2005-08-10 | ファナック株式会社 | Numerical controller |
JP4112433B2 (en) * | 2003-05-22 | 2008-07-02 | スター精密株式会社 | Numerical control device for machine tool and numerical control method for machine tool |
JP3720825B2 (en) * | 2003-07-28 | 2005-11-30 | ファナック株式会社 | Numerical controller |
JP3898686B2 (en) * | 2003-10-20 | 2007-03-28 | ファナック株式会社 | Numerical controller |
DE10357824A1 (en) * | 2003-12-09 | 2005-07-14 | Kuka Roboter Gmbh | Method and device for operating cooperating different devices |
JP2005322076A (en) * | 2004-05-10 | 2005-11-17 | Fanuc Ltd | Numerical controller |
JP4282631B2 (en) * | 2005-04-20 | 2009-06-24 | ファナック株式会社 | Numerical control device that operates with tabular data |
DE102007053216A1 (en) * | 2007-11-06 | 2009-05-07 | Robert Bosch Gmbh | Method and device for controlling a movement sequence of a machine element |
DE102008018962B4 (en) * | 2008-04-16 | 2015-08-20 | Kuka Roboter Gmbh | Method for controlling a robot |
WO2013175615A1 (en) * | 2012-05-24 | 2013-11-28 | 三菱電機株式会社 | Electronic cam control device and electronic cam curve generation method |
CN105144012B (en) | 2013-02-01 | 2018-05-04 | 三菱电机株式会社 | Sync control device |
JP5628954B2 (en) * | 2013-03-29 | 2014-11-19 | ファナック株式会社 | Motor control device for synchronously controlling a plurality of motors |
EP2887165A1 (en) * | 2013-12-20 | 2015-06-24 | Omron Corporation | Computation unit, output control method, and program |
JP5873140B2 (en) * | 2014-06-25 | 2016-03-01 | ファナック株式会社 | Synchronous control device |
TWI557521B (en) * | 2015-11-03 | 2016-11-11 | 新代科技股份有限公司 | Electronic cam device and electronic cam curve generating method |
JP6441257B2 (en) * | 2016-04-28 | 2018-12-19 | ファナック株式会社 | Numerical control apparatus and synchronous tracking control method |
JP6748146B2 (en) * | 2018-05-17 | 2020-08-26 | ファナック株式会社 | Control device, control method, and control program |
JP7310465B2 (en) * | 2018-12-27 | 2023-07-19 | オムロン株式会社 | Synchronous control device, synchronous control system, synchronous control method, and simulation device |
JP6943268B2 (en) * | 2019-03-29 | 2021-09-29 | オムロン株式会社 | Control device |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4093904A (en) * | 1976-02-04 | 1978-06-06 | Contraves Goerz Corporation | Multi-axis motion generator utilizing feedforward control |
EP0385459A3 (en) * | 1989-03-02 | 1990-11-14 | Toyoda Koki Kabushiki Kaisha | Synchronizing control apparatus |
JP2693635B2 (en) * | 1990-10-11 | 1997-12-24 | ファナック株式会社 | CNC synchronous operation method |
JP2697399B2 (en) * | 1991-09-13 | 1998-01-14 | 三菱電機株式会社 | Positioning device and program display method thereof |
US5796221A (en) * | 1994-07-14 | 1998-08-18 | Paper Converting Machine Company | Overload detector for servo driven machines |
JP3372725B2 (en) * | 1995-08-31 | 2003-02-04 | キヤノン株式会社 | Synchronous scan control device |
JP3943665B2 (en) * | 1997-09-01 | 2007-07-11 | 株式会社東芝 | Sleep control method and event notification method |
US6625498B1 (en) * | 1999-05-11 | 2003-09-23 | Fanuc Ltd. | Numerical control system |
DE19934044A1 (en) * | 1999-07-16 | 2001-01-25 | Mannesmann Ag | Working clock-synchronous servo axle group coupling/decoupling involves defining axle group demand value with master position value sequence table, servo axle group demand values |
US6442442B1 (en) * | 1999-09-30 | 2002-08-27 | Rockwell Automation Technologies, Inc. | System level data flow programming interface for a multi-axis industrial control system |
-
2001
- 2001-10-25 JP JP2001327315A patent/JP3665008B2/en not_active Expired - Lifetime
-
2002
- 2002-10-17 US US10/272,020 patent/US6888334B2/en not_active Expired - Lifetime
- 2002-10-23 DE DE60235061T patent/DE60235061D1/en not_active Expired - Lifetime
- 2002-10-23 EP EP02257351A patent/EP1308809B1/en not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015063925A1 (en) * | 2013-10-31 | 2015-05-07 | 三菱電機株式会社 | Program creating device, program creating method, and program |
KR20160075629A (en) | 2013-10-31 | 2016-06-29 | 미쓰비시덴키 가부시키가이샤 | Program creating device, program creating method, and program |
JP6045716B2 (en) * | 2013-10-31 | 2016-12-14 | 三菱電機株式会社 | Program creation device, program creation method, and program |
WO2018179185A1 (en) * | 2017-03-29 | 2018-10-04 | 三菱電機株式会社 | Motion control device and external display device |
Also Published As
Publication number | Publication date |
---|---|
US6888334B2 (en) | 2005-05-03 |
JP2003131740A (en) | 2003-05-09 |
EP1308809A3 (en) | 2006-03-29 |
DE60235061D1 (en) | 2010-03-04 |
EP1308809B1 (en) | 2010-01-13 |
US20030090230A1 (en) | 2003-05-15 |
EP1308809A2 (en) | 2003-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3665008B2 (en) | Synchronization control method and synchronization control apparatus | |
JP3671020B2 (en) | Numerical controller | |
US7003373B2 (en) | Method and device for numerical control | |
JP3177601B2 (en) | Numerical control unit | |
JPH0910858A (en) | System of punch press machine and control method thereof | |
JP3452899B2 (en) | Synchronous control method and device | |
JPH04237306A (en) | Method for restarting punch press machine and neumerical control device | |
US6999844B2 (en) | Numerical controller | |
JP3413954B2 (en) | Motion controller | |
US7580770B2 (en) | Numerical controller | |
JP3873685B2 (en) | Multi-axis synchronous control device, multi-axis synchronous control method, and multi-axis synchronous control program | |
JP4116640B2 (en) | Numerical control device with multi-system control function | |
WO1992009018A1 (en) | Method for executing auxiliary function in numerical control equipment | |
JPH10301614A (en) | Numeric controller | |
JP2006302207A (en) | Numerical control device | |
JPH03296109A (en) | Motion controller | |
JPH03204703A (en) | Numerical controller | |
JPS63157206A (en) | Numerical controller | |
JP2779797B2 (en) | Numerical control unit | |
JP3433817B2 (en) | Feed control device | |
JP3491913B2 (en) | Numerical control unit | |
JPH0916231A (en) | Numerical controller | |
WO1990000765A1 (en) | Numerical controller | |
JPS63157207A (en) | Numerical controller | |
JPH04130502A (en) | Tool change control system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040426 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040601 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040802 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041102 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041209 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050308 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050330 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3665008 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080408 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090408 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100408 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100408 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110408 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120408 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130408 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130408 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140408 Year of fee payment: 9 |