Position control system
The position control system addresses the issue of strip pattern formation on machine tools by using position detectors and controllers to manage interpolation errors, ensuring accurate and high-quality surface processing of inclined and conical surfaces.
Patent Information
- Application Number
- DE102019106439
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2018-03-15
- Filing Date
- 2019-03-13
- Publication Date
- 2025-03-13
- Estimated Expiration
- 2039-03-13
AI Technical Summary
Existing position control systems for machine tools face challenges in preventing the generation of strip patterns on surfaces due to interpolation errors, especially when processing extremely slightly inclined or conical surfaces with synchronized feed axes.
A position control system that includes object position detectors and engine position detectors for each feed axis, with a position controller that regulates the motor to eliminate differences between the command position and the detected object position, and a numerical controller that selects the appropriate position feedback value based on the movement amounts of the feed axes.
The system effectively prevents the formation of strip patterns on processed surfaces by minimizing interpolation errors, while maintaining the direct detection of the regulated object's position, thus ensuring accurate and high-quality surface processing.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[0001] This application claims priority to Japanese Patent Application No. 2018-048436, filed on March 15, 2018. TECHNICAL FIELD
[0002] The present invention relates generally to a position control system mounted on, for example, a machine tool, and more particularly to a position control system that performs feedback control of a drive system based on a detected motor position by a motor position detector mounted on a motor and a detected object position by an object position detector mounted near a controlled object.
[0003] DE 10 2014 017 370 A1 relates to a servo control system for controlling a servo motor of a machine tool that grinds an inclined surface. BACKGROUND
[0004] The drawings describe a schematic configuration of a feedback control system in a position control system mounted on a conventional machine tool. Fig. Figure 5 is a system block diagram illustrating a schematic configuration of a conventional position control system for two feed axes that are controlled objects. This conventional position control system includes a system that controls the position of a controlled object 117 by driving multiple feed axes. Although in Fig. 5, a total of two controlled objects 117 are shown, one on the first feed axis side (upper side) and one on the second feed axis side (lower side), these two controlled objects 117 indicate the same thing. However, from the perspective of the two feed axes, the finally controlled objects 117 are not strictly speaking the same controlled object 117, for example, since the two feed axes are in a state where a feed axis mechanism is mounted on the other feed axis, even if the controlled objects 117, such as a tool holder equipped with a tool, are the same controlled object 117. For convenience of description, the controlled objects 117 are treated as the same here.
[0005] The position control system includes a first position controller 101a and a second position controller 101b, each provided for the two feed axes. The first position controller 101a and the second position controller 101b are essentially the same in terms of configuration, so where there is no need to distinguish between the "first" and "second," they are simply referred to as "position controller 101," with the suffixes a and b omitted. The same applies to other elements.
[0006] Each position controller 101 calculates, via a subtractor 104, a difference between a command position P from a numerical controller 102, which is a higher-level device, and a detected position Pd output from a linear encoder 103, and sets the difference as a position error Pe. A speed command calculator 105 amplifies a command speed V based on the position error Pe with a proportional gain Kp and outputs the command speed V.Meanwhile, the position controller 101 differentiates a detected motor position Pm from a motor position detector 106 via a differentiator 107 and sets a result of the differentiation as a detected motor speed Vm, and calculates a difference between the detected motor speed Vm and the command speed V via a subtractor 108 and sets the difference as a speed deviation.This speed deviation is converted into a speed deviation proportional component via a torque command calculator (speed loop proportional gain Pv) 109 and, at the same time, converted into a speed deviation integral component via a torque command calculator (speed loop integral gain Iv) 110. The speed deviation proportional component and the speed deviation integral component are added via an adder 111, and a result of the addition is set as a torque command T. The torque command T is subjected to various types of filtering processing via a current controller 112 and then causes a current for controlling a motor 113 to be output.
[0007] A rotating shaft of the motor 113 rotates according to the current from the position controller 101. A ball screw 115 coupled to the rotating shaft of the motor 113 via a coupling 114 also rotates. A ball screw nut 116 connected to a controlled object 117 such as a table is restricted with respect to a rotation direction of the ball screw 115 by, for example, an unillustrated guide surface and is driven along with the rotation of the ball screw 115 in an axial direction of the ball screw 115. The detected motor position Pm by the motor position detector 106 integrated with the rotating shaft of the motor 113 also changes along with the rotation of the rotating shaft of the motor 113.Furthermore, a detection head 118 of the linear encoder 103 attached to the controlled object 117 is driven along with the rotation of the motor 113 in the axial direction of the ball screw 115, and an amount of movement of the detection head 118 relative to a scale 119 of the linear encoder 113, where the scale 119 is fixed, e.g., a bed not shown, that is, the detected position Pd of the controlled object 117, also changes. The detected position Pd and the detected motor position Pm, which have changed as stated above, are output to the position controller 101, and feedback control is performed to eliminate the difference between the detected position Pd and the command position P from the numerical controller 102.
[0008] Although not shown, the first position controller 101a and the second position controller 101b also perform position control synchronously with each other to operate while interpolating unit intervals of respective command positions by the numerical controller 102 as a higher-level device. Here, it is assumed that: Fig. For example, the position control system shown in Figure 5 performs numerical control and position control of a single-bed lathe; the first position controller 101a performs control of an X-axis thereof; and the second position controller 101b performs control of a Z-axis thereof. Where θ is an angle between a moving direction of a tool, which is the controlled object 117, and the Z-axis, Lx is an amount of movement on the X-axis, and Lz is an amount of movement on the Z-axis, here, tanθ = (Lx / Lz). Fig. 6 is a sectional view of a conical plug part with a cone angle α°. To illustrate a conical section 602 of a conical plug part 601 shown in Fig. 6 with good precision on a single-bed lathe, it is necessary to control the single-bed lathe from the point Q to the point R at coordinates with the X-axis and with the Z-axis synchronously with each other while interpolating micro-intervals.
[0009] Fig. 7 is an exemplary schematic block diagram illustrating the internal processing in a conventional numerical controller 102. A program for processing, for example, the conical plug part 601 is input to the numerical controller 102 via a program input device 301. The program input device 301 receives, for example, an input from a keyboard of a console and an input of a transmission from a medium such as a USB memory, and generally includes a storage unit for storing a machining program itself. The machining program is output to the program interpreter 302, and the program interpreter 302 generates data such as feed directions for the respective feed axes from the machining program. The generated data is output to the function generator 303.When the data is input, the function generator 303 calculates function generation positions (command positions Pa, Pb) for each control cycle of the feed axes to execute axial motion control of the respective feed axes. The calculated command positions Pa, Pb are output to the respective position controllers 101a, 101b for each control cycle of the feed axes.
[0010] Where the conical section 602 of the conical plug part 601 is made of Fig. 6 is machined, the function generator 303 in the numerical controller 102 calculates a target position for a machining program for machining starting from point Q and ending at point R for each control cycle of the feed axes according to a feed rate specified by the machining program, to determine command positions Pa, Pb for the two feed axes. Here, if it is assumed that: the coordinates of point Q are (x, z) = (4, 5, 100); and the coordinates of point R are (x, z) = (12, 40); a feed rate F during machining = 100 mm / min; and the control cycle of the feed axes is 6.4 ms, an amount of movement for each control cycle is approximately 10.67 µm. In addition, an amount of movement for each control cycle on the X-axis is approximately 1.32 µm and an amount of movement for each control cycle on the Z-axis is approximately 10.58 µm.Although the detailed description is omitted here, the machining enters an acceleration state in the vicinity of Q, which is the starting point, and enters a deceleration state in the vicinity of the point R, which is the ending point, so that the function generator 303 calculates the command positions Pa, Pb in consideration of the acceleration / deceleration state.
[0011] Here, in the machining of the conical plug part 601 using the position control system described above, a detection error inherent in the linear encoder 103 causes a trajectory error of the cone angle α° to deviate from a design value. Specifically, an interpolation error repeatedly occurs in a regular cycle among the detection errors inherent in the linear encoder 103, so that unevenness is also generated in the conical surface of the conical plug part 601 in a regular cycle.
[0012] Although those with various features are commercially available for the linear encoder 103, a linear encoder with an interpolation error of approximately ±0.1 µm to ±0.4 µm is selected for a feed axis of a general machine tool. Furthermore, a wavelength of an interpolation error is a wavelength that is a pitch length of, for example, a glass scale or a steel tape included in the scale 119 of the linear encoder 103, or a wavelength obtained by dividing the pitch wavelength by an integer. There are two main types of detection principles of the linear encoder 103: an optical type and a magnetic type (including an electromagnetic induction type). In the case of the optical type, the above-mentioned pitch wavelength is generally about 8 µm to 80 µm.
[0013] On the other hand, although there are motor position detectors 106 with various interpolation errors, for a feed axis of a general machine tool according to usage, a motor position detector 106 with an interpolation error of approximately ±5 to ±20 arc seconds is selected. In the case of a feed axis on which a linear encoder 103 is not mounted, a detected motor position Pm detected by the motor position detector 106 is used in such a way that the detected motor position Pm is converted to Pd as a position feedback value and output to the subtractor 104. In this case, a degree of unevenness Re generated in the conical surface by an interpolation error of the motor position detector 106 can be calculated according to Expression (1), where the interpolation error is ±ε arc seconds and a lead of the ball screw is 115 L mm. Re=±ε1296000⋅L⋅1000(m)
[0014] Where the interpolation error of the motor position detector 106 is ±10 arc seconds and the pitch of the ball screw 115 is 10 mm, the degree of unevenness generated in the conical surface, i.e., an actual amount of error on the feed axis, is ±0.077 µm. This means that the effect of the interpolation error of the motor position detector 106 is smaller than that of the interpolation error of the selected linear encoder 103, and such a combination is often selected.
[0015] As follows, there are several reasons why the difficulty of mounting the linear encoder 103 is assumed even in such a combination of a conventional machine tool. A first reason is that mounting the linear encoder 103 enables direct detection of a pitch error of the lead of the ball screw 115. A second reason is that mounting the linear encoder 103 enables direct detection of an error that occurs due to linear expansion of, for example, the ball screw 115 and / or the bed when a change in the ambient temperature of the machine tool occurs. A third reason is that mounting the linear encoder 103 enables direct detection of an error of the ball screw 115 being twisted by a frictional resistance generated on the guide surface for the controlled object 117.Examples of other reasons include that mounting the linear encoder 103 enables direct detection of a fault in the ball screw 115, which linearly expands due to heat generated by friction between the ball screw 115 and the ball screw nut 116. In any case, the linear encoder 103 is mounted because mounting the linear encoder 103 enables direct detection of a current position of the controlled object 117.
[0016] As stated above, an actual error of the feed axis caused by an interpolation error of the linear encoder 103 or the motor position detector 106 is often less than ±0.4 µm and thus not of great significance for a machined surface texture in a normal machine tool. However, a difference between respective amounts of movement of the feed axes for the X-axis and for the Z-axis becomes large, and in the feed axis with the relatively small amount of movement, a phenomenon occurs in which an interpolation error of the linear encoder 103 appears in a readily visible manner in the conical surface where the cone angle α° of the conical plug part 601 in Fig. 6 is a small angle or, conversely, a large angle close to 180°, because the interpolation error is increased. An example of a machined surface of a part falling into such a case is a case where a decorative surface of an aluminum wheel part of an automobile is formed by machining, which can be regarded as a case where the taper angle α° is large from the perspective of inclination. Such a part is a part where importance is placed on good appearance, and if an error occurs on a decorative surface in a regular cycle due to an interpolation error, the quality of the surface is deteriorated.Furthermore, in another example, in machining an inclined surface or in free-form machining of a surface of a molded part in a machining center, a phenomenon similar to the above occurs in which there is an interval of coordinates in which one feed axis has an extremely small amount of movement and the other feed axis has an extremely large amount of movement when machining is carried out with multiple feed axes synchronously with each other.
[0017] Even if the interpolation errors of linear encoders mounted on a machine tool are not so large in the above-mentioned prior art, where machining is performed with multiple feed axes synchronously with each other, when machining an extremely low-inclined surface or when machining an extremely low-conical surface, the interpolation error of the linear encoder on the feed axis side with a smaller amount of movement in the multiple feed axes is increased, resulting in the formation of a readily visible striped pattern on a machined surface. If the machined surface is a decorative surface of a mirror surface in an aluminum wheel of an automobile part, such a striped pattern is a critical defect in the external appearance, requiring, for example, that after processing on a machine tool such as a lathe, a surface be reworked.Polishing finishing is performed separately. To avoid such a situation, linear encoders are not used, resulting in a pitch error of each ball screw not being directly detected. In addition, an error that occurs due to linear expansion of, for example, the ball screw and / or the bed when a change in the ambient temperature of the machine tool occurs cannot be directly detected. In addition, an error of the ball screw that is twisted by frictional resistance generated on the guide surface for the controlled object cannot be directly detected. In addition, an error of the ball screw that is linearly expanded by frictional heat between the ball screw and a ball screw nut cannot be directly detected.In any case, if no linear encoders are mounted, the current position of the controlled object cannot be directly detected, which leads to an increase in positioning errors of feed axes.
[0018] In view of the above problem, it is an object of the present invention to provide a position control system including linear encoders mounted thereon in surface machining of extremely small tapered surfaces in which machining is carried out with a plurality of feed axes synchronously with each other, the position control system preventing the generation of a striped pattern attributable to an interpolation error of a linear encoder in a machined surface while maintaining the feature of directly detecting a controlled object as much as possible. SUMMARY
[0019] The problem is solved by a position control system with the features of patent claim 1.
[0020] A position control system disclosed in the present patent is a position control system for controlling a position of a controlled object by driving a plurality of feed axes, the system including: an object position detector provided for each of the plurality of feed axes, each object position detector detecting a position of the controlled object in a moving direction of the relevant axis as a detected object position; a motor position detector provided for each of the plurality of feed axes, each motor position detector detecting a position of a motor driving the relevant feed axis as a detected motor position;a position controller provided for each of the plurality of feed axes, each position controller controlling the drive of the relevant motor driving the relevant feed axis in such a manner as to eliminate a difference between a position feedback value and a command position; and a numerical controller outputting the command positions to the plurality of position controllers, respectively. The position controller selects a value based on the detected motor position as the position feedback value for a feed axis whose value is within a prescribed reference range, the value obtained by dividing an amount of movement of the feed axis by a larger amount in amounts of movement of the plurality of feed axes, and a position controller selects a value based on the detected object position as the position feedback value for another feed axis.
[0021] In addition, each position controller may store a difference between the detected object position and the detected motor position at a time of switching the position feedback value from the value based on the detected object position to the value based on the detected motor position as an initial difference, and during selection of the value based on the detected motor position, use a value obtained by adding the detected motor position and the initial difference as the position feedback value.
[0022] In a position control system according to the present invention, when machining extremely low-inclined surfaces or extremely slightly tapered surfaces, where machining is performed by driving multiple feed axes to control the position of an object (e.g., a tool), while linear encoders are mounted to enable direct detection of the current position of the controlled object, the generation of an unintentional striped pattern on the machined surface due to an interpolation error of a linear encoder can be prevented. In other words, the use of a position control system according to the present invention in a machine tool makes it possible to ensure both the finished dimensions of a machined product and the quality of a machined surface. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] Embodiments of the present invention are described with reference to the following figures; they show: Fig. 1 is an exemplary system block diagram illustrating a schematic configuration of a position control system according to the present invention; Fig. 2 is a system block diagram illustrating an exemplary schematic configuration of a numerical controller in the position control system according to the present invention; Fig. 3 is an exemplary flowchart illustrating processing in the position control loop selector 304; Fig. 4 is an exemplary flowchart illustrating processing in a position control loop switch 120a; Fig. 5 is a block diagram illustrating a conventional position control system; Fig. 6 a sectional view of a conical plug part with a cone angle α°; and Fig. 7 is an example block diagram illustrating the internal processing in a conventional numerical controller. EMBODIMENTS
[0024] Embodiments of the present invention are described below with reference to the drawings. [Embodiment 1]
[0025] Fig. 1 is an exemplary system block diagram illustrating a schematic configuration of a position control system according to the present invention, and is provided with reference numerals indicating components that are the same as those in Fig. 5 are the same as those in Fig. 5. In addition, a description of the processing, which is similar Fig. 5 is omitted. The position control system includes a first position controller 101a and a second position controller 101b, respectively, provided for two feed axes. Note that the first position controller 101a and the second position controller 101b are substantially the same in configuration, and the suffixes a, b, where it is not necessary to distinguish between "first" and "second," are thus omitted, and they are simply referred to as "position controller 101." The same applies to other elements. A detected motor position Pm output by a motor position detector 106 and a detected object position Pd output by a linear encoder 103 are supplied to a position control loop switch 120 of each position controller 101.The position control loop switch 120 receives a switching signal C from a numerical controller 102 to provide a command for selecting the detected motor position Pm or the detected object position Pd as a position control loop input (a position feedback value), and selects one of the detected positions as a position control loop input (a position feedback value) according to the switching signal and supplies the position control loop input to a subtractor 104. The processing for subtracting the detected position output by the position control loop switch 120 from a command position P and the subsequent processing in the subtractor 104 are similar to those in the embodiment shown in FIG. Fig. Example shown in Figure 5.
[0026] Fig. 2 is a system block diagram illustrating an exemplary schematic configuration of the numerical controller 102 in the position control system according to the present invention, and is provided with reference numerals indicating components that are the same as those in Fig. 7 are the same as those in Fig. 7. In addition, the description of processing similar to that in Fig. 7 is omitted. The command positions Pa, Pb for two feed axes calculated by the function generator 303 are output not only to the position controller 101 but also to the position control loop selector 304. The position control loop selector 304 preferably includes, for example, a CPU with a storage memory unit such as a ROM integrated therein. In the storage memory unit, for example, a control program for selecting a position feedback value, which will be described later, and reference range numerical values referred to for selection are stored. In addition, the storage memory unit in the position control loop selector 304, where Pa n , Pb n Command positions in an n-th control cycle are, except for the current command positions Pa n , Pb n Command positions Pa n-1 , Pb n-1 in a control cycle that is one control cycle before.
[0027] Fig. 3 is an exemplary flowchart illustrating the processing in the position control loop selector 304. In S30, an amount of the nth movement of a first feed axis controlled by the first position controller 101a and an amount of the nth movement of a second feed axis controlled by the second position controller 101b are compared with each other. In other words, among the two feed axes, a feed axis with a larger amount of movement is identified. The "amount of movement" here is an amount of movement of the relevant command position P and an amount of movement in one control cycle. More specifically, the position control loop selector 304 calculates, as an amount of movement, an absolute value of a difference between a current command position P n and a command position P n-1in a control cycle that is one control cycle before. However, the amount of movement can be calculated by a different method as needed. For example, the amount of movement to be calculated is not limited to the amount of movement in one control cycle, but can be the amount of movement over a longer period of time, such as two control cycles or three control cycles. Furthermore, the amount of movement can be calculated not based on command positions, but based on the detected object position Pd or the detected motor position Pm.
[0028] If the amount of movement on the first position controller 101a side is larger (if the amount of movement of the first feed axis is larger), the position control loop selector 304 proceeds to the processing in S31, and if not (if the amount of movement of the second feed axis is larger or the first feed axis and the second feed axis have the same amount of movement), the position control loop selector 304 proceeds to the processing in S32.In S31 (where the amount of movement of the first feed axis is larger), the position control loop selector 304 determines whether a value obtained by dividing the amount of the nth movement of the feed axis controlled by the second position controller 101b by the amount of the nth movement of the feed axis controlled by the first position controller 101a (the larger amount of movement) is within a reference range of "greater than 0 but less than K." If the value obtained by the division is within the reference range, the position control loop selector 304 proceeds to S33, and if not, the position control loop selector 304 proceeds to the processing in S34. Here, the reference range can be freely determined by a party using the present invention.For example, if a range of angle θ in which an intended stripe pattern attributable to an interpolation error of a linear encoder is not generated in a machined surface is 0° < θ < 5°, the reference range is greater than 0 but smaller than K = tan 5° = 0.0875. Here, the calculation result in the processing in S31 being 0 means that the feed axis on the position controller 101b side is in a stop state.
[0029] Furthermore, in S32 (where the amount of movement of the second feed axis is larger or the amounts of movement of the first feed axis and the second feed axis are equal), the position control loop selector 304 determines whether a value obtained by dividing the amount of the nth movement of the feed axis controlled by the first position controller 101a by the amount of the nth movement of the feed axis controlled by the position controller 101b (the larger amount of movement) is within the reference range of "greater than 0 and less than K." If the value obtained by the division is within the reference range, the position control loop selector 304 proceeds to the processing in S35, and if not, the position control loop selector 304 proceeds to the processing in S36.
[0030] In S34 and S36, switching signals Ca, Cb are output to the first and second position control loop switches 120a and 120b, respectively, to provide a command to use detected object positions Pda, Pdb as position control loop inputs, since the condition that “a value obtained by dividing an amount of movement of a feed axis by a larger amount of movement is within the reference range” is not satisfied.On the other hand, in S33, the position control loop selector 304 outputs a signal Cb for providing a command to use the detected motor position Pmb as a position control loop input to the second signal position controller 101b, and outputs a signal Ca for providing a command to use the detected motor position Pma as a position control loop input to the first position controller 101a, since the value obtained by dividing the amount of movement of the second feed axis by the amount of movement of the first feed axis with the larger amount of movement is within the reference range.
[0031] Likewise, in S35, the position control loop selector 304 outputs a signal Ca for providing a command to use the detected motor position Pma as a position control loop input to a first position controller 101a, and outputs a signal Cb for providing a command to use the detected motor position Pmb as a position control loop input to the second position controller 101b, since the value obtained by dividing the amount of movement of the first feed axis by the amount of movement of the second feed axis with the larger amount of movement is within the reference range. The processing in the position control loop selector 304 is executed in a manner as described above.
[0032] Although the above description only takes the case where the controlled object is driven by two orthogonal feed axes as an example, the technique disclosed in the present specification can be applied to the case where a controlled object is driven by more feed axes. For example, where a configuration with three orthogonal axes—an X-axis, a Y-axis, and a Z-axis—is used for the feed axes in a machining center of a machine tool, it is possible to calculate, for each of the feed axes, a value obtained by dividing the nth movement of the feed axis by a larger movement amount, determine whether the value is within a reference range, and output, for a feed axis whose movement amount is within the reference range, a switching signal C for selecting a detected motor position Pm as a position control loop input. [Embodiment 2]
[0033] Another embodiment will be described below. Embodiment 2 differs from Embodiment 1 in that the processing in each Fig. 1 is complicated. Preferably, each position control loop switch 120 includes, for example, a CPU with a storage memory unit such as a ROM integrated therein. Furthermore, in the following description, respective n-th data of the type Ca n or Pma n specified. Fig. Fig. 4 is an exemplary flowchart illustrating the processing in a first position control loop switch 120a. In S40, a switching signal Ca input from the position control loop selector 304 is n interprets and determines whether the switching signal Ca na command to use a detected motor position Pma. If the content of the switching signal is a command to select a detected motor position Pma, the first position control loop switch 120a proceeds to the processing in S41, and if this is not the case, ie, if the content of the switching signal Ca n is a command for selecting a detected object position Pda, the first position control loop switch 120a proceeds to the processing in S44. In the storage unit integrated in the position control loop switch 120a, a switching signal Ca n-1 stored, which has been input by the position control loop selector 304 in a control cycle that is one control cycle before, ie, in an n-1th control cycle. In S41, the position control loop switch 120 determines whether the switching signal Ca n-1is a command for selecting a detected object position Pda. If the content of the switching signal is a command for selecting a detected object position Pda, the position control loop switch 120a proceeds to the processing in S42, and if this is not the case, ie, if the content of the switching signal Ca n-1 is a command to select a detected motor position Pma, the position control loop switch 120a proceeds to the processing in S43. In S42, the position control loop switch 120a calculates a difference between an n-th, ie, current, detected object position Pda n , and an n-th, ie current, detected motor position Pma nas an initial difference D and proceeds to the processing in S43. The initial difference D is stored here in the storage unit integrated in the position control loop switch 120a. The initial difference stored in the storage unit is not updated until the calculation is re-executed in the processing in step S42. Subsequently, the position control loop switch 120a outputs the value obtained by adding the detected motor position Pma in S43. n and the initial difference D stored in the storage unit, the “Pma n + D" as a position control loop input (a position feedback value) to a subtractor 104a. On the other hand, the position control loop switch 120a outputs the detected object position Pda in S44. n as a position control loop input to the subtractor 104a.
[0034] As described above, the position control loop switch 120a described in Embodiment 2 is configured to perform, at a time of transition of the switching signal Ca from the position control loop selector 304 from the selection Pda to the selection Pma, processing for updating an initial difference D, which is a difference between Pda and Pma, and “Pma n + D" as a position control loop input if the switching signal Ca is one for providing a command to select Pma, and in any other case Pda n Although the processing in the position control loop switch 120a has been described in Embodiment 2, it should be understood that similar processing to the above is also performed in the position control loop switch 120b.
[0035] Embodiments of the present invention using the above examples have been described. As a result of employing one of the embodiments in which machining is performed with multiple feed axes synchronously with each other, even when machining an extremely slightly inclined surface or machining an extremely slightly tapered surface is performed, a detected position of a linear encoder 103 causing a machined stripe pattern, that is, a defect in the texture of a machined surface, is not utilized for the feed axis with a smaller amount of movement in multiple feed axes, which enables the reduction of stripe unevenness in the machined surface.Furthermore, the addition of Embodiment 2 enables the reduction of stripe unevenness in the machined surface while taking advantage of direct detection of a current position of a controlled object, which is an original purpose of mounting the linear encoder 103.
[0036] Although some modes of the present invention have been described as embodiments, the present invention is not limited to only these modes.For example, the position control loop selector 304 is described in the above description as a component within the numerical controller 102; however, the control is carried out with the first position controller 101a and the second position controller 101b synchronously with each other, and thus, changing the components such that the first position controller 101a and the second position controller 101b monitor the amounts of movement of each other, and each position controller 101 itself determines whether a value obtained by dividing an amount of movement of a relevant feed axis by an amount of movement of the other feed axis is within a reference range, and selects a position control loop input (a position feedback value) according to a result of the determination, is within the technique of the present invention.In other words, the position control loop selecting means 304 may be provided not only in the numerical controller 102 but in each of the position controllers 101. LIST OF REFERENCE SYMBOLS
[0037] 101 position controller, 102 numerical controller, 103 linear encoder, 104 subtractor, 108 subtractor, 105 speed command calculator, 106 motor position detector, 107 differentiator, 111 adder, 112 current controller, 113 motor, 114 coupling, 115 ball screw, 116 ball screw nut, 117 controlled object, 118 detection head, 119 scale, 120 position control loop switch, 301 program input device, 302 program interpreter, 303 function generator, 304 position control loop selector, 601 conical plug part, 602 conical section.
Claims
[1] Position control system for controlling a position of a controlled object by driving a plurality of feed axes, the system comprising: an object position detector provided for each of the plurality of feed axes, each object position detector detecting a position of the controlled object in a moving direction of the relevant axis as a detected object position; a motor position detector (106) provided for each of the plurality of feed axes, each motor position detector (106) detecting a position of a motor driving the relevant feed axis as a detected motor position; a position controller (101) provided for each of the plurality of feed axes, each position controller (101) controlling the drive of the motor driving the relevant feed axis in such a manner as to eliminate a difference between a position feedback value and a command position; and a numerical controller (102) which outputs the command positions to the plurality of position controllers (101), wherein the position controller (101) for a feed axis whose value is within a prescribed reference range, the value being obtained by dividing an amount of movement of the feed axis by a larger amount in amounts of movement of the plurality of feed axes, selects a value based on the detected motor position as the position feedback value, and a position controller (101) for another feed axis selects a value based on the detected object position as the position feedback value. [2] A position control system according to claim 1, wherein each position controller (101) stores a difference between the detected object position and the detected motor position at a time of switching the position feedback value from the value based on the detected object position to the value based on the detected motor position as an initial difference, and uses a value obtained by adding the detected motor position and the initial difference as the position feedback value during selection of the value based on the detected motor position.
Citation Information
Patent Citations
Melt-blowing process, low shrinkage melt-blown polymer fiber and fiber structure, and melt-blowable polymer composition
JP2018048436A
Servo control system for grinding an inclined surface
DE102014017370A1