WO2025013209A1 - 制御装置、及びコンピュータ読み取り可能な記録媒体 - Google Patents

制御装置、及びコンピュータ読み取り可能な記録媒体 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
Legal status (The legal status 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 status listed.)
Pending
Application number
PCT/JP2023/025615
Other languages
English (en)
French (fr)
Inventor
宏之 河村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
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 Fanuc Corp filed Critical Fanuc Corp
Priority to PCT/JP2023/025615 priority Critical patent/WO2025013209A1/ja
Priority to DE112023006327.3T priority patent/DE112023006327T5/de
Priority to CN202380100042.XA priority patent/CN121444027A/zh
Priority to JP2025532296A priority patent/JPWO2025013209A1/ja
Publication of WO2025013209A1 publication Critical patent/WO2025013209A1/ja
Anticipated expiration legal-status Critical
Pending legal-status Critical Current

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/00Program-control systems
    • G05B19/02Program-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 program 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 program 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41084Compensation speed axis with changing, reversing direction, quadrant circle

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

余計な指令の遅延などを加えることなく反転補正処理を行う。 本開示による制御装置(1)は、産業機械の動作を指令する制御用プログラムを解析し、移動指令を生成するプログラム解析部(100)と、移動指令に基づいて産業機械が備える各軸に係る補間周期毎の第1の移動指令データを作成する補間部(110)と、補間部が算出した第1の移動指令データに基づいて、所定の軸における移動方向が反転するタイミングを検出する反転検出部(120)と、第1の移動指令データに対して所定の加減速処理を行った第2の移動指令データを作成する加減速部(130)と、第2の移動指令データに従って前記産業機械の各軸に係るモータを制御するサーボ制御部(140)と、を備え、サーボ制御部は、反転検出部が検出した所定の軸における移動方向が反転するタイミングに応じて、第2の移動指令データに対する反転補正処理を実行する。

Description

制御装置、及びコンピュータ読み取り可能な記録媒体
 本開示は、制御装置、及びコンピュータ読み取り可能な記録媒体に関する。
 工作機械の送り軸の移動方向が変わる際に、摩擦力の方向が反転する。また、機構部のねじれ方向も反転する。この摩擦力の方向の反転やねじれ方向の反転の影響を排除しないと、送り軸の移動経路が指令経路から逸脱してしまう。この現象を補正する様々な方式が考案されてきている(例えば、特許文献1,2など)。
特開2012-093989号公報 特開平05-011824号公報
 摩擦力の方向の反転やねじれ方向の反転の影響を考慮した補正をする場合、影響を最小限に抑えるためには、速度指令やトルク指令に対する補正を送り軸が実際に反転する少し前から始める必要がある。このため、送り軸の移動指令が反転することを事前に知る必要がある。例えば、送り軸の制御部への移動指令の伝達を一定時間遅延させ、遅延時間の中で先に反転検出して補正のタイミングを合わせる方法がある。また、モータの反転時刻より時間を繰り上げて反転補正指令を開始する方法がある。しかしながら、いずれの方法を取ったとしても、速度オーバライド変更や緊急停止要求への対応が必要以上に遅れるなど、様々な問題が生じることとなる。
 そこで、余計な指令の遅延などを加えることなく反転補正処理を行う技術が望まれている。
 本開示による産業機械の制御装置は、各軸に適用される加減速処理の前で移動指令の反転検出と反転状態の判断を行うことで、指令の遅延を行うことなく上記課題を解決する。
 そして本開示の一態様は、産業機械の動作を指令する制御用プログラムを解析し、移動指令を生成するプログラム解析部と、前記移動指令に基づいて前記産業機械が備える各軸に係る補間周期毎の第1の移動指令データを作成する補間部と、前記補間部が算出した第1の移動指令データに基づいて、所定の軸における移動方向が反転するタイミングを検出する反転検出部と、前記補間部が算出した第1の移動指令データに対して所定の加減速処理を行った第2の移動指令データを作成する加減速部と、前記第2の移動指令データに従って前記産業機械の各軸に係るモータを制御するサーボ制御部と、を備え、前記サーボ制御部は、前記反転検出部が検出した所定の軸における移動方向が反転するタイミングに応じて、前記第2の移動指令データに対する反転補正処理を実行する、制御装置である。
