WO2023073934A1 - 数値制御装置 - Google Patents

数値制御装置 Download PDF

Info

Publication number
WO2023073934A1
WO2023073934A1 PCT/JP2021/040044 JP2021040044W WO2023073934A1 WO 2023073934 A1 WO2023073934 A1 WO 2023073934A1 JP 2021040044 W JP2021040044 W JP 2021040044W WO 2023073934 A1 WO2023073934 A1 WO 2023073934A1
Authority
WO
WIPO (PCT)
Prior art keywords
interpolation
speed
deceleration
target
remaining
Prior art date
Application number
PCT/JP2021/040044
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 PCT/JP2021/040044 priority Critical patent/WO2023073934A1/ja
Publication of WO2023073934A1 publication Critical patent/WO2023073934A1/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/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

Definitions

  • the present invention relates to a numerical controller.
  • the numerical controller controls the operation of the machine tool by interpolating the movement amount for each block of the machining program by dividing it by the movement amount for each interpolation cycle.
  • the movement amount of one block is divided by the movement amount for each interpolation period, there may be a surplus movement amount.
  • a technique that does not generate a large amount of movement by temporarily interrupting deceleration due to the set constant acceleration during deceleration. See Patent Document 1, for example.
  • a technique in which a preset constant acceleration is decelerated with an adjusted acceleration in the first interpolation cycle when deceleration is started, and deceleration is performed with the constant acceleration in the remaining interpolation cycles so as not to generate a large amount of movement. ing. See Patent Document 2, for example.
  • FIG. 5 is a diagram showing an example of deceleration processing in Patent Document 1.
  • FIG. 6 is a diagram showing an example of deceleration processing in Patent Document 2.
  • time ta which is the timing of the interpolation cycle, to start the actual deceleration (indicated by the dashed-dotted line).
  • Patent Document 1 deceleration at time td, for example, is temporarily interrupted in order to prevent the difference between the actual deceleration and the ideal deceleration, that is, the amount of movement to be excessive.
  • the temporary suspension of deceleration causes the deceleration torque to fluctuate during deceleration, which causes vibration in the drive system of the machine tool.
  • Patent Document 2 as shown in FIG. 6, in the first interpolation cycle at the start of deceleration, a predetermined constant acceleration is decelerated with an adjusted acceleration, and in the subsequent interpolation cycles, compared with the case of FIG. Use the remainder by increasing the speed of all interpolations during deceleration.
  • controlling the adjustment or change of the acceleration at the start of deceleration requires estimating the amount of deceleration movement at the start of deceleration. Also, in order to accurately estimate the amount of deceleration movement, it is necessary to grasp a model of acceleration change. However, for example, in the control of a mechanism such as a galvanometer scanner, kinematic conversion, focus position control, calibration, etc. are intervened in order to convert the beam irradiation point (on the workpiece plane) velocity to the motor control point velocity. , at which time a non-constant change occurs in the acceleration. In this case, it is difficult to accurately estimate the deceleration movement amount, and the adjustment amount at the start of deceleration and the subsequent acceleration may not be calculated correctly.
  • One aspect of the numerical control apparatus of the present disclosure includes a remaining movement amount calculation unit that calculates the remaining movement amount of a block included in a machining program, a command speed, a corner speed, and a specified a deceleration interval calculation unit that calculates a remaining deceleration interval based on the acceleration that has been obtained; a target speed calculation unit that calculates a target speed in the interpolation of the processing target based on the remaining movement amount and the remaining deceleration interval; a pre-interpolation acceleration/deceleration processing unit that commands the target speed in interpolation after the interpolation in which the calculated target speed value becomes equal to or less than the command speed.
  • FIG. 1 is a functional block diagram showing a functional configuration example of a numerical controller according to an embodiment
  • FIG. It is a figure which shows an example of the relationship between an interpolation period and command speed.
  • a specific embodiment of the numerical control device will be described by exemplifying the case of decelerating a drive unit such as a servo axis of a machine tool. It should be noted that the present invention is not limited to the case of decelerating the drive unit, but can also be applied to the case of accelerating the drive unit, for example.
  • FIG. 1 is a functional block diagram showing a functional configuration example of a numerical controller according to one embodiment.
  • the numerical control device 1 is a numerical control device known to those skilled in the art, and may be directly connected to a machine tool (not shown) via a connection interface (not shown). Further, the numerical controller 1 may be connected to a machine tool (not shown) via a network (not shown) such as a LAN (Local Area Network) or the Internet. In this case, the numerical controller 1 may include a communication section (not shown) for communicating with a machine tool (not shown) through such connection.
  • LAN Local Area Network
  • the numerical controller 1 generates an operation command based on, for example, a machining program acquired from a CAD/CAM device (not shown) or the like, and transmits the generated operation command to a machine tool (not shown). Thereby, the numerical controller 1 controls the operation of the machine tool (not shown). If the machine tool (not shown) is a robot or the like, the numerical control device 1 may be a robot control device or the like.
  • the numerical controller 1 has a control section 10 .
  • the control unit 10 also includes a pre-interpolation acceleration/deceleration processing unit 110 , an interpolation processing unit 120 , and a drive axis control unit 130 .
  • the pre-interpolation acceleration/deceleration processing unit 110 also includes a remaining movement amount calculation unit 111 , a deceleration section calculation unit 112 , and a target speed calculation unit 113 .
  • the control unit 10 has a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), a CMOS (Complementary Metal-Oxide-Semiconductor) memory, etc., which communicate with each other via a bus. known to those skilled in the art.
  • the CPU is a processor that controls the numerical controller 1 as a whole.
  • the CPU reads the system program and application program stored in the ROM through the bus, and controls the entire numerical controller 1 according to the system program and application program.
  • the control unit 10 is configured to realize the functions of the pre-interpolation acceleration/deceleration processing unit 110, the interpolation processing unit 120, and the drive axis control unit .
  • the pre-interpolation acceleration/deceleration processing unit 110 is configured to implement the functions of the remaining movement amount calculation unit 111 , the deceleration section calculation unit 112 , and the target speed calculation unit 113 .
  • Various data such as temporary calculation data and display data are stored in the RAM.
  • the CMOS memory is backed up by a battery (not shown), and configured as a non-volatile memory that retains the stored state even when the power of the numerical controller 1 is turned off.
  • the remaining movement amount calculator 111 calculates the remaining movement amount of the blocks included in the machining program.
  • the interpolation cycle T is 1 ms/1 interpolation, and after the driving unit such as the servo axis of the machine tool (not shown) moves at the command speed V, the corner A case of decelerating to speed Vc will be described as an example.
  • FIG. 2 is a diagram showing an example of the relationship between the interpolation period T and the command speed V. As shown in FIG. In FIG.
  • the corner is reached in the deceleration section of the interpolation cycle T n times at the specified acceleration A [mm/ms/ms] indicated by the dashed line from time tN. Decelerate to speed Vc.
  • the remaining movement amount calculator 111 calculates the remaining movement amount Dr by adding the buffered movement amount for each interpolation period T (i is an integer equal to or greater than 1) using Equation (2).
  • Dr d_i+d_(i+1)+d_(i+2)+...+d_N (2)
  • d_i indicates the amount of movement of the current block in the interpolation period T
  • d_N indicates the amount of movement in the last interpolation period of the block.
  • t0 to tN indicate interpolation times.
  • the target speed calculation unit 113 calculates the target speed V target in the current (processing target) interpolation cycle T based on the remaining movement amount Dr and the interpolation number n of the remaining deceleration section.
  • the interpolation number n of the remaining deceleration section from the current command speed V to the corner speed Vc is the period from time tN to time tN+n ⁇ T.
  • the remaining movement amount Dr in the first interpolation period T (from time tN to time tN+T) at the start of deceleration is defined by the target speed V target at time tN as the lower base and the corner speed Vc at time tN+n ⁇ T as the upper base.
  • V target 2 ⁇ Dr/(n ⁇ T+1) ⁇ Vc (4)
  • the target speed calculation unit 113 calculates the target speed V target in the current (processing target) interpolation using Equation (4).
  • the pre-interpolation acceleration/deceleration processing unit 110 commands the target speed V target in the interpolation after the interpolation when the value of the target speed V target calculated by the target speed calculation unit 113 is equal to or lower than the command speed V. Further, the pre-interpolation acceleration/deceleration processing unit 110 decrements the interpolation number n by one when the value of the target speed V target becomes equal to or less than the command speed V. FIG. That is, the pre-interpolation acceleration/deceleration processing unit 110 outputs a deceleration command to the interpolation processing unit 120 described later until the target speed V target reaches the corner speed Vc.
  • FIG. 3 is a diagram showing the relationship between the target speed V target , the command speed V, and the remaining movement amount Dr.
  • the horizontal axis indicates time [ms]
  • the left vertical axis indicates command speed [mm/ms]
  • the right vertical axis indicates remaining movement amount [mm].
  • the remaining movement amount calculator 111 calculates the remaining movement amount Dr as 110 at time t1, for example.
  • the pre-interpolation acceleration/deceleration processing unit 110 compares the command speed V (12 mm/ms) with the calculated target speed V target (18 mm/ms).
  • the pre-interpolation acceleration/deceleration processing unit 110 does not output a deceleration command to the interpolation processing unit 120 because the target speed V target is higher than the command speed V.
  • the pre-interpolation acceleration/deceleration processing unit 110 maintains the interpolation number n at "10".
  • the pre-interpolation acceleration/deceleration processing unit 110 does not output a deceleration command to the interpolation processing unit 120 because the target speed V target is higher than the command speed V.
  • the pre-interpolation acceleration/deceleration processing unit 110 maintains the interpolation number n at "10".
  • the pre-interpolation acceleration/deceleration processing unit 110 does not output a deceleration command to the interpolation processing unit 120 because the target speed V target is higher than the command speed V.
  • the pre-interpolation acceleration/deceleration processing unit 110 maintains the interpolation number n at "10".
  • the pre-interpolation acceleration/deceleration processing unit 110 Since the target speed V target is equal to or less than the command speed V, the pre-interpolation acceleration/deceleration processing unit 110 outputs a deceleration command to set the target speed V target to the command speed V to the interpolation processing unit 120 . Then, the pre-interpolation acceleration/deceleration processing unit 110 decrements the interpolation number n by one to "9".
  • the pre-interpolation acceleration/deceleration processing unit 110 Since the target speed V target is equal to or less than the command speed V, the pre-interpolation acceleration/deceleration processing unit 110 outputs a deceleration command to set the target speed V target to the command speed V to the interpolation processing unit 120 . Then, the pre-interpolation acceleration/deceleration processing unit 110 decrements the interpolation number n by one to "8". Thereafter, the pre-interpolation acceleration/deceleration processing unit 110 similarly outputs a deceleration command to the interpolation processing unit 120 until time t14 when the target speed V target becomes the corner speed Vc. By doing so, the numerical controller 1 can suppress the occurrence of the deviation shown in FIG. 6 without temporarily interrupting the deceleration shown in FIG.
  • the interpolation processing unit 120 performs interpolation processing on the paths of the spindle of a machine tool (not shown), tools, etc., for each interpolation cycle T, based on the machining program and the command speed from the pre-interpolation acceleration/deceleration processing unit 110, for example. .
  • the drive axis control unit 130 controls drive axes included in a machine tool (not shown) based on the result of interpolation processing by the interpolation processing unit 120, for example.
  • FIG. 4 is a flow chart for explaining speed correction processing of the numerical controller 1 .
  • the flow shown here is repeatedly executed each time the machining program is executed.
  • step S1 the remaining movement amount calculation unit 111 calculates the remaining movement amount Dr by adding the buffered movement amount for each interpolation period T using Equation (2).
  • step S2 the deceleration interval calculation unit 112 calculates the interpolation number n of the remaining deceleration interval using equation (3).
  • step S3 the target speed calculation unit 113 calculates the current speed based on the remaining movement amount Dr calculated in step S1 and the interpolation number n of the remaining deceleration section calculated in step S2 using equation (4).
  • a target velocity V target in the interpolation of (processing target) is calculated.
  • step S4 the pre-interpolation acceleration/deceleration processing unit 110 determines whether or not the target speed V target is equal to or less than the command speed V.
  • the process proceeds to step S5.
  • the process returns to step S1.
  • step S5 the pre-interpolation acceleration/deceleration processing unit 110 decrements the interpolation number n by one.
  • step S6 the pre-interpolation acceleration/deceleration processing unit 110 outputs the target speed V target calculated in step S3 to the interpolation processing unit 120 as the command speed V.
  • step S7 the pre-interpolation acceleration/deceleration processing unit 110 determines whether or not there is a next block in the machining program. If there is a next block, the process returns to step S1. On the other hand, if there is no next block, the control processing of the numerical controller 1 ends.
  • the numerical control apparatus 1 can determine the number of interpolations n is calculated, and the target speed V target in the current (processing target) interpolation is calculated based on the remaining movement amount Dr and the interpolation number n of the remaining deceleration section, and if the target speed V target is equal to or higher than the command speed V The target velocity V-- target is commanded in the interpolations after the interpolations that have not occurred.
  • the numerical controller 1 can decelerate without deviation from the corner speed while keeping the behavior during deceleration constant.
  • the constant behavior of the numerical controller 1 can reduce the shock of the drive system of the machine tool (not shown), and the absence of deviation facilitates the adjustment of the drive system. can. Further, the numerical controller 1 can keep the corner shape constant. Further, even if a calculation error occurs in the internal processing, the numerical controller 1 controls the speed so as not to accumulate the error, so control with good target followability is possible.
  • the numerical control device 1 is not limited to the above-described embodiment, and includes modifications, improvements, etc. within a range that can achieve the purpose.
  • the numerical controller 1 decelerates from the current command speed V to the corner speed Vc, but it is not limited to this.
  • the numerical controller 1 may be applied to acceleration from the current command speed V to a predetermined speed Va (Va>V).
  • Each function included in the numerical control device 1 can be realized by hardware, software, or a combination thereof.
  • “implemented by software” means implemented by a computer reading and executing a program.
  • Non-transitory computer-readable media include various types of tangible storage media.
  • Examples of non-transitory computer-readable media include magnetic recording media (e.g., flexible discs, magnetic tapes, hard disk drives), magneto-optical recording media (e.g., magneto-optical discs), CD-ROMs (Read Only Memory), CD- R, CD-R/W, semiconductor memory (eg, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM).
  • the program may also be supplied to the computer on various types of transitory computer readable medium. Examples of transitory computer-readable media include electrical signals, optical signals, and electromagnetic waves. Transitory computer-readable media can deliver the program to the computer via wired communication channels, such as wires and optical fibers, or wireless communication channels.
  • steps of writing a program recorded on a recording medium include not only processes that are executed chronologically in order, but also processes that are executed in parallel or individually, even if they are not necessarily processed chronologically. is also included.
  • the numerical control device of the present disclosure can take various embodiments having the following configurations.
  • the numerical control device 1 of the present disclosure includes a remaining movement amount calculation unit 111 that calculates the remaining movement amount of a block included in a machining program, a command speed, a corner speed, and a and a deceleration interval calculation unit 112 that calculates a remaining deceleration interval based on the designated acceleration, and a target speed calculation unit 113 that calculates a target speed in the interpolation to be processed based on the remaining movement amount and the remaining deceleration interval. and a pre-interpolation acceleration/deceleration processing unit 110 for commanding the target speed in interpolation after the interpolation in which the calculated target speed value becomes equal to or less than the command speed. According to this numerical controller 1, it is possible to decelerate without any deviation from the corner speed while keeping the behavior during deceleration constant.
  • the target speed calculator 113 may calculate the target speed V target by Equation (5).
  • V target 2 ⁇ Dr/(n ⁇ T+1) ⁇ Vc (5)
  • Dr indicates the remaining movement amount
  • n indicates the number of interpolations in the remaining deceleration section
  • T indicates the interpolation period
  • Vc indicates the corner speed.
  • Reference Signs List 1 Numerical control device 10
  • Control unit 110 Pre-interpolation acceleration/deceleration processing unit 111 Remaining movement amount calculation unit 112 Deceleration section calculation unit 113 Target speed calculation unit 120
  • Interpolation processing unit 130 Drive axis control unit

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つ前の補間における指令速度、コーナ速度、及び指定された加速度に基づいて残り減速区間を算出する減速区間算出部と、前記残り移動量と、前記残り減速区間と、に基づいて前記処理対象の補間における目標速度を算出する目標速度算出部と、算出された前記目標速度の値が前記指令速度以下の値となった補間以降の補間で前記目標速度を指令する補間前加減速処理部と、を備える。

