JP2006072399A - モーションコントロールシステム - Google Patents

モーションコントロールシステム Download PDF

Info

Publication number
JP2006072399A
JP2006072399A JP2004251181A JP2004251181A JP2006072399A JP 2006072399 A JP2006072399 A JP 2006072399A JP 2004251181 A JP2004251181 A JP 2004251181A JP 2004251181 A JP2004251181 A JP 2004251181A JP 2006072399 A JP2006072399 A JP 2006072399A
Authority
JP
Japan
Prior art keywords
interpolation
servo amplifier
interpolation position
motion
data
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.)
Abandoned
Application number
JP2004251181A
Other languages
English (en)
Inventor
Tomoyuki Sekiyama
友之 関山
Masaru Adachi
勝 足立
Shinichiro Yanagi
紳一郎 柳
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.)
Yaskawa Electric Corp
Original Assignee
Yaskawa Electric Corp
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 Yaskawa Electric Corp filed Critical Yaskawa Electric Corp
Priority to JP2004251181A priority Critical patent/JP2006072399A/ja
Publication of JP2006072399A publication Critical patent/JP2006072399A/ja
Abandoned legal-status Critical Current

Links

Images

Landscapes

  • Numerical Control (AREA)

Abstract

【課題】 リアルタイム性のない安価なコントローラで、非同期通信を用いて補間位置指令による軌跡制御ができるモーションコントロールシステムを提供する。
【解決手段】 プログラム解析部5と、補間位置9を出力する補間演算部7と、サーボアンプへ前記補間位置9を送信する通信部10を有するモーションコントローラ2と、前記補間位置9を受信する通信部12と、前記補間位置9から前記モータ16の制御信号を演算し出力する制御部15を有するサーボアンプ3とが通信線11で接続されたモーションコントロールシステム1において、前記モーションコントローラ2から前記サーボアンプ3に前記補間位置9を非同期通信により繰り返し送信し、前記サーボアンプ3は前期非同期通信により受信した補間位置9を複数個保有する補間位置バッファ13を備える。
【選択図】図1

Description

