Numerical control device
By adjusting the feed speed and positioning width through the distance determination unit, the problem of controlling complex interference areas caused by servo delay in the numerical control device is solved, and flexible speed control and cycle time optimization are achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- FANUC LTD
- Filing Date
- 2019-06-26
- Publication Date
- 2026-05-29
AI Technical Summary
Existing numerical control devices, when considering the interference area caused by servo delay, have complex and inflexible settings for feed rate and positioning width, resulting in extended cycle time or unnecessary control outside the interference area.
The distance determination unit dynamically adjusts the feed speed and positioning width settings based on the distance between the animal and the interference area. This includes reducing the speed or width when near the interference area and increasing the speed or width when away from it, and adjusting the control strategy according to the direction of movement.
This simplifies the setting process in speed control considering interference areas, reduces deviations and interference caused by servo delay, shortens cycle time, and improves processing efficiency.
Smart Images

Figure CN110647109B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a numerical control device, and more particularly to a numerical control device capable of speed control taking into account interference regions. Background Technology
[0002] In machinery controlled by numerical control devices (such as machine tools in industrial applications), a time lag typically occurs between the output of the program (machining program, hereinafter simply referred to as the program) instruction and the execution of the servo action. This time lag is called servo latency. Due to servo latency, a deviation occurs between the machining path assumed by the program and the actual machining path. Servo latency increases proportionally with feed rate. Therefore, if the feed rate is high, then... Figure 1 As shown in the left figure, in areas such as corners where servo delay can easily cause internal rotation, there are interference objects including workpieces and various parts of the machine, which can cause the tool to enter areas that it does not want the tool to enter (interference areas).
[0003] To address such issues, previous methods pre-emptively considered internal rotation caused by servo latency and manually set the feed rate and positioning width (considered as the range within which the tool reaches the program block endpoint as defined by the program) near the interference area (see [reference]). Figure 1 (See right figure). In addition, reducing the feed rate or positioning width can reduce the deviation caused by servo latency, but the cycle time will increase.
[0004] As prior art related to collision avoidance with interfering objects, there is Japanese Patent Application Publication No. 05-313729. The numerical control device described in Japanese Patent Application Publication No. 05-313729 changes the positioning width according to the corner angle between blocks, thereby bringing the corner error within an acceptable range.
[0005] The method of manually setting the feed rate or positioning width is very complicated because these settings must be considered every time machining is performed near the interference area.
[0006] If the method described in Japanese Patent Application Publication No. 05-313729 is adopted, the feed rate or positioning width will be automatically set to meet the tolerance of the corner. This control is effective, for example, in the vicinity of interference areas (see...). Figure 2 Implementing this at the corner of the circuit can avoid interference by balancing cycle time, and therefore can be considered useful. However, there are problems, namely, not only in the vicinity of the interference area (see...) Figure 2 This control is not needed in [the context of the previous sentence], and if implemented, the cycle time would be unnecessarily extended. Summary of the Invention
[0007] The present invention addresses this problem by providing a numerical control device capable of speed control that takes into account interference zones.
[0008] One embodiment of the present invention provides a numerical control device for moving a movable animal by means of axis control, comprising: a distance determination unit that sets at least one of a feed speed and a positioning width based on the distance between an interference area that prevents the movable animal from entering and the movable animal.
[0009] In one embodiment of the present invention, when the movable animal is located near an interference area within a certain range surrounding the interference area, the distance determination unit sets the feed rate multiplier or positioning width to be smaller than when the movable animal is located outside the interference area.
[0010] In one embodiment of the present invention, a numerical control device is provided in which the distance determination unit provides multiple regions at different distances from the interference region around the interference region. The closer the region where the animal is located is to the interference region, the smaller the feed rate multiplier or the positioning width is set.
[0011] In one embodiment of the present invention, a numerical control device is provided in which the distance determination unit determines the movement direction of the movable animal based on the current position of the movable animal and the position of the movable animal in the next control cycle, and sets at least one of the feed speed and the positioning width based on the movement direction.
[0012] In one embodiment of the present invention, when the movable animal moves in a direction that increases the distance from the interference area, the distance determination unit does not perform the aforementioned settings related to the feed speed or positioning width.
[0013] In one embodiment of the present invention, when the movable animal moves in a direction that reduces the distance from the interference area, the smaller the distance, the smaller the feed rate multiplier or the positioning width is set by the distance determination unit.
[0014] The present invention provides a numerical control device capable of speed control taking into account interference regions. Attached Figure Description
[0015] The above and other objects and features of the present invention will become clear from the following description of embodiments with reference to the accompanying drawings. In these drawings:
[0016] Figure 1 Explain the problems in existing numerical control devices.
[0017] Figure 2 Explain the problems in existing numerical control devices.
[0018] Figure 3 Example of hardware structure for a numerical control device.
[0019] Figure 4 Example of the functional structure of a numerical control device.
[0020] Figure 5 This represents an example of the operation of a numerical control device.
[0021] Figure 6 This represents an example of the operation of a numerical control device.
[0022] Figure 7 This represents an example of the operation of a numerical control device.
[0023] Figure 8 This represents an example of the operation of a numerical control device.
[0024] Figure 9 This represents an example of the operation of a numerical control device.
[0025] Figure 10 This represents an example of the operation of a numerical control device.
[0026] Figure 11 This represents an example of the operation of a numerical control device. Detailed Implementation
[0027] Figure 3 This is a schematic hardware structure diagram showing the main parts of a numerical control device 1 according to one embodiment of the present invention. The numerical control device 1 is a device for reading programs and performing mechanical control. The numerical control device 1 includes a processor 11, a ROM 12, a RAM 13, a non-volatile memory 14, an interface 18, a bus 10, an axis control circuit 16, and a servo amplifier 17. The interface 18 is connected, for example, to an input / output device 60.
[0028] Processor 11 is the processor for the overall control of numerical control device 1. Processor 11 reads the system program stored in ROM 12 via bus 10 and controls the numerical control device 1 as a whole according to the system program.
[0029] ROM12 stores system programs for performing various controls on the machinery.
[0030] RAM13 temporarily stores temporary calculation or display data, data input by the operator via input / output device 60 (described later), etc.
[0031] The non-volatile memory 14 is backed up, for example, by a battery (not shown), and retains its stored state even when the power supply to the numerical control device 1 is cut off. For example, the program is stored in the non-volatile memory 14.
[0032] The axis control circuit 16 controls the movement axis of the machine. The axis control circuit 16 receives the axis movement command output by the processor 11 and outputs the axis movement command to the servo amplifier 17.
[0033] The servo amplifier 17 receives the axis movement command output by the axis control circuit 16 and drives the servo motor 50.
[0034] The servo motor 50 is driven by the servo amplifier 17 to move the mechanical axis. The servo motor 50 typically has a built-in position / speed detector. The position / speed detector outputs a position / speed feedback signal, which is fed back to the axis control circuit 16, thereby performing position / speed feedback control.
[0035] In addition, Figure 3 In the diagram, one axis control circuit 16, one servo amplifier 17, and one servo motor 50 are shown, but in practice, only the number of axes that the machine has is prepared. For example, when controlling a machine with 6 axes, a total of 6 sets of axis control circuits 16, servo amplifiers 17, and servo motors 50 corresponding to each axis are prepared.
[0036] The input / output device 60 is a data input / output device equipped with a display or hardware keys. The input / output device 60 displays information received from the processor 11 via the interface 18 on the display. The input / output device 60 transmits instructions or data input from the hardware keys, etc., to the processor 11 via the interface 18.
[0037] Figure 4 This is a schematic functional block diagram of the numerical control device 1 according to this embodiment. The numerical control device 1 includes a preprocessing unit 101, a preliminary position calculation unit (advance position calculation unit) 102, a distance determination unit 103, an interpolation movement command allocation processing unit 104, a movement command output unit 105, an acceleration / deceleration processing unit 106, a servo control unit 107, a positioning width command unit 108, a feed rate multiplier command unit 109, and a current position register 110.
[0038] The preprocessing unit 101 reads and interprets the program.
[0039] The pre-position calculation unit 102 reads the program and calculates the tool position for the next control cycle.
[0040] The distance determination unit 103 determines whether the positioning width or feed rate should be changed based on the distance between the interference area and the tool.
[0041] The interpolation shift instruction allocation processing unit 104 performs interpolation processing and axis allocation processing according to the program pre-read as needed.
[0042] The movement command output unit 105 outputs movement commands for each axis of the machine.
[0043] The acceleration / deceleration processing unit 106 performs acceleration / deceleration processing on the movement command output unit 105.
[0044] The servo control unit 107 drives the servo motors 50 of each mechanical axis according to the movement commands processed by the acceleration and deceleration processing unit 106.
[0045] When the distance determination unit 103 determines that the positioning width should be changed, the positioning width instruction unit 108 changes the setting value of the positioning width according to the predetermined conditions.
[0046] When the distance determination unit 103 determines that the feed rate should be changed, the feed rate multiplier instruction unit 109 changes the feed rate multiplier according to predetermined conditions.
[0047] Current position register 110 holds the tool position for the current control cycle.
[0048] <Example 1>
[0049] In this embodiment, the numerical control device 1 controls the feed speed or positioning width based on the distance between itself and the interference area. Figure 5 This is a diagram illustrating the general operation of the numerical control device 1 in Embodiment 1. The numerical control device 1 of Embodiment 1 operates near the interference area ( Figure 5 When a tool is present (as shown in the right figure), at least one of the feed rate and the positioning width is set to a value greater than the value of the tool when it is outside the vicinity of the interference area. Figure 5 (Left image) should be small.
[0050] according to Figure 4 The operation of numerical control device 1 is promptly explained. Numerical control device 1 repeats steps 1 to 3 in each control cycle.
[0051] Step 1: The preprocessing unit 101 reads and interprets the program from the non-volatile memory 14, etc.
[0052] Step 2: The interpolation movement command allocation processing unit 104 performs interpolation processing and axis allocation processing. At this time, if the interpolation movement command allocation processing unit 104 can obtain the positioning width output by the positioning width command unit 108 and the feed rate multiplier output by the feed rate multiplier command unit 109, then the positioning width and the speed multiplier are reflected in the movement command.
[0053] In response, the movement command output unit 105 outputs movement commands for each axis of the machine. The acceleration / deceleration processing unit 106 performs acceleration / deceleration processing on the movement commands output by the movement command output unit 105. The servo control unit 107 drives the servo motors 50 of each axis of the machine according to the movement commands after acceleration / deceleration processing by the acceleration / deceleration processing unit 106.
[0054] Step 3: In parallel with the processing in Step 2, the pre-position calculation unit 102 pre-reads the program and calculates the tool position for the next control cycle.
[0055] The distance determination unit 103 controls at least one of the feed rate and positioning width based on whether the tool position in the next control cycle is within or outside the interference area. Next, an example of a specific control method will be shown.
[0056] The distance determination unit 103 pre-stores the feed rate multiplier Oin and positioning width Iin when the tool position is near the interference area, and the multiplier Oout and positioning width Iout when the tool position is outside the interference area in a database or setting file. Here, Oin <Oout,Iin<Iout。
[0057] Furthermore, the distance determination unit 103 predetermines the interference area and the vicinity of the interference area. For example, the distance determination unit 103 can determine the area shown below as the interference area.
[0058] • An area containing part of the machinery. Typically maintained by numerical control device 1.
[0059] • The area where the work is being processed. Typically described within the program.
[0060] • Interference area entered by the operator.
[0061] The distance determination unit 103 adds a certain margin to the area around the interference area thus determined, thereby calculating the vicinity of the interference area.
[0062] When the tool position in the next control cycle is near the interference zone, the distance determination unit 103 causes the feed rate multiplier command unit 109 to output Oin as the feed rate multiplier for the next control cycle. Conversely, when the tool position in the next control cycle is outside the interference zone, the feed rate multiplier command unit 109 outputs Oout as the feed rate multiplier for the next control cycle. In this way, the feed rate is set smaller near the interference zone than outside the interference zone, thus reducing deviation caused by servo delay and preventing interference. Alternatively, even if interference occurs, damage during interference can be suppressed. On the other hand, the feed rate is set larger outside the interference zone than near the interference zone, thus shortening the cycle time (see reference). Figure 6 (Left image).
[0063] Alternatively, when the tool position in the next control cycle is near the interference zone, the distance determination unit 103 causes the positioning width command unit 108 to output Iin as the positioning width for the next control cycle. On the other hand, when the tool position in the next control cycle is outside the interference zone, the positioning width command unit 108 outputs Iout as the positioning width for the next control cycle. In this way, the positioning width is set smaller near the interference zone than outside the interference zone, thus reducing deviation caused by servo delay and preventing interference. Alternatively, it can be assumed that even if interference occurs, damage during interference can be suppressed. On the other hand, the positioning width is set larger outside the interference zone than near the interference zone, thus shortening the cycle time (see reference). Figure 6 (Right image).
[0064] In step 2 of the next control cycle, the positioning width output by the positioning width instruction unit 108 and the feed rate multiplier output by the feed rate multiplier instruction unit 109 are used.
[0065] In Embodiment 1, the numerical control device 1 sets at least one of the feed rate multiplier and the positioning width to a relatively small value when the tool is near an interference area. This method has the advantage that the feed rate multiplier or positioning width can be determined solely based on the tool's position, and speed control can be easily achieved by taking the interference area into account.
[0066] <Example 2>
[0067] Figure 7 This section outlines the operation of the numerical control device 1 in Embodiment 2. The numerical control device 1 in Embodiment 2 sets multiple regions based on their distance from the interference region, and controls at least one of the feed rate multiplier and the positioning width for each region. That is, in Embodiment 2, the closer the region where the tool is located is to the interference region, the smaller at least one of the feed rate and the positioning width is set.
[0068] according to Figure 4 The operation of the numerical control device 1 is explained in a timely manner. The numerical control device 1 repeats the processing steps 1 to 3 in each control cycle. In addition, the description of the parts that perform the same operations as in Embodiment 1 is omitted as appropriate.
[0069] Step 1: The preprocessing unit 101 reads and interprets the program from the non-volatile memory 14, etc.
[0070] Step 2: The interpolation movement command allocation processing unit 104 performs interpolation processing and axis allocation processing. At this time, if the interpolation movement command allocation processing unit 104 can obtain the positioning width output by the positioning width command unit 108 and the feed rate multiplier output by the feed rate multiplier command unit 109, then the positioning width and the speed multiplier are reflected in the movement command.
[0071] In response, the servo motors 50 of each axis of the machine are driven by the movement command output unit 105 and the acceleration / deceleration processing unit 106.
[0072] Step 3: In parallel with the processing in Step 2, the pre-position calculation unit 102 pre-reads the program and calculates the tool position for the next control cycle.
[0073] The distance determination unit 103 controls at least one of the feed rate and the positioning width based on the area where the tool position exists in the next control cycle. This represents an example of a specific control method.
[0074] In this embodiment, as Figure 7 As shown, two or more regions at different distances from the interference region are defined outside the interference region. For example, region A is defined as the closest outermost region of the interference region, region B is defined as the outermost region of region A, and region C is defined as the outermost region of region B. At this time, the distance determination unit 103 pre-stores the feed rate multiplier Oa and positioning width Ia when the tool position is in region A, the feed rate multiplier Ob and positioning width Ib when the tool position is in region B, and the feed rate multiplier Oc and positioning width Ic when the tool position is in region C in a database or setting file, etc. Here, Oa... <Ob<Oc,Ia<Ib<Ic。
[0075] Furthermore, the distance determination unit 103 predetermines the interference region, region A, region B, and region C. For example, the distance determination unit 103 determines the interference region in the same way as in Embodiment 1. It then calculates region A after adding a margin Ma around the interference region, region B after adding a margin Mb around region A, and region C outside region B.
[0076] When the tool position in the next control cycle is within region A, the distance determination unit 103 outputs a feed rate multiplier Oa as the feed rate multiplier for the next control cycle via the feed rate multiplier command unit 109. When the tool position in the next control cycle is within region B, the feed rate multiplier command unit 109 outputs a feed rate multiplier Ob as the feed rate multiplier for the next control cycle. When the tool position in the next control cycle is within region C, the feed rate multiplier command unit 109 outputs a feed rate multiplier Oc as the feed rate multiplier for the next control cycle. In this way, a smaller feed rate is set in regions closer to the interference zone, thus reducing deviations caused by servo delays and making it easier to avoid interference. Alternatively, even if interference occurs, damage during interference can be further suppressed. On the other hand, a larger feed rate is set in regions farther from the interference zone, thus further shortening the cycle time.
[0077] Alternatively, the distance determination unit 103 may output the positioning width command unit 108 as the positioning width for the next control cycle when the tool position is within region A in the next control cycle; output the positioning width command unit 108 as the positioning width for the next control cycle when the tool position is within region B in the next control cycle; and output the positioning width command unit 108 as the positioning width for the next control cycle when the tool position is within region C in the next control cycle. In this way, a smaller positioning width is set in regions closer to the interference region, thus reducing deviations caused by servo delays and making it easier to avoid interference. Alternatively, it can be assumed that even if interference occurs, the damage caused by interference can be further suppressed. On the other hand, in regions farther from the interference region, a larger positioning width is set, thus further shortening the cycle time.
[0078] In step 2 of the next control cycle, the positioning width output by the positioning width instruction unit 108 and the feed rate multiplier output by the feed rate multiplier instruction unit 109 are used.
[0079] In Embodiment 2, the numerical control device 1 sets at least one of the feed rate multiplier and the positioning width to a smaller value as the area where the tool is located approaches the interference area. This method has the advantage that the feed rate multiplier or positioning width can be determined solely based on the position of the tool, and that more precise speed control can be achieved than in Embodiment 1.
[0080] <Example 3>
[0081] Figure 8 This section outlines the operation of the numerical control device 1 in Embodiment 3. When the tool moves in a direction that increases its distance from the interference area, the numerical control device 1 in Embodiment 3 sets the feed rate multiplier or positioning width to a value larger than that calculated in Embodiments 1 or 2. Preferably, no control is performed that could suppress the decrease in feed rate and positioning width.
[0082] according to Figure 4 The operation of the numerical control device 1 will be explained in a timely manner. The description will be compared with that of Embodiment 2, but details regarding operations identical to those in Embodiment 2 will be omitted as appropriate.
[0083] Steps 1 and 2: The numerical control device 1 operates in the same manner as in Example 2.
[0084] Step 3: Similar to Example 2, the numerical control device 1 sets at least one of the feed rate and positioning width to a smaller value as the area containing the tool approaches the interference area. That is, when the tool position in the next control cycle is within region A, the feed rate multiplier Oa and positioning width Ia are set; when the tool position is within region B, the feed rate multiplier Ob and positioning width Ib are set; and when the tool position is within region C, the feed rate multiplier Oc and positioning width Ic are set. Here, Oa... <Ob<Oc,Ia<Ib<Ic。
[0085] Furthermore, when the tool moves in a direction that increases the distance from the interference area, the distance determination unit 103 of the numerical control device 1 is set to a maximum value that can be changed, regardless of the aforementioned feed rate multiplier or positioning width settings. For example, in Figure 8 In the example shown, the tool moves from region C to region B to region A to region B (second time) to... In region B (second time), the tool moves in the direction of increasing distance from the interference region, i.e., away from the interference region. At this time, the distance determination unit 103 sets the feed rate multiplier or positioning width to its maximum value. That is, although the feed rate multiplier for region B (second time) is Ob according to Embodiment 2, in this embodiment it is changed to a changeable maximum value, namely Oct (Ob). <Oc)。
[0086] Distance determination unit 103, for example Figures 9 to 11 The processes shown in steps (1) to (3) can determine whether the tool moves in the direction of increasing distance from the interference area.
[0087] Step (1): The distance determination unit 103 obtains the current tool position and the tool position for the next control cycle. The current tool position can be obtained from the current position register 110. The tool position for the next control cycle is calculated by the pre-position calculation unit 102.
[0088] Step (2): The distance determination unit 103 calculates the distance C1 between the interference area and the current tool position, and the distance C2 between the interference area and the tool position in the next control cycle.
[0089] use Figure 9 This section explains the method for determining the distance C between the interference area and the tool position. The distance determination unit 103 determines the straight-line distance A from the center point of the interference area (the center of the interference area) to the tool position. Next, it determines the distance B from the center point of the interference area to its outer edge (boundary). The distance C can be calculated by subtracting B from A.
[0090] Step (3): The distance determination unit 103 compares the distance C1 between the interference area and the current tool position with the distance C2 between the interference area and the tool position in the next control cycle. If C1 > C2, it is determined that the tool moves in the direction of reducing the distance from the interference area (see Figure 10 ). On the other hand, if C1 < C2, it is determined that the tool moves in the direction of increasing the distance from the interference area (see Figure 11 ).
[0091] When the numerical control device 1 of Embodiment 3 moves the tool in the direction of increasing the distance from the interference area, it does not perform the control of reducing the feed speed and the approach width according to the distance from the interference area. If the tool moves away from the interference area, it is considered that no interference will occur. Thus, the cycle time can be further shortened.
[0092] As described above, the embodiments of the present invention have been described. However, the present invention is not limited to the examples of the above embodiments and can be implemented in various ways by adding appropriate changes.
[0093] For example, in the above embodiment, one or more regions are set according to the distance from the interference area, and the feed speed ratio or the approach width is determined according to which region the tool is located in these regions. However, the present invention is not limited to this, and the feed speed or the approach width can also be determined by other calculation methods based on the distance from the interference area. For example, the distance determination unit 103 can maintain the correspondence between the distance C (see Figure 9 ) between the interference area and the tool position in the form of a mathematical formula or a table, etc., and the feed speed ratio or the approach width. At this time, the distance determination unit 130 can first calculate the distance C and obtain the feed speed ratio or the approach width corresponding to the distance C calculated by referring to the above correspondence.
[0094] In addition, in the above embodiment, the relationship between the tool and the interference area is mainly discussed. However, the present invention is not limited to the tool and can be applied to the relationship between any movable object (typically a movable object mounted on the spindle and moving) and the interference area.
Claims
1. A numerical control device for moving an animal via axis control, characterized in that, The numerical control device includes a distance determination unit that sets the feed speed and positioning width based on the distance between the prohibited animal interference area and the prohibited animal. The aforementioned distance determination unit sets up multiple regions at different distances from the aforementioned interference region around the aforementioned interference region. The closer the region where the animal is located is to the aforementioned interference region, the smaller the feed speed and positioning width are set. The distance determination unit calculates and compares the distance between the interference area and the current position of the animal and the position of the animal in the next control cycle, thereby determining the movement direction and the area where the animal is located, and sets the feed speed and positioning width based on the movement direction and the area where the animal is located.
2. The numerical control device according to claim 1, characterized in that, When the distance between the aforementioned interference area and the current position of the aforementioned movable animal is less than the distance between the aforementioned interference area and the position of the aforementioned movable animal in the next control cycle, and it is determined that the movable animal is moving in a direction that increases the distance from the aforementioned interference area, the distance determination unit does not perform the aforementioned settings related to the feed speed and positioning width.
3. The numerical control device according to claim 1, characterized in that, When the distance between the aforementioned interference area and the current position of the aforementioned animal is greater than the distance between the aforementioned interference area and the position of the aforementioned animal in the next control cycle, and it is determined that the aforementioned animal is moving in a direction that reduces the distance from the aforementioned interference area and is located in any of the aforementioned multiple areas, the distance determination unit sets the feed speed and positioning width corresponding to the area where the aforementioned animal is located.