WO1994028472A1 - Procede de commande de vitesse pour dispositif de commande numerique - Google Patents

Procede de commande de vitesse pour dispositif de commande numerique Download PDF

Info

Publication number
WO1994028472A1
WO1994028472A1 PCT/JP1994/000789 JP9400789W WO9428472A1 WO 1994028472 A1 WO1994028472 A1 WO 1994028472A1 JP 9400789 W JP9400789 W JP 9400789W WO 9428472 A1 WO9428472 A1 WO 9428472A1
Authority
WO
WIPO (PCT)
Prior art keywords
axis
movement
rotation
tool
distribution
Prior art date
Application number
PCT/JP1994/000789
Other languages
English (en)
French (fr)
Inventor
Toshiaki Otsuki
Haruhiko Kozai
Seiji Ishii
Original Assignee
Toshiaki Otsuki
Haruhiko Kozai
Seiji Ishii
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 Toshiaki Otsuki, Haruhiko Kozai, Seiji Ishii filed Critical Toshiaki Otsuki
Priority to US08/373,208 priority Critical patent/US5545959A/en
Publication of WO1994028472A1 publication Critical patent/WO1994028472A1/ja

Links

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
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39177Compensation position working point as function of inclination tool, hand
    • 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/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50297Compensation of positioning error due to a-axis, b-axis tool rotation
    • 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/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50353Tool, probe inclination, orientation to surface, posture, attitude

