[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2025013209A1 - Control device and computer-readable recording medium - Google Patents

Control device and computer-readable recording medium Download PDF

Info

Publication number
WO2025013209A1
WO2025013209A1 PCT/JP2023/025615 JP2023025615W WO2025013209A1 WO 2025013209 A1 WO2025013209 A1 WO 2025013209A1 JP 2023025615 W JP2023025615 W JP 2023025615W WO 2025013209 A1 WO2025013209 A1 WO 2025013209A1
Authority
WO
WIPO (PCT)
Prior art keywords
acceleration
interpolation
command data
inversion
reversal
Prior art date
Application number
PCT/JP2023/025615
Other languages
French (fr)
Japanese (ja)
Inventor
宏之 河村
Original Assignee
ファナック株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ファナック株式会社 filed Critical ファナック株式会社
Priority to PCT/JP2023/025615 priority Critical patent/WO2025013209A1/en
Publication of WO2025013209A1 publication Critical patent/WO2025013209A1/en

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/404Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia

Definitions

  • This disclosure relates to a control device and a computer-readable recording medium.
  • JP 2012-093989 A Japanese Patent Application Publication No. 05-011824
  • the industrial machinery control device disclosed herein solves the above problem without delaying commands by detecting reversals of movement commands and determining the reversal state before the acceleration/deceleration processing applied to each axis.
  • An aspect of the present disclosure is a control device that includes a program analysis unit that analyzes a control program that commands the operation of an industrial machine and generates a movement command; an interpolation unit that creates first movement command data for each interpolation period related to each axis of the industrial machine based on the movement command; a reversal detection unit that detects the timing at which the movement direction in a predetermined axis is reversed based on the first movement command data calculated by the interpolation unit; an acceleration/deceleration unit that creates second movement command data by performing a predetermined acceleration/deceleration process on the first movement command data calculated by the interpolation unit; and a servo control unit that controls a motor related to each axis of the industrial machine in accordance with the second movement command data, and the servo control unit executes a reversal correction process on the second movement command data in accordance with the timing at which the movement direction in the predetermined axis detected by the reversal detection unit is reversed.
  • FIG. 2 is a schematic hardware configuration diagram of a control device according to the first embodiment.
  • FIG. 2 is a block diagram showing schematic functions of a control device according to the first embodiment.
  • 11 is a graph showing an example of movement command data related to a predetermined axis generated by an interpolation unit.
  • 11 is a graph showing an example of movement command data for each interpolation period that has been subjected to acceleration/deceleration processing and that is created by an acceleration/deceleration unit.
  • 11 is a graph showing an example in which a servo control unit outputs inversion correction command data.
  • based on XX means “based on at least XX,” and includes cases where it is based on other elements in addition to XX. Furthermore, “based on XX” is not limited to cases where XX is used directly, but also includes cases where it is based on XX that has been calculated or processed. "XX” is any element (for example, any information).
  • FIG. 1 is a schematic hardware configuration diagram showing the main parts of a control device according to an embodiment of the present invention.
  • the control device 1 of the present invention can be implemented as a control device that controls industrial machines such as machine tools and robots that have moving objects that move when driven by a motor.
  • the control device 1 that controls a machine tool that processes a workpiece by controlling the relative positions of a tool and a workpiece will be described as an example.
  • the CPU 11 provided in the control device 1 of the present invention is a processor that controls the entire control device 1.
  • the CPU 11 reads the system program stored in the ROM 12 via the bus 22, and controls the entire control device 1 in accordance with the system program.
  • the RAM 13 temporarily stores temporary calculation data, display data, and various data input from outside.
  • the non-volatile memory 14 is composed of, for example, a memory backed up by a battery (not shown) or an SSD (Solid State Drive), and retains its memory state even when the power to the control device 1 is turned off.
  • the non-volatile memory 14 stores control programs and data read from an external device 72 via the interface 15, data and control programs input via the input device 71, and various data acquired from the industrial machine 3.
  • the control programs and data stored in the non-volatile memory 14 may be expanded in the RAM 13 when executed/used.
  • various system programs such as well-known analysis programs are written in advance in the ROM 12.
  • the interface 15 is an interface for connecting the CPU 11 of the control device 1 to an external device 72 such as a USB memory, a Compact Flash (registered trademark), or an SD card.
  • an external device 72 such as a USB memory, a Compact Flash (registered trademark), or an SD card.
  • control programs and various data used to control the industrial machine 3 can be read from the external device 72.
  • the control programs and various data edited in the control device 1 can be stored in the external device 72.
  • the PLC (Programmable Logic Controller) 16 outputs signals to the industrial machine 3 and its peripheral devices (for example, tool changers, actuators such as robots, sensors attached to the industrial machine 3, etc.) via the I/O unit 17 and controls them using a sequence program built into the control device 1.
  • the PLC 16 also receives signals from various switches on an operation panel installed on the main body of the industrial machine 3 and from peripheral devices, etc., and passes them to the CPU 11 after performing the necessary signal processing.
  • the display device 70 displays various data loaded into the memory, data obtained as a result of executing control programs and system programs, etc., output via the interface 18.
  • the input device 71 which is composed of a keyboard, pointing device, etc., passes commands and data based on operations by the operator to the CPU 11 via the interface 19.
  • the interface 20 is an interface for connecting the CPU 11 of the control device 1 to a wired or wireless network 5.
  • the network 5 may communicate using technologies such as serial communication such as RS-485, Ethernet (registered trademark), optical communication, wireless LAN, Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
  • the network 5 is connected to other industrial machines 4, fog computers 6, cloud servers 7, etc., and exchanges data with the control device 1.
  • the axis control circuit 30 for controlling the drive axis of the industrial machine 3 receives a drive axis position command from the CPU 11 and outputs a command for the drive axis to the servo amplifier 40.
  • the servo amplifier 40 receives this command and drives the servo motor 50, which is the drive axis, to move each part of the industrial machine 3 along each axis.
  • Each servo motor 50 has a built-in position detector, and feeds back a position feedback signal from this position detector to the axis control circuit 30.
  • the axis control circuit 30 performs feedback control of the servo motor 50 based on this position feedback signal. Note that in the hardware configuration diagram of FIG.
  • axis control circuit 30, servo amplifier 40, and servo motor 50 are shown, but in reality, there are as many as the number of axes of the industrial machine 3 to be controlled.
  • three sets of axis control circuits 30, servo amplifiers 40, and servo motors 50 are prepared to relatively move the spindle to which the tool is attached and the workpiece in the directions of the three linear axes (X-axis, Y-axis, and Z-axis).
  • the spindle control circuit 60 receives a spindle rotation command and outputs a spindle speed signal to the spindle amplifier 61.
  • the spindle amplifier 61 receives this spindle speed signal and rotates the spindle motor 62 of the industrial machine 3 at the commanded rotation speed to drive the spindle.
  • a position coder 63 is connected to the spindle motor 62.
  • the position coder 63 outputs a feedback pulse in synchronization with the rotation of the spindle, and the feedback pulse is read by the CPU 11.
  • FIG. 2 is a schematic block diagram showing the functions of the control device 1 according to the first embodiment of the present disclosure.
  • Each function of the control device 1 according to this embodiment is realized by the CPU 11 of the control device 1 shown in FIG. 1 executing a system program and controlling the operation of each part of the control device 1.
  • the control device 1 of this embodiment includes a program analysis unit 100, an interpolation unit 110, a reversal detection unit 120, an acceleration/deceleration unit 130, and a servo control unit 140.
  • the RAM 13 to the non-volatile memory 14 of the control device 1 store a control program 200 for controlling the industrial machine 3.
  • the program analysis unit 100 sequentially reads out blocks of the control program and analyzes the read out blocks. Then, based on the analysis results, it creates a movement command related to a path for moving the drive unit equipped in the industrial machine 3.
  • the movement command related to the path created by the program analysis unit 100 takes into account, for example, offsets related to tools.
  • the program analysis unit 100 outputs the created movement command to the interpolation unit 110.
  • the interpolation unit 110 performs an interpolation process to calculate the movement amount per interpolation period for each axis of the industrial machine 3 based on the movement command created by the program analysis unit 100. Then, it creates movement command data indicating the movement amount per interpolation period for each axis. The interpolation unit 110 outputs the created movement command data per interpolation period to the inversion detection unit 120 and the acceleration/deceleration unit 130.
  • the reversal detection unit 120 detects when the direction of movement along each axis of the drive unit of the industrial machine 3 is reversed, based on the movement command data for each interpolation cycle created by the interpolation unit 110.
  • the reversal detection unit 120 notifies the servo control unit 140 of the timing when the direction of movement along a specific axis is reversed.
  • the acceleration/deceleration unit 130 performs post-interpolation acceleration/deceleration processing to adjust the amount of movement for each interpolation cycle for the movement command data for each interpolation cycle created by the interpolation unit 110.
  • the post-interpolation acceleration/deceleration processing performed by the acceleration/deceleration unit 130 suppresses the magnitude of the first-order differential value in the movement of the drive unit along a specified axis based on the movement command data by, for example, applying an average filter to the movement command data for each interpolation cycle.
  • the movement command data that has been subjected to post-interpolation acceleration/deceleration processing is accelerated and decelerated over a period of a predetermined post-interpolation acceleration/deceleration time constant.
  • the acceleration/deceleration unit 130 outputs the movement command data for each interpolation cycle that has been subjected to acceleration/deceleration processing to the servo control unit 140.
  • the servo control unit 140 controls each servo motor 50 so that the driving unit of the industrial machine 3 moves along each axis based on the movement command data for each interpolation period input from the acceleration/deceleration unit 130.
  • the servo control unit 140 starts the reversal correction process for the specific axis according to that timing.
  • the reversal correction process is a process of outputting the reversal correction command data at the same time as outputting the movement command data to the servo motor 50.
  • This reversal correction command data may correct the speed command. It may also correct the torque command.
  • the correction amount of the reversal correction command data differs depending on the configuration of the industrial machine 3 and the structure of the members used for the axes, so an appropriate correction amount can be obtained by conducting experiments in advance.
  • the effect of the reversal correction has been confirmed by the accuracy of the circular shape, so there is also a method of issuing a circular command for one or several revolutions for two feed axes, applying repetitive control to this, and calculating the reversal correction amount from the control data after the position deviation has converged.
  • FIG. 3 is a graph showing an example of movement command data for a predetermined axis created by the interpolation unit 110.
  • the movement command data for each interpolation cycle is represented by a white bar in the bar graph.
  • the height of the white bar represents the movement amount in that interpolation cycle.
  • movement command data is created for each interpolation cycle T itp .
  • movement command data is created so as to move by a movement amount L itp for each interpolation cycle T itp .
  • movement command data is created so as to move by a movement amount -L itp for each interpolation cycle T itp .
  • the reversal detection unit 120 detects that the movement direction in the predetermined axis is reversed at time t n .
  • Fig. 4 is a graph showing an example of the movement command data for each interpolation period that has been subjected to acceleration/deceleration processing created by the acceleration/deceleration unit 130.
  • the movement command data in Fig. 4 is obtained by performing post-interpolation acceleration/deceleration processing on the movement command data exemplified in Fig. 3.
  • the movement command data around time tn is filtered using an average value, so that the speed is decelerated over a period of time equal to the post-interpolation acceleration/deceleration time constant ⁇ , and then the movement direction is reversed.
  • the movement amount in the interpolation period becomes 0 at time tp . It is at this time tp that the movement direction related to the actual axis is reversed.
  • FIG. 5 is a graph showing an example of the servo control unit 140 outputting the inversion correction command data.
  • the inversion correction command data is shown by black bars in the bar graph.
  • the servo control unit 140 is notified by the inversion detection unit 120 that the movement direction of a specific axis will be inverted at time t n in the movement command data created by the interpolation unit 110. Then, as a result of the acceleration/deceleration process by the acceleration/deceleration unit 130, the axis actually inverts at time t p .
  • the servo control unit 140 estimates the period from time t n to time t p as the inversion correction process start period T icp .
  • the inversion correction process start period T icp is ⁇ /2.
  • the servo control unit 140 starts the inversion correction process at any time between time t n and the inversion correction process start period T icp .
  • the timing to start the inversion correction process it is sufficient to determine in advance by experiment or the like how long before the time t p when the axis actually inverts after the acceleration/deceleration process, the inversion correction process should be started. For example, the timing at which the position deviation at the time of reversal is smallest may be examined in advance by an experiment or the like.
  • the timing at which the position deviation is smallest approaches time tp as the acceleration at the time of reversal increases, the timing may be examined under a plurality of conditions with different accelerations at the time of reversal, and the start timing of the reversal correction process may be obtained for each of the different conditions according to the acceleration at the time of reversal.
  • the acceleration start timing may be determined so as to be proportional to the acceleration at the time of reversal of the moving direction or the square root of the acceleration at the time of reversal of the moving direction.
  • the servo control unit 140 creates reversal correction command data taking into account the movement command data, and superimposes the data on the movement command data as a speed command to control the speed of the servo motor 50. In FIG. 5, the speed command of the reversal correction command data is shown as a correction amount for each interpolation period.
  • the control device 1 which is configured as described above, detects reversals of movement commands and determines the reversal state before the acceleration/deceleration processing normally applied to each axis. By taking advantage of the delay caused by this acceleration/deceleration processing, corrections can be made slightly before reversals occur without adding a large buffer for movement commands, thereby reducing position deviations during reversals.
  • the servo control unit 140 may increase or decrease the estimated value of the inversion correction process start period T icp according to the acceleration (deceleration) before and after the movement direction of a predetermined axis is reversed.
  • the inversion detection unit 120 may notify the servo control unit 140 of the acceleration at the time of inversion and the acceleration after inversion, or the transition of the acceleration for a predetermined time after inversion, when the command speed before and after the inversion of the movement direction is different, if the acceleration/deceleration unit 130 applies an averaging filter to the movement command data for each interpolation command, the period until the movement amount becomes 0 is not simply ⁇ /2.
  • the servo control unit 140 estimates the inversion correction process start period T icp to be smaller than ⁇ /2 when the acceleration (deceleration) after the movement direction of a predetermined axis is reversed is larger than the previous acceleration (deceleration), and estimates the inversion correction process start period T icp to be smaller than ⁇ /2 when the acceleration (deceleration) is smaller.
  • the inversion correction process start period T icp may be estimated by the following formula 1.
  • is the post-interpolation acceleration/deceleration time constant
  • A is the square root of the value obtained by dividing the acceleration before the reversal by the acceleration after the reversal.
  • the acceleration before and after the reversal may be calculated appropriately based on the transition of the movement amount before and after the reversal of the movement command data created by the interpolation unit 110 and the algorithm of the acceleration/deceleration process used by the acceleration/deceleration unit 130. By configuring in this way, it becomes possible to start the inversion correction process at an appropriate timing.
  • the servo control unit 140 may observe the progress of the movement command data created by the interpolation unit 110 after the timing at which the direction of movement along a specified axis notified by the reversal detection unit 120 is reversed, and recalculate the reversal timing if the acceleration increases or decreases.
  • the time from when the movement amount per interpolation period in the movement command data created by the interpolation unit 110 becomes a specified value until the speed after acceleration/deceleration after interpolation becomes a specified value may be measured at one or more points, and the reversal timing may be calculated based on the measured time.
  • the servo control unit 140 may correct the correction amount for each interpolation period of the inversion correction command data when the timing of reversal of the movement direction of a predetermined axis in the movement command data after the acceleration/deceleration process by the acceleration/deceleration unit 130 deviates from the end point of the estimated inversion correction process start period T icp .
  • the correction amount for each interpolation period by the inversion correction command data may be reduced, and if the actual inversion timing is earlier, the correction amount for each interpolation period by the inversion correction command data may be increased.
  • the integrated value of the correction amount by the inversion correction command data is adjusted so as to match.
  • a control device (1) includes a program analysis unit (100) that analyzes a control program (200) that commands the operation of an industrial machine (3) and generates a movement command; an interpolation unit (110) that creates first movement command data for each interpolation period related to each axis of the industrial machine (3) based on the movement command; an inversion detection unit (120) that detects a timing at which a movement direction in a predetermined axis is reversed based on the first movement command data calculated by the interpolation unit (110); an acceleration/deceleration unit (130) that creates second movement command data by performing a predetermined acceleration/deceleration process on the first movement command data calculated by the interpolation unit (110); and a servo control unit (140) that controls a motor related to each axis of the industrial machine in accordance with the second movement command data, and the servo control unit (140) executes an inversion correction
  • the servo control unit (140) starts an inversion correction process during an inversion process start period from the timing at which the movement direction in a specified axis detected by the inversion detection unit (120) is reversed to the timing at which the movement direction in the specified axis is reversed in the second movement command data.
  • the servo control unit (140) estimates the inversion process start period to be half the time of the post-interpolation acceleration/deceleration time constant set for the axis.
  • the servo control unit (140) increases or decreases the estimated value of the reversal processing start period in accordance with the acceleration before and after the reversal.
  • the servo control unit (140) estimates the inversion processing start period to be longer than half the post-interpolation acceleration/deceleration time constant when the acceleration after reversal decreases compared to the acceleration before the timing at which the movement direction on a specified axis is reversed, and estimates the inversion processing start period to be shorter than half the post-interpolation acceleration/deceleration time constant when the acceleration after reversal increases.
  • the servo control unit (140) estimates the inversion process start period using the following formula 1. where Ticp is the inversion correction process start period, ⁇ is the post-interpolation acceleration/deceleration time constant, and A is the square root of the value obtained by dividing the acceleration before inversion by the acceleration after inversion. (Appendix 7) In a control device (1) according to another aspect of the present disclosure, the servo control unit (140) observes the transition of the first movement command data after the movement direction is reversed, and recalculates the reversal timing based on the transition of the first movement command data.
  • the servo control unit (140) measures the time from when the speed before post-interpolation acceleration/deceleration becomes a predetermined value during deceleration until when the speed after post-interpolation acceleration/deceleration becomes a predetermined value at one or more points, and uses the measured time to recalculate the reversal timing.
  • the servo control unit (140) starts an inversion correction process a predetermined time prior to the timing at which the movement direction of a specified axis in the second movement command data is reversed.
  • a control device (1) according to another aspect of the present disclosure determines the predetermined time period so that the position deviation during reversal is minimized.
  • the specified time is determined based on a plurality of conditions in which the acceleration at the time of reversal is different, and is determined so as to be proportional to the acceleration of a specified axis at the time of reversal or the square root of that acceleration.
  • a control device (1) according to another aspect of the present disclosure adjusts, when the timing at which the movement direction of a specified axis in the second movement command data is reversed deviates from the estimated end point of the reversal processing start period, to decrease the correction amount for each interpolation period in the reversal correction process if the estimated end point is early, or to increase the correction amount for each interpolation period in the reversal correction process if the estimated end point is late.
  • a control device (1) according to another aspect of the present disclosure adjusts the amount of correction for each interpolation cycle so that integrated values of the amounts of correction in the inversion correction process match.
  • the servo control unit (140) notifies at least one of the acceleration when the direction of movement of a specified axis is reversed and the change in acceleration over a specified period of time after the reversal.
  • a computer-readable recording medium records a program that causes a computer to function as a program analysis unit (100) that analyzes a control program (200) that commands the operation of an industrial machine (3) and generates a movement command; an interpolation unit (110) that creates first movement command data for each interpolation period related to each axis of the industrial machine (3) based on the movement command; an inversion detection unit (120) that detects the timing at which the movement direction in a predetermined axis is reversed based on the first movement command data calculated by the interpolation unit (110); an acceleration/deceleration unit (130) that creates second movement command data by performing a predetermined acceleration/deceleration process on the first movement command data calculated by the interpolation unit (110); and a servo control unit (140) that controls a motor related to each axis of the industrial machine in accordance with the second movement command data, and the servo control unit (140) records a program that causes a computer to function as a program analysis unit (100) that analyzes
  • Reference Signs List 1 Control device 3 Industrial machine 4 Industrial machine 5 Network 6 Fog computer 7 Cloud server 11 CPU 12 ROM 13 RAM 14 Non-volatile memory 15, 18, 19, 20 Interface 16 PLC 17 I/O unit 22 Bus 30 Axis control circuit 40 Servo amplifier 50 Servo motor 60 Spindle control circuit 61 Spindle amplifier 62 Spindle motor 63 Position coder 70 Display device 71 Input device 72 External device 100 Program analysis section 110 Interpolation section 120 Reverse rotation detection section 130 Acceleration/deceleration section 140 Servo control section 200 Control program

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)