第1実施形態による制御装置の概略的なハードウェア構成図である。 第1実施形態による制御装置の概略的な機能を示すブロック図である。 補間部が作成する所定の軸に係る移動指令データの例を示すグラフである。 加減速部が作成する加減速処理を施した補間周期毎の移動指令データの例を示すグラフである。 サーボ制御部が反転補正指令データを出力する例を示すグラフである。
 以下、本発明の実施形態を図面と共に説明する。なお、以下の説明では、同一または類似の機能を有する構成に同一の符号を付す。そして、それら構成の重複する説明は、省略する場合がある。
 本願でいう「XXに基づく」とは、「少なくともXXに基づく」ことを意味し、XXに加えて別の要素に基づく場合も含む。また、「XXに基づく」とは、XXを直接に用いる場合に限定されず、XXに対して演算や加工が行われたものに基づく場合も含む。「XX」は、任意の要素(例えば、任意の情報)である。
[第1実施形態]
 図1は本発明の一実施形態による制御装置の要部を示す概略的なハードウェア構成図である。本発明の制御装置1は、モータが駆動することで移動する移動対象を備えた工作機械やロボットなどの産業機械を制御する制御装置として実装することができる。以下では、工具とワークとの相対位置を制御することでワークを加工する工作機械を制御する制御装置1を例として説明する。
 本発明の制御装置1が備えるCPU11は、制御装置1を全体的に制御するプロセッサである。CPU11は、バス22を介してROM12に格納されたシステム・プログラムを読み出し、該システム・プログラムに従って制御装置1全体を制御する。RAM13には一時的な計算データや表示データ、及び外部から入力された各種データ等が一時的に格納される。
 不揮発性メモリ14は、例えば図示しないバッテリでバックアップされたメモリやSSD(Solid State Drive)等で構成され、制御装置1の電源がオフされても記憶状態が保持される。不揮発性メモリ14には、インタフェース15を介して外部機器72から読み込まれた制御用プログラムやデータ、入力装置71を介して入力されたデータや制御用プログラム、産業機械3から取得される各データ等が記憶される。不揮発性メモリ14に記憶された制御用プログラムやデータは、実行時/利用時にはRAM13に展開されても良い。また、ROM12には、公知の解析プログラムなどの各種システム・プログラムが予め書き込まれている。
 インタフェース15は、制御装置1のCPU11とUSBメモリ、コンパクトフラッシュ(登録商標)、SDカード等の外部機器72と接続するためのインタフェースである。外部機器72側からは、例えば産業機械3の制御に用いられる制御用プログラムや各種データ等を読み込むことができる。また、制御装置1内で編集した制御用プログラムや各種データ等は、外部機器72に対して記憶させることができる。PLC(プログラマブル・ロジック・コントローラ)16は、制御装置1に内蔵されたシーケンス・プログラムによって、産業機械3及び該産業機械3の周辺装置(例えば、工具交換装置や、ロボット等のアクチュエータ、産業機械3に取付けられているセンサ等)にI/Oユニット17を介して信号を出力し制御する。また、PLC16は、産業機械3の本体に配備された操作盤の各種スイッチや周辺装置等からの信号を受け、必要な信号処理をした後、CPU11に渡す。
 表示装置70には、メモリ上に読み込まれた各データ、制御用プログラムやシステム・プログラム等が実行された結果として得られたデータ等が、インタフェース18を介して出力されて表示される。また、キーボードやポインティングデバイス等から構成される入力装置71は、インタフェース19を介して作業者による操作に基づく指令,データ等をCPU11に渡す。
 インタフェース20は、制御装置1のCPU11と有線乃至無線のネットワーク5とを接続するためのインタフェースである。ネットワーク5は、例えばRS-485等のシリアル通信、Ethernet(登録商標)通信、光通信、無線LAN、Wi-Fi(登録商標)、Bluetooth(登録商標)等の技術を用いて通信をするものであってよい。ネットワーク5には、他の産業機械4、フォグコンピュータ6、クラウドサーバ7等が接続され、制御装置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が用意される。
 スピンドル制御回路60は、主軸回転指令を受け、スピンドルアンプ61にスピンドル速度信号を出力する。スピンドルアンプ61はこのスピンドル速度信号を受けて、産業機械3のスピンドルモータ62を指令された回転速度で回転させ、主軸を駆動する。スピンドルモータ62にはポジションコーダ63が結合されている。ポジションコーダ63が主軸の回転に同期して帰還パルスを出力し、その帰還パルスはCPU11によって読み取られる。
 図2は、本開示の第1実施形態による制御装置1が備える機能を概略的なブロック図として示したものである。本実施形態による制御装置1が備える各機能は、図1に示した制御装置1が備えるCPU11がシステム・プログラムを実行し、制御装置1の各部の動作を制御することにより実現される。
 本実施形態の制御装置1は、プログラム解析部100、補間部110、反転検出部120、加減速部130、サーボ制御部140を備える。また、制御装置1のRAM13乃至不揮発性メモリ14には、産業機械3を制御するための制御用プログラム200が記憶される。
 プログラム解析部100は、制御用プログラムのブロックを順次読み出し、読み出したブロックを解析する。そして、解析した結果に基づいて、産業機械3が備える駆動部を移動させる経路に係る移動指令を作成する。プログラム解析部100が作成する経路に係る移動指令は、例えば工具に係るオフセットなどを考慮したものになる。プログラム解析部100は、作成した移動指令を補間部110へと出力する。
 補間部110は、プログラム解析部100が作成した移動指令に基づいて、産業機械3が備える軸毎の補間周期毎の移動量を算出する補間処理を行う。そして、軸毎の補間周期毎の移動量を示す移動指令データを作成する。補間部110は、作成した補間周期毎の移動指令データを反転検出部120及び加減速部130へと出力する。
 反転検出部120は、補間部110が作成した補間周期毎の移動指令データに基づいて、産業機械3が備える駆動部のそれぞれの軸に沿った移動の方向が反転することを検出する。反転検出部120は、所定の軸における移動方向が反転するタイミングをサーボ制御部140へと通知する。
 加減速部130は、補間部110が作成した補間周期毎の移動指令データに対して補間周期毎の移動量を調整する補間後加減速処理を行う。加減速部130が行う補間後加減速処理は、補間周期毎の移動指令データに対して例えば平均値フィルタを掛けることで、移動指令データに基づく所定の軸に沿った駆動部の移動における一階微分値の大きさを抑制する。補間後加減速処理が施された移動指令データは、予め定められた所定の補間後加減速時定数の期間で加減速が行われるものとなる。加減速部130は、加減速処理を施した補間周期毎の移動指令データをサーボ制御部140へと出力する。
 サーボ制御部140は、加減速部130から入力された補間周期毎の移動指令データに基づいて、産業機械3の駆動部が各軸に沿って移動するように各サーボモータ50を制御する。また、反転検出部120から所定の軸に沿った移動の方向が反転するタイミングの通知があった時、サーボ制御部140は、当該タイミングに応じて所定の軸に係る反転補正処理を開始する。反転補正処理は、サーボモータ50に対する移動指令データの出力と同時に反転補正指令データを出力する処理となる。この反転補正指令データは、速度指令を補正するものであってよい。また、トルク指令を補正するものであってもよい。なお、反転補正指令データの補正量については、産業機械3の構成や軸に用いる部材の構造などによって異なるため、予め実験などを行い適切な補正量を求めておけばよい。工作機械では反転補正の効果を真円精度で確認されているため、送り軸2軸に対して1周もしくは数周の円指令を行い、これに繰り返し制御を適用して位置偏差が収束した後の制御データから反転補正量を算出する方法もある。
 以下では、図3~図5を用いて、反転検出部120が所定の軸の移動方向が反転することを検出してから、サーボ制御部140が反転補正指令データを出力するまでの動作を説明する。
 図3は、補間部110が作成する所定の軸に係る移動指令データの例を示すグラフである。図3では、棒グラフの白棒で補間周期毎の移動指令データを示している。白棒の高さはその補間周期における移動量を示している。図3の例では、補間周期Titp毎に移動指令データが作成されている。時刻tn以前は、補間周期Titp毎に移動量Litpだけ移動するように移動指令データが作成されている。また、時刻tn以降は、補間周期Titp毎に移動量-Litpだけ移動するように移動指令データが作成されている。このような移動指令データが作成された場合、反転検出部120は、時刻tnの時点で所定の軸における移動方向が反転することを検出する。
 図4は、加減速部130が作成する加減速処理を施した補間周期毎の移動指令データの例を示すグラフである。図4の移動指令データは、図3に例示した移動指令データに対して補間後加減速処理を施したものである。図4の例では、時刻tn前後の移動指令データに平均値フィルタを掛けることで、補間後加減速時定数τの時間を掛けて減速し、その後移動方向が反転している。補間周期における移動量が0になるのは時刻tpである。実際の軸に係る移動方向が反転するのは、この時刻tpの時点である。
 図5は、サーボ制御部140が反転補正指令データを出力する例を示すグラフである。図5では、棒グラフの黒棒で反転補正指令データを示している。サーボ制御部140は、補間部110が作成した移動指令データにおいて時刻tnの時点で所定の軸の移動方向が反転する旨を反転検出部120から通知されている。そして、加減速部130による加減速処理の結果、実際に軸が反転するのは時刻tpの時点である。サーボ制御部140は、時刻tnから時刻tpまで期間を反転補正処理開始期間Ticpとして推定する。反転補正処理開始期間Ticpは、移動方向が反転する前後で加速度(減速度)が一定であると仮定すればτ/2となる。サーボ制御部140は、時刻tnから反転補正処理開始期間Ticpの間のいずれかの時点において反転補正処理を開始する。反転補正処理を開始するタイミングについては、あらかじめ実験などにより加減速処理後に実際に軸が反転する時刻tpのどのくらい前から反転補正処理を開始すればよいのかを求めておけばよい。例えば、事前に反転時の位置偏差が最も小さくなるタイミングを実験などで調べておけばよい。位置偏差が最も小さくなるタイミングは反転時の加速度が上がるにつれて時刻tpに近づいていく為、反転時の加速度が異なる複数の条件でタイミングを調べ、反転時の加速度に応じて異なる条件毎に反転補正処理の開始タイミングを求めておいてもよい。例えば、移動方向の反転時の加速度や、移動方向の反転時の加速度の平方根に比例するように、加速開始タイミングを定めてもよい。サーボ制御部140は、移動指令データを考慮した反転補正指令データを作成し、速度指令として移動指令データに重畳させてサーボモータ50の速度を制御する。図5では、反転補正指令データの速度指令を補間周期毎の補正量として示している。
 上記構成を備えた本実施形態による制御装置1は、通常各軸に適用される加減速処理の前で移動指令の反転検出と反転状態の判断を行うことで、この加減速処理による遅延を利用して、大きな移動指令のバッファを追加すること無く、反転時の補正を反転時の少し前から行えるようになり、反転時の位置偏差が低減する。
 本実施形態による制御装置1の一変形例として、サーボ制御部140は、所定の軸に係る移動方向が反転する前後の加速度(減速度)に応じて、反転補正処理開始期間Ticpの推定値を増減するようにしてよい。その為に、反転検出部120はサーボ制御部140に対して、実際に軸に係る移動方向が反転した時に、反転時の加速度及び反転後の加速度、もしくは反転してから予め定めた所定の時間、加速度の推移を通知するようにしてよい。移動方向の反転前後の指令速度が異なる場合、加減速部130で補間指令毎の移動指令データに平均化フィルタを掛けると、移動量が0になるまでの期間は単純にτ/2にはならない。例えば移動方向の反転後の指令速度が大きい場合には、加減速処理後の移動指令データにおいて移動量が0になるまでの期間はτ/2よりも長くなる。また、移動方向の反転後の指令速度が小さい場合には、加減速処理後の移動指令データにおいて移動量が0になるまでの期間はτ/2よりも短くなる。そこで、サーボ制御部140は、所定の軸に係る移動方向が反転する後の加速度(減速度)が前の加速度(減速度)よりも大きい場合には、反転補正処理開始期間Ticpをτ/2よりも小さく推定し、小さい場合には、反転補正処理開始期間Ticpをτ/2よりも小さく推定する。例えば、以下に示す数1式で反転補正処理開始期間Ticpを推定すればよい。なお、数1式においてτは補間後加減速時定数、Aは反転前の加速度を反転後の加速度で除算した値の平方根である。反転前後の加速度については、補間部110が作成した移動指令データの反転前後の移動量の推移と、加減速部130が用いている加減速処理のアルゴリズムに基づいて、適宜算出するようにすればよい。このように構成することで、適切なタイミングで反転補正処理を開始することができるようになる。
