Redundant drive system, control method of redundant drive system and medium
Through the isochronous synchronization and compensation module of the redundant drive system, the shutdown problem of the redundant drive system in the prior art during multi-point failure is solved, and the rapid recovery of high availability and reliability is achieved, which is suitable for industrial applications with high reliability requirements.
Patent Information
- Application Number
- CN202510570366.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-30
- Publication Date
- 2025-08-05
AI Technical Summary
The existing redundant drive system cannot be switched quickly in the event of multi-point failure, resulting in system downtime and affecting availability and reliability.
The redundant drive system is adopted to output the speed reference value through isochronous synchronization between the first motion controller and the multiple drive components, and independent speed control of each motor is realized, and compensation modules and backup motion controllers are introduced into the system to ensure that the system is quickly restored to normal operation in the event of a failure.
It improves the availability and reliability of the drive system in multi-point failure situations, avoids global paralysis, and is suitable for industrial scenarios with high reliability requirements.
Smart Images

Figure CN120428624A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of industrial control technology, and in particular to a redundant drive system, a control method for the redundant drive system, and a medium. Background Art
[0002] In applications requiring high drive system availability, two drive systems are typically deployed: one serving as the primary system and the other as a backup. While the primary system is operating, the backup system is powered off or in standby mode. A single point of failure in the primary system requires a manual failover to the backup system. However, the backup system requires startup, initialization, and synchronization before it can take over, resulting in a lengthy failover process. Failures in both the primary and backup systems can result in downtime. Summary of the Invention
[0003] In view of this, the present application provides a redundant drive solution that can maintain normal operation in the event of multiple point failures, significantly improving the availability and reliability of the drive system.
[0004] In the first aspect, the present application provides a redundant drive system, which includes a first motion controller and N drive components, N≥2; the drive components include a drive and a motor, wherein the motor is configured in a speed control mode; each drive is connected to the first motion controller through a first bus; within each task processing cycle of the first motion controller, the first motion controller outputs a speed given value to each drive through the first bus in an isochronous manner, wherein the speed given value is obtained by the first motion controller based on the target position and the current actual position of the load.
[0005] Optionally, each of the motors is of the same model; and when the m motors of the redundant drive system operate simultaneously, the demand for driving the maximum design load can be met, wherein m / n is between 1 / 3 and 2 / 3.
[0006] Optionally, the task processing cycle is less than or equal to 4ms.
[0007] Optionally, the driver is configured with a compensation module, and the processing cycle of the driver is the same length as the task processing cycle of the first motion controller; within each processing cycle of the driver, the compensation module receives the current actual torque of the corresponding motor and outputs a speed compensation value to the speed controller of the corresponding motor, wherein the speed compensation value is obtained based on the current actual torque.
[0008] Optionally, the redundant drive system further comprises a second motion controller, and each drive is connected to the second motion controller via a second bus (32);
[0009] The task processing cycle of the second motion controller is the same as the task processing cycle of the first motion controller; within each task processing cycle of the second motion controller, the second motion controller outputs a speed reference value to each driver via the second bus in an isochronous manner, wherein the speed reference value of each motor output by the first motion controller and the second motion controller is obtained in the same manner based on the target position and the current actual position of the load; and
[0010] Each of the drivers is configured to: receive instructions output by the first motion controller and the second motion controller, and determine that one of the instructions output by the first motion controller and the instructions output by the second motion controller is a valid instruction.
[0011] In a second aspect, the present application provides a control method for a redundant drive system, which is used in the redundant drive system described in the embodiment of the first aspect, wherein a processing cycle of the drive is the same length as a task processing cycle of the first motion controller, and each of the drives executes a first method in each processing cycle, wherein the first method includes:
[0012] Get the current actual torque of the motor it drives;
[0013] Obtaining a speed compensation value of the motor driven by the motor according to the current actual torque;
[0014] According to the speed compensation value and the speed given value, a speed adjustment value of the motor driven by the motor is obtained.
[0015] Optionally, the step of obtaining a speed compensation value of a motor driven by the motor according to the current actual torque is implemented as follows:
[0016] According to the current actual torque, a speed compensation value of the motor driven by the motor is obtained based on a first formula, wherein the first formula is:
[0017] V a =k*T
[0018] Among them, V a It is used to represent the speed compensation value, k is used to represent the compensation coefficient, and T is used to represent the current actual torque.
[0019] Optionally, k is between 3% and 10%.
[0020] Optionally, the redundant drive system further includes a second motion controller, each drive is connected to the second motion controller via a second bus, and a task processing cycle of the second motion controller is the same as the time length of the task processing cycle of the first motion controller; the first method further includes the following steps:
[0021] receiving instructions output by the first motion controller and the second motion controller; wherein, when the output instructions are speed given values, the speed given values output by the first motion controller and the speed given values output by the second motion controller are obtained by each motion controller in the same manner based on the target position and the current actual position of the load;
[0022] Determining that one of the instruction output by the first motion controller and the instruction output by the second motion controller is a valid instruction;
[0023] The step of obtaining the speed adjustment value of the motor driven by the motor according to the speed compensation value and the speed given value is implemented as follows:
[0024] A speed adjustment value of the motor driven by the motor is obtained according to the speed compensation value and the effective speed given value.
[0025] In a third aspect, the present application provides a computer-readable storage medium having computer instructions stored thereon. When the computer instructions are executed by a processor, the processor executes any one of the methods described in the second aspect.
[0026] It can be seen from the above technical solutions that the redundant drive solutions provided by various aspects of this application establish isochronous synchronization between the first motion controller and each drive component through the first bus, so that the first motion controller can synchronously output the speed set value to each motor at the same time, thereby improving the synchronization accuracy of each motor and achieving speed synchronization between each motor. The motion controller performs independent speed control on each drive component, so that the speed of each motor is completely unaffected by other drive components. Therefore, when some drivers or motors fail, or there is a communication failure between the motion controller and the driver, or a communication failure between the driver and the motor, other unaffected drive components can still operate normally, thereby avoiding global paralysis caused by "single point failure", greatly improving the availability of the drive system, and making it suitable for industrial scenarios with high reliability requirements. BRIEF DESCRIPTION OF THE DRAWINGS
[0027] Figure 1 A schematic diagram of a redundant drive system according to an exemplary embodiment of the present application.
[0028] Figure 2 A schematic diagram of a redundant drive system according to another exemplary embodiment of the present application.
[0029] Figure 3 A schematic diagram of a conveying control device showing a controller and bus switching principle diagram of an exemplary embodiment of the present application.
[0030] Figure 4 This is the wiring diagram of the transfer switch and the driver.
[0031] Figure 5 This is a schematic diagram of an application of a redundant drive system according to an exemplary embodiment of the present application.
[0032] Figure 6 A schematic diagram of a redundant drive control method according to an exemplary embodiment of the present application.
[0033] Figure 7 This is a schematic diagram of a redundant drive control method according to another exemplary embodiment of the present application.
[0034] List of reference numerals:
[0035] 11: First motion controller;
[0036] 12: Second motion controller;
[0037] 21: First drive;
[0038] 22: Second drive;
[0039] 23: Third drive;
[0040] 24: Fourth drive;
[0041] 31: first bus;
[0042] 32: Second bus;
[0043] 40: Input terminal;
[0044] 50: transfer switch;
[0045] 60: Power supply;
[0046] 71: beam;
[0047] 72: first longitudinal beam;
[0048] 73: second longitudinal beam;
[0049] M1: first motor;
[0050] M2: second motor;
[0051] M3: third motor;
[0052] M4: fourth motor;
[0053] M5: fifth motor;
[0054] M6: sixth motor;
[0055] M7: seventh motor;
[0056] M8: eighth motor;
[0057] 81: first driving assembly;
[0058] 82: second drive assembly;
[0059] 83: third drive assembly;
[0060] 84: fourth drive assembly; DETAILED DESCRIPTION
[0061] In order to enable those skilled in the art to better understand the technical solutions in the embodiments of the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the embodiments of the present application, all other embodiments obtained by ordinary technicians in this field should fall within the scope of protection of the embodiments of the present application.
[0062] The following describes some embodiments of the present application in detail with reference to the accompanying drawings. The following embodiments and features thereof may be combined with one another unless they conflict with each other. The steps in the following method embodiments are for illustrative purposes only and are not intended to limit the present invention.
[0063] In applications requiring high drive system availability, two drive systems are typically deployed: one serving as the primary system and the other as a backup. While the primary system is operating, the backup system is powered off or in standby mode. A single point of failure in the primary system prevents normal operation and requires manual failover to the backup system. The backup system must undergo startup, initialization, and synchronization before it can take over, resulting in a lengthy failover process. Failures in both the primary and backup systems can result in downtime.
[0064] In view of this, the present application provides a redundant drive system that can maintain normal operation in the event of multiple point failures, significantly improving the availability and reliability of the drive system.
[0065] The specific implementation of each embodiment of the present application will be described in detail below with reference to the accompanying drawings.
[0066] Example 1
[0067] Embodiment 1 provides a redundant drive system, which includes a first motion controller 11 and N drive components, N ≥ 2. The drive components include a drive and a motor, wherein each motor is configured in a speed control mode. Each drive is connected to the first motion controller 11 via a first bus 31; during each task processing cycle of the first motion controller 11, the first motion controller 11 synchronously outputs a speed given value to each drive, wherein the speed given value is obtained by the first motion controller 11 based on the target position and the current actual position of the load. In the present application, the speed of each motor is only related to the target position and the current actual position of the load, and is completely unaffected by other motors.
[0068] Exemplarily, a sensor for detecting the current actual position of the load is connected to the first motion controller via a first bus. In each task processing cycle of the first motion controller 11, the first motion controller obtains the current actual position of the load, obtains a given speed value based on the current actual position of the load and the target position, and outputs it synchronously to each drive at the same time.
[0069] For example, in Figure 1 In an exemplary embodiment of the present application, a redundant drive system includes four drive assemblies, each of which includes a drive and a motor. The four drives are connected to a first motion controller 11 via a first bus 31. During each task processing cycle of the first motion controller 11, the first motion controller 11 calculates a speed reference value based on the target position and current actual position of the load, and then outputs the reference value to each drive via the first bus 31 in an isochronous and synchronous manner.
[0070] As mentioned above, in the drive system of the prior art, when a single point failure occurs in a system, the system will not be able to operate normally. In the present application, isochronous synchronization is established between the first motion controller and each drive component through the first bus, so that the first motion controller can synchronously output the speed set value to each motor at the same time, thereby improving the synchronization accuracy of each motor and realizing speed synchronization between each motor. The motion controller performs independent speed control on each drive component, so that the speed of each motor is completely unaffected by other drive components. Therefore, when some drivers or motors fail, or there is a communication failure between the motion controller and the driver, or a communication failure between the driver and the motor, other unaffected drive components can still operate normally, thereby avoiding global paralysis caused by "single point failure", greatly improving the availability of the drive system, and making it suitable for industrial scenarios with high reliability requirements.
[0071] In one embodiment, each motor has the same model. When the m motors of the redundant drive system are running simultaneously, the requirement of driving the maximum design load can be met, wherein m / n is between 1 / 3 and 2 / 3.
[0072] For example, a redundant drive system includes eight motors of the same model. These eight motors have the same power, and four motors operating simultaneously can drive the maximum design load. Therefore, even if some motors, drives, or communication lines fail while driving the maximum design load, the system can continue to operate as long as the four motors remain functional.
[0073] In some embodiments, as Figure 2 As shown, each drive assembly includes a multi-axis driver and two motors. This means that within each drive assembly, a single multi-axis driver independently controls both motors, saving costs while ensuring control accuracy. Specifically, each multi-axis driver includes a multi-axis control unit and two motor modules, each connected to a motor.
[0074] In some embodiments, one of the two motors of each driving assembly is located on a first side along a first direction, and the other is located on a second side along the first direction, wherein the first direction is perpendicular to the movement direction of the load.
[0075] Figure 5 The figure is a schematic diagram of a redundant drive system for driving gantry-type loads. The main frame of the gantry structure includes a crossbeam 71, a first longitudinal beam 72, a second longitudinal beam 73 and a column, wherein the ends of the crossbeam 71 are respectively connected to two longitudinal beams, each longitudinal beam is connected to a column, and a pulley is installed at the bottom of the column. The redundant drive system for driving the gantry includes four drive components: a first drive component 81, a second drive component 82, a third drive component 83 and a fourth drive component 84, wherein each drive component includes a multi-axis drive and two motors. Figure 5 As shown, the eight motors of the redundant drive system are symmetrically arranged on the two longitudinal beams, wherein one motor of each drive assembly is configured on the first longitudinal beam 72 and the other motor is configured on the second longitudinal beam 73. In this embodiment, when a driver fails, it will only affect one motor of each longitudinal beam. For example, if the multi-axis driver of the first drive assembly 81 fails, the motors M1 and M2 of the first drive assembly 81 will stop running. When one motor fails, such as the motor M3 of the second drive assembly 82 fails, the motor M3 will stop running, and the other motors will not be affected. When a motor module fails, such as the motor module connected to the motor M5 in the third drive assembly 83 fails, the motor M5 will stop running, and the other motors will not be affected. It can be seen that in this embodiment, in the case of multiple point failures, as long as two motors on the first longitudinal beam and the second longitudinal beam respectively can operate normally, the gantry can operate normally, thereby greatly improving the availability and reliability of the drive system.
[0076] In some implementations, the control period is less than or equal to 4 ms.
[0077] Example 2
[0078] Embodiment 2 provides a redundant drive system, which includes a first motion controller and N drive components, where N≥2. The drive component includes a drive and a motor, wherein the motor is configured in a speed control mode. Each drive is connected to the first motion controller 11 via a first bus 31; within each task processing cycle of the first motion controller 11, the first motion controller 11 synchronously outputs a speed set value to each drive, wherein the speed set value is obtained by the first motion controller 11 based on the target position and current actual position of the load. Each drive is configured with a compensation module, and the processing cycle of the drive is the same as the time length of the task processing cycle of the first motion controller 11. Within each processing cycle of the drive, the compensation module receives the current actual torque of the motor it drives and outputs a speed compensation value to the speed controller of the drive, wherein the speed compensation value is obtained based on the current actual torque. The speed controller obtains a speed adjustment value for the motor it drives based on the speed set value and the speed compensation value, obtains and outputs a torque set value based on the speed adjustment value, wherein the speed adjustment value is equal to the difference obtained by subtracting the speed compensation value from the speed set value.
[0079] When some motors fail and stop running, the load they bear will be transferred to the remaining motors, which may disrupt the original load balancing mechanism and make it impossible to redistribute the load among the remaining motors according to the designed ratio, thereby causing some motors to be overloaded due to the load exceeding the rated value. To solve this problem, the present embodiment obtains a speed compensation value based on the current actual torque of the motor. The speed compensation value is used to correct the speed setting value, so that when a fault occurs, the load is redistributed among the remaining motors, thereby re-achieving load balance among the motors. In the present embodiment, the speed compensation value of each motor is only related to the current actual torque of the motor and is not affected by the faulty motor or driver. Therefore, after any driver or motor fails, the other motors will quickly regain load balance.
[0080] In some embodiments, the speed compensation value V a =k*M, where k is used to represent the compensation coefficient, k is a positive number and k<1; M is used to represent the current actual torque.
[0081] In some embodiments, the compensation coefficient k is between 3% and 10%.
[0082] In the case where the load working environment is a special environment such as high temperature, high pressure, low temperature, toxicity, radiation, etc., if the first motion controller 11 fails, the system will be paralyzed. Since the human body cannot directly enter these environments, it becomes extremely difficult to deal with the failure in a timely manner, resulting in operation interruption. To solve this problem, in one embodiment based on the present application, the redundant drive system also includes a second motion controller 12, and each drive is connected to the second motion controller 12 via a second bus 32. Figure 2 As shown. The task processing cycle of the second motion controller 12 is the same length as the task processing cycle of the first motion controller 11; within each task processing cycle of the second motion controller 12, the second motion controller 12 outputs the speed reference value to each driver synchronously through the second bus 32, wherein the speed reference values output by the first motion controller 11 and the second motion controller 12 are obtained in the same way based on the target position and the current actual position of the load. Each of the drivers is configured to receive instructions output by the first motion controller 11 and the second motion controller 12, and determine whether one of the instructions output by the first motion controller 11 and the instructions output by the second motion controller 12 is a valid instruction.
[0083] A sensor for detecting the load's current actual position is connected to the first motion controller 11 via a first bus 31 and to the second motion controller 12 via a second bus 32. During each task processing cycle of the first motion controller 11, the first motion controller 11 obtains the load's current actual position, derives a speed reference based on the load's current actual position and target position, and simultaneously outputs this reference to each actuator. During each task processing cycle of the second motion controller 12, the second motion controller 12 obtains the load's current actual position, derives a speed reference based on the load's current actual position and target position, and simultaneously outputs this reference to each actuator.
[0084] In some embodiments, the redundant drive system further includes a switching circuit, which includes a transfer switch 50, wherein the contacts of the transfer switch 50 are electrically connected to the preset input terminals 40 of each driver respectively; each driver is configured to: receive the instructions output by the first motion controller 11 and the second motion controller 12; and determine, based on the feedback signal of the preset input terminal 40, whether the instruction output by the first motion controller 11 or the instruction output by the second motion controller 12 is a valid instruction, such as Figure 3 shown.
[0085] like Figure 4As shown, the normally open contact or normally closed contact of the conversion switch 50 is electrically connected to a preset input terminal 40 of each driver, the power supply end of the conversion switch 50 is connected to the positive pole of the power supply 60, and the negative pole of the power supply 60 is connected to a ground terminal of each driver. The state of the conversion switch 50 can be used to control the connection and disconnection of the switching circuit. For example, the normally open contact of the conversion switch 50 is electrically connected to a preset input terminal 40 of each driver. When the conversion switch 50 is closed, the normally open contact is closed, the switching circuit is connected, and the preset input terminal 40 of each driver outputs a high level; when the conversion switch 50 is opened, the normally open contact is opened, the switching circuit is disconnected, and the preset input terminal 40 of each driver outputs a low level. In this embodiment, the state of the conversion switch 50 can be used to make the preset input terminals 40 of each driver of the redundant drive system output the same signal, so that each driver treats the instructions output by the same motion controller as valid instructions.
[0086] In this embodiment, the two motion controllers operate independently and have no subordinate relationship. Therefore, if one motion controller fails, the other motion controller can immediately take over the task by switching the transfer switch 50. The task processing cycle of the second motion controller 12 is the same as that of the first motion controller 11. For example, if the task processing cycle of the first motion controller 11 is 1ms, the task processing cycle of the second motion controller 12 is also 1ms. Although the two motion controllers are not synchronized, their task processing cycles have the same duration. Therefore, although there is a phase offset between their task processing cycles, the phase offset is extremely small. Taking a task processing cycle of 1ms as an example, the first motion controller 11 obtains the current actual position of the load at time T1 and outputs the speed setpoints of each motor at time T2. The second motion controller 12 obtains the current actual position of the load at time T1+0.001ms and outputs the speed setpoints of each motor at time T2+0.001ms. Since the phase offset is extremely small, it can be assumed that the time when the two motion controllers obtain the current actual position of the load is approximately the same, and therefore the current actual position of the load obtained by the two motion controllers is also approximately the same. The speed setpoints output by each motion controller are obtained in the same manner based on the target position of the load and the current position. Therefore, it can be considered that the speed setpoints output by the first motion controller 11 and the second motion controller are approximately the same, and the time when the speed setpoints are output is also approximately the same. Under normal circumstances, all drive components are controlled by the main motion controller. Once the main motion controller fails, it is switched to the backup motion controller by switching the transfer switch 50. The backup motion controller is in normal operating state and is approximately synchronized with the clock of the main motion controller, so the backup motion controller can take over the work quickly and almost without delay.
[0087] In some embodiments, the preset input terminal 40 of each driver is the same terminal, for example, Figure 3 In the exemplary embodiment shown, the first input terminal DI0 of each driver is connected to the transfer switch 50 .
[0088] In one embodiment, each motor has the same model. When the m motors of the redundant drive system are running simultaneously, the requirement of driving the maximum design load can be met, wherein m / n is between 1 / 3 and 2 / 3.
[0089] In some embodiments, as Figure 2 As shown, each drive assembly includes a multi-axis driver and two motors. This means that within each drive assembly, one multi-axis driver controls both motors, saving costs while ensuring control accuracy. Specifically, each multi-axis driver includes a multi-axis control unit and two motor modules, each of which is connected to a motor.
[0090] In some embodiments, one of the two motors of each drive assembly is located on a first side along a first direction, and the other is located on a second side along the first direction, wherein the first direction is perpendicular to the direction of motion of the load, such as Figure 5 shown.
[0091] In some implementations, the control period is less than or equal to 4 ms.
[0092] Example 3
[0093] This embodiment provides a control method for a redundant drive system, which is used for the redundant drive system in embodiment 1. The processing cycle of the drive is the same as the time length of the task processing cycle of the first motion controller 11, and each drive executes the first method 100 in each processing cycle. Figure 6 As shown, the first method 100 includes the following steps:
[0094] S101: Acquire the current actual torque of the motor driven by it.
[0095] For example, the driver may directly obtain the current actual torque of the motor through an external torque sensor or a torque observer built into the driver itself, or may indirectly obtain the current actual torque of the motor by obtaining the motor current, but is not limited thereto.
[0096] S103: Obtaining a speed compensation value of the motor driven by the current actual torque according to the current actual torque.
[0097] In some embodiments, step S103 is implemented as follows: according to the current actual torque, a speed compensation value of the motor driven by the motor is obtained based on a first formula, where the first formula is:
[0098] V a =k*T
[0099] Among them, V a It is used to represent the speed compensation value, k is used to represent the compensation coefficient, and T is used to represent the current actual torque.
[0100] In some embodiments, the compensation coefficient k is between 3% and 10%.
[0101] S105: Obtaining a speed adjustment value of the motor driven by the motor according to the speed compensation value and the speed given value.
[0102] In this embodiment, the speed adjustment value is equal to the difference obtained by subtracting the speed compensation value from the speed set value.
[0103] When some motors fail and stop running, the load they bear will be transferred to the remaining motors, which may disrupt the original load balancing mechanism and make it impossible to redistribute the load among the remaining motors according to the designed ratio, thereby causing some motors to be overloaded due to the load exceeding the rated value. To solve this problem, the present embodiment obtains a speed compensation value based on the current actual torque of the motor. The speed compensation value is used to correct the speed setting value, so that when a fault occurs, the load is redistributed among the remaining motors, thereby re-achieving load balance among the motors. In this embodiment, the speed compensation value of each motor is only related to the current actual torque of the motor and is not affected by the faulty motor or driver. Therefore, after any driver or motor fails, the other motors will quickly regain load balance.
[0104] To facilitate understanding of the solution of the present application, the solution of this embodiment is described below using a redundant drive system including six motors as an example. This exemplary redundant drive system includes six motors, and the load is evenly distributed among these six motors. The parameters presented in this embodiment are those under ideal conditions without considering other influencing factors. That is, under ideal conditions, the speed set value of each motor is V1, the output torque is M1, the speed compensation value of each motor is k*M1, and the speed adjustment value of each motor is V1-k*M1, as shown in Table 1.
[0105] Speed reference Current actual torque Speed adjustment value First Motor V1 M1 V1-k*M1 The third motor V1 M1 V1-k*M1 Fourth motor V1 M1 V1-k*M1 Fifth Motor V1 M1 V1-k*M1 Sixth motor V1 M1 V1-k*M1 Seventh Motor V1 M1 V1-k*M1
[0106] Table 1
[0107] At time T1, the first motor stops running due to a fault, causing the load to be redistributed among the remaining five motors. After redistribution, the load is not evenly distributed. The specific distribution is as follows:
[0108] Second motor: actual output torque is 1.5M1;
[0109] The third motor: the actual output torque is 1.2M1;
[0110] The fourth motor: the actual output torque is 1.15M1;
[0111] The fifth motor: the actual output torque is 1.12M1;
[0112] The sixth motor: the actual output torque is 1.02M1;
[0113] Since the load is not evenly distributed, the load balance among the remaining five motors is broken. In this embodiment, the speed setting value of each motor can be corrected according to the current actual torque of each motor until the load balance among the five motors is restored.
[0114] Without considering other influencing factors, Table 2 shows the speed adjustment values of each motor when the first motor stops running.
[0115]
[0116]
[0117] Table 2
[0118] As shown in Table 2, the greater the load added to a motor when a fault occurs, the greater its actual output torque, and therefore the larger the speed compensation value. The speed adjustment value is equal to the difference between the speed setpoint and the speed compensation value. Therefore, the greater the load added to a motor when a fault occurs, the more its speed setpoint is reduced. Therefore, in this embodiment, by reducing the speed adjustment value, the load torque is reduced, thereby transferring the load to other motors. This allows for load balance among the motors to be restored within 2-3 task processing cycles, as shown in Table 3.
[0119] Speed reference Current actual torque Speed adjustment value First Motor NA NA NA Second motor V3 1.2M1 V3-k*1.2M1 The third motor V3 1.2M1 V3-k*1.2M1 Fourth motor V3 1.2M1 V3-k*1.2M1 Fifth Motor V3 1.2M1 V3-k*1.2M1 Sixth motor V3 1.2M1 V3-k*1.2M1
[0120] Table 3
[0121] It can be understood that in an embodiment in which a multi-axis driver drives multiple motors, within each processing cycle of the multi-axis driver, each motor module of the multi-axis driver obtains the current actual torque of the motor it drives, and obtains the speed compensation value of the motor it drives based on the current actual torque; and obtains the speed adjustment value of the motor it drives based on the speed given value and the speed compensation value of the motor it drives.
[0122] In the case where the load working environment is a special environment such as high temperature, high pressure, low temperature, toxicity, radiation, etc., if the first motion controller 11 fails, the system will be paralyzed. Since the human body cannot directly enter these environments, it becomes extremely difficult to deal with the failure in a timely manner, resulting in operation interruption. To solve this problem, in one embodiment based on the present application, the redundant drive system also includes a second motion controller 12, and each drive is connected to the second motion controller 12 via a second bus 32, such as Figure 2 As shown, the task processing cycle of the second motion controller 12 has the same length as the task processing cycle of the first motion controller 11. Figure 7 As shown, the first method further includes the following steps:
[0123] S1041: Receive instructions output by the first motion controller 11 and the second motion controller 12; wherein, when the output instructions are speed given values, the speed given value output by the first motion controller 11 and the speed given value output by the second motion controller 12 are obtained by each motion controller in the same way based on the target position and the current actual position of the load.
[0124] S1042: Determine whether one of the instructions output by the first motion controller 11 and the instructions output by the second motion controller 12 is a valid instruction.
[0125] Step S105 is implemented as follows:
[0126] A speed adjustment value of the motor driven by the motor is obtained according to the speed compensation value and the effective speed given value.
[0127] In some embodiments, the redundant drive system further includes a switching circuit, which includes a transfer switch 50, wherein the contacts of the transfer switch 50 are electrically connected to the preset input terminals 40 of each driver, such as Figure 4 In this embodiment, step S1042 is implemented as follows:
[0128] S10421: Obtaining a feedback signal from a preset input terminal;
[0129] S10422: Determine one of the two as the effective speed given value based on the feedback signal of the preset input terminal.
[0130] In this embodiment, the switching circuit is connected or disconnected by switching the state of a switch. When the switching circuit is connected, the preset input terminal returns a high-level signal; when the switching circuit is disconnected, the preset input terminal returns a low-level signal. Based on the feedback signal from the preset input terminal, one of the two is determined to be the effective speed setpoint.
[0131] In this embodiment, the two motion controllers operate independently, without a subordinate relationship. Therefore, if one motion controller fails, the other motion controller can immediately take over by switching the transfer switch 50. The task processing cycle of the second motion controller 12 is the same as that of the first motion controller 11. That is, if the task processing cycle of the first motion controller 11 is 1ms, the task processing cycle of the second motion controller 12 is also 1ms. Although the two motion controllers are not synchronized, their task processing cycles have the same duration. Therefore, although there is a phase offset between their task processing cycles, the phase offset is extremely small. Taking a task processing cycle of 1ms as an example, the first motion controller 11 obtains the current actual position of the load at time T1 and outputs the speed setpoints of each motor at time T2. The second motion controller 12 obtains the current actual position of the load at time T1+0.001ms and outputs the speed setpoints of each motor at time T2+0.001ms. Since the phase offset is extremely small, it can be assumed that the time when the two motion controllers obtain the current actual position of the load is approximately the same, and therefore the current actual position of the load obtained by the two motion controllers is also approximately the same. The speed setpoints output by each motion controller are obtained in the same manner based on the target position of the load and the current position. Therefore, it can be considered that the speed setpoints output by the first motion controller 11 and the second motion controller are approximately the same, and the time when the speed setpoints are output is also approximately the same. Under normal circumstances, all drive components are controlled by the main motion controller. Once the main motion controller fails, it is switched to the backup motion controller by switching the transfer switch 50. The backup motion controller is in normal operating state and is approximately synchronized with the clock of the main motion controller, so the backup motion controller can take over the work quickly and almost without delay.
[0132] like Figure 4 As shown, the normally open contact or normally closed contact of the conversion switch 50 is electrically connected to a preset input terminal 40 of each driver, the power supply end of the conversion switch 50 is connected to the positive pole of the power supply 60, and the negative pole of the power supply 60 is connected to a ground terminal of each driver. The state of the conversion switch 50 can be used to control the connection and disconnection of the switching circuit. For example, the normally open contact of the conversion switch 50 is electrically connected to a preset input terminal 40 of each driver. When the conversion switch 50 is closed, the normally open contact is closed, the switching circuit is connected, and the preset input terminal 40 of each driver outputs a high level; when the conversion switch 50 is opened, the normally open contact is opened, the switching circuit is disconnected, and the preset input terminal 40 of each driver outputs a low level. In this embodiment, the state of the conversion switch 50 can be used to make the preset input terminals 40 of each driver of the redundant drive system output the same signal, so that each driver treats the instructions output by the same motion controller as valid instructions.
[0133] In some embodiments, the preset input terminal 40 of each driver is the same terminal, for example, Figure 3 In the exemplary embodiment shown, the first input terminal DI0 of each driver is connected to the transfer switch 50 .
[0134] In some embodiments, step S105 is implemented as follows: according to the speed compensation value and the speed given value, a speed adjustment value of the motor driven by the motor is obtained according to a second formula, wherein the second formula is:
[0135] V r =f*V s -V a
[0136] In the second formula, V r Used to represent the speed adjustment value; V s Used to represent the speed given value; V a Used to represent the speed compensation value; f is used to represent the adjustment coefficient, and f is greater than 1.
[0137] In some embodiments, the adjustment coefficient f is between 1 and 1.2.
[0138] Since the speed adjustment value is equal to the speed given value minus the speed compensation value V a The difference is obtained, so the actual speed of the motor is less than the given speed. In this embodiment, the deceleration effect can be partially offset by adjusting the coefficient, so that the system can run more efficiently while balancing the torque of each motor.
[0139] Computer-readable storage medium
[0140] This application also provides a computer-readable storage medium storing instructions for causing a machine to execute the conveying control method described herein. Specifically, a system or device equipped with a storage medium can be provided, wherein the storage medium stores software program code that implements the functions of any of the above-described embodiments, and a computer (or CPU or MPU) of the system or device can read and execute the program code stored in the storage medium.
[0141] In this case, the program code read from the storage medium itself can realize the function of any one of the above embodiments, so the program code and the storage medium storing the program code constitute part of this application.
[0142] Examples of storage media for providing program code include floppy disks, hard disks, magneto-optical disks, optical disks (such as CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DVD-RW, DVD+RW), magnetic tapes, non-volatile memory cards, and ROMs. Alternatively, the program code can be downloaded from a server computer via a communication network.
[0143] Computer program product
[0144] An embodiment of the present application also provides a computer program product, including computer instructions, which instruct a computing device to perform any corresponding operation in the above-mentioned multiple method embodiments.
[0145] It should be pointed out that, according to the needs of implementation, the various components / steps described in the embodiments of the present application can be split into more components / steps, or two or more components / steps or partial operations of components / steps can be combined into new components / steps to achieve the purpose of the embodiments of the present application.
[0146] The above-mentioned method according to the embodiment of the present application can be implemented in hardware, firmware, or can be implemented as software or computer code that can be stored in a recording medium (such as CD ROM, RAM, floppy disk, hard disk or magneto-optical disk), or can be implemented as computer code that is originally stored in a remote recording medium or a non-temporary machine-readable medium downloaded via a network and will be stored in a local recording medium, so that the method described herein can be stored in such software processing on a recording medium using a general-purpose computer, a special-purpose processor or programmable or special-purpose hardware (such as ASIC or FPGA). It can be understood that a computer, a processor, a microprocessor controller or programmable hardware includes a storage component (e.g., RAM, ROM, flash memory, etc.) that can store or receive software or computer code, and when the software or computer code is accessed and executed by a computer, a processor or hardware, the method described herein is implemented. In addition, when a general-purpose computer accesses the code for implementing the method shown here, the execution of the code converts the general-purpose computer into a special-purpose computer for executing the method shown here.
[0147] It should be noted that not all steps and modules in the above processes and system structure diagrams are required, and certain steps or modules can be omitted according to actual needs. The execution order of each step is not fixed and can be adjusted as needed. The system structure described in the above embodiments can be a physical structure or a logical structure, that is, some modules may be implemented by the same physical entity, or some modules may be implemented by multiple physical entities, or may be implemented by certain components in multiple independent devices.
[0148] Nouns and pronouns referring to persons in this patent application are not limited to a specific gender.
[0149] In the above embodiments, the hardware module can be implemented mechanically or electrically. For example, a hardware module can include a permanent dedicated circuit or logic (such as a dedicated processor, FPGA or ASIC) to complete the corresponding operation. The hardware module can also include programmable logic or circuits (such as a general-purpose processor or other programmable processors), which can be temporarily set by software to complete the corresponding operation. The specific implementation method (mechanical method, or dedicated permanent circuit, or temporarily set circuit) can be determined based on cost and time considerations.
[0150] The present invention has been shown and described in detail above through the accompanying drawings and preferred embodiments. However, the present invention is not limited to these disclosed embodiments. Based on the above multiple embodiments, those skilled in the art can know that the code review methods in the above different embodiments can be combined to obtain more embodiments of the present invention, and these embodiments are also within the scope of protection of the present invention.
Claims
1. A redundant drive system, characterized in that: The redundant drive system comprises a first motion controller (11) and N drive components, N≥2; the drive components comprise a driver and a motor, wherein the motor is configured in a speed control mode; Each driver is connected to the first motion controller (11) via a first bus (31); in each task processing cycle of the first motion controller (11), the first motion controller (11) outputs a speed setting value to each driver via the first bus (31) in an isochronous manner, wherein the speed setting value is obtained by the first motion controller (11) based on the target position and current actual position of the load.
2. The redundant drive system according to claim 1, wherein: Each of the motors has the same model; and when the m motors of the redundant drive system operate simultaneously, the demand for driving the maximum design load can be met, wherein m / n is between 1 / 3 and 2 / 3.
3. The redundant drive system according to claim 2, wherein: The task processing cycle is less than or equal to 4ms.
4. The redundant drive system according to claim 2, wherein: The driver is equipped with a compensation module, and the processing cycle of the driver is the same as the time length of the task processing cycle of the first motion controller (11); in each processing cycle of the driver, the compensation module receives the current actual torque of the motor corresponding to it and outputs a speed compensation value to the speed controller of the motor corresponding to it, wherein the speed compensation value is obtained based on the current actual torque.
5. The redundant drive system according to any one of claims 1 to 4, characterized in that: The redundant drive system further comprises a second motion controller (12), and each drive is connected to the second motion controller (12) via a second bus (32); The task processing cycle of the second motion controller (12) is the same as the time length of the task processing cycle of the first motion controller (11); in each task processing cycle of the second motion controller (12), the second motion controller (12) outputs a speed reference value to each driver via the second bus (32) in an isochronous manner, wherein the speed reference values output by the first motion controller (11) and the second motion controller (12) are obtained in the same manner based on the target position and the current actual position of the load; and Each of the drivers is configured to receive instructions output by the first motion controller (11) and the second motion controller (12), and determine whether one of the instructions output by the first motion controller (11) and the instructions output by the second motion controller (12) is a valid instruction.
6. A control method for a redundant drive system, used for the redundant drive system as claimed in claims 1 to 3, characterized in that: The processing cycle of the driver is the same as the time length of the task processing cycle of the first motion controller (11), and each of the drivers performs a first method in each processing cycle, wherein the first method includes: Get the current actual torque of the motor it drives; Obtaining a speed compensation value of the motor driven by the motor according to the current actual torque; According to the speed compensation value and the speed given value, a speed adjustment value of the motor driven by the motor is obtained.
7. The control method of the redundant drive system according to claim 6, wherein: According to the current actual torque, the step of obtaining the speed compensation value of the motor driven by the motor is implemented as follows: According to the current actual torque, a speed compensation value of the motor driven by the motor is obtained based on a first formula, wherein the first formula is: V a =k*T Among them, V a It is used to represent the speed compensation value, k is used to represent the compensation coefficient, and T is used to represent the current actual torque.
8. The control method of the redundant drive system according to claim 7, wherein: k is between 3% and 10%.
9. The control method of a redundant drive system according to any one of claims 5 to 8, characterized in that: The redundant drive system further comprises a second motion controller (12), each drive being connected to the second motion controller (12) via a second bus (32), and a task processing cycle of the second motion controller (12) having the same length as a task processing cycle of the first motion controller (11); the first method further comprises the following steps: receiving instructions output by the first motion controller (11) and the second motion controller (12); wherein, when the output instructions are speed given values, the speed given value output by the first motion controller (11) and the speed given value output by the second motion controller (12) are obtained by each motion controller in the same manner according to the target position and the current actual position of the load; Determining that one of the instructions output by the first motion controller (11) and the instructions output by the second motion controller (12) is a valid instruction; The step of obtaining the speed adjustment value of the motor driven by the motor according to the speed compensation value and the speed given value is implemented as follows: A speed adjustment value of the motor driven by the motor is obtained according to the speed compensation value and the effective speed given value. 10 . A computer-readable storage medium having computer instructions stored thereon, wherein when the computer instructions are executed by a processor, the processor is caused to perform the method according to claim 6 .