WO2015159457A1 - Control method for motor drive device, motor control system, and program - Google Patents

Control method for motor drive device, motor control system, and program Download PDF

Info

Publication number
WO2015159457A1
WO2015159457A1 PCT/JP2014/082365 JP2014082365W WO2015159457A1 WO 2015159457 A1 WO2015159457 A1 WO 2015159457A1 JP 2014082365 W JP2014082365 W JP 2014082365W WO 2015159457 A1 WO2015159457 A1 WO 2015159457A1
Authority
WO
WIPO (PCT)
Prior art keywords
motor
control
motor drive
drive device
control command
Prior art date
Application number
PCT/JP2014/082365
Other languages
French (fr)
Japanese (ja)
Inventor
義則 望月
晋一 角尾
高橋 一郎
Original Assignee
株式会社日立産機システム
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 株式会社日立産機システム filed Critical 株式会社日立産機システム
Publication of WO2015159457A1 publication Critical patent/WO2015159457A1/en

Links

Images

Classifications

    • 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
    • H02P6/00Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
    • H02P6/04Arrangements for controlling or regulating the speed or torque of more than one motor
    • 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
    • H02P5/00Arrangements specially adapted for regulating or controlling the speed or torque of two or more electric motors

Definitions

  • the present invention relates to a motor control system including a motor, a motor drive device, and a host device for controlling the motor drive device.
  • Ethernet (registered trademark) communication technology Due to the development of Ethernet (registered trademark) communication technology in the information field, Ethernet (registered trademark) communication technology is also gaining popularity in the FA (Factory Automation) field.
  • a conventional motor control system employs a communication method in which a motor drive device and a host system that controls the motor drive device are connected in parallel and a plurality of data signals are transmitted and received in parallel.
  • the Ethernet (registered trademark) communication method it has become possible to reduce wiring and achieve high reliability.
  • a technology for receiving command information from the host system, driving the motor according to the received command information, asynchronously receiving the time information of the host system, and synchronizing the time inside the motor drive device with the received time information Is known (see, for example, Patent Document 1).
  • Patent Document 1 it is conceivable to transmit a control command necessary for a series of motor operations from the host system in a batch without being aware of the real-time performance of the host system.
  • 100 kbytes to several tens of Mbytes are required as a memory capacity for storing control commands necessary for a series of motor operations received in a batch.
  • a general motor drive device can only be equipped with a small capacity memory. Therefore, in a motor control system that performs synchronous control of a plurality of motors such as a belt conveyor, a control command is sent from a host system. It is difficult to configure so as to be transmitted all at once to the motor drive device.
  • the present invention has been made in view of such circumstances, and realizes a motor control system easily and inexpensively, and synchronizes a plurality of motors while guaranteeing real-time performance even with a motor drive device having a small capacity memory. It is an object to provide a motor control method, a motor control system, and a program that enable control.
  • a typical example of the present invention is as follows. That is, the present invention is a method for controlling a motor drive device in a control device that controls a plurality of motor drive devices via a network.
  • the control device acquires an available memory capacity in the motor driving device and a motor control command execution cycle by the motor driving device, and stores the acquired usable memory capacity and the motor control command execution cycle in a storage unit.
  • the motor drive is provided with the control commands for the number of control commands that can be stored via the network. And transmits to the location.
  • the motor control system can be realized easily and inexpensively, and even with a small capacity motor drive device, it is possible to control multiple motors while guaranteeing real-time performance.
  • FIG. 1 is a diagram illustrating an example of the overall configuration of a motor control system 1.
  • FIG. 2 is a diagram illustrating a configuration example of a control device 100.
  • FIG. 3 is a diagram illustrating a configuration example of a motor driving device 120.
  • FIG. 3 is a sequence diagram showing an outline of operation of the motor control system 1. It is a figure which shows the example of an operation pattern of the rotation speed of the motor. It is a flowchart which shows the detailed process which produces
  • FIG. 5 is a flowchart showing processing for transmitting a control command to a motor driving device 120 and processing for receiving a control result message from the motor driving device 120 in the control device 100.
  • FIG. 5 is a flowchart showing a process of transmitting a control command to the motor 130 and a process of transmitting the state of the motor 130 to the control apparatus 100 in the motor drive device 120.
  • FIG. 1 is a diagram showing an example of the overall configuration of a motor control system 1 according to an embodiment of the present invention.
  • the control device 100 which is a host device in the motor control system 1, is connected to a plurality of motor driving devices 120 via a network such as a wired LAN (Local Area Network) via the HUB 140 and the like.
  • the control device 100 and each motor driving device 120 may be connected by a serial cable or a wireless LAN.
  • a motor 130 is connected to each motor driving device 120.
  • the control device 100 generates a control command corresponding to the motor rotational speed necessary for controlling the motor 130 and transmits the control command to each motor driving device 120.
  • the motor driving device 120 controls the rotation speed of the motor 130 by changing the power supply frequency.
  • a belt conveyor, a winding device, or the like is applicable.
  • FIG. 2A is a diagram illustrating a configuration example of the control device 100.
  • the control device 100 according to the present embodiment is realized using a general-purpose PC. As shown in FIG. 2A, the control device 100 according to the present embodiment includes a hardware module 200, an OS (Operating System) 210, and a software module 220.
  • OS Operating System
  • the hardware module 200 is hardware necessary for operating the control device 100, and includes a CPU (Central Processing Unit), a volatile memory, a nonvolatile memory, a storage device, a display unit such as a display, and an input unit such as a keyboard. , An interface for connecting an external storage medium such as a USB memory, and a communication interface for performing data communication with the motor driving device 120.
  • a CPU Central Processing Unit
  • volatile memory volatile memory
  • nonvolatile memory a nonvolatile memory
  • storage device such as a display
  • an input unit such as a keyboard
  • An interface for connecting an external storage medium such as a USB memory
  • a communication interface for performing data communication with the motor driving device 120.
  • the OS 210 is basic software that comprehensively controls the operation of the control device 100.
  • the software module 220 is software (computer program) necessary for controlling the motor driving device 120, and includes a control command generation function 222, a control result display function 224, a control command transmission function 226, a parameter setting function 228, and a time synchronization function. 230, and a network status monitoring function 232 is included. These software are executed by the CPU.
  • the control command generation function 222 is a function for generating a control command for the motor driving device 120 to control the motor 130.
  • the control result display function 224 receives a message including information indicating the current operation state of the motor 130, which is a result of controlling the motor 130, from the motor driving device 120, analyzes the received message, It is a function which displays the information which shows the operation state of this motor 130 on a display part. The user can confirm the operation state of the motor 130 displayed on the display unit, and can regenerate control commands and reset operation parameters of the motor driving device 120 as necessary.
  • the control command transmission function 226 is a function for transmitting the control command generated by the control command generation function 222 to each motor driving device 120 via the network.
  • the parameter setting function 228 is a function for transmitting parameters necessary for operating the motor drive device 120, such as upper / lower frequency, acceleration / deceleration time, base frequency, etc., to each motor drive device 120 via the network. .
  • the time synchronization function 230 is a function for performing time synchronization with each motor drive device 120 via a network.
  • a protocol based on SNTP (Simple Network Time Protocol) or IEEE 1588 is used as a method for performing time synchronization.
  • the network state monitoring function 232 is a function for monitoring the state of the network by acquiring a message flowing on the network and periodically calculating the traffic amount.
  • FIG. 2B is a diagram illustrating a configuration example of the motor driving device 120.
  • the motor driving device 120 includes a hardware module 250, an OS 210, and a software module 270.
  • the hardware module 250 is hardware necessary for operating the motor driving device 120, and includes a microcomputer 252, an external communication unit 254, a control command storage unit 256, an external I / O 258, and a clock 260.
  • the microcomputer 252 is a module including a CPU, a ROM (Read Only Memory), a RAM (Random Access Memory), and a nonvolatile memory.
  • serial cable registered trademark
  • wireless wireless
  • the control command storage unit 256 is a module that stores a control command received from the control device 100 via the external communication unit 254, and includes a volatile memory, a nonvolatile memory, a HDD (Hard Disk Drive), and an SSD (Solid State Drive). Such a storage device is applicable.
  • External I / O 258 is an interface for controlling the rotation speed of the motor 130, and corresponds to analog I / O, digital I / O, and the like.
  • the clock 260 is a module that records the time of the motor driving device 120.
  • the software module 270 is software (computer program) necessary for data communication with the control device 100 and control of the motor 130.
  • the software module 270 includes a control command reception function 272, a motor control function 274, an operation result transmission function 276, and a time synchronization function 230. Including.
  • the control command receiving function 272 is a function that receives a control command from the control device 100 via the external communication unit 254 and stores the received control command in the control storage unit 256.
  • the motor control function 274 is a function for controlling the motor 130 via the external I / O 258 based on a control command stored in the control storage unit 256. These software are executed by a microcomputer.
  • the operation result transmission function 276 is a function of transmitting the state of the motor 130 acquired through the external I / O 258, for example, the rotational speed to the control device 100 through the external communication unit 254.
  • FIG. 3 is a sequence diagram showing an outline of the operation of the motor control system 1.
  • the motor control system 1 is activated when the power supply of the control device 100 and each motor drive device 120 is activated.
  • step S300 when the motor control system 1 is activated, the time synchronization function 230 provided in each of the control device 100 and the motor drive device 120 causes the time of the timepiece 260 mounted in the motor drive device 120 and the timepiece of the timepiece provided in the control device 100.
  • a process for synchronizing the time is performed (step S300).
  • the control device 100 After the time synchronization process is performed, the control device 100 generates operation pattern information indicating a change in the rotation speed of the motor 130 for each time as illustrated in FIG. 4 in accordance with a user operation (step S302).
  • Software such as EXCEL (registered trademark) is used when generating the operation pattern information of the motor rotation speed.
  • EXCEL registered trademark
  • FIG. 4 An operation pattern as shown in FIG. 4 may be created using PLC, it is necessary to use ladder logic. Ladder logic development requires a large number of man-hours as compared with the case where development is performed using EXCEL (registered trademark) or the like.
  • EXCEL registered trademark
  • the operation pattern information of the motor rotational speed is generated and changed using software such as EXCEL (registered trademark), so that the motor control system 1 can be operated efficiently, and the motor control is performed.
  • EXCEL registered trademark
  • control device 100 After generating the operation pattern information, the control device 100 generates a control command for controlling the motor 130 by the control command generation function 222 (step S304).
  • control device 100 transmits the control command for controlling the motor 130 generated by the control command generation function 222 to each motor drive device 120 via the network by the control command transmission function 226 (steps S306 and S308).
  • control device 100 receives a message indicating the current operation state of the motor 130 as a control result of the motor 130 from each motor driving device 120 by the control result display function 224, and displays it on the display unit. (Step S310, Step S312, Step S314).
  • FIG. 5 is a flowchart showing a detailed process in the control device 100 for generating a control command (FIG. 3_Step S304).
  • the control device 100 generates a motor drive device information acquisition request message and transmits it to each motor drive device 120 via a communication interface built in the hardware module 200 (step S500).
  • Each motor drive device 120 that has received the motor drive device information acquisition request message, the control command execution cycle in which each motor drive device 120 controls the motor 130, the available memory capacity in each motor drive device 120, and each motor drive device A response message including information related to the motor drive device 120 such as the model number is generated and transmitted to the control device 100 via the external communication unit 254.
  • control device 100 determines whether or not a response message has been received from the motor drive device 120 (step S502).
  • the control device 100 displays an error message on the display unit and notifies the user that the response message is not received (step S520). If a response message is not received even after a predetermined time has elapsed, the motor drive device information acquisition request message may be retransmitted.
  • the control device 100 stores the information regarding the motor drive device 120 included in the response message in a storage unit such as a volatile memory, and the use stored in the storage unit.
  • a storage unit such as a volatile memory
  • the number of control commands (number of storable control commands) that can be stored in the motor drive device 120 is calculated (step S504). For example, when the available memory capacity is 2 kBytes and the data size of the control command is 2 Bytes, the number of control commands that can be stored in the motor drive device 120 is 1000 (2 kBytes / 2 Bytes).
  • control device 100 multiplies the number of storable control commands calculated in step S504 by the control command execution cycle of the motor 130 stored in the storage unit, so that the control device 100 sends a control command to the motor drive device 120.
  • a transmission cycle (control command transmission cycle) is calculated (step S506). For example, when the control command execution cycle is 2 ms, the control device 100 transmits 1000 control commands to the motor drive device 120 via the network at a cycle of 2 seconds (2 ms ⁇ 1000).
  • the control device 100 checks whether or not the control command transmission cycles of all the motor drive devices 120 have been calculated (step S508). If not calculated (NO in step S508), the control device 100 returns to step S500.
  • step S510 When the control device 100 calculates the control command transmission cycle for all the motor drive devices 120 that perform control (YES in step S508), the number of storable control commands calculated in step S504, the data size of one control command, From the number of motor drive devices connected to the control device 100 via the network, a communication band necessary for transmitting a control command to each motor drive device 120 is calculated (step S510). For example, when there are 30 motor drive devices 120 and the control device 100 transmits 1000 control commands to each motor drive device 120 in a cycle of 2 seconds, the communication bandwidth required for the transmission is 480 bps (1000 ⁇ 2 bytes ⁇ 8 ⁇ 30).
  • control device 100 compares the calculated communication band with a predetermined available communication band. If the available communication band is wider than the calculated communication band (YES in step S512), the control apparatus 100 uses the calculated communication band. Since communication is possible, a control command is generated for each motor drive device 120 based on the values calculated in steps S504 and S506, and stored in a volatile memory or a storage device (step S518).
  • the control device 100 controls the motor driving device from each motor driving device 120.
  • Information including the available memory capacity in 120 and the control period of the motor 130 by the motor driving device 120 is acquired, and the control command is transmitted to the motor driving device 120 using the information and the data size information of the control command.
  • the control command transmission cycle is determined, and the control command can be transmitted to each motor drive device 120 according to the determined control command transmission cycle.
  • the motor control system 1 can be realized using a general-purpose PC whose real-time performance is inferior to that of the motor drive device 120, and even in the motor drive device 120 having a small usable memory capacity, the real-time performance is guaranteed and the plurality of motors 130 Synchronous control is possible.
  • This embodiment is particularly suitable for a motor control system that performs synchronous control of a plurality of motors for a long time.
  • the motor control system 1 according to the present embodiment can be realized with fewer man-hours and at a lower cost than a motor control system using a PLC.
  • the method for transmitting the motor drive device information acquisition request message to the motor drive device 120 has been described as an example of the method for acquiring information related to the motor drive device 120.
  • the motor drive device information acquisition request message is transmitted.
  • information related to each motor driving device 120 is included in a setting file in which information necessary for system construction generated by the user is collected, and stored in an external storage medium.
  • a method of acquiring information related to each motor driving device 120 by reading this setting file from the external storage medium at the time of power activation may be used.
  • the control instruction execution cycle may be acquired from a setting file, and the available memory capacity may be acquired using a motor drive device information acquisition request message.
  • a setting file including information about each motor driving device 120 is created using the input unit, stored in a storage unit such as an internal memory, and the setting file is read from the storage unit, whereby information regarding each motor driving device 120 is obtained. It doesn't matter how you get it.
  • FIG. 6 is a diagram illustrating a configuration example of a control command transmitted from the control device 100 to the motor driving device 120.
  • the format of the control command generated for each motor driving device 120 by the control device 100 is obtained by adding the time 602 for executing the control command 602 to the control command 600.
  • the cycle for executing the control command 600 may be different for each motor 130. For example, in the case of the prior art in which only the execution start time for executing the control command 600 is transmitted, it is necessary to set the execution cycle of the control command 600 for each motor 130 in advance.
  • the control device 100 adds the time 602 to the control command 600 and transmits it, so that the motor drive device 120 that has received this can check the value of the time 602. It is not necessary to set the cycle for each motor 130 in advance.
  • the time 602 may be an absolute time or a relative time. When the time 602 is a relative time, the control command that is transmitted to the motor drive device 120 from the control device 100 is based on the control command with the oldest time.
  • step S512 when the available communication band is narrower than the calculated control command transmission communication band (NO in step S512), it is difficult to perform communication in the calculated control command transmission communication band. It is necessary to narrow the communication band necessary for transmitting the control command. Therefore, in the present embodiment, when the available communication bandwidth is narrower than the calculated control command transmission communication bandwidth, the control device 100 determines whether or not the number of storable control commands can be changed (step S514) and can be changed. In such a case, control is performed to change the number of control commands that can be stored (step S516).
  • step S514 If the number of storable control instructions can be changed (YES in step S514), the control device 100 returns to step S510 after changing the number of storable control instructions. On the other hand, when the number of storable control instructions cannot be changed (NO in step S514), the control device 100 displays an error message on the display unit and notifies the user (step S520). In step S516, if the number of control commands that can be stored is too small, the control command transmission cycle is shortened, and it becomes difficult to perform synchronous control of the plurality of motors 130 while ensuring real-time performance. Therefore, in the present embodiment, the control command transmission cycle that can be realized by the control device 100 is measured in advance, and the measurement result is set to the lower limit value of the control command transmission cycle.
  • control command transmission cycle exceeds the lower limit value, it is difficult to implement the control device 100 with a general-purpose PC. For example, it is difficult to construct a system. A message indicating this may be displayed on the display unit to notify the user.
  • a motor control system that uses tens or hundreds of motor driving devices 120 by using a mechanism for changing the number of control commands that can be stored in consideration of the communication bandwidth for transmitting control commands in this way.
  • the present embodiment can also be applied. Further, for example, the present embodiment can be applied to a communication interface having a narrow communication band as compared with Ethernet (registered trademark) such as serial communication and wireless communication.
  • FIG. 7 is a flowchart showing processing for transmitting a control command to the motor driving device 120 and processing for receiving a control result message from the motor driving device 120 in the control device 100.
  • the processing shown in FIG. 7 is executed by the control result display function 224, the control command transmission function 226, and the network state monitoring function 232.
  • the control device 100 Based on the control command transmission cycle calculated in step S506 (FIG. 5), the control device 100 sends the control commands for the number of storable control commands calculated in step S504 via the communication interface built in the hardware module 200. To the motor drive device 120. Therefore, the control device 100 first determines whether it is time to transmit a control command to the motor drive device 120 based on the control command transmission cycle and the number of storable control commands (step S700). *
  • control device 100 transmits the control command to the motor drive device 120 via the communication interface built in the hardware module 200 (Ste S702).
  • control device 100 determines whether or not a response message (ACK) has been received from the motor drive device 120 (step S704).
  • ACK response message
  • step S704 the control device 100 determines that some abnormality has occurred in the motor control system 1, and urgently stops the operation of the motor control system 1.
  • An emergency stop message is transmitted to the motor drive device 120 (step S716), and a message to that effect is displayed on the display unit to notify the user (step S718).
  • the control device 100 transmits an emergency stop message to the other motor drive device 120 (step S716), to that effect.
  • An error message is displayed on the display unit and notified to the user (step S718).
  • the mechanism for transmitting the emergency stop message is installed in the motor control system 1 so that the operation of the motor control system 1 is emergency stopped when any one of the motor driving devices 120 is abnormal.
  • runaway of the motor control system 1 can be prevented.
  • a safety stop function such as slowing down the rotation speed of the motor 130 to stop the operation of the motor 130, etc. By using this, the operation of the motor control system 1 can be safely stopped.
  • a stop message may be transmitted.
  • control device 100 operates the current motor 130 as a result of controlling the motor 130 by the motor drive device 120. It is determined whether or not a message including information indicating the state is received (step S706).
  • step S706 the control device 100 analyzes the control result message, displays the operation state of the motor 130 on the display unit (step S708), and returns to step S700.
  • step S708 the control device 100 analyzes the control result message, if the operation state of the motor 130 deviates from the operation pattern generated in step S302 (FIG. 3), the control device 100 has an abnormality in the motor control system 1.
  • the emergency stop message may be transmitted to the motor drive device 120. In this case, in addition to transmitting an emergency stop message to the motor drive device 120, operation pattern information is generated again using the analysis result, and the value of the control command 600 shown in FIG. 6 is changed. good.
  • control device 100 determines whether an emergency stop message has been received from the motor drive device 120 (step S710).
  • control device 100 transmits an emergency stop message to another motor drive device 120 (step S716), and an error message to that effect is displayed on the display unit. The information is displayed and notified to the user (step S718).
  • the control device 100 confirms the current network state such as the current communication band by the network state monitoring function 232 (step S712).
  • control device 100 compares the current communication band with the control command transmission communication band calculated in step S510 (FIG. 5) (step S714). As a result, if the current communication band is narrower than the control command transmission communication band (YES in step S714), the control command may not be transmitted to the motor driving device 120 normally. In order to make an emergency stop, the control device 100 transmits an emergency stop message to the other motor drive device 120 (step S716), displays that fact as an error message on the display unit, and notifies the user (step S718).
  • step S714 if the current communication band is wider than the control command transmission communication band (NO in step S714), the process returns to step S700.
  • FIG. 8 is a flowchart showing processing for transmitting a control command to the motor 130 and processing for transmitting the state of the motor 130 to the control device 100 in the motor driving device 120.
  • the processing shown in FIG. 8 is executed by the control command reception function 272, the motor control function 274, and the operation result transmission function 276.
  • the motor driving device 120 refers to the control command stored in the control command storage unit 256, and determines whether or not it is time to transmit the control command to the motor 130 (step S800).
  • the motor driving device 120 changes the control command to an electrical signal (analog signal) according to the interface of the motor 130, and then changes the external I / O 258.
  • the motor drive device 120 acquires information indicating the state of the motor 130 from the motor 130 being controlled (step S804).
  • the motor drive device 120 determines whether or not the operation of the motor 130 is normal based on the acquired state information of the motor 130 (step S806).
  • step S806 If the motor 130 is operating normally (YES in step S806), a control result message including information indicating the state is generated and transmitted to the control device 100 via the external communication unit 254 (step S808). ), The process returns to step S800.
  • step S810 if the motor 130 is not operating normally (NO in step S808), it is determined that an abnormality has occurred in the motor control system 1, an emergency stop message is generated, and the generated emergency stop message is transmitted to the external communication unit.
  • the data is transmitted to the control device 100 via the H.254 (step S810).
  • the motor drive device 120 determines whether or not a control command has been received from the control device 100 (step S812).
  • step S812 If a control command has been received (YES in step S812), the received control command is stored in the control command storage unit 256 (step S814), a response message is generated, and the control device 100 is connected via the external communication unit 254. (Step S816).
  • step S812 the motor drive device 120 determines whether or not an emergency stop message is received from the control device 100 (step S818).
  • step S820 If an emergency stop message has been received (YES in step S818), the motor drive device 20 performs control to stop the operation of the motor 130 via the external I / O 258 (step S820).
  • the motor control system 1 can be realized simply and inexpensively, and a plurality of motors can be synchronously controlled while guaranteeing real-time performance even with a motor drive device having a small memory capacity.

