JP2012226475A - モータ制御装置 - Google Patents

モータ制御装置 Download PDF

Info

Publication number
JP2012226475A
JP2012226475A JP2011091989A JP2011091989A JP2012226475A JP 2012226475 A JP2012226475 A JP 2012226475A JP 2011091989 A JP2011091989 A JP 2011091989A JP 2011091989 A JP2011091989 A JP 2011091989A JP 2012226475 A JP2012226475 A JP 2012226475A
Authority
JP
Japan
Prior art keywords
unit
counter
pulse
counter value
value
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
JP2011091989A
Other languages
English (en)
Inventor
Yuichiro Mamada
雄一郎 儘田
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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric 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 Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP2011091989A priority Critical patent/JP2012226475A/ja
Publication of JP2012226475A publication Critical patent/JP2012226475A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Programmable Controllers (AREA)

Abstract

【課題】ネットワークを介してデータを授受するマスタ/スレーブ型のプログラマブルコントローラが高精度にモータを制御すること。
【解決手段】プログラムを実行する制御部(マスタ)と、この制御部の指令に基づきモータを制御する出力部(スレーブ)と、前記モータに接続されたエンコーダの出力パルスをカウントするパルスカウント部(スレーブ)とを備え、パルスカウント部は、所定周波数のクロックをカウントしたカウンタ値を前記出力パルスに同期して保持し、この保持されたカウンタ値と前記出力パルスをカウントしたカウンタ値とを、前記制御部からのアクセス要求に応答して送信し、制御部は前記パルスカウント部から受信した両カウンタ値を基に、前記出力パルスの周波数を求め、この周波数応じた指令を前記出力部に送信する。
【選択図】図1

Description

