JP2000207228A - モ―タ制御装置 - Google Patents

モ―タ制御装置

Info

Publication number
JP2000207228A
JP2000207228A JP11008817A JP881799A JP2000207228A JP 2000207228 A JP2000207228 A JP 2000207228A JP 11008817 A JP11008817 A JP 11008817A JP 881799 A JP881799 A JP 881799A JP 2000207228 A JP2000207228 A JP 2000207228A
Authority
JP
Japan
Prior art keywords
control
task
motor
control signal
driving
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.)
Pending
Application number
JP11008817A
Other languages
English (en)
Inventor
Hajime Nagase
元 長瀬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Star Micronics Co Ltd
Original Assignee
Star Micronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Star Micronics Co Ltd filed Critical Star Micronics Co Ltd
Priority to JP11008817A priority Critical patent/JP2000207228A/ja
Publication of JP2000207228A publication Critical patent/JP2000207228A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Manipulator (AREA)
  • Control Of Electric Motors In General (AREA)
  • Control Of Multiple Motors (AREA)
  • Control Of Stepping Motors (AREA)

Abstract

(57)【要約】 【課題】 プリエンティブなマルチタスク機能を有する
汎用OSの下で作動する汎用コンピュータを用いて、実
用的なモータ制御を行う。 【解決手段】 タスク切り替え管理部172は、プリエ
ンティブなマルチタスクを実現するために、画像処理に
関するアプリケーションタスクAT1、モータを駆動す
るための命令信号を生成するアプリケーションタスクA
T2および命令信号を送信する送受信タスクAT3を強
制的に切り替えて実行する。タスク切替管理部172
は、アプリケーションタスクAT2において、送信すべ
きデータの作成が完了した時点でセットされるフラグ1
80により上記送信すべきデータが完成したか否かを判
断し、完成すれば、送受信タスクAT3にスレッドを割
り当て、サーボアンプ102へ命令信号を送信する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、プリエンティブ
なマルチタスク機能を備える汎用OS(オペレイティグ
システム)の下で作動する汎用コンピュータ等の信号処
理装置から構成されるモータ制御装置に係り、サーボモ
ータあるいはステッピングモータ等の制御用モータを制
御するモータ制御装置に関する。
【0002】
【従来の技術】図18は、従来のモータ制御装置の構成
の一例を示すブロック図である。図において、モータ制
御装置は、モータ1、該モータ1を駆動する駆動手段で
あるサーボアンプ2、データ処理装置としての汎用コン
ピュータ40、および汎用コンピュータ40とサーボア
ンプ2とを接続するRS−232Cインターフェース3
0からなる。モータ1は、サーボモータあるいはステッ
ピングモータ等からなり、該モータ1には、エンコーダ
11が接続されており、エンコーダ11からフィードバ
ック信号がサーボアンプ2に帰還されるように構成され
ている。サーボアンプ2は、モータ1の駆動回路21、
該駆動回路21を制御する制御回路22、該制御回路2
2への駆動信号を演算して出力する独立CPU23、上
記駆動信号を作成するための制御プログラムを記憶する
メモリであるROM24、およびデータ処理用作業メモ
リ領域となるRAM25を備えている。上記構成では、
ROM24の容量をできるだけ大きくすることにより、
大量の駆動信号を演算したり、さまざまなモータ動作を
実施できるようにしていた。
【0003】また、汎用コンピュータ40は、いわゆる
パーソナルコンピュータなどにより構成され、主演算装
置であるCPU41と、各種プログラムを記憶するメモ
リであるROM43と、作業用メモリであるRAM42
と、データの入出力装置であるキーボード49やCRT
48からの入力データを処理する入力制御部47と、C
RT48に表示するデータの処理を行う表示制御部46
と、外部へデータを出力するための通信ドライバ45と
を具備している。さらに、汎用コンピュータ40とサー
ボアンプ2とは、コネクタ形状や、信号線の役割や、電
気特性、通信速度などを定めた国際的インターフェース
規格の1つであるRS−232Cインターフェースを介
してデータの送受信を行う。汎用コンピュータ40は、
サーボアンプ2へ、動作開始タイミングの指令信号や、
基本的制御データを送信する一方、サーボアンプ2か
ら、例えば、モータの停止位置のモニタ用データを収集
し、モータ制御を管理する。
【0004】しかしながら、上述した従来技術では、サ
ーボアンプ2の作動中には、汎用コンピュータ40との
送受信が基本的にはできず、汎用コンピュータ40は、
単に制御データ編集用として機能していた。すなわち、
汎用コンピュータ40でモータ1を制御することはでき
ず、複雑なモータ制御を行う場合には、サーボアンプ2
側の独立CPU23の機能アップやROM24、RAM
25の容量アップが必要となり、サーボアンプ2の肥大
化を招くため、固定的な制御(専用化)しかできないと
いう問題があった。
【0005】次に、図19は、従来の別のモータ制御装
置の構成の一例を示すブロック図である。なお、図18
に対応する部分には同一の符号を付けて説明を省略す
る。図において、モータ制御装置は、モータ1、該モー
タ1を駆動する駆動手段であるサーボアンプ60、モー
タ1用の駆動信号を生成し出力する専用コンピュータ7
0、専用コンピュータ70とサーボアンプ60とを接続
する専用インターフェース50から構成されている。サ
ーボアンプ60は、モータ1の駆動回路21および該駆
動回路21を制御する制御回路26を備え、専用インタ
ーフェース50から送られてくる駆動信号によってモー
タ1を駆動する。
【0006】専用コンピュータ70は、上記駆動信号を
生成するための高速CPU71と、生成された駆動信号
を外部へ出力する専用通信ドライバ75と、を有してい
る。さらに特徴的なのは、高速CPU71は、マルチタ
スク機能を備えていることである。このために、タスク
切り替えの管理を行うタスク切り替え管理部72と切り
替え周期を定める外部割り込みタイマ80を具備してい
る。言い換えると、前述した図18に示すモータ制御装
置では、CPU41は、マルチタスク機能を備える必要
はない。
【0007】なお、マルチタスク機能とは、1つのCP
U(この例では高速CPU71)で複数の処理内容(タ
スク)を見かけ上同時に並行して実行することであり、
このためCPUは、複数のタスクを所定の時間ごとに切
り替えて実行する。切り替え順序や各タスクの実行上の
プロセスは、タスク切り替え管理部72によって管理さ
れる。
【0008】一般に、マルチタスク機能として制御可能
なタスクの数としては8個,16個、あるいは32個さ
らに64個まで可能であるが、図19に示す従来のモー
タ制御装置では、タスク切り替え管理部72の中でモー
タ制御タスクとアプリケーションタスクという2つのタ
スクを切り替える例を示している。
【0009】ROM73は、マルチタスク機能を実行す
るためのシステム制御プログラム73aと、モータ駆動
信号生成用のモータ制御プログラム73bと、アプリケ
ーションプログラム73cと、これら以外のメモリ73
dとから構成されている。アプリケーションプログラム
73cは、モータ制御に不慣れな一般ユーザがキーボー
ド49、CRT48を介して入力した希望動作条件をモ
ータ制御パラメータに変換するプログラム等である。高
速CPU71は、上記プログラムに基づいて、RAM7
4内でデータ処理を行い、タスク切替管理部72による
モータ制御タスクのプロセス到来時に、データ処理され
たデータを専用通信ドライバ74から出力する。高速C
PU71や専用通信ドライバー75は、高速な信号処理
が可能なように専用ハードウェアから構成されている。
【0010】図20は、タスク切り替えの状態を説明す
るためのタイミングチャートである。図20では、アプ
リケーションタスクとモータ制御タスクとが横軸の時間
経過とともに、どのように切り替わっていくかを示して
いる。まず、全体の流れ(プロセス)は、時間t0ごと
に区切られる。この時間t0は、外部割り込みタイマ8
0によって生成され、例えば、1msecである。時間
t0の内、時間tがモータ制御タスクのプロセスによっ
て使用される。時間tは、例えば、0.5msecであ
る。図示するように、モータ制御タスクに関わるプロセ
スが0.5msec経過すると、アプリケーションタス
クに切り替わる。アプリケーションタスクの実施中にt
0=1msecの割り込み周期に達すると、アプリケー
ションタスクが中断され、再び、モータ制御タスクにプ
ロセスが移行する。
【0011】次に、図21は、タスク切り替えに関わる
制御動作を説明するためのフローチャートである。制御
がスタートすると、まず、ステップS1で、外部割り込
みタイマーを作動させる。次に、ステップS2で、アプ
リケーションタスクに関わる処理を実行する。このと
き、ステップS3で、外部割込タイマ80からの割込信
号が供給されたか否かを判別し、割込信号がなければ、
ステップS2に戻り、アプリケーションタスクの実行を
継続する。一方、割込信号が供給されると、このループ
を抜け出し、ステップS4で、アプリケーションタスク
の実行を中断する。中断時のデータ状態は、RAM74
等に待避される。
【0012】次に、ステップS5で、モータ制御タスク
を実行する。このとき、ステップS6で、予め設定され
た制限時間(t=500μsec)を経過したかを判断
し、時間経過していなければ、ステップS5に戻り、モ
ータ制御タスクの実行を継続する。一方、制限時間を経
過すれば、このループを抜け出し、ステップS7で、モ
ータ制御タスクの実行を中断する。中断時のデータ状態
は、RAM74等に待避される。そして、ステップS2
に戻り、再び、アプリケーションタスクに関わる処理を
実行する。このとき、RAM74等に待避した、中断時
のデータ状態を読み出し、前回中断した処理の続きを実
行する。同様に、上記アプリケーションタスクを中断し
てモータ制御タスクを再び実行する際にも、中断時のデ
ータ状態を読み出し、前回中断した処理の続きを実行す
る。
【0013】以下、この処理を繰り返し実行すること
で、アプリケーションタスクとモータ制御タスクとが予
め設定された時間で交互に実行されるので、ユーザから
は、アプリケーションタスクとモータ制御タスクとが同
時に並行して実行されているように見える。なお、詳細
は説明しないが、このような制御フローの終了は、ステ
ップS2におけるアプリケーションタスクに関わる処理
の実行中において、最終タスク処理かを判別することで
行う。
【0014】
【発明が解決しようとする課題】上述した、図20に示
す従来のモータ制御装置では、サーボアンプ60の構成
を簡略化することができる。これに対して、コンピュー
タ70は、専用化され、特に、高速CPU71や、専用
通信ドライバ75、さらに、外部割込タイマ80といっ
た専用ハードウェアを必要とするので、コストアップに
つながり、安価で、容易に入手可能なパーソナルコンピ
ュータなどの汎用コンピュータを用いることができない
といった問題があった。また、コンピュータ70にサー
ボアンプ60を複数個接続して、複数のモータのマルチ
制御を行おうとすると、モータ毎にモータ制御プログラ
ム73bを用意したり、RAM74の作業領域を拡張し
たり、リアルタイム制御のために外部割込タイマ80の
割込タイミングを高速化する必要が生じたりして、コン
ピュータ70は、ますます高機能化せざるを得なくな
り、コストアップにつながるという問題があった。
【0015】ところで、マルチタスクOSには、非プリ
エンティブなマルチタスクOSと、プリエンティブなマ
ルチタスクOSとがある。非プリエンティブなマルチタ
スクOSとしては、例えば、パーソナルコンピュータ用
オペレーティングシステムとして知られているMS−D
OS(米国マイクロソフト社の登録商標)や、Wind
ows3.1(同じく、米国マイクロソフト社の登録商
標)が知られている。しかしながら、非プリエンティブ
なマルチタスクOSでは、あるタスクが終了しない限
り、すなわちタスクがCPUを解放しないかぎり、他の
タスクへ実行を移行することができない。ゆえに、実時
間制御が必要なモータ制御などとアプリケーションとを
同時並行実行することはできない。
【0016】これに対して、プリエンティブなマルチタ
スクOSとしては、Windows95,98またはN
T(同じく、米国マイクロソフト社の登録商標)が知ら
れている。これらWindowsでは、命令形態とし
て、32ビット処理(一度に処理できるビット数が32
個。上記Windows3.1では8ビット処理)が可
能であり、信号処置速度が高速になっている。プリエン
ティブなマルチタスクOSでは、CPUが予め設定され
た時間量または命令量でタスクを強制的に切り替える。
ゆえに、切り替え間隔を制御対象の制御最小時間に応じ
て十分短い時間に設定することが可能であれば、リアル
タイムOSとして用いることができる。
【0017】例えば特開平10−15836には、プリ
エンティブなマルチタスク機能を有するOSとして、W
indows95を用いたロボットコントローラなるも
のが開示されている。Windows95は、16ビッ
トまたは32ビット演算による高速な処理が可能だが、
厳密な意味でのリアルタイムOSではないため、1ms
ecの外部割込発生手段を用いて、各タスクの切り替え
タイミングを一定周期に制御している。
【0018】ところで、コンピュータ側で、他のアプリ
ケーションタスクとモータ制御などを同時並行して実行
させる場合、モータ制御の中には、制御データの作成処
理などのように他のアプリケーションと同時並行処理可
能なタスク以外に、制御データをサーボアンプに送信す
るなどのように、そのタスクの実行が必要となった場合
にだけ実行すればよいタスクがある。
【0019】しかしながら、従来のOSでは、実行が必
要となったときにだけ、所定のタスクを他のアプリケー
ションと同時並行して実行するという処理ができないた
め、言い換えると、上述したような制御データ送信処理
も、同時並行すべきタスクとしてスレッドを割り当てて
しまうため、CPUの負荷が大となり、他のアプリケー
ションや制御データ作成処理などの動作が緩慢になった
り、一時的に(CPUが解放されるまで)動作が停止す
るなど、悪影響を与えてしまうという問題があった。
【0020】この発明は上述した事情に鑑みてなされた
もので、プリエンティブなマルチタスク機能を有する汎
用OSの下で作動する汎用コンピュータを用いて、実用
的なモータ制御を行うことができるモータ制御装置を提
供することを目的としている。
【0021】
【課題を解決するための手段】上述した問題点を解決す
るために、本発明のモータ制御装置は、制御用モータ
と、前記制御用モータを駆動する駆動手段と、前記駆動
手段に前記制御用モータを駆動するための制御信号を送
信する制御手段とからなるモータ制御装置において、前
記制御手段は、複数のタスクを見かけ上、同時実行する
プリエンティプなマルチタスク機能を備え、第1のタス
クの実行により、前記制御用モータを駆動するための制
御信号を生成し、送信するべき前記制御信号の生成が完
了すると、前記制御信号の有無を示すフラグを設定する
制御信号生成手段と、第2のタスクの実行により、前記
制御信号生成手段により生成された前記制御信号を前記
駆動手段へ送信する送信手段と、前記第2のタスクの実
行に際して、前記フラグの示す内容に基づいて、送信す
るべき前記制御信号が無いことを示す場合には、直ちに
次のタスク処理の実行へ移行し、送信するべき前記制御
信号があることを示す場合には、前記第2のタスクの実
行に移行するタスク切り替え手段とを具備することを特
徴とする。
【0022】上記構成のモータ制御装置によれば、制御
信号生成手段は、第1のタスク実行により、前記制御用
モータを駆動するための制御信号を生成し、送信するべ
き前記制御信号の生成が完了すると、前記制御信号の有
無を示すフラグを設定する。送信手段は、第2のタスク
実行により、前記制御信号生成手段により生成された前
記制御信号を前記駆動手段へ送信する。タスク切り替え
手段は、上記第1のタスクと前記第2のタスクを含む複
数のタスクを切り替えながら順次実行する。このとき、
タスク切り替え手段は、前記第2のタスクの実行に際し
て、第1のタスク実行において設定される前記フラグの
示す内容に基づいて、送信するべき前記制御信号が無い
ことを示す場合には、直ちに次のタスク処理の実行へ移
行し、送信するべき前記制御信号があることを示す場合
には、前記第2のタスクの実行に移行する。したがっ
て、フラグのオンオフを判断することで実行プロセスの
有無を判断して、タスク切り替えを効率よく行うことが
可能となった。このため、汎用コンピュータを用いて、
モータ制御と、制御データの演算とを行う装置におい
て、大量の制御データ演算が可能となり、汎用コンピュ
ータを用いてモータ制御を行うことが可能となる。
【0023】ここで、前記駆動手段は、前記送信手段か
ら送信されてきた前記制御信号を記憶する記憶手段と、
前記記憶手段に記憶した制御信号に基づいて前記制御用
モータを駆動する第2の制御手段とを具備することもで
きる。この場合、制御手段からのダイレクト駆動の他に
第2の制御手段によるモータ駆動も可能となり、第2の
制御手段を選択した場合、第2の制御手段によるモータ
駆動中に制御手段側でデータの大量処理が可能となり、
見かけ上、汎用コンピュータのデータ処理能力を向上さ
せることが可能となる。このため、モータの高速駆動制
御が可能となる。また、モータ駆動手段側に備えられる
メモリ容量は少ないものでよく、制御手段側の大容量メ
モリと共用することで、メモリ全体の使用効率を向上さ
せることが可能となる。
【0024】また、前記送信手段によって送信すべき前
記制御信号がなくなると、前記第2のタスクにより、前
記フラグをリセットすることで、制御信号が全て送信さ
れると、再び、第2のタスクをスキップするようになる
ので、タスク切り替えを円滑に行うことが可能となる。
【0025】また、複数の制御用モータと、前記複数の
制御用モータに対応する複数の駆動手段とを具備しても
よい。この場合、前記制御信号生成手段は、前記第1の
タスクの実行により、前記複数の制御用モータの各々に
対し、それぞれを駆動するための複数の制御信号を生成
し、いずれか1つでも送信すべき前記制御信号の生成が
完了すると、前記制御信号の有無を示すフラグを設定す
る。前記送信手段は、前記第2のタスクの実行により、
前記制御信号生成手段によって生成された前記複数の制
御信号を、該当駆動手段を識別するための識別情報を付
加して前記複数の駆動手段に配信する。したがって、制
御手段による複数の制御用モータの同期制御を容易に行
うことが可能となるとともに、制御用モータの数に拘わ
らず、必要とするフラグは1つで済み、構成が大幅に簡
素化することが可能となる。
【0026】また、前記タスク切り替え手段は、前記複
数の制御用モータを駆動するための制御信号の最小周期
時間の少なくとも1/2以下の時間中の周期で前記複数
のタスクを切り替えるようにしてもよい。例えば、50
マイクロ〜100マイクロ秒でタスクを切り替えること
により、100マイクロ〜200マイクロ秒の最小周期
あるいは分解能時間中でモータのリアルタイム制御が可
能となり、いっそうの高速制御や、多軸並列制御が可能
となる。
【0027】
【発明の実施の形態】次に図面を参照してこの発明の実
施形態について説明する。A.第1実施形態 A−1.第1実施形態の構成 図1は、本発明の第1実施形態によるモータ制御装置の
構成を示すブロック図である。図において、モータ制御
装置は、モータ101、該モータを駆動する駆動手段で
あるサーボアンプ102、コンピュータ103、および
データ通信用のRS−232Cインターフェース104
から構成されている。モータ101にはエンコーダ11
1が接続されエンコーダ111からフィードバック信号
がサーボアンプ102に帰還されるように構成されてい
る。サーボアンプ102と汎用コンピュータ103は、
データ通信用のRS−232Cインターフェースを介し
て接続されている。
【0028】サーボアンプ102は、モータ101の駆
動回路121、該駆動回路121を制御する制御回路1
22、該制御回路122への駆動信号(駆動パルス等)
を演算し出力するサブCPU123、上記駆動信号を作
成するための制御プログラムを記憶するメモリであるR
OM124、モータの(位置、速度、電流値等からな
る)動作パターンを記憶する領域やデータ処理用作業メ
モリ領域として用いられるRAM125を備えている。
【0029】該サブCPU123は、制御回路122へ
初期化設定(電流値セット等)の為の指令信号や、基本
的駆動パルスを送ったり、エンコーダ111からのフィ
ードバック信号に基づいて、上記基本的駆動パルスを補
正したり(エンコーダ111からのフィードバック信号
は、主に制御回路122内でも補正される)、また、モ
ータ101の停止位置のモニター用データなどを取り寄
せコンピュータ103へ送信したりする。さらに、サー
ボアンプ102内の制御回路122とコンピュータ10
3とは、モータを制御するサブCPU123の暴走や駆
動回路121の不具合発生時等に必要となるモータ10
1の緊急停止のための緊急停止信号等を直接通信できる
ように構成されている。
【0030】コンピュータ103は、主演算装置である
メインCPU141、各種プログラムを記憶するメモリ
であるROM143、作業用メモリであるRAM14
2、データの入出力装置であるキーボード149やCR
T148からの入力データを処理する入力制御部14
7、CRT148に表示するデータの処理を行う表示制
御部146、および外部へデータを出力するための通信
ドライバ145を備えている。
【0031】コンピュータ103は、マルチタスク機能
を備えており、このために、タスク切り替えの管理を行
うタスク切り替え管理部172を備えている。なお、本
第1実施形態では、タスク切り替えがいわゆるリアルタ
イム性(一定周期で高速切り替え)であることを必須要
件としない。図1に示す例では、タスク切り替え管理部
172の中で、アプリケーションタスクAT1と、アプ
リケーションタスクAT2と、送受信タスクAT3とい
う3つのタスクの切り替え例を示している。
【0032】これに対応して、ROM143は、マルチ
タスク機能を実行するためのシステム制御プログラム1
43aと、モータ制御信号(上述したRAM125に記
憶される動作パターンであり、具体的には後述する図3
を参照)生成用のモータ制御プログラム143bと、ア
プリケーションプログラム143cと、アプリケーショ
ンプログラム143dとを記憶するとともに、各種パラ
メータなどを他のメモリ領域143eに記憶している。
【0033】アプリケーションプログラム143cは、
モータ制御とは全く別な処理をコンピュータに行わせる
ためのプログラムであり、本第1実施形態では、例え
ば、モータ101で順次搬送した物体をカメラで撮影
し、その画像の演算処理を行うものである。該画像処理
は、画像処理のデータを取り込む前に対象となる物体が
モータ101で搬送されては困るので、モータ制御より
優先して行われなければならない。
【0034】アプリケーションプログラム143dは、
モータ制御に不慣れな一般ユーザがキーボード149、
CRT148を介して入力した希望する動作条件(物体
の重量、移動させたい距離、移動時間、希望する消費電
流等)をモータ制御パラメータ(後述する図2のデー
タ)等に変換するプログラムである。また、希望する動
作はモータ101に対して1つとは限らないのが一般で
ある。例えば、3つの停止点があれば、物体を移動させ
る距離は3通りあり、それらを指定するシーケンス(順
番)とタイミングとに従って実行させることとなる。す
なわち、アプリケーションプログラム143dは、モー
タのコントロール情報およびシーケンス制御データ等を
編集するために用意されたものである。他のメモリ14
3eには、モータ制御に関わるエラー処理のためのプロ
グラムや各種データ処理のプログラムなどが格納され
る。
【0035】シーケンス制御管理部190は、上記アプ
リケーションプログラム143dによって入力されたシ
ーケンスデータ(複数の希望する動作の実行順番等)を
記憶し、また、管理するところである。すなわち、サー
ボアンプ102側から1つのシーケンス動作の完了等を
示すシーケンス情報を受け、モータの現在の実行位置を
判断し、次に行うべき動作を指示したりする。
【0036】本第1実施形態においては、物体が3つの
停止点間をシーケンス移動し、これとは別の位置に3つ
の停止点のうちの1つと往復動作させるための待機位置
(原点)を設けたものとした。したがって、希望する動
作を4つとし、これらをモーションA、B、C、Dと
し、RAM142内にこれらの情報を一時記憶するもの
とした。すなわち、RAM142には、モーションAコ
ントロール情報142a、モーションBコントロール情
報142b、モーションCコントロール情報142c、
さらにモーションDコントロール情報142dが格納さ
れる。
【0037】図2は、モーションAコントロール情報1
42aの内部構成を示す概念図である。なお、他の3つ
のモーションに関するコントロール情報の内部構成も同
様である。RAM142には、各領域に、24項目のモ
ータ制御パラメータが記憶され、番号1〜24で示され
る。番号1には、モータの動作開始時の加速度が記憶さ
れており、図示の例では、0.1r(回転数)/min
(1分当たり)/ms(1ミリ秒当たり)の値が記憶さ
れている。番号2には、停止目標位置が、番号3に記憶
される現在位置からの変動分を表すパルス数として記憶
されており、「+」で正転が示される。番号4には、目
標とする動作速度を示す値が記憶されている。さらに、
番号23,24のように、動作時の電流値の制限が必要
なときは、その値を記憶しておく。
【0038】これらのコントロール情報は、前述したよ
うに、キーボード149、CRT148からアプリケー
ションプログラム143dを利用して入力されたデータ
を、メインCPU141がRAM142内の他の作業領
域142eを用いて演算・加工したものである。メイン
CPU141は、これらのコントロール情報に対して、
ROM143に記憶されるモータ制御プログラムを用い
てRAM142内でデータ処理を行い、命令信号に変換
し、通信ドライバ145、RS232Cインターフェー
ス104を介して、サーボアンプ102内のサブCPU
123へ送出する。
【0039】次に、図3は、上記命令信号の形態の一例
を説明するための速度線図である。横軸の移動距離S
[パルス数]は、図2に示す番号2で記憶される停止目
標位置である。縦軸の回転速度V[パルス/秒]は、図
2に示す番号4で記憶される目標速度と、その前後の関
係を示すものである。図において、V0は初期速度、V
1、V2は定速速度、S1は加速までの移動距離、S2
は減速を開始する位置、S3は停止目標位置を示す。し
たがって、命令信号は、V0,V1,V2,S1,S
2,S3の6点となる。このほか、必要に応じて、図2
に示す番号23,24で示した電流データも命令信号と
してサーボアンプ102内のサブCPU123へ送信さ
れる。
【0040】なお、一度(一回)に送られる命令信号の
データ量は256ビットと制限した。これは通信ドライ
バ145、RS232Cインターフェース104を介し
てサブCPU123に送信する際の送信時間をできるだ
け一定にし、また、サブCPU123が受信を完了した
時に返信する応答信号をできるだけ早い段階で確認する
ためである。後述するように、応答信号の返信がない
と、通信エラーが生じたと判断する。一方、送られた命
令信号は、サーボアンプ102内のRAM125内に最
大16点までが記憶されるように構成して、RAM容量
を最小限にし、かつRAM内のデータの検索時間も短時
間で済むようになっている。
【0041】図3で示した6点(ないし8点)の命令信
号からなるモータ動作が繰り返し行われるようであれ
ば、命令信号の新たな送信は必要でないので最大16点
の記憶容量で十分であり、3つの停止点間をシーケンス
移動するようであれば、最低6点の3倍の18点のデー
タを必要とする。そして、シーケンス制御管理部190
の管理によって、モータの現在のシーケンス順番を確認
し、後で行うべき動作に関わる命令信号の不足分をあら
かじめ不要となった命令信号と書き換えるように送信し
ておけば、記憶容量の不足を生じることはない。
【0042】タスク切替管理部172は、アプリケーシ
ョンタスクAT1,AT2,送受信タスクAT3をマル
チタスクにより実行する。但し、送受信タスクAT3に
対しては、フラブ180の内容により、スレッドを割り
当てるか、割り当てないかを決定するようになってい
る。スレッドが割り当てられないということは、実質的
に送受信タスクAT3が実行されないというである。言
い換えると、メインCPU141は、アプリケーション
タスクAT1,AT2の実行のみに専念することが可能
となる。フラグ180は、命令信号を作成するアプリケ
ーションタスクAT2の実行において、送信すべきデー
タの作成が完了した時点で、セットされる。フラグ18
0は、1ビットのメモリである。タスク切替管理部17
2は、フラグ180の内容をチェックすることにより、
上記送信すべきデータが完成したか否かを判断し、完成
している場合には、送受信タスクにスレッドを割り当
て、メインCPU141により実行する。フラグ180
を用いた命令信号の送信制御については後述する。
【0043】A−2.第1実施形態の動作 次に、図4ないし図7は、タスク切り替えおよび各タス
クに関わる動作を説明するためのフローチャートであ
る。 (1)システム制御プログラム まず、システム制御プログラムが起動されると、図4に
示すステップSa1で、フラグ180を初期設定(=
0)する。次に、ステップSa2で、タスク切り替えを
行う。なお、タスク切り替えは、所定のタスクテーブル
を参照することなどにより、現在、起動中のタスクを順
次切り替える。この場合、アプリケーションタスクAT
1,AT2および送受信タスクAT3が起動されてい
る。また、本第1実施形態では、タスク優先順位を、A
T1>AT2>AT3としている。したがって、最初に
実行されるタスクは、アプリケーションタスクAT1と
なる。
【0044】次に、ステップSa3で、切り替えられた
タスクが送受信タスクAT3であるか否かを判断する。
ここで、送受信タスクAT3でなければ、ステップSa
4へ進み、切り替えられたタスクを実行する。そして、
ステップSa5で、本タスクの実行待ち処理があるか否
か(所定量の命令または所定時間の実行が終了したか否
か)を判断し、実行待ち処理がある場合(所定量の命令
または所定時間の実行が終了していない場合)には、ス
テップSa4におけるタスクの実行を継続する。一方、
実行待ち処理がない場合(所定量の命令または所定時間
の実行が終了した場合)には、ステップSa2に戻り、
次のタスクに切り替える。
【0045】一方、ステップSa2でのタスク切り替え
において、送受信タスクAT3が選択された場合には、
ステップSa6へ進み、フラグ180が「1」であるか
否か、すなわちサーボアンプ102に送信すべきデータ
(命令信号)があるか否かを判断し、まだ、送信すべき
データがない場合には、ステップSb2へ戻り、次のタ
スクに切り替える。したがって、フラグ180が「1」
になるまでは、送受信タスクAT3以外のタスク、すな
わち、アプリケーションタスクAT1,2が上述した処
理により、所定量の命令または所定時間、繰り返し実行
されることになる。これに対して、アプリケーションタ
スクAT2により、サーボアンプ102に送信すべきデ
ータ(命令信号)が作成され、フラグ180が「1」と
なった場合にのみ、送受信タスクAT3が実行される
(スレッドが割り当てられる)ことになる。
【0046】(2)アプリケーションタスクAT1 次に、上記システム制御プログラムによりアプリケーシ
ョンタスクAT1が実行されると、まず、図5に示すス
テップSb1で、アプリケーションタスクAT1に係る
処理(例えば画像処理)を実行する。そして、ステップ
Sb2で、当該アプリケーションタスクAT1が終了し
たか否かを判断し、ユーザなどにより終了されていなけ
れば、アプリケーションタスクAT1に係る処理の実行
を継続する。一方、終了されていれば、当該アプリケー
ションタスクAT1自身を終了する。上記処理は、前述
したように、上述したシステム制御プログラムにより、
所定量の命令または所定時間だけ順次実行される。
【0047】(3)アプリケーションタスクAT2 次に、上記システム制御プログラムによりアプリケーシ
ョンタスクAT2が実行されると、まず、図6に示すS
c1で、アプリケーションプログラムAT2(例えばモ
ーションコントロール情報の作成とシーケンス制御デー
タの編集)を実行する。モーションコントロール情報の
作成が一旦完了すると、該モーションコントロール情報
は、RAM142内に記憶される。新たなモーションコ
ントロール情報の入力がない限り、作成作業は行われな
い。新規な動作に関わる情報がキーボード149等から
入力されると、それに対応して演算が行われ、新たなモ
ーションコントロール情報が作成され、RAM142内
に記憶される。したがって、RAM142の容量は、サ
ーボアンプ102側のRAM125より格段に大きいも
のである。
【0048】一方、シーケンス制御データの編集は、モ
ータが動作している限り継続され、必要に応じて、動作
順番に対応した命令信号が、RAM142内のモーショ
ンコントロール情報に基づいて作成されるか、あるいは
作成済みのものが選択される。なお、サーボアンプ10
2側に既に送信済みであれば、シーケンス制御データの
作成、あるいは選択は行われない。また、シーケンスの
変更等の入力があれば、モータの動作中でも、データの
編集が行われる。
【0049】次に、ステップSc2で、シーケンス制御
に基づいて、必要とされたモータ制御用の命令信号の作
成が完了しているか否かを判断する。ここで、命令信号
の作成が完了していれば、ステップSc3で、フラグ1
80を「1」にセットする。一方、命令信号の作成が完
了していない、あるいは作成中であれば、ステップSc
4へ進み、当該アプリケーションタスクAT2が終了し
たか否かを判断し、ユーザなどにより終了されていなけ
れば、アプリケーションタスクAT2に係る処理の実行
を継続する。一方、終了されていれば、当該アプリケー
ションタスクAT2自身を終了する。上記処理は、前述
したように、上述したシステム制御プログラムにより、
所定量の命令または所定時間だけ順次実行される。
【0050】(4)送受信タスク 次に、上記システム制御プログラムによりフラグ180
が「1」となることで送受信タスクが実行されると、ま
ず、図7に示すSd1で、命令信号(最大256ビッ
ト)をサーボアンプ102へ送信する。次に、ステップ
Sd2で、サーボアンプ102側から応答信号が返信さ
れたか否かを確認する。
【0051】応答信号が返信されなければ、ステップS
d3で、時間を計時するタイムカウントを開始する。そ
して、ステップSd4で、タイムカウントに基づいて、
20msecが経過したか否かを判断する。20mse
c経過していなければ、ステップSd2へ戻り、サーボ
アンプ102から応答信号が返信されるのを待つ。ここ
で、応答信号が返信されず、20msec経過したなら
ば、エラー発生状態と判断して、ステップSd5で、所
定のエラー処理を実行する。
【0052】一方、20msec経過する前に、サーボ
アンプ102から応答信号が返信されると、ステップS
d6へ進み、送信データの残りの有無を判断する。ここ
で、送信データの残りがない場合には、ステップSd7
で、フラグ180を「0」とし、ステップSd9へ進
む。一方、送信データがある場合には、ステップSd8
で、CRT148に「送信中」の表示を出し、コンピュ
ータ操作者に状況を知らせる。なお、この表示はフラグ
180が「0」になると消去される。その後、ステップ
Sd9へ進む。
【0053】ステップSc9では、当該送受信タスクA
T3が終了したか否かを判断し、ユーザなどにより終了
されていなければ、送受信タスクAT3に係る処理の実
行を継続する。一方、終了されていれば、当該送受信タ
スクAT3自身を終了する。上記処理は、前述したよう
に、上述したシステム制御プログラムにより、所定量の
命令または所定時間だけ順次実行される。
【0054】次に、図8は、上述した処理により行われ
たタスク切り替えの状態を説明するためのタイムチャー
トである。図8では、タスク切替管理部172で切り替
えの管理がなされるアプリケーションタスクAT1とア
プリケーションタスクAT2、さらに、送受信タスクA
T3とが横軸に示す時間経過とともに、どのように切り
替わっていくかを示している。まず、全体の流れ(プロ
セス)は、時間t1、t2、t3、t4、…、t15、t16毎
に切り替わる。これらの時間(t)は各タスクごとに予
め定められた量(同一とは限らない)の命令を実行する
時間である。すなわち、各タスク毎に予め定められた一
定量の命令または一定時間が1つのプロセスとして区切
られて実行される。アプリケーションタスクAT1の場
合のように、実行時間がほぼ一定(t1=t4=t7…)
に定められる一方、アプリケーションタスクAT2のよ
うに、実行時間を一定に規定することが困難な場合もあ
る。
【0055】送受信タスクAT3の場合、時間t3で信
号転送(256ビットのデータ転送)を完了し、時間t
6,t9のタイミングでは、フラグ180の判別に関わる
処理のみを実行している。フラグ180は、前述したよ
うに1ビットの信号であるので、これを判定するには、
数ナノ秒というわずかな時間で済む。また、時間t12で
は、転送するデータが多く(256ビット以上)、時間
t3と同じ時間を要しても、未転送のデータが存在して
いる状態であり、この場合、次の実行時、すなわち時間
t15のタイミングで、残りのデータを転送する。該時間
t15では、残りのデータを転送したため、処理が早めに
終了するので、サーボアンプ102からの応答信号が早
めに返信され、アプリケーションタスクAT1の実行へ
移行する。
【0056】なお、詳細説明しないが、このような制御
フローの終了は、アプリケーションタスクAT2に関わ
る処理中において、シーケンス制御が最終か否かを判別
することで行うことができる。
【0057】上述した本第1実施形態によれば、サーボ
アンプ102によりモータ101のリアルタイム駆動が
行われると同時に、汎用コンピュータ側でも別のアプリ
ケーションプログラムを円滑に実行することが可能であ
る。さらに、特徴的なことは、マルチタスクの処理を実
行中、所定のタスクについて、その実行処理が必要か否
かを示すフラグをあらかじめ設定しておき、その所定の
タスクの実行順番になったところで、フラグ内容を確認
して、そのタスクの具体的実行に入るか、次のタスクヘ
移行するかを、迅速に(1ビットの信号判定で)判断で
きることである。このため、実行する必要がないタスク
をスキップすることにより、無駄なプロセス経過時間を
省くことができ、汎用コンピュータ側でのマルチタスク
の処理が迅速に行えることになる。
【0058】さらに、サーボアンプ102内のRAM1
25は、モータ動作に必要な全データを持つ必要がな
く、汎用コンピュータ側から新たに必要とするデータ、
あるいは修正データをその都度送信すればよい。そし
て、汎用コンピュータ側では、この送信データを迅速に
作成できるため、RAM125の記憶容量が小さくても
データが不足することなく、サーボアンプ102内のR
AM125を小容量とすることができ、回路構成を簡略
化することができる。また、汎用コンピュータ103
は、専用コンピュータである必要はなく、外部割込タイ
マー等の特別な外部取付基板等が不要で、ただ、プリエ
ンティブなマルチタスク機能を備えていればよい。サー
ボアンプ102も特殊な構成を必要とするものでなく既
存のものを用いることができる。
【0059】B.第2実施形態 次に、本発明の第2実施形態について説明する。図9
は、本発明の第2実施形態によるモータ制御装置の構成
の一例を示すブロック図である。なお、図1に対応する
部分には同一の符号を付けて説明を省略する。図におい
て、本第2実施形態では、制御対象を、サーボアンプ2
02,203の2系統としており、モータ201および
該モータ201を駆動する駆動手段であるサーボアンプ
202、モータ206および該モータ206を駆動する
駆動手段であるサーボアンプ203、さらに、汎用コン
ピュータ103とからなる。
【0060】サーボアンプ202は、制御回路221、
サブCPU222、ROM223、RAM224、駆動
回路225から構成されている。サーボアンプ202
は、モータ201を駆動制御する。また、サーボアンプ
203は、制御回路231、サブCPU232、ROM
233、RAM234、駆動回路235から構成されて
いる。サーボアンプ203は、モータ206を駆動す
る。モータ201、206には、各々、エンコーダ21
1、212が接続されており、フィードバック信号が各
サーボアンプ202、203に帰還されるように構成さ
れている。
【0061】また、本第2実施形態では、サーボアンプ
202、203と汎用コンピュータ103とは、第1実
施形態では1ヶ所への通信が可能なデータ通信用のRS
−232Cインターフェースが使用されたのに対して、
複数箇所への通信が可能なデータ通信用のRS−485
インターフェース204で接続されている。RS−48
5インターフェース204は、信号線の電圧が高く設定
されるなどしてノイズに強く長距離での信号転送が可能
となっているため、シリアル的に複数の送信先を接続す
ることができる。また、サーボアンプ202、203同
士も信号線205で結ばれている。
【0062】すなわち、モータ201は、サーボアンプ
202により駆動されるが、必要なデータはあらかじ
め、汎用コンピュータ103内で演算され、フラグ18
0の判別により送信タイミングを定め、サーボアンプ2
02内のRAM224に格納される。一方、モータ20
6の駆動も同じプロセスが取られる。
【0063】フラグ180は、1つであり、いずれか一
方のモータ用の命令信号が作成完了と判断されるごとに
フラグ180が「1」にセットされ、送受信タスクの到
来とともに、フラグ内容が判断されフラグ180が
「1」であれば、新たに送信するデータ、あるいは送信
残りのデータがあると判断して、該当するサーボアンプ
側のRAMあるいは制御回路へ送信し、フラグが「0」
であれば、送受信タスクを実行することなく、アプリケ
ーションタスクAT1へCPUの実行が移る。なお、デ
ータ送信時には、どちらのサーボアンプに対するデータ
であるかを識別するための識別番号をデータに付けて送
信する。サーボアンプ側では、受信したデータに付加さ
れている識別番号を識別することにより、自身のデータ
であるかを判断する。また、信号線205は、サーボア
ンプ202とサーボアンプ203がそれぞれ独自でモー
タ制御する場合にモータの起動タイミングを合わせた
り、エラー信号をやりとりしたりするためのものであ
る。
【0064】上述した本第2実施形態によれば、汎用コ
ンピュータ103にサーボアンプを複数個接続して、複
数のモータのマルチ制御を行おうとする場合にも、1つ
のフラグで良く、このフラグで新たに送信するデータ、
あるいは送信残りのデータを判断でき、汎用コンピュー
タ103の構成は、モータが1つの場合と変わらずパー
ソナルコンピュータがそのまま使用可能となる。
【0065】C.第3実施形態 次に、本発明の第3実施形態について説明する。上述し
た第1、第2実施形態では、モータを主にサーボアンプ
により、さらには、主に各制御回路により駆動制御し
た。これに対して、第3実施形態では、モータを汎用コ
ンピュータで直接駆動制御するものである。まず、本第
3実施形態による制御対象について説明する。図11
は、本モータ制御装置によって制御されるスカラーロボ
ット(水平多関節型組立ロボット)の概略構成を示す概
念図である。図において、1軸用モータ301によって
駆動される第1の腕301a上に第2の腕401aを駆
動する2軸用モータ401が置かれている。各モータ3
01,401は、絶対角度α1,α2で回転角が決定さ
れる。
【0066】C−1.第3実施形態の構成 次に、図10は、本発明の第3実施形態によるモータ制
御装置の構成の一例を示すブロック図である。なお、図
1に対応する部分には、同一の符号を付けて説明を省略
する。モータ制御装置は、基本的に、1軸用モータ30
1と、このモータを駆動する駆動手段である1軸サーボ
アンプ302、2軸用モータ401と、このモータを駆
動する駆動手段である2軸サーボアンプ402、さら
に、制御を行う汎用コンピュータ303から構成されて
いる。
【0067】モータ301、401には、各々、エンコ
ーダ311、411が接続されており、フィードバック
信号が各サーボアンプ302、402に帰還されるよう
に構成されている。各サーボアンプ302、402と汎
用コンピュータ303とは、複数箇所への通信が可能な
データ通信用のRS−485インターフェース304
(第2実施形態と同様)を介して接続されている。
【0068】また、各サーボアンプ302、402は、
信号線305で結ばれている。信号線305の一端は、
1軸サーボアンプ302内のサブCPU323に結線さ
れ、他端は、2軸サーボアンプ402内の第2軸制御回
路422に結線されている。1軸サーボアンプ302内
のサブCPU323、RAM325、およびROM32
4は、第1実施形態のサーボアンプ102と同様、1軸
サーボアンプ302単独で1軸用モータ301を駆動す
る場合に必要とされるものである。信号線305は、サ
ブCPU323で2軸サーボアンプ402を直接に制御
する場合に必要とされるものである。したがって、サブ
CPU323は、必要に応じて作動する。
【0069】1軸サーボアンプ302は、1軸用モータ
301を駆動する第1軸駆動回路321と、該第1軸駆
動回路321を制御する第1軸制御回路322とを備え
ている。2軸サーボアンプ402も同様に、2軸用モー
タ401を駆動する第2軸駆動回路421と、該第2軸
駆動回路421を制御する第2軸制御回路422とを備
えている。
【0070】汎用コンピュータ303は、主演算装置で
あるメインCPU341、各種プログラムを記憶するメ
モリであるROM343、作業用メモリであるRAM3
42、外部へデータを出力するための通信ドライバ34
5、タスク切り替え管理部372を具備している。RA
M342は、モーションAコントロール情報342a、
モーションBコントロール情報342b、モーションC
コントロール情報342c、およびモーションDコント
ロール情報342dを一時記憶する。各情報についての
詳細は後述する。
【0071】ROM343は、マルチタスク機能を実行
するためのシステム制御プログラム343aと、スカラ
ーロボットの動き、すなわち図11で説明した第2の腕
401aの先端の動作パターンを定めるロボット制御プ
ログラム343bと、このロボット制御プログラム34
3bで定めた第2の腕401aの先端の動作パターンか
ら各モータに必要な回転角を振り分け算出する1,2軸
モータ回転角生成プログラム343cと、この1,2軸
モータ回転角生成プログラム343cで求められた各モ
ータの回転角から各モータの動作パターン(第1実施形
態における図3の動作パターンと同じ)を定める制御パ
ラメータ生成プログラム343dとが記憶されている。
なお、他のメモリ領域143eには、モータ制御に関わ
るエラー処理のためのプログラムや各種データ処理のプ
ログラムなどが記憶されている。
【0072】なお、1,2軸モータ回転角生成プログラ
ム343cは、モータ制御を実行する前に各モータの目
標となる回転角を定めるものであり、目標となる回転角
をどのように動かすかを定める制御パラメータ生成プロ
グラム343dの実行前にあらかじめ実行されていなけ
ればならない。
【0073】汎用コンピュータ303は、マルチタスク
機能を備えると共に、タスク切り替えを一定周期で行
う。タスク切り替え管理部372は、一定周期でメイン
CPU341により実行されるタスクを切り替えるタス
ク切り替えを行う。このために、タスク切り替え周期を
定めるタイマーカウンタ391を備えている。タイマカ
ウンタ391は、本第3実施形態では、0.05mse
c単位の時間を生成して時間経過を計るものである。タ
スク切り替え管理部372は、1、2軸モータ回転角生
成タスクAT1と、制御パラメータ生成タスクAT2
と、送受信タスクAT3の3つのタスクを切り替える。
すなわち、これらの3つのタスクが0.05msec単
位で切り替わることとなる。なお、タスク切り替えにつ
いては後で詳細説明する。
【0074】上述した1,2軸モータ回転角生成タスク
AT1においては、上記ロボット制御プログラム343
bと1,2軸モータ回転角生成プログラム343cが実
行され、一般ユーザがキーボード149、CRT148
を通して入力した希望するスカラーロボットの動作条件
(搬送する物体の重量、移動させたい位置、次に搬送す
る物体のある位置、その物件の重量、その異動先、希望
する消費電流等)を基に、モータ制御を意識させずに各
モータの目標となる回転角、その動作順番等を定めるも
のである。一方、制御パラメータ生成タスクAT2にお
いては、すでに求めた各モータの目標となる回転角、そ
の動作順番等から具体的なモータ制御パラメータ(第1
実施例の図2に示すデータに相当)等に変換するプログ
ラム等が実行される。作成されたモータ制御パラメータ
は、RAM342内に記憶される。
【0075】また、サーボアンプ302の第1軸制御回
路322,サーボアンプ402の第2軸制御回略422
に入力される駆動信号は、作成されたモータ制御パラメ
ータに基づいて予め生成される。この駆動信号の形態を
図12に示す。駆動信号は、本実施例において少なくと
も、1軸用モータ駆動パルスと、2軸用モータ駆動パル
スとがあり、各モータの理想的な励磁切り替えのタイミ
ングを定めるものである。このようなタイミングは、エ
ンコーダ311、エンコーダ411からのフィードバッ
ク信号により、第1軸制御回路322,第2軸制御回路
422内で維持、あるいは補正される。図12に示す各
駆動パルス、図2に示すものと同等のモーションコント
ロールデータは、RAM342内に、例えばモーション
Aコントロール情報342a、モーションBコントロー
ル情報342b、モーションCコントロール情報342
c、モーションDコントロール情報342dとして記憶
される。
【0076】また、送受信タスクAT3においては、既
に生成され記憶されている図12に示す駆動信号のう
ち、出力タイミングに達したものが1パルス分送信され
る。この出力タイミングと、いずれのサーボアンプに送
信するかは、汎用コンピュータ303内のタイマカウン
タ391による時間積算と同期制御管理部392による
配信先選択によって行う。
【0077】シーケンス制御管理部190は、前記ロボ
ット制御プログラム343bによって入力されたシーケ
ンスデータ(複数の前記希望する動作の実行順番等)を
記憶し、また、管理する。すなわち、サーボアンプ側か
ら1つのシーケンス動作の完了等を示すシーケンス情報
を受け、モータの現在の実行位置を判断し、次に行うべ
き動作を指示する。
【0078】本第3実施形態においては、所定の場所に
搬送されてくる組み付け部品をピックアップして3ヶ所
に搬送・組み付けするシーケンス動作と、これとは別の
位置に定めた待機位置(原点)と、上記所定の場所間を
往復する動作とを想定している。したがって、希望する
動作を4つとし、これらを前述したように、モーション
Aコントロール情報342a、モーションBコントロー
ル情報342b、モーションCコントロール情報342
c、モーションDコントロール情報342dに対応さ
せ、RAM142内に一時記憶する。
【0079】メインCPU341は、制御パラメータ生
成タスクAT2の実行時に、次の送受信タスク切り替え
時には駆動パルスを送信するタイミングになるか否かを
判断し、その結果を予めフラグ180に記憶しておく。
フラグ180は、1ビットのメモリである。制御パラメ
ータ生成タスクの終了後、このフラグ内容をチェックす
ることになる。フラグを用いた命令信号の送信制御につ
いては後述する。
【0080】C−2.第3実施形態の動作 次に、図13ないし図16は、タスク切り替えおよび各
タスクに関わる動作を説明するためのフローチャートで
ある。 (1)システム制御プログラム まず、システム制御プログラムが起動されると、図13
に示すステップSe1で、フラグ180を初期設定(=
0)する。次に、ステップSe2で、タイマカウンタ3
91をリセットした後、カウントをスタートする。次
に、ステップSe3で、タスク切り替えを行う。なお、
起動中のタスクを順次切り替えるタスク切り替えは、所
定のタスクテーブルを参照することなどにより行われ
る。この場合、1,2軸モータ回転角生成タスクAT
1、制御パラメータ生成タスクAT2および送受信タス
クAT3が起動されている。また、本第3実施形態で
は、基本的には、タスク優先順位を、AT1>AT2>
AT3としているが、このタスク優先順位は、動的に変
更可能となっている。最初に実行されるタスクは、1,
2軸モータ回転角生成タスクAT1となる。
【0081】次に、ステップSe4で、切り替えられた
タスクが送受信タスクAT3であるか否かを判断する。
ここで、送受信タスクAT3でなければ、ステップSe
5へ進み、切り替えられたタスクを実行する。そして、
ステップSe6で、0.05msec経過したか否かを
判断し、経過していない場合には、ステップSe5にお
けるタスクの実行を継続する。一方、0.05msec
経過した場合には、ステップSe3に戻り、次のタスク
に切り替える。
【0082】一方、ステップSe3でのタスク切り替え
において、送受信タスクAT3が選択された場合には、
ステップSe7へ進み、フラグ180が「1」であるか
否か、すなわち各サーボアンプ302,402に送信す
べきデータ(駆動パルス)があるか否かを判断し、ま
だ、送信すべきデータ(駆動パルス)がない場合には、
ステップSe3へ戻り、次のタスクに切り替える。
【0083】一方、フラグ180が「1」である場合に
は、少なくとも各サーボアンプ302,402のいずれ
かに送信すべきデータ(駆動パルス)があるということ
であるので、ステップSe8で、当該送受信タスクAT
3を実行する。そして、ステップSe9で、0.05m
sec経過したか否かを判断し、経過していない場合に
は、ステップSe8における送受信タスクAT3の実行
を継続する。一方、0.05msec経過した場合に
は、ステップSe10へ進み、上述した優先順位を変更
する。本第3実施形態では、送受信タスクAT3の実行
後は、制御パラメータ生成タスクAT2へ実行を移行す
るようにタスク切り替え順序を変更する。その後、ステ
ップSe3に戻る。以下、上述したように、0.05m
sec毎に、タスクを切り替えながら各アプリケーショ
ンを実行する。
【0084】したがって、フラグ180が「1」になる
までは、送受信タスクAT3以外のタスク、すなわち、
1、2軸モータ回転角生成タスクAT1および制御パラ
メータ生成タスクAT2が上述した処理により、0.0
5msec毎に、繰り返し実行されることになる。これ
に対して、制御パラメータ生成タスクAT2により、各
サーボアンプ302,402に送信すべきデータ(駆動
パルス)が作成され、フラグ180が「1」となった場
合にのみ、送受信タスクAT3が実行される(スレッド
が割り当てられる)ことになる。
【0085】(2)1、2軸モータ回転角生成タスクA
T1 次に、上記システム制御プログラムにより1、2軸モー
タ回転角生成タスクAT1が実行されると、まず、図1
4に示すステップSf1で、1、2軸モータの目標回転
角を算出する処理を実行する。そして、ステップSf2
で、当該1、2軸モータ回転角生成タスクAT1が終了
したか否かを判断し、ユーザなどにより終了されていな
ければ、1、2軸モータ回転角生成タスクAT1に係る
処理の実行を継続する。一方、終了されていれば、当該
1、2軸モータ回転角生成タスクAT1自身を終了す
る。上記処理は、前述したように、上述したシステム制
御プログラムにより、0.05msec単位で実行され
る。
【0086】(3)制御パラメータ生成タスクAT2 次に、上記システム制御プログラムにより制御パラメー
タ生成タスクAT2が実行されると、まず、図15に示
すステップSg1で、1、2軸モータ駆動パルスの演算
および生成に関する処理を実行する。前述したように、
作成された駆動信号は、RAM342内に記憶される。
【0087】次に、ステップSg2で、次のタスクへ切
り替わったときに出力すべき駆動パルスがあるか否かを
判断する。この判断は、上記ステップSg1においてR
AM342内に記憶された駆動信号のタイミングと、タ
イマカウンタ391の記憶値とを比較処理することで行
われる。そして、次のタスクで駆動パルスの出力タイミ
ングに達すると判断されるならば、ステップSg3で、
フラグ180を「1」にセットする。一方、次のタスク
で駆動パルスの出力タイミングでないと判断されるなら
ば、ステップSg4へ進み、当該制御パラメータ生成タ
スクAT2が終了したか否かを判断し、ユーザなどによ
り終了されていなければ、制御パラメータ生成タスクA
T2に係る処理の実行を継続する。一方、終了されてい
れば、当該制御パラメータ生成タスクAT2自身を終了
する。上記処理は、前述したように、上述したシステム
制御プログラムにより、0.05msec単位で実行さ
れる。
【0088】(4)送受信タスク 次に、上記システム制御プログラムにより、フラグ18
0が「1」となることで送受信タスクが実行されると、
まず、図16に示すステップSh1で、サーボアンプ3
02または402のいずれか一方、または双方へ駆動信
号(1パルス分)を送信する。次に、ステップSh2
で、送信した側のサーボアンプ302または402側か
ら応答信号が返信されたか否かを確認する。
【0089】応答信号が返信されなければ、ステップS
h3で、時間を計時するタイムカウントを開始する。そ
して、ステップSh4で、タイムカウントに基づいて、
0.05msecが経過したか否かを判断する。0.0
5msec経過していなければ、ステップSh2へ戻
り、応答信号が返信されたかを判断する。ここで、応答
信号が返信されず、0.05msec経過したならば、
エラー発生状態と判断して、ステップSh5で、所定の
エラー処理を実行する。
【0090】一方、0.05msec経過する前に、応
答信号が返信されると、ステップSh6へ進み、第1軸
制御回路322、第2軸制御回路422内で行われるエ
ンコーダ311,411からのフィードバック信号によ
る閉ループ制御の結果をモニター受信し、RAM342
内に記憶する。なお、ステップSh6の処理は必ずしも
駆動信号送信毎に行う必要はなく、また、モータの駆動
に必要不可欠なものでもない。次に、ステップSh7
で、フラグ180を「0」とし、ステップSh8へ進
む。ステップSh8では、当該送受信タスクAT3が終
了したか否かを判断し、ユーザなどにより終了されてい
なければ、送受信タスクAT3に係る処理の実行を継続
する。一方、終了されていれば、当該送受信タスクAT
3自身を終了する。上記処理は、前述したように、上述
したシステム制御プログラムにより、所定量の命令また
は所定時間だけ順次実行される。
【0091】なお、詳細説明しないが、このような制御
フローの終了は、制御パラメータ生成タスクAT2に関
わる1、2軸モータ駆動パルスの演算・生成に関わる処
理中において、シーケンス制御が最終か否かを判別する
ことで行うことができる。
【0092】次に、図17は、上述したタスク切り替え
の状態を説明するタイムチャートである。図17では、
タスク切替管理部372で切り替えの管理がなされる
1,2軸モータ回転角生成タスクAT1と制御パラメー
タ生成タスクAT2、さらに、送受信タスクAT3とが
横軸の時間経過とともにどのように切り替わっていくか
を示している。まず、全体の流れ(プロセス)は、時間
t=1、2、3、4‥・…32、33ごとに切り替わ
る。これらの時間(t)は、タイマーカウンタ391に
よって決定され、本第3実施形態では、0.05mse
cである。
【0093】送受信タスクAT3の場合、t5で信号転
送(1パルス分のデータ転送)を完了し、t15のタイ
ミングでは、1軸用駆動パルスのみ送信完了した経過を
示している。t19では、2軸用駆動パルスのみ送信完
了した経過を示している。さらに、t27、29では、
0.1msecの時間差で駆動パルスが送出されること
を示している。t33のタイミングでは、1,2軸とも
信号転送を行いデータ終了とともに応答信号が返ったこ
とを示す。
【0094】このように、本第3実施形態では、駆動パ
ルスの最小時間幅は、0.2mecであり、0.3ms
ec、0.4msec、0.5msec…等のように
0.1msecの分解能で時間設定できる。
【0095】また、図17の最下段には、モータ制御に
直接関わるタスクのプロセスの実行区間を示している。
すなわち、送受信タスクAT3と、それに続く制御パラ
メータ生成タスクAT2の実行区間である。駆動信号を
送出する送受信タスクが実行された後、直ちに制御パラ
メータ生成を行い、駆動信号の生成遅れがないようにし
ている。
【0096】本第3実施形態によれば、汎用コンピュー
タにより1軸用モータ301と2軸用モータ401のダ
イレクト・リアルタイム並列駆動が行われる。リアルタ
イム性能としては、0.2msecを最小時間(最高5
000パルス/秒)とし、0.1msecの分解能を持
つため、実用範囲に入る。当然、タイマカウンタ391
の時間設定を小さくしていけばさらに高速、高分解能で
駆動できることになる。これに対して、タスク切り替え
が、半分のスピード以下、すなわち、0.1msecか
ら1msec程度になると、駆動パルスの最小時間は、
0.4msec(2500パルス/秒)以下となり、仮
に、ダイレクト駆動が行われても、モータの動作スピー
ドはあがらず、なめらかな動作もできず、実用的なもの
ではなくなる。
【0097】本第3実施形態では、フラグ180は、マ
ルチタスクの処理を実行中、所定のタスクについて、そ
の実行処理が必要か否かを示すフラグ180を予め設定
しておき、その所定のタスクの実行順番になったところ
で、フラグ内容を確認して、そのタスクの実行にはいる
か、他の定めたタスクへジャンプするかを、1ビットの
信号として記憶させるとともに、その1ビットの信号判
定という、簡便で迅速な処理が可能となっている。
【0098】なお、汎用コンピュータ303は、専用コ
ンピュータである必要はなく、おおむね一定周期で、高
速の、例えば50マイクロ〜100マイクロ秒のタスク
切り替え能力を持つタスク切り替え管理を行えるもので
あればよい。また、タイマーカウンタ139は、外部割
込タイマを外部取付してもよい。また、各サーボアンプ
302、402も特殊な構成を必要とするものでなく、
従来のものをそのまま使用することができる。
【0099】
【発明の効果】以上説明したようにこの発明によれば、
タスク切り替え手段によって、制御信号生成手段により
生成された前記制御信号を送信手段によって前記駆動手
段へ送信する第2のタスクの実行に際して、制御信号生
成手段によって前記制御用モータを駆動するための制御
信号を生成し、送信するべき前記制御信号の生成が完了
すると制御信号の有無を示すフラグを設定する第1のタ
スク実行において設定される前記フラグの示す内容に基
づいて、送信するべき前記制御信号が無いことを示す場
合には、直ちに次のタスク処理の実行へ移行し、送信す
るべき前記制御信号があることを示す場合には、前記第
2のタスクの実行に移行するようにしたので、フラグの
オンオフを判断することで実行プロセスの有無を判断し
て、タスク切り替えを効率よく行うことができ、汎用コ
ンピュータを用いて、モータ制御と、制御データの演算
とを行うことができるという利点が得られる。
【図面の簡単な説明】
【図1】 本発明の第1実施形態によるモータ制御装置
の構成を示すブロック図である。
【図2】 モーションAコントロール情報142aの内
部構成を示す概念図である。
【図3】 命令信号の形態の一例を説明するための速度
線図である。
【図4】 タスク切り替えの動作を説明するためのフロ
ーチャートである。
【図5】 アプリケーションタスクAT1の動作を説明
するためのフローチャートである。
【図6】 アプリケーションタスクAT2の動作を説明
するためのフローチャートである。
【図7】 送受信タスクAT3の動作を説明するための
フローチャートである。
【図8】 第1実施形態によるタスク切り替えの状態を
説明するためのタイムチャートである。
【図9】 本発明の第2実施形態によるモータ制御装置
の構成の一例を示すブロック図である。
【図10】 本発明の第3実施形態によるモータ制御装
置の構成の一例を示すブロック図である。
【図11】 本第3実施形態によるモータ制御装置によ
って制御されるスカラーロボット(水平多関節型組立ロ
ボット)の概略構成を示す概念図である。
【図12】 1、2軸モータに対する駆動信号の形態を
示す概念図である。
【図13】 第3実施形態によるタスク切り替えの状態
を説明するためのフローチャートである。
【図14】 1、2軸モータ回転角生成タスクAT1の
動作を説明するためのフローチャートである。
【図15】 制御パラメータ生成タスクAT2の動作を
説明するためのフローチャートである。
【図16】 送受信タスクAT3の動作を説明するため
のフローチャートである。
【図17】 第3実施形態によるタスク切り替えの状態
を説明するタイムチャートである。
【図18】 従来のモータ制御装置の構成の一例を示す
ブロック図である。
【図19】 従来の別のモータ制御装置の構成の一例を
示すブロック図である。
【図20】 タスク切り替えの状態を説明するためのタ
イムチャートである。
【図21】 タスク切り替えに関わる制御動作を説明す
るためのフローチャートである。
【符号の説明】
101…モータ(制御用モータ)、102…サーボアン
プ(駆動手段)、103…汎用コンピュータ(制御手
段)、104…RS−232Cインターフェース 111…エンコーダ、121…駆動回路、122…制御
回路(第2の制御手段)、123…サブCPU、124
…ROM、125…RAM(記憶手段)、141…メイ
ンCPU、142…RAM、143…ROM、145…
通信ドライバ(送信手段)、146…表示制御部、14
7…入力制御部、148…CRT、149…キーボー
ド、172 タスク切替管理部(タスク切り替え手
段)、180…フラグ、190…シーケンス制御管理
部、202,203…サーボアンプ(駆動手段、複数の
駆動手段)、204…RS−485インターフェース、
303…汎用コンピュータ(制御手段)、341…メイ
ンCPU、342…RAM、343…ROM、345…
通信ドライバ、391…タイマカウンタ、302,40
2…サーボアンプ(駆動手段)、301,401…モー
タ(制御用モータ、複数の制御用モータ)、AT1…ア
プリケーションタスク、AT2…アプリケーションタス
ク(第1のタスク)、AT3…送受信タスク(第2のタ
スク)、143d…アプリケーションプログラム(制御
信号生成手段)。
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 3F059 BA04 FC11 FC14 5B098 AA05 GA02 GA04 GB01 GB11 GC01 5H550 GG02 JJ03 KK06 LL07 LL36 5H572 AA12 DD08 EE04 HC07 JJ03 5H580 FA04 FA14 FA24 FB05 GG04 HH02

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 制御用モータと、前記制御用モータを駆
    動する駆動手段と、前記駆動手段に前記制御用モータを
    駆動するための制御信号を送信する制御手段とからなる
    モータ制御装置において、 前記制御手段は、複数のタスクを見かけ上、同時実行す
    るプリエンティプなマルチタスク機能を備え、 第1のタスクの実行により、前記制御用モータを駆動す
    るための制御信号を生成し、送信するべき前記制御信号
    の生成が完了すると、前記制御信号の有無を示すフラグ
    を設定する制御信号生成手段と、 第2のタスクの実行により、前記制御信号生成手段によ
    り生成された前記制御信号を前記駆動手段へ送信する送
    信手段と、 前記第2のタスクの実行に際して、前記フラグの示す内
    容に基づいて、送信するべき前記制御信号が無いことを
    示す場合には、直ちに次のタスク処理の実行へ移行し、
    送信するべき前記制御信号があることを示す場合には、
    前記第2のタスクの実行に移行するタスク切り替え手段
    とを具備することを特徴とするモータ制御装置。
  2. 【請求項2】 前記駆動手段は、前記送信手段から送信
    されてきた前記制御信号を記憶する記憶手段と、 前記記憶手段に記憶した制御信号に基づいて前記制御用
    モータを駆動する第2の制御手段とを備えることを特徴
    とする請求項1記載のモータ制御装置。
  3. 【請求項3】 前記第2のタスクは、前記送信手段によ
    って送信すべき前記制御信号がなくなると、前記フラグ
    をリセットすることを特徴とする請求項1または2記載
    のモータ制御装置。
  4. 【請求項4】 複数の制御用モータと、 前記複数の制御用モータに対応する複数の駆動手段とを
    具備し、 前記制御信号生成手段は、前記第1のタスクの実行によ
    り、前記複数の制御用モータの各々に対し、それぞれを
    駆動するための複数の制御信号を生成し、いずれか1つ
    でも送信すべき前記制御信号の生成が完了すると、前記
    制御信号の有無を示すフラグを設定し、 前記送信手段は、前記第2のタスクの実行により、前記
    制御信号生成タスクにより生成された前記複数の制御信
    号を、該当駆動手段を識別するための識別情報を付加し
    て前記複数の駆動手段に配信することを特徴とする請求
    項1または2記載のモータ制御装置。
  5. 【請求項5】 前記タスク切り替え手段は、前記複数の
    制御用モータを駆動するための制御信号の最小周期時間
    の少なくとも1/2以下の時間中の周期で前記複数のタ
    スクを切り替えることを特徴とする請求項4記載のモー
    タ制御装置。
