以下に、本発明にかかる負荷駆動制御装置及び負荷駆動制御方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
まず、比較例の二軸連携駆動制御について、図19を用いて説明する。図19(A)は第一物品を初期位置Aから目標位置Cへ移動させて停止し、第二物品を初期位置Bから共通の目標位置Cへ移動させて停止する二軸連携駆動制御を示すものである。第一物品の到達目標移動量(距離)をLX、加減速の勾配を考慮した移動平均速度をVxaとし、第二物品の到達目標移動量(距離)をLY、加減速の勾配を考慮した移動平均速度をVyaとした場合に、LX/Vxa=LY/Vyaとなるように平均移動速度Vxa、Vyaを決定すれば、第一物品と第二物品を同時に移送開始した場合に、同一時刻に共通の目標位置Cに到達させることができることになる。
図19(B)は第一物品を初期位置Aから目標位置Cを経由して終点位置Dへ移動させて停止し、第二物品を初期位置Bから共通の目標位置Cを経由して終点位置Eへ移動させて停止する二軸連携駆動制御を示すものである。第一物品の通過目標移動量(距離)をLX、加速勾配を考慮した移動平均速度をVxaとし、第二物品の通過目標移動量(距離)をLY、加速勾配を考慮した移動平均速度をVyaとした場合に、LX/Vxa=LY/Vyaとなるように平均移動速度Vxa・Vyaを決定すれば、第一物品と第二物品を同時に移送開始した場合に、同一時刻に共通の目標位置Cを通過させることができることになる。
しかしながら、比較例では、第一物品と第二物品を同時に移送開始しないと、同一時刻に共通の目標位置Cを通過させることができず、第一物品と第二物品とが異なる時刻に移送開始された場合、第一物品と第二物品を同一時刻に共通の目標位置Cを通過または到達させることは難しい。
実施の形態1.
以下、この発明の実施形態1の負荷駆動制御装置の構成を説明する。図1は、実施形態1の負荷駆動制御装置の全体構成を示すものである。
図1において、負荷駆動制御装置100Aは、例えば同一の制御盤内に設置され、相互にシリアル接続された制御ユニットとしてのプログラマブルコントローラ(PLC)210Aと、多軸パルス出力ユニット(PCU)310Aによって構成されている。
PLC210Aは、第一のマイクロプロセッサ(CPU)200を中心として動作し、制御盤内外に設置された操作スイッチを含む入力センサ群101が接続される入力インタフェース回路201と、制御盤内外に設置された表示機器を含む電気負荷群102が接続される出力インタフェース回路202と、図示しないプログラムツールを介して制御プログラムが書込みされる例えばフラッシュメモリである不揮発性のプログラムメモリ(PMEM)203Aと、制御盤の盤面に設置された設定表示ユニット410Aがシリアル接続される直並列変換器204と、データレジスタDを含み、補助リレーM、タイマT、カウンタCで構成されるデバイスメモリ205と、PCU310Aとの間でバイトシリアルで高速通信を行うバスコントローラ209と、図示しない演算処理用のRAMメモリとを有し、これらが相互にバス接続されて構成されている。
なお、入力センサ群101から入力インタフェース回路201を介して入力された開閉信号は、デバイスメモリの一種となる入力リレーXとして、PMEM203A内の制御プログラムの中に取り込まれるとともに、制御プログラムによって書込みされる。また、デバイスメモリの一種となる出力リレーYの開閉信号は、出力インタフェース回路202を介して電気負荷群102を駆動する。また、設定表示ユニット410Aは、図示しない操作キーによってデバイスメモリへの書込み操作を行い、デバイスメモリの動作状態や現在値を読出し表示するものである。なお、デバイスメモリ205のうち、データレジスタDとビットメモリである補助リレーMとの一部は、図示しない例えばリチウムバッテリによって停電保持されるようになっている。
PCU310Aは、図示しないマスクROMメモリに格納された所定の制御プログラムによって動作する第二のマイクロプロセッサ(CPU)300を中心として動作し、PLC210A内のデータレジスタDとの間で、互いにシリアル接続されたバスコントローラ209,309を介して制御データが転送されるバッファメモリ(BFM)301と、制御盤内に設置された第1軸駆動ユニット104Aを介して制御盤外の第1軸モータ105Aを駆動する第1軸パルス出力回路304と、制御盤内に設置された第2軸駆動ユニット106Aを介して制御盤外の第2軸モータ107Aを駆動する第2軸パルス出力回路306と、第1軸パルス出力回路304が発生する第1軸駆動パルスPLX、又は第2軸パルス出力回路306が発生する第2軸駆動パルスPLYの発生回数を計数するパルスカウンタ308Aと、バスコントローラ309と、図示しない演算処理用のRAMとを有し、これらが互いにバス接続されて構成されている。なお、パルスカウンタ308Aは、クロック信号発生器303から出力される定周期のクロックパルスCLKの発生回数を計数することもできる。
図1に示された第1軸モータ105Aと第2軸モータ107Aは、一般にはステッピングモータ又はパルスモータと呼称されるものであって、給電1パルス当たり数度の角度運動を行い、二相パルス信号の位相差によって回転方向が決定されるようになっていて、実際に所定の角度運動が行われたかどうかは検出されないオープンループ制御用のモータとなっている。第1軸パルス出力回路304が発生する第1軸駆動パルスPLXと、第2軸パルス出力回路306が発生する第2軸駆動パルスPLYはA相・B相の2相パルス信号であるか、あるいは一相パルス信号と回転方向を指示する指令信号によって構成されている。制御盤の盤面又は盤外に設けられた直接指令スイッチ群103Aは、例えば直接始動指令信号STDと非常停止指令信号ESPを発生して第二のマイクロプロセッサ300に入力するようになっている。
第1軸パルス出力回路304内の図示しないワーキングレジスタには、バッファメモリ301に格納された制御データの一部である第一の目標移動量LXに対応した発生パルス数と、全体移動量LXfに対応した発生パルス数と、第一の設定速度Vxに対応したパルス周波数と、加減速度データとに基づいて、台形波形を生成するための関連データが格納され、図2(B)、図3(C)で後述する台形波形の速度パターンによる第1軸駆動パルスPLXを発生するようになっている。第2軸パルス出力回路306内の図示しないワーキングレジスタには、バッファメモリ301に格納された制御データの一部である第二の目標移動量LYに対応した発生パルス数と、全体移動量LYfに対応した発生パルス数と、第二の設定速度Vyに対応したパルス周波数と、加減速度データとに基づいて、台形波形を生成するための関連データが格納され、図2(C)、図3(B)で後述する台形波形の速度パターンによる第2軸駆動パルスPLYを発生するようになっている。パルスカウンタ308A内の図示しないワーキングレジスタには、PLC210Aの第一のマイクロプロセッサ200によって算出されてバッファメモリ301に転送された後述のバイアス移動量に対応したパルス数の初期設定値が格納されるようになっている。また、第二のマイクロプロセッサ300と第1軸パルス出力回路304は、始動指令信号STX及び動作完了信号FXとを含む制御信号CNTを相互に交信し、第二のマイクロプロセッサ300と第2軸パルス出力回路306は、始動指令信号STY及び動作完了信号FYとを含む制御信号CNTを相互に交信するようになっている。
第二のマイクロプロセッサ300は、PLC210Aから連携始動指令STCを受信するか、又はPCU310Aに対して直接始動指令信号STDを受信すると、第1軸パルス出力回路304に対して第1軸始動指令信号STXを供給するか、若しくは第2軸パルス出力回路306に対して第2軸始動指令信号STYを供給し、その結果、どちらか一方が先行始動されることになる。第二のマイクロプロセッサ300は、パルスカウンタ308Aに対して選択指令信号SELを供給し、パルスカウンタ308Aは選択指令信号SELの内容に応じて、第1軸駆動パルスPLX又は第2軸駆動パルスPLYを計数し、計数値が所定の初期設定値になった時点でバイアス移動完了信号FBを発生する。その結果、第1軸モータ105A又は第2軸モータ107Aのどちらか他方が遅延始動されるようになっている。どちらを先行始動し、どちらをどれだけ遅れて後続始動するかについては、図2、図3によって後述する。なお、第1軸及び第2軸パルス出力回路304、306は、パルス出力部に図示しない可変リング長のリングカウンタを備え、当該リングカウンタの出力パルスによって出力論理が交互に反転し、可変設定されるリングカウンタのリング長によって出力パルスの周期が決定されるようになっている。
また、第1軸及び第2軸パルス出力回路304、306は、自らの出力パルス数を計数して、台形波形の上昇完了時点や減少開始時点、パルス発生完了時点を決定する図示しないトータルパルスカウンタを備え、第二のマイクロプロセッサ300と協働して、所定周波数で所定パルス数の第1軸及び第2軸駆動パルスPLX・PLYを発生するようになっている。なお、データレジスタDに格納される移動量や速度に関する単位は、例えばmm、m、μm、deg、mmdeg、m/sec、m/min、rpmなどの補助単位を含む実用単位であるが、第1軸、第2軸パルス出力回路304、306やパルスカウンタ308Aで扱う単位はパルス数又はパルス周波数Hzの単位となっている。従って、データレジスタDには単位換算係数に関するデータが予め設定書込みされていて、第一のマイクロプロセッサ200又は第二のマイクロプロセッサ300は単位系の換算を行ったうえで、第二のマイクロプロセッサ300によって第1軸、第2軸パルス出力回路304、306やパルスカウンタ308A内のワーキングレジスタに必要とされる制御データを書込みするようになっている。また、後述するバイアス移動時間又はバイアス移動量の算定は第一のマイクロプロセッサ200又は第二のマイクロプロセッサ300によって行われるようになっている。
以下、図2、図3を参照して、実施形態1による負荷駆動制御装置100Aの動作を説明する。なお、図2は第1軸を基準軸として、第1軸を先行始動する場合の速度対時間特性であり、図3は第1軸を基準軸として、第2軸を先行始動する場合の速度対時間特性を示している。基準軸とは、後述の算式(1a)、算式(1b)、算式(4a)、算式(4b)において、符号が正となる軸のことを言う。図2(A)は、第一のマイクロプロセッサ200からデータレジスタDを介してバッファメモリ301に送信された連携始動指令STC、又はPCU310Aに直接入力された直接始動指令信号STDの論理波形を示しており、時刻T1において論理レベルが「H」となり、所定時間をおいて論理レベル「L」に復帰するようになっている。図2(B)は、第1軸パルス出力回路304が発生する第1軸駆動パルスPLXの周波数特性を示しており、台形波形20の頂上平坦部における周波数は第一の設定速度Vxに比例した値となっている。なお、台形波形20の立上り勾配と立下り勾配とは、バッファメモリ301に送信された所定の加速度α1と減速度β1によって決定される。
図2(C)は、第2軸パルス出力回路306が発生する第2軸駆動パルスPLYの周波数特性を示しており、台形波形21の頂上平坦部における周波数は第二の設定速度Vyに比例した値となっている。なお、台形波形21の立上り勾配と立下り勾配とは、バッファメモリ301に送信された所定の加速度α2と減速度β2によって決定され、この加減速度は第1軸とは異なる値を設定することができる。時刻T1は第1軸側が初期位置Aから先行して移動開始する時刻、時刻T2は第2軸側が初期位置Bから遅延して移動開始する時刻、時刻T3は第1軸側と第2軸側とが共通の目標位置Cを通過する時刻である。第1軸側では、時刻T1から時刻T3の間に第一の目標移動量LXの移動を完了し、予め設定されている全体移動量LXfに到達した時点で停止するようになっている。第2軸側では、時刻T2から時刻T3の間に第二の目標移動量LYの移動を完了し、予め設定されている全体移動量LYfに到達した時点で停止するようになっている。
ここで、第一の目標移動量LXの移動期間における平均速度をVxaとすると、T3−T1=LX/Vxaの関係がある。また、第二の目標移動量LYの移動期間における平均速度をVyaとすると、T3−T2=LY/Vyaの関係がある。従って、第2軸の遅延始動時間であるバイアス移動時間Tbは(4a)式によって算出されることになる。
Tb=T2−T1=(T3−T1)−(T3−T2)
=LX/Vxa−LY/Vya …(4a)
なお、第1軸と第2軸の立上り勾配が比較的急峻であって、平坦部の移行時間が長ければ、近似的には平均速度Vxa、Vyaによらないで式(1a)によって算出することもできる。
Tb=LX/Vx−LY/Vy …(1a)
従って、パルスカウンタ308Aが一定周期τcを持つクロックパルスCLKを計数する場合であれば、パルスカウンタ308AにはTb/τcの初期設定値が格納されることになる。
一方、バイアス移動時間Tbの期間における先行始動軸の移動量となるバイアス移動量Lbxは、加速度α1の影響を考慮しない場合には(2)式によって近似算出され、加速度α1の影響を考慮する場合には(5)式によって算出される。
Lbx=Tb×Vx=LX−LY(Vx/Vy) …(2)
Lbx=Tb×Vx−0.5×Vx2/α1 …(5)
従って、パルスカウンタ308Aが第1軸駆動パルスPLXを計数する場合であれば、駆動パルス1パルス当たりの移動量をΔXとした場合、パルスカウンタ308AにはLbx/ΔXの初期設定値が格納されることになる。
図3(A)は、第一のマイクロプロセッサ200からデータレジスタDを介してバッファメモリ301に送信された連携始動指令STC、又はPCU310Aに直接入力された直接始動指令信号STDの論理波形を示しており、時刻T1において論理レベルが「H」となり、所定時間をおいて論理レベル「L」に復帰するようになっている。図3(B)は、第2軸パルス出力回路306が発生する第2軸駆動パルスPLYの周波数特性を示しており、台形波形30の頂上平坦部における周波数は第2の設定速度Vyに比例した値となっている。なお、台形波形30の立上り勾配と立下り勾配とは、バッファメモリ301に送信された所定の加速度α2と減速度β2によって決定される。図3(C)は、第1軸パルス出力回路304が発生する第1軸駆動パルスPLXの周波数特性を示しており、台形波形31の頂上平坦部における周波数は第一の設定速度Vxに比例した値となっている。なお、台形波形31の立上り勾配と立下り勾配とは、バッファメモリ301に送信された所定の加速度α1と減速度β1によって決定され、この加減速度は第2軸とは異なる値を設定することができる。
時刻T1は第2軸側が初期位置Bから先行して移動開始する時刻、時刻T2は第1軸側が初期位置Aから遅延して移動開始する時刻、時刻T3は第1軸側と第2軸側とが共通の目標位置Cを通過する時刻である。第2軸側では、時刻T1から時刻T3の間に第二の目標移動量LYの移動を完了し、予め設定されている全体移動量LYfに到達した時点で停止するようになっている。第1軸側では、時刻T2から時刻T3の間に第一の目標移動量LXの移動を完了し、予め設定されている全体移動量LXfに到達した時点で停止するようになっている。ここで、第二の目標移動量LYの移動期間における平均速度をVyaとすると、T3−T1=LY/Vyaの関係がある。また、第一の目標移動量LXの移動期間における平均速度をVxaとすると、T3−T2=LX/Vxaの関係がある。従って、第1軸の遅延始動時間であるバイアス移動時間Tbは算式(4b)によって算出されることになる。
Tb=T2−T1=(T3−T1)−(T3−T2)
=LY/Vya−LX/Vxa …(4b)
なお、第1軸と第2軸の立上り勾配が比較的急峻であって、平坦部の移行時間が長ければ、近似的には平均速度Vxa・Vyaによらないで算式(1b)によって算出することもできる。
Tb=LY/Vy−LX/Vx …(1b)
従って、パルスカウンタ308Aが一定周期τcによるクロックパルスCLKを計数する場合であれば、パルスカウンタ308AにはTb/τcの初期設定値が格納されることになる。
一方、バイアス移動時間Tbの期間における先行始動軸の移動量となるバイアス移動量Lbyは、加速度α2の影響を考慮しない場合には(3)式によって近似算出され、加速度α2の影響を考慮する場合には(6)式によって算出される。
Lby=Tb×Vy=LY−LX(Vy/Vx) …(3)
Lby=Tb×Vy−0.5×Vy2/α2 …(6)
従って、パルスカウンタ308Aが第2軸駆動パルスPLYを計数する場合であれば、駆動パルス1パルス当たりの移動量をΔYとし、パルスカウンタ308AにはLby/ΔYの初期設定値が格納されることになる。
なお、算式(1a)と算式(1b)、算式(4a)と算式(4b)は正負の符号が反対となっていて、絶対値としては同じ値となっているが、正か負かによって先行始動軸がどちらになるかが決定される。また、算式(4a)、算式(4b)において、平均速度Vxa、Vyaは算式(7)と算式(8)によって算出されるものである。
但し、目標位置で停止しない実施形態1においては(1/β1)=(1/β2)=0となっている。
Vxa=Vx/[1+0.5×{(1/α1)+(1/β1)}Vx2/LX ] …(7)
Vya=Vy/[1+0.5×{(1/α2)+(1/β2)}Vy2/LY ] …(8)
また、加速度α1、α2が十分に大きいとした場合の算式(2)と算式(3)の値を比較すると、(9)式の関係が成立する。
Lby/Lbx=[LY−LX(Vy/Vx)]/[LX−LY(Vx/Vy)]=−Vy/Vx …(9)
従って、第1軸換算のバイアス移動量Lbxと第2軸換算のバイアス移動量Lbyとの比率の絶対値は、第一の設定速度Vxと第二の設定速度Vyとの比率に等しくなる。
次に、図4に従って、図1に示した負荷駆動制御装置100Aの動作を説明する。なお、図4はPLC210AとPCU310A間における制御データの交信制御に関するものであって、図4の左側は第一のマイクロプロセッサ200の制御動作、右側は第二のマイクロプロセッサ300の制御動作を示している。この実施形態では、パルスカウンタ308Aは第1軸駆動パルスPLX又は第2軸駆動パルスPLYを計数し、バイアス移動量Lbx又はLbyは第一のマイクロプロセッサ200によって算出され、実用単位からパルス単位への換算も第一のマイクロプロセッサ200によって行われるようになっている。
図4において、工程400は、PLC210Aの第一のマイクロプロセッサ200の制御動作の開始ステップである。続く工程401では、PLC210Aの制御動作の過程で、例えば設定表示ユニット401AによるデータレジスタDの設定値が変更されて、バッファメモリ301への制御データの送信を行う転送指令が発生したか否かが判定される。この判定ステップで、送信要の場合は手順は工程402xへ移行され、転送指令が発生していないときは手順は工程404へ移行される。
工程402xでは、第1軸設定データとして予めデータレジスタDに書込み設定しておいた第一の目標移動量LX、全体移動量LXf、第一の設定速度Vx、加速度α1、減速度β1の値が抽出される。続く工程402yでは、第2軸設定データとして予めデータレジスタDに書込み設定しておいた第二の目標移動量LY、全体移動量LXf、第二の設定速度Vy、加速度α2、減速度β2の値が抽出される。続く工程403aでは、工程402x、工程402yで抽出された制御データから算式(1)又は算式(4)によってバイアス移動時間Tbが算出され、バイアス移動時間Tbが正の値であれば、算式(2)又は算式(5)によって第1軸換算のバイアス移動量Lbxが算出される。但し、バイアス移動時間Tbが負の値となったときには、算式(3)又は算式(6)によって第2軸換算のバイアス移動量Lbyが算出される。続く工程403bでは、工程402x、工程402y、工程403aの設定データで適用された実用単位が、パルス単位に換算される。続く工程403cでは、工程403bでパルス単位に換算された制御データが、バッファメモリ301へ送信される。
続く工程404では、運転モードを決定するためのパラメータデータが送信される。例えばPCU310A側の直接始動指令信号STDを有効にするかどうか、或いは再始動指令を与えなくても一巡の制御動作を繰り返して実行する継続運転状態にするのか、一巡の動作完了で再始動指令が与えられるまで停止しているのかなどの運転モードを決定するためのパラメータデータが送信される。続く工程406では、始動指令の発生時期であるかどうかが判定され、発生時期であればYESの判定が行なわれて手順が工程407へ移行され、始動指令の発生禁止状態であればNOの判定が行なわれて手順は工程408へ移行される。工程407では、運転コマンドとして連携始動指令STCがバッファメモリ301へ送信される。続く工程408では、バッファメモリ301から送信された第1軸動作中、第2軸動作中などの監視情報が受信される。続く動作終了工程409では、第一のマイクロプロセッサ200は他の制御プログラムを実行し、所定時間以内には再度動作開始工程400へ復帰して、工程401〜408の処理を繰返し実行する。
工程410はPCU310Aの第二のマイクロプロセッサ300の制御動作の開始ステップである。続く工程411では、第一のマイクロプロセッサ200から制御データを受信したかどうかが判定され、受信すればYESの判定を行って手順が工程412へ移行され、受信していなければNOの判定を行って手順が工程414へ移行される。工程412では、工程402x、工程402y、工程403aで設定され、工程403bで単位系の換算が行われた各制御データがバッファメモリ301に転送格納される。工程414では、工程404で送信された運転モード情報が受信されて、この運転モード情報がモード指令メモリに書込みされる。続く工程415では、工程412において第1軸換算のバイアス移動量Lbxが設定されていれば、第1軸が先行駆動軸として決定され、パルスカウンタ308Aの計数入力として第1軸駆動パルスPLXが選択される。また、工程415では、工程412において第2軸換算のバイアス移動量Lbyが設定されていれば、第2軸が先行駆動軸として決定され、パルスカウンタ308Aの計数入力として第2軸駆動パルスPLYが選択される。続く工程416aでは、第1軸動作完了信号FX又は第2軸動作完了信号FYが発生したかどうかが判定され、いずれかが発生していればYESの判定を行って手順は工程416bへ移行され、いずれも発生していなければNOの判定を行って手順は工程417bへ移行される。但し、運転開始の初期状態では第1軸動作完了信号FX及び第2軸動作完了信号FYは共に完了状態となっていて、工程416bへ移行するようになっている。
工程416bでは、第1軸動作完了信号FX又は第2軸動作完了信号FYが発生している側の第1軸パルス出力回路304又は第2軸パルス出力回路306内のワーキングレジスタと、パルスカウンタ308A内のワーキングレジスタに対して関連データが転送され、転送された側の動作完了信号FX又はFYがリセットされる。続く工程416cでは、第1軸動作完了信号FX及び第2軸動作完了信号FYは共にリセットされたかどうかが判定され、未完了であればNOの判定を行って工程416aへ手順が移行され、完了であればYESの判定を行って手順が工程417bへ移行される。工程417bでは、工程407による連携始動指令STCを受信するか、又は工程417aによって直接始動指令信号STDが発生した場合に、工程415で決定された先行始動軸に対して始動指令信号STX又はSTYが発生されて、第1軸パルス出力回路304又は第2軸パルス出力回路306がパルス出力動作を開始する。続く工程417cでは、パルスカウンタ308Aが生成するバイアス移動完了信号FBが発生したかどうかが判定され、未発生であればNOの判定を行って手順を動作終了工程419へ移行する。その後、手順は再び動作開始工程410に復帰され、工程417cによる判定動作を繰返し、その判定がYESになると、手順は工程418aへ移行される。
工程418aでは、遅延始動軸に対し始動指令信号STY又はSTXが出力され、これにより第1軸パルス出力回路304及び第2軸パルス出力回路306の両方がパルス出力動作を行う状態となる。続く工程418cでは、工程418bにおいて第1軸パルス出力回路304が発生する第1軸動作完了信号FX、又は第2軸パルス出力回路306が発生する第2軸動作完了信号FYを受信したことによって一連の制御動作が完了したことがPLC210Aに対して報告される。続く動作終了工程419では、第二のマイクロプロセッサ200は他の制御プログラムを実行し、所定時間以内には再度動作開始工程410へ復帰して、工程411〜418cの処理を繰返し実行する。なお、PLC210Aへの報告情報としては、第1軸パルス出力回路304に対して始動指令信号STXを与えてから、第1軸パルス出力回路304が第1軸動作完了信号FXを発生するまでの期間は第1軸駆動中とし、第2軸パルス出力回路306に対して始動指令信号STYを与えてから、第2軸パルス出力回路306が第2軸動作完了信号FYを発生するまでの期間は第2軸駆動中として報告することもできる。
次に、第1軸パルス出力回路304と第2軸パルス出力回路306とパルスカウンタ308Aの動作を詳細に説明する。なお、図5はハードウエアで構成された第1軸パルス出力回路304と第2軸パルス出力回路306とパルスカウンタ308Aの論理動作を説明する等価フローチャートとなっている。図5において、工程500aにおいて電源が投入されると、PCU310Aの論理回路部は工程500bにおいて論理動作を開始する。続く工程501では、始動指令信号STX又はSTYのどちらか一方が発生したかどうかを判定し、発生すればYESの判定を行って手順が工程502へ移行され、未発生であればNOの判定を行って手順を工程501へ復帰させる。工程502では、工程501の判定が第1軸の始動指令信号STXの発生であればYESの判定を行って手順を工程503xへ移行させ、第2軸の始動指令信号STYの発生であればNOの判定を行って手順を工程513yへ移行させる。
工程503xでは、第1軸パルス出力回路304は第1軸駆動パルスPLXを発生開始し、続く工程504では、パルスカウンタ308Aが第1軸駆動パルスPLXを計数する。続く工程505では、パルスカウンタ308Aの現在値が、パルスカウンタ308Aに予め設定されているバイアス移動量Lbxに対応したバイアスパルス数に達したかどうかを判定し、未達であればNOの判定を行って手順を工程520へ移行し、到達であればYESの判定を行って工程506yへ移行する。工程506yでは、第1軸パルス出力回路304は第1軸駆動パルスPLXを継続発生するとともに、第2軸パルス出力回路306が第2軸駆動パルスPLYを発生開始して、手順を工程520へ移行する。工程513yでは、第2軸パルス出力回路306が第2軸駆動パルスPLYを発生開始し、続く工程514ではパルスカウンタ308Aが第2軸駆動パルスPLYを計数する。続く工程515は、パルスカウンタ308Aの現在値が、パルスカウンタ308Aに予め設定されているバイアス移動量Lbyに対応したバイアスパルス数に達したかどうかを判定し、未達であればNOの判定を行って手順を工程520へ移行し、到達であればYESの判定を行って手順を工程516xへ移行する。工程516xでは、第2軸パルス出力回路306は第2軸駆動パルスPLYを継続発生するとともに、第1軸パルス出力回路304が第1軸駆動パルスPLXを発生開始して手順を工程520へ移行する。
工程520では、第1軸パルス出力回路304が、予め設定されている全体移動量LXfに対応したパルス数の第1軸駆動パルスPLXの発生が完了したか、又は非常停止指令信号ESPが入力されたかどうかを判定し、未完了又は非常停止でなければNOの判定を行って手順を工程521aへ移行し、完了又は非常停止であればYESの判定を行って手順を工程521bへ移行する。工程521aでは、第1軸駆動パルスPLXの発生を継続して手順を工程522へ移行し、工程521bでは第1軸駆動パルスPLXの発生を停止し、第1軸動作完了信号FXを発生して手順を工程522へ移行する。工程522では、第2軸パルス出力回路306が、予め設定されている全体移動量LYfに対応したパルス数の第2軸駆動パルスPLYの発生が完了したか、又は非常停止指令信号ESPが入力されたかどうかを判定し、未完了又は非常停止でなければNOの判定を行って手順を工程523aへ移行し、完了又は非常停止であればYESの判定を行って手順を工程523bへ移行する。工程523aでは第2軸パルス出力回路306が第2軸駆動パルスPLYの発生を継続して手順を工程502へ移行し、工程523bでは、第2軸パルス出力回路306が第2軸駆動パルスPLYの発生を停止し、第2軸動作完了信号FYを発生して手順工程524へ移行する。
工程524では、非常停止指令信号ESPが発生しているかどうかを判定し、指令発生であればYESの判定を行って手順を工程501へ復帰させ、発生していなければNOの判定を行って手順を工程525へ移行させる。工程525では、バッファメモリ301に格納された運転コマンドが継続運転指令であるかどうかを判定し、継続運転モードであればYESの判定を行って手順を工程526へ移行し、継続運転モードでなければ手順を工程501へ復帰させて再始動指令信号が入力されるのを待機する。工程526では、継続運転モードが選択されている場合であって、第1軸駆動パルスPLX及び第2軸駆動パルスPLYの発生完了に伴って、図示しない再始動遅延時間の計時用タイマが休止時間を計測し、所定の第1軸又は第2軸の再始動遅延時間TS1又はTS2が経過するとYESの判定を行って工程502へ移行して自動的に再始動を開始し、未経過のときはNOの判定を行って工程524へ復帰する。
以上の説明では、先行始動軸は第1軸又は第2軸が自動的に選択されるようになっているが、予め基準軸を定めておいて、例えば基準軸とされた第1軸に対してのみ始動指令信号を発生し、バイアス移動量が正であれば第1軸を先行始動し、バイアス移動量が負であれば第2軸を先行始動するようなルールにしておくことも可能である。以上の説明では、バイアス移動量はPLC210A側で算出するものとしたが、調整運転によって適度なバイアス移動量を人為的に探索して手動設定することも可能であり、この場合、調整運転速度を実用運転速度に比べて所定の減率速度で運転すると探索が容易となる。なお、算式(2)及び算式(3)で示すとおり、第一の設定速度Vxと第二の設定速度Vyとの比率が一定となるように調整運転と実用運転の減率速度を定めれば、バイアス移動量は変化しないので容易に調整運転が行えることになる。
以上の説明では、制御データに関する単位系の換算はPLC210A側で行われていて、単位換算係数はPCU310A側には送信されていないが、仮に単位換算係数を送信しても、これが参考情報であってPCU310A側で単位系の換算処理が不要であることを運転モードデータとして併送しておくことも可能である。また、以上の説明では、制御データの単位系の換算処理とバイアス移動量の算出、設定をPLC210A側で行うようにしたが、これをPCU310A側で行うことも可能である。但し、どちらでも自由に選択できるようにしておく必要性はなく、例えばPCU側で単位系換算とバイアス移動量の算出を行うものと決めておけばよい。また、以上の説明では、PCU310Aは第1軸と第2軸の二軸負荷に対応するものとなっている。しかし、更に1軸分が付加されて、相互に連携動作を行うようにすることも可能である。
また、負荷駆動制御装置100Aでは、移動量増減モードが可能である。移動量増減モードとは、図19に示したように、第1軸パルス出力回路304と第2軸パルス出力回路306とを同時に動作開始させて、第1軸パルス出力回路304と前記第2軸パルス出力回路306および第2軸パルス出力回路306から第1軸駆動パルスPLXおよび第2軸駆動パルスPLYを同時に発生させたときに、所定時間後に共通の目標位置Cを通過する第1軸側および第2軸側の初期位置A、Bを基準位置として設定後、一方の軸の移動量の増減を可能とするモードである。
移動量増量モードにおいては、基準位置A、Bに対し一方の軸の移動量が増量設定された場合に、増量された軸側の増量移動量ΔLxx又はΔLyyがバイアス移動量Lbとして設定される。例えば、図19の初期位置A、Bに対し、第1軸の移動量がΔLxxだけ増量された場合、先行駆動軸は第1軸側となり、バイアス移動量Lb=ΔLxxとなる。同様に、図19の初期位置A、Bに対し、第2軸の移動量がΔLyyだけ増量された場合、先行駆動軸は第2軸側となり、バイアス移動量Lb=ΔLyyとなる。従って、増量移動量分の移動完了所要時間は移動速度によって変化するが、先行駆動軸の駆動パルスを計数することによって正確に増量移動量の移動完了時点を特定することができるとともに、低速試運転調整を行ったのちに共通比率による高速運転に切換えても、調整誤差が発生せず、初期調整を容易に行うことができる。
移動量減量モードにおいては、基準位置A、Bに対し一方の軸の移動量が減量設定された場合に、減量された一方の軸側の増量移動量ΔLxx又はΔLyyを、他方の軸側の等価増量移動量ΔLyy=ΔLxx×(Vy/Vx)又はΔLxx=ΔLyy×(Vy/Vx)に換算した値が、先行始動軸に対するバイアス移動量Lbとして設定される。例えば、図19の初期位置A、Bに対し、第1軸の移動量がΔLxxだけ減量された場合、先行駆動軸は第2軸側となり、バイアス移動量Lb=ΔLxx×(Vy/Vx)となる。同様に、図19の初期位置A、Bに対し、第2軸の移動量がΔLyyだけ増量された場合、先行駆動軸は第1軸側となり、バイアス移動量Lb=ΔLyy×(Vy/Vx)となる。従って、減量移動量の移動待機完了所要時間は移動速度によって変化するが、先行駆動軸の駆動パルスを計数することによって正確に移動待機完了時点を特定することができるとともに、低速試運転調整を行ったのちに共通比率による高速運転に切換えても、調整誤差が発生せず、初期調整を容易に行うことができる。
このように実施形態1においては、第1軸モータ105Aは第一物品を初期位置Aから移送開始するとともに、第2軸モータ107Aは第二物品を初期位置Bから移送開始して、第一物品の注目点と第2物品の注目点とを同一時刻に共通の目標位置Cを通過する関係にパルスカウンタ308Aの初期設定値を設定し、パルスカウンタ308Aは、第1軸駆動パルスPLX又は前記第2軸駆動パルスPLYのうち、先行始動された方のいずれか一方の駆動パルスを計数し、当該計数値が初期設定値に到達したときに、第1軸パルス出力回路304又は第2軸パルス出力回路306の他方が、一方よりも遅れて駆動パルスを発生開始するようにしているので、パルスカウンタ308Aによって各軸間の連携駆動を実現できるとともに、互いに異なる初期位置から、それぞれに適した移動速度によって、同一時刻に共通の目標位置に到達又は通過させるよう、多軸間の連携制御をおこなうことができる。
また、この実施形態1においては、PLCはPCUに転送する制御データに関し、実用単位からパルス単位に換算する換算係数を備えていて、実用単位からパルス単位への換算はPLC側又はPCU側で行われ、バイアス移動量Lb又はバイアス移動時間Tbに関する設定値はPLC又はPCU側で算定されるようになっているので、目標移動量、設定速度、バイアス移動量の設定変更は、取扱い性に優れた実用単位で行うことができるので、設定変更操作が容易となる。
また、第一の設定速度Vxと第2の設定速度Vyに関する加速度と減速度が設定されている場合、平均速度Vxa、Vyaを用いてバイアス移動量を算出するためのバイアス移動時間を求めるようにすれば、設定された目標移動量と設定速度と加減速勾配とに対応して、より適正なバイアス移動量が算出されるので、実機調整運転が容易となって、調整作業の能率が更に向上する。また、調整運転が行われると、予め設定されている所定の減速比により、第1軸及び第2軸の設定目標速度を同率低減してから連携運転が開始されるようになっているので、低速運転によって手軽に誤差調整を行って、バイアス移動量の補正を行うことができる。
実施の形態2.
以下、この発明の実施形態2の負荷駆動制御装置の構成を説明する。図6は、実施形態1の負荷駆動制御装置の全体構成を示すものである。なお、図6においては、図1との相違点を中心にしてその構成を説明する。なお、図6と図1との主な相違点としては、パルスカウンタ308Bの計数入力がクロックパルスCLKとなっていること、設定表示ユニット410Bと、第1軸、第2軸モータ105B、107Bと、第1軸、第2軸駆動ユニット104B、106Bとして異なる形式のものが適用されていることなどがある。また、実施形態2では、単位系の換算とバイアス移動量に関する算定はPCU310B側で行われるようになっているとともに、第1軸、第2軸モータ105B、107Bは目標位置において停止するようになっている。
図6において、負荷駆動制御装置100Bは、例えば同一の制御盤内に設置され、相互にシリアル接続されたPLC210BとPCU310Bによって構成されている。PLC210Bは、プログラムメモリ203Bと協働する第一のマイクロプロセッサ200を中心として動作し、図1と同様に、入力センサ群101と電気負荷群102が接続されているとともに、データレジスタDを含むデバイスメモリ205と、PCU310Bとの間でバイトシリアルで高速通信を行うバスコントローラ209と、図示しない演算処理用のRAMメモリとが相互にバス接続されている。
制御盤の盤面に設置された設定表示ユニット410Bにおいては、データレジスタDに書込み設定される制御データのうち、オペレータによって設定される特定の制御データについて、例えば書込みされるデータレジスタDの番号を選択するロータリスイッチの出力と、設定値を増減するための手動パルス発生器の出力とが入力インタフェース回路201を介して入力され、選択されたデータレジスタDの現在値を表示する数値表示器が出力インタフェース回路202を介して接続されている。PCU310Bは、図1と同様に、第二のマイクロプロセッサ300を中心として動作し、PLC210B内のデータレジスタDとの間で、互いにシリアル接続されたバスコントローラ209、309を介して制御データが転送されるバッファメモリ301と、第1軸駆動ユニット104Bを介して第1軸モータ105Bを駆動する第1軸パルス出力回路304と、第2軸駆動ユニット106Bを介し第2軸モータ107Bを駆動する第2軸パルス出力回路306と、パルスカウンタ308Bを備えている。パルスカウンタ308Bはクロック信号発生器303による定周期のクロックパルスCLKの発生回数を計数するようになっている。但し、パルスカウンタ308Bによって第1軸駆動パルスPLX、又は第2軸駆動パルスPLYを計数するようにしてもよい。
なお、図6に示された第1軸モータ105Bと第2軸モータ107Bは、一般にはサーボモータと呼称されるものであって、モータ軸にはモータの回転角度を検出するための回転センサECが内蔵されている。サーボアンプである第1軸駆動ユニット104Bは、第1軸パルス出力回路304が発生する第1軸駆動パルスPLXの発生数と、第1軸モータ105Bに設けられた回転センサECによる検出パルスの発生数の偏差パルス数を算出し、偏差パルス数が所定の許容範囲以下となるように第1軸モータ105Bを駆動し、偏差パルス数が大きいときには高速駆動するようになっている。第2軸駆動ユニット106Bについても同様である。なお、第1軸パルス出力回路304が発生する第1軸駆動パルスPLXと、第2軸パルス出力回路306が発生する第2軸駆動パルスPLYとは、図1と同様に、A相・B相の2相パルス信号であるか、あるいは一相パルス信号と回転方向を指示する指令信号によって構成されている。また、制御盤の盤面又は盤外に設けられた直接指令スイッチ群103Bは、例えば直接始動指令信号STDと非常停止指令信号ESPを発生して第二のマイクロプロセッサ300に入力する。
第1軸パルス出力回路304内の図示しないワーキングレジスタには、バッファメモリ301に格納された制御データの一部である第一の目標移動量LXに対応した発生パルス数と、第一の設定速度Vxに対応したパルス周波数と、加減速度データとに基づいて、台形波形を生成するための関連データが格納され、図7(B)、図8(C)で後述する台形波形の速度パターンによる第1軸駆動パルスPLXを発生するようになっている。第2軸パルス出力回路306内の図示しないワーキングレジスタには、バッファメモリ301に格納された制御データの一部である第二の目標移動量LYに対応した発生パルス数と、第二の設定速度Vyに対応したパルス周波数と、加減速度データとに基づいて、台形波形を生成するための関連データが格納され、図7(C)、図8(B)で後述する台形波形の速度パターンによる第2軸駆動パルスPLYを発生するようになっている。
パルスカウンタ308B内の図示しないワーキングレジスタには、第一のマイクロプロセッサ200からバッファメモリ301に転送された設定データに基づいて第二のマイクロプロセッサ300によって算出された後述のバイアス移動時間に対応したパルス数の初期設定値が格納されるようになっている。また、第二のマイクロプロセッサ300と第1軸パルス出力回路304は、始動指令信号STX及び動作完了信号FXとを含む制御信号CNTを相互に交信し、第二のマイクロプロセッサ300と第2軸パルス出力回路306は、始動指令信号STY及び動作完了信号FYとを含む制御信号CNTを相互に交信するようになっている。
第二のマイクロプロセッサ300は、PLC210Bから連携始動指令STCを受信するか、又はPCU310Bに対する直接始動指令信号STDを受信すると、第1軸パルス出力回路304に対して第1軸始動指令信号STXを供給するか、若しくは、第2軸パルス出力回路306に対して第2軸始動指令信号STYを供給し、その結果、どちらか一方が先行始動されることになる。第二のマイクロプロセッサ300は、パルスカウンタ308Bに対して選択指令信号SELを供給し、パルスカウンタ308Bは選択指令信号SELの内容に応じて、クロックパルスCLKの発生パルス数を計数し、計数値が所定の初期設定値になった時点でバイアス移動完了信号FBを発生する。その結果、第1軸モータ105B又は第2軸モータ107Bのどちらか他方が遅延始動されるようになっている。どちらを先行始動し、どちらをどれだけ遅れて後続始動するかについては図7、図8を用いて後述する。
以下、図7、図8を参照して、実施形態2による負荷駆動制御装置100Bの動作を説明する。なお、図7は第1軸を基準軸として、第1軸を先行始動する場合の速度対時間特性であり、図8は第1軸を基準軸として、第2軸を先行始動する場合の速度対時間特性となっている。図7(A)は、第一のマイクロプロセッサ200からデータレジスタDを介してバッファメモリ301に送信された連携始動指令STC、又はPCU310Bに直接入力された直接始動指令信号STDの論理波形を示しており、時刻T1において論理レベルが「H」となり、所定時間をおいて論理レベル「L」に復帰するようになっている。図7(B)は、第1軸パルス出力回路304が発生する第1軸駆動パルスPLXの周波数特性を示しており、台形波形700の頂上平坦部における周波数は第一の設定速度Vxに比例した値となっている。なお、台形波形700の立上り勾配と立下り勾配とは、バッファメモリ301に送信された所定の加速度α1と減速度β1によって決定されるようになっている。また、この実施形態では、継続運転モードを選択しているときであれば、移動完了後所定の再始動遅延時間TS1をおいて自動的に再始動されるようになっている。
図7(C)は、第2軸パルス出力回路306が発生する第2軸駆動パルスPLYの周波数特性を示しており、台形波形701の頂上平坦部における周波数は第二の設定速度Vyに比例した値となっている。なお、台形波形701の立上り勾配と立下り勾配とは、バッファメモリ301に送信された所定の加速度α2と減速度β2によって決定されるようになっていて、この加減速度は第1軸とは異なる値を設定することができるようになっている。時刻T1は第1軸側が初期位置Aから先行して移動開始する時刻、時刻T2は第2軸側が初期位置Bから遅延して移動開始する時刻、時刻T3は第1軸側と第2軸側とが共通の目標位置Cに到達する時刻である。第1軸側では、時刻T1から時刻T3の間に第一の目標移動量LXの移動を完了して停止するようになっている。第2軸側では、時刻T2から時刻T3の間に第二の目標移動量LYの移動を完了して停止するようになっている。
ここで、第一の目標移動量LXの移動期間における平均速度をVxaとすると、T3−T1=LX/Vxaの関係がある。また、第二の目標移動量LYの移動期間における平均速度をVyaとすると、T3−T2=LY/Vyaの関係がある。
従って、第2軸の遅延始動時間であるバイアス移動時間Tbは(4a)式によって算出されることになる。
Tb=T2−T1=(T3−T1)−(T3−T2)
=LX/Vxa−LY/Vya …(4a)
なお、第1軸と第2軸の立上り勾配が比較的急峻であって、平坦部の移行時間が長ければ、近似的には平均速度Vxa・Vyaによらないで算式(1a)によって算出することもできる。
Tb=LX/Vx−LY/Vy …(1a)
従って、パルスカウンタ308Bが一定周期τcによるクロックパルスCLKを計数する場合であれば、パルスカウンタ308BにはTb/τcの初期設定値が格納されることになる。
図8(A)は、第一のマイクロプロセッサ200からデータレジスタDを介してバッファメモリ301に送信された連携始動指令STC、又はPCU310Bに直接入力された直接始動指令信号STDの論理波形を示しており、時刻T1において論理レベルが「H」となり、所定時間をおいて論理レベル「L」に復帰するようになっている。図8(B)は、第2軸パルス出力回路306が発生する第2軸駆動パルスPLYの周波数特性を示しており、台形波形800の頂上平坦部における周波数は第2の設定速度Vyに比例した値となっている。なお、台形波形800の立上り勾配と立下り勾配とは、バッファメモリ301に送信された所定の加速度α2と減速度β2によって決定されるようになっている。 また、この実施形態では継続運転モードを選択しているときであれば、移動完了後所定の再始動遅延時間TS2をおいて自動的に再始動されるようになっている。図8(C)は、第1軸パルス出力回路304が発生する第1軸駆動パルスPLXの周波数特性を示しており、台形波形801の頂上平坦部における周波数は第一の設定速度Vxに比例した値となっている。なお、台形波形801の立上り勾配と立下り勾配とは、バッファメモリ301に送信された所定の加速度α1と減速度β1によって決定されるようになっていて、この加減速度は第2軸とは異なる値を設定することができるようになっている。
時刻T1は第2軸側が初期位置Bから先行して移動開始する時刻、時刻T2は第1軸側が初期位置Aから遅延して移動開始する時刻、時刻T3は第1軸側と第2軸側とが共通の目標位置Cに到達する時刻である。第2軸側では、時刻T1から時刻T3の間に第二の目標移動量LYの移動を完了して停止するようになっている。第1軸側では、時刻T2から時刻T3の間に第一の目標移動量LXの移動を完了して停止するようになっている。
ここで、第二の目標移動量LYの移動期間における平均速度をVyaとすると、T3−T1=LY/Vyaの関係がある。また、第一の目標移動量LXの移動期間における平均速度をVxaとすると、T3−T2=LX/Vxaの関係がある。従って、第1軸の遅延始動時間であるバイアス移動時間Tbは(4b)式によって算出されることになる。
Tb=T2−T1=(T3−T1)−(T3−T2)
=LY/Vya−LX/Vxa …(4b)
なお、第1軸と第2軸の立上り勾配が比較的急峻であって、平坦部の移行時間が長ければ、近似的には平均速度Vxa・Vyaによらないで算式(1b)によって算出することもできる。
Tb=LY/Vy−LX/Vx …(1b)
従って、パルスカウンタ308Aが一定周期τcによるクロックパルスCLKを計数する場合であれば、パルスカウンタ308AにはTb/τcの初期設定値が格納されることになる。
なお、算式(1a)と算式(1b)、算式(4a)と算式(4b)は正負の符号が反対となっていて、絶対値としては同じ値となっているが、正か負かによって先行始動軸がどちらになるかが決定される。なお、算式(4a)又は算式(4b)において、平均速度Vxa・Vyaは算式(7)と算式(8)によって算出されるものである。
Vxa=Vx/[1+0.5×{(1/α1)+(1/β1)}Vx2/LX ] …(7)
Vya=Vy/[1+0.5×{(1/α2)+(1/β2)}Vy2/LY ] …(8)
また、図2、図3の速度パターンと比較した場合、図2、図3における第一の全体移動量LXfを第一の目標移動量LXと等しい値に設定し、第二の全体移動量LYfを第二の目標移動量LYと等しい値に設定したものが、図7、図8の速度パターンとなっている。
次に、図9に従って、図6に示した負荷駆動制御装置100Bの動作を説明する。なお、図9の説明では図4に示したフローチャートとの相違点を中心にして、その作用動作を説明する。なお、図9における400番台の符号は図4と同じ内容であり、図4とは異なる部分である900番台の符号について説明する。また、図9はPLC210BとPCU310B間における制御データの交信制御に関するものであって、図9の左列は第一のマイクロプロセッサ200の制御動作、右列は第二のマイクロプロセッサ300の制御動作を示している。この実施形態では、パルスカウンタ308Bはクロック信号発生器303が発生するクロックパルスCLKを計数し、バイアス移動時間Tbは第二のマイクロプロセッサ300によって算出され、実用単位からパルス単位への換算も第二のマイクロプロセッサ300によって行われるようになっている。
図9において、工程401に続く工程902xでは、第1軸設定データとして予めデータレジスタDに書込み設定しておいた第一の目標移動量LX、第一の設定速度Vx、加速度α1、減速度β1、再始動遅延時間TS1の値が抽出される。続く工程902yでは、第2軸設定データとして予めデータレジスタDに書込み設定しておいた第二の目標移動量LY、第二の設定速度Vy、加速度α2、減速度β2、再始動遅延時間TS2の値が抽出される。続く工程903aでは、予めデータレジスタDに設定しておいたバイアス移動量に関する補正バイアス移動量ΔLX又はΔLYの値が抽出される。続く工程903bでは、予めデータレジスタDに書込み設定しておいた実用単位系からパルス単位系に換算するための単位換算係数が抽出される。続く工程403cでは、工程902xから工程903bで抽出された制御データが、バッファメモリ301へ送信される。
工程411の判定がYESであったときに移行される工程912では、工程902x、工程902y、工程903a、工程903bで抽出され、工程403cで送信された制御データがバッファメモリ301に転送格納される。続く工程913aでは、工程912で設定された補正バイアス移動量ΔLX又はΔLYを含む制御データから算式(1c)又は算式(4c)によってバイアス移動時間Tbが算出されて、バッファメモリ301に書込まれる。
Tb=(LX+ΔLX)/Vx−(LY+ΔLY)/Vy …(1c)
Tb=(LX+ΔLX)/Vxa−(LY+ΔLY)/Vya …(4c)
但し、算式(4c)における平均速度Vxa・Vyaは、算式(7)と、算式(8)を用いて算出する。
続く工程913bでは、工程903bで抽出された単位系換算係数を用いて工程912、工程913aで設定された各制御データの単位がパルス単位系に換算され、換算された値がバッファメモリ301の他のアドレス領域に書込まれる。工程411の判定がNOであったとき、又は工程913bに続いて移行する工程414では、工程404で送信された運転モード情報を受信して、モード指令メモリに書込みする。続く工程915では、工程913aで算出されたバイアス移動時間が正であれば第1軸が先行駆動軸として決定され、負であれば第2軸が先行駆動軸として決定される。続く工程416a、工程416b、工程416cではパルス単位に換算された関連データが第1軸パルス出力回路304と第2軸パルス出力回路306とパルスカウンタ308Bのワーキングレジスタに転送書込みされる。
次に、図10を用いて、実施形態2における第1軸パルス出力回路304と第2軸パルス出力回路306とパルスカウンタ308Bの動作を詳細に説明する。なお、図10の説明では図5に示したフローチャートとの相違点を中心にして、その作用動作を説明する。また、図10における500番台の符号は図5と同じ内容であり、図5とは異なる部分である1500番台の符号について説明する。図10において、工程503xに続く工程1504Cでは、パルスカウンタ308Bは第1軸駆動パルスPLXに代わってクロックパルスCLKを計数する。また、工程513yに続く工程1514Cでは、パルスカウンタ308Bは第2軸駆動パルスPLYに代わってクロックパルスCLKを計数する。
以上の説明では、パルスカウンタ308BはクロックパルスCLKを計数するものとしたが、これに代わって第1軸駆動パルスPLX又は第2軸駆動パルスPLYを計数するようにしてもよいし、第1軸駆動ユニット104B又は第2軸駆動ユニット106Bであるサーボアンプから得られる回転センサECの回転角検出信号である第1軸検出パルスPEX又は第2軸検出パルスPEYを使用するようにしてもよい。検出パルスを用いた場合には、駆動軸の実際の回転角が検出されているので、過負荷時のモータの回転不足或いは脱調による制御誤差の発生を防止したり、異常検出を行うことができるようになる。この実施形態では、制御データの単位系の換算処理とバイアス移動量の算出・設定をPCU310B側で行うようにしたが、PLC210B側で行うことも可能である。但し、PCU310B側で行うようにすれば、ユーザはバイアス移動量の算出に関する制御プログラムを作成する必要がなく、取扱性が向上する特徴がある。
この実施形態2の負荷駆動制御装置100Bにおいても、移動量増減モードが可能である。この実施形態2では、パルスカウンタ308Bは、第1軸駆動パルスPLX又は第2軸駆動パルスPLYによって第1軸および第2軸のうちの一方が先行始動されてから定周期のクロックパルスCLKの計数を開始して、先行始動軸の移動量がパルスカウンタ308Bで設定された初期設定値であるバイアス移動時間Tbになった時点で他方の駆動パルスを発生開始するようになっている。このため、実施形態2の移動量増減モードでは、第1軸の設定速度をVxとし、第2軸の設定速度をVyとして、両軸を同時に動作開始させたときに、所定時間後に共通の目標位置Cに到来する相互の初期位置A、Bを基準位置として設定後、当該基準位置よりも第1軸又は第2軸側でバイアス移動量ΔLxx、ΔLyyだけ増減設定した場合に、バイアス移動時間Tbは、目標移動量が増減された側の駆動軸の設定速度Vx又はVyと、バイアス移動量の増減分ΔLxx、ΔLyyを参照して設定される。すなわち、第1軸側が増減された場合は、Tb=ΔLxx/Vxとして算出され、第2軸側が増減された場合は、Tb=ΔLyy/Vyとして算出される。そして、目標移動量が増量された駆動軸はバイアス移動時間Tbによる先行始動が行われ、目標移動量が減量された駆動軸はバイアス移動時間Tbによる遅延始動が行われるようになっている。
例えば、図19の初期位置A、Bに対し、第1軸の移動量がΔLxxだけ増量された場合、先行駆動軸は第1軸側となり、バイアス移動時間Tb=ΔLxx/Vxとなる。同様に、図19の初期位置A、Bに対し、第1軸の移動量がΔLyyだけ減量された場合、先行駆動軸は第2軸側となり、バイアス移動時間Tb=ΔLxx/Vxとなる。また、図19の初期位置A、Bに対し、第2軸の移動量がΔLxxだけ増量された場合、先行駆動軸は第2軸側となり、バイアス移動時間Tb=ΔLyy/Vyとなる。同様に、図19の初期位置A、Bに対し、第2軸の移動量がΔLyyだけ減量された場合、先行駆動軸は第1軸側となり、バイアス移動時間Tb=ΔLyy/Vyとなる。
このように実施形態2の移動量増減モードでは、先行始動軸と遅延始動軸との間の遅延駆動時間であるバイアス移動時間が設定されたパルスカウンタは、定周期のクロック信号を計数するようになっており、このバイアス移動時間は目標移動量が増減された側の駆動軸の設定速度、移動距離を参照して設定されるようになっている。従って、増量又は減量された移動量の移動完了所要時間又は待機所要時間は移動速度によって変化するが、バイアス移動時間は移動距離に換算して設定されているので、正確に増量移動量の移動完了時点又は減量移動量の移動待機時点を特定することができるとともに、低速試運転調整を行ったのちに共通比率による高速運転に切換えても調整誤差が発生せず、初期調整を容易に行うことができる。また、移動待機を行う期間に、先行始動軸の駆動パルスではなくクロックパルスを計数するようになっているので、相手軸の速度とは無関係に換算された待機移動量となるバイアス移動時間を設定することができる。
このように実施の形態2によれば、第1軸モータ105Bは第一物品を初期位置Aから移送開始するとともに、第2軸モータ107Bは第二物品を初期位置Bから移送開始して、第一物品の注目点と第2物品の注目点とを同一時刻に共通の目標位置Cを通過する関係にパルスカウンタ308Bの初期設定値を設定し、第1軸パルス出力回路304又は第2軸パルス出力回路306の一方が駆動パルスを発生した時点でパルスカウンタ308Bは、動作開始し、その後パルスカウンタ308Bは、クロック信号CLKを計数し、当該計数値が初期設定値に到達したときに、第1軸パルス出力回路304又は第2軸パルス出力回路306の他方が、一方よりも遅れて駆動パルスを発生開始するようにしているので、パルスカウンタ308Bによって各軸間の連携駆動を実現できるとともに、互いに異なる初期位置から、それぞれに適した移動速度によって、同一時刻に共通の目標位置に到達又は通過させるよう、多軸間の連携制御をおこなうことができる。また、移動待機を行う期間に、先行始動軸の駆動パルスではなくクロックパルスを計数するようになっているので、相手軸の速度とは無関係に換算された待機移動量となるバイアス移動時間を設定することができる。
また、この実施形態2においては、PLCはPCUに転送する制御データに関し、実用単位からパルス単位に換算する換算係数を備えていて、実用単位からパルス単位への換算はPLC側又はPCU側で行われ、バイアス移動量Lb又はバイアス移動時間Tbに関する設定値はPLC又はPCU側で算定されるようになっているので、目標移動量、設定速度、バイアス移動量の設定変更は、取扱い性に優れた実用単位で行うことができるので、設定変更操作が容易となる。
また、実施形態2では、工程903aにおいて、補正バイアス移動量ΔLX・ΔLYを設定可能としており、この補正バイアス移動量ΔLX・ΔLYを第1軸又は第2軸換算のバイアス移動量Lbx・Lbyに対して代数加算できるようになっている。従って、実機調整運転において、共通目標位置への到達又は通過時刻を微量調整したり、意図的に微小な時刻差を与えたい場合、或いは加減速期間を含む実機の平均速度と設定速度との相違による計算誤差がある場合には、補正バイアス移動量を代数加算して微調整することによって、調整作業の能率が更に向上する。なお、実施形態1、実施形態3においても、補正バイアス移動量ΔLX・ΔLYを設定可能としてもよい。
実施の形態3.
以下、この発明の実施形態3の負荷駆動制御装置の構成を説明する。図11は、実施形態3の負荷駆動制御装置の全体構成を示すものである。なお、図11においては、図1との相違点を中心にしてその構成を説明する。なお、図11における図1のものとの主な相違点としては、パルスカウンタ308Cの計数入力として第1軸駆動パルスPLX又は第2軸駆動パルスPLYに代わって、第1軸検出パルスPEX又は第2軸検出パルスPEYが選択使用されていることと、PCU310Cを制御する制御ユニットとしての設定表示ユニット410CはPLC210Cを経由しないでPCU310Cに直接接続されていることである。また、第1軸、第2軸モータ105C・107Cと第1軸、第2軸駆動ユニット104C・106Cも異なる形式のものが適用されている。また、この実施形態3では、単位系の換算とバイアス移動量に関する算定は、設定表示ユニット410C側で行われるようになっているとともに、第1軸、第2軸モータ105C、107Cは目標位置を通過して、外部センサからの停止指令によって停止するようになっている。
図11において、負荷駆動制御装置100Cは、例えば同一の制御盤内に設置され、相互にシリアル接続された設定表示ユニット410CとPCU310Cによって構成されていて、設定表示ユニット410Cは、PCU310Cに対して始動・停止指令などの制御信号を供給することができるようになっている。制御盤の盤面に設置された設定表示ユニット410Cは、第三のマイクロプロセッサ400と、図示しないプログラムツールによってユーザが作成した制御プログラムが書込まれたプログラムメモリ403Cと、データレジスタ401と、設定操作キー405と、表示器406と、バスコントローラ409とが、互いにバス接続されて構成されている。PCU310Cは、図1の場合と同様に第二のマイクロプロセッサ300を中心として動作し、設定表示ユニット410C内のデータレジスタ401との間で、互いにシリアル接続されたバスコントローラ409、309を介して制御データが転送されるバッファメモリ301と、第1軸駆動ユニット104Cを介して第1軸モータ105Cを駆動する第1軸パルス出力回路304と、第2軸駆動ユニット106Cを介し第2軸モータ107Cを駆動する第2軸パルス出力回路306と、パルスカウンタ308Cとを備えている。パルスカウンタ308Cは、第1軸検出パルスPEX又は第2軸検出パルスPEYを計数するように、選択指令信号SELによって選択することができるようになっている。但し、パルスカウンタ308Cによって第1軸駆動パルスPLX、又は第2軸駆動パルスPLYを計数するようにしてもよいし、クロック信号CLKを計数するようにしてもよい。
なお、図11で示された第1軸モータ105Cと第2軸モータ107Cは、汎用のインダクションモータであって、モータ軸にはモータの回転角度を検出するための回転センサECが連結されている。可変速駆動用のインバータである第1軸駆動ユニット104Cは、第1軸パルス出力回路304が発生する第1軸駆動パルスPLXの発生数と、第1軸モータ105Cに設けられた回転センサECによる検出パルスの発生数の偏差パルス数を算出し、偏差パルス数が所定の許容範囲以下となるように第1軸モータ105Cを駆動し、偏差パルス数が大きいときには高速駆動するようになっている。第2軸駆動ユニット106Cについても同様である。なお、第1軸パルス出力回路304が発生する第1軸駆動パルスPLXと、第2軸パルス出力回路306が発生する第2軸駆動パルスPLYとは、図1の場合と同様にA相・B相の2相パルス信号であるか、一相パルス信号と回転方向を指示する指令信号によって構成されている。
また、制御盤の盤面又は盤外に設けられた直接指令スイッチ群103Cは、例えば直接始動指令信号STDと非常停止指令信号ESPと第1軸停止指令信号SP1と第2軸停止指令信号SP2を発生して第二のマイクロプロセッサ300に入力するようになっている。但し、これらの入力信号はPLC210Cを経由して入力するようにしてもよい。第1軸パルス出力回路304内の図示しないワーキングレジスタには、バッファメモリ301に格納された制御データの一部である第一の目標移動量LXに対応した発生パルス数と、第一の設定速度Vxに対応したパルス周波数と、加減速度データとに基づいて、台形波形を生成するための関連データが格納され、図12(B)、図13(C)で後述する台形波形の速度パターンによる第1軸駆動パルスPLXを発生するようになっている。第2軸パルス出力回路306内の図示しないワーキングレジスタには、バッファメモリ301に格納された制御データの一部である第二の目標移動量LYに対応した発生パルス数と、第二の設定速度Vyに対応したパルス周波数と、加減速度データとに基づいて、台形波形を生成するための関連データが格納され、図12(C)、図13(B)で後述する台形波形の速度パターンによる第2軸駆動パルスPLYを発生するようになっている。
パルスカウンタ308C内の図示しないワーキングレジスタには、第三のマイクロプロセッサ400によって算出されてバッファメモリ301に転送された後述のバイアス移動量に対応したパルス数の初期設定値が格納されるようになっている。また、第二のマイクロプロセッサ300と第1軸パルス出力回路304は、始動指令信号STX及び動作完了信号FXとを含む制御信号CNTを相互に交信し、第二のマイクロプロセッサ300と第2軸パルス出力回路306は、始動指令信号STY及び動作完了信号FYとを含む制御信号CNTを相互に交信するようになっている。第二のマイクロプロセッサ300は、設定表示ユニット410Cから連携始動指令STCを受信するか、又は多PCU310Cに対して直接始動指令信号STDを受信すると、第1軸パルス出力回路304に対して第1軸始動指令信号STXを供給するか、若しくは第2軸パルス出力回路306に対して第2軸始動指令信号STYを供給し、その結果、どちらか一方が先行始動されることになる。第二のマイクロプロセッサ300は、パルスカウンタ308Cに対して選択指令信号SELを供給し、パルスカウンタ308Cは選択指令信号SELの内容に応じて、第1軸検出パルスPEX又は第2軸検出パルスPEY、若しくはクロックパルスCLKの発生パルス数を計数し、計数値が所定の初期設定値になった時点でバイアス移動完了信号FBを発生する。その結果、第1軸モータ105C又は第2軸モータ107Cのどちらか他方が遅延始動されるようになっている。どちらを先行始動し、どちらをどれだけ遅れて後続始動するかについては図12、図13によって後述する。
以下、図12、図13を用いて実施形態3の負荷駆動制御装置100Cの動作を説明する。なお、図12は第1軸を基準軸として、第1軸を先行始動する場合の速度対時間特性であり、図13は第1軸を基準軸として、第2軸を先行始動する場合の速度対時間特性である。図12(A)は、第三のマイクロプロセッサ400からデータレジスタ401を介してバッファメモリ301に送信された連携始動指令STC、又はPCU310Cに直接入力された直接始動指令信号STDの論理波形を示しており、時刻T1において論理レベルが「H」となり、所定時間をおいて論理レベル「L」に復帰するようになっている。また、第1軸停止指令信号SP1と第2軸停止指令信号SP2とは、PCU310Cに直接入力された信号であって、停止指令発生時に一時的に論理レベルが「H」となっている。図12(B)は、第1軸パルス出力回路304が発生する第1軸駆動パルスPLXの周波数特性を示しており、台形波形1200の頂上平坦部における周波数は第一の設定速度Vxに比例した値となっている。
なお、この実施形態では、第1軸駆動パルスPLXは第1軸停止指令信号SP1が発生してから、所定の遅延停止移動量LXDを移動した時点で停止するようになっている。また、台形波形1200の立上り勾配と立下り勾配となる加速度α1と減速度β1及び遅延停止移動量LXDは、バッファメモリ301に送信された制御データによって決定されるようになっている。図12(C)は、第2軸パルス出力回路306が発生する第2軸駆動パルスPLYの周波数特性を示しており、台形波形1201の頂上平坦部における周波数は第二の設定速度Vyに比例した値となっている。なお、この実施形態では第2軸駆動パルスPLYは第2軸停止指令信号SP2が発生してから、所定の遅延停止移動量LYDを移動した時点で停止するようになっている。また、台形波形1201の立上り勾配と立下り勾配となる加速度α2と減速度β2及び遅延停止移動量LYDは、バッファメモリ301に送信された制御データによって決定されるようになっていて、この加減速度は第1軸とは異なる値を設定することができるようになっている。時刻T1は第1軸側が初期位置Aから先行して移動開始する時刻、時刻T2は第2軸側が初期位置Bから遅延して移動開始する時刻、時刻T3は第1軸側と第2軸側とが共通の目標位置Cを通過する時刻である。第1軸側では、時刻T1から時刻T3の間に第一の目標移動量LXの移動を完了し、第2軸側では、時刻T2から時刻T3の間に第二の目標移動量LYの移動を完了し、同一時刻T3において共通の目標位置Cを通過するようになっている。この場合、第2軸を遅延始動するためのバイアス移動時間Tb、又はバイアス移動量Lbの概念は実施形態1、実施形態2において説明したとおりである。
図13(A)は、第三のマイクロプロセッサ400からデータレジスタ401を介してバッファメモリ301に送信された連携始動指令STC、又はPCU310Cに直接入力された直接始動指令信号STDの論理波形を示しており、時刻T1において論理レベルが「H」となり、所定時間をおいて論理レベル「L」に復帰するようになっている。また、第1軸停止指令信号SP1と第2軸停止指令信号SP2とは、PCU310Cに直接入力された信号であって、停止指令発生時に一時的に論理レベルが「H」となっている。図13(B)は、第2軸パルス出力回路306が発生する第2軸駆動パルスPLYの周波数特性を示しており、台形波形1300の頂上平坦部における周波数は第2の設定速度Vyに比例した値となっている。なお、この実施形態では第2軸駆動パルスPLYは第2軸停止指令信号SP2が発生してから、所定の遅延停止移動量LYDを移動した時点で停止するようになっている。また、台形波形1300の立上り勾配と立下り勾配となる加速度α2と減速度β2及び遅延停止移動量LYDは、バッファメモリ301に送信された制御データによって決定されるようになっている。
図13(C)は、第1軸パルス出力回路304が発生する第1軸駆動パルスPLXの周波数特性を示しており、台形波形1301の頂上平坦部における周波数は第一の設定速度Vxに比例した値となっている。なお、この実施形態では第1軸駆動パルスPLXは第1軸停止指令信号SP1が発生してから、所定の遅延停止移動量LXDを移動した時点で停止するようになっている。また、台形波形1301の立上り勾配と立下り勾配となる加速度α1と減速度β1及び遅延停止移動量LXDは、バッファメモリ301に送信された制御データによって決定されるようになっていて、この加減速度は第2軸とは異なる値を設定することができるようになっている。時刻T1は第2軸側が初期位置Bから先行して移動開始する時刻、時刻T2は第1軸側が初期位置Aから遅延して移動開始する時刻、時刻T3は第1軸側と第2軸側とが共通の目標位置Cを通過する時刻である。第2軸側では、時刻T1から時刻T3の間に第二の目標移動量LYの移動を完了し、第1軸側では、時刻T2から時刻T3の間に第一の目標移動量LXの移動を完了して、同一時刻T3において共通の目標位置Cを通過するようになっている。この場合、第2軸を先行始動するためのバイアス移動時間Tb、又はバイアス移動量Lbの概念は実施形態1、実施形態2において説明したとおりである。
次に、図14に従って、図11に示した負荷駆動制御装置100Cの動作を説明する。なお、図14の説明では図4に示したフローチャートとの相違点を中心にして、その作用動作を説明する。図14における400番台の符号は図4と同じ内容であり、図4とは異なる1400番台の符号を付した部分の動作について説明する。また、図14は設定表示ユニット410CとPCU310C間における制御データの交信制御に関するものであって、図14の左列は第三のマイクロプロセッサ400の制御動作、右列は第二のマイクロプロセッサ300の制御動作を示している。この実施形態3ではパルスカウンタ308Cは、第1軸検出パルスPEX又は第2軸検出パルスPEYを計数し、バイアス移動量Lbは第三のマイクロプロセッサ400によって算出され、実用単位からパルス単位への換算も第三のマイクロプロセッサ400によって行われる。
図14において、工程401に続く工程1402xでは、第1軸設定データとして、予めデータレジスタ401に書込み設定しておいた第一の目標移動量LX、第一の設定速度Vx、加速度α1、減速度β1、第一の遅延停止移動量LXDの値が抽出される。続く工程1402yでは、第2軸設定データとして予めデータレジスタ401に書込み設定しておいた第二の目標移動量LY、第一の設定速度Vy、加速度α2、減速度β2、第二の遅延停止移動量LYDの値が抽出される。続く工程403aでは、工程1402xと工程1402yで抽出された制御データによって、バイアス移動量Lb又はバイアス移動時間Tbが算出される。
工程411に続く工程1412では、工程1402xと工程1402yと工程403aで抽出され、工程403bで単位系の換算処理が行われてから工程403cで送信された制御データがバッファメモリ301に転送格納される。工程411がNOの判定であったとき、又は工程1412に続く工程414では、工程404で送信された運転モード情報を受信して、モード指令メモリに書込みする。続く工程415では、工程1412でバッファメモリ301に格納されたバイアス移動量Lbが第1軸のバイアス移動量Lbxであれば第1軸が先行駆動軸として決定され、第2軸のバイアス移動量Lbyであれば第2軸が先行駆動軸として決定される。続く工程416a、工程416b、工程416cではパルス単位に換算された関連データを第1軸パルス出力回路304と第2軸パルス出力回路306とがパルスカウンタ308Bのワーキングレジスタに転送書込みされる。
次に、図15を用いて、実施形態3における第1軸パルス出力回路304と第2軸パルス出力回路306とパルスカウンタ308Cの動作を詳細に説明する。なお、図15の説明では図5に示したフローチャートとの相違点を中心にして、その作用動作を説明する。図15における500番台の符号は図5と同じ内容であり、図5とは異なる1500番台の符号の部分の動作について説明する。図15において、工程503xに続く工程1504Eでは、パルスカウンタ308Cは第1軸駆動パルスPLXに代わって第1軸検出パルスPEXを計数する。また、工程513yに続く工程1514Eでは、パルスカウンタ308Cは第2軸駆動パルスPLYに代わって第2軸検出パルスPEYを計数する。
以上の説明では、パルスカウンタ308Cは第1軸検出パルスPEX又は第2軸検出パルスPEYを計数するものとしたが、これに代わって第1軸駆動パルスPLX又は第2軸駆動パルスPLYを計数するようにしてもよいし、クロックパルスCLKを計数するようにしてもよい。しかし、第1軸検出パルスPEX又は第2軸検出パルスPEYを用いた場合には、駆動軸の実際の回転角が検出されているので、過負荷時のモータの回転不足或いは脱調による制御誤差の発生を防止したり、異常検出を行うことができるようになる。以上の説明では、制御データの単位系の換算処理とバイアス移動量の算出・設定を設定表示ユニット410C側で行うようにしたが、これをPCU310C側で行うことも可能である。なお、この実施形態では、PLCとはバス接続されていないので、互換性のない既存設備の改修や製造メーカの異なるPLCと協調して全体制御を行うのに適している。
また、負荷駆動制御装置100Cでも、移動量増減モードが可能である。この実施形態3では、第1軸検出パルスPEX又は第2軸検出パルスPEYのうち先行始動された一方の検出パルスを計数して、先行始動軸の移動量がパルスカウンタ308Cで設定された初期設定値であるバイアス移動量Lbになった時点で、他方の駆動パルスを発生開始するようになっている。このため、実施形態3の移動量増減モードでは、図19に示したように、第1軸パルス出力回路304と前記第2軸パルス出力回路306とを同時に動作開始させたときに、所定時間後に共通の目標位置Cに到来する第1軸側および第2軸側の初期位置A、Bを基準位置として設定後、一方の軸の移動量の増減を可能とする。
実施の形態3の移動量増量モードにおいては、基準位置A、Bに対し一方の軸の移動量が増量設定された場合に、増量された軸側の増量移動量ΔLxx又はΔLyyがバイアス移動量Lbとして設定される。例えば、図19の初期位置A、Bに対し、第1軸の移動量がΔLxxだけ増量された場合、先行駆動軸は第1軸側となり、バイアス移動量Lb=ΔLxxとなる。同様に、図19の初期位置A、Bに対し、第2軸の移動量がΔLyyだけ増量された場合、先行駆動軸は第2軸側となり、バイアス移動量Lb=ΔLyyとなる。従って、増量移動量分の移動完了所要時間は移動速度によって変化するが、先行駆動軸の検出パルスを計数することによって正確に増量移動量の移動完了時点を特定することができるとともに、低速試運転調整を行ったのちに共通比率による高速運転に切換えても、調整誤差が発生せず、初期調整を容易に行うことができる。
移動量減量モードにおいては、基準位置A、Bに対し一方の軸の移動量が減量設定された場合に、減量された一方の軸側の増量移動量ΔLxx又はΔLyyを、他方の軸側の等価増量移動量ΔLyy=ΔLxx×(Vy/Vx)又はΔLxx=ΔLyy×(Vy/Vx)に換算した値が、先行始動軸に対するバイアス移動量Lbとして設定される。例えば、図19の初期位置A、Bに対し、第1軸の移動量がΔLxxだけ減量された場合、先行駆動軸は第2軸側となり、バイアス移動量Lb=ΔLxx×(Vy/Vx)となる。同様に、図19の初期位置A、Bに対し、第2軸の移動量がΔLyyだけ増量された場合、先行駆動軸は第1軸側となり、バイアス移動量Lb=ΔLyy×(Vy/Vx)となる。従って、減量移動量の移動待機完了所要時間は移動速度によって変化するが、先行駆動軸の検出パルスを計数することによって正確に移動待機完了時点を特定することができるとともに、低速試運転調整を行ったのちに共通比率による高速運転に切換えても、調整誤差が発生せず、初期調整を容易に行うことができる。
このように実施形態3においては、第1軸モータ105Cは第一物品を初期位置Aから移送開始するとともに、第2軸モータ107Cは第二物品を初期位置Bから移送開始して、第一物品の注目点と第2物品の注目点とを同一時刻に共通の目標位置Cを通過する関係にパルスカウンタ308Cの初期設定値を設定し、パルスカウンタ308Cは、第1軸検出パルスPEX又は第2軸検出パルスPEYのうち、先行始動された方のいずれか一方の検出パルスを計数し、当該計数値が初期設定値に到達したときに、第1軸パルス出力回路304又は第2軸パルス出力回路306の他方が、一方よりも遅れて駆動パルスを発生開始するようにしているので、パルスカウンタによって各軸間の連携駆動を実現できるとともに、互いに異なる初期位置から、それぞれに適した移動速度によって、同一時刻に共通の目標位置に到達又は通過させるよう、多軸間の連携制御をおこなうことができる。
また、この実施形態3においては、PLCはPCUに転送する制御データに関し、実用単位からパルス単位に換算する換算係数を備えていて、実用単位からパルス単位への換算はPLC側又はPCU側で行われ、バイアス移動量Lb又はバイアス移動時間Tbに関する設定値はPLC又はPCU側で算定されるようになっているので、目標移動量、設定速度、バイアス移動量の設定変更は、取扱い性に優れた実用単位で行うことができるので、設定変更操作が容易となる。
実施の形態4.
以下、この発明の実施形態4について説明する。図16は、負荷駆動制御装置に関連する機能説明用のデータテーブルを示すものである。図17は、一部データのビット構成を示すものである。図18は、単独運転モードにおける動作説明用のタイムチャートである。
図16(A)はPLC210A、210B又は設定表示ユニット410CのデータレジスタからPCU310A、310B、310Cのバッファメモリ301に送信される制御データの一覧を示したものであり、図16(B)はバッファメモリ301からデータレジスタに返信する報告データの一覧を示している。図16(A)、図16(B)において、左列の番号1〜73はバッファメモリ301のアドレス番号に相当している。特に、番号1〜13、41〜53、35、36、55、56のアドレスに格納されているデータは実用単位系のデータであり、番号21〜33、61〜73、37、38、57、58のアドレスに格納されているデータはパルス単位系のデータであり、その他のアドレスに格納されているデータは単位系とは無関係のデータとなっている。
図17で後述するとおり、運転モードとして個別運転モードと連携運転モードの選択が行えるようになっており、それぞれの運転モードにおいて適用可能なデータは白丸印又は黒丸印が付されている。なお、白丸印のものは両方の運転モードで適用され、黒丸印のものは個別運転モードおよび連携運転モードのどちらか一方で適用されるデータである。連携運転モードで適用される様々な制御データについては、図2、図3、図7、図8、図12、図13によって全て説明されているものである。個別運転モードで適用される様々な制御データについては、図18によって後述する。図16で示したデータテーブルでは、実用単位系とパルス単位系のバッファメモリ領域が設けられている。従って、PLC又は設定表示ユニットから送信される制御データが実用単位系であれば、先ずは実用単位系のテーブルに書込みし、続いてPCU側でこれをパルス単位系に変換してパルス単位系のテーブルに追加格納しておくことができる。また、図16(B)における現在位置や現在速度はパルス単位系のものを、実用単位系に逆変換してPLC又は設定表示ユニットに返信報告することができる。
図17は図16における番号14の運転モードと、番号15の運転コマンドの詳細を示したものであり、各制御データはb0〜b15の16ビットによって構成されている。図17(A)において、番号14のバッファメモリは、最下位4ビットの論理構成によって、個別運転モードであるか連携運転モードであるかを指定するようになっている。続く下位4ビットによってパルスカウンタの計数入力が、第1軸駆動パルスPLX又は第2軸駆動パルスPLYであるか、或いは第1軸検出パルスPEX又は第2軸検出パルスPEYであるか、若しくはクロックパルスCLKであるかを選択指定するようになっている。続く上位4ビットによって、制御データが実用単位系であるかパルス単位系であるかを識別指定するようになっている。最上位4ビットでは、連携運転モードにおいて調整運転を行うときの減速比が数値データとして書込みされている。
図17(B)において、番号15のバッファメモリは、最下位4ビットの論理構成によって、個別運転モードにおいて第1軸の正転始動又は逆転始動指令を発生したり、第2軸の正転始動又は逆転始動指令を発生したりすることができるようになっている。続く下位4ビットでは、PCU310A、310B、310Cに入力される直接始動指令信号STDによる始動指令を有効にするかどうかを選択するようになっている。続く上位4ビットでは、一旦始動指令を発生すると、その後は始動指令を発生しなくても継続的に同じ動作を繰り返して実行する継続運転を許可するかどうかを選択するようになっている。最上位4ビットでは、連携運転モードにおいて実働連携始動指令STCを発生したり、調整運転のための連携始動指令信号を発生することができるようになっており、調整運転時の減速比率は運転モードの最上位4ビットによって指定されている。
図16及び図17で示された様々な制御データのうち、オペレータが設定変更しない固定の制御データについては、PLC又は設定表示ユニット内のプログラムメモリによってプログラムされている制御データが使用される。しかし、オペレータが設定変更を行う制御データについては、PLC210A、210B側に接続された設定表示ユニット410A、410B又はPCUユニット310Cに直接接続された設定表示ユニット410Cの操作によって適時に制御データや運転モードの変更を行ったり、運転コマンドを発生するようになっている。
以下に、個別運転モードの一例に関する動作説明用のタイムチャートである図18について説明する。図18(A)において、台形波形1700は図17(B)の最下位4ビットにおける第1軸又は第2軸の正転始動指令が発生したことによって、図16(A)の番号2〜5又は番号42〜45で設定された全体移動量LXf・LYfと、設定速度Vx・Vyと、加速度α1・α2と、減速度β1・β2とに対し設定された各制御データによって生成された時刻対速度パターンとなっている。また、台形波形1701は、図17(B)の最下位4ビットにおける第1軸又は第2軸の逆転始動指令が発生したことによって、図16(A)の番号4、5、8、9又は番号44、45、48、49で設定された逆転移動量と、逆転速度と、加速度α1・α2と、減速度β1・β2に対し設定された各制御データによって生成された時刻対速度パターンとなっている。なお、速度設定データは正の値であれば正転、負の値であれば逆転するようになっているが、正転と逆転との関係は実機の動作方向によって決定されるものである。また、2番、42番の全体移動量や8番、48番の逆転移動量はFFFFの設定を行うと無制限に運転継続することになるが、図12、図13で示したように停止指令信号SP1、SP2と6番、46番の遅延停止移動量LXD・LYDを用いて停止することもできる。
図18(B)において、台形波形1702は、図17(B)の上位4ビットによって継続運転許可モードを選択し、最下位4ビットにおける第1軸又は第2軸の正転始動指令が発生したことによって、図16(A)の番号2〜5又は番号42〜45で設定された全体移動量LXf・LYfと、設定速度Vx・Vyと、加速度α1・α2と、減速度β1・β2に対し設定された各制御データによって生成された時刻対速度パターンとなっている。また、台形波形1703は、図17(B)の最下位4ビットにおける第1軸又は第2軸の逆転始動指令が発生したことによって、図16(A)の番号4、5、8、9又は番号44、45、48、49で設定された逆転移動量と、逆転速度と、加速度α1・α2と、減速度β1・β2に対して設定された各制御データによって生成された時刻対速度パターンとなっている。台形波形1702と台形波形1703との間の停止期間は図16(A)の番号7又は番号47で設定された再始動遅延時間TS1、TS2が適用されている。
以上の説明では、連携運転モードにおいて第1軸の初期位置Aと第2軸の初期位置Bに対する原点復帰動作については論及しなかったが、個別運転モードではこの原点復帰制御も行うことができるようになっている。なお、原点復帰制御では低速と微速の2段階速度パターンが形成され、原点復帰開始指令に基づいて低速運転が開始し、近点ドグスイッチが作動したことによって減速を開始して微速運転に移行し、やがてモータ軸に設けられた回転センサが発生するゼロ相信号の発生回数が所定回数となったときにモータ駆動を停止するものであって、PCU内には回転センサの1回転当たり1回のパルスを発生するゼロ相信号の発生回数を計数するカウンタが追加されている。
このように、実施形態4では、PLC又は設定表示ユニットによってPCU内のバッファメモリ301に転送される制御データはカウンタモード選択指令データを含んでおり、カウンタモード選択指令データでは、パルスカウンタが、第1軸駆動パルスPLX又は第2軸駆動パルスPLYのいずれか一方、或いは第1軸検出パルスPEX又は第2軸検出パルスPEYのいずれか一方である移動量を計数するものであるか、若しくはクロックパルスCLKを計数するものであるかを選択可能としている。従って、基準移動量に対して常に増量設定変更が行われる用途では駆動パルス計数方式又は検出パルス計数方式が有利であり、基準移動量に対して増量又は減量設定変更の両方が行われる用途では、クロックパルス計数方式のほうが設定操作が容易であり、用途に応じた計数方式を採用することが可能である。
また、実施形態4では、PLC又は設定表示ユニットによってPCU内のバッファメモリ301に転送される制御データは個別運転モード選択指令データを含んでおり、個別運転モード選択指令データでは、パルスカウンタによる時差始動機能を無効にして、第1軸パルス出力回路304と第2軸パルス出力回路306とを個別に駆動制御することを選択可能としている。従って、複数軸の駆動制御を行う用途において、一軸専用のパルス出力ユニットを2台使用するのに比べて有利であり、小型・安価な負荷駆動制御装置を提供することができる。
また、実施形態4では、PLC又は設定表示ユニットによってPCU内のバッファメモリ301に転送される制御データは、各駆動軸のそれぞれについて、目標移動量と設定速度に関する1対のデータに加えて、継続運転モード選択指令データと、再始動遅延時間データと、交代使用される目標移動量と設定速度に関する他の1対のデータを含むようになっており、継続運転モード選択指令データによって継続運転モードが指令されると、再始動遅延時間データに基づく遅延時間を挟んで、目標移動量と速度に関する組み合わせデータが交互に選択されて、異なる目標移動量と速度での継続運転が行われるようになっている。このように、継続運転モードが選択されると、2種類の目標移動量と設定速度による運転を交互に繰り返すようになっているので、正転と逆転、又は低速と高速などの多様な運転パターンで継続運転が行えるとともに、パルス出力回路に対する制御データの入れ替えは、再始動遅延時間帯を用いて手軽に行うことができる。