WO2022202656A1 - 数値制御装置及び数値制御プログラム - Google Patents

数値制御装置及び数値制御プログラム Download PDF

Info

Publication number
WO2022202656A1
WO2022202656A1 PCT/JP2022/012571 JP2022012571W WO2022202656A1 WO 2022202656 A1 WO2022202656 A1 WO 2022202656A1 JP 2022012571 W JP2022012571 W JP 2022012571W WO 2022202656 A1 WO2022202656 A1 WO 2022202656A1
Authority
WO
WIPO (PCT)
Prior art keywords
speed
correction
block
post
calculation unit
Prior art date
Application number
PCT/JP2022/012571
Other languages
English (en)
French (fr)
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 CN202280013877.7A priority Critical patent/CN116917822A/zh
Priority to US18/261,209 priority patent/US20240077845A1/en
Priority to DE112022000420.7T priority patent/DE112022000420T5/de
Priority to JP2023509122A priority patent/JPWO2022202656A1/ja
Publication of WO2022202656A1 publication Critical patent/WO2022202656A1/ja

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/402Numerical 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 positioning, e.g. centring a tool relative to a hole in the workpiece, additional detection means to correct position
    • 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/416Numerical 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 of velocity, acceleration or deceleration
    • 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/33Director till display
    • G05B2219/33099Computer numerical control [CNC]; Software control [SWC]
    • 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/43Speed, acceleration, deceleration control ADC
    • G05B2219/43006Acceleration, deceleration control