Figure JPOXMLDOC01-appb-M000002
 本実施形態による制御装置1の他の変形例として、サーボ制御部140は、反転検出部120から通知された所定の軸に沿った移動の方向が反転するタイミング以降において補間部110が作成した移動指令データの推移を観測し、加速度が増減する場合に反転タイミングを再計算するようにしてもよい。この時、補間部110が作成した移動指令データにおける補間周期毎の移動量が所定の値になってから、補間後加減速後の速度が所定の値になるまでの時間を1点、もしくは複数点計測し、計測した時間に基づいて、反転タイミングを算出するようにすればよい。
 本実施形態による制御装置1の他の変形例として、サーボ制御部140は、加減速部130による加減速処理後の移動指令データにおける所定の軸の移動方向の反転するタイミングが、推定した反転補正処理開始期間Ticpの終了時点からずれた場合に、反転補正指令データの補間周期毎の補正量を修正してもよい。例えば、推定した反転補正処理開始期間Ticpの終了時点よりも実際の反転するタイミングが遅かった場合には、反転補正指令データによる補間周期毎の補正量を下げ、また、実際の反転するタイミングが早かった場合には、反転補正指令データによる補間周期毎の補正量を上げるようにすればよい。この時、反転補正指令データによる補正量の積算値は一致するように調整する。このように構成することで、推定した反転タイミングと実際の反転タイミングがずれた場合においても、適切な反転補正処理を実行することができるようになる。
 以上、本開示の実施形態について詳述したが、本開示は上述した個々の実施形態に限定されるものではない。これらの実施形態は、発明の要旨を逸脱しない範囲で、または、請求の範囲に記載された内容とその均等物から導き出される本開示の思想および趣旨を逸脱しない範囲で、種々の追加、置き換え、変更、部分的削除等が可能である。例えば、上述した実施形態において、各動作の順序や各処理の順序は、一例として示したものであり、これらに限定されるものではない。また、上述した実施形態の説明に数値又は数式が用いられている場合も同様である。
 以下に、本開示の実施形態に係る付記を示す。