Abstract

The present invention easily and inexpensively achieves a motor control system, ensures real-time performance even in a motor drive device having a small-capacity built-in memory, and makes the synchronized control of a plurality of motors possible. The present invention obtains the usable memory space in a motor drive device and the motor control command execution period, divides the usable memory space by the data size of a control command for transmission to the motor drive device, and by doing so, calculates the number of control commands which can be saved in the motor drive device, determines the control command transmission period for the motor drive device by multiplying the number of savable control commands by the motor control command execution period, and outputs control commands equal to the number of savable control commands to the motor drive device, on the basis of the control command transmission period.

Description

モータ駆動装置の制御方法、モータ制御システムおよびプログラムControl method of motor drive device, motor control system and program
 本発明は、モータ、モータ駆動装置およびモータ駆動装置を制御する上位装置から構成されるモータ制御システムに関する。 The present invention relates to a motor control system including a motor, a motor drive device, and a host device for controlling the motor drive device.
 情報分野におけるイーサネット(登録商標)通信技術の発達により、FA(Factory Automation)分野においても、イーサネット(登録商標)通信技術が深く浸透しつつある。例えば、従来のモータ制御システムでは、モータ駆動装置と、モータ駆動装置を制御する上位システムとの間をパラレル接続し、複数のデータ信号をパラレルに送受信する通信方式を採用していたが、昨今はイーサネット(登録商標)通信方式を採用することにより、省配線化や高信頼化を図ることが可能となった。 Due to the development of Ethernet (registered trademark) communication technology in the information field, Ethernet (registered trademark) communication technology is also gaining popularity in the FA (Factory Automation) field. For example, a conventional motor control system employs a communication method in which a motor drive device and a host system that controls the motor drive device are connected in parallel and a plurality of data signals are transmitted and received in parallel. By adopting the Ethernet (registered trademark) communication method, it has become possible to reduce wiring and achieve high reliability.
 一方で、従来、リアルタイム性能が要求されるモータ制御システムでは、モータ駆動装置にモータ制御用の制御命令を送信する上位システムとして、汎用のPC(Personal Computer)ではなく、PLC(Programmable Logic Controller)を利用することが一般的である。これは、汎用のPCでは、モータの制御に必要な周期で制御命令をモータ駆動装置に送信することが難しいからである。例えば、一般的なモータ駆動装置がモータを制御する周期は数ミリ周期であるのに対し、汎用のPCは数10ミリ~数100ミリ周期でしか制御命令を送信できない。しかし、PLC上で動作するアプリケーションを開発するには、プログラミング言語の一種であるラダーロジックを利用する必要があるため、汎用のPC上で動作するアプリケーションの開発と比べ、多大な工数を要しシステムが高価となる問題がある。したがって、システム構築の容易性とシステム構築に要するコストの観点から、汎用のPCを用いてモータ制御システムを実現することが望まれている。 On the other hand, conventional motor control systems that require real-time performance use PLCs (Programmable Logic Controllers) instead of general-purpose PCs (Personal Computers) as a host system that sends motor control control commands to the motor drive. It is common to use. This is because it is difficult for a general-purpose PC to transmit a control command to the motor drive device at a cycle necessary for motor control. For example, while a general motor drive device controls a motor with a cycle of several millimeters, a general-purpose PC can transmit a control command only with a cycle of several tens to several hundreds of millimeters. However, in order to develop an application that operates on a PLC, it is necessary to use ladder logic, which is a kind of programming language. Therefore, compared to the development of an application that operates on a general-purpose PC, it requires a lot of man-hours. There is a problem that becomes expensive. Therefore, from the viewpoint of the ease of system construction and the cost required for system construction, it is desired to realize a motor control system using a general-purpose PC.
 このようなリアルタイム性能が要求されるモータ制御システムに関する技術として、
