Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5202271B2 - スレーブ装置及びプログラム - Google Patents
[go: Go Back, main page]

JP5202271B2 - スレーブ装置及びプログラム - Google Patents

スレーブ装置及びプログラム Download PDF

Info

Publication number
JP5202271B2
JP5202271B2 JP2008317789A JP2008317789A JP5202271B2 JP 5202271 B2 JP5202271 B2 JP 5202271B2 JP 2008317789 A JP2008317789 A JP 2008317789A JP 2008317789 A JP2008317789 A JP 2008317789A JP 5202271 B2 JP5202271 B2 JP 5202271B2
Authority
JP
Japan
Prior art keywords
slave
operation cycle
master
cycle
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.)
Active
Application number
JP2008317789A
Other languages
English (en)
Other versions
JP2010140372A (ja
Inventor
清史 竹内
琢 鴫原
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2008317789A priority Critical patent/JP5202271B2/ja
Publication of JP2010140372A publication Critical patent/JP2010140372A/ja
Application granted granted Critical
Publication of JP5202271B2 publication Critical patent/JP5202271B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Numerical Control (AREA)

Description

本発明は、マスタ装置と、制御対象物を制御するスレーブ装置とが接続されたシステムにおいて、スレーブ装置が制御対象物を制御する技術に関し、例えば、モーションコントローラとモータを制御するサーボアンプが通信線で接続されたモーションコントロールシステムにおいて、モータを位置指令で制御する技術に関する。
以下、マスタ装置と、制御対象物を制御するスレーブ装置とが接続されたシステムの例として、モーションコントローラ(以下、マスタ装置、またはマスタと呼ぶ)とモータを制御するサーボアンプ(以下、スレーブ装置、またはスレーブと呼ぶ)が通信線で接続されたモーションコントロールシステムについて説明する。
モーションコントロールシステムでは、同期通信を行うためにマスタの動作周期とスレーブの動作周期を一致させることが望まれるものの、異なるメーカのマスタとスレーブを組み合わせて動作させる等の理由により、マスタとスレーブの動作周期が一致しないシステムを構築するケースも存在する。
ここで、マスタの動作周期とは、マスタがスレーブに指令を与え、各スレーブからの応答を受信して受信後の処理を完了するまでの一連の動作に要する時間を指す。
また、スレーブの動作周期とは、スレーブがマスタからの指令を受信してモータを駆動し、逆に応答情報をマスタに送信するまでの一連の動作に要する時間を指す。
本明細書では、マスタがスレーブに与える指令を位置指令(モータの回転量についての指令)、スレーブがマスタに応答する情報をモータの現在位置情報とする。
なお以降の記述では、基本的に位置指令時の動作についてのみ述べ、現在位置を応答するときの動作は、データを送受する方向が異なる以外は位置指令時と同様の動作となるため説明を省略する。
マスタとスレーブの動作周期が一致していないシステムでは、各スレーブはマスタから受信した最新の位置指令を用いてモータを制御するのが一般的である。
そのときの動作を説明するにあたり、スレーブの一般的な構成を図4に示す。
スレーブ500は、ネットワーク400を介してマスタ200に接続されている。
また、スレーブ500は、制御対象物であるモータ300に接続されている。
スレーブ500において、502は、スレーブの動作周期を制御する周期制御部である。
また、503は、タイマ部である。
504は、ネットワーク400側から来る周期信号を監視して適宜スレーブの動作周期をリセットする周期リセット部である。
505は、タイマ部503から受け取るタイマ値からスレーブの周期を検出して他の処理部に伝える周期検出部である。
507は、ネットワーク側から来る周期信号を受信したり、スレーブとネットワーク間のデータの送受を行うネットワーク通信部である。
509は、ネットワーク通信部6から受信したデータを元にモータ300を駆動するモータ制御部である。
次に、図4に示すスレーブ500の動作について説明する。
スレーブ500内部のネットワーク通信部507は、マスタ200の動作周期に同期してネットワーク400から位置指令を受信する。
ネットワーク通信部507は受信した位置指令をスレーブの動作周期に同期してモータ制御部509に送り、これを受け取ったモータ制御部509は、その情報を元にモータ300を駆動する。
周期リセット部504は、スレーブの動作周期を制御する。
また、タイマ部503は、タイマ値を周期検出部505へ伝え、周期検出部505は、タイマ値を参照して、予めスレーブの動作周期として定めた時間が経過するごとに周期の開始タイミングを示す周期信号をモータ制御部509へ送る。
一方で、ネットワーク通信部507は、マスタの動作周期が一定時間経過するごとにマスタ200から周期リセット信号を受信し、これを周期制御部502内部の周期リセット部504に送る。
周期リセット部504は、周期リセット信号を受信したら周期検出部505にリセットするように指令を与え、これを受信した周期検出部505は、それまで自身で管理していたスレーブ500の動作周期の開始タイミングをリセットする。
ただし、この周期リセットは、マスタ200とスレーブ500の動作周期が一致していないシステムにおいては、マスタ200の動作周期とスレーブの動作周期が一致するタイミングでのみリセットすることが考えられる。
以上のように、ネットワーク通信部507は、マスタ200と同期するためにマスタの動作周期に同期してネットワーク400と通信し、ネットワーク通信部507とモータ制御部509はスレーブの動作周期に同期して通信を行う。
マスタとスレーブの動作周期が一致しないモーションコントロールシステムでの位置指令の伝わり方を図5に示す。
右方向が時刻の経過を表しており、マスタXの行はマスタ200の動作周期での位置指令、つまり図4におけるネットワーク通信部507がマスタ200の動作周期で位置指令を受信するタイミングおよび値の変化の例を示している。
また、スレーブYの行はスレーブ500の動作周期での位置指令、つまり図4におけるモータ制御部509がスレーブ500の動作周期で、ネットワーク通信部507から位置指令を受信するタイミングおよび値の変化の例を示している。
このスレーブYの位置指令の値は、スレーブの動作周期の開始時刻(周期ごとの四角の枠の左側の縦線の位置)の時点における、マスタXの動作周期での位置指令を参照したものである。
また、ΔTはスレーブの周期間における位置指令の差分を示している。
なお、モーションコントローラシステムの別の例として、特許文献1に記載のものがある。
特開2006−236243号公報
図5で示したように、マスタとスレーブの動作周期が一致していない場合は、マスタ側が一定の速度でモータを回すために周期ごとの位置指令データの増加分を一定にした場合であっても、スレーブがモータへ与える位置指令値の増加量(ΔT)は一定とならない。
故に周期ごとのモータの回転数に差が出てしまい、回転ムラが発生してしまうといった課題がある。
本発明は、このような課題を解決することを主な目的の一つとしており、マスタ装置とスレーブ装置の動作周期が異なっていても、スレーブ動作周期間の制御値の差が一定となるようにようにして、制御対象物の動作上のムラを発生させないことを主な目的とする。
本発明に係るスレーブ装置は、
所定のマスタ動作周期で動作するマスタ装置に接続され、前記マスタ動作周期と異なるスレーブ動作周期で所定の制御対象物の制御を行うスレーブ装置であって、
前記マスタ装置がマスタ動作周期単位で生成した前記制御対象物の制御のための数値である制御指令値を受信する受信部と、
前記マスタ動作周期と前記スレーブ動作周期とが一致するタイミングからの経過時間に基づいて、スレーブ動作周期ごとに、前記マスタ動作周期単位の制御指令値をスレーブ動作周期単位の数値に補正する指令値補正部と、
スレーブ動作周期ごとに、前記指令値補正部により補正された補正値を用いて前記制御対象物の制御を行う制御部とを有することを特徴とする。
本発明によれば、マスタ装置とスレーブ装置の動作周期が異なっていても、スレーブ動作周期間で制御値の差が一定となるようにように補正するので、動作上のムラを発生させることなく制御対象物を円滑に制御することができる。
実施の形態1.
本実施の形態に係るスレーブ装置の構成例を図1に示す。
図1において、スレーブ装置100(以下、スレーブという)は、ネットワーク400を介してマスタ装置200(以下、マスタという)に接続されている。
マスタ200とスレーブ100は、動作周期が異なる。マスタ200の動作周期をマスタ動作周期といい、スレーブ100の動作周期をスレーブ動作周期という。
また、スレーブ100は、制御対象物であるモータ300に接続されている。
スレーブ100において、102は、スレーブ100の動作周期を制御する周期制御部である。
103は、タイマ部である。
104は、ネットワーク400側から来る周期信号を監視して適宜スレーブ100の動作周期をリセットする周期リセット部である。
105は、タイマ部103から受け取るタイマ値からスレーブの周期を検出して他の処理部に伝える周期検出部である。
106は、周期検出部105から受信する周期信号の回数をカウントして他の処理部に伝える周期カウンタ部である。
107は、ネットワークからの周期信号を受信したり、スレーブとネットワーク間のデータの送受を行うネットワーク通信部である。
ネットワーク通信部107は、マスタ200がマスタ動作周期単位で生成したモータ300の制御のための数値である位置指令(制御指令値)を受信する。ネットワーク通信部107は、受信部及び送信部の例である。
108は、ネットワーク通信部107から受信した位置指令を、周期カウンタ部106によって補正を行うデータ補正部である。
データ補正部108は、マスタ動作周期とスレーブ動作周期とが一致するタイミングからの経過時間に基づいて、スレーブ動作周期ごとに、マスタ動作周期単位の位置指令をスレーブ動作周期単位の位置指令に補正する。データ補正部108は、前後のスレーブ動作周期間の補正値の差が略一定となる数値にて各スレーブ動作周期の補正値を算出する。
また、データ補正部108は、モータ300の現在の状態を示す数値であるモータの現在位置(状態値)をマスタ動作周期に適合するように補正する。つまり、データ補正部108は、マスタ動作周期とスレーブ動作周期とが一致するタイミングからの経過時間に基づいて、マスタ動作周期ごとに、スレーブ動作周期単位で取得されたモータの現在位置をマスタ動作周期単位の数値に補正する。データ補正部108は、前後のスレーブ動作周期間の差が略一定となる現在位置の値から各マスタ動作周期の補正値を算出する。
データ補正部108の補正値算出手順は後述する。
データ補正部108は、指令値補正部及び状態値補正値の例である。
109は、データ補正部108から受信した補正後のデータを元にサーボモータを駆動するモータ制御部である。
モータ制御部109は、スレーブ動作周期ごとに、データ補正部108により補正された補正値を用いて制御対象物であるモータ300の制御を行う。
モータ制御部109は、制御部の例である。
次に、本実施の形態に係るスレーブ100がマスタ動作周期の位置指令の値からスレーブ動作周期の補正値を算出する動作について説明する。
スレーブ100内部のネットワーク通信部107は、マスタ200の動作周期に同期してネットワーク400から位置指令を受信する。
ネットワーク通信部107は、受信した位置指令をデータ補正部108に送り、データ補正部108は位置指令を現在のスレーブ動作周期で最適な値に補正し、これをモータ制御部109に送る。
データ補正部108から補正値を受け取ったモータ制御部109は、補正値を元にモータ300を駆動する。
これらネットワーク通信部107、データ補正部108およびモータ制御部109の間の通信はスレーブの動作周期に同期して行われる。
周期リセット部104は、スレーブ100の動作周期を制御する。
タイマ部103は、タイマ値を周期検出部105へ伝え、周期検出部105は、タイマ値を参照して、予めスレーブ100の動作周期として定めた時間が経過するごとに周期の開始タイミングを示す周期信号を周期カウンタ部106、データ補正部108、およびモータ制御部109へ送る。
周期カウンタ部106は、周期の数をカウントする。
ここで、カウンタ値の上限をC_maxとし、C_maxの次は0としてカウントを繰り返す。
なお、C_maxの値は、マスタ200とスレーブ100の動作周期が一致するタイミングから、次に一致するタイミングまでに要するスレーブ動作周期の周期数から1を引いたものである。C_maxの値の詳細は、図2を参照して後述する。
データ補正部108は、カウンタ値を元にネットワーク通信部107から受信する位置指令の値を補正する。
この補正方法については、後ほど図2を用いて説明する。
一方で、ネットワーク通信部107は、マスタの動作周期が一定時間経過するごとにマスタ200から周期リセット信号を受信し、これを周期制御部102内部の周期リセット部104に送る。
周期リセット部104は、マスタ200とスレーブ100の動作周期が一致するタイミングで周期リセット信号を受信したときのみ、周期検出部105および周期カウンタ部に指令を与え、これを受信した周期検出部105は、それまで自身で管理していたスレーブの動作周期の開始タイミングをリセットし、また周期カウンタ部106はカウンタ値を0にリセットする。
以上のように、ネットワーク通信部107は、マスタ200と同期するためにマスタの動作周期に同期してネットワーク11と通信するのに対し、ネットワーク通信部107とデータ制御部8、およびデータ制御部8とモータ制御部109はスレーブの動作周期に同期して通信を行う。
続いて、図1のデータ補正部108内部で行うスレーブ動作周期ごとの位置指令の補正の方法について説明する。
データ補正部108では、マスタ200とスレーブ100の動作周期の開始時刻が一致する時点を基準として補正を行う。そのイメージを図2に示す。
まずは、図2で示した記号について説明する。
図2において、TMはマスタの動作周期である。
TSはスレーブの動作周期である。
T_LCMは、TMとTSが一致する周期、つまりTMとTSの最小公倍数となる周期である。
また、TMおよびTSがそれぞれT_LCMまでに必要な周期数をそれぞれNM,NSとした場合、T_LCM=TM×NM=TS×NSの関係が成り立つ。
図2では、NM=4、NS=9のときの例を示している。
また、図2において、T1はTMとTSの開始時刻が一致するタイミングであり、次に一致するタイミングをT2とする。
マスタ200におけるT1からT2までの周期の番号をX_k,X_k+1,X_k+2...X_k+mで表しており、各周期における位置指令の値をM_k,M_k+1,M_k+2...M_k+mで表す。
先にも述べたとおり、図2はNM=4であるときの例を示しているため、m=3となる。
また、X_k−1はX_kの前の周期の番号を示している。
スレーブについても同様に、T1からT2までの周期の番号を、Y_l,Y_l+1,Y_l+2...Y_l+nで表しており、各周期における位置指令を、S_l,S_l+1,S_l+2...S_l+nで表す。
図2は、NS=9であるときの例を示しているため、n=8となる。
なお、先の図1の説明にあった周期カウンタ部106でのカウンタの上限C_maxは上記nと等しい。
次に、図2を用いて、あるスレーブ動作周期Y_j(j=l〜l+8)における位置指令の補正値S_jの求め方を説明する。
位置指令の補正値S_jは、スレーブ動作周期Y_jにおける基準値BS_jと調整値HS_jから求められ、S_j=BS_j+HS_jの関係式が成り立つものとする。
位置指令の補正値S_jの基準値BS_jは、スレーブ動作周期Y_jの開始時刻までにマスタ200の動作周期で受信した最新の位置指令M_i(i=k〜k+3)の1周期前の値M_i−1に等しい。
例えば、図2において、補正値S_l+1の基準値BS_l+1は、位置指令M_k−1である(最新の位置指令M_iはM_kであり、その1周期前の位置指令はM_k−1である)。
続いて、調整値HSの求め方について説明する。
あるスレーブ動作周期Y_jでの位置指令の調整値HS_jは、スレーブ動作周期Y_jの開始時刻までにマスタ動作周期で受信した最新の位置指令M_i(同時進行マスタ動作周期X_iの位置指令)と、その1周期前の位置指令の値M_i−1、および補正変数PT_jから算出する。
関係式は、HS_j=(M_i−M_i−1)×PT_jとする。
補正変数PT_jは、スレーブ動作周期Y_jの開始時刻(Ys_jとする)から、X_i(同時進行マスタ動作周期:Y_jの開始時刻までにマスタの動作周期で受信した最新の位置指令M_iの周期)の開始時刻(Xs_iとする)を差し引き、それをTMで割った値である。
よって、PT_j=(Ys_j−Xs_i)/TMで表される。
以上を踏まえ、図2におけるY_l〜Y_l+8を求めると次のようになる。
S_l=M_k−1+(M_k−M_k−1)×(Ys_l−Xs_k)/TM
S_l+1=M_k−1+(M_k−M_k−1)×(Ys_l+1−Xs_k)/TM
S_l+2=M_k−1+(M_k−M_k−1)×(Ys_l+2−Xs_k)/TM
S_l+3=M_k+(M_k+1−M_k)×(Ys_l+3−Xs_k+1)/TM
S_l+4=M_k+(M_k+1−M_k)×(Ys_l+4−Xs_k+1)/TM
S_l+5=M_k+1+(M_k+2−M_k+1)×(Ys_l+5−Xs_k+2)/TM
S_l+6=M_k+1+(M_k+2−M_k+1)×(Ys_l+6−Xs_k+2)/TM
S_l+7=M_k+2+(M_k+3−M_k+2)×(Ys_l+7−Xs_k+3)/TM
S_l+8=M_k+2+(M_k+3−M_k+2)×(Ys_l+8−Xs_k+3)/TM
図2では、T_LCM=TM×4=TS×9の関係が成り立つため、PT_jを次のような分数で表すことも可能である。
S_l=M_k−1+(M_k−M_k−1)×0/9
S_l+1=M_k−1+(M_k−M_k−1)×4/9
S_l+2=M_k−1+(M_k−M_k−1)×8/9
S_l+3=M_k+(M_k+1−M_k)×3/9
S_l+4=M_k+(M_k+1−M_k)×7/9
S_l+5=M_k+1+(M_k+2−M_k+1)×2/9
S_l+6=M_k+1+(M_k+2−M_k+1)×6/9
S_l+7=M_k+2+(M_k+3−M_k+2)×1/9
S_l+8=M_k+2+(M_k+3−M_k+2)×5/9
このPT_jの求め方をS_l+1のときを例として説明する。
T_LCMの時間を1で表したとき、Ys_l+1=4/36,Xs_k=0/36,TM=9/36であるため、(Ys_l+1−Xs_k)/TM=(4/36−0/36)/9/36=4/9となる。
他のPT_jについても同様に求めることが可能である。
図3は、マスタ200とスレーブ100の動作周期が一致しないモーションコントロールシステムで、本実施に係るスレーブ100を使用したときの位置指令の伝わり方を示している。
右方向が時刻の経過を表しており、マスタXの行はマスタ200の動作周期での位置指令、つまり図1におけるネットワーク通信部107がマスタ200の動作周期で位置指令を受信するタイミングおよび値の変化の例を示している。
また、スレーブYの行はスレーブ100の動作周期での位置指令、つまり図1におけるモータ制御部109がスレーブ100の動作周期で、データ補正部108から位置指令を受信するタイミングおよび値の変化の例を示している。
また、ΔTはスレーブの動作周期間における位置指令の差分を示している。
図3の通り、マスタ側が一定の速度でモータを回すことを考えて周期ごとの位置指令データの増加分を一定にしたとき、スレーブ100がモータ300へ与える位置指令値の増加量(ΔT)が一定となる。
故に周期ごとのモータの回転数に差が出ず、回転ムラが発生しない。
なお、図3では、スレーブYの値を小数点以下は省略して表記しているので、一部スレーブYとΔTの値が完全には一致していない箇所があるが、ΔTの値が一定であることには変わりない。
このように、本実施の形態によれば、マスタとスレーブの動作周期が一致していない環境において、スレーブは、ネットワークの通信周期と自身の動作周期が一致するタイミングを基準とし、周期ごとに受信する位置指令を基準からの経過時間の情報を元にデータを補正することで、一定速度で回転ムラなくモータを駆動させることが可能である。
また、モータの回転ムラを回避することができるので、モータの消費電力を抑えることができ、また、モータを円滑に駆動させることができるので、モータの寿命を長くすることができる。
次に、本実施の形態に係るスレーブ100がマスタ200のモータ300の現在位置を通知する際の動作を説明する。
スレーブ100がマスタ200に現在位置を通知する動作は、基本的に、スレーブ100がマスタ動作周期による位置指令をスレーブ動作周期の補正値に変換する動作の逆である。
つまり、データ補正部108は、マスタ動作周期とスレーブ動作周期とが一致するタイミングからの経過時間に基づいて、マスタ動作周期ごとに、スレーブ動作周期単位で取得されたモータの現在位置をマスタ動作周期単位の数値に補正する。
マスタ動作周期単位の補正値の具体的な算出方法は、以下の通りである。
図2で説明したマスタからスレーブの位置指令M_i,S_jをスレーブからマスタへの位置情報とする。その場合の算出式は以下の通りである。
M_k=S_l−1+(S_l−S_l−1)×(Xs_k−Ys_l)/TM
M_k+1=S_l+1+(S_l+2−S_l+1)×(Xs_k+1−Ys_l+2)/TM
M_k+2=S_l+3+(S_l+4−S_l+3)×(Xs_k+2−Ys_l+4)/TM
M_k+3=S_l+5+(S_l+6−S_l+5)×(Xs_k+3−Ys_l+6)/TM
図2では、T_LCM=TM×4=TS×9の関係が成り立つため、PT_iを次のような分数で表すことも可能である。
M_k=S_l−1+(S_l−S_l−1)×0/4
M_k+1=S_l+1+(S_l+2−S_l+1)×1/4
M_k+2=S_l+3+(S_l+4−S_l+3)×2/4
M_k+3=S_l+5+(S_l+6−S_l+5)×3/4
このように、本実施の形態によれば、マスタとスレーブの動作周期が一致していない環境において、マスタ動作周期単位をスレーブ動作周期単位の補正値に直してモータを制御するとともに、スレーブ動作周期単位で制御しているモータの現在位置をマスタ動作周期単位の値に変換するため、マスタ動作周期ごとの正確なモータの現在位置をマスタに通知することができる。
以上、本実施の形態では、モーションコントローラからサーボアンプにネットワーク経由で指令を与え、サーボアンプがサーボモータを駆動するモーションネットワークシステムにおいて、モーションコントローラの動作周期とサーボアンプの動作周期が異なる環境で、サーボアンプがモーションコントローラから受信した位置指令を、モーションコントローラの周期とサーボアンプの周期が一致するタイミングからの経過時間によって補正する位置指令の補正方式、およびサーボアンプ装置を説明した。
また、本実施の形態では、モーションコントローラの動作周期とサーボアンプの動作周期が異なるモーションネットワークシステムにおいて、サーボアンプがモーションコントローラに送信するサーボモータの現在位置情報を、モーションコントローラの周期とサーボアンプの周期が一致するタイミングからの経過時間によって補正する現在位置応答の補正方式、およびサーボアンプ装置を説明した。
最後に、本実施の形態に示したスレーブ装置100のハードウェア構成例について説明する。
図6は、本実施の形態に示すスレーブ装置100のハードウェア資源の一例を示す図である。
なお、図6の構成は、あくまでもスレーブ装置100のハードウェア構成の一例を示すものであり、スレーブ装置100のハードウェア構成は図6に記載の構成に限らず、他の構成であってもよい。
図6において、スレーブ装置100は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。
CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)と接続していてもよい。また、磁気ディスク装置920の代わりに、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
通信ボード915、キーボード902、マウス903、FDD904などは、入力装置の一例である。
また、通信ボード915、表示装置901などは、出力装置の一例である。
通信ボード915は、図1に示すように、ネットワークに接続されている。例えば、通信ボード915は、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)などに接続されていても構わない。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。
プログラム群923のプログラムは、CPU911がオペレーティングシステム921、ウィンドウシステム922を利用しながら実行する。
また、RAM914には、CPU911に実行させるオペレーティングシステム921のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、RAM914には、CPU911による処理に必要な各種データが格納される。
また、ROM913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置920にはブートプログラムが格納されている。
スレーブ装置100の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
上記プログラム群923には、本実施の形態の説明において「〜部」として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、本実施の形態の説明において、「〜の判断」、「〜の計算」、「〜の算出」、「〜の補正」、「〜の比較」、「〜の設定」、「〜の制御」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、本実施の形態の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、本実施の形態の「〜部」としてコンピュータを機能させるものである。あるいは、本実施の形態の「〜部」の手順や方法をコンピュータに実行させるものである。
このように、本実施の形態に示すスレーブ装置100は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
実施の形態1に係るスレーブ装置の構成例を示す図である。 実施の形態1に係るスレーブ装置における位置指令の補正値の算出方法を説明する図である。 実施の形態1のスレーブ装置を適用したモーションコントロールシステムにおける位置指令の伝わり方を示す図である。 一般的なスレーブの構成図である。 一般的なスレーブを適用したモーションコントロールシステムにおける位置指令の伝わり方を示す図である。 実施の形態1に係るスレーブ装置のハードウェア構成例を示す図である。
符号の説明
100 スレーブ装置、102 周期制御部、103 タイマ部、104 周期リセット部、105 周期検出部、106 周期カウンタ部、107 ネットワーク通信部、108 データ補正部、109 モータ制御部、200 マスタ装置、300 モータ、400 ネットワーク。

