WO2023058153A1 - 数値制御装置 - Google Patents

数値制御装置 Download PDF

Info

Publication number
WO2023058153A1
WO2023058153A1 PCT/JP2021/036983 JP2021036983W WO2023058153A1 WO 2023058153 A1 WO2023058153 A1 WO 2023058153A1 JP 2021036983 W JP2021036983 W JP 2021036983W WO 2023058153 A1 WO2023058153 A1 WO 2023058153A1
Authority
WO
WIPO (PCT)
Prior art keywords
acceleration
deceleration
movement amount
interpolation
speed
Prior art date
Application number
PCT/JP2021/036983
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/036983 priority Critical patent/WO2023058153A1/ja
Publication of WO2023058153A1 publication Critical patent/WO2023058153A1/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/41Numerical 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 interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
    • G05B19/4103Digital interpolation
    • 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.
  • 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, the remaining movement amount of the block, and a specified acceleration from a current command speed.
  • a remainder movement amount calculator for calculating a difference between a movement amount necessary for decelerating to a corner speed and a remainder movement amount;
  • an adjustment amount calculation unit for calculating, based on the acceleration, an acceleration adjustment amount at the start of deceleration for using the remainder movement amount in the number of interpolations in a deceleration section in which deceleration is performed from the current command speed to the corner speed; calculating a first acceleration obtained by adjusting the specified acceleration for decelerating the current command speed at the start of deceleration by the acceleration adjustment amount, and calculating a command speed after deceleration with the first acceleration; an acceleration calculation unit for calculating a second acceleration for decelerating to the corner speed with the remaining number of interpolations from , and specifying the first acceleration at
  • 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. It is a figure which shows an example of description of operation
  • 5 is a flowchart for explaining acceleration correction processing of the numerical control device; It is a figure which shows an example of the deceleration process in patent document 1.
  • 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 remainder movement amount calculation unit 112 , a deceleration processing execution unit 113 , a deceleration processing unit 114 , an adjustment amount calculation unit 115 , and an acceleration calculation unit 116 .
  • 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 performs the functions of the remaining movement amount calculation unit 111, the remainder movement amount calculation unit 112, the deceleration processing execution unit 113, the deceleration processing unit 114, the adjustment amount calculation unit 115, and the acceleration calculation unit . configured to achieve 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.
  • d_1 to d_N indicate the amount of movement for each interpolation period T, which is 0.1 mm in the above case.
  • 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 designated acceleration A indicated by the dashed-dotted line in FIG. A case of decelerating to the corner speed Vc in the deceleration section of the interpolation cycle T of n times (eg, 5 times) at [mm/ms/ms] will be exemplified.
  • the deceleration process execution unit 113 monitors, for example, the movement amount d for each interpolation cycle T, and determines whether the remainder movement amount Ds calculated by the remainder movement amount calculation unit 112 is smaller than the movement amount d for each interpolation period. judge. When the remainder movement amount Ds is smaller than the movement amount d of the interpolation period T, the deceleration processing unit 114 described later executes deceleration processing. On the other hand, when the remainder movement amount Ds is equal to or greater than the movement amount d of the interpolation period, the deceleration processing execution unit 113 maintains the current command speed V. FIG.
  • the deceleration processing unit 114 subtracts the acceleration calculated by the acceleration calculation unit 116, which will be described later, from the current command speed V to calculate the speed V' for the next interpolation cycle.
  • the adjustment amount calculation unit 115 calculates a deceleration section for decelerating from the current command speed V to the corner speed Vc based on the remainder movement amount Ds, the current command speed V, the corner speed Vc, and the specified acceleration A. Acceleration adjustment amount adj at the start of deceleration is calculated for using all of the remainder movement amount Ds at n interpolation times.
  • FIG. 3 is a diagram showing an example of explanation of the operation of the adjustment amount calculation unit 115. As shown in FIG. In FIG. 3, the deceleration of the command speed V according to this embodiment is indicated by a solid line, and the deceleration of the command speed V of FIG. 5 is indicated by a broken line.
  • the acceleration (inclination) of the command speed V according to the present embodiment is indicated by a dashed line
  • the acceleration (inclination) of the command speed V in FIG. 5 is indicated by a one-dot chain line.
  • the deceleration section from the current command speed V to the corner speed Vc is the period from time tN to time tN+n ⁇ T with n interpolation times.
  • the acceleration adjustment amount adj in the first interpolation period T (from time tN to time tN+T) at the start of deceleration is between time tN+T and time tN+n ⁇ T with the remainder movement amount Ds being the base of the acceleration adjustment amount adj at time tN+T.
  • adj 2 ⁇ Ds/(n ⁇ 1) (5)
  • the adjustment amount calculation unit 115 calculates the acceleration adjustment amount adj using Equation (5).
  • the pre-interpolation acceleration/deceleration processing unit 110 designates the acceleration A′ in Equation (6) in the remaining number of interpolations (n ⁇ 1), so that the deceleration processing unit 114 designates the command in the remaining number of interpolations (n ⁇ 1). Decelerate from speed V-(A-adj) to 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 flowchart for explaining the acceleration interpolation processing of the numerical controller 1.
  • FIG. 4 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 remainder movement amount calculation unit 112 calculates the remainder movement amount Ds using the block remaining movement amount Dr calculated in step S1 and equations (3) and (4).
  • step S3 the deceleration process execution unit 113 determines whether or not the remainder movement amount Ds calculated in step S2 is smaller than the movement amount d for each interpolation cycle T. If the remainder movement amount Ds is smaller than the movement amount d of the interpolation period, the process proceeds to step S4. On the other hand, if the remainder movement amount Ds is equal to or greater than the movement amount d of the interpolation period, the deceleration processing execution unit 113 maintains the current command speed V, and the process proceeds to step S1.
  • step S4 the adjustment amount calculation unit 115 calculates the acceleration adjustment amount adj using Equation (5).
  • step S5 the acceleration calculation unit 116 calculates the acceleration A-adj by adjusting the specified acceleration A for decelerating the current command velocity V in the first interpolation period T at the start of deceleration by the acceleration adjustment amount adj. .
  • step S6 the acceleration calculator 116 calculates the acceleration A' for decelerating from the command speed V-(A-adj) after decelerating with the acceleration A-adj to the corner speed Vc with the remaining number of interpolations (n-1). is calculated using equation (6).
  • step S7 the pre-interpolation acceleration/deceleration processing unit 110 designates acceleration according to the interpolation cycle of the deceleration section.
  • step S8 the deceleration processing unit 114 calculates a command speed for each interpolation cycle of the deceleration section with the acceleration specified in step S7.
  • step S9 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 based on the remainder movement amount Ds, the current command speed V, the corner speed Vc, and the specified acceleration A, changes the corner speed from the current command speed V to the corner speed Calculate the acceleration adjustment amount adj at the start of deceleration for using the remainder Ds in the interpolation number n of the deceleration section to decelerate to Vc, and decelerate the current command speed V in the first interpolation cycle at the start of deceleration.
  • Acceleration A-adj is calculated by adjusting the acceleration A specified for the purpose by the acceleration adjustment amount adj.
  • the numerical controller 1 calculates the acceleration A' for decelerating from the command speed V- (A-adj) after decelerating with the acceleration A-adj to the corner speed Vc with the remaining number of interpolations (n-1). do. As a result, 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.
  • 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 the block included in the machining program, the remaining movement amount of the block, and the specified acceleration from the current command speed.
  • a remainder movement amount calculator 112 that calculates the difference between the movement amount required to decelerate to the corner speed and the remainder movement amount, the remainder movement amount, the current command speed, the corner speed, and the designated acceleration.
  • an adjustment amount calculation unit 115 that calculates an acceleration adjustment amount at the start of deceleration for using all the remainder movement amount in the number of interpolation times in the deceleration section in which the deceleration is decelerated from the current command speed to the corner speed, and A first acceleration is calculated by adjusting a specified acceleration for decelerating the current commanded speed by an acceleration adjustment amount, and from the commanded speed after decelerating with the first acceleration to the corner speed with the remaining number of interpolations.
  • An acceleration calculation unit 116 that calculates a second acceleration for deceleration, and a pre-interpolation acceleration/deceleration processing unit 110 that designates the first acceleration at the start of deceleration and designates the second acceleration for the remaining number of interpolations. . 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 deceleration processing execution unit 113 executes deceleration processing when the remainder movement amount is smaller than the movement amount for each interpolation cycle, and the deceleration processing execution unit 113 executes and a deceleration processing unit that subtracts the first acceleration or the second acceleration from the current command speed for each interpolation cycle to obtain the command speed for the next interpolation cycle.
  • the numerical controller 1 can optimize the timing of deceleration processing and the amount of deceleration for each interpolation cycle.
  • control unit 110 pre-interpolation acceleration/deceleration processing unit 111 remaining movement amount calculation unit 112 remainder movement amount calculation unit 113 deceleration processing execution unit 114 deceleration processing unit 115 adjustment amount calculation unit 116 acceleration calculation unit 120 interpolation processing unit 130 drive Axis control part

