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 PDF

Info

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
Application number
JP2014175656A
Other languages
Japanese (ja)
Inventor
圭史 榎本
Keiji Enomoto
圭史 榎本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shin Nippon Koki KK
Original Assignee
Shin Nippon Koki KK
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 Shin Nippon Koki KK filed Critical Shin Nippon Koki KK
Priority to JP2014175656A priority Critical patent/JP2016051290A/en
Publication of JP2016051290A publication Critical patent/JP2016051290A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To minimize a number of processes performed by a numerical control apparatus provided for each machine tool, and allow a lower-performance apparatus to be used as a numerical control apparatus.SOLUTION: A numerical control apparatus comprises: receiving means that sequentially receives in an execution order interpolated data for driving a driving section of a machine tool based on a processing program; a storing section that temporarily stores a predetermined amount of the interpolated data received by the receiving means; and interpolated data output means that sequentially reads the interpolated data from the storing section in the execution order, concurrently with the receiving means receiving the interpolated data, and outputs execution data based on the read interpolated data, to the driving section. The interpolated data is interpolated data that is processed in advance for speed adjustment.SELECTED DRAWING: Figure 1

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).

特開平9−34529号公報JP-A-9-34529

しかし、汎用品を用いて数値制御装置を作成したとしても、工作機械毎に、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.

実施形態にかかる工作機械制御システムの機能ブロック図である。It is a functional block diagram of the machine tool control system concerning an embodiment. 図1に示す数値制御装置のオーバライド処理を説明するための図である。It is a figure for demonstrating the override process of the numerical control apparatus shown in FIG. 図1に示す数値制御装置の停止処理を説明するための図である。It is a figure for demonstrating the stop process of the numerical control apparatus shown in FIG. 図1に示す数値制御装置の補間データが不足した場合の停止処理を説明するための図である。It is a figure for demonstrating the stop process when the interpolation data of the numerical controller shown in FIG. 1 run short. 指令パスが円弧の場合に、補間データの不足による停止を説明するための図である。It is a figure for demonstrating the stop by the lack of interpolation data when a command path is a circular arc. 図1に示す数値制御装置の実行データ出力処理のフローチャートである。It is a flowchart of the execution data output process of the numerical controller shown in FIG. 補間データの読出しを説明するための図である。It is a figure for demonstrating reading of the interpolation data. 従来の数値制御装置の機能ブロックの例を示す図である。It is a figure which shows the example of the functional block of the conventional numerical control apparatus. 従来の補間データの例を示す図である。It is a figure which shows the example of the conventional interpolation data.

<実施形態>
以下、本発明にかかる実施の一形態を図面に基づいて説明する。
<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 tool control system 100 according to the embodiment includes an interpolation data creation device 1 and a numerical control device 3 connected to the interpolation data creation device 1 via a network 2. In the embodiment, it is assumed that there is one interpolation data creation device 1 and the numerical control device 3 is installed for each of a plurality of machine tools.

ここで、図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 tool control system 100 according to this embodiment, interpolation data obtained by performing the above-described post-interpolation acceleration / deceleration processing and pre-interpolation acceleration / deceleration processing (hereinafter referred to as “acceleration / deceleration processing”) in advance is created, and the machine tool Each of the numerical control devices reads and executes the interpolation data subjected to the acceleration / deceleration processing. In the machine tool control system 100, a large amount of processing is performed sequentially, that is, NC program interpretation processing and acceleration / deceleration processing are performed using a single interpolated data creation device with high processing capability, and acceleration / deceleration processing is performed. Create interpolation data. And the numerical control apparatus installed in each machine tool performs the interpolation data by which acceleration / deceleration processing was made beforehand. In other words, the numerical control device does not need to perform processing with a large amount of processing, and thus a CPU with relatively low performance can be used.

また、工作機械制御システム100の数値制御装置3では、ユーザからの指示によるオーバライド処理(手動による速度制御)や、緊急停止処理などに対応するためのリアルタイム制御に工夫がなされている。従来の数値制御装置では、このようなユーザからの指示や緊急停止等に対処する場合は、例えば、補間後加減速処理部(図8参照)においてユーザの指示等を実現するように、補間処理部が作成した補間データに対して、最終段の処理として加減速処理を行っている。しかし、予め加減速処理が施された補間データを実行する本実施形態の数値制御装置3では、特別の工夫が必要となるからである。   Further, the numerical control device 3 of the machine tool control system 100 is devised for real-time control to cope with an override process (manual speed control) by an instruction from a user, an emergency stop process, and the like. In the conventional numerical control device, when dealing with such an instruction from the user, an emergency stop, or the like, for example, an interpolation process is performed so as to realize the user's instruction or the like in the post-interpolation acceleration / deceleration processing unit (see FIG. 8). Acceleration / deceleration processing is performed on the interpolation data created by the unit as the final processing. However, the numerical control device 3 according to the present embodiment that executes interpolation data that has been subjected to acceleration / deceleration processing in advance requires special measures.

以下、実施形態にかかる工作機械制御システムについて説明する。   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 data creation device 1 and the numerical control device 3 of the machine tool control system 100.

補間データ作成装置1は、NCプログラム記憶部11、プログラム解析部12、補間データ作成部13、補間データ記憶部14、及び、補間データ送信部15を備える。   The interpolation data creation device 1 includes an NC program storage unit 11, a program analysis unit 12, an interpolation data creation unit 13, an interpolation data storage unit 14, and an interpolation data transmission unit 15.

