High-performance multi-axis linkage motion controller
By building a high-performance multi-axis linkage motion controller with functional labels and resource demand matrix, the coarse granularity and poor flexibility of resource scheduling strategies in existing controller systems are solved, and refined management and dynamic scheduling of multiple types of equipment are realized, and the system's real-time response capabilities and robustness are improved.
Patent Information
- Application Number
- CN202510749862.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-06
- Publication Date
- 2025-07-04
- Estimated Expiration
- 2045-06-06
AI Technical Summary
In the collaborative control of multiple types of peripherals, it is difficult for existing controller systems to build an accurate mapping relationship between device logic functions and software and hardware resources, resulting in a coarse granularity and poor flexibility of resource scheduling strategies, which can easily cause resource competition, response delays and control link interruptions, affecting the real-time and robustness of the system.
Using a high-performance multi-axis linkage motion controller, the queue division module, mapping construction module, requirements construction module and association construction module are used to build functional labels and resource requirements matrix based on device attribute information, generate software and hardware resource correlation matrix, and realize dynamic resource scheduling.
It improves resource adaptation capabilities and system scheduling efficiency in complex access scenarios of multiple devices, reduces resource competition risks, and improves real-time response capabilities and overall robustness.
Smart Images

Figure CN120255462A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of adaptive control, and more specifically, to a high-performance multi-axis linkage motion controller. Background Art
[0002] In order to meet the requirements of adapting to heterogeneous task environments and coordinating the control of multiple types of peripheral devices, existing controller systems usually need to support the dynamic access of various external devices such as encoders, limit switches, IO modules, servo drivers, etc., and perform real-time resource allocation and efficient scheduling for them. Under this background, the control system faces complex scheduling challenges among device diversity, resource restriction, and real-time responsiveness.
[0003] However, in practical applications, existing technologies generally adopt fixed strategies for device scheduling and resource allocation, fail to effectively establish an accurate mapping relationship between device logical functions and software and hardware resources, and lack a resource modeling mechanism centered on function tags, making it difficult to perform dynamic partitioning and optimization processing based on device access behavior and operating load. The scheduling strategies of existing technologies have problems such as coarse granularity and poor flexibility, which are prone to cause mixed scheduling of key devices and low-priority tasks, leading to resource competition, response delay, and even control link interruption or overall operation uncertainty, affecting the real-time performance and robustness of the system.
[0004] Therefore, there is an urgent need to propose a high-performance resource scheduling method with dynamic recognition ability, fine-grained resource modeling mechanism, and flexible scheduling strategy to improve the resource adaptation ability and system scheduling efficiency of multi-axis linkage motion controllers in complex multi-device access scenarios. Summary of the Invention
[0005] To overcome the above-mentioned defects of the prior art and achieve the above object, the present invention provides the following technical solutions: A high-performance multi-axis linkage motion controller, comprising:
[0006] A queue partitioning module that adaptively partitions based on the device attribute information accessed by the controller within a unit time to obtain N sub-queues of devices to be processed;
[0007] A mapping construction module that constructs a mapping table of function tags and software resource requirements and a mapping table of function tags and hardware resource requirements based on the device attribute information;
[0008] A requirement construction module that constructs a corresponding software resource requirement matrix and a hardware resource requirement matrix based on the N sub-queues of devices to be processed, the mapping table of function tags and software resource requirements, and the mapping table of function tags and hardware resource requirements;
[0009] An association construction module that generates a set of software and hardware resource association degree matrices for the N sub-queues of devices to be processed based on the software resource requirement matrix and the hardware resource requirement matrix;
[0010] The resource scheduling module schedules the software and hardware resources of N to-be-processed device sub-queues based on the device attribute information, the software resource requirement matrix, the hardware resource requirement matrix and the software and hardware resource association matrix set.
[0011] Furthermore, the method for scheduling software and hardware resources for N to-be-processed device sub-queues includes:
[0012] S500: Let the initial value of n be 1, and the value range of n be 1 to N;
[0013] S501: Determine whether the nth device sub-queue to be processed contains only one device, and the load score value of the device is greater than or equal to the preset large load score threshold; if the judgment result is yes, mark the nth device sub-queue to be processed as a large load queue, and execute S502; if the judgment result is no, mark the nth device sub-queue to be processed as a common queue, and execute S503;
[0014] S502: Perform software and hardware resource scheduling for the heavy load queue, and execute S504;
[0015] S503: Perform software and hardware resource scheduling for the common queue and execute S504;
[0016] S504: Let n=n+1. If n is less than or equal to N, return to S501 to continue execution; if n is greater than N, end the current process.
[0017] Furthermore, the method for scheduling software and hardware resources for a large load queue includes:
[0018] Obtaining a software resource demand vector of a heavy-load queue and allocating software resources to the heavy-load queue;
[0019] Obtain the software and hardware resource correlation matrix of the large load queue; record the number of columns of the software and hardware resource correlation matrix as LN; perform item-by-item multiplication operations on the software resource demand vector and the LN columns of the software and hardware resource correlation matrix respectively to obtain LN comprehensive correlation strengths;
[0020] Sort the LN comprehensive association strengths in descending order to form a hardware resource priority allocation sequence for the large load queue in the current scheduling cycle;
[0021] According to the hardware resource priority allocation sequence, scheduling judgment and resource allocation are performed on each hardware resource in the hardware resource priority allocation sequence in turn.
[0022] Furthermore, the method for scheduling and determining each hardware resource in the hardware resource priority allocation sequence and allocating resources includes:
[0023] If the current remaining hardware resources all meet the hardware resource requirements of the large load queue, directly allocate the corresponding hardware resources to the large load queue;
[0024] If only some of the current remaining hardware resources meet the hardware resource requirements of the large load queue, construct the hardware resources that cannot be met into a set of hardware resources not meeting the requirements for the large load. Determine whether the comprehensive correlation strength corresponding to each hardware resource in the set of hardware resources not meeting the requirements for the large load is greater than or equal to the preset comprehensive correlation strength threshold. If the judgment result is yes, enable the system reserved hardware resources to allocate the corresponding hardware resource requirements for the current large load queue; if the judgment result is no, mark the large load queue as a device waiting for supplementary resources and wait for the next scheduling cycle to perform the scheduling operation again.
[0025] Furthermore, the method for scheduling software and hardware resources for ordinary queues includes:
[0026] S600: Record the number of devices in the ordinary queue as NUM; Let the initial value of num be 1, and the value range of num is from 1 to NUM;
[0027] S601: Obtain the software resource requirement vector of the num-th device in the ordinary queue and allocate software resources to the num-th device;
[0028] Obtain the hardware resource requirement vector of the num-th device in the ordinary queue, and determine whether the current remaining hardware resources all meet the hardware resource requirements of the num-th device. If the judgment result is yes, directly allocate hardware resources to the num-th device; if the judgment result is no, generate scheduling priority scores corresponding to NUM devices;
[0029] Determine whether the scheduling priority score of the num-th device is greater than the scheduling priority scores of the devices that have occupied hardware resources in the ordinary queue; if the judgment result is yes, roll back the hardware resources of the devices that have occupied hardware resources and re-allocate them to the num-th device, mark the devices that have occupied hardware resources as waiting for rescheduling and wait for continued scheduling; if the judgment result is no, the num-th device enters the state of waiting for hardware resources and waits for continued scheduling;
[0030] S602: Let num = num + 1. If num is less than or equal to num, return to continue executing S601; if num is greater than NUM, end the current process.
[0031] Furthermore, the method for generating scheduling priority scores corresponding to NUM devices includes:
[0032] The device attribute information, access interval time, software resource requirement matrix, hardware resource requirement matrix, and software and hardware resource correlation matrix of NUM devices in the ordinary queue are respectively input into the scheduling priority scoring model to obtain the scheduling priority scores corresponding to the NUM devices.
[0033] Further, the method for obtaining N device sub-queues to be processed includes:
[0034] S100: Denote the number of devices accessing the controller within a unit time as TL; let the initial value of tl be 1, and the value range of tl be from 1 to TL; let the initial value of the counting variable n of the device sub-queue to be processed be 1; let the initial value of the load score cumulative value FZLJ be 0;
[0035] S101: Obtain the device attribute information of the tl-th accessing device; if tl is equal to 1, set the access interval time of the tl-th device to 0; if tl is not equal to 1, perform a difference calculation on the access time of the tl-th device and the access time of the (tl - 1)-th device to obtain the access interval time of the tl-th device;
[0036] S102: Input the device attribute information and access interval time of the tl-th device into the load scoring model to obtain the corresponding load score value FZPF;
[0037] S103: If the load score value is greater than or equal to the preset load score cumulative value threshold; if the n-th device sub-queue to be processed is empty, add the tl-th device to the n-th device sub-queue to be processed, and let n = n + 1; if the n-th device sub-queue to be processed is not empty, add the tl-th device to the (n + 1)-th device sub-queue to be processed, and let n = n + 2; let FZLJ = 0, tl = tl + 1, if tl is less than TL, return to S101 for execution, if tl is greater than or equal to TL, end the current process;
[0038] If the load score value is less than the preset load score cumulative value threshold, let FZLJ = FZLJ + FZPF; if the load score cumulative value FZLJ is less than the preset load score cumulative value threshold, add the tl-th device to the n-th device sub-queue to be processed, let tl = tl + 1, if tl is less than TL, return to S101 for execution, if tl is greater than or equal to TL, end the current process; if the load score cumulative value is greater than or equal to the preset load score cumulative value threshold, let n = n + 1, FZLJ = 0, and then return to S101 for execution.
[0039] Further, the method for constructing the function label and software resource requirement mapping table and the function label and hardware resource requirement mapping table includes:
[0040] Define a function label set based on multiple types of device function types supported by the controller;
[0041] Determine the types and quantities of software resources and the types and quantities of hardware resources for each function label during actual operation according to the resource management rules inside the controller;
[0042] For each function label, list the corresponding software resource items and hardware resource items respectively, and assign specific required quantity values to each resource item according to the resource occupancy situation; when there is a resource item that has no association with the current function label, set it to zero in the corresponding cell; fill in the required quantity values by one-to-one correspondence between the function label and the resource item, and construct a function label - software resource requirement mapping table and a function label - hardware resource requirement mapping table respectively.
[0043] Furthermore, the method for obtaining the software resource requirement matrix includes:
[0044] S200: Let the initial value of n be 1, and the value range of n is from 1 to N;
[0045] S201: Denote the number of devices in the nth device sub - queue to be processed as , extract the corresponding function label set for each device in the nth device sub - queue to be processed, and obtain function label sets;
[0046] S202: Match the function label sets with the function label - software resource requirement mapping table respectively, and extract the software resource requirement vectors of each function label in the controller operating environment from the function label sets;
[0047] S203: Add up each item of the software resource requirement vectors corresponding to the function labels of each device to obtain the total software resource requirement vector of each device;
[0048] S204: Combine the total software resource requirement vectors corresponding to the devices in sequence according to the device dimension to construct the software resource requirement matrix of the nth device sub - queue to be processed;
[0049] S205: Let n = n + 1, if n is less than or equal to N, then return to S201 to continue execution; if n is greater than N, then end the current process.
[0050] Furthermore, the method for obtaining the hardware resource requirement matrix includes:
[0051] S300: Let the initial value of n be 1, and the value range of n is from 1 to N;
[0052] S301: Denote the number of devices in the nth device sub - queue to be processed as , extract the corresponding function tag set for each device in the nth pending device sub-queue, and get A set of function labels;
[0053] S302: The function label sets are matched with the function label and hardware resource requirement mapping table respectively to extract The hardware resource requirement vector of each function tag in the function tag set in the controller operation environment;
[0054] S303: Adding the hardware resource requirement vectors corresponding to the function labels of each device one by one to obtain the total hardware resource requirement vector of each device;
[0055] S304: The total hardware resource demand vectors corresponding to the devices are combined in sequence according to the device dimension to construct the hardware resource demand matrix of the nth device sub-queue to be processed;
[0056] S305: Let n=n+1. If n is less than or equal to N, return to S301 to continue execution; if n is greater than N, end the current process.
[0057] Furthermore, the method for obtaining the software and hardware resource association matrix set of N to-be-processed device sub-queues includes:
[0058] S400: Let the initial value of n be 1, and the value range of n be 1 to N;
[0059] S401: Obtain the software resource requirement matrix and the hardware resource requirement matrix of the nth to-be-processed device sub-queue; cross-combine all software resource requirement items and hardware resource requirement items of each device in the nth to-be-processed device sub-queue in pairs to obtain a software and hardware resource combination set of each device;
[0060] S402: Inputting device attribute information, software and hardware resource combination set, software resource requirement item, software resource requirement value, hardware resource requirement item and hardware resource requirement value of each device in the nth to-be-processed device sub-queue into the correlation evaluation model to obtain the software and hardware resource combination correlation set of each device;
[0061] S403: constructing the software and hardware resource combination set and the software and hardware resource combination association degree set of each device in the nth to-be-processed device sub-queue into a software and hardware resource association degree matrix corresponding to each device; and constructing the software and hardware resource association degree matrix corresponding to each device into a software and hardware resource association degree matrix set of the nth to-be-processed device sub-queue;
[0062] S404: Let n=n+1. If n is less than or equal to N, return to S401 to continue execution; if n is greater than N, end the current process.
[0063] Compared with the prior art, the technical effects and advantages of the high-performance multi-axis linkage motion controller of the present invention are as follows:
[0064] By constructing a sub-queue division mechanism based on device load scoring, a software and hardware resource requirement matrix modeling mechanism, and a software and hardware resource correlation analysis mechanism, this application realizes refined management and dynamic scheduling of resources for multiple types of access devices.
[0065] Specifically, by collecting the attribute information and access interval time of access devices, and dynamically dividing the sub-queues of devices to be processed in combination with the trained load scoring model, it not only improves the recognition efficiency of high-load devices, but also can automatically construct isolated sub-queues for single-device high-load scenarios to reduce the risk of resource competition. Further, this application constructs a mapping table between function tags and software / hardware resource requirements, extracts demand vectors based on the logical functions of devices, and constructs a software and hardware resource correlation matrix through resource combination methods to quantify the coupling strength between various resources. On this basis, scheduling strategies are set for large-load queues and ordinary queues respectively. Among them, the large-load queue gives priority to ensuring resource supply, introduces a reserved resource mechanism in combination with the correlation threshold to improve the real-time performance and fault tolerance of resource scheduling; the ordinary queue performs resource conflict backoff and replacement based on the scheduling priority score to achieve fair task scheduling and efficient system operation.
[0066] In summary, compared with the existing fixed scheduling strategy, this application can dynamically adjust the scheduling logic and resource configuration path according to device access behavior, task urgency, and resource correlation characteristics, effectively solve the resource conflict problem caused by the mixed scheduling of key devices and low-load tasks, and significantly improve the resource utilization efficiency, real-time response ability, and overall robustness of the system in the scenario of multi-device concurrent access. BRIEF DESCRIPTION OF THE DRAWINGS
[0067] Figure 1 Schematic diagram of the high-performance multi-axis linkage motion controller module in Embodiment 1 of the present invention;
[0068] Figure 2 Flowchart of the control method of the high-performance multi-axis linkage motion controller in Embodiment 2 of the present invention;
[0069] Figure 3 Flowchart of device access and queue division;
[0070] Figure 4 Flowchart for generating the software and hardware resource correlation matrix;
[0071] Figure 5 Logic diagram of resource scheduling decision-making;
[0072] Figure 6 Schematic diagram of the full-link business architecture of the controller. Detailed implementation mode
[0073] Next, the technical solutions in the embodiments of the present invention will be described in detail, clearly and completely in conjunction with the accompanying drawings in the embodiments of the present invention. It should be particularly noted that the specific embodiments described below are only used to better explain and illustrate the technical solutions of the present invention, aiming to enable those skilled in the art to better understand and implement the present invention, and should not be construed as a limitation on the protection scope of the present invention. Without departing from the spirit and essence of the present invention, those skilled in the art can modify, adjust or equivalently replace it according to the content disclosed in the present invention, and these should all be regarded as the protection scope of the present invention.
[0074] Embodiment 1:
[0075] Please refer to Figure 1 As shown, this embodiment discloses a high-performance multi-axis linkage motion controller, including a queue division module, a mapping construction module, a requirement construction module, an association construction module, and a resource scheduling module. Each module is connected by wire and / or wireless to achieve data transmission.
[0076] The queue division module performs adaptive segmentation based on the device attribute information of the devices accessing the controller within a unit time to obtain N sub-queues of devices to be processed; the device attribute information includes device name and device logical function.
[0077] The device name includes encoder, limit switch, servo driver, IO, DC-DC conversion, and CAN; the device logical function includes input, output, encoding, communication, and PWM;
[0078] As Figure 3 shown, the method for obtaining N sub-queues of devices to be processed includes:
[0079] S100: Denote the number of devices accessing the controller within a unit time as TL; let the initial value of tl be 1, and the value range of tl is from 1 to TL; let the initial value of the counting variable n of the sub-queue of devices to be processed be 1; let the initial value of the load score cumulative value FZLJ be 0;
[0080] S101: Obtain the device attribute information of the tl-th accessing device; if tl is equal to 1, set the access interval time of the tl-th device to 0; if tl is not equal to 1, perform a difference calculation on the access time of the tl-th device and the access time of the tl - 1-th device to obtain the access interval time of the tl-th device;
[0081] S102: Input the device attribute information and access interval time of the tl-th device into the load score model to obtain the corresponding load score value FZPF;
[0082] S103: If the load score value is greater than or equal to the preset load score cumulative value threshold; if the nth device sub-queue to be processed is empty, add the tl-th device to the nth device sub-queue to be processed, and let n = n + 1; if the nth device sub-queue to be processed is not empty, add the tl-th device to the (n + 1)-th device sub-queue to be processed, and let n = n + 2; let FZLJ = 0, tl = tl + 1. If tl is less than TL, return to S101 for execution. If tl is greater than or equal to TL, end the current process;
[0083] If the load score value is less than the preset load score cumulative value threshold, let FZLJ = FZLJ + FZPF; if the load score cumulative value FZLJ is less than the preset load score cumulative value threshold, add the tl-th device to the nth device sub-queue to be processed, and let tl = tl + 1. If tl is less than TL, return to S101 for execution. If tl is greater than or equal to TL, end the current process; if the load score cumulative value is greater than or equal to the preset load score cumulative value threshold, let n = n + 1, FZLJ = 0, and then return to S101 for execution.
[0084] The training method of the load scoring model includes:
[0085] Pre-collect a load scoring data set, where the load scoring data set includes PF groups of load scoring data and the corresponding load score values. PF is a positive integer greater than 0. The load scoring data includes device attribute information and access interval time; divide the load scoring data set into a training set and a validation set, where the training set is used to train the load scoring model, and the validation set is used to evaluate the generalization performance of the load scoring model;
[0086] During the training process of the load scoring model, minimize the cross-entropy loss function as the optimization goal, use the early stopping strategy to monitor the performance of the validation set, and optimize the model performance by continuously adjusting the network parameters; when the prediction accuracy on the validation set reaches the expected accuracy, it is determined that the load scoring model has converged and stop training; the load scoring model is trained using a long short-term memory network model;
[0087] Convert the load scoring data into a feature vector; the input layer of the load scoring model receives the feature vector, extracts the non-linear relationship in the data through the hidden layer, and finally the output layer of the load scoring model calculates the probability distribution of the load score value through the softmax activation function, and outputs the load score value corresponding to the maximum probability as the final prediction result.
[0088] It should be noted that in this application, the value range of the load score value can be set to [0, 100], and the threshold of the cumulative load score value is set to 80. Then, when the cumulative load score value of the devices in the same sub-queue reaches or exceeds 80, they will be automatically divided into a new sub-queue.
[0089] In this application, by introducing a dynamic partitioning mechanism based on load scoring during the process of obtaining the sub-queue of devices to be processed, real-time shunting and intelligent grouping of the accessed devices can be achieved. Specifically, when the load score of a certain device is detected to exceed the preset cumulative load score value threshold alone, an independent allocation strategy is adopted for this device, that is, according to the occupancy status of the current sub-queue, the device is directly added to the current idle sub-queue, or when there are already devices in the current sub-queue, a new sub-queue is created separately for this device, so as to ensure that the overloaded devices are isolated and managed from other devices at the physical and logical levels. Through the above design, on the one hand, it can prevent high-load devices from interfering with other devices in the same sub-queue, ensuring the balance of resource allocation and the real-time nature of subsequent processing; on the other hand, it is conducive to implementing more refined and differentiated management according to the load characteristics of the sub-queue during the scheduling and resource configuration process, improving the overall processing efficiency and stability of the system. In addition, through the accurate identification and independent allocation of devices with load scores exceeding the threshold alone, it can effectively cope with complex application scenarios with dense device access and high-load bursts, significantly enhancing the adaptive ability and dynamic load balancing ability of the system.
[0090] The mapping construction module constructs a mapping table between function tags and software resource requirements and a mapping table between function tags and hardware resource requirements based on device attribute information.
[0091] The construction methods of the mapping table between function tags and software resource requirements and the mapping table between function tags and hardware resource requirements include:
[0092] Based on the device function types supported by the controller, a set of function tags is defined; the function tags in the set of function tags are used to describe the basic logical functions of the devices accessing the controller, and the basic logical functions include input function, output function, PWM control function, communication function, and encoder function;
[0093] Based on the internal resource management rules of the controller, determine the types and quantities of software resources required for each function label during implementation, and determine the types and quantities of hardware resources required for each function label during implementation; the types of software resources include GPIO pin resources, interrupt vector resources, timer channel resources, DMA data transfer channel resources, and protocol stack communication channel resources; the types of hardware resources include PWM modules, encoder interfaces, UART modules, CAN modules, and analog sampling; among them, the types and quantities of software resources and hardware resources corresponding to different function labels can be set according to the specific software and hardware architecture of the controller, with scalability;
[0094] For each function label, list the software resource items that must be occupied to implement the function label, and assign specific required quantity values to each software resource item. If a function label does not involve a certain software resource, fill in zero in the corresponding cell. In the way of one-to-one correspondence between the function label and the software resource item, construct a mapping table of function label and software resource requirements;
[0095] For each function label, list the hardware resource items that must be occupied to implement the function label, and assign specific required quantity values to each hardware resource item. In the way of one-to-one correspondence between the function label and the hardware resource item, construct a mapping table of function label and hardware resource requirements.
[0096] An example of the mapping table of function label and software resource requirements is shown in Table 1:
[0097] Table 1 Mapping Table of Function Label and Software Resource Requirements
[0098] Function label software resource item GPIO requirement Interrupt requirement Timer requirement DMA channel requirement Communication stack channel requirement Input function 1 1 0 0 0 Output function 1 0 0 0 0 PWM function 0 1 1 1 0 Communication function 1 1 0 1 1 Encoder function 2 1 1 0 0
[0099] An example of the mapping table of function label and hardware resource requirements is shown in Table 2:
[0100] Table 2 Mapping Table of Function Label and Hardware Resource Requirements
[0101] Function label hardware resource item PWM module requirement Encoder interface requirement UART module requirement CAN module requirement Analog sampling requirement Input function 0 0 0 1 0 Output function 1 0 0 1 0 PWM function 1 0 1 0 0 Communication function 0 0 1 1 0 Encoder function 1 1 0 0 1
[0102] The requirement construction module constructs the corresponding software resource requirement matrix and hardware resource requirement matrix based on N device sub-queues to be processed, the mapping table of function label and software resource requirements, and the mapping table of function label and hardware resource requirements.
[0103] The acquisition method of the software resource requirement matrix includes:
[0104] S200: Let the initial value of n be 1, and the value range of n is from 1 to N;
[0105] S201: Record the number of devices in the nth device sub-queue to be processed as , for each device in the nth device sub-queue to be processed, extract the corresponding set of function tags, and obtain sets of function tags;
[0106] S202: Match the sets of function tags with the function tag - software resource requirement mapping table respectively, and extract the software resource requirement vectors of each function tag in the controller operating environment for each set of function tags;
[0107] For example, the set of function tags of a limit switch is {input, output}, and {input, output} is the device logic function corresponding to the limit switch; for example, the set of function tags of a servo driver is {PWM, communication}, and {PWM, communication} is the device logic function corresponding to the servo driver.
[0108] S203: Add up the software resource requirement vectors corresponding to the function tags of each device item by item to obtain the total software resource requirement vector of each device;
[0109] For example, the software resource requirement vector of the input function of a limit switch is [1, 1, 0, 0, 0], and the software resource requirement vector of the output function of the limit switch is [1, 0, 0, 0, 0]. That is, the total software resource requirement vector of the limit switch is [2, 1, 0, 0, 0].
[0110] For example, the software resource requirement vector of the PWM function of a servo driver is [0, 1, 1, 1, 0], and the software resource requirement vector of the communication function of the servo driver is [1, 1, 0, 1, 1]. That is, the total software resource requirement vector of the servo driver is [1, 2, 1, 2, 1].
[0111] S204: Combine the total software resource requirement vectors corresponding to the devices in sequence according to the device dimension to construct the software resource requirement matrix of the nth device sub-queue to be processed;
[0112] S205: Let n = n + 1. If n is less than or equal to N, return to S201 to continue execution; if n is greater than N, end the current process.
[0113] The tabular representation example of the software resource requirement matrix of the nth device sub-queue to be processed is shown in Table 3 as follows:
[0114] Table 3 Software Resource Requirement Matrix
[0115] GPIO requirement Interrupt requirement Timer requirement DMA channel requirement Communication stack channel requirement Limit switch 2 1 0 0 0 Servo drive 1 2 1 2 1
[0116] It should be noted that through the construction of the above software resource requirement matrix, the occupancy of each access device in the dimension of controller software resources can be clearly expressed, enabling subsequent resource scheduling to quickly complete the dynamic allocation, mapping, and conflict detection of software resources based on a standardized data structure. At the same time, this matrix supports the decoupled combination of the device dimension and the function label dimension, facilitating adaptation to scenarios with mixed access of multi-functional and multi-type devices, and enhancing the resource utilization rate and expansion ability of the system.
[0117] The method for obtaining the hardware resource requirement matrix includes:
[0118] S300: Let the initial value of n be 1, and the value range of n is from 1 to N;
[0119] S301: Denote the number of devices in the nth device subqueue to be processed as , and extract the corresponding function label set for each device in the nth device subqueue to be processed, obtaining function label sets;
[0120] S302: Match the function label sets with the function label and hardware resource requirement mapping table respectively, and extract the hardware resource requirement vectors of each function label in the controller operating environment from the function label sets;
[0121] The example of the function label set is the same as above. For example, the function label set of the limit switch is {input, output}, and {input, output} is the device logic function corresponding to the limit switch; for example, the function label set of the servo driver is {PWM, communication}, and {PWM, communication} is the device logic function corresponding to the servo driver.
[0122] S303: Add up the hardware resource requirement vectors corresponding to the function labels of each device item by item to obtain the total hardware resource requirement vector of each device;
[0123] For example, the hardware resource requirement vector of the input function of the limit switch is [0, 0, 0, 1, 0], and the hardware resource requirement vector of the output function of the limit switch is [1, 0, 0, 1, 0], that is, the total hardware resource requirement vector of the limit switch is [1, 0, 0, 2, 0].
[0124] For example, the hardware resource requirement vector of the PWM function of the servo driver is [1, 0, 1, 0, 0], and the hardware resource requirement vector of the communication function of the servo driver is [0, 0, 1, 1, 0], that is, the total hardware resource requirement vector of the servo driver is [1, 0, 2, 1, 0].
[0125] S304: Take the The total vector of hardware resource requirements corresponding to each device is combined in sequence according to the device dimension to construct the hardware resource requirement matrix of the nth device sub-queue to be processed;
[0126] S305: Let n = n + 1. If n is less than or equal to N, return to S301 and continue to execute; if n is greater than N, end the current process.
[0127] An example of the tabular representation of the hardware resource requirement matrix of the nth device sub-queue to be processed is shown in Table 4:
[0128] Table 4 Hardware Resource Requirement Matrix
[0129] PWM module requirement Encoder interface requirement UART module requirement CAN module requirement Analog sampling requirement Limit switch 1 0 0 2 0 Servo drive 1 0 2 1 0
[0130] The association construction module generates a set of software and hardware resource association degree matrices for N device sub-queues to be processed based on the software resource requirement matrix and the hardware resource requirement matrix. The set of software and hardware resource association degree matrices is used to measure the combined coupling degree between different software resources and hardware resources to support subsequent resource optimization configuration and conflict avoidance.
[0131] The method for obtaining the set of software and hardware resource association degree matrices of N device sub-queues to be processed includes:
[0132] S400: Let the initial value of n be 1, and the value range of n is from 1 to N;
[0133] S401: Obtain the software resource requirement matrix and the hardware resource requirement matrix of the nth device sub-queue to be processed; perform pairwise cross-combinations on all software resource requirement items and hardware resource requirement items of each device in the nth device sub-queue to be processed to obtain the software and hardware resource combination set of each device;
[0134] For example, the software resource requirement items of the limit switch are GPIO requirements, interrupt requirements, timer requirements, DMA channel requirements, and communication stack channel requirements; the hardware resource requirement items of the limit switch are PWM module requirements, encoder interface requirements, UART module requirements, CAN module requirements, and analog sampling requirements.
[0135] The combination set of software and hardware resources of the limit switch is {GPIO requirement - PWM module requirement, GPIO requirement - encoder interface requirement, GPIO requirement - UART module requirement, GPIO requirement - CAN module requirement, GPIO requirement - analog sampling requirement, interrupt requirement - PWM module requirement, interrupt requirement - encoder interface requirement, interrupt requirement - UART module requirement, interrupt requirement - CAN module requirement, interrupt requirement - analog sampling requirement, timer requirement - PWM module requirement, timer requirement - encoder interface requirement, timer requirement - UART module requirement, timer requirement - CAN module requirement, timer requirement - analog sampling requirement, DMA channel requirement - PWM module requirement, DMA channel requirement - encoder interface requirement, DMA channel requirement - UART module requirement, DMA channel requirement - CAN module requirement, DMA channel requirement - analog sampling requirement, communication stack channel requirement - PWM module requirement, communication stack channel requirement - encoder interface requirement, communication stack channel requirement - UART module requirement, communication stack channel requirement - CAN module requirement, communication stack channel requirement - analog sampling requirement}.
[0136] S402: Input the device attribute information, software and hardware resource combination set, software resource requirement items, software resource requirement values, hardware resource requirement items, and hardware resource requirement values of each device in the nth device sub - queue to be processed into the correlation evaluation model to obtain the software and hardware resource combination correlation set of each device;
[0137] S403: Construct the software and hardware resource combination set and the software and hardware resource combination correlation set of each device in the nth device sub - queue to be processed into the software and hardware resource correlation matrix corresponding to each device; and construct the software and hardware resource correlation matrices corresponding to each device into the software and hardware resource correlation matrix set of the nth device sub - queue to be processed;
[0138] For example, the table representation form of the software and hardware resource correlation matrix of the limit switch is shown in Table 5 as follows:
[0139] Table 5 Software and Hardware Resource Correlation Matrix
[0140] Software resource Hardware resource PWM module requirement Encoder interface requirement UART module requirement CAN module requirement Analog sampling requirement GPIO requirement 0 0.2 0.5 0.5 0.3 Interrupt requirement 1.0 1.0 0.8 0.8 0.6 Timer requirement 1.0 1.0 0.3 0.3 0.2 DMA channel requirement 0.8 0.5 1.0 1.0 0.6 Communication stack channel requirement 0 0 1.0 1.0 0
[0141] It should be noted that the flowchart for generating the software and hardware resource correlation matrix is as Figure 4As shown. The software and hardware resource correlation matrix is used to quantify the coupling relationship between various software resources and various hardware resources in the control system. It is the result of cross-modeling based on resource combinations and is used to support the refined judgment of subsequent resource scheduling. The software and hardware resource correlation matrix uses software resource requirement items as row labels and hardware resource requirement items as column labels. Each element in the matrix represents the resource correlation strength between the corresponding software resource item and hardware resource item, with a numerical range of 0 to 1. The larger the value, the stronger the resource dependence relationship between the two.
[0142] Taking the limit switch as an example, its software resource requirement items include GPIO requirements, interrupt requirements, timer requirements, DMA channel requirements, and communication stack channel requirements. Its hardware resource requirement items include PWM module requirements, encoder interface requirements, UART module requirements, CAN module requirements, and analog sampling requirements. The two form 25 software and hardware resource combination relationships. By establishing a correlation evaluation model to numerically evaluate the correlation of the above resource combinations, a complete software and hardware resource correlation matrix can be formed. For example, the coupling degree between the interrupt resource and the PWM module and encoder interface can be set to 1.0, indicating a high dependence; while the coupling degree between the communication stack and analog sampling is set to 0, indicating no dependence relationship. Through the construction of this matrix, high-coupling resource paths can be identified before resource scheduling, resource conflicts can be avoided in advance, and the adaptability of resource allocation and the stability of system operation can be improved.
[0143] S404: Let n = n + 1. If n is less than or equal to N, return to S401 to continue execution; if n is greater than N, end the current process.
[0144] The training method of the correlation evaluation model includes:
[0145] Pre-collect a correlation evaluation data set, which includes GL groups of correlation evaluation data and the software and hardware resource combination correlation set corresponding to the GL groups of correlation evaluation data. GL is a positive integer greater than 0. The correlation evaluation data includes device attribute information, software and hardware resource combination set, software resource requirement items, software resource requirement values, hardware resource requirement items, and hardware resource requirement values; divide the correlation evaluation data set into a training set and a validation set, where the training set is used to train the correlation evaluation model, and the validation set is used to evaluate the generalization performance of the correlation evaluation model;
[0146] During the training process of the correlation evaluation model, minimizing the cross-entropy loss function is used as the optimization goal, and the early stopping strategy is used to monitor the performance of the validation set. By continuously adjusting the network parameters, the model performance is optimized; when the prediction accuracy on the validation set reaches the expected accuracy, it is determined that the correlation evaluation model has converged and the training is stopped; the correlation evaluation model is trained using a support vector machine model;
[0147] Convert the correlation evaluation data into a feature vector; the input layer of the correlation evaluation model receives the feature vector, extracts the non-linear relationship in the data through the hidden layer, and finally the output layer of the correlation evaluation model calculates the probability distribution of the software and hardware resource combination correlation degree set through the softmax activation function, and outputs the software and hardware resource combination correlation degree set corresponding to the maximum probability as the final prediction result.
[0148] It should be noted that through the above construction process of the software and hardware resource combination and the correlation matrix, the prior evaluation of the resource mapping relationship between the software drive requirements and the hardware physical interface can be carried out before the actual resource allocation, providing a fine-grained and high-confidence resource conflict prediction and optimization basis for the subsequent resource scheduling module, and effectively improving the resource utilization rate and dynamic configuration stability of the system.
[0149] The resource scheduling module performs software and hardware resource scheduling on N device sub-queues to be processed based on the device attribute information, software resource demand matrix, hardware resource demand matrix, and software and hardware resource correlation matrix set.
[0150] Such as Figure 5 shown, the method for performing software and hardware resource scheduling on N device sub-queues to be processed includes:
[0151] S500: Let the initial value of n be 1, and the value range of n is from 1 to N;
[0152] S501: Determine whether the nth device sub-queue to be processed contains only one device and the load score value of this device is greater than or equal to the preset large load score threshold; if the judgment result is yes, mark the nth device sub-queue to be processed as a large load queue and execute S502; if the judgment result is no, mark the nth device sub-queue to be processed as a normal queue and execute S503;
[0153] S502: Perform software and hardware resource scheduling for the large load queue and execute S504;
[0154] S503: Perform software and hardware resource scheduling for the normal queue and execute S504;
[0155] S504: Let n = n + 1. If n is less than or equal to N, return to S501 to continue execution; if n is greater than N, end the current process.
[0156] The method for performing software and hardware resource scheduling for the large load queue includes:
[0157] Obtain the software resource demand vector of the large load queue and allocate software resources for the large load queue;
[0158] Obtain the software and hardware resource correlation matrix of the large-load queue; record the number of columns of the software and hardware resource correlation matrix as LN; perform element-by-element multiplication operations on the software resource demand vector with the LN columns of the software and hardware resource correlation matrix to obtain LN comprehensive correlation strengths;
[0159] For example, if the software resource demand vector is [1, 0, 1, 1, 0], and taking the software and hardware resource correlation matrix in Table 5 as an example of the software and hardware resource correlation matrix, the multiplication result of the software resource demand vector and the first column of the software and hardware resource correlation matrix in Table 5 is 1×0 + 0×1.0 + 1×1.0 + 1×0.8 + 0×0 = 1.8; the multiplication result of the software resource demand vector and the second column of the software and hardware resource correlation matrix in Table 5 is 1×0.2 + 0×1.0 + 1×1.0 + 1×0.5 + 0×0 = 1.7.
[0160] Perform a descending order sorting on the LN comprehensive correlation strengths to form a hardware resource priority allocation sequence for the large-load queue in the current scheduling cycle;
[0161] According to the hardware resource priority allocation sequence, perform scheduling judgment and resource allocation on each hardware resource in the hardware resource priority allocation sequence in turn.
[0162] The method for performing scheduling judgment and resource allocation on each hardware resource in the hardware resource priority allocation sequence includes:
[0163] If all the current remaining hardware resources meet the hardware resource requirements of the large-load queue, directly allocate the corresponding hardware resources to the large-load queue;
[0164] If only some of the current remaining hardware resources meet the hardware resource requirements of the large-load queue, construct the hardware resources that cannot be met into a large-load unmet requirement hardware set, and further judge whether the comprehensive correlation strengths corresponding to each hardware resource in the large-load unmet requirement hardware set are all greater than or equal to a preset comprehensive correlation strength threshold. If the judgment result is yes, enable the system reserved hardware resources to allocate the corresponding hardware resource requirements for the current large-load queue; if the judgment result is no, mark the large-load queue as a device waiting for supplementary resources and wait for re-scheduling operations in the next scheduling cycle.
[0165] It should be noted that the comprehensive correlation strength threshold can be set based on the mean value and standard deviation of the comprehensive correlation strengths of the devices for each hardware resource in the historical operation data.
[0166] For example ; is the comprehensive correlation strength threshold, is the mean value of the comprehensive correlation strengths, is the standard deviation of the comprehensive correlation strengths, and is the corresponding weight coefficient, , in this embodiment, can be set to 0.7, and is set to 0.3.
[0167] Through the multi-layer strategy of introducing software resource pre-allocation, hardware resource coupling strength modeling and sorting, and enabling the reservation mechanism in case of resource shortage for the large-load queue, the differential scheduling control of devices with large resource occupancy and strong real-time performance is realized, the rationality of resource allocation and the overall stability of the system are improved, and it is particularly suitable for the scenario requirements of processing heavy-load task nodes in a multi-axis linkage controller.
[0168] The method for scheduling software and hardware resources for the ordinary queue includes:
[0169] S600: Record the number of devices in the ordinary queue as NUM; let the initial value of num be 1, and the value range of num is from 1 to NUM;
[0170] S601: Obtain the software resource requirement vector of the num-th device in the ordinary queue, and allocate software resources to the num-th device;
[0171] Obtain the hardware resource requirement vector of the num-th device in the ordinary queue, and judge whether the current remaining hardware resources can all meet the hardware resource requirements of the num-th device. If the judgment result is yes, directly allocate hardware resources to the num-th device; if the judgment result is no, generate the scheduling priority scores corresponding to NUM devices;
[0172] Judge whether the scheduling priority score of the num-th device is greater than the scheduling priority scores of the devices that have occupied hardware resources in the ordinary queue; if the judgment result is yes, roll back the hardware resources of the devices that have occupied hardware resources and re-allocate them to the num-th device, mark the devices that have occupied hardware resources as to-be-scheduled after rollback, and wait for continued scheduling; if the judgment result is no, the num-th device enters the state of waiting for hardware resources and waits for continued scheduling;
[0173] S602: Let num = num + 1. If num is less than or equal to num, return to continue executing S601; if num is greater than NUM, end the current process.
[0174] The method for generating the scheduling priority scores corresponding to NUM devices includes:
[0175] Input the device attribute information, access interval time, software resource requirement matrix, hardware resource requirement matrix, and software and hardware resource correlation matrix of NUM devices in the ordinary queue into the scheduling priority scoring model respectively to obtain the scheduling priority scores corresponding to NUM devices.
[0176] The training method of the scheduling priority scoring model includes:
[0177] Pre-collect a scheduling priority scoring data set, which includes H groups of scheduling priority scoring data and the corresponding scheduling priorities. H is a positive integer greater than 0. The scheduling priority scoring data includes device attribute information, access interval time, software resource requirement matrix, hardware resource requirement matrix, and software and hardware resource correlation matrix; divide the scheduling priority scoring data set into a training set and a validation set, where the training set is used to train the scheduling priority scoring model, and the validation set is used to evaluate the generalization performance of the scheduling priority scoring model;
[0178] During the training process of the scheduling priority scoring model, minimize the cross-entropy loss function as the optimization goal, use the early stopping strategy to monitor the performance of the validation set, and optimize the model performance by continuously adjusting the network parameters; when the prediction accuracy on the validation set reaches the expected accuracy, it is determined that the scheduling priority scoring model has converged, and stop training; the scheduling priority scoring model is trained using a decision tree model;
[0179] Convert the scheduling priority scoring data into feature vectors; the input layer of the scheduling priority scoring model receives the feature vectors, extracts the non-linear relationships in the data through the hidden layer, and finally the output layer of the scheduling priority scoring model calculates the probability distribution of the scheduling priorities through the softmax activation function, and outputs the scheduling priority corresponding to the maximum probability as the final prediction result.
[0180] It should be noted that the schematic diagram of the controller full-link service architecture is as Figure 6 shown. In the software and hardware resource scheduling scheme described in this application, software resources mainly manifest as software controllable modules such as control logic interfaces, timing service mechanisms, interrupt service channels, and protocol stacks, which have high reusability and logical adaptation capabilities and usually do not constitute a scheduling bottleneck. Therefore, software resources are more used as the configuration basis and correlation evaluation benchmark for device logic functions to support the construction of the software and hardware resource correlation matrix and device behavior modeling.
[0181] In contrast, hardware resources manifest as physical modules with limited quantity and exclusive use in the controller (such as PWM output modules, encoder interfaces, UART module interfaces, CAN module interfaces, etc.). The allocation result of hardware resources directly affects the availability of device functions and the integrity of the control chain. During the system scheduling process, conflict determination and priority allocation control are mainly carried out for hardware resources to maximize the device adaptation ability and optimize the resource configuration efficiency.
[0182] Example 2:
[0183] Please refer to Figure 2As shown below, this embodiment provides a control method for a high-performance multi-axis linkage motion controller, including:
[0184] Perform adaptive segmentation based on the device attribute information accessed by the controller within a unit time to obtain N device sub-queues to be processed;
[0185] Construct a mapping table between function tags and software resource requirements and a mapping table between function tags and hardware resource requirements based on the device attribute information;
[0186] Construct corresponding software resource requirement matrices and hardware resource requirement matrices based on the N device sub-queues to be processed, the mapping table between function tags and software resource requirements, and the mapping table between function tags and hardware resource requirements;
[0187] Generate a set of software and hardware resource correlation matrices for the N device sub-queues to be processed based on the software resource requirement matrices and the hardware resource requirement matrices;
[0188] Perform software and hardware resource scheduling for the N device sub-queues to be processed based on the device attribute information, the software resource requirement matrices, the hardware resource requirement matrices, and the set of software and hardware resource correlation matrices.
[0189] As mentioned above, it is only the specific implementation manner of the present invention, but the protection scope of the present invention is not limited thereto. Any person skilled in the art within the technical scope disclosed by the present invention can easily think of changes or substitutions, which should all be covered within the protection scope of the present invention. Therefore, the protection scope of the present invention should be subject to the protection scope of the claimed rights.
[0190] Finally: The above is only the preferred embodiment of the present invention and is not used to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principle of the present invention should all be included within the protection scope of the present invention.
Claims
1. A high-performance multi-axis linkage motion controller, characterized in that include: The queue division module performs adaptive division based on the attribute information of the devices connected to the controller within a unit time to obtain N sub-queues of devices to be processed; A mapping construction module constructs a mapping table between function labels and software resource requirements and a mapping table between function labels and hardware resource requirements based on device attribute information; A demand building module, which builds corresponding software resource demand matrix and hardware resource demand matrix based on N to-be-processed device sub-queues, a function label and software resource demand mapping table, and a function label and hardware resource demand mapping table; The association construction module generates a set of software and hardware resource association matrices of N to-be-processed device sub-queues based on the software resource requirement matrix and the hardware resource requirement matrix; The resource scheduling module schedules the software and hardware resources of N to-be-processed device sub-queues based on the device attribute information, the software resource requirement matrix, the hardware resource requirement matrix and the software and hardware resource association matrix set.
2. The high-performance multi-axis linkage motion controller according to claim 1, characterized in that The method for scheduling software and hardware resources for N to-be-processed device sub-queues includes: S500: Let the initial value of n be 1, and the value range of n be 1 to N; S501: Determine whether the nth device sub-queue to be processed contains only one device, and the load score value of the device is greater than or equal to the preset large load score threshold; if the judgment result is yes, mark the nth device sub-queue to be processed as a large load queue, and execute S502; if the judgment result is no, mark the nth device sub-queue to be processed as a common queue, and execute S503; S502: Perform software and hardware resource scheduling for the heavy load queue, and execute S504; S503: Perform software and hardware resource scheduling for the common queue and execute S504; S504: Let n=n+1. If n is less than or equal to N, return to S501 to continue execution; if n is greater than N, end the current process.
3. The high-performance multi-axis linkage motion controller according to claim 2, wherein Methods for scheduling software and hardware resources for large load queues include: Obtaining a software resource demand vector of a heavy-load queue and allocating software resources to the heavy-load queue; Obtain the software and hardware resource correlation matrix of the large load queue; record the number of columns of the software and hardware resource correlation matrix as LN; perform item-by-item multiplication operations on the software resource demand vector and the LN columns of the software and hardware resource correlation matrix respectively to obtain LN comprehensive correlation strengths; Sort the LN comprehensive association strengths in descending order to form a hardware resource priority allocation sequence for the large load queue in the current scheduling cycle; According to the hardware resource priority allocation sequence, scheduling judgment and resource allocation are performed on each hardware resource in the hardware resource priority allocation sequence in turn.
4. The high-performance multi-axis linkage motion controller according to claim 3, wherein The method for scheduling and determining each hardware resource in the hardware resource priority allocation sequence and allocating resources includes: If the remaining hardware resources currently meet the hardware resource requirements of the heavy-load queue, the corresponding hardware resources are directly allocated to the heavy-load queue; If only some of the current remaining hardware resources meet the hardware resource requirements of the large-load queue, the unmet hardware resources are constructed into a set of hardware resources with unmet large-load requirements, and it is judged whether the comprehensive correlation strength corresponding to each hardware resource in the set of hardware resources with unmet large-load requirements is greater than or equal to the preset comprehensive correlation strength threshold. If the judgment result is yes, the system reserved hardware resources are enabled to allocate the corresponding hardware resource requirements for the current large-load queue; if the judgment result is no, the large-load queue is marked as a device waiting for supplementary resources and waits for re-scheduling operation in the next scheduling cycle.
5. The high-performance multi-axis linkage motion controller according to claim 2, characterized in that, The method for scheduling software and hardware resources for an ordinary queue includes: S600: Record the number of devices in the ordinary queue as NUM; let the initial value of num be 1, and the value range of num is from 1 to NUM; S601: Obtain the software resource requirement vector of the num-th device in the ordinary queue and allocate software resources for the num-th device; Obtain the hardware resource requirement vector of the num-th device in the ordinary queue, and judge whether the current remaining hardware resources all meet the hardware resource requirements of the num-th device. If the judgment result is yes, directly allocate hardware resources for the num-th device; if the judgment result is no, generate scheduling priority scores corresponding to NUM devices; Judge whether the scheduling priority score of the num-th device is greater than the scheduling priority scores of the devices that have occupied hardware resources in the ordinary queue; if the judgment result is yes, roll back the hardware resources of the devices that have occupied hardware resources and re-allocate them to the num-th device, mark the devices that have occupied hardware resources as waiting for re-scheduling and wait for continued scheduling; if the judgment result is no, the num-th device enters the state of waiting for hardware resources and waits for continued scheduling; S602: Let num = num + 1. If num is less than or equal to num, return to continue executing S601; if num is greater than NUM, end the current process.
6. The high-performance multi-axis linkage motion controller according to claim 5, wherein The method for generating scheduling priority scores corresponding to NUM devices includes: Input the device attribute information, access interval time, software resource requirement matrix, hardware resource requirement matrix, and software and hardware resource correlation matrix of the NUM devices in the ordinary queue into the scheduling priority score model respectively to obtain the scheduling priority scores corresponding to the NUM devices.
7. The high-performance multi-axis linkage motion controller according to claim 1, characterized in that, The method for obtaining N sub-queues of devices to be processed includes: S100: Record the number of devices accessing the controller within a unit time as TL; let the initial value of tl be 1, and the value range of tl is from 1 to TL; let the counting variable n of the sub-queue of devices to be processed have an initial value of 1; let the initial value of the load score cumulative value FZLJ be 0; S101: Obtain the device attribute information of the tl-th access device; if tl is equal to 1, set the access interval time of the tl-th device to 0; if tl is not equal to 1, perform a difference calculation on the access time of the tl-th device and the access time of the tl - 1-th device to obtain the access interval time of the tl-th device; S102: Input the device attribute information and access interval time of the tl-th device into the load score model to obtain the corresponding load score value FZPF; S103: If the load score value is greater than or equal to the preset load score cumulative value threshold; if the nth to-be-processed device sub-queue is empty, add the tlth device to the nth to-be-processed device sub-queue, and set n=n+1; if the nth to-be-processed device sub-queue is not empty, add the tlth device to the n+1th to-be-processed device sub-queue, and set n=n+2; set FZLJ=0, tl=tl+1, if tl is less than TL, return to S101 for execution, if tl is greater than or equal to TL, end the current process; If the load score value is less than the preset load score cumulative value threshold, set FZLJ=FZLJ+FZPF; if the load score cumulative value FZLJ is less than the preset load score cumulative value threshold, add the tlth device to the nth pending device subqueue, set tl=tl+1, if tl is less than TL, return to S101 for execution, if tl is greater than or equal to TL, end the current process; if the load score cumulative value is greater than or equal to the preset load score cumulative value threshold, set n=n+1, FZLJ=0, and return to S101 for execution.
8. The high-performance multi-axis linkage motion controller according to claim 1, characterized in that The method for constructing the function label and software resource requirement mapping table and the function label and hardware resource requirement mapping table includes: Define a set of function labels based on the multiple types of device functions supported by the controller; According to the resource management rules inside the controller, determine the types and quantities of software resources and hardware resources of each functional tag in actual operation; For each function label, list the corresponding software resource items and hardware resource items respectively, and assign specific required quantity values to each resource item according to the resource occupancy situation; when there is a resource item that is not associated with the current function label, set it to zero in the corresponding cell; fill in the required quantity values through the one-to-one correspondence between function labels and resource items, and construct the function label and software resource requirement mapping table and the function label and hardware resource requirement mapping table respectively.
9. The high-performance multi-axis linkage motion controller according to claim 1, characterized in that, The method for obtaining the software resource requirement matrix includes: S200: Let the initial value of n be 1, and the value range of n be 1 to N; S201: Denote the number of devices in the nth device sub-queue to be processed as , and extract the corresponding function label sets for each device in the nth device sub-queue to be processed, obtaining function label sets; S202: Match each of the function label sets with the function label - software resource requirement mapping table, and extract the software resource requirement vectors of each function label in the controller operating environment in the function label sets; S203: Adding the software resource requirement vectors corresponding to the function labels of each device one by one to obtain a total software resource requirement vector of each device; S204: Combine the total software resource requirement vectors corresponding to devices in sequence according to the device dimension to construct the software resource requirement matrix of the nth device sub-queue to be processed; S205: Let n=n+1. If n is less than or equal to N, return to S201 to continue execution; if n is greater than N, end the current process.
10. The high-performance multi-axis linkage motion controller according to claim 1, characterized in that, The method for obtaining the hardware resource requirement matrix includes: S300: Let the initial value of n be 1, and the value range of n be 1 to N; S301: Denote the number of devices in the nth device sub-queue to be processed as , and extract the corresponding function label sets for each device in the nth device sub-queue to be processed, obtaining function label sets; S302: Compare each of the function label sets with the function label - hardware resource requirement mapping table, and extract the hardware resource requirement vectors of each function label in the controller operating environment from the function label sets; S303: Adding the hardware resource requirement vectors corresponding to the function labels of each device one by one to obtain the total hardware resource requirement vector of each device; S304: Combine the total vectors of hardware resource requirements corresponding to devices in sequence according to the device dimension to construct the hardware resource requirement matrix of the nth device sub-queue to be processed; S305: Let n=n+1. If n is less than or equal to N, return to S301 to continue execution; if n is greater than N, end the current process.
11. The high-performance multi-axis linkage motion controller according to claim 1, characterized in that, The method for obtaining the software and hardware resource association matrix set of N to-be-processed device sub-queues includes: S400: Let the initial value of n be 1, and the value range of n be 1 to N; S401: Obtain the software resource requirement matrix and the hardware resource requirement matrix of the nth device sub-queue to be processed; pair-wise cross-combine all the software resource requirement items and hardware resource requirement items of each device in the nth device sub-queue to be processed to obtain the software and hardware resource combination set of each device; S402: Input the device attribute information, software and hardware resource combination set, software resource requirement item, software resource requirement value, hardware resource requirement item, and hardware resource requirement value of each device in the nth device sub-queue to be processed into the correlation evaluation model to obtain the software and hardware resource combination correlation set of each device; S403: Construct the software and hardware resource correlation matrix corresponding to each device from the software and hardware resource combination set and the software and hardware resource combination correlation set of each device in the nth device sub-queue to be processed; and construct the software and hardware resource correlation matrix set of the nth device sub-queue to be processed from the software and hardware resource correlation matrices corresponding to each device. S404: Let n = n + 1. If n is less than or equal to N, return to S401 to continue execution; if n is greater than N, end the current process.
Citation Information
Patent Citations
Hardware resource allocation method and apparatus, electronic device
CN107992351A
Self-adaptive resource matching acquisition method and system
CN115408152A
Heterogeneous hardware computing power scheduling method and device, equipment and medium
CN118626263A
Multi-port test equipment resource allocation management system and method
CN119781989A
Semantic information based grid management system and method for grid computing
KR100806523B1