JP11008817A 1999-01-18 1999-01-18 モ―タ制御装置 Pending JP2000207228A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11008817A JP2000207228A (ja) 1999-01-18 1999-01-18 モ―タ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11008817A JP2000207228A (ja) 1999-01-18 1999-01-18 モ―タ制御装置

Publications (1)

Publication Number Publication Date
JP2000207228A true JP2000207228A (ja) 2000-07-28

Family

ID=11703377

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11008817A Pending JP2000207228A (ja) 1999-01-18 1999-01-18 モ―タ制御装置

Country Status (1)

Country Link
JP (1) JP2000207228A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003018888A (ja) * 2001-06-29 2003-01-17 Naltec Inc 周辺機器を制御する方法およびプログラム
US20120029659A1 (en) * 1995-11-10 2012-02-02 Toyota Jidosha Kabushiki Kaisha Safety controller and safety control method
WO2012104897A1 (ja) * 2011-01-31 2012-08-09 トヨタ自動車株式会社 安全制御装置および安全制御方法
KR101491034B1 (ko) * 2014-05-20 2015-02-10 주식회사 이엠테크 엔코더값에 따른 제어 시스템 및 그 제어 방법
WO2015063864A1 (ja) * 2013-10-29 2015-05-07 株式会社安川電機 モータ制御プログラム転送システム、上位コントローラ、モータ制御装置及びモータ制御プログラム転送方法
US10949634B2 (en) 2005-06-03 2021-03-16 Hand Held Products, Inc. Apparatus having hybrid monochrome and color image sensor array
US11317050B2 (en) 2005-03-11 2022-04-26 Hand Held Products, Inc. Image reader comprising CMOS based image sensor array
JP7495271B2 (ja) 2020-04-28 2024-06-04 ニデックインスツルメンツ株式会社 産業用ロボット

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120029659A1 (en) * 1995-11-10 2012-02-02 Toyota Jidosha Kabushiki Kaisha Safety controller and safety control method
JP2003018888A (ja) * 2001-06-29 2003-01-17 Naltec Inc 周辺機器を制御する方法およびプログラム
US11317050B2 (en) 2005-03-11 2022-04-26 Hand Held Products, Inc. Image reader comprising CMOS based image sensor array
US11968464B2 (en) 2005-03-11 2024-04-23 Hand Held Products, Inc. Image reader comprising CMOS based image sensor array
US11863897B2 (en) 2005-03-11 2024-01-02 Hand Held Products, Inc. Image reader comprising CMOS based image sensor array
US11323650B2 (en) 2005-03-11 2022-05-03 Hand Held Products, Inc. Image reader comprising CMOS based image sensor array
US11323649B2 (en) 2005-03-11 2022-05-03 Hand Held Products, Inc. Image reader comprising CMOS based image sensor array
US11604933B2 (en) 2005-06-03 2023-03-14 Hand Held Products, Inc. Apparatus having hybrid monochrome and color image sensor array
US11625550B2 (en) 2005-06-03 2023-04-11 Hand Held Products, Inc. Apparatus having hybrid monochrome and color image sensor array
US12026580B2 (en) 2005-06-03 2024-07-02 Hand Held Products, Inc. Apparatus having hybrid monochrome and color image sensor array
US12020111B2 (en) 2005-06-03 2024-06-25 Hand Held Products, Inc. Apparatus having hybrid monochrome and color image sensor array
US12001914B2 (en) 2005-06-03 2024-06-04 Hand Held Products, Inc. Apparatus having hybrid monochrome and color image sensor array
US10949634B2 (en) 2005-06-03 2021-03-16 Hand Held Products, Inc. Apparatus having hybrid monochrome and color image sensor array
US11238251B2 (en) 2005-06-03 2022-02-01 Hand Held Products, Inc. Apparatus having hybrid monochrome and color image sensor array
US11238252B2 (en) 2005-06-03 2022-02-01 Hand Held Products, Inc. Apparatus having hybrid monochrome and color image sensor array
US12001913B2 (en) 2005-06-03 2024-06-04 Hand Held Products, Inc. Apparatus having hybrid monochrome and color image sensor array
US8706265B2 (en) * 2011-01-31 2014-04-22 Toyota Jidosha Kabushiki Kaisha Safety controller and safety control method
JP5240402B2 (ja) * 2011-01-31 2013-07-17 トヨタ自動車株式会社 安全制御装置および安全制御方法
US8457766B2 (en) 2011-01-31 2013-06-04 Toyota Jidosha Kabushiki Kaisha Safety controller and safety control method
CN103026309B (zh) * 2011-01-31 2015-04-29 丰田自动车株式会社 安全控制装置以及安全控制方法
CN103026309A (zh) * 2011-01-31 2013-04-03 丰田自动车株式会社 安全控制装置以及安全控制方法
WO2012104897A1 (ja) * 2011-01-31 2012-08-09 トヨタ自動車株式会社 安全制御装置および安全制御方法
US9939797B2 (en) 2013-10-29 2018-04-10 Kabushiki Kaisha Yaskawa Denki Motor control program transferring system, host controller, motor control device, and motor control program transferring method
JPWO2015063864A1 (ja) * 2013-10-29 2017-03-09 株式会社安川電機 モータ制御プログラム転送システム、上位コントローラ、モータ制御装置及びモータ制御プログラム転送方法
WO2015063864A1 (ja) * 2013-10-29 2015-05-07 株式会社安川電機 モータ制御プログラム転送システム、上位コントローラ、モータ制御装置及びモータ制御プログラム転送方法
KR101491034B1 (ko) * 2014-05-20 2015-02-10 주식회사 이엠테크 엔코더값에 따른 제어 시스템 및 그 제어 방법
JP7495271B2 (ja) 2020-04-28 2024-06-04 ニデックインスツルメンツ株式会社 産業用ロボット