Abstract

In the present invention, inversion correction processing is performed without adding unnecessary delays in instructions or the like. A control device (1) according to the present disclosure is provided with: a program analysis unit (100) for analyzing a control program that instructs an industrial machine to operate and for generating a movement instruction; an interpolation unit (110) for, on the basis of the movement instruction, creating first movement instruction data of interpolation periods pertaining to respective axes of the industrial machine; an inversion detection unit (120) for detecting the timing at which a direction of movement in a predetermined axis inverts on the basis of the first movement instruction data calculated by the interpolation unit; an acceleration/deceleration unit (130) for creating second movement instruction data obtained by performing predetermined acceleration/deceleration processing on the first movement instruction data; and a servo control unit (140) for controlling a motor related to each of the axes of the industrial machine in conformity with the second movement instruction data. The servo control unit executes inversion correction processing on the second movement instruction data in accordance with the timing at which the direction of movement in the predetermined axis inverts as detected by the inversion detection unit.

Description

制御装置、及びコンピュータ読み取り可能な記録媒体Control device and computer-readable recording medium

 本開示は、制御装置、及びコンピュータ読み取り可能な記録媒体に関する。 This disclosure relates to a control device and a computer-readable recording medium.

 工作機械の送り軸の移動方向が変わる際に、摩擦力の方向が反転する。また、機構部のねじれ方向も反転する。この摩擦力の方向の反転やねじれ方向の反転の影響を排除しないと、送り軸の移動経路が指令経路から逸脱してしまう。この現象を補正する様々な方式が考案されてきている(例えば、特許文献1,2など)。 When the direction of movement of the feed axis of a machine tool changes, the direction of the frictional force reverses. The twisting direction of the mechanism also reverses. If the effects of this reversal in the direction of the frictional force and the reversal in the twisting direction are not eliminated, the movement path of the feed axis will deviate from the command path. Various methods have been devised to correct this phenomenon (for example, Patent Documents 1 and 2, etc.).