NCプログラム記憶部11は、工作機械に加工工程を指令するためのNCプログラムを記憶する。   The NC program storage unit 11 stores an NC program for instructing a machining process to the machine tool.

プログラム解析部12は、NCプログラム記憶部11に記憶されているNCプログラムを解析し、実行形式のデータに変換する。   The program analysis unit 12 analyzes the NC program stored in the NC program storage unit 11 and converts it into execution format data.

補間データ作成部13は、加減速処理部131、補間処理部132を有し、プログラム解析部12が作成した実行形式のデータを基に、補間データを作成し、作成した補間データを補間データ記憶部14に記憶させる。   The interpolation data creation unit 13 includes an acceleration / deceleration processing unit 131 and an interpolation processing unit 132, creates interpolation data based on the execution format data created by the program analysis unit 12, and stores the created interpolation data as interpolation data. Store in the unit 14.

加減速処理部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 interpolation processing unit 132 has a function of creating interpolation data from execution format data that has been subjected to pre-interpolation acceleration / deceleration processing by the acceleration / deceleration processing unit 131. In the embodiment, the acceleration / deceleration processing unit 131 and the interpolation processing unit 132 are described as separate functional units. However, the interpolation data may be created in cooperation with each other.

ここで、補間データは、工作機械の工具の経路上の複数の座標値を含み、座標値は、所定の単位期間ごとの工具の座標値を示す。つまり、単位期間が経過した場合に存在すべき位置を、順に示している。補間データには、単位期間の移動距離(移動量)、言い換えれば、移動速度が含まれていることになる。   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 data storage unit 14 stores the interpolation data created by the interpolation data creation unit 13.

補間データ送信部15は、所定の周期で、予め定められた量の補間データを補間データ記憶部14から実行順に読み出し、ネットワーク2を介して数値制御装置3に送信する。   The interpolation data transmission unit 15 reads out a predetermined amount of interpolation data from the interpolation data storage unit 14 in the execution order at a predetermined cycle, and transmits it to the numerical control device 3 via the network 2.

次に、数値制御装置3は、補間データ受信部31、補間データ書込部32、補間データバッファ33(記憶部)、補間データ読出部34、実行データ出力部35(補間データ出力部)、割込検出部36、及び、係数作成部37を備える。   Next, the numerical control device 3 includes an interpolation data receiving unit 31, an interpolation data writing unit 32, an interpolation data buffer 33 (storage unit), an interpolation data reading unit 34, an execution data output unit 35 (interpolation data output unit), A detection unit 36 and a coefficient generation unit 37.

補間データ受信部31は、補間データ作成装置1から送信される補間データを、ネットワーク2を介して受信する。尚、ネットワーク2は、有線、無線のいずれでも良く、補間データ作成装置1から補間データを受信できればよい。   The interpolation data receiving unit 31 receives the interpolation data transmitted from the interpolation data creating apparatus 1 via the network 2. The network 2 may be either wired or wireless, as long as it can receive the interpolation data from the interpolation data creation device 1.

実施形態では、補間データは、いわゆる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 interpolation data buffer 33 has a function of temporarily storing the interpolation data. The interpolation data writing unit 32 receives the interpolation data received by the interpolation data receiving unit 31 in the order received. Write to. Then, the interpolation data reading unit 34 reads from the interpolation data buffer 33 in the order written by the interpolation data writing unit 32, that is, in order from the oldest stored interpolation data. In the embodiment, the amount of interpolation data stored in the interpolation data buffer 33 is an amount that can instruct the servo motor controller 5 to drive for about 10 seconds. This data amount is determined in consideration of the CPU performance of the numerical control device 3, the performance of the servo motor control unit 5, and the like. Thus, in the machine tool system 100, it can be said that interpolation data is transmitted and executed in a streaming manner.

補間データ読出部34は、後述の係数作成部37が作成する移動速度を表す係数に応じた、単位時間あたりの移動量に相当する補間データを読み出し、実行データ出力部35に渡す。係数に応じた移動量については、<係数>の項で説明する。   The interpolation data reading unit 34 reads the interpolation data corresponding to the movement amount per unit time according to the coefficient representing the movement speed created by the coefficient creation unit 37 described later, and passes it to the execution data output unit 35. The amount of movement corresponding to the coefficient will be described in the section <Coefficient>.

実行データ出力部35は、補間データ読出部34が補間データバッファ33から読み出した補間データから、実行データを作成し、作成した実行データをサーボモータ制御部5に出力する。サーボモータ制御部5は、数値制御装置3が対応付けて設置されている工作機械6の軸等を駆動するサーボモータを制御する機能部である。   The execution data output unit 35 creates execution data from the interpolation data read from the interpolation data buffer 33 by the interpolation data reading unit 34, and outputs the created execution data to the servo motor control unit 5. The servo motor control unit 5 is a functional unit that controls a servo motor that drives a shaft or the like of a machine tool 6 installed in association with the numerical control device 3.