Description

数値制御装置
 本発明は、数値制御装置に関する。
 数値制御装置は、加工プログラムのブロック毎の移動量を補間周期毎の移動量で分割して補間することで、工作機械の動作を制御している。その際、1ブロックの移動量を補間周期毎の移動量で分割していくと、余り移動量が生じる場合がある。
 この点、設定された一定の加速度で減速させている途中で当該加速度による減速を一時中断することにより、余り移動量を生じさせない技術が知られている。例えば、特許文献1参照。
 また、減速開始時の最初の補間周期において予め設定された一定の加速度を調整した加速度で減速させ、残りの補間周期において当該一定の加速度で減速させることで余り移動量を生じさせない技術が知られている。例えば、特許文献2参照。
特開平6-289922号公報 特開2001-92518号公報
 図5は、特許文献1における減速処理の一例を示す図である。図6は、特許文献2における減速処理の一例を示す図である。
 図5に示すように、例えば、指令速度Vからコーナ速度Vcまで減速する理想的なタイミング(破線で示す)が時刻taと時刻tbとの間にあるとしても、補間周期のタイミングである時刻taで実際の減速(一点鎖線で示す)を開始する。そこで、特許文献1では、実際の減速と理想的な減速との差、すなわち余り移動量を生じないようにするために、例えば、時刻tdの減速を一時中断する。しかしながら、減速の一時中断により、減速トルクが減速途中で変動するため、工作機械の駆動系における振動の原因となるという問題がある。
 一方、特許文献2では、図6に示すように、減速開始時の最初の補間周期において予め設定された一定の加速度を調整した加速度で減速させ、以降の補間周期において、図5の場合と比べて減速中の全補間の速度を上昇させることで余り移動量を使用する。これにより、減速の一時中断は発生しないため、機械駆動系の振動は抑えられる。しかしながら、最終の補間周期の時刻tfにおいて、調整分だけコーナ速度Vcに対する偏差が発生するという問題がある。そして、当該偏差にはばらつきがあるため工作機械の調整が困難である。なお、図6の破線は、図5の特許文献1の減速のプロファイルを示す。
 また、減速開始時の加速度の調整や変更等の制御を行うということは、減速開始時点で、減速移動量の見積もりが必要である。また、減速移動量を正確に見積もるには、加速度変化のモデルを把握しておく必要がある。
 しかしながら、例えば、ガルバノスキャナのような機構の制御では、ビーム照射点(ワーク平面上での)速度をモータ制御点速度に変換するために、キネマティック変換、フォーカス位置制御、キャリブレーション等が介在し、このとき、加速度には一定でない変化が生じる。この場合、減速移動量を正確に見積もることが困難となり、減速開始時の調整量やその後の加速度を正しく計算することができないことがある。
 そこで、減速中の挙動を一定に保ちつつ、コーナ速度に対する偏差なしで減速することが望まれている。
 本開示の数値制御装置の一態様は、加工プログラムに含まれるブロックの残り移動量を算出する残り移動量算出部と、処理対象の補間の1つ前の補間における指令速度、コーナ速度、及び指定された加速度に基づいて残り減速区間を算出する減速区間算出部と、前記残り移動量と、前記残り減速区間と、に基づいて前記処理対象の補間における目標速度を算出する目標速度算出部と、算出された前記目標速度の値が前記指令速度以下の値となった補間以降の補間で前記目標速度を指令する補間前加減速処理部と、を備える。
 一態様によれば、減速中の挙動を一定に保ちつつ、コーナ速度に対する偏差なしで減速することができる。