Definitions

  • the present invention relates to a numerical control device and a numerical control program.
  • the numerical control device controls the processing device according to a processing program that is expressed by a plurality of designated coordinates, movement speed, etc. that the object should pass along the movement path of the object such as a work or tool.
  • the numerical controller analyzes the machining program, performs interpolation processing for calculating the speed or position that should be at each time for each drive axis of the machining apparatus, and drives each drive axis based on the interpolated information.
  • each block that designates the operation between two consecutive designated coordinates in the machining program is first accelerated from zero and finally decelerated to zero. Acceleration/deceleration processing may be performed to correct the movement speed. Normally, in the acceleration/deceleration process, the velocity is set to zero at the start point of the block, and the velocity is increased at a constant acceleration, and at the end point of the block, the velocity is decreased at a constant acceleration before the end point so that the velocity becomes zero. In this case, immediately after the start of each block, each speed is the sum of the speed data for increasing the speed from zero to the speed of the block and the speed data for decelerating and stopping at the end point of the previous block. It will drive the drive shaft.
  • the acceleration/deceleration time constant is made small at the start of a block, the speed data for acceleration immediately after the start of this block and the speed for deceleration and stop at the end point of the previous block are added together. It may require excessive accelerations that produce velocities or vibrations that exceed the capabilities of the axis. Therefore, a technique is desired that does not require excessive speed and acceleration while suppressing errors in the movement path.
  • a numerical controller is a numerical controller that controls a machining apparatus having a plurality of drive axes that drive an object according to a machining program that includes a plurality of command blocks each specifying a specified speed of the object. wherein, among the plurality of command blocks, for at least a curve block specifying curve movement, the specified speed is first accelerated from zero with the precorrection time constant and finally decelerated to zero with the precorrection time constant. and a pre-correction speed calculation unit for calculating the pre-correction speed of each drive shaft for each time to achieve the composite speed.
  • a numerical control program is a numerical control for controlling a machining apparatus having a plurality of drive axes for driving an object according to a machining program including a plurality of command blocks each specifying a specified speed of the object.
  • the specified velocity is first accelerated from zero with a precorrection time constant and finally to zero with the precorrection time constant.
  • a combined speed calculation control section for calculating a combined speed corrected to decelerate, and a pre-corrected speed calculation control section for calculating a pre-corrected speed for each time of each drive shaft that realizes the combined speed.
  • FIG. 1 is a block diagram showing the configuration of a numerical controller according to an embodiment of the present disclosure
  • FIG. It is a figure which shows an example of the movement path
  • 3 is a diagram showing various velocities calculated by the numerical control device of FIG. 1 to realize the moving route of FIG. 2
  • FIG. FIG. 3 is a diagram showing the movement path of FIG. 2 , the movement path when pre-correction speeds are calculated for curve blocks, and the movement path when post-correction speeds are calculated for curve blocks
  • 7 is a graph showing temporal changes in moving speed when following a machining program, when calculating a pre-correction speed, and when calculating a post-correction speed.
  • FIG. 1 is a block diagram showing the configuration of a numerical control device 1 according to an embodiment of the present disclosure.
  • the numerical control device 10 controls a machining device having a plurality of drive axes for driving objects (for example, tools, workpieces, etc.) according to a machining program including a plurality of command blocks each specifying a specified speed of the object (eg, tool, work, etc.).
  • the numerical controller 1 inputs command values to a drive circuit (servo drive) 20 that drives a plurality of drive axes of the machining apparatus.
  • the command block generally specifies the movement path of the object by specifying the coordinates of the start and end points of the movement path and the movement speed.
  • the numerical control device 10 can be realized, for example, by causing a computer device having a CPU, a memory, an input/output interface, etc. to execute a numerical control program according to the present disclosure.
  • the numerical controller 10 includes a program reading unit 11, a preprocessing unit 12, a block determination unit 13, a reference speed calculation unit 14, a post-correction speed calculation unit 15, a composite speed calculation unit 16, a pre-correction speed calculation unit 17, and an output speed calculation unit. It has a part 18 . These components are categorized functions of the numerical control device 10, and may not be clearly distinguished in terms of physical structure and program structure.
  • the program reading unit 11 reads the machining program stored in the storage medium into the working memory for each command block.
  • the program reading unit 11 may read in advance instruction blocks to be executed later within the range allowed by the capacity of the storage area.
  • the preprocessing unit 12 changes the contents of the command block so that the speed changes at an acceleration within the allowable range. fix it.
  • the block discriminating unit 13 discriminates whether the command block is a straight line block that specifies linear movement of the target or a curved block that specifies curved movement of the target.
  • the reference speed calculation unit 14 calculates a reference speed, which is the ideal value of the speed for each time of each drive axis that realizes the specified speed, for the linear block.
  • the reference speed calculator 14 calculates the ideal value of the speed of each drive axis for each time between the start point and the end point of the target movement path specified by the command block (the speed that reproduces the movement faithful to the command block). ) is calculated. For this reason, the reference speed calculator 14 performs a calculation to interpolate the speed command value between the start point and the end point of the command block.
  • the post-correction speed calculation unit 15 corrects the reference speed calculated by the reference speed calculation unit 14 so that it is first accelerated from zero with the post-correction time constant and finally decelerates to zero with the post-correction time constant, thereby calculating the post-correction speed. calculate. Therefore, the post-correction speed has, in this order, an acceleration section in which the speed gradually increases, a constant speed section in which the speed is constant, and a deceleration section in which the speed gradually decreases.
  • the post-correction time constant is set in advance according to the characteristics of the processing apparatus.
  • the post-correction speed calculator 15 preferably determines the post-correction speed to be accelerated from the start time of the reference speed and decelerated from the end time of the reference speed. In other words, the post-correction speed calculation unit 15 sets the speed of the drive shaft at the reference speed start point time to zero, and corrects the change in the reference speed over time so that the drive shaft starts accelerating from the reference speed start point time. It is preferred to determine the initial time variation of the post-correction speed in that command block. The post-correction speed calculator 15 sets the speed calculated by the reference speed calculator 14 as the speed of the drive shaft at the start time of the reference speed, and adjusts the speed of the drive shaft so that deceleration of the drive shaft starts from the start time of the reference speed.
  • a post-correction speed can be calculated, for example, by calculating the post-correction speed at a given time as an average value of the reference speeds from the time before the given time by the post-correction time constant to the given time.
  • the composite speed calculation unit 16 calculates a corrected composite speed for the curve block by first accelerating the designated speed from zero with the pre-correction time constant and finally decelerating to zero with the pre-correction time constant. In other words, before calculating the speed of the drive shaft at each time, the composite speed calculation unit 16 corrects the moving speed of the target that is the basis for calculating the speed of the drive shaft at each time. This combined speed calculator 16 accelerates and decelerates on the moving path specified by the curve block. That is, the synthetic speed calculator 16 calculates the acceleration and deceleration of the designated speed as changes in angular velocity.
  • the combined speed calculation unit 16 may set different values for the pre-correction time constant of the acceleration section and the pre-correction time constant of the deceleration section, and sets the value of the pre-correction time constant to a different value for each command block. good too.
  • the combined speed calculator 16 preferably makes the pre-correction time constant equal to the post-correction time constant applied to the immediately preceding command block.
  • the deceleration of the initial moving speed of the curve block by the composite speed calculator 16 is offset by the deceleration portion added to the end of the speed change of the immediately preceding straight block by the post-correction speed calculator 15 .
  • the pre-correction time constant of the deceleration section of the previous curve block and the subsequent curve block may be zero.
  • the pre-correction speed calculation unit 17 calculates a pre-correction speed that is the speed of each drive shaft for each time that realizes the composite speed calculated by the composite speed calculation unit 16 . In this way, by interpolating the speed change between the start point and the end point based on the synthesized speed obtained by correcting the speed change based on the command block so as not to cause excessive speed change near the start point and the end point, the command It is possible to reduce the deviation of the actual movement path of the object from the movement path specified by the block.
  • the output speed calculation unit 18 calculates the output speed by adding the post-correction speed calculated by the post-correction speed calculation unit 15 and the pre-correction speed calculated by the pre-correction speed calculation unit 17 .
  • the output speed calculation unit 18 connects the post-correction speed or the pre-correction speed of each command block so that the end point time of the previous command block and the start point time of the next command block are superimposed, so that each drive Calculates the output velocity, which specifies the change in axis velocity over time.
  • a command value can be input to the drive circuit 20 to relatively accurately move the object along a complicated movement path specified by a plurality of command blocks without requiring excessive speed and acceleration.
  • the numerical control program according to the present disclosure for realizing the numerical control device 10 includes a program reading control unit that realizes the program reading unit 11 and a preprocessing control unit that realizes the preprocessing unit 12. a block determination control unit that implements the block determination unit 13; a reference speed calculation control unit that implements the reference speed calculation unit 14; a post-correction speed calculation control unit that implements the post-correction speed calculation unit 15; A combined speed calculation control unit that implements the calculation unit 16, a pre-correction speed calculation control unit that implements the pre-correction speed calculation unit 17, and an output speed calculation control unit that implements the output speed calculation unit 18 are provided.
  • a numerical control program according to the present disclosure may be provided in a state stored in a storage medium that non-temporarily stores the program.
  • the processing apparatus has an X-direction drive axis for moving the object in the X-direction and a Y-direction drive axis for moving the object in the Y-direction, and moves the object on the XY plane.
  • FIG. 3 shows, for the first linear block N1, the curved block N2 and the second linear block N3 of FIG. Indicates output speed. Markers in the figure indicate points at which velocity values are specified.
  • the designated speed (absolute value of the moving speed) in the first linear block N1, the curved block N2, and the second linear block N3 does not change, but only the direction changes.
  • the first linear block N1 designates uniform movement in the X direction
  • the curve block N2 designates uniform movement in an arc with a central angle of 90°
  • the second linear block N3 designates uniform movement in the Y direction. Specifies constant velocity movement of .
  • the reference velocity calculator 14 decomposes the velocity of the first linear block N1 and the velocity of the second linear block N3 into an X-direction component and a Y-direction component, respectively, and calculates the X-direction component and the Y-direction component for each time. Calculate (interpolate) the value of As a result, an X-axis reference speed, which is continuous data of the speed of the X-direction drive axis at each time, and a Y-axis reference speed, which is continuous data of the speed of the Y-direction drive axis at each time, are obtained.
  • the first linear block N1 is represented by an X-axis reference velocity having a constant value and a Y-axis reference velocity having no value (velocity is always zero).
  • the second linear block N3 is represented by the X-axis reference velocity having no value and the Y-axis reference velocity having a constant value.
  • the post-correction speed calculation unit 15 calculates the X-axis post-correction speed and the Y-axis post-correction speed by correcting the X-axis reference speed and the Y-axis reference speed to accelerate and decelerate with a predetermined post-correction time constant.
  • the X-axis post-correction speed and the Y-axis post-correction speed accelerate from the starting point time of the X-axis reference speed and Y-axis reference speed, and decelerate from the end point time of the X-axis reference speed and Y-axis reference speed.
  • the first linear block N1 is represented by the X-axis post-correction speed that changes in trapezoidal shape and the Y-axis post-correction speed that has no value.
  • the second linear block N3 is represented by an X-axis post-correction speed having no value and a Y-axis post-correction speed with a trapezoidal speed change.
  • the synthetic speed calculation unit 16 corrects the specified speed of the curve block N2, first accelerates from zero with the pre-correction time constant, and finally calculates the synthetic speed that decelerates to zero with the pre-correction time constant.
  • the curve block N2 is represented by a synthetic speed whose absolute value changes in a trapezoidal shape.
  • the pre-correction time constant of curve block N2 is set equal to the post-correction time constant applied to the immediately preceding first linear block N1.
  • the pre-corrected speed calculation unit 17 calculates the pre-corrected X-axis speed and the pre-corrected Y-axis speed, which are the speeds of the X-direction drive shaft and the Y-direction drive shaft at each time that can realize the combined speed. Assuming that the angle from the starting position of the target position at that time is ⁇ when viewed from the center of the path of the curve block N2, the X-axis pre-correction speed is the product of the composite speed and sin ⁇ , and the Y-axis pre-correction speed is the composite velocity multiplied by cos ⁇ .
  • the X-axis output speed which is the operation command value for the X-direction drive axis
  • the Y-axis post-correction speed of the first linear block N1, the Y-axis pre-correction speed of the curve block N2, and the Y-axis of the second linear block N3 are calculated.
  • the Y-axis output speed which is the operation command value for the Y-direction drive axis, is calculated by adding the post-correction speed and the post-correction speed.
  • the deceleration section of the X-axis post-correction speed of the first linear block N1 and the acceleration section of the X-axis pre-correction speed of the curve block N2 temporally overlap, in this time range, the X-axis post-correction speed of the first linear block N1
  • the X-axis output speed is the sum of the corrected speed and the X-axis pre-corrected speed of the curve block N2.
  • the deceleration section of the X-axis pre-correction speed of the curve block N2 and the acceleration section of the X-axis post-correction speed of the second linear block N3 are also added.
  • the X-axis output speed changes continuously without including excessive speed or acceleration, Errors in the movement path of the object are also suppressed.
  • the deceleration section and acceleration section of the Y-axis post-correction speed and Y-axis pre-correction speed are added together, and the output speed is continuous without including an excessively large speed or acceleration. , and the error in the moving route of the object is also suppressed.
  • FIG. 4 shows the target movement path specified in the machining program of FIG. and a path following the operation command value when the post-correction speed is calculated by the reference speed calculator 14 and the post-correction speed calculator 15 for the curve block N2.
  • FIG. 5 shows the change over time of the moving speed of the object corresponding to FIG.
  • the movement path (solid line) when the pre-correction speed is calculated and the movement path (two-dot chain line) when the post-correction speed is calculated are Y Axial acceleration begins and Y-axis acceleration is completed at points C1 and C2, respectively.
  • the acceleration distance L1 when the pre-correction speed is calculated is shorter than the acceleration distance L2 when the post-correction speed is calculated. Therefore, the velocity gradient when the pre-correction velocity is calculated is larger than the velocity gradient when the post-correction velocity is calculated.
  • the numerical controller 10 calculates a combined speed obtained by providing an acceleration section and a deceleration section to the specified speed of the curve block, and then calculates the pre-correction speed, which is the speed of each axis at each time. , while suppressing errors in the movement path, do not require excessive speed and acceleration.
  • the numerical control device and the numerical control program according to the present disclosure have been described above, the numerical control device and the numerical control program according to the present disclosure are not limited to the above-described embodiments. Further, the effects described in the above-described embodiments are merely enumerations of the most suitable effects produced by the numerical control device and the numerical control program according to the present disclosure, and the effects of the numerical control device and the numerical control program according to the present disclosure are not limited to those described in the above embodiments.
  • the curve block is not limited to specifying a circular arc. It may be something to do.
  • the numerical control device and the numerical control program according to the present disclosure are configured to calculate a pre-correction speed by processing straight-line blocks with the combined speed calculation unit and the pre-correction speed calculation unit without distinguishing between curve blocks and straight-line blocks.
  • REFERENCE SIGNS LIST 10 numerical controller 11 program reading unit 12 preprocessing unit 13 block determination unit 14 reference speed calculation unit 15 post-correction speed calculation unit 16 combined speed calculation unit 17 pre-correction speed calculation unit 18 output speed calculation unit 20 drive circuit

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