(付記1)
 本開示の一態様による制御装置(1)は、産業機械(3)の動作を指令する制御用プログラム(200)を解析し、移動指令を生成するプログラム解析部(100)と、前記移動指令に基づいて前記産業機械(3)が備える各軸に係る補間周期毎の第1の移動指令データを作成する補間部(110)と、前記補間部(110)が算出した第1の移動指令データに基づいて、所定の軸における移動方向が反転するタイミングを検出する反転検出部(120)と、前記補間部(110)が算出した第1の移動指令データに対して所定の加減速処理を行った第2の移動指令データを作成する加減速部(130)と、前記第2の移動指令データに従って前記産業機械の各軸に係るモータを制御するサーボ制御部(140)と、を備え、前記サーボ制御部(140)は、前記反転検出部(120)が検出した所定の軸における移動方向が反転するタイミングに応じて、前記第2の移動指令データに対する反転補正処理を実行する。
(付記2)
 本開示の他の態様による制御装置(1)は、前記サーボ制御部(140)は、前記反転検出部(120)が検出した所定の軸における移動方向が反転するタイミングから、前記第2の移動指令データにおいて所定の軸における移動方向が反転するまでの反転処理開始期間において反転補正処理を開始する。
(付記3)
 本開示の他の態様による制御装置(1)は、前記サーボ制御部(140)は、前記反転処理開始期間を当該軸に設定されている補間後加減速時定数の半分の時間であると推定する。