特開2012-093989号公報JP 2012-093989 A 特開平05-011824号公報Japanese Patent Application Publication No. 05-011824

 摩擦力の方向の反転やねじれ方向の反転の影響を考慮した補正をする場合、影響を最小限に抑えるためには、速度指令やトルク指令に対する補正を送り軸が実際に反転する少し前から始める必要がある。このため、送り軸の移動指令が反転することを事前に知る必要がある。例えば、送り軸の制御部への移動指令の伝達を一定時間遅延させ、遅延時間の中で先に反転検出して補正のタイミングを合わせる方法がある。また、モータの反転時刻より時間を繰り上げて反転補正指令を開始する方法がある。しかしながら、いずれの方法を取ったとしても、速度オーバライド変更や緊急停止要求への対応が必要以上に遅れるなど、様々な問題が生じることとなる。
 そこで、余計な指令の遅延などを加えることなく反転補正処理を行う技術が望まれている。
When making corrections that take into account the effects of reversals in the direction of friction or twist, in order to minimize the effects, it is necessary to start correcting the speed command or torque command a little before the feed axis actually reverses. For this reason, it is necessary to know in advance that the feed axis movement command will reverse. For example, there is a method of delaying the transmission of the movement command to the feed axis control unit for a certain amount of time, detecting the reversal earlier within the delay time, and adjusting the timing of the correction. There is also a method of starting the reversal correction command ahead of the time when the motor reverses. However, no matter which method is used, various problems will occur, such as unnecessary delays in responding to speed override changes and emergency stop requests.
Therefore, a technique for performing inversion correction processing without adding unnecessary command delays is desired.

 本開示による産業機械の制御装置は、各軸に適用される加減速処理の前で移動指令の反転検出と反転状態の判断を行うことで、指令の遅延を行うことなく上記課題を解決する。 The industrial machinery control device disclosed herein solves the above problem without delaying commands by detecting reversals of movement commands and determining the reversal state before the acceleration/deceleration processing applied to each axis.

 そして本開示の一態様は、産業機械の動作を指令する制御用プログラムを解析し、移動指令を生成するプログラム解析部と、前記移動指令に基づいて前記産業機械が備える各軸に係る補間周期毎の第1の移動指令データを作成する補間部と、前記補間部が算出した第1の移動指令データに基づいて、所定の軸における移動方向が反転するタイミングを検出する反転検出部と、前記補間部が算出した第1の移動指令データに対して所定の加減速処理を行った第2の移動指令データを作成する加減速部と、前記第2の移動指令データに従って前記産業機械の各軸に係るモータを制御するサーボ制御部と、を備え、前記サーボ制御部は、前記反転検出部が検出した所定の軸における移動方向が反転するタイミングに応じて、前記第2の移動指令データに対する反転補正処理を実行する、制御装置である。 An aspect of the present disclosure is a control device that includes a program analysis unit that analyzes a control program that commands the operation of an industrial machine and generates a movement command; an interpolation unit that creates first movement command data for each interpolation period related to each axis of the industrial machine based on the movement command; a reversal detection unit that detects the timing at which the movement direction in a predetermined axis is reversed based on the first movement command data calculated by the interpolation unit; an acceleration/deceleration unit that creates second movement command data by performing a predetermined acceleration/deceleration process on the first movement command data calculated by the interpolation unit; and a servo control unit that controls a motor related to each axis of the industrial machine in accordance with the second movement command data, and the servo control unit executes a reversal correction process on the second movement command data in accordance with the timing at which the movement direction in the predetermined axis detected by the reversal detection unit is reversed.

第1実施形態による制御装置の概略的なハードウェア構成図である。FIG. 2 is a schematic hardware configuration diagram of a control device according to the first embodiment. 第1実施形態による制御装置の概略的な機能を示すブロック図である。FIG. 2 is a block diagram showing schematic functions of a control device according to the first embodiment. 補間部が作成する所定の軸に係る移動指令データの例を示すグラフである。11 is a graph showing an example of movement command data related to a predetermined axis generated by an interpolation unit. 加減速部が作成する加減速処理を施した補間周期毎の移動指令データの例を示すグラフである。11 is a graph showing an example of movement command data for each interpolation period that has been subjected to acceleration/deceleration processing and that is created by an acceleration/deceleration unit. サーボ制御部が反転補正指令データを出力する例を示すグラフである。11 is a graph showing an example in which a servo control unit outputs inversion correction command data.

 以下、本発明の実施形態を図面と共に説明する。なお、以下の説明では、同一または類似の機能を有する構成に同一の符号を付す。そして、それら構成の重複する説明は、省略する場合がある。 Below, an embodiment of the present invention will be described with reference to the drawings. In the following description, components having the same or similar functions will be given the same reference numerals. Furthermore, duplicate descriptions of those components may be omitted.

 本願でいう「XXに基づく」とは、「少なくともXXに基づく」ことを意味し、XXに加えて別の要素に基づく場合も含む。また、「XXに基づく」とは、XXを直接に用いる場合に限定されず、XXに対して演算や加工が行われたものに基づく場合も含む。「XX」は、任意の要素(例えば、任意の情報)である。 In this application, "based on XX" means "based on at least XX," and includes cases where it is based on other elements in addition to XX. Furthermore, "based on XX" is not limited to cases where XX is used directly, but also includes cases where it is based on XX that has been calculated or processed. "XX" is any element (for example, any information).

[第1実施形態]
 図1は本発明の一実施形態による制御装置の要部を示す概略的なハードウェア構成図である。本発明の制御装置1は、モータが駆動することで移動する移動対象を備えた工作機械やロボットなどの産業機械を制御する制御装置として実装することができる。以下では、工具とワークとの相対位置を制御することでワークを加工する工作機械を制御する制御装置1を例として説明する。