一実施形態に係る数値制御装置の機能的構成例を示す機能ブロック図である。 補間周期と指令速度との関係の一例を示す図である。 目標速度と、指令速度と、残り移動量と、の関係の一例を示す図である。 数値制御装置の速度補正処理について説明するフローチャートである。 特許文献1における減速処理の一例を示す図である。 特許文献2における減速処理の一例を示す図である。
 数値制御装置の具体的な実施形態について、工作機械のサーボ軸等の駆動部を減速する場合を例示して説明する。なお、本発明は、駆動部を減速する場合に限定されず、例えば駆動部を加速する場合に対しても適用可能である。
<一実施形態>
 図1は、一実施形態に係る数値制御装置の機能的構成例を示す機能ブロック図である。
 数値制御装置1は、当業者にとって公知の数値制御装置であり、図示しない接続インタフェースを介して図示しない工作機械と直接接続されてもよい。また、数値制御装置1は、LAN(Local Area Network)やインターネット等の図示しないネットワークを介して図示しない工作機械と接続されていてもよい。この場合、数値制御装置1は、かかる接続によって図示しない工作機械と通信を行うための図示しない通信部を備えてもよい。
 数値制御装置1は、例えば、図示しないCAD/CAM装置等から取得した加工プログラムに基づいて動作指令を生成し、生成した動作指令を工作機械(図示しない)に送信する。これにより、数値制御装置1は、図示しない工作機械の動作を制御する。なお、図示しない工作機械がロボット等の場合、数値制御装置1は、ロボット制御装置等でもよい。
 図1に示すように、数値制御装置1は、制御部10を有する。また、制御部10は、補間前加減速処理部110、補間処理部120、及び駆動軸制御部130を有する。また、補間前加減速処理部110は、残り移動量算出部111、減速区間算出部112、及び目標速度算出部113を有する。
 制御部10は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、CMOS(Complementary Metal-Oxide-Semiconductor)メモリ等を有し、これらはバスを介して相互に通信可能に構成される、当業者にとって公知のものである。
 CPUは数値制御装置1を全体的に制御するプロセッサである。CPUは、ROMに格納されたシステムプログラム及びアプリケーションプログラムを、バスを介して読み出し、システムプログラム及びアプリケーションプログラムに従って数値制御装置1全体を制御する。これにより、図1に示すように、制御部10が、補間前加減速処理部110、補間処理部120、及び駆動軸制御部130の機能を実現するように構成される。また、補間前加減速処理部110は、残り移動量算出部111、減速区間算出部112、及び目標速度算出部113の機能を実現するように構成される。RAMには一時的な計算データや表示データ等の各種データが格納される。また、CMOSメモリは図示しないバッテリでバックアップされ、数値制御装置1の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。
 残り移動量算出部111は、加工プログラムに含まれるブロックの残り移動量を算出する。
 例えば、残り移動量算出部111の動作について、加工プログラムの1ブロックにおいて、補間周期Tが1ms/1補間で、図示しない工作機械のサーボ軸等の駆動部が指令速度Vで移動した後、コーナ速度Vcまで減速する場合を例示して説明する。
 図2は、補間周期Tと指令速度Vとの関係の一例を示す図である。図2では、工作機械(図示しない)へのショック等を考慮して、時刻tNから一点鎖線で示す指定された加速度A[mm/ms/ms]でn回の補間周期Tの減速区間でコーナ速度Vcまで減速する。
 この場合、1ブロックの移動量は、式(1)のように表せる。