Abstract

減速中の挙動を一定に保ちつつ、コーナ速度に対する偏差なしで減速すること。 数値制御装置は、加工プログラムのブロックの残り移動量を算出する残り移動量算出部と、ブロックの残り移動量と、指定された加速度で現在の指令速度からコーナ速度まで減速するのに必要な移動量と、の差を余り移動量として算出する余り移動量算出部と、余り移動量と、現在の指令速度と、コーナ速度と、指定された加速度とに基づいて補間回数で余り移動量を全て使用するための減速開始時の加速度調整量を算出する調整量算出部と、減速開始時において指定された加速度を加速度調整量により調整した第1の加速度と残りの補間回数でコーナ速度まで減速する第2の加速度とを算出する加速度算出部と、減速開始時に前記第1の加速度を指定して、残りの補間回数において第2の加速度を指定する補間前加減速処理部と、を備える。

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の加速度を指定して、残りの前記補間回数において前記第2の加速度を指定する補間前加減速処理部と、を備える。
 一態様によれば、減速中の挙動を一定に保ちつつ、コーナ速度に対する偏差なしで減速することができる。
一実施形態に係る数値制御装置の機能的構成例を示す機能ブロック図である。 補間周期と指令速度との関係の一例を示す図である。 調整量算出部の動作の説明の一例を示す図である。 数値制御装置の加速度補正処理について説明するフローチャートである。 特許文献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、減速処理部114、調整量算出部115、及び加速度算出部116を有する。
 制御部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、減速処理部114、調整量算出部115、及び加速度算出部116の機能を実現するように構成される。RAMには一時的な計算データや表示データ等の各種データが格納される。また、CMOSメモリは図示しないバッテリでバックアップされ、数値制御装置1の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。
 残り移動量算出部111は、加工プログラムに含まれるブロックの残り移動量を算出する。
 具体的には、例えば、補間周期Tが1ms/1補間の場合で、ブロックが「G01 X100. F6000」の場合、1000補間周期(1000T)の間に速度0.1mm/ms(=6000mm/min)でX軸方向に100mm移動する。
 図2は、補間周期Tと指令速度Vとの関係の一例を示す図である。
 この場合、1ブロックの移動量(100mm)は、式(1)のように表せる。
