JP2006309507A - サーボ制御方法およびサーボ制御システム - Google Patents

サーボ制御方法およびサーボ制御システム Download PDF

Info

Publication number
JP2006309507A
JP2006309507A JP2005131333A JP2005131333A JP2006309507A JP 2006309507 A JP2006309507 A JP 2006309507A JP 2005131333 A JP2005131333 A JP 2005131333A JP 2005131333 A JP2005131333 A JP 2005131333A JP 2006309507 A JP2006309507 A JP 2006309507A
Authority
JP
Japan
Prior art keywords
servo
personal computer
servos
control command
synchronization
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
Application number
JP2005131333A
Other languages
English (en)
Inventor
Kazusane Sugioka
和実 杉岡
Shigehiro Sawada
成弘 澤田
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.)
Nachi Fujikoshi Corp
Daihen Corp
Original Assignee
Nachi Fujikoshi Corp
Daihen 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 Nachi Fujikoshi Corp, Daihen Corp filed Critical Nachi Fujikoshi Corp
Priority to JP2005131333A priority Critical patent/JP2006309507A/ja
Publication of JP2006309507A publication Critical patent/JP2006309507A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Control Of Position Or Direction (AREA)
  • Numerical Control (AREA)

Abstract

【課題】パソコンによる複数サーボの高速な同期制御を可能にするサーボ制御方法とシステムを提供すること。
【解決手段】複数のサーボ10,20は、パソコン1のUSBハブ5に接続する。各サーボについて、該サーボへ制御指令が出されてから最後のサーボへ制御指令が出されるまでの同期ずれ量を設定する。各サーボ10または20は、パソコン1から新しい制御指令が送信されてから、該サーボの同期ずれ量分だけ待機して、全サーボ10,20への制御指令が出そろった後に、制御指令を取り込む。
【選択図】図1

Description