1ブロックの移動量=d_1+d_2+d_3+・・・+d_N   (1)
d_1~d_Nは補間周期T毎の移動量を示し、Nは指令速度Vでの最後の補間周期Tを示す。
 残り移動量算出部111は、式(2)を用いて、残り移動量Drをバッファリングした補間周期T毎の移動量を加算することにより算出する(iは1以上の整数)。
Dr=d_i+d_(i+1)+d_(i+2)+・・・+d_N   (2)
 ここで、d_iは現在のブロックの補間周期Tの移動量を示し、d_Nは当該ブロックの最後の補間周期の移動量を示す。また、t0~tNは補間時刻を示す。
 減速区間算出部112は、例えば、処理対象の補間の1つ前(すなわち、補間周期T前)の補間における指令速度V、コーナ速度Vc、及び指定された加速度Aに基づいて残りの減速区間を算出する。
 具体的には、減速区間算出部112は、式(3)を用いて、現在(処理対象)の補間の1つ前の補間における指令速度V[mm/ms]からコーナ速度Vc[mm/ms]まで指定された加速度A[mm/ms/ms]で減速するのに必要な残り減速区間の補間数nを算出する。
n=(V-Vc)/(A×T)   (3)
 目標速度算出部113は、残り移動量Drと、残り減速区間の補間数nと、に基づいて現在(処理対象)の補間周期Tにおける目標速度Vtargetを算出する。
 例えば、図2の場合、現在の指令速度Vからコーナ速度Vcまでの残り減速区間の補間数nは、時刻tNから時刻tN+n×Tの期間である。
 この場合、減速開始時の最初の補間周期T(時刻tNから時刻tN+T)における残り移動量Drは、時刻tNにおける目標速度Vtargetを下底とし時刻tN+n×Tにおけるコーナ速度Vcを上底とし時刻tNから時刻tN+n×Tの時間(n×T+1)を高さとする台形の面積と等しいとする、Dr=(Vtarget+Vc)×(n×T+1)/2の関係から、式(4)が導出される。