[First embodiment]
1 is a schematic hardware configuration diagram showing the main parts of a control device according to an embodiment of the present invention. The control device 1 of the present invention can be implemented as a control device that controls industrial machines such as machine tools and robots that have moving objects that move when driven by a motor. In the following, the control device 1 that controls a machine tool that processes a workpiece by controlling the relative positions of a tool and a workpiece will be described as an example.

 本発明の制御装置1が備えるCPU11は、制御装置1を全体的に制御するプロセッサである。CPU11は、バス22を介してROM12に格納されたシステム・プログラムを読み出し、該システム・プログラムに従って制御装置1全体を制御する。RAM13には一時的な計算データや表示データ、及び外部から入力された各種データ等が一時的に格納される。 The CPU 11 provided in the control device 1 of the present invention is a processor that controls the entire control device 1. The CPU 11 reads the system program stored in the ROM 12 via the bus 22, and controls the entire control device 1 in accordance with the system program. The RAM 13 temporarily stores temporary calculation data, display data, and various data input from outside.

 不揮発性メモリ14は、例えば図示しないバッテリでバックアップされたメモリやSSD(Solid State Drive)等で構成され、制御装置1の電源がオフされても記憶状態が保持される。不揮発性メモリ14には、インタフェース15を介して外部機器72から読み込まれた制御用プログラムやデータ、入力装置71を介して入力されたデータや制御用プログラム、産業機械3から取得される各データ等が記憶される。不揮発性メモリ14に記憶された制御用プログラムやデータは、実行時/利用時にはRAM13に展開されても良い。また、ROM12には、公知の解析プログラムなどの各種システム・プログラムが予め書き込まれている。 The non-volatile memory 14 is composed of, for example, a memory backed up by a battery (not shown) or an SSD (Solid State Drive), and retains its memory state even when the power to the control device 1 is turned off. The non-volatile memory 14 stores control programs and data read from an external device 72 via the interface 15, data and control programs input via the input device 71, and various data acquired from the industrial machine 3. The control programs and data stored in the non-volatile memory 14 may be expanded in the RAM 13 when executed/used. In addition, various system programs such as well-known analysis programs are written in advance in the ROM 12.

 インタフェース15は、制御装置1のCPU11とUSBメモリ、コンパクトフラッシュ(登録商標)、SDカード等の外部機器72と接続するためのインタフェースである。外部機器72側からは、例えば産業機械3の制御に用いられる制御用プログラムや各種データ等を読み込むことができる。また、制御装置1内で編集した制御用プログラムや各種データ等は、外部機器72に対して記憶させることができる。PLC(プログラマブル・ロジック・コントローラ)16は、制御装置1に内蔵されたシーケンス・プログラムによって、産業機械3及び該産業機械3の周辺装置(例えば、工具交換装置や、ロボット等のアクチュエータ、産業機械3に取付けられているセンサ等)にI/Oユニット17を介して信号を出力し制御する。また、PLC16は、産業機械3の本体に配備された操作盤の各種スイッチや周辺装置等からの信号を受け、必要な信号処理をした後、CPU11に渡す。 The interface 15 is an interface for connecting the CPU 11 of the control device 1 to an external device 72 such as a USB memory, a Compact Flash (registered trademark), or an SD card. For example, control programs and various data used to control the industrial machine 3 can be read from the external device 72. In addition, the control programs and various data edited in the control device 1 can be stored in the external device 72. The PLC (Programmable Logic Controller) 16 outputs signals to the industrial machine 3 and its peripheral devices (for example, tool changers, actuators such as robots, sensors attached to the industrial machine 3, etc.) via the I/O unit 17 and controls them using a sequence program built into the control device 1. The PLC 16 also receives signals from various switches on an operation panel installed on the main body of the industrial machine 3 and from peripheral devices, etc., and passes them to the CPU 11 after performing the necessary signal processing.

 表示装置70には、メモリ上に読み込まれた各データ、制御用プログラムやシステム・プログラム等が実行された結果として得られたデータ等が、インタフェース18を介して出力されて表示される。また、キーボードやポインティングデバイス等から構成される入力装置71は、インタフェース19を介して作業者による操作に基づく指令,データ等をCPU11に渡す。 The display device 70 displays various data loaded into the memory, data obtained as a result of executing control programs and system programs, etc., output via the interface 18. In addition, the input device 71, which is composed of a keyboard, pointing device, etc., passes commands and data based on operations by the operator to the CPU 11 via the interface 19.

 インタフェース20は、制御装置1のCPU11と有線乃至無線のネットワーク5とを接続するためのインタフェースである。ネットワーク5は、例えばRS-485等のシリアル通信、Ethernet(登録商標)通信、光通信、無線LAN、Wi-Fi(登録商標)、Bluetooth(登録商標)等の技術を用いて通信をするものであってよい。ネットワーク5には、他の産業機械4、フォグコンピュータ6、クラウドサーバ7等が接続され、制御装置1との間で相互にデータのやり取りを行っている。 The interface 20 is an interface for connecting the CPU 11 of the control device 1 to a wired or wireless network 5. The network 5 may communicate using technologies such as serial communication such as RS-485, Ethernet (registered trademark), optical communication, wireless LAN, Wi-Fi (registered trademark), Bluetooth (registered trademark), etc. The network 5 is connected to other industrial machines 4, fog computers 6, cloud servers 7, etc., and exchanges data with the control device 1.

 産業機械3が備える駆動軸を制御するための軸制御回路30は、CPU11からの駆動軸の位置指令を受けて、該駆動軸に対する指令をサーボアンプ40に出力する。サーボアンプ40はこの指令を受けて駆動軸であるサーボモータ50を駆動し、産業機械3が備える各部をそれぞれの軸に沿って移動させる。それぞれのサーボモータ50は位置検出器を内蔵し、この位置検出器からの位置フィードバック信号を軸制御回路30にフィードバックする。軸制御回路30は、位置このフィードバック信号に基づいてサーボモータ50のフィードバック制御を行う。なお、図1のハードウェア構成図では、軸制御回路30、サーボアンプ40、サーボモータ50は1つずつしか示されていないが、実際には制御対象となる産業機械3に備えられた軸の数だけ用意される。例えば、一般的な直線3軸を備えた工作機械を制御する場合には、工具が取り付けられた主軸とワークとを直線3軸(X軸,Y軸,Z軸)方向に相対的に移動させる3組の軸制御回路30、サーボアンプ40、サーボモータ50が用意される。 The axis control circuit 30 for controlling the drive axis of the industrial machine 3 receives a drive axis position command from the CPU 11 and outputs a command for the drive axis to the servo amplifier 40. The servo amplifier 40 receives this command and drives the servo motor 50, which is the drive axis, to move each part of the industrial machine 3 along each axis. Each servo motor 50 has a built-in position detector, and feeds back a position feedback signal from this position detector to the axis control circuit 30. The axis control circuit 30 performs feedback control of the servo motor 50 based on this position feedback signal. Note that in the hardware configuration diagram of FIG. 1, only one axis control circuit 30, servo amplifier 40, and servo motor 50 are shown, but in reality, there are as many as the number of axes of the industrial machine 3 to be controlled. For example, when controlling a general machine tool with three linear axes, three sets of axis control circuits 30, servo amplifiers 40, and servo motors 50 are prepared to relatively move the spindle to which the tool is attached and the workpiece in the directions of the three linear axes (X-axis, Y-axis, and Z-axis).

 スピンドル制御回路60は、主軸回転指令を受け、スピンドルアンプ61にスピンドル速度信号を出力する。スピンドルアンプ61はこのスピンドル速度信号を受けて、産業機械3のスピンドルモータ62を指令された回転速度で回転させ、主軸を駆動する。スピンドルモータ62にはポジションコーダ63が結合されている。ポジションコーダ63が主軸の回転に同期して帰還パルスを出力し、その帰還パルスはCPU11によって読み取られる。 The spindle control circuit 60 receives a spindle rotation command and outputs a spindle speed signal to the spindle amplifier 61. The spindle amplifier 61 receives this spindle speed signal and rotates the spindle motor 62 of the industrial machine 3 at the commanded rotation speed to drive the spindle. A position coder 63 is connected to the spindle motor 62. The position coder 63 outputs a feedback pulse in synchronization with the rotation of the spindle, and the feedback pulse is read by the CPU 11.

 図2は、本開示の第1実施形態による制御装置1が備える機能を概略的なブロック図として示したものである。本実施形態による制御装置1が備える各機能は、図1に示した制御装置1が備えるCPU11がシステム・プログラムを実行し、制御装置1の各部の動作を制御することにより実現される。 FIG. 2 is a schematic block diagram showing the functions of the control device 1 according to the first embodiment of the present disclosure. Each function of the control device 1 according to this embodiment is realized by the CPU 11 of the control device 1 shown in FIG. 1 executing a system program and controlling the operation of each part of the control device 1.

 本実施形態の制御装置1は、プログラム解析部100、補間部110、反転検出部120、加減速部130、サーボ制御部140を備える。また、制御装置1のRAM13乃至不揮発性メモリ14には、産業機械3を制御するための制御用プログラム200が記憶される。 The control device 1 of this embodiment includes a program analysis unit 100, an interpolation unit 110, a reversal detection unit 120, an acceleration/deceleration unit 130, and a servo control unit 140. In addition, the RAM 13 to the non-volatile memory 14 of the control device 1 store a control program 200 for controlling the industrial machine 3.

 プログラム解析部100は、制御用プログラムのブロックを順次読み出し、読み出したブロックを解析する。そして、解析した結果に基づいて、産業機械3が備える駆動部を移動させる経路に係る移動指令を作成する。プログラム解析部100が作成する経路に係る移動指令は、例えば工具に係るオフセットなどを考慮したものになる。プログラム解析部100は、作成した移動指令を補間部110へと出力する。 The program analysis unit 100 sequentially reads out blocks of the control program and analyzes the read out blocks. Then, based on the analysis results, it creates a movement command related to a path for moving the drive unit equipped in the industrial machine 3. The movement command related to the path created by the program analysis unit 100 takes into account, for example, offsets related to tools. The program analysis unit 100 outputs the created movement command to the interpolation unit 110.

 補間部110は、プログラム解析部100が作成した移動指令に基づいて、産業機械3が備える軸毎の補間周期毎の移動量を算出する補間処理を行う。そして、軸毎の補間周期毎の移動量を示す移動指令データを作成する。補間部110は、作成した補間周期毎の移動指令データを反転検出部120及び加減速部130へと出力する。 The interpolation unit 110 performs an interpolation process to calculate the movement amount per interpolation period for each axis of the industrial machine 3 based on the movement command created by the program analysis unit 100. Then, it creates movement command data indicating the movement amount per interpolation period for each axis. The interpolation unit 110 outputs the created movement command data per interpolation period to the inversion detection unit 120 and the acceleration/deceleration unit 130.

 反転検出部120は、補間部110が作成した補間周期毎の移動指令データに基づいて、産業機械3が備える駆動部のそれぞれの軸に沿った移動の方向が反転することを検出する。反転検出部120は、所定の軸における移動方向が反転するタイミングをサーボ制御部140へと通知する。 The reversal detection unit 120 detects when the direction of movement along each axis of the drive unit of the industrial machine 3 is reversed, based on the movement command data for each interpolation cycle created by the interpolation unit 110. The reversal detection unit 120 notifies the servo control unit 140 of the timing when the direction of movement along a specific axis is reversed.

 加減速部130は、補間部110が作成した補間周期毎の移動指令データに対して補間周期毎の移動量を調整する補間後加減速処理を行う。加減速部130が行う補間後加減速処理は、補間周期毎の移動指令データに対して例えば平均値フィルタを掛けることで、移動指令データに基づく所定の軸に沿った駆動部の移動における一階微分値の大きさを抑制する。補間後加減速処理が施された移動指令データは、予め定められた所定の補間後加減速時定数の期間で加減速が行われるものとなる。加減速部130は、加減速処理を施した補間周期毎の移動指令データをサーボ制御部140へと出力する。 The acceleration/deceleration unit 130 performs post-interpolation acceleration/deceleration processing to adjust the amount of movement for each interpolation cycle for the movement command data for each interpolation cycle created by the interpolation unit 110. The post-interpolation acceleration/deceleration processing performed by the acceleration/deceleration unit 130 suppresses the magnitude of the first-order differential value in the movement of the drive unit along a specified axis based on the movement command data by, for example, applying an average filter to the movement command data for each interpolation cycle. The movement command data that has been subjected to post-interpolation acceleration/deceleration processing is accelerated and decelerated over a period of a predetermined post-interpolation acceleration/deceleration time constant. The acceleration/deceleration unit 130 outputs the movement command data for each interpolation cycle that has been subjected to acceleration/deceleration processing to the servo control unit 140.

 サーボ制御部140は、加減速部130から入力された補間周期毎の移動指令データに基づいて、産業機械3の駆動部が各軸に沿って移動するように各サーボモータ50を制御する。また、反転検出部120から所定の軸に沿った移動の方向が反転するタイミングの通知があった時、サーボ制御部140は、当該タイミングに応じて所定の軸に係る反転補正処理を開始する。反転補正処理は、サーボモータ50に対する移動指令データの出力と同時に反転補正指令データを出力する処理となる。この反転補正指令データは、速度指令を補正するものであってよい。また、トルク指令を補正するものであってもよい。なお、反転補正指令データの補正量については、産業機械3の構成や軸に用いる部材の構造などによって異なるため、予め実験などを行い適切な補正量を求めておけばよい。工作機械では反転補正の効果を真円精度で確認されているため、送り軸2軸に対して1周もしくは数周の円指令を行い、これに繰り返し制御を適用して位置偏差が収束した後の制御データから反転補正量を算出する方法もある。 The servo control unit 140 controls each servo motor 50 so that the driving unit of the industrial machine 3 moves along each axis based on the movement command data for each interpolation period input from the acceleration/deceleration unit 130. When the reversal detection unit 120 notifies the timing of the reversal of the direction of movement along a specific axis, the servo control unit 140 starts the reversal correction process for the specific axis according to that timing. The reversal correction process is a process of outputting the reversal correction command data at the same time as outputting the movement command data to the servo motor 50. This reversal correction command data may correct the speed command. It may also correct the torque command. Note that the correction amount of the reversal correction command data differs depending on the configuration of the industrial machine 3 and the structure of the members used for the axes, so an appropriate correction amount can be obtained by conducting experiments in advance. In machine tools, the effect of the reversal correction has been confirmed by the accuracy of the circular shape, so there is also a method of issuing a circular command for one or several revolutions for two feed axes, applying repetitive control to this, and calculating the reversal correction amount from the control data after the position deviation has converged.

 以下では、図3~図5を用いて、反転検出部120が所定の軸の移動方向が反転することを検出してから、サーボ制御部140が反転補正指令データを出力するまでの動作を説明する。
 図3は、補間部110が作成する所定の軸に係る移動指令データの例を示すグラフである。図3では、棒グラフの白棒で補間周期毎の移動指令データを示している。白棒の高さはその補間周期における移動量を示している。図3の例では、補間周期Titp毎に移動指令データが作成されている。時刻tn以前は、補間周期Titp毎に移動量Litpだけ移動するように移動指令データが作成されている。また、時刻tn以降は、補間周期Titp毎に移動量-Litpだけ移動するように移動指令データが作成されている。このような移動指令データが作成された場合、反転検出部120は、時刻tnの時点で所定の軸における移動方向が反転することを検出する。