Definitions

  • the present invention relates to an improvement in a speed control method in a numerical control device.
  • the amount of movement of the rotary axis is treated in the same dimension as the amount of movement of the linear movement axis. It is known to calculate a distribution movement amount and drive-control each axis with the distribution movement amount.
  • This includes, for example, a first rotation axis (axis) that rotates the tool about a horizontal axis passing through the base of the tool and a second rotation axis (axis) that rotates the tool about a vertical axis that passes through the base of the tool.
  • a machine tool equipped with a total of 5 axes, X, ⁇ , and Z, which move the tool in orthogonal directions to move the tool in mutually orthogonal directions.
  • SX, Sy, Sz, (Ex, Ey, Ez)
  • the command movement speed is F
  • the rotation angles of the first rotation axis at the start point and end point of the movement command are Sb, Eb, respectively.
  • the rotation angles of the second rotation axis at the start and end points of the movement command are S c and E c, respectively, and the distribution cycle of each axis is ⁇ ⁇ , the number of distributions to each axis is equal and the distribution It is assumed that the total movement amount per cycle is represented by the square root of the sum of the squares of the distribution movement amounts of each axis.
  • Equations (1) and (2) B and AC are terms that have an angular dimension, and are not taken into account with regard to the tool length. Therefore, even if pulse distribution is performed by treating these terms in the same dimension as the movement amount of the linear movement axis, the movement speed of the tool tip cannot be controlled to the command movement speed. ,.
  • this is simply a linear movement based on the start and end points of the movement command, the rotation angle of each axis at the start and end points, and the distribution cycle and the command movement speed as one control data.
  • This is merely a means for driving and controlling each axis by simulating linear interpolation processing using only the axes, and does not mean that the actual moving speed of the tool is controlled by the command moving speed itself.
  • the tool tip must be moved at the desired speed. If moving, the commanded speed to achieve the desired moving speed, taking into account the influence of variables such as the distributed moving amount of the rotary axis B and AC on the actual tool tip moving speed. However, it is very difficult to find such a commanded moving speed.
  • An object of the present invention is to provide a speed control in a numerical control device capable of accurately moving a tool at a given command movement speed even when machining is performed while changing the angle of the tool with respect to a workpiece. To provide a method.
  • a speed control method using a numerical controller is a speed control method for a machine tool having a rotation axis for changing a tool angle with respect to a workpiece.
  • the distribution movement amount of each axis in each predetermined cycle is obtained, and the rotation position of the rotation axis in the next cycle, the rotation position of the rotation axis in the cycle, and From the rotation axis, the position deviation in each direction of the linear movement axis generated at the tool tip is determined based on the rotation axis, and the position deviation corresponding to the distribution movement amount is added for each linear movement axis.
  • the corrected moving distance is output as the corrected moving distance of each linear moving axis, and the calculated moving distance is output to each rotating axis.
  • one straight line in the movement command is obtained.
  • the predetermined circumference of each of the rotation axes is determined. The amount of distribution and transfer for each period is calculated.
  • the numerical controller controls the tool with one or more linear moving axes and one or more rotary axes.
  • the tool tip speed command method In the tool tip speed command method,
  • the speed of the command is controlled to be the speed at the actual machining point of the tool tip.
  • the distributed movement amount of each axis in each predetermined cycle based on the axis position data of the start point and the end point of the movement command and the command movement speed, that is, for each linear movement axis The distribution movement amount and the distribution movement amount for each rotation axis are obtained.
  • the position deviation corresponding to the above-mentioned distribution movement amount is added for each linear movement axis, and the sum is output as a corrected distribution movement amount of each linear movement axis.
  • the tool tip is moved at the commanded commanded speed by outputting the amount of movement and rotating each rotary axis at a constant speed. Since the amount of distribution movement of each linear movement axis is corrected at predetermined intervals according to the positional deviation of the tool tip caused by rotation of the rotation axis, linear interpolation that does not include rotation of the rotation axis As in the case of, the tip of the tool can be moved at a given command movement speed.
  • FIG. 1 is a block diagram showing hardware of a numerical control apparatus according to an embodiment for implementing the method of the present invention.
  • Fig. 2 is a flowchart showing an outline of the pre-processing of the pulse distribution processing by the numerical controller of the embodiment
  • Fig. 3 is a flowchart showing an outline of the pulse distribution processing by the numerical controller of the embodiment
  • FIG. 4 is a conceptual diagram showing the degree of freedom of a rotary head mounted on a machine tool.
  • FIG. 1 is a block diagram showing the hardware of a numerical controller 10 according to an embodiment for implementing the method of the present invention.
  • the processor 11 is a processor that controls the control device 10 as a whole.
  • the processor 11 reads a system program stored in the ROM 12 via the bus 21 and sends the read program to the system program. Therefore, the control device 1 is entirely controlled.
  • the RAM 13 stores temporary calculation data, display data, various data input by the operator via the CRT / MDI unit 70, and the like.
  • the CM0S memory 14 is backed up by a battery (not shown), and is configured as a non-volatile memory that retains its memory state even when the power of the control device 10 is turned off.
  • a program or a program loaded via the interface 15 or a manual data input device with display (CRT / MDI unit) 70 Etc. are to be stored.
  • the ROM 12 also contains various system programs for executing the edit mode processing required for creating and editing machining programs and the playback mode processing for automatic operation. Is written in advance.
  • the interface 15 is an interface for external devices that can be connected to the control device 10, and includes a paper tape reader, a paper tape puncher, an external storage device, and the like. External device 72 is connected.
  • a processed program or the like is read from a paper tape reader or an external storage device, and a processing program edited in the control device 10 can be output to a paper tape puncher or an external storage device.
  • the PMC (Programmable Machine Controller) 16 is a sequence program built in the control unit 10 and is used as an auxiliary device on the machine tool side, for example, a robot node for tool change. Control when you go.
  • these sequence programs convert the necessary signals on the auxiliary device side, and output the signals from the input / output (10) unit 17 Output to the auxiliary device side.
  • Auxiliary devices such as various factories are operated by this output signal.
  • it receives signals from the limit switch on the machine tool main body and the auxiliary device side, and various switches on the operation panel provided on the machine tool main body, performs necessary processing, and performs the necessary processing. Pass to.
  • Image signals such as the current position of each axis of the machine tool, alarms, parameters, and image data are sent to the CRT / MDI unit 70 and displayed on the display.
  • the CRT / MDI unit 70 is a manual data input device equipped with a display keyboard, etc.
  • the interface 18 is a keyboard of the CRT / MDI unit 70. Data from the Receive it and pass it to processor 1 1.
  • the interface 19 is connected to the manual pulse generator 71 and receives a pulse from the manual pulse generator 71.
  • the manual pulse generator 71 is mounted on the operation panel of the machine tool main body, and is used to precisely position the movable part of the machine tool by controlling each axis by the distribution pulse based on the manual operation.
  • the axis control circuits 30 to 34 receive the movement command of each axis from the processor 11 and output the command of each axis to the support pumps 40 to 44.
  • the servo amplifiers 40 to 44 receive this command and drive the servos 50 to 54 of each axis of the machine tool.
  • the servomotors 50, 51, and 52 are used to drive the linear movement axes X, ⁇ , and ⁇ ⁇ ⁇ ⁇ for table movement, and the servomotors 53, 54 are ports. It is used for driving the first rotating shaft, and the second rotating shaft C in a single head.
  • a pulse coder for position detection is built in each of the servo motors 50 to 54 of each axis, and the position signal from this pulse coder is fed back as a pulse train.
  • a linear scale is used as the position detector.
  • a speed signal can be generated by converting this pulse train into FZV (frequency speed). In FIG. 1, the explanation of the feedback of these position signals and the velocity feedback is omitted.
  • the spindle control circuit 60 receives a spindle rotation command to the machine tool, and outputs a spindle speed signal to the spindle amplifier 61.
  • Spindle amplifier 6 1 uses this spindle speed signal.
  • the machine tool main shaft # 1 is rotated at the specified cutting speed.
  • a position coder 63 is connected to the spindle motor 62 with gears or a belt, etc., and the position coder 63 outputs a feedback pulse in synchronization with the rotation of the main shaft. Read by processor 11 through interface 20.
  • FIG. 4 is a conceptual diagram showing a degree of freedom of a rotary machine mounted on a machine tool driven and controlled by the control device 10.
  • this mouthpiece has a first rotation axis B for rotating the tool about a horizontal axis passing through the base of the tool, and a tool centering about a vertical axis passing through the base of the tool.
  • a second rotation axis C for rotating the tool, and by combining the rotation angles of the B and C axes, the inclination angle and the direction of the tool with respect to the work can be freely changed, and the linear movement axes X and Y can be changed.
  • Z move relative to the workpiece as the table is fed.
  • the first rotation axis B and the second rotation axis C intersect at the rotation center G of the rotary head which is the base of the tool. The distance from the rotation center G to the tool tip is H.
  • the coordinates of the start point S and end point E of the movement command for the tool tip given by the machining program for one block are (S x, S y, S z), (E x, E y, E z), the commanded moving speed of the tool tip is F, and the pulse distribution period is ⁇ ⁇ .
  • the linear movement axes X, Y, Z Start only with axis table feed If linear interpolation is performed between the point S and the end point E, since the number of distributions to each axis is equal, the distribution of each linear movement axis X, ⁇ , Z for the predetermined period ⁇ ⁇
  • the following formula is established, where the movement amount is ⁇ , ⁇ U : ⁇ Uz.
  • the rotation positions (angles) of the ⁇ and C axes at the start point S of the movement command are given by Sb and Sc by the machining program, respectively, and the B and C axes at the end point ⁇ of the movement command are given.
  • the rotation position (angle) of the shaft is given by Eb and Ec, respectively.
  • Equation (3) the term in which the absolute value of the denominator is maximum in Equation (3) is Let the value be E i -S i and the value of the numerator be AU i, and determine the ⁇ -axis distribution movement amount ⁇ ⁇ and the C-axis distribution movement amount ⁇ C so that the following equation is satisfied.
  • the equations (3) and (3) are obtained from the position data (Sx, Sy, Sz) and (E, Ey, Ez) of the start and end points of the movement command and the command movement speed F of the tool.
  • the respective movement directions of the respective linear movement axes in the movement command are obtained.
  • the distributed movement amount ⁇ ⁇ AC That is to ask for.
  • the tool tip is located at the point Q after the elapse of the predetermined period ⁇ ⁇ , the predetermined movement speed F and the movement position Q by pulse distribution, that is, the equation (4)
  • the movement amount per unit time ⁇ T indicated by the numerator (corresponding to F) and the position on the straight line (corresponding to Q) connecting the starting point S and the ending point E are ensured.
  • the amount of movement for eliminating the position deviation ⁇ ⁇ ⁇ ⁇ ⁇ caused by the rotation of each axis of B and C is set in the X, ⁇ , and Z directions of each axis. It needs to be added to the distribution movement amount ⁇ U.
  • the rotational positions (angles) of the B-axis and C-axis when the tool tip is located at point P in Fig. 4 are B and C, respectively. Is assumed to be ⁇ + ⁇ ⁇ and C + AC respectively, and the rotation ⁇ ⁇ and ⁇ C of each axis B and C is considered to cause a position deviation ⁇ A at the tool tip position of the inertial system. .
  • the movement amount ⁇ for eliminating the position deviation ⁇ is calculated for each axis component of the inertial system, that is, the X, ⁇ , ⁇ components of the movement amount ⁇ , ⁇ , ⁇ Vy, ⁇ Vz Each time, it can be obtained by the following equations (6) to (8).
  • V X f X (B10 ⁇ , C + ⁇ C)-f x (B, C)
  • the distance from the rotation center G of the rotary head to the tool tip is H
  • the rotation axis B is Since the tool rotates about a horizontal axis passing through the base and the rotation axis C rotates the tool about a vertical axis passing through the base of the tool
  • the actual contents of fx, fy, and fz are as follows. As shown in the equation,
  • FIGS. 2 and 3 are flowcharts showing an outline of the processing applied by the numerical controller 10 of the present embodiment to perform the pulse distribution processing to each axis by applying the above-described arithmetic expression.
  • the processing shown in Fig. 2 is mainly related to preprocessing for pulse distribution, and uses higher priority processing, for example, the remaining time after the pulse distribution processing is completed.
  • the processing shown in FIG. 3 relates to the pulse distribution processing that is repeatedly executed at a predetermined cycle ⁇ , and both are stored in the ROM 12. Executed by processor 11 based on the system program.
  • the processor 11 Determines whether R2 is empty or not (step a4), but immediately after reading the first block, the execution Evening memory register Since evening R2 is empty, the contents of the next candidate data evening memory register R1, that is, the first movement command
  • the value of the reference distribution movement amount ⁇ ( ⁇ UX, ⁇ Uy, ⁇ Uz, ⁇ , AC) calculated accordingly is stored in the execution data storage register R 2 (step a Five ) .
  • the processor 11 shifts to the processing of the step a1, reads the next one block from the processing program of the CMOS memory 14, and executes the processing of the step a2 in the same manner as described above.
  • the discriminating process is executed, and if this block is not a block indicating a program end, the process of step a3 is executed in the same manner as described above based on the movement command of the one block.
  • processor 11 has higher priority.
  • the above pre-processing is performed by sewing a gap between other processing that is high. If an interrupt for executing another processing is applied during the execution of the pre-processing, the pre-processing being executed is temporarily stopped. Stops, stores the step number corresponding to the stop position, executes other processing while retaining the contents of registers R1, R2, etc., and again when the next idle time occurs, Pre-processing is restarted from the stop position step number.
  • the execution data storage register R2 the value of the reference distribution movement amount ⁇ U was read by the pulse distribution processing described later, and the pulse distribution processing corresponding to the movement command of the one block was started. Initialized and empty at that point.
  • step a5 is released by initializing the execution data storage register R2, and the reference previously stored in the next candidate data storage register R1 in the processing of step a3 Since the value of the distribution movement amount ⁇ is written to the register R 2, the execution data storage register R 2 is consequently always one block ahead of the block during the pulse distribution. Then, the value of the reference distribution movement amount ⁇ U corresponding to the movement command is written.
  • the value of the reference distribution movement amount ⁇ ( ⁇ UX, ⁇ , ⁇ Uz, ⁇ , ⁇ ) in each axial direction corresponding to the first movement command block is read.
  • the contents of the register R2 are initialized and emptied (step b2), and the distribution data read prohibition flag: F is set (step b3).
  • the processor 11 reads the values of the current rotational positions (angles) B and C of the axes B and C from the current position storage registers of the axes B and C (step b4). (12), (13), and (14) based on the tool length H and the values of the reference distribution movement amounts ⁇ and ⁇ C of the B and C axes read in the processing in step b2.
  • the linear motion axes X, Y, and ⁇ in each axis direction are used to eliminate the positional deviation that occurs at the tip of the tool during the predetermined period ⁇ T due to the rotation of each of the B and C axes.
  • step b9 each time the pulse distribution process for one block corresponding to the moving command being executed is completed and the determination result of step b8 becomes true (Y), the processor 11 executes the distribution process.
  • the read prohibition flag F is reset (step b9), and the next block stored in the execution data storage register R2 is processed by the pulse distribution processing of the next cycle.
  • the value of the reference distribution movement amount ⁇ ) corresponding to the program is read (Step bl to Step b2), and the distribution data read-inhibit flag F is set again (Step b 3), supplemented in the same manner as above
  • the positive distribution movement amount ⁇ is obtained, and the pulse distribution process corresponding to the movement command of the one block is repeatedly executed at a predetermined period ⁇ .
  • Speed control methods include machine tools that perform machining while changing the relative angle between the tool and the work by changing the rotation angle and tilt angle of the table, and the relative speed between the tool and the work. All machine tools that can resolve the positional deviation between the tip of the tool and the workpiece by only the angle change into the amount of movement in each linear movement axis direction, ie, Equations (6) and ( 7), ⁇ ⁇ , ⁇ V y, and ⁇ ⁇ ⁇ ⁇ ⁇ in equation (8) can be applied to all machine tools that can be obtained by a specific function. .
  • the distributed movement amount of each linear movement axis when linear interpolation is performed at predetermined intervals only by the linear movement axis in response to the movement command is independent of the change in the tool angle.
  • the distribution movement amount of each rotating axis for changing the tool angle in each predetermined cycle is calculated in accordance with the number of interpolations. A position deviation occurring at the tip of the tool with respect to the direction of each axis of the linear movement axis up to the predetermined period is obtained at each of the predetermined periods, and based on the value of the position deviation, the distribution movement of each linear movement axis is determined.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Automatic Control Of Machine Tools (AREA)

