Multi-axis control method, system and equipment of electronic cam and medium
By allocating an independent programming table to each motion axis and combining it with a cam control algorithm to dynamically correct phase differences and synchronization errors, the synchronization error and resource conflict problems of the electronic cam system in multi-axis control are solved, achieving efficient and precise multi-axis motion control.
Patent Information
- Application Number
- CN202511034549.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-25
- Publication Date
- 2025-09-23
- Estimated Expiration
- 2045-07-25
AI Technical Summary
Existing electronic cam systems have problems in multi-axis control, such as large code redundancy, low parsing efficiency, insufficient real-time performance, unstable motion caused by synchronization errors and phase differences, task conflicts, data delays or communication jitter, etc., which make it difficult to meet the needs of high-precision and high-speed processing.
An independent programming table is allocated for each motion axis, and a cam curve is generated in combination with the cam control algorithm. The phase difference and synchronization error are dynamically corrected through the electronic clutch module and dimensionless processing to achieve flexible control and precise synchronization of multi-axis motion.
It improves the flexibility and precision of multi-axis motion, reduces resource conflicts, ensures the smoothness and stability of motion, enhances the adaptability and responsiveness of the system, and improves processing efficiency and product quality.
Smart Images

Figure CN120686730A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of electronic cams, and in particular to a multi-axis control method, system, device and medium for an electronic cam. Background Art
[0002] In CNC systems, multi-axis control is a core technology for complex machining and automated production lines. As an advanced control method, electronic cam systems utilize a multi-tasking mechanism to process the master axis' trajectory data and dynamically adjust the slave axis' pulse signals to achieve coordinated multi-axis motion, significantly improving machining flexibility and real-time performance. However, despite the numerous advantages of electronic cam systems in multi-axis control, their practical application still presents several technical challenges that need to be addressed.
[0003] Traditional CNC systems often use G-code parsing and execution line by line to process multi-axis instructions. This approach results in significant code redundancy, low parsing efficiency, and insufficient real-time performance, making it difficult to meet the demands of high-precision, high-speed machining. Especially in scenarios involving multi-axis coordinated motion, the movements of each axis must be strictly synchronized to ensure the accuracy and quality of the workpiece. Traditional methods often require global rewriting of the G-code when dynamic adjustment of motion parameters or trajectories is required, which is cumbersome and significantly reduces system flexibility.
[0004] While electronic CAM systems have mitigated this issue to some extent through their multitasking mechanisms, they still face challenges in practical applications. For one thing, the complex process of generating and managing buffer tables consumes significant system resources, impacting overall system efficiency. Furthermore, when dynamically adjusting slave axis pulse signals, synchronization errors or phase shifts can lead to jerky motion, compromising machining accuracy and surface quality.
[0005] Furthermore, existing electronic CAM systems typically use a shared data table and communication bandwidth to process multi-axis motion commands. This approach is adequate for smaller tasks, but when multiple axes are simultaneously executing complex tasks, task conflicts can easily occur, leading to data delays or communication jitter. This delay or jitter is particularly unacceptable in high-speed, high-precision machining processes, severely impacting both processing efficiency and product quality. Summary of the Invention
[0006] The object of the present invention is to provide a multi-axis control method, system, device and medium for an electronic cam, which achieves flexible control and precise synchronization of multi-axis motion by assigning an independent programming table to each motion axis and generating a cam curve in combination with a cam control algorithm, thereby improving processing efficiency and accuracy, and solving at least one of the above-mentioned prior art problems.
[0007] In a first aspect, the present invention provides a multi-axis control method for an electronic cam, the method specifically comprising: Based on the preset motion task, an independent programming table is allocated to each motion axis, wherein the programming table includes the motion instruction sequence and time parameters corresponding to each motion axis; By analyzing the action instruction sequence in the programming table of each motion axis and combining it with the preset cam control algorithm, a cam curve corresponding to each motion axis is generated. The cam curve includes position parameters, speed parameters and acceleration parameters. According to the real-time feedback of the axis motion state data, the cam curve is dimensionlessly processed by the electronic clutch module, and the phase difference and synchronization error between the axes are dynamically corrected to obtain a corrected cam curve; Based on the modified cam curve, each motion axis is driven to independently execute the action instruction sequence in its programming table, and the pulse signals of each axis are synchronized in real time through the electronic cam module to achieve multi-axis coordinated motion.
[0008] In a second aspect, the present invention provides a multi-axis control system for an electronic cam, the system specifically comprising: A first multi-axis control module is configured to allocate an independent programming table to each motion axis based on a preset motion task, wherein the programming table includes a motion instruction sequence and time parameters corresponding to each motion axis; A second multi-axis control module is configured to generate a cam curve corresponding to each motion axis by parsing the motion instruction sequence in the programming table of each motion axis and combining it with a preset cam control algorithm. The cam curve includes position parameters, velocity parameters, and acceleration parameters. a third multi-axis control module, configured to perform dimensionless processing on the cam curve through an electronic clutch module based on the real-time feedback of the axis motion state data, dynamically correct the phase difference and synchronization error between the axes, and obtain a corrected cam curve; The fourth multi-axis control module is used to drive each motion axis to independently execute the action instruction sequence in its programming table based on the modified cam curve, and synchronize the pulse signals of each axis in real time through the electronic cam module to achieve multi-axis coordinated motion.
[0009] In a third aspect, the present invention provides a computer device comprising: a memory and a processor and a computer program stored in the memory, wherein when the computer program is executed on the processor, the multi-axis control method of the electronic cam as described in any one of the above methods is implemented.
[0010] In a fourth aspect, the present invention provides a computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, the multi-axis control method of the electronic cam as described in any one of the above methods is implemented.
[0011] Compared with the prior art, the present invention has at least one of the following technical effects: 1. The present invention allocates an independent programming table to each motion axis and generates a cam curve in combination with a cam control algorithm, thereby achieving flexible control and precise synchronization of multi-axis motion and improving processing efficiency and precision.
[0012] 2. The present invention avoids the tedious operation of globally rewriting G codes by allocating an independent programming table to each motion axis, thereby improving the flexibility and real-time performance of the system.
[0013] 3. The programming table of the present invention sets a multi-layer structure to effectively manage action instructions, time parameters and conflict detection, ensuring the accurate decomposition and execution of motion tasks while avoiding resource conflicts between motion axes.
[0014] 4. The calculation formula of the relative duration of the present invention takes into account kinematic constraints, making the time allocation of action instructions more reasonable and ensuring the smoothness and continuity of the movement.
[0015] 5. The present invention generates the slave axis cam curve through nonlinear mapping, discretizes it into a pulse sequence and stores it in a buffer table, thereby realizing the dynamic generation and real-time update of the cam curve and enhancing the adaptability of the system.
[0016] 6. The present invention, by combining an electronic clutch module and dimensionless processing technology, can correct the phase difference and synchronization error between axes in real time, thereby improving the coordination and stability of multi-axis motion.
[0017] 7. The present invention introduces dimensionless parameters to make the correction of the cam curve more accurate and efficient, thereby enhancing the system's ability to respond to external disturbances and command changes.
[0018] 8. The present invention achieves high-precision coordinated control of multi-axis motion by synchronizing the pulse signals of each axis in real time and adjusting the pulse frequency according to the actual position error, thereby improving the quality and consistency of the processed parts. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0020] Figure 1 1 is a flow chart of a multi-axis control method of an electronic cam provided by an embodiment of the present invention; Figure 2 1 is a schematic structural diagram of a multi-axis control system of an electronic cam provided by an embodiment of the present invention; Figure 3 It is a structural diagram of a computer device provided by one embodiment of the present invention. DETAILED DESCRIPTION
[0021] In the following description, specific details such as specific system structures and techniques are provided for purposes of illustration rather than limitation to facilitate a thorough understanding of the embodiments of the present application. However, it will be apparent to those skilled in the art that the present application may be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to avoid obscuring the description of the present application with unnecessary detail.
[0022] It should be understood that when used in the present specification and the appended claims, the term "comprising" indicates the presence of described features, integers, steps, operations, elements and / or components, but does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or collections thereof.
[0023] It will also be understood that the term "and / or" used in this specification and the appended claims refers to and includes any and all possible combinations of one or more of the associated listed items.
[0024] As used in this specification and the appended claims, the term "if" can be interpreted as "when" or "upon" or "in response to determining" or "in response to detecting," depending on the context. Similarly, the phrase "if it is determined" or "if [described condition or event] is detected" can be interpreted as meaning "upon determination" or "in response to determining" or "upon detection of [described condition or event]" or "in response to detecting [described condition or event]," depending on the context.
[0025] In addition, in the description of the present application specification and the appended claims, the terms "first", "second", "third", etc. are only used to distinguish the descriptions and cannot be understood as indicating or implying relative importance.
[0026] References to "one embodiment" or "some embodiments" in this specification mean that a particular feature, structure, or characteristic described in conjunction with that embodiment is included in one or more embodiments of the present application. Thus, phrases such as "in one embodiment," "in some embodiments," "in other embodiments," and "in other embodiments" appearing in various places in this specification do not necessarily refer to the same embodiment, but rather mean "one or more but not all embodiments," unless otherwise specifically emphasized. The terms "including," "comprising," "having," and variations thereof all mean "including but not limited to," unless otherwise specifically emphasized.
[0027] In the embodiments of this application, Figure 1 A flow chart of a multi-axis control method of an electronic cam disclosed in the first embodiment of the present invention is shown, and is described in detail as follows: S101 , allocating an independent programming table to each motion axis based on a preset motion task, wherein the programming table includes a motion instruction sequence and time parameters corresponding to each motion axis.
[0028] In this embodiment, by assigning a separate programming table to each axis, the movements and timing of each axis can be precisely controlled, avoiding unnecessary waiting and conflicts, thereby improving the efficiency of the entire production line. The timing parameters in the programming table enable each axis's movements to be tightly coordinated, reducing idle time and increasing effective processing time.
[0029] Independent programming tables allow for precise control of each axis's motion, including speed, acceleration, and position, thereby improving machining accuracy. Axes work together through interpolation and conditional instructions in the programming table, ensuring precise positioning of the workpiece during movement and rotation.
[0030] Each axis's programming table is independent, facilitating debugging and maintenance of individual axes without affecting the normal operation of other axes. Adding a new axis or modifying the motion of an existing one requires modifying the corresponding programming table, eliminating the need for extensive adjustments to the entire control system. The programming table allows for flexible definition of each axis's motion and timing parameters to accommodate diverse production tasks and processing requirements. This independent programming table structure makes the system more modular, facilitating troubleshooting and repair, and improving system reliability.
[0031] S102 , by parsing the action instruction sequence in the programming table of each motion axis and combining it with a preset cam control algorithm, a cam curve corresponding to each motion axis is generated, wherein the cam curve includes a position parameter, a speed parameter, and an acceleration parameter.
[0032] In this embodiment, by generating a cam curve, the position, speed and acceleration of each axis during the entire motion process can be precisely controlled, which helps ensure that the mechanical system moves according to the preset motion law and improves the accuracy and stability of the motion.
[0033] Cam curves can optimize the motion trajectory of mechanical systems, reducing unnecessary waiting and idling time, helping to improve production efficiency and reduce production costs. By modifying the motion instruction sequence in the programming table, the motion pattern of the mechanical system can be easily adjusted. This makes the system more flexible and able to adapt to different production needs and processing tasks.
[0034] Cam curves can serve as a reference for the motion state of a mechanical system. During fault diagnosis and repair, the problem can be quickly located by comparing the actual motion curve with the preset cam curve. This helps shorten repair time and reduce repair costs.
[0035] S103 , performing dimensionless processing on the cam curve through an electronic clutch module according to the real-time feedback of the axis motion state data, dynamically correcting the phase difference and synchronization error between the axes, and obtaining a corrected cam curve.
[0036] In this embodiment, an encoder or sensor is installed on each axis to monitor the position, velocity, and acceleration of the axis in real time. The data obtained by the sensor is transmitted to a computer or control system in real time through a data acquisition card or controller. The electronic clutch module is used to receive real-time feedback of the axis motion state data and perform data processing and correction according to a preset algorithm. The position, velocity, and acceleration parameters in the cam curve are dimensionless for better comparison and correction. For example, the position parameter can be normalized to a range of 0 to 1, and the velocity and acceleration parameters can also be dimensionless accordingly.
[0037] By comparing the actual motion phase of each axis with the preset phase, the phase difference is calculated. The electronic clutch module then adjusts the cam curve to gradually reduce the phase difference between the axes. By comparing the actual motion speed of each axis with the preset speed, the synchronization error is calculated. The electronic clutch module then adjusts the cam curve to gradually reduce the synchronization error between the axes. After dimensionless processing and dynamic correction, a new cam curve is generated that better matches the actual motion state and ensures coordinated motion and synchronization between the axes.
[0038] In this embodiment, through real-time feedback and dynamic correction, the phase difference and synchronization error between the axes can be significantly reduced, and the motion accuracy of the entire motion control system can be improved. The corrected cam curve is more consistent with the actual motion state, can reduce the impact and vibration of the mechanical system, and enhance the stability of the system. Since the corrected cam curve can ensure the coordinated motion and synchronization between the axes, it can reduce the waiting time and idling time in the production process and improve production efficiency. The use of electronic clutch modules and dimensionless processing technology makes the system more modular and easy to maintain and upgrade. When it is necessary to add a new axis or modify the motion law of an existing axis, it is only necessary to adjust the corresponding programming table and correction algorithm.
[0039] S104, based on the modified cam curve, driving each motion axis to independently execute the action instruction sequence in its programming table, and synchronizing the pulse signals of each axis in real time through the electronic cam module to achieve multi-axis coordinated motion.
[0040] In this embodiment, the corrected cam curve is loaded into the memory of the control system for reference by each axis when executing motion instructions. Each axis independently reads the position, velocity, and acceleration information in the corrected cam curve according to the motion instructions in its programming table and performs the corresponding motion. The electronic cam module monitors the pulse signals of each axis in real time, compares the differences between them, and synchronizes these signals by adjusting the motion parameters of each axis. During execution, the sensors of each axis provide real-time feedback of its motion status data, which is used to further correct the cam curve and adjust the motion of each axis to ensure the accuracy and stability of the coordinated motion.
[0041] In this embodiment, through the real-time synchronization function of the electronic cam module, each axis can move according to the preset collaborative motion law to achieve precise multi-axis collaborative motion. The use of the corrected cam curve and the real-time synchronization function of the electronic cam module can significantly improve the motion accuracy and stability of each axis and reduce errors and jitter during the motion process. Since each axis independently executes the action instructions in its programming table and can be synchronized in real time through the electronic cam module, the system is more flexible and can adapt to different processing tasks and collaborative motion requirements. The use of the electronic cam module simplifies the design and maintenance process of the multi-axis collaborative motion system. Through modular design, axes can be easily added or deleted, and the motion laws of each axis can be modified.
[0042] In some embodiments, in the above step S101, allocating an independent programming table to each motion axis based on the preset motion task specifically includes: The programming table is provided with an action instruction layer, a time parameter layer, and a conflict detection layer. The action instruction layer is used to store action instruction sequences including target positions, motion modes, and synchronization trigger identifiers. The motion modes include linear interpolation motion, circular interpolation motion, and point motion. The time parameter layer is used to assign time reference parameters to each action instruction. The time reference parameters include absolute start time and relative duration. The conflict detection layer is used to record resource occupancy flags of each motion axis during motion. Obtain a preset motion task, decompose the preset motion task into multiple sub-actions, and decompose each sub-action into axis-level motion instructions; If any sub-action involves multi-axis coordinated motion, the synchronization trigger identifier corresponding to the sub-motion is inserted into the programming table of the corresponding motion axis; Calculate the time allocation of each action instruction according to the kinematic constraints and determine the relative duration corresponding to each action instruction; At the conflict detection layer, a unique identifier is allocated to the shared resource. Based on the unique identifier, it is determined whether a conflict occurs between the action instructions corresponding to any two motion axes. If a conflict occurs, the triggering time of the action instruction of one of the motion axes is delayed.
[0043] In this embodiment, a multi-axis CNC machine tool system with three motion axes (axis X, axis Y, and axis Z) is required to execute a complex, pre-set motion task involving multiple sub-actions, including single-axis independent motion and multi-axis coordinated motion. To efficiently and accurately complete this task, a separate programming table is assigned to each motion axis, and a motion instruction layer, a time parameter layer, and a conflict detection layer are set. The axis X programming table stores motion instruction sequences such as "Move to position 100, linear interpolation motion, synchronization trigger mark A." The axis Y programming table stores motion instruction sequences such as "Move to position 200, circular interpolation motion, synchronization trigger mark B." The axis Z programming table stores motion instruction sequences such as "Move to position 300, point motion."
[0044] Assign an absolute start time and a relative duration to each motion instruction. For example, a "move to position 100" instruction for axis X might start at time t=0 and last for 2 seconds. Record the resource usage flags for each axis during the motion process. For example, when axis X is executing "move to position 100," its corresponding resource usage flag is set to 1.
[0045] Obtain a preset motion task, such as "Process a rectangular contour with sides of 100mm and 200mm." Decompose the task into multiple sub-actions, such as "Axis X moves to position 100, axis Y moves to position 0," "Axis X maintains position 100, axis Y moves to position 200," "Axis X moves to position 0, axis Y maintains position 200," and "Axis X moves to position -100, axis Y moves to position 0." Further decompose each sub-action into axis-level motion instructions, such as "Axis X linearly interpolates to position 100" and "Axis Y linearly interpolates to position 0." If any sub-action involves multi-axis coordinated motion, such as "Axis X and Axis Y simultaneously move to specified positions," insert the synchronization trigger identifiers (such as A and B) corresponding to that sub-motion into the programming table for the corresponding motion axis.
[0046] The timing of each motion command is calculated based on kinematic constraints (such as speed and acceleration limits), determining the relative duration of each motion command. At the conflict detection layer, unique identifiers (such as resource locks) are assigned to shared resources. This unique identifier is used to determine whether the motion commands corresponding to any two motion axes conflict. If a conflict occurs (e.g., two axes simultaneously need to occupy the same resource), the triggering time of the motion command for one of the motion axes is delayed to ensure smooth coordinated motion.
[0047] In this embodiment, by assigning a separate programming table to each motion axis and setting up the motion instruction layer, time parameter layer, and conflict detection layer, programming efficiency can be significantly improved. Programmers can more intuitively define the motion instructions and time parameters for each axis and easily handle conflicts in multi-axis coordinated motion.
[0048] Because the programming table is clearly structured and easily modifiable, the system is more flexible, reducing programming and debugging time and improving production efficiency. Changing motion tasks or adjusting motion parameters requires simply modifying the corresponding programming table, eliminating the need to redesign or reprogram the entire system. Furthermore, optimizing time allocation and conflict detection mechanisms further reduces waiting and idle time, improving overall production efficiency.
[0049] By inserting synchronization trigger marks and performing conflict detection, the accuracy and stability of multi-axis coordinated motion can be ensured. Each axis can move according to the preset coordinated motion rules, reducing processing errors caused by synchronization errors.
[0050] Furthermore, the relative duration satisfies in, Indicates relative duration, Indicates the target position of the motion axis in the kth action instruction, Indicates the current position of the motion axis at the kth action instruction, Indicates the maximum permissible speed of the motion axis, Indicates the maximum permissible acceleration of the motion axis.
[0051] In this embodiment, the target position is the position that the motion axis needs to reach when executing the kth action instruction. It determines the distance the motion axis needs to move, thereby affecting the relative duration. The current position is the starting position of the motion axis when executing the kth action instruction. Together with the target position, it determines the total distance the motion axis needs to move.
[0052] The maximum allowed speed is the maximum speed an axis can reach during motion. It limits the speed at which the axis can move, thus affecting the relative duration. Under speed limits, the axis takes longer to complete a larger movement distance.
[0053] Maximum permissible acceleration is the maximum acceleration an axis can reach during motion. It affects how the axis accelerates from a standstill to its maximum speed and, when necessary, decelerates back to a standstill. Higher accelerations shorten acceleration and deceleration times, but they can also result in greater mechanical stress and vibration.
[0054] In this embodiment, by considering the target position, current position, maximum allowable speed and acceleration, the time required for the motion axis to execute each action instruction can be accurately calculated, which helps to achieve more precise motion control, especially in scenarios requiring multi-axis coordinated motion.
[0055] By adjusting the maximum permissible speed and acceleration, you can find a balance between motion time and mechanical stress. Higher speeds and accelerations can shorten motion time and improve productivity, but they may also increase mechanical wear and vibration. By properly setting these parameters, you can optimize motion performance and extend equipment life.
[0056] Because the relative durations are calculated based on the actual motion conditions and constraints, the system is more flexible. When motion conditions (such as load, friction coefficient, etc.) change, the maximum permissible speed and acceleration can be adjusted to accommodate these changes without redesigning or reprogramming the entire system.
[0057] By limiting the maximum permissible speed and acceleration, you can ensure that the motion axis does not exceed its physical limits during movement, thereby avoiding mechanical damage or safety accidents.
[0058] In some embodiments, in the above step S102, the cam curve corresponding to each motion axis is generated by parsing the motion instruction sequence in the programming table of each motion axis and combining it with a preset cam control algorithm, specifically including: Extract the motion parameters of each action instruction in the programming table of any motion axis and construct a sequence of discrete trajectory points; Determine the main axis from multiple motion axes, use the main axis as the time reference, fit the discrete trajectory point sequence corresponding to the main axis into a continuous function, and obtain the main axis reference curve; Based on the master axis reference curve and the discrete trajectory point sequences corresponding to other motion axes, a slave axis cam curve is generated through nonlinear mapping; Discretize each slave axis cam curve into a pulse sequence and store it in a buffer table; When an external disturbance or a command change is detected, the buffer table is updated by determining the position deviation to be compensated, the correction rate, and the correction trigger timestamp.
[0059] In this example, a multi-axis CNC machine tool system with three axes (X, Y, and Z) is required to perform a complex machining task. To precisely control the motion of each axis, the system analyzes the motion instruction sequences in the programming table for each axis and, in combination with a pre-defined cam control algorithm, generates a cam curve corresponding to each axis, enabling dynamic adjustment.
[0060] First, extract the motion parameters for each action instruction in the programming table for axis X, such as the target position, motion mode (linear interpolation, circular interpolation, point-to-point motion, etc.), and time base parameters (absolute start time, relative duration). Based on these parameters, calculate the position of axis X at each time point and construct its discrete trajectory point sequence. Repeat the above steps for axes Y and Z to obtain their respective discrete trajectory point sequences.
[0061] Next, a master axis is identified from among axes X, Y, and Z. Assume that axis X is selected as the master axis. Using the master axis's time base as a reference, the corresponding discrete trajectory point sequence is fitted into a continuous function, such as using polynomial fitting or spline curve fitting, to obtain the master axis reference curve. Based on the master axis reference curve and the corresponding discrete trajectory point sequences for axes Y and Z, a nonlinear mapping (such as time-based proportional mapping or position-based function mapping) is used to generate the cam curves for the slave axes (axis Y and axis Z). This nonlinear mapping ensures that the motion of the slave axes is coordinated with that of the master axis, meeting the machining task requirements. The cam curve for each slave axis (axis Y and axis Z) is discretized into a series of pulse sequences. Each pulse sequence represents the position or velocity command for the slave axis at a specific point in time. These pulse sequences are stored in a buffer table for subsequent retrieval and execution by the motion control module.
[0062] Finally, when an external disturbance (such as a load change or mechanical vibration) or a command change (such as a modified machining task) is detected, sensors or feedback mechanisms are used to determine the position deviation that needs to be compensated. Based on the position deviation, the correction rate (i.e., the rate at which the motion speed is adjusted to correct the deviation as quickly as possible) and the correction trigger timestamp (i.e., the time at which the correction action begins) are calculated. The buffer table is updated, and the corrected pulse sequence is inserted at the corresponding time point to ensure that the slave axis can move according to the new command.
[0063] In this embodiment, by parsing the motion instruction sequences in the programming table and combining them with a cam control algorithm, cam curves for each axis can be accurately generated, achieving high-precision motion control. When external disturbances or instruction changes are detected, correction parameters are calculated in real time and the buffer table is updated, enabling dynamic adjustment of motion and improving the robustness and adaptability of the system. By using the master axis as the time reference to generate cam curves for the slave axes, coordinated motion between multiple axes can be ensured, meeting the requirements of complex machining tasks.
[0064] In some embodiments, in step S103, dimensionless processing is performed on the cam curve by an electronic clutch module based on the real-time feedback of the axis motion state data, and the phase difference and synchronization error between the axes are dynamically corrected to obtain a corrected cam curve, specifically including: Real-time acquisition of the actual position, speed, and deviation between the actual position and theoretical position of each motion axis; If the deviation position of any motion axis is greater than the preset deviation threshold, the synchronization link between the motion axis and the main axis is cut off through the electronic clutch module, and the dimensionless parameters based on the main axis position are determined through dimensionless mapping; Based on the dimensionless parameters, the slave axis cam curve of the motion axis is reconstructed to obtain a modified cam curve.
[0065] In this example, a multi-axis mechanical system for precision machining is assumed, comprising a master axis (e.g., axis X) and multiple slave axes (e.g., axis Y and axis Z). To ensure precise synchronization and coordinated motion between the axes, a cam curve correction method based on real-time feedback and an electronic clutch module is employed.
[0066] First, sensors are used to collect real-time position and velocity data for each axis (X, Y, and Z). The deviation between the actual position of each axis and its theoretical position (i.e., the expected position on the cam curve) is calculated.
[0067] Next, a preset deviation threshold is set to determine whether a moving axis deviates too far from its theoretical position. The deviation position of each moving axis is monitored in real time. If the deviation of any moving axis exceeds the preset deviation threshold, the electronic clutch module disconnects the synchronization link between that moving axis and the main axis (axis X). This disconnection prevents a moving axis with excessive deviation from affecting the normal motion of other axes, ensuring system stability and safety.
[0068] When the synchronization link for a particular motion axis (such as axis Y) is severed, dimensionless parameters for that axis are determined using dimensionless mapping, based on the position of the master axis (axis X). Dimensionless mapping converts actual physical quantities (such as position and velocity) into relative or proportional quantities, facilitating comparison and adjustment between different motion axes. Based on the dimensionless parameters, the slave axis cam curve for that axis (axis Y) is reconstructed to obtain a corrected cam curve. This corrected cam curve takes into account the current motion state and deviations, aiming to quickly restore the axis to synchronization with the master axis.
[0069] In practical applications, electronic clutch modules can be implemented through software or hardware, enabling rapid response to deviation determinations, disconnecting or restoring synchronization links. Dimensionless mapping can be designed based on specific motion tasks and system requirements, such as linear, logarithmic, or customized nonlinear mappings. Corrected cam curve reconstruction can be dynamically adjusted based on real-time feedback data to ensure synchronized and coordinated motion between axes.
[0070] In this embodiment, real-time feedback and dynamic correction significantly improve the synchronization accuracy between axes and reduce synchronization errors. When a motion axis deviates, severing the synchronization link and reconstructing the cam curve prevents the deviation from spreading to other axes, enhancing system stability. Dimensionless processing allows the system to more easily adapt to different motion tasks and system changes, improving its flexibility and adaptability.
[0071] Furthermore, the dimensionless parameter satisfies in, represents the dimensionless proportional parameter used to characterize the spindle motion process, Indicates the current time The spindle position, Indicates the correction start time The spindle position, Indicates the current motion segment The end spindle position of Indicates the initial position of the spindle, Indicates the spindle at time The instantaneous angular velocity.
[0072] In this embodiment, the dimensionless proportional parameter is a relative quantity used to represent the proportion of the spindle's progress in the current motion segment. It quantifies the spindle's motion progress by comparing the spindle's current position with the corrected start and end positions.
[0073] The current spindle position is the actual position of the spindle at the current moment. It reflects the real-time state of the spindle motion and is the basis for calculating dimensionless proportional parameters.
[0074] The spindle position at the start of correction is the position of the spindle when correction begins. It defines the starting point of the correction process and is used to calculate the movement distance of the spindle from the correction starting point to the current position.
[0075] The end spindle position of the current motion segment is the target position of the spindle in the current motion segment. Together with the corrected starting position, it determines the total distance the spindle needs to move.
[0076] The initial position of the spindle is the position of the spindle at the beginning of the motion. It may be used to calculate the total displacement of the spindle during the entire motion process or for other initialization calculations.
[0077] Spindle in time The instantaneous angular velocity reflects the speed characteristics of the spindle motion and is used to more finely control or adjust the calculation of dimensionless proportional parameters.
[0078] In this embodiment, the dimensionless parameter provides a unified metric for comparing and evaluating the progress of the spindle in different motion segments. This makes it easier for the system to process and analyze data from different motion segments, improving the versatility and flexibility of the system.
[0079] By calculating dimensionless proportional parameters in real time, the system can more accurately control the motion process of the spindle, which is especially important for multi-axis systems that require precise synchronization and coordinated motion.
[0080] The calculation of dimensionless parameters relies on real-time data, so the system can be dynamically adjusted according to the actual motion state of the spindle. This enables the system to adapt to external disturbances or command changes and maintain motion stability and accuracy.
[0081] Using dimensionless parameters can simplify complex motion control algorithms. By converting physical quantities into relative quantities, the system can more easily implement complex motion control and coordination strategies.
[0082] The use of dimensionless parameters makes the system more robust to the initial conditions of the spindle motion, speed changes, etc. Even if the motion characteristics of the spindle change, the system can still maintain the stability and accuracy of the motion by adjusting the dimensionless parameters.
[0083] In some embodiments, in the above step S104, based on the modified cam curve, each motion axis is driven to independently execute the action instruction sequence in its programming table, and the pulse signals of each axis are synchronized in real time through the electronic cam module to achieve multi-axis coordinated motion, specifically including: By performing first-order and second-order derivatives on the modified cam curve, the angular velocity timing parameters and acceleration timing parameters of the corresponding motion axis are obtained; Calculating the pulse frequency of the corresponding motion axis according to the angular velocity timing parameter and the acceleration timing parameter; Based on the pulse sequence of the main axis, the electronic cam module broadcasts the synchronization signal to other motion axes and adjusts the pulse output time of other motion axes. During the pulse execution process, the actual position of each motion axis is monitored in real time, and the respective pulse frequencies are adjusted according to the error between the actual position and the theoretical position of each motion axis. Multi-axis motion coordination is achieved based on the adjusted pulse frequencies.
[0084] In this embodiment, the first-order derivative of the modified cam curve (for each axis) is taken to obtain the angular velocity timing parameters for each axis. These parameters describe the rotational velocity of each axis at different time points. The second-order derivative of the modified cam curve is taken to obtain the acceleration timing parameters for each axis. These parameters describe the acceleration changes of each axis at different time points.
[0085] According to the angular velocity timing parameters and acceleration timing parameters, the pulse frequency of each axis is calculated. The pulse frequency determines the number of pulses sent by each axis per unit time, thereby controlling the movement speed of each axis. Specifically, the pulse frequency satisfies ,in, Indicates the pulse frequency of the x-th motion axis at time t, represents the angular velocity of the x-th motion axis at time t, represents the acceleration of the x-th motion axis at time t, Indicates the axis offset corresponding to a single pulse, which is determined by the mechanical transmission ratio and encoder resolution. Indicates the acceleration compensation coefficient.
[0086] Based on the pulse sequence of the main axis (axis X), the synchronization signal is broadcast to the other motion axes (axis Y and axis Z) through the electronic cam module. The pulse output time of the other motion axes is adjusted to ensure that they are synchronized with the pulse sequence of the main axis. The broadcast of the synchronization signal and the adjustment of the pulse output time can be based on a timestamp or event trigger mechanism. During the pulse execution process, the actual position of each motion axis is monitored in real time. According to the error between the actual position and the theoretical position of each motion axis, the pulse frequency of each motion axis is adjusted. The adjusted pulse frequency meets ,in, Indicates the adjusted pulse frequency, represents the proportional gain, Indicates the cumulative error between the actual position and the theoretical position of the motion axis.
[0087] In this embodiment, the coordination accuracy between the axes can be significantly improved by pulse frequency calculation and synchronization signal broadcasting based on the modified cam curve. Real-time monitoring and adjustment of the pulse frequency further reduce the motion deviation caused by external disturbances or system errors. This method can adapt to different processing tasks and motion trajectories by simply updating the modified cam curve. The flexibility of the electronic cam module allows the system to easily expand or modify the synchronization strategy. The precise coordinated motion reduces the waiting time and error processing time during the processing and improves production efficiency. The real-time monitoring and adjustment mechanism ensures the continuity and stability of the motion and reduces production interruptions caused by failures or shutdowns. Through precise motion control and coordination mechanisms, the wear and failure rate of the mechanical system are reduced, and the modularity and scalability of the system make maintenance and upgrades easier and more economical.
[0088] Reference Figure 2 An embodiment of the present invention provides a multi-axis electronic cam control system 2, wherein the system 2 specifically includes: A first multi-axis control module 201 is configured to allocate an independent programming table to each motion axis based on a preset motion task, wherein the programming table includes a motion instruction sequence and time parameters corresponding to each motion axis; The second multi-axis control module 202 is configured to generate a cam curve corresponding to each motion axis by analyzing the motion instruction sequence in the programming table of each motion axis and combining it with a preset cam control algorithm. The cam curve includes position parameters, velocity parameters, and acceleration parameters. The third multi-axis control module 203 is configured to perform dimensionless processing on the cam curve through the electronic clutch module according to the real-time feedback of the axis motion state data, dynamically correct the phase difference and synchronization error between the axes, and obtain a corrected cam curve; The fourth multi-axis control module 204 is used to drive each motion axis to independently execute the action instruction sequence in its programming table based on the modified cam curve, and synchronize the pulse signals of each axis in real time through the electronic cam module to achieve multi-axis coordinated motion.
[0089] It is understandable that if Figure 1 The contents of the multi-axis control method embodiment of the electronic cam shown in FIG. 1 are all applicable to the multi-axis control system embodiment of the electronic cam. The functions specifically implemented by the multi-axis control system embodiment of the electronic cam are similar to those in FIG. Figure 1 The multi-axis control method embodiment of the electronic cam shown is the same as that of the embodiment shown in FIG. Figure 1 The beneficial effects achieved by the embodiment of the multi-axis control method of the electronic cam shown are also the same.
[0090] It should be noted that the information interaction, execution process and other contents between the above-mentioned systems are based on the same concept as the embodiment of the method of the present invention. Their specific functions and technical effects can be found in the method embodiment part and will not be repeated here.
[0091] Those skilled in the art can clearly understand that, for the convenience and brevity of description, only the division of the above-mentioned functional units and modules is used as an example for illustration. In actual applications, the above-mentioned functions can be distributed and completed by different functional units and modules as needed, that is, the internal structure of the system can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiment can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the units and modules in the above-mentioned system can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.
[0092] Reference Figure 3 An embodiment of the present invention further provides a computer device 3, comprising: a memory 302 and a processor 301 and a computer program 303 stored in the memory 302. When the computer program 303 is executed on the processor 301, the multi-axis control method of the electronic cam as described in any one of the above methods is implemented.
[0093] The computer device 3 may be a desktop computer, a notebook computer, a PDA, a cloud server or other computing devices. The computer device 3 may include, but is not limited to, a processor 301 and a memory 302. Those skilled in the art will understand that Figure 3 This is merely an example of the computer device 3 and does not constitute a limitation on the computer device 3 . The computer device 3 may include more or fewer components than shown in the figure, or a combination of certain components, or different components. For example, the computer device 3 may also include input and output devices, network access devices, etc.
[0094] The processor 301 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. A general-purpose processor may be a microprocessor or any conventional processor.
[0095] In some embodiments, the memory 302 may be an internal storage unit of the computer device 3, such as a hard drive or memory of the computer device 3. In other embodiments, the memory 302 may also be an external storage device of the computer device 3, such as a plug-in hard drive, a Smart Media Card (SMC), a Secure Digital (SD) card, a flash memory card, etc. equipped on the computer device 3. Furthermore, the memory 302 may include both an internal storage unit of the computer device 3 and an external storage device. The memory 302 is used to store an operating system, application programs, a boot loader, data, and other programs, such as the program code of the computer program. The memory 302 may also be used to temporarily store data that has been output or is about to be output.
[0096] An embodiment of the present invention further provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, the multi-axis control method of the electronic cam as described in any one of the above methods is implemented.
[0097] In this embodiment, if the integrated control unit is implemented as a software functional unit and sold or used as a standalone product for machine tool control, it can be stored in a computer-readable storage medium specifically for machine tools. Based on this understanding, the present application implements all or part of the process steps in the above-mentioned method embodiments by instructing the relevant hardware of the machine tool through a specific computer program. The computer program can be stored in a computer-readable storage medium specifically for machine tools. When executed by the machine tool's processor, the computer program can implement the application steps of each of the above-mentioned method embodiments in machine tool control. The computer program includes computer program code for machine tool control, which can be in source code form, object code form, executable file, or some intermediate form. The computer-readable medium can include at least: any entity or device capable of carrying the computer program code for machine tool control to the machine tool equipment, recording media, machine tool computer memory, read-only memory (ROM), random access memory (RAM), and other media suitable for machine tool software distribution, such as dedicated machine tool control cards and machine tool data storage cards.
[0098] In the above embodiments, the description of each embodiment has its own focus. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant description of other embodiments.
[0099] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0100] In the embodiments disclosed in the present application, it should be understood that the disclosed devices / terminal equipment and methods can be implemented in other ways. For example, the device / terminal equipment embodiments described above are merely schematic. For example, the division of the modules or units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0101] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.
Claims
1. A multi-axis control method of an electronic cam, characterized in that: The method specifically includes: Based on the preset motion task, an independent programming table is allocated to each motion axis, wherein the programming table includes the motion instruction sequence and time parameters corresponding to each motion axis; By analyzing the action instruction sequence in the programming table of each motion axis and combining it with the preset cam control algorithm, a cam curve corresponding to each motion axis is generated. The cam curve includes position parameters, speed parameters and acceleration parameters. According to the real-time feedback of the axis motion state data, the cam curve is dimensionlessly processed by the electronic clutch module, and the phase difference and synchronization error between the axes are dynamically corrected to obtain a corrected cam curve; Based on the modified cam curve, each motion axis is driven to independently execute the action instruction sequence in its programming table, and the pulse signals of each axis are synchronized in real time through the electronic cam module to achieve multi-axis coordinated motion.
2. The method according to claim 1, characterized in that The preset motion task is based on allocating an independent programming table to each motion axis, specifically including: The programming table is provided with an action instruction layer, a time parameter layer, and a conflict detection layer. The action instruction layer is used to store action instruction sequences including target positions, motion modes, and synchronization trigger identifiers. The motion modes include linear interpolation motion, circular interpolation motion, and point motion. The time parameter layer is used to assign time reference parameters to each action instruction. The time reference parameters include absolute start time and relative duration. The conflict detection layer is used to record resource occupancy flags of each motion axis during motion. Obtain a preset motion task, decompose the preset motion task into multiple sub-actions, and decompose each sub-action into axis-level motion instructions; If any sub-action involves multi-axis coordinated motion, the synchronization trigger identifier corresponding to the sub-motion is inserted into the programming table of the corresponding motion axis; Calculate the time allocation of each action instruction according to the kinematic constraints and determine the relative duration corresponding to each action instruction; At the conflict detection layer, a unique identifier is allocated to the shared resource. Based on the unique identifier, it is determined whether a conflict occurs between the action instructions corresponding to any two motion axes. If a conflict occurs, the triggering time of the action instruction of one of the motion axes is delayed.
3. The method according to claim 2, characterized in that The relative duration satisfies in, Indicates relative duration, Indicates the target position of the motion axis in the kth action instruction, Indicates the current position of the motion axis at the kth action instruction, Indicates the maximum permissible speed of the motion axis, Indicates the maximum permissible acceleration of the motion axis.
4. The method according to claim 1, wherein The cam curve corresponding to each motion axis is generated by analyzing the action instruction sequence in the programming table of each motion axis and combining it with the preset cam control algorithm, specifically including: Extract the motion parameters of each action instruction in the programming table of any motion axis and construct a sequence of discrete trajectory points; Determine the main axis from multiple motion axes, use the main axis as the time reference, fit the discrete trajectory point sequence corresponding to the main axis into a continuous function, and obtain the main axis reference curve; Based on the master axis reference curve and the discrete trajectory point sequences corresponding to other motion axes, a slave axis cam curve is generated through nonlinear mapping; Discretize each slave axis cam curve into a pulse sequence and store it in a buffer table; When an external disturbance or a command change is detected, the buffer table is updated by determining the position deviation to be compensated, the correction rate, and the correction trigger timestamp.
5. The method according to claim 4, characterized in that The cam curve is dimensionlessly processed by the electronic clutch module based on the real-time feedback of the axis motion state data, and the phase difference and synchronization error between the axes are dynamically corrected to obtain the corrected cam curve, which specifically includes: Real-time acquisition of the actual position, speed, and deviation between the actual position and theoretical position of each motion axis; If the deviation position of any motion axis is greater than the preset deviation threshold, the synchronization link between the motion axis and the main axis is cut off through the electronic clutch module, and the dimensionless parameters based on the main axis position are determined through dimensionless mapping; Based on the dimensionless parameters, the slave axis cam curve of the motion axis is reconstructed to obtain a modified cam curve.
6. The method according to claim 5, characterized in that The dimensionless parameters satisfy in, represents the dimensionless proportional parameter used to characterize the spindle motion process, Indicates the current time The spindle position, Indicates the correction start time The spindle position, Indicates the current motion segment The end spindle position of Indicates the initial position of the spindle, Indicates the spindle at time The instantaneous angular velocity.
7. The method according to claim 5, characterized in that Based on the modified cam curve, each motion axis is driven to independently execute the action instruction sequence in its programming table, and the pulse signals of each axis are synchronized in real time through the electronic cam module to achieve multi-axis coordinated motion, specifically including: By performing first-order and second-order derivatives on the modified cam curve, the angular velocity timing parameters and acceleration timing parameters of the corresponding motion axis are obtained; Calculating the pulse frequency of the corresponding motion axis according to the angular velocity timing parameter and the acceleration timing parameter; Based on the pulse sequence of the main axis, the electronic cam module broadcasts the synchronization signal to other motion axes and adjusts the pulse output time of other motion axes. During the pulse execution process, the actual position of each motion axis is monitored in real time, and the respective pulse frequencies are adjusted according to the error between the actual position and the theoretical position of each motion axis. Multi-axis motion coordination is achieved based on the adjusted pulse frequencies.
8. A multi-axis control system of an electronic cam, characterized in that: The system specifically includes: A first multi-axis control module is configured to allocate an independent programming table to each motion axis based on a preset motion task, wherein the programming table includes a motion instruction sequence and time parameters corresponding to each motion axis; A second multi-axis control module is configured to generate a cam curve corresponding to each motion axis by parsing the motion instruction sequence in the programming table of each motion axis and combining it with a preset cam control algorithm. The cam curve includes position parameters, velocity parameters, and acceleration parameters. a third multi-axis control module, configured to perform dimensionless processing on the cam curve through an electronic clutch module based on the real-time feedback of the axis motion state data, dynamically correct the phase difference and synchronization error between the axes, and obtain a corrected cam curve; The fourth multi-axis control module is used to drive each motion axis to independently execute the action instruction sequence in its programming table based on the modified cam curve, and synchronize the pulse signals of each axis in real time through the electronic cam module to achieve multi-axis coordinated motion.
9. A computer device, characterized in that: include: A memory, a processor, and a computer program stored in the memory, which, when executed on the processor, implements the multi-axis control method of the electronic cam according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that A computer program is stored thereon, and when the computer program is executed by a processor, the multi-axis control method of the electronic cam according to any one of claims 1 to 7 is implemented.
Citation Information
Patent Citations
Electronic cam control method for multi-spindle processing
CN108415375A
Electronic cam control method and related device
CN109828526A
Electronic cam control method and device, storage medium and electronic equipment
CN116088413A
Method and system for controlling phase deviation of master shaft and slave shaft and related components
CN116149259A
System for generating or modifying cams
US20150286193A1
Cited By
Precise motion control method and system for multi-axis linkage direct-driving-force tool turret machine
CN121386604A