A method and system for dynamic distribution of multi-spindle machining tasks

By acquiring spindle operating status data, filtering overloaded spindles and candidate replacement spindles, matching task process requirements with load-bearing capacity, generating and adjusting task allocation relationships, the problems of load balancing and task transfer in multi-spindle machining systems are solved, improving machining stability and equipment lifespan.

CN122155325APending Publication Date: 2026-06-05DONGGUAN ZHIYUAN CNC EQUIP MFG CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
DONGGUAN ZHIYUAN CNC EQUIP MFG CO LTD
Filing Date
2026-05-07
Publication Date
2026-06-05

Smart Images

  • Figure CN122155325A_ABST
    Figure CN122155325A_ABST
Patent Text Reader

Abstract

The application belongs to the technical field of process control, and particularly relates to a multi-spindle machining task dynamic distribution method and system, which comprises the following steps: obtaining running state data of each spindle, determining a load parameter and a fatigue risk parameter; determining an overloaded spindle and a candidate replacement spindle according to the load parameter and the fatigue risk parameter; screening a target task meeting a process switching condition, matching a process requirement parameter with a carrying capacity parameter, and generating a task distribution relationship; determining a load balance index according to the task distribution relationship and completing adjustment; and determining a target spindle according to the target task distribution relationship and executing task distribution. The application can take into account the spindle load state, fatigue risk and task completion time limit, and improve the rationality of task distribution and the stability of system operation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of process control technology, specifically a method and system for dynamic allocation of multi-spindle machining tasks. Background Technology

[0002] As high-end manufacturing equipment develops towards parallel collaboration among multiple execution units, the task organization method among multiple spindles has become a crucial factor affecting machining cycle time, equipment utilization, machining stability, and maintenance costs. For continuous production and batch manufacturing systems, maintaining a reasonable load distribution among spindles not only helps shorten task waiting time but also reduces the risks of thermal drift, vibration accumulation, and accuracy fluctuations caused by long-term heavy-load operation of local spindles. Therefore, relevant control strategies have a direct impact on production quality and equipment lifespan.

[0003] In existing technologies, task organization typically relies heavily on preset rules, static sequences, or fixed priorities for assignment. While this can accomplish basic machining scheduling, it doesn't adequately reflect real-time changes in spindle status, cumulative load differences, and subsequent load-bearing capacity. When some spindles experience sustained high loads, excessive temperature rise, or accelerated fatigue accumulation, existing solutions often struggle to identify and make timely adjustments. Furthermore, there's a lack of refined judgment mechanisms that match the spindle's load-bearing capacity for tasks at different process stages and switching windows. This can easily lead to problems such as unreasonable task transfer timing, inaccurate selection of replacement spindles, continued load imbalance after redistribution, and difficulty in meeting the completion deadlines of high-priority tasks, ultimately affecting overall operational continuity and control accuracy. Summary of the Invention

[0004] To address the above issues, this application provides a method and system for dynamic allocation of multi-spindle machining tasks, which at least solves the problem of how to balance the real-time load status of the spindle, fatigue risk, and task process requirements during multi-spindle machining to form an executable and load-balanced task allocation result.

[0005] To achieve the above objectives, the technical solution adopted in this application is as follows: In a first aspect, this application provides a method for dynamically allocating multi-spindle machining tasks, the method comprising: Acquire the operating status data of each spindle, and determine the load parameters and fatigue risk parameters of each spindle based on the operating status data; Determine the overload spindle and candidate replacement spindle based on load parameters and fatigue risk parameters; Select target tasks that meet the process switching conditions from the tasks to be executed corresponding to the overloaded spindle, and match the process requirement parameters of the target tasks with the load capacity parameters of each candidate replacement spindle to generate a task allocation relationship. The load balancing index is determined based on the task allocation relationship. If the load balancing index meets the preset conditions, the task allocation relationship is determined as the target task allocation relationship. If the load balancing index does not meet the preset conditions, the task allocation relationship is adjusted to obtain the target task allocation relationship. The target axis is determined based on the target task allocation relationship, and the target tasks are assigned to the target axis for execution.

[0006] In one possible implementation, the operating status data of each spindle is acquired, including: collecting the rotational speed data, temperature data, vibration data, and ambient temperature data of each spindle within a preset status window according to a unified time reference; identifying the start-stop stage and no-load stage corresponding to each spindle based on the rotational speed data, and removing the data corresponding to the start-stop stage and no-load stage; correcting the remaining temperature data based on the ambient temperature data, and generating the operating status data corresponding to each spindle.

[0007] In one possible implementation, the load parameters and fatigue risk parameters of each spindle are determined based on the operating status data, including: determining the peak load and load duration of each spindle based on the operating status data as load parameters; and determining fatigue risk parameters based on the load parameters and the historical operating duration of each spindle.

[0008] In one possible implementation, determining the overload spindle and candidate replacement spindle based on load parameters and fatigue risk parameters includes: identifying spindles with load parameters higher than a first load threshold or fatigue risk parameters higher than a first risk threshold as overload spindles; and identifying spindles with load parameters lower than a second load threshold and fatigue risk parameters lower than a second risk threshold as candidate replacement spindles.

[0009] In one possible implementation, target tasks that meet the process switching conditions are selected from the tasks to be executed corresponding to the overload spindle, and the process requirement parameters of the target tasks are matched with the load capacity parameters of each candidate replacement spindle. This includes: selecting tasks that are in a state of waiting to start, process switching, or batch switching of similar workpieces from the tasks to be executed corresponding to the overload spindle as target tasks; obtaining parameters that characterize the machining accuracy requirements, cutting load requirements, and expected machining time of the target tasks as process requirement parameters; and obtaining parameters that characterize the machining accuracy retention capability, thermal stability capability, and continuous load capacity of each candidate replacement spindle as load capacity parameters.

[0010] In one possible implementation, the process requirement parameters of the target task are matched with the load-bearing capacity parameters of each candidate replacement spindle to generate a task allocation relationship. This includes: determining the process matching degree of each candidate replacement spindle to the target task based on the matching results of the load-bearing capacity parameters and process requirement parameters; sorting the candidate replacement spindles according to their process matching degree; determining the candidate replacement spindle that meets the process requirement parameters and has the highest process matching degree as the target spindle; and establishing a task allocation relationship between the target task and the target spindle.