The operation from when the reversal detection unit 120 detects that the moving direction of a predetermined axis is reversed to when the servo control unit 140 outputs the reversal correction command data will be described below with reference to FIGS.
FIG. 3 is a graph showing an example of movement command data for a predetermined axis created by the interpolation unit 110. In FIG. 3, the movement command data for each interpolation cycle is represented by a white bar in the bar graph. The height of the white bar represents the movement amount in that interpolation cycle. In the example of FIG. 3, movement command data is created for each interpolation cycle T itp . Before time t n , movement command data is created so as to move by a movement amount L itp for each interpolation cycle T itp . Furthermore, after time t n , movement command data is created so as to move by a movement amount -L itp for each interpolation cycle T itp . When such movement command data is created, the reversal detection unit 120 detects that the movement direction in the predetermined axis is reversed at time t n .

 図4は、加減速部130が作成する加減速処理を施した補間周期毎の移動指令データの例を示すグラフである。図4の移動指令データは、図3に例示した移動指令データに対して補間後加減速処理を施したものである。図4の例では、時刻tn前後の移動指令データに平均値フィルタを掛けることで、補間後加減速時定数τの時間を掛けて減速し、その後移動方向が反転している。補間周期における移動量が0になるのは時刻tpである。実際の軸に係る移動方向が反転するのは、この時刻tpの時点である。 Fig. 4 is a graph showing an example of the movement command data for each interpolation period that has been subjected to acceleration/deceleration processing created by the acceleration/deceleration unit 130. The movement command data in Fig. 4 is obtained by performing post-interpolation acceleration/deceleration processing on the movement command data exemplified in Fig. 3. In the example of Fig. 4, the movement command data around time tn is filtered using an average value, so that the speed is decelerated over a period of time equal to the post-interpolation acceleration/deceleration time constant τ, and then the movement direction is reversed. The movement amount in the interpolation period becomes 0 at time tp . It is at this time tp that the movement direction related to the actual axis is reversed.

 図5は、サーボ制御部140が反転補正指令データを出力する例を示すグラフである。図5では、棒グラフの黒棒で反転補正指令データを示している。サーボ制御部140は、補間部110が作成した移動指令データにおいて時刻tnの時点で所定の軸の移動方向が反転する旨を反転検出部120から通知されている。そして、加減速部130による加減速処理の結果、実際に軸が反転するのは時刻tpの時点である。サーボ制御部140は、時刻tnから時刻tpまで期間を反転補正処理開始期間Ticpとして推定する。反転補正処理開始期間Ticpは、移動方向が反転する前後で加速度(減速度)が一定であると仮定すればτ/2となる。サーボ制御部140は、時刻tnから反転補正処理開始期間Ticpの間のいずれかの時点において反転補正処理を開始する。反転補正処理を開始するタイミングについては、あらかじめ実験などにより加減速処理後に実際に軸が反転する時刻tpのどのくらい前から反転補正処理を開始すればよいのかを求めておけばよい。例えば、事前に反転時の位置偏差が最も小さくなるタイミングを実験などで調べておけばよい。位置偏差が最も小さくなるタイミングは反転時の加速度が上がるにつれて時刻tpに近づいていく為、反転時の加速度が異なる複数の条件でタイミングを調べ、反転時の加速度に応じて異なる条件毎に反転補正処理の開始タイミングを求めておいてもよい。例えば、移動方向の反転時の加速度や、移動方向の反転時の加速度の平方根に比例するように、加速開始タイミングを定めてもよい。サーボ制御部140は、移動指令データを考慮した反転補正指令データを作成し、速度指令として移動指令データに重畳させてサーボモータ50の速度を制御する。図5では、反転補正指令データの速度指令を補間周期毎の補正量として示している。 FIG. 5 is a graph showing an example of the servo control unit 140 outputting the inversion correction command data. In FIG. 5, the inversion correction command data is shown by black bars in the bar graph. The servo control unit 140 is notified by the inversion detection unit 120 that the movement direction of a specific axis will be inverted at time t n in the movement command data created by the interpolation unit 110. Then, as a result of the acceleration/deceleration process by the acceleration/deceleration unit 130, the axis actually inverts at time t p . The servo control unit 140 estimates the period from time t n to time t p as the inversion correction process start period T icp . If it is assumed that the acceleration (deceleration) is constant before and after the movement direction is inverted, the inversion correction process start period T icp is τ/2. The servo control unit 140 starts the inversion correction process at any time between time t n and the inversion correction process start period T icp . As for the timing to start the inversion correction process, it is sufficient to determine in advance by experiment or the like how long before the time t p when the axis actually inverts after the acceleration/deceleration process, the inversion correction process should be started. For example, the timing at which the position deviation at the time of reversal is smallest may be examined in advance by an experiment or the like. Since the timing at which the position deviation is smallest approaches time tp as the acceleration at the time of reversal increases, the timing may be examined under a plurality of conditions with different accelerations at the time of reversal, and the start timing of the reversal correction process may be obtained for each of the different conditions according to the acceleration at the time of reversal. For example, the acceleration start timing may be determined so as to be proportional to the acceleration at the time of reversal of the moving direction or the square root of the acceleration at the time of reversal of the moving direction. The servo control unit 140 creates reversal correction command data taking into account the movement command data, and superimposes the data on the movement command data as a speed command to control the speed of the servo motor 50. In FIG. 5, the speed command of the reversal correction command data is shown as a correction amount for each interpolation period.

 上記構成を備えた本実施形態による制御装置1は、通常各軸に適用される加減速処理の前で移動指令の反転検出と反転状態の判断を行うことで、この加減速処理による遅延を利用して、大きな移動指令のバッファを追加すること無く、反転時の補正を反転時の少し前から行えるようになり、反転時の位置偏差が低減する。 The control device 1 according to this embodiment, which is configured as described above, detects reversals of movement commands and determines the reversal state before the acceleration/deceleration processing normally applied to each axis. By taking advantage of the delay caused by this acceleration/deceleration processing, corrections can be made slightly before reversals occur without adding a large buffer for movement commands, thereby reducing position deviations during reversals.

 本実施形態による制御装置1の一変形例として、サーボ制御部140は、所定の軸に係る移動方向が反転する前後の加速度(減速度)に応じて、反転補正処理開始期間Ticpの推定値を増減するようにしてよい。その為に、反転検出部120はサーボ制御部140に対して、実際に軸に係る移動方向が反転した時に、反転時の加速度及び反転後の加速度、もしくは反転してから予め定めた所定の時間、加速度の推移を通知するようにしてよい。移動方向の反転前後の指令速度が異なる場合、加減速部130で補間指令毎の移動指令データに平均化フィルタを掛けると、移動量が0になるまでの期間は単純にτ/2にはならない。例えば移動方向の反転後の指令速度が大きい場合には、加減速処理後の移動指令データにおいて移動量が0になるまでの期間はτ/2よりも長くなる。また、移動方向の反転後の指令速度が小さい場合には、加減速処理後の移動指令データにおいて移動量が0になるまでの期間はτ/2よりも短くなる。そこで、サーボ制御部140は、所定の軸に係る移動方向が反転する後の加速度(減速度)が前の加速度(減速度)よりも大きい場合には、反転補正処理開始期間Ticpをτ/2よりも小さく推定し、小さい場合には、反転補正処理開始期間Ticpをτ/2よりも小さく推定する。例えば、以下に示す数1式で反転補正処理開始期間Ticpを推定すればよい。なお、数1式においてτは補間後加減速時定数、Aは反転前の加速度を反転後の加速度で除算した値の平方根である。反転前後の加速度については、補間部110が作成した移動指令データの反転前後の移動量の推移と、加減速部130が用いている加減速処理のアルゴリズムに基づいて、適宜算出するようにすればよい。このように構成することで、適切なタイミングで反転補正処理を開始することができるようになる。 As a modified example of the control device 1 according to the present embodiment, the servo control unit 140 may increase or decrease the estimated value of the inversion correction process start period T icp according to the acceleration (deceleration) before and after the movement direction of a predetermined axis is reversed. For this purpose, the inversion detection unit 120 may notify the servo control unit 140 of the acceleration at the time of inversion and the acceleration after inversion, or the transition of the acceleration for a predetermined time after inversion, when the command speed before and after the inversion of the movement direction is different, if the acceleration/deceleration unit 130 applies an averaging filter to the movement command data for each interpolation command, the period until the movement amount becomes 0 is not simply τ/2. For example, when the command speed after the inversion of the movement direction is large, the period until the movement amount becomes 0 in the movement command data after the acceleration/deceleration process is longer than τ/2. Also, when the command speed after the inversion of the movement direction is small, the period until the movement amount becomes 0 in the movement command data after the acceleration/deceleration process is shorter than τ/2. Therefore, the servo control unit 140 estimates the inversion correction process start period T icp to be smaller than τ/2 when the acceleration (deceleration) after the movement direction of a predetermined axis is reversed is larger than the previous acceleration (deceleration), and estimates the inversion correction process start period T icp to be smaller than τ/2 when the acceleration (deceleration) is smaller. For example, the inversion correction process start period T icp may be estimated by the following formula 1. In formula 1, τ is the post-interpolation acceleration/deceleration time constant, and A is the square root of the value obtained by dividing the acceleration before the reversal by the acceleration after the reversal. The acceleration before and after the reversal may be calculated appropriately based on the transition of the movement amount before and after the reversal of the movement command data created by the interpolation unit 110 and the algorithm of the acceleration/deceleration process used by the acceleration/deceleration unit 130. By configuring in this way, it becomes possible to start the inversion correction process at an appropriate timing.

Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000002

 本実施形態による制御装置1の他の変形例として、サーボ制御部140は、反転検出部120から通知された所定の軸に沿った移動の方向が反転するタイミング以降において補間部110が作成した移動指令データの推移を観測し、加速度が増減する場合に反転タイミングを再計算するようにしてもよい。この時、補間部110が作成した移動指令データにおける補間周期毎の移動量が所定の値になってから、補間後加減速後の速度が所定の値になるまでの時間を1点、もしくは複数点計測し、計測した時間に基づいて、反転タイミングを算出するようにすればよい。 As another variation of the control device 1 according to this embodiment, the servo control unit 140 may observe the progress of the movement command data created by the interpolation unit 110 after the timing at which the direction of movement along a specified axis notified by the reversal detection unit 120 is reversed, and recalculate the reversal timing if the acceleration increases or decreases. At this time, the time from when the movement amount per interpolation period in the movement command data created by the interpolation unit 110 becomes a specified value until the speed after acceleration/deceleration after interpolation becomes a specified value may be measured at one or more points, and the reversal timing may be calculated based on the measured time.

 本実施形態による制御装置1の他の変形例として、サーボ制御部140は、加減速部130による加減速処理後の移動指令データにおける所定の軸の移動方向の反転するタイミングが、推定した反転補正処理開始期間Ticpの終了時点からずれた場合に、反転補正指令データの補間周期毎の補正量を修正してもよい。例えば、推定した反転補正処理開始期間Ticpの終了時点よりも実際の反転するタイミングが遅かった場合には、反転補正指令データによる補間周期毎の補正量を下げ、また、実際の反転するタイミングが早かった場合には、反転補正指令データによる補間周期毎の補正量を上げるようにすればよい。この時、反転補正指令データによる補正量の積算値は一致するように調整する。このように構成することで、推定した反転タイミングと実際の反転タイミングがずれた場合においても、適切な反転補正処理を実行することができるようになる。 As another modification of the control device 1 according to the present embodiment, the servo control unit 140 may correct the correction amount for each interpolation period of the inversion correction command data when the timing of reversal of the movement direction of a predetermined axis in the movement command data after the acceleration/deceleration process by the acceleration/deceleration unit 130 deviates from the end point of the estimated inversion correction process start period T icp . For example, if the actual inversion timing is later than the end point of the estimated inversion correction process start period T icp , the correction amount for each interpolation period by the inversion correction command data may be reduced, and if the actual inversion timing is earlier, the correction amount for each interpolation period by the inversion correction command data may be increased. At this time, the integrated value of the correction amount by the inversion correction command data is adjusted so as to match. By configuring in this way, it becomes possible to execute an appropriate inversion correction process even if the estimated inversion timing and the actual inversion timing are deviated.

 以上、本開示の実施形態について詳述したが、本開示は上述した個々の実施形態に限定されるものではない。これらの実施形態は、発明の要旨を逸脱しない範囲で、または、請求の範囲に記載された内容とその均等物から導き出される本開示の思想および趣旨を逸脱しない範囲で、種々の追加、置き換え、変更、部分的削除等が可能である。例えば、上述した実施形態において、各動作の順序や各処理の順序は、一例として示したものであり、これらに限定されるものではない。また、上述した実施形態の説明に数値又は数式が用いられている場合も同様である。 Although the embodiments of the present disclosure have been described in detail above, the present disclosure is not limited to the individual embodiments described above. Various additions, substitutions, modifications, partial deletions, etc. are possible in these embodiments, without departing from the gist of the invention, or without departing from the idea and intent of the present disclosure derived from the contents described in the claims and their equivalents. For example, in the above-mentioned embodiments, the order of each operation and the order of each process are shown as examples, and are not limited to these. The same applies when numerical values or formulas are used in the explanation of the above-mentioned embodiments.

 以下に、本開示の実施形態に係る付記を示す。