移動経路の誤差を抑制しつつ、過大な速度及び加速度を要求しない本開示の一態様に係る数値制御装置10は、対象の指定速度をそれぞれ特定する複数の指令ブロックを含む加工プログラムに従って、前記対象を駆動する複数の駆動軸を有する加工装置を制御する数値制御装置10であって、前記複数の指令ブロックのうち、少なくとも曲線移動を指定する曲線ブロックについて、前記指定速度を、最初にゼロから前修正時定数で加速し、最後にゼロまで前記前修正時定数で減速するよう修正した合成速度を算出する合成速度算出部16と、前記合成速度を実現する各駆動軸の時間毎の前修正速度を算出する前修正速度算出部17と、を備える。

Description

数値制御装置及び数値制御プログラム
 本発明は、数値制御装置及び数値制御プログラムに関する。
 数値制御装置は、ワーク、工具等の対象物の移動経路を対象物が通過すべき複数の指定座標、移動速度等によって表した加工プログラムに従って加工装置を制御する。数値制御装置は、加工プログラムを解析し、加工装置の各駆動軸について、時刻ごとにあるべき速度又は位置を算出する補間処理を行い、補間した情報に基づいて各駆動軸を駆動する。
 加工プログラムは、加工装置の特性を考慮せずに作成される。このため、加工プログラムに記述された通りの動作を実行しようとすると、大きな速度又は加速度が要求され、駆動軸の能力を超えたり、振動が発生したりするおそれがある。このため、数値制御装置では、加工プログラムをそれぞれ連続する2つの指定座標間の動作を指定するブロックごとに、最初に速度をゼロから加速し、最後に速度をゼロまで減速させるよう、各ブロックの移動速度を修正する加減速処理を行う場合がある。通常、加減速処理では、ブロックの始点で速度をゼロとして一定の加速度で速度を増大させると共にブロックの終点で速度がゼロになるよう終点の手前から一定の加速度で速度を減少させる。この場合、それぞれブロックの開始直後は、ゼロから当該ブロックの速度まで増速するための速度データと、1つ前のブロックの終点で減速停止するための速度データと、を足し合わせた速度で各駆動軸を駆動することになる。
 しかしながら、このような加減速処理を行うと、対象物の移動経路が加工プログラムにおいて指定される経路からずれが生じる。特に、円弧を描くよう対象物を移動させる場合、加減速処理を行うことで対象物が加工プログラムにおいて指定される経路よりも内側を通ることが知られている。このため、円弧状の移動経路を指定するブロックの開始時に加減速の時定数(加速度)を徐々に小さくすることにより、移動経路の誤差を小さくすることが提案されている(例えば特許文献1参照)。