target=2×Dr/(n×T+1)-Vc   (4)
 目標速度算出部113は、式(4)を用いて、現在(処理対象)の補間における目標速度Vtargetを算出する。
 補間前加減速処理部110は、目標速度算出部113により算出された目標速度Vtargetの値が指令速度V以下の値となった補間以降の補間で目標速度Vtargetを指令する。また、補間前加減速処理部110は、目標速度Vtargetの値が指令速度V以下の値となった場合、補間数nを1ずつ減らす。すなわち、補間前加減速処理部110は、目標速度Vtargetがコーナ速度Vcとなるまで、減速指令を後述する補間処理部120に出力する。
 次に、数値制御装置1によるサーボモータ制御において、減速前の指令速度V、コーナ速度Vc、加速度A、残り移動量Dr、及び補間周期Tとして、以下の値を例示して、説明する。
  V = 12mm/ms
  Vc=  2mm/ms
  A =  1mm/ms/ms
  Dr=110mm
  T =  1ms/1補間
 図3は、目標速度Vtargetと、指令速度Vと、残り移動量Drと、の関係を示す図である。ここで、横軸は時刻[ms]、左の縦軸は指令速度[mm/ms]、右の縦軸は残り移動量[mm]を示す。
 図3に示すように、例えば、時刻t1において、残り移動量算出部111は、残り移動量Drを110と算出する。また、減速区間算出部112は、式(3)から残り減速区間の補間数nを
  n =(12-2)/(1×1)=10