1ブロックの移動量=d_1+d_2+d_3+・・・+d_N   (1)
d_1~d_Nは補間周期T毎の移動量を示し、上述の場合では0.1mmである。また、Nは、最後の補間周期Tを示し、上述の場合ではN=1000である。
 そこで、残り移動量算出部111は、式(2)を用いて、バッファリングした補間周期T毎の移動量を加算することにより残り移動量Drを算出する(iは1以上の整数)。
Dr=d_i+d_(i+1)+d_(i+2)+・・・+d_N   (2)
 ここで、d_iは現在のブロックの補間周期Tの移動量を示し、d_Nは当該ブロックの最後の補間周期の移動量を示す。また、t0~tNは補間時刻を示す。
 なお、以下の説明では、図2に示すように、N回目の補間後、工作機械(図示しない)へのショック等を考慮して、時刻tNから図5の一点鎖線で示す指定された加速度A[mm/ms/ms]でn回(例えば、5回)の補間周期Tの減速区間でコーナ速度Vcまで減速する場合を例示する。
 余り移動量算出部112は、残り移動量算出部111により算出されたブロックの残り移動量Drと、指定された加速度で現在の指令速度からコーナ速度まで減速するのに必要な移動量との差を、余り移動量として算出する。
 具体的には、余り移動量算出部112は、式(3)を用いて、現在の指令速度V[mm/ms]からコーナ速度Vc[mm/ms]まで指定された加速度A[mm/ms/ms]で減速するのに必要な移動量Dc[mm]を算出する。
Dc=(V+Vc)×(n+1)/2   (3)
 ここで、減速区間の補間回数n=(V-Vc)/(A×T)である。
 余り移動量算出部112は、残り移動量算出部111により算出された残り移動量Drと、算出した移動量Dcと、式(4)と、を用いて余り移動量Ds[mm]を算出する。
