Servo system, controller, and method for controlling servo driver
The servo system improves processing capacity and response performance by using a controller to broadcast operating conditions after a calculated waiting period, ensuring simultaneous motor operation through serial communication, thus addressing synchronization challenges in conventional systems.
Patent Information
- Application Number
- JP2024123252
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-30
- Publication Date
- 2026-02-12
AI Technical Summary
Conventional servo systems face challenges in improving processing capacity and response performance as the number of servo motors increases, necessitating improvements in synchronizing operations and reducing time differences between command issuance and actual motor operation.
A servo system with a controller that broadcasts operating condition numbers to multiple motor devices after a waiting time equal to the longest preparation time for generating control parameters, using serial communication to ensure simultaneous operation command issuance.
The system enhances processing capacity and response performance by minimizing time lags and overhead, allowing simultaneous operation of multiple motors without the need for additional hardware or software for delay measurement.
Smart Images

Figure 2026021964000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a servo system, a controller, and a control method for a servo driver. [Background technology]
[0002] Generally, in a system that includes a servo device having multiple servo drivers (servo drives) that control the operation of multiple servo motors (actuators) that operate in multiple axial directions, and a controller (motion controller) that issues operation commands to the servo drivers, a technology is known that achieves synchronization of multiple axis servo motors by using a high-speed serial bus or serial communication that does not require wiring to transmit synchronous communication or synchronous clocks (see Patent Document 1). [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent No. 5402401 Summary of the Invention [Problem to be solved by the invention]
[0004] In conventional technology, in order to synchronize the operation of multiple servo motors, the controller measures and corrects the startup delay time of the servo device, and synchronizes the timing of sending operation preparation commands from the motion controller to each servo driver to achieve simultaneous operation.
[0005] However, with conventional technology, the controller must issue an operation preparation command, measure the startup delay time, and perform timing correction processing each time the servo system is ready to operate, so there is a need to improve the processing capacity (throughput) of the system. Also, with conventional technology, as the number of axes, i.e., the number of servo motors, increases, the operation time difference, i.e., the time difference between an operation command and the actual operation of the servo motor, increases, so there is a need to improve the response performance of the servo system. As described above, further improvements are needed to improve processing capacity in servo systems that issue operation commands to multiple servo motors.
[0006] The present invention addresses the above-mentioned problem as an example, and aims to provide a technique for improving the processing capacity of a servo system that issues operation commands to a plurality of motors with a simple configuration. [Means for solving the problem]
[0007] In order to achieve the above object, the servo system of the present invention comprises a motor and a plurality of motor devices each having a servo driver that generates control parameters for controlling the operation of the motor in accordance with operating conditions, a controller that transmits operating commands to each of the plurality of motor devices, and a communication unit that connects the controller and the plurality of motor devices, wherein the controller broadcasts an operating condition number that identifies the operating conditions to each of the plurality of motor devices, and broadcasts the operating command to each of the plurality of motor devices after a waiting time has elapsed, which is the longest time during which the servo driver of each of the plurality of motor devices generates the control parameters. [Effects of the Invention]
[0008] According to the servo system of the present invention, the processing capacity of a servo system that issues operation commands to a plurality of motors can be improved with a simple configuration. [Brief explanation of the drawings]
[0009] [Figure 1] 1 is a functional block diagram illustrating a schematic configuration of a servo system according to an embodiment of the present invention. [Figure 2] 2 is a sequence diagram showing an example of a process executed by the servo system shown in FIG. 1. FIG. [Figure 3] 2 is a timing chart showing an example of a process executed by the servo system shown in FIG. [Figure 4] 4 is a schematic diagram showing an example of a data table of operating conditions corresponding to one of a plurality of motor devices stored in a storage unit of a controller. FIG. [Figure 5] 10 is a schematic diagram showing an example of a data table of operating conditions associated with operating condition numbers corresponding to a plurality of motor devices stored in a storage unit of a controller. FIG. [Figure 6] FIG. 4 is an enlarged view of a portion of the timing chart shown in FIG. 3 where operating conditions are set. [Figure 7] 4 is an enlarged view of the operation preparation command and operation command portion in the timing chart shown in FIG. 3. FIG. [Figure 8] 10 is a graph showing an example of a change in rotation speed of a servo motor included in a motor device in a servo system. DETAILED DESCRIPTION OF THE INVENTION
[0010] 1. Overview of the embodiment First, a typical embodiment of the invention disclosed in this application will be outlined. In the following description, as an example, reference numerals in the drawings corresponding to the components of the invention will be written in parentheses.
[0011] [1] A servo system comprising: a motor (220); a plurality of motor devices (20) each having a servo driver (210) that generates control parameters for controlling the operation of the motor in accordance with operating conditions; a controller (10) that transmits operating commands to each of the plurality of motor devices; and a communication unit (30) that connects the controller and the plurality of motor devices, wherein the controller broadcasts an operating condition number that identifies the operating condition to each of the plurality of motor devices, and broadcasts the operating command to each of the plurality of motor devices after a waiting time has elapsed, which is the longest time during which the servo driver of each of the plurality of motor devices generates the control parameters.
[0012] [2] The servo system according to [1], wherein the controller calculates a preparation time for each of the plurality of operating condition numbers.
[0013] [3] The servo system described in [1] and [2], wherein the controller transmits the operating conditions to each of the plurality of motor devices in association with the operating condition number, and the servo driver receives and stores the operating conditions together with the operating condition number transmitted from the controller before the motor transitions to operation according to the control parameters.
[0014] [4] The servo system according to [1], [2], and [3], wherein the controller broadcasts the operation command to each of the plurality of motor devices so that the motors of each of the plurality of motor devices start operating simultaneously.
[0015] [5] The servo system according to [1], [2], [3], and [4], wherein the communication unit is a serial communication line.
[0016] [6] A controller (10) that transmits operation commands to each of a plurality of motor devices (20) having a motor (220) and a servo driver (210) that generates control parameters for controlling the operation of the motor in accordance with the operating conditions, the controller broadcasts an operating condition number that identifies the operating condition to each of the plurality of motor devices, and broadcasts the operation command to each of the plurality of motor devices after a waiting time has elapsed, which is the longest time among the times during which the servo driver of each of the plurality of motor devices generates the control parameters.
[0017] [7] A method for controlling a servo driver, executed by a controller (10) that transmits operation commands to each of a plurality of motor devices (20) having a motor (220) and a servo driver (210) that generates control parameters for controlling the operation of the motor in accordance with the operating conditions, wherein the controller executes the steps of broadcasting an operating condition number that identifies the operating conditions to each of the plurality of motor devices, and broadcasting the operation command to each of the plurality of motor devices after a waiting time has elapsed, which is the longest time among the times during which the servo driver of each of the plurality of motor devices generates the control parameters.
[0018] 2. Specific examples of embodiments DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A servo system, a controller, and a control method for a servo driver according to an embodiment of the present invention will be described below with reference to the drawings.
[0019] FIG. 1 is a functional block diagram showing a schematic configuration of a servo system 1 according to an embodiment of the present invention.
[0020] As shown in Fig. 1, a servo system 1 according to this embodiment includes a plurality of motor devices 20, a controller 10, and a communication unit 30. The servo system 1 includes, for example, three motor devices 20_1, 20_2, and 20_3. In the following description, when there is no need to distinguish between the motor devices 20_1, 20_2, and 20_3, they are also referred to as "motor devices 20." Note that in this embodiment, as an example, the servo system 1 will be described as including three motor devices 20, each having a servo driver 210 corresponding to one servo motor 220. However, the number of motor devices 20 included in the servo system 1 may be two or more, that is, multiple, and there is no particular limitation on the number.
[0021] Each of the plurality of motor devices 20 includes a servo driver 210, a servo motor 220, and a detection unit 230. Note that in Fig. 1, the servo driver 210, the servo motor 220, and the detection unit 230 included in the motor device 20_2 and the motor device 20_3 other than the motor device 20_1 are omitted from illustration.
[0022] The servo driver 210 is an example of a computer such as a microcomputer implemented by a processor such as an MCU (Micro Control Unit) (not shown) and a memory for calculation such as a RAM (Random Access Memory). The MCU is a calculation device that executes calculation processing of a program to realize various functions of the servo driver 210 described below. The memory is a volatile memory that stores programs to be calculated and processed by the MCU. The servo driver 210 stores function programs stored in a storage unit (not shown) in the memory. The function programs stored in the storage unit are programs for realizing various functions of the servo driver 210 in this embodiment. Of the function programs, programs corresponding to the functions to be realized are sequentially stored in the memory and executed sequentially by the MCU. The programs are composed of functions, fixed values, etc. corresponding to the functions. When a program is executed, not only functions but also data, which are fixed values, are required.
[0023] The servo driver 210 generates control parameters (speed profile) for controlling the operation of the servo motor 220 using the hardware configuration and program described above. Specifically, the servo driver 210 generates the control parameters in accordance with the operating conditions acquired from the controller 10 and physical quantities related to the operating state of the servo motor 220 acquired from the detection unit 230. The servo driver 210 outputs a control signal for operating the servo motor 220 in accordance with the generated control parameters, i.e., a drive control signal, to the servo motor 220. The drive control signal is, for example, a PWM (Pulse Width Modulation) signal.
[0024] The servo motor 220 is an example of a motor and is operated by a drive control signal corresponding to a control parameter generated by the servo driver 210. The servo motor 220 is, for example, a three-phase brushless motor. The type of the servo motor 220 is not particularly limited, and for example, a stepping motor or the like can also be used. Furthermore, the number of phases of the servo motor 220 is not limited to three.
[0025] The detection unit 230 is a functional unit configured with an encoder that detects a physical quantity related to the operating state of the servo motor 220, such as the rotational position of the servo motor 220. The detection unit 230 outputs an electrical signal corresponding to the detected physical quantity to the servo driver 210. Note that the detection unit 230 may be a position detector other than an encoder that detects the rotational position of the servo motor 220, such as a Hall element, a resolver, or a linear scale. The detection unit 230 also includes various sensors that detect physical quantities related to the operating state of the servo motor 220 other than the rotational position, specifically, a current sensor (e.g., a shunt resistor) that detects the current flowing through the coil, a voltage sensor (e.g., a resistive voltage divider circuit) that detects the voltage of the coil of the servo motor 220, and a temperature sensor (e.g., a thermistor) that detects the temperature around the servo motor 220. Note that, although the present embodiment illustrates a case in which the detection unit 230 is provided inside the motor device 20, the detection unit 230 may also be provided outside the motor device 20.
[0026] The controller 10 is an example of a computer implemented by a processor such as an MCU (Micro Control Unit) 110 and an arithmetic memory 120 such as a RAM (Random Access Memory). The controller 10 may also be a PLC (Programmable Logic Controller) equipped with a serial communication unit. The MCU 110 is a computing device that implements various functions by executing program arithmetic processing. The memory 120 is a volatile memory that stores programs to be processed by the MCU 110. The controller 10 stores function programs stored in a storage unit (not shown) in the memory 120. The function programs stored in the storage unit are programs for implementing various functions of the controller 10 in this embodiment, specifically, a method for controlling the multiple motor devices 20 (servo drivers 210 included in the motor devices 20) in the servo system 1. The memory 120 sequentially stores programs corresponding to the functions to be implemented among the function programs, and the programs are sequentially executed by the MCU 110. The programs are configured by functions, fixed values, and the like, corresponding to the functions. When a program is executed, not only functions but also data, which are fixed values, are required.
[0027] The storage unit is realized by a non-volatile memory such as an EEPROM (Electrically Erasable Programmable Read-Only Memory). The storage unit is a storage device for storing programs that implement various functions. For example, the storage unit stores function programs.
[0028] The communication unit 30 connects the controller 10 and the multiple motor devices 20. The communication unit 30 realizes communication between the controller 10 and the servo drivers 210 of each of the multiple motor devices 20 by asynchronous (start-stop synchronization) serial communication using a UART (Universal Asynchronous Receiver / Transmitter). The communication unit 30 is realized by, for example, a converter that converts input / output from a USB (Universal Serial Bus) port of a personal computer that constitutes the controller 10 into RS485, junctions for inputting signals from the controller 10 in parallel to each servo driver 210, and communication lines that connect the above-mentioned devices.
[0029] The controller 10 executes a program stored in the storage unit through cooperation between the MCU 110 and the memory 120, thereby realizing a control method for the servo driver 210 that performs the processing described below.
[0030] FIG. 2 is a sequence diagram showing an example of processing executed by the servo system 1. FIG. 3 is a timing chart showing an example of processing executed by the servo system 1. In FIGS. 2 and 3 and FIGS. 6 and 7 described later, the servo driver 210 of the motor device 20_1 is represented as the servo driver 210_1, the servo driver 210 of the motor device 20_2 is represented as the servo driver 210_2, and the servo driver 210 of the motor device 20_3 is represented as the servo driver 210_3. The timing chart of FIG. 3 shows step S1 for setting the operating conditions in the sequence diagram shown in FIG. 2, step S4 for issuing a simultaneous operation preparation command, and step S5 for issuing a simultaneous operation command. The timing chart of FIG. 3 also shows position table numbers T1 and T2 as operating conditions for executing steps S4 and S5.
[0031] As shown in FIG. 2, in the servo system 1, the control method of the motor device 20 executed by the controller 10 sets the operating conditions of the servo motor 220 in the servo driver 210 of each of the multiple motor devices 20 (step S1), turns on the servo motor 220 (step S2), returns the servo motor 220 to its origin (step S3), issues a simultaneous operation preparation command (step S4), and issues a simultaneous operation command (step S5).
[0032] In step S1, the controller 10 sets the operating conditions of the servo motor 220 in the servo driver 210 of each of the multiple motor devices 20. The operating conditions are information about how the servo motor 220 should be operated, and specifically, are target values for, for example, position, speed, acceleration, deceleration, rotational torque, S-ratio, etc.
[0033] Fig. 4 is a schematic diagram showing an example of a data table of operating conditions corresponding to one of the plurality of motor devices 20 stored in the memory unit of the controller 10. As shown in Fig. 4, the memory unit of the controller 10 stores information on operating conditions corresponding to each servo motor 220 of the plurality of motor devices 20, such as target position l, speed v, acceleration a, deceleration d, etc., in association with an operating condition number No. The operating condition number No. is a number assigned to identify the operating condition.
[0034] 5 is a schematic diagram showing an example of a data table of operating conditions linked to operating condition numbers corresponding to each of the multiple motor devices 20 for each target, which is stored in the storage unit of the controller 10. As shown in FIG. 5, the storage unit of the controller 10 stores the above-mentioned information on operating conditions (operating condition numbers, operating conditions) corresponding to each servo motor 220 of the multiple motor devices 20 for each position table number T1, T2 for each target in the servo system 1. In FIG. 5, for example, operating condition number No. 40 corresponds to position table number T1 in the timing chart shown in FIG. 3, and operating condition number No. 20 corresponds to position table number T2 in the timing chart shown in FIG. 5. In FIG. 5, "driver 1" corresponds to the servo driver 210 of motor device 20_1, "driver 2" corresponds to the servo driver 210 of motor device 20_2, and "driver 3" corresponds to the servo driver 210 of motor device 20_3.
[0035] FIG. 6 is an enlarged view of the portion of the timing chart where step S1 for setting the operating conditions is performed.
[0036] 2 to 6, in step S1 for setting operating conditions, the controller 10 transmits the operating conditions together with the operating condition numbers to the servo drivers 210 of the plurality of motor devices 20_1, 20_2, and 20_3, respectively (DC1, DC2, DC3). The servo drivers 210 of the plurality of motor devices 20_1, 20_2, and 20_3 that have received the operating conditions transmitted from the controller 10 store the information on the operating conditions in their respective storage units (RCV1-1, RCV2-1, RCV3-1). For example, a maximum of 256 sets of operating conditions, i.e., 256 operating condition numbers, are transmitted from the controller 10 to the servo drivers 210.
[0037] The number of sets of operating conditions to be transmitted is not limited to the above-mentioned 256 sets, but may be any number.
[0038] As shown in FIG. 2, in step S1 for setting the operating conditions, the controller 10 transmits, for example, operating conditions associated with operating condition numbers (DC1, DC2, DC3), and calculates a preparation time, which is the time it takes for the servo driver 210 to generate control parameters, for each operating condition number of the multiple motor devices 20_1, 20_2, 20_3 (steps S101, S102, S103).
[0039] FIG. 7 is an enlarged view of the timing chart showing the operation preparation command S4 and the operation command S5.
[0040] 3 and 7, the preparation time is the time from when the controller 10 broadcasts (multicasts) the operation condition numbers (PRE1, PRE2) to the servo drivers 210 of the plurality of motor devices 20 in response to the operation preparation command S4 until when each servo driver 210 completes the operation preparation process (MC1-1, MC2-1, MC3-1). The preparation time is, for example, a minimum of 0.3 to a maximum of 160 milliseconds.
[0041] FIG. 8 is a graph showing an example of changes in the rotation speed of the servo motor 220 of the motor device 20 in the servo system 1. In FIG.
[0042] In the servo system 1, the servo driver 210 performs the following processing during the preparation time. The servo driver 210 calculates information about the rotational speed per unit time from the operating conditions related to acceleration, specifically the target speed and acceleration, so that the servo motor 220 exhibits desired acceleration characteristics in the acceleration section Ta shown in FIG. 8, for example, the acceleration rises in a trapezoidal shape. The servo driver 210 also calculates information about the rotational speed per unit time from the operating conditions related to deceleration, specifically the target speed and deceleration, so that the servo motor 220 exhibits desired deceleration characteristics in the deceleration section Td shown in FIG. 8, for example, the deceleration decreases in a trapezoidal shape. The servo driver 210 also calculates the movement distance of the servo motor 220 in the constant speed section Tc shown in FIG. 8, and calculates the movement time.
[0043] The rotation speed and acceleration / deceleration of the servo motor 220 calculated by the servo driver 210 as described above are set by the drive control signal, i.e., the PWM signal, output from the servo driver 210 to the servo motor 220. In the servo driver 210, the preparation time varies in proportion to the rotation speed and acceleration / deceleration of the servo motor 220, which are among the operating conditions. Therefore, the preparation time can be calculated from the maximum frequency of the PWM signal output from the servo driver 210. In the servo system 1, the longest time among the preparation times that differ for each of the multiple motor devices 20 and each operating condition number is determined as a standby time Ts, which will be described later. Note that the change in the rotation speed of the servo motor that determines the standby time Ts may be S-shaped.
[0044] In the servo system 1, after step S1, the controller 10 executes a process to turn on the servo motor 220 (step S2). As shown in Fig. 2, in step S2, the controller 10 broadcasts (multicasts) a command to turn on the servo motors 220 of the plurality of motor devices 20 to the servo drivers 210 (step S20). Each servo driver 210 that receives the command performs a process to turn on the power supply of the servo motor 220 (steps S21, S22, S23).
[0045] The controller 10 transmits a command to the servo driver 210 to confirm that the servo motors 220 of the plurality of motor devices 20 are in the ON state (steps S201, S202, S203). Each servo driver 210 that receives the command transmits a response command to the controller 10 indicating that the servo motor 220 is in the ON state (steps S211, S212, S213).
[0046] In the servo system 1, after step S2, the controller 10 executes a process of returning the servo motor 220 to its origin (step S3). As shown in Fig. 2, in step S3, the controller 10 broadcasts (multicasts) a command to return the servo motors 220 of the multiple motor devices 20 to their origins to the servo drivers 210 (step S30). Each servo driver 210 that receives the command executes the return of the servo motor 220 to its origin (steps S31, S32, S33).
[0047] The controller 10 transmits a command to the servo drivers 210 to confirm that the servo motors 220 of the plurality of motor devices 20 have executed the origin return (steps S301, S302, S303). Each servo driver 210 that has received the command transmits a response command to indicate that the servo motors 220 have executed the origin return (steps S311, S312, S313).
[0048] In the servo system 1, after step S3, the controller 10 executes a simultaneous operation preparation command (step S4). As shown in Fig. 2, Fig. 3, and Fig. 7, in step S4, the controller 10 broadcasts (multicasts) an operating condition number to the servo drivers 210 of the plurality of motor devices 20_1, 20_2, and 20_3 (PRE). The servo drivers 210 identify operating conditions corresponding to the received operating condition numbers stored in the storage unit, and generate control parameters (MC1, MC2, MC3) according to the operating conditions and physical quantities related to the operating states of the servo motors 220 acquired from the detection unit 230.
[0049] The controller 10 compares the preparation times of the plurality of motor devices 20_1, 20_2, and 20_3 calculated in steps S101, S102, and S103. The controller 10 determines the longest time among the preparation times of the plurality of motor devices 20_1, 20_2, and 20_3 compared as a waiting time Ts, and waits for the processing of step S5 (WAIT) during that time. For this reason, the controller 10 has a delay measurement function for determining in advance the longest operation preparation time.
[0050] In the servo system 1, after step S4, the controller 10 executes a simultaneous operation command (step S5). As shown in Fig. 2, Fig. 3, and Fig. 7, in step S5, the controller 10 broadcasts (multicasts) an operation command to the servo drivers 210 of the plurality of motor devices 20_1, 20_2, and 20_3 (STR).
[0051] When the servo driver 210 receives the operation command, it outputs a drive control signal (PWM signal) to the servo motor 220 in accordance with the generated control parameters (SA1, SA2, SA3). The servo motor 220 operates in accordance with the drive control signal received from the servo driver 210.
[0052] The controller 10 transmits a command to the servo driver 210 to confirm that the servo motors 220 of the plurality of motor devices 20 have reached their target positions (steps S501, S502, S503). Each servo driver 210 that has received the command transmits a response command indicating that the servo motor 220 has reached its target position (steps S511, S512, S513).
[0053] 3. Effects of the embodiment The servo system 1, the controller 10 included in the servo system 1, and the control method for the motor device 20 executed by the controller 10 described above provide the following advantageous effects.
[0054] In the servo system 1, the controller 10 broadcasts (multicasts) an operating condition number (PRE) that specifies the operating conditions for each of the multiple motor devices 20, waits (WAITs) until a waiting time Ts, which is the longest preparation time for the servo drivers 210 of each of the multiple motor devices 20 to generate control parameters, has elapsed, and then broadcasts (multicasts) an operating command (STR) to each of the multiple motor devices 20.
[0055] In the servo system 1, the controller 10 sends communication commands to the servo drivers 210 of each of the multiple motor devices 20 using serial communication such as UART communication, and broadcast transmission (multicast communication) is used to transmit operating conditions, operation preparation commands, and operation commands with high synchronicity.
[0056] In the servo system 1, in step S1, for example, up to 256 patterns of operating conditions are transmitted to each of the servo drivers 210, and the servo drivers 210 store (RCV) the operating conditions. In the servo system 1, in step S4, the servo drivers 210 receive the operating condition number (PRE) broadcast (multicast communication) from the controller 10, and then each servo driver 210 generates (MC) a control parameter. In other words, the servo system 1 employs a method of distributing the processing performed by the controller 10 and the processing performed by the servo drivers 210.
[0057] By processing as described above, the servo system 1 can significantly reduce the processing overhead and communication overhead that occurs in the controller 10, compared to a system in which, for example, a host controller generates position commands for each servo motor and transmits the generated position commands sequentially to each servo driver.
[0058] Furthermore, in the servo system 1, in step S4, the operating condition number (PRE) is simultaneously transmitted to each of the multiple servo drivers 210 by broadcast transmission (multicast communication). Therefore, compared to a method in which an operating preparation command is sent sequentially from a higher-level controller to the servo drivers, the time required for operating preparation does not increase, and the responsiveness of the system as a whole can be improved.
[0059] In step S4, the time from when the controller 10 broadcasts (multicasts) the operation condition number (PRE) to each of the servo drivers 210 until the operation preparation process (MC) is completed varies in proportion to the operation conditions (speed, acceleration), as described above. Therefore, the controller 10 waits (WAIT) for the longest preparation time for operation preparation as the waiting time Ts. The controller 10 has a delay measurement function for determining in advance the different preparation times for each of the multiple servo drivers 210 and each operation condition.
[0060] By having the controller 10 perform the above processing, the servo driver 210 does not need to measure the startup delay time and perform correction processing for the timing of transmitting an operation command every time the servo system 1 is prepared for operation. In other words, according to the servo system 1, there is no need to provide the servo driver 210 with hardware such as a delay circuit, a shift timer, or a timer. In addition, there is no need to install software that executes these functions in the servo driver 210.
[0061] Furthermore, according to the servo system 1, the servo driver 210 of each of the multiple motor devices 20 issues an operation command in accordance with the waiting time Ts, which is the longest preparation time for generating control parameters, so that the time lag until the operation command is issued can be minimized, thereby improving the processing capacity (throughput) of the system as a whole.
[0062] In addition, according to the servo system 1, as the number of axes, i.e., the number of servo motors 220, increases, the increase in the operation time difference, i.e., the time difference between the operation command and the actual movement of the servo motor 220, can be suppressed, thereby improving the response performance of the servo system.
[0063] As described above, the controller 10 calculates the preparation time for each of a plurality of operation condition numbers and sets the longest of the preparation times as the standby time Ts. In this way, the controller 10 sets the standby time Ts according to the position table number (T1, T2) and issues an operation command, thereby minimizing the time lag until the operation command is issued and improving the processing capacity (throughput) of the system.
[0064] As described above, the controller 10 transmits the operating conditions together with the operating condition number to each of the multiple motor devices 20, and the servo driver 210 receives and stores (RCV1, 2, 3) the operating conditions together with the operating condition number transmitted from the controller before the servo motor 220 transitions to operation according to the control parameters. Therefore, compared to when a position command is generated and communicated for each different operating condition, the servo driver 210 receives the operating conditions first, and then when an operating command is received, generates control parameters according to the operating condition corresponding to the operating command. Therefore, with the controller 10, it is not necessary for the controller 10 to generate a position command for each different operating condition and communicate the position command, and the time lag until the operation command is issued can be minimized regardless of the operating condition, thereby improving the processing capacity (throughput) of the system.
[0065] As described above, the controller 10 broadcasts (multicasts) operation commands to each of the multiple motor devices 20 so that the servo motors 220 of each of the multiple motor devices 20 start operating simultaneously. This minimizes the time lag until the operation command is issued regardless of the operating conditions, thereby improving the processing capacity (throughput) of the system as a whole.
[0066] As described above, in the servo system 1, the communication unit 30 uses serial communication such as UART, so that the processing capability (throughput) of the system can be improved without using a high-speed serial bus such as IEEE1394 or clock synchronous communication.
[0067] Therefore, the servo system 1, the controller 10, and the control method for the motor device 20 executed by the controller 10 can improve the processing capacity with a simple configuration.
[0068] In addition, those skilled in the art can appropriately modify the present invention in accordance with conventionally known knowledge. As long as such modifications still comprise the structure of the present invention, they are of course included in the scope of the present invention.
[0069] For example, although the communication unit 30 in this embodiment uses serial communication such as UART, it may use a high-speed serial bus such as IEEE1394 or clock synchronous communication, which can further improve the simultaneity and responsiveness.
[0070] For example, in this embodiment, an example has been described in which the controller 10 transmits operating conditions, issues operation preparation commands, operation commands, etc. to all of the servo drivers 210 of the multiple motor devices 20_1, 20_2, and 20_3, but it may also perform processing such as transmitting operating conditions to some of the multiple servo drivers 210.
[0071] For example, in this embodiment, the controller 10 is not limited to performing the process of determining the longest time among the preparation times of each of the multiple motor devices 20_1, 20_2, and 20_3 as the standby time Ts in step S4, but may perform the process after calculating the operation preparation time in step S1. [Explanation of symbols]
[0072] 1... servo system, 10... controller, 20, 20_1, 20_2, 20_3... motor device, 30... communication unit, 110... MCU, 120... memory, 210, 210_1, 210_2, 210_3... servo driver, 220... servo motor (motor), 230... detection unit
Claims
1. a plurality of motor devices each having a motor and a servo driver that generates control parameters for controlling the operation of the motor in accordance with an operating condition; a controller that transmits operation commands to each of the plurality of motor devices; a communication unit that connects the controller and the plurality of motor devices; Equipped with The controller broadcasting an operating condition number that identifies the operating condition to each of the plurality of motor devices; broadcasting the operation command to each of the plurality of motor devices after a waiting time has elapsed, the waiting time being the longest time among the times during which the servo drivers of each of the plurality of motor devices generate the control parameters; Servo system.
2. The controller calculating a preparation time for each of the plurality of operating condition numbers; 2. The servo system according to claim 1.
3. The controller transmitting the operating conditions to each of the plurality of motor devices in association with the operating condition numbers; The servo driver receiving and storing the operating conditions together with the operating condition number transmitted from the controller before the motor transitions to an operation according to the control parameters; 3. The servo system according to claim 2.
4. The controller broadcasting the operation command to each of the plurality of motor devices so that the motors of each of the plurality of motor devices start operating simultaneously; 4. The servo system according to claim 3.
5. the communication unit is a serial communication line; 2. The servo system according to claim 1.
6. a controller that transmits operation commands to a plurality of motor devices each having a motor and a servo driver that generates control parameters for controlling the operation of the motor according to an operation condition; broadcasting an operating condition number that identifies the operating condition to each of the plurality of motor devices; broadcasting the operation command to each of the plurality of motor devices after a waiting time has elapsed, the waiting time being the longest time among the times during which the servo drivers of each of the plurality of motor devices generate the control parameters; controller.
7. a control method for a servo driver, the control method being executed by a controller that transmits operation commands to a plurality of motor devices each having a motor and a servo driver that generates control parameters for controlling operation of the motor in accordance with an operating condition; The controller a step of broadcasting an operating condition number that identifies the operating condition to each of the plurality of motor devices; a step of broadcasting the operation command to each of the plurality of motor devices after a waiting time has elapsed, the waiting time being the longest time among the times during which the servo drivers of each of the plurality of motor devices generate the control parameters; To execute Servo driver control method.
Citation Information
Patent Citations
JP1979002401A