[0011] In one possible implementation, load balancing indicators are determined based on task allocation relationships, including: determining load balancing indicators based on the expected load distribution of each spindle within a preset scheduling period and the task priority of the target task. The load balancing indicators are used to characterize the load differences between each spindle and the completion time of the target task.

[0012] In one possible implementation, when the load balancing index does not meet the preset conditions, the task allocation relationship is adjusted to obtain the target task allocation relationship, including: adjusting the start time of the target task; redetermining the candidate replacement axis corresponding to the target task based on the adjusted start time; regenerating the task allocation relationship based on the adjusted start time and the redetermined candidate replacement axis; and determining the regenerated task allocation relationship as the target task allocation relationship.

[0013] In one possible implementation, the method of this application further includes: after determining the target spindle according to the target task allocation relationship and assigning the target task to the target spindle for execution, obtaining the post-execution running status data of the target spindle; and updating the load parameters and fatigue risk parameters of the target spindle according to the post-execution running status data.

[0014] Secondly, this application provides a multi-spindle machining task dynamic allocation system for implementing a multi-spindle machining task dynamic allocation method. The system includes: The status analysis module is used to acquire the operating status data of each spindle and determine the load parameters and fatigue risk parameters of each spindle based on the operating status data. The spindle screening module is used to determine the overloaded spindle and candidate replacement spindle based on load parameters and fatigue risk parameters; The task matching module is used to filter target tasks that meet the process switching conditions from the tasks to be executed corresponding to the overloaded spindle, and match the process requirement parameters of the target tasks with the load capacity parameters of each candidate replacement spindle to generate task allocation relationships. The load balancing adjustment module is used to determine the load balancing index based on the task allocation relationship. When the load balancing index meets the preset conditions, the task allocation relationship is determined as the target task allocation relationship. When the load balancing index does not meet the preset conditions, the task allocation relationship is adjusted to obtain the target task allocation relationship. The execution allocation module is used to determine the target spindle based on the target task allocation relationship and to allocate the target tasks to the target spindle for execution.

[0015] Compared with existing technologies, the advantages and beneficial effects of this application are as follows: By acquiring spindle operating status data and determining load parameters and fatigue risk parameters, the current load level and continuous operating risk of the spindle are synchronously characterized, providing a consistent data foundation for subsequent scheduling.

[0016] By distinguishing between overloaded spindles and candidate replacement spindles based on load parameters and fatigue risk parameters, the system achieves targeted identification of task transfer targets, thus avoiding the reassignment of new tasks to high-risk spindles.

[0017] By selecting target tasks that meet the process switching conditions from the tasks to be executed, and matching the process requirement parameters with the load-bearing capacity parameters, the timing of task switching and the main bearing connection conditions are simultaneously constrained, making the task transfer results closer to the actual execution boundary.

[0018] By determining the load balancing index based on the task allocation relationship and adjusting the task allocation relationship when the preset conditions are not met, the joint verification of load differences and completion time limits is realized, which can reduce the problem of imbalance after redistribution.

[0019] By determining the target axis based on the target task allocation relationship and executing task allocation, a complete closed-loop control from state recognition, object selection, relationship generation to execution is achieved.

[0020] By continuously updating the basic spindle status data after execution, the allocation results are continuously fed back to subsequent scheduling, which helps maintain the continuity, stability and consistency of the multi-spindle system operation. Attached Figure Description

[0021] Figure 1 This is a flowchart illustrating the method described in this application; Figure 2 This is a block diagram of the module composition of the system in this application. Detailed Implementation

[0022] To enable those skilled in the art to better understand the technical solution, the present application will be described in detail below with reference to the embodiments. The description in this section is only exemplary and explanatory, and should not be used to limit the scope of protection of the present application in any way.

[0023] In process control technology, dynamic task allocation mainly refers to a control method that adjusts the task recipients, execution sequence, and allocation relationships in real time in response to changes in the state, task constraints, and execution capabilities of the machining unit during operation. This type of technology is not limited to static task arrangement but emphasizes continuous correction of task allocation results based on state information during operation, ensuring that the task allocation process remains consistent with the equipment state evolution. For multi-spindle machining systems, dynamic task allocation involves not only the transfer of tasks between different spindles but also the coordination between the current load state of the spindle, its subsequent carrying capacity, and task switching conditions. Based on this, this application proposes a dynamic task allocation method for multi-spindle machining. This method involves jointly analyzing the spindle operating state, load level, fatigue risk, and task process requirements to form an executable task allocation relationship, which is then dynamically corrected based on load balancing results.

[0024] like Figure 1 As shown, a method for dynamic allocation of multi-spindle machining tasks includes: Acquire the operating status data of each spindle, and determine the load parameters and fatigue risk parameters of each spindle based on the operating status data; In this embodiment, a continuously updated set of operating status data is first established for each spindle. The control device receives the operating information of each spindle during the current processing period according to a preset sampling period, aligns the multi-source data at the same sampling time, and eliminates deviations caused by idling, start-stop, and environmental disturbances in combination with the current processing conditions to obtain operating status data that can be directly used for status analysis. Subsequently, using the operating status data as input, the peak load and load duration, which reflect the current load level, are extracted, and fatigue risk parameters are determined by combining them with the cumulative running time of each spindle. The load parameters are used to characterize the load level of the spindle in the current period, and the fatigue risk parameters are used to characterize the risk level of the spindle continuing to undertake processing tasks. Both serve as the basis for subsequent screening of overloaded spindles and candidate replacement spindles.

[0025] The system acquires the operating status data of each spindle, including: collecting the spindle speed data, temperature data, vibration data, and ambient temperature data within a preset status window according to a unified time reference; identifying the start-stop stage and no-load stage corresponding to each spindle based on the speed data, and removing the data corresponding to the start-stop stage and no-load stage; correcting the remaining temperature data based on the ambient temperature data, and generating the operating status data corresponding to each spindle.