割込検出部36は、外部からの割込み、及び、内部からの割込みを検出する。外部からの割込みとは、数値制御装置3に対するユーザの指示である。この指示は、例えば、数値制御装置3の操作盤等である操作部4がユーザにより操作されることで行われる。例えば、工作機械の移動速度の変更、停止等である。また、内部からの割込みとは、数値制御装置3の機械的な異常を検知した場合の緊急停止指示や、補間データバッファ33に記憶されている補間データが無くなった場合、又は、予め定められた閾値を下回った場合の停止指示等である。尚、これら3種類以外の割込みを検出することとしてもよい。   The interrupt detection unit 36 detects external interrupts and internal interrupts. An external interrupt is a user instruction to the numerical control device 3. This instruction is performed, for example, when the operation unit 4 that is an operation panel or the like of the numerical control device 3 is operated by the user. For example, the moving speed of the machine tool is changed or stopped. Further, the interruption from the inside is an emergency stop instruction when a mechanical abnormality of the numerical control device 3 is detected, or when the interpolation data stored in the interpolation data buffer 33 is lost, or is determined in advance. This is a stop instruction or the like when the value is below the threshold. Note that interrupts other than these three types may be detected.

係数作成部37は、オーバライド処理部371、停止処理部372、データ不足処理部373を有し、割込検出部36が検出した割込みの種類に応じて、係数を算出する。係数は、所定期間毎の値であっても、関数であってもよい。この係数は、補間データ読出部34が補間データを読み出す際に用いられる。   The coefficient creation unit 37 includes an override processing unit 371, a stop processing unit 372, and a data shortage processing unit 373, and calculates a coefficient according to the type of interrupt detected by the interrupt detection unit 36. The coefficient may be a value for each predetermined period or a function. This coefficient is used when the interpolation data reading unit 34 reads the interpolation data.

実施形態では、係数作成部37は、3種類の割込みを検出するものとする。オーバライド割込み、停止割込み、データ不足割込みである。オーバライド割込みは、ユーザにより操作部4のオーバライドスイッチが操作され、速度の変更指示が成されたことを示す割込みである。停止割込みは、ユーザにより操作部4を介して停止指示が成されたこと、又は、数値制御装置3に異常が発生したことを示す割込みである。データ不足割込みは、補間データバッファ33に記憶されている補間データの量が、閾値を下回っていることを示す割込みである。例えば、補間データバッファ33が空になる場合とは、ネットワーク2等の通信異常等の原因が考えられる。このデータ不足割込みは、補間データ読出部34が、補間データバッファ33から補間データを読み出す際に検知して割込検出部36に通知する。   In the embodiment, the coefficient creation unit 37 detects three types of interrupts. Override interrupt, stop interrupt, data shortage interrupt. The override interrupt is an interrupt indicating that the user has operated the override switch of the operation unit 4 to give a speed change instruction. The stop interrupt is an interrupt indicating that a stop instruction has been made by the user via the operation unit 4 or that an abnormality has occurred in the numerical control device 3. The data shortage interrupt is an interrupt indicating that the amount of interpolation data stored in the interpolation data buffer 33 is below a threshold value. For example, the case where the interpolation data buffer 33 becomes empty may be caused by a communication abnormality in the network 2 or the like. This data shortage interruption is detected when the interpolation data reading unit 34 reads the interpolation data from the interpolation data buffer 33 and notifies the interrupt detection unit 36 of the interruption.

オーバライド処理部371は、割込検出部36がオーバライド割込みを検出した場合に、係数を作成する。   The override processing unit 371 creates a coefficient when the interrupt detection unit 36 detects an override interrupt.

停止処理部372は、割込検出部36が停止割込みを検出した場合に、係数を作成する。   The stop processing unit 372 creates a coefficient when the interrupt detection unit 36 detects a stop interrupt.

データ不足処理部373は、割込検出部36がデータ不足割込みを検出した場合に、係数を作成する。   The data shortage processing unit 373 creates a coefficient when the interrupt detection unit 36 detects a data shortage interrupt.

尚、補間データ作成装置1、数値制御装置3は、例えば、コンピュータを用いて構成可能であり、ハードディスク等の記憶部(不図示)に格納されているNCプログラム解析等をプログラムしたソフトウェアを、CPUにより実行することによって上述のプログラム解析部12等がコンピュータに機能的に構成される。また、数値制御装置3は、シーケンサーでもよく、各機能部を実現できるハードウェア資源を備える装置であればよい。   The interpolation data creation device 1 and the numerical control device 3 can be configured using, for example, a computer, and software that programs NC program analysis and the like stored in a storage unit (not shown) such as a hard disk is stored in the CPU. The above-described program analysis unit 12 and the like are functionally configured in the computer. The numerical control device 3 may be a sequencer as long as it is a device provided with hardware resources capable of realizing each functional unit.

<係数(内部オーバライド値)>
ここで、係数作成部37が作成する係数について、図2〜5を用いて説明する。
<Coefficient (Internal override value)>
Here, the coefficient which the coefficient preparation part 37 produces is demonstrated using FIGS.

図2は、係数作成部37のオーバライド処理部371が作成する係数を説明するためのタイムチャートである。図2には、4つのグラフが記載され、全てのグラフの横軸が示す時刻は同じである。   FIG. 2 is a time chart for explaining the coefficients created by the override processing unit 371 of the coefficient creating unit 37. In FIG. 2, four graphs are described, and the time indicated by the horizontal axis of all the graphs is the same.