(付記1)
 本開示の一態様による制御装置(1)は、産業機械(3)の動作を指令する制御用プログラム(200)を解析し、移動指令を生成するプログラム解析部(100)と、前記移動指令に基づいて前記産業機械(3)が備える各軸に係る補間周期毎の第1の移動指令データを作成する補間部(110)と、前記補間部(110)が算出した第1の移動指令データに基づいて、所定の軸における移動方向が反転するタイミングを検出する反転検出部(120)と、前記補間部(110)が算出した第1の移動指令データに対して所定の加減速処理を行った第2の移動指令データを作成する加減速部(130)と、前記第2の移動指令データに従って前記産業機械の各軸に係るモータを制御するサーボ制御部(140)と、を備え、前記サーボ制御部(140)は、前記反転検出部(120)が検出した所定の軸における移動方向が反転するタイミングに応じて、前記第2の移動指令データに対する反転補正処理を実行する。
Below, notes relating to the embodiments of the present disclosure are provided.
(Appendix 1)
A control device (1) according to one aspect of the present disclosure includes a program analysis unit (100) that analyzes a control program (200) that commands the operation of an industrial machine (3) and generates a movement command; an interpolation unit (110) that creates first movement command data for each interpolation period related to each axis of the industrial machine (3) based on the movement command; an inversion detection unit (120) that detects a timing at which a movement direction in a predetermined axis is reversed based on the first movement command data calculated by the interpolation unit (110); an acceleration/deceleration unit (130) that creates second movement command data by performing a predetermined acceleration/deceleration process on the first movement command data calculated by the interpolation unit (110); and a servo control unit (140) that controls a motor related to each axis of the industrial machine in accordance with the second movement command data, and the servo control unit (140) executes an inversion correction process on the second movement command data in accordance with the timing at which the movement direction in the predetermined axis detected by the inversion detection unit (120) is reversed.

(付記2)
 本開示の他の態様による制御装置(1)は、前記サーボ制御部(140)は、前記反転検出部(120)が検出した所定の軸における移動方向が反転するタイミングから、前記第2の移動指令データにおいて所定の軸における移動方向が反転するまでの反転処理開始期間において反転補正処理を開始する。
(付記3)
 本開示の他の態様による制御装置(1)は、前記サーボ制御部(140)は、前記反転処理開始期間を当該軸に設定されている補間後加減速時定数の半分の時間であると推定する。
(付記4)
 本開示の他の態様による制御装置(1)は、前記サーボ制御部(140)は、所定の軸における移動方向が反転するタイミングの前後で加速度が異なる場合、前記反転処理開始期間の推定値を反転前後の加速度に応じて増減する。
(付記5)
 本開示の他の態様による制御装置(1)は、前記サーボ制御部(140)は、所定の軸における移動方向が反転するタイミングの前の加速度に対して反転後の加速度が下がる場合には前記反転処理開始期間を補間後加減速時定数の半分の時間よりも長く推定し、反転後の加速度が上がる場合には前記反転処理開始期間を補間後加減速時定数の半分の時間よりも短く推定する。
(Appendix 2)
In a control device (1) according to another aspect of the present disclosure, the servo control unit (140) starts an inversion correction process during an inversion process start period from the timing at which the movement direction in a specified axis detected by the inversion detection unit (120) is reversed to the timing at which the movement direction in the specified axis is reversed in the second movement command data.
(Appendix 3)
In a control device (1) according to another aspect of the present disclosure, the servo control unit (140) estimates the inversion process start period to be half the time of the post-interpolation acceleration/deceleration time constant set for the axis.
(Appendix 4)
In a control device (1) according to another aspect of the present disclosure, when the acceleration differs before and after the timing at which the direction of movement on a specified axis is reversed, the servo control unit (140) increases or decreases the estimated value of the reversal processing start period in accordance with the acceleration before and after the reversal.
(Appendix 5)
In a control device (1) according to another aspect of the present disclosure, the servo control unit (140) estimates the inversion processing start period to be longer than half the post-interpolation acceleration/deceleration time constant when the acceleration after reversal decreases compared to the acceleration before the timing at which the movement direction on a specified axis is reversed, and estimates the inversion processing start period to be shorter than half the post-interpolation acceleration/deceleration time constant when the acceleration after reversal increases.

(付記6)
 本開示の他の態様による制御装置(1)は、前記サーボ制御部(140)は、以下の数1式を用いて前記反転処理開始期間を推定する。