[0026] In one embodiment, the process of acquiring operational status data is further defined. The control device establishes a unified time reference on the acquisition channel corresponding to each spindle and synchronously acquires rotational speed data, temperature data, vibration data, and ambient temperature data within a preset status window. The unified time reference ensures that data uploaded from different acquisition channels correspond on the same time axis, avoiding data from different sampling times from directly participating in subsequent analysis and causing distortion in status judgment. The preset status window defines the time range covered by a single operational status analysis. The preset status window can be set according to a fixed sampling duration or according to a local operating interval within a processing step, a feed interval, or a scheduling cycle. As long as the data within the same preset status window can fully reflect the operational changes of the spindle within that time range, the usage requirements of this embodiment are met. Rotational speed data characterizes the current rotational state of the spindle, temperature data characterizes the thermal changes of the spindle body and adjacent parts, vibration data characterizes the stability of the spindle during operation, and ambient temperature data characterizes the impact of changes in the external thermal environment on the temperature measurement results.

[0027] After completing multi-source data acquisition, the control equipment identifies the start-stop and no-load phases for each spindle based on the rotational speed data. The start-stop phase refers to the transition from a stationary state to rotation or vice versa. During this phase, the rotational speed fluctuates significantly, and the vibration and temperature responses exhibit clear transitional characteristics, making it unsuitable as a direct input for stable machining. The no-load phase refers to the operating phase where the spindle is rotating but not performing actual cutting. Although rotational speed and some vibration signals are present, the corresponding load characteristics differ significantly from those of the cutting phase. During identification, the data intervals before the rotational speed reaches a stable range and the intervals where the rotational speed drops from the stable range to zero are defined as start-stop phases; the data intervals where the rotational speed remains stable but the feed signal is off, the cutting enable is off, or the cutting load characteristics are missing are defined as no-load phases. For the identified start-stop and no-load phases, the rotational speed, temperature, and vibration data within the corresponding time intervals are not included in the subsequent operating state data set. After phase elimination, the remaining temperature data is corrected based on ambient temperature data. During correction, the correlation between the ambient temperature change range and the temperature data change range within the current preset state window is compared first. When the ambient temperature change has a significant impact on the temperature data, the corresponding part of the ambient temperature disturbance is subtracted from the temperature data to obtain a correction result that is closer to the thermal state of the spindle itself. After correction, the retained speed data, corrected temperature data, corresponding vibration data, and ambient temperature data are combined in a unified time sequence to generate the operating status data corresponding to each spindle. The operating status data is then written to the status buffer for subsequent use in the determination of load parameters and fatigue risk parameters.

[0028] The load parameters and fatigue risk parameters of each spindle are determined based on the operating status data, including: determining the peak load and load duration of each spindle based on the operating status data as load parameters; and determining fatigue risk parameters based on the load parameters and the historical operating time of each spindle.

[0029] In one embodiment, this stage further defines the determination method of load parameters and fatigue risk parameters, as well as the usage boundaries of these two types of parameters in the process. After the operating status data is formed, a status sequence is first established for each spindle, with each spindle corresponding to a continuously updated status sequence, and each status sequence consisting of multiple status windows. For any spindle, high-load windows are first identified in the status sequence. The identification of high-load windows can be based on the combined characteristics of the speed decrease, vibration increase, and temperature rise rate, or it can be based on the current processing segment category recorded in the machining program for auxiliary judgment. If a certain status window simultaneously exhibits increased speed load, continuous temperature rise, or intensified vibration fluctuation, then the status window is determined as a load window; if multiple consecutive load windows appear adjacently, then this continuous interval is determined as the load duration interval. Subsequently, the maximum load level of the spindle within the current statistical period is extracted from all load duration intervals as the load peak value, and the duration of the interval corresponding to the maximum load level or the interval higher than the preset load baseline is statistically analyzed as the load duration. The statistical period here can be set according to the scheduling cycle, for example, a task allocation cycle, a process cycle, or a fixed time period within a shift. As long as the load parameters within the same statistical period can reflect the actual load condition of the spindle in the near future, they can be used in this embodiment.

[0030] Fatigue risk parameters are not directly based on instantaneous values, but are determined comprehensively based on load parameters and historical running time. Historical running time includes the cumulative running time of the spindle, which can be further divided into cumulative cutting time and cumulative idling time. In this embodiment, to ensure that the risk assessment is consistent with the actual wear situation, the cumulative cutting time is used as the primary basis, and the cumulative idling time is used as a secondary basis. In specific processing, the current load state of the spindle is first classified according to the load peak and load duration, and then the remaining margin for the spindle to continue to undertake the task is determined in combination with the historical running time. When the historical running time of the spindle is long, and the load peak and load duration in the current statistical period are high, the fatigue risk parameter is determined to be at a high level; when the historical running time of the spindle is short, and the load peak and load duration in the current statistical period are both at a low level, the fatigue risk parameter is determined to be at a low level. To avoid misjudgment caused by short-term abnormal fluctuations, a continuous confirmation mechanism can also be added, that is, only when the fatigue risk parameter continues to rise or remains at a high level for several adjacent statistical periods is the spindle determined to have entered a high-risk state. If a status window experiences sampling gaps, sensor disconnections, or abnormal jumps, new fatigue risk parameters are not directly output. Instead, the parameter results from the previous valid statistical period are used, and the current status of the spindle is marked as pending review. After this processing, the load parameter characterizes the current load level of the spindle, and the fatigue risk parameter characterizes the continued load risk of the spindle based on its existing operating history. Together, they form the input basis for subsequent spindle selection and dynamic task allocation.

[0031] Determine the overload spindle and candidate replacement spindle based on load parameters and fatigue risk parameters; In this embodiment, after obtaining the load parameters and fatigue risk parameters corresponding to each spindle, a classification judgment is performed on all spindles. The control device reads the parameter results of each spindle sequentially according to the current scheduling cycle and compares the parameter results of each spindle with the overload judgment condition and the replacement judgment condition. If the load parameter of a spindle is higher than the first load threshold, or the fatigue risk parameter is higher than the first risk threshold, then the spindle is identified as an overload spindle. If the load parameter of a spindle is lower than the second load threshold, and the fatigue risk parameter is lower than the second risk threshold, then the spindle is identified as a candidate replacement spindle. Spindles that do not meet the above two conditions maintain their current scheduling state and do not participate in the task transfer in this round. After completing the classification of all spindles, the overload spindle set and the candidate replacement spindle set are output as the input basis for subsequent target task screening and task allocation matching.

[0032] Determining overloaded spindles and candidate replacement spindles based on load parameters and fatigue risk parameters includes: identifying spindles with load parameters higher than a first load threshold or fatigue risk parameters higher than a first risk threshold as overloaded spindles; and identifying spindles with load parameters lower than a second load threshold and fatigue risk parameters lower than a second risk threshold as candidate replacement spindles.