本発明は、モータを制御するサーボアンプとモーションコントローラが通信線で接続されたモーションコントロールシステムに関する。
従来のモーションコントローラとサーボアンプが通信線で接続されているモーションコントロールシステムでの位置制御の形態としては、目標位置までの途中の軌跡を補間して制御する補間位置制御と、途中の軌跡は制御せず目標位置の終点のみを制御する位置決め制御の2つがある。(非特許文献1の1−4ページの補間送りINTERPOLATE、1−9ページの早送り位置決めPOSING参照)
補間位置制御の場合はリアルタイムでの軌跡制御が必要であり、モーションコントローラとサーボアンプ間の通信は同期通信方式によって行われ、モーションコントローラにはリアルタイム性が要求される。
位置決め制御の場合は、途中の軌跡は管理しないため、モーションコントローラとサーボアンプ間の通信は非同期通信方式でも制御は可能である。
以下に従来の補間位置制御について説明する。
図6は、従来のモーションコントロールシステムで補間位置制御を行う場合の構成を示す図である。図において、31はモーションコントロールシステムであり、モーションコントローラ32とサーボアンプ33から構成されている。サーボアンプ33には、機械の軸を移動させるモータ16とパルスジェネレータ17が接続される。サーボアンプ33は制御対象の機械により1台または複数台接続されるが、ここでは2台の場合を例示する。モーションコントロールシステム31はモーションプログラム34にしたがってモータ16の位置を計算して指令し、モータ16が描く軌跡を制御する。モーションコントローラ32は、リアルタイムOSを搭載しており、軌跡を表す位置データと移動指令が書かれたモーションプログラム34を入力してプログラム解析部35で解析しデータ領域に目標位置36を書き込む。補間演算部37は目標位置36間を補間する補間位置39を計算し補間位置バッファ38に書き込む。通信部40は補間位置バッファ38のデータを同期形コマンドの補間位置指令にして通信周期ごとにサーボアンプ33へ送信する。
サーボアンプ33はモーションコントローラ32と通信線41で接続され、モーションコントローラ32から同期形コマンドの補間位置指令を通信部42経由で受信し、データ領域に補間位置44を書き込む。制御部45は補間位置44とモータ16に接続されたパルスジェネレータ17の信号を入力して位置制御ループの計算をして位置偏差を求め、モータに位置偏差に比例した制御信号を出力する。
モーションコントローラ32からの補間位置指令は同期形コマンドを用いて定周期でサーボアンプ33へ送られ、サーボアンプ33は定周期でモータ16へ制御信号を出力する。モーションコントローラ32とサーボアンプ33の通信周期と、サーボアンプ33内で補間位置44を制御部45へ入力する周期とは同期しており、通信線41で複数のサーボアンプ33が接続されていれば、全てのサーボアンプ33が同期して動作する。
図7は従来のモーションコントロールシステムの補間位置制御の処理手順を示すフローチャートであり、図6のモーションコントロールシステム31の動作例を示している。
モーションコントローラ32はステップS71で補間位置指令を送信するための送信用通信同期割り込みを有効にする。割り込みを有効にした後は、サーボアンプとの通信を行う送信用通信同期割り込みが定周期で起こる。ステップS72で軌跡を表す位置データと移動指令が書かれたモーションプログラム34を一行読み込み、ステップS73でモーションプログラム34の終了まで読み込んだかどうかの判断をし、モーションプログラムの終了であれば動作を終了する。
終了でなければステップS74に進み、モーションプログラム34の解析を行い、データ領域に目標位置36を書き込む。ステップS75でデータ領域から目標位置36を読み込み補間演算を行い、目標位置36の間を補間する補間位置39を1つ生成し、補間位置バッファ38へ書き込む。ステップS76で目標位置36までの補間が完了したかどうかの判断をし、補間が完了していなければ次の補間位置39を生成するためにステップS75へ戻り、補間が完了したのであればモーションプログラム34の次の行を読み込むためにステップS72へ戻る。
ステップS73でモーションプログラム34の終了を読み込んだと判断するまで、ステップS72からステップS76までを繰り返す。
モーションコントローラ32で送信用通信同期割り込みが起こると、ステップS78で補間位置バッファ38のデータを同期形コマンドの補間位置指令にして、サーボアンプ33へ送信する。モーションコントローラ32は、送信用通信同期割り込みが起こるごとにステップS78を繰り返し実行する。
次にサーボアンプ33側の処理フローを説明する。まずステップS79で、モーションコントローラ32との通信周期に同期して割り込み、補間位置指令を受信するための受信用通信同期割り込みを有効にする。割り込みを有効にした後は、受信用通信同期割り込みが定周期で起こる。受信用通信同期割り込みが起こると、ステップS81でモーションコントローラ32からの補間位置指令を受信してデータ領域に補間位置44を書き込み、ステップS82で制御部45で補間位置44とパルスジェネレータ17の信号を入力として位置制御ループの制御演算を行い、ステップS83でモータへ制御信号を出力する。サーボアンプ33は、受信用通信同期割り込みが起こるごとにステップS81からステップS83を繰り返す。
図8は従来の補間位置制御の位置データの例を示す図であり、図7のフローチャートの各段階で扱われる位置データと軌跡の例を示している。モーションプログラム34で平面上の軌跡が指令されており、サーボアンプ33、モータ16がX軸用、Y軸用にそれぞれ一組ずつ割り当てられているものとする。図8の(a)はモーションプログラム34で指令された目標位置36を点で表しており、目標位置36までを直線移動する指令であることを直線矢印で表している。図8(a)の点は、図7のステップS74の処理で出力されるものである。図8(b)の点は補間位置39を表していて、目標位置36の間の直線上で補間された位置であり、通信周期でサーボアンプへ送信する位置である。図8(b)の点は、図7のステップS75の処理で出力されるものである。図8(b)のように直線上を補間することで、目標位置間で直線の軌跡を描くことができる。
次に、従来の位置決め制御について説明する。
位置決め制御では、モーションコントローラ32で補間演算は行わずに、目標位置36のみを非同期形コマンドの位置決め指令としてサーボアンプ33へ送り、サーボアンプ33は位置決め指令を受信してデータ領域に目標位置36を書き込み、そのデータを制御部45に入力してモータの駆動を開始し、位置決め完了時にモーションコントローラへ位置決め完了を通知する。
このため、位置決め制御のみを行うシステムでは図6のモーションコントロールシステム31のうち、補間演算部37、補間位置バッファ38、補間位置データ39は不要であるが、一台のモーションコントローラで補間位置制御と位置決め制御の両方を制御する場合もあり、図6のブロック図を使用し説明する。
図9は、従来の位置決め制御の処理手順を示すフローチャートであり、図6のモーションコントロールシステム31の動作例を示している。
モーションコントローラ32はステップS91で位置データと移動指令が書かれたモーションプログラム34を一行読み込み、ステップS92でモーションプログラムの終了まで読み込んだかどうかの判断をし、モーションプログラムの終了であれば動作を終了する。終了でなければステップS93に進み、モーションプログラム34の解析を行い、データ領域に目標位置36を書き込む。ステップS94で目標位置36を非同期形コマンドの位置決め指令にして、サーボアンプ33へ送信する。そしてステップS107に移って、位置決め完了待ちをする。
次にサーボアンプ33側の処理フローを説明する。サーボアンプ33は内部タイマを備えており、ステップS95で、モータの制御周期で起こる定周期のタイマ割り込みを有効にする。この定周期割り込みは、サーボアンプ33が制御演算してモータ16へ制御信号を出力するための制御演算用内部タイマ割り込みとして使用する。次に、ステップS96からステップS103までの処理を無限ループとして繰り返し実行する。ステップS97、ステップS98で、モーションコントローラ32からの位置決めの目標位置指令の受信があるかどうかの判断をし、受信があればステップS99の受信処理でデータ領域に目標位置43を書き込む。
次に、ステップS100で位置決め完了の監視のために現在位置を取得し、目標位置43に到達しているかどうかを判断し、目標位置に到達していなければステップS100に戻り、目標位置43に到達するまでステップS100からステップS101までを繰り返す。
サーボアンプ33で定周期の内部タイマ割り込みが起こると、ステップS105で制御部45の制御演算で目標位置43を入力として位置制御ループの処理を行い、ステップS106でモータ16へ制御信号を出力する。ステップS105からステップS106の処理は割り込みが起こるごとに繰り返し、モータ16は目標位置へ到達する。
サーボアンプ33はステップS101において目標位置に到達したと判断すると、ステップS102で位置決め完了をモーションコントローラ32へ送信する。そして、ステップS103からステップS97へ戻り、再びモーションコントローラ32からの受信を待つ。モーションコントローラ32はステップS107で受信待ちをしており、サーボアンプ33からの位置決め完了を受信するとステップS91に戻る。そして、ステップS92でモーションプログラムの終わりを読み込んだと判断するまで、ステップS91からステップS108までを繰り返す。
図10は従来の位置決め制御の位置データの例を示す図であり、図9のフローチャートで扱われる位置データと軌跡の例を示している。図10の点はモーションプログラム34で指令された平面上の目標位置36を表しており、目標位置36まで位置決め指令で移動した場合の軌跡を表している。位置決め指令では目標位置36間の直線上の補間位置39は指令されず、各サーボアンプ33は移動中にモーションコントローラ32および別のサーボアンプ33と同期しておらず独立に目標位置36に向かってモータを動かすので、目標点間で図10のような軌跡を描くことになり、目標位置間の軌跡は制御できない。
また、別の従来技術として、モーションコントロールシステムの補間位置制御において、サーボアンプに位置バッファを備え、モーションコントローラおよびサーボアンプが特定イベントの発生によりモータを停止し、イベント完了待ち状態でモータが停止している間にも、通信を継続し、今すぐに実行しない次の補間位置の計算を継続し、補間位置指令を位置バッファに溜め込み、イベント完了時にサーボアンプが位置バッファにある次の補間位置指令を用いて、すぐに続きを実行するという手順にすることで、補間演算完了の待ち時間分による遅れを短縮する方法がある。(例えば、特許文献1参照)
また、位置決め制御装置の位置決め制御において、通信部をサーボコマンド発行処理部とサーボレスポンス処理部に分け、サーボコマンド処理部は位置決め完了の確認はせずに、サーボアンプがコマンドを受け付けられる状態にあるかどうかを確認するだけで送信するようにし、モーションコントローラがサーボアンプからの位置決め完了通知を待つ間にもモーションコントローラから次の指令を送るという手順にすることで、位置決め完了の待ち時間分による遅れを短縮する方法がある。(例えば、特許文献2参照)
このように、従来のモーションコントロールシステムでは、補間位置制御の場合、モーションコントローラとサーボアンプとの間では同期通信方式で補間位置を送信して、サーボアンプは通信に同期してモータへ制御信号を出力するという手順がとられていた。また、位置決め制御の場合、モーションコントローラとサーボアンプとの間では非同期通信方式で目標位置を送信して、サーボアンプは位置決め完了をモーションコントローラへ通知するという手順がとられていた。また、補間位置制御と位置決め制御において、待ち時間を短縮するための方法が考えられた。
特開平成9−190226号公報(第3頁、図2) 特開2002−6912号公報(第4頁、図1) 資料番号SI−S800−26.2、「高速フィールドネットワーク MECHATROLINK サーボコマンド説明書」、株式会社安川電機、2001年6月、p.1−4、1−9、1−10
従来のモーションコントロールシステムでは、補間位置制御の場合、モーションコントローラとサーボアンプの通信には同期通信方式を用いて、モーションコントローラはサーボアンプへ定周期で補間位置指令を送信し、サーボアンプはモーションコントローラから定周期で補間位置指令を受信するという手順をとっているので、補間演算と同期通信による補間位置指令送信を実現するために、モーションコントローラにはリアルタイム性が必要であり、リアルタイムOSを搭載した専用コントローラを準備する必要があり、非リアルタイムOSが使われているパソコン等で、安価に補間位置指令を送信するモーションコントローラを構築できないという問題がある。
また、位置決め制御用のモーションコントロールシステムの場合、モーションコントローラとサーボアンプの通信は非同期通信方式でも良くモーションコントローラはリアルタイム性のない安価なもので構築できるが、目標位置間の軌跡は制御できず、安価なモーションコントローラでは、位置決め制御専用にしか使用出来ないという問題がある。
本発明はこのような問題点に鑑みてなされたものであり、リアルタイム性のない安価なモーションコントローラで、非同期通信を用いて補間位置指令による軌跡制御ができるモーションコントロールシステムを提供することを目的とする。
上記問題を解決するため、本発明は、次のようにしたのである。
請求項1に記載の発明は、位置データと移動指令が書かれたモーションプログラムを解析するプログラム解析部と、該プログラム解析部で解析された目標位置を補間演算し、補間位置を出力する補間演算部と、モータを駆動するサーボアンプへ前記補間位置を送信する通信部を有するモーションコントローラと、該モーションコントローラからの前記補間位置を受信する通信部と、前記補間位置から前記モータの制御信号を演算し前記モータに出力する制御部を有する1台または複数台のサーボアンプとが通信線で接続されたモーションコントロールシステムにおいて、前記モーションコントローラから前記サーボアンプに前記補間位置を非同期通信により繰り返し送信し、前記サーボアンプは前期非同期通信により受信した補間位置を複数個保有する補間位置バッファを備え、該補間位置バッファのデータを前記モータの制御信号の演算に使用することを特徴としている。
また、請求項2に記載の発明は、前記サーボアンプに、あらかじめ調査した非同期通信の繰り返し間隔の最長時間にしたがって、前記補間位置バッファに保存するデータの個数を決めるバッファサイズ決定手段を備えることを特徴としている。
また、請求項3に記載の発明は、前記非同期通信の繰り返し間隔の最長時間を、前記サーボアンプがモータの制御を開始する前に、前記モーションコントローラが通信テスト用データを非同期通信で前記サーボアンプへ繰り返し送信し、前記サーボアンプが受信した前期通信テスト用データの受信間隔を繰り返し計測することで決定することを特徴としている。
また、請求項4に記載の発明は、前記サーボアンプに、前記モーションコントローラからの補間位置の受信が途切れて前記補間位置バッファに保存されたデータがなくなる前に、前記モータを減速停止させる減速停止データを作成する減速停止手段を備えることを特徴としている。
また、請求項5に記載の発明は、前記非同期通信には、IEEE1394シリアルバスのアシンクロナス転送を用いることを特徴としている。
請求項1に記載の発明によると、モーションコントローラからサーボアンプへの非同期通信による受信タイミングのばらつきを補間位置バッファで吸収することができ、非同期通信で補間位置指令による軌跡制御をすることができる。
また、請求項2に記載の発明によると、非同期通信の間隔が空いて補間位置データが途切れることを起こりにくくすることができる。
また、請求項3に記載の発明によると、補間位置バッファの大きさを自動的に決定することができる。
また、請求項4に記載の発明によると、非同期通信による受信間隔が予想以上に長くなり補間位置データが途切れた場合にも、モーションコントローラの制御対象に衝撃を与えずに減速停止することができる。
また、請求項5に記載の発明によると、モーションコントローラとサーボアンプをIEEE1394シリアルバスで接続して、IEEE1394のアシンクロナス転送を非同期通信の手段として補間位置データを転送することができる。
このように、本発明のモーションコントローラシステムは、リアルタイム性のない安価なモーションコントローラで、非同期通信を用いて補間位置指令による軌跡制御ができる。
以下、本発明の具体的実施例について、図に基づいて説明する。
図1は、本発明のモーションコントロールシステムの構成を示すブロック図である。図において1はモーションコントローラ2と1つまたは複数のサーボアンプ3からなるモーションコントロールシステムであり、モーションプログラム4にしたがってモータ16の位置を計算して指令し、モータ16が描く軌跡を制御する。モーションコントローラ2は軌跡を表す位置データと移動指令が書かれたモーションプログラム4を入力して解析し、目標位置6を出力するプログラム解析部5と、目標位置間の補間位置9を計算して出力する補間演算部7と、補間位置9のデータを格納する補間位置バッファ8と、補間位置バッファ8のデータを非同期形コマンドで補間位置指令としてサーボアンプ3へ送信する通信部10とを備えている。
サーボアンプ3は、モーションコントローラ2からの非同期形コマンドを受信して補間位置14を入力する通信部12と、受信した補間位置14を複数保存する補間位置バッファ13と、補間位置バッファ13のデータとモータ16に接続されたパルスジェネレータ17の信号を入力して位置制御ループの計算をし、モータ16への制御信号を出力する制御部15を備えている。コントローラ2とサーボアンプ3は通信線11で接続されている。
本発明が従来技術と異なる部分は、補間位置制御時にも補間位置指令を非同期通信で転送する部分と、非同期通信によるデータの途切れが起こりにくくするようにバッファサイズを決定する手段と、データが途切れても自動的に減速停止する手段を備えている部分である。
図2は本発明のモーションコントロールシステムの処理手順を示すフローチャートであり、図1のモーションコントロールシステム1の動作を示している。
ステップS1でモーションコントローラ2は軌跡を表す位置データと移動指令が書かれたモーションプログラム4を一行読み込み、モーションプログラムの終了まで読み込んだかどうかの判断をし、ステップS2でモーションプログラムの終了かどうかをチェックし、終了であれば動作を終了する。終了でなければステップS3に進み、モーションプログラム4の解析を行い、データ領域に目標位置6を書き込む。ステップS4でデータ領域から目標位置を読み込み、補間演算を行い、目標位置6の間を補間する補間位置9を1つ生成し、補間位置バッファ8へ書き込む。ステップS5で補間位置バッファ8に指定個数のデータがたまったかどうかの判断をし、指定個数たまっていれば、ステップS6で指定個数の補間位置バッファ8のデータを一度に補間位置指令として非同期通信でサーボアンプ3へ送信する。ステップS7で目標位置6までの補間が完了したかどうかの判断をし、補間が完了していなければ次の補間位置データ9を生成するためにステップS4へ戻り、補間が完了したのであればモーションプログラム4の次の行を読み込むためにステップS1へ戻り、ステップS2でモーションプログラム4の終了を読み込んだと判断するまで、ステップS1からステップS7を繰り返す。
次にサーボアンプ3側の処理フローを説明する。サーボアンプ3は内部タイマを備えており、ステップS8で、モータの制御周期で起こる定周期のタイマ割り込みを有効にする。この定周期割り込みは、サーボアンプ3が制御演算してモータ16へ制御信号を出力するための制御演算用内部タイマ割り込みとして使用する。例えば、補間位置データは1msの補間周期として計算されており、タイマ割り込みは1ms周期に設定されているとする。ステップS8で割り込みを有効にした後は、内部タイマ割り込みが1ms周期で起こる。
次に、ステップS9で実行フラグを0にする。この実行フラグは、制御演算を行う制御部15が補間位置バッファ13の読み出しを行って良いかどうかを示し、補間位置バッファ13に、指定された個数の補間位置のデータが保存されている状態になったときに1にする。次に、ステップS10からステップS17までの処理を無限ループとして繰り返し実行する。ステップS11、ステップS12で、モーションコントローラ2からの非同期通信の受信があるかどうかの判断をし、受信があればステップS13の受信処理でデータ領域に補間位置を書き込み、ステップS14でそのデータを補間位置バッファ13へ保存する。ステップS15であらかじめ指定された個数だけの補間位置のデータが補間位置バッファ13に入っているかどうかの判断をし、指定された個数入っていれば、ステップS16で実行フラグを1にする。ここでは、あらかじめ補間位置バッファ13の指定個数は6に設定してあるとする。ただし、補間位置バッファ13のサイズは指定個数以上のデータを保存できるだけの大きさがある。ステップS12において受信がなければ、何もせずに次の受信を待つためにステップS11に戻る。ステップS15において補間位置バッファ13に指定された個数である6個の補間位置データ9が入っていなければ、何もせずに次の受信を待つためにステップS11へ戻る。
サーボアンプ3で定周期の内部タイマ割り込みが起こると、ステップS19で実行フラグが1であるかどうかの判断をし、実行フラグが1であればステップS20で補間位置バッファ13の先頭に入っている補間位置のデータを新規に読み出す。ステップS21で制御部15で補間位置のデータとパルスジェネレータ17の信号を入力として位置制御ループの制御演算を行い、ステップS22でモータへ制御信号を出力する。ステップS19において実行フラグが1でなければ、新規に読み出さずに前回値を入力としてステップS21、ステップS22を行う。そして、ステップS18の割り込みが起こるたびにステップS19からステップS22を行う。
本発明の手順をとることで、補間位置バッファ13にデータが6個たまってからモータが動作を開始し、指定した個数である6個の補間位置のデータが補間位置バッファ8に入っている間は、バッファ先頭の補間位置データを定周期で読み出して制御部15が動作する。ただし、モーションコントローラ2からの正常な最終位置データがバッファに入った後は、データが6個以下になっても制御部15がデータを読み出す必要があるので、例えば次のようにする。モーションコントローラ2からサーボアンプ3へ送るデータの中に最終位置データであることを示す最終データフラグを設けておき、モーションコントローラ2が最終データフラグを1にして送信することで、サーボアンプ3は最終位置データであることを判断し、最終位置データである場合は補間位置バッファ13にたまったデータの個数が6個以下になっても実行フラグを1のままにすることで、制御部15が補間位置バッファ13から補間位置のデータを読み出すようにする。
このように、サーボアンプ3がモーションコントローラ2からの受信データを補間位置バッファ13にためてから定周期で補間位置バッファ13から読み出すので、非同期通信による受信間隔のばらつきを吸収することができる。
図3は本発明のモーションコントロールシステムの第2実施例の処理手順の例を示すフローチャートであり、図1のモーションコントロールシステム1の動作を示している。
モーションコントローラ2は非同期通信の間隔を調査するためのテストモーションプログラムを持っており、補間演算して出力される補間位置9の個数はあらかじめ分っているものとする。また、サーボアンプ3は計測のためのタイムスタンプを持っており、タイムスタンプを読み込むと、現在時刻を取得できるものとする。計測開始と計測終了の時点でタイムスタンプを読み込んで、差を計算することで計測時間とする。
動作は次のようになる。モーションコントローラ2はステップS31で非同期通信の通信間隔を調査するために、テスト用の軌跡を表す位置データと移動指令が書かれたテストモーションプログラムを一行読み込み、ステップS32でテストモーションプログラムの終了かどうかをチェックし、終了でなければステップS33に進み、テストモーションプログラムの解析を行い、データ領域に目標位置6を書き込む。ステップS34では補間演算を行い、目標位置6の間を補間する補間位置9を求め、ステップS35で補間位置9を非同期通信でサーボアンプ3へ送信する。
次に、ステップS36で目標位置6までの補間が完了したかどうかの判断をし、補間が完了していなければ次の補間位置9を生成するためにステップS34へ戻り、補間が完了したのであればテストモーションプログラムの次の行を読み込むためにステップS31へ戻り、ステップS32でテストモーションプログラムの終わりを読み込んだと判断するまで、ステップS31からステップS36を繰り返す。ステップS32でテストモーションプログラムの終わりを読み込んだと判断したら、ステップS50に行き、サーボアンプ3からのバッファ指定個数の受信待ちとなる。
サーボアンプ3は、まず計測のための初期化をする。ステップS37で最長時間を0にし、ステップS38で時刻1を0にする。次に、ステップS39からステップS47までの処理を補間点の数だけ繰り返し実行する。ステップS40で時刻2を0にし、ステップS41で受信待ちとなる。次にモーションコントローラ2から非同期通信で送信された補間位置指令を受信し、ステップS42で受信時の現在時刻を読み込んで時刻2に代入し、ステップS43で時刻2と時刻1の差を計算して計測時間とする。次に、ステップS44で最長時間と計測時間を比較し、最長時間よりも計測時間が長ければ、今回の計測時間が最長であるとして、ステップS45で最長時間に計測時間を代入し、最長時間よりも計測時間が長くなければ何もせずに次の処理に移る。次に、ステップS46で時刻2を時刻1に代入し、ステップS47からステップS39へ戻る。モーションコントローラ2から送信される補間位置指令を何回受信して計測するかはあらかじめ設定されており、設定された受信回数分(補間点の数分)、ステップS39からステップS47を繰り返し実行し、非同期通信の受信間隔の最長時間を得る。次に、ステップS48で、最長時間をもとに、バッファ指定個数の計算をする。たとえば、サーボアンプ3から見て、モーションコントローラ2は最長時間の周期で補間位置データを送信してくるとみなして、バッファ指定個数を次の(1)式によって計算する。
バッファ指定個数=(最長時間/制御周期)+1 (1)
図3のフローチャートの手順で得られた最長時間が5.2ms、サーボアンプ3の制御周期が1msであるとすると、バッファ指定個数は6となる。あるいは、さらに余裕を持たせるために、モーションコントローラ2は最長時間の2倍の周期で補間位置データを送信してくるとみなして、バッファ指定個数を次の式(2)によって計算しても良い。
バッファ指定個数=(最長時間/制御周期)×2 (2)
図3のフローチャートの手順で得られた最長時間が5.2ms、サーボアンプ3の制御周期が1msであるとすると、バッファ指定個数は10となる。
次に、ステップS49でサーボアンプ3は決定したバッファ指定個数をモーションコントローラ2に送信し、モーションコントローラ2はステップS50でバッファ指定個数を受信して保存する。この後は、実施例1に説明した手順により、非同期通信で補間位置指令による軌跡制御をすることができる。モーションコントローラ2は指定個数の補間位置データ9を一度に非同期通信でサーボアンプ3へ送信し、サーボアンプ3は受信した補間位置データ9を補間位置バッファ13に保存し、制御周期で補間位置バッファ13のデータをひとつずつ実行する。
このように、あらかじめテストモーションプログラム19により、サーボアンプ3が非同期通信の受信間隔の最長時間を計測してから補間位置バッファ13のバッファ指定個数を決定するので、非同期通信の間隔が空いて補間位置データが途切れることを起こりにくくすることができる。
本発明のモーションコントロールシステムの第3実施例の処理手順として、次のようにする。図1のモーションコントロールシステム1において、実施例1で説明した図2の手順を開始する前に、実施例2で説明した図3の手順をとる。
このように、あらかじめテストモーションプログラム18により、サーボアンプ3が非同期通信の受信間隔の最長時間を計測してから補間位置バッファ13のバッファ指定個数を決定し、その後に続けて、軌跡を表す位置データと移動指令が書かれたモーションプログラム4を実行し、サーボアンプ3はモーションコントローラ2からの受信データを補間位置バッファ13にバッファ指定個数だけためてから定周期で補間位置バッファ13から読み出すことによって、補間位置バッファ13の大きさを自動的に決定することができ、非同期通信の受信間隔が空いて補間位置のデータが途切れることを起こりにくくすることができる。
図4は本発明のモーションコントロールシステムの第4実施例の処理手順を示すフローチャートであり、図1のモーションコントロールシステム1の動作を示している。図4は図2のステップS12とステップS15に減速停止の処理を追加したものであり、他の部分は図2と同一であるので説明は省略する。
ステップS51は図2のステップS12に相当するステップであり、モーションコントローラ2からの非同期通信の受信を確認し、受信があるかどうかの判断をする。受信がある場合はステップS13に進み、この場合は図2で説明した処理と同一である。受信が無い場合、ステップS52に進み、タイムスタンプの読み込みにより受信待ち経過時間を計測し、ステップS53で受信待ちタイムアウトする時間が経過したかどうかを判断し、受信待ちタイムアウトの場合はステップS54で減速停止データを作成し、補間位置バッファ13に書き込み終了する。減速停止データは、補間位置バッファ13に入っている最後の補間位置のデータを減速開始点として作成する。ステップS53において受信タイムアウトではない場合は、受信待ち経過時間を計測しながら次の受信を待つためにステップS17からステップS10に戻る。ステップS55は図2のステップS15に相当するステップで、補間位置バッファ13をチェックし、補間位置バッファ13に指定された個数である6個のデータが入っていなければ、ステップS56に進み、実行フラグが0であるかどうかで分岐する。実行フラグが0であれば何もせずに次の受信を確認するためにステップS17からステップS10に戻り、実行フラグが0でなければ、ステップS57に進み、減速停止データを作成し、補間位置バッファ13に書き込み終了する。
本発明の手順をとることで、補間位置バッファ13に指定個数のデータがたまってからモータ16が動作を開始し、指定した個数である6個の補間位置のデータが補間位置バッファ13に入っている間は、補間位置バッファ13の先頭のデータを定周期で読み出して制御部15が動作し、受信間隔が長くなるか、補間位置バッファ13のデータが指定個数以下になった場合に、自動的に減速停止データを作成して停止する。このように、非同期通信による受信間隔が予想以上に長くなった場合に補間位置のデータが途切れるが、モーションコントロールシステム1の制御対象に衝撃を与えずに自動的に減速停止することができる。
図5は本発明のモーションコントロールシステムの第5実施例の構成を示すブロック図である。図において21はモーションコントローラ22とサーボアンプか23らなるモーションコントロールシステムであり、モーションプログラムにしたがってモータ16の位置を計算して指令し、モータ16が描く軌跡を制御する。モーションコントローラ22は、パソコン24とIEEE1394インタフェースボード25から構成され、サーボアンプ23とはIEEE1394ケーブル26で接続される。ここで、24aはパソコン制御部、24bはパソコンの表示、キーボード部であり、両者でパソコン24を形成している。また、IEEE1394インターフェースボード25はパソコン制御部24aに内蔵されている。
このようにすることで、モーションコントローラとサーボアンプをIEEE1394シリアルバスで接続して、IEEE1394のアシンクロナス転送を非同期通信の手段として補間位置データを転送することができ、モーションコントローラおよびサーボアンプは実施例1に説明した手順を実施することができる。
このように、本発明のモーションコントローラシステムは、リアルタイム性のない安価なモーションコントローラで、非同期通信を用いて補間位置指令による軌跡制御ができる。
モーションコントローラは、プログラム解析部、補間演算部、通信部の順に一連の処理を繰り返すことによって、補間位置指令をサーボアンプに送信することができるので、一連の処理を繰り返すだけのシングルタスクOSで安価にモーションコントローラを構築して、軌跡制御をするという用途にも適用できる。
本発明のモーションコントロールシステムの構成を示すブロック図 本発明のモーションコントロールシステムの処理手順を示すフローチャート 本発明のモーションコントロールシステムの第2および第3実施例の処理手順を示すフローチャート 本発明のモーションコントロールシステムの第4実施例の処理手順を示すフローチャート 本発明のモーションコントロールシステムの第5実施例の構成を示すブロック図 従来のモーションコントロールシステムで補間位置制御を行う場合の構成を示す図 従来のモーションコントロールシステムの補間位置制御の処理手順を示すフローチャート 従来の補間位置制御の位置データの例を示す図 従来の位置決め制御の処理手順を示すフローチャート 従来の位置決め制御の位置データの例を示す図
符号の説明
1、21、31 モーションコントロールシステム
2、22、32 モーションコントローラ
3、23、33 サーボアンプ
4、34 モーションプログラム
5、35 プログラム解析部
6、36、43 目標位置
7、37 補間演算部
8、13、38 補間位置バッファ
9、14、39、44 補間位置
10、12、40、42通信部
11、41 通信線
15、45 制御部
16 モータ
17 パルスジェネレータ
24 パソコン
24a パソコン制御部
24b パソコン表示、キーボード部
25 IEEE1394インタフェースボード
26 IEEE1394ケーブル