1番上のグラフは、補間データバッファ33に記憶されている補間データの例を示す。横軸が時間を示し、縦軸がパルス数を示す。1つの矩形の横幅が、単位期間を示す。矩形の縦幅が長いほど、つまり、パルス数が大きい程、サーボモータ制御部5がモータに供給する電力が大きくなる。つまり、パルス数が大きい程、工具の移動速度が速い(移動量が大きい)ことを示す。図2では、加速処理及び減速処理は、同じ時定数を用いて行われている。つまり、単位期間が4つ経過時に、目標となる速度とする。ここで示す補間データは、補間データ作成装置1で作成された補間データであるので加減速処理がなされている。加減速処理を行っていない補間データを、図9に示す。   The top graph shows an example of the interpolation data stored in the interpolation data buffer 33. The horizontal axis indicates time, and the vertical axis indicates the number of pulses. The width of one rectangle indicates a unit period. The longer the vertical width of the rectangle, that is, the greater the number of pulses, the greater the power that the servo motor control unit 5 supplies to the motor. That is, the larger the number of pulses, the faster the moving speed of the tool (the larger the moving amount). In FIG. 2, the acceleration process and the deceleration process are performed using the same time constant. That is, the target speed is obtained when four unit periods have elapsed. Since the interpolation data shown here is interpolation data created by the interpolation data creation device 1, acceleration / deceleration processing is performed. Interpolated data that has not been subjected to acceleration / deceleration processing is shown in FIG.

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 arrow 10. 100% indicates the moving speed according to the interpolation data.

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 override processing unit 371 of the coefficient creating unit 37. The horizontal axis shows time, and the vertical axis shows coefficient values. The override processing unit 371 gradually increases from an initial override setting value, specifically, a value immediately before the user manually changes the override value (100%) to an override setting value (50%) set by the user. Is calculated (see arrow 11). The coefficient can be said to be an internal override value created by the numerical control device 3 in order to cope with interrupt processing. In the embodiment, as shown in parentheses, the coefficient of the setting value 100% is set to “1.0”, the coefficient of the setting value 50% is set to “0.5”, and the coefficient of the portion indicated by the arrow 11 is calculated. To do. In addition, the deceleration process indicated by the arrow 11 is performed using the time constant used in the interpolation data. Therefore, before the interruption occurs, that is, in normal time, the coefficient is “1.0”, and the coefficient indicated by the arrow 11 after the interruption occurs is “0.87” and “0.75” for each unit period. "," 0.63 "," 0.5 ", and so on.

4番目のグラフは、補間データ読出部34が読み出した補間データに基づいて実行データ出力部35が出力する実行データを示す。横軸が時間を示し、縦軸がパルス数を示す。補間データ読出部34は、係数に応じた補間データを補間データバッファ33から読み出す。詳細には、補間データ読出部34は、係数に応じた移動量(パルス数)に相当する分の補間データを読み出す。   The fourth graph shows the execution data output by the execution data output unit 35 based on the interpolation data read by the interpolation data reading unit 34. The horizontal axis indicates time, and the vertical axis indicates the number of pulses. The interpolation data reading unit 34 reads the interpolation data corresponding to the coefficient from the interpolation data buffer 33. Specifically, the interpolation data reading unit 34 reads the interpolation data corresponding to the movement amount (number of pulses) corresponding to the coefficient.

補間データ読出部34が読み出す単位期間あたりの補間データ、つまり、パルス数Pは、kが係数を示し、pがオーバライド設定値100%当たりのパルス数(補間データ)を示すとすると、
P=p×k ・・・(1)
となる。
Interpolation data per unit period read by the interpolation data reading unit 34, that is, the number of pulses P, where k indicates a coefficient and p indicates the number of pulses per 100% of the override setting value (interpolation data),
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 interpolation data buffer 33. Therefore, when reading out three interpolation data of “100” pulses with the coefficient “0.5”, the data is read out in six unit periods.

尚、ここでは、説明の便宜上、補間データが「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 interpolation data buffer 33. The horizontal axis indicates time, and the vertical axis indicates the number of pulses. The width of one rectangle indicates a unit period. The second graph shows the execution data output by the execution data output unit 35 based on the interpolation data read by the interpolation data reading unit 34. The horizontal axis indicates time, and the vertical axis indicates the number of pulses. The numerical value in the rectangle indicates the number of times of reading. This example shows how the interpolation data reading unit 34 reads interpolation data for three unit periods when the speed is reduced to 54.3% by an override interrupt.

図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 data reading unit 34 reads interpolation data for three unit periods in six times. Since the coefficient integration value for the first reading is “0.543”, the number of pulses per unit period is “54” pulses obtained by rounding off 54.3 obtained by the following equation.
100 × 0.543 = 54.3
Therefore, the interpolation data reading unit 34 reads the interpolation data for “54” pulses.

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 data reading unit 34 reads the data for “46” pulses, which is the remainder of the first interpolation data, and the data for “9” pulses of the second interpolation data.

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 data reading unit 34 reads data for “54” pulses from the data for “91” pulses, which is the remainder of the second interpolation data.

同様に、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 data reading unit 34 determines that there is no interpolation data when the number of pulses per unit period becomes “0”.
100 + 100 + 100 + (0 × 0.801) − (54 + 55 + 54 + 54 + 55 + 28) = 0
In this way, the interpolation data reading unit 34 integrates the coefficients to obtain the coefficient integrated value, calculates the number of pulses per next unit period, and reads the interpolation data for the calculated number of pulses, so that the total number of pulses Override processing can be performed without changing (movement amount). Specifically, it can be said that the coefficient integrated value indicates the integrated amount of the interpolation data, that is, how far the interpolation data should be read out. Therefore, the interpolation data reading unit 34 calculates the integration of interpolation data on the assumption that the integer part of the coefficient integration value indicates the number of interpolation data to be read and the decimal part indicates the ratio of data to be read from the next interpolation data. The amount of data to be read out is obtained by calculating the amount and subtracting the amount of data read so far from the calculated integrated amount.