本発明は、モータに接続されたエンコーダの出力パルスの周波数に応じてモータを制御するモータ制御装置に関する。
エンコーダ(モータの回転角・速度・方向などをパルスに変換して出力する機器)の出力パルスに応じてモータへの制御指令を演算し、この演算した制御指令を用いてモータを制御するモータ制御システムが知られている。例えば、特許文献1には、入力パルスの立上がりとその次の立上がりとの時間差を測定してパルスの周波数を算出し、この入力パルスの周波数に応じた出力周波数のパルスを出力する制御装置が開示されている。
特開2000−347710号公報
しかしながら、特許文献1に記載された発明は、CPUやI/Oなどの各種実行ユニットが一体化されたプログラマブルロジックコントローラ(PLC)によってパルス周波数の計測精度を向上するものであり、ネットワーク上に分散配置されて互いにネットワークを介して通信するマスタ/スレーブ型のPLCでパルス周波数の計測精度を向上するものではない。
図3のように、マスタ/スレーブ型のPLCでは、マスタユニット(CPUユニット)がスレーブユニット(高速カウンタユニット)のカウンタ値を周期的にてポーリングして獲得しモータへの制御指令を演算する一方、スレーブユニットは、マスタユニットからのポーリングとは非同期にカウンタ値を更新している。このため、マスタユニットのスレーブユニットへのポーリングタイミングとスレーブユニットのカウンタの更新タイミングによっては、マスタユニットが取得するカウンタ値にばらつきが生じる。このばらつきにより、エンコーダから出力されるエンコーダパルスの周波数が一定でありながら、CPUユニットが加速や減速といった誤った制御指令を出力してしまうという問題がある。
例えば、マスタユニットとスレーブユニットがネットワークを介して互いに通信するPLC(図3)でモータを制御する際の従来の動きは図4のようになる。エンコーダは該エンコーダに接続されるモータの回転軸の位置(回転角)や回転速度、回転方向などをパルスに変換してエンコーダパルスを出力している。高速カウンタユニットはエンコーダパルスを受信してカウントしている(図4:カウンタ値)。CPUユニットはネットワークを介して高速カウンタユニットに周期的にアクセス要求を送信している(図4:アクセス要求)。
このアクセス要求を受信した高速カウンタユニットはアクセス要求に応答してカウンタ値を送信し、CPUユニットは高速カウンタユニットによって送信されたカウンタ値を受信してカウンタ値を獲得している(図4:カウンタ値入力)。
このようにしてCPUユニットに獲得されたカウンタ値は、アクセス要求t1〜t2の間において「1」、アクセス要求t2〜t3の間において「4」、アクセス要求t3〜t4の間において「6」であり、その間隔毎にパルス数が2パルスのときと3パルスときが存在する。
所定期間の時間をTとし、このTにおけるエンコーダが出力したパルス数をNとすると、その周波数はN/Tで算出される。仮にCPUユニットのアクセス要求の送信間隔が1msであったすると、アクセス要求t1〜t2、およびアクセス要求t3〜t4でのCPUユニットによって算出されるパルス周波数は2kHzになる。一方、アクセス要求t2〜t3の間では3kHzとなり、エンコーダパルスが一定に出力されているにも関わらず、計測された周波数が一定にならない。この結果、CPUユニットは、加速や減速といった制御指令をパルス出力ユニットに与えることにより、誤った制御を行うという問題が生じる。
本発明は上記問題を鑑みて考案されたものであり、その課題はネットワークを介してデータを授受するマスタ/スレーブ型のPLCが高精度にモータを制御することが可能なモータ制御装置を提供することにある。
上記のような課題を解決する方法として、本発明は以下のように構成される。
請求項1に係る発明は、モータの回転速度や回転角度などの軸状態をパルスに変換して出力するエンコーダと、該エンコーダが出力したパルスをカウントするパルスカウント部と、このパルスカウント部によってカウントされたカウンタ値に基づきモータの制御指令を出力する制御部と、制御指令に基づきモータを制御する出力部と、を有するモータ制御装置であって、パルスカウント部、制御部、出力部それぞれは通信路を介して互いに接続され、パルスカウント部は、エンコーダの出力パルスをカウントする第一カウンタと、所定周波数のクロックをカウントする第二カウンタと、この第二カウンタのカウンタ値を、パルスに同期して取り込み保持する記憶手段と、第一カウンタのカウンタ値および記憶手段に保持された第二カウンタのカウンタ値それぞれを、制御部から通信路を介して該パルスカウント部に送信されたアクセス要求に応答して送信する応答送信手段を備え、制御部は、アクセス要求をパルスカウント部に周期毎に送信するアクセス要求送信手段と、応答送信手段によって送信された第一カウンタのカウンタ値および記憶手段に保持された第二カウンタ値を受信するカウンタ値取得手段と、このカウンタ値取得手段によって周期毎に取得された第一カウンタ値の今回値と前回値との差分値を算出して、周期の間隔におけるパルスのカウント進捗数を算出するパルス進捗数算出手段と、カウンタ値取得手段によって周期毎に取得された第二カウンタ値の今回値と前回値との差分値を算出し、該差分値とクロックの周波数とを基にパルスのカウント進捗数に対応した時間を算出する間隔時間算出手段と、この間隔時間算出手段によって算出された時間およびパルス進捗数算出手段によって算出されたパルスのカウント進捗数に基づき、エンコーダが出力したパルスの周波数を求め、この周波数に応じた制御指令を通信路を介して出力部に送信する指令送信手段と、を備えるように構成する。
請求項2に係る発明は、請求項1記載のモータ制御装置において、クロックの周波数を、エンコーダの出力パルスの周波数よりも大とするように構成する。
本発明によれば、パルスカウント部はエンコーダの出力パルスを第一カウンタによりカウントする。また、パルスカウント部は所定周波数のクロックをカウントする第二カウンタの出力値を、エンコーダの出力パルスに同期して(イネーブルとして)記憶手段に保持する。さらに、パルスカウント部は、第一カウンタ値および記憶手段に保持された第二カウンタ値を制御部からのアクセス要求に応答して制御部に与える。
制御部は、アクセス要求をパルスカウント部に周期的に与える。そして、制御部はアクセス要求に対するパルスカウント部からの応答を受信し、第一カウンタ値と第二カウンタ値を取得する。これらカウンタ値を周期的に受信した制御部は、取得された第一カウンタ値の今回値と前回値との差分値を算出することによって、アクセス要求が送信される周期間隔におけるエンコーダの出力パルス数を求める。
また、制御部は、周期的に取得された第二カウンタ値の今回値と前回値との差分値を算出し、この差分値と第二カウンタのクロックの周期とを乗算する。このようにして、制御部は、アクセス要求が送信される周期間隔において、第一カウンタがエンコーダの出力パルスを最初にカウントした時点から最後にカウントした時点までの間隔時間を算出する。すなわち、制御部は、周期毎に取得された第二カウンタ値の今回値と前回値との差分値を算出して、周期間隔におけるクロックのカウント進捗数を求め、このクロックのカウント進捗数とクロックの周波数(周期時間)とを基に、周期間隔に計数されたエンコーダのパルス数(パルス進捗数)に対応した時間を間隔時間として求める。
この間隔時間および前述のように求めた周期間隔におけるエンコーダの出力パルス数を基に制御部は、エンコーダが出力したパルスの周波数を求める。さらに、制御部は、算出したエンコーダの出力パルスの周波数が、予め設定されたモータを制御するためのパラメータに合っているかチェックし、合致すれば、平常指令を出力部に与え、合致しなければ加速や減速といった指令を出力部に与えてモータを制御する。
このように構成することにより、制御部のパルスカウント部へのアクセスタイミングに依存せず、エンコーダの出力パルスの周波数を正確に計測できるようになるため、ネットワークを介してデータを授受するようなマスタ/スレーブ型のPLCがモータを高精度に制御できる。
本発明の一例を示すモータ制御装置のシステム構成図 図1の動作説明用のタイムチャート マスタ/スレーブ型のPLCによるモータ制御装置の構成図 図3の動作説明用のタイムチャート
以下、本発明の好適な実施形態について図1、図2を基に説明する。なお、これらの図面は本発明の一実施形態を説明するための図面であって、これらの図面によって本発明が限定されるものではない。
図1は、本発明の一例を示すモータ制御装置のシステム構成図である。このモータ制御装置は、所定のアプリケーションを実行するプログラマブルコントローラで構成されており、複数の機能ユニットがネットワークを介して接続され、互いにデータを授受することで位置決め制御などのアプリケーションを実行する。
具体的に説明すると、本発明のモータ制御装置は、シーケンスプログラムなどのプログラムを実行するCPUユニット(制御部)100と、このCPUユニット100の指令に基づきモータ400を制御するパルス出力ユニット(出力部)300と、モータ400に接続されエンコーダ500の出力パルスをカウントする高速カウンタユニット(パルスカウント部)200とがネットワーク600(通信バス)を介して接続されている。CPUユニット100、高速カウンタユニット200、パルス出力ユニット300それぞれは、ネットワーク600を介して互いにデータを授受する送受信手段を備えている。
エンコーダ500は該エンコーダに接続されるモータ400の回転軸の回転速度や回転角度など、すなわちモータの軸状態をパルスに変換して出力するものである。
高速カウンタユニット200は、プログラムを実行する記憶手段20、ネットワーク600を介して他のユニットとデータを授受する送受信手段26、第一カウンタ24(エンコーダパルスカウント部)、そして第二カウンタ25が搭載されている。第一カウンタ24はエンコーダ500が出力するエンコーダパルスを入力してカウントし、第一カウンタ値としてその値を出力する。第二カウンタ25はフリーランカウンタであり、所定の周波数のクロック(不図示)をカウントし、第二カウンタ値としてその値を出力する。
続いて、記憶手段20は、第一カウンタ値を保持する第一レジスタと、第二カウンタ値をエンコーダパルスに同期して(イネーブルにして)取り込み保持する第二レジスタとで構成されている。また、高速カウンタユニット200は、応答送信手段23を備えている。この応答送信手段23は、ネットワーク600を介してCPUユニット100から送信されたアクセス要求に応答して、記憶手段20に保持された第一カウンタ値と第二カウンタ値とを含んだパケットをCPUユニット100に送信する。
一方、CPUユニット100は、プログラムを実行するCPU回路10、ネットワーク600を介して他のユニットとデータを授受する送受信手段18が搭載されている。CPU回路10には、中央演算部(CPU)やプログラムメモリ、そして作業メモリなどが備えられており、このCPUがプログラムメモリに保持された位置決め制御プログラムなどのシーケンスプログラムを実行し、パルス出力部300に制御指令を与えることによりモータ400を制御する。
また、CPU回路10には、アクセス要求送信手段15、カウンタ値取得手段16、そして指令送信手段17が備えられている。アクセス要求送信手段15は、高速カウンタユニット200をアクセスするためのアクセス要求パケットを所定の周期毎に(例えば10ms毎)に送信する。この周期は位置決め制御を実行する際の、被対称物の移動速度やモータの追従速度などを加味した上で、そのアプリケーションに求められる性能に応じて設定可能である。
また、カウンタ値取得手段16は、アクセス要求送信手段15によって送信された高速カウンタ200へのアクセス要求に対する高速カウンタユニット200からの応答パケットを受信して、第一カウンタ値と第二カウンタ値を取得し、第一カウンタ値を第一カウンタ値11とし、第二カウンタ値を第二カウンタ値12として内部レジスタに格納する。なお、アクセス要求送信手段15は高速カウンタユニット200にアクセス要求を送信する際、レジスタに保持された第一カウンタ値11および第二カウンタ値12を不図示の記憶手段(内部メモリ)に退避している。すなわち、カウンタ値取得手段16によってレジスタに格納された第一カウンタ値11と第二カウンタ値12それぞれは、カウンタ値取得手段16が取得した最新の値(今回値)である。また、アクセス要求送信手段15によって退避されたカウンタ値は、前述最新の値(今回値)に対し、前周期にカウンタ値取得手段16が取得した値(前回値)である。
また、CPU回路10は周波数算出部としてパルス進捗数算出手段14と間隔時間算出手段13、そして、この周波数算出部の演算結果を基にパルス出力ユニット300に制御指令を送信する指令送信手段をさらに備えている。
パルス進捗数算出手段14は、前述第一カウンタ値11の今回値と前回値との差分値を算出する。すなわち、パルス進捗数算出手段14は、前述第一カウンタ値11の今回値と前回値との差分をとることにより、所定周期毎のエンコーダパルスの進捗数を算出することになる。
間隔時間算出手段13は前述第二カウンタ値12の今回値と前回値との差分値を算出し、この差分値を基に、前回値を取得した時点を起点に今回値を取得するまでの時間(間隔時間)を算出する(詳細は後述)。そして、この算出された間隔時間と前述パルス進捗数算出手段14によって算出された差分値に基づき、指令送信手段17は、エンコーダパルスの周波数を求め(エンコーダパルス数÷間隔時間)、この算出されたエンコーダパルスの周波数に応じた制御指令を、ネットワーク600を介してパルス出力ユニット300に送信する。
パルス出力ユニット300は、指令送信手段17によって送信された制御指令を受信し、受信した制御指令に基づきモータ400の回転方向、角度、そして回転速度などを制御する。
図2は、本発明のモータ制御装置の動きを説明するためのタイミングチャートである。図2においてT1,T2,T3はタクト時間であり、CPUユニット100が高速カウンタユニット200にアクセス要求を送信する送信間隔である。また、C1は第一レジスタに保持された第一カウンタ値がネットワーク600に送信された際の値であり、C2は第二レジスタに保持された第二カウンタ値がネットワーク600に送信された際の値である。
また、時点t1,t2,t3,t4それぞれにおいてCPUユニット100はアクセス要求送信手段により高速カウンタユニット200にアクセス要求を送信している。これらアクセス要求に応答して高速カウンタユニット200はC1およびC2を含んだ応答パケットをCPUユニット100に送信している。
エンコーダパルスはエンコーダ500から出力されたパルスであり、高速カウンタユニットに入力されている。
タクト時間T1において、エンコーダパルスを入力した高速カウンタユニット200の第一カウンタ値は、エンコーダパルスが入力される都度「1」→「2」→「3」と順次カウントアップされている。この値は第一レジスタにカウントアップの度に保持されている。また、高速カウンタユニット200はエンコーダパルスに対して十分高い周波数のクロックをカウントするフリーランカウンタ(第二カウンタ25)が搭載されている。この出力値は第二カウンタ出力として図2に示されている。この値はエンコーダパルスをイネーブルとして第二レジスタに取り込まれている(第二カウンタ値)。すなわち、時点t1において第二カウンタ値は「1110」であるが、エンコーダパルスが「H」になる度に「1120」→「1130」と、第二カウンタ25の出力値が第二レジスタにロードされ保持されている。
また、時点t1において、CPUユニット100は高速カウンタユニット200にアクセス要求を送信しており、このアクセス要求に応答して高速カウンタユニット200はネットワーク600にC1=「1」,C2=「1110」としたパケットを送信している。このパケットを受信したCPUユニット100はカウンタ値取得手段16により第一カウンタ値11を「1」とし、第二カウンタ値12を「1110」としてレジスタに格納している。
続いて、時点t2において、CPUユニット100は高速カウンタユニット200にアクセス要求を送信するとともに、時点t1にて取得した第一カウンタ値11および第二カウンタ値12を作業メモリ(カウンタ値退避領域)に退避する。もちろん、上述時点t1においても、時点t1の前に取得したカウンタ値の退避が実行されている。
そして、高速カウンタユニット200は時点t2でのアクセス要求に応答してネットワーク600にC1=「4」,C2=「1140」としたパケットを送信している。このパケットを受信したCPUユニット100はカウンタ値取得手段16により第一カウンタ値11を「4」とし、第二カウンタ値12を「1140」としてレジスタに格納している。
第一カウンタ値11と第二カウンタ値12がレジスタに格納されることにより、CPUユニット100は第一カウンタ値11に保持された値(今回値)とカウンタ値退避領域に退避された第一カウンタ値(前回値)との差分値を算出する。この例の場合、不図示であるが、パルス進捗数算出手段14は「4」から「1」を引いて「3」を算出している。すなわち、この「3」はタクト時間T1においてエンコーダパルスが出力された数である。
また、CPUユニット100は間隔時間算出手段13により第二カウンタ値12の今回値(レジスタに保持された第二カウンタ値)と前回値(カウンタ値退避領域に退避された第二カウンタ値)との差分値を算出する。この例の場合、間隔時間算出手段13は「1140」から「1110」を引いて、その差分値として「30」を算出している。仮に第二カウンタ25の出力周期(クロックの出力周期)を0.1μsとした場合、間隔時間算出手段13は前回値が取得された時間と今回値が取得された時間との間隔時間を0.1μs×30=3μsとして算出する。
そして、指令送信手段17は、算出された「3μs」と前述タクト時間T1でのエンコーダパルス「3」とを基に、エンコーダパルスの周波数を求める。この例の場合、「3」を「30μs」で除算して100kHzが算出される。続いて、指令送信手段17は、算出されたエンコーダパルスの周波数(100kHz)が、予め設定されたモータを制御するためのパラメータ(不図示)に合っているかチェックする。この例の場合、合致したとし、CPUユニット100は平常指令(そのままの指令)をパルス出力ユニット300に送信し、モータが正常に制御されている。なお、前述パラメータとエンコーダパルスの周波数が合致していなければ、CPUユニット100は加速や減速といった指令をパルス出力ユニット300に送信しモータを制御する。
続いて、時点t3において、CPUユニット100は高速カウンタユニット200にアクセス要求を送信するとともに、時点t2で取得した第一カウンタ値11および第二カウンタ値12を作業メモリ(カウンタ値退避領域)に退避する。高速カウンタユニット200はアクセス要求に応答してネットワーク600にC1=「6」,C2=「1160」としたパケットを送信している。このパケットを受信したCPUユニット100はカウンタ値取得手段16により第一カウンタ値11を「6」とし、第二カウンタ値12を「1160」としてレジスタに格納している。
第一カウンタ値11と第二カウンタ値12が格納されることにより、CPUユニット100は、前述同様パルス進捗数算出手段14により第一カウンタ値11の今回値と前回値との差分値を算出する。この例の場合、「6」から「4」を引いて「2」が算出される。すなわち、算出された「2」という値はタクト時間T2でエンコーダパルスが出力された数として扱われる。
また、CPUユニット100は、前述同様間隔時間算出手段13により第二カウンタ値12の今回値と前回値との差分値を算出する。この例の場合、間隔時間算出手段13は「1160」から「1140」を引いて、その差分値として「20」を算出している。仮に第二カウンタ25の出力周期(クロックの出力周期)を0.1μsとした場合、第一カウンタ値11の前回値を取得した時間と今回値を取得した時間との間隔時間は、0.1μs×20として計算され、2μsが算出される。
そして、指令送信手段17は、この「2μs」と前述タクト時間T2で求められたエンコーダパルスの数「2」とを基に、エンコーダパルスの周波数を求める。この例の場合、「2」を「20μs」で除算して100kHzが算出されている。続いて、指令送信手段17は、算出されたエンコーダパルスの周波数(100kHz)が、予め設定されたモータを制御するためのパラメータ(不図示)に合っているかチェックする。この例の場合、合致したとし、CPUユニット100は平常指令(そのままの指令)をパルス出力ユニット300に送信し、モータが正常に制御されている。
このように、CPUユニット100が高速カウンタユニット200のカウンタ値を周期的に獲得する一方、高速カウンタユニット200は、CPUユニット100からのアクセス(ポーリング)とは非同期にエンコーダパルスをカウントしている。このような状況においても、本発明のモータ制御装置は、ポーリング周期(タクト時間の区切り)とは非同期にカウントされるエンコーダパルス数に応じた時間を求めて、該エンコーダパルスの周波数を算出するのでその周波数が正確に算出され、モータを高精度に制御することが可能になる。
エンコーダパルス数に応じた時間をどのように求めるかというと、高速カウンタユニット200は第一カウンタによりエンコーダパルスをカウントし第一レジスタに保持させる。これとともに高速カウンタユニット200は、所定周波数のクロックをカウントする第二カウンタの出力値を、エンコーダパルスをイネーブルとして第二レジスタに保持させる。そして、高速カウンタユニット200は、第一レジスタに保持された第一カウンタ値および第二レジスタに保持された第二カウンタ値をCPUユニット100のアクセス要求に応答してCPUユニット100与える。
CPUユニット100は、第一カウンタ値と第二カウンタ値を取得し、第一カウンタ値の今回値と前回値との差分値を算出し、タクト時間中でのエンコーダの出力パルス数を求める。
そして、CPUユニット100は、第二カウンタ値の今回値と前回値との差分値を算出し、この差分値と高速カウンタユニット200の第二カウンタ25の出力周期とを乗算する。このようにして、CPUユニット100は、タクト時間において高速カウンタユニット200の第一カウンタ24がエンコーダパルスを最初にカウントした時点を起点とし、そのタクト時間中で第一カウンタ24がエンコーダパルスを最後にカウントした時点を終点として、起点と終点との間隔時間を算出する。
そして、CPUユニット100はエンコーダの出力パルス数(第一カウンタ値)と前述間隔時間とを基に、エンコーダパルスの周波数を求める。また、CPUユニット100は、エンコーダパルスの周波数が、予め設定されたモータを制御するためのパラメータに合っているかチェックし、合致していれば、平常指令をパルス出力ユニット300に与え、合致していなければ加速や減速といった指令をパルス出力ユニット300に与えてモータを制御する。
以上説明したように、本発明ではCPUユニット100の高速カウンタ200へのアクセスタイミングに依存せず、エンコーダパルスの周波数を正確に計測できるようになり、ネットワークを介してデータを授受するようなマスタ/スレーブ型のPLCがモータを高精度に制御することが可能なモータ制御装置が提供される。
なお、第二カウンタ25のクロック周波数をエンコーダパルスの周波数よりも大きくとるほど計測されたエンコーダパルスの周波数の誤差を少なくすることができる。このように構成することでマスタ/スレーブ型のPLCがモータを高精度に制御することが可能になる。
100 CPUユニット(制御部)
10 CPU回路
11 第一カウンタ値
12 第二カウンタ値
13 間隔時間算出手段
14 パルス進捗数算出手段
15 アクセス要求送信手段
16 カウンタ値取得手段
17 指令送信手段
18 送受信手段
200 高速カウンタユニット(パルスカウント部)
20 記憶手段
21 第一レジスタ
22 第二レジスタ
23 応答送信手段
24 第一カウンタ
25 第二カウンタ
26 送受信手段
300 パルス出力ユニット(出力部)
400 モータ
500 エンコーダパルス
600 ネットワーク(通信バス、もしくは通信路)