(付記4)
 本開示の他の態様による制御装置(1)は、前記サーボ制御部(140)は、所定の軸における移動方向が反転するタイミングの前後で加速度が異なる場合、前記反転処理開始期間の推定値を反転前後の加速度に応じて増減する。
(付記5)
 本開示の他の態様による制御装置(1)は、前記サーボ制御部(140)は、所定の軸における移動方向が反転するタイミングの前の加速度に対して反転後の加速度が下がる場合には前記反転処理開始期間を補間後加減速時定数の半分の時間よりも長く推定し、反転後の加速度が上がる場合には前記反転処理開始期間を補間後加減速時定数の半分の時間よりも短く推定する。
(付記6)
 本開示の他の態様による制御装置(1)は、前記サーボ制御部(140)は、以下の数1式を用いて前記反転処理開始期間を推定する。
Figure JPOXMLDOC01-appb-M000003
ただし、Ticpは反転補正処理開始期間、τは補間後加減速時定数、Aは反転前の加速度を反転後の加速度で除算した値の平方根を示す。
(付記7)
 本開示の他の態様による制御装置(1)は、前記サーボ制御部(140)は、移動方向が反転する後の前記第1の移動指令データの推移を観測し、前記第1の移動指令データの推移に基づいて、反転タイミングを再計算する。