と算出する。また、目標速度算出部113は、式(4)から目標速度Vtarget
  Vtarget=(2×110)/(10×1+1)-2=18mm/ms
と算出する。補間前加減速処理部110は、指令速度V(12mm/ms)と、算出された目標速度Vtarget(18mm/ms)と、を比較する。補間前加減速処理部110は、目標速度Vtargetが指令速度Vより大きいことから、減速指令を補間処理部120に出力しない。また、補間前加減速処理部110は、補間数nを「10」のままに維持する。
 次に、時刻t2において、残り移動量算出部111は、図示しない工作機械の駆動部が1補間周期T分移動したことにより、残り移動量Drを
  Dr=110-12=98mm
と算出する。また、目標速度算出部113は、式(4)から目標速度Vtarget
  Vtarget=(2×98)/(11)-2=15.8mm/ms
と算出する。補間前加減速処理部110は、指令速度V(12mm/ms)と、算出された目標速度Vtarget(15.8mm/ms)と、を比較する。補間前加減速処理部110は、目標速度Vtargetが指令速度Vより大きいことから、減速指令を補間処理部120に出力しない。また、補間前加減速処理部110は、補間数nを「10」のままに維持する。
 次に、時刻t3において、残り移動量算出部111は、図示しない工作機械の駆動部がさらに1補間周期T分移動したことにより、残り移動量Drを
  Dr=98-12=86mm
と算出する。また、目標速度算出部113は、式(4)から目標速度Vtarget
  Vtarget=(2×86)/(11)-2=13.6mm/ms
と算出する。補間前加減速処理部110は、指令速度V(12mm/ms)と、算出された目標速度Vtarget(13.6mm/ms)と、を比較する。補間前加減速処理部110は、目標速度Vtargetが指令速度Vより大きいことから、減速指令を補間処理部120に出力しない。また、補間前加減速処理部110は、補間数nを「10」のままに維持する。
 次に、時刻t4において、残り移動量算出部111は、図示しない工作機械の駆動部がさらに1補間周期T分移動したことにより、残り移動量Drを
  Dr=86-12=74mm
と算出する。また、目標速度算出部113は、式(4)から目標速度Vtarget
  Vtarget=(2×74)/(11)-2=11.5mm/ms
と算出する。補間前加減速処理部110は、指令速度V(12mm/ms)と、算出された目標速度Vtarget(11.5mm/ms)と、を比較する。補間前加減速処理部110は、目標速度Vtargetが指令速度V以下となるから、目標速度Vtargetを指令速度Vとする減速指令を補間処理部120に出力する。そして、補間前加減速処理部110は、補間数nを1つ減らし「9」にする。
 次に、時刻t5において、残り移動量算出部111は、図示しない工作機械の駆動部がさらに1補間周期T分移動したことにより、残り移動量Drを
  Dr=74-11.5=62.5mm