本発明は、パーソナルコンピュータ(以下、パソコン)で複数のサーボを制御するサーボ制御方法とサーボ制御システムに関する。
近年、パソコンの性能向上に伴って、パソコンに複数のサーボを組み合わせたシステムが産業用に用いられている。
パソコンに複数のサーボを組み合わせ、各サーボを同期して動作させるための方法として、シリアル通信インターフェースに複数のサーボをマルチドロップ方式で接続する1対多のシリアル通信方法がある(例えば、特許文献1参照)。
特開平10−326107号公報
マルチドロップ方式(マルチポイント接続)による高速シリアル通信の実際の手段として、RS−422インターフェースやRS−485インターフェースが挙げられるが、通常、パソコンはこれらの通信インターフェースを備えていない。従って、パソコンでこのような通信を実現するには、専用の通信インターフェースを準備しなければならず、追加の構成部品を必要とする。
また、これらのインターフェースでも、通信速度はKbpsのオーダであり、サーボ制御のための通信としては比較的速度が遅い。
さらに、このサーボ制御方法では、同時に接続するサーボの個数に比例して、パソコンからサーボへ送るデータの全サイズが大きくなり、同時に接続できるサーボの台数に限界があるという問題がある。
本発明は、上述した従来技術の問題点に鑑みて、パソコンによる複数サーボの高速な同期制御を可能にするサーボ制御方法の提供を目的とする。
本発明の別の目的は、上記方法を実施するための簡単で安価な構成のサーボ制御システムを提供することである。
最近のパソコンに標準装備されているUSB(Universal Serial Bus)インターフェースは、データ通信速度が12Mbps(USB1.1)や480Mbps(USB2.0)と比較的高速である。本発明は、これをサーボ制御システムに用いて、専用の通信インターフェースなど多くの追加部品を用いることなく、簡単に、複数サーボを接続可能な環境を実現する。
しかしながら、USB通信は、ホストと各端末との1体1の通信であり、複数のサーボへ同時にデータ送信することができず、各サーボの作動に時間的なズレが生じる。
そこで、本発明による、パソコンを用いて複数のサーボを制御するサーボ制御方法は、複数のサーボをパソコンのUSBインターフェースに接続し、全サーボへの制御指令が出そろった後に各サーボに同時に制御指令を取り込ませることを特徴とする。
こうして、全サーボへの制御指令の到着を待って各サーボへの取り込みを行わせることにより、全サーボにおいて制御指令の取り込みタイミングを一致させることができる。
上記方法では、各サーボについて、該サーボへ制御指令が出されてから最後のサーボへ制御指令が出されるまでの同期ずれ量を設定することが好ましい。各サーボを、パソコンのマスタクロックに同期して、この同期ずれ量だけ待機させることによって、全サーボにおける制御指令取り込みタイミングの一致を確実にすることができる。
パソコンと、このパソコンにより制御する複数のサーボとを含む、本発明による、サーボ制御システムでは、上記方法を実施するために、パソコンがUSBインターフェースと、各サーボの作動を同期させるためのマスタクロックを発生する手段とを有する。各サーボは、USBインターフェースを介してパソコンに接続されるとともに、該サーボへ制御指令が出されてから最後のサーボへ制御指令が出されるまでの同期ずれ量の経過を判定する手段を有する。各サーボは、パソコンから新しい制御指令が送信されてから、マスタクロックに同期して、該サーボの同期ずれ量分だけ待機してから制御指令を取り込む。
本発明のサーボ制御方法とシステムによると、パソコンのUSBインターフェースを利用して、汎用パソコンの構成を大きく変更することなく、従って比較的簡単で安価に、複数サーボの高速な同期制御を実現することができる。
そのため、この種サーボシステムの産業用への適用を拡大し得る効果がある。
以下、本発明を、添付図面に示す実施形態に基づいて、詳細に説明する。
図1を参照すると、本発明の実施形態によるサーボ制御システムは、パソコン1と、このパソコンに接続した第1と第2のサーボ(サーボコントローラ10,20のみを図示)とを有する。
パソコン1は、CPU(演算処理装置)2と、サーボコントローラ用の送受信データを格納するメモリ3と、USBコントローラ4と、内蔵HUB5と、クロック8とを有する。
一方、サーボコントローラ10,20には、CPU7a,7bと通信IC6a,6bがそれぞれ搭載されている。
パソコン1のメモリ3は、CPU2およびUSBコントローラ4の両方からアクセス可能である。また、USBコントローラ4は、クロック8からマスタクロックを生成する機能を有している。USBコントローラ4は、このマスタクロックに同期して、メモリ3内の送受信情報を読み取り、サーボコントローラ10,20への送受信の必要がある場合、それらの通信IC6a,6bに対して、送信要求および受信要求を出す。
これに応じて、サーボコントローラ10,20側では、通信IC6a,6bが、送信要求の場合には送られたデータを内部メモリへ格納し、受信要求の場合は、内部メモリのデータをパソコン側のUSBコントローラ4へ送信する。
これらパソコン1とサーボコントローラ10,20の構成と機能は、本発明に関連する部分を除いて従来と同様でよく、本文ではこれ以上の説明を行わない。
続いて、図2と図3に示す動作タイムチャートを参照して、上述したサーボ制御システムの作動を説明する。
図2は、このサーボ制御システムで、本発明による同期処理を行わない場合の動作タイムチャートである。USB通信では、コントローラ4のマスタクロックはフレームとも呼ばれ、フレーム毎にSOF(Start of Frame)パケットと称する同期データが、コントローラ4から全局一括で送信される。
サーボコントローラ10,20では、通信IC6a,6bがこのSOFパケットを受信すると、それぞれ対応するCPU7a,7bへ割り込みを発生させる。
パソコン1に、第1と第2のサーボへ送信するデータが有ると、図2の最初のマスタクロックサイクル21で、送信要求をメモリ3に格納する(23)。
続くマスタクロックサイクル21aで、USBコントローラ4は、メモリ3に第1のサーボの送信要求があるので、サーボコントローラ10の通信IC6aに対してデータを送信する(24a)。データ送信が完了すると、USBコントローラ4はパソコンのCPU2に対して割り込みを発生させる。割り込みを受けたCPU2は、次のマスタクロックサイクルで第1のサーボからデータを受信するため、受信要求をメモリ3に格納する(23a)。
次のマスタクロックサイクル21bでは、SOFパケットによる割り込みを受けたサーボコントローラ10のCPU7aが、パソコンからのデータを通信IC6aの内部メモリから取り込む(28b)。また、このサーボからパソコン1へ送るデータを、通信IC6aの内部メモリに書き込む。
次いで、パソコンのUSBコントローラ4は、メモリ3に第1のサーボからの受信要求があるので、サーボコントローラ10の通信IC6aに対して受信要求を送信する(24b)。通信IC6aは受信要求を受けて、内部メモリのデータをUSBコントローラ4へ返信する(26b)。データの受信が完了すると、USBコントローラ4はCPU2に対して割り込みを発生させる。割り込みを受けたCPU2は、次のマスタクロックサイクルで第2のサーボへデータを送信するため、送信要求をメモリ3に格納する(23b)。
次のマスタクロックサイクル21cでは、パソコンのメモリ3に第2のサーボへの送信要求があることから、USBコントローラ4はサーボコントローラ20の通信IC6bに対して、データを送信する(25c)。データ送信が完了すると、USBコントローラ4はCPU2に対して割り込みを発生させる。割り込みを受けたCPU2は、次のマスタクロックサイクルで第2のサーボからデータを受信するため、受信要求をメモリ3に格納する(23c)。
続いて、マスタクロックサイクル21dでは、SOFパケットによる割り込みを受けたサーボコントローラ20のCPU7bが、パソコンからのデータを通信IC6bの内部メモリから取り込み(29d)、また、このサーボからパソコン1へ送るデータを、通信IC6bの内部メモリに書き込む。
次いで、パソコンのUSBコントローラ4は、メモリ3に第2のサーボからの受信要求があるので、サーボコントローラ20の通信IC6bに対して受信要求を送信する(25d)。通信IC6bは受信要求を受けて、内部メモリのデータをUSBコントローラ4へ返信する(27d)。データの受信が完了すると、USBコントローラ4はCPU2に対して割り込みを発生させる。割り込みを受けたCPU2は、次のマスタクロックサイクルで第1のサーボへデータを送信するため、送信要求をメモリ3に格納する(23d)。
その後のマスタクロックサイクル21e以降は、上述したマスタクロックサイクル21aから21dまでを順次繰り返す。図1のサーボ制御システムでは、こうしてパソコン1と第1と第2のサーボ間でデータ通信を行う。
ところで、図2に見られるように、サーボコントローラ10においてCPU7aがパソコンからの制御指令を取り込むタイミング28bと、サーボコントローラ20のCPU7bがパソコンからの制御指令を取り込むタイミング29dは、マスタクロックサイクルで2周期分ずれている。このずれ量が制御指令の同期ずれ量となる。また、各サーボコントローラが制御指令を取り込む周期は、マスタクロックサイクル数回に1回の割合となり、この方式では第1と第2のサーボへの指令を同時に取り込ませることはできない。
本発明の制御方法は全サーボへの指令が到着するタイミングで各サーボコントローラに指令を取り込ませる同期処理を行うものであり、本例のサーボ制御システムは、そのための手段を設けている。
この手段として、サーボコントローラ10,20のCPU7a,7bに、同期処理を実施するための同期カウンタを準備し、更に、同期ずれ量を各サーボへ送信しておく。この同期ずれ量は、同期処理を行わない場合に各サーボが制御指令を取り込むタイミングのずれ量である。同期ずれ量は、制御指令を最後に受け取るサーボにおける量を0として、パソコンに接続するサーボの個数Nにより、サーボ#nの同期ずれ量=(N−n)×2の式により決定する。
本例のサーボ制御システムでは、第1のサーボでは同期ずれ量2、第2のサーボでは0となる。
この手段による同期処理のフローチャートを、図5に示す。
前述のようにマスタクロック周期毎にSOFパケットが送信されることにより、サーボコントローラの各CPU7aまたは7bには割り込みが発生し、図5の同期処理ルーチンを実行する(ステップ51)。
この同期処理では、まずステップ52で、パソコン1から新しい制御指令があるかどうかを判定する。新しい制御指令がある場合、ステップ53へ移って、同期カウンタ値が0かどうかを判定し、0の場合には、そのサーボに予め設定された同期ずれ量を同期カウンタへ代入する(ステップ55)。一方、同期カウンタ値が0でない場合には、ステップ54で同期カウンタ値を1減らす。次に、ステップ56に移って、同期カウンタ値が0かどうかを再度判定する。同期カウンタ値が0の場合に初めて、制御指令を通信IC6aまたは6bから取り込んで(ステップ57)、ルーチンを終了する(ステップ58)。
図3は、本例のサーボ制御システムにおいて上述の同期処理を行った場合の動作タイムチャートである。
このタイムチャートに示すマスタクロック31〜31eや、その他のタイミング32〜37dは、図2のタイミング22〜27dにそれぞれ対応するものであり、説明を行わない。
サーボコントローラ10では、CPU7aが、図5の同期処理ルーチンにより、新しい制御指令が送られていても直ぐに取り込まず、同期ずれ量2の分だけタイミングを待って、制御指令を取り込む(38d)。同時に、サーボコントローラ20でも、CPU7bが制御指令を取り込む。こうして、第1のサーボがパソコン1からの制御指令を取り込むタイミング38dと、第2のサーボが制御指令を取り込むタイミング39dは、図3に見られるように一致し、制御指令の実行タイミングが同期する。
次に、参考のために、図1のシステム構成において、特開平10−326107が提案しているような1対多の通信によるサーボ制御方法を実施できると仮定した場合の動作タイムチャートを図4に示す。
図4にみられるように、この方法によると、各サーボで制御指令を取り込む周期46〜47eは、マスタクロックサイクル41〜41eと一致する。従って、本発明による、マスタクロックサイクル数回31〜31eに1回の割合で制御指令を取り込むサーボ制御方法と比較して、制御指令を取り込む周期が短いという利点がある。
図4のタイムチャート中のタイミング42〜45eは、図2や3中の対応タイミングと同様のものであり、説明を省略する。
しかし、1対多の通信では、1つのマスタクロックサイクル内で、全サーボとの送受信を行う必要がある。そのため、同時に接続するサーボの数に比例して通信データ量が多くなり、通信時間が長くなるため、同時に接続できるサーボの数が自ずと限られるという問題がある。
一方、本発明によるサーボ制御方法は、1マスタクロックサイクル内では、1つのサーボとの送信または受信のみであるため、1マスタクロックサイクル内での通信時間が同時に接続するサーボの数に依存しない。すなわち、同時に接続できるサーボの数に通信上の制約がないという利点がある。
以上、本発明を図示の実施形態に基づいて説明したが、本発明はこの特定形態にのみ限定されるものでなく、添付の特許請求の範囲による定義内で、説明した形態に種々の変更を加えることができ、若しくは本発明を別の形態で実施し得る。
例えば、上述した実施形態はパソコンに接続したサーボが2つであるが、説明したように、接続するサーボの数に通信上の制限はなく、その他の条件が許す限りで多数のサーボを設置することが可能である。
本発明の実施形態によるサーボ制御システムの構成を示すブロック図である。 図1のシステムで同期処理を行わない場合の動作タイムチャートである。 図1のサーボ制御システムの動作タイムチャートである。 1対多の従来例のサーボ制御方法による動作タイムチャートである。 図1のサーボ制御システムによる同期処理のフローチャートである。
符号の説明
1 パソコン
4 USBコントローラ
5 USBハブ
8 クロック
10,20 サーボコントローラ(サーボ)