[0033] In one embodiment, the rules for determining overloaded spindles and candidate replacement spindles, the threshold setting method, and the anomaly handling method are further defined to ensure that the spindle classification results are consistent with the actual machining state. A first load threshold is used to distinguish high-load operating states, a second load threshold is used to distinguish replaceable operating states, a first risk threshold is used to distinguish high fatigue risk states, and a second risk threshold is used to distinguish low fatigue risk states. To avoid frequent back-and-forth switching of the same spindle within adjacent scheduling cycles, the first load threshold is higher than the second load threshold, and the first risk threshold is higher than the second risk threshold, thus maintaining a stable buffer zone between the overload determination interval and the replacement determination interval. The threshold settings can be determined by combining the equipment model, rated speed, rated load, allowable temperature rise range, vibration baseline range, and historical machining samples. For equipment that processes similar workpieces over a long period, a commonly used load range can also be calculated based on stable production data over a recent period, and the upper and lower boundaries of this range can be used as the basis for setting the first and second load thresholds, respectively. The risk threshold should be set with priority consideration to the distribution of the spindle's cumulative running time, continuous high-load running time, and recent vibration anomalies. When a certain type of spindle has shown a significant fatigue accumulation trend in historical maintenance records, the corresponding risk threshold can be set more strictly.

[0034] In actual judgment, the overload spindle is judged first, followed by the candidate replacement spindle. This order is used because the overload spindle is responsible for identifying the object to be released from its burden. If either the load parameter or the fatigue risk parameter reaches a high-risk level, the spindle is considered unsuitable for handling new tasks; therefore, the rule of "judging if either condition is met" is adopted. The candidate replacement spindle is responsible for identifying the object to take over subsequent tasks. It requires not only a low current load level but also a low level of fatigue accumulation; therefore, the rule of "judging only if both conditions are met" is adopted. If a spindle's load parameter is below the second load threshold, but its fatigue risk parameter is above the second risk threshold, the spindle is not included in the candidate replacement spindle set but remains under observation. If a spindle's load parameter is above the first load threshold, but its fatigue risk parameter has not yet reached the first risk threshold, the spindle is still included in the overload spindle set because the current high load condition may already affect the stability of subsequent machining. In cases of missing samples, short-term sensor distortion, or sudden parameter jumps, a new main axis classification result is not directly output. Instead, the valid classification from the previous scheduling cycle is temporarily used, and the current main axis is marked as pending review. Main axes in the pending review state do not enter the overloaded main axis set or the candidate replacement main axis set until complete and valid data is obtained in the next scheduling cycle for re-determination.

[0035] By using the above methods, we can ensure that the set of overloaded spindles truly corresponds to the spindles that need to be deloaded first, and that the set of candidate replacement spindles truly corresponds to the spindles that have the conditions to take on the task, thus providing input results with clear boundaries and definite sources for subsequent target task selection and matching allocation.

[0036] Select target tasks that meet the process switching conditions from the tasks to be executed corresponding to the overloaded spindle, and match the process requirement parameters of the target tasks with the load capacity parameters of each candidate replacement spindle to generate a task allocation relationship. In this embodiment, after determining the overloaded spindle and candidate replacement spindles, a task allocation relationship is further established around the tasks to be executed corresponding to the overloaded spindle. The control device first reads the task queue corresponding to each overloaded spindle, filters the target tasks that meet the process switching conditions, and then extracts the process requirement parameters corresponding to the target tasks, while simultaneously extracting the load-bearing capacity parameters corresponding to each candidate replacement spindle. Subsequently, the process requirement parameters of the same target task are compared one by one with the load-bearing capacity parameters of each candidate replacement spindle to determine the target spindle that can undertake the target task, and a task allocation relationship is established between the target task and the target spindle. The task allocation relationship includes at least the target task identifier, the original spindle identifier, the target spindle identifier, and the switching time point, which are used to enter the subsequent load balancing judgment and task adjustment process.

[0037] From the tasks to be executed corresponding to the overload spindle, target tasks that meet the process switching conditions are selected, and the process requirement parameters of the target tasks are matched with the load capacity parameters of each candidate replacement spindle. This includes: selecting tasks that are in the ready-to-start state, process switching state, or batch switching state of the same type of workpiece from the tasks to be executed corresponding to the overload spindle as target tasks; obtaining parameters to characterize the machining accuracy requirements, cutting load requirements, and expected machining time of the target tasks as process requirement parameters; and obtaining parameters to characterize the machining accuracy retention capability, thermal stability capability, and continuous load capacity of each candidate replacement spindle as load capacity parameters.

[0038] In one embodiment, this stage further defines the screening range of target tasks, the determination method of process switching conditions, and the extraction process of process requirement parameters and load capacity parameters, so that tasks entering the matching process have a practical basis for switching. After the overloaded spindle is determined, the control device first reads the queue of tasks to be executed corresponding to the overloaded spindle. The task queue records at least the task identifier, process number, current status, batch number, estimated start time, and estimated end time. Based on this information, it is determined whether each task to be executed meets the process switching conditions. The pending start status means that the task has entered the queue of tasks to be executed, but the tool feed and cutting action have not yet started. Such tasks have not occupied the actual machining process and can be directly switched to other spindles.

[0039] The process switching status refers to a situation where the previous machining operation of the current task has been completed, but the next machining operation has not yet started. The task is in the process connection window, and switching the spindle within this window will not disrupt the integrity of the current process. The same-workpiece batch switching status refers to a situation where the current batch is about to end or the next batch has not yet started, and the subsequent tasks to be executed belong to the same type of workpiece as the current task, with the machining path, accuracy requirements, and cutting load belonging to the same process category. In this case, it is allowed to reselect the receiving spindle at the batch boundary. Tasks that have entered the continuous cutting stage but have not yet reached the process connection window are not included in this round of screening. Tasks that, although in the execution queue, have already completed tool pre-occupancy, fixture locking, or station locking are also temporarily excluded from this round of screening. The reason for this is that although these tasks are still formally considered to be pending tasks, from the perspective of on-site execution, they no longer meet the conditions for direct switching. If they are still included in the screening, it will lead to inconsistencies between the task allocation relationship and the actual equipment status. After completing the target task screening, process requirement parameters are further extracted.

