JP3873685B2 - Multi-axis synchronous control device, multi-axis synchronous control method, and multi-axis synchronous control program - Google Patents
Multi-axis synchronous control device, multi-axis synchronous control method, and multi-axis synchronous control program Download PDFInfo
- Publication number
- JP3873685B2 JP3873685B2 JP2001234821A JP2001234821A JP3873685B2 JP 3873685 B2 JP3873685 B2 JP 3873685B2 JP 2001234821 A JP2001234821 A JP 2001234821A JP 2001234821 A JP2001234821 A JP 2001234821A JP 3873685 B2 JP3873685 B2 JP 3873685B2
- Authority
- JP
- Japan
- Prior art keywords
- counter
- axes
- axis
- synchronous control
- numerical value
- 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
Landscapes
- Control Of Position Or Direction (AREA)
- Numerical Control (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、多軸同期制御装置、多軸同期制御方法、および多軸同期制御プログラムに関する。
【0002】
【従来の技術】
工作機械、位置決め装置、搬送装置などの生産設備の中には、複数のアクチュエータを同期させて動かし、複数のアクチュエータで1つの作業をするものがある。この生産設備は、通常はそれぞれのアクチュエータを個々に動作(非同期制御)させているが、複数のアクチュエータで1つの作業をしなければならないときには、複数のアクチュエータの同期を取って動作(同期制御)させている。
【0003】
たとえば、X、Y、Zの方向に個々に動くことができるアクチュエータを3台有してなる位置決め装置が2台並んで配置されている場合を想定する。これらの位置決め装置は、それぞれの位置決め装置に与えられる小さな部品の位置決めをする場合、それぞれの位置決め装置が別々に、その位置決め装置の3台のアクチュエータを動作して、与えられた部品の位置決めをする。一方、2台の位置決め装置が協同して位置決め作業を行わなければならない、非常に大きな部品の位置決めをする場合、これらの位置決め装置は、協同して動作しなければならないアクチュエータの同期を取って動作させ、その部品の位置決めをする。具体的には、その大きな部品をX軸方向に500mm移動させるとすれば、一方の位置決め装置のX軸のアクチュエータと他方の位置決め装置のX軸のアクチュエータとをX軸方向に同じ速度で500mm動かす。
【0004】
複数のアクチュエータを同期させて動かす方法としては、従来2つの方法が知られている。その1つは、同期させる複数のアクチュエータを同時に起動させる方法であり、もう1つは、1つのアクチュエータの動きに他のアクチュエータを追従させて動かす方法である。
【0005】
【発明が解決しようとする課題】
しかしながら、上述したような従来の方法では、次のような問題がある。
【0006】
複数のアクチュエータを同時に起動させる方法の場合、アクチュエータを個々に動作させる非同期制御を行うときと、複数のアクチュエータの同期を取って動作させる同期制御を行うときとでは、それぞれ異なる制御をしなければならないので、制御の種類が多くなり制御が複雑化する。たとえば、「従来の技術」の項目で例示した位置決め装置の場合、個々のアクチュエータの動作を非同期制御するときの制御の対象は3つであり、X軸のアクチュエータの動作を同期制御するときの制御の対象は1つである。したがって、実際にはアクチュエータは3台しかないのに、制御の対象は4つになり、制御の内容としては4軸の位置決め装置と同じものになる。
【0007】
1つのアクチュエータの動きに他のアクチュエータを追従させて動かす方法の場合、同期制御を開始する前に、どのアクチュエータを「親軸」とし、この「親軸」にどのアクチュエータを追従させるのかの設定(「親軸」と「子軸」の設定)をしなければならない。また、親軸と子軸との設定をしてしまうと、その関係を崩すことはできない。たとえば、ある制御を行うときに、一方のアクチュエータが親軸となり、他方のアクチュエータが子軸となるのが望ましいが、他の制御を行うときには、この親軸と子軸との関係を逆にしたほうが望ましいとしても、その関係を逆にして制御を行うことはできない。さらに、同期させる制御に入ろうとしても、親軸または子軸となる軸のいずれかが動作している間は同期させる制御に入ることができないので、生産設備を効率的に動作させることが難しくなる。
【0008】
いずれの方法を採用している場合でも、非同期制御および同期制御の制御プログラムは、制御対象となる装置構成に固有のものとなるので、その制御プログラムの共用は、まったく同一の装置構成のものでない限り不可能である。したがって、少しでも装置構成が異なるとまったく別の制御プログラムの開発を余儀なくされる。
【0009】
本発明は、以上のような従来の問題点を解消するために成されたものであり、非同期制御と同期制御を同じような制御プログラムで実現することができ、親軸と子軸の関係を決めることなく同期制御をすることができ、さらに非同期制御と同期制御とをいつでも自由に切り換えることができ、生産設備を効率的に動作させることができる、多軸同期制御装置、多軸同期制御方法、および多軸同期制御プログラムの提供を目的とする。
【0010】
【課題を解決するための手段】
上記の課題を解決し、本発明の上記目的を達成するために、請求項1に記載の多軸同期制御装置は、複数の軸を同期して動作させるための多軸同期制御装置であって、前記複数の軸を同期して動作させるための同期指令を出力する同期指令出力手段と、あらかじめ定められた範囲の数値を繰り返しカウントするカウンタと、前記同期指令が出力された時に、前記カウンタの数値を読み込む読込手段と、読み込んだカウンタの数値に、定められたオフセット値を加算して、同期させるべき複数の軸の起動タイミングとする起動タイミング生成手段と、前記カウンタの数値が起動タイミングに相当する数値となったときに、同期させるべき複数の軸を一斉に起動させるとともに、起動後は、それらの軸の動作を前記カウンタの数値の推移に基づいて制御する制御手段と、を有することを特徴とする。
【0012】
請求項2に記載の多軸同期制御装置は、請求項1に記載の多軸同期制御装置において、前記カウンタは、前記同期指令出力手段から同期指令が出力された時に数値のカウントを開始することを特徴とする。
【0013】
請求項3に記載の多軸同期制御装置は、請求項1に記載の多軸同期制御装置において、前記制御手段は、前記カウンタによってカウントされる数値の変化速度に応じて前記同期させるべき複数の軸の動作速度を制御することを特徴とする。
【0014】
請求項4に記載の多軸同期制御装置は、請求項1に記載の多軸同期制御装置において、前記制御手段は、前記同期させるべきそれぞれの軸の動作速度を、前記カウンタによってカウントされる数値の変化速度に比例させて制御することを特徴とする。
【0015】
請求項5に記載の多軸同期制御方法は、複数の軸を同期して動作させるための多軸同期制御方法であって、前記複数の軸を同期して動作させるための同期指令を出力する段階と、あらかじめ定められた範囲の数値を繰り返しカウントする段階と、前記同期指令が出力された時に、前記カウンタの数値を読み込む段階と、読み込んだカウンタの数値に、定められたオフセット値を加算して、同期させるべき複数の軸の起動タイミングとする段階と、前記カウンタの数値が起動タイミングに相当する数値となったときに、同期させるべき複数の軸を一斉に起動させるとともに、起動後は、それらの軸の動作を前記カウンタの数値の推移に基づいて制御する段階と、
を含むことを特徴とする
【0016】
請求項6に記載の多軸同期制御プログラムは、複数の軸を同期して動作させるための多軸同期制御プログラムであって、コンピュータを、前記複数の軸を同期して動作させるための同期指令を出力する同期指令出力手段と、あらかじめ定められた範囲の数値を繰り返しカウントするカウンタと、前記同期指令が出力された時に、前記カウンタの数値を読み込む読込手段と、読み込んだカウンタの数値に、定められたオフセット値を加算して、同期させるべき複数の軸の起動タイミングとする起動タイミング生成手段と、前記カウンタの数値が起動タイミングに相当する数値となったときに、同期させるべき複数の軸を一斉に起動させるとともに、起動後は、それらの軸の動作を前記カウンタの数値の推移に基づいて制御する制御手段と、して機能させる。
【0017】
【発明の効果】
以上のように構成された本発明によれば、複数の軸から見ると親軸と子軸との関係を決めることなく同期制御をすることができ、同期制御が行われているときであっても、各軸は各軸固有の移動量に基づいて動作を制御することができるようになった。
【0018】
【発明の実施の形態】
以下添付した図面を参照して本発明の実施の形態を説明する。
【0019】
図1に示した搬送装置は、本発明にかかる同期制御方法を用いて比較的大きな車体パネル20を搬送させる搬送装置である。また、図2は、図1に示した搬送装置の制御系のブロック図である。
【0020】
この搬送装置は3軸を有する2台の位置決め装置M1、M2からなり、車体パネル20はY軸方向に移動された後、Z方向に移動されるものとする。
【0021】
位置決め装置M1、M2の動作は、コントローラ1によって総括的に制御される。サーボアンプ300およびサーボアンプ310は、それぞれ3台のサーボアンプを内蔵する集約型のサーボアンプである。サーボアンプ300には、サーボアンプ301〜303が内蔵され、サーボアンプ310には、サーボアンプ304〜306が内蔵される。
【0022】
サーボアンプ301は、位置決め装置M1のY軸アクチュエータを駆動するモータ101を動作させる。同様に、サーボアンプ302は、X軸アクチュエータを駆動するモータ102を、サーボアンプ303は、Z軸アクチュエータを駆動するモータ103を動作させる。また、サーボアンプ304は、位置決め装置M2のY軸アクチュエータを駆動するモータ104を動作させる。同様に、サーボアンプ305は、X軸アクチュエータを駆動するモータ105を、サーボアンプ306は、Z軸アクチュエータを駆動するモータ106を動作させる。
【0023】
それぞれの位置決め装置M1、M2には、3つのアクチュエータからなる1台のマニピュレータが備えられている。図1に示すように、位置決め装置M1のマニピュレータM01には、アクチュエータM01−1、M01−2、M01−3が備えられ、位置決め装置M2のマニピュレータM02には、アクチュエータM02−1、M02−2、M02−3が備えられている。それぞれのアクチュエータは、モータ、エンコーダ、サーボアンプで構成される。
【0024】
アクチュエータM01−1は、図示されていないハンドを駆動するモータ101、モータ101の回転量を検出するためのエンコーダ201、モータ101の回転を制御するためのサーボアンプ301から構成される。アクチュエータM01−2、M01−3、
M02−1〜M02−3の構成は、アクチュエータM01−1とまったく同じ構成であるので、その説明は省略する。
【0025】
コントローラ1は、本発明にかかる多軸同期制御装置の主要部を構成するものである。コントローラ1は、I/Oポート2、CPU11、カウンタ12、メモリ13を備えている。
【0026】
I/Oポート2は、サーボアンプ301〜306との間で情報の授受をするためのインターフェースである。
【0027】
CPU11は、本発明にかかる多軸同期制御プログラムを実行して、複数の軸の同期を総括的に制御するものである。
【0028】
カウンタ12は、本発明の仮想的な親軸を構成する役割を担うものであり、あらかじめ定められた範囲の数値、たとえば1〜1000を繰り返しカウントするものである。
【0029】
メモリ13は、複数の軸のうち、同期して動作する軸がどの軸であるかを示す情報が記憶され、また、複数の軸の起動タイミングを生成するためのオフセット値が記憶され、さらに、CPU11から同期指令が出力された時に読み込んだカウンタの数値が記憶される。
【0030】
つぎに、本発明にかかる多軸同期制御装置の動作を詳細に説明する。図3は、図1に示した搬送装置の動作の一例を示すフローチャートである。図4および図5は、多軸同期制御装置の詳細な動作を説明するためのラダー回路図である。なお、本実施の形態では、発明の内容をわかりやすく説明するためにラダー回路図を使用したが、実際にはこのラダー回路図に基づいて同期制御が行われているわけではない。
【0031】
プログラムがスタートすると、CPU11は、仮想親軸起動の指令を出力し、カウンタ12はこの指令に伴って一定の変化速度で数値をカウントし始める。これを図4のラダー図で示せば、「仮想親軸起動」の接点がONし、仮想移動量カウントが開始されることに相当する。数値のカウントは、本実施の形態では1〜1000に設定している。また、変化速度は、たとえば1秒間に500に設定している。したがって、カウンタ12は、1秒間に1〜500までカウントし、つぎの1秒間で501〜1000までカウントする。この1〜1000までのカウントは、プログラムが終了するまで繰り返される(S1)。
【0032】
つぎに、位置決め装置M1、M2は、車体パネル20を受け取るために、各アクチュエータをあらかじめ定められている位置に設定する。具体的には、位置決め装置M1、M2のマニピュレータに設けられているクランプが所望の位置に来るように各アクチュエータを動かす。この場合は、位置決め装置M1、M2の同期を取る必要はないので、コントローラ1は、サーボアンプ301〜306を個別に制御する(S2)。
【0033】
作業者は、位置決め装置M1、M2のマニピュレータに車体パネル20をセットする。そして、位置決め装置M1、M2のマニピュレータは、車体パネル20をしっかりとクランプする(S3)。
【0034】
つぎに、位置決め装置M1、M2は、車体パネル20をY方向に搬送する。このときは、位置決め装置M1のY軸アクチュエータM01−1と位置決め装置M2のY軸アクチュエータM02−1は同期して動く必要がある。したがって、コントローラ1は、つぎの同期制御を実施することになる。
【0035】
CPU11は、メモリ13に記憶されている、同期して動作する軸がどの軸であるかを示す情報を読み込んで、同期させるべき軸が、Y軸アクチュエータM01−1とY軸アクチュエータM02−1であることを認識する。CPU11は、この認識に基づいて、Y軸アクチュエータM01−1を駆動するモータ101とY軸アクチュエータM02−1を駆動するモータ104の回路に同期指令を出力する。この同期指令が出力されると、図4の「M01起動指令」の接点と、図5の「M02起動指令」の接点がONし、M01とM02に起動がかかる。これによって「M01起動」の接点と「M02起動」の接点がすべてONになる。
【0036】
同時に、図4と図5の「同期指示」の接点がONし、CPU11は、Y軸アクチュエータM01−1の同期データと、Y軸アクチュエータM02−1の同期データを作成する。これらの同期データは、仮想的に設けた親軸と同期を取りながら動かす、Y軸アクチュエータM01−1の移動量とY軸アクチュエータM02−1の移動量である。たとえば、車体パネル20をY方向に1000mm移動するのであれば、それらの移動量は1000mmとなる。
【0037】
CPU11は、この起動指令の出力と同時に、起動指令が出力された時点でのカウンタ12数値を読み込む。たとえば、起動指令を出力した時にカウンタ12の数値が250であればその250を読み込む。そして、CPU11は、読み込んだカウンタの数値に、メモリ13に記憶されているオフセット値を加算し、起動タイミングを取るための数値を求める。上記の場合、オフセット値が150に設定してあるとすれば、起動タイミングを取るための数値は、250+150=400となる。CPU11は、この数値を図4および図5の「同期カウント値」の接点にセットする。
【0038】
カウンタ12の数値が、起動指令が出力された時点の数値から起動タイミングを取るための数値に達すると、CPU11は、Y軸アクチュエータM01−1の移動量とY軸アクチュエータM02−1の移動量とを求め、Y軸アクチュエータM01−1とY軸アクチュエータM02−1とを一斉に動かす。たとえば、上記の場合、カウンタ12の値が400になったときに「同期カウント値」の接点がONし、Y軸アクチュエータM01−1のモータ101とY軸アクチュエータM02−1のモータ104に同時に電圧が印加され、両方のモータ101、104が回転する。
【0039】
CPU11は、仮想的に設けた親軸を仮想的に動かすための単位時間あたりの仮想移動量を作成するとともに、I/Oポート2を介して、サーボアンプ301にY軸アクチュエータM01−1の同期データを渡し、サーボアンプ304にY軸アクチュエータM02−1の同期データを渡す。上記の場合、サーボアンプ301とサーボアンプ304に1000mm移動分のパルス数を与える。
【0040】
ここで、単位時間あたりの仮想移動量は、子軸となる、Y軸アクチュエータM01−1とY軸アクチュエータM02−1との移動速度を決めるために用いられる。たとえば子軸の移動量=仮想移動量であれば、子軸は親軸とは同一の速度で移動することになるが、子軸の移動量=仮想移動量×2であれば、子軸は、親軸の速度の2倍の速度で移動する。単位時間あたりの仮想移動量は、カウンタ12によってカウントされる数値の変化速度を変えることによって実現される。
【0041】
サーボアンプ301およびサーボアンプ304は、与えられた同期データに基づいてモータ101およびモータ104を回転させる。モータ101およびモータ104が動くと、その回転量がエンコーダ201およびエンコーダ204からのパルスとしてサーボアンプ301およびサーボアンプ304にフィードバックされる。なお、モータ101とモータ104の同期データは同一であるので、Y軸アクチュエータM01−1とY軸アクチュエータM02−1は同一の速度で同一の移動量だけ移動し、車体パネル20が2台の位置決め装置M1、M2によって協同してY方向に搬送される(S4)。
【0042】
このようにして車体パネル20が所定の位置まで搬送されると、別のロボットが車体パネル20に対して溶接作業を行う(S5)。
【0043】
溶接作業が終了すると、今度は位置決め装置M1、M2は、車体パネル20をZ方向に搬送する。
【0044】
このときは、位置決め装置M1のZ軸アクチュエータM01−3と位置決め装置M2のZ軸アクチュエータM02−3は同期して動く必要がある。したがって、コントローラ1は、つぎの同期制御を実施することになる。
【0045】
CPU11は、メモリ13に記憶されている、同期して動作する軸がどの軸であるかを示す情報を読み込んで、同期させるべき軸が、Z軸アクチュエータM01−3とZ軸アクチュエータM02−3であることを認識する。CPU11は、この認識に基づいて、モータ103とモータ105の回路に同期指令を出力する。この同期指令が出力されると、図4の「M01起動指令」の接点と、図5の「M02起動指令」の接点がONし、M01とM02に起動がかかる。これによって「M01起動」の接点と「M02起動」の接点がすべてONになる。
【0046】
同時に、図4と図5の「同期指示」の接点がONし、CPU11は、Z軸アクチュエータM01−3の同期データと、Z軸アクチュエータM02−3の同期データを作成する。たとえば、車体パネル20をZ方向に300mm移動するのであれば、それらの移動量は300mmとなる。
【0047】
CPU11は、この起動指令の出力と同時に、起動指令が出力された時点でのカウンタ12数値を読み込む。たとえば、起動指令を出力した時にカウンタ12の数値が250であればその950を読み込む。そして、CPU11は、読み込んだカウンタの数値に、メモリ13に記憶されているオフセット値を加算し、起動タイミングを取るための数値を求める。上記の場合、オフセット値が150に設定してあるとすれば、起動タイミングを取るための数値は、950+150−1000=100となる。CPU11は、この数値を図4および図5の「同期カウント値」の接点にセットする。
【0048】
カウンタ12の数値が、起動指令が出力された時点の数値から起動タイミングを取るための数値に達すると、CPU11は、Y軸アクチュエータM01−3の移動量とY軸アクチュエータM02−3の移動量とを求め、Y軸アクチュエータM01−3とY軸アクチュエータM02−3とを一斉に動かす。たとえば、上記の場合、カウンタ12の値が100になったときに「同期カウント値」の接点がONし、Z軸アクチュエータM01−3のモータ103とZ軸アクチュエータM02−3のモータ106に同時に電圧が印加され、両方のモータ103、106が回転する。
【0049】
CPU11は、仮想的に設けた親軸を仮想的に動かすための単位時間あたりの仮想移動量を作成するとともに、I/Oポート2を介して、サーボアンプ303にY軸アクチュエータM01−3の同期データを渡し、サーボアンプ306にY軸アクチュエータM02−3の同期データを渡す。上記の場合、サーボアンプ303とサーボアンプ306に300mm移動分のパルス数を与える。
【0050】
サーボアンプ303およびサーボアンプ306は、与えられた同期データに基づいてモータ103およびモータ106を回転させる。モータ103およびモータ106が動くと、その回転量がエンコーダ203およびエンコーダ206からのパルスとしてサーボアンプ301およびサーボアンプ304にフィードバックされる。なお、モータ103とモータ106の同期データは同一であるので、Y軸アクチュエータM01−3とY軸アクチュエータM02−3は同一の速度で同一の移動量だけ移動し、車体パネル20が2台の位置決め装置M1、M2によって協同してZ方向に搬送される(S6)。
【0051】
このようにして車体パネル20が所定の位置まで搬送されると、別の作業者が車体パネル20を取り外す(S7)。
【0052】
つぎに、位置決め装置M1、M2は、すべての軸を原位置に復帰させる。この場合は、位置決め装置M1、M2の同期を取る必要はないので、コントローラ1は、サーボアンプ301〜306を個別に制御する(S8)。
【0053】
以上のように、本発明の多軸同期制御では、同期制御する場合には仮想的に設けた親軸に実際に存在する子軸を追従させるため、実際に存在する軸間での親子関係はなくなり、実際に存在する軸間で親軸と子軸の関係を決めることなく同期制御をすることができる。また、各軸は自由に同期する同期しないを選択することができるとともに、同期制御が行われている最中でも、各軸は、各軸の移動量に基づいて位置決めをすることができるようになる。
【0054】
また、実際に存在する軸間で親軸と子軸との切り換えをする必要がなくなるので、非同期制御と同期制御を同じような制御プログラムで実現することができ、さらに非同期制御と同期制御とをいつでも自由に切り換えることができるようになる。
【0055】
さらに、カウンタのオフセット値を変えることによって、同期制御の開始タイミングを自由に調整することができるので、非常に柔軟性に富んだ制御が可能になる。
【0056】
本発明では、仮想的に設けた親軸に同期させる場合と同期させない場合とでの制御プログラムの相違は極僅かであるので、軸構成の異なる生産設備に対しても、既存の制御プログラムに多少の変更を加えるのみで、容易に対応することができる。
【0057】
なお、本実施の形態では、カウンタ12の起動タイミングをプログラムのスタート時点としたが、同期指令が出力された時点としても良い。
【図面の簡単な説明】
【図1】本発明にかかる同期制御方法を用いて比較的大きな車体パネルを搬送させる搬送装置である。
【図2】図1に示した搬送装置の制御系のブロック図である。
【図3】図1に示した搬送装置の動作の一例を示すフローチャートである。
【図4】多軸同期制御装置の詳細な動作を説明するためのラダー回路図である。
【図5】多軸同期制御装置の詳細な動作を説明するためのラダー回路図である。
【符号の説明】
1…コントローラ、
2…I/Oポート、
20…車体パネル、
101〜106…モータ、
201〜206…エンコーダ、
300〜306、310…サーボアンプ、
M1、M2…位置決め装置。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a multi-axis synchronous control device, a multi-axis synchronous control method, and a multi-axis synchronous control program.
[0002]
[Prior art]
Some production facilities such as machine tools, positioning devices, and conveying devices move a plurality of actuators in synchronization and perform a single operation with the plurality of actuators. This production facility normally operates each actuator individually (asynchronous control), but when one work must be performed with a plurality of actuators, the plurality of actuators are operated in synchronization (synchronous control). I am letting.
[0003]
For example, it is assumed that two positioning devices each having three actuators that can move individually in the X, Y, and Z directions are arranged side by side. When these positioning devices position a small component given to each positioning device, each positioning device operates three actuators of the positioning device separately to position a given component. . On the other hand, when positioning very large parts where two positioning devices have to cooperate to perform positioning work, these positioning devices operate in synchronism with the actuators that must operate in cooperation. And position the parts. Specifically, if the large part is moved 500 mm in the X-axis direction, the X-axis actuator of one positioning device and the X-axis actuator of the other positioning device are moved 500 mm at the same speed in the X-axis direction. .
[0004]
Conventionally, two methods are known as methods for moving a plurality of actuators in synchronization. One is a method of simultaneously activating a plurality of actuators to be synchronized, and the other is a method of moving another actuator by following the movement of one actuator.
[0005]
[Problems to be solved by the invention]
However, the conventional method as described above has the following problems.
[0006]
In the case of a method in which a plurality of actuators are activated at the same time, different control must be performed when performing asynchronous control in which the actuators are individually operated and when performing synchronous control in which a plurality of actuators are operated in synchronization. Therefore, the types of control increase and the control becomes complicated. For example, in the case of the positioning device exemplified in the section of “Prior Art”, there are three objects to be controlled when asynchronously controlling the operation of each actuator, and control when synchronously controlling the operation of the X-axis actuator is performed. There is one target. Therefore, although there are actually only three actuators, the number of objects to be controlled is four, and the content of the control is the same as that of the four-axis positioning device.
[0007]
In the case of a method in which other actuators move following the movement of one actuator, before starting synchronous control, set which actuator is the “parent axis” and which actuator follows this “parent axis” ( “Master axis” and “Slave axis” must be set). Moreover, if the parent axis and the child axis are set, the relationship cannot be broken. For example, when performing certain control, it is desirable that one actuator be the parent axis and the other actuator be the child axis. However, when performing other controls, the relationship between the parent axis and the child axis is reversed. Even if this is desirable, control cannot be performed with the relationship reversed. Furthermore, even if it tries to enter the control to synchronize, since it cannot enter into the control to synchronize while either the axis | shaft which becomes a parent axis | shaft or a child axis | shaft is operating, it becomes difficult to operate a production facility efficiently. .
[0008]
Regardless of which method is used, the control program for asynchronous control and synchronous control is specific to the device configuration to be controlled, so sharing of the control program is not of the same device configuration. As far as impossible. Therefore, if the device configuration is slightly different, a completely different control program must be developed.
[0009]
The present invention has been made to solve the conventional problems as described above. Asynchronous control and synchronous control can be realized by the same control program, and the relationship between the parent axis and the child axis can be realized. Multi-axis synchronous control device and multi-axis synchronous control method that can perform synchronous control without deciding, and can freely switch between asynchronous control and synchronous control at any time, and can efficiently operate production equipment And to provide a multi-axis synchronous control program.
[0010]
[Means for Solving the Problems]
In order to solve the above problems and achieve the above object of the present invention, a multi-axis synchronous control device according to
[0012]
The multi-axis synchronous control device according to
[0013]
The multi-axis synchronous control device according to
[0014]
The multi-axis synchronous control device according to
[0015]
The multi-axis synchronous control method according to
[0016]
The multi-axis synchronous control program according to
[0017]
【The invention's effect】
According to the present invention configured as described above, when viewed from a plurality of axes, the synchronization control can be performed without determining the relationship between the parent axis and the child axis, and when the synchronization control is performed. However, the operation of each axis can be controlled based on the movement amount unique to each axis.
[0018]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the accompanying drawings.
[0019]
The transport apparatus shown in FIG. 1 is a transport apparatus that transports a relatively large
[0020]
This transport device is composed of two positioning devices M1 and M2 having three axes, and the
[0021]
The operations of the positioning devices M1 and M2 are comprehensively controlled by the
[0022]
The
[0023]
Each positioning device M1, M2 is provided with one manipulator composed of three actuators. As shown in FIG. 1, the manipulator M01 of the positioning device M1 includes actuators M01-1, M01-2, and M01-3, and the manipulator M02 of the positioning device M2 includes actuators M02-1, M02-2, M02-3 is provided. Each actuator is composed of a motor, an encoder, and a servo amplifier.
[0024]
The actuator M01-1 includes a
Since the configuration of M02-1 to M02-3 is exactly the same as that of the actuator M01-1, the description thereof is omitted.
[0025]
The
[0026]
The I /
[0027]
The
[0028]
The
[0029]
The
[0030]
Next, the operation of the multi-axis synchronous control device according to the present invention will be described in detail. FIG. 3 is a flowchart showing an example of the operation of the transport apparatus shown in FIG. 4 and 5 are ladder circuit diagrams for explaining the detailed operation of the multi-axis synchronous control device. In the present embodiment, a ladder circuit diagram is used to explain the contents of the invention in an easy-to-understand manner. However, the synchronization control is not actually performed based on this ladder circuit diagram.
[0031]
When the program starts, the
[0032]
Next, in order to receive the
[0033]
The operator sets the
[0034]
Next, the positioning devices M1 and M2 convey the
[0035]
The
[0036]
At the same time, the “synchronization instruction” contact shown in FIGS. 4 and 5 is turned ON, and the
[0037]
The
[0038]
When the numerical value of the
[0039]
The
[0040]
Here, the virtual movement amount per unit time is used to determine the movement speed between the Y-axis actuator M01-1 and the Y-axis actuator M02-1, which are the child axes. For example, if the movement amount of the child axis = the virtual movement amount, the child axis moves at the same speed as the parent axis, but if the movement amount of the child axis = the virtual movement amount × 2, the child axis is Move at twice the speed of the parent shaft. The virtual movement amount per unit time is realized by changing the change speed of the numerical value counted by the
[0041]
The
[0042]
When the
[0043]
When the welding operation is completed, the positioning devices M1 and M2 now convey the
[0044]
At this time, the Z-axis actuator M01-3 of the positioning device M1 and the Z-axis actuator M02-3 of the positioning device M2 need to move in synchronization. Therefore, the
[0045]
The
[0046]
At the same time, the “synchronization instruction” contact in FIGS. 4 and 5 is turned ON, and the
[0047]
The
[0048]
When the numerical value of the
[0049]
The
[0050]
The
[0051]
When the
[0052]
Next, the positioning devices M1 and M2 return all axes to their original positions. In this case, since there is no need to synchronize the positioning devices M1 and M2, the
[0053]
As described above, in the multi-axis synchronous control of the present invention, when performing synchronous control, the child axis that actually exists follows the parent axis that is virtually provided, so the parent-child relationship between the actually existing axes is Thus, synchronous control can be performed without determining the relationship between the parent axis and the child axis between the axes that actually exist. In addition, each axis can be selected to be freely synchronized and not synchronized, and each axis can be positioned based on the amount of movement of each axis even during synchronization control. .
[0054]
In addition, since there is no need to switch between the parent axis and the child axis between the axes that actually exist, asynchronous control and synchronous control can be realized with the same control program, and further, asynchronous control and synchronous control can be performed. You can switch freely at any time.
[0055]
Furthermore, since the start timing of the synchronous control can be freely adjusted by changing the offset value of the counter, it is possible to perform very flexible control.
[0056]
In the present invention, the difference in the control program between the case of synchronizing with the parent shaft virtually provided and the case of not synchronizing with the virtual parent shaft is very small. It is possible to easily cope with this by simply adding the change.
[0057]
In the present embodiment, the start timing of the
[Brief description of the drawings]
FIG. 1 is a conveying apparatus that conveys a relatively large vehicle body panel using a synchronization control method according to the present invention.
2 is a block diagram of a control system of the transport apparatus shown in FIG.
FIG. 3 is a flowchart illustrating an example of an operation of the transport apparatus illustrated in FIG.
FIG. 4 is a ladder circuit diagram for explaining a detailed operation of the multi-axis synchronous control device.
FIG. 5 is a ladder circuit diagram for explaining a detailed operation of the multi-axis synchronous control device.
[Explanation of symbols]
1 ... Controller,
2 ... I / O port,
20 ... Body panel,
101-106 ... motor,
201-206 ... encoder,
300-306, 310 ... Servo amplifier,
M1, M2 ... positioning devices.
Claims (6)
前記複数の軸を同期して動作させるための同期指令を出力する同期指令出力手段と、
あらかじめ定められた範囲の数値を繰り返しカウントするカウンタと、
前記同期指令が出力された時に、前記カウンタの数値を読み込む読込手段と、
読み込んだカウンタの数値に、定められたオフセット値を加算して、同期させるべき複数の軸の起動タイミングとする起動タイミング生成手段と、
前記カウンタの数値が起動タイミングに相当する数値となったときに、同期させるべき複数の軸を一斉に起動させるとともに、起動後は、それらの軸の動作を前記カウンタの数値の推移に基づいて制御する制御手段と、
を有することを特徴とする多軸同期制御装置。A multi-axis synchronous control device for operating a plurality of axes synchronously,
Synchronization command output means for outputting a synchronization command for operating the plurality of axes in synchronization;
A counter that repeatedly counts numerical values in a predetermined range;
Reading means for reading the numerical value of the counter when the synchronization command is output;
An activation timing generation means for adding the determined offset value to the read counter value and setting the activation timing of a plurality of axes to be synchronized;
When the numerical value of the counter reaches a numerical value corresponding to the activation timing, a plurality of axes to be synchronized are activated at the same time, and after the activation, the operation of those axes is controlled based on the transition of the numerical value of the counter Control means to
A multi-axis synchronous control device comprising:
前記複数の軸を同期して動作させるための同期指令を出力する段階と、
あらかじめ定められた範囲の数値を繰り返しカウントする段階と、
前記同期指令が出力された時に、前記カウンタの数値を読み込む段階と、
読み込んだカウンタの数値に、定められたオフセット値を加算して、同期させるべき複数の軸の起動タイミングとする段階と、
前記カウンタの数値が起動タイミングに相当する数値となったときに、同期させるべき複数の軸を一斉に起動させるとともに、起動後は、それらの軸の動作を前記カウンタの数値の推移に基づいて制御する段階と、
を含むことを特徴とする多軸同期制御方法。A multi-axis synchronous control method for synchronously operating a plurality of axes,
Outputting a synchronization command for operating the plurality of axes synchronously;
Repeatedly counting numerical values in a predetermined range;
When the synchronization command is output, reading the counter value;
Adding a predetermined offset value to the value of the read counter and setting the start timing of a plurality of axes to be synchronized;
When the numerical value of the counter reaches a numerical value corresponding to the activation timing, a plurality of axes to be synchronized are activated at the same time, and after the activation, the operation of these axes is controlled based on the transition of the numerical value of the counter And the stage of
A multi-axis synchronous control method comprising:
コンピュータを、
前記複数の軸を同期して動作させるための同期指令を出力する同期指令出力手段と、
あらかじめ定められた範囲の数値を繰り返しカウントするカウンタと、
前記同期指令が出力された時に、前記カウンタの数値を読み込む読込手段と、
読み込んだカウンタの数値に、定められたオフセット値を加算して、同期させるべき複数の軸の起動タイミングとする起動タイミング生成手段と、
前記カウンタの数値が起動タイミングに相当する数値となったときに、同期させるべき複数の軸を一斉に起動させるとともに、起動後は、それらの軸の動作を前記カウンタの数値の推移に基づいて制御する制御手段と、
して機能させるための多軸同期制御プログラム。A multi-axis synchronous control program for operating a plurality of axes synchronously,
Computer
Synchronization command output means for outputting a synchronization command for operating the plurality of axes in synchronization;
A counter that repeatedly counts numerical values in a predetermined range;
Reading means for reading the numerical value of the counter when the synchronization command is output;
An activation timing generation means for adding the determined offset value to the read counter value and setting the activation timing of a plurality of axes to be synchronized;
When the numerical value of the counter reaches a numerical value corresponding to the activation timing, a plurality of axes to be synchronized are activated at the same time, and after the activation, the operation of those axes is controlled based on the transition of the numerical value of the counter Control means to
Multi-axis synchronous control program to make it function.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001234821A JP3873685B2 (en) | 2001-08-02 | 2001-08-02 | Multi-axis synchronous control device, multi-axis synchronous control method, and multi-axis synchronous control program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001234821A JP3873685B2 (en) | 2001-08-02 | 2001-08-02 | Multi-axis synchronous control device, multi-axis synchronous control method, and multi-axis synchronous control program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003044144A JP2003044144A (en) | 2003-02-14 |
JP3873685B2 true JP3873685B2 (en) | 2007-01-24 |
Family
ID=19066362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001234821A Expired - Lifetime JP3873685B2 (en) | 2001-08-02 | 2001-08-02 | Multi-axis synchronous control device, multi-axis synchronous control method, and multi-axis synchronous control program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3873685B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107340756A (en) * | 2016-04-28 | 2017-11-10 | 发那科株式会社 | Numerical control device and synchronization and tracking control method |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102005027435B4 (en) * | 2005-06-14 | 2007-04-26 | Siemens Ag | Control method for a number of position-controlled following axes in a control cycle |
US8000835B2 (en) * | 2006-12-01 | 2011-08-16 | Lockheed Martin Corporation | Center of gravity sensing and adjusting load bar, program product, and related methods |
US8714472B2 (en) | 2010-03-30 | 2014-05-06 | Kimberly-Clark Worldwide, Inc. | Winder registration and inspection system |
JP5616262B2 (en) * | 2011-03-16 | 2014-10-29 | オークマ株式会社 | Numerically controlled machine tool |
CN108089444B (en) * | 2017-12-18 | 2020-07-14 | 哈尔滨工业大学 | Double-shaft turntable synchronous control method based on corrected reference model |
CN108762090B (en) * | 2018-06-22 | 2021-04-02 | 哈尔滨工业大学 | Multi-axis servo system synchronous control method based on dynamic error coefficient |
CN114509985A (en) * | 2020-11-17 | 2022-05-17 | 沈阳新松机器人自动化股份有限公司 | Virtual axis control system based on motion control |
-
2001
- 2001-08-02 JP JP2001234821A patent/JP3873685B2/en not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107340756A (en) * | 2016-04-28 | 2017-11-10 | 发那科株式会社 | Numerical control device and synchronization and tracking control method |
CN107340756B (en) * | 2016-04-28 | 2019-11-26 | 发那科株式会社 | Numerical control device and synchronization and tracking control method |
Also Published As
Publication number | Publication date |
---|---|
JP2003044144A (en) | 2003-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3665008B2 (en) | Synchronization control method and synchronization control apparatus | |
JPS59177604A (en) | Numerical control method | |
JP2004199433A (en) | Synchronous control device | |
JP3873685B2 (en) | Multi-axis synchronous control device, multi-axis synchronous control method, and multi-axis synchronous control program | |
JPS63181005A (en) | Parallel processing method for numerical controller | |
US20040059460A1 (en) | Numerical controller | |
CN110262291B (en) | Control device, control method, and storage medium | |
JP2005173849A (en) | Automatic machine control system | |
JPS59223807A (en) | Coupling system of numerical controller | |
JPS6249503A (en) | Numerical controller | |
JPH11104934A (en) | Method of and device for controlling main spindle head transfer at time of automatic tool changing operation | |
US7009357B2 (en) | Servo control system and its control method | |
JP4682907B2 (en) | Motor control device | |
US11590620B2 (en) | Motion control method for dual-spindle machining, dual-spindle machining apparatus and computer program product | |
JPH03204703A (en) | Numerical controller | |
JP2712881B2 (en) | Numerical control unit | |
JP2004130444A (en) | Synchronous control device | |
JP7559381B2 (en) | Numerical control device, control method for numerical control device, and machine tool | |
JPH10240330A (en) | Numerical controller | |
WO2021215467A1 (en) | Control device | |
JP2779797B2 (en) | Numerical control unit | |
JP2779796B2 (en) | Numerical control unit | |
JP3636711B2 (en) | Electrical equipment control system | |
WO1989005483A1 (en) | Cnc control system | |
JPH10232705A (en) | Numerical controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051209 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060117 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060317 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060829 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060911 |
|
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: 20061003 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061016 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 3873685 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091102 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101102 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111102 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121102 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121102 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131102 Year of fee payment: 7 |
|
EXPY | Cancellation because of completion of term |