Similar Documents

Publication Publication Date Title
US8295949B2 (en) Control system, control method, master device, and control device
KR101839772B1 (ko) 자동화 워크셀 제어 방법
KR100762366B1 (ko) Fpga 소자를 이용한 로봇 제어 시스템
JP2000207228A (ja) モ―タ制御装置
CN112894827B (zh) 一种机械臂运动控制方法、系统、装置及可读存储介质
JP5687302B2 (ja) 負荷駆動制御装置及び負荷駆動制御方法
CN109483551B (zh) 一种控制机器人多轴运动的方法、装置及系统
KR100729403B1 (ko) 프로그래머블 컨트롤러
JP2005014149A (ja) ロボットシステム
CN115741676A (zh) 多机器人协同工作的控制系统
JP3421191B2 (ja) ロボット制御装置およびそのデータ通信方法
JP3346847B2 (ja) 子局同時起動方法
JP4436809B2 (ja) レーザ加工システム
Bejczy et al. A synchronized computational architecture for generalized bilateral control of robot arms
KR100540588B1 (ko) 모션 제어의 실시간 응답을 위한 궤적발생방법 및 시스템
JP3668821B2 (ja) ロボットコントローラおよびロボット制御方法
JPH09269811A (ja) ロボット制御装置
JPS58109905A (ja) ロボット制御装置
US20240142954A1 (en) Communication system with ordered command data sets
JP2996445B2 (ja) 複数軸駆動装置
JPH0782372B2 (ja) ロボットア−ムの制御方法
JP2004025428A (ja) ロボット制御装置の通信方法およびロボット制御装置
CN110253565B (zh) 运动控制部件、运动控制方法、机器人及运动控制系统
JP2606172B2 (ja) ロボット
JPH11219211A (ja) 数値制御工作機械及びその制御方法