Claims (5)

  1. 位置データと移動指令が書かれたモーションプログラムを解析するプログラム解析部と、
    該プログラム解析部で解析された目標位置を補間演算し、補間位置を出力する補間演算部と、
    モータを駆動するサーボアンプへ前記補間位置を送信する通信部を有するモーションコントローラと、
    該モーションコントローラからの前記補間位置を受信する通信部と、
    前記補間位置から前記モータの制御信号を演算し前記モータに出力する制御部を有する1台または複数台のサーボアンプとが通信線で接続されたモーションコントロールシステムにおいて、
    前記モーションコントローラから前記サーボアンプに前記補間位置を非同期通信により繰り返し送信し、
    前記サーボアンプは前期非同期通信により受信した補間位置を複数個保有する補間位置バッファを備え、
    該補間位置バッファのデータを前記モータの制御信号の演算に使用することを特徴とするモーションコントロールシステム。
  2. 前記サーボアンプに、あらかじめ調査した非同期通信の繰り返し間隔の最長時間にしたがって、前記補間位置バッファに保存するデータの個数を決めるバッファサイズ決定手段を備えることを特徴とする請求項1記載のモーションコントロールシステム。
  3. 前記非同期通信の繰り返し間隔の最長時間を、前記サーボアンプがモータの制御を開始する前に、前記モーションコントローラが通信テスト用データを非同期通信で前記サーボアンプへ繰り返し送信し、前記サーボアンプが受信した前期通信テスト用データの受信間隔を繰り返し計測することで決定することを特徴とする請求項2記載のモーションコントロールシステム。
  4. 前記サーボアンプに、前記モーションコントローラからの補間位置の受信が途切れて前記補間位置バッファに保存されたデータがなくなる前に、前記モータを減速停止させる減速停止データを作成する減速停止手段を備えることを特徴とする請求項1記載のモーションコントロールシステム。
  5. 前記非同期通信には、IEEE1394シリアルバスのアシンクロナス転送を用いることを特徴とする請求項1記載のモーションコントロールシステム。