Claims (4)

  1. 所定のマスタ動作周期で動作するマスタ装置に接続され、前記マスタ動作周期と異なるスレーブ動作周期で所定の制御対象物の制御を行うスレーブ装置であって、
    前記マスタ装置がマスタ動作周期単位で生成した前記制御対象物の制御のための数値である制御指令値を受信する受信部と、
    前記マスタ動作周期と前記スレーブ動作周期とが一致するタイミングからの経過時間に基づいて、スレーブ動作周期ごとに、前記マスタ動作周期単位の制御指令値をスレーブ動作周期単位の数値に補正する指令値補正部と、
    スレーブ動作周期ごとに、前記指令値補正部により補正された補正値を用いて前記制御対象物の制御を行う制御部とを有し、
    前記指令値補正部は、
    スレーブ動作周期Y_jごとに、スレーブ動作周期Y_jの開始時刻Ys_jと、スレーブ動作周期Y_jの開始時刻Ys_jよりも前に開始しており当該スレーブ動作周期Y_jと少なくとも部分的に同時進行している同時進行マスタ動作周期X_iの開始時刻Xs_iと、前記同時進行マスタ動作周期X_iにおける制御指令値M_iと、前記同時進行マスタ動作周期X_iの1つ前のマスタ動作周期における制御指令値M_i−1と、マスタ動作周期の周期時間TMとに基づき、
    スレーブ動作周期Y_jごとに、
    S_j=M_i−1+{(M_i−M_i−1)×(Ys_j−Xs_i)/TM}により、
    各スレーブ動作周期の補正値S_jを算出することを特徴とするスレーブ装置。
  2. 前記指令値補正部は、
    前後のスレーブ動作周期間の補正値の差が略一定となる数値にて各スレーブ動作周期の補正値を算出することを特徴とする請求項1に記載のスレーブ装置。
  3. 前記スレーブ装置は、
    前記制御対象物としてモータを制御するサーボアンプであり、
    前記受信部は、
    モーションコントローラであるマスタ装置が生成した前記モータの位置を指示する制御指令値を受信し、
    前記制御部は、
    スレーブ動作周期ごとに、前記指令値補正部により補正された補正値を用いて前記モータの位置制御を行うことを特徴とする請求項1に記載のスレーブ装置。
  4. コンピュータを、請求項1に記載されたスレーブ装置として機能させることを特徴とするプログラム。