Ds=Dr-Dc   (4)
 減速処理実行部113は、例えば、補間周期T毎の移動量dを監視して、余り移動量算出部112により算出された余り移動量Dsが、補間周期毎の移動量dより小さいか否かを判定する。余り移動量Dsが補間周期Tの移動量dより小さい場合、後述する減速処理部114は減速処理を実行する。一方、余り移動量Dsが補間周期の移動量d以上の場合、減速処理実行部113は現在の指令速度Vを維持する。
 減速処理部114は、後述する加速度算出部116により算出された加速度を現在の指令速度Vから減算し、次の補間周期の速度V’を算出する。
 調整量算出部115は、余り移動量Dsと、現在の指令速度Vと、コーナ速度Vcと、指定された加速度Aとに基づいて、現在の指令速度Vからコーナ速度Vcまで減速する減速区間の補間回数nで余り移動量Dsを全て使用するための減速開始時の加速度調整量adjを算出する。
 図3は、調整量算出部115の動作の説明の一例を示す図である。図3では、本実施形態に係る指令速度Vの減速を実線で示し、図5の指令速度Vの減速を破線で示す。また、本実施形態に係る指令速度Vの加速度(傾き)を破線で示し、図5の指令速度Vの加速度(傾き)を一点鎖線で示す。
 図3の場合、現在の指令速度Vからコーナ速度Vcまでの減速区間は、補間回数nで時刻tNから時刻tN+n×Tの期間である。
 この場合、減速開始時の最初の補間周期T(時刻tNから時刻tN+T)における加速度調整量adjは、余り移動量Dsが時刻tN+Tにおける加速度調整量adjを底辺とし時刻tN+Tから時刻tN+n×Tの間の補間回数(n-1)を高さとする三角形の面積と等しくなるとする、Ds=adj×(n-1)/2の関係から、式(5)が導出される。
adj=2×Ds/(n-1)   (5)
 調整量算出部115は、式(5)を用いて加速度調整量adjを算出する。
 加速度算出部116は、減速開始時の最初の補間周期(時刻tNから時刻tN+T)において現在の指令速度Vを減速するための指定された加速度Aを加速度調整量adjで調整した加速度A-adj(第1の加速度)を算出する。また、加速度算出部116は、加速度A-adjで減速した後の指令速度V-(A-adj)から残りの補間回数(n-1)でコーナ速度Vcまで減速する加速度A’ (第2の加速度)を、式(6)を用いて算出する。
A’=(V-(A-adj)-Vc)/(n-1)   (6)
 補間前加減速処理部110は、加速度算出部116により算出された減速開始時の最初の補間周期Tの加速度をA-adjと指定することで、減速処理部114は、最初の補間周期Tにおいて現在の指令速度Vから指令速度V’(=V-(A-adj))まで減速させる。補間前加減速処理部110は、残りの補間回数(n-1)において式(6)の加速度A’を指定することで、減速処理部114は、残りの補間回数(n-1)において指令速度V-(A-adj)からコーナ速度Vcまで減速させる。
 そうすることで、数値制御装置1は、図5の減速の一時中断をすることなく、かつ図6の偏差の発生を抑えることができる。
 補間処理部120は、例えば、加工プログラム及び補間前加減速処理部110からの指令速度に基づいて補間周期T毎に工作機械(図示しない)の主軸や工具等の経路に対して補間処理を行う。
 駆動軸制御部130は、例えば、補間処理部120による補間処理の結果に基づいて工作機械(図示しない)に含まれる駆動軸の制御を行う。