Description

明 細 書
数値制御装置における速度制御方法
技 術 分 野
本発明は、 数値制御装置における速度制御方法の改良 に関する。
背 景 技 術
ワーク に対する工具の角度を変化させる回転軸を備え た工作機械の速度制御方法と して、 その回転軸の移動量 を直線移動軸の移動量と同 じ次元で取 り扱って各軸当 り の分配移動量を算出 し、 この分配移動量で各軸を駆動制 御するよ う に したものが公知である。
これは、 例えば、 工具の基部を通る水平軸を中心にェ 具を回転させる第 1 の回転軸 ( 軸) と工具の基部を通 る垂直軸を中心に工具を回転させる第 2の回転軸 ( c軸) 、 および、 相互に直交する方向に工具を移動させる直交三 軸の移動軸 X , Υ , Z の計 5 軸を備えた工作機械におい て、 工具先端に対する移動指令の始点および終点を夫々 ( S X , S y , S z, ) , ( E x , E y , E z ) 、 指令 移動速度を F、 移動指令の始点および終点における第 1 の回転軸の回転角度を夫々 S b , E b、 移動指令の始点 および終点における第 2 の回転軸の回転角度を夫々 S c , E c、 各軸の分配周期を Δ Τ と した と き、 各軸に対する 分配回数が等 し く、 かつ、 分配周期当 り の総移動量が各 軸の分配移動量の 2乗の和の平方根によって示さ れる と い う こ と を前提と して、 第 1 の回転軸 ( b軸) の分配移 動量 Δ Β、 第 2の回転軸 ( c蚰) の分配移動量 A C、 直 線移動軸 Xの分配移動量 Δ ΙΙ χ、 直線移動軸 Υの分配移 動量 A U y、 直線移動軸 Zの分配移動量 A U z の各々 を, 次の(1) 式及び(2) 式を連立 して解 く こ と によって求め る ものである。
Δ U X Δ U y Δ U z
E X - S X E y - S y Ε y - S y
Δ B Δ C
(
E b — S b E c - S c Δ A m T = . , A U x 2-t- A U y + A ^U z 2+ A B 2+ A C 2
—— ( 2 ) しか し、 式(1) および(2) における厶 B, A Cは角度 のディ メ ンシ ョ ンを有する項であ り、 ま た、 工具長に関 して も何 ら考慮されて いないので、 これ らの項を直線移 動軸の移動量 と同 じ次元で取 り扱ってパルス分配を行つ て も工具先端の移動速度を指令移動速度に制御する こ と はできなレ、。
言い換えれば、 これは単に、 移動指令の始点および終 点と該始点および終点における各軸の回転角度、 な らび に、 分配周期 と 1制御データ と しての指令移動速度と に 基いて直線移動軸のみによ る直線補間処理を模 して各軸 を駆動制御するための手段に過ぎず、 指令移動速度自体 によって実質的な工具の移動速度が制御される と いう も のではない。 ま た、 どう して も工具先端を所望の速度で 移動させよ う と するのであれば、 回転軸の分配移動量△ B, A C等の変数が実際の工具先端移動速度に与える影 響を考慮 して所望移動速度を実現するための指令移動速 度を決めなければな らないが、 そのよ う な指令移動速度 を求める こ と は非常に困難である。
発 明 の 開 示
本発明の目的は、 ワーク に対する工具の角度を変化さ せながら加工を行う場合であって も、 与え られた指令移 動速度で工具を適確に移動させる こ とのできる数値制御 装置における速度制御方法を提供する こ と にある。
上記目的を達成するため、 本発明の数値制御装置によ る速度制御方法は、 ワーク に対する工具の角度を変化さ せる回転軸を備えた工作機械の速度制御方法にお いて、 移動指令の始点および終点の各軸位置データおよび指令 移動速度によ り 各軸に関する所定周期毎の分配移動量を 求め、 前記所定周期毎に、 次周期の回転軸の回転位置と 当該周期の回転軸の回転位置との相違によ り前記回転軸 を基準と して工具先端に生 じる各直線移動軸方向毎の位 置偏差を求め、 各直線移動軸毎、 前記分配移動量に対応 する位置偏差を夫々加算 して各直線移動軸の補正分配移 動量と して出力する と共に、 各回転軸には前記求め られ た分配移動量を出力するよ う に して いる。
好ま し く は、 移動指令の始点および終点の位置データ と工具の指令移動速度と に よ り各直線移動軸の所定周期 毎の分配移動量を求めた後、 前記移動指令における 1 直 線移動軸方向の移動距離と該直線移動軸の所定周期毎の 分配移動量との関係と、 移動指令の始点および終点にお ける回転軸の回転位置と に基いて前記各回転軸の所定周 期毎の分配移動量を求める よ う に している。
ま た、 本発明の数値制御装置に よ る工具先端速度制御 方法では、 数値制御装置によ り 1 ま たは 2以上の直線移 動軸及び 1 ま たは 2以上の回転軸で制御される工具のェ 具先端速度指令方法において、
( a ) 1 ブロ ッ ク分の加エブログラムで与え られる工具 先端に対する移動指令の始点での上記直線移動軸上の座 標値及び上記回転軸の回転角度、 移動指令の終点での上 記直線移動軸上の座標値及び上記回転軸の回転角度、 及 びこの区間の指令移動速度に基づいて直線補間する こ と によ り、 各直線移動軸ごとの分配移動量及び各回転軸ご との分配回転量を予め求めておいて、
( b ) 現周期での上記回転軸の回転角度を読み、 こ の回 転角度が次の周期で上記( a ) で求めた分配回転量だけ増 減 した場合に工具先端が上記回転軸の回転中心を基準に 上記直線移動軸方向にそれぞれどれだけ変位すかを計算 して、 その変位を相殺する に必要な上記直線移動軸ごと の補正分を求め、
( c ) 次周期では、 直線移動軸に対 しては上記(a ) で求 めた分配移動量に上記( b ) で求めた補正分を加えたもの に相当する分配パル ス を出力する と と も に、 回転移動軸 に対 しては上記(a ) で求めた分配回転量そのもの対応す る分配パルス を出力する こ と によ って、
指令の速度が工具先端の実際の加工点における速度に なるよ う に制御される よ う に して いる。
以上の構成を備えた本発明によれば、 移動指令の始点 および終点の各軸位置データおよび指令移動速度によ り 各軸に関する所定周期毎の分配移動量、 即ち、 各直線移 動軸毎の分配移動量 と各回転軸毎の分配移動量 と を求め る。 移動指令の実行時には、 前記所定周期毎、 次周期の 回転軸の回転位置と 当該周期の回転軸の回転位置との相 違によ り工具先端に生 じる各直線移動軸方向毎の位置偏 差を求め、 各直線移動軸毎に前記分配移動量に対応する 位置偏差を夫々加算 して各直線移動軸の補正分配移動量 と して出力する と共に、 各回転軸には前記求め られた分 配移動量を出力 して各回転軸を等速で回転する こ と によ り、 指令された指令移動速度で工具先端を移動させる。 回転軸の回転によ って生 じる工具先端の位置偏差に応 じて所定周期毎に各直線移動軸の分配移動量を補正する よ う に したので、 回転軸の回転を含まない直線補間の場 合と同様、 与え られた指令移動速度で工具の先端を移動 させる こ とができる。
図 面 の 簡 単 な 説 明
図 1 は本発明の方法を実施する一実施例の数値制御装 置のハー ド ウ エアを示すブロ ッ ク図、
図 2 は同実施例の数値制御装置によるパルス分配処理 の前処理の概略を示すフ ローチャー ト、 図 3 は同実施例の数値制御装置に よるパルス分配処理 の概略を示すフ ローチャー ト、 及び、
図 4 は工作機械に装着された ロ ータ リ 一へヅ ドの自由 度を示す概念図である。
発 明 を 実 施 す る た め の 最 良 の 形態 以下、 図面を参照 して本発明の実施例を説明する。 図 1 は本発明の方法を実施する一実施例の数値制御装置 1 0のハ一 ド ウ エアを示すブロ ッ ク図である。 プロセ ッサ 1 1 は制御装置 1 0 を全体的に制御するプロセ ッサであ り、 バス 2 1 を介 して、 R O M 1 2 に格納されたシステ ムプロ グラム を読み出 し、 このシステムプログラム に従 つて、 制御装置 1 を全体的に制御する。 R A M 1 3 に は一時的な計算データや表示デ一夕および C R T /M D I ュニッ ト 7 0 を介 してオペレー夕が入力 した各種デ一 夕等が格納される。 C M 0 S メ モ リ 1 4 は図示 しないバ ヅテ リ でバッ クアップされ、 制御装置 1 0の電源がォフ にされて も記憶状態が保持される不揮発性メ モ リ と して 構成され、 イ ン夕一フ ェ イ ス 1 5 を介 して読込ま れた加 ェプロ グラ ムやディ スプ レイ 付き手動データ入力装置 ( C R T /M D I ュニヅ ト ) 7 0 を介 して入力された加 エブロ グラム等が記憶されるよ う になって いる。 また、 R O M 1 2 には、 加工プロ グラムの作成および編集のた めに必要と さ れる編集モー ドの処理や自動運転のための 再生モー ドの処理を実施するための各種のシス テ ムプロ グラムが予め書き込ま れて いる。 ィ ン 夕 一 フ エ イ ス 1 5 は制御装置 1 0 に接続可能な外 部機器のためのイ ン 夕 一フ ェイ スであ り、 紙テープリ 一 ダゃ紙テープパンチヤーおよび外部記憶装置等の外部機 器 7 2が接続される。 紙テープリ ーダや外部記憶装置か らは加エブロ グラム等が読み込ま れ、 また、 制御装置 1 0 内で編集された加工プロ グラム を紙テープパンチヤー や外部記憶装置に出力する こ とができる。
P M C (ブロ グラ マブル ' マシ ン · コ ン ト ローラ ) 1 6 は、 制御装置 1 0 に内臓されたシーケ ンスプロ グラム で工作機械側の補助装置、 例えば、 工具交換用のロボッ トノヽン ド等と いつたァクチユエ一夕 を制御する。 即ち、 加エブ口 グラ ムで指令された M機能, S機能および T機 能に従って、 これら シーケ ンスプロ グラムで補助装置側 で必要な信号に変換 し、 入出力 ( 1 0 ) ユニ ッ ト 1 7 から補助装置側 に出力する。 この出力信号によ り各種ァ ク チユエ一夕等の補助装置が作動する。 また、 工作機械 機本体や補助装置側の リ ミ ッ ト スィ ツチおよび工作機械 本体に配備された操作盤の各種ス ィ ツチ等の信号を受け、 必要な処理を して、 プロセ ッサ 1 1 に渡す。
工作機械各軸の現在位置, アラーム, パラメ 一夕, 画 像データ等の画像信号は C R T /M D I ュニ ヅ ト 7 0 に 送られ、 そのデイ スプレイ に表示される。 C R T /M D I ュニ ヅ 卜 7 0 はディ スプレイ ゃキ一ボー ド等を備えた 手動データ入力装置であ り、 イ ンターフ ェイ ス 1 8 は C R T / M D I ュニ ッ ト 7 0のキ一ボー ドからのデータ を 受けてプロセ ッサ 1 1 に渡す。 イ ンターフ ェイ ス 1 9 は 手動パル ス発生器 7 1 に接続され、 手動パルス発生器 7 1 からのパルス を受ける。 手動パルス発生器 7 1 は工作 機械本体の操作盤に実装され、 手動操作に基く 分配パル ス によ る各軸制御で工作機械の可動部を精密に位置決め するために使用 される。
軸制御回路 3 0〜 3 4 はプロセ ッサ 1 1 からの各軸の 移動指令を受けて、 各軸の指令をサ一ポア ンプ 4 0 〜 4 4 に出力する。 サ一ボア ンプ 4 0 〜 4 4 はこの指令を受 けて、 工作機械各軸のサーボ乇一夕 5 0 〜 5 4 を駆動す る。 この場合、 サ一ボモータ 5 0 , 5 1 , 5 2 の各々 は テーブル移動用の直線移動軸 X, Υ, Ζ の駆動に用い ら れ、 ま た、 サ一ボモー夕 5 3, 5 4 は口一タ リ 一へ ヅ ド における第 1 の回転軸 Β , 第 2の回転軸 Cの駆動に用 い られる。 各軸のサ一ボモ一夕 5 0 〜 5 4 には位置検出用 のパルス コーダが内蔵されてお り、 このパルス コーダか らの位置信号がパルス列と してフ ィ 一 ドバッ ク される。 場合によって は、 位置検出器と して、 リ ニアスケールが 使用される。 ま た、 こ のパルス列を F Z V (周波数 速 度) 変換する こ と に よ り、 速度信号を生成する こ とがで き る。 図 1 ではこれ らの位置信号のフ ィ ー ドバッ クお よ び速度フ ィ 一 ドバッ クの説明は省略 して いる。
ス ピ ン ドル制御回路 6 0 は工作機械への主軸回転指令を 受け、 ス ピ ン ドルア ンプ 6 1 にス ピ ン ド ル速度信号を出 力する。 ス ピ ン ドルア ンプ 6 1 はこのス ピン ドル速度信 号を受けて、 工作機械の主軸乇一夕 6 2 を指令された切 削回転速度で回転させる。 主軸モータ 6 2 には歯車ある いはベル ト等でポジ シ ョ ンコーダ 6 3が接続され、 該ポ ジシ ョ ンコーダ 6 3 が主軸の回転に同期 して帰還パルス を出力 し、 その帰還パルス はイ ン夕一フ ェ イ ス 2 0 を絰 由 してプロセ ッサ 1 1 によって読み取られる。
図 4 は該制御装置 1 0 によって駆動制御される工作機 械に装着された ロータ リ 一八ッ ドの 自由度を示す概念図 である。 この口 一タ リ 一ヘッ ドは、 前述 したよ う に、 ェ 具の基部を通る水平軸を中心に工具を回転させる第 1 の 回転軸 B と、 工具の基部を通る垂直軸を中心に工具を回 転させる第 2 の回転軸 C と を備え、 B, C軸の回転角度 の合成によ り、 ワー ク に対する工具の傾斜角度およびそ の向き を 自由 に変えながら、 直線移動軸 X, Y , Zのテ —ブル送 り に伴って ワーク上を相対移動する。 実施例の ものでは、 第 1 の回転軸 B と第 2 の回転軸 C とが工具の 基部であるロ ータ リーへヅ ドの回転中心 Gで交叉 してお り、 B, C各軸の回転中心 Gから工具先端までの距離は 共に Hである。
こ こで、 1 ブロ ッ ク分の加工プロ グラムで与え られる 工具先端に対する移動指令の始点 S および終点 Eの座標 値を各々 ( S x , S y , S z ) , ( E x , E y , E z ) と し、 ま た、 工具先端の指令移動速度を F、 パルス分配 周期を Δ Τ と した と き、 も し、 工具自体に姿勢変化がな く 直線移動軸 X, Y, Z の 3 軸のテーブル送り のみで始 点 S と終点 E との間を直線補間する とすれば、 各軸に対 する分配回数が等 し い こ とか ら、 該所定周期 Δ Τ当 り の 各直線移動軸 X, Υ, Zの分配移動量を Δ υ χ, Δ U : Δ U z と して次の式が成立する。
Δ U Δ U y Δ U z
E X - S E y - S y E z - S z
· ' · · ( 3 ) また、 工具自体に姿勢変化がなければ、 分配周期 Δ Τ 当 り の総移動量が各軸の分配移動量 Δ ΙΙ χ, Δ U y5 Δ U zの 2乗の和の平方根と完全に一致するので、 次の式 が成立する。 厶 U X Δ U y 2 + Δ U z
Δ T =
F
•… ( 4 ) そこで、 式(3) お よび(4) を連立 して解けば、 直線移 動軸 X, Y, Ζの 3軸のみで始点 S と終点 Ε との間を直 線補間する と きの周期 Δ Τ当た り の分配移動量 Δ ΙΙ χ, Δ U y, Δ ΙΙ ζ を得る こ とができ る。
言う までもな く、 式( 3 ) にお いて分母が 0 となる項があ れば、 式( 3 ) において こ の項を削除 し、 式( 4 ) において は、 この項の分子に対応する値を 0 と して解を求める。 当然、 式( 3 ) において分母が 0 とな る項が 2つあった場 合には、 式( 3 ) にお いて これらの項を共に削除 し、 式( 4 ) においては、 こ れらの項の分子に対応する値を 0 と して 解を求めるため、 例えば、 式( 3 ) において Ε X — S X = 0 , Ε y - S y = ◦ と なっ た とする と、 分配移動量 Δ U ζの絶対値は式( 4 ) の変形である Δ U z = F · Δ Τで求 め られ、 その符号は E z - S zの正負によって決ま る こ と となる。
更に、 Β, C軸の回転角度を変化させながら加工を行 う場合には、 直線移動軸 X, Υ, Ζの各軸の補間に同期 して Β , C軸を回転させる必要があ り、 そのためのパル ス分配も前記 X, Υ, Ζの各軸に対するパルス分配と同 時に完了させなければな らない。
こ こで、 移動指令の始点 S における Β, C軸の回転位 置 (角度) が夫々加工プロ グラム によ り S b, S cで与 え られ、 また、 移動指令の終点 Ε における B, C軸の回 転位置 (角度 ) が夫々 E b, E cで与え られて いる とす る
Β, C軸に対するパルス分配を前記 X, Y, Zの各軸 に対するパルス分配 と 同時に完了 させるためには、 式(3) において分母の絶対値が最大となる項を とつて、 その分 母の値を E i - S i, 分子の値を A U i と し、 次の式を 満たすよ う に Β軸の分配移動量 Δ Β, C軸の分配移動量 Δ Cを決めればよい。
△ U i Δ Β Δ C
E i - S i E b - S b E c - S c
… . ( 5 ) 式( 3 ) にお いて分母の絶対値が最大となる項を とつて 式( 5 ) の演算式を行う のは分母が 0 となって計算不能と なる こ と を防止するためと、 計算上の精度を向上させる ためるであるか ら、 計算精度さえ問わなければ、 分母が 0 とな らない限 り、 式( 3 ) における どの項を用 いて式( 5 ) の演算式を実行 して も一向に差支えない。
即ち、 移動指令の始点および終点の位置デ一夕 ( S x, S y, S z ) , ( E , E y, E z ) と工具の指令移動 速度 F と によ り 式(3) および式(4) の演算式で各直線移 動軸 X, Y, Ζの所定周期毎の分配移動量 A U x, Δ U y, A U z を求めた後、 前記移動指令における各直線移 動軸方向の移動距離の う ち最大の値 E i - S i と該直線 移動軸の所定周期毎の分配移動量 A U i の関係と、 移動 指令の始点にお ける回転軸 B , Cの回転位置 (角度) S b, S c および移動指令の終点における回転軸 B, Cの 回転位置 (角度) E b, E c と に基いて各回転軸 ] 3, C の所定周期毎の分配移動量 Δ Β, A Cを求める と いう こ とである。
ま た、 式(5) の演算式においても、 前述 した式(3) の 場合と同様、 E b — S b ま たは E c — S cのいずれか一 方が 0 となった場合には、 こ れに対応する分母を有する 項は削除 して考える。
しか し、 X, Y, Z , B, C'各軸の一分配周期 Δ Τ当 た り の分配移動量 Δ ΙΙ χ, Δ ϋ y , A U z, Δ Β, Δ C をそのま ま分配周期 Δ Τ毎に各軸に出力 した と してもェ 具の先端を指令移動速度 Fで移動させる こ とはできな い し、 ま た、 終点にお ける工具先端位置をプロ グラ ムで指 定された位置に合致させる こ と もできない。 それは、 各 直線移動軸 X, Υ, Z の分配移動量 Δ ΙΙ χ, 厶 U y, Δ U zが工具の姿勢変化を考慮せずに決め られて いる にも 関わ らず、 実際には、 回転軸 B, Cが所定周期 Δ Τ毎に 厶 B, A Cずつ回転するため、 工具の先端にロータ リ ー ヘッ ドの回転中心 Gを基準とする位置偏差 Δ Αが生 じる ためである。
例えば、 図 4 にお いて工具先端の現在位置が P点にあ る と し、 所定周期△ Tの間に各軸 X, Y, Zの方向にの み A U = ( A U x, A U y, Δ ΙΙ ζ ) の送 り を掛けた と すれば、 所定周期 Δ Τ経過後に工具先端が Q点に位置 し、 所定の移動速度 F とパルス分配によ る移動位置 Q、 即ち、 式(4) の分子で示される単位時間△ T当 り の移動量 ( F に対応) と始点 Sおよび終点 E を結ぶ直線上の位置 ( Q に対応) とが確保さ れるが、 実際にはこの間に B, Cの 各軸が各々 Δ B, Δ Cだけ回転するので、 所定周期厶 T 経過後の工具の先端位置は R点に移動 し、 所望する移動 位置 Q との間に△ Aの位置偏差が生 じる こ と となる。 つ ま り、 位置偏差 Δ Αの存在によ り単位時間 Δ Τ当 り のェ 具先端の移動量が式(4) の分子で示される単位時間厶 T 当 り の移動量 と一致 しな く なるため、 当然、 所定の移動 速度 Fは保持さ れず、 ま た所望の移動位置 Qも確保され ない。
このため、 B, Cの各軸の回転によって生 じ る位置偏 差 Δ Αを解消するための移動量を各軸 X, Υ, Z方向の 分配移動量 Δ U に加算する必要が生 じる。
そこで、 B軸、 C軸の回転角度をそれぞれ B、 Cと し た と き、 ロータ リ 一ヘッ ド を慣性系 と して口一夕 リーへ ッ ドの回転中心 Gを座標原点とする工具先端位置の X軸 成分を示す関数を f x ( B, C ) 、 Y軸成分を示す関数 を f y ( B, C ) 、 Z軸成分を示す関数を f z ( B, C ) を考える。
次に、 工具先端が図 4の P点に位置する と きの B軸、 C軸の回転位置 (角度) をそれぞれ B、 C と し、 また、 所定周期 Δ Τ経過後の B, C各軸の回転位置 (角度) を 各々 Β + Δ Β, C + A C と して、 各軸 B, Cの回転 Δ Β, Δ Cによって慣性系の工具先端位置に位置偏差 Δ Aが生 じる と考える。
そこで、 この位置偏差 Δ Αを解消する移動量 Δ νは、 慣性系の各軸成分毎に、 すなわち、 移動量 Δ νの X, Υ, Ζ成分、 Δ ν χ, Δ V y , Δ V z毎に、 次の式(6) か ら (8) の演算式に よって求める こ とができ る。
厶 V X = f X ( B十 Δ Β, C + Δ C ) - f x ( B, C )
. · · . ( 6 ) A V y = f y ( Β + Δ Β, C + 厶 C ) 一 f y ( B, C )
• · · · · ( 7 )
Δ V x = f z ( Β + Δ Β, C + Δ C ) 一 f z ( B, C )
—— ( 8 ) 実施例にお いては、 ロ ータ リ ーヘッ ドの回転中心 Gか ら工具先端ま での距離が Hであって、 回転軸 Bが工具の 基部を通る水平軸を中心に工具を回転させ、 ま た、 回転 軸 Cが工具の基部を通る垂直軸を中心に工具を回転させ るので、 f x, f y, f z の実質的な内容は以下の式に 示す通り であ ゥ、
f X ( B , C ) = H sin ( B ) cos ( C )
9 ) y ( B, C ) = - H sin ( B ) x sin ( C )
( 1 0 ) f z ( B, C ) = H cos ( C )
(
Δ V x, Δ V y, Δ ν ζ の各値は、 各々、 以下の式によ り求める こ とができ る。
Δ V x = H X [ sin ( B + 厶 Β ) X cos ( C + Δ C )
一 sin ( B ) X cos ( C ) ]
( 1 )
Δ V y = - H x [ sin ( B ÷ Δ B ) x sin ( C + 厶 C )
- sin ( B ) x sin ( C ) ]
•• '• ( 1 3 ) 厶 V z = H x [ cos ( B + Δ B ) - cos ( B ) ]
•••• ( 1 4 ) 従って、 式 (3) 、 (4) よ り 求め られた分配移動量厶 U X, Δ U y , Δ U z、 および、 式( 5 ) によ り求め られた 分配移動量△ B, △ ( によって決ま る基準分配量 A U = ( Δ U X, Δ U y, Δ U z , Δ Β, Δ C ) に対 し、 式 (12), (13), ( 14 )に よ り求め られた位置偏差補正のため の分配量 Δ ν = ( Δ V X , Δ V y , Δ V z ) を各軸毎に 加算 し、 最終的な分配移動量、 即ち、 補正分配量 Δ Ρ = ( 厶 U x + 厶 V x, Δ U y + Δ V y , Δ U z + Δ V z , Δ Β, Δ C ) と して所定周期 Δ Τ毎に各軸に対 して出力 すれば、 各軸 X, Υ, Ζ方向における各周期毎の工具先 端位置の移動量が Δ Ι χ, Δ U y, A U z と一致 し、 B: C軸の回転を伴わな い通常の直線補間の場合と同様、 プ ロ グラムで指定された指令移動速度 Fによ り始点 Sおよ び終点 Eを結ぶ直線に沿って工具の先端を移動させる こ とができ る。
図 2および図 3は前述の演算式を適用 して各軸へのパ ルス分配処理を行う ために本実施例の数値制御装置 1 0 が適用 した処理の概略を示すフ ローチャー トである。 こ のう ち図 2に示す処理は主にパルス分配のための前処理 に関する処理であって、 これよ り も優先度の高い処理、 例えば、 パルス分配処理等が終了 した後の残り 時間を用 いて行われるものであ り、 ま た、 図 3に示す処理は所定 周期 Δ Τ毎に繰 り返 し実行されるパルス分配処理に関す る ものであって、 共に、 R O M 1 2に格納されたシステ ムプロ グラム に基きプロセ ッサ 1 1 によ り実行される。
加工プロ グラ ムによ る自動運転処理を開始 したプロセ ヅサ 1 1 は、 ま ず、 所定の条件でス ピン ドル制御回路 6 0 に回転速度指令を出力 して 口 一夕 リ ーヘッ ド に取付け られた工具の切削回転を開始させた後、 C M 0 Sメ モ リ 1 4に格納さ れた加工用プロ グラム を 1ブロ ッ ク読み込 んで ( ス テ ッ プ a 1 ) 、 このブロ ッ クがプログラムェン ド を示すブロ ッ クであるか否かを判別する ( ス テ ヅブ a 2 ) 。 そ して、 このブロ ッ クがプロ グラ ムエン ド を示す ブ口 ヅ クでなければ、 該 1 ブロ ッ クの移動指令から移動 指令の始点 Sおよび終点 E に関する各軸座標値 S = ( S X, S y, S z ) と E = ( E X, E y, E z ) 、 並びに、 該移動区間に対応 してプロ グラム された工具先端の指令 移動速度 F、 お よび、 移動指令の始点 S における B, C 各軸の回転位置 (角度) S b, S c と移動指令の終点 E における B, C各軸の回転位置 (角度) E b, E cの各 々 を読み込み、 これ らの値に基いて式(3)、 (4)を連立 し て解く こ と によ り 直線移動軸 X, Υ, Zの 3軸のテ一ブ ル送り のみで始点 S と終点 E どの間を直線補間する場合 の各軸 X, Y, Ζの分配移動量 Δ υ χ, Δ U y , Δ U z を求める と共に、 式(1) にお いて分母の絶対値が最大と なる項の分母の値 E i 一 S i とその分子 Δ υ i との関係 に基いて式(5) を解 く こ と によ り B, C各回転軸の分配 移動量 Δ Β, A Cを求め、 これらの値 A U x, Δ U y , △ U z, Δ Β, △ (: の組を基準分配移動量 Δ υと して次 候補デー タ記憶レ ジ ス タ R 1 に格納する (ステ ップ a 3 ) 次いで、 プロセ ッサ 1 1 は、 実行デ一夕記憶レジス夕 R 2が空になって い るか否かを判別するが (ステ ップ a 4 ) 、 最初の 1 ブロ ッ ク を読み込んだ直後の段階では実 行デ一夕記憶レ ジ ス 夕 R 2が空であるか ら、 次候補デ一 夕記憶レ ジス タ R 1 の内容、 即ち、 最初の移動指令に対 応 して算出さ れた基準分配移動量 Δ ΙΙ = ( Δ U X , Δ U y , Δ U z , Δ Β, A C ) の値が実行データ記憶レジス 夕 R 2 に格納さ れる ( ステ ップ a 5 ) 。
そ して、 プロセ ッサ 1 1 はステ ップ a 1 の処理に移行 し、 C M O S メ モ リ 1 4の加工プロ グラムから次の 1ブ ロ ッ ク を読み込み、 前記と同様にステップ a 2の判別処 理を実行 し、 このブロ ヅ クがプロ グラムェン ド を示すブ ロ ッ クでなければ、 該 1 ブロ ッ クの移動指令に基き前記 と同様にステ ップ a 3の処理を実行 して、 該 1ブロ ッ ク、 即ち、 加工プロ グラム上の第 2番目の移動指令ブロ ッ ク に対応する各軸方向の基準分配移動量厶 U = ( Δ U X , Δ U y , Δ U z , Δ Β, A C ) の値を求め、 これらの値 を次候補データ記憶レ ジスタ R 1 に格納する (ステップ a 3 ) 。
次いで、 プロセッサ 1 1 は、 実行デ一夕記憶レ ジスタ R 2が空になって いるか否かを判別するが (ステ ップ a 4 ) 、 実行データ記憶レジス夕 R 2 には既に第 1番目の 移動指令ブロ ッ ク に対応する各軸方向の基準分配移動量 厶 U = ( A U x, 厶 U y, Δ U z , Δ B , A C ) の値が 格納さ れて いるので、 ステ ップ a 4の判別結果は偽 ( N ) とな り、 ステ ップ a 5 の処理、 即ち、 次候補データ記憶 レ ジス夕 R 1 の内容を実行データ記憶レジスタ R 2 に転 送するための処理が禁止され、 前処理実行過程での待機 状態に入る。
既に述べた よ う に、 プロセ ッサ 1 1 は、 よ り優先度の 高い他の処理の間隙を縫って前述の前処理を行ってお り . 前処理の実行中に他の処理を実行するための割 り 込みが かかった場合には、 実行中の前処理を一時停止 してその 停止位置に対応するステップ番号を記憶 し、 レ ジス夕 R 1, R 2等の内容を保持 した ま ま他の処理を実行 し、 次 の空き時間が生 じた時点で再び前記停止位置のステ ップ 番号か ら前処理を再開する。 実行デ一夕記憶レ ジス夕 R 2 は、 後述のパルス分配処理によ り基準分配移動量 Δ U の値を読み込ま れ、 該 1 ブロ ッ クの移動指令に対応する パルス分配処理が開始された時点で初期化されて空とな る。 ま た、 実行データ記憶レ ジスタ R 2 の初期化によ り ステップ a 5 の実行禁止が解除され、 予めステ ップ a 3 の処理で次候補データ記憶レ ジスタ R 1 に格納されて い た基準分配移動量 Δ ΙΙの値がレジス タ R 2 に書き込ま れ るので、 結果的 に、 実行データ記憶レジス夕 R 2 には、 パルス分配実行中のブロ ッ ク に対 して常に 1 ブロ ッ ク先 の移動指令に対応 した基準分配移動量 Δ Uの値が書き込 ま れる こ と と な る。
そ して、 所定周期△ Τ毎のパルス分配処理を開始 した プロセ ッサ 1 1 は、 ま ず、 分配データ読み込み禁止フラ グ Fがセ ッ ト されて いる ( : F = 1 ) か否か、 即ち、 1 ブ 口 ッ クの加エブ口 グラ ムで与え られた移動指令を実行す るための分配処理が全て完了 して いるか否かを判別する ( ステ ップ b 1 ) 。 プロ グラ ムの実行開始直後の現段階 ではフ ラ グ F の リ セ ッ 卜状態 ( F = 0 ) が保持されて い るので、 ステ ップ b 1 の判別結果は偽 ( N ) とな り、 ブ 口セ ヅサ 1 1 は、 実行データ記憶レ ジス 夕 R 2 に記憶さ れた基準分配移動量 Δ Ιの値、 即ち、 第 1番目の移動指 令ブロ ッ ク に対応する各軸方向の基準分配移動量 Δ Ι = ( Δ U X, Δ ϋ , Δ U z , Δ Β, Δ〇 ) の値を読み込 んで一時記憶する と共に、 レ ジス 夕 R 2の内容を初期化 して空に し ( ステップ b 2 ) 、 分配データ読み込み禁止 フラグ: F をセ ッ ト する (ステ ップ b 3 ) 。
次いで、 プロセ ッサ 1 1 は B, C各軸の現在位置記憶 レ ジス夕から各軸 B, Cの現在回転位置 (角度) B, C の値を読み込み ( ス テ ップ b 4 ) 、 これらのデータ とェ 具長 Hおよびステップ b 2の処理で読み込んだ B, C各 軸の基準分配移動量 Δ Β, Δ Cの値に基いて式(12), 式 (13), 式(14)の演算式を実行 し、 B, C各軸の回転によ つて所定周期 Δ T間 に工具の先端に生 じる位置偏差を解 消するための直線移動軸 X, Y, Ζ各軸方向の移動量 Δ V = ( Δ V X , Δ V y , Δ V z ) の値を算出 し (ステ ツ ブ b 5 ) 、 ステ ップ b 2の処理で一時記憶 した基準分配 移動量 Δ ΙΙ = ( Δ ΙΙ χ, Δ U y , Δ U z , Δ B, Δ C ) に移動量 A Vの各軸の値を加算 して補正分配移動量厶 P = ( Δ ΙΙ χ十 Δ ν χ, Δ ϋ y + Δ V , 厶 U z + A V z, △ B, A C ) を求め ( ステ ップ b 6 ) 、 各軸毎の分配移 動量 Δ ΙΙ χ ÷ Δ ν χ, A U y十 A V y, Δ U z + Δ V z , 厶 B , Δ Cに対応する分配パルス を X, Y, Z , B, C 各軸の軸制御回路 3 0, 3 1, 3 2, 3 3, 3 4に出力 して ( ステ ップ b 7 ) 、 当該ブロ ッ クの加工プロ グラ ム で指定さ れた指令移動速度 F によ り、 始点 S お よび終点 E を結ぶ直線に沿っ て工具の先端を移動させる。
次いで、 プロセ ッサ 1 1 は各軸の現在位置記憶レジス 夕の値を読み込み、 当該 1 ブロ ッ ク分のパルス分配が完 了 して いるか否か、 即ち、 工具の先端が該 1 ブロ ッ クの 加工プロ グラムで指令された終点 E = ( E x , E y , E z ) の位置に到達 して いるか否かを判別するが (ステ ツ ブ b 8 ) 、 1 ブロ ッ ク分のパルス分配が完了 して いなけ れば、 このま ま 当該処理周期のパルス分配処理を終了 し, 以下、 ステップ b 8 の判別結果が真 ( Y ) となって 1 ブ 口 ッ ク分のパルス分配が完了する までの間、 所定の分配 周期 Δ Τ毎にステップ b 4 〜ステ ップ b 8 の処理を繰り 返 し実行 し、 当該ブロ ッ クの加工プログラムで指定さ れ た指令移動速度 F に よ り、 始点 S および終点 E を結ぶ直 線に沿って工具の先端を移動させる。
そ して、 実行中の移動指令に対応する 1 ブロ ッ ク分の パルス分配処理が完了 してステップ b 8 の判別結果が真 ( Y ) となるたび、 プロセ ッサ 1 1 は分配デ一夕読み込 み禁止フラグ F を リ セ ヅ ト し (ステ ップ b 9 ) 、 次周期 のパルス分配処理で、 実行デ一夕記憶レ ジス夕 R 2 に記 憶されて いる次プロ ッ クの加工プロ グラム に対応する基 準分配移動量 Δ Ι)の値を読み込み ( ステ ップ b l 〜ステ ッブ b 2 ) 、 再び分配デ一夕読み込み禁止フラ グ F をセ ヅ ト して ( ステ ップ b 3 ) 、 以下、 前記と同様に して補 正分配移動量 Δ Ρ を求めて該 1 ブロ ッ クの移動指令に対 応するパルス分配処理を所定周期 Δ Τ毎に繰 り 返 し実行 する。
以上、 一実施例と して、 ロータ リ 一ヘッ ドを回転させ る Β , C軸と X, Υ , Ζ の直線移動軸と を備えた工作機 械の速度制御について説明 したが、 本発明の速度制御方 法は、 テーブルの回転角度や傾斜角度を変化させる こ と によって工具と ワー ク との相対角度を変えながら加工を 行う工作機械をは じめ、 工具と ワーク との間の相対的な 角度変化のみに よって工具の先端と ワーク との間に生 じ る位置偏差を各直線移動軸方向の移動量に分解する こ と のでき る全ての工作機械、 即ち、 式(6 ) , 式(7 ) , 式(8 ) における Δ ν χ , Δ V y , Δ ν ζ の各値を特定の関数式 によって求める こ とのでき る全ての工作機械に対 して適 用する こ とができ る。
以上のよ う に本発明の速度制御方法は、 移動指令に対 し直線移動軸のみで所定周期毎の直線補間を行った場合 の各直線移動軸の分配移動量を工具の角度変化と は無関 係に求める と共に、 その補間回数に対応 して、 工具の角 度を変化させる各回転軸の所定周期毎の分配移動量を算 出 し、 更に、 各回転軸の分配移動量によ り次の所定周期 までの間に直線移動軸の各軸の方向に対 して工具の先端 に生 じる位置偏差を前記所定周期毎に求め、 該位置偏差 の値に基き、 各直線移動軸の分配移動量に所定周期毎に 補正をかけて各直線移動軸を補間する一方、 各回転軸に は補間回数に対応 して求めた分配移動量、 即ち、 工具の 角度変化によってその先端に生 じる位置偏差の原因とな る分配移動量をそのま ま 出力する よ う に したので、 ヮー ク に対する工具の角度を変化させながら直線補間を行う 場合であって も、 直線移動軸のみによる直線補間の場合 と同様、 工具先端の移動速度を、 与え られた移動指令速 度と一致させる こ とができ る。

Claims

請 求 の 範 囲
1 . ワーク に対する工具の角度を変化させる回転軸を備 えた工作機械の速度制御方法にお いて、
移動指令の始点お よび終点の各軸位置デ一夕および 指令移動速度によ り 各軸に関する所定周期毎の分配移 動量を求め、
前記所定周期毎に、 次周期の回転軸の回転位置と当 該周期の回転軸の回転位置との相違によ り前記回転軸 を基準と して工具先端に生 じる各直線移動軸方向毎の 位置偏差を求め、 各直線移動軸毎、 前記分配移動量に 対応する位置偏差を夫々加算して各直線移動軸の補正 分配移動量 と して出力する と共に、 各回転軸には前記 求め られた分配移動量を出力するよう に した数値制御 装置における速度制御方法。
2 . 移動指令の始点お よび終点の位置データ と工具の指 令移動速度 と によ り各直線移動軸の所定周期毎の分配 移動量を求めた後、 前記移動指令における 1 直線移動 軸方向の移動距離と該直線移動軸の所定周期毎の分配 移動量との関係と、 移動指令の始点および終点におけ る回転軸の回転位置と に基いて前記各回転軸の所定周 期毎の分配移動量を求めるよ う に した請求の範囲第 1 項記載の数値制御装置における速度制御方法。
3 . 数値制御装置に よ り 1 ま たは 2以上の直線移動軸及 び 1 ま たは 2 以上の回転軸で制御される工具の工具先 端速度指令方法にお いて、 ( a ) 1 ブロ ッ ク分の加エブロ グラムで与え られるェ 具先端に対する移動指令の始点での上記直線移動軸上 の座標値及び上記回転軸の回転角度、 移動指令の終点 での上記直線移動軸上の座標値及び上記回転軸の回転 角度、 及びこの区間の指令移動速度に基づいて直線補 間する こ と によ り、 各直線移動軸ごとの分配移動量及 び各回転軸ごとの分配回転量を予め求めてお いて、
( b ) 現周期での上記回転軸の回転角度を読み、 この 回転角度が次の周期で上記( a ) で求めた分配回転量だ け変化 した場合に工具先端が上記回転軸の回転中心を 基準に上記直線移動軸方向にそれぞれどれだけ変位す かを計算して、 その変位を相殺するに必要な上記直線 移動軸ごとの補正分を求め、
( c ) 次周期では、 直線移動軸に対 しては上記(a ) で 求めた分配移動量に上記(b ) で求めた補正分を加えた もの に相当する分配パルス を出力する と と も に、 回転 移動軸に対 しては上記(a ) で求めた分配回転量そのも の対応する分配パルス を出力する こ と によって、 加工プロ グラムで指令 した速度が工具先端の実際の 加工点における速度になるよ う に制御するよ う に した 数値制御装置にお ける速度制御方法。
4 . 工具の基部を通る水平軸を中心に工具を回転させる 第 1 の回転軸と、 工具の基部を通る垂直軸を中心にェ 具を回転させる第 2 の回転軸と を備える口一夕 リ ーへ ッ ド を取付けた工作機械を制御する数値制御装置の速 度制御方法にお いて、
口一夕 リ ーへッ ドの回転中心か ら工具先端までの距 離を H、 当該所定周期における第 1 の回転軸の回転位 置を B、 当該所定周期における第 2の回転軸の回転位 置を C、 並びに、 第 1 の回転軸における所定周期毎の 分配移動量を Δ Β、 第 2の回転軸における所定周期毎 の分配移動量を A C と した と き、
Δ V X = H [ sin ( Β + Δ Β ) x cos ( C + Δ C )
一 sin B x cos C〕
Δ V y = - H x [ sin ( B + 厶 B )
x sin ( C + Δ C ) - sin B x sin C〕 厶 V z = H x 〔 cos ( B + Δ B ) — cos B〕 の演算式によ り、 水平直線移動軸 Xの方向に対応する 位置偏差 Δ ν χ、 直線移動軸 X と直交する水平直線移 動軸 Υの方向に対応する位置偏差 A V y、 垂直直線移 動軸 Zの方向に対応する位置偏差 A V z を求める よ う に した請求の範囲第 1項ま たは 2項記載の数値制御装 置における速度制御方法。
PCT/JP1994/000789 1993-05-20 1994-05-16 Procede de commande de vitesse pour dispositif de commande numerique WO1994028472A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US08/373,208 US5545959A (en) 1993-05-20 1994-05-16 Speed control method for a numerical control apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP5139824A JPH06332524A (ja) 1993-05-20 1993-05-20 数値制御装置における速度制御方法
JP5/139824 1993-05-20

Publications (1)

Publication Number Publication Date
WO1994028472A1 true WO1994028472A1 (fr) 1994-12-08

Family

ID=15254331

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1994/000789 WO1994028472A1 (fr) 1993-05-20 1994-05-16 Procede de commande de vitesse pour dispositif de commande numerique

Country Status (3)

Country Link
US (1) US5545959A (ja)
JP (1) JPH06332524A (ja)
WO (1) WO1994028472A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6225728B1 (en) * 1994-08-18 2001-05-01 Agilent Technologies, Inc. Composite piezoelectric transducer arrays with improved acoustical and electrical impedance
FI99217C (fi) * 1995-07-03 1997-10-27 Nokia Telecommunications Oy Menetelmä tukiaseman summausverkon virittämiseksi, kytkentäelin sekä kaistanpäästösuodatin
JP3352986B2 (ja) * 1999-12-17 2002-12-03 スター精密株式会社 工作機械の駆動制御装置
DE10195976T5 (de) * 2001-02-22 2004-04-29 Mitsubishi Denki K.K. Numerisches Steuerverfahren und numerisch gesteuerte Vorrichtung
DE10149175A1 (de) * 2001-10-04 2003-04-17 Heidenhain Gmbh Dr Johannes Verfahren zur Bahnsteuerung
JP3719603B2 (ja) * 2003-03-06 2005-11-24 多摩川精機株式会社 駆動回路内蔵型サーボモータの駆動方法
WO2005108004A1 (de) * 2004-04-23 2005-11-17 Schott Ag Vorrichtung und verfahren zur erzeugung von mikrostrukturen
CN101842189B (zh) * 2007-11-02 2011-11-16 株式会社牧野铣床制作所 误差映象的生成方法及装置,以及具有误差映象生成功能的数值控制机床
CN101866163B (zh) * 2007-11-02 2014-09-10 株式会社牧野铣床制作所 数值控制机床及数值控制装置
JP4467625B2 (ja) 2008-03-31 2010-05-26 三菱電機株式会社 数値制御装置および数値制御方法
US9063533B2 (en) * 2009-03-27 2015-06-23 Mitsubishi Electric Corporation Multi-spindle translation control for multiple coordinate systems
CN103329056B (zh) 2011-01-26 2016-04-20 三菱电机株式会社 数控装置
CN103370661B (zh) 2011-02-03 2015-12-09 三菱电机株式会社 数控装置
JP4975872B1 (ja) * 2011-02-25 2012-07-11 ファナック株式会社 多軸加工機用速度制御機能を有する数値制御装置
WO2014068675A1 (ja) 2012-10-30 2014-05-08 株式会社牧野フライス製作所 工作機械の制御装置および工作機械
JP6464135B2 (ja) * 2016-12-22 2019-02-06 ファナック株式会社 数値制御装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6437604A (en) * 1987-08-04 1989-02-08 Meidensha Electric Mfg Co Ltd Profile controller for robot

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3593091A (en) * 1969-04-24 1971-07-13 Pratt & Whitney Inc System for positioning movable members with absolute dimension with selectable offset point
US4663726A (en) * 1985-04-15 1987-05-05 General Electric Co. Robot control utilizing cubic spline interpolation
JPH0692057B2 (ja) * 1987-08-25 1994-11-16 豊田工機株式会社 数値制御工作機械
US5438522A (en) * 1992-12-18 1995-08-01 Cincinnati Milacron Inc. Method and apparatus for sub-span interpolation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6437604A (en) * 1987-08-04 1989-02-08 Meidensha Electric Mfg Co Ltd Profile controller for robot

Also Published As

Publication number Publication date
JPH06332524A (ja) 1994-12-02
US5545959A (en) 1996-08-13

Similar Documents

Publication Publication Date Title
WO1994028472A1 (fr) Procede de commande de vitesse pour dispositif de commande numerique
JP3643098B2 (ja) 数値制御装置
WO1998042483A1 (fr) Controleur de robot
US5563484A (en) Three-dimensional cutter compensation system
JP2005071016A (ja) 数値制御装置
US7983786B2 (en) Neutral data computer control system for a machine tool used to produce workpieces with a threaded surface and associated machine tool
EP0364593A1 (en) Machine tool having two main spindles
JPH06114679A (ja) 数値制御装置の加工プログラムチェック方法
JPH0437496A (ja) レーザ加工機のノズル移動方式
JPH03217907A (ja) 円弧補間軌跡表示機能を有する数値制御方法およびその装置
US7095203B2 (en) Numerical controller
WO1992011974A1 (en) Non-contact digitizing method
JPH10177406A (ja) 5軸加工機の制御装置
JPH09190211A (ja) 数値制御装置の経路制御方式
WO1992009018A1 (en) Method for executing auxiliary function in numerical control equipment
JPH03109606A (ja) 工具補正方式
JPH0474205A (ja) 数値制御装置
JPH05100723A (ja) 工作機械の工具長補正方式
JPH01205955A (ja) 数値制御工作機械
JPS59124561A (ja) カム研削方法
JP2685832B2 (ja) 数値制御研削盤
JPH0454604A (ja) 3次元工具経補正機能を有する数値制御装置
JPH05303410A (ja) 数値制御工作機械の工具補正方法
JP2899293B2 (ja) 多軸旋盤の数値制御方法
JPS60163106A (ja) 数値制御方法

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): US VN

WWE Wipo information: entry into national phase

Ref document number: 08373208

Country of ref document: US