特開平3-292508号公報
 ブロック開始時に加減速の時定数を小さくすると、このブロックの開始直後の増速のための速度データと、1つ前のブロックの終点で減速停止するための速度とを足し合わせたときに、駆動軸の能力を超える速度又は振動を発生する過大な加速度を要求するものとなる可能性がある。このため、移動経路の誤差を抑制しつつ、過大な速度及び加速度を要求しない技術が望まれる。
 本開示の一態様に係る数値制御装置は、対象の指定速度をそれぞれ特定する複数の指令ブロックを含む加工プログラムに従って、前記対象を駆動する複数の駆動軸を有する加工装置を制御する数値制御装置であって、前記複数の指令ブロックのうち、少なくとも曲線移動を指定する曲線ブロックについて、前記指定速度を、最初にゼロから前修正時定数で加速し、最後にゼロまで前記前修正時定数で減速するよう修正した合成速度を算出する合成速度算出部と、前記合成速度を実現する各駆動軸の時間毎の前修正速度を算出する前修正速度算出部と、を備える。
 本開示の一態様に係る数値制御プログラムは、対象の指定速度をそれぞれ特定する複数の指令ブロックを含む加工プログラムに従って、前記対象を駆動する複数の駆動軸を有する加工装置を制御するための数値制御プログラムであって、前記複数の指令ブロックのうち、少なくとも曲線移動を指定する曲線ブロックについて、前記指定速度を、最初にゼロから前修正時定数で加速し、最後にゼロまで前記前修正時定数で減速するよう修正した合成速度を算出する合成速度算出制御部と、前記合成速度を実現する各駆動軸の時間毎の前修正速度を算出する前修正速度算出制御部と、を備える。
 本発明によれば、移動経路の誤差を抑制しつつ、過大な速度及び加速度を要求しない数値制御装置及び数値制御プログラムを提供できる。