尚、図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 arrow 13 in FIG. 2, even when the vehicle is stopped, the coefficients are accumulated as described above to calculate the number of pulses per unit period, so that the deceleration is performed as it is. In this case, the time constant will change.

割込み発生後は、図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 arrow 12 in FIG. Since the target pulse number is gradually decreased, the machine operates smoothly.

尚、図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 stop processing unit 372 of the coefficient creating unit 37. In FIG. 3, four graphs are described. The top graph and the fourth graph are the same as the respective graphs in FIG. That is, the top graph shows an example of the interpolation data stored in the interpolation data buffer 33, and the fourth graph shows the execution data output by the execution data output unit 35.

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 arrow 20.

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 stop processing unit 372 of the coefficient creating unit 37. The stop processing unit 372 gradually decelerates from the normal coefficient “1.0” (override set value 100%) to the coefficient “0.0” indicating the stop (override set value 0%). A coefficient is calculated (see arrow 21). The deceleration process indicated by the arrow 21 is performed using the time constant used in the interpolation data. When the time constant is 4, the coefficients are “0.75”, “0.50”, “0.25”, and “0.0”.

尚、図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 value 100%) at the normal time, the coefficients are “0.75”, “ 0.50 "and" 0.25 ". If the stop signal is" 1 "when the override setting value is 50%, the coefficients are" 0.38 "and" 0.25 ". , “0.13” or the like.

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 data output unit 35 based on the interpolation data read by the interpolation data reading unit 34. As described above, the interpolation data reading unit 34 reads the interpolation data corresponding to the coefficient created by the stop processing unit 372. Interpolation data read out by the interpolation data reading unit 34 according to the coefficient per unit period has a pulse number of “75”, “50”, “25”, “0” as indicated by the arrow 22. "... will gradually decrease, and the machine will stop smoothly. After stopping, when it is confirmed that the stop factor has been released, the stop signal is set to “0” and the coefficient is returned to “1.0”.

次に、図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 shortage processing unit 373 of the coefficient creating unit 37. FIG. 4 shows four graphs. The top graph and the fourth graph are the same as the graphs of FIGS. That is, the top graph shows an example of the interpolation data stored in the interpolation data buffer 33, and the fourth graph shows the execution data output by the execution data output unit 35.

1番目のグラフは、補間データバッファ33に記憶されている補間データを示し、白抜きの矩形が示す補間データが記憶されているものとする。補間データ読出部34は、補間データバッファ33から補間データを読み出した際に、残りの補間データが所定の個数(閾値)に満たない場合、バッファ空アラーム信号を発生させる(割込検出部36に通知する)。実施形態では、閾値は「2」とする。つまり、残りの補間データの個数が1つ(矢印30参照)である場合には、バッファ空アラーム信号を発生させる。また、矢印31が示すハッチングの引かれた矩形は、補間データバッファ33に記憶されている最後の補間データ(矢印30参照)のコピー(複製)を示す。   The first graph shows the interpolation data stored in the interpolation data buffer 33, and the interpolation data indicated by the white rectangle is stored. When the interpolation data reading unit 34 reads the interpolation data from the interpolation data buffer 33 and the remaining interpolation data is less than the predetermined number (threshold), the interpolation data reading unit 34 generates a buffer empty alarm signal (in the interrupt detection unit 36). Notice). In the embodiment, the threshold value is “2”. That is, when the number of remaining interpolation data is one (see arrow 30), a buffer empty alarm signal is generated. A hatched rectangle indicated by the arrow 31 indicates a copy (duplication) of the last interpolation data (see the arrow 30) stored in the interpolation data buffer 33.

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 arrow 33.

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 shortage processing unit 373 of the coefficient creating unit 37. The data shortage processing unit 373 gradually decelerates from the normal coefficient “1.0” (override set value 100%) to the coefficient “0.0” indicating the stop (override set value 0%). A simple coefficient is calculated (see arrow 34). The deceleration process indicated by the arrow 34 is performed using the time constant used in the interpolation data. When the time constant is 4, the coefficients are “0.75”, “0.50”, “0.25”, and “0.0”.

尚、図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 value 100%) at the normal time, the coefficients are “0.75”, “ 0.50 "and" 0.25 ".

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 data output unit 35 based on the interpolation data read by the interpolation data reading unit 34. As described above, the interpolation data reading unit 34 reads the interpolation data corresponding to the coefficient created by the data shortage processing unit 373. The interpolated data moving speed read by the interpolating data reading unit 34 in accordance with the coefficient for each unit period has the number of pulses of “75”, “50”, “25”, “0” as indicated by the arrow 32. "... will gradually decrease, and the machine will stop smoothly. The hatched rectangle is execution data using the copied interpolation data (see arrow 31) shown in the first graph. The portion where the second execution data from the right is not hatched is the remaining interpolation data when the interpolation data reading unit 34 reads out the interpolation data (“75”) for the third execution data from the right. (“25”). After stopping, when it is confirmed that the stop factor has been released, the stop signal is set to “0” and the coefficient is returned to “1.0”.