[0040] Process requirement parameters characterize the actual machining requirements of the target task on the receiving spindle, including at least machining accuracy requirements, cutting load requirements, and estimated machining time. Machining accuracy requirements can be determined based on dimensional tolerances, geometric tolerances, surface quality grades, or process machining accuracy grades in the process documents. Cutting load requirements can be determined based on the combination of workpiece material, tool type, depth of cut, feed rate, and spindle speed. Estimated machining time can be determined based on process planning time, CNC program estimation results, or historical records of similar tasks. Simultaneously, load-bearing capacity parameters are extracted for each candidate replacement spindle. Load-bearing capacity parameters characterize the actual capacity of the candidate replacement spindle to handle the target task, including at least machining accuracy maintenance capability, thermal stability capability, and continuous load-bearing capacity. Machining accuracy maintenance capability can be determined based on recent machining error statistics, repeatability results, or pass rate records for similar workpieces. Thermal stability capability can be determined based on recent spindle temperature rise range, temperature fluctuation amplitude, and thermal drift compensation records. Continuous load-bearing capacity can be determined based on recent continuous spindle operating time, continuous high-load machining records, and number of abnormal downtimes. After completing the above processing, each target task corresponds to a set of process requirement parameters, and each candidate replacement spindle corresponds to a set of load-bearing capacity parameters, thus forming the basic data for subsequent parameter matching.

[0041] The process requirement parameters of the target task are matched with the load capacity parameters of each candidate replacement spindle to generate a task allocation relationship. This includes: determining the process matching degree of each candidate replacement spindle to the target task based on the matching results of the load capacity parameters and process requirement parameters; sorting each candidate replacement spindle according to the process matching degree; determining the candidate replacement spindle that meets the process requirement parameters and has the highest process matching degree as the target spindle, and establishing a task allocation relationship between the target task and the target spindle.

[0042] In one embodiment, this stage further defines the generation method, matching order, and conflict handling rules for task allocation relationships, enabling the generation results to be directly used for subsequent scheduling. For any target task, the control device sequentially reads the process requirement parameters of the target task and compares them one by one with the load-bearing capacity parameters of each candidate replacement spindle. The comparison is performed in the order of machining accuracy requirements, cutting load requirements, and expected machining time. First, it is determined whether the machining accuracy maintenance capability of the candidate replacement spindle meets the machining accuracy requirements of the target task. If it does not meet the requirements, the matching process of the candidate replacement spindle with the current target task is terminated directly. If it does meet the requirements, it is then determined whether the thermal stability capability can cover the continuous operation requirements within the expected machining time. If the thermal stability capability is insufficient, the subsequent determination is not performed. Only when both of the above two conditions are met is it further determined whether the continuous load-bearing capacity can cover the cutting load requirements of the target task. Through this sequence, candidate replacement spindles with insufficient accuracy capability or too narrow thermal stability boundaries can be excluded first, avoiding the subsequent cutting load determination being based on spindles that are not suitable for the task.

[0043] For candidate replacement spindles that simultaneously meet all three requirements, the degree of process matching between the candidate replacement spindle and the target task is further determined. The degree of process matching indicates the suitability of the candidate replacement spindle for the target task and can be categorized according to parameter satisfaction margins. If a candidate replacement spindle significantly exceeds the target task requirements in terms of machining accuracy maintenance, thermal stability, and continuous load capacity, its degree of process matching is determined to be high. If it only just meets the target task requirements, its degree of process matching is determined to be average. If any capability is close to the task requirement boundary, it is not considered a priority candidate. After completing the matching process for all candidate replacement spindles, they are sorted according to their degree of process matching, and the candidate replacement spindle with the highest degree of process matching that meets the stated process requirements is determined as the target spindle. If multiple candidate replacement spindles have the same degree of process matching, the candidate replacement spindle with the lower current load, earlier expected availability, or lower conversion cost to the original workstation of the target task is prioritized. If none of the candidate replacement spindles can meet the process requirements of the target task, the current target task will maintain its original scheduling state in this round of processing, without generating a new task allocation relationship, and the task will be marked as a subsequent review task.

[0044] After the task allocation relationship is generated, at least the target task identifier, overload spindle identifier, target spindle identifier, matching completion time, and parameter comparison results should be recorded. This processing ensures that each task allocation relationship clearly indicates which target task was transferred from which overload spindle to which target spindle, as well as the parameter basis for the allocation result. This provides direct input for determining subsequent load balancing indicators and adjusting task allocation relationships.

[0045] The load balancing index is determined based on the task allocation relationship. If the load balancing index meets the preset conditions, the task allocation relationship is determined as the target task allocation relationship. If the load balancing index does not meet the preset conditions, the task allocation relationship is adjusted to obtain the target task allocation relationship. In this embodiment, after the task allocation relationship is formed, it is further determined whether the current allocation result meets the actual scheduling requirements based on the task allocation relationship. The control device determines the load balancing index based on the expected load distribution of each spindle within the preset scheduling period and the task priority of the target task, and determines whether the current task allocation relationship can simultaneously meet the spindle load difference constraint and the target task completion time constraint based on the load balancing index. If the load balancing index meets the preset conditions, the current task allocation relationship is directly determined as the target task allocation relationship. If the load balancing index does not meet the preset conditions, the current task allocation relationship is adjusted, including adjusting the start time of the target task, re-determining the candidate replacement spindle that can take over the target task, and regenerating the task allocation relationship based on the adjustment result, until a target task allocation relationship that meets the scheduling requirements is obtained.

[0046] The load balancing index is determined based on the task allocation relationship, including: determining the load balancing index based on the expected load distribution of each spindle within the preset scheduling cycle and the task priority of the target task. The load balancing index is used to characterize the load difference between each spindle and the completion time of the target task.

[0047] In one embodiment, this stage further defines the method for determining the load balancing index, the basis for setting the preset conditions, and the usage boundaries of the load balancing index in the process, so that the load balancing judgment result can truly reflect whether the current task allocation relationship is suitable for continued execution. After the task allocation relationship is generated, the control device first reads all the expected processing tasks of the spindles in the current scheduling cycle, and constructs the expected load distribution of each spindle in the preset scheduling cycle based on the already determined receiving spindle, expected start time, and expected processing duration of each task.