と算出する。また、目標速度算出部113は、式(4)から目標速度Vtarget
  Vtarget=(2×62.5)/(10)-2=10.5mm/ms
と算出する。補間前加減速処理部110は、指令速度V(11.5mm/ms)と、算出された目標速度Vtarget(10.5mm/ms)と、を比較する。補間前加減速処理部110は、目標速度Vtargetが指令速度V以下となるから、目標速度Vtargetを指令速度Vとする減速指令を補間処理部120に出力する。そして、補間前加減速処理部110は、補間数nを1つ減らし「8」にする。
 以下、補間前加減速処理部110は、同様にして、目標速度Vtargetがコーナ速度Vcとなる時刻t14まで減速指令を補間処理部120に出力する。
 そうすることで、数値制御装置1は、図5の減速の一時中断をすることなく、かつ図6の偏差の発生を抑えることができる。
 補間処理部120は、例えば、加工プログラム及び補間前加減速処理部110からの指令速度に基づいて補間周期T毎に工作機械(図示しない)の主軸や工具等の経路に対して補間処理を行う。
 駆動軸制御部130は、例えば、補間処理部120による補間処理の結果に基づいて工作機械(図示しない)に含まれる駆動軸の制御を行う。
<数値制御装置1の速度補正処理>
 次に、図4を参照しながら、数値制御装置1の速度補正処理の流れを説明する。
 図4は、数値制御装置1の速度補正処理について説明するフローチャートである。ここで示すフローは、加工プログラムが実行される度に繰り返し実行される。
 ステップS1において、残り移動量算出部111は、式(2)を用いて、バッファリングした補間周期T毎の移動量を加算することにより残り移動量Drを算出する。
 ステップS2において、減速区間算出部112は、式(3)を用いて残り減速区間の補間数nを算出する。
 ステップS3において、目標速度算出部113は、式(4)を用いて、ステップS1で算出された残り移動量Drと、ステップS2で算出された残り減速区間の補間数nと、に基づいて現在(処理対象)の補間における目標速度Vtargetを算出する。
 ステップS4において、補間前加減速処理部110は、目標速度Vtargetが指令速度V以下か否か判定する。目標速度Vtargetが指令速度V以下の場合、処理はステップS5に進む。一方、目標速度Vtargetが指令速度Vより大きい場合、処理はステップS1に戻る。
 ステップS5において、補間前加減速処理部110は、補間数nを1つ減らす。
 ステップS6において、補間前加減速処理部110は、ステップS3で算出された目標速度Vtargetを指令速度Vとして補間処理部120に出力する。
 ステップS7において、補間前加減速処理部110は、加工プログラムの次のブロックがあるか否かを判定する。次のブロックがある場合、処理はステップS1に戻る。一方、次のブロックがない場合、数値制御装置1の制御処理は終了する。
 以上により、一実施形態に係る数値制御装置1は、処理対象の補間の1つ前の補間における指令速度V、コーナ速度Vc、及び指定された加速度Aに基づいて残りの減速区間の補間数nを算出するとともに、残り移動量Drと、残り減速区間の補間数nと、に基づいて現在(処理対象)の補間における目標速度Vtargetを算出し、目標速度Vtargetが指令速度V以のとなった補間以降の補間で目標速度Vtargetを指令する。これにより、数値制御装置1は、減速中の挙動を一定に保ちつつ、コーナ速度に対する偏差なしで減速することができる。
 そして、数値制御装置1は、挙動が一定になることで、工作機械(図示しない)の駆動系のショックを軽減することができるとともに、偏差がないことにより駆動系の調整を容易にすることができる。また、数値制御装置1は、コーナ形状を一定に保つことができる。
 また、数値制御装置1は、内部処理において計算誤差が発生する場合にも、誤差を蓄積しないように速度を制御するため、目標追従性の良い制御ができる。
 以上、一実施形態について説明したが、数値制御装置1は、上述の実施形態に限定されるものではなく、目的を達成できる範囲での変形、改良等を含む。