データ不足割込みが発生した場合は、補間データバッファ33に記憶されている補間データが無くなりかけていることを示す。従って、補間データバッファ33に記憶されている最後の補間データをコピーして補間データを補い、機械を滑らかに停止させる。つまり、補間データバッファ33に記憶されていた補間データの複製を補間データバッファ33に記憶させ、前記係数に応じた移動量に相当する補間データを補間データバッファ33から読み出し、読み出した補間データに基づいた実行データをサーボモータ制御部5に出力する。   When a data shortage interrupt occurs, it indicates that the interpolation data stored in the interpolation data buffer 33 is almost gone. Therefore, the last interpolation data stored in the interpolation data buffer 33 is copied to supplement the interpolation data, and the machine is smoothly stopped. That is, a copy of the interpolation data stored in the interpolation data buffer 33 is stored in the interpolation data buffer 33, the interpolation data corresponding to the movement amount according to the coefficient is read from the interpolation data buffer 33, and based on the read interpolation data. The execution data is output to the servo motor control unit 5.

但し、このようにコピーした補間データを用いる場合、補間データは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 start point 40 to the end point 41 (see the broken line 50). Assume that a buffer empty alarm has occurred when the tool has moved to position 42 via path 51. At that time, it is assumed that the interpolation data buffer 33 stores the interpolation data up to the position 43. At the time of the position 42 where the interruption occurs, the coefficient is calculated as described above, and the vehicle moves to the position 43 via the path 52 while gradually decelerating. After that, since the interpolation data is copied and used, the linear movement starts from the position 43 and stops at the position 44 via the path 53 deviated from the original path 50. Although a route different from the command route is moved, it is important to stop the tool promptly and smoothly because an abnormal situation occurs when a buffer empty alarm occurs. Here, the last interpolation data stored in the interpolation data buffer 33 is repeatedly used. However, the stored interpolation data may be used. For example, the interpolation data is estimated by estimating a locus from a plurality of interpolation data. You may create it.

尚、上述の加減速処理は、軸単位の演算ではなく、全軸に共通であるオーバライドの値を用いるものとする。従って、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 numerical control device 3 of the machine tool control system 100 will be described with reference to FIG. FIG. 6 is a flowchart of the execution data output process of the numerical controller 3.

補間データ作成装置1は、予め、NCプログラム記憶部11に記憶されているNCプログラムから、加減速処理を施した補間データを作成し、補間データ記憶部14に記憶しているものとする。尚、NCプログラムからの補間データの作成と、数値制御装置3への送信を並行して行ってもよい。   It is assumed that the interpolation data creating apparatus 1 creates interpolation data subjected to acceleration / deceleration processing from an NC program stored in the NC program storage unit 11 in advance and stores it in the interpolation data storage unit 14. Note that the creation of interpolation data from the NC program and the transmission to the numerical controller 3 may be performed in parallel.

ユーザは、補間データ作成装置1のユーザインタフェース部(不図示)を介して、補間データ作成装置1に、補間データの送信開始の指示を入力する。送信開始の指示が入力されたことを検知した補間データ作成装置1は、補間データ送信部15に、補間データの送信を依頼する。依頼された補間データ送信部15は、所定の周期で、予め定められた量の補間データを補間データ記憶部14から実行順に読み出し、ネットワーク2を介して数値制御装置3に対して送信を開始する。   The user inputs an instruction to start transmission of interpolation data to the interpolation data creation device 1 via a user interface unit (not shown) of the interpolation data creation device 1. The interpolation data creating apparatus 1 that has detected that a transmission start instruction has been input requests the interpolation data transmission unit 15 to transmit interpolation data. The requested interpolation data transmission unit 15 reads out a predetermined amount of interpolation data from the interpolation data storage unit 14 in the execution order in a predetermined cycle, and starts transmission to the numerical control device 3 via the network 2. .

数値制御装置3の補間データ受信部31は、補間データ作成装置1から送信された補間データを受信すると、受信した補間データを補間データ書込部32に渡して、記憶を依頼する。依頼を受けた補間データ書込部32は、渡された補間データを補間データバッファ33に記憶させる。補間データ受信部31及び補間データ書込部32は、補間データを受信し補間データバッファ33に記憶させる処理を繰り返す。   When the interpolation data receiving unit 31 of the numerical control device 3 receives the interpolation data transmitted from the interpolation data creating device 1, it passes the received interpolation data to the interpolation data writing unit 32 to request storage. Upon receiving the request, the interpolation data writing unit 32 stores the received interpolation data in the interpolation data buffer 33. The interpolation data receiving unit 31 and the interpolation data writing unit 32 repeat the process of receiving the interpolation data and storing it in the interpolation data buffer 33.

数値制御装置3は、補間データバッファ33に補間データが書き込まれると、係数として、補間データ通りの移動速度で動作することを示す初期値「1.0」を設定し(ステップS10)、補間データ読出部34、実行データ出力部35、割込検出部36、及び、係数作成部37に、処理の開始を指示する。   When the interpolation data is written in the interpolation data buffer 33, the numerical controller 3 sets an initial value “1.0” indicating that the coefficient operates at the moving speed according to the interpolation data as a coefficient (step S10). The reading unit 34, the execution data output unit 35, the interrupt detection unit 36, and the coefficient creation unit 37 are instructed to start processing.

割込検出部36が割込みを検出していない場合には(ステップS11:No、ステップS12:No、ステップS13:No)、係数作成部37は、係数として初期設定された「1.0」を補間データ読出部34に出力する。補間データ読出部34は、上述したように、係数作成部37から渡された係数に応じた移動量の補間データを補間データバッファ33から読み出し、実行データ出力部35に出力する(ステップS14)。   When the interrupt detection unit 36 has not detected an interrupt (step S11: No, step S12: No, step S13: No), the coefficient creation unit 37 sets “1.0” that is initially set as a coefficient. The data is output to the interpolation data reading unit 34. As described above, the interpolation data reading unit 34 reads the interpolation data of the movement amount according to the coefficient passed from the coefficient creating unit 37 from the interpolation data buffer 33 and outputs it to the execution data output unit 35 (step S14).