上位システムから指令情報を受信し、受信した指令情報によりモータを駆動するモータ駆動装置において、上位システムが持つ時刻情報を非同期で受信し、受信した時刻情報によりモータ駆動装置内部の時刻を同期させる技術が知られている(例えば、特許文献1参照)。
As a technology related to motor control systems that require such real-time performance,
A technology for receiving command information from the host system, driving the motor according to the received command information, asynchronously receiving the time information of the host system, and synchronizing the time inside the motor drive device with the received time information Is known (see, for example, Patent Document 1).
特開2005-237163号公報JP 2005-237163 A
 例えば、ベルトコンベアのように、複数のモータの同期制御を長時間行うモータ制御システムが存在する。上述のように、従来、システム構築の容易性とシステム構築に要するコストの観点から、汎用のPCを用いてモータ制御システムを実現することが望まれているが、従来、汎用のPCのリアルタイム性能の観点からその実現が難しかった。 For example, there is a motor control system that performs synchronous control of a plurality of motors for a long time, such as a belt conveyor. As described above, from the viewpoint of ease of system construction and cost required for system construction, it has been desired to realize a motor control system using a general-purpose PC. From the point of view, it was difficult to realize.
 一方で、特許文献1に記載の技術を用いることで、上位システムのリアルタイム性能を意識せずに、上位システムから一連のモータ動作に必要な制御命令を一括で送信する方法が考えられる。そしてこの場合、一括で受信した一連のモータ動作に必要な制御命令を記憶するためのメモリ容量として、100kバイト~数10Mバイト必要となる。 On the other hand, by using the technology described in Patent Document 1, it is conceivable to transmit a control command necessary for a series of motor operations from the host system in a batch without being aware of the real-time performance of the host system. In this case, 100 kbytes to several tens of Mbytes are required as a memory capacity for storing control commands necessary for a series of motor operations received in a batch.
 しかしながら、コストの観点から、一般的なモータ駆動装置には小容量のメモリしか搭載できないため、ベルトコンベアのように複数のモータの同期制御を行うようなモータ制御システムにおいては、上位システムから制御命令をモータ駆動装置に一括で送信するように構成することは難しい。 However, from the viewpoint of cost, a general motor drive device can only be equipped with a small capacity memory. Therefore, in a motor control system that performs synchronous control of a plurality of motors such as a belt conveyor, a control command is sent from a host system. It is difficult to configure so as to be transmitted all at once to the motor drive device.
 本発明は、このような事情に鑑みてなされたものであり、モータ制御システムを簡易かつ安価に実現するとともに、搭載メモリが小容量のモータ駆動装置でもリアルタイム性を保証しつつ複数のモータの同期制御を可能とするモータ制御方法、モータ制御システムおよびプログラムを提供することを目的とする。 The present invention has been made in view of such circumstances, and realizes a motor control system easily and inexpensively, and synchronizes a plurality of motors while guaranteeing real-time performance even with a motor drive device having a small capacity memory. It is an object to provide a motor control method, a motor control system, and a program that enable control.
 本発明の代表的な一例は次の通りである。すなわち、本発明は、複数のモータ駆動装置をネットワークを介して制御する制御装置におけるモータ駆動装置の制御方法である。前記制御装置は、前記モータ駆動装置における利用可能メモリ容量と該モータ駆動装置によるモータの制御命令実行周期を取得し、取得した前記利用可能メモリ容量および前記モータの制御命令実行周期を記憶部に記憶し、前記記憶部に記憶された前記利用可能メモリ容量を前記モータ駆動装置に送信する制御命令のデータサイズで除算することにより、前記モータ駆動装置における保存可能制御命令数を算出し、算出した前記モータ駆動装置における保存可能制御命令数と、前記記憶部に記憶された前記モータの制御命令実行周期とを乗算することにより、前記モータ駆動装置に対する制御命令送信周期を決定し、決定した前記制御命令送信周期に基づき、前記保存可能制御命令数分の制御命令を前記ネットワークを介して前記モータ駆動装置に送信することを特徴とする。 A typical example of the present invention is as follows. That is, the present invention is a method for controlling a motor drive device in a control device that controls a plurality of motor drive devices via a network. The control device acquires an available memory capacity in the motor driving device and a motor control command execution cycle by the motor driving device, and stores the acquired usable memory capacity and the motor control command execution cycle in a storage unit. Then, by dividing the available memory capacity stored in the storage unit by the data size of the control command to be transmitted to the motor driving device, the number of storable control commands in the motor driving device is calculated, and the calculated A control command transmission cycle for the motor drive device is determined by multiplying the number of storable control commands in the motor drive device by the motor control command execution cycle stored in the storage unit, and the determined control command Based on the transmission period, the motor drive is provided with the control commands for the number of control commands that can be stored via the network. And transmits to the location.
 モータ制御システムを簡易かつ安価に実現できるとともに、搭載メモリが小容量のモータ駆動装置でもリアルタイム性を保証しつつ複数のモータの同期制御が可能となる。 The motor control system can be realized easily and inexpensively, and even with a small capacity motor drive device, it is possible to control multiple motors while guaranteeing real-time performance.