JP2004251181A 2004-08-31 2004-08-31 モーションコントロールシステム Abandoned JP2006072399A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004251181A JP2006072399A (ja) 2004-08-31 2004-08-31 モーションコントロールシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004251181A JP2006072399A (ja) 2004-08-31 2004-08-31 モーションコントロールシステム

Publications (1)

Publication Number Publication Date
JP2006072399A true JP2006072399A (ja) 2006-03-16

Family

ID=36153012

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004251181A Abandoned JP2006072399A (ja) 2004-08-31 2004-08-31 モーションコントロールシステム

Country Status (1)

Country Link
JP (1) JP2006072399A (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008129994A (ja) * 2006-11-24 2008-06-05 Mitsubishi Electric Corp 数値制御システム
JP2015041294A (ja) * 2013-08-22 2015-03-02 ファナック株式会社 モータ制御システム
CN106647638A (zh) * 2016-11-09 2017-05-10 湖南戈人自动化科技有限公司 运动控制系统
JP2017093058A (ja) * 2015-11-05 2017-05-25 Dmg森精機株式会社 制御装置
US9701498B2 (en) 2015-01-09 2017-07-11 Kabushiki Kaisha Isowa Corrugated paperboard sheet feeding apparatus
US9823644B2 (en) 2012-07-17 2017-11-21 Mitsubishi Electric Corporation Numerical control device and numerical control system
WO2018179165A1 (ja) * 2017-03-29 2018-10-04 三菱電機株式会社 通信装置、通信システムおよび通信方法
US10494212B2 (en) 2016-11-09 2019-12-03 Kabushiki Kaisha Isowa Corrugated paperboard box making machine and sheet feeding control apparatus
US10822188B2 (en) 2016-07-07 2020-11-03 Kabushiki Kaisha Isowa Corrugated paperboard box making machine and sheet feeding control apparatus
WO2022264336A1 (ja) * 2021-06-16 2022-12-22 ファナック株式会社 制御装置及び制御システム

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008129994A (ja) * 2006-11-24 2008-06-05 Mitsubishi Electric Corp 数値制御システム
US9823644B2 (en) 2012-07-17 2017-11-21 Mitsubishi Electric Corporation Numerical control device and numerical control system
JP2015041294A (ja) * 2013-08-22 2015-03-02 ファナック株式会社 モータ制御システム
CN104423287A (zh) * 2013-08-22 2015-03-18 发那科株式会社 电动机控制系统
CN104423287B (zh) * 2013-08-22 2016-03-23 发那科株式会社 电动机控制系统
US9753688B2 (en) 2013-08-22 2017-09-05 Fanuc Corporation Motor control system for control of a motor and a display device
US9701498B2 (en) 2015-01-09 2017-07-11 Kabushiki Kaisha Isowa Corrugated paperboard sheet feeding apparatus
JP2017093058A (ja) * 2015-11-05 2017-05-25 Dmg森精機株式会社 制御装置
US10822188B2 (en) 2016-07-07 2020-11-03 Kabushiki Kaisha Isowa Corrugated paperboard box making machine and sheet feeding control apparatus
CN106647638A (zh) * 2016-11-09 2017-05-10 湖南戈人自动化科技有限公司 运动控制系统
CN106647638B (zh) * 2016-11-09 2019-03-26 湖南戈人自动化科技有限公司 运动控制系统
US10494212B2 (en) 2016-11-09 2019-12-03 Kabushiki Kaisha Isowa Corrugated paperboard box making machine and sheet feeding control apparatus
WO2018179165A1 (ja) * 2017-03-29 2018-10-04 三菱電機株式会社 通信装置、通信システムおよび通信方法
JPWO2018179165A1 (ja) * 2017-03-29 2019-04-04 三菱電機株式会社 通信システム
WO2022264336A1 (ja) * 2021-06-16 2022-12-22 ファナック株式会社 制御装置及び制御システム

Similar Documents

Publication Publication Date Title
TWI466434B (zh) 電動機控制系統及通信方法
US7194396B2 (en) Simulation device
JP2006236243A (ja) モーションコントロールシステムとその同期方法
JP2006072399A (ja) モーションコントロールシステム
JP2020013526A (ja) プログラマブルロジックコントローラおよびメインユニット
JP4935369B2 (ja) サーボシステム
EP3454144B1 (en) Control device and control method
US10860010B2 (en) Information processing apparatus for estimating behaviour of driving device that drives control target, information processing method and computer readable recording medium
US11822313B2 (en) Synchronization control device, synchronization control system, synchronization control method, and simulation device
US20130214954A1 (en) D/a converter, peripheral device, and plc
JP7490979B2 (ja) 処理装置、及び処理方法
KR20120058904A (ko) Plc 위치 결정 장치 및 방법과 이를 이용한 plc 시스템
WO2020026622A1 (ja) 制御装置
JP2006172128A (ja) プログラム連携システムの処理方法および情報処理装置
US20220397880A1 (en) Control device
JP4558675B2 (ja) 数値制御装置
JP2005014149A (ja) ロボットシステム
JPS6362002A (ja) 複数ロボツトの協調制御方法
JP6576790B2 (ja) モータ制御装置
JP2007128341A (ja) サーボドライブ装置
JP7080446B1 (ja) 多軸制御調整装置、多軸制御調整システム、多軸制御調整方法
WO2020137522A1 (ja) 同期制御装置、同期制御システム、同期制御方法、及びシミュレーション装置
JP3198256B2 (ja) 数値制御装置
CN115194757A (zh) 机器人控制系统、下位控制装置以及机器人控制方法
JP4677994B2 (ja) サーボドライバ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070710

A762 Written abandonment of application

Effective date: 20090312

Free format text: JAPANESE INTERMEDIATE CODE: A762