(付記8)
 本開示の他の態様による制御装置(1)は、前記サーボ制御部(140)は、減速時に補間後加減速前の速度が所定の値になってから、補間後加減速後の速度が所定の値になるまでの時間を1点、もしくは複数点計測し、反転タイミングの再計算に利用する。
(付記9)
 本開示の他の態様による制御装置(1)は、前記サーボ制御部(140)は、前記第2の移動指令データにおける所定の軸の移動方向が反転するタイミングから予め定めた所定の時間先行して反転補正処理を開始する。
(付記10)
 本開示の他の態様による制御装置(1)は、前記所定の時間は、反転時の位置偏差が最も小さくなるように定める。
(付記11)
 本開示の他の態様による制御装置(1)は、前記所定の時間は、反転時の加速度が異なる複数の条件により定めたものであり、反転時の所定の軸の加速度又は該加速度の平方根に比例するように定める。
(付記12)
 本開示の他の態様による制御装置(1)は、前記第2の移動指令データにおける所定の軸の移動方向が反転するタイミングが、推定した前記反転処理開始期間の終了時点とずれた場合、推定した終了時点が早かった場合には前記反転補正処理における補間周期毎の補正量を下げ、遅かった場合には前記反転補正処理における補間周期毎の補正量を上げる調整を行う。
(付記13)
 本開示の他の態様による制御装置(1)は、前記補正量の調整は、前記反転補正処理における補正量の積算値が一致するように、補間周期毎の補正量の大きさを調節する。
(付記14)
 本開示の他の態様による制御装置(1)は、前記サーボ制御部(140)は、所定の軸の移動方向が反転した時の加速度及び反転後の所定時間の加速度の推移の少なくともいずれかを通知する。
(付記15)
 本開示の一態様によるコンピュータ読み取り可能な記録媒体は、産業機械(3)の動作を指令する制御用プログラム(200)を解析し、移動指令を生成するプログラム解析部(100)、前記移動指令に基づいて前記産業機械(3)が備える各軸に係る補間周期毎の第1の移動指令データを作成する補間部(110)、前記補間部(110)が算出した第1の移動指令データに基づいて、所定の軸における移動方向が反転するタイミングを検出する反転検出部(120)、前記補間部(110)が算出した第1の移動指令データに対して所定の加減速処理を行った第2の移動指令データを作成する加減速部(130)、前記第2の移動指令データに従って前記産業機械の各軸に係るモータを制御するサーボ制御部(140)、としてコンピュータを機能させ、前記サーボ制御部(140)は、前記反転検出部(120)が検出した所定の軸における移動方向が反転するタイミングに応じて、前記第2の移動指令データに対する反転補正処理を実行する、プログラムを記録する。
   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 制御用プログラム