モータ制御システム1の全体構成例を示す図である。1 is a diagram illustrating an example of the overall configuration of a motor control system 1. FIG. 制御装置100の構成例を示す図である。2 is a diagram illustrating a configuration example of a control device 100. FIG. モータ駆動装置120の構成例を示す図である。3 is a diagram illustrating a configuration example of a motor driving device 120. FIG. モータ制御システム1の動作概要を示すシーケンス図である。FIG. 3 is a sequence diagram showing an outline of operation of the motor control system 1. モータ130の回転数の動作パターン例を示す図である。It is a figure which shows the example of an operation pattern of the rotation speed of the motor. 制御装置100における、制御命令を生成する詳細処理を示すフロー図である。It is a flowchart which shows the detailed process which produces | generates a control command in the control apparatus. 制御装置100からモータ駆動装置120に送信する制御命令の構成例を示す図である。It is a figure which shows the structural example of the control command transmitted to the motor drive device 120 from the control apparatus 100. FIG. 制御装置100における、モータ駆動装置120に制御命令を送信する処理、およびモータ駆動装置120から制御結果メッセージを受信する処理を示すフロー図である。FIG. 5 is a flowchart showing processing for transmitting a control command to a motor driving device 120 and processing for receiving a control result message from the motor driving device 120 in the control device 100. モータ駆動装置120における、モータ130に制御命令を送信する処理、およびモータ130の状態を制御装置100に送信する処理を示すフロー図である。FIG. 5 is a flowchart showing a process of transmitting a control command to the motor 130 and a process of transmitting the state of the motor 130 to the control apparatus 100 in the motor drive device 120.
 以下、本発明の実施形態を図面に基づいて詳細に説明する。尚、本発明の実施形態を説明する図において、同一部には同一符号を付し、その繰り返しの説明は、省略することにする。 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.
 図1は、本発明の実施形態に係るモータ制御システム1の全体構成例を示す図である。モータ制御システム1において、モータ制御システム1における上位装置である制御装置100は複数のモータ駆動装置120とHUB140等を介して有線LAN(Local Area Network)等のネットワークで接続されている。尚、制御装置100と各モータ駆動装置120とをシリアルケーブルや、無線LANで接続しても良い。各モータ駆動装置120にはモータ130が接続されている。制御装置100は、モータ130の制御に必要なモータ回転数に対応した制御命令を生成し、各モータ駆動装置120に送信する。モータ駆動装置120は、電源周波数を変更することでモータ130の回転数を制御する。このような構成のモータ制御システム1として、例えば、ベルトコンベアや巻き取り装置などが該当する。 FIG. 1 is a diagram showing an example of the overall configuration of a motor control system 1 according to an embodiment of the present invention. In the motor control system 1, the control device 100, which is a host device in the motor control system 1, is connected to a plurality of motor driving devices 120 via a network such as a wired LAN (Local Area Network) via the HUB 140 and the like. The control device 100 and each motor driving device 120 may be connected by a serial cable or a wireless LAN. A motor 130 is connected to each motor driving device 120. The control device 100 generates a control command corresponding to the motor rotational speed necessary for controlling the motor 130 and transmits the control command to each motor driving device 120. The motor driving device 120 controls the rotation speed of the motor 130 by changing the power supply frequency. As the motor control system 1 having such a configuration, for example, a belt conveyor, a winding device, or the like is applicable.
 図2(a)は、制御装置100の構成例を示す図である。 FIG. 2A is a diagram illustrating a configuration example of the control device 100.
 本実施形態に係る制御装置100は、汎用のPCを用いて実現する。図2(a)に示すように、本実施形態による制御装置100は、ハードウェアモジュール200、OS(Operating System)210、ソフトウェアモジュール220を具備する。 The control device 100 according to the present embodiment is realized using a general-purpose PC. As shown in FIG. 2A, the control device 100 according to the present embodiment includes a hardware module 200, an OS (Operating System) 210, and a software module 220.
 ハードウェアモジュール200は、制御装置100を動作させるために必要なハードウェアであり、CPU(Central Processing Unit)や揮発性メモリ、不揮発性メモリ、記憶装置、ディスプレイ等の表示部、キーボード等の入力部、USBメモリ等の外部記憶媒体を接続するためのインタフェース、モータ駆動装置120とデータ通信を行う通信インタフェースを含む。 The hardware module 200 is hardware necessary for operating the control device 100, and includes a CPU (Central Processing Unit), a volatile memory, a nonvolatile memory, a storage device, a display unit such as a display, and an input unit such as a keyboard. , An interface for connecting an external storage medium such as a USB memory, and a communication interface for performing data communication with the motor driving device 120.
 OS210は、制御装置100の動作を統括的に制御する基本ソフトウェアである。 The OS 210 is basic software that comprehensively controls the operation of the control device 100.
 ソフトウェアモジュール220は、モータ駆動装置120を制御するために必要なソフトウェア(コンピュータプログラム)であり、制御命令生成機能222、制御結果表示機能224、制御命令送信機能226、パラメータ設定機能228、時刻同期機能230、ネットワーク状態監視機能232を含む。これらソフトウェアは、CPUにより実行される。 The software module 220 is software (computer program) necessary for controlling the motor driving device 120, and includes a control command generation function 222, a control result display function 224, a control command transmission function 226, a parameter setting function 228, and a time synchronization function. 230, and a network status monitoring function 232 is included. These software are executed by the CPU.
 制御命令生成機能222は、モータ駆動装置120がモータ130を制御するための制御命令を生成する機能である。 The control command generation function 222 is a function for generating a control command for the motor driving device 120 to control the motor 130.
 制御結果表示機能224は、モータ駆動装置120から、モータ130を制御した結果である現在のモータ130の動作状態を示す情報を含むメッセージをネットワークを介して受信し、受信したメッセージを解析し、現在のモータ130の動作状態を示す情報を表示部に表示する機能である。ユーザは、表示部に表示されるモータ130の動作状態を確認し、必要に応じて、制御命令の再生成やモータ駆動装置120の動作パラメータの再設定を行うことが可能となる。 The control result display function 224 receives a message including information indicating the current operation state of the motor 130, which is a result of controlling the motor 130, from the motor driving device 120, analyzes the received message, It is a function which displays the information which shows the operation state of this motor 130 on a display part. The user can confirm the operation state of the motor 130 displayed on the display unit, and can regenerate control commands and reset operation parameters of the motor driving device 120 as necessary.
 制御命令送信機能226は、制御命令生成機能222により生成した制御命令をネットワークを介して各モータ駆動装置120に送信する機能である。 The control command transmission function 226 is a function for transmitting the control command generated by the control command generation function 222 to each motor driving device 120 via the network.
 パラメータ設定機能228は、モータ駆動装置120を動作させるために必要なパラメータ、例えば、上限/下限周波数や加速/減速時間、基底周波数などをネットワークを介して各モータ駆動装置120に送信する機能である。 The parameter setting function 228 is a function for transmitting parameters necessary for operating the motor drive device 120, such as upper / lower frequency, acceleration / deceleration time, base frequency, etc., to each motor drive device 120 via the network. .
 時刻同期機能230は、ネットワークを介して各モータ駆動装置120と時刻同期を行う機能である。時刻同期を行う方法として、SNTP(Simple Network Time Protocol)やIEEE1588に準拠したプロトコルを使用する。 The time synchronization function 230 is a function for performing time synchronization with each motor drive device 120 via a network. As a method for performing time synchronization, a protocol based on SNTP (Simple Network Time Protocol) or IEEE 1588 is used.
 ネットワーク状態監視機能232は、ネットワーク上に流れるメッセージを取得し、トラフィック量などを定期的に算出することにより、ネットワークの状態を監視する機能である。 The network state monitoring function 232 is a function for monitoring the state of the network by acquiring a message flowing on the network and periodically calculating the traffic amount.
 図2(b)は、モータ駆動装置120の構成例を示す図である。 FIG. 2B is a diagram illustrating a configuration example of the motor driving device 120.
 モータ駆動装置120は、ハードウェアモジュール250、OS210、ソフトウェアモジュール270を具備する。 The motor driving device 120 includes a hardware module 250, an OS 210, and a software module 270.
 ハードウェアモジュール250は、モータ駆動装置120を動作させるために必要なハードウェアであり、マイコン252や外部通信部254、制御命令格納部256、外部I/O258、時計260を含む。 The hardware module 250 is hardware necessary for operating the motor driving device 120, and includes a microcomputer 252, an external communication unit 254, a control command storage unit 256, an external I / O 258, and a clock 260.
 マイコン252は、CPUやROM(Read Only Memory)、RAM(Random Access Memory)、不揮発性メモリを含むモジュールである。 The microcomputer 252 is a module including a CPU, a ROM (Read Only Memory), a RAM (Random Access Memory), and a nonvolatile memory.
 外部通信部254は、制御装置100とデータ通信を行うためのインタフェースであり、イーサネット(登録商標)やシリアルケーブル、無線などのインタフェースが該当する。  The external communication unit 254 is an interface for performing data communication with the control device 100, and corresponds to an interface such as Ethernet (registered trademark), serial cable, or wireless. *
 制御命令格納部256は、制御装置100から外部通信部254を介して受信した制御命令を格納するモジュールであり、揮発性メモリや不揮発性メモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)といった記憶装置が該当する。 The control command storage unit 256 is a module that stores a control command received from the control device 100 via the external communication unit 254, and includes a volatile memory, a nonvolatile memory, a HDD (Hard Disk Drive), and an SSD (Solid State Drive). Such a storage device is applicable.
 外部I/O258は、モータ130の回転数を制御するためのインタフェースであり、アナログI/OやデジタルI/Oなどが該当する。 External I / O 258 is an interface for controlling the rotation speed of the motor 130, and corresponds to analog I / O, digital I / O, and the like.
 時計260は、モータ駆動装置120の時刻を刻むモジュールである。 The clock 260 is a module that records the time of the motor driving device 120.
 ソフトウェアモジュール270は、制御装置100とのデータ通信やモータ130の制御に必要なソフトウェア(コンピュータプログラム)であり、制御命令受信機能272、モータ制御機能274、動作結果送信機能276、時刻同期機能230を含む。 The software module 270 is software (computer program) necessary for data communication with the control device 100 and control of the motor 130. The software module 270 includes a control command reception function 272, a motor control function 274, an operation result transmission function 276, and a time synchronization function 230. Including.
 制御命令受信機能272は、制御装置100からの制御命令を外部通信部254を介して受信し、その受信した制御命令を制御格納部256に格納する機能である。 The control command receiving function 272 is a function that receives a control command from the control device 100 via the external communication unit 254 and stores the received control command in the control storage unit 256.
 モータ制御機能274は、制御格納部256に格納されている制御命令を基に、外部I/O258を介して、モータ130の制御を行う機能である。これらソフトウェアは、マイコンにより実行される。 The motor control function 274 is a function for controlling the motor 130 via the external I / O 258 based on a control command stored in the control storage unit 256. These software are executed by a microcomputer.
 動作結果送信機能276は、外部I/O258を介して取得したモータ130の状態、例えば回転数などを、外部通信部254を介して制御装置100に送信する機能である。  The operation result transmission function 276 is a function of transmitting the state of the motor 130 acquired through the external I / O 258, for example, the rotational speed to the control device 100 through the external communication unit 254. *
 図3は、モータ制御システム1の動作概要を示すシーケンス図である。ここで、モータ制御システム1は、制御装置100と各モータ駆動装置120の電源が起動することで起動する。 FIG. 3 is a sequence diagram showing an outline of the operation of the motor control system 1. Here, the motor control system 1 is activated when the power supply of the control device 100 and each motor drive device 120 is activated.
 先ずモータ制御システム1の起動時に、制御装置100、モータ駆動装置120のそれぞれが具備する時刻同期機能230により、モータ駆動装置120に搭載されている時計260の時刻と、制御装置100が備える時計の時刻とを同期させる処理が行われる(ステップS300)。 First, when the motor control system 1 is activated, the time synchronization function 230 provided in each of the control device 100 and the motor drive device 120 causes the time of the timepiece 260 mounted in the motor drive device 120 and the timepiece of the timepiece provided in the control device 100. A process for synchronizing the time is performed (step S300).
 時刻同期処理が行われた後、制御装置100は、ユーザの操作に応じて、図4に示すような時間ごとのモータ130の回転数の変化を示す動作パターン情報を生成する(ステップS302)。モータ回転数の動作パターン情報を生成する際、EXCEL(登録商標)などのソフトウェアが利用される。尚、PLCを利用して、図4に示すような動作パターンを作成しても良いが、ラダーロジックを利用する必要がある。ラダーロジックの開発は、EXCEL(登録商標)などを利用して開発する場合と比較して、多大な工数を要する。更に、モータ回転数の動作パターンを変更する場合、EXCEL(登録商標)を利用すれば、該当する値のみを変更すれば良いが、ラダーロジックを利用すると、再度、プログラミングを行う必要があるため、変更にも多大な工数を要する。本実施形態では、EXCEL(登録商標)などのソフトウェアを利用してモータ回転数の動作パターン情報の生成やその変更を行うので、モータ制御システム1を効率良く稼働させることができ、また、モータ制御システム1を簡易かつ安価に実現できる。 After the time synchronization process is performed, the control device 100 generates operation pattern information indicating a change in the rotation speed of the motor 130 for each time as illustrated in FIG. 4 in accordance with a user operation (step S302). Software such as EXCEL (registered trademark) is used when generating the operation pattern information of the motor rotation speed. Although an operation pattern as shown in FIG. 4 may be created using PLC, it is necessary to use ladder logic. Ladder logic development requires a large number of man-hours as compared with the case where development is performed using EXCEL (registered trademark) or the like. Furthermore, when changing the operation pattern of the motor rotation number, if EXCEL (registered trademark) is used, it is only necessary to change the corresponding value. However, if ladder logic is used, it is necessary to perform programming again. The change also requires a great amount of man-hours. In the present embodiment, the operation pattern information of the motor rotational speed is generated and changed using software such as EXCEL (registered trademark), so that the motor control system 1 can be operated efficiently, and the motor control is performed. The system 1 can be realized simply and inexpensively.
 動作パターン情報を生成後、制御装置100は、制御命令生成機能222により、モータ130制御用の制御命令を生成する(ステップS304)。 After generating the operation pattern information, the control device 100 generates a control command for controlling the motor 130 by the control command generation function 222 (step S304).
 次に制御装置100は、制御命令送信機能226により、制御命令生成機能222により生成したモータ130制御用の制御命令をネットワークを介して各モータ駆動装置120に送信する(ステップS306、ステップS308)。 Next, the control device 100 transmits the control command for controlling the motor 130 generated by the control command generation function 222 to each motor drive device 120 via the network by the control command transmission function 226 (steps S306 and S308).
 次に制御装置100は、制御結果表示機能224により、各モータ駆動装置120からモータ130の制御結果である現在のモータ130の動作状態を示すメッセージをネットワークを介して受信し、表示部に表示する(ステップS310、ステップS312、ステップS314)。 Next, the control device 100 receives a message indicating the current operation state of the motor 130 as a control result of the motor 130 from each motor driving device 120 by the control result display function 224, and displays it on the display unit. (Step S310, Step S312, Step S314).
 図5は、制御装置100における、制御命令を生成する(図3_ステップS304)詳細処理を示すフロー図である。 FIG. 5 is a flowchart showing a detailed process in the control device 100 for generating a control command (FIG. 3_Step S304).
 先ず制御装置100は、モータ駆動装置情報取得要求メッセージを生成し、ハードウェアモジュール200に内蔵されている通信インタフェースを介して各モータ駆動装置120に送信する(ステップS500)。モータ駆動装置情報取得要求メッセージを受信した各モータ駆動装置120は、各モータ駆動装置120がモータ130の制御を行う制御命令実行周期や、各モータ駆動装置120における利用可能メモリ容量、各モータ駆動装置の型番といったモータ駆動装置120に関する情報を含む応答メッセージを生成し、制御装置100に外部通信部254を介して送信する。 First, the control device 100 generates a motor drive device information acquisition request message and transmits it to each motor drive device 120 via a communication interface built in the hardware module 200 (step S500). Each motor drive device 120 that has received the motor drive device information acquisition request message, the control command execution cycle in which each motor drive device 120 controls the motor 130, the available memory capacity in each motor drive device 120, and each motor drive device A response message including information related to the motor drive device 120 such as the model number is generated and transmitted to the control device 100 via the external communication unit 254.
 次に制御装置100は、モータ駆動装置120からの応答メッセージの受信有無を判断する(ステップS502)。 Next, the control device 100 determines whether or not a response message has been received from the motor drive device 120 (step S502).
 モータ駆動装置120から応答メッセージを受信しない場合(ステップS502でNO)、制御装置100は、例えば、応答メッセージを受信しない旨をエラーメッセージとして表示部に表示しユーザに通知する(ステップS520)。尚、所定時間経過しても応答メッセージを受信しない場合には、モータ駆動装置情報取得要求メッセージを再送するようにしても良い。 When the response message is not received from the motor drive device 120 (NO in step S502), for example, the control device 100 displays an error message on the display unit and notifies the user that the response message is not received (step S520). If a response message is not received even after a predetermined time has elapsed, the motor drive device information acquisition request message may be retransmitted.
 一方、応答メッセージを受信すると(ステップS502でYES)、制御装置100は、応答メッセージに含まれる上記モータ駆動装置120に関する情報を揮発性メモリ等の記憶部に記憶し、記憶部に記憶された利用可能メモリ容量を制御命令のデータサイズで除算することにより、モータ装置駆動装置120に保存できる制御命令数(保存可能制御命令数)を算出する(ステップS504)。例えば、利用可能メモリ容量が2kByte、制御命令のデータサイズが2Byteの場合、モータ駆動装置120に保存できる制御命令数は1000つ(2kByte÷2Byte)となる。 On the other hand, when the response message is received (YES in step S502), the control device 100 stores the information regarding the motor drive device 120 included in the response message in a storage unit such as a volatile memory, and the use stored in the storage unit. By dividing the possible memory capacity by the data size of the control command, the number of control commands (number of storable control commands) that can be stored in the motor drive device 120 is calculated (step S504). For example, when the available memory capacity is 2 kBytes and the data size of the control command is 2 Bytes, the number of control commands that can be stored in the motor drive device 120 is 1000 (2 kBytes / 2 Bytes).
 次に制御装置100は、ステップS504で算出した保存可能制御命令数と記憶部に記憶されたモータ130の制御命令実行周期とを乗算することにより、制御装置100がモータ駆動装置120に制御命令を送信する周期(制御命令送信周期)を算出する(ステップS506)。例えば、制御命令実行周期が2msの場合、制御装置100は2秒周期(2ms×1000)で1000つの制御命令をネットワークを介してモータ駆動装置120に送信することになる。 Next, the control device 100 multiplies the number of storable control commands calculated in step S504 by the control command execution cycle of the motor 130 stored in the storage unit, so that the control device 100 sends a control command to the motor drive device 120. A transmission cycle (control command transmission cycle) is calculated (step S506). For example, when the control command execution cycle is 2 ms, the control device 100 transmits 1000 control commands to the motor drive device 120 via the network at a cycle of 2 seconds (2 ms × 1000).
 制御装置100は、全てのモータ駆動装置120の制御命令送信周期を算出したか否かを確認し(ステップS508)、算出していない場合には(ステップS508でNO)、ステップS500に戻る。 The control device 100 checks whether or not the control command transmission cycles of all the motor drive devices 120 have been calculated (step S508). If not calculated (NO in step S508), the control device 100 returns to step S500.
 制御装置100は、制御を行う全てのモータ駆動装置120に対する制御命令送信周期を算出すると(ステップS508でYES)、ステップS504で算出した保存可能制御命令数と、1つの制御命令のデータサイズと、制御装置100とネットワークを介して接続されているモータ駆動装置数から、各モータ駆動装置120に対して制御命令を送信するために必要な通信帯域を算出する(ステップS510)。例えば、モータ駆動装置120が30台あり、制御装置100が、各モータ駆動装置120に対して1000つの制御命令を2秒周期で送信する場合、その送信に必要な通信帯域は、480bps(1000×2Byte×8×30)となる。 When the control device 100 calculates the control command transmission cycle for all the motor drive devices 120 that perform control (YES in step S508), the number of storable control commands calculated in step S504, the data size of one control command, From the number of motor drive devices connected to the control device 100 via the network, a communication band necessary for transmitting a control command to each motor drive device 120 is calculated (step S510). For example, when there are 30 motor drive devices 120 and the control device 100 transmits 1000 control commands to each motor drive device 120 in a cycle of 2 seconds, the communication bandwidth required for the transmission is 480 bps (1000 × 2 bytes × 8 × 30).
 次に制御装置100は、算出した通信帯域と所定の利用可能通信帯域とを比較し、算出した通信帯域より利用可能な通信帯域の方が広い場合(ステップS512でYES)、算出した通信帯域で通信を行うことが可能であるため、ステップS504とステップS506で算出した値を基に、制御命令をモータ駆動装置120毎に生成し、揮発性メモリや記憶装置に格納する(ステップS518)。 Next, the control device 100 compares the calculated communication band with a predetermined available communication band. If the available communication band is wider than the calculated communication band (YES in step S512), the control apparatus 100 uses the calculated communication band. Since communication is possible, a control command is generated for each motor drive device 120 based on the values calculated in steps S504 and S506, and stored in a volatile memory or a storage device (step S518).
 このように、本実施形態では、モータ駆動装置120ごとの利用可能メモリ容量と各モータ駆動装置120がモータ130を制御する周期に着目し、制御装置100が、各モータ駆動装置120からモータ駆動装置120における利用可能メモリ容量とモータ駆動装置120によるモータ130の制御周期を含む情報を取得し、これらの情報と制御命令のデータサイズの情報を用いて、モータ駆動装置120に対して制御命令を送信する制御命令送信周期を決定し、決定した制御命令送信周期に従って制御命令を各モータ駆動装置120に送信可能なように構成した。これにより、リアルタイム性能がモータ駆動装置120より劣る汎用のPCを用いてモータ制御システム1を実現でき、利用可能メモリ容量が小容量のモータ駆動装置120でもリアルタイム性を保証しつつ複数のモータ130の同期制御が可能となる。本実施形態は、特に複数のモータの同期制御を長時間行うようなモータ制御システムに好適である。また、本実施形態に係るモータ制御システム1は、PLCを用いるモータ制御システムと比較して、より少ない工数でかつ安価に実現できる。 Thus, in the present embodiment, paying attention to the available memory capacity for each motor driving device 120 and the period in which each motor driving device 120 controls the motor 130, the control device 100 controls the motor driving device from each motor driving device 120. Information including the available memory capacity in 120 and the control period of the motor 130 by the motor driving device 120 is acquired, and the control command is transmitted to the motor driving device 120 using the information and the data size information of the control command. The control command transmission cycle is determined, and the control command can be transmitted to each motor drive device 120 according to the determined control command transmission cycle. As a result, the motor control system 1 can be realized using a general-purpose PC whose real-time performance is inferior to that of the motor drive device 120, and even in the motor drive device 120 having a small usable memory capacity, the real-time performance is guaranteed and the plurality of motors 130 Synchronous control is possible. This embodiment is particularly suitable for a motor control system that performs synchronous control of a plurality of motors for a long time. In addition, the motor control system 1 according to the present embodiment can be realized with fewer man-hours and at a lower cost than a motor control system using a PLC.
 なお、上記では、モータ駆動装置120に関する情報の取得方法として、モータ駆動装置120にモータ駆動装置情報取得要求メッセージを送信する方法を例に説明を行ったが、モータ駆動装置情報取得要求メッセージを送信する以外の方法として、ユーザが生成するシステム構築に必要な情報を纏めた設定ファイルの中に、各モータ駆動装置120に関する情報を含めておき、これを外部記憶媒体に格納し、制御装置100は電源起動時に外部記憶媒体からこの設定ファイルを読み込むことにより、各モータ駆動装置120に関する情報を取得する方法でも構わない。また、制御命令実行周期は設定ファイルから取得し、利用可能メモリ容量はモータ駆動装置情報取得要求メッセージを利用して取得する方法でも構わない。また、各モータ駆動装置120に関する情報を含む設定ファイルを入力部を用いて作成して内部メモリ等の記憶部に記憶し、記憶部からこの設定ファイルを読み込むことにより、各モータ駆動装置120に関する情報を取得する方法でも構わない。 In the above description, the method for transmitting the motor drive device information acquisition request message to the motor drive device 120 has been described as an example of the method for acquiring information related to the motor drive device 120. However, the motor drive device information acquisition request message is transmitted. As a method other than the above, information related to each motor driving device 120 is included in a setting file in which information necessary for system construction generated by the user is collected, and stored in an external storage medium. A method of acquiring information related to each motor driving device 120 by reading this setting file from the external storage medium at the time of power activation may be used. Alternatively, the control instruction execution cycle may be acquired from a setting file, and the available memory capacity may be acquired using a motor drive device information acquisition request message. In addition, a setting file including information about each motor driving device 120 is created using the input unit, stored in a storage unit such as an internal memory, and the setting file is read from the storage unit, whereby information regarding each motor driving device 120 is obtained. It doesn't matter how you get it.
 図6は、制御装置100からモータ駆動装置120に送信する制御命令の構成例を示す図である。図6に示すように、制御装置100によりモータ駆動装置120ごとに生成される制御命令のフォーマットは、制御命令600にその制御命令602を実行する時刻602が付加されたものである。ここで、複数のモータ130の同期制御では、制御命令600を実行する周期はモータ130ごとに異なる場合がある。例えば、制御命令600を実行する実行開始時刻のみを送信する従来技術の場合、制御命令600の実行周期をモータ130ごとに事前に設定する必要がある。そのため、例えば、数10台~数100台のモータ130の同期制御を行う場合には、これらモータ130の周期の設定に多大な時間を要することとなる。本実施形態では、制御装置100により、制御命令600に時刻602も付加して送信することで、これを受信したモータ駆動装置120では時刻602の値を確認すれば良いため、制御命令600の実行周期をモータ130ごとに事前に設定する必要はなくなる。また、時刻602は絶対時刻でも、相対時刻でも良い。尚、時刻602が相対時刻の場合、制御装置100がモータ駆動装置120に送信する制御命令の中で最も時間が古い制御命令を基準とする。 FIG. 6 is a diagram illustrating a configuration example of a control command transmitted from the control device 100 to the motor driving device 120. As shown in FIG. 6, the format of the control command generated for each motor driving device 120 by the control device 100 is obtained by adding the time 602 for executing the control command 602 to the control command 600. Here, in the synchronous control of the plurality of motors 130, the cycle for executing the control command 600 may be different for each motor 130. For example, in the case of the prior art in which only the execution start time for executing the control command 600 is transmitted, it is necessary to set the execution cycle of the control command 600 for each motor 130 in advance. Therefore, for example, when performing synchronous control of several tens to several hundreds of motors 130, it takes a lot of time to set the cycles of these motors 130. In the present embodiment, the control device 100 adds the time 602 to the control command 600 and transmits it, so that the motor drive device 120 that has received this can check the value of the time 602. It is not necessary to set the cycle for each motor 130 in advance. The time 602 may be an absolute time or a relative time. When the time 602 is a relative time, the control command that is transmitted to the motor drive device 120 from the control device 100 is based on the control command with the oldest time.
 図5に戻り、算出した制御命令送信用通信帯域より利用可能な通信帯域の方が狭い場合(ステップS512でNO)、算出した制御命令送信用通信帯域で通信を行うことが困難であるため、制御命令の送信に必要な通信帯域を狭くする必要がある。そこで本実施形態では、算出した制御命令送信用通信帯域より利用可能な通信帯域の方が狭い場合には、制御装置100が保存可能制御命令数の変更可否を判断し(ステップS514)、変更可能な場合、保存可能制御命令数を変更する制御を行うようにした(ステップS516)。 Returning to FIG. 5, when the available communication band is narrower than the calculated control command transmission communication band (NO in step S512), it is difficult to perform communication in the calculated control command transmission communication band. It is necessary to narrow the communication band necessary for transmitting the control command. Therefore, in the present embodiment, when the available communication bandwidth is narrower than the calculated control command transmission communication bandwidth, the control device 100 determines whether or not the number of storable control commands can be changed (step S514) and can be changed. In such a case, control is performed to change the number of control commands that can be stored (step S516).
 保存可能制御命令数を変更可能な場合(ステップS514でYES),制御装置100は、保存可能制御命令数を変更した後、ステップS510に戻る。一方、保存可能制御命令数が変更できない場合(ステップS514でNO)、制御装置100はエラーメッセージを表示部に表示しユーザに通知する(ステップS520)。尚、ステップS516において、保存可能制御命令数を小さくし過ぎると、制御命令送信周期が短くなり、リアルタイム性を保証しつつ複数のモータ130の同期制御を行うことが困難となる。そこで本実施形態では、制御装置100が実現できる制御命令送信周期を事前に測定し、その測定結果を制御命令送信周期の下限値に設定しておき、保存可能制御命令数を小さくしながら、その保存可能制御命令数を変更するようにした。また、図示していないが、もし制御命令送信周期が下限値を超えてしまった場合には、汎用のPCで制御装置100を実現することが困難となるため、例えば、システム構築が困難であることを示すメッセージを表示部に表示しユーザに通知するようにして良い。 If the number of storable control instructions can be changed (YES in step S514), the control device 100 returns to step S510 after changing the number of storable control instructions. On the other hand, when the number of storable control instructions cannot be changed (NO in step S514), the control device 100 displays an error message on the display unit and notifies the user (step S520). In step S516, if the number of control commands that can be stored is too small, the control command transmission cycle is shortened, and it becomes difficult to perform synchronous control of the plurality of motors 130 while ensuring real-time performance. Therefore, in the present embodiment, the control command transmission cycle that can be realized by the control device 100 is measured in advance, and the measurement result is set to the lower limit value of the control command transmission cycle. The number of control commands that can be saved was changed. Although not shown, if the control command transmission cycle exceeds the lower limit value, it is difficult to implement the control device 100 with a general-purpose PC. For example, it is difficult to construct a system. A message indicating this may be displayed on the display unit to notify the user.
 本実施形態では、このように制御命令送信用の通信帯域を考慮して保存可能制御命令数変更する仕組みを用いることにより、数十台、数百台のモータ駆動装置120を利用するモータ制御システムにおいても、本実施形態を適用することができる。また、例えば、シリアル通信や無線通信といったイーサネット(登録商標)と比較して通信帯域が狭い通信インタフェースに対しても本実施形態を適用することができる。 In the present embodiment, a motor control system that uses tens or hundreds of motor driving devices 120 by using a mechanism for changing the number of control commands that can be stored in consideration of the communication bandwidth for transmitting control commands in this way. The present embodiment can also be applied. Further, for example, the present embodiment can be applied to a communication interface having a narrow communication band as compared with Ethernet (registered trademark) such as serial communication and wireless communication.
 図7は、制御装置100における、モータ駆動装置120に制御命令を送信する処理、およびモータ駆動装置120から制御結果メッセージを受信する処理を示すフロー図である。尚、図7に示す処理は、制御結果表示機能224や制御命令送信機能226、ネットワーク状態監視機能232により実行される。 FIG. 7 is a flowchart showing processing for transmitting a control command to the motor driving device 120 and processing for receiving a control result message from the motor driving device 120 in the control device 100. The processing shown in FIG. 7 is executed by the control result display function 224, the control command transmission function 226, and the network state monitoring function 232.
 制御装置100は、ステップS506(図5)で算出した制御命令送信周期に基づいて、ステップS504で算出した保存可能制御命令数分の制御命令をハードウェアモジュール200に内蔵されている通信インタフェースを介してモータ駆動装置120に送信する。そこで制御装置100は、先ず、制御命令送信周期と保存可能制御命令数を基に制御命令をモータ駆動装置120に送信するタイミングか否かを判断する(ステップS700)。  Based on the control command transmission cycle calculated in step S506 (FIG. 5), the control device 100 sends the control commands for the number of storable control commands calculated in step S504 via the communication interface built in the hardware module 200. To the motor drive device 120. Therefore, the control device 100 first determines whether it is time to transmit a control command to the motor drive device 120 based on the control command transmission cycle and the number of storable control commands (step S700). *
 モータ駆動装置120に制御命令を送信するタイミングの場合(ステップS700でYES)、制御装置100は、制御命令をハードウェアモジュール200に内蔵されている通信インタフェースを介してモータ駆動装置120に送信する(ステップS702)。 When it is time to transmit a control command to the motor drive device 120 (YES in step S700), the control device 100 transmits the control command to the motor drive device 120 via the communication interface built in the hardware module 200 ( Step S702).
 次に制御装置100は、モータ駆動装置120から応答メッセージ(ACK)を受信したか否かを判断する(ステップS704)。応答メッセージ(ACK)を受信した場合(ステップS704でYES)、制御装置100は制御命令を正常に送信できたと判断し、ステップS700に戻る。 Next, the control device 100 determines whether or not a response message (ACK) has been received from the motor drive device 120 (step S704). When the response message (ACK) is received (YES in step S704), the control device 100 determines that the control command has been successfully transmitted, and returns to step S700.
 一方、応答メッセージを受信しなかった場合(ステップS704でNO)、制御装置100は、モータ制御システム1に何らかの異常が発生したと判断し、モータ制御システム1の動作を緊急停止させるため、他のモータ駆動装置120に緊急停止メッセージを送信し(ステップS716)、その旨をエラーメッセージとして表示部に表示しユーザに通知する(ステップS718)。尚、図示していないが、受信した応答メッセージにエラーコードが含まれている場合にも、制御装置100は、他のモータ駆動装置120に緊急停止メッセージを送信し(ステップS716)、その旨をエラーメッセージとして表示部に表示しユーザに通知する(ステップS718)。 On the other hand, if the response message is not received (NO in step S704), the control device 100 determines that some abnormality has occurred in the motor control system 1, and urgently stops the operation of the motor control system 1. An emergency stop message is transmitted to the motor drive device 120 (step S716), and a message to that effect is displayed on the display unit to notify the user (step S718). Although not shown, even when the received response message includes an error code, the control device 100 transmits an emergency stop message to the other motor drive device 120 (step S716), to that effect. An error message is displayed on the display unit and notified to the user (step S718).
 このように、本実施形態では、緊急停止メッセージを送信する仕組みをモータ制御システム1に搭載することにより、モータ駆動装置120の一つでも異常が発生した場合にモータ制御システム1の動作を緊急停止させることができ、ひいてはモータ制御システム1の暴走を防ぐことができる。但し、モータ130の動作を急停止させると、モータ制御システム1が更に危険な状態になる場合があるため、モータ130の回転速度をゆっくり減速させてモータ130の動作を停止させるなどの安全停止機能を用いることにより、モータ制御システム1の動作を安全に停止させることができる。例えば、複数のモータで動作するベルトコンベアのシステムにおいて、あるモータの故障により、ベルトコンベアの動作が乱れ、ベルトコンベア上に乗っている作業物が落下するなどの危険を防止できる。尚、緊急停止メッセージを送信するタイミングは、システムごとに異なるため、例えば、複数のモータ駆動装置120から応答メッセージがない場合や、モータ駆動装置120からの応答メッセージを複数回受信しない場合などに緊急停止メッセージを送信するようにしても良い。 As described above, in the present embodiment, the mechanism for transmitting the emergency stop message is installed in the motor control system 1 so that the operation of the motor control system 1 is emergency stopped when any one of the motor driving devices 120 is abnormal. As a result, runaway of the motor control system 1 can be prevented. However, if the operation of the motor 130 is suddenly stopped, the motor control system 1 may be in a more dangerous state. Therefore, a safety stop function such as slowing down the rotation speed of the motor 130 to stop the operation of the motor 130, etc. By using this, the operation of the motor control system 1 can be safely stopped. For example, in a belt conveyor system that operates with a plurality of motors, it is possible to prevent the danger that the operation of the belt conveyor is disturbed due to a failure of a certain motor and the work on the belt conveyor falls. In addition, since the timing for transmitting the emergency stop message varies depending on the system, for example, when there is no response message from a plurality of motor drive devices 120 or when a response message from the motor drive device 120 is not received multiple times, A stop message may be transmitted.
 図7に戻り、モータ駆動装置120に制御命令を送信するタイミングではない場合(ステップS700でNO)、制御装置100は、モータ駆動装置120によりモータ130を制御した結果である現在のモータ130の動作状態を示す情報を含むメッセージを受信しているか否かを判断する(ステップS706)。 Returning to FIG. 7, if it is not time to transmit a control command to the motor drive device 120 (NO in step S700), the control device 100 operates the current motor 130 as a result of controlling the motor 130 by the motor drive device 120. It is determined whether or not a message including information indicating the state is received (step S706).
 制御結果メッセージを受信している場合(ステップS706でYES)、制御装置100は、その制御結果メッセージを解析し、モータ130の動作状態を表示部に表示し(ステップS708)、ステップS700に戻る。尚、制御結果メッセージを解析した結果、モータ130の動作状態がステップS302(図3)にて生成した動作パターンと乖離している場合には、制御装置100は、モータ制御システム1に異常が発生したと判断し、緊急停止メッセージをモータ駆動装置120に送信するようにしても良い。また、この場合、緊急停止メッセージをモータ駆動装置120に送信する他、上記解析結果を利用して、再度動作パターン情報を生成し、図6に示す制御命令600の値を変更するようにしても良い。 If the control result message is received (YES in step S706), the control device 100 analyzes the control result message, displays the operation state of the motor 130 on the display unit (step S708), and returns to step S700. As a result of analyzing the control result message, if the operation state of the motor 130 deviates from the operation pattern generated in step S302 (FIG. 3), the control device 100 has an abnormality in the motor control system 1. The emergency stop message may be transmitted to the motor drive device 120. In this case, in addition to transmitting an emergency stop message to the motor drive device 120, operation pattern information is generated again using the analysis result, and the value of the control command 600 shown in FIG. 6 is changed. good.
 制御結果メッセージを受信していない場合(ステップS706でNO)、制御装置100は、モータ駆動装置120から緊急停止メッセージを受信しているか否かを判断する(ステップS710)。 If the control result message has not been received (NO in step S706), the control device 100 determines whether an emergency stop message has been received from the motor drive device 120 (step S710).
 緊急停止メッセージを受信している場合には(ステップS710でYES)、制御装置100は、他のモータ駆動装置120に緊急停止メッセージを送信し(ステップS716)、その旨をエラーメッセージとして表示部に表示しユーザに通知する(ステップS718)。 If an emergency stop message has been received (YES in step S710), control device 100 transmits an emergency stop message to another motor drive device 120 (step S716), and an error message to that effect is displayed on the display unit. The information is displayed and notified to the user (step S718).
 一方、緊急停止メッセージを受信していない場合(ステップS710でNO)、制御装置100は、ネットワーク状態監視機能232により、現在の通信帯域など現在のネットワークの状態を確認する(ステップS712)。 On the other hand, when the emergency stop message has not been received (NO in step S710), the control device 100 confirms the current network state such as the current communication band by the network state monitoring function 232 (step S712).
 次に制御装置100は、現状の通信帯域とステップS510(図5)で算出した制御命令送信用通信帯域とを比較する(ステップS714)。その結果、現状の通信帯域が制御命令送信用通信帯域より狭い場合には(ステップS714でYES)、モータ駆動装置120に制御命令を正常に送信できない可能性があるため、モータ制御システム1の動作を緊急停止させるため、制御装置100は、他のモータ駆動装置120に緊急停止メッセージを送信し(ステップS716)、その旨をエラーメッセージとして表示部に表示しユーザに通知する(ステップS718)。 Next, the control device 100 compares the current communication band with the control command transmission communication band calculated in step S510 (FIG. 5) (step S714). As a result, if the current communication band is narrower than the control command transmission communication band (YES in step S714), the control command may not be transmitted to the motor driving device 120 normally. In order to make an emergency stop, the control device 100 transmits an emergency stop message to the other motor drive device 120 (step S716), displays that fact as an error message on the display unit, and notifies the user (step S718).
 一方、現状の通信帯域が制御命令送信用通信帯域より広い場合には(ステップS714でNO)、ステップS700に戻る。 On the other hand, if the current communication band is wider than the control command transmission communication band (NO in step S714), the process returns to step S700.
 図8は、モータ駆動装置120における、モータ130に制御命令を送信する処理、およびモータ130の状態を制御装置100に送信する処理を示すフロー図である。尚、図8に示す処理は、制御命令受信機能272やモータ制御機能274、動作結果送信機能276により実行される。 FIG. 8 is a flowchart showing processing for transmitting a control command to the motor 130 and processing for transmitting the state of the motor 130 to the control device 100 in the motor driving device 120. The processing shown in FIG. 8 is executed by the control command reception function 272, the motor control function 274, and the operation result transmission function 276.
 先ずモータ駆動装置120は、制御命令格納部256に格納されている制御命令を参照し、モータ130に制御命令を送信するタイミングか否かを判断する(ステップS800)。 First, the motor driving device 120 refers to the control command stored in the control command storage unit 256, and determines whether or not it is time to transmit the control command to the motor 130 (step S800).
 モータ130に制御命令を送信するタイミングの場合(ステップS800でYES)、モータ駆動装置120は、モータ130のインタフェースに応じて制御命令を電気信号(アナログ信号)に変更した後、外部I/O258を介してモータ130に送信する(ステップS802)。また、モータ駆動装置120は、制御しているモータ130からモータ130の状態を示す情報を取得する(ステップS804)。 In the case of a timing for transmitting a control command to the motor 130 (YES in step S800), the motor driving device 120 changes the control command to an electrical signal (analog signal) according to the interface of the motor 130, and then changes the external I / O 258. To the motor 130 (step S802). In addition, the motor drive device 120 acquires information indicating the state of the motor 130 from the motor 130 being controlled (step S804).
 次にモータ駆動装置120は、取得したモータ130の状態情報に基づいて、モータ130の動作が正常か否かを判断する(ステップS806)。 Next, the motor drive device 120 determines whether or not the operation of the motor 130 is normal based on the acquired state information of the motor 130 (step S806).
 モータ130が正常に動作している場合には(ステップS806でYES)、その状態を示す情報を含む制御結果メッセージを生成し、外部通信部254を介して、制御装置100に送信し(ステップS808)、ステップS800に戻る。 If the motor 130 is operating normally (YES in step S806), a control result message including information indicating the state is generated and transmitted to the control device 100 via the external communication unit 254 (step S808). ), The process returns to step S800.
 一方、モータ130が正常に動作していない場合には(ステップS808でNO)、モータ制御システム1に異常が発生したと判断して緊急停止メッセージを生成し、生成した緊急停止メッセージを外部通信部254を介して制御装置100に送信する(ステップS810)。 On the other hand, if the motor 130 is not operating normally (NO in step S808), it is determined that an abnormality has occurred in the motor control system 1, an emergency stop message is generated, and the generated emergency stop message is transmitted to the external communication unit. The data is transmitted to the control device 100 via the H.254 (step S810).
 また、モータ130に制御命令を送信するタイミングではない場合(ステップS800でNO)、モータ駆動装置120は、制御装置100から制御命令を受信しているか否かを判断する(ステップS812)。 If it is not the timing for transmitting a control command to the motor 130 (NO in step S800), the motor drive device 120 determines whether or not a control command has been received from the control device 100 (step S812).
 制御命令を受信している場合(ステップS812でYES)、受信した制御命令を制御命令格納部256に格納し(ステップS814)、応答メッセージを生成し、外部通信部254を介して、制御装置100に送信する(ステップS816)。 If a control command has been received (YES in step S812), the received control command is stored in the control command storage unit 256 (step S814), a response message is generated, and the control device 100 is connected via the external communication unit 254. (Step S816).
 一方、制御命令を受信していない場合(ステップS812でNO)、モータ駆動装置120は、制御装置100から緊急停止メッセージを受信しているか否かを判断する(ステップS818)。 On the other hand, when the control command is not received (NO in step S812), the motor drive device 120 determines whether or not an emergency stop message is received from the control device 100 (step S818).
 緊急停止メッセージを受信している場合には(ステップS818でYES)、モータ駆動装置20は、モータ130の動作を外部I/O258を介して停止させる制御を行う(ステップS820)。 If an emergency stop message has been received (YES in step S818), the motor drive device 20 performs control to stop the operation of the motor 130 via the external I / O 258 (step S820).
 一方、緊急停止メッセージを受信していない場合(ステップS818でNO)、モータ駆動装置120はステップ800に戻る。 On the other hand, when the emergency stop message has not been received (NO in step S818), the motor drive device 120 returns to step 800.
 以上、本発明の実施形態を具体的に説明したが、本発明はこれに限定されるものでなく、その趣旨を逸脱しない範囲において種々変更可能である。 The embodiment of the present invention has been specifically described above. However, the present invention is not limited to this, and various modifications can be made without departing from the spirit of the present invention.
 こうした本実施形態によれば、モータ制御システム1を簡易かつ安価に実現できるとともに、搭載メモリが小容量のモータ駆動装置でもリアルタイム性を保証しつつ複数のモータの同期制御が可能となる。 According to the present embodiment, the motor control system 1 can be realized simply and inexpensively, and a plurality of motors can be synchronously controlled while guaranteeing real-time performance even with a motor drive device having a small memory capacity.
