MACHINE CONTROL
The control system extends detector data length by storing and calculating absolute positions using extended or shifted rotation number data, overcoming limitations and enhancing position determination accuracy.
Patent Information
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- FANUC LTD
- Filing Date
- 2020-03-23
- Publication Date
- 2026-05-07
AI Technical Summary
Existing control systems for machines like machine tools and industrial robots are limited by the data length of detectors, which restrict the calculation of absolute positions, leading to inaccuracies when positions exceed the detector's data length.
A control system that stores and extends rotation number data beyond the detector's capacity using a storage unit and calculation unit to calculate absolute positions using formulas that incorporate zero-point and extended rotation number data or shifted zero-point position data, allowing for precise determination of positions regardless of detector data length.
Enables accurate determination of absolute positions up to a larger data length, eliminating limitations imposed by detector data length, and extends the range of applicable machines.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
BACKGROUND OF THE INVENTION Area of the invention
[0001] The present disclosure relates to a control system for controlling a machine such as a machine tool or an industrial robot. Related state of the art
[0002] A control system for controlling a machine tool or an industrial robot detects an absolute position of a detection target by using a detector that outputs rotation number data corresponding to a position of the detection target and controls the machine based on the detected absolute position of the detection target (see, for example, patent document 1).
[0003] Patent Document 1: JP 2000-99 156 A
[0004] DE 40 20 624 A1 discloses a servo control device comprising an abnormality detection circuit which calculates a difference between the rotational speed of a servo motor from a reference point based on an accumulated value of the position feedback and the rotational speed of the servo motor from the reference point, which is counted by a rotation detector, and outputs an absolute position abnormality signal when the calculated difference value exceeds a predetermined value. SUMMARY OF THE INVENTION
[0005] As in Fig. As shown in Figure 8, the detector for determining an absolute position has a counter value (rotation number data and rotation number data within a rotation). The controller maintains a counter value from the detector, corresponding to the zero point position of the absolute position. The controller calculates the absolute position (e.g., machine coordinates) from the difference between the detector's counter value at the current position and the detector's counter value at the zero point.
[0006] Data lengths (rotation number data lengths) of counter values of the detector vary from one detector type to another. As in Fig. Figure 9 shows an absolute position (e.g., machine coordinates) that can be expressed by absolute position detection, but this is narrow when a detector has a small data length, resulting in a limitation of applicable machines. Fig. Position 9 is the zero point, plus and minus half the data length, which is the detector's data length. Since a position exceeding the detector's data length cannot be expressed by the detector, the exact absolute position (e.g., machine coordinates) cannot be calculated.
[0007] In the field of machine control, there is a demand for technology that can detect an absolute position based on the rotation number data output by the detector, regardless of the detector's data length.
[0008] According to one aspect of the present disclosure, a machine control for controlling a machine detects the absolute position of a detection target by using a detector that outputs rotation number data corresponding to a position of the detection target and controls the machine based on the detected absolute position of the detection target. The machine control includes: a storage unit that stores rotation number data from the detector as zero-point position data corresponding to a zero-point position of the absolute position, and the rotation number data as extended rotation number data that exceeds a rotation number length that the detector can output; and a calculation unit that calculates the absolute position in accordance with formula (1) below, based on the rotation number data output by the detector, the zero-point position data, and the extended rotation number data. Absolute Position = (Rotation number data from detector + extended rotation number data) - zero point - position data
[0009] According to another aspect of the present disclosure, a machine control for controlling a machine detects an absolute position of a detection target using a detector that outputs rotation number data corresponding to a position of the detection target, and controls the machine based on the detected absolute position of the detection target.The machine control includes: a storage unit that stores detector rotation number data as zero-point position data corresponding to a zero-point position of the absolute position, and stores rotation number data as extended rotation number data, and stores shifted zero-point position data resulting from shifting zero-point position data by extended rotation number data, while rotation number data exceeding a rotation number length that the detector can output is defined as the extended rotation number data; and a calculation unit that calculates the absolute position in accordance with formula (2) below, based on the rotation number data output by the detector and the shifted zero-point position data. Absolute Position = Rotation number data from the detector - Shifted zero point position data = Rotation number data from the detector - (Zero point position data - Extended rotation number data)
[0010] The present disclosure makes it possible, in the field of machine control, to detect an absolute position based on the rotation number data from a detector, regardless of the detector's data length. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a diagram showing a configuration of a machine tool control according to the present embodiment; Fig. Figure 2 shows a relationship between rotation number data of a detector and an absolute position according to a first embodiment; Fig. Figure 3 is a flowchart showing an operation for detecting an absolute position, performed by a machine tool control according to a first embodiment; Fig. Figure 4 is a flowchart showing an operation for updating extended rotation number data, performed by the machine tool control according to a first embodiment; Fig. Figure 5 shows a relationship between rotation number data of a detector and an absolute position according to a second embodiment; Fig. Figure 6 is a flowchart showing an operation for detecting an absolute position, performed by a machine tool control according to a second embodiment; Fig. 7 is a flowchart showing an operation for updating displaced zero-point position data, performed by the machine tool control according to a second embodiment; Fig. Figure 8 shows a relationship between rotation number data of a detector and an absolute position according to the state of the art; Fig. Figure 9 shows a relationship between rotation number data of a detector and an absolute position according to the state of the art; DETAILED DESCRIPTION OF THE INVENTION
[0011] Examples of embodiments of the present disclosure are described below with reference to the accompanying drawings. In the drawings, the same or identical components are designated by the same reference numerals. (First embodiment)
[0012] Fig. Figure 1 shows a configuration of a machine tool control according to the first embodiment. The in Fig. The control unit 10 shown is a numerical control system that, for example, controls a ball screw of a machine tool to control the position of a control target on a table of the ball screw. The control unit 10 detects a position (e.g., machine coordinates: an absolute position) of the control target using a detector 30, such as an encoder, attached, for example, to a motor 20 that drives the ball screw, and controls the motor 20 based on the detected position of the control target. The control target can then be referred to as the detection target.
[0013] Detector 30 is a rotation detector that outputs rotation number data corresponding to the actual position of the detection target. Detector 30 outputs the rotation number data within a single rotation.
[0014] The controller 10 includes an operator control unit 11, a processing unit 12, and a storage unit 13. The operator control unit 11 and the processing unit 12 of the controller 10 are composed of an arithmetic processor, such as a digital signal processor (DSP), and a field-programmable gate array (FPGA). The functions of the operator control unit 11 and the processing unit 12 of the controller are implemented, for example, by executing predefined software (programs, applications) stored in the storage unit. The functions of the operator control unit 11 and the processing unit 12 of the controller 10 can be implemented through hardware and software interaction. The storage unit 13 of the controller 10 is a rewritable memory, such as an EEPROM, or a rewritable disk, such as a hard disk drive (HDD) or a solid-state drive (SSD).
[0015] The operating control unit 11 controls the detection target with respect to its position by controlling the motor 20 based on a position command (e.g. machine coordinates: an absolute position) that specifies a position of the detection target and the actual position (e.g. machine coordinates: an absolute position) of the detection target, with the calculation unit 12 providing the actual position.
[0016] As in Fig. As shown in Figure 2, storage unit 13 stores rotation number data as zero-point position data of detector 30, corresponding to the zero-point position of an absolute position. Storage unit 13 also stores rotation number data that exceeds the rotation number data length that detector 30 can output as extended rotation number data. In a case where detector 30 extends to exceed the rotation number data length, the extended rotation number data is defined as the product of the number of extension counts and the rotation number data corresponding to the rotation number data length. Note that in Fig. 2 the zero point position plus and minus one half of the data length is shown as the data length of the detector.
[0017] The calculation unit 12 calculates an actual position (e.g. machine coordinates: an absolute position) of the detection target in accordance with formula (1) below, which is based on the rotation number data (rotation number data within a rotation and rotation number data) output by the detector 30, and the zero point position data and the extended rotation number data stored in the storage unit 13. Absolute Position (Machine Coordinates) = (Rotation number data from detector + extended rotation number data) - zero point - position data Specifically, the calculation unit 12 multiplies the calculated rotation number data by the amount of movement per rotation to determine the actual position (e.g., machine coordinates: an absolute position) of the detection target.
[0018] An example is described below. This example is based on the assumption that the detector retains 30 rotation number data points within a rotation, and the controller 10 retains the number of counts of rollovers and rotation number data points corresponding to a rotation number data length (i.e., extended rotation number data points).
[0019] The capability of detector 30 is as follows. Rotation number data within a rotation = 2−21 Rotation number data=212
[0020] Thus, it is assumed that the detector 30 can detect a position within a rotation of the motor 20 with a precision of 2,097,152 equal areas and a maximum of 4,096 rotations of the motor.
[0021] The extended rotation number data stored by control 10 are as follows. Extended rotation number data=24 Thus, it is assumed that the controller 10 can recognize that 4,096 rotations are repeated up to 16 times (16 times rollover) according to the rotation number data length of the detector 30 (the rotation number data is extended to 2). 16 ).
[0022] The zero-point position data stored by controller 10 are as follows. Rotation number data in a rotation = 800 Rotation number data=8
[0023] Assume that the current position of the engine is as follows. Rotation number data within a rotation = 33,536 Rotation number data=338 Number of counters in the estimates = 1
[0024] In this case, the number of rotations the motor has made from the zero point position is determined by the calculation below. (33,536−800)×2−21+(338−8)+1×212≈4,426,016
[0025] Multiplying this rotation number by the amount of movement per rotation determines the absolute position (e.g., machine coordinates). Absolute position (e.g., machine coordinates) = rotation number × amount of movement per rotation
[0026] In this example, with respect to the capability of detector 30 (maximum 4,096 rotations can be determined), the capability to determine the absolute position is extended to a maximum of 65,536 rotations.
[0027] Next, with reference to the Fig. 3 and Fig. 4, operations are described which are carried out by a machine tool control according to the present embodiment. Fig. Figure 3 is a flowchart showing an operation for determining the absolute position, performed by the machine tool control according to the present embodiment. Fig. Figure 4 is a flowchart showing an operation for updating extended rotation number data, performed by the machine tool control according to the present embodiment. (Operation for determining the absolute position)
[0028] As in Fig. As shown in Figure 3, the controller 10 determines whether the counter value of the extended rotation number data (number of rollover counters) is 0 (S11). If the counter value of the extended rotation number data (number of rollover counters) is not 0, the computation unit 12 of the controller 10 adds the extended rotation number data according to the counter value (number of rollover counters) and the rotation number data length to the rotation number data from detector 30 (S12) and then calculates and sets the machine coordinates (S13). On the other hand, if the counter value of the extended rotation number data (number of rollover counters) is 0, the computation unit 12 of the controller 10 calculates an absolute position (machine coordinates) of the detection target from the rotation number data from detector 30 and sets the absolute position (machine coordinates) (S13). (Instructions for updating extended rotation number data)
[0029] As in Fig. As shown in Figure 4, the controller 10 moves an axis (S21) and determines whether the detector 30 is transferring (S22). If the detector 30 is transferring, the controller 10 adds or subtracts the number of transfer counters to or from the counter value of the extended rotation number data (number of rollover counters) (S23) and then updates the extended rotation number data stored in the memory unit 13 (S24). Updating the extended rotation number data of the controller 10 at the time of the detector 30 rollover can thus reduce the processing load of the controller 10. On the other hand, if the detector 30 is not transferring, the operation ends.
[0030] As described above, according to the present embodiment, the controller 10 stores rotation number data exceeding the rotation number data length output by the detector 30 as extended rotation number data and calculates an absolute position (e.g., machine coordinates) of the detection target in accordance with formula (1) above, using the extended rotation number data in addition to the rotation number data output by the detector 30. As a result, the absolute position can be determined based on rotation number data output by the detector 30, regardless of the data length of the detector 30.
[0031] Thus, there is no restriction on the absolute position (e.g. machine coordinates) imposed by the detector's data length, and the absolute position (e.g. machine coordinates) can be expressed up to a data length that corresponds to the number of movements of a machine. (Second embodiment)
[0032] In the first embodiment, rotation number data exceeding the rotation number data length of detector 30 is stored as extended rotation number data, and this extended rotation number data is used in addition to the rotation number data output by detector 30 to calculate an absolute position (e.g., machine coordinates) of the detection target. In the second embodiment, zero-point position data is shifted by the extended rotation number data (resulting in shifted zero-point position data), while rotation number data exceeding the rotation number data length output by detector 30 is defined as extended rotation number data. The rotation number data output by detector 30 and the zero-point position data are used to calculate an absolute position (e.g., machine coordinates) of a detection target.
[0033] The configuration of the machine tool control according to the second embodiment is the same as that of the machine tool control according to the first embodiment shown in Fig. 1. The machine tool control 10 of the second embodiment is the same as that of the machine tool control 10 according to the first embodiment shown in Fig. 1., except for the operations and functions performed by the computing unit 12 and the data stored in the storage unit 13.
[0034] As in Fig. As shown in Figure 5, the storage unit 13 stores rotation number data as zero-point position data of the detector 30, corresponding to a zero-point position of an absolute position. While rotation number data exceeding a rotation number data length that the detector 30 can output is defined as extended rotation number data, the storage unit 13 stores shifted zero-point position data resulting from shifting the zero-point position data by the extended rotation number data. As previously described, in the case where the detector 30 transmits to exceed the rotation number data length, the extended rotation number data is defined as the product of the number of overrides and the rotation number data corresponding to the rotation number data length. Note that in Fig. 5 the zero point position plus and minus one half of the data length as the data length of the detector is shown.
[0035] The calculation unit 12 calculates the actual position (e.g. machine coordinates: absolute position) of the detection target in accordance with formula (2) below, which is based on the rotation number data (rotation number data within a rotation and rotation number data) output by the detector 30 and shifted zero-point position data stored in the storage unit 13. Absolute position (e.g., machine coordinates) = Rotation number data from the detector - Shifted zero point position data = Rotation number data from the detector - (Zero point position data - Extended rotation number data)
[0036] Specifically, the calculation unit 12 multiplies the calculated number of rotations by the amount of movement per rotation to determine an actual position of the detection target (e.g., machine coordinates: absolute position).
[0037] An example is described below. This example is based on the assumption that the detector retains 30 rotation number data points and rotation number data points within a rotation.
[0038] The capability of detector 30 is as follows. Rotation number data within a rotation = 2−21 Rotation number data=212
[0039] Thus, it is assumed that the detector 30 can detect a position within a rotation of the motor 20 with a precision of 2,097,152 equal areas and a maximum of 4,096 rotations of the motor 20.
[0040] The zero-point position data stored by controller 10 are as follows. Rotation number data within a rotation = 800 Rotation number data=8
[0041] When the detector 30 transmits to exceed the rotation number data length, the controller 10 shifts the zero point position data by a multiplication product of the number of rollover counters and the rotation number data according to the rotation number data length (generating the shifted zero point position data).
[0042] Assume that the current position of the engine is as follows. Rotation number data within a rotation = 33,536 Rotation number data=338 Number of counters in estimates = 1
[0043] The zero point position data is shifted as shown below (generating the shifted zero point position data). Rotation number data within a rotation = 800 Rotation number data=8−(N×212)
[0044] (Since the rollover occurred in a positive direction (+), the zero point position is shifted in a negative direction (-).)
[0045] In this case, the number of rotations the motor has made from the zero point position is determined as calculated below. (33,536−800)×2−21+(338−(8−(1×212)))≈4,426.016
[0046] Multiplying this rotation number by the amount of movement per rotation determines an absolute position (e.g., machine coordinates). Absolute position (e.g., machine coordinates) = rotation number × amount of movement per rotation
[0047] Also in this example, with regard to the capability of detector 30 (maximum 4,096 rotations can be determined), the capability to determine the absolute position is extended to a maximum of 65,536 rotations.
[0048] Next, with reference to the Fig. 6 and Fig. 7, operations performed by the machine tool control of the present embodiment are described. Fig. Figure 6 is a flowchart showing an operation for determining the absolute position, performed by the machine tool control according to the present embodiment. Fig. Figure 7 is a flowchart showing an operation for updating displaced zero-point position data, performed by the machine tool control according to the present embodiment. (Operation for determining the absolute position)
[0049] As in Fig. As shown in Figure 6, the controller 10 determines whether the zero-point position data is shifted (S31). If the zero-point position data is shifted, the computation unit 12 of the controller 10 selects the shifted zero-point position data instead of the zero-point position data (S32), calculates the machine coordinates of the detection target based on the rotation number data from the detector 30 and the shifted zero-point position data, and sets the machine coordinates. Conversely, if the zero-point position data is not shifted, the computation unit 12 of the controller 10 calculates an absolute position (machine coordinates) of the detection target based on the rotation number data from the detector 30 and the zero-point position data, and sets the absolute position (S33). (Operation for updating the shifted zero-point position data)
[0050] As in Fig.As shown in Figure 7, the controller 10 moves an axis (S41) and determines whether the detector 30 is transmitting (S42). If the detector 30 is transmitting, the controller 10 calculates the shifted zero-point position data resulting from the shift of the zero-point position data by multiplying the number of rollover counters and the rotation data according to the rotation data length (S43), thereby updating the shifted zero-point position data stored in the memory unit 13 (S44). Updating the shifted zero-point position data of the controller 10 at the time of the detector 30 rollover can thus reduce the processing load of the controller 10. On the other hand, if the detector 30 is not transmitting, the operation ends.
[0051] As described above, according to the present embodiment, the controller 10 shifts zero-point position data when the rotation number data exceeding the rotation number data length output by the detector 30 is defined as extended rotation number data. The controller then shifts the zero-point position data by the extended rotation number data (to generate the shifted zero-point position data) and calculates an absolute position of the detection target in accordance with formula (2) above, which uses the rotation number data output by the detector 30 and the shifted zero-point position data. As a result, although the rotation number data does not retain the rotation number data length output by the detector 30, the absolute position can be determined based on the rotation number data output by the detector 30, regardless of the data length of the detector 30.
[0052] Embodiments of the present disclosure have been described above. It should be noted that the present disclosure is not limited to the embodiments described above and that numerous changes and modifications to the present disclosure are possible. In the embodiments described above, for example, the control system for controlling a machine tool was illustrated. However, the present disclosure is not limited to the control of a machine tool, but is applicable as a control system for controlling various machines, such as an industrial robot.
[0053] Furthermore, in the embodiments described above, the control target is the same as the detection target, and each of the machine controllers illustrated in these embodiments controls a position of the control target based on a position of the detection target. However, the present disclosure is not limited to this but is applicable to a machine controller in which the control target is different from the detection target and which controls a position of the control target based on a position of the detection target. For example, the present embodiment is applicable to an industrial robot controller that controls a relative position between a tool or workpiece (control target) attached to a distal end of an arm of an industrial robot and a workpiece or tool (detection target) that is fixedly attached. EXPLANATION OF REFERENCE SYMBOLS 10 Machine control 11 Operating control unit 12 units of calculation 13 storage units 20 engine 30 Detector S21-S24 Procedure steps for updating the extended rotation number data S31- S33 Procedure steps for determining the absolute position S41-S44 Procedure steps for updating the shifted zero-point position data
Claims
[1] A machine control (10) for controlling a machine, the machine control (10) determining an absolute position of a detection target using a detector (30) which outputs rotation number data corresponding to a position of the detection target, and controlling the machine based on the determined absolute position of the detection target, the machine control (10) comprising: a storage unit (13) that stores the rotation number data of the detector (30) corresponding to a zero-point position of the absolute position as zero-point position data, and stores the rotation number data corresponding to a rotation number data length that the detector (30) can output as extended rotation number data; and a calculation unit (12) that calculates the absolute position in accordance with formula (1) below, which is based on rotation number data output by the detector (30), the zero point position data and the extended rotation number data: Absolute Position = (Rotation number data from the detector + extended rotation number data) - zero point - position data [2] The machine control (10) according to claim 1, wherein, when the detector (30) transmits to exceed the rotation number data length, the extended rotation number data is a multiplication product of the number of rollover counters and the rotation number data corresponding to the rotation number data length. [3] The machine control (10) according to claim 2, wherein the storage unit (13) updates the extended rotation number data when the detector (30) transmits.
Citation Information
Patent Citations
servo control device
DE4020624A1
Device and method for controlling position
JP2000099156A
JP002000099156A