Claims (2)

  1. モータの回転速度や回転角度などの軸状態をパルスに変換して出力するエンコーダと、
    該エンコーダが出力したパルスをカウントするパルスカウント部と、
    このパルスカウント部によってカウントされたカウンタ値に基づきモータの制御指令を出力する制御部と、
    前記制御指令に基づきモータを制御する出力部と、を有するモータ制御装置であって、
    前記パルスカウント部、前記制御部、前記出力部それぞれは通信路を介して互いに接続され、
    前記パルスカウント部は、
    前記エンコーダの出力パルスをカウントする第一カウンタと、
    所定周波数のクロックをカウントする第二カウンタと、
    この第二カウンタのカウンタ値を、前記パルスに同期して取り込み保持する記憶手段と、
    前記第一カウンタのカウンタ値および前記記憶手段に保持された第二カウンタのカウンタ値それぞれを、前記制御部から前記通信路を介して該パルスカウント部に送信されたアクセス要求に応答して送信する応答送信手段を備え、
    前記制御部は、
    前記アクセス要求を前記パルスカウント部に周期毎に送信するアクセス要求送信手段と、
    前記応答送信手段によって送信された前記第一カウンタのカウンタ値および前記記憶手段に保持された第二カウンタ値を受信するカウンタ値取得手段と、
    このカウンタ値取得手段によって周期毎に取得された前記第一カウンタ値の今回値と前回値との差分値を算出して、前記周期の間隔における前記パルスのカウント進捗数を算出するパルス進捗数算出手段と、
    前記カウンタ値取得手段によって周期毎に取得された前記第二カウンタ値の今回値と前回値との差分値を算出し、該差分値と前記クロックの周波数とを基に前記パルスのカウント進捗数に対応した時間を算出する間隔時間算出手段と、
    この間隔時間算出手段によって算出された前記時間および前記パルス進捗数算出手段によって算出された前記パルスのカウント進捗数に基づき、前記エンコーダが出力したパルスの周波数を求め、この周波数に応じた前記制御指令を前記通信路を介して前記出力部に送信する指令送信手段と、を備えることを特徴とするモータ制御装置。
  2. 請求項1記載のモータ制御装置において、
    前記クロックの前記所定の周波数は、前記エンコーダの出力パルスの周波数よりも大であることを特徴とするモータ制御装置。
