JP2006227719A - モーションコントロールシステム - Google Patents
モーションコントロールシステム Download PDFInfo
- Publication number
- JP2006227719A JP2006227719A JP2005037865A JP2005037865A JP2006227719A JP 2006227719 A JP2006227719 A JP 2006227719A JP 2005037865 A JP2005037865 A JP 2005037865A JP 2005037865 A JP2005037865 A JP 2005037865A JP 2006227719 A JP2006227719 A JP 2006227719A
- Authority
- JP
- Japan
- Prior art keywords
- data
- position command
- control system
- motion
- command 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.)
- Pending
Links
Images
Abstract
【課題】リアルタイム性が保証出来ないようなローコストなモーションコントローラを使ってもモーションコントロールシステムを構築できるようにする。
【解決手段】サーボドライブ50、60がデータチェック処理をするとき、通信エラーを検出しても、その検出回数がパラメータ格納部505、605に設定した許容エラー回数まではエラー処理部506、606の処理を実行させず、指令データの平均化処理を行う。
【選択図】図1
【解決手段】サーボドライブ50、60がデータチェック処理をするとき、通信エラーを検出しても、その検出回数がパラメータ格納部505、605に設定した許容エラー回数まではエラー処理部506、606の処理を実行させず、指令データの平均化処理を行う。
【選択図】図1
Description
本発明は、モーションコントローラとサーボドライブが高速ネットワークで接続されたモーションコントロールシステムに関する。
従来技術について図を用いて説明する。
図4は従来のモーションコントロールシステムの構成を示すブロック図であり、モーションコントローラ10と複数のサーボドライブ20,30が高速ネットワーク11で接続されている。102は移動指令生成部であり、モーションプログラム101を解析して位置指令データを生成する。103はデータ出力部であり、生成された位置指令データを高速ネットワーク11を介してサーボドライブ20,30へ出力する。201、301はサーボドライブ20,30のデータ入力部であり、データ出力部103が出力した位置指令データを受け取る。202、302はサーボ制御部であり、データ入力部201、301で受け取った位置指令データに従い、モータ・負荷21、31をサーボ制御する。
図5は、従来のモーションコントロールシステムの正常時のタイミングチャートである。図のように、モーションコントローラ10は一定周期T毎に移動指令生成Aiとデータ出力Biを図の順で繰り返し、サーボドライブ(X軸)20は一定周期Tx毎にデータ入力Cxiとサーボ制御Dxiを図の順で繰り返し、サーボドライブ(Y軸)30は一定周期Ty毎にデータ入力部Cyiとサーボ制御部Dyiを図の順で繰り返す。
図4は従来のモーションコントロールシステムの構成を示すブロック図であり、モーションコントローラ10と複数のサーボドライブ20,30が高速ネットワーク11で接続されている。102は移動指令生成部であり、モーションプログラム101を解析して位置指令データを生成する。103はデータ出力部であり、生成された位置指令データを高速ネットワーク11を介してサーボドライブ20,30へ出力する。201、301はサーボドライブ20,30のデータ入力部であり、データ出力部103が出力した位置指令データを受け取る。202、302はサーボ制御部であり、データ入力部201、301で受け取った位置指令データに従い、モータ・負荷21、31をサーボ制御する。
図5は、従来のモーションコントロールシステムの正常時のタイミングチャートである。図のように、モーションコントローラ10は一定周期T毎に移動指令生成Aiとデータ出力Biを図の順で繰り返し、サーボドライブ(X軸)20は一定周期Tx毎にデータ入力Cxiとサーボ制御Dxiを図の順で繰り返し、サーボドライブ(Y軸)30は一定周期Ty毎にデータ入力部Cyiとサーボ制御部Dyiを図の順で繰り返す。
また、第2の従来技術として、通信コントローラとモータドライバがシリアル通信で接続された通信システムがある。この通信システムでは、通信エラーが発生しても予め定めた時間内のエラー回数が所定のエラー許容回数以内であれば通信を停止せず、信号が受信できなくなると脱調しない限度内の変化率によりモータを減速させてモータが制御不能になるのを防ぐようになっている。(例えば特許文献1参照)。
特開2001−211692号(第6−7頁、第3図、第5図)
ところが、前述した従来技術でモータ・負荷を制御するときは、一定周期T、Tx、Tyは完全に同期している必要がある。また、モーションコントローラのリアルタイム性が確保出来ていなければ、図6に示す様に割り込み処理による遅れにより、一定周期TがT’に伸びることがあり、データ出力処理B2で出力された位置指令データは本来データ入力処理Cx3、Cy3で受け取られるべきであるが、一定周期分遅れて次のデータ入力処理Cx4、Cy4で受け取られる事となる。
これとは逆に、図7に示す様に一定周期TがT”に縮むことがあり、データ出力処理B1で出力された位置指令データは本来データ入力処理Cx2、Cy2で受け取られるべきであるが、B1の出力データはB2の出力データに上書きされてしまい、B2の出力データがデータ入力処理Cx2、Cy2で受け取られる事となる。
完全に同期がとれていなければ、サーボドライブに渡されるデータが途中で途切れたり、抜けたりするので、位置指令データが不連続となり、モータに急激な速度変動が発生して機械的ショックが発生したり軌跡がずれたりする。このためコントローラとサーボドライブ間で位置指令データに加えてウォッチドグデータを使い、ウォッチドグ処理によってその出力データが更新されていることが確認される。ウォッチドグエラーとなった場合はエラー処理Exi、Eyiを行い直ちにシステムの動作を停止する。このようなウォッチドグエラーを発生させない為に、モーションコントローラは数μsecの精度で定周期処理が動作するようにリアルタイムOSや高性能ハードウエアを採用するので、高価なシステムになるという問題があった。
これとは逆に、図7に示す様に一定周期TがT”に縮むことがあり、データ出力処理B1で出力された位置指令データは本来データ入力処理Cx2、Cy2で受け取られるべきであるが、B1の出力データはB2の出力データに上書きされてしまい、B2の出力データがデータ入力処理Cx2、Cy2で受け取られる事となる。
完全に同期がとれていなければ、サーボドライブに渡されるデータが途中で途切れたり、抜けたりするので、位置指令データが不連続となり、モータに急激な速度変動が発生して機械的ショックが発生したり軌跡がずれたりする。このためコントローラとサーボドライブ間で位置指令データに加えてウォッチドグデータを使い、ウォッチドグ処理によってその出力データが更新されていることが確認される。ウォッチドグエラーとなった場合はエラー処理Exi、Eyiを行い直ちにシステムの動作を停止する。このようなウォッチドグエラーを発生させない為に、モーションコントローラは数μsecの精度で定周期処理が動作するようにリアルタイムOSや高性能ハードウエアを採用するので、高価なシステムになるという問題があった。
また、第2の従来技術によると、ウォッチドグエラーとなった場合にエラー処理として直ちにシステムの動作を停止しないものの、サーボドライブに渡されるデータが途中で途切れたり、抜けたりするので、機械的ショックが発生したり軌跡がずれたりするという問題があった。
そこで本発明は、リアルタイム性が保証出来ないようなローコストのモーションコントローラを用いても、機械的ショックや軌跡ずれを低減することができるモーションコントロールシステムを構築することを目的とする。
そこで本発明は、リアルタイム性が保証出来ないようなローコストのモーションコントローラを用いても、機械的ショックや軌跡ずれを低減することができるモーションコントロールシステムを構築することを目的とする。
前記課題を解決するために、本発明は、モーションプログラムを解析して位置指令データを生成し、その位置指令データを出力するモーションコントローラと、前記位置指令データに従い、モータ・負荷を駆動する複数のサーボドライブと、前記モーションコントローラと前記複数のサーボドライブを接続する高速ネットワークからなるモーションコントロールシステムにおいて、
前記サーボドライブは、通信エラーを検出してその回数が予め設定された回数をこえるとエラー処理をするデータチェック処理機能と、位置指令データを平均化するデータ平均化処理機能とを備えていることを特徴とし、前記モーションコントローラは、ウォッチドグ処理機能を備えていることを特徴としている。
前記サーボドライブは、通信エラーを検出してその回数が予め設定された回数をこえるとエラー処理をするデータチェック処理機能と、位置指令データを平均化するデータ平均化処理機能とを備えていることを特徴とし、前記モーションコントローラは、ウォッチドグ処理機能を備えていることを特徴としている。
本発明のモーションコントロールシステムによると、通信エラーを検出しても直ちにエラー処理を行わず、位置指令データを平均化し、位置指令データの不連続性で発生する機械的ショックや軌跡ずれを低減できるので、リアルタイムOSや高性能ハードウエアを採用した高価なシステムを必要とせず、リアルタイム性が補償出来ないローコストのモーションコントローラが使用できて、コストダウンが図れるという効果がある。
以下、本発明の実施の形態について図を用いて説明する。
図1は本実施例にかかるモーションコントロールシステムのブロック図である。図4に示した従来のモーションコントロールシステムと異なるのは、モーションコントローラにあるデータ出力部403の処理とサーボドライブの構成であり次のようになっている。モーションコントローラ40は、モーションプログラム401を解析して位置指令データを生成する移動指令生成部402と、生成された位置指令データとカウントアップしたウォッチドグデータを高速ネットワーク41を介してサーボドライブ50,60へ出力するデータ出力部403を備えており、データ出力部403がウォッチドグデータを出力する点が従来と異なっている。
サーボドライブ50、60はそれぞれ、位置指令データとウォッチドグデータを受け取るデータ入力部501、601と、受け取ったウォッチドグデータをチェックするデータチェック部502、602と、チェックしたデータが正しければ、位置指令データを平均化して今回位置指令値を作成するデータ平均化部503、603と、正しくなければ、エラー処理を行うエラー処理部506、606と、今回位置指令データに従ってモータ・負荷51、61をサーボ制御するサーボ制御部504、604と、データチェック部とデータ平均化部で使用される連続エラー回数と平均化回数Nが設定されているパラメータ格納部505、605とを備えており、データチェック部502、602、データ平均化部503、603、パラメータ格納部505、605、エラー処理部506、606を備えた点が従来と異なっている。
サーボドライブ50、60はそれぞれ、位置指令データとウォッチドグデータを受け取るデータ入力部501、601と、受け取ったウォッチドグデータをチェックするデータチェック部502、602と、チェックしたデータが正しければ、位置指令データを平均化して今回位置指令値を作成するデータ平均化部503、603と、正しくなければ、エラー処理を行うエラー処理部506、606と、今回位置指令データに従ってモータ・負荷51、61をサーボ制御するサーボ制御部504、604と、データチェック部とデータ平均化部で使用される連続エラー回数と平均化回数Nが設定されているパラメータ格納部505、605とを備えており、データチェック部502、602、データ平均化部503、603、パラメータ格納部505、605、エラー処理部506、606を備えた点が従来と異なっている。
次に動作について説明する。
図2はモーションコントローラ40の動作手順を示すフローチャートであり、次のステップで処理される。
(S1)移動指令生成部402がモーションプログラム401を解析し、各軸の位置指令を生成して、データ出力部403へ出力する。
(S2)データ出力部403が、ウォッチドグデータをカウントアップする。
(S3)データ出力部403が、高速ネットワーク41を介して位置指令データとウォッチドグデータをサーボドライブ50,60へ出力する。
以上のステップを定周期に繰り返す。この時一定周期Tは、図5、図6に示したT’、T”の様に変化する場合がある。
図2はモーションコントローラ40の動作手順を示すフローチャートであり、次のステップで処理される。
(S1)移動指令生成部402がモーションプログラム401を解析し、各軸の位置指令を生成して、データ出力部403へ出力する。
(S2)データ出力部403が、ウォッチドグデータをカウントアップする。
(S3)データ出力部403が、高速ネットワーク41を介して位置指令データとウォッチドグデータをサーボドライブ50,60へ出力する。
以上のステップを定周期に繰り返す。この時一定周期Tは、図5、図6に示したT’、T”の様に変化する場合がある。
図3はサーボドライブ(X)50の動作手順を示すフローチャートであり、次のステップを定周期で繰り返す。
(S1)データ入力部501が位置指令データとウォッチドグデータを取り込みデータチェック部502に出力する。
(S2)データチェック部502がウォッチドグデータを受け取ると前回値から正しく更新されているかどうかをチェックし、正しければ(S3)へ移行し、正しくなければ(S4)へ移行する。
(S3)連続エラー回数をクリアし、(S9)へ移行する。
(S4)連続エラー回数を更新する。
(S5)ウォッチドグデータが前回から更新されていなければ(S6)へ移行し、更新されていれば(S7)へ移行する。
(S6)前回位置指令データを今回位置指令データとする。
(S7)連続エラー回数がパラメータ格納部505に設定してある連続エラー許容回数をオーバしているかどうかをチェックし、オーバしていれば(S8)へ移行し、オーバしていなければ(S9)へ移行する。
(S8)エラー処理部506がエラー処理を実行して直ちにシステムを停止する。
(S9)データ平均化部503がパラメータ格納部505に設定してある平均化回数Nを使い、N回前までの位置指令データに今回位置指令データを加えた値の平均を取って今回位置指令値とする。
(S10)サーボ制御部504が受け取った今回位置指令値に従いモータ・負荷51を駆動する。
このような手順をとっているので、通信エラーが検出されても直ちにエラー処理がされることはなく、位置データが平均化されてサーボ制御処理される。従って、ローコストのモーションコントローラを使っていても位置指令データの不連続性で生じる機械的ショックを低減することができるのである。
なお、上記の動作手順はサーボドライブ(X軸)50について説明したが、サーボドライブ(Y軸)60も同様の処理を行う。
また、連続エラー許容回数と平均化回数は、モーションシステムの精度とショックの大きさに影響をおよぼすため、予めモーションシステムを適用する機械システムの要求性能に応じて適当な値を設定しておくのが望ましい。
(S1)データ入力部501が位置指令データとウォッチドグデータを取り込みデータチェック部502に出力する。
(S2)データチェック部502がウォッチドグデータを受け取ると前回値から正しく更新されているかどうかをチェックし、正しければ(S3)へ移行し、正しくなければ(S4)へ移行する。
(S3)連続エラー回数をクリアし、(S9)へ移行する。
(S4)連続エラー回数を更新する。
(S5)ウォッチドグデータが前回から更新されていなければ(S6)へ移行し、更新されていれば(S7)へ移行する。
(S6)前回位置指令データを今回位置指令データとする。
(S7)連続エラー回数がパラメータ格納部505に設定してある連続エラー許容回数をオーバしているかどうかをチェックし、オーバしていれば(S8)へ移行し、オーバしていなければ(S9)へ移行する。
(S8)エラー処理部506がエラー処理を実行して直ちにシステムを停止する。
(S9)データ平均化部503がパラメータ格納部505に設定してある平均化回数Nを使い、N回前までの位置指令データに今回位置指令データを加えた値の平均を取って今回位置指令値とする。
(S10)サーボ制御部504が受け取った今回位置指令値に従いモータ・負荷51を駆動する。
このような手順をとっているので、通信エラーが検出されても直ちにエラー処理がされることはなく、位置データが平均化されてサーボ制御処理される。従って、ローコストのモーションコントローラを使っていても位置指令データの不連続性で生じる機械的ショックを低減することができるのである。
なお、上記の動作手順はサーボドライブ(X軸)50について説明したが、サーボドライブ(Y軸)60も同様の処理を行う。
また、連続エラー許容回数と平均化回数は、モーションシステムの精度とショックの大きさに影響をおよぼすため、予めモーションシステムを適用する機械システムの要求性能に応じて適当な値を設定しておくのが望ましい。
本発明によれば、ローコストでモーションコントロールシステムが構築できるので、一般産業用機械、半導体製造装置、ロボット、などの用途にも適用できる。
10、40 モーションコントローラ、11、41 高速ネットワーク、
101、401 モーションプログラム、102、402 移動指令生成部、
103、403 データ出力部、
20、50 サーボドライブ(X軸)、
21、51 Xモータ・負荷、
201、301、501、601 データ入力部、
202、302、504、604 サーボ制御部、
30、60 サーボドライブ(Y軸)、31、61 Yモータ・負荷、
502、602 データチェック処理、503、603 データ平均化部、
505、605 パラメータ格納部、506、606 エラー処理部
101、401 モーションプログラム、102、402 移動指令生成部、
103、403 データ出力部、
20、50 サーボドライブ(X軸)、
21、51 Xモータ・負荷、
201、301、501、601 データ入力部、
202、302、504、604 サーボ制御部、
30、60 サーボドライブ(Y軸)、31、61 Yモータ・負荷、
502、602 データチェック処理、503、603 データ平均化部、
505、605 パラメータ格納部、506、606 エラー処理部
Claims (2)
- モーションプログラムを解析して位置指令データを生成し、その位置指令データを出力するモーションコントローラと、前記位置指令データに従い、モータ・負荷を駆動する複数のサーボドライブと、前記モーションコントローラと前記複数のサーボドライブを接続する高速ネットワークからなるモーションコントロールシステムにおいて、
前記サーボドライブは、通信エラーを検出してその回数が予め設定された回数をこえるとエラー処理をするデータチェック処理機能と、位置指令データを平均化するデータ平均化処理機能とを備えていることを特徴とするモーションコントロールシステム。 - 前記モーションコントローラは、ウォッチドグ処理機能を備えていることを特徴とする請求項1記載のモーションコントロールシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005037865A JP2006227719A (ja) | 2005-02-15 | 2005-02-15 | モーションコントロールシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005037865A JP2006227719A (ja) | 2005-02-15 | 2005-02-15 | モーションコントロールシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006227719A true JP2006227719A (ja) | 2006-08-31 |
Family
ID=36989077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005037865A Pending JP2006227719A (ja) | 2005-02-15 | 2005-02-15 | モーションコントロールシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006227719A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103034246A (zh) * | 2012-12-03 | 2013-04-10 | 上海理工大学 | 角位置无线随动控制装置及其方法 |
JP2015118399A (ja) * | 2013-12-16 | 2015-06-25 | ファナック株式会社 | サーボ出力遅延手段を備えた数値制御装置 |
-
2005
- 2005-02-15 JP JP2005037865A patent/JP2006227719A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103034246A (zh) * | 2012-12-03 | 2013-04-10 | 上海理工大学 | 角位置无线随动控制装置及其方法 |
JP2015118399A (ja) * | 2013-12-16 | 2015-06-25 | ファナック株式会社 | サーボ出力遅延手段を備えた数値制御装置 |
US9417623B2 (en) | 2013-12-16 | 2016-08-16 | Fanuc Corporation | Numerical control device with servo-output delay unit |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200047344A1 (en) | Method and device for detecting abnormality of encoder, and robot control system | |
US6794842B2 (en) | Servomotor drive control system | |
US9541915B2 (en) | Numerical controller having function of switching position control gain during synchronous control | |
WO2017094423A1 (ja) | 制御装置、制御方法、制御プログラム | |
US11613015B2 (en) | Technique for providing reliable control in a cloud robotics system | |
WO2008041598A1 (fr) | Servomécanisme | |
JP6272599B1 (ja) | 制御装置およびモータ制御システム | |
JP7296593B2 (ja) | エンコーダの異常検出方法、作動制御装置、ロボット及びロボットシステム | |
JP2010170435A (ja) | モーション制御用指令システム、モーション制御用指令方法およびモーション制御システム | |
JP4389273B2 (ja) | Plc機能内蔵型ドライブ制御装置 | |
US20170242823A1 (en) | Microcontroller and electronic control unit | |
WO2018163665A1 (ja) | 制御装置および制御方法 | |
US20160218946A1 (en) | Method for monitoring a first node in a communications network and monitoring system | |
JP2006227719A (ja) | モーションコントロールシステム | |
US11025190B2 (en) | Motor control device, motor control system, runaway state detection method, and non-transitory computer readable storage medium | |
JP2020030622A (ja) | ロボットの制御装置および制御方法 | |
JPH11188687A (ja) | 制御装置 | |
US20230024548A1 (en) | Controller and extrapolation method of command value | |
US20200103853A1 (en) | Servo controller | |
US10613509B2 (en) | Controller for a drive mechanism driven by a plurality of motors | |
JP2005117832A (ja) | 電動機制御装置の非常停止方法 | |
US11086300B2 (en) | Control method, control device and program recording medium | |
JP7476420B2 (ja) | 機器制御システム、機器制御方法、および機器制御プログラム | |
EP4299261A1 (en) | Apparatus control system, apparatus control method, and apparatus control program | |
US11509430B2 (en) | Method for operating an automation network having packet-based communication between a host and client |