JP2016224663A - Motor control system - Google Patents
Motor control system Download PDFInfo
- Publication number
- JP2016224663A JP2016224663A JP2015109859A JP2015109859A JP2016224663A JP 2016224663 A JP2016224663 A JP 2016224663A JP 2015109859 A JP2015109859 A JP 2015109859A JP 2015109859 A JP2015109859 A JP 2015109859A JP 2016224663 A JP2016224663 A JP 2016224663A
- Authority
- JP
- Japan
- Prior art keywords
- motor
- motor driving
- master
- control command
- driving device
- 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
Links
Images
Landscapes
- Programmable Controllers (AREA)
Abstract
Description
本発明は、複数のモータの制御に関する。 The present invention relates to control of a plurality of motors.
情報分野におけるイーサネット通信技術(イーサネットは登録商標、以下同じ)の発達により、FA(Factory Automation)分野においても、イーサネット通信技術が深く浸透しつつある。従来、モータ駆動装置と上位装置間は、デジタルパルス信号とアナログパルス信号が混在するパラレル配線で接続されていたが、デジタル信号やアナログ信号の伝達をイーサネット通信に置き換えることにより、省配線化や高信頼化を図ることが可能となっている。 Due to the development of Ethernet communication technology in the information field (Ethernet is a registered trademark, the same applies hereinafter), Ethernet communication technology is also gaining popularity in the FA (Factory Automation) field. Conventionally, the motor drive device and the host device have been connected by parallel wiring in which digital pulse signals and analog pulse signals are mixed. However, by replacing the transmission of digital signals and analog signals with Ethernet communication, it is possible to reduce wiring and increase the wiring. It is possible to achieve reliability.
一方、モータ駆動装置を制御する上位装置には、汎用PCでなく、PLC(Programmable Logic Controller)を利用することが一般的である。しかし、PLC上で動作するアプリケーションを開発する場合には、ラダーロジックを利用する必要があるため、汎用PC上で動作するアプリケーションの開発と比べ、多大な工数を要する問題点があり、汎用PCの利用が望まれている。 On the other hand, it is common to use a programmable logic controller (PLC) instead of a general-purpose PC as a host device that controls the motor drive device. However, when developing an application that operates on a PLC, it is necessary to use ladder logic. Therefore, compared with the development of an application that operates on a general-purpose PC, there is a problem that requires a great amount of man-hours. Use is desired.
一方、汎用計算機は、モータ駆動装置に対する制御命令送信を一定周期で送信するリアルタイム性を保証することが難しいことから、複数モータの同期制御を行うシステムには利用できないといった問題点がある。 On the other hand, a general-purpose computer has a problem that it cannot be used in a system that performs synchronous control of a plurality of motors because it is difficult to guarantee real-time performance of transmitting a control command transmission to a motor drive device at a constant period.
上記の問題点を解決する方法として、特許文献1は、上位装置とモータ駆動装置が時刻同期している環境下において、モータ駆動装置に対する制御命令と共に、その制御命令を実行する時間を送信する方法を提案している。本方法により、リアルタイム性を保証しない汎用計算機を利用した場合でも、複数のモータ駆動装置間で時刻同期していれば、複数モータの同期制御を実現できる。
As a method for solving the above problem,
しかしながら、特許文献1には以下の課題がある。一般的に、モータ駆動装置がモータを制御する周期は数ミリ秒である。そのため、ベルトコンベアのように複数モータの同期制御を長時間行うようなシステムにおいて、一連のモータ動作に必要な制御命令を汎用計算機により一括で送信する場合、モータ駆動装置に数100kバイト〜数10Mバイトのメモリ容量が必要となる。
However,
このように、特許文献1に示すシステムを構築するには、全てのモータ駆動装置に大容量のメモリを搭載する必要があるため、モータ駆動装置の増大と共にシステム構築コストが増大するといった課題が発生する。特に、モータ駆動装置を数十台搭載する大規模システムで大きな問題となる。
As described above, in order to construct the system shown in
本発明の代表的な一例は、ネットワークを介して接続された複数のモータ駆動装置と、前記複数のモータ駆動装置がモータを制御するために実行する制御命令を作成する計算機と、を含み、前記複数のモータ駆動装置は、前記計算機から、前記制御命令と、前記制御命令を実行するモータ駆動装置の識別情報と、前記制御命令を実行する時刻情報と、を含む制御命令群を受信し、前記モータ駆動装置の識別情報及び前記時刻情報に従って、前記制御命令を転送する、マスタモータ駆動装置と、前記マスタモータ駆動装置から受信した制御命令に従ってモータを制御する、非マスタモータ駆動装置と、を含む、モータ制御システムである。 A typical example of the present invention includes a plurality of motor drive devices connected via a network, and a computer that creates a control command executed by the plurality of motor drive devices to control a motor, The plurality of motor drive devices receive a control command group including the control command, identification information of the motor drive device that executes the control command, and time information that executes the control command from the computer, A master motor driving device that transfers the control command according to the identification information of the motor driving device and the time information; and a non-master motor driving device that controls the motor according to the control command received from the master motor driving device. A motor control system.
本発明の一態様によれば、システム構築コストを抑えつつ、汎用計算機による複数モータ制御を実現することが可能となり、PLCなどの専用装置が不要となる。 According to one aspect of the present invention, it is possible to realize multi-motor control by a general-purpose computer while suppressing system construction costs, and a dedicated device such as a PLC is not necessary.
以下、本発明の実施形態を図面に基づいて詳細に説明する。尚、本発明の実施形態を説明する図において、同一部には同一符号を付し、その繰り返しの説明は、省略することにする。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In the drawings describing the embodiment of the present invention, the same parts are denoted by the same reference numerals, and repeated description thereof will be omitted.
本開示は、モータ制御システムにおける制御命令の転送を開示する。モータ制御システムは、複数のモータ駆動装置を含む。複数のモータ駆動装置は、少なくとも一つのマスタモータ駆動装置を含む。マスタモータ駆動装置は、上位装置である計算機から、制御命令、制御命令それぞれの宛先モータ駆動装置、及び制御命令それぞれの実行時刻の情報を受信する。マスタモータ駆動装置は、計算機から受信した情報に従って、制御命令を他のモータ駆動装置に転送する。 The present disclosure discloses transfer of control instructions in a motor control system. The motor control system includes a plurality of motor driving devices. The plurality of motor driving devices include at least one master motor driving device. The master motor drive device receives information on the control command, the destination motor drive device for each control command, and the execution time information for each control command from the computer that is the host device. The master motor driving device transfers the control command to another motor driving device according to the information received from the computer.
上記構成により、リアルタイム性能を保証しない汎用計算機で、複数モータの同期制御を実現することが可能となる。また、汎用計算機を利用することにより、複数モータの同期制御を実現するために必要なプログラム開発の工数を削減することが可能となる。 With the above configuration, it is possible to realize synchronous control of a plurality of motors with a general-purpose computer that does not guarantee real-time performance. In addition, by using a general-purpose computer, it is possible to reduce the number of man-hours for program development necessary for realizing synchronous control of a plurality of motors.
一例において、複数のマスタモータ駆動装置の利用可能メモリサイズが、計算機から制御命令群を格納できるように、複数のモータ駆動装置から選択される。これにより、全てのモータ駆動装置に大容量メモリ容量を搭載する必要がなくなるため、システムリソースを低減できる。 In one example, the available memory size of the plurality of master motor drives is selected from the plurality of motor drives so that a control command group can be stored from the computer. As a result, it is not necessary to mount a large-capacity memory capacity in all motor drive devices, and system resources can be reduced.
図1は、実施形態におけるモータ制御システムの一例を示す。図1の構成例において、モータ制御システムは、PC100、複数のマスタモータ駆動装置300、複数の非マスタモータ駆動装置400、及び複数のリモートI/O600を、ネットワーク200を介して接続する。
FIG. 1 shows an example of a motor control system in the embodiment. In the configuration example of FIG. 1, the motor control system connects a PC 100, a plurality of master
本開示において、マスタモータ駆動装置以外のモータ駆動装置を非マスタモータ駆動装置と呼ぶ。モータ駆動装置300、400それぞれには、モータ500が接続されている。モータ500は、例えば、ベルトコンベアや巻き取り装置などのモータである。モータ500及びモータ制御システムにより、モータシステムを構成する。
In the present disclosure, a motor drive device other than the master motor drive device is referred to as a non-master motor drive device. A
非マスタモータ駆動装置400は、電源周波数を変更することで、接続されているモータ500の回転数を制御する。リモートI/O600は、センサ情報などを取得する。PC100は、システム内に存在する全てのモータ駆動装置に対する制御命令を生成し、複数のマスタモータ駆動装置300に対して分配する。制御命令は、モータ500の制御に必要となる回転数に対応する。
The non-master
マスタモータ駆動装置300は、接続されたモータ500の回転数の制御を行う。マスタモータ駆動装置300は、PC100から受信した制御命令を、対象の非マスタモータ駆動装置400に対して送信する。
The master
リモートI/O600の数及びモータ駆動装置の数は、システムの設計に依存する。また、後述するように、PC100は、モータ駆動装置の中から1又は複数のマスタモータ駆動装置300を選択する。なお、1又は複数のマスタモータ駆動装置300が、PC100に選択されることなく、固定されていてもよい。
The number of remote I / Os 600 and the number of motor drives depends on the system design. As will be described later, the PC 100 selects one or a plurality of master
図2はPC100の構成例を示す。PC100は、汎用的な計算機構成を有する。PC100は、ハードウェアリソース110、オペレーティングシステム(OS)120、及びソフトウェアモジュール130を含んで構成される。
FIG. 2 shows a configuration example of the PC 100. The
ハードウェアリソース110は、プロセッサであるCPU111、主メモリ112、二次メモリ113、及び、他の装置とデータ通信を行う通信インタフェース(IF)114を含んで構成される。主メモリ112は、典型的には揮発性の半導体記憶デバイスである。二次メモリ113は、典型的には、ハードディスクドライブ(HDD)やソリッドステートドライブ(SSD)等、非一時的記憶媒体を含む不揮発性記憶デバイスである。
The hardware resource 110 includes a
OS120は、PC100の動作を統括的に制御する基本ソフトウェアである。ソフトウェアモジュール220は、マスタモータ駆動装置300及び非マスタモータ駆動装置400を制御するためのソフトウェアである。
The
ソフトウェアモジュール130は、制御命令群生成プログラム131、制御命令群送信プログラム132、時刻同期プログラム133、動作結果群受信プログラム134、動作結果群解析プログラム135、マスタモータ駆動装置選択プログラム136、パラメータ設定プログラム137を含んで構成される。
The software module 130 includes a control instruction
主メモリ112は、OS210及びソフトウェアモジュール220を含むプログラム及びプログラムが使用するデータを格納する。二次メモリ113は、主メモリ112にロードされるプログラム及びデータを格納する不揮発性の非一時的記憶媒体を備える。二次メモリ113は、ネットワークを介して接続された外部の記憶デバイスでもよい。プログラムは、プログラム配布サーバや、計算機読み取り可能な非一時的記憶媒体によって装置にインストールすることができ、各装置の不揮発性記憶デバイスに格納することができる。
The
プログラムはプロセッサ(CPU)によって実行されることで、定められた処理を行う。従って、本開示においてプログラムを主語とする説明は、プロセッサを主語とした説明でもよい。若しくは、プログラムが実行する処理は、そのプログラムが動作する装置及びシステムが行う処理である。 The program is executed by a processor (CPU) to perform a predetermined process. Therefore, in the present disclosure, the description with the program as the subject may be an explanation with the processor as the subject. Or the process which a program performs is a process which the apparatus and system which the program operate | moves perform.
プロセッサは、プログラムに従って動作することによって、所定の機能を実現する機能部として動作する。例えば、プロセッサは、制御命令群生成プログラム131に従って動作することで制御命令群生成部として機能し、時刻同期プログラム133に従って動作することで時刻同期部機能する。他のプログラムについても同様である。以上の点は、マスタモータ駆動装置300及び非マスタモータ駆動装置400において同様である。
The processor operates as a functional unit that realizes a predetermined function by operating according to a program. For example, the processor functions as a control command group generation unit by operating according to the control command
制御命令群生成プログラム131は、PC100がマスタモータ駆動装置300に対して送信する制御命令群を生成する。制御命令群の生成方法の詳細は後に述べる。制御命令群送信プログラム132は、制御命令群生成プログラム131が生成した制御命令群を、ネットワーク上に存在するマスタモータ駆動装置300に転送する。制御命令群の転送方法の詳細は後に述べる。
The control command
時刻同期プログラム133は、ネットワーク上に存在するマスタモータ駆動装置120と時刻同期を行う。時刻同期を行う方法は、例えば、SNTP(Simple Network Time Protocol)やIEEE1588に準拠したプロトコルを使用する。動作結果群受信プログラム134は、マスタモータ駆動装置300からモータ500の動作結果群を受信する。動作結果群の受信方法の詳細は後に述べる。
The
動作結果群解析プログラム135は、動作結果群受信プログラム134を利用して受信した動作結果群を解析し、その解析結果を表示する。ユーザは、動作結果群解析プログラム135にて表示される動作結果を参照し、モータ500の動作状態を確認、必要に応じて、制御命令の再生成やマスタモータ駆動装置300、ならびに非マスタモータ駆動装置400の動作パラメータの再設定を行うことが可能となる。
The operation result
マスタモータ駆動装置選択プログラム136は、システムに存在するモータ駆動装置の中からマスタモータ駆動装置として動作するモータ駆動装置を選択する。マスタモータ駆動装置300の選択方法の詳細は後に述べる。
The master motor driving
パラメータ設定プログラム137は、マスタモータ駆動装置300及び非マスタモータ駆動装置400を動作させるために必要なパラメータ、例えば、上限/下限周波数や加速/減速時間、基底周波数などを、マスタモータ駆動装置300及び非マスタモータ駆動装置400に転送する。
The
図3は、マスタモータ駆動装置300の構成例を示す。マスタモータ駆動装置300は、ハードウェアリソース310、OS320、ソフトウェアモジュール330を含んで構成される。ハードウェアリソース310は、マイクロコントローラ311、通信IF312、時計313、外部I/O314、二次メモリ315を含んで構成される。
FIG. 3 shows a configuration example of the master
マイクロコントローラ311は、プロセッサであるCPU及びROMやRAM等のメモリを含んで構成されるモジュールである。通信IF312は、PC100や、非マスタモータ駆動装置400、リモートI/O600とデータ通信を行うためのインタフェースであり、イーサネットやシリアルケーブル、無線などのインタフェースが該当する。
The
時計313は、マスタモータ駆動装置300の時刻を刻む。外部I/O314は、接続されているモータ500の回転数を制御するためのインタフェースであり、アナログI/OやデジタルI/Oなどが該当する。
The
二次メモリ315は、例えば、揮発性メモリ、不揮発性メモリ、HDD、又はSSDである。二次メモリ315は、異常時のモータ500の動作パターンを示した異常処理パターン316、PC100より外部通信部254を介して転送されるシステムに存在する非マスタモータ駆動装置400に対する制御命令群317、非マスタモータ駆動装置400の動作結果群318を格納する。異常処理パターン316は、1又は複数のパターンを含む。
The
OS320は、マスタモータ駆動装置300の動作を統括的に制御する基本ソフトウェアである。OS320は、例えば、組み込みシステムに使用されるリアルタイムオペレーティングシステムであり、マイクロコントローラ311内のメモリに格納され、マイクロコントローラ311のCPUにより実行される。
The
ソフトウェアモジュール330は、PC100及び非マスタモータ駆動装置400とのデータ通信、ならびにモータ500の制御において使用される。ソフトウェアモジュール330は、制御命令群受信プログラム331、動作結果群送信プログラム332、時刻同期プログラム133、制御命令送信プログラム333、動作結果受信プログラム334、モータ制御プログラム335、装置情報送信プログラム336、及び異常処理実行プログラム337を含む。
The
ソフトウェアモジュール330は、マイクロコントローラ311内のメモリに格納され、マイクロコントローラ311のCPUにより実行される。ソフトウェアモジュール330の少なくとも一部は、二次メモリ315からロードされてもよい。制御命令群受信プログラム331は、通信IF312を介して転送された制御命令群を受信し、二次メモリ315に格納する。
The
動作結果群送信プログラム332は、二次メモリ315に格納されている、システム内の非マスタモータ駆動装置400やモータ500の動作結果を、通信IF312を通じてPC100に転送する。非マスタモータ駆動装置400の動作結果は、後に述べる動作結果受信プログラム334を介して受信される。モータ500の動作結果は、外部I/O314を介して取得される。
The operation result
制御命令送信プログラム333は、システム内の非マスタモータ駆動装置400に対して通信IF312を通じて制御命令を送信する。制御命令の送信方法の詳細は後に述べる。動作結果受信プログラム334は、システム内の非マスタモータ駆動装置400から制御下のモータ500の動作結果を受信し、二次メモリ315に格納する。
The control
モータ制御プログラム335は、二次メモリ315に格納されている制御命令群317を基に、外部I/O314を通じて、モータ500の制御を行う。モータ500の制御方法の詳細は後に述べる。
The
装置情報送信プログラム336は、PC100から受信した装置情報要求に対して、当該マスタモータ駆動装置300の種別や利用可能なメモリ容量などの装置情報を取得し、装置情報応答に含めてPC100に送信する。装置情報取得処理の詳細は後に述べる。
In response to the device information request received from the
異常処理実行プログラム337は、接続されているモータ500、システム内の非マスタモータ駆動装置400の動作結果、リモートI/O600の状態から異常を検出し、異常に応じたメッセージを他のモータ駆動装置に送信する。
The abnormality
異常処理実行プログラム337は、検出した異常又は外部から受信した異常メッセージに対応する動作パターンを、二次メモリ315に格納されている異常処理パターン316から選択し、選択した動作パターンに応じてモータ500の制御を行う。異常処理パターン316が複数の動作パターンを含む場合、異常処理実行プログラム337は、各動作パターンと異常内容との対応関係を予め保持している。
The abnormality
図4は、非マスタモータ駆動装置400の構成例を示す。非マスタモータ駆動装置400は、ハードウェアリソース310、OS320、ソフトウェアモジュール330を含んで構成される。非マスタモータ駆動装置400のハードウェアリソース310は、マスタモータ駆動装置300と同様である。なお、以下に説明する動作において、非マスタモータ駆動装置400は時計313を必要としない。
FIG. 4 shows a configuration example of the non-master
二次メモリ315は、マスタモータ駆動装置300と同様に異常時の動作パターンを示した異常処理パターン316を格納し、マスタモータ駆動装置300と異なり、他の非マスタモータ駆動装置400に対する制御命令群317及び他の非マスタモータ駆動装置400の動作結果群318を格納していない。
Similar to the master
ソフトウェアモジュール330は、マスタモータ駆動装置300とのデータ通信及びモータ500の制御に使用される。ソフトウェアモジュール330は、装置情報送信プログラム336、異常処理実行プログラム337、制御命令受信プログラム340、動作結果送信プログラム341、及びモータ制御プログラム342を含む。
The
装置情報送信プログラム336は、PC100から受信した装置情報要求に対して、当該非マスタモータ駆動装置400の種別や利用可能なメモリ容量などの装置情報を取得し、装置情報応答に含めてPC100に送信する。
In response to the device information request received from the
異常処理実行プログラム337は、接続されているモータ500の動作結果から異常を検出し他のモータ駆動装置に異常メッセージを送信する。異常処理実行プログラム337は、二次メモリ315に格納されている異常処理パターン316から検出した異常に対応する、又は、外部から受信した異常メッセージに対応する動作パターンを選択し、当該動作パターンに従ってモータ500の制御を行う。異常処理パターン316が複数の動作パターンを含む場合、異常処理実行プログラム337は、各動作パターンと異常内容との対応関係を予め保持している。
The abnormality
制御命令受信プログラム340は、マスタモータ駆動装置300が送信する制御命令を受信する。制御命令の受信方法の詳細は後に述べる。動作結果送信プログラム341は、マスタモータ駆動装置300に対して、接続されているモータ500の動作結果を送信する。モータ制御プログラム342は、制御命令受信プログラム340が受信した制御命令を基に、外部I/O314を通じて、接続されているモータ500を制御する。モータ500の制御方法の詳細は後に述べる。
The control
以下に説明する例において、マスタモータ駆動装置300は、システム内のモータ駆動装置から選択される。したがって、マスタモータ駆動装置300として選択され得るモータ駆動装置は、上記マスタモータ駆動装置300及び非マスタモータ駆動装置400の双方のプログラムを保持し、マスタモータ駆動装置300又は非マスタモータ駆動装置400として、必要なプログラムを実行する。非マスタモータ駆動装置400としてのみ動作するモータ駆動装置は、マスタモータ駆動装置300の機能は不要であり、非マスタモータ駆動装置400のプログラムのみ格納する。
In the example described below, the master
システム内のモータ駆動装置は、全て共通のハードウェア構成を有してもよく、異なるハードウェア構成を有してもよい。例えば、マイクロコントローラの演算能力やメモリ容量、記憶装置の容量が異なるモータ駆動装置がシステム内に含まれていてもよい。 All the motor drive devices in the system may have a common hardware configuration or different hardware configurations. For example, the system may include motor drive devices having different calculation capabilities, memory capacities, and storage device capacities of the microcontroller.
図5は、システム起動時におけるPC100、マスタモータ駆動装置300、及び非マスタモータ駆動装置400の動作シーケンスを示す。起動後、PC100は、システム内のモータ500の回転数の動作パターンを作成する制御命令群生成処理S500を、制御命令群生成プログラム131を利用して実行する。
FIG. 5 shows an operation sequence of the
ユーザは、例えば、表計算プログラムを利用して、図6に示すような各モータ駆動装置に関する時間に対する回転数の変化を示すデータを作成する。図6は、二つのモータ駆動装置のための回転数変化を示す。制御命令群生成プログラム131は、モータ駆動装置それぞれに対してユーザにより生成された回転数の変化に対応する制御命令を生成する。例えば、図6の回転数変化それぞれは、一つの制御命令に対応する。
The user uses, for example, a spreadsheet program to create data indicating changes in the number of rotations with respect to time for each motor drive device as shown in FIG. FIG. 6 shows the rotational speed change for the two motor drives. The control command
PLCを利用して図6に示す動作パターンを作成する場合、ラダーロジックを利用する必要がある。ラダーロジックはプログラミング言語の一種であるため、その開発は、表計算プログラムを利用して開発する場合と比較して、多大な工数を要する。更に、動作パターンを変更する場合、表計算プログラムの場合、該当する値のみ変更すればよいが、ラダーロジックの場合、再度、プログラミングを行う必要があるため、多大な工数を要する。 When the operation pattern shown in FIG. 6 is created using the PLC, it is necessary to use ladder logic. Since ladder logic is a kind of programming language, its development requires a lot of man-hours compared with the case of developing using a spreadsheet program. Furthermore, when the operation pattern is changed, in the case of a spreadsheet program, it is only necessary to change the corresponding value. However, in the case of ladder logic, it is necessary to perform programming again, which requires a lot of man-hours.
これに対して、本開示の構成のように、汎用計算機構成を有するPC100によって、マスタモータ駆動装置300に転送する制御命令の生成及び変更を容易に行うことができる。
On the other hand, as in the configuration of the present disclosure, the
制御命令群生成処理S500を実行後、PC100は、マスタモータ駆動装置決定処理S600を実行する。具体的には、PC100は、マスタモータ駆動装置選択プログラム136を利用して、システム内のモータ駆動装置からマスタモータ駆動装置300を選択する。
After executing the control command group generation process S500, the
図7は、マスタモータ駆動装置決定処理S600の詳細を示す。マスタモータ駆動装置選択プログラム136は、システム内の全モータ駆動装置から、モータ駆動装置の種別及び利用可能なメモリサイズを含む装置情報を取得する(S602〜S604)。
FIG. 7 shows details of the master motor drive device determination process S600. The master motor drive
具体的には、マスタモータ駆動装置選択プログラム136は、装置情報要求を生成し、モータ駆動装置に対して送信する(S602)。マスタモータ駆動装置選択プログラム136は、装置情報要求を送信したモータ駆動装置から、装置情報要求に対する応答を受信する(S603)。マスタモータ駆動装置選択プログラム136は、システム内の全モータ駆動装置について、ステップS602、603を繰り返す(S604:NO)。
Specifically, the master motor drive
利用可能なメモリサイズは、後述する制御命令群を格納するためのメモリサイズに対応し、例えば、二次メモリ315の空き容量、二次メモリ315とマイクロコントローラ内のメモリ空き容量の合計、又はこれらから規定の計算方法により算出される容量を示す。
The available memory size corresponds to a memory size for storing a control instruction group to be described later. For example, the free capacity of the
システム内の全モータ駆動装置から装置情報要求に対する応答を受信すると(S604:YES)、マスタモータ駆動装置選択プログラム136は、受信した装置情報を解析して(S606)、マスタモータ駆動装置候補となるモータ駆動装置がシステム内に存在しているか否かを判定する(S610)。
When a response to the device information request is received from all the motor drive devices in the system (S604: YES), the master motor drive
上述のように、装置情報は装置の種別を含む。マスタモータ駆動装置選択プログラム136は、装置種別からマスタモータ駆動装置に適した駆動装置が存在しているか判定する。装置種別は、装置のハードウェア構成に対応する。マスタモータ駆動装置選択プログラム136は、マスタモータ駆動装置として選択可能な装置種別を予め保持しており、システムから受信したいずれかの装置種別が予め保持する装置種別と一致する場合、マスタモータ駆動装置候補がシステム内に存在していると判定する。
As described above, the device information includes the type of device. The master motor drive
また、マスタモータ駆動装置選択プログラム136は、装置種別の他、動作周波数などのマイクロコントローラ311の性能に関する情報、ソフトウェアモジュール330のバージョン情報等を使用して、マスタモータ駆動装置を選択してもよい。
Further, the master motor drive
このように、装置種別や装置特性等の構成情報に基づきマスタモータ駆動装置を選択することで、マスタモータ駆動装置として適切に動作できるモータ駆動装置を選択できる。また、マスタモータ駆動装置として選択可能な装置の識別子を予め保持する構成と比較して、選択のために必要な情報を低減できる。マスタモータ駆動装置選択プログラム136は、マスタモータ駆動装置として選択可能な装置の識別子を予め保持してもよい。
As described above, by selecting the master motor driving device based on the configuration information such as the device type and the device characteristics, it is possible to select a motor driving device that can appropriately operate as the master motor driving device. In addition, information necessary for selection can be reduced as compared with a configuration in which identifiers of devices that can be selected as a master motor driving device are stored in advance. The master motor drive
判定結果が、マスタモータ駆動装置候補がシステム内に存在していないことを示す場合(S610:NO)、マスタモータ駆動装置選択プログラム136は、本システムを動作させることが難しいと判定し、その旨を示すエラーメッセージを、PC100の表示装置で表示する(S622)。
When the determination result indicates that the master motor drive device candidate does not exist in the system (S610: NO), the master motor drive
判定結果が、マスタモータ駆動装置候補がシステム内に存在することを示す場合(S610:YES)、マスタモータ駆動装置選択プログラム136は、全てのマスタモータ駆動装置候補を選択する(S612)。さらに、マスタモータ駆動装置選択プログラム136は、選択したマスタモータ駆動装置候補が、御命令群生成処理S500にて生成した制御命令群を格納できるか否かを判定する。
When the determination result indicates that there are master motor drive device candidates in the system (S610: YES), the master motor drive
具体的には、マスタモータ駆動装置選択プログラム136は、変数iに1を代入し、合計メモリサイズを0と設定する(S614)。次に、マスタモータ駆動装置選択プログラム136は、マスタモータ駆動装置候補として選択したモータ駆動装置の利用可能メモリサイズの中からi番目に大きいメモリサイズを選択し、合計メモリサイズに加える(S615)。
Specifically, the master motor drive
マスタモータ駆動装置選択プログラム136は、合計メモリサイズとシステム内のモータ駆動装置に対する制御命令群のサイズを比較する(S616)。比較結果が、制御命令群のサイズが大きいことを示す場合(S616:NO)、マスタモータ駆動装置選択プログラム136は、未選択のマスタモータ駆動装置が残っているか判定する(S618)。
The master motor drive
未選択のマスタモータ駆動装置が残っていない場合(S618:NO)、マスタモータ駆動装置選択プログラム136は、本システムを動作させることが難しいと判定し、その旨を示すエラーメッセージをPC100の表示装置で表示する(S622)。
When there is no unselected master motor driving device remaining (S618: NO), the master motor driving
未選択のマスタモータ駆動装置候補が残っている場合(S618:YES)、マスタモータ駆動装置選択プログラム136は、変数iをインクリメントし(S620)、ステップS614に戻る。
If unselected master motor drive device candidates remain (S618: YES), the master motor drive
ステップS616において、制御命令群サイズと合計メモリサイズの比較結果が、制御命令群のサイズが合計メモリサイズ以下であることを示す場合(S616:YES)、マスタモータ駆動装置選択プログラム136は、本システムを動作させることが可能と判定し、合計メモリサイズの算出のために選択したマスタモータ駆動装置候補を、マスタモータ駆動装置と決定する。
In step S616, when the comparison result between the control instruction group size and the total memory size indicates that the control instruction group size is equal to or smaller than the total memory size (S616: YES), the master motor drive
マスタモータ駆動装置選択プログラム136は、制御命令群生成処理S500にて生成した制御命令群をマスタモータ駆動装置として動作する装置の利用可能メモリサイズに合わせて分割する(S630)。なお、分割された各制御命令群は、送信先のマスタモータ駆動装置に対する制御命令を含む。
The master motor drive
上述のように、マスタモータ駆動装置選択プログラム136は、利用可能メモリサイズが大きい順にマスタモータ駆動装置候補を選択し、合計メモリサイズを計算する。マスタモータ駆動装置選択プログラム136は、合計メモリサイズが制御命令群サイズ以上となる1以上のマスタモータ駆動装置候補を、マスタモータ駆動装置と決定する。
As described above, the master motor driving
マスタモータ駆動装置選択プログラム136は、選択したマスタモータ駆動装置それぞれの利用可能メモリサイズに応じて、制御命令群を分割する。全てのマスタモータ駆動装置候補の利用可能メモリサイズの合計が、制御命令群サイズ未満である場合、エラーを表示する。
The master motor drive
図5に戻って、マスタモータ駆動装置決定処理S600にてマスタモータ駆動装置300を決定した後、PC100及びマスタモータ駆動装置300は、時刻同期処理S700を実行する。時刻同期処理S700は、マスタモータ駆動装置300に搭載している時計313の時刻と、PC100が持つ時計の時刻とを同期する。具体的には、PC100の時刻同期プログラム133は、PC100の計測時刻をマスタモータ駆動装置300に送信し、マスタモータ駆動装置300のマイクロコントローラ311は、受信した時刻に合わせて時計313を調整する。
Returning to FIG. 5, after determining the master
時刻同期処理S700の実行後、PC100及びマスタモータ駆動装置300は、制御命令群通信処理S800を実行する。PC100は、選択したマスタモータ駆動装置300それぞれに、対応する制御命令群を送信し、各マスタモータ駆動装置300は、自装置に送信された制御命令群を受信する。
After execution of the time synchronization process S700, the
マスタモータ駆動装置300及び非マスタモータ駆動装置400は、モータ制御処理S900を実行する。マスタモータ駆動装置300は、PC100から受信した自装置への制御命令に従って、自装置に接続されたモータ500を制御すると共に、対象の非マスタモータ駆動装置400に、PC100から受信した制御命令を転送する。非マスタモータ駆動装置400は、受信した制御命令に従って、自装置に接続されたモータ500を制御する。
The master
その後、マスタモータ駆動装置300及びPC100は、動作結果群通信処理S1000を実行する。マスタモータ駆動装置300は、自装置に接続されたモータ500の動作結果及び制御命令を転送した非マスタモータ駆動装置400から受信した動作結果を、PC100に送信する。PC100は、マスタモータ駆動装置300それぞれから、動作結果を受信する。動作結果は、例えば、実行した制御命令及び正常に動作したか否かを示す。
Thereafter, the master
図8は、制御命令群通信処理S800及び動作結果群通信処理S1000における、PC100の動作のフローチャートを示す。PC100は、制御命令群送信プログラム132及び動作結果群受信プログラム134、動作結果群解析プログラム135に従って動作する。
FIG. 8 shows a flowchart of the operation of the
制御命令群送信プログラム132は、ステップ630にて分割された制御命令群を、該当するマスタモータ駆動装置300それぞれに対して送信する(S810)。図10は、制御命令群1000のフォーマット例を示す。制御命令群1000のフォーマットは、三つのフィールドを有する。
The control command
制御命令フィールド1010は、制御命令を示す。時刻フィールド1020は、その制御命令を実行する時刻情報を示す。モータ駆動装置番号フィールド1030は、制御命令送信先のモータ駆動装置を識別する番号を示し、自装置又は非マスタモータ駆動装置の番号を示す。マスタモータ駆動装置300は、制御命令フィールド1010が示す制御命令を、時刻フィールド1020が示す時刻に、モータ駆動装置番号フィールド1030が示すモータ駆動装置に送信する。
A
時刻フィールド1020は、絶対時刻を示してもよく、相対時刻を示してもよい。時刻フィールド1020が相対時刻を示す場合、制御命令群は、基準時刻の情報を含む。例えば、PC100がマスタモータ駆動装置300に対して送信する制御命令群の中で最初に実行される制御命令に対して開始時刻(基準時刻)が対応付けられており、他の制御命令の時刻フィールド1020は、開始時刻からの経過時間を示す。
The
制御命令群は、制御命令の実行時刻の情報として、開始時刻(基準時刻)及び周期を示してもよい。開始時刻及び周期は、それぞれ、制御命令群に送信先のモータ駆動装置に共通である、又は、モータ駆動装置毎に示される。マスタモータ駆動装置300は、各非マスタモータ駆動装置400の制御命令群において、最初の制御命令を対応開示時刻に送信し、対応周期でその後の制御命令を送信する。マスタモータ駆動装置300は、自装置の制御命令群において、最初の制御命令を対応開示時刻に実行し、対応周期でその後の制御命令を実行する。
The control command group may indicate a start time (reference time) and a cycle as information on the execution time of the control command. The start time and the period are respectively common to the destination motor drive device in the control command group, or are indicated for each motor drive device. In the control command group of each non-master
制御命令群が上述のような時刻情報を含むことで、マスタモータ駆動装置300は、他設定を必要とすることなく、正確なタイミングで制御命令を非マスタモータ駆動装置400に送信することができる。
By including the time information as described above in the control command group, the master
例えば、複数モータの同期制御では、制御命令実行する周期はモータ500毎に異なる場合がある。数10台〜数100台のモータの同期制御を行う場合、周期についての事前設定に多大な時間を要する。上述のように、制御命令群に各制御命令を実行する時刻を示す情報を含めることで、上記のようなモータ500毎の周期設定が不要となる。
For example, in the synchronous control of a plurality of motors, the control command execution cycle may be different for each
また、複数のマスタモータ駆動装置300それぞれに送信する制御命令群は、送信先のマスタモータ駆動装置300の動作タイミングを示す時刻情報を含むため、マスタモータ駆動装置として動作する権利をモータ駆動装置間で引き継ぐ仕組みが不要となる。
In addition, the control command group transmitted to each of the plurality of master
図8に戻って、制御命令群送信プログラム132は、マスタモータ駆動装置300に対して制御命令群を送信した後、その送信に対する応答メッセージを受信する(S812)。制御命令群を送信した全てのマスタモータ駆動装置300から応答メッセージを受信した場合(S812:YES)、制御命令群送信プログラム132は、マスタモータ駆動装置300が正常に制御命令群を受信したと判定する。動作結果群受信プログラム134は、動作結果群の受信を持つ(S1010)。
Returning to FIG. 8, the control command
制御命令群を送信した全てのマスタモータ駆動装置300から応答メッセージを受信できない場合(S812:NO)、制御命令群送信プログラム132は、マスタモータ駆動装置300の何れかに異常が発生したと判定し、マスタモータ駆動装置300及び非マスタモータ駆動装置400に対して異常メッセージを送信し(S814)、その旨を示すエラーメッセージをPC100の表示装置で表示する(S816)。
When response messages cannot be received from all the master
動作結果群受信プログラム134が、全てのマスタモータ駆動装置300から動作結果群を受信した場合(S1010:YES)、その受信した動作結果群を解析した後、その解析結果をPC100上に表示する(S1012、S1014)。
When the operation result
一方、制御命令群を送信したマスタモータ駆動装置300の1つでも動作結果群の受信がなく(S1010:NO)、生成した制御命令群に付加した時刻を経過した場合(S1016:YES)、マスタモータ駆動装置300に異常が発生したと判定し、マスタモータ駆動装置300、ならびに非マスタモータ駆動装置400に対して異常メッセージを送信し(S1018)、その旨をエラーメッセージとしてPC100上に表示する(S1020)。
On the other hand, if even one of the master
上述のように、モータ制御システムは、マスタモータ駆動装置に対し時刻情情報と共に制御命令を送信し、マスタモータ駆動装置が、時刻情報に従って、非マスタモータ駆動装置に制御命令を転送する。これにより、汎用計算機構成を有するPCで制御命令を生成し、モータ駆動装置それぞれに、リアルタイムで制御命令を送信することができる。 As described above, the motor control system transmits a control command together with time information to the master motor driving device, and the master motor driving device transfers the control command to the non-master motor driving device according to the time information. Thereby, a control command can be generated by a PC having a general-purpose computer configuration, and the control command can be transmitted to each motor drive device in real time.
さらに、モータ制御システムは、システム内のモータ駆動装置の中から1又は複数のマスタモータ駆動装置を選択する。これにより、マスタモータ駆動装置として適切なモータ駆動装置を選択することができる。特に、メモリサイズに基づき1以上のマスタモータ駆動装置を選択することで、全ての制御命令群を1以上のマスタモータ駆動装置に格納できる。 Further, the motor control system selects one or a plurality of master motor driving devices from among the motor driving devices in the system. Thereby, an appropriate motor drive device can be selected as the master motor drive device. In particular, by selecting one or more master motor driving devices based on the memory size, all control command groups can be stored in one or more master motor driving devices.
また、複数のマスタモータ駆動装置を選択できることにより、大容量の制御命令を必要とする大規模システムにおいても、制御命令を分割してマスタモータ駆動装置に転送することが可能となり、コスト増大に繋がるメモリサイズの増大を抑えることができる。なお、設計によっては、一つのみのマスタモータ駆動装置が選択可能でもよい。 Further, since a plurality of master motor drive devices can be selected, even in a large-scale system that requires a large-capacity control command, the control command can be divided and transferred to the master motor drive device, leading to an increase in cost. An increase in memory size can be suppressed. Depending on the design, only one master motor drive device may be selectable.
図9A〜9Cは制御命令群通信処理800、モータ制御処理900、及び動作結果群通信処理S1000における、マスタモータ駆動装置300及び非マスタモータ駆動装置400の動作のフローチャートを示す。マスタモータ駆動装置400は、モータ制御処理900においてのみ動作する。
9A to 9C show flowcharts of operations of the master
図9Aにおいて、システム内のモータ駆動装置は、制御命令群受信プログラム331によって、PC100が送信する制御命令群を受信すると(S850:YES)、自装置がマスタモータ駆動装置300として動作すると認識する。制御命令群受信プログラム331は、受信した制御命令群を解析した後、二次メモリ315に制御命令群317として格納する(S852)。
In FIG. 9A, the motor driving device in the system recognizes that its own device operates as the master
マスタモータ駆動装置300の制御命令送信プログラム333は、時計313と制御命令群317の時刻フィールド1020の値を比較する。現在時刻が、制御命令を非マスタモータ駆動装置400又は制御下のモータ500に送信する時刻である場合(S910:YES)、制御命令送信プログラム333は、各制御命令を、非マスタモータ駆動装置400又は自装置のモータ制御プログラム335に送信する。本例において、時計313が示す時刻が時刻フィールド1020の値と一致する場合、現在時刻が、制御命令を非マスタモータ駆動装置400又は制御下のモータ500に送信する時刻である。
The control
マスタモータ駆動装置300のモータ制御プログラム335は、自装置に接続されているモータ500に対して制御命令を送信する。モータ制御プログラム335は、モータ500のインタフェースに応じて制御命令を制御指令に変更した後、モータ500に対して制御指令を送信する(S912)。
The
動作結果受信プログラム334は、制御命令を送信した各非マスタモータ駆動装置400及び自装置のモータ制御プログラム335から動作結果を受信できた場合(S914のYES)、各非マスタモータ駆動装置400及び自装置が正常にモータ500に対して制御指令を送信できたと判定し、その動作結果を二次メモリ315に動作結果318として保存する(S916)。動作結果318は、例えば、制御命令、送信先モータ駆動装置、及び送信時刻の情報を格納する。
The operation
一方、自装置モータ制御プログラム335又は制御命令を送信した何れかの非マスタモータ駆動装置400から正常な動作結果を受信できない場合(S914:NO)、異常処理実行プログラム339は、システム内で異常が発生したと判定し、結合子Bを介して、図9Bのフローチャートに進む。
On the other hand, when the normal operation result cannot be received from the own apparatus
異常処理実行プログラム339は、他のモータ駆動装置に対して検出した異常に対応する異常メッセージを送信するとともに(S950)、自装置に接続されているモータ500に対して、異常処理パターン316から検出した以上に応じて選択した動作パターン合った制御指令を送信する(S952)。これにより、非マスタモータ駆動装置400における異常発生時に、モータシステムを適切に制御することができる。異常処理パターン316は、図10に示すような、回転数の時間変化を示し、異常処理実行プログラム339は、異常処理パターン316に合った制御指令を予め保持する又は異常時に生成する。
The abnormality processing execution program 339 transmits an abnormality message corresponding to the detected abnormality to the other motor driving device (S950) and detects from the
図9Aに戻って、非マスタモータ駆動装置400の制御命令受信プログラム340は、マスタモータ駆動装置300が送信した制御命令を受信すると(S920:YES)、その受信した制御命令を、モータ制御プログラム335に送信する。モータ制御プログラム335は、接続されているモータ500のインタフェースに応じて制御命令を変更した後、モータ500に対して制御命令を送信する(S922)。
Returning to FIG. 9A, when the control
モータ制御プログラム335は、モータ500から動作結果を受信し(S924)、その結果が正常の場合(S926:YES)、動作結果を、動作結果送信プログラム341に送信する。動作結果送信プログラム341は、マスタモータ駆動装置300に動作結果を送信する(S928)。
The
一方、モータ500から受信した動作結果が正常ではない場合(S926:NO)、非マスタモータ駆動装置400の異常処理実行プログラム339は、モータ500の動作に異常が発生したと判定し、結合子Bを介して、図9Bのフローチャートに進む。異常処理実行プログラム339は、他のモータ駆動装置に対して異常メッセージを送信するとともに(S950)、自装置に接続されているモータ500に対して、異常処理パターン316から選択した動作パターンに合った制御指令を送信する(S952)。これにより、異常発生時にモータシステムを適切に制御できる。
On the other hand, when the operation result received from the
図9Aに戻って、マスタモータ駆動装置300及び非マスタモータ駆動装置400の異常処理実行プログラム339は、異常メッセージを受信すると(S930:YES)、受信した異常メッセージを解析した後(S932)、自装置に接続されているモータ500に対して、異常処理パターン316からメッセージに応じて選択した動作パターンに合った制御命令を送信する(S934)。
Returning to FIG. 9A, when the abnormal process execution program 339 of the master
図9Cに示すように、マスタモータ駆動装置300は、定期的にリモートI/O600が送信するメッセージを受信し(S940:YES)、異常処理実行プログラム339は、メッセージを解析する(S942)。異常メッセージの送信が必要と判定した場合(S944:YES)、異常処理実行プログラム339は、他のモータ駆動装置に対して異常メッセージを送信するとともに(S950)、自装置に接続されているモータ500に対して、異常処理パターン316からメッセージに応じて選択した動作パターンに合った制御指令を送信する(S952)。
As shown in FIG. 9C, the master
リモートI/O600が送信したメッセージを受信することにより、リモートI/O600の状態に応じた異常処理を実行できる。例えば、外部設置した温度センサのセンサ情報を取得し、そのセンサ情報の値が閾値以上になった場合に異常処理を行うことができる。
By receiving the message transmitted by the remote I /
異常メッセージの送信及び異常処理パターンに合ったモータ500への制御指令を送信する構成により、システム内に存在するモータ駆動装置の一つでも異常が発生した場合に適切な異常処理が可能となり、システムの暴走を防ぐことができる。モータ500の異常処理として、モータ急停止、モータをゆっくり減速し後停止、モータをゆっくり減速させた後一定度速度の動作を維持など、色々な方法が考えられる。
With the configuration of transmitting an abnormal message and transmitting a control command to the
例えば、人身事故を防止するために、モータ制御システムは、モータを急停止させる。一方、ベルトコンベアのモータシステムにおいて、モータを急停止させると、ベルトコンベア上に乗っている作業物が落下する危険がある。この場合、モータ制御システムは、モータをゆっくり減速させて停止させる。予めシステムの状態に対応する異常処理パターン316を二次メモリ315に保存しておくことにより、システムに適した異常処理が可能となる。
For example, in order to prevent personal injury, the motor control system suddenly stops the motor. On the other hand, if the motor is suddenly stopped in the motor system of the belt conveyor, there is a risk that the work on the belt conveyor falls. In this case, the motor control system slowly decelerates and stops the motor. By storing the
図9Cに示すように、非マスタモータ駆動装置400に対する制御命令の送信を完了すると(S1020:YES)、マスタモータ駆動装置300の動作結果群送信プログラム332は、二次メモリ315に格納されている動作結果318を、PC100に送信する(S1022)。
As shown in FIG. 9C, when the transmission of the control command to the non-master
なお、時刻フィールド1020が絶対時刻を示す場合、各マスタモータ駆動装置300が、制御命令群の処理の終了後に、再び同じ処理を実行するためには、PC100、マスタモータ駆動装置300、及び非マスタモータ駆動装置400は、時刻同期処理S700、制御命令群通信処理S800、モータ制御処理S900、及び動作結果群通信処理S1000を実行する必要がある。PC100の故障やPC100とマスタモータ駆動装置300との間のネットワーク異常が発生すると、システムが動作しない可能性がある。
When the
一方、時刻フィールド10120が相対時刻を示す場合、マスタモータ駆動装置300間で制御命令群の中で最も時間が古い時刻以前の時刻に時刻同期を行うことにより、PC100との時刻同期処理S700、制御命令群通信処理S800を行わず、モータ制御処理(S900)を行うことができる。そのため、PC100の故障やPC100とマスタモータ駆動装置300との間のネットワーク異常が発生しても、システムは動作可能である。
On the other hand, when the time field 10120 indicates relative time, time synchronization processing S700 with the
なお、上記動作を行うためには、時刻同期処理(S700)において、グランドマスタとなるマスタモータ駆動装置300を選択する必要がある。例えば、PC100は、マスタモータ駆動装置決定処理S600にて決定したマスタモータ駆動装置300の中で、利用可能なメモリ容量の一番大きい装置を、グランドマスタに選択し、その旨を選択したモータ駆動装置に通知する。
In order to perform the above-described operation, it is necessary to select the master
グランドマスタに選択されたマスタモータ駆動装置300は、各マスタモータ駆動装置300の処理が終了した後、時刻同期プログラム133を利用して、他のマスタモータ駆動装置300との時刻同期を行う。
The master
上記例において、マスタモータ駆動装置300は、モータ駆動装置の種別や利用可能なメモリサイズに基づきで選択される。この方法により、制御指令群のサイズに応じたマスタモータ駆動装置300を選択することができる。
In the above example, the master
しかし、この方法は静的な条件に基づいてマスタモータ駆動装置300を選択にするため、動的な条件、例えば、モータ駆動装置の通算動作時間を無視する。例えば、制御命令群のサイズが1MByteであり、利用可能なメモリサイズが2Mbyteかつ通算動作時間が10000時間のモータ駆動装置と、利用可能なメモリサイズが1Mbyteかつ通信動作時間が10時間のモータ駆動装置が存在する場合、上記方法は、前者のモータ駆動装置をマスタモータ駆動装置300として選択する。
However, since this method selects the master
一方、通算動作時間を考慮すると、前者のモータ駆動装置は故障の可能性が高い。マスタモータ駆動装置300が故障すると、本システムは動作しないことから、故障の可能性が低いモータ駆動装置をマスタモータ駆動装置300として選択する方が好ましい。
On the other hand, in consideration of the total operation time, the former motor driving device has a high possibility of failure. Since the system does not operate when the master
そこで、マスタモータ駆動装置300が非マスタモータ駆動装置400から動作結果を取得する際、及びPC100がマスタモータ駆動装置300から動作結果群を取得する際に、モータ500の動作結果に合わせて、モータ駆動装置の通算動作時間や平均CPU使用率といった動作状態情報を取得する。PC100は、その情報を図11に示す動作状態テーブル1100に格納する。動作状態テーブル1100各々のモータ駆動装置の動作状況に合わせたマスタモータ駆動装置を選択できる。PC100は、モータ駆動装置の動作状態情報を、装置情報の取得ステップ(S602)において取得してもよい。
Therefore, when the master
図11は、PC100が格納する動作状態テーブル1100の構成例を示す。図12は、図11に示す動作結果テーブルを基に、PC100がマスタモータ駆動装置300を選択するフローチャートを示す。
FIG. 11 shows a configuration example of the operation state table 1100 stored in the
動作状態テーブル1100は、モータ駆動装置名フィールド1110、通算動作時間フィールド1120、動作した制御命令群フィールド1130、役割フィールド1140、平均CPU使用率フィールド1150を含んで構成される。PC100は、本テーブル1100により、各々のモータ駆動装置の動作時間、ならびに制御命令群毎の役割と、その際の平均CPU使用率1150を知ることができる。なお、これらは一例であって、他の情報が使用されてもよい。
The operation state table 1100 includes a motor drive
ステップ602により全モータ駆動装置よりモータ駆動装置の種別や利用可能なメモリサイズを取得した後、マスタモータ駆動装置候補が存在する場合(S610:YES)、マスタモータ駆動装置選択プログラム136は、動作状態テーブル1100を参照し(S1210)、マスタモータ駆動装置条件を満たすかマスタモータ駆動装置候補が存在するか否かを判定する(S1220)。
If the master motor drive device candidate exists after obtaining the motor drive device type and the available memory size from all the motor drive devices in step 602 (S610: YES), the master motor drive
マスタモータ駆動装置条件は、例えば、通算動作時間が10000時間以内や平均CPU使用率が80%以内といった、モータ駆動装置の故障発生につながる動作状態の条件である。マスタモータ駆動装置条件を満たすマスタモータ駆動装置候補が存在する場合(S1220:YES)、PC100は、ステップ612以降のステップを実行する。
The master motor drive device condition is a condition of an operation state that leads to the failure of the motor drive device, for example, the total operation time is within 10,000 hours or the average CPU usage rate is within 80%. When there is a master motor driving device candidate that satisfies the master motor driving device condition (S1220: YES), the
一方、マスタモータ駆動装置条件を満たすマスタモータ駆動装置候補が存在しない場合(S1220:NO)、PC100は、本システムを動作させることが難しいと判定し、その旨を示すエラーメッセージを表示装置において表示する(S622)。
On the other hand, when there is no master motor driving device candidate that satisfies the master motor driving device condition (S1220: NO), the
上記のようにマスタモータ駆動装置条件を満たす装置をマスタモータ駆動装置300として選択することにより、マスタモータ駆動装置の動作中の故障を防ぐことができる。さらに平均CPU使用率をマスタモータ駆動装置条件に含めることにより、マスタモータ駆動装置の不安定動作を抑制できる。例えば、モータ駆動装置に搭載したソフトウェアの想定外の動作を行い、当初の予定以上にCPUを利用することにより、非マスタモータ駆動装置400に制御命令送信タイミングが揺らぐ不具合を防ぐことができる。
By selecting a device that satisfies the master motor drive device condition as the master
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明したすべての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。 In addition, this invention is not limited to an above-described Example, Various modifications are included. For example, the above-described embodiments have been described in detail for easy understanding of the present invention, and are not necessarily limited to those having all the configurations described. Further, a part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment. Further, it is possible to add, delete, and replace other configurations for a part of the configuration of each embodiment.
また、上記の各構成・機能・処理部等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD等の記録装置、または、ICカード、SDカード等の記録媒体に置くことができる。また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしもすべての制御線や情報線を示しているとは限らない。実際には殆どすべての構成が相互に接続されていると考えてもよい。 Each of the above-described configurations, functions, processing units, and the like may be realized by hardware by designing a part or all of them, for example, with an integrated circuit. Each of the above-described configurations, functions, and the like may be realized by software by interpreting and executing a program that realizes each function by the processor. Information such as programs, tables, and files for realizing each function can be stored in a recording device such as a memory, a hard disk, or an SSD, or a recording medium such as an IC card or an SD card. In addition, the control lines and information lines are those that are considered necessary for the explanation, and not all the control lines and information lines on the product are necessarily shown. In practice, it may be considered that almost all the components are connected to each other.
100…PC、110…ハードウェアリソース、111…CPU、112…主メモリ、113…二次メモリ、114…通信IF、120…OS、130…ソフトウェアモジュール、131…制御命令群生成プログラム、132…制御命令群送信プログラム、133…時刻同期プログラム、134…動作結果群受信プログラム、135…動作結果群解析プログラム、136…マスタモータ駆動装置選択プログラム、137…パラメータ設定プログラム、200…ネットワーク、300…マスタモータ駆動装置、310…ハードウェアリソース、311…マイクロコントローラ、312…通信IF、313…時計、315…外部I/O、315…二次メモリ、316…異常処理パターン、317…制御命令群、318…動作結果群、320…OS、330…ソフトウェアモジュール、331…制御命令群受信プログラム、332…動作結果群送信プログラム、333…制御命令送信プログラム、334…動作結果受信プログラム、335…モータ制御プログラム、336…装置情報送信プログラム、337…異常処理実行プログラム、340…制御命令受信プログラム、341…動作結果送信プログラム、342…モータ制御プログラム、400…非マスタモータ駆動装置、500…モータ、600…リモートI/O
DESCRIPTION OF
Claims (14)
前記複数のモータ駆動装置がモータを制御するために実行する制御命令を作成する計算機と、を含み、
前記複数のモータ駆動装置は、
前記計算機から、前記制御命令と、前記制御命令を実行するモータ駆動装置の識別情報と、前記制御命令を実行する時刻情報と、を含む制御命令群を受信し、前記モータ駆動装置の識別情報及び前記時刻情報に従って、前記制御命令を転送する、マスタモータ駆動装置と、
前記マスタモータ駆動装置から受信した制御命令に従ってモータを制御する、非マスタモータ駆動装置と、を含む、モータ制御システム。 A plurality of motor drive devices connected via a network;
A computer that creates a control command to be executed by the plurality of motor driving devices to control the motor, and
The plurality of motor driving devices are:
A control command group including the control command, identification information of the motor drive device that executes the control command, and time information that executes the control command is received from the computer, and the identification information of the motor drive device and A master motor driving device for transferring the control command according to the time information;
A non-master motor driving device that controls the motor in accordance with a control command received from the master motor driving device.
前記計算機は、前記制御命令群のサイズ及び前記複数のモータ駆動装置の利用可能メモリサイズに基づき、前記複数のモータ駆動装置の中から前記マスタモータ駆動装置を選択する、モータ制御システム。 The motor control system according to claim 1,
The motor control system, wherein the computer selects the master motor driving device from the plurality of motor driving devices based on a size of the control instruction group and an available memory size of the plurality of motor driving devices.
前記計算機は、
利用可能メモリサイズの合計が前記制御命令群を格納可能な、複数のマスタモータ駆動装置を選択し、
前記複数のマスタモータ駆動装置の利用可能メモリサイズに応じて前記制御命令群を分割し、前記複数のマスタモータ駆動装置に分配し、
前記複数のマスタモータ駆動装置のそれぞれは、受信したモータ駆動装置の識別情報及び時刻情報に従って、受信した制御命令を前記複数のモータ駆動装置における非マスタモータ駆動装置に転送する、モータ制御システム。 The motor control system according to claim 1,
The calculator is
Select a plurality of master motor drive devices that can store the control command group with the total available memory size,
The control command group is divided according to the available memory size of the plurality of master motor driving devices, and distributed to the plurality of master motor driving devices,
Each of the plurality of master motor driving devices transfers a received control command to a non-master motor driving device in the plurality of motor driving devices according to the received identification information and time information of the motor driving device.
前記計算機は、
前記複数のモータ駆動装置の種別に基づき、前記複数のモータ駆動装置の中から複数のマスタモータ駆動装置候補を選択し、
前記複数のマスタモータ駆動装置候補の中から、前記複数のマスタモータ駆動装置を選択する、モータ制御システム。 The motor control system according to claim 3,
The calculator is
Based on the types of the plurality of motor driving devices, select a plurality of master motor driving device candidates from the plurality of motor driving devices,
A motor control system for selecting the plurality of master motor drive devices from the plurality of master motor drive device candidates.
前記計算機は、
前記複数のモータ駆動装置の動作状態に基づき、前記複数のモータ駆動装置の中から複数のマスタモータ駆動装置候補を選択し、
前記複数のマスタモータ駆動装置候補の中から、前記複数のマスタモータ駆動装置を選択する、モータ制御システム。 The motor control system according to claim 3 or 4,
The calculator is
Based on the operating state of the plurality of motor driving devices, select a plurality of master motor driving device candidates from the plurality of motor driving devices,
A motor control system for selecting the plurality of master motor drive devices from the plurality of master motor drive device candidates.
前記複数のモータ駆動装置における第1モータ駆動装置は、管理下のモータの異常を検出すると、制御下のモータを予め設定された異常動作パターンに従って制御し、さらに、第2マスタモータ駆動装置に異常発生を示す異常メッセージを送信し、
前記第2マスタモータ駆動装置は、前記異常メッセージを受信すると、制御下のモータを予め設定された異常動作パターンに従って制御する、モータ制御システム。 The motor control system according to claim 1,
When the first motor driving device in the plurality of motor driving devices detects an abnormality of the managed motor, the first motor driving device controls the controlled motor according to the preset abnormal operation pattern, and further, the second master motor driving device has an abnormality. Send an abnormal message indicating the occurrence,
When the second master motor driving device receives the abnormality message, the second master motor driving device controls a controlled motor according to a preset abnormal operation pattern.
前記マスタモータ駆動装置は、制御命令を送信した非マスタモータ駆動装置から、前記送信した制御命令に対する正常な結果を受信しない場合、前記複数のモータ駆動装置における他のモータ駆動装置に、異常発生を示す異常メッセージを送信する、モータ制御システム。 The motor control system according to claim 1,
When the master motor drive device does not receive a normal result for the transmitted control command from the non-master motor drive device that transmitted the control command, the master motor drive device generates an abnormality in the other motor drive devices in the plurality of motor drive devices. A motor control system that sends an error message indicating.
前記モータ制御システムは、
ネットワークを介して接続されたマスタモータ駆動装置と非マスタモータ駆動装置とを含む複数のモータ駆動装置と、
前記複数のモータ駆動装置がモータを制御するために実行する制御命令を作成する計算機と、を含み、
前記モータ制御方法は、
前記マスタモータ駆動装置が、
前記計算機から、前記制御命令と、前記制御命令を実行するモータ駆動装置の識別情報と、前記制御命令を実行する時刻情報と、を含む制御命令群を受信し、
前記モータ駆動装置の識別情報及び前記時刻情報に従って、前記制御命令を転送し、
前記非マスタモータ駆動装置が、前記マスタモータ駆動装置から受信した制御命令に従ってモータを制御する、ことを含むモータ制御方法。 A motor control method by a motor control system,
The motor control system includes:
A plurality of motor drive devices including a master motor drive device and a non-master motor drive device connected via a network;
A computer that creates a control command to be executed by the plurality of motor driving devices to control the motor, and
The motor control method includes:
The master motor driving device is
A control command group including the control command, identification information of a motor driving device that executes the control command, and time information that executes the control command is received from the computer,
According to the identification information of the motor drive device and the time information, the control command is transferred,
The non-master motor driving device controls a motor according to a control command received from the master motor driving device.
前記計算機は、前記制御命令群のサイズ及び前記複数のモータ駆動装置の利用可能メモリサイズに基づき、前記複数のモータ駆動装置の中から前記マスタモータ駆動装置を選択する、ことを含むモータ制御方法。 The motor control method according to claim 8, comprising:
The computer includes a method of selecting the master motor driving device from the plurality of motor driving devices based on a size of the control instruction group and an available memory size of the plurality of motor driving devices.
前記計算機が、
利用可能メモリサイズの合計が前記制御命令群を格納可能な、複数のマスタモータ駆動装置を選択し、
前記複数のマスタモータ駆動装置の利用可能メモリサイズに応じて前記制御命令群を分割し、前記複数のマスタモータ駆動装置に分配し、
前記複数のマスタモータ駆動装置のそれぞれが、受信したモータ駆動装置の識別情報及び時刻情報に従って、受信した制御命令を前記複数のモータ駆動装置における非マスタモータ駆動装置に転送する、ことを含むモータ制御方法。 The motor control method according to claim 8, comprising:
The calculator is
Select a plurality of master motor drive devices that can store the control command group with the total available memory size,
The control command group is divided according to the available memory size of the plurality of master motor driving devices, and distributed to the plurality of master motor driving devices,
Motor control including each of the plurality of master motor driving devices transferring the received control command to a non-master motor driving device in the plurality of motor driving devices according to the received identification information and time information of the motor driving device. Method.
前記計算機が、
前記複数のモータ駆動装置の種別に基づき、前記複数のモータ駆動装置の中から複数のマスタモータ駆動装置候補を選択し、
前記複数のマスタモータ駆動装置候補の中から、前記複数のマスタモータ駆動装置を選択する、ことを含むモータ制御方法。 The motor control method according to claim 10, comprising:
The calculator is
Based on the types of the plurality of motor driving devices, select a plurality of master motor driving device candidates from the plurality of motor driving devices,
A motor control method comprising: selecting the plurality of master motor drive devices from the plurality of master motor drive device candidates.
前記計算機が、
前記複数のモータ駆動装置の動作状態に基づき、前記複数のモータ駆動装置の中から複数のマスタモータ駆動装置候補を選択し、
前記複数のマスタモータ駆動装置候補の中から、前記複数のマスタモータ駆動装置を選択する、ことを含むモータ制御方法。 The motor control method according to claim 10 or 11,
The calculator is
Based on the operating state of the plurality of motor driving devices, select a plurality of master motor driving device candidates from the plurality of motor driving devices,
A motor control method comprising: selecting the plurality of master motor drive devices from the plurality of master motor drive device candidates.
前記複数のモータ駆動装置における第1モータ駆動装置が、管理下のモータの異常を検出すると、制御下のモータを予め設定された異常動作パターンに従って制御し、さらに、第2マスタモータ駆動装置に異常発生を示す異常メッセージを送信し、
前記第2マスタモータ駆動装置が、前記異常メッセージを受信すると、制御下のモータを予め設定された異常動作パターンに従って制御する、ことを含むモータ制御方法。 The motor control method according to claim 8, comprising:
When the first motor driving device in the plurality of motor driving devices detects an abnormality of the managed motor, the controlled motor is controlled in accordance with a preset abnormal operation pattern, and the second master motor driving device has an abnormality. Send an abnormal message indicating the occurrence,
When the second master motor driving device receives the abnormal message, the motor control method includes: controlling a motor under control according to a preset abnormal operation pattern.
前記モータ制御方法は、
前記マスタモータ駆動装置が、制御命令を送信した非マスタモータ駆動装置から、前記送信した制御命令に対する正常な結果を受信しない場合、前記複数のモータ駆動装置における他のモータ駆動装置に、異常発生を示す異常メッセージを送信する、ことを含むモータ制御方法。 The motor control method according to claim 8, comprising:
The motor control method includes:
If the master motor driving device does not receive a normal result for the transmitted control command from the non-master motor driving device that has transmitted the control command, an abnormality has occurred in other motor driving devices in the plurality of motor driving devices. A motor control method including transmitting an abnormal message indicating.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015109859A JP6456246B2 (en) | 2015-05-29 | 2015-05-29 | Motor control system and motor control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015109859A JP6456246B2 (en) | 2015-05-29 | 2015-05-29 | Motor control system and motor control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016224663A true JP2016224663A (en) | 2016-12-28 |
JP6456246B2 JP6456246B2 (en) | 2019-01-23 |
Family
ID=57748812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015109859A Active JP6456246B2 (en) | 2015-05-29 | 2015-05-29 | Motor control system and motor control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6456246B2 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004072870A (en) * | 2002-08-05 | 2004-03-04 | Muscle Corp | Control method for motor, and control system for motor |
JP2005237163A (en) * | 2004-02-23 | 2005-09-02 | Matsushita Electric Ind Co Ltd | Motor drive device |
JP2005269879A (en) * | 2004-02-19 | 2005-09-29 | Toshiba Corp | Control system |
JP2006086990A (en) * | 2004-09-17 | 2006-03-30 | Toshiba Corp | Control system |
JP2007034398A (en) * | 2005-07-22 | 2007-02-08 | Toshiba Corp | Control system and communication method |
-
2015
- 2015-05-29 JP JP2015109859A patent/JP6456246B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004072870A (en) * | 2002-08-05 | 2004-03-04 | Muscle Corp | Control method for motor, and control system for motor |
JP2005269879A (en) * | 2004-02-19 | 2005-09-29 | Toshiba Corp | Control system |
JP2005237163A (en) * | 2004-02-23 | 2005-09-02 | Matsushita Electric Ind Co Ltd | Motor drive device |
JP2006086990A (en) * | 2004-09-17 | 2006-03-30 | Toshiba Corp | Control system |
JP2007034398A (en) * | 2005-07-22 | 2007-02-08 | Toshiba Corp | Control system and communication method |
Also Published As
Publication number | Publication date |
---|---|
JP6456246B2 (en) | 2019-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3076293A2 (en) | Control apparatus | |
US10139799B2 (en) | Controller to modify an execution condition during program execution | |
JP2023525393A (en) | Method and apparatus for updating gateway resources and IOT control platform | |
EP3119041B1 (en) | Design assistance device, design assistance method, and program | |
EP3258329B1 (en) | Programmable logic controller, method for controlling programmable logic controller, and control program | |
CN103324495A (en) | Method and system for data center server boot management | |
EP3528470B1 (en) | Control device, control system, control method, and control program | |
JP2016115344A (en) | Systems and methods for memory map utilization | |
CN103377115A (en) | System event log management system and system event log management method | |
EP3258328B1 (en) | Plc control data generation device, plc control data generation method, and plc control data generation program | |
CN113656147A (en) | Cluster deployment method, device, equipment and storage medium | |
CN111190823A (en) | UI automation test method, electronic device and computer readable storage medium | |
CN109445706A (en) | Disk partition expansion method, device and server-side | |
KR102376477B1 (en) | Electronic system with data exchange mechanism and method of operation thereof | |
CN106293842B (en) | Software installation method and device | |
US11287793B2 (en) | Control device, control method for control device, information processing program, and recording medium | |
JP6879625B2 (en) | Programmable controller, management device and control system | |
CN105446873A (en) | Automatic test method and system of APK (AndroidPackage) software on the basis of android platform | |
JP6456246B2 (en) | Motor control system and motor control method | |
CN111796903A (en) | Virtual machine migration method, server and computer storage medium | |
CN107222527B (en) | Method for controlling internet of things equipment to operate in different modes through configuration file | |
EP3316060A1 (en) | Control apparatus, control method for control apparatus, control program, and storage medium | |
CN111767126A (en) | System and method for distributed batch processing | |
JP2018010389A (en) | Control application generation support device and control application generation support method | |
US20190005167A1 (en) | Method for Synchronizing a Plurality of Simulations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171120 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180925 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180920 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181108 |
|
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: 20181204 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20181218 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6456246 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |