JP2017163758A - モータ制御装置、制御方法、情報処理プログラム、および記録媒体 - Google Patents

モータ制御装置、制御方法、情報処理プログラム、および記録媒体 Download PDF

Info

Publication number
JP2017163758A
JP2017163758A JP2016047563A JP2016047563A JP2017163758A JP 2017163758 A JP2017163758 A JP 2017163758A JP 2016047563 A JP2016047563 A JP 2016047563A JP 2016047563 A JP2016047563 A JP 2016047563A JP 2017163758 A JP2017163758 A JP 2017163758A
Authority
JP
Japan
Prior art keywords
control
command
motor
unit
control command
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.)
Granted
Application number
JP2016047563A
Other languages
English (en)
Other versions
JP6443365B2 (ja
Inventor
孝雄 牛山
Takao Ushiyama
孝雄 牛山
聖 山脇
Sei Yamawaki
聖 山脇
貴也 北野
Takaya Kitano
貴也 北野
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2016047563A priority Critical patent/JP6443365B2/ja
Priority to US15/384,246 priority patent/US10649426B2/en
Priority to EP16205047.0A priority patent/EP3217237B1/en
Priority to CN201611190597.6A priority patent/CN107181433B/zh
Publication of JP2017163758A publication Critical patent/JP2017163758A/ja
Application granted granted Critical
Publication of JP6443365B2 publication Critical patent/JP6443365B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0421Multiprocessor system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P7/00Arrangements for regulating or controlling the speed or torque of electric DC motors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4144Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by using multiplexing for control system
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P29/00Arrangements for regulating or controlling electric motors, appropriate for both AC and DC motors
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P29/00Arrangements for regulating or controlling electric motors, appropriate for both AC and DC motors
    • H02P29/02Providing protection against overload without automatic interruption of supply
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34231Interface controls either dc, ac or step motors

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Power Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Programmable Controllers (AREA)
  • Control Of Electric Motors In General (AREA)

Abstract

【課題】モータを駆動させる複数の制御指示を非リアルタイム通信で取得した場合であっても、モータの駆動を安定させる。【解決手段】サーボドライバ(10)は、一のインタフェースを介して非リアルタイム通信で取得した制御コマンドに対応する処理の実行中に、他のインタフェースから非リアルタイム通信で他の制御コマンドを取得すると、他の制御コマンドに対応する処理を実行しない。【選択図】図1

Description

本発明は、サーボモータなどのモータの駆動を制御する制御装置に関する。
従来、非リアルタイム通信で取得した制御指示に対応する処理を実行可能なサーボドライバが知られている。また、そのようなサーボドライバと種々の外部装置とが通信を行う、サーボモータの制御システムが知られている。
例えば、下掲の特許文献1には、モータ制御機器と、当該モータ制御機器のモータ駆動状況の表示等を行うモータ制御機器用コンソールと、が通信を行う制御システムが開示されている。また、特許文献2には、サーボモータドライバと、PLC(Programmable Logic Controller)サポート装置などの外部の情報処理装置が接続されたPLCと、がネットワークを介して通信を行う制御システムが開示されている。すなわち、複数の通信インタフェースを備えるサーボドライバが知られている。
特開2004−312894号公報(2004年11月4日公開) 特開2015−176319号公報(2015年10月5日公開)
しかしながら、上述のような従来技術は、サーボドライバが、複数の通信インタフェースの各々を介した非リアルタイム通信で、複数の制御コマンドを取得した場合、これら複数の制御コマンドが競合し、モータの駆動が不安定になり得るという問題がある。例えば、複数の制御コマンドがモータを駆動させる命令を含む場合、前記従来の技術では、モータを駆動させるこれらの命令同士が競合し、モータが不安定な挙動を示す可能性があった。また、例えば、一の制御コマンドに基づいてモータが駆動しているときに、他の制御コマンドに基づいてサーボドライバの制御パラメータの書き換えが行われた場合に、モータの挙動が不安定になる可能性があった。
本発明は、前記の問題点に鑑みてなされたものであり、その目的は、複数の制御コマンドを非リアルタイム通信で取得した場合であっても、モータの駆動が不安定になることのない、モータ制御装置等を実現することにある。
上記の課題を解決するために、本発明に係るモータ制御装置は、外部機器からの制御指示に対応する処理を実行するモータ制御装置であって、前記制御指示が入力される複数のインタフェースと、前記制御指示に対応する処理を実行する制御部と、を備え、前記制御部は、前記複数のインタフェースの各々を介して前記制御指示を取得する取得部と、前記取得部が取得した制御指示のうち、非リアルタイム通信で取得した制御指示である制御コマンドに対応する処理を実行するコマンド処理部と、前記取得部が一の前記インタフェースを介して取得した所定の制御コマンドに対応する処理を前記コマンド処理部が実行しているときに、前記取得部が他の前記インタフェースから他の制御コマンドを取得すると、前記コマンド処理部が前記他の制御コマンドに対応する処理を実行するのを制限する排他動作を行う排他制限部と、を含むことを特徴としている。
前記の構成によれば、前記排他制限部は、前記非リアルタイム通信で取得された前記所定の制御コマンドに対応する処理を前記コマンド処理部が実行しているときに、前記取得部が他の前記インタフェースから前記他の制御コマンドを取得すると、前記コマンド処理部が前記他の制御コマンドに対応する処理を実行するのを制限する排他動作を行う。
したがって、前記モータ制御装置は、複数の前記制御コマンドを、前記複数のインタフェースの各々を介して前記非リアルタイム通信により順次取得した場合であっても、モータを安定的に駆動させることができるという効果を奏する。例えば、前記モータ制御装置は、前記複数のインタフェースの各々を介して順次取得した複数の制御コマンドが競合した場合であっても、モータの挙動が不安定となることを防止できるという効果を奏する。
本発明に係るモータ制御装置について、前記コマンド処理部が実行している処理に対応する前記所定の制御コマンドは、モータの駆動を制御する命令を含んでいてもよい。
前記の構成によれば、前記排他制限部は、前記モータの駆動を制御する命令を含む前記所定の制御コマンドに対応する処理を前記コマンド処理部が実行しているときに、前記取得部が他の前記インタフェースから前記他の制御コマンドを取得すると、前記コマンド処理部が前記他の制御コマンドに対応する処理を実行するのを制限する排他動作を行う。
したがって、前記モータ制御装置は、前記モータの駆動を制御する命令を含む前記所定の制御コマンドに対応する処理を実行していると、他の前記インタフェースから取得した前記他の制御コマンドに対応する処理を実行するのを制限する排他動作を行うので、前記モータの挙動が不安定となることを防止することができるという効果を奏する。
本発明に係るモータ制御装置について、前記他の制御コマンドは、前記モータの駆動を制御する命令を含んでいてもよい。
前記の構成によれば、前記排他制限部は、前記非リアルタイム通信で取得された前記所定の制御コマンドに対応する処理を前記コマンド処理部が実行しているときに、前記モータの駆動を制御する命令を含む前記他の制御コマンドを前記取得部が他の前記インタフェースから取得すると、前記コマンド処理部が前記他の制御コマンドに対応する処理を実行するのを制限する排他動作を行う。
したがって、前記モータ制御装置は、前記所定の制御コマンドに対応する処理を実行している場合、前記モータの駆動を制御する命令を含む前記他の制御コマンドに対応する処理を実行するのを制限するので、モータの挙動が不安定となることを防止することができるという効果を奏する。
本発明に係るモータ制御装置について、前記排他制限部は、前記コマンド処理部が実行している処理に対応する前記所定の制御コマンドと、前記他の制御コマンドと、の少なくとも一方が、モータの駆動を制御する命令を含んでいない場合には、前記排他動作を行わなくともよい。
前記の構成によれば、前記排他制限部は、前記コマンド処理部が実行している処理に対応する前記所定の制御コマンドと、前記他の制御コマンドと、の少なくとも一方が、前記モータの駆動を制御する命令を含んでいない場合には、前記排他動作を行わない。
したがって、前記モータ制御装置は、前記モータを駆動させる処理を実行しつつ、駆動させている前記モータから取得する物理量データのデータ項目、および取得条件の設定などの、前記モータの駆動を制御する命令を含んでいない制御指示(制御コマンド)に対応する処理を実行することができるという効果を奏する。また、前記モータ制御装置は、駆動させる前記モータから取得する物理量データのデータ項目、および取得条件の設定などの、前記モータの駆動を制御する命令を含んでいない制御指示(制御コマンド)に対応する処理を実行しつつ、前記モータを駆動させる処理を実行することができるという効果を奏する。つまり、前記モータ制御装置は、例えば、多軸のパラメータについての調整を実行しつつ、単軸の試運転動作を実行することができるという効果を奏する。
本発明に係るモータ制御装置について、前記複数のインタフェースは、自装置とネットワークを介して通信可能に接続される前記外部機器である上位コントローラからの前記制御指示が入力される第1通信インタフェースと、前記ネットワークに接続していない前記外部機器である外部装置からの前記制御指示が入力される第2通信インタフェースと、を含み、前記取得部は、前記第1通信インタフェースおよび前記第2通信インタフェースの少なくとも一方を介した前記非リアルタイム通信で、前記制御指示を取得してもよい。
前記の構成によれば、前記モータ制御装置は、前記第1通信インタフェースおよび前記第2通信インタフェースの少なくとも一方を介した非リアルタイム通信で取得した制御指示(制御コマンド)に対応する処理を、モータの駆動を不安定にすることなく、実行することができるという効果を奏する。
本発明に係るモータ制御装置について、前記取得部は、前記第1通信インタフェースを介して取得した前記制御指示と、前記第2通信インタフェースを介して取得した前記制御指示と、を区別してもよい。
前記の構成によれば、前記モータ制御装置は、前記第1通信インタフェースを介して取得した前記制御指示(制御コマンド)と、前記第2通信インタフェースを介して取得した前記制御指示(制御コマンド)と、を区別することができるという効果を奏する。
本発明に係るモータ制御装置について、前記コマンド処理部が実行している処理に対応する前記所定の制御コマンドは、前記排他制限部に前記排他動作を開始させる命令と、前記排他制限部に前記排他動作を終了させる命令とを含み、前記排他制限部は、前記取得部が前記所定の制御コマンドに含まれている前記排他動作を開始させる命令を取得すると、前記排他動作を開始し、前記取得部が前記所定の制御コマンドに含まれている前記排他動作を終了させる命令を取得すると、前記排他動作を終了してもよい。
前記の構成によれば、前記排他制限部は、前記取得部が前記排他動作を開始させる命令を取得すると前記排他動作を開始し、前記取得部が前記排他動作を終了させる命令を取得すると前記排他動作を終了する。
したがって、前記モータ制御装置は、前記排他動作を開始させる命令を取得することにより開始した前記排他動作を、前記排他動作を終了させる命令を取得することにより、終了することができるという効果を奏する。
本発明に係るモータ制御装置について、前記コマンド処理部が実行している処理に対応する前記所定の制御コマンドを前記取得部が取得してから所定時間が経過すると、前記排他制限部は前記排他動作を終了してもよい。
前記の構成によれば、前記排他制限部は、前記コマンド処理部が実行している処理に対応する前記所定の制御コマンドを前記取得部が取得してから所定時間が経過すると、前記排他動作を終了する。
したがって、前記モータ制御装置は、実行中の処理に対応する前記所定の制御コマンドを取得してから所定時間が経過すると、前記排他動作を終了することができるという効果を奏する。
本発明に係るモータ制御装置について、前記排他制限部は、前記コマンド処理部が前記所定の制御コマンドに対応する処理を実行しているときに、前記取得部が前記複数のインタフェースのうちの1つを介してサイクリック通信で取得した制御指示に対応する処理の実行を制限する排他動作を行ってもよい。
前記の構成によれば、前記排他制限部は、前記非リアルタイム通信で取得した制御コマンドが実行されている間は、前記サイクリック通信で取得された制御指示に対応する処理の実行を制限する。
したがって、前記モータ制御装置は、前記非リアルタイム通信で取得した制御コマンドに対応する処理を実行している間に、前記サイクリック通信で前記制御指示を取得した場合であっても、前記モータを安定的に駆動させることができるという効果を奏する。
本発明に係るモータ制御装置について、前記排他制限部は、自装置がモータへの通電を行っていない状態で前記取得部が一の前記インタフェースを介して前記所定の制御コマンドを取得すると、その後に前記取得部が他の前記インタフェースから取得した前記他の制御コマンドに対応する処理を前記コマンド処理部が実行するのを制限する排他動作を行ってもよい。
前記の構成によれば、前記排他制限部は、自装置が前記モータへの通電を行っていない状態で前記取得部が一の前記インタフェースを介して前記所定の制御コマンドを取得すると、その後に前記取得部が他の前記インタフェースから取得した前記他の制御コマンドに対応する処理を前記コマンド処理部が実行するのを制限する排他動作を行う。
したがって、前記モータ制御装置は、自装置が前記モータへの通電を行っていない状態で一の前記インタフェースを介して前記所定の制御コマンドを取得すると、その後に他の前記インタフェースから取得した前記他の制御コマンドに対応する処理を実行するのを制限することができるという効果を奏する。つまり、前記モータ制御装置は、前記モータへの通電中(サーボON時)か否(サーボOFF時)かに応じて排他動作の実行要否を決定し、具体的には、前記モータへ通電していない(サーボOFF)ときに前記排他動作を行うことができるという効果を奏する。
ここで、モータ通電中(サーボON時)において前記モータは、実際に駆動している状態、または、実際に駆動する事前動作状態にあり、手で軸を動かしても回らない状態にある。したがって、「モータ通電中でない状態」、すなわち、前記モータが駆動していない(または、駆動される事前動作状態でない)状態(つまり、手で軸を動かすと回る状態)で、一の前記インタフェースから制御コマンドを取得したとき、他の前記インタフェースからの制御コマンドに対応する処理の実行を排他する排他動作を行うことができるという効果を奏する。
本発明に係るモータ制御装置について、前記排他制限部は、モータの駆動が停止している状態で前記取得部が一の前記インタフェースを介して前記所定の制御コマンドを取得すると、その後に前記取得部が他の前記インタフェースから取得した前記他の制御コマンドに対応する処理を前記コマンド処理部が実行するのを制限する排他動作を行ってもよい。
前記の構成によれば、前記排他制限部は、前記モータの駆動が停止している状態で前記取得部が一の前記インタフェースを介して前記所定の制御コマンドを取得すると、その後に前記取得部が他の前記インタフェースから取得した前記他の制御コマンドに対応する処理を前記コマンド処理部が実行するのを制限する排他動作を行う。
したがって、前記モータ制御装置は、前記モータの駆動が停止している状態で一の前記インタフェースを介して前記所定の制御コマンドを取得すると、その後に他の前記インタフェースから取得した前記他の制御コマンドに対応する処理を実行するのを制限することができるという効果を奏する。つまり、前記モータ制御装置は、モータ通電中であっても前記モータが停止中であるときには、一の前記インタフェースから取得した制御コマンドに対応する処理を実行しつつ、他の前記インタフェースから取得した前記他の制御コマンドに対応する処理については実行を制限することができるという効果を奏する。
本発明に係るモータ制御装置について、前記排他制限部は、モータの駆動速度が所定値未満である状態で前記取得部が一の前記インタフェースを介して前記所定の制御コマンドを取得すると、その後に前記取得部が他の前記インタフェースから取得した前記他の制御コマンドに対応する処理を前記コマンド処理部が実行するのを制限する排他動作を行ってもよい。
前記の構成によれば、前記排他制限部は、モータの駆動速度が所定値未満である状態で前記取得部が一の前記インタフェースを介して前記所定の制御コマンドを取得すると、その後に前記取得部が他の前記インタフェースから取得した前記他の制御コマンドに対応する処理を前記コマンド処理部が実行するのを制限する排他動作を行う。
したがって、前記モータ制御装置は、モータの駆動速度が所定値未満である状態で一の前記インタフェースを介して前記所定の制御コマンドを取得すると、その後に他の前記インタフェースから取得した前記他の制御コマンドに対応する処理を実行するのを制限することができるという効果を奏する。
本発明に係るモータ制御装置について、前記排他制限部によって前記排他動作が行われると、前記排他動作が行われたことを示す情報、および、前記コマンド処理部が実行した処理に対応する制御指示の取得元に係る情報の少なくとも一方をユーザに通知する通知部をさらに備えていてもよい。
前記の構成によれば、前記通知部は、前記排他制限部によって前記排他動作が行われると、前記排他動作が行われたことを示す情報、および、前記コマンド処理部が実行した処理に対応する制御指示の取得元に係る情報の少なくとも一方をユーザに通知する。
したがって、前記モータ制御装置は、前記排他動作を行うと、前記排他動作を行ったことを示す情報、および、実行した処理に対応する制御指示の取得元に係る情報の少なくとも一方をユーザに通知することができるという効果を奏する。
上記課題を解決するために、本発明に係る制御方法は、外部機器からの制御指示に対応する処理を実行するモータ制御装置であって、前記制御指示が入力される複数のインタフェースを備えるモータ制御装置の制御方法であって、前記複数のインタフェースの各々を介して前記制御指示を取得する取得ステップと、前記取得ステップにて取得した制御指示のうち、非リアルタイム通信で取得した制御指示である制御コマンドに対応する処理を実行するコマンド処理ステップと、前記取得ステップにて一の前記インタフェースを介して取得した所定の制御コマンドに対応する処理を前記コマンド処理ステップにて実行しているときに、他の前記インタフェースから他の制御コマンドを取得すると、前記他の制御コマンドに対応する処理を実行するのを制限する排他動作を行う排他制限ステップと、を含んでいる。
前記の方法によれば、前記排他制限ステップは、前記非リアルタイム通信で取得された前記所定の制御コマンドに対応する処理を前記コマンド処理ステップにて実行しているときに、前記取得ステップにて他の前記インタフェースから前記他の制御コマンドを取得すると、前記コマンド処理ステップにて前記他の制御コマンドに対応する処理を実行するのを制限する排他動作を行う。
したがって、前記制御方法は、複数の前記制御コマンドを、前記複数のインタフェースの各々を介して前記非リアルタイム通信により順次取得した場合であっても、モータを安定的に駆動させることができるという効果を奏する。例えば、前記制御方法は、前記複数のインタフェースの各々を介して順次取得した複数の制御コマンドが競合した場合であっても、モータの挙動が不安定となることを防止できるという効果を奏する。
本発明は、モータを駆動させる複数の制御指示を非リアルタイム通信で取得した場合であっても、モータの駆動が不安定になることがないという効果を奏する。
本発明の実施形態1に係るサーボドライバの要部構成を示すブロック図である。 本実施形態に係る制御システムの全体概要を示す図である。 図1のサーボドライバの取得するコマンドの階層構造等を説明する図である。 図1のサーボドライバの実行する排他制御処理の概要を説明するための図である。 図1のサーボドライバの実行する排他制御処理の一例を示すシーケンス図である。 図1のサーボドライバによって実行された排他制御処理の実行結果をユーザに通知する情報の一例を示す図である。 図1のサーボドライバとして利用可能なコンピュータの要部構成を例示したブロック図である。
〔実施形態1〕
以下、本発明の実施形態1について、図1から図7に基づいて詳細に説明する。図中同一または相当部分には同一符号を付してその説明は繰返さない。本発明の一態様に係るサーボドライバ10(モータ制御装置)についての理解を容易にするため、先ず、サーボドライバ10を含む制御システム1の概要を、図2を用いて説明する。なお、本発明の一態様に係るモータ制御装置がサーボドライバである例を以下では説明するが、本発明の一態様に係るモータ制御装置がサーボドライバであることは必須ではない。本発明の一態様に係るモータ制御装置としてインバータを使用しても、本発明を適用することができる。
(実施形態1の制御システムの概要)
図2は、サーボドライバ10を含む制御システム1の概要を示す図である。図2に示すように、制御システム1は、サーボドライバ10と、モータ20と、第1サポートツール50と、PLC(プログラマブル・ロジック・コントローラ、Programmable Logic Controller)60と、第2サポートツール70と、を含んでいる。
制御システム1において、サーボドライバ10とモータ20とは専用ケーブルによって接続される。また、第1サポートツール50は、例えばUSB(Universal Serial Bus)ケーブルである通信ケーブル30を介して、サーボドライバ10に接続される。さらに、PLC60はフィールドネットワーク40を介してサーボドライバ10に接続される。第2サポートツール70は、例えばUSBケーブルである通信ケーブル80を介してPLC60に接続される。
PLC60は、モータ20などの制御機器を制御するためのユーザプログラムを実行するプログラマブルコントローラである。PLC60は、制御システム1において、フィールドネットワーク40を介したデータ伝送を管理しているという意味で「マスタ装置」と呼ばれ、一方、サーボドライバ10(および、I/Oスレーブ90)は「スレーブ装置」と呼ばれる。すなわち、制御システム1は、マスタ装置としてのPLC60と、マスタ装置にネットワーク(フィールドネットワーク40)を介して接続される1つ以上のスレーブ装置としてのサーボドライバ10(および、I/Oスレーブ90)とを含むマスタースレーブ制御システムである。フィールドネットワーク40としては、後述のように、例えば、EtherCAT(登録商標)を使用することができる。
マスタ装置であるPLC60は、フィールドネットワーク40を介して、サーボドライバ10との間で、リアルタイム通信および非リアルタイム通信を行なうことができる。フィールドネットワーク40として特に、EtherCAT(登録商標)を用いる場合には、リアルタイム通信はプロセスデータ通信(サイクリック通信)を指し、非リアルタイム通信はメッセージ通信を指す。「プロセスデータ通信」とは、定周期でリアルタイムの情報交換を行なうプロセスデータオブジェクト(PDO、process data objects)を使用した通信である。「メッセージ通信」とは、任意のタイミングで情報伝達を行なうサービスデータオブジェクト(SDO、Service Data Objects)を使用した通信である。なお、以下の説明においては、「プロセスデータ通信(サイクリック通信)」は「PDO通信」と略記することがある。また、「メッセージ通信」は「SDO通信」と略記することがある。PDO通信がリアルタイム通信(サイクリック通信)であるのに対し、SDO通信は非リアルタイム通信である。
詳細は後述するが、PLC60は、フィールドネットワーク40を介してサーボドライバ10へ、PLC60によるユーザプログラムの実行結果としての制御指示をリアルタイム通信(サイクリック通信)であるPDO通信で送信する。また、PLC60は、フィールドネットワーク40を介してサーボドライバ10へ、通信ケーブル80を介してPLC60に接続されている第2サポートツール70が受け付けたユーザ操作に対応する制御コマンド(制御指示)を、非リアルタイム通信であるSDO通信で送信する。
第2サポートツール70は、制御システム1に対して各種のパラメータを設定するための情報処理装置である。第2サポートツール70は、通信ケーブル80を介してPLC60に接続されており、PLC60およびフィールドネットワーク40を介して、サーボドライバ10に記憶される制御パラメータを設定および調整する。また、第2サポートツール70は、モータ20の駆動等を制御しようとするユーザ操作を受け付ける。第2サポートツール70が設定・調整しようとする制御パラメータ、および、第2サポートツール70の受け付けたユーザ操作に対応する制御コマンド(制御指示)は、フィールドネットワーク40を介して、PLC60によって、非リアルタイム通信であるSDO通信でサーボドライバ10へ送信される。
第2サポートツール70は、典型的には、汎用のコンピュータで構成される。例えば、第2サポートツール70で実行される情報処理プログラムは、図示しないCD−ROM(Compact Disk-Read Only Memory)に格納されて流通してもよい。このCD−ROMに格納されたプログラムは、図示しないCD−ROM駆動装置によって読取られ、第2サポートツール70のハードディスクなどへ格納される。あるいは、上位のホストコンピュータなどからネットワークを通じてプログラムをダウンロードするように構成してもよい。なお、メンテナンス性の観点からは、第2サポートツール70として利用するコンピュータは、可搬性に優れたノート型のパーソナルコンピュータが好ましい。
フィールドネットワーク40は、サーボドライバ10とPLC60との間で送受信される各種データを伝送する。すなわち、フィールドネットワーク40は、PLC60が受信し、またはPLC60が送信する各種データを伝送する。フィールドネットワーク40としては、典型的には、各種の産業用イーサネット(登録商標)を用いることができる。産業用イーサネット(登録商標)としては、たとえば、EtherCAT(登録商標)、Profinet IRT、MECHATROLINK(登録商標)−III、Powerlink、SERCOS(登録商標)−III、CIP Motionなどが知られており、これらのうちのいずれを採用してもよい。さらに、産業用イーサネット(登録商標)以外のフィールドネットワークを用いてもよい。たとえば、モーション制御を行わない場合であれば、DeviceNet、CompoNet/IP(登録商標)などを用いてもよい。本実施の形態に係る制御システム1では、典型的に、産業用イーサネット(登録商標)であるEtherCAT(登録商標)をフィールドネットワーク40として採用する場合の構成について例示する。なお、以下の説明においては、フィールドネットワーク40を、下位の通信ネットワークである通信ケーブル30を介した通信と対比させるために、「上位バス(上位通信ネットワーク)」と呼ぶことがある。
なお、図2に示すように、サーボドライバ10とPLC60とを接続するフィールドネットワーク40には、I/Oスレーブ90が配置されていてもよい。ただし、制御システム1において、I/Oスレーブ90は必須ではない。
PLC60によるユーザプログラムの実行結果としての制御指示は、フィールドネットワーク40を介して、リアルタイム通信であるPDO通信でサーボドライバ10へ伝送される。第2サポートツール70の受け付けたユーザ操作に対応する制御コマンド(制御指示)は、(PLC60によって)フィールドネットワーク40を介して、非リアルタイム通信であるSDO通信でサーボドライバ10へ伝送される。すなわち、サーボドライバ10は、フィールドネットワーク40を介して、PLC60によるユーザプログラムの実行結果としての制御指示を、リアルタイム通信であるPDO通信で受信する。また、サーボドライバ10は、フィールドネットワーク40を介して、第2サポートツール70の受け付けたユーザ操作に対応する制御コマンド(制御指示)を、非リアルタイム通信であるSDO通信で受信する。
サーボドライバ10は、モータ20の制御装置である。サーボドライバ10は、PLC60からの制御指示(すなわち、PLC60によるユーザプログラムの実行結果としての制御指示)を、フィールドネットワーク40を介して、リアルタイム通信であるPDO通信でPLC60から受信する。そして、サーボドライバ10は、フィールドネットワーク40を介してPDO通信で受信したPLC60からの制御指示に従ってモータ20を駆動することができる。例えば、サーボドライバ10は、PLC60から一定周期で、位置指令値、速度指令値、トルク指令値といった指令値を受ける。また、サーボドライバ10は、モータ20の軸に接続されている位置センサ(ロータリーエンコーダ)およびトルクセンサといった検出器から、位置、速度(典型的には、今回位置と前回位置との差から算出される)、トルクといったモータ20の動作に係る実測値を取得する。そして、サーボドライバ10は、PLC60からの制御指示を目標値に設定し、実測値をフィードバック値として、フィードバック制御を行なう。すなわち、サーボドライバ10は、実測値が目標値に近づくようにモータ20を駆動するための電流を調整する。なお、サーボドライバ10は、サーボモータアンプと称されることもある。
サーボドライバ10は、また、フィールドネットワーク40を介して、第2サポートツール70の受け付けたユーザ操作に対応する制御コマンド(制御指示)を、非リアルタイム通信であるSDO通信でPLC60から受信する。そして、サーボドライバ10は、フィールドネットワーク40を介してSDO通信で受信した、第2サポートツール70の受け付けたユーザ操作に対応する制御コマンド(制御指示)に従ってモータ20を駆動することができる。
すなわち、サーボドライバ10は、例えばEtherCATであるフィールドネットワーク40を介してPLC60と通信する。サーボドライバ10は、非リアルタイム通信であるSDO通信を利用して、第2サポートツール70の受け付けたユーザ操作に対応する制御コマンド(制御指示)をPLC60から受信し、また、PLC60から要求されたデータを、PLC60に送信する。そして、サーボドライバ10は、リアルタイム通信であるPDO通信を利用して、データをPLC60に所定の周期的に送信する。
サーボドライバ10は、さらに、通信ケーブル30を介して、第1サポートツール50の受け付けたユーザ操作に対応する制御コマンド(制御指示)を、非リアルタイム通信で第1サポートツール50から受信する。そして、サーボドライバ10は、通信ケーブル30を介して非リアルタイム通信で受信した、第1サポートツール50の受け付けたユーザ操作に対応する制御コマンド(制御指示)に従ってモータ20を駆動することができる。
第1サポートツール50は、制御システム1に対して各種のパラメータを設定するための情報処理装置である。第1サポートツール50は、通信ケーブル30によってサーボドライバ10と接続されており、サーボドライバ10に記憶される制御パラメータを設定および調整する。また、第1サポートツール50は、モータ20の駆動等を制御しようとするユーザ操作を受け付ける。第1サポートツール50は、設定・調整しようとする制御パラメータ、および、第1サポートツール50の受け付けたユーザ操作に対応する制御コマンド(制御指示)を、通信ケーブル30を介して、非リアルタイム通信でサーボドライバ10に出力する。サーボドライバ10は、第1サポートツール50によって設定および調整された制御パラメータを記憶するとともに、その制御パラメータに従ってモータ20を駆動する。サーボドライバ10は、また、第1サポートツール50の受け付けたユーザ操作に対応する制御コマンド(制御指示)に従ってモータ20を駆動することができる。
第1サポートツール50は、第2サポートツール70と同様に、典型的には、汎用のコンピュータで構成される。例えば、第1サポートツール50で実行される情報処理プログラムは、図示しないCD−ROM(Compact Disk-Read Only Memory)に格納されて流通してもよい。このCD−ROMに格納されたプログラムは、図示しないCD−ROM駆動装置によって読取られ、第1サポートツール50のハードディスクなどへ格納される。あるいは、上位のホストコンピュータなどからネットワークを通じてプログラムをダウンロードするように構成してもよい。なお、メンテナンス性の観点からは、第1サポートツール50として利用するコンピュータは、可搬性に優れたノート型のパーソナルコンピュータが好ましい。
なお、以下では、サーボドライバ10が、フィールドネットワーク40を介してリアルタイム通信(PDO通信)でPLC60から取得する制御指示(つまり、PLC60によるユーザプログラムの実行結果としての制御指示)を、「(A)リアルタイム通信での制御指示」と呼ぶことがある。また、サーボドライバ10が、フィールドネットワーク40を介して、非リアルタイム通信(SDO通信)でPLC60から取得する制御指示(つまり、第2サポートツール70の受け付けたユーザ操作に対応する制御指示)を、「(B)上位通信ポート経由での制御コマンド(制御指示)」と呼ぶことがある。さらに、サーボドライバ10が、通信ケーブル30を介して、非リアルタイム通信で第1サポートツール50から取得する制御指示(つまり、第1サポートツール50の受け付けたユーザ操作に対応する制御指示)を、「(C)ツールポート経由での制御コマンド(制御指示)」と呼ぶことがある。
以上に説明したように、制御システム1において、サーボドライバ10は、以下の3つの経路のそれぞれから取得する制御指示(制御コマンド)に基づいて、モータ20の駆動を制御することができる。
第1に、サーボドライバ10は、PLC60によるユーザプログラムの実行結果としての制御指示を、フィールドネットワーク40を介して、リアルタイム通信であるPDO通信でPLC60から受信し、前記制御指示に基づいて、モータ20の駆動を制御することができる。すなわち、サーボドライバ10は、(A)リアルタイム通信での制御指示に基づいて、モータ20の駆動を制御することができる。
第2に、サーボドライバ10は、第2サポートツール70の受け付けたユーザ操作に対応する制御コマンド(制御指示)を、フィールドネットワーク40を介して、非リアルタイム通信であるSDO通信でPLC60から受信し、前記制御コマンドに基づいて、モータ20の駆動を制御することができる。すなわち、サーボドライバ10は、(B)上位通信ポート経由での制御コマンド(制御指示)に基づいて、モータ20の駆動を制御することができる。
第3に、サーボドライバ10は、第1サポートツール50の受け付けたユーザ操作に対応する制御コマンド(制御指示)を、通信ケーブル30を介して、非リアルタイム通信で第1サポートツール50から受信し、前記制御コマンドに基づいて、モータ20の駆動を制御することができる。すなわち、サーボドライバ10は、(C)ツールポート経由での制御コマンド(制御指示)に基づいて、モータ20の駆動を制御することができる。
制御システム1において、サーボドライバ10のパラメータを調整しようとする場合、ユーザは、第1サポートツール50を用いてパラメータを調整することができ、また、第2サポートツール70を用いてパラメータを調整することができる。同様に、ユーザは、モータ20を駆動させる処理に対応する制御コマンドを、第1サポートツール50を用いてサーボドライバ10に指示し、また、第2サポートツール70を用いてサーボドライバ10に指示することができる。
サーボドライバ10は、モータ20の駆動を制御する命令(例えば、モータ20を駆動させる命令)を含む制御コマンドを、第1サポートツール50および第2サポートツール70から非リアルタイム通信で受信すると、モータ20が予期せぬ動作をすることが無いよう、順次受信した複数の制御コマンド間で排他制御を行う。
なお、モータ20の駆動を制御する命令を含む制御コマンドとしては、例えば、「試運転」制御コマンド、「FFT(周波数特性計測)」制御コマンド、「汎用出力の確認(出力ON/OFF機能)」制御コマンドを挙げることができる。「出力ON/OFF機能」としては、例えば、「ブレーキのON/OFF」を挙げることができる。
制御システム1において、排他制御を行うことが必要な「モータ20の駆動を制御する命令を含む制御コマンド」は、「アクセス権が必要な制御コマンド(機能)」とすることにより、排他制御を行うことが不要な「モータ20の駆動を制御する命令を含まない制御コマンド」と区別される。詳細は後述する。
(サーボドライバについて)
これまで、制御システム1、および制御システム1に含まれる装置(サーボドライバ10、モータ20、第1サポートツール50、PLC60、および、第2サポートツール70)の概要について、図2を用いて説明を行ってきた。次に、制御システム1に含まれるサーボドライバ10について、その構成および処理の内容等を、図1等を用いて説明していく。図1を参照してサーボドライバ10の詳細について説明する前に、サーボドライバ10についての理解を容易にするため、サーボドライバ10の概要について以下のように整理しておく。
(サーボドライバの概要)
サーボドライバ10は、外部機器(第1サポートツール50、PLC60、および、第2サポートツール70)からの制御指示に対応する処理を実行するモータ制御装置であって、前記制御指示が入力される複数のインタフェース(上位通信部110およびツール通信部120)と、前記制御指示に対応する処理を実行する制御部100と、を備え、制御部100は、前記複数のインタフェースの各々を介して前記制御指示を取得する取得部101と、取得部101が取得した制御指示のうち、非リアルタイム通信で取得した制御指示である制御コマンドに対応する処理を実行するモータ制御部104(コマンド処理部)と、取得部101が一の前記インタフェース(上位通信部110またはツール通信部120)を介して取得した所定の制御コマンドに対応する処理をモータ制御部104が実行しているときに、取得部101が他の前記インタフェース(ツール通信部120または上位通信部110)から他の制御コマンドを取得すると、モータ制御部104が前記他の制御コマンドに対応する処理を実行するのを制限する排他動作を行うアクセス権制御部102(排他制限部)と、を含んでいる。
前記の構成によれば、アクセス権制御部102は、一の前記インタフェース(上位通信部110またはツール通信部120)から前記非リアルタイム通信で取得された前記所定の制御コマンドに対応する処理をモータ制御部104が実行しているときに、取得部101が他の前記インタフェース(ツール通信部120または上位通信部110)から前記他の制御コマンドを取得すると、モータ制御部104が前記他の制御コマンドに対応する処理を実行するのを制限する排他動作を行う。
具体的には、アクセス権制御部102は、上位通信部110から前記非リアルタイム通信で取得された前記所定の制御コマンドに対応する処理をモータ制御部104が実行しているときに、取得部101がツール通信部120から前記他の制御コマンドを取得すると、モータ制御部104が前記他の制御コマンドに対応する処理を実行するのを制限する排他動作を行う。
また、アクセス権制御部102は、ツール通信部120から前記非リアルタイム通信で取得された前記所定の制御コマンドに対応する処理をモータ制御部104が実行しているときに、取得部101が上位通信部110から前記他の制御コマンドを取得すると、モータ制御部104が前記他の制御コマンドに対応する処理を実行するのを制限する排他動作を行う。
したがって、サーボドライバ10は、複数の前記制御コマンドを、前記複数のインタフェース(上位通信部110およびツール通信部120)の各々を介して前記非リアルタイム通信により順次取得した場合であっても、モータ20を安定的に駆動させることができるという効果を奏する。例えば、サーボドライバ10は、前記複数のインタフェースの各々を介して順次取得した複数の制御コマンドが競合した場合であっても、モータ20の挙動が不安定となることを防止できるという効果を奏する。
サーボドライバ10において、前記複数のインタフェースは、自装置とフィールドネットワーク40(ネットワーク)を介して通信可能に接続される前記外部機器であるPLC60(上位コントローラ)からの前記制御指示が入力される上位通信部110(第1通信インタフェース)と、フィールドネットワーク40に接続していない前記外部機器である第1サポートツール50(外部装置)からの前記制御指示が入力されるツール通信部120(第2通信インタフェース)と、を含み、取得部101は、上位通信部110およびツール通信部120の少なくとも一方を介した前記非リアルタイム通信で、前記制御指示を取得する。
前記の構成によれば、サーボドライバ10は、上位通信部110およびツール通信部120の少なくとも一方を介した非リアルタイム通信で取得した制御指示(制御コマンド)に対応する処理を、モータ20の駆動を不安定にすることなく、実行することができるという効果を奏する。
サーボドライバ10において、取得部101は、上位通信部110を介して取得した前記制御指示と、ツール通信部120を介して取得した前記制御指示と、を区別する。
前記の構成によれば、サーボドライバ10は、上位通信部110を介して取得した前記制御指示(制御コマンド)と、ツール通信部120を介して取得した前記制御指示(制御コマンド)と、を区別することができるという効果を奏する。
サーボドライバ10において、アクセス権制御部102は、モータ制御部104が前記所定の制御コマンドに対応する処理を実行しているときに、取得部101が上位通信部110を介してサイクリック通信(PDO通信)で取得した制御指示に対応する処理の実行を制限する排他動作を行う。
前記の構成によれば、アクセス権制御部102は、前記非リアルタイム通信で取得した制御コマンドが実行されている間は、上位通信部110を介して前記サイクリック通信(PDO通信)で取得された制御指示に対応する処理の実行を制限する。具体的には、アクセス権制御部102は、前記非リアルタイム通信で取得した制御コマンドが実行されている間は、PLC60(フィールドネットワーク40)から上位通信部110を介して前記サイクリック通信(PDO通信)で取得された制御指示に対応する処理の実行を制限する。
したがって、サーボドライバ10は、前記非リアルタイム通信で取得した制御コマンドに対応する処理を実行している間に、前記サイクリック通信(PDO通信)で前記制御指示を取得した場合であっても、モータ20を安定的に駆動させることができるという効果を奏する。
(サーボドライバの詳細)
以上に概要を説明したサーボドライバ10について、次に、サーボドライバ10の構成の詳細を、図1を用いて説明する。
図1は、サーボドライバ10の要部構成を示すブロック図である。図1に示すサーボドライバ10は、制御部100と、上位通信部110と、ツール通信部120と、を含む構成である。なお、記載の簡潔性を担保するため、本実施の形態に直接関係のない構成は、説明およびブロック図から省略している。ただし、実施の実情に則して、サーボドライバ10は、当該省略された構成を備えてもよい。
上位通信部110は、フィールドネットワーク40を介してPLC60との通信を行う。上位通信部110は、フィールドネットワーク40を介してPLC60と、リアルタイム通信であるPDO通信、および、非リアルタイム通信であるSDO通信を行う。上位通信部110は、フィールドネットワーク40を介して、PLC60から、サーボドライバ10によるモータ20の制御のための制御指示を受信する。
上位通信部110は、フィールドネットワーク40を介して、PLC60から、PLC60によるユーザプログラムの実行結果としての制御指示を、PDO通信で受信する。つまり、上位通信部110は、フィールドネットワーク40を介して、PLC60から、(A)リアルタイム通信での制御指示を受信する。
上位通信部110は、また、フィールドネットワーク40を介して、PLC60から、PLC60に接続された第2サポートツール70の受け付けたユーザ操作に対応する制御指示を、非リアルタイム通信であるSDO通信で受信する。つまり、上位通信部110は、フィールドネットワーク40を介して、PLC60から、(B)上位通信ポート経由での制御コマンド(制御指示)を受信する。
上位通信部110は、フィールドネットワーク40を介してPLC60から受信した制御指示を取得部101に出力する。すなわち、上位通信部110は、フィールドネットワーク40を介してPLC60から受信した、(A)リアルタイム通信での制御指示および(B)上位通信ポート経由での制御コマンド(制御指示)を、取得部101に出力する。
ツール通信部120は、通信ケーブル30を介して第1サポートツール50との通信を行う。通信ケーブル30を介した、ツール通信部120と第1サポートツール50との通信は非リアルタイム通信である。ツール通信部120は、通信ケーブル30を介して、第1サポートツール50から、第1サポートツール50の受け付けたユーザ操作に対応する制御指示を、非リアルタイム通信で受信する。つまり、ツール通信部120は、通信ケーブル30を介して、第1サポートツール50から、(C)ツールポート経由での制御コマンド(制御指示)を受信する。ツール通信部120は、通信ケーブル30を介して第1サポートツール50から受信した(C)ツールポート経由での制御コマンド(制御指示)を、取得部101に出力する。
制御部100はサーボドライバ10の機能を統括して制御するものである。図示の制御部100には、機能ブロックとして、取得部101と、アクセス権制御部102と、試運転指令部103と、モータ制御部104と、通知部105と、が含まれている。
取得部101は、(A)リアルタイム通信での制御指示、および(B)上位通信ポート経由での制御コマンド(制御指示)を上位通信部110から、(C)ツールポート経由での制御コマンド(制御指示)をツール通信部120から、取得する。すなわち、取得部101は、「(A)リアルタイム通信での制御指示」、「(B)上位通信ポート経由での制御コマンド(制御指示)」、および「(C)ツールポート経由での制御コマンド(制御指示)」を取得する。
取得部101は、上位通信部110から取得した(A)リアルタイム通信での制御指示、上位通信部110から取得した(B)上位通信ポート経由での制御コマンド(制御指示)、および、ツール通信部120から取得した(C)ツールポート経由での制御コマンド(制御指示)を、アクセス権制御部102に出力する。
ここで、取得部101は、取得した制御指示(制御コマンド)の取得元を区別することができ、つまり、上位通信部110とツール通信部120とを区別することができる。なお、前述の通り、上位通信部110がPDO通信(リアルタイム通信)で受信する制御指示は、(A)リアルタイム通信での制御指示である。上位通信部110がSDO通信(非リアルタイム通信)で受信する制御指示(制御コマンド)は、(B)上位通信ポート経由での制御コマンド(制御指示)である。ツール通信部120が非リアルタイム通信で受信する制御指示(制御コマンド)は、(C)ツールポート経由での制御コマンド(制御指示)である。
アクセス権制御部102は、複数の制御コマンド(制御指示)を順次、取得部101が取得した場合に、前記複数の制御コマンド(制御指示)の各々の実行について、排他動作を実行する。すなわち、取得部101が、(A)リアルタイム通信での制御指示、(B)上位通信ポート経由での制御コマンド(制御指示)、および(C)ツールポート経由での制御コマンド(制御指示)を、次々に取得した場合に、その実行について、アクセス権制御部102は排他動作を実行する。
例えば、取得部101が取得した(B)上位通信ポート経由での制御コマンド(制御指示)に対応する処理をモータ制御部104が実行している間に、取得部101が(C)ツールポート経由での制御コマンド(制御指示)を取得した場合、アクセス権制御部102は、(C)ツールポート経由での制御コマンド(制御指示)に対応する処理をモータ制御部104が実行するのを制限する排他動作を行う。
ここで、特に、アクセス権制御部102は、所定の制御コマンドを排他し、所定の制御コマンド以外の制御コマンドは排他しない。アクセス権制御部102は、例えば、モータ20を駆動させる命令を含む制御コマンドを排他し、モータ20を駆動させる命令を含んでいない制御コマンドは排他しない。
具体的には、アクセス権制御部102は、(B)上位通信ポート経由での制御コマンド(制御指示)と、(C)ツールポート経由での制御コマンド(制御指示)とが共に、モータ20の駆動を制御する命令を含んでいる場合に、(C)ツールポート経由での制御コマンド(制御指示)に対応する処理をモータ制御部104が実行するのを制限する排他動作を行う。
すなわち、(B)上位通信ポート経由での制御コマンド(制御指示)と、(C)ツールポート経由での制御コマンド(制御指示)との少なくとも一方が、モータ20の駆動を制御する命令を含んでいない場合、アクセス権制御部102は、(C)ツールポート経由での制御コマンド(制御指示)に対応する処理をモータ制御部104が実行するのを制限しない(排他動作を行わない)。したがって、取得部101が取得した(B)上位通信ポート経由での制御コマンド(制御指示)に対応する処理をモータ制御部104が実行している間に、取得部101が(C)ツールポート経由での制御コマンド(制御指示)を取得した場合、モータ制御部104は、(C)ツールポート経由での制御コマンド(制御指示)に対応する処理を実行する。モータ制御部104は、例えば、(B)上位通信ポート経由での制御コマンド(制御指示)に対応する処理と、(C)ツールポート経由での制御コマンド(制御指示)に対応する処理とを、同時に実行する。
また、例えば、取得部101が取得した(C)ツールポート経由での制御コマンド(制御指示)に対応する処理をモータ制御部104が実行している間に、取得部101が(B)上位通信ポート経由での制御コマンド(制御指示)を取得した場合、アクセス権制御部102は、(B)上位通信ポート経由での制御コマンド(制御指示)に対応する処理をモータ制御部104が実行するのを制限する排他動作を行う。
ここで、特に、アクセス権制御部102は、(B)上位通信ポート経由での制御コマンド(制御指示)と、(C)ツールポート経由での制御コマンド(制御指示)とが共に、モータ20の駆動を制御する命令を含んでいる場合に、(B)上位通信ポート経由での制御コマンド(制御指示)に対応する処理をモータ制御部104が実行するのを制限する排他動作を行う。
すなわち、(B)上位通信ポート経由での制御コマンド(制御指示)と、(C)ツールポート経由での制御コマンド(制御指示)との少なくとも一方が、モータ20の駆動を制御する命令を含んでいない場合、アクセス権制御部102は、(B)上位通信ポート経由での制御コマンド(制御指示)に対応する処理をモータ制御部104が実行するのを制限しない(排他動作を行わない)。したがって、取得部101が取得した(C)ツールポート経由での制御コマンド(制御指示)に対応する処理をモータ制御部104が実行している間に、取得部101が(B)上位通信ポート経由での制御コマンド(制御指示)を取得した場合、モータ制御部104は、(B)上位通信ポート経由での制御コマンド(制御指示)に対応する処理を実行する。モータ制御部104は、例えば、(B)上位通信ポート経由での制御コマンド(制御指示)に対応する処理と、(C)ツールポート経由での制御コマンド(制御指示)に対応する処理とを、同時に実行する。
すなわち、アクセス権制御部102は、モータ制御部104が実行している処理に対応する前記所定の制御コマンドと、前記他の制御コマンドと、の少なくとも一方が、モータ20の駆動を制御する命令を含んでいない場合には、前記排他動作を行わない。
前記の構成によれば、アクセス権制御部102は、モータ制御部104が実行している処理に対応する前記所定の制御コマンドと、前記他の制御コマンドと、の少なくとも一方が、モータ20の駆動を制御する命令を含んでいない場合には、前記排他動作を行わない。
したがって、サーボドライバ10は、モータ20を駆動させる処理を実行しつつ、駆動させているモータ20から取得する物理量データのデータ項目、および取得条件の設定などの、モータ20の駆動を制御する命令を含んでいない制御指示(制御コマンド)に対応する処理を実行することができるという効果を奏する。また、サーボドライバ10は、駆動させるモータ20から取得する物理量データのデータ項目、および取得条件の設定などの、モータ20の駆動を制御する命令を含んでいない制御指示(制御コマンド)に対応する処理を実行しつつ、モータ20を駆動させる処理を実行することができるという効果を奏する。つまり、サーボドライバ10は、例えば、多軸のパラメータについての調整を実行しつつ、単軸の試運転動作を実行することができるという効果を奏する。
以上に説明したように、アクセス権制御部102は、(B)上位通信部110を介して取得した制御コマンドと、(C)ツール通信部120を介して取得した制御コマンドと、が共に、モータ20を駆動させる命令を含む場合、前記排他動作を行う。すなわち、(B)上位通信部110を介して取得した制御コマンド(モータ20を駆動させる命令を含む制御コマンド)に対応する処理と、(C)ツール通信部120を介して取得した制御コマンド(モータ20を駆動させる命令を含む制御コマンド)に対応する処理と、をモータ制御部104が同時に行うことを防止する。したがって、サーボドライバ10は、モータ20を駆動させる命令を含む複数の制御コマンド(制御指示)を順次取得した場合であっても、モータ20が予期せぬ動作を起こすのを防止することができる。
アクセス権制御部102は、また、モータ20を駆動させる命令を含まない制御コマンドに対応する処理の実行については排他しない。したがって、サーボドライバ10は、例えば、サーボドライバ10が取得するモータ20の物理量データのデータ項目・取得条件の設定、といったモータ20を駆動させる命令を含まない制御コマンド(モニタ系、パラメータ系の制御コマンド)に対応する処理は実行することができる。
アクセス権制御部102による排他動作の詳細については、図4および図5を用いて後述するが、アクセス権制御部102は、例えば以下の方法によって、排他動作を実行する。すなわち、アクセス権制御部102は、取得部101が次々に取得した、(A)リアルタイム通信での制御指示、(B)上位通信ポート経由での制御コマンド(制御指示)、および(C)ツールポート経由での制御コマンド(制御指示)について、対応する処理の実行を制限する制御コマンド(制御指示)を、試運転指令部103(または、モータ制御部104)に送信しないことによって、排他動作を実行する。
アクセス権制御部102は、排他動作を実行すると、対応する処理の実行を制限した制御コマンド(制御指示)を、通知部105に通知する。また、アクセス権制御部102は、排他動作を実行すると、対応する処理の実行が制限されなかった制御コマンド(制御指示)を、つまり、モータ制御部104により対応する処理が実行されている制御コマンド(制御指示)を、通知部105に通知する。
試運転指令部103は、取得部101が非リアルタイム通信で取得した制御コマンドを、アクセス権制御部102を介して取得する。すなわち、試運転指令部103は、アクセス権制御部102を介して、(B)上位通信ポート経由での制御コマンド(制御指示)、および(C)ツールポート経由での制御コマンド(制御指示)を取得する。試運転指令部103は、取得した制御コマンドを、モータ制御部104により処理可能な信号(制御指示)に変換してモータ制御部104に出力する。
モータ制御部104は、取得部101が取得した制御指示(制御コマンド)を、アクセス権制御部102を介して取得する。より正確には、モータ制御部104は、アクセス権制御部102を介して、取得部101から(A)リアルタイム通信での制御指示を、試運転指令部103から(B)上位通信ポート経由での制御コマンド(制御指示)および(C)ツールポート経由での制御コマンド(制御指示)を、取得する。そして、モータ制御部104は、取得した制御指示(制御コマンド)に対応する処理を実行する。
通知部105は、アクセス権制御部102によって前記排他動作が行われると、前記排他動作が行われたことを示す情報、および、モータ制御部104が実行した処理に対応する制御指示の取得元に係る情報の少なくとも一方をユーザに通知する。
(サーボドライバの取得する制御指示の階層構造等について)
以上に構成の詳細を説明したサーボドライバ10について、次に、サーボドライバ10において実行される排他制御処理について、図3〜図5を用いて説明していく。先ず、サーボドライバ10(特に、アクセス権制御部102)の取得する制御指示の構造について、図3を用いて説明していく。
図3は、サーボドライバ10の取得する制御指示(制御コマンド)の階層構造等を説明する図である。図3の(A)は、サーボドライバ10の取得する制御指示(制御コマンド)の一例を示す図である。図3の(A)に示すように、サーボドライバ10が取得する制御指示(制御コマンド)としては、「パラメータ」に係る制御指示(制御コマンド)、「ステータス」に係る制御指示(制御コマンド)、および、「試運転」に係る制御指示(制御コマンド)等がある。
図3の(B)は、サーボドライバ10の取得する制御指示(制御コマンド)の階層構造を説明するため、一例として、「試運転」に係る制御指示(制御コマンド)の階層構造の詳細を示す図である。図3の(B)に示すように、「試運転」に係る制御指示(制御コマンド)は、「アクセス権(開放/獲得)」命令、「サーボ(オン/オフ)」命令、「JOG(停止/開始)」命令、「PTP」命令、および、「FFT」命令等を含んでいる。
図3の(C)は、「試運転」に係る制御指示(制御コマンド)に含まれている、「アクセス権(開放/獲得)」命令、「サーボオン(サーボオフ)」命令、「JOG(停止/開始)」命令のアドレスおよび内容等を例示する図である。図3の(B)に示すように、「アクセス権」命令は、「アドレス:1000Hex」であり、内容として、「0:開放」と「1:獲得」とを含む。
図3に示すように、制御システム1において、モータ20の駆動を制御する命令(例えば、「サーボオン(サーボオフ)」命令)を含んでいる制御コマンド(例えば、「試運転」制御コマンド)は、「アクセス権(開放/獲得)」命令をさらに含んでいる。
(排他制御処理の概要)
次に、図3を用いて説明したような構造を有する、2つ以上の制御指示(制御コマンド)に対してサーボドライバ10が実行する排他制御処理について、説明していく。なお、後述するように、サーボドライバ10が排他制御処理を実行する制御指示(制御コマンド)が、図3に例示したような構造を有することは必須ではない。サーボドライバ10の実行する処理についての理解を容易にするため、先ず、サーボドライバ10の実行する処理について、以下のように整理しておく。
すなわち、サーボドライバ10が実行する排他制御処理は、外部機器(第1サポートツール50、PLC60、および、第2サポートツール70)からの制御指示に対応する処理を実行するモータ制御装置であって、前記制御指示が入力される複数のインタフェース(上位通信部110およびツール通信部120)を備えるサーボドライバ10(モータ制御装置)の制御方法であって、前記複数のインタフェースの各々を介して前記制御指示を取得する取得ステップと、前記取得ステップにて取得した制御指示のうち、非リアルタイム通信で取得した制御指示である制御コマンドに対応する処理を実行するコマンド処理ステップと、前記取得ステップにて一の前記インタフェースを介して取得した所定の制御コマンドに対応する処理を前記コマンド処理ステップにて実行しているときに、他の前記インタフェースから他の制御コマンドを取得すると、前記他の制御コマンドに対応する処理を実行するのを制限する排他動作を行う排他制限ステップと、を含んでいる。
前記の方法によれば、前記排他制限ステップは、前記非リアルタイム通信で取得された前記所定の制御コマンドに対応する処理を前記コマンド処理ステップにて実行しているときに、前記取得ステップにて他の前記インタフェースから前記他の制御コマンドを取得すると、前記コマンド処理ステップにて前記他の制御コマンドに対応する処理を実行するのを制限する排他動作を行う。
したがって、前記制御方法は、複数の前記制御コマンドを、前記複数のインタフェースの各々を介して前記非リアルタイム通信により順次取得した場合であっても、モータ20を安定的に駆動させることができるという効果を奏する。例えば、前記制御方法は、前記複数のインタフェースの各々を介して順次取得した複数の制御コマンドが競合した場合であっても、モータ20の挙動が不安定となることを防止できるという効果を奏する。
(排他制御処理の詳細)
次に、図3に例示するような構造を有する制御指示(制御コマンド)に対してサーボドライバ10が実行する排他制御処理について、その詳細を図4および図5を用いて説明していく。
図4は、サーボドライバ10の実行する排他制御処理の概要を説明するための図である。図4の(A)は、「(A)リアルタイム通信での制御指示の有無と、(B)上位通信ポート経由でのアクセス権獲得命令(を含む制御コマンド/メッセージ)と、の関係」、および、「(A)リアルタイム通信での制御指示の有無と、(C)ツールポート経由でのアクセス権獲得命令(を含む制御コマンド/メッセージ)と、の関係」を示す図である。
なお、以下において、「制御指示(制御コマンド)がある」とは、取得部101が既に当該制御指示(制御コマンド)を取得している状態(特に、モータ制御部104が、当該制御指示(制御コマンド)に対応する処理を実行している状態)を指している。
図4の(A)に示すように、「(A)リアルタイム通信での制御指示」がある場合、サーボドライバ10は、「(B)上位通信ポート経由でのアクセス権獲得命令(を含む制御コマンド/メッセージ)」、および、「(C)ツールポート経由でのアクセス権獲得命令(を含む制御コマンド/メッセージ)」を受け付けない。つまり、サーボドライバ10において、「(A)リアルタイム通信での制御指示」がアクセス権を獲得している場合、サーボドライバ10は、非リアルタイム通信での「アクセス権獲得命令(を含む制御コマンド/メッセージ)」を受け付けない。
また、「(A)リアルタイム通信での制御指示」がない場合、サーボドライバ10は、「(B)上位通信ポート経由でのアクセス権獲得命令(を含む制御コマンド/メッセージ)」、および、「(C)ツールポート経由でのアクセス権獲得命令(を含む制御コマンド/メッセージ)」を受け付ける。つまり、サーボドライバ10において、「(A)リアルタイム通信での制御指示」がアクセス権を獲得していない場合、サーボドライバ10は、非リアルタイム通信での「アクセス権獲得命令(を含む制御コマンド/メッセージ)」を受け付ける。
以上に説明したように、図4の(A)には、サーボドライバ10の実行する、リアルタイム通信で送信される制御指示と、非リアルタイム通信で送信される制御コマンド(制御指示)との間の排他制御処理の内容が示されている。一方、図4の(B)には、サーボドライバ10の実行する、非リアルタイム通信で送信される2つ以上の制御コマンド(制御指示)の間の排他制御処理の内容が示されている。
図4の(B)には、「(B)上位通信ポート経由での制御コマンドがアクセス権を獲得している状態において、サーボドライバ10が、(A)リアルタイム通信での制御指示、(B)上位通信ポート経由での制御コマンド、および、(C)ツールポート経由での制御コマンドを受け付けるか否か」が示されている。
図4の(B)には、また、「(C)ツールポート経由での制御コマンドがアクセス権を獲得している状態において、サーボドライバ10が、(A)リアルタイム通信での制御指示、(B)上位通信ポート経由での制御コマンド、および、(C)ツールポート経由での制御コマンドを受け付けるか否か」が示されている。
図4の(B)に示すように、(B)上位通信ポート経由での制御コマンドがアクセス権を獲得している状態、および、(C)ツールポート経由での制御コマンドがアクセス権を獲得している状態において、サーボドライバ10は、(A)リアルタイム通信での制御指示を受け付けない。
(B)上位通信ポート経由での制御コマンドがアクセス権を獲得している状態において、サーボドライバ10は、(B)上位通信ポート経由での制御コマンドを、当該制御コマンドが試運転の制御コマンドであるか試運転以外の制御コマンドであるかに関わらず、受け付ける。また、(B)上位通信ポート経由での制御コマンドがアクセス権を獲得している状態において、サーボドライバ10は、(C)ツールポート経由での制御コマンドを、当該制御コマンドが試運転の制御コマンドである場合は受け付けず、試運転以外の制御コマンドである場合には受け付ける。
ここで、「(B)上位通信ポート経由での制御コマンドがアクセス権を獲得している状態」とは、例えば、「(B)上位通信ポート経由での制御コマンドが、アクセス権獲得命令を含んでおり、(B)上位通信ポート経由での制御コマンドに対応する処理がモータ制御部104により実行されている状態」である。そして、図3を用いて説明したように、「アクセス権(開放/獲得)」命令を含む制御コマンドとは、例えば、モータ20の駆動を制御する命令である。
すなわち、サーボドライバ10において、モータ制御部104が実行している処理に対応する所定の制御コマンド(例えば、上述の例でアクセス権を獲得している、(B)上位通信ポート経由での制御コマンド)は、モータ20の駆動を制御する命令(例えば、モータ20を駆動させる命令)を含んでいる。
前記の構成によれば、アクセス権制御部102は、モータ20の駆動を制御する命令を含む前記所定の制御コマンドに対応する処理をモータ制御部104が実行しているときに、取得部101が他の前記インタフェースから前記他の制御コマンドを取得すると、モータ制御部104が前記他の制御コマンドに対応する処理を実行するのを制限する排他動作を行う。
したがって、サーボドライバ10は、モータ20の駆動を制御する命令を含む前記所定の制御コマンドに対応する処理を実行していると、他の前記インタフェースから取得した前記他の制御コマンドに対応する処理を実行するのを制限する排他動作を行うので、モータ20の挙動が不安定となることを防止することができるという効果を奏する。
(C)ツールポート経由での制御コマンドがアクセス権を獲得している状態において、サーボドライバ10は、(B)上位通信ポート経由での制御コマンドを、当該制御コマンドが試運転の制御コマンドである場合は受け付けず、試運転以外の制御コマンドである場合には受け付ける。また、(C)ツールポート経由での制御コマンドがアクセス権を獲得している状態において、サーボドライバ10は、(C)ツールポート経由での制御コマンドを、当該制御コマンドが試運転の制御コマンドであるか試運転以外の制御コマンドであるかに関わらず、受け付ける。
つまり、サーボドライバ10において、アクセス権制御部102によって対応する処理の実行が制限される制御コマンド(例えば、上述の例で、(C)ツールポート経由での制御コマンドがアクセス権を獲得している状態における、(B)上位通信ポート経由での制御コマンド)は、モータ20の駆動を制御する命令を含んでいる。
前記の構成によれば、アクセス権制御部102は、前記非リアルタイム通信で取得された前記所定の制御コマンドに対応する処理をモータ制御部104が実行しているときに、モータ20の駆動を制御する命令を含む前記他の制御コマンドを取得部101が他の前記インタフェースから取得すると、モータ制御部104が前記他の制御コマンドに対応する処理を実行するのを制限する排他動作を行う。
したがって、サーボドライバ10は、前記所定の制御コマンドに対応する処理を実行している場合、モータ20の駆動を制御する命令を含む前記他の制御コマンドに対応する処理を実行するのを制限するので、モータ20の挙動が不安定となることを防止することができるという効果を奏する。
以上に概要を整理した「2つ以上の制御コマンド(制御指示)に対してサーボドライバ10が実行する排他制御処理」について、次に図5を用いて具体例を説明していく。
(排他制御処理の具体例について)
図5は、サーボドライバ10の実行する排他制御処理の一例を示すシーケンス図である。具体的には、(B)第2サポートツール70および(C)第1サポートツール50の各々からの制御コマンド(制御指示)が、非リアルタイム通信でサーボドライバ10に順次送信された場合に、サーボドライバ10の実行する排他制御処理の一例が図5に示されている。
なお、前述の通り、以下の説明においても、「(A)リアルタイム通信での制御指示」は、(A)PLC60によるユーザプログラムの実行結果としての制御指示を示している。「(B)上位通信ポート経由での制御コマンド(制御指示)」は、(B)第2サポートツール70の受け付けたユーザ操作に対応する制御指示を示している。「(C)ツールポート経由での制御コマンド(制御指示)」は、(C)第1サポートツール50の受け付けたユーザ操作に対応する制御指示を示している。
すなわち、サーボドライバ10は、(C)第1サポートツール50からの制御コマンド(制御指示)を、通信ケーブル30を介して、非リアルタイム通信で受信する。また、サーボドライバ10は、(B)第2サポートツール70からの制御コマンド(制御指示)を、フィールドネットワーク40を介して、非リアルタイム通信で受信する。
また、図5に示す例において、サーボドライバ10の受信した(B)第2サポートツール70からの制御コマンド(制御指示)は、図3を用いて説明した「試運転」に係る制御コマンド(「試運転」制御コマンド)であったものとする。すなわち、(B)第2サポートツール70からの「試運転」制御コマンドは、「アクセス権獲得」、「サーボオン」、「JOG開始」、・・・、「アクセス権開放」といった命令を含んでいるものとする。
サーボドライバ10のアクセス権制御部102は、(B)第2サポートツール70からの「試運転」制御コマンドに含まれている「アクセス権獲得」命令(1000Hex=1)を受信すると、アクセス権獲得状態(排他状態)を判定する。すなわち、アクセス権制御部102は、「(A)PLC60、(B)第2サポートツール70、および(C)第1サポートツール50のいずれかがアクセス権を獲得している状態であるか」を判定する。
「(A)PLC60、(B)第2サポートツール70、および(C)第1サポートツール50のいずれもがアクセス権を獲得していない」状態であると判定すると、アクセス権制御部102は、受信した(B)第2サポートツール70からの「アクセス権獲得」命令に対応する処理を実行する(OK)。すなわち、アクセス権制御部102は、(B)第2サポートツール70にアクセス権を付与する((B)第2サポートツール70がアクセス権を獲得する)。これにより、アクセス権獲得状態(排他状態)は、排他状態(B)に遷移し、つまり、(B)第2サポートツール70がアクセス権を獲得している状態に遷移する。
排他状態(B)においては、取得部101が(C)第1サポートツール50からの「アクセス権獲得」命令(1000Hex=1)を受信したとしても、アクセス権制御部102は、受信した(C)第1サポートツール50からの「アクセス権獲得」命令に対応する処理を実行しない(NG)。
同様に、排他状態(B)においては、取得部101が(C)第1サポートツール50からの「JOG開始」命令(1002Hex=1)を受信したとしても、アクセス権制御部102は、受信した(C)第1サポートツール50からの「JOG開始」命令に対応する処理を実行しない(NG)。なお、「JOG開始」命令(1002Hex=1)は、「モータ20の駆動を制御する命令」の一例である。
すなわち、取得部101が制御指示(制御コマンド)受信すると、アクセス権制御部102は、取得部101が受信した制御指示(制御コマンド)の通信元(送信元の装置)を認識するのと共に、アクセス権獲得状態を確認する。アクセス権制御部102は、取得部101が受信した制御指示(制御コマンド)が、アクセス権を獲得している装置以外の装置からの制御指示(制御コマンド)である場合、さらに以下の判定を実行する。すなわち、アクセス権制御部102は、取得部101の受信した「アクセス権を獲得している装置以外の装置からの制御指示(制御コマンド)」が「モータ20の駆動を制御する命令」または「アクセス権獲得命令」を含んでいるかを判定する。
「アクセス権を獲得している装置以外の装置からの制御指示(制御コマンド)」が「モータ20の駆動を制御する命令」または「アクセス権獲得命令」を含んでいる場合、アクセス権制御部102は、「アクセス権を獲得している装置以外の装置からの制御指示(制御コマンド)」を実行しない。すなわち、アクセス権制御部102は、通信元を認識して、モータ駆動に対応する命令は、排他中は受け付けない。
排他状態(B)において、取得部101が(B)第2サポートツール70からの「サーボオン」命令(1001Hex=1)を受信すると、アクセス権制御部102は、受信した(B)第2サポートツール70からの「サーボオン」命令に対応する処理を実行する(OK)。
排他状態(B)において、取得部101が(B)第2サポートツール70からの「JOG開始」命令(1002Hex=1)を受信すると、アクセス権制御部102は、受信した(B)第2サポートツール70からの「JOG開始」命令に対応する処理を実行する(OK)。
排他状態(B)において、取得部101が(C)第1サポートツール50からの「ステータス読み出し」命令を受信すると、アクセス権制御部102は、受信した(C)第1サポートツール50からの「ステータス読み出し」命令に対応する処理を実行する(OK)。なお、「ステータス読み出し」命令は、「モータ20の駆動を制御する命令」および「アクセス権獲得命令」のいずれでもない。
つまり、アクセス権制御部102は、排他中であっても、駆動に対応しない命令は受け付ける。具体的には、取得部101が受信した制御指示(制御コマンド)が、「アクセス権を獲得している装置以外の装置からの制御指示(制御コマンド)」である場合であっても、「アクセス権を獲得している装置以外の装置からの制御指示(制御コマンド)」が「モータ20の駆動を制御する命令」および「アクセス権獲得命令」を含んでいない場合、アクセス権制御部102は、「アクセス権を獲得している装置以外の装置からの制御指示(制御コマンド)」を実行する。
排他状態(B)において、取得部101が、(B)第2サポートツール70からの「試運転」に係る制御コマンドに含まれている「アクセス権開放」命令(1000Hex=0)を受信すると、アクセス権制御部102は、受信した(B)第2サポートツール70からの「アクセス権開放」命令に対応する処理を実行する(OK)。これにより、アクセス権獲得状態(排他状態)は、排他状態(B)から、「(A)PLC60、(B)第2サポートツール70、および(C)第1サポートツール50の各々からの制御指示(制御コマンド)のいずれもが、アクセス権を獲得していない」状態に遷移する。
サーボドライバ10の取得部101が、(C)第1サポートツール50からの「試運転」制御コマンドに含まれている「アクセス権獲得」命令(1000Hex=1)を、非リアルタイム通信で受信すると、アクセス権制御部102は、アクセス権獲得状態(排他状態)を判定する。
「(A)PLC60、(B)第2サポートツール70、および(C)第1サポートツール50のいずれもがアクセス権を獲得していない」状態であると判定すると、アクセス権制御部102は、受信した(C)第1サポートツール50からの「アクセス権獲得」命令に対応する処理を実行する(OK)。すなわち、アクセス権制御部102は、(C)第1サポートツール50にアクセス権を付与する((C)第1サポートツール50がアクセス権を獲得する)。これにより、アクセス権獲得状態(排他状態)は、排他状態(C)に遷移し、つまり、(C)第1サポートツール50がアクセス権を獲得している状態に遷移する。
以上に説明したように、サーボドライバ10において、モータ制御部104が実行している処理に対応する前記所定の制御コマンドは、アクセス権制御部102に前記排他動作を開始させる命令と、アクセス権制御部102に前記排他動作を終了させる命令とを含み、アクセス権制御部102は、取得部101が前記所定の制御コマンドに含まれている前記排他動作を開始させる命令を取得すると、前記排他動作を開始し、取得部101が前記所定の制御コマンドに含まれている前記排他動作を終了させる命令を取得すると、前記排他動作を終了する。
すなわち、所定の制御コマンド(例えば、モータ20の駆動を制御する制御コマンド)は、アクセス権獲得の命令を含んでいる。アクセス権制御部102は、取得部101がアクセス権獲得命令を受信すると、「(A)PLC60、(B)第2サポートツール70、および(C)第1サポートツール50のいずれかがアクセス権を獲得している状態であるか」を判定する。アクセス権制御部102は、「(A)PLC60、(B)第2サポートツール70、および(C)第1サポートツール50のいずれもがアクセス権を獲得していない」状態であると判定すると、排他動作を実行する。なお、アクセス権獲得命令によって実行される排他動作は、例えば、前記所定の制御コマンドに含まれるアクセス権開放命令によって終了する。
前記の構成によれば、アクセス権制御部102は、取得部101が前記排他動作を開始させる命令を取得すると前記排他動作を開始し、取得部101が前記排他動作を終了させる命令を取得すると前記排他動作を終了する。
したがって、サーボドライバ10は、前記排他動作を開始させる命令を取得することにより開始した前記排他動作を、前記排他動作を終了させる命令を取得することにより、終了することができるという効果を奏する。
(タイムアウトによる排他制御処理の終了)
なお、これまでサーボドライバ10が「アクセス権開放」命令(1000Hex=0)を受信することによって、アクセス権が獲得されている状態から、アクセス権が獲得されていない状態(アクセス権が開放されている状態)に遷移する例を説明してきた。
しかしながら、アクセス権が獲得されている状態から、アクセス権が獲得されていない状態(アクセス権が開放されている状態)に遷移するために、サーボドライバ10が「アクセス権開放」命令(1000Hex=0)を受信することは必須ではない。すなわち、サーボドライバ10が排他制御処理を実行する制御指示(制御コマンド)が、図3に例示したような構造を有することは必須ではない。サーボドライバ10(特に、アクセス権制御部102)は、以下のようにして、排他制御処理の開始/終了(アクセス権の獲得/開放)を実行してもよい。
すなわち、サーボドライバ10において、モータ制御部104が実行している処理に対応する前記所定の制御コマンドを取得部101が取得してから所定時間が経過すると、アクセス権制御部102は前記排他動作を終了する。
前記の構成によれば、アクセス権制御部102は、モータ制御部104が実行している処理に対応する前記所定の制御コマンドを取得部101が取得してから所定時間が経過すると、前記排他動作を終了する。
したがって、サーボドライバ10は、実行中の処理に対応する前記所定の制御コマンドを取得してから所定時間が経過すると、前記排他動作を終了することができるという効果を奏する。
例えば、サーボドライバ10のアクセス権制御部102は、「上位通信部110またはツール通信部120に接続させていたケーブルが外れた」、「第1サポートツール50または第2サポートツール70として用いているパソコンが、ロックした・電源オフされた」といった事態が発生した場合にも、前記「アクセス権開放」命令を受信することなく、アクセス権を開放することができる。
すなわち、アクセス権制御部102は、アクセス権獲得命令によって実行される排他動作を、例えば、前記アクセス権獲得命令を取得部101が取得してから所定時間が経過すると、終了することができる。
サーボドライバ10(特に、アクセス権制御部102)による排他動作(アクセス権の獲得/開放に係る処理)の実現方法は、これまで説明してきたものに限られるわけではない。以下では、サーボドライバ10による排他動作の実現方法について、これまで説明してきた方法以外の方法の例を説明する。
(排他制御処理のその他の実現例)
サーボドライバ10(特に、アクセス権制御部102)は、モータ20の駆動状態に応じて、排他動作を実行してもよい。具体的には、サーボドライバ10(特に、アクセス権制御部102)は、サーボON/OFFに応じて、排他動作を実行してもよい。また、サーボドライバ10(特に、アクセス権制御部102)は、モータ20が停止中であるか否かに応じて、排他動作を実行してもよい。さらに、サーボドライバ10(特に、アクセス権制御部102)は、モータ20の駆動速度が所定値未満であるか否かに応じて、排他動作を実行してもよい。以下、詳細を説明していく。
(サーボON/OFFに応じた排他制御処理の実行)
サーボドライバ10において、アクセス権制御部102は、自装置がモータ20への通電を行っていない状態(つまり、サーボOFF)で取得部101が一の前記インタフェースを介して前記所定の制御コマンドを取得すると、その後に取得部101が他の前記インタフェースから取得した前記他の制御コマンドに対応する処理をモータ制御部104が実行するのを制限する排他動作を行う。
前記の構成によれば、アクセス権制御部102は、自装置がモータ20への通電を行っていない状態で取得部101が一の前記インタフェースを介して前記所定の制御コマンドを取得すると、その後に取得部101が他の前記インタフェースから取得した前記他の制御コマンドに対応する処理をモータ制御部104が実行するのを制限する排他動作を行う。
したがって、サーボドライバ10は、自装置がモータ20への通電を行っていない状態で一の前記インタフェースを介して前記所定の制御コマンドを取得すると、その後に他の前記インタフェースから取得した前記他の制御コマンドに対応する処理を実行するのを制限することができるという効果を奏する。つまり、サーボドライバ10は、モータ20への通電中(サーボON時)か否(サーボOFF時)かに応じて排他動作の実行要否を決定し、具体的には、モータ20へ通電していない(サーボOFF)ときに前記排他動作を行うことができるという効果を奏する。
ここで、モータ通電中(サーボON時)においてモータ20は、実際に駆動している状態、または、実際に駆動する事前動作状態にあり、手で軸を動かしても回らない状態にある。したがって、「モータ通電中でない状態」、すなわち、モータ20が駆動していない(または、駆動される事前動作状態でない)状態(つまり、手で軸を動かすと回る状態)で、一の前記インタフェースから制御コマンドを取得したとき、他の前記インタフェースからの制御コマンドに対応する処理の実行を排他する排他動作を行うことができるという効果を奏する。
なお、念のため確認しておけば、アクセス権制御部102について、サーボONを、つまり、モータ20への通電を、排他動作のトリガにする必要はない。
(モータ20が停止中であるか否かに応じた排他制御処理の実行)
サーボドライバ10において、アクセス権制御部102は、モータ20の駆動が停止している状態で取得部101が一の前記インタフェースを介して前記所定の制御コマンドを取得すると、その後に取得部101が他の前記インタフェースから取得した前記他の制御コマンドに対応する処理をモータ制御部104が実行するのを制限する排他動作を行う。
前記の構成によれば、アクセス権制御部102は、モータ20の駆動が停止している状態で取得部101が一の前記インタフェースを介して前記所定の制御コマンドを取得すると、その後に取得部101が他の前記インタフェースから取得した前記他の制御コマンドに対応する処理をモータ制御部104が実行するのを制限する排他動作を行う。
したがって、サーボドライバ10は、モータ20の駆動が停止している状態で一の前記インタフェースを介して前記所定の制御コマンドを取得すると、その後に他の前記インタフェースから取得した前記他の制御コマンドに対応する処理を実行するのを制限することができるという効果を奏する。つまり、サーボドライバ10は、モータ通電中であってもモータ20が停止中であるときには、一の前記インタフェースから取得した制御コマンドに対応する処理を実行しつつ、他の前記インタフェースから取得した前記他の制御コマンドに対応する処理については実行を制限することができるという効果を奏する。
すなわち、アクセス権制御部102は、例えば、インバータでモータ20にブレーキがかかっていることを条件として排他動作を行うことにより、モータ20の挙動が不安定となることを防止しつつ、モータ20に所望の制御を実行することができる。
(モータ20の駆動速度が所定値未満であるか否かに応じた排他制御処理の実行)
サーボドライバ10において、アクセス権制御部102は、モータ20の駆動速度が所定値未満である状態で取得部101が一の前記インタフェースを介して前記所定の制御コマンドを取得すると、その後に取得部101が他の前記インタフェースから取得した前記他の制御コマンドに対応する処理をモータ制御部104が実行するのを制限する排他動作を行う。
前記の構成によれば、アクセス権制御部102は、モータ20の駆動速度が所定値未満である状態で取得部101が一の前記インタフェースを介して前記所定の制御コマンドを取得すると、その後に取得部101が他の前記インタフェースから取得した前記他の制御コマンドに対応する処理をモータ制御部104が実行するのを制限する排他動作を行う。
したがって、サーボドライバ10は、モータ20の駆動速度が所定値未満である状態で一の前記インタフェースを介して前記所定の制御コマンドを取得すると、その後に他の前記インタフェースから取得した前記他の制御コマンドに対応する処理を実行するのを制限することができるという効果を奏する。
サーボドライバ10は、例えば、モータ20の駆動を特定の状態(例えば、モータ20の駆動速度が所定値未満である状態)ことにより、前記排他動作を行うようにしてもよい。
(表示機能について)
図6は、サーボドライバ10によって実行された排他制御処理の実行結果をユーザに通知する情報の一例を示す図である。サーボドライバ10は、実行した排他制御処理の実行結果を示す情報を、自装置、第1サポートツール50、および第2サポートツール70の少なくとも1つにおいて表示することにより、前記排他制御処理の実行結果をユーザに通知することができる。
すなわち、サーボドライバ10の通知部105は、アクセス権制御部102が実行した排他制御処理の実行結果を示す情報を、自装置、第1サポートツール50、および第2サポートツール70の少なくとも1つにおいて表示する。
通知部105は、図6の(A)に示すように、自装置、第1サポートツール50、および第2サポートツール70の少なくとも1つに、「アクセス権が獲得できませんでした。運転中、または、他のツールで試運転中です。」等のメッセージを表示させる。
通知部105は、また、図6の(B)に示すように、自装置、第1サポートツール50、および第2サポートツール70の少なくとも1つに、アクセス権情報として、「第1サポートツール50、PLC60、および第2サポートツール70のいずれがアクセス権を獲得しているのか」を表示する。図6の(B)には、「上位通信経由ツール」が、すなわち、第2サポートツール70がアクセス権を獲得している状態である例が示されている。
通知部105は、第1サポートツール50がユーザから受け付けた制御コマンドについて、アクセス権制御部102により実行される排他制御処理の対象となっているか、具体的には、PLC60または第2サポートツール70によってアクセス権が獲得されているか、を表示する。
通知部105は、また、第2サポートツール70がユーザから受け付けた制御コマンドについて、アクセス権制御部102により実行される排他制御処理の対象となっているか、具体的には、PLC60または第1サポートツール50によってアクセス権が獲得されているか、を表示する。
通知部105が、アクセス権がどこにあるのか(第1サポートツール50、PLC60、および、第2サポートツール70のいずれがアクセス権を獲得しているのか)等に係る情報を表示することにより、ユーザはアクセス権の獲得(開放)状態を把握することができる。
以上に説明したように、サーボドライバ10は、アクセス権制御部102によって前記排他動作が行われると、前記排他動作が行われたことを示す情報、および、モータ制御部104が実行した処理に対応する制御指示の取得元に係る情報の少なくとも一方をユーザに通知する通知部105を備えている。
前記の構成によれば、前記通知部は、アクセス権制御部102によって前記排他動作が行われると、前記排他動作が行われたことを示す情報、および、モータ制御部104が実行した処理に対応する制御指示の取得元に係る情報の少なくとも一方をユーザに通知する。
したがって、サーボドライバ10は、前記排他動作を行うと、前記排他動作を行ったことを示す情報、および、実行した処理に対応する制御指示の取得元に係る情報の少なくとも一方をユーザに通知することができるという効果を奏する。
〔ソフトウェアによる実現例〕
図7は、サーボドライバ10として利用可能なコンピュータの要部構成を例示したブロック図である。
サーボドライバ10の制御部100(特に、取得部101、アクセス権制御部102、試運転指令部103、モータ制御部104、および、通知部105)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。例えば、制御部100は、図7に示すマイクロプロセッサ131によって実現することができる。
後者の場合、サーボドライバ10は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU(または、マイクロプロセッサ131)、上記プログラムおよび各種データがコンピュータ(またはCPU、もしくはマイクロプロセッサ131)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
また、サーボドライバ10の上位通信部110は、上位通信ポート111によって実現してもよい。上位通信部110は、例えば、フィールドネットワーク40を介したデータ伝送を管理するフィールドバス制御部と、PLC60からフィールドネットワーク40を介して送信される上位通信フレームを受信してデータへ復号した上で、フィールドバス制御部へ出力するフィールドバス受信部と、フィールドバス制御部から出力されるデータから上位通信フレームを再生成してフィールドネットワーク40を介して再送信(フォワード)するフィールドバス送信部と、を含んでいる。フィールドバス制御部は、フィールドバス受信部およびフィールドバス送信部と協働して、フィールドネットワーク40を介して予め定められた制御周期毎にPLC60との間でデータを送受信する。
さらに、サーボドライバ10のツール通信部120は、ツールポート121によって実現してもよい。ツールポート121は、例えばUSBコネクタであり、サーボドライバ10と第1サポートツール50とを接続するためのインタフェースである。典型的には、第1サポートツール50からの制御コマンドは、前記USBコネクタであるツール通信部120を介してサーボドライバ10に取込まれ、マイクロプロセッサ131で実行される。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
10 サーボドライバ
20 モータ
50 第1サポートツール(外部機器、外部装置)
40 フィールドネットワーク(ネットワーク)
60 PLC(外部機器、上位コントローラ)
70 第2サポートツール(外部機器)
100 制御部
101 取得部
102 アクセス権制御部(排他制限部)
104 モータ制御部(コマンド処理部)
105 通知部
110 上位通信部(第1通信インタフェース)
120 ツール通信部(第2通信インタフェース)

Claims (16)

  1. 外部機器からの制御指示に対応する処理を実行するモータ制御装置であって、
    前記制御指示が入力される複数のインタフェースと、
    前記制御指示に対応する処理を実行する制御部と、を備え、
    前記制御部は、
    前記複数のインタフェースの各々を介して前記制御指示を取得する取得部と、
    前記取得部が取得した制御指示のうち、非リアルタイム通信で取得した制御指示である制御コマンドに対応する処理を実行するコマンド処理部と、
    前記取得部が一の前記インタフェースを介して取得した所定の制御コマンドに対応する処理を前記コマンド処理部が実行しているときに、前記取得部が他の前記インタフェースから他の制御コマンドを取得すると、前記コマンド処理部が前記他の制御コマンドに対応する処理を実行するのを制限する排他動作を行う排他制限部と、を含むことを特徴とするモータ制御装置。
  2. 前記コマンド処理部が実行している処理に対応する前記所定の制御コマンドは、モータの駆動を制御する命令を含むことを特徴とする請求項1に記載のモータ制御装置。
  3. 前記他の制御コマンドは、前記モータの駆動を制御する命令を含むことを特徴とする請求項2に記載のモータ制御装置。
  4. 前記排他制限部は、前記コマンド処理部が実行している処理に対応する前記所定の制御コマンドと、前記他の制御コマンドと、の少なくとも一方が、モータの駆動を制御する命令を含んでいない場合には、前記排他動作を行わないことを特徴とする請求項1から3のいずれか1項に記載のモータ制御装置。
  5. 前記複数のインタフェースは、
    自装置とネットワークを介して通信可能に接続される前記外部機器である上位コントローラからの前記制御指示が入力される第1通信インタフェースと、
    前記ネットワークに接続していない前記外部機器である外部装置からの前記制御指示が入力される第2通信インタフェースと、を含み、
    前記取得部は、前記第1通信インタフェースおよび前記第2通信インタフェースの少なくとも一方を介した前記非リアルタイム通信で、前記制御指示を取得することを特徴とする請求項1から4のいずれか1項に記載のモータ制御装置。
  6. 前記取得部は、前記第1通信インタフェースを介して取得した前記制御指示と、前記第2通信インタフェースを介して取得した前記制御指示と、を区別することを特徴とする請求項5に記載のモータ制御装置。
  7. 前記コマンド処理部が実行している処理に対応する前記所定の制御コマンドは、前記排他制限部に前記排他動作を開始させる命令と、前記排他制限部に前記排他動作を終了させる命令とを含み、
    前記排他制限部は、
    前記取得部が前記所定の制御コマンドに含まれている前記排他動作を開始させる命令を取得すると、前記排他動作を開始し、
    前記取得部が前記所定の制御コマンドに含まれている前記排他動作を終了させる命令を取得すると、前記排他動作を終了することを特徴とする請求項1から6のいずれか1項に記載のモータ制御装置。
  8. 前記コマンド処理部が実行している処理に対応する前記所定の制御コマンドを前記取得部が取得してから所定時間が経過すると、前記排他制限部は前記排他動作を終了することを特徴とする請求項1から7のいずれか1項に記載のモータ制御装置。
  9. 前記排他制限部は、前記コマンド処理部が前記所定の制御コマンドに対応する処理を実行しているときに、前記取得部が前記複数のインタフェースのうちの1つを介してサイクリック通信で取得した制御指示に対応する処理の実行を制限する排他動作を行うことを特徴とする請求項1から8のいずれか1項に記載のモータ制御装置。
  10. 前記排他制限部は、自装置がモータへの通電を行っていない状態で前記取得部が一の前記インタフェースを介して前記所定の制御コマンドを取得すると、その後に前記取得部が他の前記インタフェースから取得した前記他の制御コマンドに対応する処理を前記コマンド処理部が実行するのを制限する排他動作を行うことを特徴とする請求項1から9のいずれか1項に記載のモータ制御装置。
  11. 前記排他制限部は、モータの駆動が停止している状態で前記取得部が一の前記インタフェースを介して前記所定の制御コマンドを取得すると、その後に前記取得部が他の前記インタフェースから取得した前記他の制御コマンドに対応する処理を前記コマンド処理部が実行するのを制限する排他動作を行うことを特徴とする請求項1から10のいずれか1項に記載のモータ制御装置。
  12. 前記排他制限部は、モータの駆動速度が所定値未満である状態で前記取得部が一の前記インタフェースを介して前記所定の制御コマンドを取得すると、その後に前記取得部が他の前記インタフェースから取得した前記他の制御コマンドに対応する処理を前記コマンド処理部が実行するのを制限する排他動作を行うことを特徴とする請求項1から11のいずれか1項に記載のモータ制御装置。
  13. 前記排他制限部によって前記排他動作が行われると、前記排他動作が行われたことを示す情報、および、前記コマンド処理部が実行した処理に対応する制御指示の取得元に係る情報の少なくとも一方をユーザに通知する通知部をさらに備えることを特徴とする請求項1から12のいずれか1項に記載のモータ制御装置。
  14. 外部機器からの制御指示に対応する処理を実行するモータ制御装置であって、前記制御指示が入力される複数のインタフェースを備えるモータ制御装置の制御方法であって、
    前記複数のインタフェースの各々を介して前記制御指示を取得する取得ステップと、
    前記取得ステップにて取得した制御指示のうち、非リアルタイム通信で取得した制御指示である制御コマンドに対応する処理を実行するコマンド処理ステップと、
    前記取得ステップにて一の前記インタフェースを介して取得した所定の制御コマンドに対応する処理を前記コマンド処理ステップにて実行しているときに、他の前記インタフェースから他の制御コマンドを取得すると、前記他の制御コマンドに対応する処理を実行するのを制限する排他動作を行う排他制限ステップと、を含むことを特徴とする制御方法。
  15. 請求項1から13のいずれか1項に記載のモータ制御装置としてコンピュータを機能させるための情報処理プログラムであって、前記制御部としてコンピュータを機能させるための情報処理プログラム。
  16. 請求項15に記載の情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2016047563A 2016-03-10 2016-03-10 モータ制御装置、制御方法、情報処理プログラム、および記録媒体 Active JP6443365B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2016047563A JP6443365B2 (ja) 2016-03-10 2016-03-10 モータ制御装置、制御方法、情報処理プログラム、および記録媒体
US15/384,246 US10649426B2 (en) 2016-03-10 2016-12-19 Motor control device, control method, information processing program and recording medium
EP16205047.0A EP3217237B1 (en) 2016-03-10 2016-12-19 Motor control device, control method, information processing program and recording medium
CN201611190597.6A CN107181433B (zh) 2016-03-10 2016-12-20 马达控制装置、控制方法以及计算机可读记录介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016047563A JP6443365B2 (ja) 2016-03-10 2016-03-10 モータ制御装置、制御方法、情報処理プログラム、および記録媒体

Publications (2)

Publication Number Publication Date
JP2017163758A true JP2017163758A (ja) 2017-09-14
JP6443365B2 JP6443365B2 (ja) 2018-12-26

Family

ID=57821757

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016047563A Active JP6443365B2 (ja) 2016-03-10 2016-03-10 モータ制御装置、制御方法、情報処理プログラム、および記録媒体

Country Status (4)

Country Link
US (1) US10649426B2 (ja)
EP (1) EP3217237B1 (ja)
JP (1) JP6443365B2 (ja)
CN (1) CN107181433B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019088226A1 (ja) * 2017-11-02 2019-05-09 オムロン株式会社 制御システム、排他制御方法、対象装置
JP2019179377A (ja) * 2018-03-30 2019-10-17 パナソニック デバイスSunx株式会社 プログラマブルコントローラ及びプログラマブルコントローラシステム

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019161855A (ja) * 2018-03-13 2019-09-19 オムロン株式会社 モータ制御装置および設定装置
DE102020109241A1 (de) * 2020-04-02 2021-10-07 Sick Ag Kommunikationsvorrichtung und Verfahren zur Weitergabe von Daten aus einem Regelkreis
CN112882869A (zh) * 2021-03-17 2021-06-01 广东拓斯达科技股份有限公司 一种伺服系统参数管理方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002023802A (ja) * 2000-07-12 2002-01-25 Mitsubishi Electric Corp 選択制御装置
JP2005316880A (ja) * 2004-04-30 2005-11-10 Omron Corp プログラマブルコントローラ用機器
US20140333233A1 (en) * 2013-05-10 2014-11-13 The Boeing Company Remote Wireless Motor Control Law Processing System
JP2016019374A (ja) * 2014-07-09 2016-02-01 株式会社リコー 制御装置、画像形成装置、制御方法及びプログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100317220B1 (ko) * 1999-12-30 2001-12-24 박호군 통신망 기반 개방형 모터 제어기
JP4158581B2 (ja) 2003-04-08 2008-10-01 松下電器産業株式会社 モータ制御機器用コンソール
CN101790198A (zh) * 2009-01-22 2010-07-28 中兴通讯股份有限公司 基于多载波系统的扫描应答发送方法、基站
US8624531B2 (en) * 2011-02-24 2014-01-07 Deere & Company Method and system for evaluating electrical connections between a motor controller and motor
JP5174205B2 (ja) * 2011-04-01 2013-04-03 ファナック株式会社 同期モータの磁極位置を検出する検出装置およびこれを備える制御装置
CN103609014B (zh) * 2011-06-14 2016-06-15 株式会社安川电机 多轴马达驱动系统以及多轴马达驱动装置
WO2013088522A1 (ja) * 2011-12-14 2013-06-20 三菱電機株式会社 ハイブリッド車両の発電機制御装置
CN102629762B (zh) * 2012-04-24 2014-04-16 湖北省电力公司电力科学研究院 基于浮动频差调节和变速率负荷指令修正的一次调频方法
EP2958229B1 (en) 2013-04-10 2017-03-08 Panasonic Intellectual Property Management Co., Ltd. Motor drive device
JP6111874B2 (ja) * 2013-06-06 2017-04-12 オムロン株式会社 駆動制御装置及び駆動制御システム
JP6349805B2 (ja) 2014-03-14 2018-07-04 オムロン株式会社 通信ユニット、コントローラ、制御システム、制御方法、およびプログラム
JP6372156B2 (ja) * 2014-05-13 2018-08-15 株式会社リコー 接続制御システム、通信端末、通信システム、プログラム、及び接続制御方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002023802A (ja) * 2000-07-12 2002-01-25 Mitsubishi Electric Corp 選択制御装置
JP2005316880A (ja) * 2004-04-30 2005-11-10 Omron Corp プログラマブルコントローラ用機器
US20140333233A1 (en) * 2013-05-10 2014-11-13 The Boeing Company Remote Wireless Motor Control Law Processing System
JP2014220999A (ja) * 2013-05-10 2014-11-20 ザ・ボーイング・カンパニーTheBoeing Company 遠隔無線モータの制御法則処理システム
JP2016019374A (ja) * 2014-07-09 2016-02-01 株式会社リコー 制御装置、画像形成装置、制御方法及びプログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019088226A1 (ja) * 2017-11-02 2019-05-09 オムロン株式会社 制御システム、排他制御方法、対象装置
JP2019086901A (ja) * 2017-11-02 2019-06-06 オムロン株式会社 制御システム、排他制御方法、対象装置
EP3705957A4 (en) * 2017-11-02 2021-07-21 Omron Corporation CONTROL SYSTEM, MUTUAL EXCLUSION PROCEDURE AND SUBJECT DEVICE
US11460823B2 (en) 2017-11-02 2022-10-04 Omron Corporation Control system, mutual exclusion method, and subject device
JP2019179377A (ja) * 2018-03-30 2019-10-17 パナソニック デバイスSunx株式会社 プログラマブルコントローラ及びプログラマブルコントローラシステム
JP7130405B2 (ja) 2018-03-30 2022-09-05 パナソニック デバイスSunx株式会社 プログラマブルコントローラ及びプログラマブルコントローラシステム

Also Published As

Publication number Publication date
CN107181433A (zh) 2017-09-19
EP3217237A1 (en) 2017-09-13
EP3217237B1 (en) 2022-09-14
US20170261955A1 (en) 2017-09-14
JP6443365B2 (ja) 2018-12-26
US10649426B2 (en) 2020-05-12
CN107181433B (zh) 2020-10-09

Similar Documents

Publication Publication Date Title
JP6443365B2 (ja) モータ制御装置、制御方法、情報処理プログラム、および記録媒体
US10274936B2 (en) Control apparatus
JP6380432B2 (ja) モータ制御システム、モータ制御装置、プログラムおよび記録媒体
JP6424852B2 (ja) モータ制御装置、制御方法、情報処理プログラム、および記録媒体
JP6369539B2 (ja) 設計支援装置、設計支援方法およびプログラム
US10579031B2 (en) Controller
WO2017154273A1 (ja) マスタースレーブ制御システム、マスタースレーブ制御システムの制御方法、情報処理プログラム、および記録媒体
CN110100210A (zh) 控制装置及电动机控制系统
WO2018163665A1 (ja) 制御装置および制御方法
JP6859922B2 (ja) 制御装置、制御装置の制御方法、情報処理プログラム、および記録媒体
US11209787B2 (en) Method and control device for controlling a field device
KR101504903B1 (ko) 산업용 분산 네트워크 가상 슬레이브
JP5578366B2 (ja) 通信システム
JP7448345B2 (ja) 通信制御装置
WO2019176286A1 (ja) 制御装置、制御方法、および、制御プログラム
US20220035330A1 (en) Control system, support apparatus and program
KR101476128B1 (ko) 산업용 분산 네트워크 시뮬레이터 슬레이브
JP2016154311A (ja) 通信装置、通信方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180904

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181022

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: 20181030

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181112

R150 Certificate of patent or registration of utility model

Ref document number: 6443365

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150