JP3665008B2 - Synchronization control method and synchronization control apparatus - Google Patents

Synchronization control method and synchronization control apparatus Download PDF

Info

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
Application number
JP2001327315A
Other languages
Japanese (ja)
Other versions
JP2003131740A (en
Inventor
謙太郎 藤林
哲夫 菱川
敬 出射
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
FANUC Corp
Original Assignee
FANUC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by FANUC Corp filed Critical FANUC Corp
Priority to JP2001327315A priority Critical patent/JP3665008B2/en
Priority to US10/272,020 priority patent/US6888334B2/en
Priority to DE60235061T priority patent/DE60235061D1/en
Priority to EP02257351A priority patent/EP1308809B1/en
Publication of JP2003131740A publication Critical patent/JP2003131740A/en
Application granted granted Critical
Publication of JP3665008B2 publication Critical patent/JP3665008B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical 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/19Numerical 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/42Servomotor, servo controller kind till VSS
    • G05B2219/42186Master slave, motion proportional to axis
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/43Speed, acceleration, deceleration control ADC
    • G05B2219/43174Simulating cam motion mechanism
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50216Synchronize speed and position of several axis, spindles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50218Synchronize groups of axis, spindles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50233Synchonize time-dependent with electronic cam data
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50234Synchronize two spindles, axis, electronic transmission, line shafting
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total 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という。

Figure 0003665008
このモーションプログラムの起動により、マスタ軸が位相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 master axis 0 ° and rotating once. Therefore, the slave axis can only repeat the same operation, and it cannot change the operation of the slave axis in the middle according to the state of the machine or repeat a specific operation. FIG. 1 is an example showing the displacement y of the slave axis corresponding to each phase θ of one rotation of the master axis when the master axis makes one rotation at 360 °. FIG. 2 is an explanatory diagram of a data table that stores the displacement y of the slave axis corresponding to the phase θ of the master axis. As shown in FIGS. 1 and 2, the position y of the slave axis is positioned at a corresponding position corresponding to the phase θ of the master axis that changes every moment. The master axis is normally composed of a rotation axis, and when the rotation angle exceeds 360 °, the master axis returns to 0 °, and therefore the same operation can be repeated.
[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 claim 1 of the present application Providing a reference variable that relates the position of the master axis and the displacement of the slave axis; Register the displacement data of the slave axis corresponding to the reference variable, set the function relationship between the position of the master axis and the reference variable, and synchronize the start reference variable of the synchronization execution section, the reference variable area of the section and the master axis A master axis that specifies a start position and 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 synchronization execution section from the synchronization start position of the specified master axis The positioning is performed in correspondence with the positions.
In the invention according to claim 2, the synchronization execution section is designated as any part or all of the reference variables in which the relationship with the displacement data of the slave axis is registered as the synchronization execution section. One or more execution sections are specified in any order. In the invention according to claim 3, by specifying the number of repetitions together with the synchronous execution section, the synchronous execution section in which the number of repetitions is specified can be repeatedly executed by the designated number of repetitions. In the invention according to claim 4, it is possible to specify a plurality of synchronization execution sections and repetition frequency patterns.
In the invention according to claim 5, by specifying the synchronous execution section and the number of repetitions by the motion program or the sequence program, the operation pattern of the slave axis can be switched by the approach-machining / work operation-retraction process, or the workpiece can be changed. Accordingly, it can be applied to applications that change the operation of the slave axis from the middle. Further, in the invention according to claim 6, when a plurality of synchronization execution sections or repetition count patterns are specified, and there is a slave axis displacement difference at the time of pattern switching, the slave pattern is set so that the next pattern has no displacement difference. The displacement is offset to smoothly switch to the next pattern, and the invention according to claim 7 moves linearly to the next pattern. The invention according to claim 8 specifies the change amount of the reference variable with respect to the unit movement amount of the master axis, changes the movement amount of the slave axis with respect to the movement amount of the master axis, and sets the slave axis corresponding to the position of the master axis. It was made to position.
[0007]
The invention according to claim 9 is 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; Specify storage means for registering displacement data of the slave axis corresponding to the reference variable, start reference variable for one or more synchronization execution sections, reference variable area for each section, and synchronization start position of the master axis for each section The master axis that changes the slave axis 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 motion program or sequence program to be executed and the synchronization start position of the specified master axis And a means for positioning corresponding to the position of the shaft. Further, the invention according to claim 10 specifies a change amount of a reference variable with respect to a unit movement amount of the master axis by the motion program or the sequence program, and the means for positioning includes a reference variable with respect to the change amount of the master axis. Is a synchronous control device that positions the slave axis by changing the amount of change by a specified change amount.
[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. , Section 1, section 2 and section 3 are divided into three sections, section 1 with reference variable x from 0 to 150 is taken as the approach section, section 2 with reference variable x from 150 to 872 is processed, working operation section Section 3 in which the reference variable x is 872 to 1083 is set as the evacuation section, and the section 1 of the approach section and the section 3 of the evacuation section are performed once at the beginning and the end respectively, and the section 2 of the machining and work section is performed a plurality of times. When the master axis rotates once at 360 ° and 361 points of slave axis displacement data are used while the master axis rotates once, that is, data every 1 ° of the master axis. When to use Then, it is performed by the motion program command or sequence program command of synchronous control as follows. This program is referred to as motion program 1.
[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 phase 0 ° to the + direction at an arbitrary speed by starting the motion program, the slave axis operates as follows.
・ Approach process
The interval 1 (0 to 150) is regarded as the displacement data of the slave axis with respect to the master axis phase 0 ° to 150 °, and the synchronization control is performed for one cycle. That is, since it is “S0”, the master axis phase at the start of this approach process is “0 °” and “Q0”, so the start reference variable of this approach process is “0”, and the approach The start of the process means that the master axis phase is “0 °” and the slave axis displacement data y whose start reference variable x is “0” corresponds. Further, since it is “T1”, every time the master axis phase changes by “1 °”, the reference variable x changes by “1”, and the displacement of the slave axis also changes accordingly. Since "R150" is "L1", the end of this approach process is when the reference variable x is "150", and the processing in section 1 of this approach process is performed only once. It becomes.
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 section 2 is “Q150” and “R872”, the reference variable x is the section from 150 to 872, “T2” is commanded and the pitch is 2, so the master axis phase changes once. Each time a reference variable x is designated, the displacement data y of the slave axis corresponding to the reference variable x is read out and commanded. Therefore, when the master axis phase is changed to 150 °, 151 °, 152 °,..., The reference variable x is designated as 150, 152, 154, etc., and the corresponding slave axis displacement y is commanded. It will be. Therefore, the reference variable changes from 150 to 872 in one rotation of the master axis having a master axis phase of 150 ° to 360 ° to 150 °, and each slave axis displacement data y is output. Since “L10” is programmed, the master axis is driven, the master axis phase 150 ° to 360 ° to 150 °, and the corresponding reference variable x 150 to 872 is designated. Thus, the slave axes are driven to positions 7000 to 7000 of the slave axis displacement data y set in this way, and the synchronous control of the processing in the section 2 is performed for 10 cycles.
・ Evacuation process
In section 3, the 872 slave axis displacement data y of the reference variable x is read from the master axis phase θ of 150 °, and every time the master axis phase θ increases by 1 °, the reference variable x is also increased by 1 and the slave axis displacement is increased. Data y is read. This operation process is performed only once.
[0016]
Here, for simplicity of explanation, the master axis is rotated in the + direction from the phase 0 °, but the start position may be anywhere from 360 °. The slave axis remains stopped until the phase of the master axis reaches the start position. In the above-described example, the operation of the process of approach-machining / work operation-retraction is performed on the premise of the + direction, but the synchronous control can be performed even if the master axis is rotated in the-direction. it can. In this case, it is necessary to create a displacement data table DT in consideration of rotation in the negative direction.
[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 section 2 is set as the section 4 in FIG. 3 and this is set as the machining step 2. FIG. 6 shows the sections 1 to 4 in the data table DT shown in FIG. FIG. Therefore, after executing the approach process of the section 1, the processing process 1 of the section 2 is performed 10 times at the pitch 2, and then the processing process 2 of the section 4 is performed 5 times at the pitch 1, and then the retreating process of the section 3 is performed. If executed, the motion program command or sequence program command for synchronous control is as follows. This program is referred to as motion program 2.
Figure 0003665008
When the master axis rotates from the phase 0 ° to the + direction at an arbitrary speed by starting the motion program, the slave axis operates as follows.
・ Approach process
The slave axis displacement data y set for the reference variable x in the interval 1 for 0 to 150 is regarded as slave axis displacement data for the master axis phase 0 ° to 150 °, and the synchronization control is performed for one cycle.
Process 1
The slave axis displacement data y for which the reference variable x in section 2 is set for 150 to 872 is regarded as the slave axis displacement data for the master axis phase of 150 ° to 360 ° to 150 °, and synchronous control is performed for 10 cycles. However, since the displacement data has a pitch of 2, every other data is read.
Processing process 2
The slave axis displacement data y in which the reference variable x in the section 4 is set for 200 to 561 is regarded as slave axis displacement data for the master axis phase 150 ° to 360 ° to 150 °, and synchronous control is performed for five cycles. Since the pitch at this time is 1, there is a one-to-one correspondence with the phase of the master axis.
[0019]
Here, there is a step between the end point of the section 2 and the start point of the section 4, and the displacement data is not continuous. In this case, all the displacement data in the section 4 is shifted in the negative direction so that the displacement data at the start point of the section 4 is equal to the displacement data at the end point of the section 2.
[0020]
Further, since the end point of the section 4 does not coincide with the start point, when the section 4 is repeatedly executed, the slave axis displacement y of the section 4 is further shifted in the negative direction to match the end point and the start point when reaching the end point. Therefore, the displacement of the slave axis drops in the negative direction every time machining is performed.
[0021]
Evacuation process
The slave axis displacement data y in which the reference variable x in section 3 is set for 872 to 1083 is regarded as slave axis displacement data for the master axis phase 200 ° to 360 ° to 50 °, and the synchronization control is performed for one cycle. Here, since the end point of the section 4 is 150 ° and the start point of the section 3 is 200 °, there is no displacement data from 150 ° to 200 °. In this case, stop and wait for the slave axis until the master axis phase θ reaches the start point of the section 3, or wait until the master axis phase θ reaches the start point of the section 3 (end point of the section 4 (150 ° slave) It moves on a straight line connecting the axis displacement) and the start point of section 3 (slave axis displacement of 200 °).
[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 / deceleration control unit 10c, a digital servo circuit 10d, and a servo motor 10e. The acceleration / deceleration control unit 10c receives a signal output from the master axis distribution processing unit 10b included in the control unit 10a, drives the servo motor 10e, and drives the master axis.
[0024]
On the other hand, the slave side includes first, second and third slave distribution processing units 21b, 22b, and 23b, acceleration / deceleration control units 21c, 22c, and 23c, digital servo circuits 21d, 22d, and 23d, and servo motors 21e, 22e, and 23e. Prepare. The first, second, and third slave distribution processing units 21b, 22b, and 23b receive the signal output from the master distribution processing unit 10b, form a signal corresponding to each master axis, and send it to the acceleration / deceleration control units 21c, 22c, and 23c. send.
[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 numerical control apparatus 100 to which the synchronous control method and apparatus of the present invention is applied. The CPU 11 is a processor that controls the numerical controller 100 as a whole. The CPU 11 reads out a system program stored in the ROM 12 via the bus 20 and controls the entire numerical control device according to the system program. The RAM 13 stores temporary calculation data, display data, and various data input by the operator via the display / MDI unit 70. The CMOS memory 14 is configured as a non-volatile memory that is backed up by a battery (not shown) and that retains the memory state even when the numerical controller 100 is turned off. In the CMOS memory 14, a machining program read via the interface 15, a machining program input via the display / MDI unit 70, and the like are stored. The ROM 12 is pre-stored with various system programs for executing processing in an edit mode and processing for automatic operation required for creating and editing a machining program.
[0027]
The data table DT for performing the synchronization control of the present invention is set in advance in the nonvolatile memory 14. This data table DT is set for each slave axis. However, if two or more slave axes perform the same operation, one data table DT is provided for them. That's fine.
[0028]
The interface 15 enables connection between the numerical controller 100 and an external device 72 such as an adapter. A machining program is read from the external device 72 side. Further, the machining program edited in the numerical control apparatus 100 can be stored in the external storage means via the external device 72. The PMC (programmable machine controller) 16 is a sequence program built in the numerical controller 100, and sends a signal to an auxiliary device of a machine tool (for example, an actuator such as a robot hand for tool change) via the I / O unit 17. Output and control. In addition, it receives signals from various switches on the operation panel provided on the machine tool body, performs necessary signal processing, and then passes them to the CPU 11. A signal from the machine side can be used as the synchronization signal of the present invention.
[0029]
The display / MDI unit 70 is a manual data input device having a display, a keyboard, and the like. The interface 18 receives commands and data from the keyboard of the display / MDI unit 70 and passes them to the CPU 11. The interface 19 is connected to an operation panel 71 provided with a manual pulse generator and the like.
[0030]
The axis control circuits 30 to 33 for each axis receive the movement command amount for each axis from the CPU 11 and output the command for each axis to the servo amplifiers 40 to 43. In response to this command, the servo amplifiers 40 to 43 drive the servo motors 50 to 53 for each axis. The servo motors 50 to 53 for each axis have a built-in position / speed detector, and the position from this position / speed detector. A speed feedback signal is fed back to the axis control circuits 30 to 33 to perform position / speed feedback control. In FIG. 8, the position / velocity feedback is omitted.
[0031]
The spindle control circuit 60 receives a spindle rotation command and outputs a spindle speed signal to the spindle amplifier 61. The spindle amplifier 61 receives the spindle speed signal and rotates the spindle motor 62 at the commanded rotational speed. The position coder 63 feeds back a feedback pulse to the spindle control circuit 60 in synchronization with the rotation of the spindle motor 62 to perform speed control.
[0032]
The master axis is a spindle axis (spindle control circuit 60, spindle amplifier 61, spindle motor 62), and is driven by other axes (axis control circuits 30 to 33, servo amplifiers 40 to 43, and servo motors 50 to 53). Which axis is the master axis and which is the slave axis can be determined by setting.
[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 motion program 2 shown in FIGS. 5 and 6 will be described. In this example, Stx = 0, Stθ = 0, Ex = 150, P = 1, and N = 1 are stored in the first block. The register R (θ) stores Stθ = 0, and the register R (x) stores Stx = 0. It is assumed that the spindle shaft of the master shaft is rotated at a predetermined arbitrary speed.
[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 motion program 2, wait until the master axis phase θ reaches “0”, and when it reaches, the start reference variable number Stx stored in the register R (x) is stored. The slave axis displacement y set for the slave axis is read, and the shift amount H (initially set to “0” in step A5) is subtracted from the read slave axis displacement y to reduce the slave axis displacement. Output (step A9). In the first block (section 1) of the motion program 2, the reference variable Stx = 0, the corresponding slave axis displacement y = 0, and the output y0 = 0−0 = 0 to the slave axis is output.
[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 section 1 is completed, the processing starts from Step A10. The process proceeds to step A14, where 1 is subtracted from the register storing the number N (step A14), and it is determined whether the number N stored in the register is “0” (step A15). In the first block (section 1) of the motion program 2, the number of times is 1, so N = 0, the process returns from step A15 to step A1, and the next block of the motion program 2 is read. This is a command to repeat the pattern of section 2 shown in FIG. 5 ten times. In step A3, Stx = 150, Stθ = 150, Ex = 872, P = 2, and N = 10 are stored. The register R (θ) stores Stθ = 150, and the register R (x) stores Stx = 150.
[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 section 1 to section 2 in FIG. 5 is H = ys−y0 = 7000−7000 = 0.
Then, the processing from step A7 onward is performed. Since P = 2 is set in this section 2, P = 2 is added to the register R (x) in step A11. Therefore, every time the master axis displacement θ advances by 1 °, the reference variable x advances by two. When the master axis displacement θ changes to 150 °, 151 °, 152 °... 0 °. The value of the register R (x) that stores x changes in steps of 150, 152, 154... 510... 872, and the slave axis displacement y corresponding to the reference variable x is read and the shift amount H = 0 is subtracted and output as the displacement y0 of the slave axis.
[0042]
In this way, when one processing operation in the section 2 is completed and the stored value of the register R (x) reaches the end reference variable number Ex = 872, the process proceeds from step A10 to step A14. 1 ”Decrease. In this case, N = 9. Since the number N is not “0”, the process proceeds from step A15 to step A16, the slave displacement ys corresponding to the start reference variable number Stx stored in step A3 is read, and the slave displacement obtained in step A9 is determined from the slave displacement ys. The shift amount H is obtained by subtracting y0 (step A17). In the case of section 2, as shown in FIGS. 5 and 6, the slave axis displacement ys with respect to the start reference variable number Stx in section 2 is “7000”, and the slave axis displacement y0 at the end of section 2 is also “7000”. The shift amount H is “0”.
[0043]
Next, the start phase Stθ of section 2 of the master axis stored in step A3 is stored in register R (θ), the start reference variable Stx of section 2 is stored in register R (x) (step A18), and step A7 Migrate to
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 section 2 from step A7 to step A18 is performed 10 times, and when the number of times N becomes “0”, the process returns to step A1 to read the next block. The next block of the motion program 2 is the processing operation in section 4, and since Q = 200, R = 561, S = 150, T = 1, and L = 5, the section where the reference variable x is 200 to 561 is selected. This is a command for starting execution at a pitch 1 from a master axis phase θ of 150 ° and executing this section five times. This command is read and the process of step A3 is performed and stored as P = 1, Stθ = 150 °, Stx = 200, Ex = 561, N = 5, R (θ) = 150 °, R (x) = 200. Is done. Since the flag F is “1”, the process proceeds from step A4 to step A19.
[0045]
Since the shift amount H is “0” in the process of section 1 and 10 processes of section 2, the slave axis displacement y 0 at this time is “7000” corresponding to the end reference variable x = “872” of section 2. The start reference variable number Stx in section 4 is “200”, the corresponding slave axis displacement y is “10000”, and ys = 10000, and the shift amount H is H = ys−y0 = 10000− in step A20. It is calculated as 7000 = 3000.
[0046]
Next, the processing of section 4 is repeatedly executed five times by the processing after step A7. In the first section processing, the shift amount H is “3000” as described above, and the starting master of section 4 is processed. Since the axis phase θ is the same as the master axis phase 150 at the end of the interval 2, θ = 150 ° is read immediately in the reading of step A7 and matches the value stored in the register R (θ). Proceeding from step A8 to step A9, "10000" of the slave axis displacement y of the reference variable x = 200 stored in R (x) is read out. By subtracting the shift amount H = 3000 from this, the slave axis displacement y0 is read. Becomes “7000”, which is equal to the slave axis displacement at the end of section 2, and section 2 and section 4 are continuous. Then, the processing from step A7 to step A13 described above is executed, and one cycle of section 4 is executed. At this time, since the shift amount H is corrected with respect to the slave axis displacement y read out with respect to the reference variable in step A9, the slave axis displacement pattern in the section 4 is downward by “3000” in FIG. The shape is shifted to.
[0047]
Thus, one cycle of section 4 is completed, N = 4 in step A14, and the process proceeds to step A16. The slave axis displacement ys = “10000” of the start reference variable number Stx of the section 4 is read, and the displacement The slave axis obtained at step A9 is subtracted from ys = “10000” at this point in time y0 to obtain the shift amount H (step A17). That is, the shift amount H is obtained so that the value of the slave axis displacement y at the end of one cycle of the section 4 becomes the value of the start slave axis displacement of the second cycle of the section 4. Next, the start phase Stθ of the master axis in section 4 and the start reference variable Stx are stored in the registers R (θ) and R (x) (step A18), and the processes after step A7 are executed.
[0048]
When the processing from step A7 to step A18 is repeatedly executed and the processing in section 4 is executed five times, N = 0, and the process proceeds from step A15 to step A1 to read the next block. The next block of the motion program 2 is a process for executing the process of the section 3 once. Since Q = 872, R = 1083, S = 200, T = 1, and L = 1, Stθ = 200, Stx. = 872, Ex = 1083, P = 1, N = 1 are stored, and Stθ = 200 and Stx = 872 are stored in the registers R (θ) and R (x). In steps A19 and A20, the shift amount H is obtained by subtracting the end slave axis displacement y0 of the previous section 4 from the start slave axis displacement ys of the section 3, and the processing of step A7 and subsequent steps is executed. Since the master axis phase at the end of 4 is 150 ° and the start master axis phase of the section 3 is 200 °, the processing from step A7 to step A8 is executed until the master axis phase θ becomes 200 °. In the meantime, the movement of the slave axis is stopped.
[0049]
When the master axis phase θ becomes 200 ° and coincides with the start phase 200 ° stored in the register R (θ) (step A8), the processing from step A9 described above is executed. Thereafter, the processing from step A7 to step A13 is repeatedly executed, and when the value of the register R (x) reaches the end reference variable number Ex of the section 3, the processing shifts from step A10 to step A14 and stores the number N of times. "1" is subtracted from this, and it is confirmed in step A15 that the number of times has become "0", so return to step A1 and read the next block, but if the next block is not a synchronous control command, The synchronization control ends, the flag F is set to “0” (step A21), and the process commanded in this block is executed (step A22).
[0050]
In the embodiment shown in FIG. 5 and FIG. 6, the section 4 is set in the section 2 and this section 4 is executed. However, the synchronization operation with respect to the master axis of a different slave axis is performed. In this case, the slave axis can be synchronously controlled with respect to the master axis by setting different synchronization pattern portions of the slave axis with different reference variables and selecting the reference variable. For example, if the approach operation and the retreat operation in the sections 1 and 3 are the same, but the machining and work operations are performed by selecting a pattern different from the patterns in the sections 2 and 4, further different reference variables are used. By storing the slave axis displacement pattern for the area in the data table DT and selecting this reference variable area, it is possible to process and work on sections of other patterns.
[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 section 2 is set as the section 4 in FIG.
6 is a diagram showing sections 1 to 4 in the data table shown in FIG. 4;
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.
前記同期実行区間は、前記スレーブ軸の変位データとの関係を登録した基準変数の任意の一部あるいは全部を同期実行区間として指定するとともに、The synchronization execution section specifies any part or all of the reference variable registered with the displacement data of the slave axis as a synchronization execution section,
前記指定した同期実行区間の一つないし複数個を任意の順序で指定する請求項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または請求項2記載の同期制御方法 The synchronous control method according to claim 1 or 2, wherein the synchronous execution section in which the repetition count is specified is repeatedly executed by the designated repetition count by specifying the repetition count together with the synchronous execution section . 同期実行区間および繰り返し回数のパターンは複数指定できることを特徴とする請求項3記載の同期制御方法 4. The synchronization control method according to claim 3, wherein a plurality of synchronization execution sections and repetition frequency patterns can be designated . モーションプログラムまたはシーケンスプログラムにより同期実行区間および繰り返し回数を指定することにより、
アプローチ−加工・作業動作−退避の工程によるスレーブ軸の動作パターンの切り換えや、加工物の変更にともない途中からスレーブ軸の動作を変えるアプリケーションにも適用可能としたことを特徴とする請求項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乃至の内いずれか1項に記載の同期制御方法。If multiple synchronization execution intervals or repetition patterns are specified, and there is a slave axis displacement difference during pattern switching, the slave axis displacement is offset so that there is no displacement difference in the next pattern. synchronization control method according to any one of claims 1 to 5, characterized in that switching to the pattern. 同期実行区間または繰り返し回数のパターンを複数指定した場合で、パターンの切り換え時に次のパターンの実行区間が連続していない場合は、次のパターンまで直線的に移動することを特徴とする請求項1乃至の内いずれか1項に記載の同期制御方法。 2. When a plurality of synchronous execution sections or repetition count patterns are specified and the next pattern execution section is not continuous at the time of pattern switching, the pattern moves linearly to the next pattern. 6. The synchronization control method according to any one of items 1 to 5 . マスタ軸の単位移動量に対する基準変数の変化量を指定して、マスタ軸の移動量に対するスレーブ軸の移動量を変えてマスタ軸の位置に対応してスレーブ軸を位置決めする請求項1乃至7項の内いずれか1項に記載の同期制御方法。8. The slave axis is positioned corresponding to the position of the master axis by designating a change amount of the reference variable with respect to the unit movement amount of the master axis and changing the movement amount of the slave axis with respect to the movement amount of the master axis. The synchronization control method according to any one of the above. マスタ軸と、該マスタ軸の位置に対応して位置決めされるスレーブ軸を有する機械の同期制御装置において、
前記マスタ軸の位置と前記スレーブ軸変位を関係付ける基準変数を設け、
基準変数に対応して前記スレーブ軸の変位データを登録しておく記憶手段と、
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:
前記モーションプログラムまたはシーケンスプログラムにより、マスタ軸の単位移動量に対する基準変数の変化量を指定し、前記位置決めする手段は、マスタ軸の変化量に対して基準変数を指定変化量だけ変化させてスレーブ軸を位置決めする請求項9に記載の同期制御装置。The change amount of the reference variable with respect to the unit movement amount of the master axis is designated by the motion program or the sequence program, and the positioning means changes the reference variable by the designated change amount with respect to the change amount of the master axis to change the slave axis The synchronous control apparatus of Claim 9 which positions.
JP2001327315A 2001-10-25 2001-10-25 Synchronization control method and synchronization control apparatus Expired - Lifetime JP3665008B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (4)

* Cited by examiner, † Cited by third party
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