JP2008317789A 2008-12-15 2008-12-15 スレーブ装置及びプログラム Active JP5202271B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008317789A JP5202271B2 (ja) 2008-12-15 2008-12-15 スレーブ装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008317789A JP5202271B2 (ja) 2008-12-15 2008-12-15 スレーブ装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2010140372A JP2010140372A (ja) 2010-06-24
JP5202271B2 true JP5202271B2 (ja) 2013-06-05

Family

ID=42350447

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008317789A Active JP5202271B2 (ja) 2008-12-15 2008-12-15 スレーブ装置及びプログラム

Country Status (1)

Country Link
JP (1) JP5202271B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6060384B2 (ja) * 2013-03-19 2017-01-18 パナソニックIpマネジメント株式会社 モータ駆動装置
JP6594268B2 (ja) * 2016-07-25 2019-10-23 三菱電機株式会社 モーション制御システム
JP7617050B2 (ja) * 2022-01-25 2025-01-17 株式会社日立製作所 機器の制御装置、制御システム、及び制御方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05333931A (ja) * 1992-05-28 1993-12-17 Yokogawa Electric Corp ロボット制御装置
JP3988255B2 (ja) * 1998-05-20 2007-10-10 株式会社安川電機 数値制御装置における位置指令方法および装置
JP2006236243A (ja) * 2005-02-28 2006-09-07 Yaskawa Electric Corp モーションコントロールシステムとその同期方法

