JP2016051290A - Numerical control apparatus, machine tool control system, numerical control method, and numerical control program - Google Patents
Numerical control apparatus, machine tool control system, numerical control method, and numerical control program Download PDFInfo
- Publication number
- JP2016051290A JP2016051290A JP2014175656A JP2014175656A JP2016051290A JP 2016051290 A JP2016051290 A JP 2016051290A JP 2014175656 A JP2014175656 A JP 2014175656A JP 2014175656 A JP2014175656 A JP 2014175656A JP 2016051290 A JP2016051290 A JP 2016051290A
- Authority
- JP
- Japan
- Prior art keywords
- interpolation data
- unit
- numerical control
- data
- coefficient
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
Description
本発明は、工作機械用の数値制御装置に関する。 The present invention relates to a numerical control device for a machine tool.
従来から、工作機械の数値制御方式の1つに、NCプログラムを使用するNC制御方式がある。ユーザは、目的とする加工工程を工作機械に指令するために、NCプログラムを作成する。NCプログラムは、主軸や刃物台等に対する移動指令を表すGコード、使用する工具の呼出指令を表すTコード、補助機能指令を表すMコードなどのコード体系を持つプログラムである。工作機械の数値制御装置(NC装置)が、NCプログラムを1ブロックずつ読み込み、その指令(NCコード)を解釈しながら、複数の指令を順次実行していく。 Conventionally, there is an NC control method using an NC program as one of numerical control methods for machine tools. The user creates an NC program in order to instruct the machine tool to a target machining process. The NC program is a program having a code system such as a G code representing a movement command for a spindle or a tool post, a T code representing a calling command for a tool to be used, and an M code representing an auxiliary function command. A numerical control device (NC device) of a machine tool reads an NC program block by block and sequentially executes a plurality of commands while interpreting the command (NC code).
このような数値制御装置は、工作機械毎に専用のハードウェアが作成されており、仕様変更やバージョンアップに対応するためには、CPU(Central Processing Unit)ボードやソフトウェアの作り直しが発生する場合がある。 In such a numerical control device, dedicated hardware is created for each machine tool, and there is a case where a CPU (Central Processing Unit) board or software is regenerated in order to cope with a specification change or version upgrade. is there.
そこで、例えば、周辺機器接続ボード以外は汎用品を用いる技術が提案されている(特許文献1)。 Thus, for example, a technique using a general-purpose product other than the peripheral device connection board has been proposed (Patent Document 1).
しかし、汎用品を用いて数値制御装置を作成したとしても、工作機械毎に、NCプログラムを解釈して工作機械を制御する数値制御装置を設けることに変わりはない。 However, even if a numerical control device is created using a general-purpose product, there is no change in providing a numerical control device that interprets the NC program and controls the machine tool for each machine tool.
本発明は、工作機械毎に設ける数値制御装置で行う処理をできるだけ少なくし、より性能が低い装置を数値制御装置として用いることができるようにすることを目的とする。 It is an object of the present invention to reduce the number of processes performed by the numerical control device provided for each machine tool as much as possible, and to use a device with lower performance as the numerical control device.
本発明にかかる一態様の数値制御装置は、加工プログラムに基づく工作機械の駆動部を駆動するための補間データを、実行順に順次受信する受信手段と、前記受信手段で受信された補間データが所定量一時記憶される記憶部と、前記受信手段による前記補間データの受信と並行して、前記記憶部から補間データを実行順に順次読み出して、読み出した補間データに基づく実行データを前記駆動部に出力する補間データ出力手段とを備え、前記補間データは、加減速処理が予め行われた補間データであることを特徴とする。 A numerical control device according to one aspect of the present invention includes a receiving unit that sequentially receives interpolation data for driving a driving unit of a machine tool based on a machining program in an execution order, and an interpolation data received by the receiving unit. In parallel with the reception of the interpolation data by the receiving unit, the storage unit stores the fixed amount temporarily, sequentially reads the interpolation data from the storage unit in the execution order, and outputs the execution data based on the read interpolation data to the drive unit Interpolating data output means, wherein the interpolating data is interpolated data subjected to acceleration / deceleration processing in advance.
また、他の一態様の数値制御方法は、加工プログラムに基づく工作機械の駆動部を駆動するための補間データが所定量一時記憶される記憶部を備える数値制御装置で用いられる数値制御方法であって、前記補間データを、実行順に順次受信する受信ステップと、前記受信ステップにおける前記補間データの受信と並行して、前記記憶部から補間データを実行順に順次読み出して、読み出した補間データに基づく実行データを前記駆動部に出力する補間データ出力ステップとを備え、前記補間データは、加減速処理が予め行われた補間データであることを特徴とする。 The numerical control method according to another aspect is a numerical control method used in a numerical control device including a storage unit that temporarily stores a predetermined amount of interpolation data for driving a drive unit of a machine tool based on a machining program. In parallel with the reception step of receiving the interpolation data in the order of execution, and receiving the interpolation data in the reception step, the interpolation data is sequentially read out from the storage unit in the order of execution, and the execution based on the read interpolation data An interpolation data output step for outputting data to the drive unit, wherein the interpolation data is interpolation data for which acceleration / deceleration processing has been performed in advance.
また、他の一態様の数値制御プログラムは、加工プログラムに基づく工作機械の駆動部を駆動するための補間データが所定量一時記憶される記憶部を備える数値制御装置で用いられる数値制御プログラムであって、前記補間データを、実行順に順次受信する受信手段と、前記受信手段での前記補間データの受信と並行して、前記記憶部から補間データを実行順に順次読み出して、読み出した補間データに基づく実行データを前記駆動部に出力する補間データ出力手段としてコンピュータを機能させ、前記補間データは、加減速処理が予め行われた補間データであることを特徴とする。 The numerical control program according to another aspect is a numerical control program used in a numerical control device including a storage unit that temporarily stores a predetermined amount of interpolation data for driving a drive unit of a machine tool based on a machining program. And receiving means for sequentially receiving the interpolation data in the order of execution; in parallel with reception of the interpolation data by the receiving means, the interpolation data is sequentially read out from the storage unit in the order of execution, and based on the read interpolation data A computer is made to function as an interpolation data output means for outputting execution data to the drive unit, and the interpolation data is interpolation data subjected to acceleration / deceleration processing in advance.
この構成によれば、数値制御装置は加減速処理が予め行われている補間データを受信するので、NCプログラムの解析や加減速処理等を行う必要がない。従って、行うべき処理が従来の数値制御処理に比べて少ないので、より性能が低いCPUを用いることが可能となる。従来のように、工作機械毎に専用のハードウェアを配置する必要が無く、予め加減速処理を施した補間データを作成しておき、工作機械毎に、性能が低く安価な上記数値制御装置を配置すればよい。つまり、従来は1台の専用のハードウェアで行っていた処理が、加減速処理を施した補間データを作成する補間データ生成装置と、工作機械に配置される上記数値制御装置とに分散されたことになる。そして、分散されたことにより、数値制御装置をLAN(Local Area Network)等で補間データ生成装置と接続して補間データを受信できるようにさえすれば、補間データ生成装置の配置位置に縛られずに、数値制御装置の配置位置を自由に決定することが可能となる。従って、上記数値制御装置を用いることで、適材適所且つ効率的なシステムを構築することが可能となる。 According to this configuration, the numerical control device receives the interpolation data on which acceleration / deceleration processing has been performed in advance, so there is no need to perform NC program analysis, acceleration / deceleration processing, or the like. Accordingly, since the processing to be performed is less than that of the conventional numerical control processing, it is possible to use a CPU with lower performance. There is no need to arrange dedicated hardware for each machine tool as in the past, and interpolation data that has been subjected to acceleration / deceleration processing is created in advance, and the above numerical control device with low performance and low cost is provided for each machine tool. What is necessary is just to arrange. In other words, the processing that was conventionally performed by one dedicated hardware was distributed to the interpolation data generation device that generates the interpolation data subjected to the acceleration / deceleration processing and the numerical control device arranged in the machine tool. It will be. As a result of being distributed, as long as the numerical control device is connected to the interpolation data generation device via a LAN (Local Area Network) or the like so that the interpolation data can be received, it is not tied to the arrangement position of the interpolation data generation device. Thus, it becomes possible to freely determine the arrangement position of the numerical control device. Therefore, by using the numerical control device, it is possible to construct an appropriate system and an appropriate system.
また、上述の数値制御装置において、前記補間データは、前記工作機械の移動速度を示すデータを含み、割込みを検出する割込検出手段と、前記割込検出手段で検出された割込みが示す指示に応じて、前記移動速度の時系列の変化を表す係数を作成する係数作成手段とを、更に備え、前記補間データ出力手段は、前記係数に応じた移動量に相当する補間データを前記記憶部から読み出し、読み出した補間データに基づいた前記実行データを前記駆動部に出力することが好ましい。 In the above numerical control apparatus, the interpolation data includes data indicating the moving speed of the machine tool, and includes an interrupt detection means for detecting an interrupt and an instruction indicated by the interrupt detected by the interrupt detection means. And a coefficient creating means for creating a coefficient representing a time-series change in the moving speed, wherein the interpolation data output means receives interpolation data corresponding to a moving amount corresponding to the coefficient from the storage unit. It is preferable that the execution data based on the read and read interpolation data is output to the drive unit.
この構成によれば、割込みを検出して、その割込みが示す指示に応じて工作機械の移動速度を変更することができるので、数値制御装置毎に変更が可能となる。 According to this configuration, an interrupt is detected, and the moving speed of the machine tool can be changed in accordance with an instruction indicated by the interrupt. Therefore, the change can be made for each numerical control device.
また、上述の数値制御装置において、前記係数作成手段は、前記割込検出手段が前記移動速度の変更を指示する割込みを検出した場合、割込みを検出したときの移動速度から、指示された変更後の移動速度まで、徐々に速度が変化するような前記係数を作成することが好ましい。 Moreover, in the above-described numerical control device, when the interrupt detection unit detects an interrupt instructing the change of the moving speed, the coefficient creating unit determines from the moving speed when the interrupt is detected, after the instructed change. It is preferable to create the coefficient so that the speed gradually changes up to the moving speed.
この構成によれば、移動速度を変更する指示の割込みを検出した場合、移動速度を徐々に変更して、指示された速度にするので、機械に振動を与えること無くスムーズに速度変更を行うことが可能となる。 According to this configuration, when an instruction interruption to change the moving speed is detected, the moving speed is gradually changed to the instructed speed, so that the speed can be changed smoothly without giving vibration to the machine. Is possible.
また、上述の数値制御装置において、前記係数作成手段は、前記割込検出手段が前記工作機械の停止を指示する割込みを検出した場合、割込みを検出したときの移動速度から、移動速度がゼロとなるまで、徐々に速度が減少するような前記係数を作成することが好ましい。 Further, in the above-described numerical control device, when the interrupt detection unit detects an interrupt instructing the stop of the machine tool, the coefficient creating unit determines that the moving speed is zero from the moving speed when the interrupt is detected. It is preferable to create the coefficient so that the speed gradually decreases until it becomes.
この構成によれば、停止を指示する割込みを検出した場合、移動速度を徐々に落として行って停止するので、機械に振動を与えること無くスムーズに停止することが可能となる。 According to this configuration, when an interruption instructing a stop is detected, the moving speed is gradually decreased and the stop is performed, so that the stop can be smoothly performed without giving vibration to the machine.
また、上述の数値制御装置において、前記係数作成手段は、前記割込検出手段が検出した停止を指示する割込みが、前記記憶手段に記憶されている補間データの量が予め定められている所定の閾値を下回ったことを示す割込みである場合、割込みを検出したときの移動速度から、移動速度がゼロとなるまで、徐々に速度が減少するような前記係数を作成し、前記補間データ出力手段は、前記記憶部から読み出す補間データが所定の閾値より少なくなったときは、前記記憶部に記憶されていた補間データに基づいた前記実行データを前記駆動部に出力することが好ましい。 In the above-described numerical control device, the coefficient creating means may have a predetermined instruction in which an interruption instructing the stop detected by the interrupt detecting means is predetermined and the amount of interpolation data stored in the storage means is predetermined. In the case of an interrupt indicating that the threshold value has been exceeded, the coefficient that gradually decreases from the moving speed at the time of detecting the interrupt until the moving speed becomes zero is created. Preferably, when the interpolation data read from the storage unit is less than a predetermined threshold, the execution data based on the interpolation data stored in the storage unit is output to the drive unit.
この構成によれば、記憶されている補間データの量が閾値より少なくなったという警告の割込みを検出した場合、記憶されていた補間データを利用して、移動速度を徐々に落として停止するので、機械に振動を与えること無くスムーズに停止することが可能となる。 According to this configuration, when a warning interruption that the amount of stored interpolation data is less than the threshold is detected, the stored interpolation data is used to gradually reduce the moving speed and stop. It becomes possible to stop smoothly without giving vibration to the machine.
本発明にかかる他の一態様の工作機械制御システムは、補間データ生成装置と1以上の数値制御装置とを有する工作機械制御システムであって、前記補間データ生成装置は、加工プログラムを解析し、工作機械の駆動部を駆動する補間データであって、加減速処理を行った補間データを生成する補間データ生成部と、前記数値制御装置に、前記補間データを順次送信するデータ送信手段とを備え、前記数値制御装置は、前記補間データを順次受信する受信手段と、前記受信手段で受信された補間データが一時記憶される記憶部と、前記受信手段による前記補間データの受信と並行して、前記記憶部から補間データを実行順に順次読み出して、読み出した補間データに基づく実行データを前記駆動部に出力する補間データ出力手段とを備えることを特徴とする。 A machine tool control system according to another aspect of the present invention is a machine tool control system having an interpolation data generation device and one or more numerical control devices, wherein the interpolation data generation device analyzes a machining program, Interpolation data for driving a drive unit of a machine tool, the interpolation data generating unit generating interpolation data subjected to acceleration / deceleration processing, and data transmitting means for sequentially transmitting the interpolation data to the numerical controller The numerical controller includes a receiving unit that sequentially receives the interpolation data, a storage unit that temporarily stores the interpolation data received by the receiving unit, and the reception of the interpolation data by the receiving unit. Interpolation data output means for sequentially reading out the interpolation data from the storage unit in the execution order and outputting the execution data based on the read out interpolation data to the drive unit. The features.
この構成によれば、補間データ生成装置が加減速処理を行った補間データを作成するので、数値制御装置は従来の数値制御処理に比べて性能が低いCPUを用いることが可能となる。つまり、1台の高性能の補間データ作成装置を用意すれば、複数の数値制御装置に補間データを提供することが可能となる。また、数値制御装置は、例えば、社内ネットワーク等から補間データを受信できるので、数値制御装置の配置を自由に行うことが可能となる。 According to this configuration, since the interpolation data generating device creates the interpolation data that has been subjected to the acceleration / deceleration processing, the numerical control device can use a CPU that has lower performance than the conventional numerical control processing. That is, if one high-performance interpolation data creation device is prepared, interpolation data can be provided to a plurality of numerical control devices. Further, since the numerical control device can receive interpolation data from, for example, an in-house network, the numerical control device can be freely arranged.
本発明にかかる数値制御装置及び工作機械制御システムを用いた工作機械のNC制御方法では、工作機械ごとに設ける数値制御装置として、より性能が低い装置を用いることができる。 In the NC control method for a machine tool using the numerical control device and the machine tool control system according to the present invention, a device with lower performance can be used as the numerical control device provided for each machine tool.
<実施形態>
以下、本発明にかかる実施の一形態を図面に基づいて説明する。
<Embodiment>
Hereinafter, an embodiment according to the present invention will be described with reference to the drawings.
実施形態の工作機械制御システム100は、図1で示すように、補間データ作成装置1と、補間データ作成装置1とネットワーク2を介して接続される数値制御装置3とを備える。実施形態では、補間データ作成装置1は、1つであり、数値制御装置3は、複数在る工作機械ごとに設置されているものとする。
As shown in FIG. 1, the machine
ここで、図8を用いて、従来の数値制御装置の例を説明する。破線で囲んだ部分が、従来の数値制御装置が有する機能である。NCプログラムを1ブロック読み込み、プログラム解析部においてプログラムを解釈し、補間処理部において、補間データを作成する。例えば、NCプログラムが指示する工作機械の指令パスが円弧である場合は、円弧の半径、指令速度、円弧の中心に対する工具の現在位置等を基に、円弧補間データを作成する。補間データとは、工具の軌跡を示すXYZ座標(ベクトル)の集まりである。各軸の速度の急激な変化により機械に発生するショックを軽減させるために、補間後加減速処理部において、補間データはショックを抑制するための処理が行われる。また、必要に応じて、補間前加減速処理部においても、補間データは加工形状誤差を抑制するための処理が行われる。数値制御装置は、補間データに基づいて、サーボ制御部に指示を出すと、NCプログラムの次の1ブロックを読み込み、処理を繰り返す。 Here, an example of a conventional numerical control apparatus will be described with reference to FIG. A portion surrounded by a broken line is a function of a conventional numerical control device. One block is read from the NC program, the program analysis unit interprets the program, and the interpolation processing unit creates interpolation data. For example, when the command path of the machine tool instructed by the NC program is an arc, arc interpolation data is created based on the radius of the arc, the command speed, the current position of the tool with respect to the center of the arc, and the like. Interpolation data is a collection of XYZ coordinates (vector) indicating the trajectory of the tool. In order to reduce the shock generated in the machine due to a rapid change in the speed of each axis, the post-interpolation acceleration / deceleration processing unit performs processing for suppressing the shock in the interpolation data. Further, if necessary, the interpolation data is also subjected to processing for suppressing machining shape errors in the pre-interpolation acceleration / deceleration processing unit. When the numerical controller issues an instruction to the servo controller based on the interpolation data, it reads the next block of the NC program and repeats the process.
このように、従来の数値制御装置では、NCプログラムを、いわば、逐次実行している。 Thus, in the conventional numerical control apparatus, the NC program is executed sequentially.
本実施形態の工作機械制御システム100では、上述の補間後加減速処理、及び、補間前加減速処理(以下、「加減速処理」という。)を、予め施した補間データを作成し、工作機械の数値制御装置それぞれは、加減速処理が施された補間データを読み込んで実行する。工作機械制御システム100では、処理量が多くシーケンシャルな処理、つまり、NCプログラムの解釈処理や加減速処理を、処理能力の高い1台の補間データ作成装置を用いて行い、加減速処理が施された補間データを作成する。そして、各工作機械に設置された数値制御装置は、予め加減速処理がなされた補間データを実行する。つまり、数値制御装置は、処理量の多い処理を行う必要がないため、比較的低い性能のCPUを用いることが可能となる。
In the machine
また、工作機械制御システム100の数値制御装置3では、ユーザからの指示によるオーバライド処理(手動による速度制御)や、緊急停止処理などに対応するためのリアルタイム制御に工夫がなされている。従来の数値制御装置では、このようなユーザからの指示や緊急停止等に対処する場合は、例えば、補間後加減速処理部(図8参照)においてユーザの指示等を実現するように、補間処理部が作成した補間データに対して、最終段の処理として加減速処理を行っている。しかし、予め加減速処理が施された補間データを実行する本実施形態の数値制御装置3では、特別の工夫が必要となるからである。
Further, the
以下、実施形態にかかる工作機械制御システムについて説明する。 Hereinafter, a machine tool control system according to an embodiment will be described.
<構成>
図1は、工作機械制御システム100の補間データ作成装置1及び数値制御装置3の機能ブロック図である。
<Configuration>
FIG. 1 is a functional block diagram of the interpolation
補間データ作成装置1は、NCプログラム記憶部11、プログラム解析部12、補間データ作成部13、補間データ記憶部14、及び、補間データ送信部15を備える。
The interpolation
NCプログラム記憶部11は、工作機械に加工工程を指令するためのNCプログラムを記憶する。
The NC
プログラム解析部12は、NCプログラム記憶部11に記憶されているNCプログラムを解析し、実行形式のデータに変換する。
The
補間データ作成部13は、加減速処理部131、補間処理部132を有し、プログラム解析部12が作成した実行形式のデータを基に、補間データを作成し、作成した補間データを補間データ記憶部14に記憶させる。
The interpolation
加減速処理部131は、必要に応じて、いわゆる補間前加減速処理、及び、補間後加減速処理を行う。加減速処理とは、工作機械の各軸の速度の急激な変化を抑制するために行う処理であり、軸を第1の位置から第2の位置に移動させる場合に、第1の位置における速度から、所定の期間内(時定数)で、第2の位置において目標の速度となるように、軸の送り速度を徐々に減速又は加速させる処理をいう。例えば、補間前加減速処理として、コーナ部での各軸の速度の急激な変化を抑制するために、各軸の速度変化量があらかじめ設定した許容速度差以下になるようなコーナ部速度が算出される。そして、補間前加減速処理では、コーナ部での速度が、算出されたコーナ部速度になるようにコーナ部手前から送り速度を減速させ、コーナ部到達後に送り速度を加速させるように速度制御が行われる。更に機械に発生するショックを抑制するため、補間後加減速処理として、補間前加減速処理及び補間処理により決定した各軸の速度を時間基準で平均化されるように制御等が行われる。 The acceleration / deceleration processing unit 131 performs so-called pre-interpolation acceleration / deceleration processing and post-interpolation acceleration / deceleration processing as necessary. The acceleration / deceleration process is a process performed to suppress a rapid change in the speed of each axis of the machine tool. When the axis is moved from the first position to the second position, the speed at the first position is determined. To a process of gradually decelerating or accelerating the shaft feed speed so that the target speed is reached at the second position within a predetermined period (time constant). For example, as an acceleration / deceleration process before interpolation, in order to suppress a rapid change in the speed of each axis at the corner, the corner speed is calculated such that the speed change amount of each axis is less than the preset allowable speed difference. Is done. In the acceleration / deceleration processing before interpolation, the speed control is performed so that the feed speed is decelerated from the front of the corner so that the speed at the corner becomes the calculated corner speed, and the feed speed is accelerated after reaching the corner. Done. Further, in order to suppress a shock generated in the machine, as post-interpolation acceleration / deceleration processing, control is performed so that the speeds of the respective axes determined by the pre-interpolation acceleration / deceleration processing and the interpolation processing are averaged on a time basis.
補間処理部132は、加減速処理部131により補間前加減速処理が施された実行形式のデータから、補間データを作成する機能を有する。実施形態では、加減速処理部131と補間処理部132を別の機能部として記載しているが、協働して補間データを作成することとしてもよい。
The
ここで、補間データは、工作機械の工具の経路上の複数の座標値を含み、座標値は、所定の単位期間ごとの工具の座標値を示す。つまり、単位期間が経過した場合に存在すべき位置を、順に示している。補間データには、単位期間の移動距離(移動量)、言い換えれば、移動速度が含まれていることになる。 Here, the interpolation data includes a plurality of coordinate values on the tool path of the machine tool, and the coordinate values indicate the coordinate values of the tool for each predetermined unit period. That is, the positions that should exist when the unit period elapses are shown in order. The interpolation data includes the movement distance (movement amount) of the unit period, in other words, the movement speed.
補間データ記憶部14は、補間データ作成部13が作成した補間データを記憶する。
The interpolation
補間データ送信部15は、所定の周期で、予め定められた量の補間データを補間データ記憶部14から実行順に読み出し、ネットワーク2を介して数値制御装置3に送信する。
The interpolation
次に、数値制御装置3は、補間データ受信部31、補間データ書込部32、補間データバッファ33(記憶部)、補間データ読出部34、実行データ出力部35(補間データ出力部)、割込検出部36、及び、係数作成部37を備える。
Next, the
補間データ受信部31は、補間データ作成装置1から送信される補間データを、ネットワーク2を介して受信する。尚、ネットワーク2は、有線、無線のいずれでも良く、補間データ作成装置1から補間データを受信できればよい。
The interpolation
実施形態では、補間データは、いわゆるFIFO(First In First Out)方式で管理される。従って、補間データバッファ33は、補間データを一時的に記憶しておく機能を有し、補間データ書込部32は、補間データ受信部31が受信した補間データを、受信した順に補間データバッファ33に書き込む。そして、補間データ読出部34は、補間データ書込部32によって書き込まれた順に、つまり、古く格納された補間データから順に補間データバッファ33から読み出す。補間データバッファ33に記憶される補間データの量は、実施形態では、サーボモータ制御部5に対し、約10秒間の間、駆動の指示ができる量であるものとする。尚、このデータ量は、数値制御装置3のCPU性能や、サーボモータ制御部5の性能等を勘案して決定される。このように、工作機械システム100では、言うなれば、ストリーミング方式で補間データの送信及び実行がなされていると言える。
In the embodiment, the interpolation data is managed by a so-called FIFO (First In First Out) method. Therefore, the
補間データ読出部34は、後述の係数作成部37が作成する移動速度を表す係数に応じた、単位時間あたりの移動量に相当する補間データを読み出し、実行データ出力部35に渡す。係数に応じた移動量については、<係数>の項で説明する。
The interpolation
実行データ出力部35は、補間データ読出部34が補間データバッファ33から読み出した補間データから、実行データを作成し、作成した実行データをサーボモータ制御部5に出力する。サーボモータ制御部5は、数値制御装置3が対応付けて設置されている工作機械6の軸等を駆動するサーボモータを制御する機能部である。
The execution
割込検出部36は、外部からの割込み、及び、内部からの割込みを検出する。外部からの割込みとは、数値制御装置3に対するユーザの指示である。この指示は、例えば、数値制御装置3の操作盤等である操作部4がユーザにより操作されることで行われる。例えば、工作機械の移動速度の変更、停止等である。また、内部からの割込みとは、数値制御装置3の機械的な異常を検知した場合の緊急停止指示や、補間データバッファ33に記憶されている補間データが無くなった場合、又は、予め定められた閾値を下回った場合の停止指示等である。尚、これら3種類以外の割込みを検出することとしてもよい。
The interrupt
係数作成部37は、オーバライド処理部371、停止処理部372、データ不足処理部373を有し、割込検出部36が検出した割込みの種類に応じて、係数を算出する。係数は、所定期間毎の値であっても、関数であってもよい。この係数は、補間データ読出部34が補間データを読み出す際に用いられる。
The
実施形態では、係数作成部37は、3種類の割込みを検出するものとする。オーバライド割込み、停止割込み、データ不足割込みである。オーバライド割込みは、ユーザにより操作部4のオーバライドスイッチが操作され、速度の変更指示が成されたことを示す割込みである。停止割込みは、ユーザにより操作部4を介して停止指示が成されたこと、又は、数値制御装置3に異常が発生したことを示す割込みである。データ不足割込みは、補間データバッファ33に記憶されている補間データの量が、閾値を下回っていることを示す割込みである。例えば、補間データバッファ33が空になる場合とは、ネットワーク2等の通信異常等の原因が考えられる。このデータ不足割込みは、補間データ読出部34が、補間データバッファ33から補間データを読み出す際に検知して割込検出部36に通知する。
In the embodiment, the
オーバライド処理部371は、割込検出部36がオーバライド割込みを検出した場合に、係数を作成する。
The
停止処理部372は、割込検出部36が停止割込みを検出した場合に、係数を作成する。
The
データ不足処理部373は、割込検出部36がデータ不足割込みを検出した場合に、係数を作成する。
The data
尚、補間データ作成装置1、数値制御装置3は、例えば、コンピュータを用いて構成可能であり、ハードディスク等の記憶部(不図示)に格納されているNCプログラム解析等をプログラムしたソフトウェアを、CPUにより実行することによって上述のプログラム解析部12等がコンピュータに機能的に構成される。また、数値制御装置3は、シーケンサーでもよく、各機能部を実現できるハードウェア資源を備える装置であればよい。
The interpolation
<係数(内部オーバライド値)>
ここで、係数作成部37が作成する係数について、図2〜5を用いて説明する。
<Coefficient (Internal override value)>
Here, the coefficient which the
図2は、係数作成部37のオーバライド処理部371が作成する係数を説明するためのタイムチャートである。図2には、4つのグラフが記載され、全てのグラフの横軸が示す時刻は同じである。
FIG. 2 is a time chart for explaining the coefficients created by the
1番上のグラフは、補間データバッファ33に記憶されている補間データの例を示す。横軸が時間を示し、縦軸がパルス数を示す。1つの矩形の横幅が、単位期間を示す。矩形の縦幅が長いほど、つまり、パルス数が大きい程、サーボモータ制御部5がモータに供給する電力が大きくなる。つまり、パルス数が大きい程、工具の移動速度が速い(移動量が大きい)ことを示す。図2では、加速処理及び減速処理は、同じ時定数を用いて行われている。つまり、単位期間が4つ経過時に、目標となる速度とする。ここで示す補間データは、補間データ作成装置1で作成された補間データであるので加減速処理がなされている。加減速処理を行っていない補間データを、図9に示す。
The top graph shows an example of the interpolation data stored in the
2番目のグラフは、ユーザにより設定されたオーバライドスイッチの設定値を示す。横軸が時間を示し、縦軸が設定値を示す。図2では、最初の設定値が100%であり、矢印10が示すタイミングで、ユーザが設定値を50%にしたことを示す。100%とは、補間データ通りの移動速度を示す。
The second graph shows the setting value of the override switch set by the user. The horizontal axis represents time, and the vertical axis represents the set value. In FIG. 2, the initial set value is 100%, and the user sets the set value to 50% at the timing indicated by the
3番目のグラフは、係数作成部37のオーバライド処理部371が生成する係数を示す。横軸が時間を示し、縦軸が係数値を示す。オーバライド処理部371は、最初のオーバライド設定値、詳細には、ユーザが手動でオーバライド値を変更する直前の値(100%)から、ユーザが設定したオーバライド設定値(50%)になるまで、徐々に減速するような係数を算出する(矢印11参照)。係数は、数値制御装置3が割込み処理に対処するために作成する内部のオーバライド値と言えるものである。実施形態では、括弧書きで示すように、設定値100%の係数「1.0」とし、設定値50%の係数を「0.5」として、矢印11が示す部分の係数を算出するものとする。また、矢印11が示す部分の減速処理は、補間データで用いられている時定数を用いて行うものとする。従って、割込みが発生する前、つまり、通常時、係数は「1.0」であり、割込み発生後の矢印11が示す部分の係数は、単位期間ごとに「0.87」、「0.75」、「0.63」、「0.5」…となる。
The third graph shows the coefficients generated by the
4番目のグラフは、補間データ読出部34が読み出した補間データに基づいて実行データ出力部35が出力する実行データを示す。横軸が時間を示し、縦軸がパルス数を示す。補間データ読出部34は、係数に応じた補間データを補間データバッファ33から読み出す。詳細には、補間データ読出部34は、係数に応じた移動量(パルス数)に相当する分の補間データを読み出す。
The fourth graph shows the execution data output by the execution
補間データ読出部34が読み出す単位期間あたりの補間データ、つまり、パルス数Pは、kが係数を示し、pがオーバライド設定値100%当たりのパルス数(補間データ)を示すとすると、
P=p×k ・・・(1)
となる。
Interpolation data per unit period read by the interpolation
P = p × k (1)
It becomes.
例えば、係数が「0.5」であり、オーバライド設定値100%当たりのパルス数が「100」パルスである場合は、0.5×100=50パルスが、1単位期間のパルス数として読み出され、50パルスは補間データバッファ33に残ることになる。従って、係数「0.5」で、「100」パルスの補間データ3つを読み出す場合には、単位期間6回分で読み出されることになる。
For example, when the coefficient is “0.5” and the number of pulses per 100% of the override setting value is “100” pulses, 0.5 × 100 = 50 pulses are read as the number of pulses in one unit period. 50 pulses remain in the
尚、ここでは、説明の便宜上、補間データが「100」パルスであり、係数「0.5」としているが、実際には、割り切れない場合が発生する。例えば、係数が「0.543」である場合には、読出し回数に応じた係数の積算値を求め、単位期間あたりのパルス数を決定する。この例を図7に示す。1番上のグラフは、補間データバッファ33に記憶されている補間データの例を示す。横軸が時間を示し、縦軸がパルス数を示す。1つの矩形の横幅が、単位期間を示す。2番目のグラフは、補間データ読出部34が読み出した補間データに基づいて実行データ出力部35が出力する実行データを示す。横軸が時間を示し、縦軸がパルス数を示す。矩形内の数値は、読み出し回数を示す。この例は、オーバライド割込みにより速度が54.3%にまで落とされた場合に、3単位期間分の補間データを、補間データ読出部34がどのように読み出すかを示すものである。
Here, for convenience of explanation, the interpolation data is “100” pulses and the coefficient is “0.5”. However, there are cases where the data cannot be actually divided. For example, when the coefficient is “0.543”, the integrated value of the coefficient corresponding to the number of readings is obtained, and the number of pulses per unit period is determined. An example of this is shown in FIG. The top graph shows an example of the interpolation data stored in the
図7の場合、補間データ読出部34は、3単位期間分の補間データを、6回で読み出すことになる。読出し回数が1回目の係数積算値は、「0.543」であるので、単位期間あたりのパルス数は、以下の式で求められる54.3を四捨五入した「54」パルスとなる。
100×0.543=54.3
従って、補間データ読出部34は、「54」パルス分の補間データを読み出す。
In the case of FIG. 7, the interpolation
100 × 0.543 = 54.3
Therefore, the interpolation
2回目の係数積算値は、「1.086」であるので、次の単位期間あたりのパルス数は、以下の式で求められる54.6を四捨五入した「55」パルスとなる。
100+(100×0.086)−54=54.6
「54」は1回目に読み出したパルス数である。従って、補間データ読出部34は、1つ目の補間データの残りである「46」パルス分のデータと、2つ目の補間データの「9」パルス分のデータを読み出す。
Since the coefficient integration value for the second time is “1.086”, the number of pulses per next unit period is “55” pulses obtained by rounding off 54.6 obtained by the following equation.
100+ (100 × 0.086) −54 = 54.6
“54” is the number of pulses read for the first time. Therefore, the interpolation
3回目の係数積算値は、「1.629」であるので、次の単位期間あたりのパルス数は、以下の式で求められる53.9を四捨五入した「54」パルスとなる。
100+(100×0.629)−(54+55)=53.9
「54」は1回目に読み出したパルス数であり、「55」は2回目に読み出したパルス数である。補間データ読出部34は、2つ目の補間データの残りである「91」パルス分のデータから「54」パルス分のデータを読み出す。
Since the coefficient integration value for the third time is “1.629”, the number of pulses per next unit period is “54” pulses obtained by rounding off 53.9 obtained by the following equation.
100+ (100 × 0.629) − (54 + 55) = 53.9
“54” is the number of pulses read for the first time, and “55” is the number of pulses read for the second time. The interpolation
同様に、4回目の係数積算値は、「2.172」であるので、次の単位期間あたりのパルス数は、以下の式で求められる54.2を四捨五入した「54」パルスとなる。
100+100+(100×0.172)−(54+55+54)=54.2
5回目の係数積算値は、「2.715」であるので、次の単位期間あたりのパルス数は、以下の式で求められる54.5を四捨五入した「55」パルスとなる。
100+100+(100×0.715)−(54+55+54+54)=54.5
6回目の係数積算値は、「3.258」であり、3つ分の補間データを示す係数積算値3.0を越えているので、4つ目の補間データを「0」パルスとし、次の単位期間あたりのパルス数は、以下の式で求められる「28」パルスとなる。
100+100+100+(0×0.258)−(54+55+54+54+55)=28
7回目の係数積算値は、「3.801」であり、次の単位期間あたりのパルス数が、以下の式のように「0」となる。補間データ読出部34は、次の単位期間あたりのパルス数が「0」となると、補間データが無くなったと判断する。
100+100+100+(0×0.801)−(54+55+54+54+55+28)=0
このように、補間データ読出部34は、係数を積算して係数積算値を求め、次の単位期間当たりのパルス数を算出し、算出したパルス数分の補間データを読み出すので、トータルのパルス数(移動量)を変えることなく、オーバ―ライド処理を行うことができる。詳細には、係数積算値は、補間データの積算量、つまり、どこまで補間データを読み出すべきかを示しているといえる。従って、補間データ読出部34は、係数積算値の整数部が、読み出すべき補間データの個数を示し、小数部が、その次の補間データから読み出すべきデータの比率を示すものとして、補間データの積算量を算出し、算出した積算量から今までに読み出したデータ量を引くことで、次に読み出すべきデータ量を求める。
Similarly, since the coefficient integration value for the fourth time is “2.172”, the number of pulses per next unit period is “54” pulses obtained by rounding off 54.2 obtained by the following equation.
100 + 100 + (100 × 0.172) − (54 + 55 + 54) = 54.2
Since the coefficient integration value for the fifth time is “2.715”, the number of pulses per next unit period is “55” pulses obtained by rounding off 54.5 obtained by the following equation.
100 + 100 + (100 × 0.715) − (54 + 55 + 54 + 54) = 54.5
The coefficient integration value for the sixth time is “3.258”, which exceeds the coefficient integration value 3.0 indicating the interpolation data for three, so the fourth interpolation data is set to “0” pulse, and the next The number of pulses per unit period is “28” pulses obtained by the following equation.
100 + 100 + 100 + (0 × 0.258) − (54 + 55 + 54 + 54 + 55) = 28
The coefficient integration value for the seventh time is “3.801”, and the number of pulses per unit period is “0” as in the following equation. The interpolation
100 + 100 + 100 + (0 × 0.801) − (54 + 55 + 54 + 54 + 55 + 28) = 0
In this way, the interpolation
尚、図7では、補間データ全てのパルス数が「100」として説明しているので、係数積算値から補間データの積算量を求める際に「100」を用いているが、各補間データのパルス数が異なる場合は、それぞれのパルス数が用いられる。例えば、1つ目の単位期間の補間データが100パルスであり、2つ目の単位期間の補間データが90パルスであり、3つ目の補間データが80パルスであるとする。この場合、2回目の係数積算値「1.086」のときには、単位期間あたりのパルス数は、以下の式で求められる53.74を四捨五入した「54」パルスとなる。
100+(90×0.086)−54=53.74
また、3回目の係数積算値「1.629」のときには、単位期間あたりのパルス数は、以下の式で求められる48.61を四捨五入した「49」パルスとなる。
100+(90×0.629)−(54+54)=48.61
また、4回目の係数積算値「2.172」のときには、単位期間あたりのパルス数は、以下の式で求められる46.76を四捨五入した「47」パルスとなる。
100+90+(80×0.172)−(54+54+49)=46.76
図2の矢印13に示すように、停止時にも、上述のように係数を積算して単位期間あたりのパルス数を算出することで、元のまま減速が行われる。この場合、時定数は変化することになる。
In FIG. 7, since the number of pulses of all the interpolation data is described as “100”, “100” is used when calculating the integrated amount of the interpolation data from the coefficient integrated value. If the numbers are different, the number of each pulse is used. For example, it is assumed that the interpolation data of the first unit period is 100 pulses, the interpolation data of the second unit period is 90 pulses, and the third interpolation data is 80 pulses. In this case, when the coefficient integration value is “1.086” for the second time, the number of pulses per unit period is “54” pulses obtained by rounding off 53.74 obtained by the following equation.
100+ (90 × 0.086) −54 = 53.74
When the coefficient integrated value is “1.629” for the third time, the number of pulses per unit period is “49” pulses obtained by rounding off 48.61 obtained by the following equation.
100+ (90 × 0.629) − (54 + 54) = 48.61
When the coefficient integration value is “2.172” for the fourth time, the number of pulses per unit period is “47” pulses obtained by rounding off 46.76 obtained by the following equation.
100 + 90 + (80 × 0.172) − (54 + 54 + 49) = 46.76
As indicated by the
割込み発生後は、図2の矢印12が示す部分のように、通常の時定数を用いた係数により、単位期間ごとのパルス数が「87」、「75」、「63」、「50」…と、徐々に減りながら目標とするパルス数となるので、機械が滑らかに動作することになる。
After the occurrence of the interrupt, the number of pulses per unit period is “87”, “75”, “63”, “50”, etc. according to a coefficient using a normal time constant as indicated by the
尚、図2では、移動速度を減少させる指示がなされた場合を説明したが、速度を増加させる指示がなされた場合も、速度が徐々に増加するような係数を作成する。この場合の係数は、指示があったときを「1.0」とし、例えば、「1.25」、「1.50」のように増加することになるが、各軸の速度がそれぞれの軸に許容される最高速度を超えないように、係数を自動的にクランプする(抑制する)処理を行う必要がある。 Note that FIG. 2 illustrates the case where an instruction to decrease the moving speed is given. However, a coefficient that gradually increases the speed is generated even when an instruction to increase the speed is given. The coefficient in this case is “1.0” when instructed, and increases, for example, “1.25” and “1.50”. Therefore, it is necessary to perform a process of automatically clamping (suppressing) the coefficient so as not to exceed the maximum speed permitted by the system.
次に、図3は、係数作成部37の停止処理部372が作成する係数を説明するためのタイムチャートである。図3には、4つのグラフが記載され、1番上のグラフ、及び、4番目のグラフは、図2の各グラフと同様である。つまり、1番上のグラフは、補間データバッファ33に記憶されている補間データの例を示し、4番目のグラフは、実行データ出力部35が出力する実行データを示す。
Next, FIG. 3 is a time chart for explaining the coefficients created by the
2番目のグラフは、停止信号を示す。横軸が時間を示し、縦軸が停止信号の値を示し、信号値が「0」から「1」となった時に、停止指示が発生したとする。図3では、矢印20が示すタイミングで、停止指示が発生したことを示す。
The second graph shows the stop signal. Suppose that the horizontal axis indicates time, the vertical axis indicates the value of the stop signal, and a stop instruction is generated when the signal value changes from “0” to “1”. FIG. 3 shows that a stop instruction has been generated at the timing indicated by the
3番目のグラフは、係数作成部37の停止処理部372が生成する係数を示す。停止処理部372は、通常時の係数「1.0」(オーバライド設定値100%)から、停止を示す係数「0.0」(オーバライド設定値0%)になるまで、徐々に減速するような係数を算出する(矢印21参照)。矢印21が示す部分の減速処理は、補間データで用いられている時定数を用いて行うものとする。時定数が4の場合、係数は「0.75」、「0.50」、「0.25」、「0.0」である。
The third graph shows the coefficients generated by the
尚、図3では、通常時の係数「1.0」(オーバライド設定値100%)である時に、停止信号が「1」になった場合であるので、係数は、「0.75」、「0.50」、「0.25」となるが、オーバライド設定値が50%である時に停止信号が「1」となった場合には、係数は、「0.38」、「0.25」、「0.13」等となる。
In FIG. 3, since the stop signal is “1” when the coefficient is “1.0” (override set
4番目のグラフは、補間データ読出部34が読み出した補間データに基づいて実行データ出力部35が出力する実行データを示す。補間データ読出部34は、上述したように、停止処理部372が作成した係数に応じた補間データを読み出す。補間データ読出部34が、単位期間当たりの係数に応じて読み出した補間データの移動速度は、矢印22が示す部分のように、パルス数が「75」、「50」、「25」、「0」…と、徐々に減るので、機械が滑らかに停止することになる。停止した後、停止要因の解除を確認したら、停止信号を「0」とし、係数を「1.0」に戻す。
The fourth graph shows the execution data output by the execution
次に、図4は、係数作成部37のデータ不足処理部373が作成する係数を説明するためのタイムチャートである。図4は、4つのグラフが記載され、1番上のグラフ、及び、4番目のグラフは、図2、3の各グラフと同様である。つまり、1番上のグラフは、補間データバッファ33に記憶されている補間データの例を示し、4番目のグラフは、実行データ出力部35が出力する実行データを示す。
Next, FIG. 4 is a time chart for explaining the coefficients created by the data
1番目のグラフは、補間データバッファ33に記憶されている補間データを示し、白抜きの矩形が示す補間データが記憶されているものとする。補間データ読出部34は、補間データバッファ33から補間データを読み出した際に、残りの補間データが所定の個数(閾値)に満たない場合、バッファ空アラーム信号を発生させる(割込検出部36に通知する)。実施形態では、閾値は「2」とする。つまり、残りの補間データの個数が1つ(矢印30参照)である場合には、バッファ空アラーム信号を発生させる。また、矢印31が示すハッチングの引かれた矩形は、補間データバッファ33に記憶されている最後の補間データ(矢印30参照)のコピー(複製)を示す。
The first graph shows the interpolation data stored in the
2番目のグラフは、バッファ空アラーム信号を示す。横軸が時間を示し、縦軸がアラーム信号の値を示し、信号値が「0」から「1」となった時に、アラームが発生したとする。図4では、矢印33が示すタイミングで、バッファ空アラーム信号が発生したことを示す。
The second graph shows a buffer empty alarm signal. It is assumed that an alarm is generated when the horizontal axis indicates time, the vertical axis indicates the value of the alarm signal, and the signal value changes from “0” to “1”. FIG. 4 shows that a buffer empty alarm signal is generated at the timing indicated by the
3番目のグラフは、係数作成部37のデータ不足処理部373が生成する係数を示す。データ不足処理部373は、通常時の係数「1.0」(オーバライド設定値100%)から、停止を示す係数「0.0」(オーバライド設定値0%)になるまで、徐々に減速するような係数を算出する(矢印34参照)。矢印34が示す部分の減速処理は、補間データで用いられている時定数を用いて行うものとする。時定数が4の場合、係数は「0.75」、「0.50」、「0.25」、「0.0」である。
The third graph shows the coefficients generated by the data
尚、図4では、通常時の係数「1.0」(オーバライド設定値100%)である時に、停止信号が「1」になった場合であるので、係数は、「0.75」、「0.50」、「0.25」となる。
In FIG. 4, since the stop signal is “1” when the coefficient is “1.0” (override set
4番目のグラフは、補間データ読出部34が読み出した補間データに基づいて実行データ出力部35が出力する実行データを示す。補間データ読出部34は、上述したように、データ不足処理部373が作成した係数に応じた補間データを読み出す。補間データ読出部34が、単位期間ごとの係数に応じて読み出した補間データの移動速度は、矢印32が示す部分のように、パルス数が「75」、「50」、「25」、「0」…と、徐々に減るので、機械が滑らかに停止することになる。このハッチングが引かれた矩形は、1段目のグラフで示したコピーされた補間データ(矢印31参照)を用いた実行データである。右から2つ目の実行データのハッチングが引かれていない部分は、補間データ読出部34が右から3つ目の実行データ用の補間データ(「75」)を読み出した際の残りの補間データ(「25」)に相当する。停止した後は、停止要因の解除を確認したら、停止信号を「0」とし、係数を「1.0」に戻す。
The fourth graph shows the execution data output by the execution
データ不足割込みが発生した場合は、補間データバッファ33に記憶されている補間データが無くなりかけていることを示す。従って、補間データバッファ33に記憶されている最後の補間データをコピーして補間データを補い、機械を滑らかに停止させる。つまり、補間データバッファ33に記憶されていた補間データの複製を補間データバッファ33に記憶させ、前記係数に応じた移動量に相当する補間データを補間データバッファ33から読み出し、読み出した補間データに基づいた実行データをサーボモータ制御部5に出力する。
When a data shortage interrupt occurs, it indicates that the interpolation data stored in the
但し、このようにコピーした補間データを用いる場合、補間データはNCプログラムから作成した補間データとは異なるので、XYZ軸の合成経路(パス)は本来の指令経路とは異なる経路をたどる場合がある。経路が異なる場合の例を、図5に示す。図5は、指令経路が円弧の場合を示す。指令経路が、開始点40から終了点41までの円弧の経路(破線50参照)である場合を考える。工具が、経路51を経由して位置42まで移動したときに、バッファ空アラームが発生したとする。そして、その時、補間データバッファ33には、位置43までの補間データが記憶されているものとする。割込みが発生した位置42の時点で、上述したように、係数を算出し、徐々に減速を行いながら経路52を経由して位置43まで移動する。その後は、補間データをコピーして用いるため、位置43からは直線移動となり、本来の経路50からずれた経路53を経由して、位置44で停止することになる。指令経路と異なる経路を移動することになるが、バッファ空アラームが発生する場合は異常事態であるので、工具を速やかに且つ滑らかに停止させることが重要となる。ここでは、補間データバッファ33に記憶されていた最後の補間データを繰り返し用いることとしているが、記憶されていた補間データを用いればよく、例えば、複数の補間データから軌跡を推測して補間データを作成してもよい。
However, when interpolation data copied in this way is used, the interpolation data is different from the interpolation data created from the NC program, so the combined path (path) of the XYZ axes may follow a path different from the original command path. . An example in the case of different routes is shown in FIG. FIG. 5 shows a case where the command path is an arc. Consider a case where the command path is a circular path from the
尚、上述の加減速処理は、軸単位の演算ではなく、全軸に共通であるオーバライドの値を用いるものとする。従って、XYZ軸の合成経路(パス)の演算誤差は生じないことになる。但し、上述したように、数値制御装置側で補った補間データを使用する部分では、パスが異なる場合がある。 In the above acceleration / deceleration processing, it is assumed that an override value common to all axes is used instead of calculation in units of axes. Therefore, there is no calculation error in the combined path of the XYZ axes. However, as described above, the path may be different in the portion using the interpolation data supplemented on the numerical controller side.
<動作>
次に、図6を用いて、工作機械制御システム100の数値制御装置3の実行データを出力する処理について説明する。図6は、数値制御装置3の実行データ出力処理のフローチャートである。
<Operation>
Next, a process of outputting execution data of the
補間データ作成装置1は、予め、NCプログラム記憶部11に記憶されているNCプログラムから、加減速処理を施した補間データを作成し、補間データ記憶部14に記憶しているものとする。尚、NCプログラムからの補間データの作成と、数値制御装置3への送信を並行して行ってもよい。
It is assumed that the interpolation
ユーザは、補間データ作成装置1のユーザインタフェース部(不図示)を介して、補間データ作成装置1に、補間データの送信開始の指示を入力する。送信開始の指示が入力されたことを検知した補間データ作成装置1は、補間データ送信部15に、補間データの送信を依頼する。依頼された補間データ送信部15は、所定の周期で、予め定められた量の補間データを補間データ記憶部14から実行順に読み出し、ネットワーク2を介して数値制御装置3に対して送信を開始する。
The user inputs an instruction to start transmission of interpolation data to the interpolation
数値制御装置3の補間データ受信部31は、補間データ作成装置1から送信された補間データを受信すると、受信した補間データを補間データ書込部32に渡して、記憶を依頼する。依頼を受けた補間データ書込部32は、渡された補間データを補間データバッファ33に記憶させる。補間データ受信部31及び補間データ書込部32は、補間データを受信し補間データバッファ33に記憶させる処理を繰り返す。
When the interpolation
数値制御装置3は、補間データバッファ33に補間データが書き込まれると、係数として、補間データ通りの移動速度で動作することを示す初期値「1.0」を設定し(ステップS10)、補間データ読出部34、実行データ出力部35、割込検出部36、及び、係数作成部37に、処理の開始を指示する。
When the interpolation data is written in the
割込検出部36が割込みを検出していない場合には(ステップS11:No、ステップS12:No、ステップS13:No)、係数作成部37は、係数として初期設定された「1.0」を補間データ読出部34に出力する。補間データ読出部34は、上述したように、係数作成部37から渡された係数に応じた移動量の補間データを補間データバッファ33から読み出し、実行データ出力部35に出力する(ステップS14)。
When the interrupt
補間データ読出部34から補間データを渡された実行データ出力部35は、補間データに基づいた移動速度の実行データを作成し、サーボモータ制御部5に出力する(ステップS15)。そして、数値制御装置3は、ステップS11からの処理を繰り返す。また、割込検出部36は、割り込みを検出した場合は、検出した割込みに応じた信号を生成する。具体的には、データ不足割込みを検出した場合は、バッファ空アラーム信号を「1」とし(図4参照)、停止割込みを検出した場合は、停止信号を「1」とする(図3参照)。
The execution
ステップS11において、割込検出部37がデータ不足割込みを検出した場合(バッファ空アラーム信号が「1」の時)は(ステップS11:Yes)、係数作成部37に通知し、係数の作成を依頼する。
In step S11, when the interrupt
依頼を受けた係数作成部37は、データ不足処理部373に係数を算出するよう指示する。指示を受けたデータ不足処理部373は、<係数>の項で説明したように係数を算出する(ステップS16)。係数作成部37は、算出された係数を補間データ読出部34に出力する。
Upon receiving the request, the
補間データ読出部34は、最後に記憶されている補間データをコピーし(ステップS17)、<係数>の項で説明したように、係数作成部37から受けとった係数に応じた補間データを読み出し、実行データ出力部35に出力する(ステップS14)。補間データ読出部34から補間データを渡された実行データ出力部35は、補間データに基づいた移動速度の実行データを作成し、作成した実行データをサーボモータ制御部5に出力する(ステップS15)。
The interpolation
ステップS12において、割込検出部37が停止割込みを検出した場合(停止信号が「1」の時)は(ステップS12:Yes)、係数作成部37に通知し、係数の作成を依頼する。
In step S12, when the interrupt
依頼を受けた係数作成部37は、停止処理部372に係数を算出するよう指示する。指示を受けた停止処理部372は、〈係数〉の項で説明したように係数を算出する(ステップS18)。係数作成部37は、算出された係数を補間データ読出部34に出力する。
The
補間データ読出部34は、〈係数〉の項で説明したように、係数作成部37から受けとった係数に応じた補間データを読み出し、実行データ出力部35に出力する(ステップS14)。補間データ読出部34から補間データを渡された実行データ出力部35は、補間データに基づいた移動速度の実行データを作成し、作成した実行データをサーボモータ制御部5に出力する(ステップS15)。
As described in the section <Coefficient>, the interpolation
ステップS13において、割込検出部36がオーバライド割込みを検出した場合は(ステップS13:Yes)、係数作成部37に通知し、係数の作成を依頼する。
In step S13, when the interrupt
依頼を受けた係数作成部37は、オーバライド処理部371に係数を算出するよう指示する。指示を受けたオーバライド処理部371は、<係数>の項で説明したように係数を算出する(ステップS19)。係数作成部37は、算出された係数を補間データ読出部34に出力する。
Upon receipt of the request, the
補間データ読出部34は、〈係数〉の項で説明したように、係数作成部37から受けとった係数に応じた補間データを読み出し、実行データ出力部35に出力する(ステップS14)。補間データ読出部34から補間データを渡された実行データ出力部35は、補間データに基づいた移動速度の実行データを作成し、作成した実行データをサーボモータ制御部5に出力する(ステップS15)。
As described in the section <Coefficient>, the interpolation
このように、数値制御装置3では、オーバライドスイッチの変更や、緊急停止処理や、通信障害等による補間データの未達に容易に対応することができる。
As described above, the
尚、実施形態では、補間データ読出部34は、補間データバッファ33から係数に応じた量の補間データを読み出すこととしている。これは、補間データバッファ33から直接係数に応じた量の補間データを読み出すだけでなく、例えば、補間データバッファ33から1レコード分の補間データを順次作業メモリに読み込み、作業メモリにおいて1レコードを係数に応じて小分けして読み出すことであってもよく、結果的に、補間データバッファ33から係数に応じた量の補間データを読み出すことになればよい。また、実施形態では、割り込み検出部37が、データ不足割込みを検出した場合に、補間データ読出部34は、補間データバッファ33に記憶されていた最後の補間データを補間データバッファ33にコピーすることとしているが、例えば最後に読み込んだ補間データを、次に読み込んだ補間データであると仮定して繰り返し用いることとしてもよい。この作業メモリは、補間データバッファ33内のメモリであっても、補間データ読出部34専用のメモリであってもよく、数値制御装置3内のメモリであればよい。
In the embodiment, the interpolation
本発明を表現するために、上述において図面を参照しながら実施形態を通して本発明を適切且つ十分に説明したが、当業者であれば上述の実施形態を変更及び/または改良することは容易に為し得ることであると認識すべきである。したがって、当業者が実施する変更形態または改良形態が、請求の範囲に記載された請求項の権利範囲を離脱するレベルのものでない限り、当該変更形態または当該改良形態は、当該請求項の権利範囲に包括されると解釈される。 In order to express the present invention, the present invention has been properly and fully described through the embodiments with reference to the drawings. However, those skilled in the art can easily change and / or improve the above-described embodiments. It should be recognized that this is possible. Therefore, unless the modifications or improvements implemented by those skilled in the art are at a level that departs from the scope of the claims recited in the claims, the modifications or improvements are not covered by the claims. To be construed as inclusive.
1 補間データ作成装置
2 ネットワーク
3 数値制御装置
5 サーボモータ制御部
6 工作機械
11 NCプログラム記憶部
12 プログラム解析部
13 補間データ作成部
15 補間データ送信部
31 補間データ受信部
33 補間データバッファ(記憶部)
34 補間データ読出部(補間データ出力手段)
35 実行データ出力部(補間データ出力手段)
36 割込検出部
37 係数作成部
371 オーバライド処理部
372 停止処理部
373 データ不足処理部
DESCRIPTION OF
34 Interpolation data reading unit (interpolation data output means)
35 Execution data output unit (interpolation data output means)
36 Interrupt
Claims (8)
前記受信手段で受信された補間データが所定量一時記憶される記憶部と、
前記受信手段による前記補間データの受信と並行して、前記記憶部から補間データを実行順に順次読み出して、読み出した補間データに基づく実行データを前記駆動部に出力する補間データ出力手段とを備え、
前記補間データは、加減速処理が予め行われた補間データである
ことを特徴とする数値制御装置。 Interpolation data for driving the machine tool drive unit based on the machining program, receiving means for sequentially receiving in order of execution;
A storage unit temporarily storing a predetermined amount of interpolation data received by the receiving unit;
In parallel with the reception of the interpolation data by the receiving means, the interpolation data output means for sequentially reading the interpolation data from the storage unit in the execution order, and outputs the execution data based on the read interpolation data to the drive unit,
The numerical control device, wherein the interpolation data is interpolation data on which acceleration / deceleration processing has been performed in advance.
割込みを検出する割込検出手段と、
前記割込検出手段で検出された割込みが示す指示に応じて、前記移動速度の時系列の変化を表す係数を作成する係数作成手段とを、更に備え、
前記補間データ出力手段は、前記係数に応じた移動量に相当する補間データを前記記憶部から読み出し、読み出した補間データに基づいた前記実行データを前記駆動部に出力する
ことを特徴とする請求項1に記載の数値制御装置。 The interpolation data includes data indicating the moving speed of the machine tool,
Interrupt detection means for detecting an interrupt;
In accordance with an instruction indicated by the interrupt detected by the interrupt detection means, a coefficient creating means for creating a coefficient representing a time-series change in the moving speed is further provided,
The interpolation data output unit reads interpolation data corresponding to a movement amount corresponding to the coefficient from the storage unit, and outputs the execution data based on the read interpolation data to the drive unit. The numerical control apparatus according to 1.
ことを特徴とする請求項2に記載の数値制御装置。 When the interrupt detection unit detects an interrupt instructing the change of the moving speed, the coefficient creating unit gradually increases the speed from the moving speed at the time of detecting the interrupt to the instructed moving speed. The numerical control device according to claim 2, wherein the coefficient that changes is created.
ことを特徴とする請求項2又は3に記載の数値制御装置。 When the interrupt detection means detects an interrupt that instructs the machine tool to stop, the coefficient creating means gradually decreases from the moving speed at the time of detecting the interrupt until the moving speed becomes zero. The numerical control device according to claim 2, wherein the coefficient is generated.
前記補間データ出力手段は、前記記憶部から読み出す補間データが所定の閾値より少なくなったときは、前記記憶部に記憶されていた補間データに基づいた前記実行データを前記駆動部に出力する
ことを特徴とする請求項2乃至4のいずれか一項に記載の数値制御装置。 The coefficient creating means is an interrupt indicating that the interruption instructing the stop detected by the interrupt detecting means is less than a predetermined threshold value which is stored in the storage means. If there is, create the coefficient that gradually decreases from the moving speed when the interrupt is detected until the moving speed becomes zero,
The interpolation data output means outputs the execution data based on the interpolation data stored in the storage unit to the drive unit when the interpolation data read from the storage unit is less than a predetermined threshold value. The numerical control apparatus according to claim 2, wherein the numerical control apparatus is characterized.
前記補間データ生成装置は、
加工プログラムを解析し、工作機械の駆動部を駆動する補間データであって、加減速処理を行った補間データを生成する補間データ生成部と、
前記数値制御装置に、前記補間データを順次送信するデータ送信手段とを備え、
前記数値制御装置は、
前記補間データを順次受信する受信手段と、
前記受信手段で受信された補間データが一時記憶される記憶部と、
前記受信手段による前記補間データの受信と並行して、前記記憶部から補間データを実行順に順次読み出して、読み出した補間データに基づく実行データを前記駆動部に出力する補間データ出力手段とを備える
ことを特徴とする工作機械制御システム。 A machine tool control system having an interpolation data generation device and one or more numerical control devices,
The interpolation data generation device includes:
Interpolation data for analyzing the machining program and driving the drive unit of the machine tool, and generating interpolation data subjected to acceleration / deceleration processing; and
The numerical control device comprises data transmission means for sequentially transmitting the interpolation data,
The numerical controller is
Receiving means for sequentially receiving the interpolation data;
A storage unit for temporarily storing the interpolation data received by the receiving unit;
In parallel with the reception of the interpolation data by the receiving means, interpolation data output means for sequentially reading the interpolation data from the storage unit in the execution order and outputting the execution data based on the read interpolation data to the drive unit. Machine tool control system characterized by
前記補間データを、実行順に順次受信する受信ステップと、
前記受信ステップにおける前記補間データの受信と並行して、前記記憶部から補間データを実行順に順次読み出して、読み出した補間データに基づく実行データを前記駆動部に出力する補間データ出力ステップとを備え、
前記補間データは、加減速処理が予め行われた補間データである
ことを特徴とする数値制御方法。 A numerical control method used in a numerical control device including a storage unit temporarily storing a predetermined amount of interpolation data for driving a drive unit of a machine tool based on a machining program,
Receiving step for sequentially receiving the interpolation data in the order of execution;
In parallel with the reception of the interpolation data in the reception step, the interpolation data output step of sequentially reading the interpolation data from the storage unit in the execution order, and outputting the execution data based on the read interpolation data to the drive unit,
The numerical control method, wherein the interpolation data is interpolation data for which acceleration / deceleration processing has been performed in advance.
前記補間データを、実行順に順次受信する受信手段と、
前記受信手段での前記補間データの受信と並行して、前記記憶部から補間データを実行順に順次読み出して、読み出した補間データに基づく実行データを前記駆動部に出力する補間データ出力手段としてコンピュータを機能させ、
前記補間データは、加減速処理が予め行われた補間データである
ことを特徴とする数値制御プログラム。 A numerical control program used in a numerical control device including a storage unit temporarily storing a predetermined amount of interpolation data for driving a drive unit of a machine tool based on a machining program,
Receiving means for sequentially receiving the interpolation data in the order of execution;
In parallel with the reception of the interpolation data by the receiving means, the interpolation data output means for sequentially reading the interpolation data from the storage section in the execution order and outputting the execution data based on the read interpolation data to the drive section. Make it work
The numerical control program, wherein the interpolation data is interpolation data for which acceleration / deceleration processing has been performed in advance.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014175656A JP2016051290A (en) | 2014-08-29 | 2014-08-29 | Numerical control apparatus, machine tool control system, numerical control method, and numerical control program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014175656A JP2016051290A (en) | 2014-08-29 | 2014-08-29 | Numerical control apparatus, machine tool control system, numerical control method, and numerical control program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016051290A true JP2016051290A (en) | 2016-04-11 |
Family
ID=55658757
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014175656A Pending JP2016051290A (en) | 2014-08-29 | 2014-08-29 | Numerical control apparatus, machine tool control system, numerical control method, and numerical control program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016051290A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113467368A (en) * | 2021-07-15 | 2021-10-01 | 苏州谋迅智能科技有限公司 | Method for adjusting S-shaped speed curve |
CN117226193A (en) * | 2023-11-10 | 2023-12-15 | 华潞科技(山西)有限公司 | Wire-cut electric discharge machine hardware interpolation method, device and storage medium |
JP7398947B2 (en) | 2019-12-18 | 2023-12-15 | 三菱電機エンジニアリング株式会社 | motor control device |
-
2014
- 2014-08-29 JP JP2014175656A patent/JP2016051290A/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7398947B2 (en) | 2019-12-18 | 2023-12-15 | 三菱電機エンジニアリング株式会社 | motor control device |
CN113467368A (en) * | 2021-07-15 | 2021-10-01 | 苏州谋迅智能科技有限公司 | Method for adjusting S-shaped speed curve |
CN117226193A (en) * | 2023-11-10 | 2023-12-15 | 华潞科技(山西)有限公司 | Wire-cut electric discharge machine hardware interpolation method, device and storage medium |
CN117226193B (en) * | 2023-11-10 | 2024-02-02 | 华潞科技(山西)有限公司 | Wire-cut electric discharge machine hardware interpolation method, device and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6603255B2 (en) | Robot system and robot control method | |
JP4955371B2 (en) | Numerical control system | |
JP5669986B1 (en) | Numerical control apparatus and numerical control method | |
JP2008027376A (en) | Numerical control device | |
JP2010170435A (en) | System and method for instructing motion control, and motion control system | |
JP2016051290A (en) | Numerical control apparatus, machine tool control system, numerical control method, and numerical control program | |
JP6272599B1 (en) | Control device and motor control system | |
US20130123968A1 (en) | Numerical control apparatus | |
JP2017146859A (en) | Processing time prediction device of numerical control machine tool | |
JP6680731B2 (en) | Processing time prediction system | |
JP6440984B2 (en) | Numerical control device that performs acceleration / deceleration control by stopping distance | |
JP5362146B1 (en) | Numerical control apparatus and numerical control system | |
JP6325488B2 (en) | Numerical control device that operates with tabular data | |
US10421187B2 (en) | Robot program modification device, robot control device, robot simulation device, and robot program modification method | |
JP6310944B2 (en) | Method and apparatus for supporting mechanical design improvement work | |
JP2008234295A (en) | Interference check system | |
CN101995849B (en) | Path track point calculating device and method for numerical control system | |
CN109732602A (en) | Mechanical arm speed regulating method, system, equipment and medium | |
JP6639758B1 (en) | Control system and motor control device | |
CN111775148A (en) | Robot control method and device, storage medium and robot | |
JP2001092508A (en) | Numerical controller for parallel mechanism machine tool | |
JP2008148449A (en) | Motor position control method | |
US11687055B2 (en) | Servo control device, servo control system, and servo control method | |
CN108647178B (en) | Method and apparatus for dual channel communication | |
JP6997131B2 (en) | Numerical control device |