Claims (3)

  1. パソコンを用いて複数のサーボを制御するサーボ制御方法において、複数のサーボをパソコンのUSBインターフェースに接続し、全サーボへの制御指令が出そろった後に各サーボに同時に制御指令を取り込ませることを特徴とするサーボ制御方法。
  2. 請求項1に記載の方法において、各サーボについて、該サーボへ制御指令が出されてから最後のサーボへ制御指令が出されるまでの同期ずれ量を設定し、各サーボを、パソコンから新しい制御指令が送信されてから、パソコンのマスタクロックに同期して、該サーボの同期ずれ量分だけ待たせてから、該サーボに制御指令を取り込ませる、サーボ制御方法。
  3. パソコンと、このパソコンにより制御する複数のサーボとを含むサーボ制御システムにおいて、パソコンがUSBインターフェースと、各サーボの作動を同期させるためのマスタクロックを発生する手段とを有し、各サーボは、USBインターフェースを介してパソコンに接続されるとともに、該サーボへ制御指令が出されてから最後のサーボへ制御指令が出されるまでの同期ずれ量の経過を判定する手段を有し、各サーボが、パソコンから新しい制御指令が送信されてから、マスタクロックに同期して、該サーボの同期ずれ量分だけ待機してから制御指令を取り込むことを特徴とするサーボ制御システム。