100・・・制御装置、120・・・モータ駆動装置、130・・・モータ、140・・・HUB、200、250・・・ハードウェアモジュール、210・・・OS、220、270・・・ソフトウェアモジュール。 DESCRIPTION OF SYMBOLS 100 ... Control apparatus, 120 ... Motor drive device, 130 ... Motor, 140 ... HUB, 200, 250 ... Hardware module, 210 ... OS, 220, 270 ... Software module.

Claims (12)

  1.  複数のモータ駆動装置をネットワークを介して制御する制御装置におけるモータ駆動装置の制御方法であって、
     前記モータ駆動装置における利用可能メモリ容量と該モータ駆動装置によるモータの制御命令実行周期を取得し、
     取得した前記利用可能メモリ容量および前記モータの制御命令実行周期を記憶部に記憶し、
     前記記憶部に記憶された前記利用可能メモリ容量を前記モータ駆動装置に送信する制御命令のデータサイズで除算することにより、前記モータ駆動装置における保存可能制御命令数を算出し、
     算出した前記モータ駆動装置における保存可能制御命令数と、前記記憶部に記憶された前記モータの制御命令実行周期とを乗算することにより、前記モータ駆動装置に対する制御命令送信周期を決定し、
     決定した前記制御命令送信周期に基づき、前記保存可能制御命令数分の制御命令を前記ネットワークを介して前記モータ駆動装置に送信する、
     ことを特徴とするモータ駆動装置の制御方法。
    A control method of a motor drive device in a control device that controls a plurality of motor drive devices via a network,
    Obtaining an available memory capacity in the motor driving device and a motor control command execution cycle by the motor driving device;
    Storing the obtained usable memory capacity and the control instruction execution cycle of the motor in a storage unit;
    By dividing the available memory capacity stored in the storage unit by the data size of the control command transmitted to the motor drive device, the number of storable control commands in the motor drive device is calculated,
    By multiplying the calculated number of control commands that can be stored in the motor drive device and the control command execution cycle of the motor stored in the storage unit, a control command transmission cycle for the motor drive device is determined,
    Based on the determined control command transmission cycle, the control commands for the number of control commands that can be stored are transmitted to the motor drive device via the network.
    A control method for a motor drive device.
  2.  前記制御命令は、該制御命令を実行する時刻情報が付加されている、
     ことを特徴とする請求項1に記載のモータ駆動装置の制御方法。
    The control instruction is added with time information for executing the control instruction.
    The method for controlling a motor drive device according to claim 1.
  3.  前記制御装置により、
     前記保存可能制御命令数と、1つの制御命令のデータサイズと、前記制御装置と接続されているモータ駆動装置数から、ネットワーク上の制御命令送信用通信帯域を算出し、
     算出した前記ネットワーク上の前記制御命令送信用通信帯域を使って、前記保存可能制御命令数分の前記制御命令を前記モータ駆動装置に送信する、
     ことを特徴とする請求項2に記載のモータ駆動装置の制御方法。
    By the control device,
    From the number of control commands that can be stored, the data size of one control command, and the number of motor drive devices connected to the control device, a communication bandwidth for transmitting control commands on the network is calculated,
    Using the calculated communication band for control command transmission on the network, the control commands for the number of storable control commands are transmitted to the motor driving device.
    The method for controlling a motor driving device according to claim 2.
  4.  前記制御装置により、
     算出した前記制御命令送信用通信帯域が所定の利用可能通信帯域より狭い場合に、決定した前記制御命令送信周期に基づき、算出した前記ネットワーク上の前記制御命令送信用通信帯域を使って、前記保存可能制御命令数分の制御命令を前記モータ駆動装置に送信する、
     ことを特徴とする請求項3に記載のモータ駆動装置の制御方法。
    By the control device,
    When the calculated communication band for control command transmission is narrower than a predetermined available communication band, based on the determined control command transmission period, the calculated communication band for control command transmission on the network is used for the storage. Transmitting control commands for the number of possible control commands to the motor drive device;
    The method for controlling a motor driving device according to claim 3.
  5.  前記制御装置により、
     算出した前記制御命令送信用通信帯域が所定の利用可能通信帯域より広い場合に、前記保存可能制御命令数を変更し、該変更した保存可能制御命令数に基づき、前記ネットワーク上の前記制御命令送信用通信帯域を再計算する、
     ことを特徴とする請求項3に記載のモータ駆動装置の制御方法。
    By the control device,
    When the calculated communication bandwidth for transmitting the control command is wider than a predetermined available communication bandwidth, the number of storable control commands is changed, and the control command transmission on the network is changed based on the changed number of storable control commands. Recalculate the trusted communication bandwidth,
    The method for controlling a motor driving device according to claim 3.
  6.  前記制御装置により、
     モータ駆動装置から前記制御命令の送信に対する応答がない場合、該応答がないモータ駆動装置以外の各モータ駆動装置に対して前記ネットワークを介して緊急停止メッセージを送信する、
     ことを特徴とする請求項1乃至請求項5の何れか1項に記載のモータ駆動装置の制御方法。
    By the control device,
    When there is no response to the transmission of the control command from the motor drive device, an emergency stop message is transmitted via the network to each motor drive device other than the motor drive device without the response.
    The method for controlling a motor driving device according to any one of claims 1 to 5, wherein:
  7.  前記制御装置により、
     前記モータ駆動装置からモータ制御結果を前記ネットワークを介して受信し、表示部に表示する、
     ことを特徴とする請求項6に記載のモータ駆動装置の制御方法。
    By the control device,
    Receiving a motor control result from the motor driving device via the network, and displaying the result on a display unit;
    The method for controlling a motor driving device according to claim 6.
  8.  前記制御装置により、
     任意の前記モータ駆動装置から、前記モータ制御結果を受信せず、緊急停止メッセージを受信した場合、該緊急停止メッセージ送信元のモータ駆動装置以外の各モータ駆動装置に対して前記ネットワークを介して緊急停止メッセージを送信する、
     ことを特徴とする請求項7に記載のモータ駆動装置の制御方法。
    By the control device,
    When an emergency stop message is received without receiving the motor control result from any of the motor drive devices, an emergency is made via the network to each motor drive device other than the motor drive device that is the source of the emergency stop message. Send a stop message,
    The method for controlling a motor driving device according to claim 7.
  9.  前記制御装置により、
     任意の前記モータ駆動装置から、前記モータ制御結果と前記緊急停止メッセージを受信しない場合、ネットワークの状態を確認する
     ことを特徴とする請求項8に記載のモータ駆動装置の制御方法。
    By the control device,
    The method for controlling a motor drive device according to claim 8, wherein when the motor control result and the emergency stop message are not received from any of the motor drive devices, a network state is confirmed.
  10.  複数のモータ駆動装置と、該複数のモータ駆動装置をネットワークを介して制御する制御装置を含むモータ制御システムであって、
     前記制御装置は、
     前記モータ駆動装置における利用可能メモリ容量と該モータ駆動装置によるモータの制御命令実行周期を取得する手段と、
     取得した前記利用可能メモリ容量および前記モータの制御命令実行周期を記憶部に記憶する手段と、
     前記記憶部に記憶された前記利用可能メモリ容量を前記モータ駆動装置に送信する制御命令のデータサイズで除算することにより、前記モータ駆動装置における保存可能制御命令数を算出する手段と、
     算出した前記モータ駆動装置における保存可能制御命令数と、前記記憶部に記憶された前記モータの制御命令実行周期とを乗算することにより、前記モータ駆動装置に対する制御命令送信周期を決定する手段と、
     決定した前記制御命令送信周期に基づき、前記保存可能制御命令数分の制御命令を前記ネットワークを介して前記モータ駆動装置に送信する手段を有し、
     前記モータ駆動装置は、
     前記制御装置から前記制御命令を受信する手段と、
     受信した前記制御命令に基づいてモータを制御する手段を有する、
     ことを特徴とするモータ制御システム。
    A motor control system including a plurality of motor drive devices and a control device that controls the plurality of motor drive devices via a network,
    The controller is
    Means for obtaining an available memory capacity in the motor driving device and a control command execution cycle of the motor by the motor driving device;
    Means for storing the acquired available memory capacity and the control instruction execution cycle of the motor in a storage unit;
    Means for calculating the number of control commands that can be stored in the motor drive device by dividing the available memory capacity stored in the storage unit by the data size of a control command transmitted to the motor drive device;
    Means for determining a control command transmission cycle for the motor drive device by multiplying the calculated number of control commands that can be stored in the motor drive device by a control command execution cycle of the motor stored in the storage unit;
    Based on the determined control command transmission cycle, there is means for transmitting control commands for the number of storable control commands to the motor drive device via the network,
    The motor driving device is
    Means for receiving the control command from the control device;
    Means for controlling the motor based on the received control command;
    A motor control system characterized by that.
  11.  前記モータ駆動装置は、前記モータの状態情報を取得し、該モータが正常に動作していない場合、該モータ制御システムに異常が発生したと判断して、緊急停止メッセージを前記制御装置に前記ネットワークを介して送信する手段を有する
     ことを特徴とする請求項10に記載のモータ制御システム。
    The motor drive device acquires status information of the motor, and when the motor is not operating normally, determines that an abnormality has occurred in the motor control system and sends an emergency stop message to the control device in the network. The motor control system according to claim 10, further comprising a means for transmitting via.
  12.  コンピュータに、
     モータ駆動装置における利用可能メモリ容量と該モータ駆動装置によるモータの制御命令実行周期を取得する処理と、
     取得した前記利用可能メモリ容量および前記モータの制御命令実行周期を記憶部に記憶する処理と、
     前記記憶部に記憶された前記利用可能メモリ容量を前記モータ駆動装置に送信する制御命令のデータサイズで除算することにより、前記モータ駆動装置における保存可能制御命令数を算出する処理と、
     算出した前記モータ駆動装置における保存可能制御命令数と、前記記憶部に記憶された前記モータの制御命令実行周期とを乗算することにより、前記モータ駆動装置に対する制御命令送信周期を決定する処理と、
     決定した前記制御命令送信周期に基づき、前記保存可能制御命令数分の制御命令を前記モータ駆動装置に出力する処理と、
     を実行させることを特徴とするプログラム。
    On the computer,
    A process for obtaining an available memory capacity in the motor driving device and a motor control command execution cycle by the motor driving device;
    A process of storing the acquired available memory capacity and the control instruction execution cycle of the motor in a storage unit;
    A process of calculating the number of control commands that can be stored in the motor drive device by dividing the available memory capacity stored in the storage unit by the data size of a control command transmitted to the motor drive device;
    A process of determining a control command transmission cycle for the motor drive device by multiplying the calculated number of control commands that can be stored in the motor drive device by a control command execution cycle of the motor stored in the storage unit;
    Based on the determined control command transmission period, a process of outputting control commands for the number of control commands that can be stored to the motor drive device;
    A program characterized by having executed.