補間データ読出部34から補間データを渡された実行データ出力部35は、補間データに基づいた移動速度の実行データを作成し、サーボモータ制御部5に出力する(ステップS15)。そして、数値制御装置3は、ステップS11からの処理を繰り返す。また、割込検出部36は、割り込みを検出した場合は、検出した割込みに応じた信号を生成する。具体的には、データ不足割込みを検出した場合は、バッファ空アラーム信号を「1」とし(図4参照)、停止割込みを検出した場合は、停止信号を「1」とする(図3参照)。   The execution data output unit 35 to which the interpolation data is passed from the interpolation data reading unit 34 creates execution data of the movement speed based on the interpolation data and outputs it to the servo motor control unit 5 (step S15). Then, the numerical controller 3 repeats the process from step S11. In addition, when detecting an interrupt, the interrupt detection unit 36 generates a signal corresponding to the detected interrupt. Specifically, when a data shortage interrupt is detected, the buffer empty alarm signal is set to “1” (see FIG. 4), and when a stop interrupt is detected, the stop signal is set to “1” (see FIG. 3). .

ステップS11において、割込検出部37がデータ不足割込みを検出した場合(バッファ空アラーム信号が「1」の時)は(ステップS11:Yes)、係数作成部37に通知し、係数の作成を依頼する。   In step S11, when the interrupt detection unit 37 detects a data shortage interrupt (when the buffer empty alarm signal is “1”) (step S11: Yes), it notifies the coefficient creation unit 37 and requests the creation of the coefficient. To do.

依頼を受けた係数作成部37は、データ不足処理部373に係数を算出するよう指示する。指示を受けたデータ不足処理部373は、<係数>の項で説明したように係数を算出する(ステップS16)。係数作成部37は、算出された係数を補間データ読出部34に出力する。   Upon receiving the request, the coefficient creation unit 37 instructs the data shortage processing unit 373 to calculate the coefficient. Upon receiving the instruction, the data shortage processing unit 373 calculates a coefficient as described in the section <Coefficient> (step S16). The coefficient creating unit 37 outputs the calculated coefficient to the interpolation data reading unit 34.

補間データ読出部34は、最後に記憶されている補間データをコピーし(ステップS17)、<係数>の項で説明したように、係数作成部37から受けとった係数に応じた補間データを読み出し、実行データ出力部35に出力する(ステップS14)。補間データ読出部34から補間データを渡された実行データ出力部35は、補間データに基づいた移動速度の実行データを作成し、作成した実行データをサーボモータ制御部5に出力する(ステップS15)。   The interpolation data reading unit 34 copies the interpolation data stored last (step S17), and reads the interpolation data corresponding to the coefficient received from the coefficient creating unit 37 as described in the section <Coefficient> It outputs to the execution data output part 35 (step S14). The execution data output unit 35 to which the interpolation data is passed from the interpolation data reading unit 34 creates execution data of the moving speed based on the interpolation data, and outputs the created execution data to the servo motor control unit 5 (step S15). .

ステップS12において、割込検出部37が停止割込みを検出した場合(停止信号が「1」の時)は(ステップS12:Yes)、係数作成部37に通知し、係数の作成を依頼する。   In step S12, when the interrupt detection unit 37 detects a stop interrupt (when the stop signal is “1”) (step S12: Yes), it notifies the coefficient creation unit 37 and requests the creation of a coefficient.

依頼を受けた係数作成部37は、停止処理部372に係数を算出するよう指示する。指示を受けた停止処理部372は、〈係数〉の項で説明したように係数を算出する(ステップS18)。係数作成部37は、算出された係数を補間データ読出部34に出力する。   The coefficient creation unit 37 that has received the request instructs the stop processing unit 372 to calculate the coefficient. Upon receiving the instruction, the stop processing unit 372 calculates a coefficient as described in the section <Coefficient> (step S18). The coefficient creating unit 37 outputs the calculated coefficient to the interpolation data reading unit 34.

補間データ読出部34は、〈係数〉の項で説明したように、係数作成部37から受けとった係数に応じた補間データを読み出し、実行データ出力部35に出力する(ステップS14)。補間データ読出部34から補間データを渡された実行データ出力部35は、補間データに基づいた移動速度の実行データを作成し、作成した実行データをサーボモータ制御部5に出力する(ステップS15)。   As described in the section <Coefficient>, the interpolation data reading unit 34 reads the interpolation data corresponding to the coefficient received from the coefficient creating unit 37 and outputs it to the execution data output unit 35 (step S14). The execution data output unit 35 to which the interpolation data is passed from the interpolation data reading unit 34 creates execution data of the moving speed based on the interpolation data, and outputs the created execution data to the servo motor control unit 5 (step S15). .

ステップS13において、割込検出部36がオーバライド割込みを検出した場合は(ステップS13:Yes)、係数作成部37に通知し、係数の作成を依頼する。   In step S13, when the interrupt detection unit 36 detects an override interrupt (step S13: Yes), the coefficient generation unit 37 is notified to request the generation of a coefficient.

