JPH0895619A - モータ駆動制御装置およびその方法 - Google Patents
モータ駆動制御装置およびその方法Info
- Publication number
- JPH0895619A JPH0895619A JP6230033A JP23003394A JPH0895619A JP H0895619 A JPH0895619 A JP H0895619A JP 6230033 A JP6230033 A JP 6230033A JP 23003394 A JP23003394 A JP 23003394A JP H0895619 A JPH0895619 A JP H0895619A
- Authority
- JP
- Japan
- Prior art keywords
- task
- motor
- control
- parameter
- control unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Landscapes
- Control By Computers (AREA)
- Control Of Electric Motors In General (AREA)
- Numerical Control (AREA)
- Bus Control (AREA)
Abstract
(57)【要約】
【目的】 割込み処理の有無およびその優先順位に係わ
らず、複数モータを協調制御することができるモータ駆
動制御装置およびその方法を提供する。 【構成】 管理制御部(1’)の割込みマスク手段は、
パラメータ設定手段(R5)の制御パラメータの設定お
よび駆動命令の前に割込み信号のマスクを行うととも
に、その制御パラメータの設定後にそのマスクを解除す
るため、制御パラメータの設定および駆動命令時に、他
の割込み処理はその優先順位に係わらず実行されない。
このため、制御パラメータを一括して設定することがで
き、その結果、複数モータが協調して制御される。
らず、複数モータを協調制御することができるモータ駆
動制御装置およびその方法を提供する。 【構成】 管理制御部(1’)の割込みマスク手段は、
パラメータ設定手段(R5)の制御パラメータの設定お
よび駆動命令の前に割込み信号のマスクを行うととも
に、その制御パラメータの設定後にそのマスクを解除す
るため、制御パラメータの設定および駆動命令時に、他
の割込み処理はその優先順位に係わらず実行されない。
このため、制御パラメータを一括して設定することがで
き、その結果、複数モータが協調して制御される。
Description
【0001】
【産業上の利用分野】本発明は、複数のモータの回転を
制御するモータ駆動制御装置およびその方法に関するも
のである。
制御するモータ駆動制御装置およびその方法に関するも
のである。
【0002】
【従来の技術】図3は、モータ駆動制御装置の構成を例
示した図である。この図において、1は複数のモータM
1,M2・・・Mjの回転を制御するCPUボードであ
り、CPUや各種メモリが搭載されている。2はモータ
コントローラボードであり、CPUボード1から出力さ
れるモータ制御命令をバス3を介して受信し、その命令
に基づいて実際にモータM1〜Mjを駆動する。
示した図である。この図において、1は複数のモータM
1,M2・・・Mjの回転を制御するCPUボードであ
り、CPUや各種メモリが搭載されている。2はモータ
コントローラボードであり、CPUボード1から出力さ
れるモータ制御命令をバス3を介して受信し、その命令
に基づいて実際にモータM1〜Mjを駆動する。
【0003】また、以上のモータ駆動制御装置を使っ
て、複数のモータM1,M2・・・Mjを協調的に動作さ
せ、直線や円弧などの補間移動を行わせることができる
(以下、補間制御と称す)。この補間制御は、モータコ
ントローラボード2に補間専用のハードウェア(回路)
を設けて実現するものと、CPUボード1のソフトウェ
ア処理により実現するものとがあるが、ここでは、ソフ
トウェアにより実現するものを対象とする。
て、複数のモータM1,M2・・・Mjを協調的に動作さ
せ、直線や円弧などの補間移動を行わせることができる
(以下、補間制御と称す)。この補間制御は、モータコ
ントローラボード2に補間専用のハードウェア(回路)
を設けて実現するものと、CPUボード1のソフトウェ
ア処理により実現するものとがあるが、ここでは、ソフ
トウェアにより実現するものを対象とする。
【0004】図4はこの補間制御におけるCPUボード
1およびモータコントローラボード2の動作手順の要部
を示すフローチャートであり、以下この図を用いて従来
のモータ駆動制御装置の動作を説明する。
1およびモータコントローラボード2の動作手順の要部
を示すフローチャートであり、以下この図を用いて従来
のモータ駆動制御装置の動作を説明する。
【0005】まず、CPUボード1はステップSa1に
おいて、補間制御する各モータM1〜Mjの現在位置から
次の移動位置までの移動量を計算する。そして、ステッ
プSa2およびSa3において、補間制御対象のモータ
に対する移動量を含む回転命令が出力される。モータコ
ントローラボード2は、ステップSb1において、その
回転命令に従って対応するモータに移動信号を出力し、
そのモータが回転を開始する。
おいて、補間制御する各モータM1〜Mjの現在位置から
次の移動位置までの移動量を計算する。そして、ステッ
プSa2およびSa3において、補間制御対象のモータ
に対する移動量を含む回転命令が出力される。モータコ
ントローラボード2は、ステップSb1において、その
回転命令に従って対応するモータに移動信号を出力し、
そのモータが回転を開始する。
【0006】ここで、優先順位の高い割込み信号が発生
した場合には、ステップSa4においてその処理が終了
するまで行われる。そして、ステップSa5において、
補間制御対象の全てのモータへ全回転命令が出力された
か否かを調べ、まだ未出力の回転命令が存在する場合
(No)には、ステップSa2の処理に戻り、ステップ
Sa2〜Sa5の処理を繰り返す。
した場合には、ステップSa4においてその処理が終了
するまで行われる。そして、ステップSa5において、
補間制御対象の全てのモータへ全回転命令が出力された
か否かを調べ、まだ未出力の回転命令が存在する場合
(No)には、ステップSa2の処理に戻り、ステップ
Sa2〜Sa5の処理を繰り返す。
【0007】全ての回転命令が出力された場合(ステッ
プSa5、Yes)には、次のステップSa6へ進み、
モータコントローラボード2に対して、モータ移動ステ
ータスのリード要求が出力され、そして、ステップSb
2において、補間制御対象のモータの移動中/移動終了
などを示すステータスデータの送信が行われる。
プSa5、Yes)には、次のステップSa6へ進み、
モータコントローラボード2に対して、モータ移動ステ
ータスのリード要求が出力され、そして、ステップSb
2において、補間制御対象のモータの移動中/移動終了
などを示すステータスデータの送信が行われる。
【0008】ステップSa7では、そのステータスデー
タを調べ、全ての制御対象のモータが移動を終了したか
否かを調べる。そして、まだ終了していないモータが存
在する場合(Yes)にはステップSa6へ戻り再びス
テータスのリード要求を出力する。こうして、全てのモ
ータが移動を終了するまでステップSa6およびSa7
が繰り返し実行され、その終了が確認されるとステップ
Sa8へ進む。
タを調べ、全ての制御対象のモータが移動を終了したか
否かを調べる。そして、まだ終了していないモータが存
在する場合(Yes)にはステップSa6へ戻り再びス
テータスのリード要求を出力する。こうして、全てのモ
ータが移動を終了するまでステップSa6およびSa7
が繰り返し実行され、その終了が確認されるとステップ
Sa8へ進む。
【0009】ステップSa8では、補間制御対象のモー
タが最終的な目的位置(終点)に到着したか否かを調
べ、まだ到着していない場合には、ステップSa1へ戻
り、以上の処理を繰り返す。
タが最終的な目的位置(終点)に到着したか否かを調
べ、まだ到着していない場合には、ステップSa1へ戻
り、以上の処理を繰り返す。
【0010】
【発明が解決しようとする課題】ところで、上述したモ
ータ駆動制御装置のCPUボード1においては、モータ
コントローラボード2へ補間制御対象の全モータの回転
命令が出力されるステップSa2〜Sa5の処理の途中
で、優先順位の高い割込み処理が発生し、その処理が長
時間実行された場合(ステップSa4)に、各モータの
移動にばらつきが生じ、目的の補間移動軌跡が変形して
しまうという問題があった。
ータ駆動制御装置のCPUボード1においては、モータ
コントローラボード2へ補間制御対象の全モータの回転
命令が出力されるステップSa2〜Sa5の処理の途中
で、優先順位の高い割込み処理が発生し、その処理が長
時間実行された場合(ステップSa4)に、各モータの
移動にばらつきが生じ、目的の補間移動軌跡が変形して
しまうという問題があった。
【0011】この発明は、割込み処理の有無およびその
優先順位に係わらず、複数モータを協調制御することが
できるモータ駆動制御装置およびその方法を提供するこ
とを目的としている。
優先順位に係わらず、複数モータを協調制御することが
できるモータ駆動制御装置およびその方法を提供するこ
とを目的としている。
【0012】
【課題を解決するための手段】以上の課題を解決するた
めに、請求項1記載の発明は、制御パラメータを出力す
る管理制御部と、前記制御パラメータに基づいて実際に
複数のモータを駆動制御するモータ制御部とからなるモ
ータ駆動制御装置において、前記管理制御部は、予め設
定された複数のタスクに基づいて対応する前記モータの
制御パラメータを設定するパラメータ設定手段と、前記
タスクの状態を管理するタスク管理手段と、前記タスク
管理手段が各タスクの状態を記憶する少なくとも一つの
テーブルと、割込み信号のマスクを行う割込みマスク手
段とを備え、前記モータ制御部は、前記制御パラメータ
を記憶するパラメータ記憶手段と、前記パラメータ記憶
手段に記憶された制御パラメータに基づいて対応する前
記モータへ駆動信号を出力する駆動信号発生手段と、割
込み信号により前記駆動信号発生手段の出力が終了した
ことを前記管理制御部に知らせる割込み信号発生手段と
を備え、前記割込みマスク手段は、前記パラメータ設定
手段の制御パラメータの設定前に割込み信号のマスクを
行うとともに、その制御パラメータの設定後に前記マス
クを解除し、前記タスク管理手段は、前記制御パラメー
タの設定が終わった時点で、対応するタスクを前記テー
ブルへ登録するとともにそのタスクを休止状態とし、そ
のタスクに対応する全ての割込み信号発生手段から割込
み信号を受けた場合に、そのタスクの休止状態を解除す
ることを特徴とする。
めに、請求項1記載の発明は、制御パラメータを出力す
る管理制御部と、前記制御パラメータに基づいて実際に
複数のモータを駆動制御するモータ制御部とからなるモ
ータ駆動制御装置において、前記管理制御部は、予め設
定された複数のタスクに基づいて対応する前記モータの
制御パラメータを設定するパラメータ設定手段と、前記
タスクの状態を管理するタスク管理手段と、前記タスク
管理手段が各タスクの状態を記憶する少なくとも一つの
テーブルと、割込み信号のマスクを行う割込みマスク手
段とを備え、前記モータ制御部は、前記制御パラメータ
を記憶するパラメータ記憶手段と、前記パラメータ記憶
手段に記憶された制御パラメータに基づいて対応する前
記モータへ駆動信号を出力する駆動信号発生手段と、割
込み信号により前記駆動信号発生手段の出力が終了した
ことを前記管理制御部に知らせる割込み信号発生手段と
を備え、前記割込みマスク手段は、前記パラメータ設定
手段の制御パラメータの設定前に割込み信号のマスクを
行うとともに、その制御パラメータの設定後に前記マス
クを解除し、前記タスク管理手段は、前記制御パラメー
タの設定が終わった時点で、対応するタスクを前記テー
ブルへ登録するとともにそのタスクを休止状態とし、そ
のタスクに対応する全ての割込み信号発生手段から割込
み信号を受けた場合に、そのタスクの休止状態を解除す
ることを特徴とする。
【0013】また、請求項2記載の発明は、請求項1記
載の発明において、前記管理制御部は、マルチタスクの
OS上で動作し、前記パラメータ設定手段、前記タスク
管理手段、前記テーブル、および割込みマスク手段のう
ちの前記モータ制御部と直接係わる部分をデバイスドラ
イバにより構成することを特徴とする。
載の発明において、前記管理制御部は、マルチタスクの
OS上で動作し、前記パラメータ設定手段、前記タスク
管理手段、前記テーブル、および割込みマスク手段のう
ちの前記モータ制御部と直接係わる部分をデバイスドラ
イバにより構成することを特徴とする。
【0014】また、請求項3記載の発明は、管理制御部
が、割込み信号をマスクする第1のステップと、選択さ
れたタスクに従ってモータ制御部へ制御対象のモータの
制御パラメータを一括して出力する第2のステップと、
前記割込み信号のマスクを解除する第3のステップと、
前記選択されたタスクをテーブルに登録するとともにそ
のタスクを休止状態にする第4のステップと、必要に応
じて前記第1ないし第4のステップを他のタスクに対し
て行う第5のステップと、その第5のステップにおいて
モータ制御部からモータの駆動終了を示す割込み信号が
出力された場合に、そのモータの制御を行ったタスクを
前記テーブルにおいて検索する第6のステップと、その
検索により判別されたタスクに含まれる全ての制御が終
了したか否かを調べ、終了した場合にはそのタスクの休
止状態を解除した後前記第1のステップへ戻り、終了し
ていない場合には前記第5のステップへ戻る第7のステ
ップとを具備することを特徴とする。
が、割込み信号をマスクする第1のステップと、選択さ
れたタスクに従ってモータ制御部へ制御対象のモータの
制御パラメータを一括して出力する第2のステップと、
前記割込み信号のマスクを解除する第3のステップと、
前記選択されたタスクをテーブルに登録するとともにそ
のタスクを休止状態にする第4のステップと、必要に応
じて前記第1ないし第4のステップを他のタスクに対し
て行う第5のステップと、その第5のステップにおいて
モータ制御部からモータの駆動終了を示す割込み信号が
出力された場合に、そのモータの制御を行ったタスクを
前記テーブルにおいて検索する第6のステップと、その
検索により判別されたタスクに含まれる全ての制御が終
了したか否かを調べ、終了した場合にはそのタスクの休
止状態を解除した後前記第1のステップへ戻り、終了し
ていない場合には前記第5のステップへ戻る第7のステ
ップとを具備することを特徴とする。
【0015】
【作用】この発明によれば、管理制御部の割込みマスク
手段は、パラメータ設定手段の制御パラメータの設定前
に割込み信号のマスクを行うとともに、その制御パラメ
ータの設定後にそのマスクを解除するため、制御パラメ
ータの設定時には優先順位に係わらず他の割込み処理は
実行されない。このため、制御パラメータを一括して設
定することができ、その結果、複数モータが協調して制
御される。
手段は、パラメータ設定手段の制御パラメータの設定前
に割込み信号のマスクを行うとともに、その制御パラメ
ータの設定後にそのマスクを解除するため、制御パラメ
ータの設定時には優先順位に係わらず他の割込み処理は
実行されない。このため、制御パラメータを一括して設
定することができ、その結果、複数モータが協調して制
御される。
【0016】
【実施例】以下、図面を参照して、この発明の一実施例
について説明する。図1はこの実施例によるモータ駆動
制御装置の機能構成を示すブロック図であり、図3に対
応する部分には同一の符号を付けその説明を省略する。
また、この図に示す破線〜は、処理の流れを示すも
のである。
について説明する。図1はこの実施例によるモータ駆動
制御装置の機能構成を示すブロック図であり、図3に対
応する部分には同一の符号を付けその説明を省略する。
また、この図に示す破線〜は、処理の流れを示すも
のである。
【0017】図1において、CPUボード1’には、ア
プリケーションプログラムと、マルチタスクのOS(Op
erating System)と、それらOSとプログラムとモータ
コントロールボードとの間の仲介を行い制御データを作
成するデバイスドライバとが組み込まれている。このよ
うに構成することにより、平易なユーザプログラムでモ
ータM1〜Mjをリアルタイムに制御することができる。
プリケーションプログラムと、マルチタスクのOS(Op
erating System)と、それらOSとプログラムとモータ
コントロールボードとの間の仲介を行い制御データを作
成するデバイスドライバとが組み込まれている。このよ
うに構成することにより、平易なユーザプログラムでモ
ータM1〜Mjをリアルタイムに制御することができる。
【0018】ここで、アプリケーションプログラムは、
任意の時間あるいは順序で実行される複数のタスクT1
〜Tkに分解され、そのうちのいくつかのタスクを同時
に処理するようなこともできる。
任意の時間あるいは順序で実行される複数のタスクT1
〜Tkに分解され、そのうちのいくつかのタスクを同時
に処理するようなこともできる。
【0019】また、OSは、CPUの割込み処理を一時
的に停止させるCPU割込みマスク機構M1と、割込み
処理の開始アドレスをテーブルとして記憶する割込み処
理ルーチンテーブルTB1と、割り込みの登録および受
付を行う割込み登録・受け付けルーチンR1とを有し、
デバイスドライバは、パラメータ設定ルーチンR2と、
割込み処理ルーチンR3と、終了待機場所TB2と、駆動
制御&終了待ちルーチンR4とを有する。
的に停止させるCPU割込みマスク機構M1と、割込み
処理の開始アドレスをテーブルとして記憶する割込み処
理ルーチンテーブルTB1と、割り込みの登録および受
付を行う割込み登録・受け付けルーチンR1とを有し、
デバイスドライバは、パラメータ設定ルーチンR2と、
割込み処理ルーチンR3と、終了待機場所TB2と、駆動
制御&終了待ちルーチンR4とを有する。
【0020】一方、モータコントローラボード2’に
は、各モータへ駆動信号を出力するモータ駆動パルス発
生機構2b1,2b2・・・2bjと、各モータの制御終
了を知らせる割込み信号発生機構2a1,2a2・・・2
ajとが、モータM1〜Mjの各々に対応して設けられて
いる。また、上記のモータ駆動パルス発生機構2b1〜
2bjの各々は、CPUボード1’が出力する制御パラ
メータを記憶するパラメータ保存場所を有する。
は、各モータへ駆動信号を出力するモータ駆動パルス発
生機構2b1,2b2・・・2bjと、各モータの制御終
了を知らせる割込み信号発生機構2a1,2a2・・・2
ajとが、モータM1〜Mjの各々に対応して設けられて
いる。また、上記のモータ駆動パルス発生機構2b1〜
2bjの各々は、CPUボード1’が出力する制御パラ
メータを記憶するパラメータ保存場所を有する。
【0021】図2は、この実施例の装置が行う動作手順
の要部を示すフローチャートであり、以下、図1および
図2を用いて、タスクT1がモータM1〜M3を補間制御
する場合の動作説明を行う。
の要部を示すフローチャートであり、以下、図1および
図2を用いて、タスクT1がモータM1〜M3を補間制御
する場合の動作説明を行う。
【0022】まず、例えばタスクT1においてモータM1
〜M3に対する直線補間の命令が実行された場合、図2
のステップSc1において、モータM1〜M3の移動量が
それぞれ計算され、デバイスドライバに移動指示が出力
される(図1、破線)。OSの初期時には予め割込み
制御ルーチンテーブルTB1の、モータM1〜M3に対応
する位置に、後述する割込み処理ルーチンR3の先頭ア
ドレスが設定される。
〜M3に対する直線補間の命令が実行された場合、図2
のステップSc1において、モータM1〜M3の移動量が
それぞれ計算され、デバイスドライバに移動指示が出力
される(図1、破線)。OSの初期時には予め割込み
制御ルーチンテーブルTB1の、モータM1〜M3に対応
する位置に、後述する割込み処理ルーチンR3の先頭ア
ドレスが設定される。
【0023】上記移動指示を受けた駆動制御ルーチンR
4は、ステップSd1において、OSがタスクの切り換
えをしないように、CPU割込みマスク機構M1にマス
ク要求の指示を出力する(図1、破線)。指示を受け
たCPU割込みマスク機構M1は、ステップSc2にお
いて、CPUの外部からCPUへ供給される割込み信号
をマスクし、その割込み信号が優先順位に係わらず一時
的に無視されるような設定がなされる。
4は、ステップSd1において、OSがタスクの切り換
えをしないように、CPU割込みマスク機構M1にマス
ク要求の指示を出力する(図1、破線)。指示を受け
たCPU割込みマスク機構M1は、ステップSc2にお
いて、CPUの外部からCPUへ供給される割込み信号
をマスクし、その割込み信号が優先順位に係わらず一時
的に無視されるような設定がなされる。
【0024】そして、パラメータ設定ルーチンR2は、
ステップSd2において上述した移動指示に基づいて、
補間制御対象のモータM1〜M3のパラメータ設定および
駆動命令を、モータコントローラボード2’へ出力する
(図1、破線)。これらのパラメータは、モータ駆動
パルス発生手段2b1〜2b3の各々のパラメータ保存場
所に一旦記憶され、次の駆動命令に基づいて順次駆動パ
ルスが出力される(ステップSe1)。そして、駆動パ
ルスに従って各モータM1〜M3が回転を開始する。
ステップSd2において上述した移動指示に基づいて、
補間制御対象のモータM1〜M3のパラメータ設定および
駆動命令を、モータコントローラボード2’へ出力する
(図1、破線)。これらのパラメータは、モータ駆動
パルス発生手段2b1〜2b3の各々のパラメータ保存場
所に一旦記憶され、次の駆動命令に基づいて順次駆動パ
ルスが出力される(ステップSe1)。そして、駆動パ
ルスに従って各モータM1〜M3が回転を開始する。
【0025】パラメータ設定ルーチンR2の駆動命令の
出力(ステップSd2)が終了すると、駆動制御ルーチ
ンR4は、ステップSd3において割込み解除の要求を
出力する。そして、ステップSc3において、CPU割
込みマスク機構M1が割込み信号のマスクを解除する
(図1、破線)。これにより、割込み信号のマスク時
に発生した割込みの処理が優先順の高い順で処理され
る。
出力(ステップSd2)が終了すると、駆動制御ルーチ
ンR4は、ステップSd3において割込み解除の要求を
出力する。そして、ステップSc3において、CPU割
込みマスク機構M1が割込み信号のマスクを解除する
(図1、破線)。これにより、割込み信号のマスク時
に発生した割込みの処理が優先順の高い順で処理され
る。
【0026】そして、駆動制御ルーチンR4は、ステッ
プSd4において、終了待機場所TB2のモータM1〜M
3に対応する位置にタスク番号T1を書込み、タスクT1
をスリープ状態に設定する(図1、破線)。これによ
り、タスクT1の処理は一時的に休止され、その間、C
PUボード1’は、他のスリープ状態でないタスクの処
理を行うことができる(ステップSc4)。
プSd4において、終了待機場所TB2のモータM1〜M
3に対応する位置にタスク番号T1を書込み、タスクT1
をスリープ状態に設定する(図1、破線)。これによ
り、タスクT1の処理は一時的に休止され、その間、C
PUボード1’は、他のスリープ状態でないタスクの処
理を行うことができる(ステップSc4)。
【0027】次に、例えばモータ駆動パルス発生機構2
b1における駆動パルスの出力が終了すると(図2ステ
ップSe10、Yes)、割込み信号発生機構2a1か
ら、その終了を知らせる割込み信号が、バス3を介して
CPUボード1’へ出力される(図1破線、図2ステ
ップSe11)。この割込み信号を受けた割込み受け付
けルーチンR1は、モータM1に対応する割込み処理ルー
チンR3の開始アドレスを割込み処理ルーチンテーブル
TB1において検索し、その結果が示す位置にジャンプ
する(図1破線、図2ステップSc10)。
b1における駆動パルスの出力が終了すると(図2ステ
ップSe10、Yes)、割込み信号発生機構2a1か
ら、その終了を知らせる割込み信号が、バス3を介して
CPUボード1’へ出力される(図1破線、図2ステ
ップSe11)。この割込み信号を受けた割込み受け付
けルーチンR1は、モータM1に対応する割込み処理ルー
チンR3の開始アドレスを割込み処理ルーチンテーブル
TB1において検索し、その結果が示す位置にジャンプ
する(図1破線、図2ステップSc10)。
【0028】そして、ジャンプ先の割込み処理ルーチン
R3により、終了待機場所TB2が検索され、デバイスド
ライバはモータM1の駆動が終了したことを認識する。
しかし、まだモータM2,M3の駆動が終了していないた
め、ステップSd10の結果はNoとなり、再びタスク
T1はスリープ状態となる。
R3により、終了待機場所TB2が検索され、デバイスド
ライバはモータM1の駆動が終了したことを認識する。
しかし、まだモータM2,M3の駆動が終了していないた
め、ステップSd10の結果はNoとなり、再びタスク
T1はスリープ状態となる。
【0029】このようにして、割込み信号発生機構2a
2および2a3から、駆動終了を知らせる割込み信号を受
け、ステップSd10においてタスクT1の全てのモー
タM1〜M3の駆動終了が確認されると、ステップSd1
1において対象のタスクT1がウェイクアップ状態に再
設定され、ドライバからタスクT1に戻る(図1破線
)。
2および2a3から、駆動終了を知らせる割込み信号を受
け、ステップSd10においてタスクT1の全てのモー
タM1〜M3の駆動終了が確認されると、ステップSd1
1において対象のタスクT1がウェイクアップ状態に再
設定され、ドライバからタスクT1に戻る(図1破線
)。
【0030】そして、ステップSc11において目標の
終点に到着したか否かが調べられ、まだ到着していない
場合には、次の移動点に対して以上の各種処理が繰り返
し行われる。そして、このステップSc11において終
点への到着が確認された場合にはタスクT1の補間制御
を終了する。
終点に到着したか否かが調べられ、まだ到着していない
場合には、次の移動点に対して以上の各種処理が繰り返
し行われる。そして、このステップSc11において終
点への到着が確認された場合にはタスクT1の補間制御
を終了する。
【0031】以上説明したように、本実施例によれば、
CPUボード1’はタスクT1の補間制御が開始される
と全ての割り込みをマスク状態にし、制御パラメータの
設定および駆動命令が終わった後、そのマスク状態を解
除する。このため、制御パラメータの設定および駆動命
令の途中で割り込みによる他の処理が実行され、そのた
めに補間制御対象のモータの駆動開始がばらつくような
ことはなくなる。つまり、同一のタスクに基づく制御パ
ラメータは、一括して設定され、各モータは協調して回
転制御される。
CPUボード1’はタスクT1の補間制御が開始される
と全ての割り込みをマスク状態にし、制御パラメータの
設定および駆動命令が終わった後、そのマスク状態を解
除する。このため、制御パラメータの設定および駆動命
令の途中で割り込みによる他の処理が実行され、そのた
めに補間制御対象のモータの駆動開始がばらつくような
ことはなくなる。つまり、同一のタスクに基づく制御パ
ラメータは、一括して設定され、各モータは協調して回
転制御される。
【0032】なお、以上の説明では、タスクT1がモー
タM1〜M3を補間制御する場合に限って説明を行った
が、選択されるタスクT1〜Tk、およびそれらのタスク
T1〜Tkが補間制御するモータM1〜Mjは、全ての組み
合わせで任意またはランダムに選択される。
タM1〜M3を補間制御する場合に限って説明を行った
が、選択されるタスクT1〜Tk、およびそれらのタスク
T1〜Tkが補間制御するモータM1〜Mjは、全ての組み
合わせで任意またはランダムに選択される。
【0033】また、以上説明した本実施例においては、
OSとデバイスドライバとを分離してCPUボード1’
に組み込んだが、OS内にデバイスドライバの機能を組
み込むことも可能である。
OSとデバイスドライバとを分離してCPUボード1’
に組み込んだが、OS内にデバイスドライバの機能を組
み込むことも可能である。
【0034】また、以上説明した本実施例においては、
補間制御を前提にして説明を行ったが、補間制御以外の
複数のモータを協調して動作させる制御に対しても、容
易に適用することができる。
補間制御を前提にして説明を行ったが、補間制御以外の
複数のモータを協調して動作させる制御に対しても、容
易に適用することができる。
【0035】
【発明の効果】以上説明したように、この発明によれ
ば、管理制御部は、他の処理の割込みを受けずに、複数
モータの制御パラメータを一括して設定および駆動でき
るため、複数モータの駆動開始のずれやばらつきを抑え
ることができ、例えば、そのずれに起因する補間移動軌
跡の変形を防止することができるという効果が得られ
る。
ば、管理制御部は、他の処理の割込みを受けずに、複数
モータの制御パラメータを一括して設定および駆動でき
るため、複数モータの駆動開始のずれやばらつきを抑え
ることができ、例えば、そのずれに起因する補間移動軌
跡の変形を防止することができるという効果が得られ
る。
【図1】 この発明の一実施例によるモータ駆動制御装
置の機能構成を示すブロック図である。
置の機能構成を示すブロック図である。
【図2】 図1の装置における動作手順のフローチャー
トを示す図である。
トを示す図である。
【図3】 従来のモータ駆動制御装置の構成を例示した
図である。
図である。
【図4】 図3の装置における動作手順のフローチャー
トを示した図である。
トを示した図である。
1’ CPUボード T1〜Tk タスク M1 CPU割込みマスク機構 TB1 割込み処理ルーチンテーブル TB2 終了待機場所 R1 割込み登録・受け付けルーチン R2 パラメータ設定ルーチン R3 割込み処理ルーチン R4 駆動制御&終了待ちルーチン 3 バス 2’ モータコントローラボード 2a1〜2aj 割込信号発生機構 2b1〜2bj モータ駆動パルス発生機構 M1〜Mj モータ
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G05B 19/02 W G06F 9/46 7737−5B 13/24 9172−5E H02P 5/00
Claims (3)
- 【請求項1】 制御パラメータを出力する管理制御部
と、前記制御パラメータに基づいて実際に複数のモータ
を駆動制御するモータ制御部とからなるモータ駆動制御
装置において、 前記管理制御部は、予め設定された複数のタスクに基づ
いて対応する前記モータの制御パラメータを設定するパ
ラメータ設定手段と、前記タスクの状態を管理するタス
ク管理手段と、前記タスク管理手段が各タスクの状態を
記憶する少なくとも一つのテーブルと、割込み信号のマ
スクを行う割込みマスク手段とを備え、 前記モータ制御部は、前記制御パラメータを記憶するパ
ラメータ記憶手段と、前記パラメータ記憶手段に記憶さ
れた制御パラメータに基づいて対応する前記モータへ駆
動信号を出力する駆動信号発生手段と、割込み信号によ
り前記駆動信号発生手段の出力が終了したことを前記管
理制御部に知らせる割込み信号発生手段とを備え、 前記割込みマスク手段は、前記パラメータ設定手段の制
御パラメータの設定前に割込み信号のマスクを行うとと
もに、その制御パラメータの設定後に前記マスクを解除
し、 前記タスク管理手段は、前記制御パラメータの設定が終
わった時点で、対応するタスクを前記テーブルへ登録す
るとともにそのタスクを休止状態とし、そのタスクに対
応する全ての割込み信号発生手段から割込み信号を受け
た場合に、そのタスクの休止状態を解除することを特徴
とするモータ駆動制御装置。 - 【請求項2】 前記管理制御部は、マルチタスクのOS
上で動作し、前記パラメータ設定手段、前記タスク管理
手段、前記テーブル、および割込みマスク手段のうちの
前記モータ制御部と直接係わる部分をデバイスドライバ
により構成することを特徴とする請求項1記載のモータ
駆動制御装置。 - 【請求項3】 管理制御部が、割込み信号をマスクする
第1のステップと、 選択されたタスクに従ってモータ制御部へ制御対象のモ
ータの制御パラメータを一括して出力する第2のステッ
プと、 前記割込み信号のマスクを解除する第3のステップと、 前記選択されたタスクをテーブルに登録するとともにそ
のタスクを休止状態にする第4のステップと、 必要に応じて前記第1ないし第4のステップを他のタス
クに対して行う第5のステップと、 その第5のステップにおいてモータ制御部からモータの
駆動終了を示す割込み信号が出力された場合に、そのモ
ータの制御を行ったタスクを前記テーブルにおいて検索
する第6のステップと、 その検索により判別されたタスクに含まれる全ての制御
が終了したか否かを調べ、終了した場合にはそのタスク
の休止状態を解除した後前記第1のステップへ戻り、終
了していない場合には前記第5のステップへ戻る第7の
ステップとを具備することを特徴とするモータ制御方
法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6230033A JPH0895619A (ja) | 1994-09-26 | 1994-09-26 | モータ駆動制御装置およびその方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6230033A JPH0895619A (ja) | 1994-09-26 | 1994-09-26 | モータ駆動制御装置およびその方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0895619A true JPH0895619A (ja) | 1996-04-12 |
Family
ID=16901521
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6230033A Withdrawn JPH0895619A (ja) | 1994-09-26 | 1994-09-26 | モータ駆動制御装置およびその方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0895619A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109849102A (zh) * | 2019-03-12 | 2019-06-07 | 深圳市强华科技发展有限公司 | 一种pcb数控钻孔控制系统及其控制方法 |
-
1994
- 1994-09-26 JP JP6230033A patent/JPH0895619A/ja not_active Withdrawn
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109849102A (zh) * | 2019-03-12 | 2019-06-07 | 深圳市强华科技发展有限公司 | 一种pcb数控钻孔控制系统及其控制方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0895619A (ja) | モータ駆動制御装置およびその方法 | |
| WO1992009018A1 (fr) | Procede d'execution d'une fonction auxiliaire dans un equipement a commande numerique | |
| CN110568821B (zh) | 数值控制装置 | |
| JPH0895618A (ja) | モータ駆動制御装置およびその方法 | |
| JPH10240330A (ja) | 数値制御装置 | |
| JP2001154719A (ja) | 自由曲線補間方法 | |
| JP2000339036A (ja) | 位置決め制御装置 | |
| JPH08314523A (ja) | 数値制御装置 | |
| JPH0898590A (ja) | モータ駆動制御装置およびその方法 | |
| JP2800416B2 (ja) | 位置決め制御装置 | |
| JPS63143607A (ja) | 数値制御装置 | |
| JP2000339009A (ja) | 位置決め制御ユニット、cpuユニット、並びに、プログラマブル・コントローラ・システム | |
| JP2728256B2 (ja) | 数値制御方法 | |
| JP2850273B2 (ja) | 数値制御装置 | |
| JP3743335B2 (ja) | 数値制御装置 | |
| JPH05333910A (ja) | 制御装置 | |
| JP2000112513A (ja) | 位置決め制御装置 | |
| JPH06103115A (ja) | デバッグ方式 | |
| JPH0825261A (ja) | モータの制御装置 | |
| JP2674343B2 (ja) | ロボットの制御装置 | |
| JPH0819296A (ja) | モータの制御装置 | |
| JP2001022416A (ja) | ロボット協調制御装置 | |
| JPH10161748A (ja) | モータの位置決め制御装置 | |
| JP2001195162A (ja) | システム制御用処理装置及びシステム制御方法 | |
| JPH07225607A (ja) | 最短時間位置決め制御方法および装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20020115 |