High-performance multi-axis motion controller
Through adaptive queue division and resource correlation matrix construction, multi-class equipment resources are dynamically scheduled, which solves the problems of poor coarse granularity and flexibility of resource scheduling strategies in existing controller systems, and improves the system's resource utilization efficiency and response capabilities.
Patent Information
- Application Number
- CN202510749862.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-06
- Publication Date
- 2025-08-12
- Estimated Expiration
- 2045-06-06
AI Technical Summary
It is difficult for existing controller systems to build an accurate mapping between device logic functions and software and hardware resources in the collaborative control of multiple types of peripherals, resulting in coarse granularity and poor flexibility of resource scheduling strategies, which can easily cause resource competition and response delays, affecting the real-time and robustness of the system.
The queue division module is used for adaptive segmentation, a functional label and resource requirement mapping table is constructed, a software and hardware resource correlation matrix is generated, and a load score and scheduling priority score is combined, and resources are dynamically scheduled, which is given priority to guarantee the supply of large-load queue resources, and the normal queue resource conflicts are reversed.
It realizes refined resource management in multiple types of equipment access scenarios, improves resource utilization efficiency, real-time response capabilities and system robustness, and reduces resource competition risks.
Smart Images

Figure CN120255462B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of adaptive control technology, and more particularly to a high-performance multi-axis linkage motion controller. Background Art
[0002] To adapt to heterogeneous task environments and the demands of collaborative control of multiple peripherals, existing controller systems typically need to support the dynamic access of multiple external devices, such as encoders, limit switches, I / O modules, and servo drives, and manage their real-time resource allocation and efficient scheduling. In this context, control systems face complex scheduling challenges balancing device diversity, resource constraints, and real-time responsiveness.
[0003] However, in practical applications, existing technologies generally use fixed strategies for device scheduling and resource allocation, failing to effectively establish a precise mapping relationship between device logical functions and software and hardware resources. They also lack a resource modeling mechanism centered around functional tags, making it difficult to dynamically partition and optimize device access behavior and operational load. Existing scheduling strategies suffer from coarse granularity and poor flexibility, which can easily lead to mixed scheduling of critical devices and low-priority tasks, causing resource contention, response delays, and even control link interruptions or overall operational uncertainty, impacting the real-time and robustness of the system.
[0004] Therefore, it is urgent to propose a high-performance resource scheduling method with dynamic recognition capability, fine-grained resource modeling mechanism and flexible scheduling strategy to improve the resource adaptation capability and system scheduling efficiency of multi-axis linkage motion controllers in complex multi-device access scenarios. Summary of the Invention
[0005] In order to overcome the above-mentioned defects of the prior art and achieve the above-mentioned objectives, the present invention provides the following technical solutions: a high-performance multi-axis linkage motion controller, comprising:
[0006] The queue division module performs adaptive segmentation based on the attribute information of the devices connected to the controller per unit time, and obtains N sub-queues of devices to be processed;
[0007] 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;
[0008] A demand construction module, which constructs corresponding software resource demand matrices and hardware resource demand matrices based on the N pending device sub-queues, the function label and software resource demand mapping table, and the function label and hardware resource demand mapping table;
[0009] 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;
[0010] The resource scheduling module schedules software and hardware resources for N pending device sub-queues based on device attribute information, software resource requirement matrix, hardware resource requirement matrix, and software and hardware resource correlation matrix set.
[0011] Furthermore, the method for scheduling software and hardware resources for the N pending 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 pending device subqueue contains only one device, and whether the load score value of the device is greater than or equal to a preset high-load score threshold; if so, mark the nth pending device subqueue as a high-load queue, and execute S502; if not, mark the nth pending device subqueue as a normal queue, and execute S503;
[0014] S502: Scheduling software and hardware resources for the heavily loaded queue, and executing 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 heavily loaded 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 heavy-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 correlation strengths in descending order to form a hardware resource priority allocation sequence for the heavy 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 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.
[0024] If the currently remaining hardware resources only partially meet the hardware resource requirements of the heavy-load queue, the unsatisfied hardware resources will be constructed into a heavy-load unsatisfied hardware set, and it will be determined whether the comprehensive correlation strength corresponding to each hardware resource in the heavy-load unsatisfied hardware set is greater than or equal to the preset comprehensive correlation strength threshold. If the judgment result is yes, the system reserved hardware resources will be enabled to allocate the corresponding hardware resource requirements to the current heavy-load queue; if the judgment result is no, the heavy-load queue will be marked as a resource device to be supplemented, waiting for the next scheduling cycle to be re-scheduled.
[0025] Furthermore, the method for scheduling software and hardware resources for a common queue includes:
[0026] S600: Record the number of devices in the common queue as NUM; set the initial value of num to 1, and the value range of num to 1 to NUM;
[0027] S601: Obtain the software resource demand vector of the num-th device in the common queue and allocate software resources to the num-th device;
[0028] Get the hardware resource requirement vector of the num-th device in the normal queue, and determine whether the currently remaining hardware resources all meet the hardware resource requirements of the num-th device. If so, directly allocate hardware resources to the num-th device; if not, generate the scheduling priority scores corresponding to NUM devices.
[0029] Determine whether the scheduling priority score of the numth device is greater than the scheduling priority score of the device that has occupied the hardware resources in the normal queue; if the judgment result is yes, the hardware resources of the device that has occupied the hardware resources are rolled back and reallocated to the numth device, and the device that has occupied the hardware resources is marked as rolled back and waiting for scheduling; if the judgment result is no, the numth device enters the waiting for hardware resources state and waits for 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 NUM devices.
[0033] Furthermore, the method for obtaining N to-be-processed device sub-queues includes:
[0034] S100: The number of devices connected to the controller per unit time is recorded as TL; the initial value of tl is set to 1, and the value range of tl is 1 to TL; the initial value of the counting variable n of the device subqueue to be processed is set to 1; the initial value of the load score cumulative value FZLJ is set to 0;
[0035] S101: Obtain device attribute information of the t1th connected device; if t1 is equal to 1, set the access interval of the t1th device to 0; if t1 is not equal to 1, calculate the difference between the access time of the t1th device and the access time of the t1-1th device to obtain the access interval of the t1th device;
[0036] S102: Input the device attribute information and access interval of the t1th 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 nth pending device sub-queue is empty, then add the tlth device to the nth pending device sub-queue, setting n=n+1; if the nth pending device sub-queue is not empty, then add the tlth device to the n+1th pending device sub-queue, setting 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, then end the current process;
[0038] 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 tl-th device to the n-th 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.
[0039] Furthermore, 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 set of function tags based on the multiple device function types supported by the controller;
[0041] According to the resource management rules within the controller, determine the types and quantities of software resources and hardware resources for each functional tag in actual operation;
[0042] For each function label, the corresponding software resource items and hardware resource items are listed respectively, and a specific required quantity value is assigned 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, it is set to zero in the corresponding cell; the required quantity values are filled in by one-to-one correspondence between function labels and resource items, and a function label and software resource requirement mapping table and a function label and hardware resource requirement mapping table are constructed 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 be 1 to N;
[0045] S201: Record the number of devices in the nth pending device sub-queue as , extract the corresponding function tag set for each device in the nth pending device sub-queue, and obtain A set of function labels;
[0046] S202: The function tag sets are matched with the function tag and software resource requirement mapping table respectively, and the The software resource requirement vector of each function tag in the controller running environment in the function tag set;
[0047] S203: Adding the software resource requirement vectors corresponding to the function labels of each device one by one to obtain the total software resource requirement vector of each device;
[0048] S204: The total software resource demand vectors corresponding to the devices are sequentially combined according to the device dimension to construct the software resource demand 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, return to S201 to continue execution; if n is greater than N, 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 be 1 to N;
[0052] S301: Record the number of devices in the nth pending device sub-queue as , extract the corresponding function tag set for each device in the nth pending device sub-queue, and obtain A set of function labels;
[0053] S302: The function tag sets are matched with the function tag and hardware resource requirement mapping table respectively, and the The hardware resource requirement vector of each function tag in the controller operation environment in the function tag set;
[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, a method for obtaining a set of software and hardware resource association matrices of N pending 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 device sub-queue to be processed; perform a pairwise cross-combination of all software resource requirement items and hardware resource requirement items of each device in the nth device sub-queue to be processed to obtain a software and hardware resource combination set for 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 a correlation evaluation model to obtain a software and hardware resource combination correlation set for each device;
[0061] S403: Constructing the software and hardware resource combination set and the software and hardware resource combination correlation set of each device in the nth to-be-processed device sub-queue into a software and hardware resource correlation matrix corresponding to each device; and constructing the software and hardware resource correlation matrix corresponding to each device into a software and hardware resource correlation 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 existing technology, the technical effects and advantages of the high-performance multi-axis linkage motion controller of the present invention are as follows:
[0064] This application achieves refined resource management and dynamic scheduling of multiple types of access devices by constructing a sub-queue division mechanism based on device load scoring, a software and hardware resource demand matrix modeling mechanism, and a software and hardware resource correlation analysis mechanism.
[0065] Specifically, by collecting the attribute information and access interval time of the access device, and combining the trained load scoring model to dynamically divide the device sub-queues to be processed, not only the recognition efficiency of high-load devices is improved, but also isolated sub-queues can be automatically constructed for single-device high-load scenarios to reduce the risk of resource competition. Furthermore, the present application constructs a mapping table between function labels and software / hardware resource requirements, extracts demand vectors based on the logical functions of the device, and constructs a software and hardware resource correlation matrix through resource combination to quantify the coupling strength between various types of resources. On this basis, scheduling strategies are set separately for heavy-load queues and ordinary queues, among which heavy-load queues give priority to guaranteeing resource supply, and introduce a reserved resource mechanism in combination with the correlation threshold to improve the real-time and fault-tolerance of resource scheduling; ordinary queues perform resource conflict fallback and replacement based on the scheduling priority score to achieve fair task scheduling and efficient system operation.
[0066] To sum up, compared with the existing fixed scheduling strategy, this application can dynamically adjust the scheduling logic and resource allocation path according to the 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 system's resource utilization efficiency, real-time response capability and overall robustness in the scenario of concurrent access of multiple devices. BRIEF DESCRIPTION OF THE DRAWINGS
[0067] Figure 1 This is a schematic diagram of a high-performance multi-axis linkage motion controller module according to Example 1 of the present invention;
[0068] Figure 2 This is a flow chart of a control method for a high-performance multi-axis linkage motion controller according to embodiment 2 of the present invention;
[0069] Figure 3 Flowchart for device access and queue division;
[0070] Figure 4 Generate a flow chart for the software and hardware resource dependency matrix;
[0071] Figure 5 It is a logic diagram for resource scheduling decision;
[0072] Figure 6 This is a diagram of the controller's full-link business architecture. DETAILED DESCRIPTION
[0073] The technical solutions in the embodiments of the present invention will be described in detail, clearly and completely below in conjunction with the accompanying drawings in the embodiments of the present invention. It should be noted that the specific embodiments described below are only used to better illustrate and describe the technical solutions of the present invention, and are intended to enable those skilled in the art to better understand and implement the present invention, and should not be construed as limiting the scope of protection of the present invention. Without departing from the spirit and essence of the present invention, those skilled in the art may modify, adjust or make equivalent replacements based on the contents disclosed in the present invention, and these should all be regarded as the scope of protection of the present invention.
[0074] Example 1:
[0075] See also 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 demand construction module, an association construction module and a resource scheduling module. Each module realizes data transmission through wired and / or wireless connections.
[0076] The queue division module performs adaptive segmentation based on the device attribute information of the device connected to the controller within a unit time to obtain N sub-queues of devices to be processed; the device attribute information includes the device name and the device logical function.
[0077] The device names include encoder, limit switch, servo drive, IO, DC-DC converter and CAN; the device logic functions include input, output, encoding, communication and PWM;
[0078] like Figure 3 As shown, the method for obtaining N pending device subqueues includes:
[0079] S100: The number of devices connected to the controller per unit time is recorded as TL; the initial value of tl is set to 1, and the value range of tl is 1 to TL; the initial value of the counting variable n of the device subqueue to be processed is set to 1; the initial value of the load score cumulative value FZLJ is set to 0;
[0080] S101: Obtain device attribute information of the t1th connected device; if t1 is equal to 1, set the access interval of the t1th device to 0; if t1 is not equal to 1, calculate the difference between the access time of the t1th device and the access time of the t1-1th device to obtain the access interval of the t1th device;
[0081] S102: Input the device attribute information and access interval of the t1th device into the load scoring 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 pending device sub-queue is empty, then add the tlth device to the nth pending device sub-queue, setting n=n+1; if the nth pending device sub-queue is not empty, then add the tlth device to the n+1th pending device sub-queue, setting 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, then end the current process;
[0083] 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 tl-th device to the n-th 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.
[0084] The training method of the load scoring model includes:
[0085] Pre-collecting a load scoring dataset, the load scoring dataset including PF group load scoring data and load scoring values corresponding to the PF group load scoring data, where PF is a positive integer greater than 0, and the load scoring data includes device attribute information and access interval time; dividing the load scoring dataset into a training set and a validation set, wherein 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 load scoring model training process, minimizing the cross-entropy loss function is used as the optimization objective. An early stopping strategy is used to monitor the performance of the validation set, and the model performance is optimized by continuously adjusting the network parameters. When the prediction accuracy on the validation set reaches the expected accuracy, the load scoring model is determined to have converged and training is stopped. The load scoring model is trained using a long short-term memory network model.
[0087] The load score data is converted into feature vectors; the input layer of the load score model receives the feature vectors, and the nonlinear relationship in the data is extracted through the hidden layer. Finally, the output layer of the load score 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 load score cumulative value threshold is set to 80. Then, when the load score cumulative value of the device in the same sub-queue reaches or exceeds 80, it will be automatically divided into a new sub-queue.
[0089] The present application can achieve real-time diversion and intelligent grouping of access devices by introducing a dynamic partitioning mechanism based on load scores in the process of obtaining the sub-queues of devices to be processed. Specifically, when the present invention detects that the load score of a certain device exceeds the preset load score cumulative value threshold, an independent allocation strategy is adopted for the 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 devices in the current sub-queue, a new sub-queue is opened for the device, thereby ensuring that the overloaded device is 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 performance 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 scheduling and resource allocation, thereby improving the overall processing efficiency and stability of the system. In addition, through the precise identification and independent allocation of devices with load scores that exceed the threshold individually, it can effectively cope with complex application scenarios with intensive device access and high load bursts, and significantly enhance the system's adaptability and dynamic load balancing capabilities.
[0090] The 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.
[0091] The method for constructing the function label and software resource requirement mapping table and the function label and hardware resource requirement mapping table includes:
[0092] Based on the device function types supported by the controller, a function tag set is defined; the function tags in the function tag set are used to describe the basic logical functions of the device connected to the controller, which include input function, output function, PWM control function, communication function and encoder function;
[0093] Based on the controller's internal resource management rules, the types and quantities of software resources required for the implementation of each function tag are determined, as well as the types and quantities of hardware resources required for the implementation of each function tag. The types of software resources include GPIO pin resources, interrupt vector resources, timer channel resources, DMA data handling 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. The types and quantities of software resources and hardware resources corresponding to different function tags can be set according to the specific software and hardware architecture of the controller, which is scalable.
[0094] For each function label, list the software resource items that must be occupied to implement the function label, and assign a specific required quantity value to each software resource item. If a function label does not involve a certain software resource, fill the corresponding cell with zero. Build a mapping table between function labels and software resource requirements in a one-to-one correspondence between function labels and software resource items.
[0095] For each function tag, list the hardware resource items that must be occupied to implement the function tag, and assign a specific required quantity value to each hardware resource item. In accordance with the one-to-one correspondence between function tags and hardware resource items, construct a mapping table between function tags and hardware resource requirements.
[0096] An example of a mapping table between function labels and software resource requirements is shown in Table 1:
[0097] Table 1 Mapping table of function labels and software resource requirements
[0098] Function label software resource item GPIO requirements Interruption requirements Timer requirements DMA channel requirements Communication stack channel requirements 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 a mapping table between function labels and hardware resource requirements is shown in Table 2:
[0100] Table 2 Mapping table of function labels and hardware resource requirements
[0101] Function label hardware resource item PWM module requirements Encoder interface requirements UART module requirements CAN module requirements Simulation sampling requirements 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 demand construction module constructs corresponding software resource demand matrix and hardware resource demand matrix based on N pending device sub-queues, a function label and software resource demand mapping table, and a function label and hardware resource demand mapping table.
[0103] The method for obtaining the software resource requirement matrix includes:
[0104] S200: Let the initial value of n be 1, and the value range of n be 1 to N;
[0105] S201: Record the number of devices in the nth pending device sub-queue as , extract the corresponding function tag set for each device in the nth pending device sub-queue, and obtain A set of function labels;
[0106] S202: The function tag sets are matched with the function tag and software resource requirement mapping table respectively, and the The software resource requirement vector of each function tag in the controller running environment in the function tag set;
[0107] For example, the function tag set of a limit switch is {input, output}, where {input, output} is the device logic function corresponding to the limit switch; for example, the function tag set of a servo drive is {PWM, communication}, where {PWM, communication} is the device logic function corresponding to the servo drive.
[0108] S203: Adding the software resource requirement vectors corresponding to the function labels of each device one by one to obtain the total software resource requirement vector of each device;
[0109] For example, the software resource requirement vector of the input function of the 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 the servo drive is [0, 1, 1, 1, 0], and the software resource requirement vector of the communication function of the servo drive is [1, 1, 0, 1, 1], that is, the total software resource requirement vector of the servo drive is [1, 2, 1, 2, 1].
[0111] S204: The total software resource demand vectors corresponding to the devices are sequentially combined according to the device dimension to construct the software resource demand 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] An example of a tabular representation of the software resource requirement matrix for the nth pending device sub-queue is shown in Table 3:
[0114] Table 3 Software resource requirement matrix
[0115] GPIO requirements Interruption requirements Timer requirements DMA channel requirements Communication stack channel requirements limit switches 2 1 0 0 0 Servo drives 1 2 1 2 1
[0116] It's important to note that the software resource requirement matrix described above clearly demonstrates the controller software resource usage of each access device. This allows for subsequent resource scheduling based on a standardized data structure, enabling rapid dynamic allocation, mapping, and conflict detection of software resources. Furthermore, the matrix supports a decoupled combination of device and function tag dimensions, facilitating mixed access scenarios involving multiple multi-function and multi-type devices, improving system resource utilization and scalability.
[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 be 1 to N;
[0119] S301: Record the number of devices in the nth pending device sub-queue as , extract the corresponding function tag set for each device in the nth pending device sub-queue, and obtain A set of function labels;
[0120] S302: The function tag sets are matched with the function tag and hardware resource requirement mapping table respectively, and the The hardware resource requirement vector of each function tag in the controller operation environment in the function tag set;
[0121] The examples of function tag sets are the same as above. For example, the function tag set of a limit switch is {input, output}, where {input, output} is the device logic function corresponding to the limit switch; for example, the function tag set of a servo drive is {PWM, communication}, where {PWM, communication} is the device logic function corresponding to the servo drive.
[0122] 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;
[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 drive is [1, 0, 1, 0, 0], and the hardware resource requirement vector of the communication function of the servo drive is [0, 0, 1, 1, 0], that is, the total hardware resource requirement vector of the servo drive is [1, 0, 2, 1, 0].
[0125] 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;
[0126] 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.
[0127] An example of a tabular representation of the hardware resource requirement matrix of the nth pending device sub-queue is shown in Table 4:
[0128] Table 4 Hardware resource requirement matrix
[0129] PWM module requirements Encoder interface requirements UART module requirements CAN module requirements Simulation sampling requirements limit switches 1 0 0 2 0 Servo drives 1 0 2 1 0
[0130] The association construction module generates a set of software and hardware resource association matrices for the N pending device subqueues based on the software and hardware resource requirement matrices. These matrices measure the degree of combined coupling between different software and hardware resources to support subsequent resource optimization and conflict avoidance.
[0131] The method for obtaining the software and hardware resource association matrix set of N pending device sub-queues includes:
[0132] S400: Let the initial value of n be 1, and the value range of n be 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 a pairwise cross-combination of all software resource requirement items and hardware resource requirement items of each device in the nth device sub-queue to be processed to obtain a software and hardware resource combination set for each device;
[0134] For example, the software resource requirements of the limit switch are GPIO requirements, interrupt requirements, timer requirements, DMA channel requirements, and communication stack channel requirements; the hardware resource requirements of the limit switch are PWM module requirements, encoder interface requirements, UART module requirements, CAN module requirements, and analog sampling requirements.
[0135] The combination of software and hardware resources of the limit switch is {GPIO requirements - PWM module requirements, GPIO requirements - encoder interface requirements, GPIO requirements - UART module requirements, GPIO requirements - CAN module requirements, GPIO requirements - analog sampling requirements, interrupt requirements - PWM module requirements, interrupt requirements - encoder interface requirements, interrupt requirements - UART module requirements, interrupt requirements - CAN module requirements, interrupt requirements - analog sampling requirements, timer requirements - PWM module requirements, timer requirements - encoder interface requirements, timer requirements - UART module requirements, timer requirements - CAN module requirements, timer requirements - analog sampling requirements, DMA channel requirements - PWM module requirements, DMA channel requirements - encoder interface requirements, DMA channel requirements - UART module requirements, DMA channel requirements - CAN module requirements, DMA channel requirements - analog sampling requirements, communication stack channel requirements - PWM module requirements, communication stack channel requirements - encoder interface requirements, communication stack channel requirements - UART module requirements, communication stack channel requirements - CAN module requirements, communication stack channel requirements - analog sampling requirements}.
[0136] 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 a correlation evaluation model to obtain a software and hardware resource combination correlation set for each device;
[0137] S403: Constructing the software and hardware resource combination set and the software and hardware resource combination correlation set of each device in the nth to-be-processed device sub-queue into a software and hardware resource correlation matrix corresponding to each device; and constructing the software and hardware resource correlation matrix corresponding to each device into a software and hardware resource correlation matrix set of the nth to-be-processed device sub-queue;
[0138] For example, an example of the tabular representation of the software and hardware resource dependency matrix of a limit switch is shown in Table 5:
[0139] Table 5 Software and hardware resource correlation matrix
[0140] Software resources Hardware resources PWM module requirements Encoder interface requirements UART module requirements CAN module requirements Simulation sampling requirements GPIO requirements 0 0.2 0.5 0.5 0.3 Interruption requirements 1.0 1.0 0.8 0.8 0.6 Timer requirements 1.0 1.0 0.3 0.3 0.2 DMA channel requirements 0.8 0.5 1.0 1.0 0.6 Communication stack channel requirements 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 follows: 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 based on the cross-modeling result of resource combination 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. The value range is 0 to 1. The larger the value, the stronger the resource dependency between the two.
[0142] Taking a limit switch as an example, its software resource requirements include GPIO, interrupt, timer, DMA channel, and communication stack channel requirements. Its hardware resource requirements include PWM module, encoder interface, UART module, CAN module, and analog sampling requirements, constituting 25 combinations of software and hardware resources. By establishing a correlation evaluation model to numerically evaluate the correlations of these resource combinations, a complete software and hardware resource correlation matrix can be constructed. For example, the coupling between interrupt resources and PWM modules and encoder interfaces can be set to 1.0, indicating a high degree of dependency; while the coupling between the communication stack and analog sampling can be set to 0, indicating no dependency. This matrix allows the identification of highly coupled resource paths before resource scheduling, avoiding resource conflicts in advance and improving the adaptability of resource allocation and the stability of system operation.
[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 association evaluation model includes:
[0145] Preliminarily collecting a correlation evaluation data set, the correlation evaluation data set including GL group correlation evaluation data and a software and hardware resource combination correlation set corresponding to the GL group correlation evaluation data, where GL is a positive integer greater than 0, and the correlation evaluation data including device attribute information, a software and hardware resource combination set, software resource requirement items, software resource requirement values, hardware resource requirement items, and hardware resource requirement values; dividing the correlation evaluation data set into a training set and a validation set, wherein the training set is used to train a 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 association evaluation model, minimizing the cross entropy loss function is used as the optimization goal. The performance of the validation set is monitored using an early stopping strategy, and the model performance is optimized by continuously adjusting the network parameters. When the prediction accuracy on the validation set reaches the expected accuracy, it is determined that the association evaluation model has converged and training is stopped. The association evaluation model is trained using a support vector machine model.
[0147] The correlation evaluation data is converted into feature vectors; the input layer of the correlation evaluation model receives the feature vectors, and the nonlinear relationship in the data is extracted through the hidden layer. Finally, the output layer of the correlation evaluation model calculates the probability distribution of the software and hardware resource combination correlation set through the softmax activation function, and outputs the software and hardware resource combination correlation set corresponding to the maximum probability as the final prediction result.
[0148] It should be noted that through the above-mentioned process of constructing the software and hardware resource combination and correlation matrix, the resource mapping relationship between software driver requirements and hardware physical interfaces can be evaluated a priori before the actual allocation of resources, providing fine-grained, high-confidence resource conflict prediction and optimization basis for subsequent resource scheduling modules, effectively improving the system's resource utilization and dynamic configuration stability.
[0149] The resource scheduling module schedules software and hardware resources for N pending device sub-queues based on device attribute information, software resource requirement matrix, hardware resource requirement matrix, and software and hardware resource correlation matrix set.
[0150] like Figure 5 As shown, the method for scheduling software and hardware resources for N pending device sub-queues includes:
[0151] S500: Let the initial value of n be 1, and the value range of n be 1 to N;
[0152] S501: Determine whether the nth pending device subqueue contains only one device, and whether the load score value of the device is greater than or equal to a preset high-load score threshold; if so, mark the nth pending device subqueue as a high-load queue, and execute S502; if not, mark the nth pending device subqueue as a normal queue, and execute S503;
[0153] S502: Scheduling software and hardware resources for the heavily loaded queue, and executing S504;
[0154] S503: Perform software and hardware resource scheduling for the common 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] Methods for scheduling software and hardware resources for heavily loaded queues include:
[0157] Obtaining a software resource demand vector of a heavy-load queue and allocating software resources to the heavy-load queue;
[0158] Obtain the software and hardware resource correlation matrix of the heavy-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;
[0159] For example, the software resource requirement vector is [1, 0, 1, 1, 0]. Taking the software and hardware resource correlation matrix in Table 5 as an example, the multiplication result of the software resource requirement 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 requirement 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] Sort the LN comprehensive correlation strengths in descending order to form a hardware resource priority allocation sequence for the heavy load queue in the current scheduling cycle;
[0161] 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.
[0162] The method for scheduling and determining each hardware resource in the hardware resource priority allocation sequence and allocating resources includes:
[0163] 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.
[0164] If the currently remaining hardware resources only partially meet the hardware resource requirements of the heavy load queue, the unsatisfied hardware resources will be constructed into a heavy load unsatisfied hardware set, and further judgment will be made as to whether the comprehensive correlation strength corresponding to each hardware resource in the heavy load unsatisfied hardware set is greater than or equal to the preset comprehensive correlation strength threshold. If the judgment result is yes, the system reserved hardware resources will be enabled to allocate the corresponding hardware resource requirements for the current heavy load queue; if the judgment result is no, the heavy load queue will be marked as a resource device to be supplemented, and will wait for the next scheduling cycle to re-schedule.
[0165] It should be noted that the comprehensive association strength threshold may be set based on the mean value and standard deviation of the comprehensive association strength of the device to each hardware resource in historical operation data.
[0166] For example ; is the comprehensive association strength threshold, is the mean value of comprehensive correlation strength, is the standard deviation of the comprehensive correlation strength, and is the corresponding weight coefficient, In this embodiment, Set to 0.7, Set to 0.3.
[0167] By introducing a multi-layer strategy for large-load queues, including prior allocation of software resources, modeling and sorting of hardware resource coupling strength, and enabling a reservation mechanism when resources are insufficient, differentiated scheduling and control of devices with large resource consumption and strong real-time requirements are achieved, improving the rationality of resource allocation and the overall stability of the system. This is particularly suitable for scenarios requiring the processing of heavy-load task nodes in multi-axis linkage controllers.
[0168] Methods for scheduling software and hardware resources for common queues include:
[0169] S600: Record the number of devices in the common queue as NUM; set the initial value of num to 1, and the value range of num to 1 to NUM;
[0170] S601: Obtain the software resource demand vector of the num-th device in the common queue and allocate software resources to the num-th device;
[0171] Get the hardware resource requirement vector of the num-th device in the normal queue, and determine whether the currently remaining hardware resources all meet the hardware resource requirements of the num-th device. If so, directly allocate hardware resources to the num-th device; if not, generate the scheduling priority scores corresponding to NUM devices.
[0172] Determine whether the scheduling priority score of the numth device is greater than the scheduling priority score of the device that has occupied the hardware resources in the normal queue; if the judgment result is yes, the hardware resources of the device that has occupied the hardware resources are rolled back and reallocated to the numth device, and the device that has occupied the hardware resources is marked as rolled back and waiting for scheduling; if the judgment result is no, the numth device enters the waiting for hardware resources state and waits for 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 scheduling priority scores corresponding to NUM devices includes:
[0175] 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 NUM devices.
[0176] The training method of the scheduling priority scoring model includes:
[0177] Pre-collect a scheduling priority scoring data set, the scheduling priority scoring data set including H groups of scheduling priority scoring data and scheduling priority scores corresponding to the H groups of scheduling priority scoring data, where H is a positive integer greater than 0, and the scheduling priority scoring data including 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, wherein the training set is used to train a 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, minimizing the cross-entropy loss function is used as the optimization objective. An early stopping strategy is used to monitor the performance of the validation set, and the model performance is optimized by continuously adjusting the network parameters. When the prediction accuracy on the validation set reaches the expected accuracy, the scheduling priority scoring model is determined to have converged and training is stopped. The scheduling priority scoring model is trained using a decision tree model.
[0179] The scheduling priority score data is converted into a feature vector; the input layer of the scheduling priority score model receives the feature vector, and the nonlinear relationship in the data is extracted through the hidden layer. Finally, the output layer of the scheduling priority score model calculates the probability distribution of the scheduling priority score through the softmax activation function, and outputs the scheduling priority score corresponding to the maximum probability as the final prediction result.
[0180] It should be noted that the controller full-link business architecture diagram is as follows Figure 6 As shown. In the software and hardware resource scheduling scheme described in this application, software resources primarily manifest as software-controllable modules such as control logic interfaces, timing service mechanisms, interrupt service channels, and protocol processing stacks. These modules possess high reusability and logical adaptability and generally do not constitute a scheduling bottleneck. Therefore, software resources serve more as a basis for configuring device logic functions and a benchmark for correlation assessment, supporting the construction of software and hardware resource correlation matrices and device behavior modeling.
[0181] In contrast, hardware resources are represented by a limited number of exclusive physical modules within the controller (e.g., PWM output modules, encoder interfaces, UART interfaces, CAN interfaces, etc.). Hardware resource allocation directly impacts device functional availability and control chain integrity. System scheduling primarily involves conflict determination and priority allocation control for hardware resources to maximize device adaptability and optimize resource allocation efficiency.
[0182] Example 2:
[0183] See also Figure 2As shown, this embodiment provides a high-performance multi-axis linkage motion controller control method, including:
[0184] Adaptively segment the device attributes of the devices connected to the controller within a unit time to obtain N sub-queues of devices to be processed;
[0185] Constructing 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;
[0186] Construct corresponding software resource requirement matrix and hardware resource requirement matrix based on N pending device sub-queues, function label and software resource requirement mapping table and function label and hardware resource requirement mapping table;
[0187] Generate a set of software and hardware resource correlation matrices of N to-be-processed device sub-queues based on the software resource requirement matrix and the hardware resource requirement matrix;
[0188] Software and hardware resources are scheduled for N pending device sub-queues based on device attribute information, software resource requirement matrix, hardware resource requirement matrix, and software and hardware resource correlation matrix set.
[0189] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any modifications or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in the present invention should be included in the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be based on the scope of protection of the claims.
[0190] Finally: The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention should be included in the scope of protection of the present invention.
Claims
1. High-performance multi-axis motion controller, characterized by: include: The queue division module performs adaptive segmentation based on the attribute information of the devices connected to the controller per unit time, and obtains 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 construction module, which constructs corresponding software resource demand matrices and hardware resource demand matrices based on the N pending device sub-queues, the function label and software resource demand mapping table, and the 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 software and hardware resources for N pending device sub-queues based on device attribute information, software resource requirement matrix, hardware resource requirement matrix, and software and hardware resource correlation matrix set; The method for scheduling software and hardware resources for N pending 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 pending device subqueue contains only one device, and whether the load score value of the device is greater than or equal to a preset high-load score threshold; if so, mark the nth pending device subqueue as a high-load queue, and execute S502; if not, mark the nth pending device subqueue as a normal queue, and execute S503; S502: Scheduling software and hardware resources for the heavily loaded queue, and executing 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.
2. The high-performance multi-axis linkage motion controller according to claim 1, characterized in that: Methods for scheduling software and hardware resources for heavily loaded 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 heavy-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 correlation strengths in descending order to form a hardware resource priority allocation sequence for the heavy 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.
3. The high-performance multi-axis linkage motion controller according to claim 2, characterized in that: 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 the currently remaining hardware resources only partially meet the hardware resource requirements of the heavy-load queue, the unsatisfied hardware resources will be constructed into a heavy-load unsatisfied hardware set, and it will be determined whether the comprehensive correlation strength corresponding to each hardware resource in the heavy-load unsatisfied hardware set is greater than or equal to the preset comprehensive correlation strength threshold. If the judgment result is yes, the system reserved hardware resources will be enabled to allocate the corresponding hardware resource requirements to the current heavy-load queue; if the judgment result is no, the heavy-load queue will be marked as a resource device to be supplemented, waiting for the next scheduling cycle to be re-scheduled.
4. The high-performance multi-axis linkage motion controller according to claim 1, characterized in that: Methods for scheduling software and hardware resources for common queues include: S600: Record the number of devices in the common queue as NUM; set the initial value of num to 1, and the value range of num to 1 to NUM; S601: Obtain the software resource demand vector of the num-th device in the common queue and allocate software resources to the num-th device; Get the hardware resource requirement vector of the num-th device in the normal queue, and determine whether the currently remaining hardware resources all meet the hardware resource requirements of the num-th device. If so, directly allocate hardware resources to the num-th device; if not, generate the scheduling priority scores corresponding to NUM devices. Determine whether the scheduling priority score of the numth device is greater than the scheduling priority score of the device that has occupied the hardware resources in the normal queue; if the judgment result is yes, the hardware resources of the device that has occupied the hardware resources are rolled back and reallocated to the numth device, and the device that has occupied the hardware resources is marked as rolled back and waiting for scheduling; if the judgment result is no, the numth device enters the waiting for hardware resources state and waits for 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.
5. The high-performance multi-axis linkage motion controller according to claim 4, characterized in that: The method for generating scheduling priority scores corresponding to NUM devices includes: 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 NUM devices.
6. The high-performance multi-axis linkage motion controller according to claim 1, characterized in that: The method for obtaining N pending device subqueues includes: S100: The number of devices connected to the controller per unit time is recorded as TL; the initial value of tl is set to 1, and the value range of tl is 1 to TL; the initial value of the counting variable n of the device subqueue to be processed is set to 1; the initial value of the load score cumulative value FZLJ is set to 0; S101: Obtain device attribute information of the t1th connected device; if t1 is equal to 1, set the access interval of the t1th device to 0; if t1 is not equal to 1, calculate the difference between the access time of the t1th device and the access time of the t1-1th device to obtain the access interval of the t1th device; S102: Input the device attribute information and access interval of the t1th device into the load scoring 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 pending device sub-queue is empty, then add the tlth device to the nth pending device sub-queue, setting n=n+1; if the nth pending device sub-queue is not empty, then add the tlth device to the n+1th pending device sub-queue, setting 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, then 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 tl-th device to the n-th 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.
7. 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 tags based on the multiple device function types supported by the controller; According to the resource management rules within the controller, determine the types and quantities of software resources and hardware resources for each functional tag in actual operation; For each function label, the corresponding software resource items and hardware resource items are listed respectively, and a specific required quantity value is assigned 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, it is set to zero in the corresponding cell; the required quantity values are filled in by one-to-one correspondence between function labels and resource items, and a function label and software resource requirement mapping table and a function label and hardware resource requirement mapping table are constructed respectively.
8. 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: Record the number of devices in the nth pending device sub-queue as , extract the corresponding function tag set for each device in the nth pending device sub-queue, and obtain A set of function labels; S202: The function tag sets are matched with the function tag and software resource requirement mapping table respectively, and the The software resource requirement vector of each function tag in the controller running environment in the function tag set; S203: Adding the software resource requirement vectors corresponding to the function labels of each device one by one to obtain the total software resource requirement vector of each device; S204: The total software resource demand vectors corresponding to the devices are sequentially combined according to the device dimension to construct the software resource demand 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.
9. 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: Record the number of devices in the nth pending device sub-queue as , extract the corresponding function tag set for each device in the nth pending device sub-queue, and obtain A set of function labels; S302: The function tag sets are matched with the function tag and hardware resource requirement mapping table respectively, and the The hardware resource requirement vector of each function tag in the controller operation environment in the function tag set; 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: 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; 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.
10. 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 pending 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; perform a pairwise cross-combination of all software resource requirement items and hardware resource requirement items of each device in the nth device sub-queue to be processed to obtain a software and hardware resource combination set for each device; 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 a correlation evaluation model to obtain a software and hardware resource combination correlation set for each device; S403: Constructing the software and hardware resource combination set and the software and hardware resource combination correlation set of each device in the nth to-be-processed device sub-queue into a software and hardware resource correlation matrix corresponding to each device; and constructing the software and hardware resource correlation matrix corresponding to each device into a software and hardware resource correlation matrix set of the nth to-be-processed device sub-queue; 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
Self-adaptive resource matching acquisition method and system
CN115408152A