本開示の一実施形態に係る数値制御装置の構成を示すブロック図である。 加工プログラムによって特定される移動経路の一例を示す図である。 図1の数値制御装置が図2の移動経路を実現するために算出する各種速度を示す図である。 図2の移動経路と、曲線ブロックについて前修正速度を算出した場合の移動経路と、曲線ブロックついて後修正速度を算出した場合の移動経路とを示す図である。 加工プログラムに従う場合、前修正速度を算出した場合及び後修正速度を算出した場合の移動速度の時間変化を示すグラフである。
 以下、本発明の実施形態について図面を参照しながら説明する。図1は、本開示の一実施形態に係る数値制御装置1の構成を示すブロック図である。
 数値制御装置10は、対象(例えば工具、ワーク等)の指定速度をそれぞれ特定する複数の指令ブロックを含む加工プログラムに従って、対象を駆動する複数の駆動軸を有する加工装置を制御する。つまり、数値制御装置1は、加工装置の複数の駆動軸を駆動する駆動回路(サーボドライブ)20に指令値を入力する。加工プログラムの中で、指令ブロックは、一般的に、移動経路の始点及び終点の座標と、移動速度とを指定することにより、対象の移動経路を特定する。
 数値制御装置10は、例えばCPU、メモリ、入出力インターフェイス等を有するコンピュータ装置に、本開示に係る数値制御プログラムを実行させることにより実現することができる。数値制御装置10は、プログラム読込部11、前処理部12、ブロック判別部13、基準速度算出部14、後修正速度算出部15、合成速度算出部16、前修正速度算出部17及び出力速度算出部18を有する。これらの構成要素は、数値制御装置10の機能を類別したものであって、物理構造及びプログラム構造において明確に区分できるものでなくてもよい。
 プログラム読込部11は、記憶媒体に記憶されている加工プログラムを指令ブロックごとに作業メモリ内に読み込む。プログラム読込部11は、記憶領域の容量が許す範囲内で、後で実行すべき指令ブロックを前もって読み込んでもよい。
 前処理部12は、加工プログラムにおいて連続して処理すべき指令ブロックの最初と最後にステップ状の速度変化が指定されている場合、許容範囲内の加速度で速度変化するよう、指令ブロックの内容を修正する。
 ブロック判別部13は、指令ブロックが対象の直線移動を指定する直線ブロックであるか対象の曲線移動を指定する曲線ブロックであるかを判別する。
 基準速度算出部14は、直線ブロックについて、指定速度を実現する各駆動軸の時間毎の速度の理想値である基準速度を算出する。つまり、基準速度算出部14は、指令ブロックにより特定される対象の移動経路の始点と終点との間での各駆動軸の時間毎の速度の理想値(指令ブロックに忠実な移動を再現する速度)を算出する。このため、基準速度算出部14は、指令ブロックの始点と終点との間における速度指令値を補間する演算を行う。
 後修正速度算出部15は、基準速度算出部14が算出した基準速度を、最初にゼロから後修正時定数で加速し、最後にゼロまで後修正時定数で減速するよう修正した後修正速度を算出する。従って、後修正速度は、速度が徐々に増大する加速区間、速度が一定の定速区間、及び速度が徐々に減少する減速区間をこの順番に有する。後修正時定数は、加工装置の特性等に応じて、予め設定される。
 後修正速度算出部15は、後修正速度を、基準速度の始点時刻から加速するとともに、基準速度の終点時刻から減速するよう定めることが好ましい。つまり、後修正速度算出部15は、基準速度の始点時刻における駆動軸の速度をゼロとし、基準速度の始点時刻から駆動軸の加速を開始するよう、基準速度の時間変化を修正することによって、当該指令ブロックにおける後修正速度の最初の時間変化を決定することが好ましい。また、後修正速度算出部15は、基準速度の始点時刻における駆動軸の速度を基準速度算出部14が算出した速度とし、基準速度の始点時刻から駆動軸の減速を開始するよう、基準速度の時間変化を修正(終点時刻の後に速度変化を付加)することによって、当該指令ブロックにおける後修正速度の最後の時間変化を決定することが好ましい。このような後修正速度は、例として、ある時刻の後修正速度を、当該時刻よりも後修正時定数だけ前の時刻から当該時刻までの基準速度の平均値として算出できる。
 合成速度算出部16は、曲線ブロックについて、指定速度を、最初にゼロから前修正時定数で加速し、最後にゼロまで前修正時定数で減速するよう修正した合成速度を算出する。つまり、合成速度算出部16は、時刻毎の駆動軸の速度を算出する前に、時刻毎の駆動軸の速度の算出根拠となる対象の移動速度を修正する。この合成速度算出部16は、曲線ブロックが指定する移動経路上で加速及び減速を行う。つまり、合成速度算出部16は、指定速度の加速及び減速を、角速度の変化として算出する。
 合成速度算出部16は、加速区間の前修正時定数と減速区間の前修正時定数とを異なる値に設定してもよく、指令ブロックごとに前修正時定数の値を異なる値に設定してもよい。ただし、合成速度算出部16は、直前の指令ブロックが直線ブロックである場合には、前修正時定数を直前の指令ブロックに適用される後修正時定数と等しくすることが好ましい。これにより、合成速度算出部16による曲線ブロックの最初の移動速度の減速が、後修正速度算出部15が直前の直線ブロックの速度変化の最後に付加した減速部分によって相殺される。このため、直線ブロックと曲線ブロックとの境界においていびつな速度変化が生じないため、加工装置の振動等が抑制される。また、曲線ブロックが連続し、先の曲線ブロックの終点における移動方向と後の曲線ブロックの始点における移動方向とが一致する場合、先の曲線ブロックの減速区間の前修正時定数及び後の曲線ブロックの加速区間の前処理時定数は、ゼロであってもよい。
 前修正速度算出部17は、合成速度算出部16が算出した合成速度を実現する各駆動軸の時間毎の速度である前修正速度を算出する。このように、指令ブロックに基づく速度変化を始点近傍及び終点近傍で過大な速度変化が生じないように修正した合成速度に基づいて、始点と終点との間の速度変化を補間することで、指令ブロックにより特定される移動経路からの実際の対象の移動経路のずれを小さくすることができる。
 出力速度算出部18は、後修正速度算出部15が算出した後修正速度と、前修正速度算出部17が算出した前修正速度とを加算した出力速度を算出する。つまり、出力速度算出部18は、先の指令ブロックの終点時刻と次の指令ブロックの始点時刻を重ね合わせるようにして、各指令ブロックの後修正速度又は前修正速度を繋ぎ合わせることで、各駆動軸の速度の時間変化を指定する出力速度を算出する。これにより、過大な速度及び加速度を要求することなく、複数の指令ブロックによって特定される複雑な移動経路に沿って比較的正確に対象を移動させられる指令値を駆動回路20に入力できる。
 以上の説明から明らかなように、数値制御装置10を実現するための本開示に係る数値制御プログラムは、プログラム読込部11を実現するプログラム読込制御部と、前処理部12を実現する前処理制御部と、ブロック判別部13を実現するブロック判別制御部と、基準速度算出部14を実現する基準速度算出制御部と、後修正速度算出部15を実現する後修正速度算出制御部と、合成速度算出部16を実現する合成速度算出制御部と、前修正速度算出部17を実現する前修正速度算出制御部と、出力速度算出部18を実現する出力速度算出制御部と、を備える。本開示に係る数値制御プログラムは、プログラムを非一時的に記憶する記憶媒体に記憶された状態で提供され得る。
 数値制御装置10における加工プログラムからの出力速度の算出について、具体的に説明する。例として、加工プログラムが、図2に示すように、第1直線ブロックN1、曲線ブロックN2及び第2直線ブロックN3をこの順番に連続して有する場合を説明する。この例では、加工装置は、対象をX方向に移動させるX方向駆動軸と、対象をY方向に移動させるY方向駆動軸と、を有し、対象をX-Y平面上で移動させる。
 図3は、図2の第1直線ブロックN1、曲線ブロックN2及び第2直線ブロックN3について、指令ブロックごとの指定速度と、駆動軸ごとの合成速度、前修正速度、基準速度、後修正速度及び出力速度を示す。なお、図中のマーカは、速度の値が特定される点を示す。
 図示する例において第1直線ブロックN1、曲線ブロックN2及び第2直線ブロックN3における指定速度(移動速度の絶対値)は変化せずその向きだけが変化している。具体的には、第1直線ブロックN1は、X方向の等速移動を指定し、曲線ブロックN2は、中心角90°の円弧を描く等速移動を指定し、第2直線ブロックN3はY方向の等速移動を指定する。
 基準速度算出部14は、第1直線ブロックN1の速度及び第2直線ブロックN3の速度をそれぞれX方向の成分とY方向の成分とに分解し、X方向の成分及びY方向の成分の時間毎の値を算出(補間)する。これにより、X方向駆動軸の各時刻における速度の連続データであるX軸基準速度と、Y方向駆動軸の速度である各時刻における速度の連続データであるY軸基準速度と、が得られる。第1直線ブロックN1は、一定の値を有するX軸基準速度と値を有しない(速度が常にゼロである)Y軸基準速度とによって表される。第2直線ブロックN3は、値を有しないX軸基準速度と一定の値を有するY軸基準速度とによって表される。
 後修正速度算出部15は、X軸基準速度及びY軸基準速度を所定の後修正時定数で加速及び減速するよう修正することで、X軸後修正速度及びY軸後修正速度を算出する。図示する例では、X軸後修正速度及びY軸後修正速度は、X軸基準速度及びY軸基準速度の始点時刻から加速し、X軸基準速度及びY軸基準速度の終点時刻から減速している。この結果、第1直線ブロックN1は、台形状に速度変化するX軸後修正速度と値を有しないY軸後修正速度とによって表される。第2直線ブロックN3は、値を有しないX軸後修正速度と台形状に速度変化するY軸後修正速度とによって表される。
 合成速度算出部16は、曲線ブロックN2の指定速度を修正して、最初にゼロから前修正時定数で加速し、最後にゼロまで前修正時定数で減速する合成速度を算出する。これにより、曲線ブロックN2は、絶対値が台形状に速度変化する合成速度によって表される。曲線ブロックN2の前修正時定数は、直前の第1直線ブロックN1に適用された後修正時定数と等しく設定される。
 前修正速度算出部17は、合成速度を実現できるX方向駆動軸及びY方向駆動軸の時刻毎の速度であるX軸前修正速度及びY軸前修正速度を算出する。曲線ブロックN2の経路の中心から見て、その時刻における対象の位置の始点位置からの角度をθとすると、X軸前修正速度は、合成速度にsinθを乗じたものとなり、Y軸前修正速度は、合成速度にcosθを乗じたものとなる。
 出力速度算出部18は、第1直線ブロックN1のX軸後修正速度と、曲線ブロックN2のX軸前修正速度と、第2直線ブロックN3のX軸後修正速度と、を加算することによって、X方向駆動軸の動作指令値となるX軸出力速度を算出し、第1直線ブロックN1のY軸後修正速度と、曲線ブロックN2のY軸前修正速度と、第2直線ブロックN3のY軸後修正速度と、を加算することによって、Y方向駆動軸の動作指令値となるY軸出力速度を算出する。
 第1直線ブロックN1のX軸後修正速度の減速区間と曲線ブロックN2のX軸前修正速度の加速区間とは時間的に重複するため、この時間範囲では、第1直線ブロックN1のX軸後修正速度と曲線ブロックN2のX軸前修正速度とを足し合わせた速度がX軸出力速度となる。同様に、曲線ブロックN2のX軸前修正速度の減速区間と第2直線ブロックN3のX軸後修正速度の加速区間とも足し合わされる。減速区間を付加するための速度増加と、加速区間を形成するための速度減少とが相殺し合うため、X軸出力速度は、過度に大きい速度又は加速度を含まず連続的に増減する変化となり、対象の移動経路の誤差も抑制される。また、Y軸出力速度についても、X軸出力速度と同様にY、軸後修正速度及びY軸前修正速度の減速区間と加速区間とが足し合わされ、過度に大きい速度又は加速度を含まず連続的に増減する変化となり、対象の移動経路の誤差も抑制される。
 図4に、図2の加工プログラムにおいて指定される対象の移動経路と、数値制御装置10の動作指令値(曲線ブロックN2について合成速度算出部16及び前修正速度算出部17により前修正速度を算出した場合の動作指令値)に従う経路と、曲線ブロックN2についても基準速度算出部14及び後修正速度算出部15により後修正速度を算出した場合の動作指令値に従う経路とを示す。また、図5には、図4に対応する対象の移動速度の時間変化を示す。
 前修正速度を算出した場合の移動経路(実線)及び後修正速度を算出した場合の移動経路(二点鎖線)は、加工プログラムが指定する移動経路(一点鎖線)における円弧移動開始点AにおいてY軸方向の加速が始まり、点C1及びC2においてそれぞれY軸方向の加速が完了する。前修正速度を算出した場合の加速距離L1は、後修正速度を算出した場合の加速距離L2よりも短くなる。このため、前修正速度を算出した場合の速度勾配は、後修正速度を算出した場合の速度勾配よりも大きくなる。
 以上のように、数値制御装置10は、曲線ブロックの指定速度に加速区間及び減速区間を設けた合成速度を算出してから、各軸の時刻毎の速度である前修正速度を算出することによって、移動経路の誤差を抑制しつつ、過大な速度及び加速度を要求しない。
 以上、本開示に係る数値制御装置及び数値制御プログラムの実施形態について説明したが、本開示に係る数値制御装置及び数値制御プログラムは前述した実施形態に限るものではない。また、上述の実施形態に記載された効果は、本開示に係る数値制御装置及び数値制御プログラムから生じる最も好適な効果を列挙したに過ぎず、本開示に係る数値制御装置及び数値制御プログラムによる効果は、上術の実施形態に記載されたものに限定されるものではない。
 本開示に係る数値制御装置及び数値制御プログラムにおいて、曲線ブロックは、円弧を特定するものに限られず、例えば楕円曲線、渦巻き曲線、インボリュート曲線などの2次元曲線、ヘリカル曲線等の3次元曲線を特定するものであってもよい。
 本開示に係る数値制御装置及び数値制御プログラムは、曲線ブロックと直線ブロックとを判別せず、直線ブロックも合成速度算出部及び前修正速度算出部で処理して前修正速度を算出するよう構成されてもよい。
 10 数値制御装置
 11 プログラム読込部
 12 前処理部
 13 ブロック判別部
 14 基準速度算出部
 15 後修正速度算出部
 16 合成速度算出部
 17 前修正速度算出部
 18 出力速度算出部
 20 駆動回路

