図11に示した従来のモーションコントロールシステム30において、パルス駆動モータ34を、例えば図13に示したように加速スタートさせてから、所定の一定速度で回転駆動させ、その後、減速して停止させるような動作パターン(以下、この動作パターンを台形駆動の動作パターンと称する)で駆動させるように駆動制御する場合、制御ホスト31とコントローラユニット32との間で複数回の通信を交互に行って、コントローラユニット32のパルス出力ロジック回路40に幾つかの実行コマンドを設定する必要がある。
具体的には、図13に示した台形駆動の動作パターンでモータ34を駆動制御する場合、先ず、制御ホスト31は、制御プログラムで「(1)台形駆動の開始速度及び終了速度を規定するパルス速度データの設定」を行う関数を実行し、1回目のリクエスト信号をコントローラユニット32に向けて送信する。
一方、コントローラユニット32は、制御ホスト31から送信された1回目のリクエスト信号を通信制御部32bで受信し、更に、その受信したリクエスト信号の内容をコントローラユニット32のCPU32aで解析する。
更に、コントローラ用CPU32aは、受信したリクエスト信号を実行コマンドに変換し、その実行コマンドをパルス出力ロジック回路40に設定する。このとき、台形駆動の開始速度と終了速度は、一つの実行コマンドの実行によって同じ速さに設定される。また同時に、コントローラ用CPU32aは、制御ホスト31のリクエスト信号に対する実行結果の内容を有するアンサーバック信号を生成し、そのアンサーバック信号を通信制御部32bから制御ホスト31に送信する。
制御ホスト31は、コントローラユニット32から上記アンサーバック信号を受信することによって、コントローラユニット32が台形駆動の開始速度及び終了速度を設定するコマンド処理を行ったことを確認する。続いて、制御ホスト31は、コントローラユニット32に次のコマンド処理を行わせるために、「(2)最高速度を規定する最高速時のパルス速度データの設定」を行うための関数を実行し、2回目のリクエスト信号をコントローラユニット32に送信する。
コントローラユニット32は2回目のリクエスト信号を受信すると、その受信したリクエスト信号を、上記と同様に実行コマンドに変換してパルス出力ロジック回路40に設定し、それと同時に、アンサーバック信号を生成して制御ホスト31に送信する。
以下同じように、制御ホスト31は、コントローラユニット32からのアンサーバック信号の受信を待って、コントローラユニット32の処理内容を確認しながら、「(3)台形駆動の加速割合を規定する加速周期データの設定」、「(4)台形駆動の減速割合を規定する減速周期データの設定」、「(5)台形駆動の速度データの速度倍率の設定」、及び「(6)設定したパラメータに基づいて指定した相対位置までの指令パルス出力の実行」を行うための関数を順番に実行し、リクエスト信号をその都度コントローラユニット32に向けて送信する。
また、コントローラユニット32では、リクエスト信号を通信制御部32bで受信するたびに、コントローラ用CPU32aによって、リクエスト信号の解析、リクエスト信号から実行コマンドへの変換、パルス出力ロジック回路40への実行コマンドの設定、受信したリクエスト信号に対するアンサーバック信号の送信といった処理が行われる。
このように従来のモーションコントロールシステム30では、図13に示した1回の台形駆動の動作パターンでパルス駆動モータ34に駆動させる場合、制御ホスト31とコントローラユニット32との間で信号の送受信を少なくとも12回行う必要がある。それとともに、コントローラユニット32内では、リクエスト信号を受信するたびに、コントローラ用CPU32aによって同じような内部処理が繰り返して行われる。
すなわち、従来のモーションコントロールシステム30では、モータ34を台形駆動の動作パターンで駆動制御する場合、制御ホスト31とコントローラユニット32との間で複数回の通信のやり取りを行う必要があるため、通信時間が長くなるという問題や、コントローラ用CPU32aの処理が多くなって、CPU32aの負担が大きくなるという問題があった。
なお従来における台形駆動の駆動制御では、開始速度と終了速度とが同じ速さに設定することしかできないのが一般的であった。これは、開始速度と終了速度とを同じ速さにすれば、制御ホスト31から1回のリクエスト信号を送信することによって台形駆動の開始速度と終了速度とを同時に設定できるため、通信時間が更に長くなることや、CPU32aの処理負担が更に大きくなることを防げるからである。
更に、例えば上述したようなモータ34の台形駆動に関して、図14に示したように加速時の加速割合や減速時の減速割合がS字状を呈するようにモータ34の加減速度を制御する場合がある。この場合、従来のモーションコントロールシステム30では、パラメータの数をなるべく増やさないようにするため、S字加速開始部の変速領域、S字加速終了部の変速領域、S字減速開始部の変速領域、及びS字減速終了部の変速領域を全て同じ大きさに設定すること、又は、S字加速開始部の変速領域とS字加速終了部の変速領域を同じ大きさに設定するとともに、S字減速開始部の変速領域とS字減速終了部の変速領域を同じ大きさに設定することが規定事項とされていた。
一方、近年の機械装置や検査装置には複雑な動きや高度な動きが求められるようになってきている。例えば図13及び図14に示した動作パターンは、1つのモータに1つの単位動作を行わせるために設定されるものであり、実際の機械装置に設置されるモータは、異なる形状の台形駆動(例えば加速割合及び減速割合が異なる台形駆動)を組み合わせることや、所定の一定速度で回転駆動した後に停止する動作パターン(以下、この動作パターンを矩形駆動の動作パターンと称する)などのその他の単位動作パターンを組み合わせること等によって、より複雑な動作パターンでモータの駆動制御することが多くなってきている。
しかし、従来のモーションコントロールシステム30では、装置に設置されるモータ34の数が多くなったり、モータ34の動作が複雑になったりするほど、制御ホスト31とコントローラユニット32との間の通信回数や通信時間が増大する。その結果、制御ホスト31の性能、制御ホスト31とコントローラユニット32との間の通信速度、コントローラユニット32の内部処理時間等の影響によって、システムにおける実行処理時間が制約されることや、モーションコントロールの処理時間にバラつきや誤差を生じさせることがある。
従って、より複雑な動作パターンでモータを円滑に駆動制御するために、制御ホスト31とコントローラユニット32との間の通信回数及び通信時間を増大させることなく、また、コントローラ用CPU32aの処理負担を増大させることなく、モータの単位動作パターンをより細かく詳細に設定できるようにする技術の開発が強く望まれている。
特に従来では、それぞれの単位動作パターンをモータに行わせる場合、上述したように単位動作パターンごとに開始速度などの数種類のパラメータを、制御ホスト31からリクエスト信号を1回1回送信することによってコントローラユニット32に1つずつ設定し、更に全てのパラメータを設定した後に、パルス出力の実行を行わせるリクエスト信号を制御ホスト31からコントローラユニット32に送信することが必要になる。
従って、例えば異なる複数の単位動作パターンを組み合わせてモータ34の駆動制御を連続的に行いたい場合でも、次の単位動作パターンに移る際に、制御ホスト31とコントローラユニット32との通信時間や、コントローラ用CPU32aの処理時間が必然的に必要となる。このため、複数の単位動作パターンを時間的に連続的に行うことができないという問題があった。
なお、例えば上述した特許文献1や特許文献2に記載されているように、パルス出力ロジック回路40にプリバッファ又はプリレジスタを設けることにより、パルス出力ロジック回路40の動作中(例えば指令パルス列の出力中)に、その次にモータ34に行わせる単位動作パターンのパラメータ等をプリバッファ又はプリレジスタに書き込むことが可能となる。このため、単位動作パターン間でモータ34を駆動させることができない時間を短縮することが可能となる。
しかしながら、上述のようなプリバッファ又はプリレジスタがパルス出力ロジック回路40に単純に設けられているだけでは、プリバッファ又はプリレジスに単位動作パターンのパラメータ等を書き込むために、制御ホスト31とコントローラユニット32との間で複数回の通信を、相変わらずその都度行う必用がある。また、コントローラ用CPU32aの処理負担が大きいという問題を根本的に解消することもできない。
更に、上述のように単位動作パターンの間にモータを駆動させることができない時間が生じる場合、従来のモータ駆動制御では、モータに脱調が発生しないように、モータを単位動作パターン間で一時的に停止させる必要があった。その結果、モータを駆動制御する全体の時間を更に長引かせる事態を招いていた。従って、モータを単位動作パターン間で停止させることなく、速度的に連続性をもって駆動させることを可能にして、モータの駆動制御をより効率的に行うことが求められていた。
本発明は上記従来の課題に鑑みてなされたものであって、その目的は、複数の単位動作パターンを組み合わせてモータの駆動制御を行う場合でも、制御ホストとコントローラユニットとの間の通信回数を低減するとともにコントローラユニットのCPUの処理負担を低減することが可能で、且つ、単位動作パターン間でモータを時間的に連続して駆動させることを可能にし、更には、単位動作パターン間でモータを速度的に連続性をもって駆動させることも可能にするモータ制御用のパルス出力ロジック回路及びコントローラユニットを提供することにある。
上記目的を達成するために、本発明により提供されるモータ制御用パルス出力ロジック回路は、基本的な構成として、パルス駆動モータ用のモータドライバに対し、前記モータを所定の動作で駆動させるための複数のパルスからなる指令パルス列を出力するモータ制御用パルス出力ロジック回路であって、コントローラ用CPUにより設定される実行コマンドを解析して実行するコマンド解析部と、前記指令パルス列を出力するとともに前記実行コマンドにより設定される条件に従って前記指令パルス列の出力を制御するパルス出力制御部とを有するモータ制御用パルス出力ロジック回路において、複数の前記実行コマンドを書き込んで保存するRAMを有し、前記コマンド解析部は、前記RAMに保存された複数の前記実行コマンドを順次読み出して自動的に実行するRAM自動実行機能を備えてなることを最も主要な特徴とするものである。
また、本発明により提供される別のモータ制御用パルス出力ロジック回路は、基本的な構成として、パルス駆動モータ用のモータドライバに対し、前記モータを所定の動作で駆動させるための複数のパルスからなる指令パルス列を出力するモータ制御用パルス出力ロジック回路であって、コントローラ用CPUにより設定される実行コマンドを解析して実行するコマンド解析部と、前記指令パルス列を出力するとともに前記実行コマンドにより設定される条件に従って前記指令パルス列の出力を制御するパルス出力制御部とを有するモータ制御用パルス出力ロジック回路において、複数の前記実行コマンドを書き込んで保存するRAMと、少なくとも1つの前記実行コマンドの内容を格納して前記パルス出力制御部の次のコマンド処理を予約する予約レジスタとを有し、前記コマンド解析部は、前記RAMに保存された複数の前記実行コマンドを順次読み出して自動的に実行するRAM自動実行機能と、前記パルス出力制御部がコマンド処理中か否かを確認し、前記パルス出力制御部がコマンド処理中のとき、読み出した前記実行コマンドの内容を前記予約レジスタに格納するコマンド予約機能とを備え、前記予約レジスタは、前記パルス出力制御部の前記コマンド処理後、当該予約レジスタに格納された前記実行コマンドの内容を前記パルス出力制御部に展開する予約実行機能を備えてなることを最も主要な特徴とするものである。
上述のような本発明のモータ制御用パルス出力ロジック回路において、前記パルス出力制御部により出力制御される前記指令パルス列は、前記モータを単位動作パターンで駆動させるための1又は複数の単位指令パルス列を有し、前記単位動作パターンの駆動条件を規定するパラメータとして、前記実行コマンドにより、前記単位指令パルス列の最初に出力する第1パルスのOFF状態を保持する時間とON状態を保持する時間とを規定する第1パルス速度が設定されることが好ましい。
この場合、前記パルス出力制御部に、前記単位指令パルス列の終了時に出力するパルス速度が最終パルス速度データとして記憶され、前記第1パルス速度は、前記最終パルス速度データを変換して設定されることが好ましい。
また、前記単位動作パターンの駆動条件を規定するパラメータとして、前記モータを台形駆動に駆動制御するため、前記実行コマンドにより、加速開始時のパルス速度データ、最高速時のパルス速度データ、減速終了時のパルス速度データ、加速周期データ、減速周期データ、及び速度データの速度倍率が設定されることが好ましい。
この場合、前記単位動作パターンを規定するパラメータとして、前記台形駆動の加速時及び減速時の速度変化をS字状に加減速制御するため、前記実行コマンドにより、S字加速開始部の変速領域データ、S字加速終了部の変速領域データ、S字減速開始部の変速領域データ、及びS字減速終了部の変速領域データが設定されることが好ましい。
また、本発明のモータ制御用パルス出力ロジック回路では、前記実行コマンドとして、前記パラメータの設定及び前記単位動作パターンの実行を命令するコマンドを含む汎用コマンドと、前記単位動作パターンの停止を命令するコマンド、前記単位動作パターンの待機を命令するコマンド、動作開始の条件を設定するコマンド、及び動作停止の条件を設定するコマンドの少なくとも1つを含む特殊コマンドとが用いられ、前記RAMに、前記汎用コマンドと前記特殊コマンドとが保存され、前記コマンド解析部は、前記RAMから前記汎用コマンド及び前記特殊コマンドを順次読み出し、前記パルス出力制御部がコマンド処理中のとき、前記汎用コマンドの内容を前記予約レジスタに格納し、前記特殊コマンドの内容を前記パルス出力制御部に優先的にコマンド処理させることが好ましい。
更に本発明によれば、上述した構成を有するモータ制御用パルス出力ロジック回路と、前記モータの駆動制御を管理する制御ホストとの間で通信を行う通信インターフェイス回路と、前記制御ホストから受信する信号に従って前記パルス出力ロジック回路に前記実行コマンドを設定する前記コントローラ用CPUとを有することを特徴とするモータ制御用コントローラユニットが提供される。
本発明に係るモータ制御用パルス出力ロジック回路は、実行コマンドを解析して実行するコマンド解析部と、指令パルス列を出力するとともに実行コマンドにより設定される条件に従って指令パルス列の出力を制御するパルス出力制御部と、複数の実行コマンドを書き込んで保存するRAMとを有する。また、コマンド解析部は、RAMに保存された複数の実行コマンドを1つずつ順次読み出して自動的に実行するRAM自動実行機能を備える。
このような本発明のパルス出力ロジック回路によれば、例えば各単位動作パターンをモータに行わせる複数の実行コマンドを、例えばモータの駆動を開始させる前にRAMに予め保存することが可能となる。またこの場合、RAMに複数の実行コマンドを保存した後に、コマンド解析部に対し、RAMに保存された複数の実行コマンドをRAM自動実行機能により順次読み出して実行する内容の実行コマンドが設定されることにより、パルス出力ロジック回路は、その後、コントローラ用CPUから新たな実行コマンドを設定しなくても、また、制御ホストとコントローラとの間でリクエスト信号及びアンサーバック信号のやり取りを繰り返して行わなくても、RAM内の複数の実行コマンドを順番に読み出して解析し、その実行コマンドの内容をパルス出力制御部に次々とコマンド処理させることができ、それによって、モータに単位動作パターンを行わせるための指令パルス列をモータドライバに出力することができる。
従って、上述のようなRAMと、RAM自動実行機能を備えるコマンド解析部とを有する本発明のパルス出力ロジック回路は、複数の単位動作パターンを組み合わせた複雑な動作をモータに行わせる場合でも、上述の通信回数及び通信時間を低減できる上に、コントローラ用CPUの処理負担も大きく低減できる。それにより、単位動作パターン間でモータを駆動させることができない時間を大幅に短縮することができ、その結果、複数の単位動作パターンを時間的に連続して行うことが可能となる。
更に、上述のような通信回数及び通信時間の低減とCPUの処理負担の低減とが実現できることによって、モータの単位動作パターンを、従来よりも多くのパラメータを用いて設定することができるようになる。それにより、モータの単位動作パターンを従来に比べて、より細かく、より詳細に規定することも可能となる。
本発明に係る別のモータ制御用パルス出力ロジック回路は、実行コマンドを解析して実行するコマンド解析部と、指令パルス列を出力するとともに実行コマンドにより設定される条件に従って指令パルス列の出力を制御するパルス出力制御部と、複数の実行コマンドを書き込んで保存するRAMと、実行コマンドの内容を格納して予約する予約レジスタとを有する。
また、コマンド解析部は、RAMに保存された複数の実行コマンドを順次読み出して自動的に実行するRAM自動実行機能と、パルス出力制御部がコマンド処理中のとき、読み出した前記実行コマンドの内容を前記予約レジスタに格納するコマンド予約機能とを備える。更に、予約レジスタは、パルス出力制御部のコマンド処理後、当該予約レジスタに格納された実行コマンドの内容をパルス出力制御部に展開する予約実行機能を備える。
このような本発明のパルス出力ロジック回路であれば、RAMとコマンド解析部のRAM自動実行機能とにより、上述したように複数の単位動作パターンを組み合わせた複雑な動作をモータに行わせる場合でも、制御ホストとコントローラとの間の通信回数及び通信時間を低減できる上に、コントローラ用CPUの処理負担も大きく低減できる。
更に、このパルス出力ロジック回路は、パルス出力制御部がコマンド処理中のときにコマンド解析部により実行コマンドの内容が格納され、パルス出力制御部のコマンド処理後にその実行コマンドの内容をパルス出力制御部に展開する予約レジスタを有する。従って、この予約レジスタに複数の実行コマンドの内容を格納しておくことにより、パルス出力制御部が単位動作パターンの指令パルス列の出力を終了した後、次の指令パルス列の出力を開始する際に、コントローラ用CPUから新たな実行コマンドを設定しなくても、また、制御ホストとコントローラとの間でリクエスト信号及びアンサーバック信号のやり取りを行わなくても、更には、RAMから次に行う単位動作パターンに関する実行コマンドを順次読み出さなくても、パルス出力制御部は、予約レジスタに格納された実行コマンドの内容に従って迅速にコマンド処理を開始することができる。
これにより、単位動作パターン間でモータを駆動させることができない時間を大幅に短縮すること又はなくすことができ、その結果、複数の単位動作パターンを時間的に連続して且つ安定して行うことが可能となる。更に、単位動作パターン間でモータ停止の必要がなくなることにより、モータの回転速度に単位動作パターン間で連続性を持たせることができるため、複数の単位動作パターンを組み合わせて行う駆動制御を従来よりも効率的に行うことができる。
更にこの場合、上述したように通信回数及び通信時間の低減とCPUの処理負担の低減とが実現できることによって、モータの単位動作パターンを、従来よりも多くのパラメータを用いて設定することができるようになる。それにより、モータの単位動作パターンを従来に比べて、より細かく、より詳細に規定することも可能となる。
上述のような本発明のパルス出力ロジック回路において、パルス出力制御部により出力制御される指令パルス列は、モータを単位動作パターンで駆動させるための1又は複数の単位指令パルス列を有する。また、本発明のパルス出力ロジック回路は、単位動作パターンの駆動条件を規定するパラメータとして、実行コマンドにより、単位指令パルス列の最初に出力する第1パルスのOFF状態を保持する時間(以下、OFF時間と言う)とON状態を保持する時間(以下、ON時間と言う)とを規定する第1パルス速度が設定可能に設計される。
このように、単位動作パターンを規定するパラメータとして、OFF時間とON時間をそれぞれ規定する第1パルス速度を採用することにより、2つの単位動作パターンの単位指令パルス列を容易に連続的に繋げることができる。すなわち、例えば1つの単位動作パターン(例えば前ドライブ)の単位指令パルス列の出力を終了してから、次の単位動作パターン(例えば次ドライブ)の単位指令パルス列を出力するまでに処理時間を要する場合、第1パルス速度を単位動作パターンのパラメータとして導入することにより、単位動作パターン間に生じる処理時間を考慮して第1パルスのOFF時間とON時間を適切に規定することができる。これにより、前ドライブと次ドライブとを連続的に接続することができ、2つの単位動作パターン間に実質的に停止が生じない一連の動作パターンとして指令パルス列の出力を行うことができる。
また、例えば1つの単位動作パターン(例えば前ドライブ)の単位指令パルス列の出力を終了してから、次の単位動作パターン(例えば次ドライブ)の単位指令パルス列の出力を開始するまでに、モータを駆動させない時間(ディレイタイム)を意図的に挿入する場合、第1パルス速度を単位動作パターンのパラメータとして導入することにより、第1パルス速度で規定される第1パルスのOFF時間及びON時間を、ディレイタイムとして設定して利用することができる。
例えば従来のコントローラユニットにおいて、上述のディレイタイムを挿入する場合は、コントローラユニットのCPUのタイマー機能を利用している。しかし、従来のようにCPUのタイマー機能を利用する場合、制御ホストでの制御が煩雑になり易く、また、制御ホストとコントローラとの間での信号のやり取りが多くなる。更に、コントローラ用CPUの処理負担が極めて大きくなる。
これに対して、本発明では、上述のように第1パルスのOFF時間及びON時間をディレイタイムに対応させて適切に規定することにより、CPUのタイマー機能を利用しなくても、ディレイタイムを精確に且つ容易に挿入することができる。これにより、制御ホストでの制御を簡略化できるとともに、コントローラ用CPUの処理負担だけでなく、制御ホストの処理負担も効果的に低減できる。
また本発明では、単位動作パターンのパラメータとして上述の第1パルス速度を設定する場合、単位指令パルス列の終了時に出力するパルス速度を最終パルス速度データとしてパルス出力制御部に記憶し、その最終パルス速度データを第1パルス速度に変換して用いることができる。
これにより、前ドライブの単位指令パルス列と次ドライブの単位指令パルス列とを連結することができるため、複数の単位動作パターンを時間的に連続して且つより安定して行うことができる。またこの場合、前ドライブの最終のパルス速度と次ドライブの最初のパルス速度(すなわち、第1パルスの速度)とが必然的に同じ速度になるため、単位動作パターン間のモータの回転速度に連続性を安定して持たせることができる。それにより、モータの駆動制御をより円滑に行うことができ、また、モータに脱調や振動などの不具合が生じることを効果的に防止できる。
更に本発明では、台形駆動の単位動作パターンの駆動条件を規定するパラメータとして、実行コマンドにより、加速開始時のパルス速度データ、最高速時のパルス速度データ、減速終了時のパルス速度データ、加速周期データ、減速周期データ、及び速度データの速度倍率が設定される。
従来では、台形駆動の単位動作パターンでモータを駆動制御する場合、その単位動作パターンを規定するパラメータとして、前述のように加速開始時及び減速終了時のパルス速度データ、最高速時のパルス速度データ、加速周期データ、減速周期データ、及び速度データの速度倍率の5種類のパラメータが一般的に用いられる(図13を参照)。
これに対して、本発明では、上述のように、制御ホストとコントローラユニットとの間の通信回数及び通信時間を従来よりも低減できるとともに、CPUの処理負担を従来よりも低減できるため、本発明のパルス出力ロジック回路は、台形駆動の単位動作パターンを規定するパラメータとして、上述の第1パルス速度に加えて、加速開始時のパルス速度データ、最高速時のパルス速度データ、減速終了時のパルス速度データ、加速周期データ、減速周期データ、及び速度データの速度倍率という従来よりも多い7種類のパラメータを用いるように設計される。これにより、台形駆動の単位動作パターンをより詳細に規定できるため、モータの駆動をより適確に制御することができる。
更に、台形駆動の加速時及び減速時の速度変化をS字状に加減速制御する場合、その単位動作パターンを規定するパラメータとして、従来では、上述した5種類のパラメータに、S字加速開始部、S字加速終了部、S字減速開始部、及びS字減速終了部の変速領域を規定する1つの変速領域データを加えた合計6種類のパラメータが一般的に用いられる(図14を参照)。これに対して、本発明のパルス出力ロジック回路は、上述した7種類のパラメータに、S字加速開始部の変速領域データ、S字加速終了部の変速領域データ、S字減速開始部の変速領域データ、及びS字減速終了部の変速領域データを加えた合計11種類のパラメータを用いるように設計される。これにより、駆動形状を変形台形状にすることや加減速を疑似sin波形のようにすること等のように、単位動作パターンを更に詳細に規定することが可能となるため、モータの駆動をより一層適確に制御することができる。
また、本発明のパルス出力ロジック回路は、実行コマンドとして、上述のようなパラメータの設定及び単位動作パターンの実行(開始)を命令するコマンドを含む汎用コマンドと、単位動作パターンの減速停止又は即時停止を命令するコマンド、単位動作パターンの待機を命令するコマンド、動作開始の条件を設定するコマンド、動作停止の条件を設定するコマンドなどを含む特殊コマンドとを用いるように設計される。ここで、汎用コマンドは、コマンド実行中には受け付けられないように制限される機能の命令であり、特殊コマンドは、常時受け付け可能とする機能の命令である。
この場合、パルス出力ロジック回路のRAMには、汎用コマンドと前記特殊コマンドとを保存することができる。また、パルス出力ロジック回路のコマンド解析部は、RAMから汎用コマンド及び特殊コマンドを1つずつ順次読み出し、パルス出力制御部がコマンド処理中のとき、汎用コマンドの内容については予約レジスタに格納し、特殊コマンドの内容についてはパルス出力制御部に優先的にコマンド処理させることができる。
これにより、例えばパルス出力ロジック回路にコントローラ用CPUからRAMに書き込まれた実行コマンドを順番に実行する内容の実行コマンドが設定されることにより、コマンド解析部は、その後にコントローラ用CPUから実行コマンドが設定されなくても、また、制御ホストとコントローラとの間で信号のやり取りを行わなくても、RAMに書き込まれた順番に従って汎用コマンド及び特殊コマンドを順次読み出すことができる。
また、パルス出力制御部がコマンド処理中のとき、RAMから読み出された汎用コマンドの内容を予約レジスタに順番に格納することにより、その後にパルス出力制御部が行う汎用コマンドのコマンド処理を順番に予約できる。一方、パルス出力制御部がコマンド処理中のとき、RAMから読み出された特殊コマンドの内容については、その実行中のコマンド処理を停止させて、パルス出力制御部に優先的にコマンド処理させることができる。それによって、モータを駆動制御できる動作パターンのバリエーションを増やすことや、モータをより適確に駆動制御することが可能となる。
そして、本発明によれば、上述した構成を有するモータ制御用パルス出力ロジック回路と、制御ホストとの間で通信を行う通信インターフェイス回路と、制御ホストから受信する信号に従ってパルス出力ロジック回路に実行コマンドを設定する前記コントローラ用CPUとを有するモータ制御用コントローラユニットが提供される。
本発明のコントローラユニットでは、パルス出力ロジック回路の上述したRAMとコマンド解析部のRAM自動実行機能とにより、複数の単位動作パターンを組み合わせた複雑な動作をモータに行わせる場合でも、制御ホストとコントローラとの間の通信回数及び通信時間を低減できる上に、コントローラ用CPUの処理負担も大きく低減できる。
更に、パルス出力ロジック回路が上述のような予約レジスタを有することにより、複数の単位動作パターンを組み合わせてモータの駆動制御を行う場合に、次ドライブ以降にコマンド処理を行う複数の実行コマンドの内容を予約レジスタに格納して予約することができる。これにより、パルス出力制御部が単位動作パターンの指令パルス列の出力を終了した後、次の指令パルス列の出力を開始する際に、コントローラ用CPUから新たな実行コマンドを設定しなくても、また、制御ホストとコントローラとの間でリクエスト信号及びアンサーバック信号のやり取りを行わなくても、更には、RAMから次に行う単位動作パターンに関する実行コマンドを順次読み出さなくても、パルス出力制御部は、予約レジスタに格納された実行コマンドの内容に従って迅速にコマンド処理を開始することができる。
その結果、単位動作パターン間でモータを駆動させることができない時間を大幅に短縮すること又はなくすことができ、その結果、複数の単位動作パターンを時間的に連続して且つ安定して行うことが可能となる。更に、単位動作パターン間でモータ停止の必要がなくなることにより、モータの回転速度に単位動作パターン間で連続性を持たせることができるため、複数の単位動作パターンを組み合わせて行う駆動制御を従来よりも効率的に行うことができる。
更に本発明のコントローラユニットでは、モータの単位動作パターンを、従来よりも多くのパラメータを用いて設定することができるようになる。それにより、モータの単位動作パターンを従来に比べて、より細かく、より詳細に規定することも可能となる。
以下に、本発明の好適な実施の形態について、図面を参照しながら詳細に説明する。
ここで、図1は、本実施形態に係るパルス出力ロジック回路を示すブロック図である。図2は、そのパルス出力ロジック回路のRAMに実行コマンドが書き込まれた状態を説明する説明図である。
本実施形態のパルス出力ロジック回路10を有するコントローラユニットは、パルス出力ロジック回路10が従来と異なるものの、パルス出力ロジック回路10以外の部分については、図11に示した従来のコントローラユニットと実質的に同様に形成されている。
すなわち、本実施形態のコントローラユニットは、様々な処理を行うコントローラ用CPUと、制御ホストとの間通信を行う通信制御部と、図1に示すパルス出力ロジック回路10とを有する。また、コントローラ用CPU、通信制御部、及びパルス出力ロジック回路10は、バス(データバス)によって相互に接続されている。
更に、本実施形態のコントローラユニットは、通信インターフェイス回路を介して制御ホストと接続されている。コントローラユニットのパルス出力ロジック回路10で発生させた指令パルス列の信号は、外部機器インターフェイス回路を介してドライバーユニットに出力される。また、本実施形態のコントローラユニットは、パルス出力ロジック回路10の後述するRAM13に書き込むことが可能な複数の実行コマンドを記憶するROMを備えていても良い。
この場合、本実施形態のコントローラユニットは、従来と同じように、コントローラユニットとの間でリクエスト信号とアンサーバック信号のやり取りをすることによってコントローラユニットの制御及び管理を行う制御ホストと、コントローラユニットから出力される指令パルス列に従ってパルス駆動モータに駆動電流を供給するドライバーユニットとともに、モーションコントロールシステムを構成する。また、ドライバーユニットに接続されるパルス駆動モータには、サーボモータ又はステッピングモータが用いられる。
本実施形態のコントローラユニットにおいて、特徴となるパルス出力ロジック回路10は、図1に示したように、バスに接続するバスインターフェイス回路11と、コントローラCPUにより設定される実行プログラムを解析して実行するコマンド解析部12と、複数の実行コマンドを書き込んで保存可能なRAM13と、指令パルス列を出力するパルス出力制御部14と、実行コマンドの内容を格納してパルス出力制御部14の次のコマンド処理を予約する予約レジスタ15とを有する。このような本実施形態のパルス出力ロジック回路10は、例えば図12に示した従来のパルス出力ロジック回路と構造的に比較すると、RAM13と予約レジスタ15が新たに設けられていることに違いを有する。
なお、本実施形態のパルス出力ロジック回路10は、1つのモータのドライバーユニットに対して指令パルス列を出力することが可能な1軸用のロジック回路として形成されている。しかし、本発明では、2つのモータの各ドライバーユニットに対して指令パルス列をそれぞれ出力することが可能な2軸用のロジック回路として形成されていても良い。
パルス出力ロジック回路10のコマンド解析部12は、コントローラ用CPUで設定される実行コマンドを解析し、更に、実行コマンドの内容に従ってパルス出力制御部14に所定のコマンド処理を行わせることができる。この場合、コマンド解析部12で解析する実行コマンドは、8ビットのコマンドと、16ビットの第1データと、16ビットの第2データとを有する。なお実際の実行コマンドは、第2データ、第1データ、コマンドの順番で形成される。
また、本実施形態で用いられる実行コマンドには、一般的な汎用コマンドと、他の処理が行われている最中でも割り込んで実行させることが可能な特殊コマンドとが用いられる。この場合、汎用コマンドは、パルス出力制御部14が他の実行コマンドを処理しているときには受け付けることのできないコマンドであり、このような汎用コマンドには、主に、モータの単位動作パターンを規定するための各パラメータを設定するためのコマンドや、指令パルス列の出力を実行するためのコマンドが含まれる。またその他に、汎用コマンドには、一定速度でモータを回転駆動させる場合のパルス速度やパルス数を設定するためのコマンドなども含まれる。
一方、特殊コマンドは、パルス出力制御部14に割り込んでコマンド処理させることができるように常時実行可能な機能のコマンドであり、この特殊コマンドには、例えば、パルス出力制御部14が指令パルス列の出力中にその指令パルス列の出力を減速して停止させる又は即時停止させるためのコマンド、指令パルス列の出力の実行を一時的に中断させて待機させるためのコマンド、中断時などに動作開始の条件を設定するコマンド、及び、指令パルス列の出力中などに動作停止の条件を設定するコマンドなどが含まれる。またその他に、特殊コマンドには、コマンド解析部12に後述するRAM自動実行機能によりRAM13から実行コマンドを所定のアドレスから順番に読み出して実行させるためのコマンド、RAM13から読み出す実行コマンドのアドレスを変更させる(移動させる)ためのコマンド、RAM自動実行機能を終了させるためのコマンドなどの様々なコマンドが含まれ、汎用コマンドよりも多くの種類がある。複数の異なる動作を組み合わせた一連の連続動作は、上述のような特殊コマンドと汎用コマンドの両方の組み合わせで構成される。
ここで、コマンド解析部12における具体的な処理内容について説明すると、コマンド解析部12は、単位動作パターンの各パラメータを規定する実行コマンド(汎用コマンド)がコントローラ用CPUにより設定されると、その実行コマンドを解析して実行する。
すなわち、コマンド解析部12は、実行コマンド(汎用コマンド)に含まれるコマンドと第1及び第2データとに従って、単位動作パターンのパラメータをパルス出力制御部14に設定し、単位動作パターンの条件を定める。1つ又は複数のパラメータが設定された後、コマンド解析部12は、指令パルス列の出力を実行する実行コマンド(汎用コマンド)がコントローラ用CPUにより設定されることにより、その実行コマンドに従って、パルス出力制御部14に対し、設置されたパラメータによって規定される所定の条件で指令パルス列を発生させて出力するとともに、出力した指令パルスの回数をカウントする動作を行わせる。
また、コマンド解析部12は、例えばコントローラ用CPUによりRAMインターフェイス処理の実行コマンドが設定されたときに、後述するようにRAM13に書き込まれている複数の実行コマンドを所定のアドレスから1つずつ順番に自動的に読み出して実行するRAM自動実行機能を備える。
このRAM自動実行機能により、パルス出力ロジック回路10は、RAMインターフェイス処理の実行コマンドが設定された後、コントローラ用CPUから新たな実行コマンドが設定されなくても、また、制御ホストとコントローラとの間で信号のやり取りを繰り返して行わなくても、RAM13内の複数の実行コマンドを1つずつ自動的に読み出して順次実行し、パルス出力制御部14に次々とコマンド処理させることが可能となる。
更に、コマンド解析部12は、パルス出力制御部14がコマンド処理中か否かを確認し、パルス出力制御部14がコマンド処理中のときには、コントローラ用CPUにより設定された汎用コマンドの内容や、RAM13から読み出した汎用コマンドの内容を予約レジスタ15に格納するコマンド予約機能を備える。
このコマンド予約機能により、例えばパルス出力制御部14が指令パルス列の出力などのコマンド処理を行っている最中に、コントローラ用CPUによって新たな汎用コマンドが設定されたときや、RAM13から新たな汎用コマンドを読み出したときに、その汎用コマンドを解析して、その汎用コマンドの内容(例えば、後述する第1パルス速度等のパラメータの設定や、相対位置までの指令パルス列の出力の実行など)を、予約レジスタ15に順番に記憶させることが可能となる。
なお本実施形態において、予約レジスタ15に予約できる実行コマンドは、汎用コマンドに限定される。一方、特殊コマンドは、コマンド解析部12によって解析されたときにパルス出力制御部14がコマンド処理中であっても、コマンド解析部12からパルス出力制御部14に展開されて、特殊コマンドの内容がパルス出力制御部14でコマンド処理される。
パルス出力ロジック回路10に設けられるRAM13は、ランダムアクセスによる読み書き(Read/Write)可能なメモリであり、データの書き込みや消去を自由に行うことができ、また、書き込まれて格納されたデータに任意の順序でアクセスすることができる。
本実施形態のRAM13には、制御ホストからの命令(リクエスト信号)により、コマンドと第1及び第2データとにより形成される実行コマンドを書き込むことができる。このRAM13は、図2に示すように、「0000」番地から「4095」番地までの4096個のアドレスを備えるとともに、1つのアドレスに1つの実行コマンドを格納することが可能な容量を有する。
この場合、RAM13には、実行コマンドの汎用コマンドと特殊コマンドの両方のコマンドを書き込んで保存することができる。また、RAM13に保存する実行コマンドとして、各種のタイミングを設定する実行コマンドを用いることができ、例えばコマンド解析部12のRAMインターフェイス処理を待機させ、任意の実行タイミングを検出するとRAMインターフェイス処理を再開させる実行コマンドを保存可能である。またその他にも、RAMインターフェイス処理によって実行するRAM13のアドレスを変更する(アドレスをジャンプする)実行コマンドや、RAMインターフェイス処理を終了又は停止させる実行コマンドも保存可能である。
なお、例えばコントローラユニットがROMを備える場合には、制御ホストからの命令により、ROMに保存されている1つ又は複数の実行コマンドをRAM13に書き込むことも可能である。
パルス出力制御部14は、コマンド解析部12により解析された実行プログラムの内容に従って、そのコマンド処理を行う。例えば、コマンド解析部12によって指令パルス列の出力を実行する内容の実行コマンド(汎用コマンド)が実行されると、パルス出力制御部14は、その前に設定された単位動作パターンのパラメータ(条件)に従って、所定回数の指令パルスからなる指令パルス列をドライバーユニットに向けて出力する。また同時に、出力した指令パルスの回数をカウントする。この場合、パルス出力制御部14から出力される指令パルス列の信号は、コントローラユニットの外部機器インターフェイス回路を介してドライバーユニットに送られる。
予約レジスタ15は、上述したRAM13に比べて処理速度が速く、また、上述したRAM13に比べて容量は小さいものの、実行コマンドの内容を一時的に保存可能に形成される。本実施形態の場合、予約レジスタ15は、20命令分の実行コマンドの内容を一時的に格納可能な容量を有する。
この予約レジスタ15には、上述したように、コマンド解析部12のコマンド予約機能により、パルス出力制御部14がコマンド処理中のときに、実行コマンドのうちの汎用コマンドの内容が順番に書き込まれて格納される。この場合、予約レジスタ15には、RAM13からコマンド解析部12が読み出した汎用コマンドの内容だけでなく、コントローラ用CPUによりコマンド解析部12に設定された汎用コマンドの内容も格納できる。
また、予約レジスタ15は、当該予約レジスタ15に汎用コマンドの内容が書き込まれて格納されている状態で、パルス出力制御部14が上述のコマンド処理を終了したときに、その格納されている汎用コマンドの内容を、コマンド解析部12よりも優先してパルス出力制御部14に展開する予約実行機能を備える。
この場合、予約レジスタ15は、FIFO(First In First Out)でデータ処理を行うように形成されており、汎用コマンドの内容を予約レジスタ15に書き込まれた順番に従って展開する。すなわち、予約レジスタ15の予約実行機能によれば、予約レジスタ15に先に書き込まれた汎用コマンドの内容から順番に、パルス出力制御部14に展開することができる。
このような予約実行機能により、パルス出力ロジック回路10は、パルス出力制御部14のコマンド処理終了後、コントローラ用CPUから新たな実行コマンドが設定されなくても、また、制御ホストとコントローラとの間で信号のやり取りを繰り返して行わなくても、予約レジスタ15に格納されている汎用コマンドの内容をパルス出力制御部14に自動的に迅速に展開してコマンド処理させることができる。
なお、上述した本実施形態のパルス出力ロジック回路10は、例えばパルス駆動モータがサーボモータである場合、図示しないエンコーダで検知される回転角や回転速度等の情報を、フィードバック信号として、ドライバーユニットから外部機器インターフェイス回路を介して受け取ることも可能である。
本実施形態のパルス出力ロジック回路10は、上述のようなRAM自動実行機能及びコマンド予約機能を備えたコマンド解析部12と、RAM13と、予約実行機能を備えた予約レジスタ15とを有することにより、RAM13に保存されている複数の実行コマンドを、制御ホストとコントローラとの間の通信を行うことなく、また、コントローラ用CPUから新たな実行コマンドを設定することなく、順番に安定して且つ連続的に自動実行することができる。
これにより、モータを所定の動作パターンで駆動させる際に、以下に詳述するように、制御ホストとコントローラとの間の通信回数や通信時間を低減でき、また、コントローラ用CPUの処理負担を低減できる。またそれにより、モータの単位動作パターンを、従来よりも多くの種類のパラメータを用いて設定できるようになる。
以下に、本実施形態のパルス出力ロジック回路10を有するコントローラユニットが、制御ホストから命令(リクエスト信号)を受けて、ドライバーユニットに向けて所定の指令パルス列を出力する動作について具体的に説明する。
始めに、第1の動作パターンとして、図3に示した台形駆動の単位動作パターンでモータの駆動制御を行う場合について説明する。
この場合、パルス出力ロジック回路10のRAM13には、予め、例えば制御ホストからリクエスト信号を送信することにより、台形駆動の単位動作パターンを行うために必要な複数の実行コマンドが予め書き込まれて保存されている。なお、例えばコントローラユニットにROMが設けられていて、そのROM内に台形駆動に必要な複数の実行コマンドが保存されている場合は、ROM内の複数の実行コマンドを、パルス出力ロジック回路10のRAM13に展開して保存してから、以下のような処理を行うことも可能である。
図3に示した台形駆動の単位動作パターンを行う場合、パルス出力ロジック回路10のRAM13には、「(1)第1パルス速度FSPDの設定」、「(2)加速開始時のパルス速度データLSPDの設定」、「(3)最高速時のパルス速度データHSPDの設定」、「(4)台形駆動の加速割合を規定する加速周期データUCYCLEの設定」、「(5)台形駆動の減速割合を規定する減速周期データDCYCLEの設定」、「(6)減速終了時のパルス速度データELSPDの設定」、「(7)速度データの速度倍率RESOLの設定」、「(8)設定したパラメータに基づいて指定した相対位置までの指令パルス列の出力の実行」を行うための8つの実行コマンド(汎用コマンド)が所定のアドレス(例えば「0000」番地)から順番に保存されている。このように、本実施形態では、台形駆動の単位動作パターンを、従来よりも多いFSPD、LSPD、HSPD、UCYCLE、DCYCLE、ELSPD、RESOLという7種類のパラメータを用いて規定することができる。
ここで、第1パルス速度FSPDは、単位動作パターンを行うために出力する単位指令パルス列において、1番最初に出力する第1パルスのOFF状態を保持する時間(OFF時間)とON状態を保持する時間(ON時間)とを設定するパラメータである。この第1パルス速度FSPDは、第1パルスのパルス速度そのものであり、第1パルス速度FSPDの単位は、「Hz」である。
また、加速開始時のパルス速度データLSPD、最高速時のパルス速度データHSPD、及び、減速終了時のパルス速度データELSPDは、それぞれに速度倍率RESOLの値が掛け算されることにより、台形駆動の加速開始時のパルス速度、最高速時のパルス速度、減速終了時のパルス速度を表すパラメータである。この場合、LSPD、HSPD、及びELSPDの各速度データに速度倍率RESOLを乗じて得られる加速開始時のパルス速度、最高速時のパルス速度、及び減速終了時のパルス速度の単位が「Hz」となる。
加速周期データUCYCLE、及び減速周期データDCYCLEは、加速時及び減速時の速度の傾き(すなわち、1パルス当たりの速度の変化率)を規定するパラメータであり、単位時間(例えば0.5μs)が掛け算されることにより、回転速度を1kHz変化させるために要する時間(μs)が加速周期及び減速周期として設定される。また、設定した変速領域データUCYCLE及びDCYCLEと、上述の加速開始時のパルス速度データLSPD、最高速時のパルス速度データHSPD、及び減速終了時のパルス速度データELSPDとを用いて、加速時間及び減速時間が決定される。
上述のような8つの実行コマンドがパルス出力ロジック回路10のRAM13に書き込まれている状態で、制御ホストは、先ず、コントローラユニットに対して、RAM13の「0000」番地から順番に実行コマンドを読み出す内容の命令(すなわち、RAMインターフェイス処理のリクエスト信号)を送信する。
コントローラユニットは、制御ホストから送信されたリクエスト信号を通信制御部で受信し、更に、その受信したリクエスト信号の内容をコントローラCPUで解析する。更に、コントローラ用CPUは、受信したリクエスト信号を実行コマンドに変換し、RAMインターフェイス処理を行う実行コマンドを、パルス出力ロジック回路10に設定する。また同時に、コントローラ用CPUは、制御ホストのリクエスト信号に対する実行結果の内容を有するアンサーバック信号を生成し、そのアンサーバック信号を通信制御部から制御ホストに送信する。
また、コントローラユニットのパルス出力ロジック回路10は、コントローラCPUにより設定される実行コマンドをコマンド解析部12で解析して、RAMインターフェイス処理を実行する。それにより、コマンド解析部12は、上述したRAM自動実行機能により、制御ホストとコントローラとの間で新たな信号のやり取りを繰り返して行わなくても、また、コントローラ用CPUから新たな実行コマンドが更に設定されなくても、上記(1)〜(8)の実行コマンドをRAM13から順番に自動的に且つ連続的に読み出して実行し、パルス出力制御部14に次々とコマンド処理させることができる。
例えば本実施形態の場合、仮に制御ホストからのリクエスト信号を受けてコントローラCPUが実行コマンドに変換して、その実行コマンドの内容をパルス出力制御部14にコマンド処理させる場合、コントローラCPUが1つの実行コマンドをパルス出力ロジック回路10に設定するだけでも175ns以上の時間を要し、またそれ以外にも、パルス出力ロジック回路10が実行コマンドを解析してコマンド処理する時間や、制御ホストとコントローラユニットとの間の通信時間が必要となる。
これに対して、上述したコマンド解析部12のRAM自動実行機能を利用することにより、1つの実行コマンドについて、RAM13から読み出してパルス出力制御部14にコマンド処理させるのに要する時間を150nsと短くすることができ、且つ、複数の実行コマンドを、コントローラCPUの処理や、制御ホストとコントローラユニットとの間の通信作業を挟むことなく、150ns間隔で連続的にコマンド処理することができる。すなわち、コマンド解析部12のRAM自動実行機能による処理時間を短縮させる効果は、実行コマンドの数が多くなる程、顕著となる。
そして、本実施形態のパルス出力ロジック回路10は、コマンド解析部12で「(8)設定したパラメータに基づいて指定した相対位置までの指令パルス列の出力の実行」の実行コマンドが実行されて、パルス出力制御部14でそのコマンド処理を行うことにより、上記(1)〜(7)の実行コマンドで設定されたパラメータに従って、図3に示した台形駆動の単位動作パターンをモータに行わせるための指令パルス列を発生させて出力することができる。
例えば従来では、図13に示したような少ないパラメータで規定される単純な台形駆動の単位動作パターンでモータの駆動制御を行う場合、従来技術の欄で説明したように、制御ホストとコントローラユニットとの間で10回以上の信号のやり取りが必要となり、また、コントローラ用CPUの処理負担も非常に大きくなるという問題があった。
これに対して、本実施形態の第1の動作パターン(図3)では、上述のように、RAMに所定の複数の実行コマンドが保存されている状態で制御ホストとコントローラユニットとの間で1回の信号のやり取りを行い、また、コントローラ用CPUが、パルス出力ロジック回路10にRAMインターフェイス処理の実行コマンドを設定することによって、7種類のパラメータを用いて規定される台形駆動の単位動作パターンでモータの駆動制御を安定して行うことができる。しかも本実施形態では、7種類のパラメータを用いて台形駆動の単位動作パターンを規定できるため、より的確にユーザーのニーズに合わせた動作でモータを駆動制御することが可能となる。
次に、第2の動作パターンとして、図4に示したように加速時の加速割合や減速時の減速割合がS字状を呈するように略台形駆動の単位動作パターンでモータの駆動制御を行う場合について説明する。
図4に示した単位動作パターンでモータを駆動させる場合、上述した第1の動作パターンを行う場合と同様に、パルス出力ロジック回路10のRAM13に、予め、図4の単位動作パターンを行うために必要な複数の実行コマンドが書き込まれて保存されている。この第2の動作パターンの場合、第1の動作パターンで用いた7種類のパラメータ(FSPD、LSPD、HSPD、UCYCLE、DCYCLE、ELSPD、及びRESOL)と、S字加速開始部の変速領域データSUL、S字加速終了部の変速領域データSUH、S字減速開始部の変速領域データSDH、及び、S字減速終了部の変速領域データSDLの4種類のパラメータの合計11種類のパラメータを用いて図4の単位動作パターンを規定することができる。この場合、SUL、SUH、SDH、SDLは、曲線状で加速させる速度範囲を設定するパラメータであり、S字加速開始部、S字加速終了部、S字減速開始部、及びS字減速終了部の各部分における曲線状の加速割合及び減速割合は、上述の11種類のパラメータを用いて所定の演算を行うことにより決定される。
この第2の動作パターンを行う場合では、上述のようなパラメータの種類の増加により、パルス出力ロジック回路10のRAM13に予め保存する実行コマンドの個数が、上述した第1の動作パターンを行う場合よりも多くなるものの、必要な実行コマンドがRAM13に書き込まれている状態で、制御ホストが行う処理の内容や、コントローラCPUが行う処理の内容は、上述した第1の動作パターンを行う場合と実質的に同じである。
従って、第2の動作パターン(図4)を行う場合も、第1の動作パターンの場合と同様に、従来のコントローラユニットに比べて、制御ホストとコントローラユニットとの間の通信回数及び通信時間を大幅に低減でき、また、コントローラ用CPUの処理負担を大幅に低減できる。更に、11種類のパラメータを用いて単位動作パターンを規定できるため、より的確にユーザーのニーズに合わせた動作でモータを安定して駆動制御することが可能となる。
次に、第3の動作パターンとして、図5に示したように、2つの異なる単位動作パターン(第1ドライブ及び第2ドライブ)を組み合わせた動作パターンでモータの駆動制御を行う場合について説明する。
図5に示した動作パターンでモータを駆動させる場合、最初に行う単位動作パターン(第1ドライブ)に必要な複数の実行コマンドと、2番に行う単位動作パターン(第2ドライブ)に必要な複数の実行コマンドとが、予め、パルス出力ロジック回路10のRAM13に順番に書き込まれて保存されている。
具体的には、第1ドライブを行うために、上述の第1の動作パターンで説明した(1)〜(8)の実行コマンドがRAM13の所定のアドレスから順番に保存され(例えばRAM13の「0000」番地から「0007」番地までのアドレスに保存され)、更に、その次のアドレスから、第2ドライブを行うための複数の実行コマンドが順番に保存される(例えばRAM13の「0008」番地のアドレスから順番に保存される)。
この場合、第1ドライブを規定するパラメータとして、上述したFSPD、LSPD、HSPD、UCYCLE、DCYCLE、ELSPD、及びRESOLの7種類が用いられる。第2ドライブを規定するパラメータとしては、少なくともFSPD、LSPD、DCYCLE、ELSPD、及びRESOLが用いられる。
また、第2ドライブを規定する場合、第2ドライブにおける第1パルス速度FSPDは、例えば図6に示すように、1つ前の第1ドライブにおける減速終了時のパルス速度データELSPDと、第2ドライブにおける加速開始時のパルス速度データLSPD(この場合、最高速時のパルス速度データHSPDと同じ速さ)の速度との間を連続させるように、第1ドライブの最終パルスの終了時点から第2ドライブの第1パルスの開始までにかかるコマンド処理時間を考慮して設定される。
具体的には、例えば第1ドライブの最終パルス速度が500kHz(パルス周期は2000ns)で、且つ、第2ドライブにおける加速開始時のパルス速度(=最高速時のパルス速度)が500kHz(パルス周期は2000ns)に設定される場合において、第1パルスのOFF時間とON時間とを規定する第1パルス速度FSPDを、上述のコマンド処理時間を考慮して、第1ドライブの最終パルスの終了時点から第2ドライブの加速開始までに要する時間が2000nsとなるように設定する。
すなわち、例えば第1ドライブの最終パルスの終了時点から第2ドライブの第1パルスの開始までにかかる全てのコマンド処理時間が仮に300nsと見込まれる場合には、第1パルスのOFF時間を850nsとし、ON時間を850nsとする第1パルス速度FSPDを設定する。これにより、モータを停止させることなく、また、モータに脱調や振動を生じさせることなく、第1ドライブと第2ドライブとが連続する指令パルス列を、コントローラユニットのパルス出力ロジック回路10から出力することができる。
上述のような第1ドライブ及び第2ドライブの各パラメータを設定する実行コマンドと、指令パルス列の出力を実行する実行コマンドとがパルス出力ロジック回路10のRAM13に所定の順番で保存されている状態において、制御ホストは、コントローラユニットに対して、RAM13の「0000」番地から順番に実行コマンドを読み出すRAMインターフェイス処理のリクエスト信号を送信する。
そのリクエスト信号を受信したコントローラユニットは、リクエスト信号の内容をコントローラCPUで解析して実行コマンドに変換し、更に、そのRAMインターフェイス処理を行う実行コマンドを、パルス出力ロジック回路10に設定する。そして、パルス出力ロジック回路10は、その実行コマンドをコマンド解析部12で解析して実行する。
それにより、コマンド解析部12は、上述したRAM自動実行機能により、パルス出力ロジック回路10のRAM13に保存されている実行コマンド(汎用コマンド)を「0000」番地から順番に読み出して実行する。すなわち、コマンド解析部12は、RAM13の「0000」番地から「0007」番地までのアドレスの実行コマンドを順番に自動的に且つ連続的に読み出して実行し、パルス出力制御部14に次々とコマンド処理させることができる。それにより、パルス出力制御部14から第1ドライブを行うための指令パルス列を出力することができる。
更に、コマンド解析部12は、RAM13の「0007」番地のアドレスの実行コマンド(すなわち、「指令パルス列の出力の実行」の実行コマンド)を読み出して実行した後、連続的に、RAM13の「0008」番地のアドレスから実行コマンドを順番に自動的に読み出して実行する。一方、このとき、パルス出力制御部14は、第1ドライブの指令パルス列を出力するコマンド処理を行っている最中である。
この場合、コマンド解析部12は、パルス出力制御部14がコマンド処理中であることを確認すると同時に、RAM13から読み出した第2ドライブ用の実行コマンド(汎用コマンド)を順番に解析し、これらの実行コマンドの内容を予約レジスタ15に順番に格納する。これにより、予約レジスタ15にパルス出力制御部14が次に行うコマンド処理を予約することができる。
そして、パルス出力制御部14による第1ドライブの指令パルス列を出力するコマンド処理が終了すると、予約レジスタ15は、上述した予約実行機能により、格納した複数の実行コマンドの内容を、コントローラCPUの処理を挟むことなく、また、コマンド解析部12の処理を挟むことなく、パルス出力制御部14に迅速に展開(LOAD)してコマンド処理させることができる。
このとき、本実施形態では、予約レジスタ15の予約実行機能により予約レジスタ15に格納した複数の実行コマンドの内容を、例えば100nsという極めて短い時間でパルス出力制御部14に展開して設定することが可能である。これにより、パルス出力制御部14は、第1ドライブの指令パルス列の出力が終了してから、第1ドライブの最終パルス周期や、第2ドライブにおける加速開始時のパルス周期よりも長い間隔を開けることなく、OFF時間及びON時間が上述のように規定された第1パルスを含む第2ドライブの指令パルス列を、連続して出力することができる。その結果、第1ドライブから第2ドライブにかけてモータを停止させることなく、連続した駆動制御を円滑に安定して行うことができる。
すなわち、本実施形態では、図5に示すように単位動作パターンが互いに異なる第1ドライブと第2ドライブとを組み合わせて駆動制御を行う場合でも、第1ドライブと第2ドライブとの間で、制御ホストとコントローラユニットとの通信を行うことなく、コントローラCPUの処理を挟むことなく、更に、パルス出力ロジック回路10内のコマンド解析部12の処理を挟むことなく、モータを時間的に連続して駆動させることができ、その上、速度的にも連続性をもって駆動させることができる。このように複数の異なるドライブが組み合わされた一連の動作を時間的にも速度的にも連続させることができるという効果は、例えば制御ホストとコントローラユニットとの間の通信速度が遅い場合や、コントローラCPUの処理速度が遅い場合などで、より顕著となる。
なお、上述した第3の動作パターンでは、第1ドライブの最終パルスの終了時点から第2ドライブの第1パルスの開始までにかかるコマンド処理時間が仮に300nsと見込まれる場合について説明している。しかし、例えば上述のコマンド処理時間が、第1ドライブの最終パルス速度、及び第2ドライブにおける加速開始時のパルス速度に対し、殆ど無視できる位の短い時間となる場合には、第1ドライブの終了時に出力する最終パルス速度(この場合、減速終了時のパルス速度データELSPD)を、最終パルス速度データRSPDとしてパルス出力制御部14に記憶し、その最終パルス速度データRSPDを、第2ドライブにおける第1パルス速度FSPDに変換して用いることも可能である。
これによっても、第1ドライブと第2ドライブとの間で、制御ホストとコントローラユニットとの通信を行うことなく、コントローラCPUの処理を挟むことなく、更に、パルス出力ロジック回路10内のコマンド解析部12の処理を挟むことなく、モータを第1及び第2ドライブに従って時間的に連続して駆動させると同時に、速度的に更に連続性をもって駆動させることができる。また、第1ドライブの最終指令パルスの次に、第2ドライブの第1パルスを実際に出力せずに、第2ドライブの加速開始の指令パルスを出力できるため、モータの駆動制御をより効率的に行うことが可能となる。
次に、第4の動作パターンとして、図7に示したように、4つの異なる単位動作パターン(第1ドライブ〜第4ドライブ)を組み合わせた動作パターンでモータの駆動制御を行う場合について説明する。
この第4の動作パターンにおいて、第1ドライブ〜第3ドライブは、モータをそれぞれ異なる加速割合で加速するように駆動制御を行い、第4ドライブは、変形台形駆動の単位動作パターンで駆動制御を行う。従って、第4の動作パターンでは、単位動作パターンの切り替えが、何れもモータの加速中に行われる。なお、第1ドライブ〜第4ドライブの各ドライブは、加速中又は減速中であっても、所定回数の指定パルスを出力し終えることによって、そのドライブは終了となる。
図7に示す第4の動作パターンにおいては、第1ドライブ〜第4ドライブの各単位動作パターンに必要な複数の実行コマンドを、予め、パルス出力ロジック回路10のRAM13に書き込んで保存しておく。この場合、第1ドライブ〜第3ドライブを規定するパラメータとして、上記で説明した複数のパラメータの中から、FSPD、LSPD、UCYCLE、及びRESOLの4種類が少なくとも用いられる。また、第4ドライブを規定するパラメータとして、上述したFSPD、LSPD、HSPD、UCYCLE、DCYCLE、ELSPD、及びRESOLの7種類が用いられる。
すなわち、本実施形態のコントローラユニットでは、従来よりも多くの種類のパラメータを用いて単位動作パターンを規定できるため、例えば単位動作パターンの加速開始時のパルス速度データLSPDと、減速終了時のパルス速度データELSPDとを互いに異なる速さに設定することも可能となる。それにより、全体の動作パターンを決定する際に、様々な形状の単位動作パターンを従来よりも自由に選択して適切に組み合わせることが可能となる。
また、第4の動作パターンでは、第1ドライブ〜第4ドライブの全てのドライブで、最初の第1パルスにおけるパルス速度FSPD(出力周期)が設定される。また、各ドライブの最終パルスの終了時点から次のドライブの第1パルスの開始までにかかるコマンド処理時間が、各ドライブの最終パルス速度(次のドライブにおける加速開始時のパルス速度と同じ)に対して殆ど無視できる位の短い時間と見込まれる。
このため、この第4の動作パターンでは、第1ドライブ〜第3ドライブの各ドライブの終了時に出力する最終パルス速度を、最終パルス速度データRSPDとしてパルス出力制御部14にそれぞれ記憶する。更にパルス出力制御部14において、その最終パルス速度データRSPDに速度倍率RESOLを掛け算して算出された値(速度)を、次のドライブ(第2ドライブ〜第4ドライブ)における第1パルス速度FSPDとして設定することができる(すなわち、次ドライブのFSPD=前ドライブのRSPD×RESOL)。
またこの場合、次のドライブの加速開始時のパルス速度データLSPDを、前のドライブで記憶した最終パルス速度データRSPDと同じ大きさに設定することができる(すなわち、次ドライブのLSPD=前ドライブのRSPD)。これにより、隣り合う2つのドライブの指令パルス列を速度的に安定して連続させることができる。
そして、上述のような第1ドライブ〜第4ドライブについて、各パラメータを設定する実行コマンドと、指令パルス列の出力を実行する実行コマンドとがパルス出力ロジック回路10のRAM13に所定の順番で保存されている状態において、制御ホストは、コントローラユニットに対して、RAMインターフェイス処理のリクエスト信号を送信する。
それにより、上述した第3の動作パターンの場合と同様に、パルス出力ロジック回路10のコマンド解析部12は、そのRAM自動実行機能により、パルス出力ロジック回路10のRAM13に保存されている実行コマンド(汎用コマンド)を所定の番地から順番に読み出して実行するため、パルス出力制御部14から第1ドライブを行うための指令パルス列を出力することができる。
更に、コマンド解析部12は、第2ドライブ〜第4ドライブを行うための実行コマンドをRAM13から続けて読み出して、それらの実行コマンドの内容を予約レジスタ15に順番に格納する。これにより、パルス出力制御部14がその後に行うコマンド処理を予約レジスタ15に順番に予約して、パルス出力制御部14に連続的に処理させることができる。
従って、この第4の動作パターン(図7)では、第1ドライブ〜第4ドライブの隣り合うドライブ間で、制御ホストとコントローラユニットとの通信を行うことなく、コントローラCPUの処理を挟むことなく、更に、コマンド解析部12の処理を挟むことなく、次のドライブに移ることができる。このため、モータの駆動制御を、第1ドライブ〜第4ドライブに従って時間的に連続して行うことができる。
しかも、この第4の動作パターン(図7)では、第1ドライブ〜第3ドライブがそれぞれ加速中に最終指令パルスの出力が終了するが、上述のようにパルス出力制御部14に各ドライブの最終パルス速度データRSPDを記憶して、その最終パルス速度データRSPDを、次のドライブの第1パルス速度FSPDの設定と、次のドライブの加速開始時のパルス速度データLSPDの設定とに利用できる。
これにより、第1ドライブ〜第4ドライブのドライブ間で速度的に連続性をもってモータを安定して駆動させることができる。その結果、モータの第1ドライブから第4ドライブまでの連続ドライブを、モータを1回も停止させることなく、また、モータに脱調や振動を生じさせることなく、効率的に行うことが可能となる。
なお、この第4の動作パターンにおいて、第1ドライブ〜第4ドライブの加減速を、例えば上述の第2の動作パターン(図4)と同様に、S字加速開始部の変速領域データSUL、S字加速終了部の変速領域データSUH、S字減速開始部の変速領域データSDH、及び、S字減速終了部の変速領域データSDLの4種類のパラメータを用いて加速割合及び減速割合がS字状を呈するように駆動制御することも可能である。それにより、モータをより滑らかに加減速させるように駆動制御することが可能となる。
次に、第5の動作パターンとして、図8に示したように、ドライブ1とドライブ2の2つの単位動作パターンを組み合わせるとともに、ドライブ1とドライブ2の間に所定の停止時間(ディレイタイム)を設けた動作パターンでモータの駆動制御を行う場合について説明する。
この第5の動作パターンは、2つの単位動作パターンを組み合わせて設定されるため、制御ホストやコントローラユニットにおける動作や処理は、基本的に上述した第3の動作パターン(図5)と同じである。しかし、上述した第3の動作パターン(図5)では、モータを停止させることなく第1ドライブと第2ドライブとを連続して行うのに対し、この第5の動作パターン(図8)では、第1ドライブと第2ドライブとの間に、所定のディレイタイムを意図的に生成する。
この第5の動作パターンでは、第3の動作パターンの場合と同様に、第1ドライブ及び第2ドライブに必要な複数の実行コマンドが、パルス出力ロジック回路10のRAM13に予め書き込まれて保存される。この場合、第1ドライブ及び第2ドライブを規定するパラメータとして、上述したFSPD、LSPD、HSPD、UCYCLE、DCYCLE、ELSPD、及びRESOLの7種類が用いられる。
また、第2ドライブを規定する場合、第2ドライブにおける第1パルスのパルス速度FSPDを、生成するディレイタイムの長さに対応して設定する。すなわち、第1パルス速度FSPDを、第1パルスのOFF時間とON時間とを合計したときにディレイタイムと同じ時間となるように設定する。更に、例えば第1ドライブの最終パルスの終了時点から第2ドライブの第1パルスの開始までのコマンド処理時間が見込まれる場合には、そのコマンド処理時間と、第1パルスのOFF時間及びON時間とを合計した時間がディレイタイムと同じ時間となるように第1パルス速度FSPDを設定する。
これにより、コントローラCPUのタイマー機能を利用しなくても、第1ドライブと第2ドライブとの間に精確なディレイタイムを安定して生成することができる。また、第1ドライブから第2ドライブへの移行も安定して行うことができる。更に、第1ドライブと第2ドライブとの間で、制御ホストとコントローラユニットとの間の通信や、コントローラCPUによる処理が行われないため、例えば従来のようにコントローラCPUのタイマー機能を利用する場合に比べて、制御ホストによる制御を簡略化でき、また、コントローラ用CPUの処理負担を効果的に低減できる。
以下に、パルス駆動モータに所定の動作を行わせるため、図1に示した本実施形態のパルス出力ロジック回路10を備えたコントロールユニットを用いる場合(実施例)と、図12に示した従来のパルス出力ロジック回路を備えたコントロールユニットを用いる場合(比較例)のそれぞれについて説明する。
ここで、パルス駆動モータは検査装置に用いられる場合にあって、そのモータによって、図9に示すように、検査対象物品を検査装置内に中速で搬入し、次に、計測を行うために検査対象物品を低速で移動させ、その後、検査対象物品を高速で搬出するために、ドライブ1〜ドライブ3の3つの単位動作パターンを組み合わせた動作パターンで駆動制御を行う場合を想定する。
(実施例)
本実施例の場合、モータの駆動制御を行うために、図1に示した本実施形態のパルス出力ロジック回路10のRAM13に、図9に示した3つの単位動作パターン(第1ドライブ〜第3ドライブ)を行うための複数の実行コマンドが予め書き込まれている。
具体的には、最初の搬入動作を行うために、台形駆動の単位動作パターン(第1ドライブ)を規定する実行コマンド(汎用コマンド)と、設定した条件に従って指令パルス列を出力する実行コマンド(汎用コマンド)とがRAM13に順番に書き込まれている。具体的には、上述したFSPD、LSPD、HSPD、UCYCLE、DCYCLE、ELSPD、RESOLの各パラメータを設定する実行コマンドと、設定した条件に従って指定した相対位置まで指令パルス列の出力を実行する実行コマンドとがRAM13に順番に書き込まれている。
続いて、次に一定の低速度での搬送を行うために、矩形駆動の単位動作パターン(第2ドライブ)におけるFSPD、LSPD(=HSPD)、ELSPD、RESOLの各パラメータを設定する実行コマンド(汎用コマンド)と、設定した条件に従って指定した相対位置まで指令パルス列の出力を実行する実行コマンド(汎用コマンド)とが、RAM13に、上述の矩形駆動用の実行コマンドに続いて順番に書き込まれている。
なお、この矩形駆動の単位動作パターンにおいて、第1パルス速度FSPDとして、前ドライブとなる搬入動作の単位動作パターンで最後に出力される最終パルス速度データRSPDに速度倍率RESOLを掛けて計算される速度が設定される(すなわち、低速搬送動作のFSPD=搬入動作のRSPD×RESOL)。
更に、最後の搬出動作を行うために、台形駆動の単位動作パターン(第3ドライブ)におけるFSPD、LSPD、HSPD、UCYCLE、DCYCLE、ELSPD、RESOLの各パラメータを設定する実行コマンドと、指定した相対位置まで指令パルス列の出力を実行する実行コマンドとが更にRAM13に順番に書き込まれている。
また、この第3ドライブの単位動作パターンでも、第1パルス速度FSPDとして、前ドライブとなる低速搬送動作の単位動作パターンで最後に出力される最終パルス速度データRSPDから計算(変換)される速度が設定される(すなわち、搬出動作のFSPD=低速搬送動作のRSPD×RESOL)。
上述のような複数の実行コマンドがRAM13に順番に保存されている状態で、制御ホストは、コントローラユニットに対して、RAM13の所定のアドレスから順番に実行コマンドを読み出して処理するRAMインターフェイス処理のリクエスト信号を送信する。リクエスト信号を受信したコントローラユニットは、そのリクエスト信号を実行コマンドに変換し、その変換された実行コマンドをパルス出力ロジック回路10に設定する。
そして、実行コマンドが設定されたパルス出力ロジック回路10のコマンド解析部12は、その設定された実行コマンドの内容に従って、RAM13に保存されている実行コマンド(汎用コマンド)を所定の番地から順番に読み出して実行する。それにより、コマンド解析部12は、そのRAM自動実行機能により、コントローラ用CPUから新たな実行コマンドが更に設定されなくても、RAM13の所定のアドレスから複数の実行コマンドを順番に自動的に読み出して実行し、パルス出力制御部14に次々とコマンド処理させることができ、その結果、パルス出力制御部14は、上述した搬入動作(第1ドライブ)を行うための指令パルス列を出力する。
また、パルス出力ロジック回路10のコマンド解析部12は、パルス出力制御部14が搬入動作(第1ドライブ)用の指令パルス列を出力している間は、その次の低速搬送動作(第2ドライブ)を行うための複数の実行コマンドと、最後の搬出動作(第3ドライブ)を行うための複数の実行コマンドとを順番に実行し、予約レジスタ15に順番に格納する。
そして、予約レジスタ15は、パルス出力制御部14による搬入動作(第1ドライブ)を行うための指令パルス列の出力が終了すると、その予約実行機能により、格納した低速搬送動作(第2ドライブ)を行うための複数の実行コマンドの内容を、コントローラCPUの処理を挟むことなく、コマンド解析部12の処理も挟むことなく、パルス出力制御部14に迅速に展開(LOAD)する。
それにより、パルス出力制御部14は、低速搬送動作(第2ドライブ)を行うための指令パルス列を、搬入動作用の指令パルス列から連続するように出力する。更に、パルス出力制御部14による低速搬送動作(第2ドライブ)用の指令パルス列の出力が終了すると、予約レジスタ15の予約実行機能により、格納した搬出動作(第3ドライブ)を行うための複数の実行コマンドの内容をパルス出力制御部14に迅速に展開(LOAD)し、搬出動作用の指令パルス列を、低速搬送動作用の指令パルス列から連続するように出力する。
以上のような動作を本実施形態のパルス出力ロジック回路10が行うことにより、検査装置に用いられるモータを、搬入動作と低速搬送動作との間や、低速搬送動作と搬出動作との間で停止させることなく、時間的に且つ速度的に連続させて図9に示した動作パターンに従って駆動制御することができる。
(比較例)
この比較例では、図12に示した従来のパルス出力ロジック回路40を備えたコントロールユニットを用いて、検査装置のモータに、上述したような搬入動作、低速搬送動作、及び搬出動作の3つの単位動作パターン(第1ドライブ〜第3ドライブ)を行わせる場合について図10を参照しながら説明する。
この場合、最初の搬入動作を行うために、先ず台形駆動の単位動作パターン(第1ドライブ)でモータを駆動制御する。具体的には、制御ホストは、「(1)LSPD及びELSPDの設定」を命令するリクエスト信号をコントローラユニットに向けて送信する。また、コントローラユニットは、受信したリクエスト信号の内容をコントローラCPUで解析して実行コマンドに変換し、その実行コマンドをパルス出力ロジック回路40に設定する。また同時に、コントローラ用CPUは、制御ホストのリクエスト信号に対するアンサーバック信号を生成し、そのアンサーバック信号を通信制御部から制御ホストに送信する。
制御ホストは、コントローラユニットからアンサーバック信号を受信した後、「(2)HSPDの設定」を命令するリクエスト信号をコントローラユニットに送信する。リクエスト信号を受信したコントローラユニットは、コントローラCPUにより、リクエスト信号の解析、リクエスト信号から実行コマンドへの変換、パルス出力ロジック回路40への実行コマンドの設定、受信したリクエスト信号に対するアンサーバック信号の送信の処理を行う。
以下同じように、制御ホストは、「(3)UCYCLEの設定」、「(4)DCYCLEの設定」、「(5)RESOLの設定」、及び「(6)設定した条件に従って指定した相対位置まで指令パルス列の出力の実行」を命令するリクエスト信号を、コントローラユニットからのアンサーバック信号の受信を待って順番に送信する。一方、コントローラユニットは、リクエスト信号を受信する度に上述した処理を行う。すなわち、比較例では、パルス出力ロジック回路40のパルス出力制御部44に1つのコマンド処理を行わせるごとに、制御ホストとコントローラユニットの通信を行うとともに、コントローラ用CPUによる様々な処理が必要となる。
そして、コントローラユニットのパルス出力ロジック回路40は、「(6)設定した条件に従って指定した相対位置まで指令パルス列の出力の実行」の実行コマンドがコントローラCPUによって設定されることによって、パルス出力制御部44から、上述した搬入動作(第1ドライブ)を行うための指令パルス列の出力を開始する。
搬入動作(第1ドライブ)用の指令パルス列の出力が終了した後、コントローラユニットは、指令パルス列の出力が終了した内容のアンサーバック信号を制御ホストに送信する。制御ホストは、そのアンサーバック信号を受信することによって、搬入動作用の指令パルス列の出力が終了したことを確認し、次の低速搬送動作(第2ドライブ)を行うために、矩形駆動の単位動作パターンでモータを駆動制御する。
すなわち、制御ホストは、「(1)LSPD及びELSPDの設定」、「(2)RESOLの設定」、及び「(3)設定した条件に従って指定した相対位置まで指令パルス列の出力の実行」を命令するリクエスト信号を、アンサーバック信号の受信を待って順番に送信する。一方、コントローラユニットは、リクエスト信号を受信する度に、上述したようなコントローラCPUにより、リクエスト信号の解析、リクエスト信号から実行コマンドへの変換、パルス出力ロジック回路40への実行コマンドの設定、受信したリクエスト信号に対するアンサーバック信号の送信の処理を行う。
このため、搬入動作(第1ドライブ)用の台形駆動の指令パルス列の出力が終了してから、低速搬送動作(第2ドライブ)用の矩形駆動の指令パルス列の出力を開始するまでに、制御ホストとコントローラユニットの間の通信時間や、コントローラCPUの処理時間が必要となる。また、搬入動作から低速搬送動作を連続的に行うことができないため、モータを一度停止させる必要がある。
更に、低速搬送動作(第2ドライブ)用の指令パルス列の出力が終了した後、搬出動作(第3ドライブ)用の台形駆動の指令パルス列の出力を開始するまでの間も同様に、搬出動作の指令パルス列を出力するために、制御ホストとコントローラユニットの間の通信時間や、コントローラCPUの処理時間が必要となるとともに、モータを一度停止させる必要がある。
以上の実施例と比較例の比較から明らかなように、検査装置に同じ動作を行わせる場合、従来のパルス出力ロジック回路40を用いる比較例では、第1ドライブ〜第3ドライブの各単位動作パターンで駆動制御する前に、制御ホストとコントローラユニット間の通信時間や、コントローラCPUの処理時間が必要となる。
このため、複数の単位動作パターンの指令パルス列を時間的に連続して出力することができず、単位動作パターンの合間に、モータを駆動させることのできないロス時間が生じる。またそのために、単位動作パターン間でモータを停止させる必要があり、単位動作パターン間で指令パルス列の出力を速度的に連続させることもできない。
それに対して、本実施形態のパルス出力ロジック回路10を用いる実施例では、RAM13に複数の実行コマンドを予め書き込んで記憶することが可能であるとともに、RAM13に保存した複数の実行コマンドをコマンド解析部12で自動的に実行させることが可能である。更に、パルス出力ロジック回路10に設けた予約レジスタ15により、パルス出力制御部14が行うコマンド処理の予約が可能である。
これにより、実施例では、第1ドライブ〜第3ドライブの複数の単位動作パターンを組み合わせてモータに一連の動作を行わせるときに、各ドライブ間で制御ホストとコントローラユニット間の通信を行わなくても、また、コントローラCPUで実行コマンドをパルス出力ロジック回路10に新たに設定しなくても、複数の単位動作パターンの指令パルス列を連続して出力できる。このため、上述のようなロス時間が生じることを防いで、一連の動作パターンの駆動制御を時間的な連続性をもって効率的に行うことができる。
また実施例では、複数の単位動作パターン間で時間的な連続性が得られるだけでなく、各単位動作パターンを規定するパラメータとして、第1パルス速度FSPDを設定するとともに、前ドライブの単位動作パターンで最後に出力される最終パルス速度データRSPDを記憶し、そのRSPDに速度倍率RESOLを掛けることによって、次のドライブの第1パルス速度FSPDに変換できる。これにより、第1ドライブ〜第3ドライブの一連の動作パターンの駆動制御を、速度的な連続性をもって行うことを可能にしている。
しかも、上述した実施例の効果は、駆動制御するモータの個数が多くなるほど、また、駆動制御するモータの動作パターンが多くなったり、複雑になったりするほど、より顕著に、より有効的に発揮される。