Figure JPOXMLDOC01-appb-M000003
ただし、Ticpは反転補正処理開始期間、τは補間後加減速時定数、Aは反転前の加速度を反転後の加速度で除算した値の平方根を示す。
(付記7)
 本開示の他の態様による制御装置(1)は、前記サーボ制御部(140)は、移動方向が反転する後の前記第1の移動指令データの推移を観測し、前記第1の移動指令データの推移に基づいて、反転タイミングを再計算する。
(付記8)
 本開示の他の態様による制御装置(1)は、前記サーボ制御部(140)は、減速時に補間後加減速前の速度が所定の値になってから、補間後加減速後の速度が所定の値になるまでの時間を1点、もしくは複数点計測し、反転タイミングの再計算に利用する。
(付記9)
 本開示の他の態様による制御装置(1)は、前記サーボ制御部(140)は、前記第2の移動指令データにおける所定の軸の移動方向が反転するタイミングから予め定めた所定の時間先行して反転補正処理を開始する。 (Appendix 6)
In a control device (1) according to another aspect of the present disclosure, the servo control unit (140) estimates the inversion process start period using the following formula 1.
Figure JPOXMLDOC01-appb-M000003
where Ticp is the inversion correction process start period, τ is the post-interpolation acceleration/deceleration time constant, and A is the square root of the value obtained by dividing the acceleration before inversion by the acceleration after inversion.
(Appendix 7)
In a control device (1) according to another aspect of the present disclosure, the servo control unit (140) observes the transition of the first movement command data after the movement direction is reversed, and recalculates the reversal timing based on the transition of the first movement command data.
(Appendix 8)
In a control device (1) according to another aspect of the present disclosure, the servo control unit (140) measures the time from when the speed before post-interpolation acceleration/deceleration becomes a predetermined value during deceleration until when the speed after post-interpolation acceleration/deceleration becomes a predetermined value at one or more points, and uses the measured time to recalculate the reversal timing.
(Appendix 9)
In a control device (1) according to another aspect of the present disclosure, the servo control unit (140) starts an inversion correction process a predetermined time prior to the timing at which the movement direction of a specified axis in the second movement command data is reversed.

(付記10)
 本開示の他の態様による制御装置(1)は、前記所定の時間は、反転時の位置偏差が最も小さくなるように定める。
(付記11)
 本開示の他の態様による制御装置(1)は、前記所定の時間は、反転時の加速度が異なる複数の条件により定めたものであり、反転時の所定の軸の加速度又は該加速度の平方根に比例するように定める。
(付記12)
 本開示の他の態様による制御装置(1)は、前記第2の移動指令データにおける所定の軸の移動方向が反転するタイミングが、推定した前記反転処理開始期間の終了時点とずれた場合、推定した終了時点が早かった場合には前記反転補正処理における補間周期毎の補正量を下げ、遅かった場合には前記反転補正処理における補間周期毎の補正量を上げる調整を行う。
(付記13)
 本開示の他の態様による制御装置(1)は、前記補正量の調整は、前記反転補正処理における補正量の積算値が一致するように、補間周期毎の補正量の大きさを調節する。
(付記14)
 本開示の他の態様による制御装置(1)は、前記サーボ制御部(140)は、所定の軸の移動方向が反転した時の加速度及び反転後の所定時間の加速度の推移の少なくともいずれかを通知する。
(Appendix 10)
A control device (1) according to another aspect of the present disclosure determines the predetermined time period so that the position deviation during reversal is minimized.
(Appendix 11)
In a control device (1) according to another aspect of the present disclosure, the specified time is determined based on a plurality of conditions in which the acceleration at the time of reversal is different, and is determined so as to be proportional to the acceleration of a specified axis at the time of reversal or the square root of that acceleration.
(Appendix 12)
A control device (1) according to another aspect of the present disclosure adjusts, when the timing at which the movement direction of a specified axis in the second movement command data is reversed deviates from the estimated end point of the reversal processing start period, to decrease the correction amount for each interpolation period in the reversal correction process if the estimated end point is early, or to increase the correction amount for each interpolation period in the reversal correction process if the estimated end point is late.
(Appendix 13)
A control device (1) according to another aspect of the present disclosure adjusts the amount of correction for each interpolation cycle so that integrated values of the amounts of correction in the inversion correction process match.
(Appendix 14)
In a control device (1) according to another aspect of the present disclosure, the servo control unit (140) notifies at least one of the acceleration when the direction of movement of a specified axis is reversed and the change in acceleration over a specified period of time after the reversal.

(付記15)
 本開示の一態様によるコンピュータ読み取り可能な記録媒体は、産業機械(3)の動作を指令する制御用プログラム(200)を解析し、移動指令を生成するプログラム解析部(100)、前記移動指令に基づいて前記産業機械(3)が備える各軸に係る補間周期毎の第1の移動指令データを作成する補間部(110)、前記補間部(110)が算出した第1の移動指令データに基づいて、所定の軸における移動方向が反転するタイミングを検出する反転検出部(120)、前記補間部(110)が算出した第1の移動指令データに対して所定の加減速処理を行った第2の移動指令データを作成する加減速部(130)、前記第2の移動指令データに従って前記産業機械の各軸に係るモータを制御するサーボ制御部(140)、としてコンピュータを機能させ、前記サーボ制御部(140)は、前記反転検出部(120)が検出した所定の軸における移動方向が反転するタイミングに応じて、前記第2の移動指令データに対する反転補正処理を実行する、プログラムを記録する。
(Appendix 15)
A computer-readable recording medium according to one aspect of the present disclosure records a program that causes a computer to function as a program analysis unit (100) that analyzes a control program (200) that commands the operation of an industrial machine (3) and generates a movement command; an interpolation unit (110) that creates first movement command data for each interpolation period related to each axis of the industrial machine (3) based on the movement command; an inversion detection unit (120) that detects the timing at which the movement direction in a predetermined axis is reversed based on the first movement command data calculated by the interpolation unit (110); an acceleration/deceleration unit (130) that creates second movement command data by performing a predetermined acceleration/deceleration process on the first movement command data calculated by the interpolation unit (110); and a servo control unit (140) that controls a motor related to each axis of the industrial machine in accordance with the second movement command data, and the servo control unit (140) records a program that causes a computer to function as: a program analysis unit (100) that analyzes a control program (200) that commands the operation of an industrial machine (3) and generates a movement command;

   1 制御装置
   3 産業機械
   4 産業機械
   5 ネットワーク
   6 フォグコンピュータ
   7 クラウドサーバ
  11 CPU
  12 ROM
  13 RAM
  14 不揮発性メモリ
  15,18,19,20 インタフェース
  16 PLC
  17 I/Oユニット
  22 バス
  30 軸制御回路
  40 サーボアンプ
  50 サーボモータ
  60 スピンドル制御回路
  61 スピンドルアンプ
  62 スピンドルモータ
  63 ポジションコーダ
  70 表示装置
  71 入力装置
  72 外部機器
 100 プログラム解析部
 110 補間部
 120 反転検出部
 130 加減速部
 140 サーボ制御部
 200 制御用プログラム
Reference Signs List 1 Control device 3 Industrial machine 4 Industrial machine 5 Network 6 Fog computer 7 Cloud server 11 CPU
12 ROM
13 RAM
14 Non-volatile memory 15, 18, 19, 20 Interface 16 PLC
17 I/O unit 22 Bus 30 Axis control circuit 40 Servo amplifier 50 Servo motor 60 Spindle control circuit 61 Spindle amplifier 62 Spindle motor 63 Position coder 70 Display device 71 Input device 72 External device 100 Program analysis section 110 Interpolation section 120 Reverse rotation detection section 130 Acceleration/deceleration section 140 Servo control section 200 Control program

Claims (15)

 産業機械の動作を指令する制御用プログラムを解析し、移動指令を生成するプログラム解析部と、
 前記移動指令に基づいて前記産業機械が備える各軸に係る補間周期毎の第1の移動指令データを作成する補間部と、
 前記補間部が算出した第1の移動指令データに基づいて、所定の軸における移動方向が反転するタイミングを検出する反転検出部と、
 前記補間部が算出した第1の移動指令データに対して所定の加減速処理を行った第2の移動指令データを作成する加減速部と、
 前記第2の移動指令データに従って前記産業機械の各軸に係るモータを制御するサーボ制御部と、
を備え、
 前記サーボ制御部は、前記反転検出部が検出した所定の軸における移動方向が反転するタイミングに応じて、前記第2の移動指令データに対する反転補正処理を実行する、
制御装置。
a program analysis unit that analyzes a control program that commands the operation of the industrial machine and generates a movement command;
an interpolation unit that creates first move command data for each interpolation period for each axis of the industrial machine based on the move command;
an inversion detection unit that detects a timing at which a movement direction in a predetermined axis is inverted based on the first movement command data calculated by the interpolation unit;
an acceleration/deceleration unit that generates second movement command data by performing a predetermined acceleration/deceleration process on the first movement command data calculated by the interpolation unit;
a servo control unit that controls a motor associated with each axis of the industrial machine in accordance with the second movement command data;
Equipped with
the servo control unit executes an inversion correction process for the second movement command data in response to a timing at which the movement direction in the predetermined axis detected by the inversion detection unit is inverted.
Control device.
 前記サーボ制御部は、前記反転検出部が検出した所定の軸における移動方向が反転するタイミングから、前記第2の移動指令データにおいて所定の軸における移動方向が反転するまでの反転処理開始期間において反転補正処理を開始する、
請求項1に記載の制御装置。
the servo control unit starts an inversion correction process during an inversion process start period from a timing at which the movement direction in the predetermined axis detected by the inversion detection unit is inverted to a timing at which the movement direction in the predetermined axis is inverted in the second movement command data.
The control device according to claim 1 .
 前記サーボ制御部は、前記反転処理開始期間を当該軸に設定されている補間後加減速時定数の半分の時間であると推定する、
請求項2に記載の制御装置。
The servo control unit estimates the inversion process start period to be half the time of a post-interpolation acceleration/deceleration time constant set for the axis.
The control device according to claim 2.
 前記サーボ制御部は、所定の軸における移動方向が反転するタイミングの前後で加速度が異なる場合、前記反転処理開始期間の推定値を反転前後の加速度に応じて増減する、