Claims (5)

  1.  対象の指定速度をそれぞれ特定する複数の指令ブロックを含む加工プログラムに従って、前記対象を駆動する複数の駆動軸を有する加工装置を制御する数値制御装置であって、
     前記複数の指令ブロックのうち、少なくとも曲線移動を指定する曲線ブロックについて、前記指定速度を、最初にゼロから前修正時定数で加速し、最後にゼロまで前記前修正時定数で減速するよう修正した合成速度を算出する合成速度算出部と、
     前記合成速度を実現する各駆動軸の時間毎の前修正速度を算出する前修正速度算出部と、
    を備える、数値制御装置。
  2.  前記指令ブロックが前記曲線ブロックであるか直線移動を指定する直線ブロックであるかを判別するブロック判別部と、
     前記直線ブロックについて、前記指定速度を実現する各駆動軸の時間毎の基準速度を算出する基準速度算出部と、
     前記基準速度を、最初にゼロから後修正時定数で加速し、最後にゼロまで前記後修正時定数で減速するよう修正した後修正速度を算出する後修正速度算出部と、
     前記前修正速度と前記後修正速度とを加算した出力速度を算出する出力速度算出部と、
    をさらに備える、請求項1に記載の数値制御装置。
  3.  合成速度算出部は、前記合成速度を、前記曲線ブロックの始点時刻から加速するとともに、前記曲線ブロックの終点時刻から減速するよう定め、
     前記後修正速度算出部は、前記後修正速度を、前記基準速度の始点時刻から加速するとともに、前記基準速度の終点時刻から減速するよう定める、請求項2に記載の数値制御装置。
  4.  前記合成速度算出部は、直前の前記指令ブロックが前記直線ブロックである場合には、前記前修正時定数を直前の前記直線ブロックに適用される前記後修正時定数と等しくする、請求項2又は3に記載の数値制御装置。
  5.  対象の指定速度をそれぞれ特定する複数の指令ブロックを含む加工プログラムに従って、前記対象を駆動する複数の駆動軸を有する加工装置を制御するための数値制御プログラムであって、
     前記複数の指令ブロックのうち、少なくとも曲線移動を指定する曲線ブロックについて、前記指定速度を、最初にゼロから前修正時定数で加速し、最後にゼロまで前記前修正時定数で減速するよう修正した合成速度を算出する合成速度算出制御部と、
     前記合成速度を実現する各駆動軸の時間毎の前修正速度を算出する前修正速度算出制御部と、
    を備える、数値制御プログラム。