PCT/JP2014/082365 2014-04-16 2014-12-08 Control method for motor drive device, motor control system, and program WO2015159457A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014-084175 2014-04-16
JP2014084175A JP6239434B2 (en) 2014-04-16 2014-04-16 Control method of motor drive device, motor control system and program

Publications (1)

Publication Number Publication Date
WO2015159457A1 true WO2015159457A1 (en) 2015-10-22

Family

ID=54323687

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/082365 WO2015159457A1 (en) 2014-04-16 2014-12-08 Control method for motor drive device, motor control system, and program

Country Status (2)

Country Link
JP (1) JP6239434B2 (en)
WO (1) WO2015159457A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107269129A (en) * 2017-08-03 2017-10-20 深圳市驿固科技有限公司 The control method and lock body of a kind of mutual assistance group of motors

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2018179165A1 (en) * 2017-03-29 2019-04-04 三菱電機株式会社 Communications system
WO2020004301A1 (en) * 2018-06-26 2020-01-02 日本電産株式会社 Tuning system

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63138403A (en) * 1986-12-01 1988-06-10 Fujitsu Ltd Data transfer system
JP2004110359A (en) * 2002-09-18 2004-04-08 Mitsubishi Electric Corp Numerical control system
JP2005237163A (en) * 2004-02-23 2005-09-02 Matsushita Electric Ind Co Ltd Motor drive device
JP2007025759A (en) * 2005-07-12 2007-02-01 Hitachi Industrial Equipment Systems Co Ltd Electric motor driving device, position instruction device and positioning device
JP2009129315A (en) * 2007-11-27 2009-06-11 Muscle Corp Driving method and driving system of servo motor
JP2010188443A (en) * 2009-02-16 2010-09-02 Nakamura Tome Precision Ind Co Ltd Device for grinding outer periphery of platelike workpiece
WO2013136627A1 (en) * 2012-03-12 2013-09-19 富士電機株式会社 Motor drive system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63138403A (en) * 1986-12-01 1988-06-10 Fujitsu Ltd Data transfer system
JP2004110359A (en) * 2002-09-18 2004-04-08 Mitsubishi Electric Corp Numerical control system
JP2005237163A (en) * 2004-02-23 2005-09-02 Matsushita Electric Ind Co Ltd Motor drive device
JP2007025759A (en) * 2005-07-12 2007-02-01 Hitachi Industrial Equipment Systems Co Ltd Electric motor driving device, position instruction device and positioning device
JP2009129315A (en) * 2007-11-27 2009-06-11 Muscle Corp Driving method and driving system of servo motor
JP2010188443A (en) * 2009-02-16 2010-09-02 Nakamura Tome Precision Ind Co Ltd Device for grinding outer periphery of platelike workpiece
WO2013136627A1 (en) * 2012-03-12 2013-09-19 富士電機株式会社 Motor drive system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107269129A (en) * 2017-08-03 2017-10-20 深圳市驿固科技有限公司 The control method and lock body of a kind of mutual assistance group of motors