依頼を受けた係数作成部37は、オーバライド処理部371に係数を算出するよう指示する。指示を受けたオーバライド処理部371は、<係数>の項で説明したように係数を算出する(ステップS19)。係数作成部37は、算出された係数を補間データ読出部34に出力する。   Upon receipt of the request, the coefficient creating unit 37 instructs the override processing unit 371 to calculate the coefficient. Upon receiving the instruction, the override processing unit 371 calculates a coefficient as described in the section <Coefficient> (step S19). The coefficient creating unit 37 outputs the calculated coefficient to the interpolation data reading unit 34.

補間データ読出部34は、〈係数〉の項で説明したように、係数作成部37から受けとった係数に応じた補間データを読み出し、実行データ出力部35に出力する(ステップS14)。補間データ読出部34から補間データを渡された実行データ出力部35は、補間データに基づいた移動速度の実行データを作成し、作成した実行データをサーボモータ制御部5に出力する(ステップS15)。   As described in the section <Coefficient>, the interpolation data reading unit 34 reads the interpolation data corresponding to the coefficient received from the coefficient creating unit 37 and outputs it to the execution data output unit 35 (step S14). The execution data output unit 35 to which the interpolation data is passed from the interpolation data reading unit 34 creates execution data of the moving speed based on the interpolation data, and outputs the created execution data to the servo motor control unit 5 (step S15). .

このように、数値制御装置3では、オーバライドスイッチの変更や、緊急停止処理や、通信障害等による補間データの未達に容易に対応することができる。   As described above, the numerical control device 3 can easily cope with the change of the override switch, the emergency stop process, or the failure to reach the interpolation data due to a communication failure or the like.

尚、実施形態では、補間データ読出部34は、補間データバッファ33から係数に応じた量の補間データを読み出すこととしている。これは、補間データバッファ33から直接係数に応じた量の補間データを読み出すだけでなく、例えば、補間データバッファ33から1レコード分の補間データを順次作業メモリに読み込み、作業メモリにおいて1レコードを係数に応じて小分けして読み出すことであってもよく、結果的に、補間データバッファ33から係数に応じた量の補間データを読み出すことになればよい。また、実施形態では、割り込み検出部37が、データ不足割込みを検出した場合に、補間データ読出部34は、補間データバッファ33に記憶されていた最後の補間データを補間データバッファ33にコピーすることとしているが、例えば最後に読み込んだ補間データを、次に読み込んだ補間データであると仮定して繰り返し用いることとしてもよい。この作業メモリは、補間データバッファ33内のメモリであっても、補間データ読出部34専用のメモリであってもよく、数値制御装置3内のメモリであればよい。   In the embodiment, the interpolation data reading unit 34 reads the amount of interpolation data corresponding to the coefficient from the interpolation data buffer 33. This is not only to read the amount of interpolation data corresponding to the coefficient directly from the interpolation data buffer 33, but, for example, the interpolation data for one record is sequentially read from the interpolation data buffer 33 into the working memory, and one record is converted into the coefficient in the working memory. The interpolation data may be subdivided and read out as a result. As a result, it is only necessary to read out the amount of interpolation data corresponding to the coefficient from the interpolation data buffer 33. In the embodiment, when the interrupt detection unit 37 detects a data shortage interrupt, the interpolation data reading unit 34 copies the last interpolation data stored in the interpolation data buffer 33 to the interpolation data buffer 33. However, for example, the interpolation data read last may be repeatedly used on the assumption that the interpolation data is read next. This working memory may be a memory in the interpolation data buffer 33, a memory dedicated to the interpolation data reading unit 34, or a memory in the numerical controller 3.

本発明を表現するために、上述において図面を参照しながら実施形態を通して本発明を適切且つ十分に説明したが、当業者であれば上述の実施形態を変更及び/または改良することは容易に為し得ることであると認識すべきである。したがって、当業者が実施する変更形態または改良形態が、請求の範囲に記載された請求項の権利範囲を離脱するレベルのものでない限り、当該変更形態または当該改良形態は、当該請求項の権利範囲に包括されると解釈される。   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 SYMBOLS 1 Interpolation data creation apparatus 2 Network 3 Numerical control apparatus 5 Servo motor control part 6 Machine tool 11 NC program memory | storage part 12 Program analysis part 13 Interpolation data creation part 15 Interpolation data transmission part 31 Interpolation data reception part 33 Interpolation data buffer (storage part) )
34 Interpolation data reading unit (interpolation data output means)
35 Execution data output unit (interpolation data output means)
36 Interrupt detection unit 37 Coefficient creation unit 371 Override processing unit 372 Stop processing unit 373 Data shortage processing unit

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.
補間データ生成装置と1以上の数値制御装置とを有する工作機械制御システムであって、
前記補間データ生成装置は、
加工プログラムを解析し、工作機械の駆動部を駆動する補間データであって、加減速処理を行った補間データを生成する補間データ生成部と、
前記数値制御装置に、前記補間データを順次送信するデータ送信手段とを備え、
前記数値制御装置は、
前記補間データを順次受信する受信手段と、
前記受信手段で受信された補間データが一時記憶される記憶部と、
前記受信手段による前記補間データの受信と並行して、前記記憶部から補間データを実行順に順次読み出して、読み出した補間データに基づく実行データを前記駆動部に出力する補間データ出力手段とを備える
ことを特徴とする工作機械制御システム。
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.
JP2014175656A 2014-08-29 2014-08-29 Numerical control apparatus, machine tool control system, numerical control method, and numerical control program Pending JP2016051290A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (4)

* Cited by examiner, † Cited by third party
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