PCT/JP2022/012571 2021-03-24 2022-03-18 数値制御装置及び数値制御プログラム WO2022202656A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202280013877.7A CN116917822A (zh) 2021-03-24 2022-03-18 数值控制装置以及数值控制程序
US18/261,209 US20240077845A1 (en) 2021-03-24 2022-03-18 Numerical controller and numerical control program
DE112022000420.7T DE112022000420T5 (de) 2021-03-24 2022-03-18 Numerische Steuereinrichtung und ein numerisches Steuerprogramm
JP2023509122A JPWO2022202656A1 (ja) 2021-03-24 2022-03-18

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-049701 2021-03-24
JP2021049701 2021-03-24

Publications (1)

Publication Number Publication Date
WO2022202656A1 true WO2022202656A1 (ja) 2022-09-29

Family

ID=83397264

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/012571 WO2022202656A1 (ja) 2021-03-24 2022-03-18 数値制御装置及び数値制御プログラム

Country Status (5)

Country Link
US (1) US20240077845A1 (ja)
JP (1) JPWO2022202656A1 (ja)
CN (1) CN116917822A (ja)
DE (1) DE112022000420T5 (ja)
WO (1) WO2022202656A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0199103A (ja) * 1987-10-13 1989-04-18 Yamatake Honeywell Co Ltd ロボット制御装置
JPH03292508A (ja) * 1990-04-11 1991-12-24 Brother Ind Ltd サーボ制御装置
JPH06110534A (ja) * 1992-09-29 1994-04-22 Intetsuku:Kk 工作機械における位置制御方法
JPH06187026A (ja) * 1992-12-19 1994-07-08 Toyoda Mach Works Ltd 軌跡制御装置
JP2020019125A (ja) * 2018-08-03 2020-02-06 パナソニックIpマネジメント株式会社 ロボット制御方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0199103A (ja) * 1987-10-13 1989-04-18 Yamatake Honeywell Co Ltd ロボット制御装置
JPH03292508A (ja) * 1990-04-11 1991-12-24 Brother Ind Ltd サーボ制御装置
JPH06110534A (ja) * 1992-09-29 1994-04-22 Intetsuku:Kk 工作機械における位置制御方法
JPH06187026A (ja) * 1992-12-19 1994-07-08 Toyoda Mach Works Ltd 軌跡制御装置
JP2020019125A (ja) * 2018-08-03 2020-02-06 パナソニックIpマネジメント株式会社 ロボット制御方法

