Shaft assembly motion control system, method, and apparatus
Patent Information
- Application Number
- CN202311601667.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-27
- Publication Date
- 2026-10-27
- Estimated Expiration
- 2043-11-27
AI Technical Summary
[0004]本申请的主要目的在于提供一种轴组运动控制系统、方法及设备,旨在解决现有技术中未完全按照PLCopen标准进行设计,使轴组软件仅实现某一类轴组构型的功能,导致PLC控制器缺乏灵活性的技术问题
[0039]本申请提供一种轴组运动控制系统、方法及设备,与现有技术中未完全按照PLCopen标准进行设计,使轴组软件仅实现某一类轴组构型的功能,导致轴组软件缺乏灵活性相比,在本申请中,所述轴组运动控制系统,包括:IDE端与PLC控制器,所述IDE端与所述PLC控制器通过数据交互通道连接;所述IDE端包括用于选择轴组类型与轴组构型的轴组类型选择控件和用于编辑各种轴组任务与轴组中各挂接单轴的轨迹数据的控制程序,所述PLC控制器包括轴组初始化模块与任务调度框架;其中,所述任务调度框架,用于通过所述数据交互通道从所述控制程序中读取所述轴组任务与轨迹数据;所述任务调度框架,还用于以预设轴组标准指令中所述轴组任务对应的目标指令为基础指令,根据所述轴组任务与所述轨迹数据生成待执行轴组指令,所述待执行轴组指令用于控制对应的挂接单轴运行,所述预设轴组标准指令为对PLCopen轴组标准指令进行指令扩展后获得的指令集。即在本申请中,轴组运动支持所有PLCopen标准的轴组功能,同时在标准的基础上对连续轨迹的输入进行了指令扩展,满足用户对不同机械结构类型的适配,不同类型轨迹的控制等需求,以提高PLC控制器使用的灵活性。
Smart Images