Claims (15)

  1.  産業機械の動作を指令する制御用プログラムを解析し、移動指令を生成するプログラム解析部と、
     前記移動指令に基づいて前記産業機械が備える各軸に係る補間周期毎の第1の移動指令データを作成する補間部と、
     前記補間部が算出した第1の移動指令データに基づいて、所定の軸における移動方向が反転するタイミングを検出する反転検出部と、
     前記補間部が算出した第1の移動指令データに対して所定の加減速処理を行った第2の移動指令データを作成する加減速部と、
     前記第2の移動指令データに従って前記産業機械の各軸に係るモータを制御するサーボ制御部と、
    を備え、
     前記サーボ制御部は、前記反転検出部が検出した所定の軸における移動方向が反転するタイミングに応じて、前記第2の移動指令データに対する反転補正処理を実行する、
    制御装置。
  2.  前記サーボ制御部は、前記反転検出部が検出した所定の軸における移動方向が反転するタイミングから、前記第2の移動指令データにおいて所定の軸における移動方向が反転するまでの反転処理開始期間において反転補正処理を開始する、
    請求項1に記載の制御装置。
  3.  前記サーボ制御部は、前記反転処理開始期間を当該軸に設定されている補間後加減速時定数の半分の時間であると推定する、
    請求項2に記載の制御装置。
  4.  前記サーボ制御部は、所定の軸における移動方向が反転するタイミングの前後で加速度が異なる場合、前記反転処理開始期間の推定値を反転前後の加速度に応じて増減する、
    請求項2に記載の制御装置。
  5.  前記サーボ制御部は、所定の軸における移動方向が反転するタイミングの前の加速度に対して反転後の加速度が下がる場合には前記反転処理開始期間を補間後加減速時定数の半分の時間よりも長く推定し、反転後の加速度が上がる場合には前記反転処理開始期間を補間後加減速時定数の半分の時間よりも短く推定する、
    請求項4に記載の制御装置。
  6.  前記サーボ制御部は、以下の数1式を用いて前記反転処理開始期間を推定する、
    請求項5記載の制御装置。
    Figure JPOXMLDOC01-appb-M000001
    ただし、Ticpは反転補正処理開始期間、τは補間後加減速時定数、Aは反転前の加速度を反転後の加速度で除算した値の平方根を示す。
  7.  前記サーボ制御部は、移動方向が反転する後の前記第1の移動指令データの推移を観測し、前記第1の移動指令データの推移に基づいて、反転タイミングを再計算する、
    請求項3~6のいずれか1つに記載の制御装置。
  8.  前記サーボ制御部は、減速時に補間後加減速前の速度が所定の値になってから、補間後加減速後の速度が所定の値になるまでの時間を1点、もしくは複数点計測し、反転タイミングの再計算に利用する、
    請求項7に記載の制御装置。
  9.  前記サーボ制御部は、前記第2の移動指令データにおける所定の軸の移動方向が反転するタイミングから予め定めた所定の時間先行して反転補正処理を開始する、
    請求項1に記載の制御装置。
  10.  前記所定の時間は、反転時の位置偏差が最も小さくなるように定める、
    請求項9に記載の制御装置。
  11.  前記所定の時間は、反転時の加速度が異なる複数の条件により定めたものであり、反転時の所定の軸の加速度又は該加速度の平方根に比例するように定める、
    請求項9に記載の制御装置。
  12.  前記第2の移動指令データにおける所定の軸の移動方向が反転するタイミングが、推定した前記反転処理開始期間の終了時点とずれた場合、推定した終了時点が早かった場合には前記反転補正処理における補間周期毎の補正量を下げ、遅かった場合には前記反転補正処理における補間周期毎の補正量を上げる調整を行う、
    請求項3~6のいずれか1つに記載の制御装置。
  13.  前記補正量の調整は、前記反転補正処理における補正量の積算値が一致するように、補間周期毎の補正量の大きさを調節する、
    請求項12に記載の制御装置。
  14.  前記サーボ制御部は、所定の軸の移動方向が反転した時の加速度及び反転後の所定時間の加速度の推移の少なくともいずれかを通知する、
    請求項1に記載の制御装置。
  15.  産業機械の動作を指令する制御用プログラムを解析し、移動指令を生成するプログラム解析部、
     前記移動指令に基づいて前記産業機械が備える各軸に係る補間周期毎の第1の移動指令データを作成する補間部、
     前記補間部が算出した第1の移動指令データに基づいて、所定の軸における移動方向が反転するタイミングを検出する反転検出部、
     前記補間部が算出した第1の移動指令データに対して所定の加減速処理を行った第2の移動指令データを作成する加減速部、
     前記第2の移動指令データに従って前記産業機械の各軸に係るモータを制御するサーボ制御部、
    としてコンピュータを機能させ、
     前記サーボ制御部は、前記反転検出部が検出した所定の軸における移動方向が反転するタイミングに応じて、前記第2の移動指令データに対する反転補正処理を実行する、
    プログラムを記録したコンピュータ読み取り可能な記録媒体。
PCT/JP2023/025615 2023-07-11 2023-07-11 制御装置、及びコンピュータ読み取り可能な記録媒体 Pending WO2025013209A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/JP2023/025615 WO2025013209A1 (ja) 2023-07-11 2023-07-11 制御装置、及びコンピュータ読み取り可能な記録媒体
DE112023006327.3T DE112023006327T5 (de) 2023-07-11 2023-07-11 Steuervorrichtung und computerlesbares Speichermedium
CN202380100042.XA CN121444027A (zh) 2023-07-11 2023-07-11 控制装置以及计算机可读取的记录介质
JP2025532296A JPWO2025013209A1 (ja) 2023-07-11 2023-07-11

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2023/025615 WO2025013209A1 (ja) 2023-07-11 2023-07-11 制御装置、及びコンピュータ読み取り可能な記録媒体

Publications (1)

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

Family