Also Published As

Publication number Publication date
DE112022000420T5 (de) 2023-10-05
US20240077845A1 (en) 2024-03-07
JPWO2022202656A1 (ja) 2022-09-29
CN116917822A (zh) 2023-10-20

Similar Documents

Publication Publication Date Title
US9678500B2 (en) Machining program creating device numerical control device, machining system, machining program creating method, numerical control method, and machining program
US9757834B2 (en) Track control apparatus
JP2010511919A (ja) 許容差ベースの経路設計と制御の方法
JP5366840B2 (ja) 軌跡制御装置
JPH0378006A (ja) 数値制御装置の加減速制御方法
WO2022202656A1 (ja) 数値制御装置及び数値制御プログラム
US5740327A (en) Method of and apparatus for robot tip trajectory control
JP2017084239A (ja) 曲率と曲率変化量による速度制御を行う数値制御装置
JP2007279899A (ja) 数値制御装置
US10579044B2 (en) Computer readable information recording medium, evaluation method, and control device
JPH0764622A (ja) ロボットの軌道補間装置
JPH07210225A (ja) 数値制御装置
JP4407083B2 (ja) 指令値生成方法および指令値生成システム
JP3287225B2 (ja) レーザ加工機用数値制御装置の補間装置および補間方法
JP2001188605A (ja) 曲線補間方法
JP2000163114A (ja) 補間曲線内加減速処理方法
JPS63206806A (ja) Nc制御装置の先行精度補償方法
JPH07200034A (ja) 加工ヘッドの加減速制御装置および加減速制御方法
US20210260761A1 (en) Method And Control System For Controlling An Industrial Actuator
JP5679898B2 (ja) 軌跡制御装置
JP5143661B2 (ja) Nc旋盤の制御方法及び制御装置
JPH11194813A (ja) 産業用機械の動作指令作成方法
JP3203288B2 (ja) 数値制御装置
JPS63126008A (ja) 多軸サーボ機構の定速度円弧軌跡制御装置
US20220410393A1 (en) Method of Controlling Industrial Actuator, Control System and Actuator System

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: 22775444

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2023509122

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 18261209

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 202280013877.7

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 112022000420

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22775444

Country of ref document: EP

Kind code of ref document: A1