Figure CN117452884B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of automation control technology, and in particular to a shaft motion control system, method and device. Background Technology
[0002] With the rapid development of industrial automation technology, and with the support of controllers and real-time operating systems, more and more motion control software functions are being embedded into PLCs. Among them, axis group control is the process of using the PLC to control the specified axis group structure to complete the specified spatial trajectory control by using information such as path, speed, and acceleration specified by the user in the control software.
[0003] Currently, the software implementation of axis group control is based on the PLCopen standard. However, commonly used axis group software is not designed entirely according to the PLCopen standard, resulting in axis group software that can only implement the functions of a certain type of axis group configuration. This fails to meet users' needs for adapting to different mechanical structure types and controlling different types of trajectories, leading to a lack of flexibility in PLC controllers. Summary of the Invention
[0004] The main purpose of this application is to provide a shaft group motion control system, method and device, which aims to solve the technical problem that the existing technology does not fully comply with the PLCopen standard, so that the shaft group software can only realize the function of a certain type of shaft group configuration, resulting in the lack of flexibility of the PLC controller.
[0005] To achieve the above objectives, this application provides a shaft group motion control system, which includes: an IDE terminal and a PLC controller, wherein the IDE terminal and the PLC controller are connected through a data interaction channel;
[0006] The IDE includes an axis group type selection control for selecting axis group type and 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.
[0007] The task scheduling framework is used to read the axis group task and trajectory data from the control program through the data interaction channel.
[0008] 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 as the base 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 extending the PLCopen axis group standard instruction.
[0009] Optionally, the IDE terminal is further configured to acquire 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;
[0010] The task scheduling framework includes a real-time task module and an FB function module;
[0011] The real-time task module is used to acquire the position status information and user program of each of the attached single axes, and send the position status information and user program to the FB function module. The user program includes at least a single-axis POU program for implementing single-axis control and a real-time planning POU program for axis group control and planning.
[0012] The FB function module is used to obtain the real-time task and interpolation data of each of the attached single axes from the user program, and to perform interpolation processing on the position status information based on the interpolation data to obtain axis group information.
[0013] The FB function module is also 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;
[0014] The real-time task module is used to dynamically follow and control the operation of the corresponding single axis based on the axis group command to be executed and the following conditions.
[0015] Optionally, the task scheduling framework further includes a general task module;
[0016] The general task module is used to acquire a general PLC task and send the general PLC task to the FB function module. The general PLC task includes the position status information of the single axis to be attached.
[0017] The FB function module is also used to call the standard instruction corresponding to the general PLC task from the preset axis group standard instruction, and update the standard instruction based on the position status information to obtain the axis group instruction to be executed.
[0018] Optionally, the task scheduling framework further includes a trajectory preprocessing module;
[0019] The trajectory preprocessing module is used to obtain the trajectory data from the control program through the data interaction channel, generate the axis group trajectory based on the trajectory data, and perform smooth transition and velocity look-ahead processing on the axis group trajectory to obtain preprocessed trajectory data.
[0020] The trajectory preprocessing module is also used to send the preprocessed trajectory data to the FB function module.
[0021] Optionally, the IDE terminal also includes a continuous trajectory function control and a look-ahead preprocessing control, and the PLC controller also includes an axis group initialization module;
[0022] The continuous trajectory function control is used to obtain the activation signal of the continuous trajectory function triggered by the user, and send the activation signal to the axis group initialization module;
[0023] The look-ahead preprocessing control is used to configure the memory allocation data for each of the attached single axes and send the memory allocation data to the axis group initialization module.
[0024] The axis group initialization module is further configured to allocate trajectory memory space for processing trajectory data to each of the attached single axes according to the received memory allocation data when the activation signal is detected.
[0025] Furthermore, to achieve the above objectives, this application also provides a shaft group motion control method based on the aforementioned shaft group motion control system. The method is executed by the PLC controller and includes:
[0026] Receive initialization configuration data and pending tasks sent by the IDE terminal. The initialization configuration data includes at least axis group type and trajectory data. The trajectory data is data containing axis group motion information.
[0027] Perform local initialization based on the initialization configuration data to determine the single axis to be attached for the axis group type;
[0028] Based on the task to be processed, the corresponding FB function module is determined. The FB function module is used to generate an axis group instruction to be executed based on the target instruction corresponding to the task to be processed in the preset axis group standard instruction and the trajectory data.
[0029] The corresponding attached single axis is controlled based on the axis group command.
[0030] Optionally, the task to be processed includes the general PLC task and the real-time task;
[0031] 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 instructions. The target standard instruction is the axis group instruction that does not need to be updated.
[0032] 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 attached single axes in real time, perform interpolation processing on the single axis based on the FB function module to obtain axis group information, and call the standard instruction corresponding to the real-time task from the preset axis group standard instruction, update the standard instruction using the axis group information to obtain axis group instruction.
[0033] Optionally, the FB function module is further configured to determine the real-time task, and call the instruction to be determined corresponding to the real-time task from the PLCopen standard instruction; if the instruction to be determined is an instruction to be expanded, then call the standard instruction corresponding to the real-time task from the motion instructions associated with the instruction to be expanded.
[0034] Optionally, before the step of receiving the initialization configuration data and the task to be processed from the IDE, the method further includes:
[0035] In response to the instruction to be extended selected by the user from the PLCopen standard instructions, the parameter configuration of the instruction to be extended is obtained;
[0036] In response to the configuration mode of the preset processing file selected by the user according to the parameter configuration, the configuration mode includes a buffer data type;
[0037] If the configuration mode is the buffer data type, then the preset processing file is parsed to obtain motion instructions, and the motion instructions are associated with the instructions to be expanded.
[0038] In addition, to achieve the above objectives, this application also proposes a shaft group motion control device, the device comprising: a memory, a processor, and a shaft group motion control program stored in the memory and executable on the processor, the shaft group motion control program being configured to implement the steps of the shaft group motion control method as described above.
[0039] This application provides a shaft group motion control system, method, and device. Compared with existing technologies that are not fully designed according to the PLCopen standard, resulting in shaft group software only implementing the functions of a certain type of shaft group configuration and thus lacking flexibility, the shaft group motion control system in this application includes: an IDE terminal and a PLC controller, the IDE terminal and the PLC controller being connected through a data interaction channel; the IDE terminal includes a shaft group type selection control for selecting shaft group type and configuration, and a control program for editing various shaft group tasks and trajectory data of each attached single axis in the shaft group; the PLC controller includes a shaft group initialization module and a task scheduling framework; wherein, the task scheduling framework is used to read the shaft group task and trajectory data from the control program through the data interaction channel; the task scheduling framework is also used to generate a shaft group instruction to be executed based on the target instruction corresponding to the shaft group task in the preset shaft group standard instruction as the base instruction, according to the shaft group task and the trajectory data, the shaft group instruction to be executed is used to control the operation of the corresponding attached single axis, the preset shaft group standard instruction is an instruction set obtained by extending the PLCopen shaft group standard instruction. In this application, the axis group motion supports all axis group functions of the PLCopen standard. At the same time, the input of continuous trajectory has been extended on the basis of the standard to meet the user's needs for adaptation to different mechanical structure types and control of different types of trajectories, so as to improve the flexibility of PLC controller use. Attached Figure Description
[0040] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0041] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0042] Figure 1 This is a schematic diagram of the device structure of the hardware operating environment involved in the embodiments of this application;
[0043] Figure 2 This is a schematic diagram of the frame of the shaft motion control system of this application;
[0044] Figure 3 This is a schematic diagram of the task scheduling framework in the shaft group motion control system of this application;
[0045] Figure 4 This is a schematic diagram of the flow chart of the first embodiment of the shaft group motion control method of this application;
[0046] Figure 5 This is a flowchart illustrating the second embodiment of the shaft group motion control method of this application;
[0047] Figure 6 This is a schematic diagram illustrating the extension of the PLCopen axis group standard instructions in the axis group motion control method of this application.
[0048] The realization of the purpose, functional features and advantages of this application will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation
[0049] It should be understood that the specific embodiments described herein are merely illustrative of this application and are not intended to limit this application.
[0050] Reference Figure 1 , Figure 1 This is a schematic diagram of the axis motion control device structure in the hardware operating environment involved in the embodiments of this application.
[0051] like Figure 1 As shown, the axis 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 a memory 1005. The communication bus 1002 is used to enable communication between these components. The user interface 1003 may include a display screen or an input unit such as a keyboard; optionally, the user interface 1003 may also include a standard wired interface or a wireless interface. The network interface 1004 may optionally include a standard wired interface or a wireless interface (such as a Wi-Fi interface). The memory 1005 may be a high-speed random access memory (RAM) or a stable non-volatile memory (NVM), such as a disk storage device. Optionally, the memory 1005 may also be a storage device independent of the aforementioned processor 1001.
[0052] Those skilled in the art will understand that Figure 1 The structure shown does not constitute a limitation on the shaft motion control device, and may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0053] like Figure 1 As shown, the memory 1005, which serves as a storage medium, may include an operating system, a network communication module, a user interface module, and a shaft motion control program.
[0054] exist Figure 1 In the shaft group motion control device shown, 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 memory 1005 in the shaft group motion control device of this application can be set in the shaft group motion control device. The shaft group motion control device calls the shaft group motion control program stored in the memory 1005 through the processor 1001 and executes the shaft group motion control method provided in the embodiment of this application.
[0055] This application provides a shaft assembly motion control system, referring to... Figure 2 , Figure 2 This is a schematic diagram of the frame of the shaft motion control system of this application.
[0056] In this embodiment, the axis motion control system includes: an IDE terminal and a PLC controller, wherein the IDE terminal and the PLC controller are connected through a data interaction channel;
[0057] The IDE terminal includes an axis group type selection control 201 for selecting axis group type and 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 205 and a task scheduling framework 101.
[0058] 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;
[0059] 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 as the base 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 extending the PLCopen axis group standard instruction.
[0060] IDE stands for Integrated Development Environment, which is an application that provides a program development environment and may include tools such as code editors, compilers, debuggers, and graphical user interfaces. The IDE platform is a smart device that contains the integrated development environment, which can be a mobile phone, computer, or tablet.
[0061] It should be noted that the axis group type control in the IDE allows users to select the axis group type based on the number of axes required for workpiece machining and determine the axis group configuration based on the axis's degrees of freedom. Furthermore, the preset axis group standard instructions are obtained by extending 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. This ensures that regardless of the axis group configuration selected by the user for workpiece machining, the target instruction corresponding to the axis group task can be found in the preset axis group standard instructions. Based on this target instruction, the axis group instructions to be executed are generated according to the axis group task and the trajectory data sent from the IDE. This ensures that when users need 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 PLC controller.
[0062] Among them, the PLCopen axis group standard instructions provide standardized motion control solutions for industrial automation.
[0063] The axis group type can be classified according to the number of single axes attached in the axis group, such as 3-axis type, 4-axis type, 5-axis type, 6-axis type or 8-axis type, etc., without any specific limitation.
[0064] Among them, the shaft group configuration can include Cartesian orthogonal structure type, SCARA, DELTA, etc.
[0065] Furthermore, the IDE terminal is also used to obtain the following conditions input by the user based on the dynamic following configuration control 203, and send the following conditions to the PLC controller. The following conditions are used to configure the dynamic following function of the axis group.
[0066] The task scheduling framework 101 includes a real-time task module 102 and an FB function module 206;
[0067] The real-time task module 102 is used to acquire the position status information of each of the attached single axes and the user program 107, and send the position status information and the user program 107 to the FB function module 206. The user program 107 includes at least a single-axis POU program for implementing single-axis control and a real-time planning POU program for implementing axis group real-time control and planning.
[0068] The FB function module 206 is used to obtain the real-time task and interpolation data of each of the attached single axes from the user program 107, and to perform interpolation processing on the position status information based on the interpolation data to obtain axis group information.
[0069] The FB function module 206 is also 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 102.
[0070] The real-time task module 102 is used to dynamically follow and control the corresponding single-axis operation based on the axis group command to be executed and the following conditions.
[0071] 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, and refresh the mapped attached single axis in the PLC controller based on the change of the position status signal, so as to obtain the position status information of the mapped attached single axis after the refresh, and ensure that the data used to generate the axis group instruction to be executed is the latest data.
[0072] It should be noted that the position status information refreshed by the axis group input module 105 is sent to the FB function module 206 so that the FB function module 206 can perform interpolation processing on the position status data according to the interpolation data, so that each attached single axis group can move on the specified path at a predetermined speed and acceleration.
[0073] In a specific implementation, the shaft group input module 105 may also include a shaft group input processing submodule 106, which can be used to check the input update and error check of the position status signal of each attached single shaft, refresh the position system of the shaft group, etc.
[0074] The interpolation motion instructions are stored in the corresponding trajectory memory space, and then the instructions are retrieved from the trajectory memory space one by one for execution until all the interpolation motion is completed.
[0075] 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 connected single axis mapped on the PLC control terminal with the actual connected single axis according to the information of each connected single axis in the axis group instruction, so as to complete the association between the axis group control axis and the external single axis.
[0076] In a specific implementation, the shaft group output module 109 may also include a shaft group output processing submodule 108. The shaft group output processing submodule 108 is used to distinguish the single-axis control commands used to control each attached single axis from the shaft group commands to be executed. By checking the shaft group status, checking the legality of the shaft group command output by the shaft group planning, converting the output of the single-axis control command, and stopping the shaft group after it enters an error state, the output module 109 dynamically follows and controls the corresponding attached single axis to run based on the command and the following conditions.
[0077] It should be noted that since workpiece processing can be divided into dynamic processing and static processing, when processing workpieces dynamically, follow conditions can be configured so that the PLC controller can control the corresponding attached single axis to execute the corresponding instruction to be executed according to the control conditions, so as to realize real-time dynamic processing.
[0078] Further, refer to Figure 3 The task scheduling framework 101 also includes a general task module 103;
[0079] The general task module 103 is used to acquire a general PLC task and send the general PLC task to the FB function module 206. The general PLC task includes the position status information of the single axis to be attached.
[0080] The FB function module 206 is also used to call the standard instruction corresponding to the general PLC task from the preset axis group standard instruction, and update the standard instruction based on the position status information to obtain the axis group instruction to be executed.
[0081] It should be noted that general PLC tasks do not have real-time requirements, so general PLC tasks can be processed when the FB function module 206 is not processing real-time tasks. That is, when there are real-time tasks that need to be processed, the processing of general PLC tasks can be stopped, the real-time tasks can be processed first, and the general PLC tasks can be cached in a preset storage space. After the FB function module 206 has completed the processing of the real-time tasks, the general PLC tasks can be read again.
[0082] Further, refer to Figure 3 The task scheduling framework 101 also includes a trajectory preprocessing module 104;
[0083] The trajectory preprocessing module 104 is used to obtain the trajectory data from the control program through the data interaction channel, generate the axis group trajectory based on the trajectory data, and perform smooth transition and speed look-ahead processing on the axis group trajectory to obtain preprocessed trajectory data.
[0084] The trajectory preprocessing module 104 is also used to send the preprocessed trajectory data to the FB function module 206.
[0085] In particular, trajectory data can be used when the machining trajectory of a workpiece is irregular, so that the machining trajectory needs to be divided into multiple trajectory segments. Each trajectory segment is determined by two points, so that the trajectory segments can be used as data for each movement of the axis group. In addition, some trajectory segments may also contain inflection points and other data. Therefore, trajectory data can make the data of each movement of the axis group equal to the data of the machining trajectory.
[0086] It should be noted that since the shaft group pattern generated from the trajectory data is the machining trajectory during workpiece processing, there may be inflection points or uneven trajectory segments. Therefore, the trajectory preprocessing module 104 is required to perform smooth transition and speed look-ahead processing on the shaft group trajectory. This is to ensure that the inflection points of the shaft group trajectory are smoothly transitioned, and to determine the acceleration and deceleration trajectory points of the shaft group through speed look-ahead processing, so as to avoid shaft group breakage and make the shaft group movement safer.
[0087] Further, refer to Figure 2 The IDE terminal also includes a continuous stacking function control 202 and a look-ahead preprocessing control, and the PLC controller also includes a shaft group initialization module 205;
[0088] The continuous stacking function control 202 is used to obtain the activation signal of the continuous trajectory function triggered by the user, and send the activation signal to the axis group initialization module 205;
[0089] The forward-looking preprocessing control is used to configure the memory allocation data of each of the attached single axes and send the memory allocation data to the axis group initialization module 205;
[0090] The axis group initialization module 205 is further configured to allocate trajectory memory space for processing trajectory data to each of the attached single axes according to the received memory allocation data when the activation signal is detected.
[0091] It should be noted that the continuous stacking function control 202 allows users to choose whether to enable the continuous trajectory function. If the continuous trajectory function is enabled, the axis group can move continuously, improving processing efficiency.
[0092] It should be noted that after enabling the continuous trajectory function, the axis group initialization module 205 also needs to obtain the memory allocation data of each attached single axis configured by the user through the look-ahead 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 movement according to the estimated data.
[0093] It should be noted that by optimizing the software framework and scheduling mode, the size of axis group objects can be customized and scheduling efficiency can be improved.
[0094] This embodiment provides a shaft group motion control system. Compared with existing technologies that are not fully designed according to the PLCopen standard, resulting in shaft group software that only implements the functions of a certain type of shaft group configuration and thus lacks flexibility, the shaft group motion control system in this application includes: an IDE terminal and a PLC controller, wherein the IDE terminal and the PLC controller are connected through a data interaction channel; the IDE terminal includes a shaft group type selection control 201 for selecting shaft group type and shaft group configuration, and a control program for editing various shaft group tasks and trajectory data of each attached single axis in the shaft group; the PLC controller... The device includes an axis group initialization module 205 and a task scheduling framework 101. 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 instructions, 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 instructions are an instruction set obtained by extending the PLCopen axis group standard instructions. That is, in this application, the axis group motion supports all PLCopen standard axis group functions, and at the same time, the input of continuous trajectory is extended based on the standard to meet the user's needs for adaptation to different mechanical structure types and control of different types of trajectories, thereby improving the flexibility of the PLC controller.
[0095] refer to Figure 4 , Figure 4 This is a flowchart illustrating the first embodiment of the shaft group motion control method of this application.
[0096] It should be noted that the execution subject in this embodiment can be the PLC controller in the axis group motion control device. The axis group motion control device can be an electronic device such as a personal computer, smartphone, or tablet computer, or 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 device is used as an example to illustrate the axis group motion control method of this application.
[0097] Based on the above embodiments, in this embodiment, the shaft group motion control method includes:
[0098] Step S10: Receive initialization configuration data and pending tasks sent by the IDE terminal. The initialization configuration data includes at least axis group type and trajectory data. The trajectory data is data containing axis group motion information.
[0099] The tasks to be processed include at least general PLC tasks and real-time tasks.
[0100] It should be noted that after obtaining the initial configuration data, the axis group type in the initial configuration data is used to map the corresponding single axis to the axis group configuration in the axis group type, so as to determine the axis group required by the user. The initial configuration data may also include the initial configuration of the axis group and the association information between each mapped single axis and the corresponding actual single axis.
[0101] Step S20: Perform local initialization based on the initialization configuration data to determine the single axis required for the axis group type.
[0102] It should be noted that if the initialization configuration data contains an instruction to enable continuous trajectory, then the memory allocation data is read from the initialization configuration data, and trajectory memory space for processing 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.
[0103] Step S30: Determine the corresponding FB function module based on the task to be processed. The FB function module is used to generate an axis group instruction to be executed based on the target instruction corresponding to the task to be processed in the preset axis group standard instruction and the trajectory data.
[0104] It should be noted that the FB functional module contains multiple functional sub-modules. The functional sub-modules to be called can be determined based on the task to be processed. After the functional sub-modules are determined, the corresponding basic functional module can be called to execute.
[0105] In its implementation, 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 based on the task to be processed and the trajectory data.
[0106] It should be noted that since different types of shaft groups are used to perform the same process, the corresponding tasks to be performed are also different. Therefore, by presetting the standard shaft group instructions, instructions corresponding to any type of shaft group can be obtained, thereby improving the user's flexibility and practicality in using shaft groups.
[0107] Step S40: Control the operation of the corresponding attached single axis based on the axis group command.
[0108] In practice, the operation of the corresponding single axis can be controlled by the single axis resource module by calling the corresponding resources according to the axis group instructions.
[0109] refer to Figure 5 , Figure 5This is a flowchart illustrating the second embodiment of the shaft group motion control method of this application.
[0110] Based on the above embodiments, in this embodiment, the task to be processed includes the general PLC task and the real-time task;
[0111] Step S01: 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 instructions. The target standard instruction is the axis group instruction that does not need to be updated.
[0112] Step S02: 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 attached single axes in real time, perform interpolation processing on the single axis based on the FB function module to obtain axis group information, and call the standard instruction corresponding to the real-time task from the preset axis group standard instruction, update the standard instruction using the axis group information, and obtain axis group instruction.
[0113] 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 a single axis, the target standard instruction corresponding to the general PLC task can be called from the preset axis group standard instructions as the axis group instruction.
[0114] It should be noted that since real-time tasks may be generated based on the real-time movement of the axis group, and the position of the axis group changes in real time during the movement, when the task to be processed is a real-time task, after determining the standard instruction from the preset axis group standard instruction, it is necessary to update the standard instruction according to the axis group information to obtain the axis group instruction.
[0115] It should be noted that after obtaining the position status information of the attached single axis, the FB function module can perform interpolation processing on the axis group trajectory to obtain axis group information, so that the axis group can move 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.
[0116] Optionally, the FB function module is further configured to determine the real-time task, and call the instruction to be determined corresponding to the real-time task from the PLCopen standard instruction; if the instruction to be determined is an instruction to be expanded, then call the standard instruction corresponding to the real-time task from the motion instructions associated with the instruction to be expanded.
[0117] It should be noted that since one or more of the preset axis group standard instructions have extended motion instructions, the PLC controller can be extended to meet any customized axis group, that is, it can control the motion of any fixed axis group. Furthermore, refining the standard instructions can improve the accuracy of axis group motion control, thereby improving scheduling efficiency.
[0118] Optionally, before the step of receiving the initialization configuration data and the task to be processed from the IDE, the method further includes:
[0119] In response to the instruction to be extended selected by the user from the PLCopen standard instructions, the parameter configuration of the instruction to be extended is obtained;
[0120] In response to the configuration mode of the preset processing file selected by the user according to the parameter configuration, the configuration mode includes a buffer data type;
[0121] If the configuration mode is the buffer data type, then the preset processing file is parsed to obtain motion instructions, and the motion instructions are associated with the instructions to be expanded.
[0122] In the specific implementation, refer to Figure 6 Building upon MC_PathSelect, this library expands upon it with nine additional buffer commands. These include motion commands for lines and arcs, buffer I / O operation commands, buffer wait (time or position) commands, and buffer data end commands. Users can configure MC_PathSelect to select either "File Type" or "Buffer Data Type" mode. When selecting "Buffer Data Type," users can parse different types of processing files (such as DXF format drawing files) according to their actual needs and then convert them into the corresponding nine buffer commands, greatly improving the flexibility of use.
[0123] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one, etc." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0124] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0125] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, 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 several instructions to cause a terminal device (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods of the various embodiments of this application.
[0126] The above are merely preferred embodiments of this application and do not limit the scope of this patent application. Any equivalent structural or procedural changes made based on the description and drawings of this application, or any direct or indirect application in other related technical fields, are similarly included within the scope of patent protection of this application.
Claims
1. A shaft assembly motion control system, characterized in that, The axis motion control system includes: an IDE terminal and a PLC controller, wherein the IDE terminal and the PLC controller are connected through a data interaction channel; The IDE includes an axis group type selection control for selecting axis group type and 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. 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 as the base 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 extending the PLCopen axis group standard instruction.
2. The shaft motion control system as described in claim 1, characterized in that, The IDE terminal 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. 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 an FB function module; The real-time task module is used to acquire the position status information and user program of each of the attached single axes, and send the position status information and user program to the FB function module. The user program includes at least a single-axis POU program for implementing single-axis control and a real-time planning POU program for axis group control and planning. The FB function module is used to obtain the real-time task and interpolation data of each of the attached single axes from the user program, and to perform interpolation processing on the position status information based on the interpolation data to obtain axis group information. The FB function module is also 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 operation of the corresponding single axis based on the axis group command to be executed and the following conditions.
3. The shaft motion control system as described in claim 2, characterized in that, The task scheduling framework also includes a general task module; The general task module is used to acquire a general PLC task and send the general PLC task to the FB function module. The general PLC task includes the position status information of the single axis to be attached. The FB function module is also used to call the standard instruction corresponding to the general PLC task from the preset axis group standard instruction, and update the standard instruction based on the position status information to obtain the axis group instruction to be executed.
4. The shaft motion control system as described in claim 2, characterized in that, 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 the axis group trajectory based on the trajectory data, and perform smooth transition and velocity look-ahead processing on the axis group trajectory to obtain preprocessed trajectory data. The trajectory preprocessing module is also used to send the preprocessed trajectory data to the FB function module.
5. The shaft motion control system according to any one of claims 1 to 4, characterized in that, The IDE terminal also includes continuous trajectory function controls and look-ahead preprocessing controls, and the PLC controller also includes an axis group initialization module; The continuous trajectory function control is used to obtain the activation signal of the continuous trajectory function triggered by the user, and send the activation signal to the axis group initialization module; The look-ahead preprocessing control is used to configure the memory allocation data for each of the attached single axes and send the memory allocation data to the axis group initialization module. The axis group initialization module is further configured to allocate trajectory memory space for processing trajectory data to each of the attached single axes according to the received memory allocation data when the activation signal is detected.
6. A shaft group motion control method based on the shaft group motion control system according to any one of claims 1 to 5, characterized in that, The method is executed by the PLC controller, and the method includes: Receive initialization configuration data and pending tasks sent by the IDE terminal. The initialization configuration data includes at least axis group type and trajectory data. The trajectory data is data containing axis group motion information. Perform local initialization based on the initialization configuration data to determine the single axis to be attached for the axis group type; Based on the task to be processed, the corresponding FB function module is determined. The FB function module is used to generate an axis group instruction to be executed based on the target instruction corresponding to the task to be processed in the preset axis group standard instruction and the trajectory data. The corresponding attached single axis is controlled based on the axis group command.
7. The shaft assembly motion control method as described in claim 6, characterized in that, The tasks to be processed include general PLC tasks and 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 instructions. 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 attached single axes in real time, perform interpolation processing on the single axis based on the FB function module to obtain axis group information, and call the standard instruction corresponding to the real-time task from the preset axis group standard instruction, update the standard instruction using the axis group information to obtain axis group instruction.
8. The shaft assembly motion control method as described in claim 7, characterized in that, The FB function module is also used to determine the real-time task and call the instruction to be determined corresponding to the real-time task from the PLCopen standard instruction; if the instruction to be determined is an instruction to be expanded, then call the standard instruction corresponding to the real-time task from the motion instructions associated with the instruction to be expanded.
9. The shaft assembly motion control method as described in claim 6, characterized in that, Before the step of receiving the initialization configuration data and the task to be processed from the IDE, the method further includes: In response to the instruction to be extended selected by the user from the PLCopen standard instructions, the parameter configuration of the instruction to be extended is obtained; In response to the configuration mode of the 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, then the preset processing file is parsed to obtain motion instructions, and the motion instructions are associated with the instructions to be expanded.
10. A shaft assembly motion control device, characterized in that, The shaft group motion control device includes: a memory, a processor, and a shaft group motion control program stored in the memory and executable on the processor, the shaft group motion control program being configured to implement the steps of the shaft group motion control method as described in any one of claims 6 to 9.
Citation Information
Patent Citations
Programmable logic control instruction system and method, control system and storage medium
CN111984321A
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