JP2005131333A 2005-04-28 2005-04-28 サーボ制御方法およびサーボ制御システム Withdrawn JP2006309507A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005131333A JP2006309507A (ja) 2005-04-28 2005-04-28 サーボ制御方法およびサーボ制御システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005131333A JP2006309507A (ja) 2005-04-28 2005-04-28 サーボ制御方法およびサーボ制御システム

Publications (1)

Publication Number Publication Date
JP2006309507A true JP2006309507A (ja) 2006-11-09

Family

ID=37476318

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005131333A Withdrawn JP2006309507A (ja) 2005-04-28 2005-04-28 サーボ制御方法およびサーボ制御システム

Country Status (1)

Country Link
JP (1) JP2006309507A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104238420A (zh) * 2014-09-16 2014-12-24 武汉科技大学 一种基于usb的伺服系统高速数据交互的通信单元

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104238420A (zh) * 2014-09-16 2014-12-24 武汉科技大学 一种基于usb的伺服系统高速数据交互的通信单元

Similar Documents

Publication Publication Date Title
US7778814B2 (en) Method and device for simulating an automation system
US8295287B2 (en) Network traffic shaping for reducing bus jitter on a real time controller
US10274936B2 (en) Control apparatus
JP2016110458A (ja) プログラマブル・ロジック・コントローラ、基本ユニット、制御方法およびプログラム
JP2006293927A (ja) ダイレクトメモリアクセス制御装置及びダイレクトメモリアクセス制御装置を含むシステムlsi
JP2006350768A (ja) モーションコントロールシステム
JP4099816B2 (ja) 冗長化コントローラ
US8825465B2 (en) Simulation apparatus and method for multicore system
WO2006123547A1 (ja) 情報処理装置、システム、方法およびプロセッサ
GB2423165A (en) Host controller interface for packet-based timeshared bus
JP2006309507A (ja) サーボ制御方法およびサーボ制御システム
JP4733695B2 (ja) 自動化システムのシミュレーションのための方法及び装置
CN102708079A (zh) 应用于微控制器的控制数据传输的方法及系统
US6678749B2 (en) System and method for efficiently performing data transfer operations
KR100606163B1 (ko) 디렉트 메모리 엑세스 장치, 디렉트 메모리 엑세스 장치를통한 데이터를 송수신하는 시스템 및 방법
JP6484015B2 (ja) プログラマブル・ロジック・コントローラおよびその制御方法
US20100226393A1 (en) Communication system and communication apparatus
JP3750467B2 (ja) Usbシミュレーション装置、及び、記憶媒体
JP2002082813A (ja) プログラムロジック装置
JP6576790B2 (ja) モータ制御装置
JP2006126938A (ja) データ転送システム及びそのデータ転送方法
JPH1185673A (ja) 共有バスの制御方法とその装置
CN111143141B (zh) 一种状态机设置方法及系统
WO2022185581A1 (ja) 制御装置およびデータ転送方法
JP5228552B2 (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: 20080701