請求項2に記載の制御装置。
When the acceleration is different before and after the timing when the moving direction in a predetermined axis is reversed, the servo control unit increases or decreases the estimated value of the reversal process start period according to the acceleration before and after the reversal.
The control device according to claim 2.
 前記サーボ制御部は、所定の軸における移動方向が反転するタイミングの前の加速度に対して反転後の加速度が下がる場合には前記反転処理開始期間を補間後加減速時定数の半分の時間よりも長く推定し、反転後の加速度が上がる場合には前記反転処理開始期間を補間後加減速時定数の半分の時間よりも短く推定する、
請求項4に記載の制御装置。
the servo control unit estimates the inversion process start period to be longer than half the time of the post-interpolation acceleration/deceleration time constant when the acceleration after the reversal decreases compared to the acceleration before the timing of the reversal of the moving direction on a predetermined axis, and estimates the inversion process start period to be shorter than half the time of the post-interpolation acceleration/deceleration time constant when the acceleration after the reversal increases.
The control device according to claim 4.
 前記サーボ制御部は、以下の数1式を用いて前記反転処理開始期間を推定する、
請求項5記載の制御装置。
Figure JPOXMLDOC01-appb-M000001
ただし、Ticpは反転補正処理開始期間、τは補間後加減速時定数、Aは反転前の加速度を反転後の加速度で除算した値の平方根を示す。
The servo control unit estimates the inversion process start period using the following formula 1:
The control device according to claim 5.
Figure JPOXMLDOC01-appb-M000001
where T icp is the inversion correction processing start period, τ is the post-interpolation acceleration/deceleration time constant, and A is the square root of the value obtained by dividing the acceleration before inversion by the acceleration after inversion.
 前記サーボ制御部は、移動方向が反転する後の前記第1の移動指令データの推移を観測し、前記第1の移動指令データの推移に基づいて、反転タイミングを再計算する、
請求項3~6のいずれか1つに記載の制御装置。
the servo control unit observes a transition of the first movement command data after the movement direction is reversed, and recalculates a reversal timing based on the transition of the first movement command data.
The control device according to any one of claims 3 to 6.
 前記サーボ制御部は、減速時に補間後加減速前の速度が所定の値になってから、補間後加減速後の速度が所定の値になるまでの時間を1点、もしくは複数点計測し、反転タイミングの再計算に利用する、
請求項7に記載の制御装置。
The servo control unit measures a time from when the speed before the post-interpolation acceleration/deceleration becomes a predetermined value during deceleration until when the speed after the post-interpolation acceleration/deceleration becomes a predetermined value at one point or at multiple points, and uses the time to recalculate the reversal timing.
The control device according to claim 7.
 前記サーボ制御部は、前記第2の移動指令データにおける所定の軸の移動方向が反転するタイミングから予め定めた所定の時間先行して反転補正処理を開始する、
請求項1に記載の制御装置。
the servo control unit starts an inversion correction process a predetermined time prior to a timing at which a movement direction of a predetermined axis in the second movement command data is reversed.
The control device according to claim 1 .
 前記所定の時間は、反転時の位置偏差が最も小さくなるように定める、
請求項9に記載の制御装置。
The predetermined time is determined so as to minimize the position deviation during reversal.
The control device according to claim 9.
 前記所定の時間は、反転時の加速度が異なる複数の条件により定めたものであり、反転時の所定の軸の加速度又は該加速度の平方根に比例するように定める、
請求項9に記載の制御装置。
The predetermined time is determined based on a plurality of conditions having different accelerations at the time of reversal, and is determined to be proportional to the acceleration of a predetermined axis at the time of reversal or the square root of the acceleration.
The control device according to claim 9.
 前記第2の移動指令データにおける所定の軸の移動方向が反転するタイミングが、推定した前記反転処理開始期間の終了時点とずれた場合、推定した終了時点が早かった場合には前記反転補正処理における補間周期毎の補正量を下げ、遅かった場合には前記反転補正処理における補間周期毎の補正量を上げる調整を行う、
請求項3~6のいずれか1つに記載の制御装置。
When the timing at which the movement direction of the predetermined axis in the second movement command data is reversed differs from the estimated end point of the reversal process start period, an adjustment is made to reduce the amount of correction for each interpolation period in the reversal correction process if the estimated end point is early, and to increase the amount of correction for each interpolation period in the reversal correction process if the estimated end point is late.
The control device according to any one of claims 3 to 6.
 前記補正量の調整は、前記反転補正処理における補正量の積算値が一致するように、補間周期毎の補正量の大きさを調節する、
請求項12に記載の制御装置。
The adjustment of the correction amount includes adjusting the magnitude of the correction amount for each interpolation cycle so that an integrated value of the correction amount in the inversion correction process is equal to the integrated value.
The control device according to claim 12.
 前記サーボ制御部は、所定の軸の移動方向が反転した時の加速度及び反転後の所定時間の加速度の推移の少なくともいずれかを通知する、
請求項1に記載の制御装置。
The servo control unit notifies at least one of the acceleration when the moving direction of the predetermined axis is reversed and the change in the acceleration for a predetermined time after the reversal.
The control device according to claim 1.
 産業機械の動作を指令する制御用プログラムを解析し、移動指令を生成するプログラム解析部、
 前記移動指令に基づいて前記産業機械が備える各軸に係る補間周期毎の第1の移動指令データを作成する補間部、
 前記補間部が算出した第1の移動指令データに基づいて、所定の軸における移動方向が反転するタイミングを検出する反転検出部、
 前記補間部が算出した第1の移動指令データに対して所定の加減速処理を行った第2の移動指令データを作成する加減速部、
 前記第2の移動指令データに従って前記産業機械の各軸に係るモータを制御するサーボ制御部、
としてコンピュータを機能させ、
 前記サーボ制御部は、前記反転検出部が検出した所定の軸における移動方向が反転するタイミングに応じて、前記第2の移動指令データに対する反転補正処理を実行する、
プログラムを記録したコンピュータ読み取り可能な記録媒体。
a program analysis unit that analyzes a control program that commands the operation of the industrial machine and generates a movement command;
an interpolation unit that creates first move command data for each interpolation period for each axis of the industrial machine based on the move command;
a reversal detection unit that detects a timing at which a movement direction in a predetermined axis is reversed based on the first movement command data calculated by the interpolation unit;
an acceleration/deceleration unit that generates second movement command data by performing a predetermined acceleration/deceleration process on the first movement command data calculated by the interpolation unit;
a servo control unit that controls a motor associated with each axis of the industrial machine in accordance with the second movement command data;
The computer functions as
the servo control unit executes an inversion correction process for the second movement command data in response to a timing at which the movement direction in the predetermined axis detected by the inversion detection unit is inverted.
A computer-readable recording medium on which a program is recorded.
PCT/JP2023/025615 2023-07-11 2023-07-11 Control device and computer-readable recording medium WO2025013209A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2023/025615 WO2025013209A1 (en) 2023-07-11 2023-07-11 Control device and computer-readable recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2023/025615 WO2025013209A1 (en) 2023-07-11 2023-07-11 Control device and computer-readable recording medium

Publications (1)

Publication Number Publication Date
WO2025013209A1 true WO2025013209A1 (en) 2025-01-16

Family

ID=94214841

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/025615 WO2025013209A1 (en) 2023-07-11 2023-07-11 Control device and computer-readable recording medium

Country Status (1)

Country Link
WO (1) WO2025013209A1 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6361306A (en) * 1986-09-01 1988-03-17 Mitsubishi Electric Corp Numerical controller
JPH01222302A (en) * 1988-03-01 1989-09-05 Yoshiaki Kakino Numerical controller
JPH0511824A (en) * 1991-07-04 1993-01-22 Fanuc Ltd Backlash acceleration control system
JP2002366230A (en) * 2001-06-06 2002-12-20 Okuma Corp Backlash correction device in screw feeder
JP2006195664A (en) * 2005-01-12 2006-07-27 Okuma Corp Numerical controller
JP2012093989A (en) * 2010-10-27 2012-05-17 Makino Milling Mach Co Ltd Correction method at the time of feed shaft reversal
WO2022009822A1 (en) * 2020-07-10 2022-01-13 ファナック株式会社 Control device and control method for machine tool, and slave shaft control device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6361306A (en) * 1986-09-01 1988-03-17 Mitsubishi Electric Corp Numerical controller
JPH01222302A (en) * 1988-03-01 1989-09-05 Yoshiaki Kakino Numerical controller
JPH0511824A (en) * 1991-07-04 1993-01-22 Fanuc Ltd Backlash acceleration control system
JP2002366230A (en) * 2001-06-06 2002-12-20 Okuma Corp Backlash correction device in screw feeder
JP2006195664A (en) * 2005-01-12 2006-07-27 Okuma Corp Numerical controller
JP2012093989A (en) * 2010-10-27 2012-05-17 Makino Milling Mach Co Ltd Correction method at the time of feed shaft reversal
WO2022009822A1 (en) * 2020-07-10 2022-01-13 ファナック株式会社 Control device and control method for machine tool, and slave shaft control device

Similar Documents

Publication Publication Date Title
JP3830475B2 (en) Control device
KR100914349B1 (en) Method of controlling a servo-motor
JP5762625B2 (en) Trajectory control device
JP5111589B2 (en) Correction method when reversing the feed axis
US20180364684A1 (en) Motor controller
CN105320059A (en) Control device of servo motors
JP4796936B2 (en) Processing control device
US20150323924A1 (en) Servo control device
JP6211240B1 (en) Numerical controller
CN103707128A (en) Thread cutting machine
US10579044B2 (en) Computer readable information recording medium, evaluation method, and control device
JP2016048512A (en) Numerical control device for calculating optimum acceleration during reversion
JP5151994B2 (en) Moment of inertia identification device, identification method thereof, and motor control device including the identification device
JP7448637B2 (en) Machine tool control device, control system, and control method
JP7332375B2 (en) Control devices and control systems for machine tools
WO2025013209A1 (en) Control device and computer-readable recording medium
JP5494378B2 (en) Thread cutting control method and apparatus
US10814482B2 (en) Robot controller
WO2022009822A1 (en) Control device and control method for machine tool, and slave shaft control device
JP4709588B2 (en) Thread cutting control method and apparatus
JP2017022810A (en) Motor drive controller and machine tool providing them
WO2025041213A1 (en) Route changing device and computer-readable recording medium
JP7415093B1 (en) Control device and computer readable recording medium
WO2021230237A1 (en) Processing path creation device
JP2000231412A (en) In-position check method and device therefor