[0048] The projected load distribution indicates the number of machining tasks, task duration, and load concentration that each spindle will undertake within the current scheduling cycle. The preset scheduling cycle can be set according to the equipment's production organization method; for example, it can be set as a task scheduling cycle, a process execution cycle, a batch processing cycle, or a fixed time period within a shift. As long as the scheduling cycle covers the main execution window corresponding to the current task allocation relationship, it meets the usage requirements of this embodiment.

[0049] After establishing the projected load distribution, the task priorities of the target tasks are read. Task priorities indicate the order and urgency of target tasks within the current production schedule, and can be determined based on delivery deadlines, process sequence, equipment occupancy sequence, or upstream process release sequence recorded in the production plan. Tasks with tighter delivery times, more clearly defined subsequent process wait times, or greater impact on batch continuity can be assigned higher priorities. Based on the projected load distribution and task priorities, the control equipment further determines load balancing indicators.

[0050] The load balancing index reflects at least two aspects: the load differences between spindles and whether the target task can be completed within the allowed time. The assessment of load differences can be based on a comprehensive comparison of the expected load duration, number of tasks, and distribution of high-load intervals for each spindle within the preset scheduling period. The assessment of completion time limits can be based on a comparison of the expected start time, expected processing time, and allowed completion window for the corresponding task priority. The preset conditions should be consistent with equipment capacity and production organization requirements. If the load differences between spindles are within the allowable range, and the expected completion time of the target task is not later than the allowed completion time for the corresponding priority, then the load balancing index is considered to meet the preset conditions. If the expected load of a spindle is significantly concentrated within the preset scheduling period, or the expected completion time of the target task has exceeded the allowed completion time, then the load balancing index is considered not to meet the preset conditions.

[0051] After this processing, the load balancing index is neither a simple comparison of load size nor a simple judgment of task time limit. Instead, it is a comprehensive basis for judgment that simultaneously incorporates the spindle load distribution and the target task time limit requirements. This ensures that the subsequent determination of the target task allocation relationship can both alleviate the load pressure on the overloaded spindle and maintain the execution sequence of the target tasks in line with the production schedule.

[0052] If the load balancing index does not meet the preset conditions, the task allocation relationship is adjusted to obtain the target task allocation relationship, including: adjusting the start time of the target task; re-determining the candidate replacement axis corresponding to the target task based on the adjusted start time; regenerating the task allocation relationship based on the adjusted start time and the re-determined candidate replacement axis; and determining the regenerated task allocation relationship as the target task allocation relationship.

[0053] In one embodiment, this stage further defines the adjustment method of task allocation relationships, the re-screening logic after adjustment triggering, and the boundary control rules in the regeneration process, so that when the load balancing index does not meet the preset conditions, a directly executable correction result can be formed. When the control device determines that the load balancing index does not meet the preset conditions, it does not directly use the current task allocation relationship, but first adjusts the start execution time of the target task. The adjustment direction of the start execution time is consistent with the cause of the non-compliance. If the current problem is mainly manifested as the task being too concentrated on a certain target axis in the previous period, the start execution time of the target task is postponed to the available time window after the load of the target axis has fallen back. If the current problem is mainly manifested as the target task completion time exceeding the allowable range, the start execution time is preferentially adjusted forward to an earlier switchable window.

[0054] After adjusting the start times, candidate replacement spindles corresponding to the target task are re-determined based on the adjusted start times. This re-determination is necessary because the availability of spindles differs at different start times; a candidate spindle's availability at the original start time may not guarantee its availability at the adjusted start time. Therefore, it's necessary to re-read the expected load distribution, current occupancy status, and available duration for each candidate spindle at the adjusted start time, retaining only those spindles that can enter the accepting state at the adjusted start time and meet the target task's process requirements as candidate replacement spindles. Subsequently, the task allocation relationship is regenerated based on the adjusted start times and the re-determined candidate replacement spindles.

[0055] During regeneration, the new target spindle is determined based on the comparison between the task process requirements parameters and the spindle load capacity parameters, and the task switching time is updated synchronously. If the load balancing index corresponding to the regenerated task allocation relationship meets the preset conditions, the task allocation relationship is determined as the target task allocation relationship. If the preset conditions are still not met, the next round of adjustment is executed, but the number of adjustment rounds should not be increased indefinitely. To ensure the stability of on-site scheduling, a maximum number of adjustments can be preset. When the maximum number of adjustments is reached and the required result is still not obtained, the original allocation status of the target task within the current scheduling cycle is maintained, and the target task is marked as a manual review task or a subsequent scheduling task. After this processing, the adjustment process of the task allocation relationship always revolves around the two key factors of the start execution time and the candidate replacement spindle, which not only ensures that the adjustment result matches the actual time window, but also avoids repeatedly generating invalid allocation relationships on unexecutable spindles and unswitchable time periods.

[0056] The target axis is determined based on the target task allocation relationship, and the target tasks are assigned to the target axis for execution.

[0057] In this embodiment, after the target task allocation relationship is determined, the control device continues to assign the execution spindle and issue tasks according to the target task allocation relationship. Specifically, it first reads the target task identifier, target spindle identifier, task switching time point, and expected execution interval from the target task allocation relationship. Then, when the task switching time point is reached, the target task is written into the execution queue corresponding to the target spindle, and the target spindle is triggered to enter the target task's preparation execution state. If the target spindle is currently idle, it directly enters the execution state; if the target spindle is still processing a preceding task, the target task is attached to the preceding task and started according to the execution queue order. After the target task is executed, it continues to acquire the post-execution running status data of the target spindle, and updates the load parameters and fatigue risk parameters of the target spindle according to the post-execution running status data, so that the updated parameter results enter the next round of overload spindle identification and candidate replacement spindle identification process.

[0058] The method of this application further includes: after determining the target spindle according to the target task allocation relationship and assigning the target task to the target spindle for execution, obtaining the post-execution running status data of the target spindle; and updating the load parameters and fatigue risk parameters of the target spindle according to the post-execution running status data.