Also Published As

Publication number Publication date
JP2015204724A (en) 2015-11-16
JP6239434B2 (en) 2017-11-29

Similar Documents

Publication Publication Date Title
US10274936B2 (en) Control apparatus
CN110456707B (en) Control device
WO2015159457A1 (en) Control method for motor drive device, motor control system, and program
JP2019079452A (en) Abnormality determination system, data transmission/reception device, motor control device, and abnormality determination method
EP2555068B1 (en) Synchronization control apparatus
US10466670B2 (en) Field bus module, machine controller, and method for parameterizing a field bus module, in particular a safety-oriented field bus module
JP2016115344A (en) Systems and methods for memory map utilization
CN112769685A (en) Industrial gateway from UPC UA to MQTT and communication method thereof
CN106338934B (en) Servo-driver long-range control method and device
US20220166697A1 (en) Management device, management method and recording medium
JP2020017922A (en) Radio communication system
JP2013191918A (en) Communication system lsi
JP2015162124A (en) Control device, control system and control method
JP2019088099A (en) Motor controller, control system and motor control method
WO2023195178A1 (en) Motor drive device and servo drive system
KR102434201B1 (en) CONNECTIVITY MANAGEMENT APPARATUS AND METHOD FOR INTERFERENCE RELAXATION BETWEEN HETEROGENEOUS WIRELESS DEVICES OF EDGE GATEWAY UNDER IoT SENSOR ENVIRONMENT
US20240007773A1 (en) Safety Communication Method, Communication Apparatus, Safety Communication System and Control System
US20230373636A1 (en) Decentralized Control Panel Architecture
WO2020071373A1 (en) Control system, support device, and program
EP2610791A1 (en) Apparatus and method for processing project information for cross-platform
JP6456246B2 (en) Motor control system and motor control method
WO2020166004A1 (en) Control system, programmable logic controller, method, and program
Winoto et al. The proportional integral derivative control system on the mini conveyor with message queuing telemetry transport protocol based on the internet of things
RU167658U1 (en) BLUETOOTH INDOOR CLIMATE CONTROL SYSTEM
RU167659U1 (en) WI-FI Indoor Climate Control System Unit

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14889352

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14889352

Country of ref document: EP

Kind code of ref document: A1