Also Published As

Publication number Publication date
JP2010140372A (ja) 2010-06-24

Similar Documents

Publication Publication Date Title
US7711918B2 (en) Apparatus and method for operating flash memory according to priority order
US10632615B2 (en) Servo driving method, apparatus, and robot thereof
US9454505B2 (en) Chip select (‘CS’) multiplication in a serial peripheral interface (‘SPI’) system
US9389937B2 (en) Managing faulty memory pages in a computing system
US9436388B2 (en) Memory access alignment in a double data rate (‘DDR’) system
US9880607B2 (en) Dynamically optimizing bus frequency of an inter-integrated circuit (‘I2C’) bus
US7900096B2 (en) Freeing a serial bus hang condition by utilizing distributed hang timers
JP5202271B2 (ja) スレーブ装置及びプログラム
US7463993B2 (en) Adaptive thermal-based frequency-bounds control
US20150118017A1 (en) Electronic device and fan controlling method
CN111168688A (zh) 一种机器人动作的回放方法及装置
US11599169B2 (en) System and method of utilizing fans with information handling systems
US20130126150A1 (en) Fan control system and method
US9043586B2 (en) Memory training results corresponding to a plurality of memory modules
JP5371569B2 (ja) データ処理装置及び制御方法及びプログラム
KR20110026578A (ko) 시스템 메모리의 에러 보정 장치 및 방법
JPH06309265A (ja) 情報処理装置におけるドライバプログラムの動的選択方法
US20090164765A1 (en) Determining Thermal Characteristics Of Instruction Sets
US20140189186A1 (en) Memory bus attached input/output ('i/o') subsystem management in a computing system
WO2019061875A1 (zh) 一种电平转化器的时钟输入信号异常的处理方法
CN116302203A (zh) 一种ras功能的配置方法、装置、电子设备和介质
WO2020003839A1 (ja) 制御装置、制御装置の制御方法、情報処理プログラム、および記録媒体
JP7248044B2 (ja) コントローラ、機器制御システム、時刻同期方法、および時刻同期プログラム
JP6725243B2 (ja) 応答制御装置及び応答制御方法、並びにコンピュータ・プログラム
WO2015163219A1 (ja) 制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110902

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121018

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121217

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130115

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130212

R150 Certificate of patent or registration of utility model

Ref document number: 5202271

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160222

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250