[0059] In one embodiment, this stage further defines the post-processing of the target spindle determination, the method of issuing target tasks, the content of the acquired running status data after execution, and the update rules of load parameters and fatigue risk parameters, to ensure that the task allocation results can be implemented in a closed loop on the field equipment. After the target task allocation relationship is generated, the control equipment first performs a pre-execution confirmation on the target spindle recorded therein. The pre-execution confirmation includes at least three items. The first item is the spindle availability status confirmation, which is used to determine whether the target spindle is in a state that can receive new tasks at the task switching point. If the target spindle is in an idle state, a standby state, or a state where the previous task is about to end, then the target task can be received; if the target spindle is in a fault state, an alarm state, or a manually locked state, then the current target spindle is not a valid execution object, and the target task needs to be marked as a task to be reassigned. The second item is the station occupancy confirmation, which is used to determine whether the tooling, fixture, and workpiece positions corresponding to the target task have met the switching requirements. If the station has not been released, the fixture has not been switched, or the tool resources are not in place, then the issuance of the target task is temporarily suspended, and the release status of the corresponding resources continues to be monitored. The third step is time window confirmation, which determines whether the current time has reached the task switching point recorded in the target task allocation relationship. If it has not yet been reached, the target task remains in the pending dispatch state; if it has been reached, the task dispatch phase begins.

[0060] After pre-execution confirmation, the control equipment issues the target task to the target spindle for execution. Upon task issuance, at least the task identifier, process number, planned start time, and planned execution duration are written to the control unit corresponding to the target spindle, and the target task is inserted into the target spindle's execution queue. If the target spindle is idle at the task switching point, the target task is immediately started as the current execution task; if the target spindle still has a preceding task at the task switching point, the target task is inserted into the execution queue according to its time position recorded in the target task allocation relationship and automatically starts after the preceding task is completed. After the target task begins execution, the control equipment continuously receives post-execution operating status data of the target spindle. This post-execution operating status data includes at least the speed change data, temperature change data, vibration change data, and actual execution duration within the execution range corresponding to the target task. The speed change data reflects the actual load changes on the target spindle during the execution of the target task; the temperature change data reflects the heat accumulation of the target spindle within the execution range; the vibration change data reflects the operational stability of the target spindle during the execution of the target task; and the actual execution duration reflects the continuous occupancy of the target spindle by the target task.

[0061] After the target task is completed, the control equipment extracts a data segment corresponding to the current task from the post-execution running status data, using the start and end times of the target task as boundaries. Based on this data segment, it updates the load parameters and fatigue risk parameters of the target spindle. During the update, the peak load and duration of the target spindle in the current task are recalculated based on the speed change, temperature change, and vibration change data within the execution interval. The statistical results are then used to correct the load parameters of the corresponding spindle in the current scheduling cycle. The actual execution duration of the current task is then added to the historical running duration of the target spindle, and the fatigue risk parameters are updated in conjunction with the corrected load parameters. If an abnormal interruption, short-term sensor disconnection, or missing data segment occurs during the execution of the target task, the original parameters are not directly overwritten. Instead, only the abnormal execution state of the current task is recorded, and the effective load parameters and fatigue risk parameters from the previous round are retained as the current update result. If the target task is completed normally and the post-execution running status data is complete and valid, the updated load parameters and fatigue risk parameters replace the old parameters of the target spindle in the scheduling cache, and the replaced parameter results are written back to the spindle status table.

[0062] After this processing, the target task allocation relationship not only completes the actual distribution of target tasks to the target axis, but also feeds back the actual execution results to the axis status identification process after execution, so that subsequent axis classification, task screening and task matching are all based on the latest running status, thus forming a continuously updated dynamic allocation closed loop.

[0063] like Figure 2As shown, a multi-spindle machining task dynamic allocation system is used to implement a multi-spindle machining task dynamic allocation method. The system includes: The condition analysis module is used to acquire the operating status data of each spindle and determine the load parameters and fatigue risk parameters of each spindle based on the operating status data. The condition analysis module consists of a spindle condition acquisition unit, a sensor interface circuit, a data buffer unit, and a parameter calculation unit. The spindle condition acquisition unit is used to receive the speed signal, temperature signal, vibration signal, and ambient temperature signal of each spindle. The sensor interface circuit is used to complete the signal input and conversion. The data buffer unit is used to store the operating status data. The parameter calculation unit is used to determine the load parameters and fatigue risk parameters based on the operating status data.

[0064] The spindle screening module is used to determine the overloaded spindle and candidate replacement spindle based on load parameters and fatigue risk parameters. The spindle screening module consists of a parameter reading unit, a threshold comparison unit, and a spindle classification unit. The parameter reading unit is used to read the load parameters and fatigue risk parameters, the threshold comparison unit is used to compare the load parameters and fatigue risk parameters with the corresponding judgment conditions, and the spindle classification unit is used to output the overloaded spindle and candidate replacement spindle.

[0065] The task matching module is used to filter target tasks that meet the process switching conditions from the tasks to be executed corresponding to the overloaded spindle, and match the process requirement parameters of the target tasks with the load capacity parameters of each candidate replacement spindle to generate a task allocation relationship. The task matching module consists of a task queue reading unit, a task filtering unit, a parameter extraction unit, and a matching analysis unit. The task queue reading unit is used to read the tasks to be executed corresponding to the overloaded spindle, the task filtering unit is used to filter target tasks that meet the process switching conditions, the parameter extraction unit is used to extract the process requirement parameters of the target tasks and the load capacity parameters of the candidate replacement spindles, and the matching analysis unit is used to generate a task allocation relationship.

[0066] The load balancing adjustment module is used to determine load balancing indicators based on task allocation relationships. When the load balancing indicators meet preset conditions, the task allocation relationship is determined as the target task allocation relationship. When the load balancing indicators do not meet the preset conditions, the task allocation relationship is adjusted to obtain the target task allocation relationship. The load balancing adjustment module consists of an allocation relationship parsing unit, a load balancing evaluation unit, an adjustment control unit, and a relationship update unit. The allocation relationship parsing unit is used to read the task allocation relationship, the load balancing evaluation unit is used to determine the load balancing indicators and determine whether they meet the preset conditions, the adjustment control unit is used to adjust the task allocation relationship when the preset conditions are not met, and the relationship update unit is used to output the target task allocation relationship.

[0067] The execution allocation module is used to determine the target spindle based on the target task allocation relationship and allocate the target task to the target spindle for execution. The execution allocation module consists of a spindle determination unit, a task issuance unit, an execution control unit, and a communication interface unit. Specifically, the spindle determination unit determines the target spindle based on the target task allocation relationship, the task issuance unit writes the target task into the execution queue corresponding to the target spindle, the execution control unit controls the target spindle to execute the target task, and the communication interface unit interacts with the multi-spindle control device to exchange commands.

