(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023152086
(43)【公開日】2023-10-16
(54)【発明の名称】ドライバ及びドライブシステム
(51)【国際特許分類】
H02P 5/46 20060101AFI20231005BHJP
【FI】
H02P5/46
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022062027
(22)【出願日】2022-04-01
(71)【出願人】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110002860
【氏名又は名称】弁理士法人秀和特許事務所
(72)【発明者】
【氏名】山脇 聖
(72)【発明者】
【氏名】大野 悌
(72)【発明者】
【氏名】藤岡 巧
(72)【発明者】
【氏名】中嶋 健治
【テーマコード(参考)】
5H572
【Fターム(参考)】
5H572AA14
5H572EE01
5H572GG01
5H572GG02
5H572HC07
5H572JJ03
5H572JJ18
5H572KK04
5H572LL01
5H572LL29
5H572LL32
5H572MM09
(57)【要約】
【課題】指定された動作開始時刻におけるモータ制御不可の場合に、上位装置に通知する。
【解決手段】本ドライバは、上位装置から動作開始時刻の指定及びモータの制御に係る制御指令を含む指令信号を受信する受信部と、上記指令信号を受信した受信時刻から上記動作開始時刻までの時間が所定の閾値以上である場合には、上記動作開始時刻になると、上記制御指令にしたがって上記モータを制御する制御部と、上記受信時刻から上記動作開始時刻までの時間が上記所定の閾値未満である場合には、上記上位装置にエラーを通知する通知部と、を備える。
【選択図】
図3
【特許請求の範囲】
【請求項1】
上位装置から動作開始時刻の指定及びモータの制御に係る制御指令を含む指令信号を受信する受信部と、
前記指令信号を受信した受信時刻から前記動作開始時刻までの時間が所定の閾値以上である場合には、前記動作開始時刻になると、前記制御指令にしたがって前記モータを制御する制御部と、
前記受信時刻から前記動作開始時刻までの時間が前記所定の閾値未満である場合には、前記上位装置にエラーを通知する通知部と、を備える、
ドライバ。
【請求項2】
前記動作開始時刻は、第1の動作開始時刻と第2の動作開始時刻と、を含み、
前記制御指令は、前記第1の動作開始時刻に開始させる第1の制御指令と、前記第2の動作開始時刻に開始させる第2の制御指令と、を含み、
前記制御部は、
前記第1の動作開始時刻になると、前記第1の制御指令にしたがって前記モータを制御し、
前記第2の動作開始時刻になると、前記第2の制御指令にしたがって前記モータを制御する、
請求項1に記載のドライバ。
【請求項3】
前記第2の動作開始時刻は前記第1の動作開始時刻よりも後の時刻であり、
前記制御部は、前記第1の制御指令にしたがった前記モータの制御が終了する前の時刻を前記第2の動作開始時刻が示す場合には、前記第2の制御指令にしたがった前記モータの制御の実行を禁止する、
請求項2に記載のドライバ。
【請求項4】
前記通知部は、前記第2の制御指令にしたがった前記モータの制御の実行が禁止されると、前記上位装置にエラーを通知する、
請求項3に記載のドライバ。
【請求項5】
第1のモータを制御する第1のドライバと、
第2のモータを制御する第2のドライバと、
動作開始時刻の指定及び前記第1のモータの制御に係る第1の制御指令及び前記第2のモータの制御に係る第2の制御指令を含む指令信号を出力する上位装置と、を備え、
前記第1のドライバは、
前記上位装置から前記指令信号を受信する第1の受信部と、
前記指令信号を受信した受信時刻から前記動作開始時刻までの時間が所定の閾値以上である場合に、前記動作開始時刻の指定及び前記第2の制御指令を含むドライバ間指令を前記第2のドライバに出力するドライバ間指令部と、
前記受信時刻から前記動作開始時刻までの時間が前記所定の閾値以上である場合には、前記動作開始時刻になると、前記第1の制御指令にしたがって前記第1のモータを制御する第1の制御部と、
前記受信時刻から前記動作開始時刻までの時間が前記所定の閾値未満である場合には、前記上位装置にエラーを通知する通知部と、を含み、
前記第2のドライバは、
前記第1のドライバから前記ドライバ間指令を受信する第2の受信部と、
前記動作開始時刻になると、前記ドライバ間指令に含まれる前記第2の制御指令にしたがって前記第2のモータを制御する第2の制御部と、を含む、
ドライブシステム。
【請求項6】
前記動作開始時刻は、前記第1の制御指令にしたがった動作を開始させる第1の動作開始時刻と、前記第2の制御指令にしたがった動作を開始させる第2の動作開始時刻と、を含み、
前記ドライバ間指令部は、前記受信時刻から前記第2の動作開始時刻までの時間が前記所定の閾値以上である場合に、前記ドライバ間指令を前記第2のドライバに出力し、
前記第1の制御部は、前記受信時刻から前記第1の動作開始時刻までの時間が前記所定の閾値以上である場合には、前記第1の動作開始時刻になると、前記第1の制御指令にしたがって前記第1のモータを制御し、
前記第2の制御部は、前記第2の動作開始時刻になると、前記ドライバ間指令に含まれる前記第2の制御指令にしたがって前記第2のモータを制御する、
請求項5に記載のドライブシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ドライバ及びドライブシステムに関する。
【背景技術】
【0002】
ツールから取得した開始時刻情報が示す時刻に動作するように複数の軸を同期して制御する多軸制御システムや、指定された絶対時間と内部タイマーとが一致するタイミングでモータを駆動するシステムが提案されている(例えば、特許文献1、2参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】国際公開2020/202568号
【特許文献2】特開2004-110359号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ドライバに対して所望の時間に指令信号にしたがった制御を実行させる場合、上位装置から動作開始時刻を指定して指令信号をドライバに送信することが考えられる。ここで、動作開始時刻を過ぎたタイミングで当該指令信号をドライバが受信した場合には、指定された動作開始時刻に指令信号にしたがった制御を実行することはできない。このような場合にエラーが通知されないと、上位装置は指令信号にしたがった制御が実行されたか否か把握できなくなる。
【0005】
開示の技術の1つの側面は、指定された動作開始時刻におけるモータ制御不可の場合に、上位装置に通知できるドライバ及びドライブシステムを提供することを目的とする。
【課題を解決するための手段】
【0006】
開示の技術の1つの側面は、次のようなドライバによって例示される。本ドライバは、上位装置から動作開始時刻の指定及びモータの制御に係る制御指令を含む指令信号を受信する受信部と、上記指令信号を受信した受信時刻から上記動作開始時刻までの時間が所定の閾値以上である場合には、上記動作開始時刻になると、上記制御指令にしたがって上記モータを制御する制御部と、上記受信時刻から上記動作開始時刻までの時間が上記所定の閾値未満である場合には、上記上位装置にエラーを通知する通知部と、を備える。
【0007】
上記ドライバによれば、上記受信時刻と上記動作開始時刻までの時間が上記所定の閾値以上である場合には、指定された動作開始時刻に上記制御指令にしたがったモータの制御を実現することができる。そして、上記ドライバは、上記受信時刻と上記動作開始時刻までの時間が上記所定の閾値未満である場合には上記動作開始時刻における上記制御信号にしたがった上記モータの制御は不可と判定し、上記上位装置にエラーを通知する。そのため、上記ドライバによれば、指定された動作開始時刻におけるモータ制御不可の場合に、上記上位装置に通知することができる。ここで、所定の閾値は、指令信号を受信してからモータの駆動開始までに要する時間を基に適宜決定されてもよい。また、所定の閾値は、上位装置とドライバ間における通信遅延を考慮して決定されてもよい。
【0008】
上記ドライバは、次の特徴を備えてもよい。上記動作開始時刻は、第1の動作開始時刻と第2の動作開始時刻と、を含み、上記制御指令は、上記第1の動作開始時刻に開始させる第1の制御指令と、上記第2の開始時刻に開始させる第2の制御指令と、を含み、上記制御部は、上記第1の動作開始時刻になると、上記第1の制御指令にしたがって上記モー
タを制御し、上記第2の動作開始時刻になると、上記第2の制御指令にしたがって上記モータを制御する。上記ドライバは、このような特徴を備えることで、モータに対して複数の動作を実行させるシーケンス処理を実現することができる。
【0009】
上記ドライバは、次の特徴を備えてもよい。上記第2の動作開始時刻は上記第1の動作開始時刻よりも後の時刻であり、上記制御部は、上記第1の制御指令にしたがった上記モータの制御が終了する前の時刻を上記第2の動作開始時刻が示す場合には、上記第2の制御指令にしたがった上記モータの制御の実行を禁止する。そして、上記通知部は、上記第2の制御指令にしたがった上記モータの制御の実行が禁止されると、上記上位装置にエラーを通知してもよい。上記ドライバは、このような特徴を備えることで、第1の制御指令にしたがった制御を中断して第2の制御指令にしたがった制御が実行されることが抑制される。また、上記第2の制御指令にしたがった上記モータの制御の実行が禁止されたときにエラーが通知されることで、上位装置は第2の制御指令にしたがった制御が禁止されたことを把握できる。
【0010】
開示の技術は、上記ドライバを複数備えたドライブシステムの側面から把握することも可能である。
【発明の効果】
【0011】
開示の技術によれば、指定された動作開始時刻におけるモータ制御不可の場合に、上位装置に通知することができる。
【図面の簡単な説明】
【0012】
【
図1】
図1は、実施形態に係るサーボシステムの一例を示す図である。
【
図2】
図2は、PLCが有する機能部の概略構成を示す図である。
【
図3】
図3は、サーボドライバが有する機能部の概略構成を示す第1の図である。
【
図4】
図4は、サーボドライバが有する機能部の概略構成を示す第2の図である。
【
図5】
図5は、実施形態に係るサーボシステムによる動作開始時刻を指定した指令信号にしたがった制御を模式的に示す第1の図である。
【
図6】
図6は、実施形態に係るサーボシステムによる動作開始時刻を指定した指令信号にしたがった制御を模式的に示す第2の図である。
【
図7】
図7は、実施形態におけるサーボドライバの処理フローの一例を示す第1の図である。
【
図8】
図8は、実施形態におけるサーボドライバの処理フローの一例を示す第2の図である。
【
図9】
図9は、第1変形例に係るサーボシステムの一例を示す図である。
【
図10】
図10は、第1変形例に係るサーボシステムによる動作開始時刻を指定信号にしたがった制御を模式的に示す図である。
【
図11】
図11は、第2変形例に係るサーボシステムの一例を示す図である。
【
図12】
図12は、第2変形例に係るサーボシステムによる動作開始時刻を指定した指令信号にしたがった制御を模式的に示す図である。
【
図13】
図13は、第3変形例において動作開始時刻を指定した複数の指令信号の夫々にしたがった制御を模式的に示す図である。
【
図14】
図14は、第3変形例における処理フローの一例を示す図である。
【
図15】
図15は、第4変形例に係るサーボシステムの一例を示す図である。
【
図16】
図16は、第4変形例における所定のオフセットの算出方法の一例を示すシーケンス図である。
【発明を実施するための形態】
【0013】
<実施形態>
以下、図面を参照して実施形態について説明する。
図1は、実施形態に係るサーボシステム100の一例を示す図である。サーボシステム100は、PLC1、サーボドライバ2a、サーボドライバ2b、サーボモータ3a、3b、ねじ軸4a、4b、精密ステージ5a、5b、テーブル6、産業用ネットワークN1及びドライバ間通信線N2を含む。サーボシステム100は、例えば、サーボドライバ2a、2bが協働してテーブル6を変位させるガントリ機構のシステムである。
【0014】
PLC1及びサーボドライバ2aは、産業用ネットワークN1によって接続される。サーボドライバ2aとサーボドライバ2bとは、ドライバ間通信線N2によって接続される。サーボモータ3aの出力軸にはねじ軸4aが接続される。サーボモータ3bの出力軸にはねじ軸4bが接続される。ねじ軸4aとねじ軸4bとは平行に配置される。ねじ軸4aには精密ステージ5aが配置される。ねじ軸4bには精密ステージ5bが配置される。テーブル6は、精密ステージ5a、5bによって支持される。サーボモータ3a、3bの駆動により、テーブル6がねじ軸4a、4bの軸方向に沿って変位する。サーボシステム100は、例えば、ガントリ機構のサーボシステムである。
【0015】
PLC1は、サーボドライバ2aに対する指令信号を産業用ネットワークN1を介して出力する。PLC1は、予め準備されたプログラムに従う処理を実行することによって、例えば、サーボドライバ2a、2bの監視装置として機能する。産業用ネットワークN1は、例えば、TCP/IPネットワークである。PLC1は、産業用ネットワークN1によって、サーボドライバ2aに接続される。PLC1は、「上位装置」の一例である。
【0016】
サーボドライバ2aは、PLC1からの指令信号を産業用ネットワークN1を介して受ける。サーボドライバ2aは、PLC1からの指令信号に応じた動作をサーボモータ3bにさせるドライバ間指令を、ドライバ間通信線N2を介して、サーボドライバ2bに対して出力する。
【0017】
さらにサーボドライバ2a、2bは、対応するサーボモータ3a、3bからフィードバック信号を受ける。また、サーボドライバ2a、2bは、サーボモータ3a、3bに対して駆動電流を供給する。サーボドライバ2a、2bにおいては、それぞれ、速度検出器、トルク検出器、電力生成器等を利用したフィードバック制御を行うサーボ系が形成されており、これらの信号を利用して、サーボモータ3a、3bをサーボ制御し駆動する。サーボドライバ2aにはサーボモータ3aが対応付けられ、サーボドライバ2bにはサーボモータ3bが対応付けられる。サーボドライバ2a、2bは、「ドライバ」の一例である。サーボドライバ2aは、「第1のドライバ」の一例である。サーボドライバ2bは、「第2のドライバ」の一例である。
【0018】
サーボモータ3a、3bは、例えば、ACサーボモータである。サーボモータ3a、3bは、サーボドライバ2a、2bから供給された駆動電流を受けて駆動される。サーボモータ3a、3bは、出力軸の動作を検出して、検出された動作を示すフィードバック信号を生成する。フィードバック信号はサーボドライバ2a、2bに出力される。フィードバック信号には、例えば、サーボモータ3a、3bの出力軸の回転位置(角度)についての情報、出力軸の回転速度についての情報、出力軸の回転方向についての情報等の出力軸の変位に係る情報が含まれる。サーボモータ3a、3bは、「モータ」の一例である。
【0019】
なお、PLC1、サーボドライバ2a、2bは、図示しない時刻サーバによって、時刻同期がされている。時刻サーバとしては、例えば、Network Time Protocol(NTP)サーバである。
【0020】
図2は、PLC1が有する機能部の概略構成を示す図である。PLC1は、演算装置、
記憶装置等を有するコンピュータとみなすことができる。
図2に示す機能部は、PLC1において所定のプログラム等が実行されることで実現される。PLC1は、指令部11、取得部12及び出力部13を有するが、これら以外の機能部を有していても構わない。
【0021】
指令部11は、サーボモータ3a及びサーボモータ3bを駆動させる指令信号をサーボドライバ2aに対して出力する。指令信号は、例えば、動作開始時刻の指定、サーボモータ3a、3bの出力軸の回転速度、回転方向、回転量等の指定を含む。動作開始時刻は、例えば、PLC1のユーザによって指定される。
【0022】
取得部12は、サーボドライバ2aからの通知を取得する。通知は、例えば、動作開始時刻に指令信号にしたがった処理を実行できなかった場合のエラー通知を挙げることができる。出力部13は、サーボドライバ2aからのエラー通知が取得部12によって受信されると、当該エラー通知を出力する。当該エラー通知の出力としては、例えば、ディスプレイへの表示、メール送信、プリンタによる出力、警報音の出力等を挙げることができる。
【0023】
図3は、サーボドライバ2aが有する機能部の概略構成を示す図である。サーボドライバ2aは、演算装置、記憶装置等を有するコンピュータとみなすことができる。
図3に示す機能部は、サーボドライバ2aにおいて所定のプログラム等が実行されることで実現される。サーボドライバ2aは、受信部21、判定部22、ドライバ間指令部23、制御部24、通知部25及び記憶部26を有するが、これら以外の機能部を有していても構わない。
【0024】
受信部21は、PLC1からの指令信号を産業用ネットワークN1を介して受信する。判定部22は、受信部21による指令信号の受信時刻から受信された指令信号に含まれる動作開始時刻までの時間が、所定のオフセット以上であるか否かを判定する。ここで、所定のオフセットは、指令信号を受信してからサーボモータ3a、3bの駆動開始するまでに要する時間を基に適宜決定される。受信部21は、「受信部」及び「第1の受信部」の一例である。
【0025】
ドライバ間指令部23は、判定部22によって上記受信時刻から上記動作開始時刻までの時間が所定のオフセット以上であると判定された指令信号について、当該指令信号に含まれる動作開始時刻とサーボモータ3bに対する指令を含むドライバ間指令をサーボドライバ2bに出力する。ドライバ間指令部23は、「ドライバ間指令部」の一例である。
【0026】
制御部24は、判定部22によって上記受信時刻から上記動作開始時刻までの時間が所定のオフセット以上であると判定された指令信号を記憶部26に記憶させる。制御部24は、記憶部26に記憶させた指令信号のうち、現在時刻と動作開始時刻とが一致する指令信号にしたがってサーボモータ3aを駆動する。制御部24は、「制御部」の一例である。所定のオフセットは、「所定の閾値」の一例である。
【0027】
通知部25は、判定部22によって上記受信時刻から上記動作開始時刻までの時間が所定のオフセット未満であると判定された指令信号について、動作開始時刻に指令信号にしたがった制御を実行できないとのエラー通知を、PLC1に対して産業用ネットワークN1を介して出力する。通知部25は、「通知部」の一例である。
【0028】
記憶部26は、例えば、PLC1から受信した指令信号や、受信部21、判定部22、ドライバ間指令部23、制御部24、通知部25の処理に用いられる各種データ等が記憶される。記憶部26は、例えば、EEPROMである。
【0029】
図4は、サーボドライバ2bが有する機能部の概略構成を示す図である。サーボドライバ2bは、演算装置、記憶装置等を有するコンピュータとみなすことができる。
図4に示す機能部は、サーボドライバ2bにおいて所定のプログラム等が実行されることで実現される。サーボドライバ2bは、受信部221、制御部222及び記憶部223を有するが、これら以外の機能部を有していても構わない。
【0030】
受信部221は、ドライバ間通信線N2を介してサーボドライバ2aからのドライバ間指令を受信する。受信部221は、受信したドライバ間指令を記憶部223に記憶させる。受信部221は、「第2の受信部」の一例である。
【0031】
制御部222は、記憶部223に記憶されたドライバ間指令のうち、現在時刻と動作開始時刻とが一致するドライバ間指令を実行する。制御部222は、「第2の制御部」の一例である。
【0032】
記憶部223は、例えば、サーボドライバ2aから受信したドライバ間指令や、受信部221及び記憶部223で実効される処理に用いられる各種データ等が記憶される。記憶部223は、例えば、EEPROMである。
【0033】
図5は、実施形態に係るサーボシステム100による動作開始時刻を指定した指令信号にしたがった制御を模式的に示す第1の図である。
図5では、サーボドライバ2a、2bの夫々について、時間軸tにおいて左から右に時間が経過するものとする。サーボドライバ2aは、受信時刻T1において、PLC1からの指令信号を受信する。そして、PLC1からの指令信号では動作開始時刻として、図中の動作開始時刻T3が指定されている。
【0034】
サーボドライバ2aは、受信時刻T1において、PLC1からの指令信号を受信する。指令信号を受信したサーボドライバ2aでは、判定部22による判定が行われる。
図5の例では、判定部22による判定によって、受信時刻T1から動作開始時刻T3までの時間が所定のオフセット以上であると判定されるものとする。そのため、ドライバ間指令部23は、PLC1から受信した指令信号に含まれる動作開始時刻とサーボモータ3bに対する指令を含むドライバ間指令をサーボドライバ2bに出力する。
【0035】
サーボドライバ2bは、受信時刻T2において、サーボドライバ2aからのドライバ間指令を受信する。サーボドライバ2aは、現在時刻が動作開始時刻T3になると、PLC1から受信した指令信号にしたがってサーボモータ3aを駆動する。また、サーボドライバ2bは現在時刻がT3になると、サーボドライバ2aから受信したドライバ間指令にしたがってサーボモータ3bを駆動する。
図5では、サーボモータ3aの駆動を台形R1によって模式的に示し、サーボモータ3bの駆動を台形R2によって模式的に示す。
図5を参照すると、サーボモータ3aとサーボモータ3bとが同期して駆動されていることが理解できる。
【0036】
図6は、実施形態に係るサーボシステム100による動作開始時刻を指定した指令信号にしたがった制御を模式的に示す第2の図である。
図6では、
図5と同様に、サーボドライバ2a、2bの夫々について、時間軸tにおいて左から右に時間が経過するものとする。サーボドライバ2aは、受信時刻T5において、PLC1からの指令信号を受信する。そして、PLC1からの指令信号では動作開始時刻として、動作開始時刻T4が指定されている。
【0037】
指令信号を受信したサーボドライバ2aでは、判定部22による判定が行われる。
図6の例では、判定部22による判定によって、受信時刻T5から動作開始時刻T4までの時間が所定のオフセット未満であると判定されるものとする。そのため、サーボドライバ2
aの通知部25は、動作開始時刻T4に指令信号にしたがった制御を実行できない旨の通知をPLC1に対して出力する。
【0038】
図7は、実施形態におけるサーボドライバ2aの処理フローの一例を示す図である。以下、
図7を参照して、サーボドライバ2aの処理フローの一例について説明する。
【0039】
S1では、受信部21は、PLC1から指令信号を受信する。S2では、判定部22は、S1で受信した指令信号で指定された動作開始時刻が、S1で指令信号を受信した受信時刻より後か否かを判定する。後の場合(S2でYES)、処理はS3に進められる。後ではない場合(S2でNO)、処理はS6に進められる。
【0040】
S3では、ドライバ間指令部23は、S1で受信した指令信号に含まれる動作開始時刻とサーボモータ3bに対する指令を含むドライバ間指令をサーボドライバ2bに出力する。
【0041】
S4では、制御部24は、現在時刻が動作開始時刻であるか否かを判定する。動作開始時刻である場合(S4でYES)、処理はS5に進められる。動作開始時刻ではない場合(S4でNO)、S4の処理が繰り返されることで、動作開始時刻まで待機となる。
【0042】
S5では、制御部24は、S1で受信した指令信号にしたがってサーボモータ3aを駆動する。S6では、通知部25は、動作開始時刻に指令信号にしたがった制御を実行できない旨、PLC1に対して通知する。
【0043】
図8は、実施形態におけるサーボドライバ2bの処理フローの一例を示す図である。以下、
図8を参照して、サーボドライバ2bの処理フローの一例について説明する。
【0044】
S11では、受信部221は、サーボドライバ2aからドライバ間指令を受信する。S12では、制御部222は、現在時刻が動作開始時刻であるか否かを判定する。動作開始時刻である場合(S12でYES)、処理はS13に進められる。動作開始時刻ではない場合(S12でNO)、S12の処理が繰り返されることで、動作開始時刻まで待機となる。
【0045】
S13では、制御部222は、S11で受信したドライバ間指令にしたがってサーボモータ3bを駆動する。
【0046】
本実施形態では、PLC1からの指令にはサーボモータ3a、3bの駆動を開始させる動作開始時刻が含まれる。そして、サーボドライバ2a、2bは、指定された動作開始時刻になると、受信した指令にしたがってサーボモータ3a、3bを駆動する。そのため、同期通信を利用した制御プログラムの構築を行わなくとも、サーボモータ3a、3bを同期させて駆動することができる。
【0047】
本実施形態では、PLC1からの指令を受信した受信時刻が、当該指令で指定された動作開始時刻を過ぎている場合には、通知部25がその旨、PLC1に通知する。そのため、PLC1は、指令の再送を行ったり、指令が実行されなかったことをユーザに通知したりする等の対応策を実行することができる。
【0048】
<第1変形例>
実施形態では、サーボドライバ2aとサーボドライバ2bとに対して、同じ時刻で指令を実行させる例について説明した。第1変形例では、サーボドライバ2aとサーボドライバ2bの夫々に対して個別の開始時間を指定して指令を実行させる例について説明する。
実施形態と同一の構成については同一の符号を付し、その説明を省略する。以下、図面を参照して、第1変形例にについて説明する。
【0049】
図9は、第1変形例に係るサーボシステム100aの一例を示す図である。サーボシステム100aは、ねじ軸4aとねじ軸4bとが直交するように配置される点で、サーボシステム100とは異なる。
【0050】
サーボシステム100aでは、ねじ軸4a上に、ねじ軸4aとねじ軸4bとが機械的に接続される。サーボモータ3aが駆動されることで、ねじ軸4aの軸方向にそって、ねじ軸4bが移動する。また、サーボモータ3bが駆動されることで、ねじ軸4bの軸方向に沿って精密ステージ5bが移動する。
【0051】
サーボシステム100aでは、PLC1からの指令では、サーボドライバ2a、2bの夫々に対して動作開始時刻が指定される。すなわち、サーボシステム100aでは、PLC1からの指令信号には、サーボドライバ2aに対する動作開始時刻とサーボモータ3aを駆動させる指令及びサーボドライバ2bに対する動作開始時刻とサーボモータ3bを駆動させる指令が含まれる。
【0052】
図10は、第1変形例に係るサーボシステム100aによる動作開始時刻を指定信号にしたがった制御を模式的に示す図である。
図10では、サーボドライバ2a、2bの夫々について、時間軸tにおいて左から右に時間が経過するものとする。サーボドライバ2aは、受信時刻T6において、PLC1からの指令信号を受信する。そして、PLC1からの指令信号では、サーボモータ3aの動作開始時刻として、図中の動作開始時刻T8が指定されている。また、PLC1からの指令信号では、サーボモータ3bの動作開始時刻として、図中の動作開始時刻T9が指定されている。
【0053】
サーボドライバ2aは、受信時刻T6において、PLC1からの指令信号を受信する。指令信号を受信したサーボドライバ2aでは、判定部22による判定が行われる。
図10の例では判定部22による判定によって受信時刻T6が動作開始時刻T8及び動作開始時刻T9のいずれをも過ぎていないと判定されるので、ドライバ間指令部23は、PLC1から受信した指令信号に含まれるサーボモータ3bの動作開始時刻とサーボモータ3bに対する指令を含むドライバ間指令をサーボドライバ2bに出力する。
【0054】
サーボドライバ2aは、受信時刻T7において、サーボドライバ2aからのドライバ間指令を受信する。サーボドライバ2aは、現在時刻が動作開始時刻T8になると、PLC1から受信した指令信号にしたがってサーボモータ3aを駆動する。また、サーボドライバ2bは現在時刻がT9になると、サーボドライバ2aから受信したドライバ間指令にしたがってサーボモータ3bを駆動する。
図10では、サーボモータ3aの駆動を台形R3によって模式的に示し、サーボモータ3bの駆動を台形R4によって模式的に示す。
図10を参照すると、サーボモータ3aとサーボモータ3bとが互いに異なる時間に駆動されていることが理解できる。
【0055】
第1変形例では、サーボモータ3a及びサーボモータ3bに対して互いに異なる動作開始時刻を指定して動作させることができる。また、サーボモータ3a及びサーボモータ3bの夫々に動作開始時刻を指定することで、複数の処理を続けて実行するシーケンス処理を実現することもできる。
【0056】
<第2変形例>
以上説明した実施形態及び第1変形例では、複数軸が駆動されるサーボシステムが例示されたが、単軸のサーボシステムにも開示の技術は適用可能である。第2変形例では、単
軸のサーボシステムによる例について説明する。
【0057】
図11は、第2変形例に係るサーボシステム100bの一例を示す図である。サーボシステム100bは、PLC1、サーボドライバ2a、サーボモータ3a、ねじ軸4a、精密ステージ5a及び産業用ネットワークN1を備える。換言すれば、サーボシステム100bは、サーボシステム100からサーボドライバ2b、サーボモータ3b、ねじ軸4b、精密ステージ5b、テーブル6、ドライバ間通信線N2を外すことで、単軸のサーボシステムとしたものということができる。
【0058】
図12は、第2変形例に係るサーボシステム100bによる動作開始時刻を指定した指令信号にしたがった制御を模式的に示す図である。
図12では、サーボドライバ2aについて、時間軸tにおいて左から右に時間が経過するものとする。サーボドライバ2aは、受信時刻T10において、PLC1からの指令信号を受信する。
【0059】
PLC1からの指令信号では、サーボモータ3aの動作開始時刻として、図中の動作開始時刻T11及びT12が指定されている。PLC1からの指令信号は、動作開始時刻T11におけるサーボモータ3aの出力軸の回転速度、回転方向、回転量等のサーボモータ3aの駆動に係る指令と、動作開始時刻T12におけるサーボモータ3aの出力軸の回転速度、回転方向、回転量等のサーボモータ3aの駆動に係る指令と、を含む。また
図12では、サーボモータ3aの駆動を台形R5、R6によって模式的に示す。動作開始時刻T11は、「第1の動作開始時刻」の一例である。動作開始時刻T12は、「第2の動作開始時刻」の一例である。
【0060】
第2変形例では、指令信号には、複数の動作開始時刻と、複数の動作開始時刻の夫々についてサーボモータ3aの駆動に係る指令が含まれる。サーボドライバ2aは、このような指令信号にしたがってサーボモータ3aを駆動することで、指定された時刻にサーボモータ3aを指令信号にしたがった動作で駆動することができる。
【0061】
<第3変形例>
PLC1から複数の指令信号が出力された場合、複数の指令信号のうちの第1の指令信号にしたがった制御を実行中の時間が、後続の第2の指令信号の動作開始時間として指定されることも考えられる。第3変形例では、このような場合の処理について説明する。
【0062】
図13は、第3変形例において動作開始時刻を指定した複数の指令信号の夫々にしたがった制御を模式的に示す図である。
図13では、サーボドライバ2aについて、時間軸tにおいて左から右に時間が経過するものとする。サーボドライバ2aは、台形R7によって制御が模式的に示される第1の指令信号と、台形R8によって模式的に制御が示される第2の指令信号を受信済み(記憶部26に記憶済み)であるものとする。
【0063】
図13において台形R7と台形R8とが重なることで例示されるように、第1の指令信号にしたがった制御が行われている期間と、第2の指令信号にしたがった制御が行われる期間が重なっている。このような場合、サーボドライバ2aは、第2の指令信号にしたがった制御を行うことはできないため、制御部24は第2の指令信号にしたがった制御を禁止する。さらに、通知部25はPLC1に対してエラーを通知する。
【0064】
図14は、第3変形例における処理フローの一例を示す図である。以下、
図14を参照して、第3変形例における処理フローの一例について説明する。
【0065】
S21では、制御部24は、記憶部26に記憶された指令信号のうち、現在時刻が動作開始時刻と一致した第1の指令信号にしたがった制御を実行する。
【0066】
S22では、制御部24は、S21で実行した第1の指令信号の次に実行する予定の第2の指令信号を特定する。制御部24は、特定した第2の指令信号の動作開始時刻を取得する。
【0067】
S23では、制御部24は、S22で取得した動作開始時刻が、受信部21で実行した第1の指令信号にしたがった制御の終了前であるか否かを判定する。第1の指令信号にしたがった制御の終了する時刻は、第1の指令信号で指定される動作開始時刻と、第1の指令信号で指定される制御に要する時間とで算出することができる。また、第1の指令信号で指定される制御に要する時間は、例えば、第1の指令信号で指定される出力軸の回転速度と回転量とから算出することができる。S22で取得した動作開始時刻が、受信部21で実行した第1の指令信号にしたがった制御の終了前である場合(S23でYES)、処理はS25に進められる。S22で取得した動作開始時刻が、受信部21で実行した第1の指令信号にしたがった制御の終了後である場合(S23でNO)、処理はS24に進められる。
【0068】
S24では、制御部24は、第2の指令信号の動作開始時刻になると、第2の指令信号にしたがった制御を実行する。S25では、通知部25は、第2の指令信号を実行できないことについてのエラー通知をPLC1に対して出力する。
【0069】
第3変形例によれば、実行中の制御と重なる時間が指定された後続の指令信号にしたがった制御を禁止することができる。そのため、第3変形例によれば、第1の指令信号にしたがった制御が中断されて第2の指令信号にしたがった制御が実行されるようなことを抑制することができる。
【0070】
<第4変形例>
以上説明した実施形態及び変形例では、予め決定された「所定のオフセット」が用いられた。第4変形例では、サーボシステム100における通信に要する時間を基に所定のオフセットを算出する方法について説明する。
【0071】
図15は、第4変形例に係るサーボシステム100cの一例を示す図である。サーボシステム100cは、サーボドライバ2bも産業用ネットワークN1によってPLC1と接続される点で、サーボシステム100とは異なる。PLC1とサーボドライバ2bとが産業用ネットワークN1で接続されることで、PLC1は、サーボドライバ2aを介さずにサーボドライバ2bに対する指令信号を出力できる。
【0072】
図16は、第4変形例における所定のオフセットの算出方法の一例を示すシーケンス図である。以下、
図16を参照して、第4変形例における所定のオフセットの算出方法について説明する。
【0073】
F1では、PLC1は、サーボドライバ2aに対し調整信号を送信する。調整信号には、PLC1からの送信時間が含まれる。
【0074】
F2では、F1で送信された調整信号を受信したサーボドライバ2aは、調整信号の受信時刻と調整信号に含まれる送信時刻の差分を算出する。F3では、サーボドライバ2aは、F2で算出した差分をPLC1に通知する。
【0075】
F4では、PLC1は、サーボドライバ2bに対し調整信号を送信する。調整信号には、PLC1からの送信時間が含まれる。
【0076】
F5では、F4で送信された調整信号を受信したサーボドライバ2bは、調整信号の受信時刻と調整信号に含まれる送信時刻の差分を算出する。F6では、サーボドライバ2bは、F5で算出した差分をPLC1に通知する。
【0077】
F7では、PLC1は、F3でサーボドライバ2aから受信した差分と、F6でサーボドライバ2bから受信した差分のうち、大きい方の差分をオフセットとして決定する。F8では、PLC1は、F7で決定したオフセットをサーボドライバ2aに対し送信する。F9では、サーボドライバ2aは、PLC1から受信したオフセットを設定する。
【0078】
F10では、PLC1は、F7で決定したオフセットをサーボドライバ2bに対し送信する。F11では、サーボドライバ2bは、PLC1から受信したオフセットを設定する。
【0079】
第4変形例によれば、調整信号の送信時刻とサーボドライバ2a、2bが当該調整信号を受信した受信時刻との差分を基にオフセットが決定される。そのため、第4変形例によれば、PLC1、サーボドライバ2a、2b間における通信に要する時間を基にオフセットを決定することができる。
【0080】
<その他の変形>
以上説明した実施形態及び変形例では、サーボモータ3a、3bを指定された動作開始時刻に駆動させることで、テーブル6や精密ステージ5a、5bが移動された。しかしながら、実施形態に係る技術は、テーブル6や精密ステージ5a、5bが移動に限定されるわけではない。本実施形態では、例えば、動作開始時刻を指定することで、サーボモータ3a、3bにおける周波数特性を取得するための信号を同期させてもよい。
【0081】
以上説明した実施形態及び変形例では、ドライバ間指令を受信した受信時刻から動作開始時刻までの時間が所定のオフセット以上であるか否かの判定はサーボドライバ2bでは行われなかったが、サーボドライバ2bによってこのような判定が行われてもよい。そして、サーボドライバ2bは、ドライバ間指令を受信すると、ドライバ間指令を受信した受信時刻からドライバ間指令で指定された動作開始時刻までの時間が所定のオフセット以上である場合に、ドライバ間指令にしたがった制御を実行すればよい。また、サーボドライバ2bは、ドライバ間指令を受信した受信時刻からドライバ間指令で指定された動作開始時刻までの時間が所定のオフセット以上である場合に、PLC1に対してエラーを通知してもよい。そして、PLC1は、サーボドライバ2a、2bのいずれか一方のサーボドライバからエラーを通知されると、サーボドライバ2a、2bの他方のサーボドライバに対して、指令信号にしたがった制御の中止を指示してもよい。
【0082】
以上説明した実施形態では、サーボシステム100はPLC1によって制御されるいわゆるサーボシステムであるが、本実施形態に係る技術の適用対象がサーボシステムに限定されるわけではない。本実施形態に係る技術の適用対象は、例えば、エンコーダからのフィードバックによる制御が不要なドライブシステム(ステッピングモータ等の制御)でもよい。
【0083】
以上説明した実施形態及び変形例は組み合わせることができる。
【0084】
<付記1>
上位装置(1)から動作開始時刻の指定及びモータ(3a)の制御に係る制御指令を含む指令信号を受信する受信部(21)と、
前記受信時刻から前記動作開始時刻までの時間が所定の閾値以上である場合には、前記動作開始時刻になると、前記制御指令にしたがって前記モータ(3a)を制御する制御部
(24)と、
前記受信時刻から前記動作開始時刻までの時間が前記所定の閾値未満である場合には、前記上位装置にエラーを通知する通知部(25)と、を備える、
ドライバ(2a)。
【0085】
<付記2>
第1のモータ(3a)を制御する第1のドライバ(2a)と、
第2のモータ(3b)を制御する第2のドライバ(2b)と、
動作開始時刻の指定及び前記第1のモータの制御に係る第1の制御指令及び前記第2のモータの制御に係る第2の制御指令を含む指令信号を出力する上位装置(1)と、を備え、
前記第1のドライバ(2a)は、
前記上位装置(1)から前記指令信号を受信する第1の受信部(21)と、
前記受信時刻から前記動作開始時刻までの時間が所定の閾値以上である場合に、前記動作開始時刻の指定及び前記第2の制御指令を含むドライバ間指令を前記第2のドライバ(2b)に出力するドライバ間指令部(23)と、
前記受信時刻から前記動作開始時刻までの時間が前記所定の閾値以上である場合には、前記動作開始時刻になると、前記第1の制御指令にしたがって前記第1のモータ(3a)を制御する第1の制御部(24)と、
前記受信時刻から前記動作開始時刻までの時間が前記所定の閾値未満である場合には、前記上位装置にエラーを通知する通知部(25)と、を含み、
前記第2のドライバ(2b)は、
前記第1のドライバ(2a)から前記ドライバ間指令を受信する第2の受信部(221)と、
前記動作開始時刻になると、前記ドライバ間指令に含まれる前記第2の制御指令にしたがって前記第2のモータ(3b)を制御する第2の制御部(222)と、を含む、
ドライブシステム(100)。
【符号の説明】
【0086】
1・・PLC
2a・・サーボドライバ
2b・・サーボドライバ
3a・・サーボモータ
3b・・サーボモータ
4・・ねじ軸
4a・・ねじ軸
4b・・ねじ軸
5a・・精密ステージ
5b・・精密ステージ
6・・テーブル
11・・指令部
12・・取得部
13・・出力部
21・・受信部
22・・判定部
23・・ドライバ間指令部
24・・制御部
25・・通知部
26・・記憶部
100・・サーボシステム
100a・・サーボシステム
100b・・サーボシステム
221・・受信部
222・・制御部
223・・記憶部
N1・・産業用ネットワーク
N2・・ドライバ間通信線