JP2011091989A 2011-04-18 2011-04-18 モータ制御装置 Pending JP2012226475A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011091989A JP2012226475A (ja) 2011-04-18 2011-04-18 モータ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011091989A JP2012226475A (ja) 2011-04-18 2011-04-18 モータ制御装置

Publications (1)

Publication Number Publication Date
JP2012226475A true JP2012226475A (ja) 2012-11-15

Family

ID=47276592

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011091989A Pending JP2012226475A (ja) 2011-04-18 2011-04-18 モータ制御装置

Country Status (1)

Country Link
JP (1) JP2012226475A (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10142248A (ja) * 1996-11-07 1998-05-29 Honda Motor Co Ltd 回転数計測装置
JP2002172542A (ja) * 2000-12-08 2002-06-18 Nissan Motor Co Ltd 多軸同期制御装置および多軸同期制御方法
JP2010198600A (ja) * 2009-02-02 2010-09-09 Omron Corp 産業用コントローラ

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10142248A (ja) * 1996-11-07 1998-05-29 Honda Motor Co Ltd 回転数計測装置
JP2002172542A (ja) * 2000-12-08 2002-06-18 Nissan Motor Co Ltd 多軸同期制御装置および多軸同期制御方法
JP2010198600A (ja) * 2009-02-02 2010-09-09 Omron Corp 産業用コントローラ

Similar Documents

Publication Publication Date Title
US11082197B2 (en) Control system and control device
KR102148943B1 (ko) 프로그래머블 컨트롤러 시스템, 그 컨트롤러
US11307553B2 (en) Control device and control method
US10474598B2 (en) Microcomputer
KR101988103B1 (ko) 광학 계측 장치
JP2007060400A (ja) 通信タイミング制御方法および通信タイミング制御システム
JP2011193457A (ja) 時間同期を行うためのシステムおよび方法
JP2001027904A (ja) 数値制御システム
JP2022093387A (ja) 制御システム、装置および制御方法
JP4961589B2 (ja) ネットワークシステムおよびスレーブ同期方法
JP2019133205A (ja) モータ駆動システム、モータ制御システムおよび自走ロボット
US20220247632A1 (en) Control system, control device, and non-transitory computer-readable recording medium recording program
CN111033401B (zh) 控制装置、控制系统、控制方法以及控制程序的记忆媒体
JP6400553B2 (ja) ユニット間での同期制御機能を有する数値制御システム
JP2011227795A (ja) データ収集装置
JP2012226475A (ja) モータ制御装置
KR20140014918A (ko) 이더넷 통신 시스템 및 시간 동기화 방법
CN114375552B (zh) 在基于以太网的网络中进行时间同步的方法
JP6201331B2 (ja) 同期シリアルインタフェース回路
US10681720B2 (en) Wireless communication device, wireless information collection system, and wireless communication method
JP2011234212A (ja) タスク制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140314

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150305

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150721