[0068] It should be noted that, in this document, the terms "comprising," "including," and any other variations are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Specific examples have been used in this document to illustrate the principles and implementation methods of the technical solutions of this application. The above examples are only for the purpose of helping to understand the methods and core ideas of this application. The above descriptions are merely preferred embodiments of this application. It should be pointed out that, due to the limitations of written expression and the objective existence of infinite specific structures, those skilled in the art can make several improvements, modifications, or changes without departing from the principles of this application, and can also combine the above technical features in an appropriate manner; these improvements, modifications, changes, or combinations, or the direct application of the concept and technical solutions of this application to other situations without modification, should all be considered within the scope of protection of this application.

Claims

1. A method for dynamically allocating multi-spindle machining tasks, characterized in that, The method includes: Acquire the operating status data of each spindle, and determine the load parameters and fatigue risk parameters of each spindle based on the operating status data; The overloaded spindle and candidate replacement spindle are determined based on the load parameters and the fatigue risk parameters. Select target tasks that meet the process switching conditions from the tasks to be executed corresponding to the overloaded spindle, and match the process requirement parameters of the target tasks with the load capacity parameters of each candidate replacement spindle to generate a task allocation relationship. Based on the task allocation relationship, a load balancing index is determined. If the load balancing index meets the preset conditions, the task allocation relationship is determined as the target task allocation relationship. If the load balancing index does not meet the preset conditions, the task allocation relationship is adjusted to obtain the target task allocation relationship. The target axis is determined based on the target task allocation relationship, and the target tasks are assigned to the target axis for execution.

2. The method according to claim 1, characterized in that, The acquisition of the operating status data of each spindle includes: Data on spindle speed, temperature, vibration, and ambient temperature were collected within a preset status window according to a unified time reference. Based on the rotational speed data, identify the start-stop phase and no-load phase corresponding to each spindle, and remove the data corresponding to the start-stop phase and the no-load phase; The remaining temperature data is corrected based on the ambient temperature data to generate the operating status data corresponding to each spindle.

3. The method according to claim 2, characterized in that, The process of determining the load parameters and fatigue risk parameters of each spindle based on the operating status data includes: The peak load and duration of load for each spindle are determined based on the operating status data and used as the load parameters. The fatigue risk parameters are determined based on the load parameters and the historical operating time of each spindle.

4. The method according to claim 3, characterized in that, The step of determining the overloaded spindle and candidate replacement spindle based on the load parameters and the fatigue risk parameters includes: The spindle whose load parameter is higher than the first load threshold or whose fatigue risk parameter is higher than the first risk threshold is identified as the overload spindle. The spindle whose load parameter is lower than the second load threshold and whose fatigue risk parameter is lower than the second risk threshold is identified as the candidate replacement spindle.

5. The method according to claim 1, characterized in that, The step of selecting target tasks that meet the process switching conditions from the tasks to be executed corresponding to the overloaded spindle, and matching the process requirement parameters of the target tasks with the load-bearing capacity parameters of each candidate replacement spindle, includes: Select the tasks that are in the pending state, process switching state, or batch switching state of the same type of workpiece from the tasks to be executed corresponding to the overload spindle, and use them as the target tasks. Obtain parameters that characterize the machining accuracy requirements, cutting load requirements, and expected machining time of the target task, as the process requirement parameters; Parameters are obtained to characterize the machining accuracy retention capability, thermal stability capability, and continuous load-bearing capability of each of the candidate replacement spindles, and these are used as the load-bearing capability parameters.

6. The method according to claim 5, characterized in that, The step of matching the process requirement parameters of the target task with the load-bearing capacity parameters of each candidate replacement spindle to generate a task allocation relationship includes: Based on the matching results between the load-bearing capacity parameters of each candidate replacement spindle and the process requirement parameters, the degree of process matching of each candidate replacement spindle to the target task is determined. The candidate replacement spindles are sorted according to the degree of process matching. The candidate replacement spindle that meets the process requirement parameters and has the highest process matching degree is determined as the target spindle, and the task allocation relationship between the target task and the target spindle is established.

7. The method according to claim 1, characterized in that, The step of determining the load balancing index based on the task allocation relationship includes: Based on the expected load distribution of each spindle within a preset scheduling period and the task priority of the target task, the load balancing index is determined. The load balancing index is used to characterize the load difference between each spindle and the completion time limit of the target task.

8. The method according to claim 7, characterized in that, When the load balancing index does not meet the preset conditions, adjusting the task allocation relationship to obtain the target task allocation relationship includes: Adjust the start time of the target task; Based on the adjusted start time, the candidate successor axis corresponding to the target task is re-determined; The task allocation relationship is regenerated based on the adjusted start time and the newly determined candidate successor axis; The regenerated task assignment relationship is determined as the target task assignment relationship.

9. The method according to claim 1, characterized in that, The method further includes: After determining the target axis based on the target task allocation relationship and assigning the target task to the target axis for execution, the post-execution running status data of the target axis is obtained; The load parameters and fatigue risk parameters of the target spindle are updated based on the post-execution running status data.

10. A multi-spindle machining task dynamic allocation system, used to implement the multi-spindle machining task dynamic allocation method according to any one of claims 1-9, characterized in that, The system includes: The status analysis module is used to acquire the operating status data of each spindle and determine the load parameters and fatigue risk parameters of each spindle based on the operating status data. A spindle screening module is used to determine overloaded spindles and candidate replacement spindles based on the load parameters and the fatigue risk parameters. The task matching module is used to filter target tasks that meet the process switching conditions from the tasks to be executed corresponding to the overload spindle, and match the process requirement parameters of the target tasks with the load capacity parameters of each candidate replacement spindle to generate a task allocation relationship. The load balancing adjustment module is used to determine the load balancing index based on the task allocation relationship. If the load balancing index meets the preset conditions, the task allocation relationship is determined as the target task allocation relationship. If the load balancing index does not meet the preset conditions, the task allocation relationship is adjusted to obtain the target task allocation relationship. The execution allocation module is used to determine the target spindle according to the target task allocation relationship and allocate the target task to the target spindle for execution.