Axis group motion control system, method and device
By establishing a data interaction channel between the IDE end and the PLC controller in the axis group motion control system, combining the task scheduling framework and the axis group initialization module, axle group instructions that support all PLCopen standards are generated and instruction expansion are performed, the problem that the existing technology central axis group software design does not comply with the PLCopen standard is solved, and flexible adaptation and efficient control of different mechanical structures and trajectories are achieved.
Patent Information
- Application Number
- PCT/CN2024/123455
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-11-27
- Filing Date
- 2024-10-08
- Publication Date
- 2025-06-05
AI Technical Summary
The existing shaft group software is not designed completely according to the PLCopen standard, resulting in the lack of flexibility in the PLC controller and is unable to adapt to different mechanical structure types and trajectory control requirements.
By establishing a data interaction channel between the IDE end and the PLC controller, providing axis group type selection controls and control programs, combining the task scheduling framework and axis group initialization module, ax group instructions that support all PLCopen standards are generated, and instructions are expanded to the continuous track.
The flexible adaptation of the axis group motion control system to different mechanical structure types and trajectories is realized, and the flexibility and practicality of the PLC controller are improved.
Smart Images

Figure CN2024123455_05062025_PF_FP_ABST
Abstract
Description
Axle group motion control system, method and equipment
[0001] This application claims priority to Chinese patent application No. 202311601667.2 filed on November 27, 2023, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of automation control technology, and in particular to an axis group motion control system, method and device. Background Art
[0003] With the rapid development of industrial automation technology, more and more motion control software functions are being embedded in PLCs with the support of controllers and real-time operating systems. Among them, axis group control is to use the PLC to control the specified axis group structure to complete the specified spatial trajectory control through the path, speed, acceleration and other information specified by the user in the control software.
[0004] Currently, software implementations of axis group control are all based on the PLCopen standard. However, commonly used axis group software is not fully designed in accordance with the PLCopen standard. This results in the software only implementing the functions of a certain type of axis group configuration, failing to meet user requirements for adapting to different mechanical structures or controlling different types of trajectories, resulting in a lack of flexibility in PLC controllers. Technical issues
[0005] The main purpose of this application is to provide an axis group motion control system, method and equipment, aiming to solve the technical problem that the existing technology is not designed in full accordance with the PLCopen standard, so that the axis group software only realizes the functions of a certain type of axis group configuration, resulting in a lack of flexibility of the PLC controller. Technical Solutions
[0006] To achieve the above-mentioned object, the present application provides an axis group motion control system, the axis group motion control system comprising: an IDE end and a PLC controller, the IDE end and the PLC controller being connected via a data exchange channel;
[0007] The IDE includes an axis group type selection control for selecting an axis group type and an axis group configuration, and a control program for editing various axis group tasks and trajectory data of each attached single axis in the axis group. The PLC controller includes an axis group initialization module and a task scheduling framework.
[0008] Wherein, the task scheduling framework is used to read the axis group task and trajectory data from the control program through the data interaction channel;
[0009] The task scheduling framework is also used to generate an axis group instruction to be executed based on the target instruction corresponding to the axis group task in the preset axis group standard instruction, according to the axis group task and the trajectory data. The axis group instruction to be executed is used to control the operation of the corresponding attached single axis. The preset axis group standard instruction is an instruction set obtained by expanding the PLCopen axis group standard instruction.
[0010] In one embodiment, the IDE end is further used to obtain a following condition input by a user based on a dynamic following configuration control, and send the following condition to the PLC controller, wherein the following condition is used to configure a dynamic following function of the axis group;
[0011] The task scheduling framework includes a real-time task module and a FB function module;
[0012] The real-time task module is used to obtain the position status information and user program of each mounted single axis, and send the position status information and the user program to the FB function module, wherein the user program at least includes a single-axis POU program for realizing single-axis control and an axis group real-time planning POU program for realizing real-time control and planning of the axis group;
[0013] The FB function module is used to obtain the real-time tasks and interpolation data of each of the mounted single axes from the user program, and perform interpolation processing on the position state information according to the interpolation data to obtain axis group information;
[0014] The FB function module is further configured to call a standard instruction corresponding to the real-time task from the preset axis group standard instruction, update the data in the standard instruction using the axis group information and the trajectory data, obtain the axis group instruction to be executed, and send the axis group instruction to be executed to the real-time task module;
[0015] The real-time task module is used to dynamically follow and control the corresponding connected single axis operation based on the axis group instruction to be executed and the following condition.
[0016] In one embodiment, the task scheduling framework further includes a general task module;
[0017] The general task module is used to obtain a general PLC task and send the general PLC task to the FB function module, wherein the general PLC task includes position status information of the required mounted single axis;
[0018] The FB functional module is further used to call the standard instructions corresponding to the general PLC task from the preset axis group standard instructions, and update the standard instructions based on the position status information to obtain the axis group instructions to be executed.
[0019] In one embodiment, the task scheduling framework further includes a trajectory pre-processing module;
[0020] The trajectory preprocessing module is configured to obtain the trajectory data from the control program through the data interaction channel, generate an axis group trajectory based on the trajectory data, and perform smoothing and velocity look-ahead processing on the axis group trajectory to obtain preprocessed trajectory data;
[0021] The trajectory preprocessing module is further configured to send the preprocessed trajectory data to the FB function module.
[0022] In one embodiment, the IDE end further includes a continuous trajectory function control and a forward-looking pre-processing control, and the PLC controller further includes an axis group initialization module;
[0023] The continuous trajectory function control is used to obtain a start signal of the continuous trajectory function triggered by the user and send the start signal to the axis group initialization module;
[0024] The forward pre-processing control is used to configure the memory allocation data of each of the mounted single axes and send the memory allocation data to the axis group initialization module;
[0025] The axis group initialization module is further configured to allocate a trajectory memory space for processing trajectory data to each of the mounted single axes according to the received memory allocation data when the start signal is detected.
[0026] In addition, to achieve the above-mentioned purpose, the present application further provides an axis group motion control method based on the above-mentioned axis group motion control system, the method being executed by the PLC controller, and the method comprising:
[0027] receiving initialization configuration data and tasks to be processed sent by the IDE end, wherein the initialization configuration data includes at least an axis group type and trajectory data, and the trajectory data is data containing axis group motion information;
[0028] Performing local initialization based on the initialization configuration data to determine the mounted single axis required by the axis group type;
[0029] Determine a corresponding FB function module based on the task to be processed, the FB function module is used to generate a to-be-executed axis group instruction according to the task to be processed and the trajectory data, taking the target instruction corresponding to the task to be processed in the preset axis group standard instruction as a basic instruction;
[0030] The corresponding mounted single axis is controlled to run based on the axis group instruction.
[0031] In one embodiment, the tasks to be processed include the general PLC tasks and the real-time tasks;
[0032] If the task to be processed is the general PLC task, the FB function module is used to call the target standard instruction corresponding to the general PLC task from the preset axis group standard instruction, and the target standard instruction is the axis group instruction that does not need to be updated;
[0033] If the task to be processed is the real-time task, the FB functional module is used to obtain the position status information of each of the attached single axes in real time, perform interpolation processing on the single axis based on the FB functional module, obtain axis group information, and call the standard instruction corresponding to the real-time task from the preset axis group standard instruction, use the axis group information to update the standard instruction, and obtain the axis group instruction.
[0034] In one embodiment, the FB function module is further used to determine the real-time task, and call the to-be-determined instruction corresponding to the real-time task from the PLCopen standard instruction; if the to-be-determined instruction is an instruction to be extended, then call the standard instruction corresponding to the real-time task from the motion instruction associated with the instruction to be extended.
[0035] In one embodiment, before the step of receiving the initialization configuration data and the tasks to be processed configured by the IDE end, the method further includes:
[0036] In response to a to-be-extended instruction selected by a user from the PLCopen standard instructions, obtaining parameter configuration of the to-be-extended instruction;
[0037] In response to a configuration mode of a preset processing file selected by the user according to the parameter configuration, the configuration mode includes a buffer data type;
[0038] If the configuration mode is the buffer data type, the preset processing file is parsed to obtain motion instructions, and the motion instructions are associated with the instructions to be expanded.
[0039] In addition, to achieve the above-mentioned purpose, the present application also proposes an axis group motion control device, which includes: a memory, a processor, and an axis group motion control program stored on the memory and runnable on the processor, and the axis group motion control program is configured to implement the steps of the axis group motion control method described above. Beneficial effects
[0040] The present application provides an axis group motion control system, method and device. Compared with the prior art that is not designed in full accordance with the PLCopen standard, so that the axis group software only implements the functions of a certain type of axis group configuration, resulting in a lack of flexibility of the axis group software, in the present application, the axis group motion control system includes: an IDE end and a PLC controller, the IDE end and the PLC controller are connected through a data interaction channel; the IDE end includes an axis group type selection control for selecting the axis group type and axis group configuration and a control program for editing various axis group tasks and the trajectory data of each attached single axis in the axis group, the PLC controller includes an axis group initialization module and a task scheduling framework; wherein the task scheduling framework is used to read the axis group tasks and trajectory data from the control program through the data interaction channel; the task scheduling framework is also used to generate a to-be-executed axis group instruction based on the target instruction corresponding to the axis group task in the preset axis group standard instruction according to the axis group task and the trajectory data, the to-be-executed axis group instruction is used to control the operation of the corresponding attached single axis, and the preset axis group standard instruction is an instruction set obtained by instruction expansion of the PLCopen axis group standard instruction. That is, in this application, the axis group motion supports all axis group functions of the PLCopen standard. At the same time, the input instructions for continuous trajectories are expanded on the basis of the standard to meet the user's needs for adaptation to different mechanical structure types, control of different types of trajectories, etc., so as to improve the flexibility of the use of PLC controllers. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.
[0042] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0043] FIG1 is a schematic diagram of the equipment structure of the hardware operating environment involved in the embodiment of the present application;
[0044] FIG2 is a schematic diagram of the framework of the axis group motion control system of the present application;
[0045] FIG3 is a schematic diagram of a task scheduling framework in the axis group motion control system of the present application;
[0046] FIG4 is a schematic diagram of the process of the first embodiment of the axis group motion control method of the present application;
[0047] FIG5 is a flow chart of a second embodiment of the axis group motion control method of the present application;
[0048] FIG6 is a schematic diagram of the expansion of the PLCopen axis group standard instructions in the axis group motion control method of the present application.
[0049] The realization of the objectives, functional features and advantages of this application will be further explained in conjunction with embodiments and with reference to the accompanying drawings. Modes for Carrying Out the Invention
[0050] It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0051] Refer to Figure 1, which is a schematic diagram of the structure of the axis group motion control device in the hardware operating environment involved in the embodiment of the present application.
[0052] As shown in Figure 1, the axis group motion control device may include: a processor 1001, such as a central processing unit (CPU), a communication bus 1002, a user interface 1003, a network interface 1004, and memory 1005. Communication bus 1002 is used to enable communication between these components. User interface 1003 may include a display and an input unit, such as a keyboard. User interface 1003 may also include a standard wired interface or a wireless interface. Network interface 1004 may include a standard wired interface or a wireless interface (such as a wireless fidelity (WI-FI) interface). Memory 1005 may be high-speed random access memory (RAM) or stable non-volatile memory (NVM), such as disk storage. Memory 1005 may also be a storage device independent of processor 1001.
[0053] Those skilled in the art will appreciate that the structure shown in FIG1 does not limit the axis group motion control device and may include more or fewer components than shown in the figure, or a combination of certain components, or a different arrangement of components.
[0054] As shown in FIG. 1 , the memory 1005 as a storage medium may include an operating system, a network communication module, a user interface module, and an axis group motion control program.
[0055] In the axis group motion control device shown in Figure 1, the network interface 1004 is mainly used for data communication with other devices; the user interface 1003 is mainly used for data interaction with the user; the processor 1001 and the memory 1005 in the axis group motion control device of this application can be set in the axis group motion control device, and the axis group motion control device calls the axis group motion control program stored in the memory 1005 through the processor 1001, and executes the axis group motion control method provided by the embodiment of this application.
[0056] An embodiment of the present application provides an axis group motion control system. Referring to FIG. 2 , FIG. 2 is a schematic diagram of the framework of the axis group motion control system of the present application.
[0057] In this embodiment, the axis group motion control system includes: an IDE end and a PLC controller, wherein the IDE end and the PLC controller are connected via a data exchange channel;
[0058] The IDE terminal includes an axis group type selection control 201 for selecting an axis group type and an axis group configuration and a control program for editing various axis group tasks and the trajectory data of each attached single axis in the axis group. The PLC controller includes an axis group initialization module 205 and a task scheduling framework 101;
[0059] The task scheduling framework 101 is used to read the axis group tasks and trajectory data from the control program through the data interaction channel;
[0060] The task scheduling framework 101 is also used to generate an axis group instruction to be executed based on the target instruction corresponding to the axis group task in the preset axis group standard instruction, according to the axis group task and the trajectory data. The axis group instruction to be executed is used to control the operation of the corresponding attached single axis. The preset axis group standard instruction is an instruction set obtained by expanding the PLCopen axis group standard instruction.
[0061] Among them, IDE stands for Integrated Development Environment, an application used to provide a program development environment, which may include tools such as code editors, compilers, debuggers, and graphical user interfaces; the IDE end is a smart device that contains the integrated development environment, which may be a mobile phone, computer, or tablet device.
[0062] It should be noted that setting the axis group type control on the IDE side allows users to select the axis group type according to the number of axes required for workpiece processing and determine the axis group configuration according to the degrees of freedom of the axes. The preset axis group standard instructions are obtained by expanding the PLCopen axis group standard instructions. Therefore, the preset axis group standard instructions include not only all instructions in the PLCopen axis group standard instructions, but also extended instructions, to ensure that no matter which axis group configuration the user chooses to process the workpiece, the target instruction corresponding to the axis group task can be found in the preset axis group standard instructions. Based on the target instruction, the axis group instruction to be executed is generated according to the axis group task and the trajectory data sent by the IDE side, so that when the user needs to use axis groups of various configurations, the corresponding target instruction can be found in the preset axis group standard instructions, thereby improving the flexibility and practicality of the use of the PLC controller.
[0063] Among them, the PLCopen axis group standard instructions provide standardized motion control solutions for industrial automation.
[0064] Among them, the axis group type can be classified according to the number of single axes mounted in the axis group, for example, 3-axis type, 4-axis type, 5-axis type, 6-axis type or 8-axis type, etc., without specific limitation.
[0065] Among them, the axis group configuration can include Cartesian orthogonal structure type, SCARA, DELTA, etc.
[0066] In one embodiment, the IDE end is further used to obtain a following condition input by a user based on the dynamic following configuration control 203 and send the following condition to the PLC controller, where the following condition is used to configure the dynamic following function of the axis group;
[0067] The task scheduling framework 101 includes a real-time task module 102 and a FB function module 206;
[0068] The real-time task module 102 is used to obtain the position status information of each mounted single axis and the user program 107, and send the position status information and the user program 107 to the FB function module 206, wherein the user program 107 includes at least a single-axis POU program for realizing single-axis control and an axis group real-time planning POU program for realizing real-time control and planning of the axis group;
[0069] The FB function module 206 is used to obtain the real-time tasks and interpolation data of each of the mounted single axes from the user program 107, and interpolate the position state information according to the interpolation data to obtain axis group information;
[0070] The FB function module 206 is further configured to call a standard instruction corresponding to the real-time task from the preset axis group standard instruction, update the data in the standard instruction using the axis group information and the trajectory data, obtain the axis group instruction to be executed, and send the axis group instruction to be executed to the real-time task module 102;
[0071] The real-time task module 102 is used to dynamically follow and control the corresponding connected single axis operation based on the axis group instruction to be executed and the following condition.
[0072] It should be noted that the real-time task module 102 also includes an axis group input module 105 and an axis output module. The axis group input module 105 is used to receive the position status signal of the attached single axis, check the input update and error check of the position status signal of each attached single axis, refresh the position system of the axis group, etc., and judge the change of the position status signal to refresh the attached single axis mapped in the PLC controller to obtain the refreshed position status information of the mapped attached single axis, to ensure that the data used to generate the axis group instruction to be executed is the latest data.
[0073] It should be noted that the position status information after being refreshed by the axis group input module 105 is sent to the FB function module 206, so that the FB function module 206 interpolates the position status data according to the interpolation data, so that each attached single axis group moves at a predetermined speed and acceleration on the specified path.
[0074] In one embodiment, the axis group input module 105 may further include an axis group input processing submodule 106, which may be used to check input updates and error checks of position status signals of each attached single axis, refresh the position system of the axis group, etc.
[0075] Among them, the interpolation motion instructions will be stored in the corresponding trajectory memory space, and then the instructions will be taken out from the trajectory memory space in turn for execution until the interpolation motion is completely executed.
[0076] It should be noted that the real-time task module 102 also includes an axis group output module 109. The axis group output module 109 first associates the attached single axis mapped on the PLC control end with the actual attached single axis according to the information of each attached single axis in the axis group instruction, so as to complete the association between the axis group control axis and the external single axis.
[0077] In one embodiment, the axis group output module 109 may also include an axis group output processing sub-module 108, which is used to distinguish the single-axis control instructions used to control each attached single axis from the axis group instructions to be executed, and determine the instructions that can be output from the single-axis control instructions by checking the axis group status, the legality check of the axis group command output by the axis group planning, the conversion output of the single-axis control command, and the stop processing after the axis group enters the error state, etc., and the axis group output module 109 dynamically follows and controls the operation of the corresponding attached single axis based on the instruction and the following conditions.
[0078] It should be noted that since the processing of workpieces can be divided into dynamic processing and static processing, when dynamically processing workpieces, follow-up conditions can be configured so that the PLC controller can control the corresponding attached single axis to execute the corresponding instructions to be executed according to the control conditions, so as to achieve real-time dynamic processing.
[0079] In one embodiment, referring to FIG3 , the task scheduling framework 101 further includes a general task module 103 ;
[0080] The general task module 103 is used to obtain a general PLC task and send the general PLC task to the FB function module 206, wherein the general PLC task includes position status information of the required mounted single axis;
[0081] The FB function module 206 is further configured to call a standard instruction corresponding to the general PLC task from the preset axis group standard instructions, and update the standard instruction based on the position status information to obtain an axis group instruction to be executed.
[0082] It should be noted that the general PLC task has no real-time requirements. The general PLC task can be processed when the FB function module 206 is not processing the real-time task. That is, when there is a real-time task to be processed, the processing of the general PLC task can be stopped, and the real-time task can be processed first. The general PLC task is cached in a preset storage space. After the FB function module 206 completes the processing of the real-time task, the general PLC task can be read.
[0083] In one embodiment, referring to FIG3 , the task scheduling framework 101 further includes a trajectory pre-processing module 104 ;
[0084] The trajectory preprocessing module 104 is configured to obtain the trajectory data from the control program via the data exchange channel, generate an axis group trajectory based on the trajectory data, and perform smoothing and velocity look-ahead processing on the axis group trajectory to obtain preprocessed trajectory data;
[0085] The trajectory pre-processing module 104 is further configured to send the pre-processed trajectory data to the FB function module 206 .
[0086] Among them, the trajectory data can make the processing trajectory irregular, and it is necessary to divide the processing trajectory into multiple trajectory segments. Each trajectory segment is determined by two points, so that the trajectory segment can be used as the data of each movement of the axis group, and some trajectory segments may also contain inflection point data, so the trajectory data can make the data of each movement of the axis group and the processing trajectory data, etc.
[0087] It should be noted that, since the axis group rule generated according to the trajectory data is the processing trajectory when the workpiece is processed, there may be inflection points or non-smooth trajectory segments, so a trajectory preprocessing module 104 is required to perform smooth transition and speed forward processing on the axis group trajectory, so that the inflection points of the axis group trajectory bone can be smoothly transitioned, and the trajectory points of acceleration and deceleration of the axis group are determined through speed forward processing to avoid breakage of the axis group and make the movement of the axis group safer.
[0088] In one embodiment, referring to FIG2 , the IDE terminal further includes a continuous stacking function control 202 and a forward pre-processing control, and the PLC controller further includes an axis group initialization module 205 ;
[0089] The continuous stacking function control 202 is used to obtain a start signal of the continuous track function triggered by the user and send the start signal to the axis group initialization module 205;
[0090] The forward pre-processing control is used to configure the memory allocation data of each of the mounted single axes and send the memory allocation data to the axis group initialization module 205;
[0091] The axis group initialization module 205 is further configured to allocate a trajectory memory space for processing trajectory data to each of the connected single axes according to the received memory allocation data when the start signal is detected.
[0092] It should be noted that the continuous stacking function control 202 allows the user to select whether to turn on the continuous trajectory function. If the continuous trajectory function is turned on, the axis group can move continuously, thereby improving processing efficiency.
[0093] It should be noted that after turning on the continuous trajectory function, the axis group initialization module 205 is also required to obtain the memory allocation data of each attached single axis configured by the user through the forward preprocessing control, so as to allocate trajectory memory space for processing trajectory data to each attached single axis according to the memory allocation data, so that the axis group can perform periodic motion according to the estimated data.
[0094] It should be noted that through the configurable optimization design of the software framework and scheduling mode, the size of the axis group object can be customized and the scheduling efficiency can be improved.
[0095] This embodiment provides an axis group motion control system. Compared with the prior art which is not designed in full accordance with the PLCopen standard, so that the axis group software only realizes the functions of a certain type of axis group configuration, resulting in a lack of flexibility of the axis group software, in this application, the axis group motion control system includes: an IDE end and a PLC controller, the IDE end and the PLC controller are connected through a data interaction channel; the IDE end includes an axis group type selection control 201 for selecting the axis group type and the axis group configuration and a control program for editing various axis group tasks and the trajectory data of each attached single axis in the axis group, the PLC controller The controller includes an axis group initialization module 205 and a task scheduling framework 101; wherein, the task scheduling framework 101 is used to read the axis group task and trajectory data from the control program through the data interaction channel; the task scheduling framework 101 is also used to generate an axis group instruction to be executed based on the target instruction corresponding to the axis group task in the preset axis group standard instruction and the axis group task and the trajectory data, wherein the axis group instruction to be executed is used to control the operation of the corresponding attached single axis, and the preset axis group standard instruction is an instruction set obtained by performing instruction expansion on the PLCopen axis group standard instruction. That is, in this application, the axis group motion supports all axis group functions of the PLCopen standard, and at the same time, the input of the continuous trajectory is expanded on the basis of the standard to meet the user's needs for adaptation to different mechanical structure types, control of different types of trajectories, etc., so as to improve the flexibility of the use of the PLC controller.
[0096] Refer to FIG4 , which is a flow chart of the first embodiment of the axis group motion control method of the present application.
[0097] It should be noted that the executing entity of this embodiment can be the PLC controller in the axis group motion control device, and the axis group motion control device can be a personal computer, a smart phone, a tablet computer and other electronic devices, and can also be other devices that can achieve the same or similar functions. This embodiment does not limit this. In this embodiment and the following embodiments, the axis group motion control method of this application is explained by taking the axis group motion control device as an example.
[0098] Based on the above embodiment, in this embodiment, the axis group motion control method includes:
[0099] Step S10: receiving initialization configuration data and tasks to be processed sent by the IDE end, wherein the initialization configuration data at least includes an axis group type and trajectory data, and the trajectory data is data containing axis group motion information.
[0100] The tasks to be processed include at least general PLC tasks and real-time tasks.
[0101] It should be noted that after obtaining the initialization configuration data, the mounted single axis corresponding to the axis group configuration in the axis group type is mapped according to the axis group type in the initialization configuration data to determine the axis group required by the user. The initialization configuration data can also include the initial configuration of the axis group and the association information between each mapped mounted single axis and the corresponding actual mounted single axis.
[0102] Step S20: Perform local initialization based on the initialization configuration data to determine the mounted single axis required by the axis group type.
[0103] It should be noted that if the initialization configuration data carries an instruction to turn on continuous trajectory, the memory allocation data is read from the initialization configuration data, and the trajectory memory space for processing the trajectory data is allocated to each attached single axis according to the memory allocation data, so that each attached single axis can move according to the trajectory data within the cycle.
[0104] Step S30, determining a corresponding FB function module based on the task to be processed, wherein the FB function module is configured to use a target instruction corresponding to the task to be processed in a preset axis group standard instruction as a basic instruction, and generate an axis group instruction to be executed according to the task to be processed and the trajectory data;
[0105] It should be noted that the FB function module contains multiple function sub-modules. The function sub-module that needs to be called can be determined according to the task to be processed. After the function sub-module is determined, the corresponding basic function module can be called for execution.
[0106] In one embodiment, the FB function module can determine the target instruction corresponding to the task to be processed from the preset axis group standard instructions, and use the target instruction as the basic instruction to generate the axis group instruction to be executed according to the task to be processed and the trajectory data.
[0107] It should be noted that since different axis group types are used to execute the same process, the corresponding tasks to be executed are also different. Therefore, the instructions corresponding to any axis group type can be obtained by presetting the axis group standard instructions to improve the user's flexibility and practicality in using the axis group.
[0108] Step S40: Control the corresponding mounted single axis to operate based on the axis group instruction.
[0109] In one embodiment, the operation of the corresponding mounted single axis can be controlled according to the axis group instruction by calling the corresponding resource through the single axis resource module according to the axis group instruction to control the operation of the mounted single axis.
[0110] Refer to FIG5 , which is a flow chart of a second embodiment of the axis group motion control method of the present application.
[0111] Based on the above embodiment, in this embodiment, the tasks to be processed include the general PLC tasks and the real-time tasks;
[0112] Step S01: If the task to be processed is the general PLC task, the FB function module is used to call a target standard instruction corresponding to the general PLC task from the preset axis group standard instructions, where the target standard instruction is the axis group instruction that does not need to be updated;
[0113] Step S02, if the task to be processed is the real-time task, the FB functional module is used to obtain the position status information of each of the attached single axes in real time, perform interpolation processing on the single axis based on the FB functional module, obtain axis group information, and call the standard instruction corresponding to the real-time task from the preset axis group standard instruction, use the axis group information to update the standard instruction, and obtain the axis group instruction.
[0114] It should be noted that since the tasks to be processed can be divided into general PLC tasks and real-time tasks, when the task to be processed is a general PLC task, since the general PLC task may be a scheduling task that does not involve the position status information of the attached single axis, when the task to be processed is a general PLC task, the target standard instruction corresponding to the general PLC task can be called from the preset axis group standard instruction as the axis group instruction.
[0115] It should be noted that since real-time tasks may be generated based on the real-time movement of the axis group, the position of the axis group changes in real time during the movement. Therefore, when the task to be processed is a real-time task, after determining the standard instruction from the preset axis group standard instructions, it is necessary to update the standard instruction according to the axis group information to obtain the axis group instruction.
[0116] It should be noted that after obtaining the position status information of the attached single axis, the FB functional module can interpolate the axis group trajectory to obtain axis group information, so that the axis group moves along the specified path at a predetermined speed and acceleration. The position status information includes at least the position information and status information of the attached single axis.
[0117] In one embodiment, the FB function module is further used to determine the real-time task, and call the to-be-determined instruction corresponding to the real-time task from the PLCopen standard instruction; if the to-be-determined instruction is an instruction to be extended, then call the standard instruction corresponding to the real-time task from the motion instruction associated with the instruction to be extended.
[0118] It should be noted that since one or more of the preset axis group standard instructions contain extended motion instructions, the PLC controller can meet any customized axis group through instruction expansion, that is, it can control the movement of any fixed axis group, and after the standard instructions are refined, the accuracy of the axis group motion control can be improved, thereby improving the scheduling efficiency.
[0119] In one embodiment, before the step of receiving the initialization configuration data and the tasks to be processed configured by the IDE end, the method further includes:
[0120] In response to a to-be-extended instruction selected by a user from the PLCopen standard instructions, obtaining parameter configuration of the to-be-extended instruction;
[0121] In response to a configuration mode of a preset processing file selected by the user according to the parameter configuration, the configuration mode includes a buffer data type;
[0122] If the configuration mode is the buffer data type, the preset processing file is parsed to obtain motion instructions, and the motion instructions are associated with the instructions to be expanded.
[0123] In one embodiment, referring to Figure 6, MC_PathSelect is expanded with nine additional buffer instructions. These include linear and circular motion instructions, buffer I / O operation instructions, buffer wait (time or in-position) instructions, and buffer data end instructions. Users can configure the MC_PathSelect parameters to select either "File Type" or "Buffer Data Type" mode. When selecting "Buffer Data Type," users can parse different types of machining files (such as DXF and other drawing formats) based on their needs and convert them into the nine corresponding buffer instructions, greatly enhancing operational flexibility.
[0124] It should be noted that, in this document, the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, article, or apparatus comprising a series of elements includes not only those elements but also other elements not explicitly listed, or elements inherent to such process, method, article, or apparatus. In the absence of further limitations, an element defined by the phrase "comprising an etc." does not exclude the presence of other identical elements in the process, method, article, or apparatus comprising the element.
[0125] The serial numbers of the above embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.
[0126] Through the description of the above embodiments, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus the necessary general hardware platform. Of course, they can also be implemented by hardware, but in many cases the former is a more preferred embodiment. Based on this understanding, the technical solution of this application, or the part that contributes to the existing technology, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for enabling a terminal device (such as a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods of each embodiment of this application.
[0127] The above are merely embodiments of the present application and are not intended to limit the patent scope of the present application. Any equivalent mechanism or equivalent process transformation made using the contents of the present application specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present application.
Claims
1. An axis group motion control system, wherein: The axis group motion control system comprises: an IDE end and a PLC controller, wherein the IDE end and the PLC controller are connected via a data exchange channel; The IDE end includes an axis group type selection control for selecting an axis group type and an axis group configuration and a control program for editing various axis group tasks and trajectory data of each mounted single axis in the axis group, and the PLC controller includes an axis group initialization module and a task scheduling framework; Wherein, the task scheduling framework is used to read the axis group task and trajectory data from the control program through the data interaction channel; The task scheduling framework is also used to generate an axis group instruction to be executed based on the target instruction corresponding to the axis group task in the preset axis group standard instruction, according to the axis group task and the trajectory data. The axis group instruction to be executed is used to control the operation of the corresponding attached single axis. The preset axis group standard instruction is an instruction set obtained by expanding the PLCopen axis group standard instruction.
2. The axis group motion control system according to claim 1, wherein: The IDE end is also used to obtain the following conditions input by the user based on the dynamic following configuration control, and send the following conditions to the PLC controller, wherein the following conditions are used to configure the dynamic following function of the axis group; The task scheduling framework includes a real-time task module and a FB function module; The real-time task module is used to obtain the position status information and user program of each mounted single axis, and send the position status information and the user program to the FB function module, wherein the user program at least includes a single axis POU program for realizing single axis control and an axis group real-time planning POU program for realizing real-time control and planning of the axis group; The FB function module is used to obtain the real-time tasks and interpolation data of each of the mounted single axes from the user program, and to perform interpolation processing on the position state information according to the interpolation data to obtain axis group information; The FB function module is further used to call the standard instruction corresponding to the real-time task from the preset axis group standard instruction, update the data in the standard instruction using the axis group information and the trajectory data, obtain the axis group instruction to be executed, and send the axis group instruction to be executed to the real-time task module; The real-time task module is used to dynamically follow and control the corresponding connected single axis operation based on the axis group instruction to be executed and the following condition.
3. The axis group motion control system according to claim 2, wherein: The task scheduling framework also includes a general task module; The general task module is used to obtain a general PLC task and send the general PLC task to the FB function module, wherein the general PLC task includes position status information of a required mounted single axis; The FB function module is also used to call the standard instructions corresponding to the general PLC task from the preset axis group standard instructions, and update the standard instructions based on the position status information to obtain the axis group instructions to be executed.
4. The axis group motion control system according to claim 2, wherein: The task scheduling framework also includes a trajectory preprocessing module; The trajectory preprocessing module is used to obtain the trajectory data from the control program through the data interaction channel, generate an axis group trajectory based on the trajectory data, and perform smooth transition and speed forward processing on the axis group trajectory to obtain preprocessed trajectory data; The trajectory preprocessing module is further used to send the preprocessed trajectory data to the FB function module.
5. The axis group motion control system according to any one of claims 1 to 4, wherein: The IDE end also includes a continuous trajectory function control and a forward-looking preprocessing control, and the PLC controller also includes an axis group initialization module; The continuous trajectory function control is used to obtain a start signal of the continuous trajectory function triggered by the user, and send the start signal to the axis group initialization module; The forward-looking preprocessing control is used to configure the memory allocation data of each of the mounted single axes, and send the memory allocation data to the axis group initialization module; The axis group initialization module is also used to allocate trajectory memory space for processing trajectory data to each of the mounted single axes according to the received memory allocation data when the start signal is detected.
6. A method for controlling an axis group motion based on the axis group motion control system according to any one of claims 1 to 5, wherein: The method is performed by the PLC controller, and the method comprises: Receiving initialization configuration data and tasks to be processed sent by the IDE end, wherein the initialization configuration data at least includes an axis group type and trajectory data, and the trajectory data is data containing axis group motion information; Performing local initialization based on the initialization configuration data to determine the mounted single axis required for the axis group type; Determine a corresponding FB function module based on the task to be processed, the FB function module is used to generate a to-be-executed axis group instruction according to the task to be processed and the trajectory data, taking the target instruction corresponding to the task to be processed in the preset axis group standard instruction as the basic instruction; The corresponding mounted single axis is controlled to run based on the axis group instruction.
7. The axis group motion control method according to claim 6, wherein: The tasks to be processed include the general PLC tasks and the real-time tasks; If the task to be processed is the general PLC task, the FB function module is used to call the target standard instruction corresponding to the general PLC task from the preset axis group standard instruction, and the target standard instruction is the axis group instruction that does not need to be updated; If the task to be processed is the real-time task, the FB function module is used to obtain the position status information of each of the mounted single axes in real time, perform interpolation processing on the single axis based on the FB function module, obtain the axis group information, and call the standard instruction corresponding to the real-time task from the preset axis group standard instruction, use the axis group information to update the standard instruction, and obtain the axis group instruction.
8. The axis group motion control method according to claim 7, wherein: The FB function module is also used to determine the real-time task, and call the to-be-determined instruction corresponding to the real-time task from the PLCopen standard instruction; if the to-be-determined instruction is an instruction to be extended, then call the standard instruction corresponding to the real-time task from the motion instruction associated with the instruction to be extended.
9. The axis group motion control method according to claim 6, wherein: Before the step of receiving the initialization configuration data and pending tasks configured by the IDE end, the method further includes: In response to a to-be-extended instruction selected by a user from the PLCopen standard instructions, obtaining parameter configuration of the to-be-extended instruction; In response to a configuration mode of a preset processing file selected by the user according to the parameter configuration, the configuration mode includes a buffer data type; If the configuration mode is the buffer data type, the preset processing file is parsed to obtain motion instructions, and the motion instructions are associated with the instructions to be expanded.
10. An axis group motion control device, wherein: The axis group motion control device includes: a memory, a processor, and an axis group motion control program stored in the memory and executable on the processor, wherein the axis group motion control program is configured to implement the steps of the axis group motion control method according to any one of claims 6 to 9.
Citation Information
Patent Citations
Open type software numerical control system
CN101226388A
Programmable logic control instruction system and method, control system and storage medium
CN111984321A
Multi-axis motion control system and method
CN112650148A
Programming method and system of motion controller, terminal equipment and storage medium
CN114461187A
PLC application package generation method, PLC application package operation method and related devices
CN115167265A