ID=94214841

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/025615 Pending WO2025013209A1 (ja) 2023-07-11 2023-07-11 制御装置、及びコンピュータ読み取り可能な記録媒体

Country Status (4)

Country Link
JP (1) JPWO2025013209A1 (ja)
CN (1) CN121444027A (ja)
DE (1) DE112023006327T5 (ja)
WO (1) WO2025013209A1 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6361306A (ja) * 1986-09-01 1988-03-17 Mitsubishi Electric Corp 数値制御装置
JPH01222302A (ja) * 1988-03-01 1989-09-05 Yoshiaki Kakino 数値制御装置
JPH0511824A (ja) * 1991-07-04 1993-01-22 Fanuc Ltd バツクラツシ加速制御方式
JP2002366230A (ja) * 2001-06-06 2002-12-20 Okuma Corp ねじ送り装置におけるバックラッシュ補正装置
JP2006195664A (ja) * 2005-01-12 2006-07-27 Okuma Corp 数値制御装置
JP2012093989A (ja) * 2010-10-27 2012-05-17 Makino Milling Mach Co Ltd 送り軸反転時の補正方法
WO2022009822A1 (ja) * 2020-07-10 2022-01-13 ファナック株式会社 工作機械の制御装置と制御方法及びスレーブ軸制御装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6361306A (ja) * 1986-09-01 1988-03-17 Mitsubishi Electric Corp 数値制御装置
JPH01222302A (ja) * 1988-03-01 1989-09-05 Yoshiaki Kakino 数値制御装置
JPH0511824A (ja) * 1991-07-04 1993-01-22 Fanuc Ltd バツクラツシ加速制御方式
JP2002366230A (ja) * 2001-06-06 2002-12-20 Okuma Corp ねじ送り装置におけるバックラッシュ補正装置
JP2006195664A (ja) * 2005-01-12 2006-07-27 Okuma Corp 数値制御装置
JP2012093989A (ja) * 2010-10-27 2012-05-17 Makino Milling Mach Co Ltd 送り軸反転時の補正方法
WO2022009822A1 (ja) * 2020-07-10 2022-01-13 ファナック株式会社 工作機械の制御装置と制御方法及びスレーブ軸制御装置

Also Published As

Publication number Publication date
JPWO2025013209A1 (ja) 2025-01-16
CN121444027A (zh) 2026-01-30
DE112023006327T5 (de) 2026-03-05

Similar Documents

Publication Publication Date Title
JP3830475B2 (ja) 制御装置
JP5762625B2 (ja) 軌跡制御装置
JP5111589B2 (ja) 送り軸反転時の補正方法
KR20070096821A (ko) 서보모터의 제어방법
JP7415093B1 (ja) 制御装置及びコンピュータ読み取り可能な記録媒体
CN109143981B (zh) 计算机可读取的信息记录介质、评价方法以及控制装置
CN103707128A (zh) 螺纹切削机
JP2016048512A (ja) 反転時の最適な加速度を算出する数値制御装置
WO2018066048A1 (ja) 数値制御装置
JP5151994B2 (ja) 慣性モーメント同定装置とその同定方法、ならびにその同定装置を備えたモータ制御装置
CN112241148B (zh) 机床的控制装置以及控制系统
JP4796936B2 (ja) 加工制御装置
WO2025013209A1 (ja) 制御装置、及びコンピュータ読み取り可能な記録媒体
JP7448637B2 (ja) 工作機械の制御装置、制御システム、及び制御方法
JP5494378B2 (ja) ねじ切り制御方法及びその装置
WO2021230237A1 (ja) 加工経路作成装置
US10814482B2 (en) Robot controller
JP4709588B2 (ja) ネジ切削加工制御方法及びその装置
CN115769153B (zh) 机床的控制装置、控制方法以及从轴控制装置
JP2021002194A (ja) 数値制御装置、cnc工作機械、数値制御方法及び数値制御用プログラム
WO2025041213A1 (ja) 経路変更装置、及びコンピュータ読み取り可能な記録媒体
WO2026003936A1 (ja) モータ駆動制御装置、及びコンピュータが読み取り可能な記憶媒体
CN121889739A (zh) 数值控制系统
WO2026018437A1 (ja) 制御装置
JPH06230818A (ja) サーボ制御装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23945087

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2025532296

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2025532296

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 112023006327

Country of ref document: DE

WWP Wipo information: published in national office

Ref document number: 112023006327

Country of ref document: DE