<数値制御装置1の加速度補正処理>
 次に、図4を参照しながら、数値制御装置1の加速度補正処理の流れを説明する。
 図4は、数値制御装置1の加速度補間処理について説明するフローチャートである。ここで示すフローは、加工プログラムが実行される度に繰り返し実行される。
 ステップS1において、残り移動量算出部111は、式(2)を用いて、バッファリングした補間周期T毎の移動量を加算することにより残り移動量Drを算出する。
 ステップS2において、余り移動量算出部112は、ステップS1で算出されたブロックの残り移動量Drと、式(3)と、式(4)とを用いて余り移動量Dsを算出する。
 ステップS3において、減速処理実行部113は、ステップS2で算出された余り移動量Dsが、補間周期T毎の移動量dより小さいか否かを判定する。余り移動量Dsが補間周期の移動量dより小さい場合、処理はステップS4に進む。一方、余り移動量Dsが補間周期の移動量d以上の場合、減速処理実行部113は現在の指令速度Vを維持し、処理はステップS1に進む。
 ステップS4において、調整量算出部115は、式(5)を用いて加速度調整量adjを算出する。
 ステップS5において、加速度算出部116は、減速開始時の最初の補間周期Tにおいて現在の指令速度Vを減速するための指定された加速度Aを加速度調整量adjにより調整した加速度A-adjを算出する。
 ステップS6において、加速度算出部116は、加速度A-adjで減速した後の指令速度V-(A-adj)から残りの補間回数(n-1)でコーナ速度Vcまでの減速を行う加速度A’を、式(6)を用いて算出する。
 ステップS7において、補間前加減速処理部110は、減速区間の補間周期に応じて加速度を指定する。
 ステップS8において、減速処理部114は、ステップS7で指定された加速度で減速区間の補間周期毎の指令速度を算出する。
 ステップS9において、補間前加減速処理部110は、加工プログラムの次のブロックがあるか否かを判定する。次のブロックがある場合、処理はステップS1に戻る。一方、次のブロックがない場合、数値制御装置1の制御処理は終了する。
 以上により、一実施形態に係る数値制御装置1は、余り移動量Dsと、現在の指令速度Vと、コーナ速度Vcと、指定された加速度Aとに基づいて、現在の指令速度Vからコーナ速度Vcまで減速する減速区間の補間回数nで余り移動量Dsを全て使用するための減速開始時の加速度調整量adjを算出し、減速開始時の最初の補間周期において現在の指令速度Vを減速するための指定された加速度Aを加速度調整量adjにより調整した加速度A-adjを算出する。また、数値制御装置1は、加速度A-adjで減速した後の指令速度V-(A-adj)から残りの補間回数(n-1)でコーナ速度Vcまでの減速を行う加速度A’を算出する。これにより、数値制御装置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と、ブロックの残り移動量と、指定された加速度で現在の指令速度からコーナ速度まで減速するのに必要な移動量と、の差を余り移動量として算出する余り移動量算出部112と、余り移動量と、現在の指令速度と、コーナ速度と、指定された加速度とに基づいて、現在の指令速度からコーナ速度まで減速する減速区間における補間回数で余り移動量を全て使用するための減速開始時の加速度調整量を算出する調整量算出部115と、減速開始時において現在の指令速度を減速するための指定された加速度を加速度調整量により調整した第1の加速度を算出するとともに、第1の加速度で減速した後の指令速度から残りの補間回数で前記コーナ速度まで減速する第2の加速度を算出する加速度算出部116と、減速開始時に第1の加速度を指定して、残りの補間回数において第2の加速度を指定する補間前加減速処理部110と、を備える。
 この数値制御装置1によれば、減速中の挙動を一定に保ちつつ、コーナ速度に対する偏差なしで減速することができる。
 (2) (1)に記載の数値制御装置1において、余り移動量が、補間周期毎の移動量よりも小さいときに減速処理を実行する減速処理実行部113と、減速処理実行部113によって実行され、補間周期毎に現在の指令速度から第1の加速度又は第2の加速度を減算して次の補間周期における指令速度を求める減速処理部と、を備えてもよい。
 そうすることで、数値制御装置1は、減速処理を行うタイミングと補間周期毎の減速量とを最適化することができる。
 1 数値制御装置
 10 制御部
 110 補間前加減速処理部
 111 残り移動量算出部
 112 余り移動量算出部
 113 減速処理実行部
 114 減速処理部
 115 調整量算出部
 116 加速度算出部
 120 補間処理部
 130 駆動軸制御部

Claims (2)

  1.  加工プログラムに含まれるブロックの残り移動量を算出する残り移動量算出部と、
     前記ブロックの前記残り移動量と、指定された加速度で現在の指令速度からコーナ速度まで減速するのに必要な移動量と、の差を余り移動量として算出する余り移動量算出部と、
     前記余り移動量と、前記現在の指令速度と、前記コーナ速度と、指定された前記加速度とに基づいて、前記現在の指令速度から前記コーナ速度まで減速する減速区間における補間回数で前記余り移動量を全て使用するための減速開始時の加速度調整量を算出する調整量算出部と、
     前記減速開始時において前記現在の指令速度を減速するための指定された前記加速度を前記加速度調整量により調整した第1の加速度を算出するとともに、前記第1の加速度で減速した後の指令速度から残りの前記補間回数で前記コーナ速度まで減速する第2の加速度を算出する加速度算出部と、
     前記減速開始時に前記第1の加速度を指定して、残りの前記補間回数において前記第2の加速度を指定する補間前加減速処理部と、
     を備える数値制御装置。
  2.  前記余り移動量が、前記補間周期毎の移動量よりも小さいときに減速処理を実行する減速処理実行部と、
     前記減速処理実行部によって実行され、前記補間周期毎に前記現在の指令速度から前記第1の加速度又は前記第2の加速度を減算して次の補間周期における指令速度を求める減速処理部と、を備える、請求項1に記載の数値制御装置。
