A distributed motion control system and method
By using intelligent servo drives and control units in a distributed motion control system, changes in axis capabilities are sensed and personalized task contract frames are generated, solving the problems of resource waste and response delay in traditional centralized control systems, and achieving efficient personalized control and extended equipment life.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHANHE ZHIXIN (SHENZHEN) TECHNOLOGY CO LTD
- Filing Date
- 2026-04-24
- Publication Date
- 2026-07-31
AI Technical Summary
In traditional industrial motion control systems, the centralized architecture leads to wasted PLC resources, response delays, and limited system scalability. Furthermore, it cannot effectively address individual capability differences, resulting in axis overload and decreased accuracy.
A distributed motion control system is adopted, which senses changes in axis capability and generates axis capability data through intelligent servo drives. The control unit generates personalized task contract frames, and the intelligent servo drives control according to the contract parameters, realizing event-driven and personalized control.
It avoids overload, extends equipment life, reduces system load, improves response speed and system scalability, and reduces CPU consumption during idle polling.
Smart Images

Figure CN122495901A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of industrial control technology, and in particular to a distributed motion control system and method. Background Technology
[0002] Industrial motion control systems are the core technology of industrial automation, used to precisely control the position, speed, acceleration, torque and motion trajectory of machinery.
[0003] Traditional industrial motion control systems typically employ a centralized architecture: a programmable logic controller (PLC) serves as the central computing unit, issuing precise position commands to all intelligent servo drives via a real-time industrial bus during each control cycle, with the intelligent servo drives acting as command execution units.
[0004] However, this architecture has the following drawbacks: 1. The PLC polls the status of all axes in each scan cycle, consuming CPU resources even when no events occur, and the response delay to sudden events is limited by the scan cycle. 2. The PLC issues the same instructions to axes of the same model, ignoring individual capability differences caused by mechanical wear, load changes, and aging, leading to overload, decreased accuracy, or shortened lifespan for some axes. High bus load: Periodic polling and instruction issuance consume a large amount of bandwidth, limiting the system's scalability. Summary of the Invention
[0005] This invention provides a distributed motion control system and method to sense the axis capabilities of different servos and generate personalized control tasks.
[0006] According to a first aspect of the present invention, a distributed motion control system is provided, the system comprising: a control unit and at least one intelligent servo driver, the control unit being connected to each of the intelligent servo drivers, each of the intelligent servo drivers controlling a motor shaft:
[0007] The intelligent servo driver is used to sense changes in the shaft capability of the motor shaft, generate shaft capability data, and report it to the control unit in the form of events.
[0008] The control unit is configured to, when generating an atomic action sequence, which includes a target motor shaft and action parameters, read the target shaft capability data of the target motor shaft and combine it with the action parameters to generate a task contract frame and send it to the target intelligent servo driver.
[0009] The intelligent servo driver is used to control the target motor shaft according to the contract parameters in the task contract frame.
[0010] According to a second aspect of the present invention, a distributed motion control method is provided, applied to a distributed motion control system, the system comprising a control unit and at least one intelligent servo driver, the control unit being connected to each of the intelligent servo drivers, each of the intelligent servo drivers controlling a motor shaft, the method comprising:
[0011] The intelligent servo driver senses changes in the shaft capability of the motor shaft, generates shaft capability data, and reports it to the control unit in the form of events.
[0012] When an atomic action sequence is generated, the atomic action sequence includes a target motor shaft and action parameters. The control unit reads the target shaft capability data of the target motor shaft and combines it with the action parameters to generate a task contract frame and send it to the target intelligent servo driver.
[0013] The intelligent servo driver controls the target motor shaft according to the contract parameters in the task contract frame.
[0014] The technical solution of this invention includes a system comprising: a control unit and at least one intelligent servo driver. The control unit is connected to each intelligent servo driver, and each intelligent servo driver controls one motor axis. The intelligent servo driver senses changes in the axis capability of the motor axis, generates axis capability data, and reports it to the control unit in the form of events. When the control unit generates an atomic action sequence, which includes a target motor axis and action parameters, it reads the target axis capability data of the target motor axis and combines it with the action parameters to generate a task contract frame and sends it to the target intelligent servo driver. The intelligent servo driver controls the target motor axis according to the contract parameters in the task contract frame. By generating personalized task contracts based on the real-time capability of each intelligent servo driver, overload is avoided, equipment lifespan is extended, the periodic polling method is changed, and event-driven operation eliminates idle polling, with load proportional to event frequency.
[0015] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of the present invention, nor is it intended to limit the scope of the invention. Other features of the invention will become readily apparent from the following description. Attached Figure Description
[0016] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0017] Figure 1This is a schematic diagram of a distributed motion control system according to Embodiment 1 of the present invention;
[0018] Figure 2 This is a flowchart illustrating the generation of a task contract frame in a distributed motion control system according to Embodiment 1 of the present invention.
[0019] Figure 3 This is a flowchart illustrating a collision detection process in a distributed motion control system according to Embodiment 1 of the present invention.
[0020] Figure 4 This is a flowchart illustrating a health warning request in a distributed motion control system according to Embodiment 1 of the present invention.
[0021] Figure 5 This is a flowchart illustrating the renegotiation process in a distributed motion control system according to Embodiment 1 of the present invention.
[0022] Figure 6 This is a flowchart of a distributed motion control method provided in Embodiment 2 of the present invention. Detailed Implementation
[0023] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.
[0024] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0025] Example 1
[0026] Figure 1This is a schematic diagram of a distributed motion control system provided in Embodiment 1 of the present invention. This embodiment can be applied to personalized control situations of distributed motion mechanism control systems. Figure 1 As shown, the system includes: a control unit 11 and at least one intelligent servo driver 12. The control unit 11 is connected to each intelligent servo driver 12, and each intelligent servo driver 12 controls a motor shaft.
[0027] In this embodiment, the control unit can be a programmable logic controller (PLC) or a motion controller. Both PLCs and motion controllers can perform the same functions in industrial control or humanoid robot applications. The control unit acts as a task planner, responsible for generating task contracts, managing global resources, and handling events. The intelligent servo driver 12 can be understood as a driver with autonomous sensing, autonomous calculation, and autonomous reporting capabilities. Each intelligent servo controls one motor axis, possesses local autonomous execution capabilities, and actively reports its status and events. The control unit 11 is connected to each intelligent servo via a real-time industrial bus, supporting non-periodic event communication, publish / subscribe mechanisms, and high-precision time synchronization (such as EtherCAT, TSN, or industrial wireless).
[0028] The intelligent servo driver 12 is used to sense changes in the shaft capability of the motor shaft, generate shaft capability data, and report it to the control unit 11 in the form of an event. The control unit 11 is used to generate a task contract frame and send it to the target intelligent servo driver 12 when an atomic motion sequence is generated, which includes the target motor shaft and motion parameters.
[0029] In this embodiment, the atomic motion sequence can be understood as the smallest executable motion unit broken down from the parsed process task, including basic motion parameters such as the target motor shaft, target position, speed, acceleration, and trajectory type. These motion parameters are the motion command parameters required to complete the atomic motion. The target motor shaft is the motor shaft whose motion to be executed, specified by the atomic motion sequence. The target shaft capability data can be understood as a quantified value characterizing the shaft capability of the target motor shaft, which may include a set of static rated parameters (rated torque and maximum speed, etc.) and dynamic real-time parameters (real-time inertia, health status, and temperature). The task contract frame can be understood as a task contract data message encapsulated based on a bus protocol, used by the control unit 11 to issue formal tasks to the intelligent servo. The contract parameters can be understood as a set of execution rules within the task contract frame, including target position, speed, acceleration, error band, deadline, trajectory type, etc.
[0030] Specifically, the intelligent servo drive 12 can monitor the operating status of the controlled motor shaft in real time, sense changes in shaft capability, and generate corresponding shaft capability data. Each intelligent servo maintains a capability description object locally (e.g., the 0x2300 area of the object dictionary), including static capabilities (rated torque, maximum speed) and dynamic capabilities (real-time inertia, health status, temperature). The intelligent servo drive 12 can actively report to the control unit 11 via events (e.g., time PDO). When the control unit 11 generates an atomic motion sequence containing the target motor shaft and motion parameters, it reads the target shaft capability data of the target motor shaft from the cache, calculates and generates a task contract frame based on the motion parameters, and sends it to the corresponding target intelligent servo drive 12. The target intelligent servo drive 12 receives the task contract frame, autonomously completes trajectory planning and closed-loop adjustment according to the contract parameters within the frame, and implements precise motion control of the target motor shaft.
[0031] The technical solution of this invention includes a system comprising: a control unit and at least one intelligent servo driver. The control unit is connected to each intelligent servo driver, and each intelligent servo driver controls one motor axis. The intelligent servo driver senses changes in the axis capability of the motor axis, generates axis capability data, and reports it to the control unit in the form of events. When the control unit generates an atomic action sequence, which includes a target motor axis and action parameters, it reads the target axis capability data of the target motor axis and combines it with the action parameters to generate a task contract frame and sends it to the target intelligent servo driver. The intelligent servo driver controls the target motor axis according to the contract parameters in the task contract frame. By generating personalized task contracts based on the real-time capability of each intelligent servo driver, overload is avoided, equipment lifespan is extended, the periodic polling method is changed, and event-driven operation eliminates idle polling, with load proportional to event frequency.
[0032] Furthermore, the steps of reading the target axis capability data of the target motor axis, combining it with motion parameters, generating a task contract frame, and sending it to the target intelligent servo drive 12 can be refined as follows:
[0033] The current target axis capability data, including health value, inertia value, and temperature value, is read from the axis proxy cache that matches the target motor axis. Based on the health value, the maximum speed value of the target motor axis is determined. Based on the inertia value, the maximum acceleration value and jerk value of the target motor axis are determined. Based on the temperature value, the error band of the target motor axis is determined. The maximum speed value, maximum acceleration value, jerk value, error band, and motion parameters are used as a task contract frame. The task contract frame is then sent to the target intelligent servo drive 12.
[0034] In this embodiment, the axis proxy cache can be understood as a real-time data storage area maintained by the software proxy object created within the control unit 11 for each motor axis. It is used to cache the latest axis capabilities, operating conditions, and events of that axis. The axis proxy object provides a unified capability query interface to the upper layer. The health value is a quantitative indicator representing the overall health status of the motor axis, reflecting the degree of wear, aging, and load deterioration. The inertia value represents the real-time rotational inertia of the motor axis load and is used to calculate the maximum output acceleration. The temperature value represents the real-time operating temperature of the motor axis. The maximum speed value can be understood as the highest speed at which the axis can currently operate safely, calculated based on the health limit. The jerk value refers to the rate of change of acceleration over time. The maximum acceleration value can be understood as the maximum stable output acceleration of the axis, calculated based on the real-time inertia. The error band can be understood as the allowable position tracking error range in motion control, dynamically set according to temperature and operating conditions.
[0035] Specifically, the control unit 11 can read the latest target axis capability data, including health value, inertia value, and temperature value, from the axis proxy cache corresponding to the target motor axis. Based on the health value, the control unit 11 can determine the maximum speed and jerk value of the target motor axis (e.g., when the health is 80%, the maximum speed is limited to 80% of the rated value, and the jerk value is also limited to 80% of the rated value); based on the inertia value, it can determine the maximum acceleration value of the target motor axis to avoid overload; based on the temperature value, it can determine the allowable error band of the target motor axis. Furthermore, it can predict future temperature rise based on the temperature; if the temperature is too high, it can increase the cooling time or reduce the load in the contract. The control unit 11 can integrate the calculated maximum speed value, maximum acceleration value, jerk value, and error band with the process motion parameters to generate a complete task contract frame. The control unit 11 sends the generated task contract frame to the corresponding target intelligent servo driver 12, which then executes motion control according to the contract parameters. The control unit 11 can utilize a three-stage communication system based on CANopen extended contract sending, commitment response, and confirmation.
[0036] For example, the above process can be demonstrated with a specific example. Figure 2 This is a flowchart illustrating the generation of a task contract frame in a distributed motion control system according to Embodiment 1 of the present invention. Figure 2As shown, the control unit 11 can be divided into a process task parser, a contract generator, an axis proxy manager, and a global (global resource manager). The process task parser parses user programs or G-code into atomic action sequences. The contract generator generates task contracts based on atomic actions and axis capability data, including fields such as target position, velocity, acceleration, jerk, profile type, allowable error band, autonomy level, and deadline. The axis proxy manager maintains a software proxy object for each intelligent servo, caching its capability description (such as rated torque, real-time inertia, and health), current task status, and latest events. The global resource manager maintains resource occupancy tables such as power capacity, physical interference zone, axis lifespan, thermal stabilization time, and tool lifespan, performing feasibility checks before contract issuance and adjusting contract parameters as necessary. The process task parser can break down complex process tasks into the smallest execution units: atomic actions (e.g., motor axis 1, moving to point P, velocity V) and send them to the contract generator. The contract generator can read the current capability of axis 1 through the axis proxy manager; the axis proxy manager returns capability data. The intelligent servo reports its real-time status (e.g., health 80%, inertia 0.55 kg·m², temperature 65℃). The shaft generation manager determines the maximum speed limit (e.g., rated 80%) based on the 80% health level and the maximum acceleration limit (e.g., rated 70%) based on the inertia value. It determines the set error band (e.g., 0.01 mm) based on the temperature value and generates a task contract frame (containing task ID, target position, limited speed of 2400 rpm, acceleration of 7 m / s, S-curve, and error band of 0.01 mm). The shaft generation manager submits a feasibility check to the Global (Global Resource Manager). If the check passes, it sends a confirmation of no resource conflicts to the contract generator. The shaft generation manager sends the task contract frame (SDO0x21) to the intelligent servo. The intelligent servo responds with a commitment (SDO0x41). The process task parser records the commitment. When the task is completed (or each step is executed), it sends a task completion event to the control unit 11 and the upper layer to ensure system state synchronization.
[0037] As a first optional embodiment of this first embodiment, after using the maximum velocity value, maximum acceleration value, error band, and motion parameters as the task contract frame, it further includes:
[0038] Read the global resource status table, perform conflict detection on the task contract frame based on the global resource status table, and determine the conflict detection result.
[0039] In this embodiment, the global resource status table can be understood as a system-level shared resource real-time data table maintained by the control unit 11, used to uniformly record and schedule shared resources such as power capacity, physical interference zone, thermal load, shaft life, and peak power budget. The judgment conclusion output after the conflict detection result is verified by the resource includes whether a conflict exists or not.
[0040] Specifically, the control unit 11 can read the global resource status table from the configured global resource manager, including global resource data such as current total power capacity, real-time power usage, peak power budget, physical interference zone occupancy status, thermal constraints, and axis lifetime constraints. The control unit 11 can perform multi-dimensional verification based on parameters such as speed, acceleration, motion path, and power requirements in the task contract frame, combined with the global resource status table, to determine the conflict detection result.
[0041] Furthermore, the global resource status table includes power resources, constraint resources, and space resources. Accordingly, the steps for performing conflict detection on the task contract frame based on the global resource status table and determining the conflict detection results can be refined as follows:
[0042] Determine the target power consumption required to execute the task contract frame; conduct a feasibility check based on the target power consumption, power resources, and space resources, and determine the feasibility test results; determine the resource test results based on the constraint resources and the task contract frame; and use the feasibility test results and resource test results as conflict detection results.
[0043] In this embodiment, the global resource status table can be divided into three categories: power resources, constraint resources, and space resources. Power resources include total capacity, current power consumption of each axis, and peak power budget. Constraint resources include resource management such as axis lifetime, thermal stability time, and tool lifetime, with parameters configured reasonably based on resource conditions. Space resources include predefined interference zones, where only one axis is allowed to enter each interference zone at any given time. The feasibility test results characterize the feasibility check output conclusion, including the cause of conflict (power exceeding limits / interference zone occupancy). The resource test results are verification conclusions based on constraint resources: compliant / non-compliant (overheating / overlife / overheating load).
[0044] Specifically, the control unit 11 can calculate the peak power required to execute the task contract frame based on the maximum speed, maximum acceleration, and trajectory parameters in the task contract frame. It then performs a power check by combining this with the current power consumption of each axis in the power resources. If the power consumption exceeds the limit, it attempts to stagger the acceleration phase or reduce the acceleration to obtain the power detection result. By checking the predefined interference zones in the space resources to see if the contract path in the task contract frame passes through the interference zone, it obtains the space resource check result, which, together with the power detection result, serves as the feasibility detection result. Through resource management in the constraint resources, such as axis lifetime, thermal stability time, and tool lifetime, and considering the resource situation, it rationally configures parameters to obtain the resource detection result. The control unit 11 merges the feasibility detection result and the resource detection result as the conflict detection result for this task contract frame, used to determine whether issuance is permitted.
[0045] Furthermore, after performing conflict detection on the task contract frame based on the global resource status table and determining the conflict detection result, the process also includes:
[0046] If the conflict detection result indicates that the task contract frame has a conflict, it is adjusted. If there is no conflict after adjustment, the adjusted task contract frame is sent to the target intelligent servo driver 12; otherwise, the conflicting task contract frame is rejected and a rejection response is returned.
[0047] Specifically, the control unit 11 can initiate an adjustment process for conflicting task contract frames based on the conflict detection results; otherwise, it can directly send the task contract frame. The control unit 11 can perform corresponding corrections based on the conflict type: power conflict: reduce acceleration, stagger peak phase, reduce speed; spatial conflict: wait for the interference zone to release, modify the motion path; constraint conflict: extend the cycle, increase cooling, or widen the error band. The control unit 11 can re-perform global resource conflict detection on the adjusted task contract frame; if there are no conflicts after adjustment, it sends the task contract frame to the target intelligent servo driver 12; if there are still conflicts after adjustment, it rejects the sending and returns a rejection response to the upper layer.
[0048] The technical solution of this invention, by completing global resource conflict verification before task issuance, prevents dangers such as collisions, overloads, and overpowering from the source, replacing the traditional emergency stop after the fact, and significantly improving system safety.
[0049] For example, the above process can be demonstrated with a specific example. Figure 3 This is a flowchart illustrating a collision detection process in a distributed motion control system according to Embodiment 1 of the present invention. Figure 3As shown, the contract generator can send a contract request when generating a new contract task frame, read the global resource status table to obtain the current power occupancy and interference zone occupancy of the system; then perform a power check to determine whether the sum of the expected peak power of the task and the current occupied power is less than the total system capacity. If it does not meet the requirement, it will try to adjust (stagger the acceleration phase or reduce the acceleration) to optimize the parameters and return to the power check stage. If it meets the requirement, it will enter the space check; it will determine whether the motion path planned by the contract passes through the interference zone. If it does not pass through the interference zone, it will be directly judged as passing the check. If it passes through the interference zone, it will further determine whether the interference zone is currently occupied. If it is not occupied, it will perform the operation of occupying the interference zone and be judged as passing the check. If it is occupied, it will refuse to send the contract and return a rejection response; after the check passes, the global resource status table will be updated to record the power and area occupancy information of this task, and finally return the permission to send the task contract frame to the target intelligent servo driver 12 for execution.
[0050] As a second optional embodiment of this first embodiment, based on the above embodiment, the intelligent servo driver 12 is further used for:
[0051] Based on a pre-set subscription table, the system detects changes in the subscription items of the motor shaft. When a change in a subscription item is detected, the system reports the change to the control unit 11.
[0052] In this embodiment, the subscription table is a list of status monitoring items pre-configured by the user and sent to the intelligent servo drive 12. It specifies the parameters, thresholds, and trigger conditions that the servo needs to actively report. A subscription item can be understood as the axis status parameters defined in the subscription table that need to be monitored in real time, including health, temperature, inertia, tracking error, and task status. Changes can be understood as the specific values of changes in the motor shaft related to the subscription item.
[0053] Specifically, the intelligent servo drive 12 determines the subscription items to be monitored and the trigger thresholds according to the subscription table pre-set by the control unit 11. It can monitor the subscription items of the motor shaft in real time to determine whether the change trigger conditions have been met. When a valid change in the subscription item is detected, the intelligent servo drive 12 can feed back the change to the control unit 11 through the real-time industrial bus.
[0054] For example, during system initialization, the control unit 11 writes a subscription table (object dictionary 0x2203) to the servo via SDO, specifying the status changes to be reported and trigger thresholds (such as a 5% change in health or an error exceeding the limit). When the intelligent servo drive 12's sensing core detects a change in the subscription item, it broadcasts the new value via PDO event. After receiving the event, the control unit 11's event subscriber updates the corresponding axis proxy object and optionally notifies the upper layer.
[0055] For example, the above process can be demonstrated with a specific example. Figure 4 This is a flowchart illustrating a health warning request in a distributed motion control system according to Embodiment 1 of the present invention. Figure 4 As shown, the control unit 11 can send a subscription configuration SDO command to the intelligent servo drive 12, stipulating that a health change greater than 5% should be reported, and instructing the intelligent servo drive 12 to store the subscription table; the intelligent servo enters a cyclic monitoring state, continuously sensing and monitoring the health; when the intelligent servo detects that the health has dropped from 85% to 79%, and the change of 6% exceeds the preset 5% threshold, it immediately reports the event to the control unit 11 via event SDO broadcast. This event includes the source ID, the current health value of 79%, and the timestamp t1; the event subscriber of the control unit 11 receives and processes the event, synchronously updates the axis proxy attributes in the axis proxy object memory, updates the health to 79%, and synchronizes the timestamp t1, completing the proxy attribute update for ContractGen (task contract generation module) to read; when the upper-level module ContractGen initiates a status query request and reads the health of axis 1, the axis proxy object memory returns a health value of 79%, completing the entire status information interaction and query process.
[0056] Furthermore, the control unit 11 is also used for:
[0057] The system receives changes sent by the intelligent servo driver 12, determines target events based on the changes, and the event types of the target events include health warning, task-related, and renegotiation. Based on the event types of each target event, the system generates a priority event queue for the intelligent servo driver 12.
[0058] In this embodiment, a target event can be understood as an event message generated by the server based on changes in the subscription item, containing the event type, axis number, timestamp, and change data. Target event types include three categories: health warnings, task-related events, and renegotiation events. Health warnings can include events such as decreased health, excessively high temperature, overload, and low lifespan; task-related events can include events such as task start, task completion, pause, and interruption. Renegotiation events can include events such as inability to fulfill the original contract, requests to modify parameters, and insufficient capabilities. The priority event queue can be understood as an event waiting queue maintained by the kernel of control unit 11, ordered by priority, used to implement event-driven scheduling and ensure that high-priority events are responded to first.
[0059] Specifically, the control unit 11 can receive changes reported by each intelligent servo drive 12 via a real-time industrial bus. The control unit 11 generates target events based on the changes and labels them with their type: health warning, task-related, or renegotiation. The control unit 11 can assign processing priorities to different event types according to preset priority rules and insert events into a priority event queue, forming a priority-ordered event queue for sequential scheduling and execution, achieving high real-time response.
[0060] The technical solution of this invention can quickly identify anomaly types (overload, exceeding tolerances, failure to fulfill obligations, etc.) by clearly defining event categories, rapidly locating the problem axis and the cause of the fault, and shortening the diagnosis and recovery time. Different types of events are bound to dedicated callbacks and processing flows, with a one-to-one correspondence between event types and processing strategies, preventing interference from irrelevant logic and improving control accuracy and system stability. Event-driven operation eliminates idle polling, and CPU load is proportional to event frequency; the publish / subscribe synchronization mechanism significantly reduces bus communication volume. The control unit's main loop no longer performs fixed-period scanning but instead blocks and waits for the event queue. When an event arrives, it is dispatched to the registered callback function, and the CPU enters a low-power mode when idle. By setting a priority queue, high-urgency events are guaranteed to be responded to first, reducing the latency of handling critical faults.
[0061] Furthermore, the control unit 11 is also used for:
[0062] Receive the renegotiation event request sent by the intelligent servo driver 12 to be negotiated, determine the new task contract frame and send it out according to the relationship diagram and the renegotiation event request.
[0063] In this embodiment, the intelligent servo drive 12 to be negotiated can be understood as an intelligent servo drive 12 that is currently unable to fulfill the original task contract and actively initiates a parameter adjustment request to the control unit 11. For example, when the intelligent servo drive 12 predicts that it cannot fulfill the contract due to sudden load changes, excessive temperature, or other reasons, it initiates a renegotiation request through EMCY or SDO, along with suggested corrected parameters. The relationship diagram can be understood as the topology diagram of inter-axis collaborative relationships maintained internally by the control unit 11, recording inter-axis relationship constraints such as synchronization groups, electronic gears, gantry dual drives, and mechanical coupling. The new task contract frame control unit 11 recalculates and generates a revised standardized task based on the renegotiation request and relationship constraints.
[0064] Specifically, the control unit 11 can receive renegotiation event requests sent by the intelligent servo drive 12 to be negotiated, and obtain the requested axis number, original contract information, and suggested correction parameters. The control unit 11 can modify the original task contract frame based on the renegotiation event request, determine the new task contract frame, and send it to the intelligent servo drive 12 to be negotiated.
[0065] The steps of determining and issuing a new task contract frame based on the relationship diagram and renegotiation event requests can be further refined as follows:
[0066] In the relationship graph, find the associated smart servo driver 12 that is associated with the smart servo driver 12 to be negotiated, and suspend the tasks currently being executed by the smart servo driver 12 to be negotiated and the associated smart servo driver 12; generate a new task contract frame based on the adjustment parameters in the renegotiation event request, and send the new task contract frame to the smart servo driver 12 to be negotiated and the associated smart servo driver 12.
[0067] In this embodiment, the associated intelligent servo driver 12 can be understood as other intelligent servo drivers 12 that have synchronous constraints, mechanical coupling, or cooperative motion relationships with the axis to be negotiated in the association diagram. The currently executed task can be understood as the motion process corresponding to the original task contract being executed by each motor axis.
[0068] Specifically, the control unit 11 can retrieve associated axes (synchronization groups, coupled axes, and cooperative axes) with cooperative constraints to the intelligent servo drive 12 to be negotiated in the relationship graph, and then determine all associated intelligent servo drives 12 corresponding to it. The control unit 11 can control the axis to be negotiated and all associated axes to pause their current tasks and enter a waiting state to ensure synchronization consistency. The control unit 11 can generate a new task contract frame that is adapted based on the adjustment parameters in the renegotiation event request, combined with the axis real-time capability and association constraints, to maintain the synchronization relationship (such as the electronic gear ratio of the synchronization group). The control unit 11 can send the new task contract frame to the intelligent servo drive 12 to be negotiated and all associated intelligent servo drives 12 simultaneously, and start synchronously through a distributed clock.
[0069] For example, the above process can be demonstrated with a specific example. Figure 5 This is a flowchart illustrating the renegotiation process in a distributed motion control system according to Embodiment 1 of the present invention. Figure 5As shown, the right-axis servo is the intelligent servo driver 12 to be negotiated, and the left-axis servo is the associated intelligent servo driver 12. During normal synchronous execution, the axis operating conditions are monitored in real time. When a sudden load change or tracking error exceeding the limit is detected, causing the prediction to fail to fulfill the original contract, a renegotiation request is proactively reported, which includes the source ID and a suggested speed reduction ratio. The control unit 11 receives and processes the renegotiation request and determines that the left axis servo is associated with the right axis servo by querying the correlation diagram. The control unit 11 issues a command to control the left and right axis servos to pause the current task to prevent the two axes from losing synchronization. Based on the renegotiation request and the inter-axis correlation constraints, the control unit 11 generates a new contract for the left and right axis servos, forcibly maintaining the electronic gear ratio of the two axes at 1:1, and uniformly reducing the speed of the two axes. The control unit 11 synchronously sends the new contract frame to the left and right axis servos. The left and right servos synchronize and restore quality according to the event stamp t_sync issued by the control unit 11 and resume execution of the new contract at the same time. The two axes operate collaboratively according to the reduced parameters. After the task is completed, the left and right servos report the task completion event to the control unit 11 respectively, completing the process loop.
[0070] The technical solution of this invention triggers contract renegotiation when a single axis cannot complete the task, automatically identifies the associated axis and synchronously adjusts the task parameters. The contract renegotiation mechanism allows the system to dynamically adjust under disturbances, maintain multi-axis synchronization, reduce downtime, and improve system continuity and robustness.
[0071] The distributed motion control system provided in the embodiments of the present invention can execute the distributed motion control method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.
[0072] Example 2
[0073] Figure 6 This is a flowchart of a distributed motion control method provided in Embodiment 2 of the present invention. This embodiment is applicable to personalized control situations in distributed motion mechanism control systems. The method can be executed by a distributed motion control system, which includes a control unit and at least one intelligent servo driver. The control unit is connected to each intelligent servo driver, and each intelligent servo driver controls one motor axis, such as... Figure 6 As shown, the method includes:
[0074] S110: The intelligent servo driver senses changes in the shaft capability of the motor shaft, generates shaft capability data, and reports it to the control unit in the form of an event.
[0075] S120. When an atomic motion sequence is generated, the atomic motion sequence includes the target motor shaft and motion parameters. The control unit reads the target shaft capability data of the target motor shaft and combines it with the motion parameters to generate a task contract frame and send it to the target intelligent servo drive.
[0076] S130: Control the target motor shaft according to the contract parameters in the task contract frame using an intelligent servo driver.
[0077] The technical solution of this invention includes a system comprising: a control unit and at least one intelligent servo driver. The control unit is connected to each intelligent servo driver, and each intelligent servo driver controls one motor axis. The intelligent servo driver senses changes in the axis capability of the motor axis, generates axis capability data, and reports it to the control unit in the form of events. When the control unit generates an atomic action sequence, which includes a target motor axis and action parameters, it reads the target axis capability data of the target motor axis and combines it with the action parameters to generate a task contract frame and sends it to the target intelligent servo driver. The intelligent servo driver controls the target motor axis according to the contract parameters in the task contract frame. By generating personalized task contracts based on the real-time capability of each intelligent servo driver, overload is avoided, equipment lifespan is extended, the periodic polling method is changed, and event-driven operation eliminates idle polling, with load proportional to event frequency.
[0078] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this invention can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this invention can be achieved, and this is not limited herein.
[0079] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.
Claims
1. A distributed motion control system, characterized by, The system includes: a control unit and at least one intelligent servo driver, wherein the control unit is connected to each of the intelligent servo drivers, and each intelligent servo driver controls one motor shaft. The intelligent servo driver is used to sense changes in the shaft capability of the motor shaft, generate shaft capability data, and report it to the control unit in the form of events. The control unit is configured to, when generating an atomic action sequence, which includes a target motor shaft and action parameters, read the target shaft capability data of the target motor shaft and combine it with the action parameters to generate a task contract frame and send it to the target intelligent servo driver. The intelligent servo driver is used to control the target motor shaft according to the contract parameters in the task contract frame.
2. The system of claim 1, wherein, The step of reading the target axis capability data of the target motor axis and combining it with the motion parameters to generate a task contract frame and send it to the target intelligent servo drive includes: Read the current target axis capability data from the axis proxy cache that matches the target motor axis. The target axis capability data includes health value, inertia value and temperature value. Based on the health status value, determine the maximum speed value of the target motor shaft; Based on the inertia value, determine the maximum acceleration value and jerk value of the target motor shaft; Based on the temperature value, the error band of the target motor shaft is determined; The maximum velocity value, the maximum acceleration value, the jerk value, the error band, and the motion parameters are used as the task contract frame; The task contract frame is sent to the target intelligent servo driver.
3. The system according to claim 2, characterized in that, After setting the maximum velocity value, the maximum acceleration value, the error band, and the motion parameters as the task contract frame, the method further includes: Read the global resource status table, perform conflict detection on the task contract frame based on the global resource status table, and determine the conflict detection result.
4. The system according to claim 3, characterized in that, The global resource status table includes power resources, constraint resources, and space resources. Correspondingly, the step of performing conflict detection on the task contract frame based on the global resource status table and determining the conflict detection result includes: Determine the target power consumption required to execute the task contract frame; A feasibility check is performed based on the target power consumption, the power resources, and the space resources to determine the feasibility test results. Based on the constrained resources and the task contract frame, determine the resource detection result; The feasibility test results and the resource test results are used as conflict detection results.
5. The system according to claim 3, characterized in that, After performing conflict detection on the task contract frame based on the global resource status table and determining the conflict detection result, the method further includes: The task contract frame that is found to have a conflict is adjusted. If there is no conflict after adjustment, the adjusted task contract frame is sent to the target intelligent servo driver. Otherwise, refuse to issue conflicting task contract frames and return a rejection response.
6. The system according to claim 1, characterized in that, The intelligent servo driver is also used for: The system detects changes in the subscription items of the motor shaft based on a pre-set subscription table. When a change in a subscription item is detected, the system reports the change to the control unit.
7. The system according to claim 6, characterized in that, The control unit is also used for: The system receives changes sent by the intelligent servo driver and determines a target event based on the changes. The event types of the target event include health warning, task-related, and renegotiation. Based on the event type of each target event, a priority event queue is generated for the intelligent servo driver.
8. The system according to claim 7, characterized in that, The control unit is also used for: Receive a renegotiation event request sent by the intelligent servo driver to be negotiated, determine a new task contract frame based on the relationship diagram and the renegotiation event request, and send it out.
9. The system according to claim 8, characterized in that, The step of determining and issuing a new task contract frame based on the relationship diagram and the renegotiation event request includes: In the relationship graph, find the associated smart servo driver that is associated with the smart servo driver to be negotiated, and pause the tasks currently being executed by the smart servo driver to be negotiated and the associated smart servo driver; A new task contract frame is generated based on the adjustment parameters in the renegotiation event request, and the new task contract frame is sent to the smart servo driver to be negotiated and the associated smart servo driver.
10. A distributed motion control method, characterized in that, An application is made in a distributed motion control system, the system comprising a control unit and at least one intelligent servo drive, the control unit being connected to each of the intelligent servo drives, each of the intelligent servo drives controlling a motor axis, the method comprising: The intelligent servo driver senses changes in the shaft capability of the motor shaft, generates shaft capability data, and reports it to the control unit in the form of events. When an atomic action sequence is generated, the atomic action sequence includes a target motor shaft and action parameters. The control unit reads the target shaft capability data of the target motor shaft and combines it with the action parameters to generate a task contract frame and send it to the target intelligent servo driver. The intelligent servo driver controls the target motor shaft according to the contract parameters in the task contract frame.