Machining speed determination method, electronic equipment and numerical control machining system
By calculating the optional speed of each axis based on the trajectory in a multi-axis linked CNC machining machine tool, the problem of the speed at corners exceeding the motor's rated speed is solved, stable and efficient machining is achieved, and processing quality and efficiency are improved.
Patent Information
- Application Number
- CN202510520613.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-24
- Publication Date
- 2025-07-29
AI Technical Summary
In multi-axis linked CNC machining machine tools, the speed calculation at the corners is likely to exceed the motor's rated speed, resulting in uneven speed, causing shock and vibration, affecting the processing quality, and reducing acceleration will lead to prolonging processing time and reducing efficiency.
By determining the offset amplitude at the corner based on the first and second trajectories, and when the offset amplitude is less than the set amplitude, the optional speed of each axes is calculated, and the target speed at the corner is finally determined to ensure that the speed does not exceed the rated range.
It realizes the stability of processing tools at high speeds, avoids speed exceeding limits, improves processing efficiency and quality, and reduces burrs and uneven problems.
Smart Images

Figure CN120386291A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of processing technology design. Specifically, it relates to a method for determining processing speed, an electronic device, and a numerical control processing system. Background Art
[0002] In current multi-axis linkage numerical control machine tools, when calculating the speed at the corner, it is easy to exceed the rated speed of the motor, resulting in uneven speed, causing greater impact and vibration on the machine tool, reducing the quality of the processed workpiece, and problems such as burrs and unevenness may occur. Reducing the acceleration will also lead to a longer processing time and lower processing efficiency. Summary of the Invention
[0003] The purpose of this application is to provide a method for determining processing speed, an electronic device, a computer-readable storage medium, and a computer program product, which can use a relatively higher speed for processing while keeping the speed of the processing tool stable.
[0004] In a first aspect, the present invention provides a method for determining processing speed, including: determining the offset amplitude at the corner based on a first trajectory and a second trajectory; wherein, the first trajectory and the second trajectory are two adjacent movement trajectories during the movement of the processing tool in the engraving process, and the intersection position of the first trajectory and the second trajectory is the corner; in the case where it is determined that the offset amplitude is less than the set amplitude, determining the optional speed of each axis based on the first trajectory and the second trajectory; and determining the target speed at the corner based on the optional speed of each axis.
[0005] In the above implementation, the optional speed can be adaptively calculated based on the two trajectories, so that the calculated speed can better meet the stability requirements of the processing tool and can better adapt to the speed requirements of the current trajectory. Further, the target speed at the corner can be determined based on the optional speed, so as not to exceed the speed standard at the corner and improve the stability of the movement of the processing tool.
[0006] In an optional embodiment, the determining the optional speed of each axis based on the first trajectory and the second trajectory includes: determining the initial speed of each axis based on the first trajectory and the second trajectory; and determining the optional speed of each axis based on the initial speed of each axis and the rated speed of each axis; wherein, the rated speed is a pre-configured speed.
[0007] In an alternative embodiment, determining the selectable speed of each axis based on the initial speed of each axis and the rated speed of each axis includes: for the first axis, when the initial speed of the first axis is not greater than the rated speed of the first axis, using the initial speed of the first axis as the selectable speed of the first axis; for the second axis, when the initial speed of the second axis is greater than the rated speed of the second axis, determining the selectable speed of the second axis based on the rated speed of the second axis; wherein, the first axis and the second axis are any axis in the multi-dimensional space in which the processing tool moves.
[0008] In the above implementation, the calculated selectable speed not only meets the requirement of being fast on the trajectory, but further combines the rated speed of each axis to determine the selectable speed of each axis, so that while meeting the requirement of being fast, it also takes into account the safety requirement of the processing tool.
[0009] In an alternative embodiment, determining the selectable speed of the second axis based on the rated speed of the second axis includes: calculating the selectable speed of the second axis according to the rated speed of the second axis and the component of the unit vector of the second trajectory in the second axis.
[0010] In an alternative embodiment, determining the initial speed of each axis based on the first trajectory and the second trajectory includes: for the third axis, determining the initial speed of the third axis according to the acceleration of the third axis, the moving distances required by the first trajectory and the second trajectory, and a preset update period.
[0011] In an alternative embodiment, determining the offset amplitude at the corner based on the first trajectory and the second trajectory includes: determining the first tangent of the first trajectory at the corner; determining the second tangent of the second trajectory at the corner; determining the included angle at the corner based on the first tangent and the second tangent.
[0012] In an alternative embodiment, determining the target speed at the corner based on the selectable speeds of each axis includes: determining the minimum value among the selectable speeds of each axis as the target speed at the corner.
[0013] In the above implementation, determining the minimum value as the target speed at the corner can make the determined speed not exceed the rated speed of each axis, better protecting the safe operation of the processing tool.
[0014] In a second aspect, the present invention provides an electronic device, including: a processor and a memory, where the memory stores machine-readable instructions executable by the processor. When the electronic device runs, the machine-readable instructions are executed by the processor to perform the steps of the method according to any one of the foregoing embodiments.
[0015] In a third aspect, the present invention provides a numerical control machining system, including: a driving component, a machining tool, and a control device; the control device is configured to execute the steps of the method according to any one of the foregoing embodiments; the driving component is configured to control the movement of the machining tool based on the machining speed determined by the control device; and the machining tool is configured to machine a workpiece to be machined.
[0016] In a fourth aspect, the present invention provides a computer-readable storage medium, on which a computer program is stored. When the computer program is run by a processor, it executes the steps of the method according to any one of the foregoing embodiments.
[0017] In a fifth aspect, the present invention provides a computer program product, which includes a computer program. When the computer program is executed by a processor, it implements the method according to any one of the foregoing embodiments. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following will briefly introduce the drawings required in the embodiments. It should be understood that the following drawings only show some embodiments of the present application, and thus should not be regarded as limiting the scope. For those of ordinary skill in the art, other related drawings can be obtained based on these drawings without creative efforts.
[0019] Figure 1 It is a block diagram of the electronic device provided by the embodiment of the present application;
[0020] Figure 2 It is a flowchart of the machining speed determination method provided by the embodiment of the present application;
[0021] Figure 3 It is an alternative flowchart of step 220 of the machining speed determination method provided by the embodiment of the present application;
[0022] Figure 4 It is an alternative flowchart of step 210 of the machining speed determination method provided by the embodiment of the present application;
[0023] Figure 5 It is a schematic diagram of the first trajectory and the second trajectory involved in the machining speed determination method provided by the embodiment of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0024] The technical solutions in the embodiments of the present application will be described below with reference to the accompanying drawings in the embodiments of the present application.
[0025] It should be noted that similar reference numerals and letters denote similar items in the following drawings. Therefore, once an item is defined in one drawing, it does not need to be further defined and explained in subsequent drawings. At the same time, in the description of the present application, the terms "first", "second", etc. are only used for distinguishing descriptions and cannot be understood as indicating or implying relative importance.
[0026] At present, for multi-axis linkage numerical control machine tools, the main processing method is: fixing the material blank to be processed longitudinally on the axis and making a rotational movement around the axis; the processing tool can move in the X, Y, and Z axis directions. Through the linkage of multiple axes, the excess material in the material blank to be processed is gradually cut off to obtain the required model.
[0027] When the machine tool processes a curved surface, the curved surface is segmented into a large number of tiny line segments for processing. In order to obtain high processing efficiency during processing, larger accelerations are set for the X, Y, and Z axes. However, although this method improves the processing efficiency, it is easy to exceed the speed that the motors of the X, Y, and Z axes can bear when calculating the speed at the corners, which may affect the safety of the motors and may also lead to uneven speeds, causing large impacts and vibrations on the machine tool and reducing the processing quality. For example, problems such as burrs and unevenness may occur. Reducing the acceleration will result in problems such as longer processing time and low processing efficiency.
[0028] Based on the above research, the embodiments of the present application can provide a method for determining processing speed, an electronic device, a numerical control processing system, a computer-readable storage medium, and a computer program product, which can achieve the purpose of ensuring stable speeds of each axis without exceeding the limit while running at high speed.
[0029] To facilitate the understanding of this embodiment, first, an operating environment for executing a method for determining processing speed disclosed in the embodiments of the present application will be introduced.
[0030] To facilitate the understanding of this embodiment, first, the electronic device for executing the method for determining processing speed disclosed in the embodiments of the present application will be introduced in detail.
[0031] As Figure 1 shown, it is a block diagram of the electronic device. The electronic device 100 may include a memory 111 and a processor 113. Those of ordinary skill in the art can understand that Figure 1 the structure shown is only schematic and does not limit the structure of the electronic device 100. For example, the electronic device 100 may also include more or fewer components than Figure 1 shown, or have a different configuration from Figure 1 shown.
[0032] The above-mentioned components of the memory 111 and the processor 113 are electrically connected to each other directly or indirectly to achieve data transmission or interaction. For example, these components can be electrically connected to each other through one or more communication buses or signal lines. The above-mentioned processor 113 is used to execute the executable module stored in the memory.
[0033] Among them, the memory 111 can be, but is not limited to, a random access memory (Random Access Memory, abbreviated as RAM), a read-only memory (Read Only Memory, abbreviated as ROM), a programmable read-only memory (Programmable Read-Only Memory, abbreviated as PROM), an erasable programmable read-only memory (Erasable Programmable Read-Only Memory, abbreviated as EPROM), an electrically erasable programmable read-only memory (Electric Erasable Programmable Read-Only Memory, abbreviated as EEPROM), etc. Among them, the memory 111 is used to store a program. After receiving an execution instruction, the processor 113 executes the program. The method executed by the electronic device 100 defined by the process disclosed in any embodiment of the embodiments of the present application can be applied to the processor 113 or implemented by the processor 113.
[0034] The above-mentioned processor 113 may be an integrated circuit chip with signal processing capabilities. The above-mentioned processor 113 can be a general-purpose processor, including a central processing unit (Central Processing Unit, abbreviated as CPU), a network processor (Network Processor, abbreviated as NP), etc.; it can also be a digital signal processor (digital signal processor, abbreviated as DSP), an application specific integrated circuit (Application Specific Integrated Circuit, abbreviated as ASIC), a field programmable gate array (Field Programmable Gate Array, abbreviated as FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components. It can implement or execute the various methods, steps, and logic block diagrams disclosed in the embodiments of the present application. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc.
[0035] The embodiments of the present application also provide a numerical control processing system, which can include a driving component, a processing tool, and a control device.
[0036] The control device is used to execute each step in the machining speed determination method. The control device can be similar to the structure of the electronic device 100 shown in Figure 1 and can store the instructions required to be executed by the processor. The control device can also be an integrated circuit chip with the ability to process signals.
[0037] The driving component is used to control the movement of the machining tool based on the machining speed determined by the control device. Exemplarily, the driving component can include components such as a motor, a machining arm, and a mounting shaft.
[0038] The mounting shaft can be used to mount the workpiece blank to be machined. Based on different machining requirements, the mounting shaft can be a rotatable shaft or a non-rotatable shaft. One end of the machining arm can be equipped with a machining tool, and the other end can be connected to a driver, which can drive the machining arm to move as needed. The machining arm can further drive the machining tool to move.
[0039] Based on different actual environments, the driving component can also have a more complex or simpler structure. It can be understood that the driving component can drive the machining tool to move along the required machining trajectory. For example, if the machining tool needs to move in three-dimensional space, the driving component can be used to drive the machining tool to move in three-dimensional space; for another example, if the machining tool needs to move in two-dimensional space, the driving component can be used to drive the machining tool to move in two-dimensional space.
[0040] The machining tool is used to machine the workpiece blank to be machined.
[0041] The electronic device 100 and the numerical control machining system in this embodiment can be used to execute each step in the various methods provided in the embodiments of the present application. The implementation process of the machining speed determination method will be described in detail through several embodiments below.
[0042] Please refer to Figure 2 , which is a flowchart of the machining speed determination method provided by the embodiments of the present application. The machining speed determination method provided by the embodiments of the present application can be applied to an electronic device or a numerical control machining system, and the steps in the machining speed determination method are executed through the electronic device or the numerical control machining system. The following will elaborate in detail on the Figure 2 specific process shown.
[0043] Step 210, based on the first trajectory and the second trajectory, determine the offset amplitude at the corner.
[0044] Among them, the first trajectory and the second trajectory are two adjacent movement trajectories during the movement of the machining tool in the engraving process, and the intersection position of the first trajectory and the second trajectory is the corner.
[0045] In actual processing, continuous trajectories can be divided into some small trajectory segments approximated as straight lines. The first trajectory and the second trajectory can be two adjacent such trajectory segments.
[0046] Exemplarily, the offset amplitude can be represented by the rotation angle formed when the first trajectory turns to the second trajectory. Exemplarily, the corner where the first trajectory turns to the second trajectory can be an arc, and the supplementary angle of the central angle of the radian of this arc is used to represent the offset amplitude.
[0047] When it is determined that the offset amplitude is less than the set amplitude, step 220 can be executed. The set amplitude can be a pre-set value.
[0048] Further, when the first trajectory and the second trajectory are collinear, it can be indicated that there is no turn from the first trajectory to the second trajectory, and the directions of the first trajectory and the second trajectory are the same. In this case, the target speed at the corner does not need to be determined in the manner of steps 220 to 230, and the speed at the corner determined in the previous update cycle can be directly used for processing.
[0049] Step 220: Determine the optional speeds of each axis based on the first trajectory and the second trajectory.
[0050] The optional speed can be calculated based on the acceleration of each axis set in advance. In this embodiment, the acceleration of each axis is set based on the actual situation, and the acceleration of each axis is a pre-set value. Exemplarily, the acceleration can be determined based on the rated speed of the drive for driving the processing tool to move, the load of the drive itself, and other performance factors. For example, after the drive is determined, the acceleration of each axis can also be determined.
[0051] Exemplarily, the optional speed can represent the maximum speed that may be reached when moving from the first trajectory to the second trajectory under this axis.
[0052] Exemplarily, the optional speeds of each axis can be calculated based on the speeds allowed by the first trajectory and the second trajectory.
[0053] Exemplarily, the acceleration of each axis can be set in advance, and the possible maximum speed can be calculated based on the duration experienced each time when calculating the corner speed at the corner. For example, the maximum speed can be determined based on the product of the acceleration and time.
[0054] Considering that the drive components for driving the processing tool cannot increase the speed infinitely, on the basis that the determined maximum speed does not exceed the maximum speed allowed by the drive components, the optional speeds of each axis are determined.
[0055] Step 230: Determine the target speed at the corner based on the optional speeds of each axis.
[0056] Since the optional speeds calculated for each axis can meet the speed requirements of each axis, they may not be able to meet the speed requirements of other axes. For example, the optional speed determined for the X-axis may not be able to meet the speed requirements of the Y-axis. For example, the optional speed of the X-axis exceeds the rated speed of the Y-axis. Herein, the rated speed can represent the maximum speed at which the axis is allowed to move.
[0057] Therefore, the final target speed at the corner can be determined based on the optional speeds of each axis.
[0058] Exemplarily, if the optional speeds of each axis do not exceed the rated speeds of all axes, an optional speed can be randomly selected as the target speed at the corner. For example, taking a three-axis space as an example, the optional speed of the X-axis does not exceed the rated speed of the X-axis, the rated speed of the Y-axis, and the rated speed of the Z-axis; the optional speed of the Y-axis does not exceed the rated speed of the X-axis, the rated speed of the Y-axis, and the rated speed of the Z-axis; the optional speed of the Z-axis does not exceed the rated speed of the X-axis, the rated speed of the Y-axis, and the rated speed of the Z-axis. Then, the maximum speed among them can be selected as the target speed at the corner, or an optional speed of one axis can be randomly selected as the target speed at the corner, or the minimum optional speed can be selected as the target speed at the corner.
[0059] Exemplarily, in the case where the optional speed of any one axis exceeds the rated speeds of other axes, the minimum optional speed can be selected as the target speed at the corner.
[0060] Exemplarily, it is also possible not to compare the optional speeds of each axis with the rated speeds of other axes, and directly select the minimum optional speed as the target speed at the corner, so as to reduce the jitter of the target speed at the corner and improve the stability of processing.
[0061] In the method provided in the embodiments of the present application, the optional speeds of each axis can be first determined based on two connected trajectories. After the optional speeds are determined, they are not directly used as the speeds at the corner. Then, based on the optional speeds of each axis, screening is performed to select a suitable speed as the target speed at the corner. When the calculated speed can better meet the stability requirements of the processing tool, it can better adapt to the speed requirements of the current trajectory and better achieve more efficient processing.
[0062] In this embodiment, when the optional speeds of each axis meet the requirement of being fast, they still cannot exceed the rated speeds defined for each axis.
[0063] Optionally, as Figure 3 shown, the above step 220 may include step 221 and step 222.
[0064] Step 221, determining the initial speeds of each axis based on the first trajectory and the second trajectory.
[0065] The initial velocity can be the maximum achievable velocity determined based on the first trajectory and the second trajectory.
[0066] Step 222: Determine the selectable velocities of each axis based on the initial velocity of each axis and the rated velocity of each axis.
[0067] Among them, the rated velocity is the pre-configured velocity. This rated velocity can be understood as the maximum velocity that can be achieved axially within a safe range. Exemplarily, this rated velocity can be determined based on the performance parameters of the driver that controls the movement of the processing tool. Taking the driver as a motor as an example, this rated velocity can be determined by combining the rated speed of the motor, the load of the motor itself, and other performances.
[0068] For the first axis, when the initial velocity of the first axis is not greater than the rated velocity of the first axis, use the initial velocity of the first axis as the selectable velocity of the first axis.
[0069] The first axis can be any axis in the multi-dimensional space where the processing tool moves.
[0070] For the second axis, when the initial velocity of the second axis is greater than the rated velocity of the second axis, determine the selectable velocity of the second axis based on the rated velocity of the second axis.
[0071] The second axis is any axis in the multi-dimensional space where the processing tool moves.
[0072] Optionally, determining the selectable velocity of the second axis based on the rated velocity of the second axis as described above can include: calculating the selectable velocity of the second axis according to the rated velocity of the second axis and the component of the unit vector of the second trajectory in the second axis.
[0073] Exemplarily, when the second axis is the X axis, the component of the second axis can be expressed as: S x1 / |S1|;
[0074] Among them, S x1 represents the component of the second trajectory on the X axis; |S1| represents the modulus of the direction vector of the second trajectory.
[0075] In an example, the starting point of the first trajectory can be expressed as (x0, y0, z0), the ending point of the first trajectory can be expressed as (x1, y1, z1), the starting point of the second trajectory can be expressed as (x1, y1, z1), and the ending point of the second trajectory can be expressed as (x2, y2, z2). The direction vector of the first trajectory can be expressed as (x1 - x0, y1 - y0, z1 - z0); the direction vector of the second trajectory can be expressed as (x2 - x1, y2 - y1, z2 - z1).
[0076] In this example, the optional speed in the second axial direction can be expressed as: V xop = V X * S x1 / |S1|, where V X represents the rated speed in the X axial direction.
[0077] When the initial speeds of other axes are also greater than their rated speeds in their respective axial directions, the optional speed in that axial direction can also be determined in the above - mentioned manner. Exemplarily, taking the multi - dimensional space in which the machining tool moves as a three - dimensional space as an example:
[0078] If V xin is not greater than V X , then V xop = V xin ; if V xin is greater than V X , then V xop = V X * S x1 / |S1|, where V X represents the rated speed in the X axial direction;
[0079] If V yin is not greater than V Y , then V yop = V yin ; if V yin is greater than V Y , then V yop = V Y * S y1 / |S1|, where V y represents the rated speed in the Y axial direction;
[0080] If V zin is not greater than V Z , then V zop = V zin ; if V zin is greater than V Z , then V zop = V Z * S z1 / |S1|, where V z represents the rated speed in the Z axial direction.
[0081] In the above example, V xin represents the initial speed in the X axial direction; V xop represents the optional speed in the X axial direction; V yin represents the initial speed in the Y axial direction; V yop represents the optional speed in the Y axial direction; V zin represents the initial speed in the Z axial direction; V zop represents the optional speed in the Z axial direction; Sy1 Represents the component of the second trajectory on the Y-axis; S z1 Represents the component of the second trajectory on the Z-axis.
[0082] Exemplarily, the components of each axis can be calculated by the following formulas:
[0083] S x1 = |S1| * x u1 ; S y1 = |S1| * y u1 ; S z1 = |S1| * z u1 ;
[0084] Wherein, U S1 (x u1 , y u1 , z u1 ) represents the unit vector of the second trajectory.
[0085] In this embodiment, step 221 described above may include: for the third axial direction, determining the initial velocity of the third axial direction according to the acceleration of the third axial direction, the required moving distances of the first trajectory and the second trajectory, and a preset update period.
[0086] This third axial direction can be any axial direction in the multi-dimensional space where the processing tool moves.
[0087] Exemplarily, the required moving distance of the first trajectory can be represented by the modulus of the direction vector of the first trajectory, and the required moving distance of the second trajectory can also be represented by the modulus of the direction vector of the second trajectory.
[0088] To reduce the calculation amount, if it is determined that the directions of the first trajectory and the second trajectory on a certain axial direction are the same, then the optional velocity of this axial direction in the previous update period can be used as the optional velocity of this axial direction that needs to be calculated currently.
[0089] Taking the multi-dimensional space where the processing tool moves as a three-dimensional space as an example, if S x0 , S x1 are in the same direction and collinear, it is considered that the velocity direction of the X-axis has not changed, and there is no need to recalculate the optional velocity in the X-axis direction; if S y0 , S y1 are in the same direction and collinear, it is considered that the velocity direction of the Y-axis has not changed, and there is no need to recalculate the optional velocity in the Y-axis direction; if S z0 , S z1 are in the same direction and collinear, it is considered that the velocity direction of the Z-axis has not changed, and there is no need to recalculate the optional velocity in the Z-axis direction.
[0090] The initial velocity of each axial direction can be expressed as:
[0091]
[0092] Among them, A x represents the acceleration in the X-axis direction; A y represents the acceleration in the upward Y-axis direction; A z represents the acceleration in the Z-axis direction; t represents the preset update period; |S0| represents the modulus value of the direction vector of the first trajectory; |S1| represents the modulus value of the direction vector of the second trajectory.
[0093] Among them, S x = S x0 * |S1| - S x1 * |S0|;
[0094] S y = S y0 * |S1| - S y1 * |S0|;
[0095] S z = S z0 * |S1| - S z1 * |S0|.
[0096] Through the above calculation logic, the maximum speed that each axis can reach at the corner can be determined. When the initial speed of each axis is not greater than the rated speed of each axis, this initial speed is the optional maximum speed.
[0097] In actual situations, for example, with the modification of the equipment and the improvement of the drive performance, the determination logic of the maximum speed that each axis can reach at the corner can also be different. It can be understood that the initial speed of each axis is the maximum speed that can be reached when the drive normally drives the processing tool to move to the corner.
[0098] Through the determination of the initial speed of each axis as described above, a larger speed can be selected as the speed at the corner. Further, even when a relatively large speed of each axis is determined, it is still compared and matched with the rated speed of each axis. Thus, when the speed at the corner is determined to be larger, it will not exceed the limit, improving the stability of the operation of the numerical control processing system and also enabling the quality of the processed components to be better.
[0099] In this embodiment, the offset amplitude between the first trajectory and the second trajectory can directly reflect the offset situation of this corner, and within the limited range, the method of steps 220 and 230 described above is used to determine the target speed at the corner. As Figure 4 shown, the above step 210 may include steps 211 to 213.
[0100] Step 211, determine the first tangent of the first trajectory at the corner.
[0101] AsFigure 5 As shown, a schematic diagram of a first trajectory S0 and a second trajectory S1 is shown in the figure.
[0102] The first tangent can be expressed as a unit tangent vector T S0 on the line where it is located. Among them, the unit tangent vector T S0 (x t0 , y t0 , z t0 ) can represent the unit tangent vector of the first trajectory at the corner.
[0103] Step 212, determine the second tangent of the second trajectory at the corner.
[0104] The second tangent can be expressed as a unit tangent vector T S1 on the line where it is located. The unit tangent vector T S1 (x t1 , y t1 , z t1 ) can represent the unit tangent vector of the second trajectory at the corner.
[0105] Step 213, based on the first tangent and the second tangent, determine the included angle at the corner.
[0106] Exemplarily, the first tangent and the second tangent can be represented by vectors, and the included angle at the corner is calculated based on the two vectors. In Figure 5 the example shown, the included angle at the corner is represented as θ.
[0107] Exemplarily, the included angle at the corner can be calculated by the following formula:
[0108]
[0109] θ = fabs(θ0 * 180 / π).
[0110] In the embodiments of the present application, the offset between the first track and the second track is represented by the included angle at the corner, and the above setting amplitude is an angular value. For example, the setting amplitude can be set to 2 degrees.
[0111] When the included angle at the corner is not greater than 2 degrees, the methods of step 220 and step 230 can be used to determine the target speed at the corner. Of course, based on the actual usage scenario, the setting amplitude can also be selected as different values. For example, in the case where the stability of the numerical control machining system is better and the stability at the corner is better, the setting amplitude can also be set to a larger value.
[0112] In this embodiment, when the included angle at the corner is larger, greater than the setting amplitude, the speed at the corner can be determined by other anti-vibration speed determination methods, which are not limited in the embodiments of the present application.
[0113] In this embodiment, when the included angle at the corner is zero, it can indicate that the first trajectory is collinear with the second trajectory. In this case, the target speed at the corner may not be determined in the manner of steps 220 to 230, and the speed calculated in the previous update cycle can be directly used for processing.
[0114] The following is an example to compare the difference in processing speed between the method of this application embodiment and the conventional method. The XYZ-axis accelerations are all set to 7000 mm / s 2 , the rated speeds of the XYZ axes are all set to 260 mm / s. The speed at the corner determined by the conventional prior art method is 540 mm / s, but it exceeds the maximum speed limit, and the processing time is 3 min 02 s; if the speed at the corner needs to not exceed the maximum speed limit, the XYZ-axis accelerations need to be reduced. After reducing the accelerations, the determined speed at the corner does not exceed the maximum speed limit, and the processing time is 3 min 12 s. The speed at the corner determined by the method in this application embodiment does not exceed the maximum speed limit, and the processing time is 2 min 52 s.
[0115] It can be seen from this that under the same acceleration and speed parameters, using the above method will not exceed the rated speed of the driver, and the time used can be shorter. When the numerical control processing system meets the requirements of high-speed processing, it also ensures that the single-axis speed will not exceed the limit, and the operation of the numerical control processing system is stable.
[0116] It can be understood that the above are only the data in one example. In actual situations, due to different drivers, different settings of the XYZ-axis accelerations and the rated speeds of the XYZ axes, the actual processing time may also be different. Generally speaking, using the implementation method of this application above, it is possible to achieve that the single-axis speed does not exceed the limit with less processing time, and the operation of the numerical control processing system is stable.
[0117] In addition, this application embodiment also provides a computer-readable storage medium, on which a computer program is stored. When the computer program is run by a processor, it executes the steps of the processing speed determination method described in the above method embodiment.
[0118] The computer program product of the processing speed determination method provided by this application embodiment includes a computer-readable storage medium storing program codes. The instructions included in the program codes can be used to execute the steps of the processing speed determination method described in the above method embodiment. For details, please refer to the above method embodiment and will not be elaborated here.
[0119] In several embodiments provided by the present application, it should be understood that the disclosed method can also be implemented in other ways. The method embodiments described above are merely illustrative. For example, the flowcharts and block diagrams in the accompanying drawings show the possible architectures, functions, and operations of the method and computer program products according to multiple embodiments of the present application. In this regard, each block in the flowchart or block diagram may represent a module, a program segment, or a part of code, and the module, program segment, or part of code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than that marked in the accompanying drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram and / or flowchart, as well as the combination of blocks in the block diagram and / or flowchart, can be implemented by a dedicated hardware-based system that performs the specified functions or actions, or can be implemented by a combination of dedicated hardware and computer instructions.
[0120] In addition, in each embodiment of the present application, the method steps can be executed by being integrated together to form an independent part, or each method step can be executed by a separate module, or two or more steps can be formed and executed as an independent part.
[0121] If the above-described functions are implemented in the form of software function modules and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art or a part of this technical solution can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of this application. The foregoing storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memories (ROMs), random access memories (RAMs), magnetic disks, or optical discs that can store program codes. It should be noted that in this document, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article or device comprising a series of elements not only includes those elements, but also includes other elements not expressly listed, or elements inherent to such process, method, article or device. Without further limitation, the elements defined by the statement "comprising..." do not exclude the existence of additional identical elements in the process, method, article or device comprising the said elements.
[0122] The above are only the preferred embodiments of this application and are not used to limit this application. For those skilled in the art, this application can have various changes and modifications. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principle of this application shall be included within the protection scope of this application. It should be noted that similar reference numerals and letters denote similar items in the following drawings. Therefore, once an item is defined in one drawing, it does not need to be further defined and explained in subsequent drawings.
[0123] The above is only the specific implementation manner of this application, but the protection scope of this application is not limited thereto. Any person skilled in the art can easily think of changes or replacements within the technical scope disclosed in this application, and all should be covered by the protection scope of this application. Therefore, the protection scope of this application shall be subject to the protection scope of the claims.
Claims
1. A method for determining the processing speed, characterized in that Including: Based on a first trajectory and a second trajectory, determining an offset amplitude at a corner; wherein, the first trajectory and the second trajectory are two adjacent movement trajectories during the movement of a processing tool in a carving process, and the intersection position of the first trajectory and the second trajectory is the corner; In the case where it is determined that the offset amplitude is less than a set amplitude, determining optional speeds of each axis based on the first trajectory and the second trajectory; Based on the optional speeds of each axis, determining a target speed at the corner.
2. The method according to claim 1, wherein The determining the optional speeds of each axis based on the first trajectory and the second trajectory includes: Determining initial speeds of each axis based on the first trajectory and the second trajectory; Based on the initial speeds of each axis and the rated speeds of each axis, determining the optional speeds of each axis; wherein, the rated speed is a pre-configured speed.
3. The method according to claim 2, wherein The determining the optional speeds of each axis based on the initial speeds of each axis and the rated speeds of each axis includes: For a first axis, in the case where the initial speed of the first axis is not greater than the rated speed of the first axis, taking the initial speed of the first axis as the optional speed of the first axis; For a second axis, in the case where the initial speed of the second axis is greater than the rated speed of the second axis, determining the optional speed of the second axis based on the rated speed of the second axis; wherein, the first axis and the second axis are any axis in a multi-dimensional space in which the processing tool moves.
4. The method according to claim 3, characterized in that, The determining the optional speed of the second axis based on the rated speed of the second axis includes: According to the rated speed of the second axis and the component of the unit vector of the second trajectory in the second axis, calculating to obtain the optional speed of the second axis.
5. The method according to claim 2, wherein The determining the initial speeds of each axis based on the first trajectory and the second trajectory includes: For a third axis, according to the acceleration of the third axis, the moving distances required for the first trajectory and the second trajectory, and a preset update period, determining the initial speed of the third axis.
6. The method according to any one of claims 1-5, characterized in that, The determining the offset amplitude at the corner based on the first trajectory and the second trajectory includes: Determining a first tangent line of the first trajectory at the corner; Determining a second tangent line of the second trajectory at the corner; Based on the first tangent line and the second tangent line, determining an included angle at the corner.
7. The method according to any one of claims 1-5, characterized in that, The determining the target speed at the corner based on the optional speeds of each axis includes: Taking the minimum value among the optional speeds of each axis as the target speed at the corner.
8. An electronic device, characterized in that, Including: A processor and a memory, where the memory stores machine-readable instructions executable by the processor, and when the electronic device runs, when the machine-readable instructions are executed by the processor, performing the steps of the method according to any one of claims 1 to 7.
9. A numerical control machining system, characterized in that, Including: A driving component, a processing tool, and a control device; The control device is configured to perform the steps of the method according to any one of claims 1 to 7; The driving component is configured to control the movement of the processing tool based on the processing speed determined by the control device; The processing tool is configured to process a material blank to be processed.
10. A computer-readable storage medium, characterized in that, A computer program is stored on the computer-readable storage medium, and when the computer program is run by a processor, it executes the steps of the method according to any one of claims 1 to 7.