PCT/JP2021/036983 2021-10-06 2021-10-06 数値制御装置 WO2023058153A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/036983 WO2023058153A1 (ja) 2021-10-06 2021-10-06 数値制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/036983 WO2023058153A1 (ja) 2021-10-06 2021-10-06 数値制御装置

Publications (1)

Publication Number Publication Date
WO2023058153A1 true WO2023058153A1 (ja) 2023-04-13

Family

ID=85803313

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/036983 WO2023058153A1 (ja) 2021-10-06 2021-10-06 数値制御装置

Country Status (1)

Country Link
WO (1) WO2023058153A1 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54130775A (en) * 1978-04-03 1979-10-11 Okuma Mach Works Ltd Positioning control system
JPS6232508A (ja) * 1985-08-06 1987-02-12 Shinko Electric Co Ltd 数値制御装置のサ−ボ系の位置決め制御方法
JPH04245307A (ja) * 1991-01-30 1992-09-01 Fanuc Ltd 数値制御装置及び加減速制御方法
JPH06289922A (ja) * 1993-04-01 1994-10-18 Mitsubishi Electric Corp 位置指令方法及びその装置
JP2001092518A (ja) * 1999-09-17 2001-04-06 Okuma Corp 早送り速度の加減速制御方法
JP2002132349A (ja) * 2000-10-18 2002-05-10 Fanuc Ltd 加減速制御方法
JP2016081470A (ja) * 2014-10-22 2016-05-16 ファナック株式会社 運転停止時に送り速度を円滑に変更する数値制御装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54130775A (en) * 1978-04-03 1979-10-11 Okuma Mach Works Ltd Positioning control system
JPS6232508A (ja) * 1985-08-06 1987-02-12 Shinko Electric Co Ltd 数値制御装置のサ−ボ系の位置決め制御方法
JPH04245307A (ja) * 1991-01-30 1992-09-01 Fanuc Ltd 数値制御装置及び加減速制御方法
JPH06289922A (ja) * 1993-04-01 1994-10-18 Mitsubishi Electric Corp 位置指令方法及びその装置
JP2001092518A (ja) * 1999-09-17 2001-04-06 Okuma Corp 早送り速度の加減速制御方法
JP2002132349A (ja) * 2000-10-18 2002-05-10 Fanuc Ltd 加減速制御方法
JP2016081470A (ja) * 2014-10-22 2016-05-16 ファナック株式会社 運転停止時に送り速度を円滑に変更する数値制御装置

Similar Documents

Publication Publication Date Title
JP5417392B2 (ja) 数値制御装置
JP6200456B2 (ja) 工作機械とロボット間の干渉チェックシステム
JPWO2013129294A1 (ja) モータ制御装置
JP6321583B2 (ja) 速度変化に対応した3次元干渉チェックを行う数値制御装置
WO2016024338A1 (ja) 数値制御装置
JP5623757B2 (ja) モータの制御方法及び装置
JP5331068B2 (ja) 数値制御装置
JP2011176907A5 (ja)
US11126163B2 (en) Numerical controller
JPH0378006A (ja) 数値制御装置の加減速制御方法
WO2023058153A1 (ja) 数値制御装置
JPH1039915A (ja) 数値制御装置
JP2013069123A (ja) コーナ部の許容内回り量による速度制御を行う数値制御装置
JP6321605B2 (ja) 曲率と曲率変化量による速度制御を行う数値制御装置
JP4627740B2 (ja) 数値制御装置
WO2023073934A1 (ja) 数値制御装置
JP5399537B2 (ja) 数値制御装置
JP2018169666A (ja) 数値制御装置と制御方法
CN117957502A (en) Numerical controller
CN110647109A (zh) 数值控制装置
US11914343B2 (en) Command generation device and command generation method to control motor
JP4515408B2 (ja) 位置決め制御装置
JP6100816B2 (ja) 位置偏差過大を抑制する速度制御を行う数値制御装置
CN113467368A (zh) S形速度曲线的调整方法
JP6396389B2 (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: 21959895

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023552476

Country of ref document: JP