(57)【要約】【課題】  複数の単位動作パターンを組み合わせてモータの駆動制御を行う場合に、単位動作パターン間でモータを時間的に且つ速度的に連続して駆動させることが可能なパルス出力ロジック回路を提供する。【解決手段】  本発明のモータ制御用パルス出力ロジック回路(10)は、実行コマンドを解析して実行するコマンド解析部(12)と、指令パルス列を出力するとともに実行コマンドにより設定される条件に従って指令パルス列の出力を制御するパルス出力制御部(14)と、複数の実行コマンドを書き込んで保存するＲＡＭ(13)と、実行コマンドの内容を格納してパルス出力制御部(14)の次のコマンド処理を予約する予約レジスタ(15)を有し、コマンド解析部(12)はＲＡＭ自動実行機能及びコマンド予約機能とを備え、予約レジスタ(15)は予約実行機能を備えることを特徴とする。【選択図】図１
2017204955.tif 000002
【特許請求の範囲】
【請求項１】
パルス駆動モータ用のモータドライバに対し、前記モータを所定の動作で駆動させるための複数のパルスからなる指令パルス列を出力するモータ制御用パルス出力ロジック回路(10)であって、コントローラ用ＣＰＵにより設定される実行コマンドを解析して実行するコマンド解析部(12)と、前記指令パルス列を出力するとともに前記実行コマンドにより設定される条件に従って前記指令パルス列の出力を制御するパルス出力制御部(14)とを有するモータ制御用パルス出力ロジック回路(10)において、
複数の前記実行コマンドを書き込んで保存するＲＡＭ(13)を有し、
前記コマンド解析部(12)は、前記ＲＡＭ(13)に保存された複数の前記実行コマンドを順次読み出して自動的に実行するＲＡＭ自動実行機能を備えてなる、
ことを特徴とするモータ制御用パルス出力ロジック回路。
【請求項２】
パルス駆動モータ用のモータドライバに対し、前記モータを所定の動作で駆動させるための複数のパルスからなる指令パルス列を出力するモータ制御用パルス出力ロジック回路(10)であって、コントローラ用ＣＰＵにより設定される実行コマンドを解析して実行するコマンド解析部(12)と、前記指令パルス列を出力するとともに前記実行コマンドにより設定される条件に従って前記指令パルス列の出力を制御するパルス出力制御部(14)とを有するモータ制御用パルス出力ロジック回路(10)において、
複数の前記実行コマンドを書き込んで保存するＲＡＭ(13)と、少なくとも１つの前記実行コマンドの内容を格納して前記パルス出力制御部(14)の次のコマンド処理を予約する予約レジスタ(15)とを有し、
前記コマンド解析部(12)は、前記ＲＡＭ(13)に保存された複数の前記実行コマンドを順次読み出して自動的に実行するＲＡＭ自動実行機能と、前記パルス出力制御部(14)がコマンド処理中か否かを確認し、前記パルス出力制御部(14)がコマンド処理中のとき、読み出した前記実行コマンドの内容を前記予約レジスタ(15)に格納するコマンド予約機能とを備え、
前記予約レジスタ(15)は、前記パルス出力制御部(14)の前記コマンド処理後、当該予約レジスタ(15)に格納された前記実行コマンドの内容を前記パルス出力制御部(14)に展開する予約実行機能を備えてなる、
ことを特徴とするモータ制御用パルス出力ロジック回路。
【請求項３】
前記パルス出力制御部(14)により出力制御される前記指令パルス列は、前記モータを単位動作パターンで駆動させるための１又は複数の単位指令パルス列を有し、
前記単位動作パターンの駆動条件を規定するパラメータとして、前記実行コマンドにより、前記単位指令パルス列の最初に出力する第１パルスのＯＦＦ状態を保持する時間とＯＮ状態を保持する時間とを規定する第１パルス速度(FSPD)が設定される、
請求項１又は２記載のモータ制御用パルス出力ロジック回路。
【請求項４】
前記パルス出力制御部(14)に、前記単位指令パルス列の終了時に出力するパルス速度が最終パルス速度データ(RSPD)として記憶され、
前記第１パルス速度(FSPD)は、前記最終パルス速度データ(RSPD)を変換して設定される、
請求項３記載のモータ制御用パルス出力ロジック回路。
【請求項５】
前記単位動作パターンの駆動条件を規定するパラメータとして、前記モータを台形駆動に駆動制御するため、前記実行コマンドにより、加速開始時のパルス速度データ(LSPD)、最高速時のパルス速度データ(HSPD)、減速終了時のパルス速度データ(ELSPD) 、加速周期データ(UCYCLE)、減速周期データ(DCYCLE)、及び速度データの速度倍率(RESOL) が設定される請求項３又は４記載のモータ制御用パルス出力ロジック回路。
【請求項６】
前記単位動作パターンを規定するパラメータとして、前記台形駆動の加速時及び減速時の速度変化をＳ字状に加減速制御するため、前記実行コマンドにより、Ｓ字加速開始部の変速領域データ(SUL) 、Ｓ字加速終了部の変速領域データ(SUH) 、Ｓ字減速開始部の変速領域データ(SDH) 、及びＳ字減速終了部の変速領域データ(SDL) が設定される請求項５記載のモータ制御用パルス出力ロジック回路。
【請求項７】
前記実行コマンドとして、前記パラメータの設定及び前記単位動作パターンの実行を命令するコマンドを含む汎用コマンドと、前記単位動作パターンの停止を命令するコマンド、前記単位動作パターンの待機を命令するコマンド、動作開始の条件を設定するコマンド、及び動作停止の条件を設定するコマンドの少なくとも１つを含む特殊コマンドとが用いられ、
前記ＲＡＭ(13)に、前記汎用コマンドと前記特殊コマンドとが保存され、
前記コマンド解析部(12)は、前記ＲＡＭ(13)から前記汎用コマンド及び前記特殊コマンドを順次読み出し、前記パルス出力制御部(14)がコマンド処理中のとき、前記汎用コマンドの内容を前記予約レジスタ(15)に格納し、前記特殊コマンドの内容を前記パルス出力制御部(14)に優先的にコマンド処理させる、
請求項３〜６のいずれかに記載のモータ制御用パルス出力ロジック回路。
【請求項８】
請求項１〜７のいずれかに記載のモータ制御用パルス出力ロジック回路(10)と、前記モータの駆動制御を管理する制御ホストとの間で通信を行う通信インターフェイス回路と、前記制御ホストから受信する信号に従って前記パルス出力ロジック回路(10)に前記実行コマンドを設定する前記コントローラ用ＣＰＵとを有するモータ制御用コントローラユニット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パルス駆動モータ用のモータドライバに対し、モータを所定の動作で駆動させるための複数のパルスからなる指令パルス列を出力するモータ制御用パルス出力ロジック回路、及び、そのパルス出力ロジック回路を有するコントローラユニットに関する。
【背景技術】
【０００２】
工作機械や組み立て機械のような産業用機械装置や様々な検査装置には、サーボモータやステッピングモータ等の数多くのパルス駆動モータが用いられている。通常、１つの機械装置に設置される複数のパルス駆動モータは、モーションコントロールシステムで駆動制御されており、それによって、位置決め動作や複数軸の同期駆動などの様々な動作を円滑に行うことが可能となる。また、モーションコントロールシステムを利用することにより、サーボ制御や、センサ等のＩ／Ｏ制御などを一元的に管理できる。
【０００３】
例えば図１１に示すように、従来のモーションコントロールシステム３０は、モータ駆動の制御及び管理を行う制御ホスト３１と、制御ホスト３１の制御下におかれ、制御ホスト３１からの命令に従って指令パルス列を出力するコントローラユニット３２と、コントローラユニット３２から出力される指令パルス列に従ってパルス駆動モータ３４に駆動電流を供給するドライバーユニット３３とを有する。
【０００４】
制御ホスト３１は、例えばＰＣ（パーソナルコンピュータ）やＰＬＣ（プログラマブルロジックコントローラ）等により形成されており、Ｃ＃等の様々な開発言語を用いて構築される制御プログラムと、コントローラユニット３２との間で通信を行うためのデバイスドライバとを有する。
【０００５】
例えばモータ３４の駆動制御を行うために、制御ホスト３１の制御プログラムにおいて所定の関数が実行されると、その実行された関数に基づいてリクエスト信号が制御ホスト３１からコントローラユニット３２に向けて送信される。一方、リクエスト信号を受信したコントローラユニット３２では、そのリクエスト信号に従ってドライバーユニット３３に対して所定の指令パルス列を出力するとともに、リクエスト信号に対する応答として、実行結果等のアンサーバック信号が制御ホスト３１に向けて送信される。
【０００６】
制御ホスト３１では、そのアンサーバック信号を受信して解析することによって、関数の実行結果を確認することができる。従って、制御ホスト３１の制御プログラムで関数を実行するごとに、制御ホスト３１とコントローラユニット３２との間で相互に信号の送受信が複数回行われる。
【０００７】
また、コントローラユニット３２から指令パルス列が入力されたドライバーユニット３３は、その指令パルス列に従ってモータ３４の励磁コイルに駆動電流を流す。これにより、モータ３４を所定の動作パターンで円滑に回転駆動させることができる。
【０００８】
コントローラユニット３２は、一般的に、コントローラ用ＣＰＵ３２ａ（以下、単にＣＰＵと略記することもある）と、制御ホスト３１に対する信号の送受信を行う通信制御部３２ｂと、指令パルス列を発生させて出力するパルス出力ロジック回路４０とを主に有しており、これらのＣＰＵ３２ａ、通信制御部３２ｂ、及びパルス出力ロジック回路４０は、バス（データバス）３２ｃによって相互に接続されている。
【０００９】
このコントローラユニット３２は、通信インターフェイス回路３２ｄを介して制御ホスト３１と接続されており、また、パルス出力ロジック回路４０で発生させた指令パルス列の信号は、外部機器インターフェイス回路３２ｅを介してドライバーユニット３３に出力される。
【００１０】
ここで、コントローラ用ＣＰＵ３２ａが行う主な処理を例示すると、ＣＰＵ３２ａは、通信制御部３２ｂで受信した制御ホスト３１からの信号（リクエスト信号）の判別や解析を行う。また、受信した信号によっては、その信号を実行コマンドに変換し、変換した実行コマンドをパルス出力ロジック回路４０に設定する（書き込む）。更に、ＣＰＵ３２ａは、実行結果等の内容を含むアンサーバック信号を生成する処理を行う。
【００１１】
通信制御部３２ｂは、制御ホスト３１から送られるリクエスト信号の受信と、ＣＰＵ３２ａで生成されたアンサーバック信号の制御ホスト３１への送信とを、通信インターフェイス回路３２ｄを介して行う。
【００１２】
パルス出力ロジック回路４０は、例えば図１２に示すように、バス３２ｃに接続されるバスインターフェイス回路４１と、ＣＰＵ３２ａにより設定される実行プログラムを解析して実行するコマンド解析部４２と、実行プログラムに従って指令パルスを制御しながら発生させ、且つ、出力する指令パルスのカウントを行うパルス出力制御部４４とを有する。また、例えば接続されるパルス駆動モータ３４がサーボモータである場合は、図示しないエンコーダで検知される回転角や回転速度等の情報がフィードバック信号として、ドライバーユニット３３から、外部機器インターフェイス回路３２ｅを介してパルス出力ロジック回路４０に戻される。
【００１３】
上述のようなコントローラユニット３２は、制御ホスト３１からリクエスト信号を受信すると、そのリクエスト信号をＣＰＵ３２ａで解析して実行プログラムに変換し、更に、その実行プログラムをパルス出力ロジック回路４０に設定する。パルス出力ロジック回路４０では、コマンド解析部４２で実行プログラムが解析され、その実行プログラムの内容がパルス出力制御部４４に書き込まれる。
【００１４】
そして、パルス出力制御部４４は、書き込まれた実行プログラムの内容（条件）に従って、複数の指令パルスからなる指令パルス列をドライバーユニット３３に向けて出力する。これにより、指令パルス列を受信したドライバーユニット３３は、入力された指令パルス列に従って、駆動電流をパルス駆動モータ３４の励磁コイルに切り替えながら供給することによって、モータ３４を所定の動作パターンで回転駆動させることができる。
【００１５】
このようなパルス駆動モータに用いられるコントローラユニットに関して、例えば特開平８−３２０７１９号公報（特許文献１）や特開２００４−２８２９７２号公報（特許文献２）には、指令パルスを発生させるパルス出力ロジック回路（特許文献１では「パルス発生回路」と称し、特許文献２は「パルス発生ＩＣ」とする）について記載されている。
【００１６】
例えば特許文献１のパルス出力ロジック回路（パルス発生回路）には、次動作用データ領域としてのプリバッファが設けられている。特許文献１によれば、パルス出力ロジック回路がプリバッファを備えることにより、パルス出力ロジック回路の動作中に、次の動作用データをプリバッファに書き込むことが可能となる。それにより、パルス出力ロジック回路が動作を停止した後に、プリバッファから動作用データを読み出してスタートさせることができるため、トータルとしての高速動作が可能となるとしている。
【００１７】
また、特許文献２のパルス出力ロジック回路（パルス発生ＩＣ）は、レジスタ部と、コントローラ部と、パルス発生部とを有する。また、特許文献２のレジスタ部には、次動作のデータ及び次々動作のデータをそれぞれ予め書き込むことが可能な第１プリレジスタ及び第２プリレジスタが接続されている。
【００１８】
また、特許文献２では、軸制御ロジック回路が行う位置決め動作の動作パターンとして、モータを目標位置まで定速駆動させる第１速度パターンと、モータを加速スタート後に定速駆動し、更に減速停止させる第２速度パターンと、定速スタート後に減速停止させる第３速度パターンとが用意されている。
【００１９】
特許文献２によれば、上述のような３種類の速度パターンを備えることにより、指定された速度パターンでパルス駆動モータを位置決め動作させるとともに、スムーズな連続位置決め動作を実行することができるため、動作パターンが高速で行われてもモータへの負荷を軽減し、耐久性を高めることができるとしている。
【先行技術文献】
【特許文献】
【００２０】
【特許文献１】特開平８−３２０７１９号公報
【特許文献２】特開２００４−２８２９７２号公報
【発明の概要】
【発明が解決しようとする課題】
【００２１】
図１１に示した従来のモーションコントロールシステム３０において、パルス駆動モータ３４を、例えば図１３に示したように加速スタートさせてから、所定の一定速度で回転駆動させ、その後、減速して停止させるような動作パターン（以下、この動作パターンを台形駆動の動作パターンと称する）で駆動させるように駆動制御する場合、制御ホスト３１とコントローラユニット３２との間で複数回の通信を交互に行って、コントローラユニット３２のパルス出力ロジック回路４０に幾つかの実行コマンドを設定する必要がある。
【００２２】
具体的には、図１３に示した台形駆動の動作パターンでモータ３４を駆動制御する場合、先ず、制御ホスト３１は、制御プログラムで「（１）台形駆動の開始速度及び終了速度を規定するパルス速度データの設定」を行う関数を実行し、１回目のリクエスト信号をコントローラユニット３２に向けて送信する。
【００２３】
一方、コントローラユニット３２は、制御ホスト３１から送信された１回目のリクエスト信号を通信制御部３２ｂで受信し、更に、その受信したリクエスト信号の内容をコントローラユニット３２のＣＰＵ３２ａで解析する。
【００２４】
更に、コントローラ用ＣＰＵ３２ａは、受信したリクエスト信号を実行コマンドに変換し、その実行コマンドをパルス出力ロジック回路４０に設定する。このとき、台形駆動の開始速度と終了速度は、一つの実行コマンドの実行によって同じ速さに設定される。また同時に、コントローラ用ＣＰＵ３２ａは、制御ホスト３１のリクエスト信号に対する実行結果の内容を有するアンサーバック信号を生成し、そのアンサーバック信号を通信制御部３２ｂから制御ホスト３１に送信する。
【００２５】
制御ホスト３１は、コントローラユニット３２から上記アンサーバック信号を受信することによって、コントローラユニット３２が台形駆動の開始速度及び終了速度を設定するコマンド処理を行ったことを確認する。続いて、制御ホスト３１は、コントローラユニット３２に次のコマンド処理を行わせるために、「（２）最高速度を規定する最高速時のパルス速度データの設定」を行うための関数を実行し、２回目のリクエスト信号をコントローラユニット３２に送信する。
【００２６】
コントローラユニット３２は２回目のリクエスト信号を受信すると、その受信したリクエスト信号を、上記と同様に実行コマンドに変換してパルス出力ロジック回路４０に設定し、それと同時に、アンサーバック信号を生成して制御ホスト３１に送信する。
【００２７】
以下同じように、制御ホスト３１は、コントローラユニット３２からのアンサーバック信号の受信を待って、コントローラユニット３２の処理内容を確認しながら、「（３）台形駆動の加速割合を規定する加速周期データの設定」、「（４）台形駆動の減速割合を規定する減速周期データの設定」、「（５）台形駆動の速度データの速度倍率の設定」、及び「（６）設定したパラメータに基づいて指定した相対位置までの指令パルス出力の実行」を行うための関数を順番に実行し、リクエスト信号をその都度コントローラユニット３２に向けて送信する。
【００２８】
また、コントローラユニット３２では、リクエスト信号を通信制御部３２ｂで受信するたびに、コントローラ用ＣＰＵ３２ａによって、リクエスト信号の解析、リクエスト信号から実行コマンドへの変換、パルス出力ロジック回路４０への実行コマンドの設定、受信したリクエスト信号に対するアンサーバック信号の送信といった処理が行われる。
【００２９】
このように従来のモーションコントロールシステム３０では、図１３に示した１回の台形駆動の動作パターンでパルス駆動モータ３４に駆動させる場合、制御ホスト３１とコントローラユニット３２との間で信号の送受信を少なくとも１２回行う必要がある。それとともに、コントローラユニット３２内では、リクエスト信号を受信するたびに、コントローラ用ＣＰＵ３２ａによって同じような内部処理が繰り返して行われる。
【００３０】
すなわち、従来のモーションコントロールシステム３０では、モータ３４を台形駆動の動作パターンで駆動制御する場合、制御ホスト３１とコントローラユニット３２との間で複数回の通信のやり取りを行う必要があるため、通信時間が長くなるという問題や、コントローラ用ＣＰＵ３２ａの処理が多くなって、ＣＰＵ３２ａの負担が大きくなるという問題があった。
【００３１】
なお従来における台形駆動の駆動制御では、開始速度と終了速度とが同じ速さに設定することしかできないのが一般的であった。これは、開始速度と終了速度とを同じ速さにすれば、制御ホスト３１から１回のリクエスト信号を送信することによって台形駆動の開始速度と終了速度とを同時に設定できるため、通信時間が更に長くなることや、ＣＰＵ３２ａの処理負担が更に大きくなることを防げるからである。
【００３２】
更に、例えば上述したようなモータ３４の台形駆動に関して、図１４に示したように加速時の加速割合や減速時の減速割合がＳ字状を呈するようにモータ３４の加減速度を制御する場合がある。この場合、従来のモーションコントロールシステム３０では、パラメータの数をなるべく増やさないようにするため、Ｓ字加速開始部の変速領域、Ｓ字加速終了部の変速領域、Ｓ字減速開始部の変速領域、及びＳ字減速終了部の変速領域を全て同じ大きさに設定すること、又は、Ｓ字加速開始部の変速領域とＳ字加速終了部の変速領域を同じ大きさに設定するとともに、Ｓ字減速開始部の変速領域とＳ字減速終了部の変速領域を同じ大きさに設定することが規定事項とされていた。
【００３３】
一方、近年の機械装置や検査装置には複雑な動きや高度な動きが求められるようになってきている。例えば図１３及び図１４に示した動作パターンは、１つのモータに１つの単位動作を行わせるために設定されるものであり、実際の機械装置に設置されるモータは、異なる形状の台形駆動（例えば加速割合及び減速割合が異なる台形駆動）を組み合わせることや、所定の一定速度で回転駆動した後に停止する動作パターン（以下、この動作パターンを矩形駆動の動作パターンと称する）などのその他の単位動作パターンを組み合わせること等によって、より複雑な動作パターンでモータの駆動制御することが多くなってきている。
【００３４】
しかし、従来のモーションコントロールシステム３０では、装置に設置されるモータ３４の数が多くなったり、モータ３４の動作が複雑になったりするほど、制御ホスト３１とコントローラユニット３２との間の通信回数や通信時間が増大する。その結果、制御ホスト３１の性能、制御ホスト３１とコントローラユニット３２との間の通信速度、コントローラユニット３２の内部処理時間等の影響によって、システムにおける実行処理時間が制約されることや、モーションコントロールの処理時間にバラつきや誤差を生じさせることがある。
【００３５】
従って、より複雑な動作パターンでモータを円滑に駆動制御するために、制御ホスト３１とコントローラユニット３２との間の通信回数及び通信時間を増大させることなく、また、コントローラ用ＣＰＵ３２ａの処理負担を増大させることなく、モータの単位動作パターンをより細かく詳細に設定できるようにする技術の開発が強く望まれている。
【００３６】
特に従来では、それぞれの単位動作パターンをモータに行わせる場合、上述したように単位動作パターンごとに開始速度などの数種類のパラメータを、制御ホスト３１からリクエスト信号を１回１回送信することによってコントローラユニット３２に１つずつ設定し、更に全てのパラメータを設定した後に、パルス出力の実行を行わせるリクエスト信号を制御ホスト３１からコントローラユニット３２に送信することが必要になる。
【００３７】
従って、例えば異なる複数の単位動作パターンを組み合わせてモータ３４の駆動制御を連続的に行いたい場合でも、次の単位動作パターンに移る際に、制御ホスト３１とコントローラユニット３２との通信時間や、コントローラ用ＣＰＵ３２ａの処理時間が必然的に必要となる。このため、複数の単位動作パターンを時間的に連続的に行うことができないという問題があった。
【００３８】
なお、例えば上述した特許文献１や特許文献２に記載されているように、パルス出力ロジック回路４０にプリバッファ又はプリレジスタを設けることにより、パルス出力ロジック回路４０の動作中（例えば指令パルス列の出力中）に、その次にモータ３４に行わせる単位動作パターンのパラメータ等をプリバッファ又はプリレジスタに書き込むことが可能となる。このため、単位動作パターン間でモータ３４を駆動させることができない時間を短縮することが可能となる。
【００３９】
しかしながら、上述のようなプリバッファ又はプリレジスタがパルス出力ロジック回路４０に単純に設けられているだけでは、プリバッファ又はプリレジスに単位動作パターンのパラメータ等を書き込むために、制御ホスト３１とコントローラユニット３２との間で複数回の通信を、相変わらずその都度行う必用がある。また、コントローラ用ＣＰＵ３２ａの処理負担が大きいという問題を根本的に解消することもできない。
【００４０】
更に、上述のように単位動作パターンの間にモータを駆動させることができない時間が生じる場合、従来のモータ駆動制御では、モータに脱調が発生しないように、モータを単位動作パターン間で一時的に停止させる必要があった。その結果、モータを駆動制御する全体の時間を更に長引かせる事態を招いていた。従って、モータを単位動作パターン間で停止させることなく、速度的に連続性をもって駆動させることを可能にして、モータの駆動制御をより効率的に行うことが求められていた。
【００４１】
本発明は上記従来の課題に鑑みてなされたものであって、その目的は、複数の単位動作パターンを組み合わせてモータの駆動制御を行う場合でも、制御ホストとコントローラユニットとの間の通信回数を低減するとともにコントローラユニットのＣＰＵの処理負担を低減することが可能で、且つ、単位動作パターン間でモータを時間的に連続して駆動させることを可能にし、更には、単位動作パターン間でモータを速度的に連続性をもって駆動させることも可能にするモータ制御用のパルス出力ロジック回路及びコントローラユニットを提供することにある。
【課題を解決するための手段】
【００４２】
上記目的を達成するために、本発明により提供されるモータ制御用パルス出力ロジック回路は、基本的な構成として、パルス駆動モータ用のモータドライバに対し、前記モータを所定の動作で駆動させるための複数のパルスからなる指令パルス列を出力するモータ制御用パルス出力ロジック回路であって、コントローラ用ＣＰＵにより設定される実行コマンドを解析して実行するコマンド解析部と、前記指令パルス列を出力するとともに前記実行コマンドにより設定される条件に従って前記指令パルス列の出力を制御するパルス出力制御部とを有するモータ制御用パルス出力ロジック回路において、複数の前記実行コマンドを書き込んで保存するＲＡＭを有し、前記コマンド解析部は、前記ＲＡＭに保存された複数の前記実行コマンドを順次読み出して自動的に実行するＲＡＭ自動実行機能を備えてなることを最も主要な特徴とするものである。
【００４３】
また、本発明により提供される別のモータ制御用パルス出力ロジック回路は、基本的な構成として、パルス駆動モータ用のモータドライバに対し、前記モータを所定の動作で駆動させるための複数のパルスからなる指令パルス列を出力するモータ制御用パルス出力ロジック回路であって、コントローラ用ＣＰＵにより設定される実行コマンドを解析して実行するコマンド解析部と、前記指令パルス列を出力するとともに前記実行コマンドにより設定される条件に従って前記指令パルス列の出力を制御するパルス出力制御部とを有するモータ制御用パルス出力ロジック回路において、複数の前記実行コマンドを書き込んで保存するＲＡＭと、少なくとも１つの前記実行コマンドの内容を格納して前記パルス出力制御部の次のコマンド処理を予約する予約レジスタとを有し、前記コマンド解析部は、前記ＲＡＭに保存された複数の前記実行コマンドを順次読み出して自動的に実行するＲＡＭ自動実行機能と、前記パルス出力制御部がコマンド処理中か否かを確認し、前記パルス出力制御部がコマンド処理中のとき、読み出した前記実行コマンドの内容を前記予約レジスタに格納するコマンド予約機能とを備え、前記予約レジスタは、前記パルス出力制御部の前記コマンド処理後、当該予約レジスタに格納された前記実行コマンドの内容を前記パルス出力制御部に展開する予約実行機能を備えてなることを最も主要な特徴とするものである。
【００４４】
上述のような本発明のモータ制御用パルス出力ロジック回路において、前記パルス出力制御部により出力制御される前記指令パルス列は、前記モータを単位動作パターンで駆動させるための１又は複数の単位指令パルス列を有し、前記単位動作パターンの駆動条件を規定するパラメータとして、前記実行コマンドにより、前記単位指令パルス列の最初に出力する第１パルスのＯＦＦ状態を保持する時間とＯＮ状態を保持する時間とを規定する第１パルス速度が設定されることが好ましい。
【００４５】
この場合、前記パルス出力制御部に、前記単位指令パルス列の終了時に出力するパルス速度が最終パルス速度データとして記憶され、前記第１パルス速度は、前記最終パルス速度データを変換して設定されることが好ましい。
【００４６】
また、前記単位動作パターンの駆動条件を規定するパラメータとして、前記モータを台形駆動に駆動制御するため、前記実行コマンドにより、加速開始時のパルス速度データ、最高速時のパルス速度データ、減速終了時のパルス速度データ、加速周期データ、減速周期データ、及び速度データの速度倍率が設定されることが好ましい。
【００４７】
この場合、前記単位動作パターンを規定するパラメータとして、前記台形駆動の加速時及び減速時の速度変化をＳ字状に加減速制御するため、前記実行コマンドにより、Ｓ字加速開始部の変速領域データ、Ｓ字加速終了部の変速領域データ、Ｓ字減速開始部の変速領域データ、及びＳ字減速終了部の変速領域データが設定されることが好ましい。
【００４８】
また、本発明のモータ制御用パルス出力ロジック回路では、前記実行コマンドとして、前記パラメータの設定及び前記単位動作パターンの実行を命令するコマンドを含む汎用コマンドと、前記単位動作パターンの停止を命令するコマンド、前記単位動作パターンの待機を命令するコマンド、動作開始の条件を設定するコマンド、及び動作停止の条件を設定するコマンドの少なくとも１つを含む特殊コマンドとが用いられ、前記ＲＡＭに、前記汎用コマンドと前記特殊コマンドとが保存され、前記コマンド解析部は、前記ＲＡＭから前記汎用コマンド及び前記特殊コマンドを順次読み出し、前記パルス出力制御部がコマンド処理中のとき、前記汎用コマンドの内容を前記予約レジスタに格納し、前記特殊コマンドの内容を前記パルス出力制御部に優先的にコマンド処理させることが好ましい。
【００４９】
更に本発明によれば、上述した構成を有するモータ制御用パルス出力ロジック回路と、前記モータの駆動制御を管理する制御ホストとの間で通信を行う通信インターフェイス回路と、前記制御ホストから受信する信号に従って前記パルス出力ロジック回路に前記実行コマンドを設定する前記コントローラ用ＣＰＵとを有することを特徴とするモータ制御用コントローラユニットが提供される。
【発明の効果】
【００５０】
本発明に係るモータ制御用パルス出力ロジック回路は、実行コマンドを解析して実行するコマンド解析部と、指令パルス列を出力するとともに実行コマンドにより設定される条件に従って指令パルス列の出力を制御するパルス出力制御部と、複数の実行コマンドを書き込んで保存するＲＡＭとを有する。また、コマンド解析部は、ＲＡＭに保存された複数の実行コマンドを１つずつ順次読み出して自動的に実行するＲＡＭ自動実行機能を備える。
【００５１】
このような本発明のパルス出力ロジック回路によれば、例えば各単位動作パターンをモータに行わせる複数の実行コマンドを、例えばモータの駆動を開始させる前にＲＡＭに予め保存することが可能となる。またこの場合、ＲＡＭに複数の実行コマンドを保存した後に、コマンド解析部に対し、ＲＡＭに保存された複数の実行コマンドをＲＡＭ自動実行機能により順次読み出して実行する内容の実行コマンドが設定されることにより、パルス出力ロジック回路は、その後、コントローラ用ＣＰＵから新たな実行コマンドを設定しなくても、また、制御ホストとコントローラとの間でリクエスト信号及びアンサーバック信号のやり取りを繰り返して行わなくても、ＲＡＭ内の複数の実行コマンドを順番に読み出して解析し、その実行コマンドの内容をパルス出力制御部に次々とコマンド処理させることができ、それによって、モータに単位動作パターンを行わせるための指令パルス列をモータドライバに出力することができる。
【００５２】
従って、上述のようなＲＡＭと、ＲＡＭ自動実行機能を備えるコマンド解析部とを有する本発明のパルス出力ロジック回路は、複数の単位動作パターンを組み合わせた複雑な動作をモータに行わせる場合でも、上述の通信回数及び通信時間を低減できる上に、コントローラ用ＣＰＵの処理負担も大きく低減できる。それにより、単位動作パターン間でモータを駆動させることができない時間を大幅に短縮することができ、その結果、複数の単位動作パターンを時間的に連続して行うことが可能となる。
【００５３】
更に、上述のような通信回数及び通信時間の低減とＣＰＵの処理負担の低減とが実現できることによって、モータの単位動作パターンを、従来よりも多くのパラメータを用いて設定することができるようになる。それにより、モータの単位動作パターンを従来に比べて、より細かく、より詳細に規定することも可能となる。
【００５４】
本発明に係る別のモータ制御用パルス出力ロジック回路は、実行コマンドを解析して実行するコマンド解析部と、指令パルス列を出力するとともに実行コマンドにより設定される条件に従って指令パルス列の出力を制御するパルス出力制御部と、複数の実行コマンドを書き込んで保存するＲＡＭと、実行コマンドの内容を格納して予約する予約レジスタとを有する。
【００５５】
また、コマンド解析部は、ＲＡＭに保存された複数の実行コマンドを順次読み出して自動的に実行するＲＡＭ自動実行機能と、パルス出力制御部がコマンド処理中のとき、読み出した前記実行コマンドの内容を前記予約レジスタに格納するコマンド予約機能とを備える。更に、予約レジスタは、パルス出力制御部のコマンド処理後、当該予約レジスタに格納された実行コマンドの内容をパルス出力制御部に展開する予約実行機能を備える。
【００５６】
このような本発明のパルス出力ロジック回路であれば、ＲＡＭとコマンド解析部のＲＡＭ自動実行機能とにより、上述したように複数の単位動作パターンを組み合わせた複雑な動作をモータに行わせる場合でも、制御ホストとコントローラとの間の通信回数及び通信時間を低減できる上に、コントローラ用ＣＰＵの処理負担も大きく低減できる。
【００５７】
更に、このパルス出力ロジック回路は、パルス出力制御部がコマンド処理中のときにコマンド解析部により実行コマンドの内容が格納され、パルス出力制御部のコマンド処理後にその実行コマンドの内容をパルス出力制御部に展開する予約レジスタを有する。従って、この予約レジスタに複数の実行コマンドの内容を格納しておくことにより、パルス出力制御部が単位動作パターンの指令パルス列の出力を終了した後、次の指令パルス列の出力を開始する際に、コントローラ用ＣＰＵから新たな実行コマンドを設定しなくても、また、制御ホストとコントローラとの間でリクエスト信号及びアンサーバック信号のやり取りを行わなくても、更には、ＲＡＭから次に行う単位動作パターンに関する実行コマンドを順次読み出さなくても、パルス出力制御部は、予約レジスタに格納された実行コマンドの内容に従って迅速にコマンド処理を開始することができる。
【００５８】
これにより、単位動作パターン間でモータを駆動させることができない時間を大幅に短縮すること又はなくすことができ、その結果、複数の単位動作パターンを時間的に連続して且つ安定して行うことが可能となる。更に、単位動作パターン間でモータ停止の必要がなくなることにより、モータの回転速度に単位動作パターン間で連続性を持たせることができるため、複数の単位動作パターンを組み合わせて行う駆動制御を従来よりも効率的に行うことができる。
【００５９】
更にこの場合、上述したように通信回数及び通信時間の低減とＣＰＵの処理負担の低減とが実現できることによって、モータの単位動作パターンを、従来よりも多くのパラメータを用いて設定することができるようになる。それにより、モータの単位動作パターンを従来に比べて、より細かく、より詳細に規定することも可能となる。
【００６０】
上述のような本発明のパルス出力ロジック回路において、パルス出力制御部により出力制御される指令パルス列は、モータを単位動作パターンで駆動させるための１又は複数の単位指令パルス列を有する。また、本発明のパルス出力ロジック回路は、単位動作パターンの駆動条件を規定するパラメータとして、実行コマンドにより、単位指令パルス列の最初に出力する第１パルスのＯＦＦ状態を保持する時間（以下、ＯＦＦ時間と言う）とＯＮ状態を保持する時間（以下、ＯＮ時間と言う）とを規定する第１パルス速度が設定可能に設計される。
【００６１】
このように、単位動作パターンを規定するパラメータとして、ＯＦＦ時間とＯＮ時間をそれぞれ規定する第１パルス速度を採用することにより、２つの単位動作パターンの単位指令パルス列を容易に連続的に繋げることができる。すなわち、例えば１つの単位動作パターン（例えば前ドライブ）の単位指令パルス列の出力を終了してから、次の単位動作パターン（例えば次ドライブ）の単位指令パルス列を出力するまでに処理時間を要する場合、第１パルス速度を単位動作パターンのパラメータとして導入することにより、単位動作パターン間に生じる処理時間を考慮して第１パルスのＯＦＦ時間とＯＮ時間を適切に規定することができる。これにより、前ドライブと次ドライブとを連続的に接続することができ、２つの単位動作パターン間に実質的に停止が生じない一連の動作パターンとして指令パルス列の出力を行うことができる。
【００６２】
また、例えば１つの単位動作パターン（例えば前ドライブ）の単位指令パルス列の出力を終了してから、次の単位動作パターン（例えば次ドライブ）の単位指令パルス列の出力を開始するまでに、モータを駆動させない時間（ディレイタイム）を意図的に挿入する場合、第１パルス速度を単位動作パターンのパラメータとして導入することにより、第１パルス速度で規定される第１パルスのＯＦＦ時間及びＯＮ時間を、ディレイタイムとして設定して利用することができる。
【００６３】
例えば従来のコントローラユニットにおいて、上述のディレイタイムを挿入する場合は、コントローラユニットのＣＰＵのタイマー機能を利用している。しかし、従来のようにＣＰＵのタイマー機能を利用する場合、制御ホストでの制御が煩雑になり易く、また、制御ホストとコントローラとの間での信号のやり取りが多くなる。更に、コントローラ用ＣＰＵの処理負担が極めて大きくなる。
【００６４】
これに対して、本発明では、上述のように第１パルスのＯＦＦ時間及びＯＮ時間をディレイタイムに対応させて適切に規定することにより、ＣＰＵのタイマー機能を利用しなくても、ディレイタイムを精確に且つ容易に挿入することができる。これにより、制御ホストでの制御を簡略化できるとともに、コントローラ用ＣＰＵの処理負担だけでなく、制御ホストの処理負担も効果的に低減できる。
【００６５】
また本発明では、単位動作パターンのパラメータとして上述の第１パルス速度を設定する場合、単位指令パルス列の終了時に出力するパルス速度を最終パルス速度データとしてパルス出力制御部に記憶し、その最終パルス速度データを第１パルス速度に変換して用いることができる。
【００６６】
これにより、前ドライブの単位指令パルス列と次ドライブの単位指令パルス列とを連結することができるため、複数の単位動作パターンを時間的に連続して且つより安定して行うことができる。またこの場合、前ドライブの最終のパルス速度と次ドライブの最初のパルス速度（すなわち、第１パルスの速度）とが必然的に同じ速度になるため、単位動作パターン間のモータの回転速度に連続性を安定して持たせることができる。それにより、モータの駆動制御をより円滑に行うことができ、また、モータに脱調や振動などの不具合が生じることを効果的に防止できる。
【００６７】
更に本発明では、台形駆動の単位動作パターンの駆動条件を規定するパラメータとして、実行コマンドにより、加速開始時のパルス速度データ、最高速時のパルス速度データ、減速終了時のパルス速度データ、加速周期データ、減速周期データ、及び速度データの速度倍率が設定される。
【００６８】
従来では、台形駆動の単位動作パターンでモータを駆動制御する場合、その単位動作パターンを規定するパラメータとして、前述のように加速開始時及び減速終了時のパルス速度データ、最高速時のパルス速度データ、加速周期データ、減速周期データ、及び速度データの速度倍率の５種類のパラメータが一般的に用いられる（図１３を参照）。
【００６９】
これに対して、本発明では、上述のように、制御ホストとコントローラユニットとの間の通信回数及び通信時間を従来よりも低減できるとともに、ＣＰＵの処理負担を従来よりも低減できるため、本発明のパルス出力ロジック回路は、台形駆動の単位動作パターンを規定するパラメータとして、上述の第１パルス速度に加えて、加速開始時のパルス速度データ、最高速時のパルス速度データ、減速終了時のパルス速度データ、加速周期データ、減速周期データ、及び速度データの速度倍率という従来よりも多い７種類のパラメータを用いるように設計される。これにより、台形駆動の単位動作パターンをより詳細に規定できるため、モータの駆動をより適確に制御することができる。
【００７０】
更に、台形駆動の加速時及び減速時の速度変化をＳ字状に加減速制御する場合、その単位動作パターンを規定するパラメータとして、従来では、上述した５種類のパラメータに、Ｓ字加速開始部、Ｓ字加速終了部、Ｓ字減速開始部、及びＳ字減速終了部の変速領域を規定する１つの変速領域データを加えた合計６種類のパラメータが一般的に用いられる（図１４を参照）。これに対して、本発明のパルス出力ロジック回路は、上述した７種類のパラメータに、Ｓ字加速開始部の変速領域データ、Ｓ字加速終了部の変速領域データ、Ｓ字減速開始部の変速領域データ、及びＳ字減速終了部の変速領域データを加えた合計１１種類のパラメータを用いるように設計される。これにより、駆動形状を変形台形状にすることや加減速を疑似ｓｉｎ波形のようにすること等のように、単位動作パターンを更に詳細に規定することが可能となるため、モータの駆動をより一層適確に制御することができる。
【００７１】
また、本発明のパルス出力ロジック回路は、実行コマンドとして、上述のようなパラメータの設定及び単位動作パターンの実行（開始）を命令するコマンドを含む汎用コマンドと、単位動作パターンの減速停止又は即時停止を命令するコマンド、単位動作パターンの待機を命令するコマンド、動作開始の条件を設定するコマンド、動作停止の条件を設定するコマンドなどを含む特殊コマンドとを用いるように設計される。ここで、汎用コマンドは、コマンド実行中には受け付けられないように制限される機能の命令であり、特殊コマンドは、常時受け付け可能とする機能の命令である。
【００７２】
この場合、パルス出力ロジック回路のＲＡＭには、汎用コマンドと前記特殊コマンドとを保存することができる。また、パルス出力ロジック回路のコマンド解析部は、ＲＡＭから汎用コマンド及び特殊コマンドを１つずつ順次読み出し、パルス出力制御部がコマンド処理中のとき、汎用コマンドの内容については予約レジスタに格納し、特殊コマンドの内容についてはパルス出力制御部に優先的にコマンド処理させることができる。
これにより、例えばパルス出力ロジック回路にコントローラ用ＣＰＵからＲＡＭに書き込まれた実行コマンドを順番に実行する内容の実行コマンドが設定されることにより、コマンド解析部は、その後にコントローラ用ＣＰＵから実行コマンドが設定されなくても、また、制御ホストとコントローラとの間で信号のやり取りを行わなくても、ＲＡＭに書き込まれた順番に従って汎用コマンド及び特殊コマンドを順次読み出すことができる。
【００７３】
また、パルス出力制御部がコマンド処理中のとき、ＲＡＭから読み出された汎用コマンドの内容を予約レジスタに順番に格納することにより、その後にパルス出力制御部が行う汎用コマンドのコマンド処理を順番に予約できる。一方、パルス出力制御部がコマンド処理中のとき、ＲＡＭから読み出された特殊コマンドの内容については、その実行中のコマンド処理を停止させて、パルス出力制御部に優先的にコマンド処理させることができる。それによって、モータを駆動制御できる動作パターンのバリエーションを増やすことや、モータをより適確に駆動制御することが可能となる。
【００７４】
そして、本発明によれば、上述した構成を有するモータ制御用パルス出力ロジック回路と、制御ホストとの間で通信を行う通信インターフェイス回路と、制御ホストから受信する信号に従ってパルス出力ロジック回路に実行コマンドを設定する前記コントローラ用ＣＰＵとを有するモータ制御用コントローラユニットが提供される。
【００７５】
本発明のコントローラユニットでは、パルス出力ロジック回路の上述したＲＡＭとコマンド解析部のＲＡＭ自動実行機能とにより、複数の単位動作パターンを組み合わせた複雑な動作をモータに行わせる場合でも、制御ホストとコントローラとの間の通信回数及び通信時間を低減できる上に、コントローラ用ＣＰＵの処理負担も大きく低減できる。
【００７６】
更に、パルス出力ロジック回路が上述のような予約レジスタを有することにより、複数の単位動作パターンを組み合わせてモータの駆動制御を行う場合に、次ドライブ以降にコマンド処理を行う複数の実行コマンドの内容を予約レジスタに格納して予約することができる。これにより、パルス出力制御部が単位動作パターンの指令パルス列の出力を終了した後、次の指令パルス列の出力を開始する際に、コントローラ用ＣＰＵから新たな実行コマンドを設定しなくても、また、制御ホストとコントローラとの間でリクエスト信号及びアンサーバック信号のやり取りを行わなくても、更には、ＲＡＭから次に行う単位動作パターンに関する実行コマンドを順次読み出さなくても、パルス出力制御部は、予約レジスタに格納された実行コマンドの内容に従って迅速にコマンド処理を開始することができる。
【００７７】
その結果、単位動作パターン間でモータを駆動させることができない時間を大幅に短縮すること又はなくすことができ、その結果、複数の単位動作パターンを時間的に連続して且つ安定して行うことが可能となる。更に、単位動作パターン間でモータ停止の必要がなくなることにより、モータの回転速度に単位動作パターン間で連続性を持たせることができるため、複数の単位動作パターンを組み合わせて行う駆動制御を従来よりも効率的に行うことができる。
【００７８】
更に本発明のコントローラユニットでは、モータの単位動作パターンを、従来よりも多くのパラメータを用いて設定することができるようになる。それにより、モータの単位動作パターンを従来に比べて、より細かく、より詳細に規定することも可能となる。
【図面の簡単な説明】
【００７９】
【図１】本発明のパルス出力ロジック回路を示すブロック図である。
【図２】パルス出力ロジック回路のＲＡＭに実行コマンドが書き込まれた状態を説明する説明図である。
【図３】本発明により可能となる台形駆動の単位動作パターンを示すグラフである。
【図４】本発明により可能となるＳ字状に加減速制御する台形駆動の単位動作パターンを示すグラフである。
【図５】本発明により可能となる動作パターンを示すグラフである。
【図６】指令パルス列の第１パルスについて説明する模式図である。
【図７】本発明により可能となる別の動作パターンを示すグラフである。
【図８】本発明により可能となる更に別の動作パターンを示すグラフである。
【図９】本発明の実施例に係るモータ駆動制御の動作パターンを示すグラフである。
【図１０】比較例に係るモータ駆動制御の動作パターンを示すグラフである。
【図１１】モーションコントロールシステムを説明するブロック図である。
【図１２】従来のパルス出力ロジック回路を示すブロック図である。
【図１３】従来行われている台形駆動の単位動作パターンを示すグラフである。
【図１４】従来行われているＳ字状に加減速制御する台形駆動の単位動作パターンを示すグラフである。
【発明を実施するための形態】
【００８０】
以下に、本発明の好適な実施の形態について、図面を参照しながら詳細に説明する。
ここで、図１は、本実施形態に係るパルス出力ロジック回路を示すブロック図である。図２は、そのパルス出力ロジック回路のＲＡＭに実行コマンドが書き込まれた状態を説明する説明図である。
【００８１】
本実施形態のパルス出力ロジック回路１０を有するコントローラユニットは、パルス出力ロジック回路１０が従来と異なるものの、パルス出力ロジック回路１０以外の部分については、図１１に示した従来のコントローラユニットと実質的に同様に形成されている。
【００８２】
すなわち、本実施形態のコントローラユニットは、様々な処理を行うコントローラ用ＣＰＵと、制御ホストとの間通信を行う通信制御部と、図１に示すパルス出力ロジック回路１０とを有する。また、コントローラ用ＣＰＵ、通信制御部、及びパルス出力ロジック回路１０は、バス（データバス）によって相互に接続されている。
【００８３】
更に、本実施形態のコントローラユニットは、通信インターフェイス回路を介して制御ホストと接続されている。コントローラユニットのパルス出力ロジック回路１０で発生させた指令パルス列の信号は、外部機器インターフェイス回路を介してドライバーユニットに出力される。また、本実施形態のコントローラユニットは、パルス出力ロジック回路１０の後述するＲＡＭ１３に書き込むことが可能な複数の実行コマンドを記憶するＲＯＭを備えていても良い。
【００８４】
この場合、本実施形態のコントローラユニットは、従来と同じように、コントローラユニットとの間でリクエスト信号とアンサーバック信号のやり取りをすることによってコントローラユニットの制御及び管理を行う制御ホストと、コントローラユニットから出力される指令パルス列に従ってパルス駆動モータに駆動電流を供給するドライバーユニットとともに、モーションコントロールシステムを構成する。また、ドライバーユニットに接続されるパルス駆動モータには、サーボモータ又はステッピングモータが用いられる。
【００８５】
本実施形態のコントローラユニットにおいて、特徴となるパルス出力ロジック回路１０は、図１に示したように、バスに接続するバスインターフェイス回路１１と、コントローラＣＰＵにより設定される実行プログラムを解析して実行するコマンド解析部１２と、複数の実行コマンドを書き込んで保存可能なＲＡＭ１３と、指令パルス列を出力するパルス出力制御部１４と、実行コマンドの内容を格納してパルス出力制御部１４の次のコマンド処理を予約する予約レジスタ１５とを有する。このような本実施形態のパルス出力ロジック回路１０は、例えば図１２に示した従来のパルス出力ロジック回路と構造的に比較すると、ＲＡＭ１３と予約レジスタ１５が新たに設けられていることに違いを有する。
【００８６】
なお、本実施形態のパルス出力ロジック回路１０は、１つのモータのドライバーユニットに対して指令パルス列を出力することが可能な１軸用のロジック回路として形成されている。しかし、本発明では、２つのモータの各ドライバーユニットに対して指令パルス列をそれぞれ出力することが可能な２軸用のロジック回路として形成されていても良い。
【００８７】
パルス出力ロジック回路１０のコマンド解析部１２は、コントローラ用ＣＰＵで設定される実行コマンドを解析し、更に、実行コマンドの内容に従ってパルス出力制御部１４に所定のコマンド処理を行わせることができる。この場合、コマンド解析部１２で解析する実行コマンドは、８ビットのコマンドと、１６ビットの第１データと、１６ビットの第２データとを有する。なお実際の実行コマンドは、第２データ、第１データ、コマンドの順番で形成される。
【００８８】
また、本実施形態で用いられる実行コマンドには、一般的な汎用コマンドと、他の処理が行われている最中でも割り込んで実行させることが可能な特殊コマンドとが用いられる。この場合、汎用コマンドは、パルス出力制御部１４が他の実行コマンドを処理しているときには受け付けることのできないコマンドであり、このような汎用コマンドには、主に、モータの単位動作パターンを規定するための各パラメータを設定するためのコマンドや、指令パルス列の出力を実行するためのコマンドが含まれる。またその他に、汎用コマンドには、一定速度でモータを回転駆動させる場合のパルス速度やパルス数を設定するためのコマンドなども含まれる。
【００８９】
一方、特殊コマンドは、パルス出力制御部１４に割り込んでコマンド処理させることができるように常時実行可能な機能のコマンドであり、この特殊コマンドには、例えば、パルス出力制御部１４が指令パルス列の出力中にその指令パルス列の出力を減速して停止させる又は即時停止させるためのコマンド、指令パルス列の出力の実行を一時的に中断させて待機させるためのコマンド、中断時などに動作開始の条件を設定するコマンド、及び、指令パルス列の出力中などに動作停止の条件を設定するコマンドなどが含まれる。またその他に、特殊コマンドには、コマンド解析部１２に後述するＲＡＭ自動実行機能によりＲＡＭ１３から実行コマンドを所定のアドレスから順番に読み出して実行させるためのコマンド、ＲＡＭ１３から読み出す実行コマンドのアドレスを変更させる（移動させる）ためのコマンド、ＲＡＭ自動実行機能を終了させるためのコマンドなどの様々なコマンドが含まれ、汎用コマンドよりも多くの種類がある。複数の異なる動作を組み合わせた一連の連続動作は、上述のような特殊コマンドと汎用コマンドの両方の組み合わせで構成される。
【００９０】
ここで、コマンド解析部１２における具体的な処理内容について説明すると、コマンド解析部１２は、単位動作パターンの各パラメータを規定する実行コマンド（汎用コマンド）がコントローラ用ＣＰＵにより設定されると、その実行コマンドを解析して実行する。
【００９１】
すなわち、コマンド解析部１２は、実行コマンド（汎用コマンド）に含まれるコマンドと第１及び第２データとに従って、単位動作パターンのパラメータをパルス出力制御部１４に設定し、単位動作パターンの条件を定める。１つ又は複数のパラメータが設定された後、コマンド解析部１２は、指令パルス列の出力を実行する実行コマンド（汎用コマンド）がコントローラ用ＣＰＵにより設定されることにより、その実行コマンドに従って、パルス出力制御部１４に対し、設置されたパラメータによって規定される所定の条件で指令パルス列を発生させて出力するとともに、出力した指令パルスの回数をカウントする動作を行わせる。
【００９２】
また、コマンド解析部１２は、例えばコントローラ用ＣＰＵによりＲＡＭインターフェイス処理の実行コマンドが設定されたときに、後述するようにＲＡＭ１３に書き込まれている複数の実行コマンドを所定のアドレスから１つずつ順番に自動的に読み出して実行するＲＡＭ自動実行機能を備える。
【００９３】
このＲＡＭ自動実行機能により、パルス出力ロジック回路１０は、ＲＡＭインターフェイス処理の実行コマンドが設定された後、コントローラ用ＣＰＵから新たな実行コマンドが設定されなくても、また、制御ホストとコントローラとの間で信号のやり取りを繰り返して行わなくても、ＲＡＭ１３内の複数の実行コマンドを１つずつ自動的に読み出して順次実行し、パルス出力制御部１４に次々とコマンド処理させることが可能となる。
【００９４】
更に、コマンド解析部１２は、パルス出力制御部１４がコマンド処理中か否かを確認し、パルス出力制御部１４がコマンド処理中のときには、コントローラ用ＣＰＵにより設定された汎用コマンドの内容や、ＲＡＭ１３から読み出した汎用コマンドの内容を予約レジスタ１５に格納するコマンド予約機能を備える。
【００９５】
このコマンド予約機能により、例えばパルス出力制御部１４が指令パルス列の出力などのコマンド処理を行っている最中に、コントローラ用ＣＰＵによって新たな汎用コマンドが設定されたときや、ＲＡＭ１３から新たな汎用コマンドを読み出したときに、その汎用コマンドを解析して、その汎用コマンドの内容（例えば、後述する第１パルス速度等のパラメータの設定や、相対位置までの指令パルス列の出力の実行など）を、予約レジスタ１５に順番に記憶させることが可能となる。
【００９６】
なお本実施形態において、予約レジスタ１５に予約できる実行コマンドは、汎用コマンドに限定される。一方、特殊コマンドは、コマンド解析部１２によって解析されたときにパルス出力制御部１４がコマンド処理中であっても、コマンド解析部１２からパルス出力制御部１４に展開されて、特殊コマンドの内容がパルス出力制御部１４でコマンド処理される。
【００９７】
パルス出力ロジック回路１０に設けられるＲＡＭ１３は、ランダムアクセスによる読み書き（Ｒｅａｄ／Ｗｒｉｔｅ）可能なメモリであり、データの書き込みや消去を自由に行うことができ、また、書き込まれて格納されたデータに任意の順序でアクセスすることができる。
【００９８】
本実施形態のＲＡＭ１３には、制御ホストからの命令（リクエスト信号）により、コマンドと第１及び第２データとにより形成される実行コマンドを書き込むことができる。このＲＡＭ１３は、図２に示すように、「００００」番地から「４０９５」番地までの４０９６個のアドレスを備えるとともに、１つのアドレスに１つの実行コマンドを格納することが可能な容量を有する。
【００９９】
この場合、ＲＡＭ１３には、実行コマンドの汎用コマンドと特殊コマンドの両方のコマンドを書き込んで保存することができる。また、ＲＡＭ１３に保存する実行コマンドとして、各種のタイミングを設定する実行コマンドを用いることができ、例えばコマンド解析部１２のＲＡＭインターフェイス処理を待機させ、任意の実行タイミングを検出するとＲＡＭインターフェイス処理を再開させる実行コマンドを保存可能である。またその他にも、ＲＡＭインターフェイス処理によって実行するＲＡＭ１３のアドレスを変更する（アドレスをジャンプする）実行コマンドや、ＲＡＭインターフェイス処理を終了又は停止させる実行コマンドも保存可能である。
【０１００】
なお、例えばコントローラユニットがＲＯＭを備える場合には、制御ホストからの命令により、ＲＯＭに保存されている１つ又は複数の実行コマンドをＲＡＭ１３に書き込むことも可能である。
【０１０１】
パルス出力制御部１４は、コマンド解析部１２により解析された実行プログラムの内容に従って、そのコマンド処理を行う。例えば、コマンド解析部１２によって指令パルス列の出力を実行する内容の実行コマンド（汎用コマンド）が実行されると、パルス出力制御部１４は、その前に設定された単位動作パターンのパラメータ（条件）に従って、所定回数の指令パルスからなる指令パルス列をドライバーユニットに向けて出力する。また同時に、出力した指令パルスの回数をカウントする。この場合、パルス出力制御部１４から出力される指令パルス列の信号は、コントローラユニットの外部機器インターフェイス回路を介してドライバーユニットに送られる。
【０１０２】
予約レジスタ１５は、上述したＲＡＭ１３に比べて処理速度が速く、また、上述したＲＡＭ１３に比べて容量は小さいものの、実行コマンドの内容を一時的に保存可能に形成される。本実施形態の場合、予約レジスタ１５は、２０命令分の実行コマンドの内容を一時的に格納可能な容量を有する。
【０１０３】
この予約レジスタ１５には、上述したように、コマンド解析部１２のコマンド予約機能により、パルス出力制御部１４がコマンド処理中のときに、実行コマンドのうちの汎用コマンドの内容が順番に書き込まれて格納される。この場合、予約レジスタ１５には、ＲＡＭ１３からコマンド解析部１２が読み出した汎用コマンドの内容だけでなく、コントローラ用ＣＰＵによりコマンド解析部１２に設定された汎用コマンドの内容も格納できる。
【０１０４】
また、予約レジスタ１５は、当該予約レジスタ１５に汎用コマンドの内容が書き込まれて格納されている状態で、パルス出力制御部１４が上述のコマンド処理を終了したときに、その格納されている汎用コマンドの内容を、コマンド解析部１２よりも優先してパルス出力制御部１４に展開する予約実行機能を備える。
【０１０５】
この場合、予約レジスタ１５は、ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）でデータ処理を行うように形成されており、汎用コマンドの内容を予約レジスタ１５に書き込まれた順番に従って展開する。すなわち、予約レジスタ１５の予約実行機能によれば、予約レジスタ１５に先に書き込まれた汎用コマンドの内容から順番に、パルス出力制御部１４に展開することができる。
【０１０６】
このような予約実行機能により、パルス出力ロジック回路１０は、パルス出力制御部１４のコマンド処理終了後、コントローラ用ＣＰＵから新たな実行コマンドが設定されなくても、また、制御ホストとコントローラとの間で信号のやり取りを繰り返して行わなくても、予約レジスタ１５に格納されている汎用コマンドの内容をパルス出力制御部１４に自動的に迅速に展開してコマンド処理させることができる。
【０１０７】
なお、上述した本実施形態のパルス出力ロジック回路１０は、例えばパルス駆動モータがサーボモータである場合、図示しないエンコーダで検知される回転角や回転速度等の情報を、フィードバック信号として、ドライバーユニットから外部機器インターフェイス回路を介して受け取ることも可能である。
【０１０８】
本実施形態のパルス出力ロジック回路１０は、上述のようなＲＡＭ自動実行機能及びコマンド予約機能を備えたコマンド解析部１２と、ＲＡＭ１３と、予約実行機能を備えた予約レジスタ１５とを有することにより、ＲＡＭ１３に保存されている複数の実行コマンドを、制御ホストとコントローラとの間の通信を行うことなく、また、コントローラ用ＣＰＵから新たな実行コマンドを設定することなく、順番に安定して且つ連続的に自動実行することができる。
【０１０９】
これにより、モータを所定の動作パターンで駆動させる際に、以下に詳述するように、制御ホストとコントローラとの間の通信回数や通信時間を低減でき、また、コントローラ用ＣＰＵの処理負担を低減できる。またそれにより、モータの単位動作パターンを、従来よりも多くの種類のパラメータを用いて設定できるようになる。
【０１１０】
以下に、本実施形態のパルス出力ロジック回路１０を有するコントローラユニットが、制御ホストから命令（リクエスト信号）を受けて、ドライバーユニットに向けて所定の指令パルス列を出力する動作について具体的に説明する。
始めに、第１の動作パターンとして、図３に示した台形駆動の単位動作パターンでモータの駆動制御を行う場合について説明する。
【０１１１】
この場合、パルス出力ロジック回路１０のＲＡＭ１３には、予め、例えば制御ホストからリクエスト信号を送信することにより、台形駆動の単位動作パターンを行うために必要な複数の実行コマンドが予め書き込まれて保存されている。なお、例えばコントローラユニットにＲＯＭが設けられていて、そのＲＯＭ内に台形駆動に必要な複数の実行コマンドが保存されている場合は、ＲＯＭ内の複数の実行コマンドを、パルス出力ロジック回路１０のＲＡＭ１３に展開して保存してから、以下のような処理を行うことも可能である。
【０１１２】
図３に示した台形駆動の単位動作パターンを行う場合、パルス出力ロジック回路１０のＲＡＭ１３には、「（１）第１パルス速度ＦＳＰＤの設定」、「（２）加速開始時のパルス速度データＬＳＰＤの設定」、「（３）最高速時のパルス速度データＨＳＰＤの設定」、「（４）台形駆動の加速割合を規定する加速周期データＵＣＹＣＬＥの設定」、「（５）台形駆動の減速割合を規定する減速周期データＤＣＹＣＬＥの設定」、「（６）減速終了時のパルス速度データＥＬＳＰＤの設定」、「（７）速度データの速度倍率ＲＥＳＯＬの設定」、「（８）設定したパラメータに基づいて指定した相対位置までの指令パルス列の出力の実行」を行うための８つの実行コマンド（汎用コマンド）が所定のアドレス（例えば「００００」番地）から順番に保存されている。このように、本実施形態では、台形駆動の単位動作パターンを、従来よりも多いＦＳＰＤ、ＬＳＰＤ、ＨＳＰＤ、ＵＣＹＣＬＥ、ＤＣＹＣＬＥ、ＥＬＳＰＤ、ＲＥＳＯＬという７種類のパラメータを用いて規定することができる。
【０１１３】
ここで、第１パルス速度ＦＳＰＤは、単位動作パターンを行うために出力する単位指令パルス列において、１番最初に出力する第１パルスのＯＦＦ状態を保持する時間（ＯＦＦ時間）とＯＮ状態を保持する時間（ＯＮ時間）とを設定するパラメータである。この第１パルス速度ＦＳＰＤは、第１パルスのパルス速度そのものであり、第１パルス速度ＦＳＰＤの単位は、「Ｈｚ」である。
【０１１４】
また、加速開始時のパルス速度データＬＳＰＤ、最高速時のパルス速度データＨＳＰＤ、及び、減速終了時のパルス速度データＥＬＳＰＤは、それぞれに速度倍率ＲＥＳＯＬの値が掛け算されることにより、台形駆動の加速開始時のパルス速度、最高速時のパルス速度、減速終了時のパルス速度を表すパラメータである。この場合、ＬＳＰＤ、ＨＳＰＤ、及びＥＬＳＰＤの各速度データに速度倍率ＲＥＳＯＬを乗じて得られる加速開始時のパルス速度、最高速時のパルス速度、及び減速終了時のパルス速度の単位が「Ｈｚ」となる。
【０１１５】
加速周期データＵＣＹＣＬＥ、及び減速周期データＤＣＹＣＬＥは、加速時及び減速時の速度の傾き（すなわち、１パルス当たりの速度の変化率）を規定するパラメータであり、単位時間（例えば０．５μｓ）が掛け算されることにより、回転速度を１ｋＨｚ変化させるために要する時間（μｓ）が加速周期及び減速周期として設定される。また、設定した変速領域データＵＣＹＣＬＥ及びＤＣＹＣＬＥと、上述の加速開始時のパルス速度データＬＳＰＤ、最高速時のパルス速度データＨＳＰＤ、及び減速終了時のパルス速度データＥＬＳＰＤとを用いて、加速時間及び減速時間が決定される。
【０１１６】
上述のような８つの実行コマンドがパルス出力ロジック回路１０のＲＡＭ１３に書き込まれている状態で、制御ホストは、先ず、コントローラユニットに対して、ＲＡＭ１３の「００００」番地から順番に実行コマンドを読み出す内容の命令（すなわち、ＲＡＭインターフェイス処理のリクエスト信号）を送信する。
【０１１７】
コントローラユニットは、制御ホストから送信されたリクエスト信号を通信制御部で受信し、更に、その受信したリクエスト信号の内容をコントローラＣＰＵで解析する。更に、コントローラ用ＣＰＵは、受信したリクエスト信号を実行コマンドに変換し、ＲＡＭインターフェイス処理を行う実行コマンドを、パルス出力ロジック回路１０に設定する。また同時に、コントローラ用ＣＰＵは、制御ホストのリクエスト信号に対する実行結果の内容を有するアンサーバック信号を生成し、そのアンサーバック信号を通信制御部から制御ホストに送信する。
【０１１８】
また、コントローラユニットのパルス出力ロジック回路１０は、コントローラＣＰＵにより設定される実行コマンドをコマンド解析部１２で解析して、ＲＡＭインターフェイス処理を実行する。それにより、コマンド解析部１２は、上述したＲＡＭ自動実行機能により、制御ホストとコントローラとの間で新たな信号のやり取りを繰り返して行わなくても、また、コントローラ用ＣＰＵから新たな実行コマンドが更に設定されなくても、上記（１）〜（８）の実行コマンドをＲＡＭ１３から順番に自動的に且つ連続的に読み出して実行し、パルス出力制御部１４に次々とコマンド処理させることができる。
【０１１９】
例えば本実施形態の場合、仮に制御ホストからのリクエスト信号を受けてコントローラＣＰＵが実行コマンドに変換して、その実行コマンドの内容をパルス出力制御部１４にコマンド処理させる場合、コントローラＣＰＵが１つの実行コマンドをパルス出力ロジック回路１０に設定するだけでも１７５ｎｓ以上の時間を要し、またそれ以外にも、パルス出力ロジック回路１０が実行コマンドを解析してコマンド処理する時間や、制御ホストとコントローラユニットとの間の通信時間が必要となる。
【０１２０】
これに対して、上述したコマンド解析部１２のＲＡＭ自動実行機能を利用することにより、１つの実行コマンドについて、ＲＡＭ１３から読み出してパルス出力制御部１４にコマンド処理させるのに要する時間を１５０ｎｓと短くすることができ、且つ、複数の実行コマンドを、コントローラＣＰＵの処理や、制御ホストとコントローラユニットとの間の通信作業を挟むことなく、１５０ｎｓ間隔で連続的にコマンド処理することができる。すなわち、コマンド解析部１２のＲＡＭ自動実行機能による処理時間を短縮させる効果は、実行コマンドの数が多くなる程、顕著となる。
【０１２１】
そして、本実施形態のパルス出力ロジック回路１０は、コマンド解析部１２で「（８）設定したパラメータに基づいて指定した相対位置までの指令パルス列の出力の実行」の実行コマンドが実行されて、パルス出力制御部１４でそのコマンド処理を行うことにより、上記（１）〜（７）の実行コマンドで設定されたパラメータに従って、図３に示した台形駆動の単位動作パターンをモータに行わせるための指令パルス列を発生させて出力することができる。
【０１２２】
例えば従来では、図１３に示したような少ないパラメータで規定される単純な台形駆動の単位動作パターンでモータの駆動制御を行う場合、従来技術の欄で説明したように、制御ホストとコントローラユニットとの間で１０回以上の信号のやり取りが必要となり、また、コントローラ用ＣＰＵの処理負担も非常に大きくなるという問題があった。
【０１２３】
これに対して、本実施形態の第１の動作パターン（図３）では、上述のように、ＲＡＭに所定の複数の実行コマンドが保存されている状態で制御ホストとコントローラユニットとの間で１回の信号のやり取りを行い、また、コントローラ用ＣＰＵが、パルス出力ロジック回路１０にＲＡＭインターフェイス処理の実行コマンドを設定することによって、７種類のパラメータを用いて規定される台形駆動の単位動作パターンでモータの駆動制御を安定して行うことができる。しかも本実施形態では、７種類のパラメータを用いて台形駆動の単位動作パターンを規定できるため、より的確にユーザーのニーズに合わせた動作でモータを駆動制御することが可能となる。
【０１２４】
次に、第２の動作パターンとして、図４に示したように加速時の加速割合や減速時の減速割合がＳ字状を呈するように略台形駆動の単位動作パターンでモータの駆動制御を行う場合について説明する。
【０１２５】
図４に示した単位動作パターンでモータを駆動させる場合、上述した第１の動作パターンを行う場合と同様に、パルス出力ロジック回路１０のＲＡＭ１３に、予め、図４の単位動作パターンを行うために必要な複数の実行コマンドが書き込まれて保存されている。この第２の動作パターンの場合、第１の動作パターンで用いた７種類のパラメータ（ＦＳＰＤ、ＬＳＰＤ、ＨＳＰＤ、ＵＣＹＣＬＥ、ＤＣＹＣＬＥ、ＥＬＳＰＤ、及びＲＥＳＯＬ）と、Ｓ字加速開始部の変速領域データＳＵＬ、Ｓ字加速終了部の変速領域データＳＵＨ、Ｓ字減速開始部の変速領域データＳＤＨ、及び、Ｓ字減速終了部の変速領域データＳＤＬの４種類のパラメータの合計１１種類のパラメータを用いて図４の単位動作パターンを規定することができる。この場合、ＳＵＬ、ＳＵＨ、ＳＤＨ、ＳＤＬは、曲線状で加速させる速度範囲を設定するパラメータであり、Ｓ字加速開始部、Ｓ字加速終了部、Ｓ字減速開始部、及びＳ字減速終了部の各部分における曲線状の加速割合及び減速割合は、上述の１１種類のパラメータを用いて所定の演算を行うことにより決定される。
【０１２６】
この第２の動作パターンを行う場合では、上述のようなパラメータの種類の増加により、パルス出力ロジック回路１０のＲＡＭ１３に予め保存する実行コマンドの個数が、上述した第１の動作パターンを行う場合よりも多くなるものの、必要な実行コマンドがＲＡＭ１３に書き込まれている状態で、制御ホストが行う処理の内容や、コントローラＣＰＵが行う処理の内容は、上述した第１の動作パターンを行う場合と実質的に同じである。
【０１２７】
従って、第２の動作パターン（図４）を行う場合も、第１の動作パターンの場合と同様に、従来のコントローラユニットに比べて、制御ホストとコントローラユニットとの間の通信回数及び通信時間を大幅に低減でき、また、コントローラ用ＣＰＵの処理負担を大幅に低減できる。更に、１１種類のパラメータを用いて単位動作パターンを規定できるため、より的確にユーザーのニーズに合わせた動作でモータを安定して駆動制御することが可能となる。
【０１２８】
次に、第３の動作パターンとして、図５に示したように、２つの異なる単位動作パターン（第１ドライブ及び第２ドライブ）を組み合わせた動作パターンでモータの駆動制御を行う場合について説明する。
【０１２９】
図５に示した動作パターンでモータを駆動させる場合、最初に行う単位動作パターン（第１ドライブ）に必要な複数の実行コマンドと、２番に行う単位動作パターン（第２ドライブ）に必要な複数の実行コマンドとが、予め、パルス出力ロジック回路１０のＲＡＭ１３に順番に書き込まれて保存されている。
【０１３０】
具体的には、第１ドライブを行うために、上述の第１の動作パターンで説明した（１）〜（８）の実行コマンドがＲＡＭ１３の所定のアドレスから順番に保存され（例えばＲＡＭ１３の「００００」番地から「０００７」番地までのアドレスに保存され）、更に、その次のアドレスから、第２ドライブを行うための複数の実行コマンドが順番に保存される（例えばＲＡＭ１３の「０００８」番地のアドレスから順番に保存される）。
【０１３１】
この場合、第１ドライブを規定するパラメータとして、上述したＦＳＰＤ、ＬＳＰＤ、ＨＳＰＤ、ＵＣＹＣＬＥ、ＤＣＹＣＬＥ、ＥＬＳＰＤ、及びＲＥＳＯＬの７種類が用いられる。第２ドライブを規定するパラメータとしては、少なくともＦＳＰＤ、ＬＳＰＤ、ＤＣＹＣＬＥ、ＥＬＳＰＤ、及びＲＥＳＯＬが用いられる。
【０１３２】
また、第２ドライブを規定する場合、第２ドライブにおける第１パルス速度ＦＳＰＤは、例えば図６に示すように、１つ前の第１ドライブにおける減速終了時のパルス速度データＥＬＳＰＤと、第２ドライブにおける加速開始時のパルス速度データＬＳＰＤ（この場合、最高速時のパルス速度データＨＳＰＤと同じ速さ）の速度との間を連続させるように、第１ドライブの最終パルスの終了時点から第２ドライブの第１パルスの開始までにかかるコマンド処理時間を考慮して設定される。
【０１３３】
具体的には、例えば第１ドライブの最終パルス速度が５００ｋＨｚ（パルス周期は２０００ｎｓ）で、且つ、第２ドライブにおける加速開始時のパルス速度（＝最高速時のパルス速度）が５００ｋＨｚ（パルス周期は２０００ｎｓ）に設定される場合において、第１パルスのＯＦＦ時間とＯＮ時間とを規定する第１パルス速度ＦＳＰＤを、上述のコマンド処理時間を考慮して、第１ドライブの最終パルスの終了時点から第２ドライブの加速開始までに要する時間が２０００ｎｓとなるように設定する。
【０１３４】
すなわち、例えば第１ドライブの最終パルスの終了時点から第２ドライブの第１パルスの開始までにかかる全てのコマンド処理時間が仮に３００ｎｓと見込まれる場合には、第１パルスのＯＦＦ時間を８５０ｎｓとし、ＯＮ時間を８５０ｎｓとする第１パルス速度ＦＳＰＤを設定する。これにより、モータを停止させることなく、また、モータに脱調や振動を生じさせることなく、第１ドライブと第２ドライブとが連続する指令パルス列を、コントローラユニットのパルス出力ロジック回路１０から出力することができる。
【０１３５】
上述のような第１ドライブ及び第２ドライブの各パラメータを設定する実行コマンドと、指令パルス列の出力を実行する実行コマンドとがパルス出力ロジック回路１０のＲＡＭ１３に所定の順番で保存されている状態において、制御ホストは、コントローラユニットに対して、ＲＡＭ１３の「００００」番地から順番に実行コマンドを読み出すＲＡＭインターフェイス処理のリクエスト信号を送信する。
【０１３６】
そのリクエスト信号を受信したコントローラユニットは、リクエスト信号の内容をコントローラＣＰＵで解析して実行コマンドに変換し、更に、そのＲＡＭインターフェイス処理を行う実行コマンドを、パルス出力ロジック回路１０に設定する。そして、パルス出力ロジック回路１０は、その実行コマンドをコマンド解析部１２で解析して実行する。
【０１３７】
それにより、コマンド解析部１２は、上述したＲＡＭ自動実行機能により、パルス出力ロジック回路１０のＲＡＭ１３に保存されている実行コマンド（汎用コマンド）を「００００」番地から順番に読み出して実行する。すなわち、コマンド解析部１２は、ＲＡＭ１３の「００００」番地から「０００７」番地までのアドレスの実行コマンドを順番に自動的に且つ連続的に読み出して実行し、パルス出力制御部１４に次々とコマンド処理させることができる。それにより、パルス出力制御部１４から第１ドライブを行うための指令パルス列を出力することができる。
【０１３８】
更に、コマンド解析部１２は、ＲＡＭ１３の「０００７」番地のアドレスの実行コマンド（すなわち、「指令パルス列の出力の実行」の実行コマンド）を読み出して実行した後、連続的に、ＲＡＭ１３の「０００８」番地のアドレスから実行コマンドを順番に自動的に読み出して実行する。一方、このとき、パルス出力制御部１４は、第１ドライブの指令パルス列を出力するコマンド処理を行っている最中である。
【０１３９】
この場合、コマンド解析部１２は、パルス出力制御部１４がコマンド処理中であることを確認すると同時に、ＲＡＭ１３から読み出した第２ドライブ用の実行コマンド（汎用コマンド）を順番に解析し、これらの実行コマンドの内容を予約レジスタ１５に順番に格納する。これにより、予約レジスタ１５にパルス出力制御部１４が次に行うコマンド処理を予約することができる。
【０１４０】
そして、パルス出力制御部１４による第１ドライブの指令パルス列を出力するコマンド処理が終了すると、予約レジスタ１５は、上述した予約実行機能により、格納した複数の実行コマンドの内容を、コントローラＣＰＵの処理を挟むことなく、また、コマンド解析部１２の処理を挟むことなく、パルス出力制御部１４に迅速に展開（ＬＯＡＤ）してコマンド処理させることができる。
【０１４１】
このとき、本実施形態では、予約レジスタ１５の予約実行機能により予約レジスタ１５に格納した複数の実行コマンドの内容を、例えば１００ｎｓという極めて短い時間でパルス出力制御部１４に展開して設定することが可能である。これにより、パルス出力制御部１４は、第１ドライブの指令パルス列の出力が終了してから、第１ドライブの最終パルス周期や、第２ドライブにおける加速開始時のパルス周期よりも長い間隔を開けることなく、ＯＦＦ時間及びＯＮ時間が上述のように規定された第１パルスを含む第２ドライブの指令パルス列を、連続して出力することができる。その結果、第１ドライブから第２ドライブにかけてモータを停止させることなく、連続した駆動制御を円滑に安定して行うことができる。
【０１４２】
すなわち、本実施形態では、図５に示すように単位動作パターンが互いに異なる第１ドライブと第２ドライブとを組み合わせて駆動制御を行う場合でも、第１ドライブと第２ドライブとの間で、制御ホストとコントローラユニットとの通信を行うことなく、コントローラＣＰＵの処理を挟むことなく、更に、パルス出力ロジック回路１０内のコマンド解析部１２の処理を挟むことなく、モータを時間的に連続して駆動させることができ、その上、速度的にも連続性をもって駆動させることができる。このように複数の異なるドライブが組み合わされた一連の動作を時間的にも速度的にも連続させることができるという効果は、例えば制御ホストとコントローラユニットとの間の通信速度が遅い場合や、コントローラＣＰＵの処理速度が遅い場合などで、より顕著となる。
【０１４３】
なお、上述した第３の動作パターンでは、第１ドライブの最終パルスの終了時点から第２ドライブの第１パルスの開始までにかかるコマンド処理時間が仮に３００ｎｓと見込まれる場合について説明している。しかし、例えば上述のコマンド処理時間が、第１ドライブの最終パルス速度、及び第２ドライブにおける加速開始時のパルス速度に対し、殆ど無視できる位の短い時間となる場合には、第１ドライブの終了時に出力する最終パルス速度（この場合、減速終了時のパルス速度データＥＬＳＰＤ）を、最終パルス速度データＲＳＰＤとしてパルス出力制御部１４に記憶し、その最終パルス速度データＲＳＰＤを、第２ドライブにおける第１パルス速度ＦＳＰＤに変換して用いることも可能である。
【０１４４】
これによっても、第１ドライブと第２ドライブとの間で、制御ホストとコントローラユニットとの通信を行うことなく、コントローラＣＰＵの処理を挟むことなく、更に、パルス出力ロジック回路１０内のコマンド解析部１２の処理を挟むことなく、モータを第１及び第２ドライブに従って時間的に連続して駆動させると同時に、速度的に更に連続性をもって駆動させることができる。また、第１ドライブの最終指令パルスの次に、第２ドライブの第１パルスを実際に出力せずに、第２ドライブの加速開始の指令パルスを出力できるため、モータの駆動制御をより効率的に行うことが可能となる。
【０１４５】
次に、第４の動作パターンとして、図７に示したように、４つの異なる単位動作パターン（第１ドライブ〜第４ドライブ）を組み合わせた動作パターンでモータの駆動制御を行う場合について説明する。
【０１４６】
この第４の動作パターンにおいて、第１ドライブ〜第３ドライブは、モータをそれぞれ異なる加速割合で加速するように駆動制御を行い、第４ドライブは、変形台形駆動の単位動作パターンで駆動制御を行う。従って、第４の動作パターンでは、単位動作パターンの切り替えが、何れもモータの加速中に行われる。なお、第１ドライブ〜第４ドライブの各ドライブは、加速中又は減速中であっても、所定回数の指定パルスを出力し終えることによって、そのドライブは終了となる。
【０１４７】
図７に示す第４の動作パターンにおいては、第１ドライブ〜第４ドライブの各単位動作パターンに必要な複数の実行コマンドを、予め、パルス出力ロジック回路１０のＲＡＭ１３に書き込んで保存しておく。この場合、第１ドライブ〜第３ドライブを規定するパラメータとして、上記で説明した複数のパラメータの中から、ＦＳＰＤ、ＬＳＰＤ、ＵＣＹＣＬＥ、及びＲＥＳＯＬの４種類が少なくとも用いられる。また、第４ドライブを規定するパラメータとして、上述したＦＳＰＤ、ＬＳＰＤ、ＨＳＰＤ、ＵＣＹＣＬＥ、ＤＣＹＣＬＥ、ＥＬＳＰＤ、及びＲＥＳＯＬの７種類が用いられる。
【０１４８】
すなわち、本実施形態のコントローラユニットでは、従来よりも多くの種類のパラメータを用いて単位動作パターンを規定できるため、例えば単位動作パターンの加速開始時のパルス速度データＬＳＰＤと、減速終了時のパルス速度データＥＬＳＰＤとを互いに異なる速さに設定することも可能となる。それにより、全体の動作パターンを決定する際に、様々な形状の単位動作パターンを従来よりも自由に選択して適切に組み合わせることが可能となる。
【０１４９】
また、第４の動作パターンでは、第１ドライブ〜第４ドライブの全てのドライブで、最初の第１パルスにおけるパルス速度ＦＳＰＤ（出力周期）が設定される。また、各ドライブの最終パルスの終了時点から次のドライブの第１パルスの開始までにかかるコマンド処理時間が、各ドライブの最終パルス速度（次のドライブにおける加速開始時のパルス速度と同じ）に対して殆ど無視できる位の短い時間と見込まれる。
【０１５０】
このため、この第４の動作パターンでは、第１ドライブ〜第３ドライブの各ドライブの終了時に出力する最終パルス速度を、最終パルス速度データＲＳＰＤとしてパルス出力制御部１４にそれぞれ記憶する。更にパルス出力制御部１４において、その最終パルス速度データＲＳＰＤに速度倍率ＲＥＳＯＬを掛け算して算出された値（速度）を、次のドライブ（第２ドライブ〜第４ドライブ）における第１パルス速度ＦＳＰＤとして設定することができる（すなわち、次ドライブのＦＳＰＤ＝前ドライブのＲＳＰＤ×ＲＥＳＯＬ）。
【０１５１】
またこの場合、次のドライブの加速開始時のパルス速度データＬＳＰＤを、前のドライブで記憶した最終パルス速度データＲＳＰＤと同じ大きさに設定することができる（すなわち、次ドライブのＬＳＰＤ＝前ドライブのＲＳＰＤ）。これにより、隣り合う２つのドライブの指令パルス列を速度的に安定して連続させることができる。
【０１５２】
そして、上述のような第１ドライブ〜第４ドライブについて、各パラメータを設定する実行コマンドと、指令パルス列の出力を実行する実行コマンドとがパルス出力ロジック回路１０のＲＡＭ１３に所定の順番で保存されている状態において、制御ホストは、コントローラユニットに対して、ＲＡＭインターフェイス処理のリクエスト信号を送信する。
【０１５３】
それにより、上述した第３の動作パターンの場合と同様に、パルス出力ロジック回路１０のコマンド解析部１２は、そのＲＡＭ自動実行機能により、パルス出力ロジック回路１０のＲＡＭ１３に保存されている実行コマンド（汎用コマンド）を所定の番地から順番に読み出して実行するため、パルス出力制御部１４から第１ドライブを行うための指令パルス列を出力することができる。
【０１５４】
更に、コマンド解析部１２は、第２ドライブ〜第４ドライブを行うための実行コマンドをＲＡＭ１３から続けて読み出して、それらの実行コマンドの内容を予約レジスタ１５に順番に格納する。これにより、パルス出力制御部１４がその後に行うコマンド処理を予約レジスタ１５に順番に予約して、パルス出力制御部１４に連続的に処理させることができる。
【０１５５】
従って、この第４の動作パターン（図７）では、第１ドライブ〜第４ドライブの隣り合うドライブ間で、制御ホストとコントローラユニットとの通信を行うことなく、コントローラＣＰＵの処理を挟むことなく、更に、コマンド解析部１２の処理を挟むことなく、次のドライブに移ることができる。このため、モータの駆動制御を、第１ドライブ〜第４ドライブに従って時間的に連続して行うことができる。
【０１５６】
しかも、この第４の動作パターン（図７）では、第１ドライブ〜第３ドライブがそれぞれ加速中に最終指令パルスの出力が終了するが、上述のようにパルス出力制御部１４に各ドライブの最終パルス速度データＲＳＰＤを記憶して、その最終パルス速度データＲＳＰＤを、次のドライブの第１パルス速度ＦＳＰＤの設定と、次のドライブの加速開始時のパルス速度データＬＳＰＤの設定とに利用できる。
【０１５７】
これにより、第１ドライブ〜第４ドライブのドライブ間で速度的に連続性をもってモータを安定して駆動させることができる。その結果、モータの第１ドライブから第４ドライブまでの連続ドライブを、モータを１回も停止させることなく、また、モータに脱調や振動を生じさせることなく、効率的に行うことが可能となる。
【０１５８】
なお、この第４の動作パターンにおいて、第１ドライブ〜第４ドライブの加減速を、例えば上述の第２の動作パターン（図４）と同様に、Ｓ字加速開始部の変速領域データＳＵＬ、Ｓ字加速終了部の変速領域データＳＵＨ、Ｓ字減速開始部の変速領域データＳＤＨ、及び、Ｓ字減速終了部の変速領域データＳＤＬの４種類のパラメータを用いて加速割合及び減速割合がＳ字状を呈するように駆動制御することも可能である。それにより、モータをより滑らかに加減速させるように駆動制御することが可能となる。
【０１５９】
次に、第５の動作パターンとして、図８に示したように、ドライブ１とドライブ２の２つの単位動作パターンを組み合わせるとともに、ドライブ１とドライブ２の間に所定の停止時間（ディレイタイム）を設けた動作パターンでモータの駆動制御を行う場合について説明する。
【０１６０】
この第５の動作パターンは、２つの単位動作パターンを組み合わせて設定されるため、制御ホストやコントローラユニットにおける動作や処理は、基本的に上述した第３の動作パターン（図５）と同じである。しかし、上述した第３の動作パターン（図５）では、モータを停止させることなく第１ドライブと第２ドライブとを連続して行うのに対し、この第５の動作パターン（図８）では、第１ドライブと第２ドライブとの間に、所定のディレイタイムを意図的に生成する。
【０１６１】
この第５の動作パターンでは、第３の動作パターンの場合と同様に、第１ドライブ及び第２ドライブに必要な複数の実行コマンドが、パルス出力ロジック回路１０のＲＡＭ１３に予め書き込まれて保存される。この場合、第１ドライブ及び第２ドライブを規定するパラメータとして、上述したＦＳＰＤ、ＬＳＰＤ、ＨＳＰＤ、ＵＣＹＣＬＥ、ＤＣＹＣＬＥ、ＥＬＳＰＤ、及びＲＥＳＯＬの７種類が用いられる。
【０１６２】
また、第２ドライブを規定する場合、第２ドライブにおける第１パルスのパルス速度ＦＳＰＤを、生成するディレイタイムの長さに対応して設定する。すなわち、第１パルス速度ＦＳＰＤを、第１パルスのＯＦＦ時間とＯＮ時間とを合計したときにディレイタイムと同じ時間となるように設定する。更に、例えば第１ドライブの最終パルスの終了時点から第２ドライブの第１パルスの開始までのコマンド処理時間が見込まれる場合には、そのコマンド処理時間と、第１パルスのＯＦＦ時間及びＯＮ時間とを合計した時間がディレイタイムと同じ時間となるように第１パルス速度ＦＳＰＤを設定する。
【０１６３】
これにより、コントローラＣＰＵのタイマー機能を利用しなくても、第１ドライブと第２ドライブとの間に精確なディレイタイムを安定して生成することができる。また、第１ドライブから第２ドライブへの移行も安定して行うことができる。更に、第１ドライブと第２ドライブとの間で、制御ホストとコントローラユニットとの間の通信や、コントローラＣＰＵによる処理が行われないため、例えば従来のようにコントローラＣＰＵのタイマー機能を利用する場合に比べて、制御ホストによる制御を簡略化でき、また、コントローラ用ＣＰＵの処理負担を効果的に低減できる。
【実施例】
【０１６４】
以下に、パルス駆動モータに所定の動作を行わせるため、図１に示した本実施形態のパルス出力ロジック回路１０を備えたコントロールユニットを用いる場合（実施例）と、図１２に示した従来のパルス出力ロジック回路を備えたコントロールユニットを用いる場合（比較例）のそれぞれについて説明する。
【０１６５】
ここで、パルス駆動モータは検査装置に用いられる場合にあって、そのモータによって、図９に示すように、検査対象物品を検査装置内に中速で搬入し、次に、計測を行うために検査対象物品を低速で移動させ、その後、検査対象物品を高速で搬出するために、ドライブ１〜ドライブ３の３つの単位動作パターンを組み合わせた動作パターンで駆動制御を行う場合を想定する。
【０１６６】
（実施例）
本実施例の場合、モータの駆動制御を行うために、図１に示した本実施形態のパルス出力ロジック回路１０のＲＡＭ１３に、図９に示した３つの単位動作パターン（第１ドライブ〜第３ドライブ）を行うための複数の実行コマンドが予め書き込まれている。
【０１６７】
具体的には、最初の搬入動作を行うために、台形駆動の単位動作パターン（第１ドライブ）を規定する実行コマンド（汎用コマンド）と、設定した条件に従って指令パルス列を出力する実行コマンド（汎用コマンド）とがＲＡＭ１３に順番に書き込まれている。具体的には、上述したＦＳＰＤ、ＬＳＰＤ、ＨＳＰＤ、ＵＣＹＣＬＥ、ＤＣＹＣＬＥ、ＥＬＳＰＤ、ＲＥＳＯＬの各パラメータを設定する実行コマンドと、設定した条件に従って指定した相対位置まで指令パルス列の出力を実行する実行コマンドとがＲＡＭ１３に順番に書き込まれている。
【０１６８】
続いて、次に一定の低速度での搬送を行うために、矩形駆動の単位動作パターン（第２ドライブ）におけるＦＳＰＤ、ＬＳＰＤ（＝ＨＳＰＤ）、ＥＬＳＰＤ、ＲＥＳＯＬの各パラメータを設定する実行コマンド（汎用コマンド）と、設定した条件に従って指定した相対位置まで指令パルス列の出力を実行する実行コマンド（汎用コマンド）とが、ＲＡＭ１３に、上述の矩形駆動用の実行コマンドに続いて順番に書き込まれている。
【０１６９】
なお、この矩形駆動の単位動作パターンにおいて、第１パルス速度ＦＳＰＤとして、前ドライブとなる搬入動作の単位動作パターンで最後に出力される最終パルス速度データＲＳＰＤに速度倍率ＲＥＳＯＬを掛けて計算される速度が設定される（すなわち、低速搬送動作のＦＳＰＤ＝搬入動作のＲＳＰＤ×ＲＥＳＯＬ）。
【０１７０】
更に、最後の搬出動作を行うために、台形駆動の単位動作パターン（第３ドライブ）におけるＦＳＰＤ、ＬＳＰＤ、ＨＳＰＤ、ＵＣＹＣＬＥ、ＤＣＹＣＬＥ、ＥＬＳＰＤ、ＲＥＳＯＬの各パラメータを設定する実行コマンドと、指定した相対位置まで指令パルス列の出力を実行する実行コマンドとが更にＲＡＭ１３に順番に書き込まれている。
【０１７１】
また、この第３ドライブの単位動作パターンでも、第１パルス速度ＦＳＰＤとして、前ドライブとなる低速搬送動作の単位動作パターンで最後に出力される最終パルス速度データＲＳＰＤから計算（変換）される速度が設定される（すなわち、搬出動作のＦＳＰＤ＝低速搬送動作のＲＳＰＤ×ＲＥＳＯＬ）。
【０１７２】
上述のような複数の実行コマンドがＲＡＭ１３に順番に保存されている状態で、制御ホストは、コントローラユニットに対して、ＲＡＭ１３の所定のアドレスから順番に実行コマンドを読み出して処理するＲＡＭインターフェイス処理のリクエスト信号を送信する。リクエスト信号を受信したコントローラユニットは、そのリクエスト信号を実行コマンドに変換し、その変換された実行コマンドをパルス出力ロジック回路１０に設定する。
【０１７３】
そして、実行コマンドが設定されたパルス出力ロジック回路１０のコマンド解析部１２は、その設定された実行コマンドの内容に従って、ＲＡＭ１３に保存されている実行コマンド（汎用コマンド）を所定の番地から順番に読み出して実行する。それにより、コマンド解析部１２は、そのＲＡＭ自動実行機能により、コントローラ用ＣＰＵから新たな実行コマンドが更に設定されなくても、ＲＡＭ１３の所定のアドレスから複数の実行コマンドを順番に自動的に読み出して実行し、パルス出力制御部１４に次々とコマンド処理させることができ、その結果、パルス出力制御部１４は、上述した搬入動作（第１ドライブ）を行うための指令パルス列を出力する。
【０１７４】
また、パルス出力ロジック回路１０のコマンド解析部１２は、パルス出力制御部１４が搬入動作（第１ドライブ）用の指令パルス列を出力している間は、その次の低速搬送動作（第２ドライブ）を行うための複数の実行コマンドと、最後の搬出動作（第３ドライブ）を行うための複数の実行コマンドとを順番に実行し、予約レジスタ１５に順番に格納する。
【０１７５】
そして、予約レジスタ１５は、パルス出力制御部１４による搬入動作（第１ドライブ）を行うための指令パルス列の出力が終了すると、その予約実行機能により、格納した低速搬送動作（第２ドライブ）を行うための複数の実行コマンドの内容を、コントローラＣＰＵの処理を挟むことなく、コマンド解析部１２の処理も挟むことなく、パルス出力制御部１４に迅速に展開（ＬＯＡＤ）する。
【０１７６】
それにより、パルス出力制御部１４は、低速搬送動作（第２ドライブ）を行うための指令パルス列を、搬入動作用の指令パルス列から連続するように出力する。更に、パルス出力制御部１４による低速搬送動作（第２ドライブ）用の指令パルス列の出力が終了すると、予約レジスタ１５の予約実行機能により、格納した搬出動作（第３ドライブ）を行うための複数の実行コマンドの内容をパルス出力制御部１４に迅速に展開（ＬＯＡＤ）し、搬出動作用の指令パルス列を、低速搬送動作用の指令パルス列から連続するように出力する。
【０１７７】
以上のような動作を本実施形態のパルス出力ロジック回路１０が行うことにより、検査装置に用いられるモータを、搬入動作と低速搬送動作との間や、低速搬送動作と搬出動作との間で停止させることなく、時間的に且つ速度的に連続させて図９に示した動作パターンに従って駆動制御することができる。
【０１７８】
（比較例）
この比較例では、図１２に示した従来のパルス出力ロジック回路４０を備えたコントロールユニットを用いて、検査装置のモータに、上述したような搬入動作、低速搬送動作、及び搬出動作の３つの単位動作パターン（第１ドライブ〜第３ドライブ）を行わせる場合について図１０を参照しながら説明する。
【０１７９】
この場合、最初の搬入動作を行うために、先ず台形駆動の単位動作パターン（第１ドライブ）でモータを駆動制御する。具体的には、制御ホストは、「（１）ＬＳＰＤ及びＥＬＳＰＤの設定」を命令するリクエスト信号をコントローラユニットに向けて送信する。また、コントローラユニットは、受信したリクエスト信号の内容をコントローラＣＰＵで解析して実行コマンドに変換し、その実行コマンドをパルス出力ロジック回路４０に設定する。また同時に、コントローラ用ＣＰＵは、制御ホストのリクエスト信号に対するアンサーバック信号を生成し、そのアンサーバック信号を通信制御部から制御ホストに送信する。
【０１８０】
制御ホストは、コントローラユニットからアンサーバック信号を受信した後、「（２）ＨＳＰＤの設定」を命令するリクエスト信号をコントローラユニットに送信する。リクエスト信号を受信したコントローラユニットは、コントローラＣＰＵにより、リクエスト信号の解析、リクエスト信号から実行コマンドへの変換、パルス出力ロジック回路４０への実行コマンドの設定、受信したリクエスト信号に対するアンサーバック信号の送信の処理を行う。
【０１８１】
以下同じように、制御ホストは、「（３）ＵＣＹＣＬＥの設定」、「（４）ＤＣＹＣＬＥの設定」、「（５）ＲＥＳＯＬの設定」、及び「（６）設定した条件に従って指定した相対位置まで指令パルス列の出力の実行」を命令するリクエスト信号を、コントローラユニットからのアンサーバック信号の受信を待って順番に送信する。一方、コントローラユニットは、リクエスト信号を受信する度に上述した処理を行う。すなわち、比較例では、パルス出力ロジック回路４０のパルス出力制御部４４に１つのコマンド処理を行わせるごとに、制御ホストとコントローラユニットの通信を行うとともに、コントローラ用ＣＰＵによる様々な処理が必要となる。
【０１８２】
そして、コントローラユニットのパルス出力ロジック回路４０は、「（６）設定した条件に従って指定した相対位置まで指令パルス列の出力の実行」の実行コマンドがコントローラＣＰＵによって設定されることによって、パルス出力制御部４４から、上述した搬入動作（第１ドライブ）を行うための指令パルス列の出力を開始する。
【０１８３】
搬入動作（第１ドライブ）用の指令パルス列の出力が終了した後、コントローラユニットは、指令パルス列の出力が終了した内容のアンサーバック信号を制御ホストに送信する。制御ホストは、そのアンサーバック信号を受信することによって、搬入動作用の指令パルス列の出力が終了したことを確認し、次の低速搬送動作（第２ドライブ）を行うために、矩形駆動の単位動作パターンでモータを駆動制御する。
【０１８４】
すなわち、制御ホストは、「（１）ＬＳＰＤ及びＥＬＳＰＤの設定」、「（２）ＲＥＳＯＬの設定」、及び「（３）設定した条件に従って指定した相対位置まで指令パルス列の出力の実行」を命令するリクエスト信号を、アンサーバック信号の受信を待って順番に送信する。一方、コントローラユニットは、リクエスト信号を受信する度に、上述したようなコントローラＣＰＵにより、リクエスト信号の解析、リクエスト信号から実行コマンドへの変換、パルス出力ロジック回路４０への実行コマンドの設定、受信したリクエスト信号に対するアンサーバック信号の送信の処理を行う。
【０１８５】
このため、搬入動作（第１ドライブ）用の台形駆動の指令パルス列の出力が終了してから、低速搬送動作（第２ドライブ）用の矩形駆動の指令パルス列の出力を開始するまでに、制御ホストとコントローラユニットの間の通信時間や、コントローラＣＰＵの処理時間が必要となる。また、搬入動作から低速搬送動作を連続的に行うことができないため、モータを一度停止させる必要がある。
【０１８６】
更に、低速搬送動作（第２ドライブ）用の指令パルス列の出力が終了した後、搬出動作（第３ドライブ）用の台形駆動の指令パルス列の出力を開始するまでの間も同様に、搬出動作の指令パルス列を出力するために、制御ホストとコントローラユニットの間の通信時間や、コントローラＣＰＵの処理時間が必要となるとともに、モータを一度停止させる必要がある。
【０１８７】
以上の実施例と比較例の比較から明らかなように、検査装置に同じ動作を行わせる場合、従来のパルス出力ロジック回路４０を用いる比較例では、第１ドライブ〜第３ドライブの各単位動作パターンで駆動制御する前に、制御ホストとコントローラユニット間の通信時間や、コントローラＣＰＵの処理時間が必要となる。
【０１８８】
このため、複数の単位動作パターンの指令パルス列を時間的に連続して出力することができず、単位動作パターンの合間に、モータを駆動させることのできないロス時間が生じる。またそのために、単位動作パターン間でモータを停止させる必要があり、単位動作パターン間で指令パルス列の出力を速度的に連続させることもできない。
【０１８９】
それに対して、本実施形態のパルス出力ロジック回路１０を用いる実施例では、ＲＡＭ１３に複数の実行コマンドを予め書き込んで記憶することが可能であるとともに、ＲＡＭ１３に保存した複数の実行コマンドをコマンド解析部１２で自動的に実行させることが可能である。更に、パルス出力ロジック回路１０に設けた予約レジスタ１５により、パルス出力制御部１４が行うコマンド処理の予約が可能である。
【０１９０】
これにより、実施例では、第１ドライブ〜第３ドライブの複数の単位動作パターンを組み合わせてモータに一連の動作を行わせるときに、各ドライブ間で制御ホストとコントローラユニット間の通信を行わなくても、また、コントローラＣＰＵで実行コマンドをパルス出力ロジック回路１０に新たに設定しなくても、複数の単位動作パターンの指令パルス列を連続して出力できる。このため、上述のようなロス時間が生じることを防いで、一連の動作パターンの駆動制御を時間的な連続性をもって効率的に行うことができる。
【０１９１】
また実施例では、複数の単位動作パターン間で時間的な連続性が得られるだけでなく、各単位動作パターンを規定するパラメータとして、第１パルス速度ＦＳＰＤを設定するとともに、前ドライブの単位動作パターンで最後に出力される最終パルス速度データＲＳＰＤを記憶し、そのＲＳＰＤに速度倍率ＲＥＳＯＬを掛けることによって、次のドライブの第１パルス速度ＦＳＰＤに変換できる。これにより、第１ドライブ〜第３ドライブの一連の動作パターンの駆動制御を、速度的な連続性をもって行うことを可能にしている。
【０１９２】
しかも、上述した実施例の効果は、駆動制御するモータの個数が多くなるほど、また、駆動制御するモータの動作パターンが多くなったり、複雑になったりするほど、より顕著に、より有効的に発揮される。
【符号の説明】
【０１９３】
１０                パルス出力ロジック回路
１１                バスインターフェイス回路
１２                コマンド解析部
１３                ＲＡＭ
１４                パルス出力制御部
１５                予約レジスタ
ＦＳＰＤ            第１パルス速度
ＬＳＰＤ            加速開始時のパルス速度データ
ＨＳＰＤ            最高速時のパルス速度データ
ＥＬＳＰＤ          減速終了時のパルス速度データ
ＵＣＹＣＬＥ        加速周期データ
ＤＣＹＣＬＥ        減速周期データ
ＲＥＳＯＬ          速度倍率
ＲＳＰＤ            最終パルス速度データ
ＳＵＬ              Ｓ字加速開始部の変速領域データ
ＳＵＨ              Ｓ字加速終了部の変速領域データ
ＳＤＨ              Ｓ字減速開始部の変速領域データ
ＳＤＬ              Ｓ字減速終了部の変速領域データ
【図１】
2017204955.tif 000003
【図２】
2017204955.tif 000004
【図３】
2017204955.tif 000005
【図４】
2017204955.tif 000006
【図５】
2017204955.tif 000007
【図６】
2017204955.tif 000008
【図７】
2017204955.tif 000009
【図８】
2017204955.tif 000010
【図９】
2017204955.tif 000011
【図１０】
2017204955.tif 000012
【図１１】
2017204955.tif 000013
【図１２】
2017204955.tif 000014
【図１３】
2017204955.tif 000015
【図１４】
2017204955.tif 000016