Motor control system, motor control device, motor control method
By realizing data communication, sharing, and information conversion among multiple motor control devices in the motor control system, the problem of heavy load handling by the upper-level control device is solved, the synchronization accuracy and autonomous operation capability are improved, and the cost is reduced.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- YASKAWA DENKI KK
- Filing Date
- 2022-09-20
- Publication Date
- 2026-07-17
AI Technical Summary
In existing technologies, the processing load of the upper-level control device is heavy and difficult to reduce effectively.
A motor control system is adopted, which shares reference information and position information through data communication between multiple motor control devices and converts it into control commands to reduce the processing load of the upper control device.
This reduces the processing load on the upper-level control device, improves synchronization accuracy and autonomous operation capability, and lowers costs.
Smart Images

Figure CN115955146B_ABST
Abstract
Description
Technical Field
[0001] The disclosed embodiments relate to a motor control system, a motor control device, and a motor control method. Background Technology
[0002] Patent Document 1 describes a distributed motor control system. In this distributed motor control system, at least two of the multiple servo amplifiers connected to a host control device each have: a sharing processing unit that performs sharing processing of cooperative control data required for cooperative driving of industrial equipment by sharing data communication between the at least two servo amplifiers; and a control unit that uses the shared cooperative control data to control the corresponding motor.
[0003] Existing technical documents
[0004] Patent documents
[0005] Patent Document 1: Japanese Patent Application Publication No. 2021-100350
[0006] In motor control systems, it is desirable to reduce the processing load on the upper-level control device. Summary of the Invention
[0007] The present invention was made in view of the following problems, and its object is to provide a motor control system, a motor control device, and a motor control method that can reduce the processing load of the upper control device.
[0008] To address the aforementioned issues, according to one aspect of the present invention, a motor control system is provided, comprising: a host control device that outputs a first control command; a plurality of motor control devices that control a plurality of motors based on the first control command; and a reference information output unit that outputs reference information related to the control of the motor to any one of the motor control devices, wherein each of the plurality of motor control devices comprises: an information sharing unit that shares the reference information with each other via data communication between the plurality of motor control devices; an instruction conversion unit that converts the shared reference information into a second control command corresponding to the motor being controlled; and a motor control unit that controls the motor being controlled based on the second control command.
[0009] Furthermore, according to another aspect of the present invention, a motor control system is provided, comprising: a host control device that outputs control commands; a plurality of motor control devices that control a plurality of motors based on the control commands; and a plurality of sensors that detect position information of the drive units of the respective motors and output it to the corresponding motor control device. Each of the plurality of motor control devices has an information sharing unit that shares the position information detected by the sensors via data communication between the plurality of motor control devices. At least one of the motor control devices includes: an arrival determination unit that determines, based on the shared position information, whether a reference point of the drive mechanism driven by the plurality of motors has reached a predetermined position; and a trigger output unit that outputs a trigger signal when it is determined that the reference point has reached the predetermined position.
[0010] Furthermore, according to another aspect of the present invention, a motor control system is provided, comprising: a host control device that outputs control commands; a plurality of motor control devices that control the plurality of motors based on the control commands; and at least one sensor that detects position information of the drive unit of at least one of the motors and outputs it to the corresponding motor control device. Each of the plurality of motor control devices has an information sharing unit that shares the position information detected by the sensor with each other via data communication between the plurality of motor control devices. Each of the at least one motor control device includes: a parameter adjustment unit that adjusts control parameters related to the control of the motor being controlled based on the shared position information; and a motor control unit that controls the motor being controlled based on the control commands and the adjusted control parameters.
[0011] Furthermore, according to another aspect of the present invention, a motor control device is applied, which controls one of a plurality of motors based on a first control command output from a host control device. The motor control device comprises: an information sharing unit that shares reference information related to the control of the motor with other motor control devices via data communication; an instruction conversion unit that converts the shared reference information into a second control command corresponding to the motor being controlled; and a motor control unit that controls the motor being controlled based on the second control command.
[0012] Furthermore, according to another aspect of the present invention, a motor control device is applied that controls one of a plurality of motors based on control commands output from a host control device. The motor control device includes: an information sharing unit that shares position information detected by sensors with other motor control devices via data communication; the sensors detect the position information of the drive units of other motors and output it to the corresponding other motor control devices; an arrival determination unit that determines, based on the shared position information, whether a reference point of the drive mechanism driven by the plurality of motors has reached a predetermined position; and a trigger output unit that outputs a trigger signal when it is determined that the reference point has reached the predetermined position.
[0013] Furthermore, according to another aspect of the present invention, a motor control device is applied that controls one of a plurality of motors based on control commands output from a host control device. The motor control device comprises: an information sharing unit that shares position information detected by sensors with other motor control devices via data communication; the sensors detect the position information of the drive units of other motors and output it to the corresponding other motor control devices; a parameter adjustment unit that adjusts control parameters related to the control of the motor being controlled based on the shared position information; and a motor control unit that controls the motor being controlled based on the control commands and the adjusted control parameters.
[0014] In addition, according to another aspect of the present invention, a motor control method is applied, which controls one of a plurality of motors based on a first control command output from a host control device. The motor control method includes the following steps: sharing reference information related to the control of the motor with other motor control devices via data communication; converting the shared reference information into a second control command corresponding to the motor as the object of control; and controlling the motor as the object of control based on the second control command.
[0015] Furthermore, according to another aspect of the present invention, a motor control method is applied, which controls one of a plurality of motors based on control commands output from a host control device. The motor control method includes the following steps: sharing position information detected by sensors with other motor control devices via data communication, wherein the sensors detect the position information of the drive units of other motors and output it to the corresponding other motor control devices; determining, based on the shared position information, whether a reference point of the drive mechanism driven by the plurality of motors has reached a predetermined position; and outputting a trigger signal if it is determined that the reference point has reached the predetermined position.
[0016] Furthermore, according to another aspect of the present invention, a motor control method is applied, which controls one of a plurality of motors based on control commands output from a host control device. The motor control method includes the following steps: sharing position information detected by sensors with other motor control devices via data communication, wherein the sensors detect the position information of the drive units of other motors and output it to the corresponding other motor control devices; adjusting control parameters related to the control of the motor being controlled based on the shared position information; and controlling the motor being controlled based on the control commands and the adjusted control parameters.
[0017] According to the motor control system and the like of the present invention, the processing load of the upper control device can be reduced. Attached Figure Description
[0018] Figure 1 This is a diagram illustrating an example of the overall structure of the motor control system according to the first embodiment.
[0019] Figure 2 This is a block diagram illustrating an example of the functional structure of a host control device and a motor control device.
[0020] Figure 3 This is a diagram illustrating an example of the relationship between position information detected by an external sensor and position commands for the motor.
[0021] Figure 4 This is a flowchart illustrating an example of a processing procedure performed by a motor control device.
[0022] Figure 5 This is a diagram illustrating an example of the overall structure of the motor control system according to the second embodiment.
[0023] Figure 6 This is a perspective view showing an example of the structure of a platform device driven by the motor control system of the second embodiment.
[0024] Figure 7 This is a block diagram illustrating an example of the functional structure of a host control device and a motor control device.
[0025] Figure 8 This is a flowchart illustrating an example of a processing procedure performed by a motor control device.
[0026] Figure 9 This is a diagram illustrating an example of the overall structure of the motor control system according to the third embodiment.
[0027] Figure 10 This is a perspective view showing an example of the structure of a frame mechanism driven by the motor control system of the third embodiment.
[0028] Figure 11 This is a block diagram illustrating an example of the functional structure of a host control device and a motor control device.
[0029] Figure 12 This is a flowchart illustrating an example of a processing procedure performed by a motor control device.
[0030] Figure 13 This is a block diagram illustrating an example of the hardware structure of a motor control device.
[0031] Label Explanation
[0032] 1. Motor Control System
[0033] 3. Upper-level control device
[0034] 5A~5D motor control device
[0035] 7A~7D motors
[0036] 17 External Sensors (Reference Information Output Unit)
[0037] 19 Control Command Output Section
[0038] 21 Start Instruction Output Section
[0039] 23 Information Sharing Department
[0040] 25 Instruction Conversion Unit
[0041] 27 Motor Control Section
[0042] 100 motor control system
[0043] 103 Upper Control Device
[0044] 105A~105C Motor Control Device
[0045] 107A~107C motors
[0046] 113A~113C encoders (sensors)
[0047] 115 units (drive machinery)
[0048] 119 Control Command Output Unit
[0049] 123 Information Sharing Department
[0050] 125 arrived at the judgment department
[0051] 127 Motor Control Unit
[0052] 129 trigger output section
[0053] 200 motor control system
[0054] 203 Upper Control Device
[0055] 205A~205C Motor Control Device
[0056] 207A~207C motors
[0057] 213A~213C encoders (sensors)
[0058] 215 rack mechanism
[0059] 219 Control Command Output Unit
[0060] 223 Information Sharing Department
[0061] 225 parameter adjustment section
[0062] 227 Motor Control Unit Detailed Implementation
[0063] The embodiments will now be described with reference to the accompanying drawings.
[0064] <1. First Implementation>
[0065] The first embodiment is an implementation in which the motor control system is applied to a system that operates autonomously using a reference signal.
[0066] (1-1. Overall Structure of Motor Control System)
[0067] Reference Figure 1 An example of the overall structure of the motor control system 1 of the first embodiment will be described.
[0068] like Figure 1 As shown, the motor control system 1 has a host control device 3, multiple (e.g., 4) motor control devices 5A to 5D, and multiple (e.g., 4) motors 7A to 7D.
[0069] The host control device 3 is composed of, for example, a general-purpose personal computer, a PLC (Programmable Logic Controller), a motion controller, or other computer. The host control device 3 generates control commands (an example of the first control command, such as position command, speed command, torque command, etc.) for controlling motors 7A to 7D, and sends them to motor control devices 5A to 5D respectively.
[0070] Motor control devices 5A to 5D control motors 7A to 7D respectively according to control commands received from the host control device 3. Motors 7A to 7D can be rotary motors or linear motors. Motor control devices 5A to 5D are also referred to as servo amplifiers. Motor control devices 5A to 5D are connected in series with the host control device 3 and can communicate with each other. Furthermore, a specific motor control device among motor control devices 5A to 5D (e.g., motor control device 5A) can be connected to the host control device 3 for data communication. Hereinafter, the communication line for data communication between the host control device 3 and motor control device 5A will be referred to as the first communication line 9, and the communication line for data communication between motor control devices 5A to 5D will be referred to as the second communication line 11.
[0071] The motor control unit 5A supplies power to the motor 7A based on control commands received from the host control unit 3 and position information received from the encoder 13A, thereby controlling the motor 7A. The motor 7A drives the mechanism element 15A. The encoder 13A detects the position information of the drive unit (e.g., rotor or moving part) of the motor 7A and sends it to the motor control unit 5A.
[0072] The motor control device 5B supplies power to the motor 7B based on control commands received from the host control device 3 and position information received from the encoder 13B, thereby controlling the motor 7B. The motor 7B drives the mechanism element 15B. The encoder 13B detects the position information of the drive unit of the motor 7B and sends it to the motor control device 5B.
[0073] The motor control device 5C supplies power to the motor 7C based on control commands received from the host control device 3 and position information received from the encoder 13C, thereby controlling the motor 7C. The motor 7C drives the mechanism element 15C. The encoder 13C detects the position information of the drive unit of the motor 7C and sends it to the motor control device 5C.
[0074] The motor control device 5D supplies power to the motor 7D based on the control commands received from the host control device 3 and the position information received from the encoder 13D, thereby controlling the motor 7D. The motor 7D drives the mechanism element 15D. The encoder 13D detects the position information of the drive unit of the motor 7D and sends it to the motor control device 5D.
[0075] One specific motor control device among the motor control devices 5A to 5D (e.g., motor control device 5D) receives reference information related to motor control. The type of "reference information" is related to the control commands for each motor 7A to 7D, and there are no particular limitations as long as the information can be converted into control commands using the relevant information. For example, an external sensor 17 (e.g., a reference information output unit) can be provided to detect the position information of the mechanism element 15D (an example of a drive unit) driven by motor 7D, and the motor control device 5D receives the position information (an example of reference information) detected by the external sensor 17 as reference information. The reference information received by the motor control device 5D is shared among the motor control devices 5A to 5D for autonomous operation based on the motor control devices 5A to 5D, independent of the upper control device 3.
[0076] Furthermore, the type of external sensor 17 is not particularly limited as long as it can detect position information of the mechanism element 15. For example, it could be an encoder, potentiometer, infrared sensor, laser sensor, etc. When detecting speed or torque information of the mechanism element 15 as reference information, the external sensor 17 could also be a speed sensor or torque sensor, for example. Alternatively, the position information of the drive unit of the motor 7D output by the encoder 13D could be used as reference information instead of the detection information from the external sensor 17. In this case, the encoder 13D becomes an example of a reference information output unit.
[0077] Mechanisms 15A to 15D constitute industrial mechanical systems for performing specified processes such as machining and measuring workpieces. The types of each mechanism are not particularly limited; for example, if motor 7 is a rotary type, it could also be a ball screw mechanism.
[0078] Furthermore, the structure of the motor control system 1 described above is an example and is not limited to the above content. For example, the number of motor control devices 5 and motors 7 can be more than 4, or any one of the motor control devices 5B to 5D can be connected to the upper control device 3. Alternatively, any one of the motor control devices 5A to 5C can receive reference information.
[0079] In addition, in this embodiment, without distinguishing between motor control devices 5A to 5D, motors 7A to 7D, encoders 13A to 13D, and mechanism elements 15A to 15D, they are referred to as motor control device 5, motor 7, encoder 13, and mechanism element 15.
[0080] (1-2. Functional structure of the host control device and the motor control device)
[0081] Reference Figure 2 and Figure 3An example of the functional structure of the upper control device 3 and the motor control devices 5A to 5D will be explained.
[0082] like Figure 2 As shown, the upper-level control device 3 has a control command output unit 19 and a start command output unit 21. The control command output unit 19 generates control commands (e.g., position commands, speed commands, torque commands, etc.) for controlling the operation of motors 7A to 7D respectively, and sends them to the corresponding motor control devices 5A to 5D respectively. As described above, since the motor control devices 5A to 5D are connected in series, the control commands for motor control device 5A are sent via the first communication line 9, and the control commands for motor control devices 5B to 5D are sent via the first communication line 9 and the second communication line 11.
[0083] The start command output unit 21 outputs a start command to the motor control devices 5A to 5D at a predetermined time. The "start command" is a command used to indicate the start of autonomous operation based on the motor control devices 5A to 5D without relying on the upper control device 3. The start command sent from the upper control device 3 to the motor control device 5A is transmitted to each motor control device 5B to 5D via the second communication line 11.
[0084] Motor control devices 5A to 5D each have an information sharing unit 23, a command conversion unit 25, and a motor control unit 27. The information sharing unit 23 shares reference information (in this embodiment, the position information of the mechanism element 15D received by the motor control device 5D from the external sensor 17) with each other via data communication through the second communication line 11. Specifically, the information sharing unit 23 of the motor control device 5D shares the position information received from the external sensor 17 and sends it to the information sharing unit 23 of the motor control devices 5A to 5C via the second communication line 11. Furthermore, the shared position information is also sent to the host control device 3 via the first communication line 9.
[0085] The instruction conversion unit 25 converts the reference information shared by the information sharing unit 23 into a control command (an example of a second control command) corresponding to the motor 7, which is the object of control. For example, the instruction conversion unit 25 converts the position information into a position command based on the relevant information between the position information detected by the external sensor 17 and the position command corresponding to the motor 7, which is the object of control.
[0086] Specifically, the command conversion unit 25 of motor control device 5A converts shared position information into position commands for motor 7A based on the relevant information between position information detected by external sensor 17 and position commands for motor 7A recorded in appropriate recording units of motor control device 5A. Similarly, the command conversion unit 25 of motor control device 5B converts shared position information into control commands for motor 7B based on the relevant information between position information detected by external sensor 17 and position commands for motor 7B recorded in appropriate recording units of motor control device 5B. Similarly, the command conversion unit 25 of motor control device 5C converts shared position information into control commands for motor 7C based on the relevant information between position information detected by external sensor 17 and position commands for motor 7C recorded in appropriate recording units of motor control device 5C. Similarly, the command conversion unit 25 of motor control device 5D converts shared position information into control commands for motor 7D based on the relevant information between position information detected by external sensor 17 and position commands for motor 7D recorded in appropriate recording units of motor control device 5D.
[0087] Figure 3 This illustrates an example of the relationship between position information detected by external sensor 17 and position commands for motor 7. For example... Figure 3 As shown, the relevant information specifies position commands C1, C2, C3… corresponding to the position information P1, P2, P3… detected by the external sensor 17. This relevant information is also called an electronic cam table. Each motor control device 5A-5D records its own specific relevant information corresponding to the motor 7 being controlled. The command conversion unit 25 of each motor control device 5A-5D converts the shared position information into its own specific position commands based on the aforementioned relevant information.
[0088] Furthermore, the control commands converted from the reference information by the command conversion unit 25 are not limited to position commands; for example, they can also be speed commands or torque commands. In this case, the corresponding relevant information can be pre-recorded in each motor control device 5.
[0089] The motor control unit 27 controls the motor 7, which is the controlled object, based on the control command converted by the command conversion unit 25 and the position information received from the corresponding encoder 13. Specifically, the motor control unit 27 includes, for example, a position control unit, a speed control unit, and a current control unit (figures omitted). The position control unit generates a speed command, for example, through PID control, based on the position deviation obtained by subtracting the feedback position based on the detection information from the encoder 13 from the position command converted by the command conversion unit 25. The speed control unit generates a torque command, for example, through PID control, based on the speed deviation obtained by subtracting the feedback speed based on the detection information from the encoder 13 from the speed command. The current control unit performs power conversion based on the torque command and supplies power to the motor 7.
[0090] The processing in the control command output unit 19 and start command output unit 21 of the aforementioned upper control device 3, and the processing in the information sharing unit 23, command conversion unit 25, and motor control unit 27 of the motor control devices 5A-5D, are not limited to examples of processing division. For example, processing can be performed by a smaller number of processing units (e.g., one processing unit), or by further subdivided processing units. Furthermore, the motor control devices 5A-5D can be implemented by simply installing the part that supplies power to the motors 7A-7D (such as an inverter), while the functions of the other processing units are handled by the CPU 901 described later (see reference). Figure 13 The program executed by the device can be used for installation, or it can be installed by actual devices such as ASICs, FPGAs, or other circuits, which may be used to install part or all of its functions.
[0091] (1-3. Processing procedure of motor control device)
[0092] Reference Figure 4 An example of the processing procedure performed by the motor control device 5 will be described.
[0093] In step S10, the motor control device 5, with the aid of the motor control unit 27, controls the motor 7, which is the object of control, based on the control command received from the upper control device 3 and the position information received from the corresponding encoder 13.
[0094] In step S20, the motor control device 5 determines whether it has received a start command from the host control device 3. If no start command is received (step S20: No), the process returns to step S10. On the other hand, if a start command is received (step S20: Yes), the process proceeds to the next step S30.
[0095] In step S30, the motor control device 5, with the help of the information sharing unit 23, shares the position information of the mechanical element 15D received by the motor control device 5D from the external sensor 17 through data communication via the second communication line 11 between the motor control devices 5A and 5D.
[0096] In step S40, the motor control device 5, with the aid of the instruction conversion unit 25, converts the position information shared in step S30 into a position instruction corresponding to the motor 7, which is the object of control, based on the relevant information recorded in the recording unit.
[0097] In step S50, the motor control device 5, with the aid of the motor control unit 27, controls the motor 7, which is the object of control, based on the position command converted in step S40 and the position information received from the corresponding encoder 13. Thus, even without control commands from the host control device 3, the motor control devices 5A to 5D perform autonomous operation based on the position information received from the encoder 13, controlling each motor 7A to 7D.
[0098] In step S60, the motor control device 5 determines whether to terminate autonomous operation. The termination of autonomous operation is determined, for example, by whether a termination command indicating the end of autonomous operation has been received from the upper control device 3, or by whether the transmission of a position command converted based on relevant information has ended. If autonomous operation is not terminated (step S60: No), the process returns to the previous step S30. On the other hand, if autonomous operation is terminated (step S60: Yes), the process proceeds to the next step S70.
[0099] In step S70, the motor control device 5 determines whether to terminate the operation of the motor control system 1. If the system continues to operate (step S70: No), it returns to the previous step S10 and repeats the same process. On the other hand, if the system terminates (step S70: Yes), the process ends.
[0100] The above-described process is an example; at least a part of the above process can be deleted or modified, or processes other than those described above can be added. Furthermore, the order of at least a part of the above process can be changed, or multiple processes can be combined into a single process.
[0101] (1-4. Effects of the first implementation method)
[0102] As described above, the motor control system 1 of the first embodiment includes: a host control device 3 that outputs control commands; a plurality of motor control devices 5A to 5D that control the plurality of motors 7A to 7D based on the control commands; and an external sensor 17 that outputs reference information related to the control of the motor 7 to any one of the motor control devices 5 (e.g., motor control device 5D). The plurality of motor control devices 5A to 5D each include: an information sharing unit 23 that shares the reference information with each other through data communication between the plurality of motor control devices 5A to 5D; a command conversion unit 25 that converts the shared reference information into control commands corresponding to the motor 7 that is the object of control; and a motor control unit 27 that controls the motor 7 that is the object of control according to the converted control commands.
[0103] In the motor control system 1, multiple motor control devices 5A to 5D share reference information with each other via data communication, converting the shared reference information into control commands for autonomous operation, and controlling the motor 7 based on these control commands. Thus, even without control commands from the host control device 3, each motor control device 5A to 5D can operate autonomously. Therefore, the host control device 3 does not need to generate and output control commands for each motor control device 5A to 5D, thereby reducing the processing load on the host control device 3.
[0104] Furthermore, when multiple motor control devices 5A to 5D are operated synchronously according to control commands from the upper control device 3, the command resolution is determined by the processing cycle of the upper control device 3. For example, when the number of motor control devices being controlled (number of connected shafts) is large, or when there is processing of motor control devices unrelated to synchronization, the processing load of the upper control device 3 increases, and the processing cycle becomes longer. As a result, the command resolution becomes coarser, which may lead to a decrease in synchronization accuracy.
[0105] In this embodiment, each motor control device 5A to 5D operates autonomously based on reference information shared through data communication via the second communication line 11. Therefore, the reference information is updated, for example, according to the transmission cycle of the second communication line 11 or the processing cycle of each motor control device 5A to 5D, and the control commands for autonomous operation are also updated according to this cycle. Thus, each motor control device 5A to 5D can perform synchronous operation according to the transmission cycle of the second communication line 11 or the processing cycle of the motor control devices 5A to 5D, without relying on the processing cycle of the upper-level control device 3. Therefore, the command resolution can be refined, and synchronization accuracy can be improved.
[0106] Alternatively, in this embodiment, the external sensor 17 can also be a position sensor, which detects the position information of the driven object of any one motor 7 (e.g., motor 7D) and outputs the position information to the corresponding motor control device 5 (e.g., motor control device 5D).
[0107] In this case, multiple motor control devices 5A to 5D can operate autonomously and synchronously based on the position information of the driven object, such as motor 7D, detected by external sensor 17. Furthermore, if position information is detected using, for example, an encoder 13D mounted on motor 7D instead of external sensor 17, no new equipment is needed to generate and output reference information, thus suppressing cost increases.
[0108] In addition, in this embodiment, the command conversion unit 25 may also convert position information into position commands based on the position information detected by the external sensor 17 and the relevant information between the position command corresponding to the motor 7 which is the controlled object.
[0109] In this embodiment, each motor control device 5A to 5D converts shared position information into individual position commands corresponding to the motor 7, which is its controlled object, based on relevant information. This enables multiple motor control devices 5A to 5D to operate autonomously and synchronously with high precision. For example, it can autonomously execute electronic cam control of multiple axes.
[0110] In addition, in this embodiment, the upper control device 3 may also have a start command output unit 21 that outputs start commands to multiple motor control devices 5A to 5D at a predetermined time. In this case, when the multiple motor control devices 5A to 5D receive the start command, the information sharing unit 23 shares reference information and the instruction conversion unit 25 converts the reference information into control commands for autonomous operation. Based on the converted control commands, the motor control unit 27 controls the motor 7, which is the object of control.
[0111] In this case, normal operation based on control commands output from the upper control device 3 can be switched to autonomous operation at any time, independent of the upper control device 3. Thus, normal operation can be performed, for example, when the processing load of the upper control device 3 is low or high synchronization accuracy is not required, while autonomous operation can be switched only when necessary, for example, when the processing load of the upper control device 3 increases or high synchronization accuracy is required.
[0112] <2. Second Implementation>
[0113] The second embodiment is an implementation in which the motor control system is applied to a system that outputs a fixed-point pass signal.
[0114] (2-1. Overall Structure of Motor Control System)
[0115] Reference Figure 5 and Figure 6 An example of the overall structure of the motor control system 100 of the second embodiment will be described.
[0116] like Figure 5 As shown, the motor control system 100 includes a host control device 103, multiple (e.g., 3) motor control devices 105A to 105C, and multiple (e.g., 3) motors 107A to 107C.
[0117] The host control device 103 is similar to the aforementioned host control device 3, and is composed of, for example, a general-purpose personal computer, a PLC, a motion controller, or other computer. The host control device 103 generates control commands (such as position commands, speed commands, torque commands, etc.) for controlling motors 107A to 107C, and sends them to motor control devices 105A to 105C respectively.
[0118] Each motor control device 105A to 105C controls motors 107A to 107C based on control commands received from the host control device 103. Motor control devices 105A to 105C are connected in series with the host control device 103 and can communicate with each other via the second communication line 11. Furthermore, a specific motor control device among the motor control devices 105A to 105C (e.g., motor control device 105A) can be connected to the host control device 103 via the first communication line 9 for data communication.
[0119] The motor control device 105A supplies power to the motor 107A and controls the motor 107A based on control commands received from the host control device 103 and position information received from the encoder 113A. The motor 107A is a motor corresponding to the X-axis, capable of... Figure 6 The X-axis mechanism 115A of the stage device 115, which drives in the X, Y, and Z directions in the three-dimensional Cartesian coordinate system shown, is driven. The encoder 113A detects the position information in the X-axis direction of the drive unit (e.g., the Y-axis mechanism 115B) driven by the motor 107A and sends it to the motor control device 105A.
[0120] Motor control device 105B supplies power to motor 107B based on control commands received from host control device 103 and position information received from encoder 113B, thereby controlling motor 107B. Motor 107B is a motor corresponding to the Y-axis. Figure 6The Y-axis mechanism 115B of the stage device 115 shown is driven. The encoder 113B detects the position information of the drive unit (e.g., movable stage 111) driven by the motor 107B in the Y-axis direction and sends it to the motor control device 105B.
[0121] Motor control device 105C supplies power to motor 107C based on control commands received from host control device 103 and position information received from encoder 113C, thereby controlling motor 107C. Motor 107C is a motor corresponding to the Z-axis. Figure 6 The Z-axis mechanism 115C of the stage device 115 shown is driven. The encoder 113C detects the position information of the drive unit (e.g., X-axis mechanism 115A) driven by the motor 107C in the Z-axis direction and sends it to the motor control device 105C.
[0122] like Figure 6 As shown, the stage device 115 (an example of a drive mechanism) includes: an X-axis mechanism 115A arranged along the X-axis direction; a Y-axis mechanism 115B arranged along the Y-axis direction; a Z-axis mechanism 115C arranged along the Z-axis direction; and a movable stage 111. The X-axis mechanism 115A, Y-axis mechanism 115B, and Z-axis mechanism 115C are arranged approximately orthogonally and mechanically connected. The drive units of the X-axis mechanism 115A and Z-axis mechanism 115C are connected, and the entire assembly moves in the Z-axis direction driven by the motor 107C. The Y-axis mechanism 115B is connected to the drive unit of the X-axis mechanism 115A, and the entire assembly moves in the X-axis direction driven by the motor 107A. The movable stage 111 is connected to the drive unit of the Y-axis mechanism 115B, and moves in the Y-axis direction driven by the motor 107B. The motors 107A, 107B, and 107C are synchronously controlled to move the movable stage 111 to a desired position.
[0123] The X-axis mechanism 115A, Y-axis mechanism 115B, and Z-axis mechanism 115C each have a motor 107A, 107B, 107C and an encoder 113A, 113B, 113C for detecting the axial position of their respective drive units. Motors 107A to 107C can be linear motors or rotary motors. In the case of rotary motors, rotation is converted to linear motion, for example, by a ball screw mechanism. Encoders 113A, 113B, and 113C (an example of a sensor) are, for example, linear encoders. Alternatively, if motors 107A to 107C are rotary motors, they can also be rotary encoders. Encoder 113A has a linear scale 113a1 and a scale head 113a2. Encoder 113B has a linear scale 113b1 and a scale head 113b2. Encoder 113C has a linear scale 113c1 and a scale head 113c2. Encoders 113A, 113B, and 113C detect the position of each drive unit and send the position information to the corresponding motor control devices 105A, 105B, and 105C, respectively.
[0124] The host control device 103 sends X-axis position commands to the motor control device 105A, Y-axis position commands to the motor control device 105B, and Z-axis position commands to the motor control device 105C. Each motor control device 105A-105C refers to the position information received from the encoders 113A-113C to control each motor 107A-107C in a manner that ensures the position of the drive unit driven by the corresponding motor 107A-107C matches the position commands. Through this structure, the stage device 115 moves the movable stage 111 to a position corresponding to the X-axis, Y-axis, and Z-axis position commands sent by the host control device 103.
[0125] Furthermore, the structure of the motor control system 100 described above is an example and is not limited to the above content. For example, the number of motor control devices 105 and motors 107 (number of axes) can be more than 3. For example, in the case of a stage device that can drive in the X and Y directions in a two-dimensional Cartesian coordinate system, the number of axes can be 2. In addition, in the case of a multi-axis drive machine that can drive in the rotational direction (θ axis) in addition to the X, Y, and Z axes, the number of axes can be set to 4 or more. In addition, either motor control device 105B or 105C can be connected to the host control device 103.
[0126] In addition, in this embodiment, without distinguishing between the motor control devices 105A to 105C, the motors 107A to 107C, and the encoders 113A to 113C, they are referred to as motor control device 105, motor 107, and encoder 113.
[0127] (2-2. Functional structure of host control device and motor control device)
[0128] Reference Figure 7 An example of the functional structure of the upper control device 103 and the motor control devices 105A to 105C will be described.
[0129] like Figure 7 As shown, the upper-level control device 103 has a control command output unit 119. The control command output unit 119 generates control commands (e.g., position commands, speed commands, torque commands, etc.) for controlling the operation of motors 107A to 107C respectively, and sends them to the corresponding motor control devices 105A to 105C respectively. As described above, since the motor control devices 105A to 105C are connected in series, the control commands for motor control device 105A are sent via the first communication line 9, and the control commands for motor control devices 105B and 105C are sent via the first communication line 9 and the second communication line 11.
[0130] Motor control devices 105A to 105C each have an information sharing unit 123 and a motor control unit 127. The information sharing unit 123 shares position information detected by encoders 113A, 113B, and 113C among the motor control devices 105A to 105C via data communication through a second communication line 11. Specifically, the information sharing unit 123 of motor control device 105A shares the X-axis position information received from encoder 113A and sends it to the information sharing units 123 of motor control devices 105B and 105C via the second communication line 11. Similarly, the information sharing unit 123 of motor control device 105B shares the Y-axis position information received from encoder 113B and sends it to the information sharing units 123 of motor control devices 105A and 105C via the second communication line 11. Similarly, the information sharing unit 123 of the motor control device 105C shares the Z-axis position information received from the encoder 113C and sends it to the information sharing units 123 of the motor control devices 105A and 105B respectively via the second communication line 11. Thus, each motor control device 105A to 105C shares all position information of the X, Y, and Z axes respectively. In addition, the shared position information of each encoder 113A, 113B, and 113C is also sent to the host control device 103 via the first communication line 9.
[0131] The motor control unit 127 controls the motor 107, which is the controlled object, based on the control command received from the host control device 103 and the position information received from the corresponding encoder 113. Specifically, the motor control unit 127 includes, for example, a position control unit, a speed control unit, and a current control unit (figures omitted). For example, when a position command is received from the host control device 103, the position control unit generates a speed command, for example, through PID control, based on the position deviation obtained by subtracting the feedback position based on the detection information from the encoder 113 from the position command. The speed control unit generates a torque command, for example, through PID control, based on the speed deviation obtained by subtracting the feedback speed based on the detection information from the encoder 113 from the speed command. The current control unit performs power conversion based on the torque command and supplies power to the motor 107.
[0132] At least one of the motor control devices 105A to 105C (e.g., motor control device 105A) has an arrival determination unit 125 and a trigger output unit 129. The arrival determination unit 125 determines, based on the X-axis, Y-axis, and Z-axis position information shared by the information sharing unit 123, whether the reference point of the stage device 115 driven by the multiple motors 107A to 107C has reached a predetermined position (hereinafter also appropriately referred to as a "fixed point"). The "reference point" is the control point of the stage device 115, such as the center position of the movable stage 111. The "predetermined position" is a predetermined coordinate position in a three-dimensional Cartesian coordinate system composed of the X-axis, Y-axis, and Z-axis (hereinafter also appropriately referred to as a "fixed point").
[0133] In addition, the arrival determination unit 125 can determine whether the reference point of the platform device 115 has actually arrived at or passed the fixed point, and can also calculate the arrival time of the reference point to arrive at or pass the fixed point (e.g., the expected elapsed time from the current time to the arrival), and determine whether the arrival time has elapsed.
[0134] When the arrival determination unit 125 determines that the reference point of the stage device 115 has reached the designated point, the trigger output unit 129 outputs a trigger signal to the upper control device 103, for example. Additionally, when the arrival determination unit 125 estimates the arrival time as described above, the trigger output unit 129 outputs a trigger signal when it determines that the arrival time has elapsed. The trigger signal is used, for example, for the operation of external devices such as camera-based shooting. Furthermore, the trigger signal can be sent to external devices other than the upper control device 103, or it can be sent to the motor control devices 105B and 105C via the information sharing unit 123.
[0135] In addition to motor control device 105A, or instead of motor control device 105A, at least one of motor control devices 105B and 105C may have the functions of arrival determination unit 125 and trigger output unit 129 as described above.
[0136] The processing in the control command output unit 119 of the upper control device 103, the processing in the information sharing unit 123 and motor control unit 127 of the motor control devices 105B and 105C, and the processing in the information sharing unit 123, arrival determination unit 125, motor control unit 127, and trigger output unit 129 of the motor control device 105A are not limited to examples of processing division. For example, processing can be performed by a smaller number of processing units (e.g., one processing unit), or by further subdividing the processing units. In addition, the motor control devices 105A to 105C can be installed with only the part that supplies power to the motors 107A to 107C (such as an inverter), and the functions of the other processing units described above can be handled by the CPU 901 (see below). Figure 13 The program executed by the device can be used for installation, or it can be installed by actual devices such as ASICs, FPGAs, or other circuits, which may be used to install part or all of its functions.
[0137] (2-3. Processing procedure of motor control device)
[0138] Reference Figure 8 An example of the processing procedure performed by the motor control device 105A will be described.
[0139] In step S110, the motor control device 105A controls the motor 107A by means of the motor control unit 127, based on the control command received from the host control device 103 and the position information received from the encoder 113A.
[0140] In step S120, motor control device 105A, through information sharing unit 123 and data communication via second communication line 11, shares position information received from encoders 113A to 113C among motor control devices 105A to 105C. Specifically, motor control device 105A shares the X-axis position information received from encoder 113A and sends it to other motor control devices 105B and 105C via information sharing unit 123. Additionally, through data communication via second communication line 11, it obtains Y-axis position information based on encoder 113B shared by information sharing unit 123 of motor control device 105B, and Z-axis position information based on encoder 113C shared by information sharing unit 123 of motor control device 105C.
[0141] In step S130, the motor control device 105A, using the arrival determination unit 125, determines whether the reference point of the stage device 115 driven by the multiple motors 107A to 107C has reached the predetermined position (fixed point) based on the X-axis, Y-axis, and Z-axis position information shared by the information sharing unit 123. Furthermore, the determination in step S130 also includes calculating the arrival time of the reference point to or past the fixed point as described above, and determining whether that arrival time has elapsed. If the reference point has not reached the fixed point (step S130: No), the process returns to the previous step S110. On the other hand, if the reference point has reached the fixed point (step S130: Yes), the process proceeds to the next step S140.
[0142] In step S140, the motor control device 105A outputs a trigger signal to, for example, the host control device 103 via the trigger output unit 129.
[0143] In step S150, the motor control device 105A determines whether to terminate the operation of the motor control system 100. If the system continues to operate (step S150: No), it returns to the previous step S110 and repeats the same process. On the other hand, if the system terminates (step S150: Yes), the process ends.
[0144] The above-described process is an example; at least a part of the above process can be deleted or modified, or processes other than those described above can be added. Furthermore, the order of at least a part of the above process can be changed, or multiple processes can be combined into a single process.
[0145] (2-4. Effects of the second implementation method)
[0146] As described above, the motor control system 100 of the second embodiment includes: a host control device 103 that outputs control commands; multiple motor control devices 105A to 105C that control multiple motors 107A to 107C based on the control commands; and multiple encoders 113A to 113C that detect the position information of the drive units of each of the multiple motors 107A to 107C and output it to the corresponding motor control device 105A to 105C. Each of the multiple motor control devices 105A to 105C has an information sharing unit 123, wherein the information sharing unit... The sharing unit 123 shares the position information detected by the encoders 113A to 113C with each other via data communication between multiple motor control devices 105A to 105C. The motor control device 105A, which is at least one of the motor control devices 105A to 105C, has: an arrival determination unit 125, which determines whether the reference point of the stage device 115 driven by the multiple motors 107A to 107C has reached a predetermined position based on the shared position information; and a trigger output unit 129, which outputs a trigger signal when it is determined that the reference point has reached the predetermined position.
[0147] Typically, in a motor control system, when a trigger signal is output upon reaching or passing a preset position at a reference point, each motor control unit uses its own axis position information to determine the point of passage and outputs a signal. Therefore, in situations requiring position information from multiple axes, such as point-to-point determination in an XYZ coordinate system, it is generally not feasible to rely on a single motor control unit for point-to-point determination. Instead, a higher-level control unit monitors the position of each axis to perform the determination, which becomes a major reason for the increased processing load on the higher-level control unit.
[0148] In the motor control system 100 of this embodiment, the encoder 113 detects the position information of the drive unit of the motor 107 on each axis and outputs it to the corresponding motor control device 105. Multiple motor control devices 105A to 105C share their position information via data communication. At least one motor control device 105A among the multiple motor control devices 105A to 105C determines whether the reference point of the stage device 115 has reached a predetermined position based on the shared position information, and outputs a trigger signal if it determines that the predetermined position has been reached. In this way, each motor control device 105A to 105C can not only share the position information of the motor 107 it controls, but also share the position information of other motors 107. Therefore, without the processing of the upper-level control device 103, a single motor control device (in this embodiment, a single motor control device 105A) can autonomously determine whether the reference point of the stage device 115 has reached a predetermined position. Therefore, a fixed-point output function can be achieved with a single motor control device. As a result, the upper control device 103 does not need to obtain position information from each motor control device 105A to 105C for judgment processing, thus reducing the processing load of the upper control device 103.
[0149] In addition, in this embodiment, the determination of the arrival determination unit 125 may also include the following process: calculating the arrival time of the reference point to the specified position based on the shared location information, and determining whether the arrival time has elapsed. In this case, the trigger output unit 129 may also output a trigger signal if it is determined that the arrival time has elapsed.
[0150] In this embodiment, the arrival determination unit 125 of the motor control device 105A can determine whether the reference point of the stage device 115 has actually reached or passed the predetermined position based on shared position information, or it can calculate the arrival time of the reference point reaching or passing the predetermined position and determine whether the arrival time has elapsed. When the arrival time is predicted and the determination is based on the elapsed time, it is not necessary to continuously monitor the position information as is required when determining whether the reference point has actually passed the predetermined position. Therefore, the processing load of the motor control device 105A can be reduced.
[0151] Alternatively, in this embodiment, the multiple motor control devices 105A to 105C may also be three motor control devices that control three motors 107A to 107C corresponding to the X-axis, Y-axis, and Z-axis in the three-dimensional Cartesian coordinate system, respectively. In this case, the information sharing unit 123 shares the position information of the X-axis, Y-axis, and Z-axis detected by the multiple encoders 113A to 113C, and the arrival determination unit 125 determines whether the reference point has reached the specified position in the three-dimensional Cartesian coordinate system based on the shared position information of the X-axis, Y-axis, and Z-axis.
[0152] In this case, the fixed-point output function in the three-dimensional Cartesian coordinate system can be realized by a single motor control device (in this embodiment, the motor control device 105A single device).
[0153] <3. Third Implementation>
[0154] The third embodiment is an implementation in which the motor control system is applied to a frame mechanism that has a control parameter compensation function.
[0155] (3-1. Overall Structure of Motor Control System)
[0156] Reference Figure 9 and Figure 10 An example of the overall structure of the motor control system 200 according to the third embodiment will be described.
[0157] like Figure 9 As shown, the motor control system 200 includes a host control device 203, multiple (e.g., 3) motor control devices 205A to 205C, and multiple (e.g., 3) motors 207A to 207C.
[0158] The host control device 203 is similar to the aforementioned host control devices 3 and 103, and is composed of, for example, a general-purpose personal computer, a PLC, a motion controller, or other computer. The host control device 203 generates control commands (such as position commands, speed commands, torque commands, etc.) for controlling motors 207A to 207C, and sends them to motor control devices 205A to 205C respectively.
[0159] Each motor control device 205A to 205C controls motors 207A to 207C based on control commands received from the host control device 203. Motor control devices 205A to 205C are connected in series with the host control device 203 and can communicate with each other via the second communication line 11. Furthermore, a specific motor control device among motor control devices 205A to 205C (e.g., motor control device 205A) can communicate with the host control device 203 via the first communication line 9.
[0160] Motor control device 205A (an example of a first motor control device) supplies power to motor 207A based on control commands received from host control device 203 and position information received from encoder 213A, thereby controlling motor 207A. Motor 207A (an example of a first motor) is a motor corresponding to the Y1 axis, capable of moving along... Figure 10The Y1 axis mechanism 215A in the Y1 axis direction (an example of the first axis) of the frame mechanism 215 shown is driven. The encoder 213A detects the position information of the drive unit (e.g., X-axis mechanism 215C) driven by the motor 207A in the Y1 axis direction and sends it to the motor control device 205A.
[0161] Motor control device 205B (an example of a second motor control device) supplies power to motor 207B based on control commands received from host control device 203 and position information received from encoder 213B, thereby controlling motor 207B. Motor 207B (an example of a second motor) is a motor corresponding to the Y2 axis, capable of moving along the Y2 axis. Figure 10 The Y2 axis mechanism 215B, which is driven in the Y2 axis direction (an example of the second axis) that is approximately parallel to the Y1 axis direction in the frame mechanism 215 shown, is driven. The encoder 213B detects the position information of the drive unit (e.g., X-axis mechanism 215C) driven by the motor 207B in the Y2 axis direction and sends it to the motor control device 205B.
[0162] Motor control device 205C (an example of a third motor control device) supplies power to motor 207C based on control commands received from host control device 203 and position information received from encoder 213C, thereby controlling motor 207C. Motor 207C (an example of a third motor) is a motor corresponding to the X-axis, driving X-axis mechanism 215C, which is mounted on... Figure 10 The drive units of the Y1-axis mechanism 215A and Y2-axis mechanism 215B in the frame mechanism 215 shown are configured to drive along the X-axis direction (an example of the second axis direction) which is approximately perpendicular to the Y1-axis and Y2-axis directions. The encoder 213C detects the position information of the drive unit (e.g., head 211) driven by the motor 207C in the X-axis direction and sends it to the motor control device 205C.
[0163] like Figure 10 As shown, the frame mechanism 215 includes: a Y1-axis mechanism 215A and a Y2-axis mechanism 215B arranged approximately parallel to each other along the Y-axis direction (the directions of Y1 and Y2 axes); an X-axis mechanism 215C arranged approximately perpendicular to the Y-axis direction; and a head 211. The Y1-axis mechanism 215A and Y2-axis mechanism 215B are respectively configured such that their linear movable ranges of approximately the same length are parallel to and overlap with the Y-axis direction, and are synchronously controlled by motors 207A and 207B in such a way that their respective drive units move to the same position in the Y-axis direction. The X-axis mechanism 215C moves as a whole in the Y-axis direction by being driven by motors 207A and 207B, and the drive unit connected to the head 211 moves in the X-axis direction by motor 207C.
[0164] The Y1-axis mechanism 215A, Y2-axis mechanism 215B, and X-axis mechanism 215C each have motors 207A, 207B, and 207C, and encoders 213A, 213B, and 213C for detecting the axial position of their respective drive units. Motors 207A to 207C can be linear motors or rotary motors. In the case of rotary motors, rotation is converted to linear motion, for example, by a ball screw mechanism. Encoders 213A, 213B, and 213C (an example of a sensor) are, for example, linear encoders. Alternatively, if motors 207A to 207C are rotary motors, they can also be rotary encoders. Encoder 213A has a linear scale 213a1 and a scale head 213a2. Encoder 213B has a linear scale 213b1 and a scale head 213b2. Encoder 213C has a linear scale 213c1 and a scale head 213c2. Encoders 213A, 213B, and 213C detect the position of each drive unit and send the position information to the corresponding motor control devices 205A, 205B, and 205C, respectively.
[0165] The host control device 203 sends position commands for the Y1 axis to the motor control device 205A, position commands for the Y2 axis to the motor control device 205B, and position commands for the X axis to the motor control device 205C. Each motor control device 205A-205C refers to the position information received from the encoders 213A-213C to control each motor 207A-207C in a manner that matches the position of the drive unit driven by the corresponding motor 207A-207C to the position command. Through this structure, the frame mechanism 215 moves the head 211 to the position corresponding to the position commands for the Y1, Y2, and X axes sent by the host control device 203.
[0166] Furthermore, the structure of the motor control system 200 described above is an example and is not limited to the above. For example, when the head 211 can be driven in the rotational direction (θ axis), the number of motor control devices 205 and motors 207 (number of axes) can be 4 or more. In addition, either motor control device 205B or 205C can be connected to the host control device 203.
[0167] In addition, in this embodiment, without distinguishing between the motor control devices 205A to 205C, the motors 207A to 207C, and the encoders 213A to 213C, they are referred to as motor control device 205, motor 207, and encoder 213.
[0168] (3-2. Functional structure of host control device and motor control device)
[0169] Reference Figure 11An example of the functional structure of the upper control device 203 and the motor control devices 205A to 205C will be described.
[0170] like Figure 11 As shown, the host control device 203 has a control command output unit 219. The control command output unit 219 generates control commands (e.g., position commands, speed commands, torque commands, etc.) for controlling the operation of motors 207A to 207C respectively, and sends them to the corresponding motor control devices 205A to 205C respectively. As described above, since the motor control devices 205A to 205C are connected in series, the control commands for motor control device 205A are sent via the first communication line 9, and the control commands for motor control devices 205B and 205C are sent via the first communication line 9 and the second communication line 11.
[0171] Motor control devices 205A to 205C each have an information sharing unit 223 and a motor control unit 227. The information sharing unit 223 shares the X-axis position information (position information of the head 211) detected by the encoder 213C among the motor control devices 205A to 205C via data communication through the second communication line 11. Specifically, the information sharing unit 223 of motor control device 205C shares the X-axis position information received from the encoder 213C and sends it to the information sharing units 223 of motor control devices 205A and 205B respectively via the second communication line 11. Thus, motor control devices 205A and 205B share the X-axis position information of motor control device 205C. Furthermore, the shared encoder 213C position information is also sent to the host control device 203 via the first communication line 9.
[0172] The motor control unit 227 controls the motor 207, which is the controlled object, based on the control command received from the host control device 203 and the position information received from the corresponding encoder 213. Specifically, the motor control unit 227 includes, for example, a position control unit, a speed control unit, and a current control unit (figures omitted). For example, when a position command is received from the host control device 203, the position control unit generates a speed command, for example, through PID control, based on the position deviation obtained by subtracting the feedback position based on the detection information from the encoder 213 from the position command. The speed control unit generates a torque command, for example, through PID control, based on the speed deviation obtained by subtracting the feedback speed based on the detection information from the encoder 213 from the speed command. The current control unit performs power conversion based on the torque command and supplies power to the motor 207.
[0173] At least one of the motor control devices 205A to 205C (e.g., motor control devices 205A and 205B) has a parameter adjustment unit 225. The parameter adjustment unit 225 adjusts control parameters related to the control of the motor 207, which is the object of control, based on the X-axis position information shared by the information sharing unit 223. The "control parameters" are parameters that vary according to the X-axis position information, such as the inertia setting value related to the control of motors 207A and 207B. For the parameter adjustment unit 225, the closer the head 211 is to its own motor control device 205, the greater the inertia setting value is; conversely, the farther the head 211 is from its own motor control device 205, the smaller the inertia setting value is.
[0174] The motor control unit 227 controls the motor 207, which is the object of control, based on the control command received from the host control device 203 and the control parameters (inertia set value) adjusted by the parameter adjustment unit 225.
[0175] The processing in the control command output unit 219 of the upper control device 203, the processing in the information sharing unit 223 and motor control unit 227 of the motor control devices 205A-205C, and the processing in the parameter adjustment unit 225 of the motor control devices 205A and 205B are not limited to examples of processing division. For example, processing can be performed by a smaller number of processing units (e.g., one processing unit), or by further subdividing the processing units. In addition, the motor control devices 205A-205C can be installed with only the part that supplies power to the motors 207A-207C (such as an inverter), and the functions of the other processing units can be handled by the CPU 901 described later (see reference). Figure 13 The program executed by the device can be used for installation, or it can be installed by actual devices such as ASICs, FPGAs, or other circuits, which may be used to install part or all of its functions.
[0176] (3-3. Processing procedure of motor control device)
[0177] Reference Figure 12 An example of the processing procedure performed by motor control devices 205A and 205B will be described.
[0178] In step S210, motor control devices 205A and 205B control motors 207A and 207B by means of motor control unit 227, based on control commands received from upper control device 203 and position information received from encoders 213A and 213B.
[0179] In step S220, motor control devices 205A and 205B, using information sharing unit 223, share the X-axis position information received by motor control device 205C from encoder 213C via data communication through the second communication line 11. Specifically, the information sharing unit 223 of motor control device 205C shares the X-axis position information received from encoder 213C and sends it to other motor control devices 205A and 205B respectively. Motor control devices 205A and 205B obtain the shared X-axis position information via data communication through the second communication line 11 using information sharing unit 223.
[0180] In step S230, motor control devices 205A and 205B, with the aid of parameter adjustment unit 225, adjust the set values of the inertia related to the control of motors 207A and 207B, which are controlled objects, respectively, based on the X-axis position information shared in step S220.
[0181] In step S240, motor control devices 205A and 205B determine whether to terminate the operation of the motor control system 200. If the system continues to operate (step S240: No), the process returns to the previous step S210 and repeats the same process. On the other hand, if the system terminates (step S240: Yes), the process ends.
[0182] The above-described process is an example; at least a part of the above process can be deleted or modified, or processes other than those described above can be added. Furthermore, the order of at least a part of the above process can be changed, or multiple processes can be combined into a single process.
[0183] (3-4. Effects of the third implementation method)
[0184] As explained above, the motor control system 200 of the third embodiment includes: a host control device 203 that outputs control commands; multiple motor control devices 205A to 205C that control multiple motors 207A to 207C based on the control commands; and encoders 213A to 213C that detect the position information of the drive units of the motors 207A to 207C and output it to the corresponding motor control devices 205A to 205C. Each of the multiple motor control devices 205A to 205C has an information sharing unit 22. 3. The information sharing unit 223 shares the position information detected by the encoder 213C with each other through data communication between multiple motor control devices 205A to 205C. The motor control devices 205A and 205B have: a parameter adjustment unit 225, which adjusts the control parameters related to the control of the motors 207A and 207B as controlled objects based on the shared position information; and a motor control unit 227, which controls the motors 207A and 207B as controlled objects according to the control command and the adjusted control parameters.
[0185] In motor control systems that control multiple axes, the control parameters of one axis may vary due to the position of other axes, depending on the design of the drive mechanism. In such cases, the host control unit typically monitors the position of each axis and adjusts the control parameters accordingly, but this often results in a significant increase in the processing load on the host control unit.
[0186] In the motor control system 200 of this embodiment, encoder 213C detects the position information of the drive unit of motor 207C and outputs it to the corresponding motor control device 205C. Motor control devices 205A and 205B share the X-axis position information detected by encoder 213C via data communication. Based on the shared position information, motor control devices 205A and 205B adjust the control parameters related to the control of motors 207A and 207B, which are the controlled objects, and control motors 207A and 207B based on control commands and the adjusted control parameters. In this way, each motor control device 205A and 205B can not only share the position information of motors 207A and 207B, which are its own controlled objects, but also share the position information of other motors 207C. Therefore, without the processing of the upper control device 203, each motor control device 205A and 205B can independently adjust the control parameters. Therefore, control after compensating for the control parameters can be achieved by a single motor control device. As a result, the upper control device 203 does not need to obtain position information from the motor control device 205C to adjust the control parameters of the motor control devices 205A and 205B, thus reducing the processing load of the upper control device 203.
[0187] Alternatively, in this embodiment, multiple motor control devices 205A to 205C may include: motor control device 205A and motor control device 205B, which control motors 207A and 207B that are arranged approximately parallel to each other along the Y-axis direction; and motor control device 205C, which controls motor 207C that is arranged approximately perpendicular to the Y-axis direction along the X-axis direction, with the motor 207C mounted between the drive units of motors 207A and 207B respectively. Encoder 213C detects the position information of the drive unit of motor 207C and outputs it to motor control device 205C. Motor control devices 205A and 205B adjust the control parameters related to the control of motors 207A and 207B based on the shared position information of motor 207C using parameter adjustment unit 225. Motor control unit 227 controls motors 207A and 207B based on control commands and the adjusted control parameters.
[0188] Typically, in a frame mechanism, the control parameters of the frame axes (Y1, Y2 axes) vary due to the position of the head axis (X-axis). In this embodiment, the motor control devices 205A and 205B corresponding to the frame axes (Y1, Y2 axes) share the position information of the motor 207C corresponding to the head axis (X-axis), and adjust the control parameters related to the control of the motors 207A and 207B, which are the controlled objects, based on the shared position information. Therefore, in the motor control system 200 that controls the frame mechanism, it is possible to achieve compensated control of the head position control parameters of the frame using individual motor control devices 205A and 205B.
[0189] In addition, in this embodiment, the parameter adjustment unit 225 may also adjust the inertia setting value related to the control of motors 207A and 207B based on the shared position information of motor 207C, and the motor control unit 227 controls motors 207A and 207B based on the adjusted inertia setting value.
[0190] In this case, in the motor control system 200 that controls the frame mechanism, inertia compensation control based on the head position of the frame can be achieved by individual motor control devices 205A and 205B.
[0191] <4. Example of hardware structure for motor control device>
[0192] Reference Figure 13 The hardware structure examples of the motor control devices 5A to 5D (105A to 105C, 205A to 205C) described in the above embodiments will be explained. Figure 13 In the diagram, the structure involved in the function of supplying power to the motor of the motor control device is appropriately omitted.
[0193] like Figure 13As shown, motor control devices 5A to 5D (105A to 105C, 205A to 205C) include, for example, a CPU 901, a ROM 903, a RAM 905, an application-specific integrated circuit 907 built for specific purposes such as ASIC or FPGA, an input device 913, an output device 915, a recording device 917, a driver 919, a connection port 921, and a communication device 923. These structures are connected to each other via a bus 909 and an input / output interface 911 in a manner that enables signal transmission.
[0194] The program can be recorded in a recording device such as ROM 903, RAM 905, or hard disk 917.
[0195] The program can also be temporarily or non-temporarily (permanently) recorded on a removable recording medium 925 such as a floppy disk, a CD / MO disk / DVD disk, or a semiconductor memory. Such a recording medium 925 can also be provided as so-called packaged software. In this case, the program recorded on these recording media 925 can be read by a drive 919 and recorded in a recording device 917 via an input / output interface 911, a bus 909, etc.
[0196] The program can also be recorded on a download site, other computers, other recording devices, etc. (not shown). In this case, the program is transmitted via a network NW such as a LAN or the Internet, and the communication device 923 receives the program. Furthermore, the program received by the communication device 923 can also be recorded on the aforementioned recording device 917 via the input / output interface 911, bus 909, etc.
[0197] The program can also be recorded in a suitable external connection device 927. In this case, the program can be transferred via a suitable connection port 921 and recorded in the aforementioned recording device 917 via an input / output interface 911, bus 909, etc.
[0198] The CPU 901 executes various processes according to the program recorded in the recording device 917, thereby realizing the processing of the information sharing unit 23, instruction conversion unit 25, motor control unit 27, information sharing unit 123, arrival determination unit 125, motor control unit 127, trigger output unit 129, information sharing unit 223, parameter adjustment unit 225, and motor control unit 227. The CPU 901 can, for example, directly read and execute the program from the recording device 917, or execute it after temporarily loading it into RAM 905. For example, when a program is received via communication device 923, driver 919, or connection port 921, the CPU 901 can directly execute the received program without recording it in the recording device 917.
[0199] The CPU 901 can also perform various processing as needed, for example, based on signals and information input from input devices 913 such as mouse, keyboard, microphone (not shown).
[0200] The CPU 901 can also output the results of the above-described processing from an output device 915, such as a display device or a sound output device. The CPU 901 can send the processing results via a communication device 923 or a connection port 921 as needed. The CPU 901 can record the processing results in a recording device 917 or a recording medium 925.
[0201] In the above explanation, the use of terms such as "perpendicular," "parallel," and "plane" does not imply a strict interpretation. That is, these terms allow for design and manufacturing tolerances and errors, meaning "substantially perpendicular," "substantially parallel," and "substantially plane."
[0202] In the above explanation, when there are descriptions of appearance such as size, shape, and position as "same," "identical," "equal," or "different," these descriptions are not strictly defined. That is, these "same," "identical," "equal," and "different" allow for design and manufacturing tolerances and errors, and mean "substantially the same," "substantially identical," "substantially equal," or "substantially different."
[0203] Furthermore, in cases where there are records of values that serve as prescribed judgment criteria or as boundaries, such as thresholds or benchmarks, the terms "same," "equal," or "different" for these values are strictly different from those described above.
[0204] In addition to those already described above, methods based on the above embodiments and variations can also be appropriately combined and utilized. Furthermore, although not all examples have been shown, the above embodiments and variations can be implemented with various modifications without departing from their spirit.
[0205] The problems and effects to be solved by the above-described embodiments and modifications are not limited to those described above. Problems not described above may also be solved or effects not described above may also be achieved through the embodiments or modifications. In addition, sometimes only a part of the described problems or only a part of the described effects may be solved.
Claims
1. A motor control system, comprising: The host control device outputs the first control command; Multiple motor control devices, wherein the multiple motor control devices control multiple motors based on the first control command; as well as A sensor detects the position information of the drive unit of any one of the motors or the position information of the object driven by any one of the motors, and outputs the position information to the corresponding motor control device. The plurality of motor control devices each have: An information sharing unit shares the location information with each other via data communication between the plurality of motor control devices; The instruction conversion unit converts the shared position information into a second control instruction corresponding to the motor being controlled, based on the relevant information between the shared position information and the position instruction corresponding to the motor being controlled. as well as The motor control unit controls the motor, which is the object of control, based on the second control command.
2. The motor control system according to claim 1, wherein, The host control device has a start command output unit, which outputs a start command to the plurality of motor control devices at a predetermined time. Upon receiving the start command, the plurality of motor control devices share the position information via the information sharing unit, convert the position information into the second control command via the command conversion unit, and control the motor via the motor control unit based on the second control command.
3. A motor control system, comprising: The upper-level control device outputs control commands; Multiple motor control devices, wherein the multiple motor control devices control multiple motors based on the control commands; as well as Multiple sensors detect the position information of the drive units of each of the multiple motors and output it to the corresponding motor control device. Each of the plurality of motor control devices has an information sharing unit, which shares the position information detected by the sensor with each other via data communication between the plurality of motor control devices. At least one of the motor control devices has: Upon arrival, the determination unit determines, based on the shared position information, whether the reference point of the drive mechanism driven by the plurality of motors has reached the specified position; as well as The trigger output unit outputs a trigger signal when it determines that the reference point has reached the specified position.
4. The motor control system according to claim 3, wherein, The arrival determination unit's determination includes the following process: based on the shared location information, calculating the arrival time of the reference point to the specified location, and determining whether the arrival time has elapsed. If it is determined that the arrival time has elapsed, the trigger output unit outputs the trigger signal.
5. The motor control system according to claim 3 or 4, wherein, The plurality of motor control devices each control one of three motors corresponding to the X-axis, Y-axis, and Z-axis in a three-dimensional Cartesian coordinate system. The information sharing unit shares the position information of the X-axis, Y-axis, and Z-axis detected by the multiple sensors. The arrival determination unit determines whether the reference point has reached the specified position in the three-dimensional rectangular coordinate system based on the shared position information of the X-axis, Y-axis, and Z-axis.
6. A motor control system, comprising: The upper-level control device outputs control commands; Multiple motor control devices that control multiple motors based on the control commands; and At least one sensor detects the position information of at least one drive unit of the motor and outputs it to the corresponding motor control device. Each of the plurality of motor control devices has an information sharing unit, which shares the position information detected by the sensor with each other via data communication between the plurality of motor control devices. At least one of the motor control devices has: A parameter adjustment unit adjusts control parameters related to the control of the motor, which is the object of control, based on the shared position information; and The motor control unit controls the motor, which is the controlled object, based on the control commands and the adjusted control parameters. in, The plurality of motor control devices have: A first motor control device and a second motor control device, which respectively control a first motor and a second motor arranged substantially parallel to each other along a first axial direction; and A third motor control device controls a third motor, which is arranged along a second axis substantially perpendicular to the first axis, positioned between the drive units of the first motor and the second motor. The at least one sensor has the ability to detect the position information of the drive unit of the third motor and output it to the third motor control device. The first motor control device and the second motor control device respectively use the parameter adjustment unit to adjust the control parameters related to the control of the first motor or the second motor based on the position information of the shared third motor, and use the motor control unit to control the first motor or the second motor based on the control command and the adjusted control parameters.
7. The motor control system according to claim 6, wherein, The parameter adjustment unit adjusts the inertia setting value related to the control of the first motor or the second motor based on the shared position information of the third motor. The motor control unit controls the first motor or the second motor based on the adjusted inertia setting.
8. A motor control device that controls one of a plurality of motors based on a first control command output from a host control device, wherein, The motor control device has: An information sharing unit that shares position information related to the control of the motor with other motor control devices via data communication. The position information is obtained by sensors detecting the drive unit of the motor or the drive object of the motor. The instruction conversion unit converts the shared position information into a second control instruction corresponding to the motor being controlled, based on the relevant information between the shared position information and the position instruction corresponding to the motor being controlled. as well as The motor control unit controls the motor, which is the object of control, based on the second control command.
9. A motor control device that controls one of a plurality of motors based on control commands output from a host control device, wherein, The motor control device has: An information sharing unit that shares position information detected by sensors with other motor control devices via data communication. The sensors detect the position information of the drive units of other motors and output it to the corresponding other motor control devices. Upon arrival, the determination unit determines, based on the shared position information, whether the reference point of the drive mechanism driven by the plurality of motors has reached the specified position; as well as The trigger output unit outputs a trigger signal when it determines that the reference point has reached the specified position.
10. A motor control device that controls one of a plurality of motors based on control commands output from a host control device, wherein, The motor control device has: An information sharing unit shares position information detected by sensors with other motor control devices via data communication. The sensors detect the position information of the drive units of other motors and output it to the corresponding other motor control devices. The parameter adjustment unit adjusts the control parameters related to the control of the motor, which is the object of control, based on the shared position information. as well as The motor control unit controls the motor, which is the controlled object, based on the control commands and the adjusted control parameters. The motor control device controls a first motor or a second motor that is configured approximately parallel to the first axis. The motor control device, using the parameter adjustment unit, adjusts the control parameters related to the control of the first motor or the second motor based on the position information of the shared other motors, and uses the motor control unit to control the first motor or the second motor based on the control command and the adjusted control parameters. The other motor control device controls the other motors, which are arranged along a second axis substantially perpendicular to the first axis, mounted between the drive units of the first motor and the second motor respectively. The position information of the drive units of the other motors is detected by sensors and output to the other motor control device.
11. A motor control method, which controls one of a plurality of motors based on a first control command output from a host control device, wherein, The motor control method comprises the following steps: The position information related to the control of the motor is shared with other motor control devices via data communication. The position information is obtained by sensors detecting the drive unit of the motor or the object driven by the motor. Based on the relevant information between the shared location information and the position command corresponding to the motor being controlled, the shared location information is converted into a second control command corresponding to the motor being controlled; and The motor, which is the object of control, is controlled based on the second control command.
12. A motor control method, which controls one of a plurality of motors based on control commands output from a host control device, wherein, The motor control method comprises the following steps: The position information detected by the sensor is shared with other motor control devices via data communication. The sensor detects the position information of the drive unit of other motors and outputs it to the corresponding other motor control device. Based on the shared location information, it is determined whether the reference point of the drive mechanism driven by the plurality of motors has reached the specified position; as well as If it is determined that the reference point has reached the specified position, a trigger signal is output.
13. A motor control method, which controls one of a plurality of motors based on control commands output from a host control device, wherein, The motor control method comprises the following steps: The position information detected by the sensor is shared with other motor control devices via data communication. The sensor detects the position information of the drive unit of other motors and outputs it to the corresponding other motor control device. Based on the shared location information, adjust the control parameters related to the control of the motor, which is the object of control; as well as Based on the control command and the adjusted control parameters, the motor, which is the controlled object, is controlled. in, A first motor or a second motor configured substantially parallel to a first axis is controlled by a motor control device. The motor control device adjusts the control parameters related to the control of the first motor or the second motor based on the position information of the shared other motors, and controls the first motor or the second motor based on the control command and the adjusted control parameters. The other motor control device controls the other motors, which are configured along a second axis substantially perpendicular to the first axis, mounted between the respective drive units of the first motor and the second motor. The position information of the drive units of the other motors is detected by sensors and output to the other motor control device.