<変形例>
 上述の実施形態では、数値制御装置1は、現在の指令速度Vからコーナ速度Vcまで減速したが、これに限定されない。例えば、数値制御装置1は、現在の指令速度Vから所定の速度Va(Va>V)まで加速する場合についても適用してもよい。
 なお、一実施形態に係る数値制御装置1に含まれる各機能は、ハードウェア、ソフトウェア又はこれらの組み合わせによりそれぞれ実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
 プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(Non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(Tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(Transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は、無線通信路を介して、プログラムをコンピュータに供給できる。
 なお、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
 以上を換言すると、本開示の数値制御装置は、次のような構成を有する各種各様の実施形態を取ることができる。
 (1)本開示の数値制御装置1は、加工プログラムに含まれるブロックの残り移動量を算出する残り移動量算出部111と、処理対象の補間の1つ前の補間における指令速度、コーナ速度、及び指定された加速度に基づいて残り減速区間を算出する減速区間算出部112と、残り移動量と、残り減速区間と、に基づいて処理対象の補間における目標速度を算出する目標速度算出部113と、算出された目標速度の値が前記指令速度以下の値となった補間以降の補間で目標速度を指令する補間前加減速処理部110と、を備える。
 この数値制御装置1によれば、減速中の挙動を一定に保ちつつ、コーナ速度に対する偏差なしで減速することができる。
 (2) (1)に記載の数値制御装置1において、目標速度算出部113は、式(5)で目標速度Vtargetを算出してもよい。
target=2×Dr/(n×T+1)-Vc   (5)
ただし、Vtargetは目標速度を示し、Drは残り移動量を示し、nは残り減速区間の補間数を示し、Tは補間周期を示し、Vcはコーナ速度を示す。
 そうすることで、数値制御装置1は、内部処理において計算誤差が発生する場合にも、誤差を蓄積しないように速度を制御するため、目標追従性の良い制御ができる。
 1 数値制御装置
 10 制御部
 110 補間前加減速処理部
 111 残り移動量算出部
 112 減速区間算出部
 113 目標速度算出部
 120 補間処理部
 130 駆動軸制御部

Claims (2)

  1.  加工プログラムに含まれるブロックの残り移動量を算出する残り移動量算出部と、
     処理対象の補間の1つ前の補間における指令速度、コーナ速度、及び指定された加速度に基づいて残り減速区間を算出する減速区間算出部と、
     前記残り移動量と、前記残り減速区間と、に基づいて前記処理対象の補間における目標速度を算出する目標速度算出部と、
     算出された前記目標速度の値が前記指令速度以下の値となった補間以降の補間で前記目標速度を指令する補間前加減速処理部と、
     を備える数値制御装置。
  2.  前記目標速度算出部は、式(1)で前記目標速度を算出する、請求項1に記載の数値制御装置。
    target=2×Dr/(n×T+1)-Vc   (1)
    ただし、Vtargetは前記目標速度を示し、Drは前記残り移動量を示し、nは前記残り減速区間の補間数を示し、Tは補間周期を示し、Vcはコーナ速度を示す。
PCT/JP2021/040044 2021-10-29 2021-10-29 数値制御装置 WO2023073934A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/040044 WO2023073934A1 (ja) 2021-10-29 2021-10-29 数値制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/040044 WO2023073934A1 (ja) 2021-10-29 2021-10-29 数値制御装置

Publications (1)

Publication Number Publication Date
WO2023073934A1 true WO2023073934A1 (ja) 2023-05-04

Family

ID=86157591

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/040044 WO2023073934A1 (ja) 2021-10-29 2021-10-29 数値制御装置

Country Status (1)

Country Link
WO (1) WO2023073934A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02195409A (ja) * 1989-01-25 1990-08-02 Fanuc Ltd 数値制御装置の送り速度制御方法
JPH04245307A (ja) * 1991-01-30 1992-09-01 Fanuc Ltd 数値制御装置及び加減速制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02195409A (ja) * 1989-01-25 1990-08-02 Fanuc Ltd 数値制御装置の送り速度制御方法
JPH04245307A (ja) * 1991-01-30 1992-09-01 Fanuc Ltd 数値制御装置及び加減速制御方法

Similar Documents

Publication Publication Date Title
JP2013030103A (ja) 数値制御装置
US10627807B2 (en) Motor controller
JP6200456B2 (ja) 工作機械とロボット間の干渉チェックシステム
US9851709B2 (en) Numerical control device
CN109085801B (zh) 电动机的控制装置
JP5623757B2 (ja) モータの制御方法及び装置
US20140214193A1 (en) Machining program creating device numerical control device, machining system, machining program creating method, numerical control method, and machining program
JP2005301440A (ja) 加工時間算出装置
JP5331068B2 (ja) 数値制御装置
JP6321583B2 (ja) 速度変化に対応した3次元干渉チェックを行う数値制御装置
JP2011176907A5 (ja)
JP2897333B2 (ja) サーボ制御装置
JP3527022B2 (ja) 数値制御装置
Erwinski et al. Real-time jerk limited feedrate profiling and interpolation for linear motor multiaxis machines using NURBS toolpaths
JP5897659B2 (ja) 位置偏差の急激な変化による速度変動の抑制手段を持つ数値制御装置
US10444728B2 (en) Numerical controller performing positioning for avoiding interference with workpiece
WO2023073934A1 (ja) 数値制御装置
JPH0378006A (ja) 数値制御装置の加減速制御方法
JP4627740B2 (ja) 数値制御装置
CN108693838B (zh) 数值控制装置和控制方法
WO2023058153A1 (ja) 数値制御装置
JP6356658B2 (ja) プレスの調整が容易な数値制御装置
JP2004167549A (ja) レーザ加工装置
JP2014010679A (ja) 数値制御装置
JP4515408B2 (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: 21962475

Country of ref document: EP

Kind code of ref document: A1