JP2008108205A - 数値制御装置 - Google Patents

数値制御装置 Download PDF

Info

Publication number
JP2008108205A
JP2008108205A JP2006292733A JP2006292733A JP2008108205A JP 2008108205 A JP2008108205 A JP 2008108205A JP 2006292733 A JP2006292733 A JP 2006292733A JP 2006292733 A JP2006292733 A JP 2006292733A JP 2008108205 A JP2008108205 A JP 2008108205A
Authority
JP
Japan
Prior art keywords
program
capacity
buffer
transfer
pallet
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.)
Granted
Application number
JP2006292733A
Other languages
English (en)
Other versions
JP4882666B2 (ja
Inventor
Takeshi Irie
武志 入江
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.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2006292733A priority Critical patent/JP4882666B2/ja
Publication of JP2008108205A publication Critical patent/JP2008108205A/ja
Application granted granted Critical
Publication of JP4882666B2 publication Critical patent/JP4882666B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Numerical Control (AREA)

Abstract

【課題】運転するNCプログラムを切り替えるときに、NCプログラムを運転バッファに転送する際に要する時間を短縮する。
【解決手段】本発明の数値制御装置1は、完了信号検出手段によって次に運転するNCプログラム番号の入力の完了を検出したときに、プログラム容量算出手段により、現在実行中の加工と並列動作で、次に運転するNCプログラムの容量を算出し、空き容量算出手段によって算出される運転バッファの空き容量よりも、プログラム容量算出手段によって算出されるNCプログラムの容量が大きい場合に、第1転送手段により、該NCプログラムの先頭から前記運転バッファの空き容量分、該運転バッファに転送するように構成したものである。
【選択図】図1

Description

本発明は、運転するNCプログラムをハードディスク等の記憶装置から運転バッファに転送して加工運転を実行するように構成された数値制御装置に関する。
近年の数値制御装置においては、ハードディスク等の記憶装置を備え、これに多数のNCプログラムを記憶させている。しかし、ハードディスクにアクセスしてNCプログラムを実行する方式では、アクセスに要する時間が長くなり、時間的なロスの発生が大きい。そこで、ハードディスクへのアクセスをできるだけ少なくする対策が考えられており、その対策の1つの方式として、運転の実行時には、高速にアクセス可能なRAM(以下、運転バッファと称す)に実行するNCプログラムをすべて転送し、該運転バッファからNCプログラムをブロック(1つの制御命令)単位毎に読み出して、工作機械及び周辺装置を制御するようにしている。このような運転方式を、「内部メモリ運転」と呼んでいる。
また、NCプログラムのサイズが運転バッファよりも大きい場合には、運転バッファをリングバッファのように使用し、予め先頭から可能な限りNCプログラムを転送しておき、運転が進行するにつれ、運転が終了したプログラム部分を消去し、転送できなかった部分のプログラム部分を順次書き込んで(転送して)いくような方式が実現されている。このような運転方式を、「テープ運転」と呼んでいる。このように呼ぶ理由は、かって、紙テープに記憶されたNCプログラムを、数値制御装置に通信を介して入力させながら運転した際に、現在のような大容量のRAMがなかったため、同様の運転方式を採用していたためである。尚、上記した2つの運転方式は、例えば特許文献1に記載されている。
特開平8−249040号公報
上記した内部メモリ運転においては、予めNCプログラムを運転バッファに転送する際、そのNCプログラムを解析し、運転するプログラム(親プログラム)から呼び出されるサブプログラム(子プログラム)や、サブプログラム(子プログラム)から呼び出されるさらなるサブプログラム(孫プログラム)などをすべて予め運転バッファに転送する。更に、それら個々のNCプログラム(親、子、孫プログラム)の運転バッファ上の先頭番地などを、RAM上に設けたプログラム管理データに記憶させる。これにより、NCプログラム上に、サブプログラムへのサブルーチン呼び出しがあっても、呼び出し先は、運転バッファ内に存在しており、しかも、飛び先の番地もプログラム管理データを参照することにより、時間的遅延なく、次の読み込み番地を決定できる。
しかし、解析した結果、即ち、呼び出されるサブプログラムを含めたNCプログラムの総容量が運転バッファを超えている場合には、運転中に運転バッファの全部ないし一部を、テープ運転のように、消去、上書きしながら、運転を実行するようにしている。この場合には、運転中に少なからずハードディスクへアクセスを行なう必要がある。
このため、運転バッファ、即ち、RAMの容量を大容量化して、可能な限り内部メモリ運転を実行できるようにしている。
しかし、運転バッファを大容量化すると、サブプログラム等の解析処理や運転バッファへの転送処理に要する時間がかなり長くなるという問題点が発生してきている。特に、運転するNCプログラムが頻繁に変わるような場合には、運転するNCプログラムを切り替えるときに、かなり長い時間がかかり、時間のロスが大きくなるという問題点が発生している。
尚、運転するNCプログラムが頻繁に変わるような場合としては、例えば、回転テーブル機において、両側パレットのNCプログラムが異なるときに、両方のNCプログラムを足したサイズが運転バッファを超えている場合があり、この場合、運転開始時(パレット旋回時)に、毎回、運転するNCプログラムを運転バッファに転送(ロード)していた。また、鍵の生産等の加工作業で、1回1回の加工内容が異なる場合も、NCプログラムの選択が外部プログラム選択を使用し、起動時に運転するNCプログラムを運転バッファに転送していた。上述した2つの加工作業の場合、NCプログラムの転送にかなりの時間がかかっていた。
そこで、本発明の目的は、運転するNCプログラムを切り替えるときに、NCプログラムを運転バッファに転送する際に要する時間を短縮することができる数値制御装置を提供することにある。
本発明の数値制御装置は、工作機械で運転するNCプログラムをハードディスク等の記憶装置から運転バッファに転送して加工運転を実行するように構成されたものにおいて、次に運転するNCプログラム番号を入力する入力手段と、前記入力手段によってNCプログラム番号の入力が完了したことを検出する完了信号検出手段と、前記運転バッファの空き容量を算出する空き容量算出手段と、前記完了信号検出手段によって次に運転するNCプログラム番号の入力の完了を検出したときに、現在実行中の加工と並列動作で、次に運転するNCプログラムの容量を算出するプログラム容量算出手段と、前記空き容量算出手段によって算出される前記運転バッファの空き容量よりも、前記プログラム容量算出手段によって算出されるNCプログラムの容量が大きい場合に、該NCプログラムの先頭から前記運転バッファの空き容量分、該運転バッファに転送する第1転送手段と、前記転送手段によって転送されたNCプログラムの最後のアドレスまたは転送されなかった最初のアドレスを記憶するアドレス記憶手段と、現在実行中のNCプログラムの運転が終了したときに、次に運転するNCプログラムを前記アドレス記憶手段に記憶されたアドレスに基づいて前記運転バッファに転送する第2転送手段とを備えたところに特徴を有する。
また、上記構成の場合、前記NCプログラムは、メインプログラムとメインプログラムから呼び出されるサブプログラムとから構成されるものであって、前記プログラム容量算出手段は、前記メインプログラムの容量と前記サブプログラムの容量との総和を算出するように構成されていることが好ましい。
更に、前記NCプログラムのプログラム番号とサブプログラム番号とを記憶する記憶手段と、前記第1転送手段によってNCプログラムを運転バッファに転送する際、前記サブプログラムのプログラム番号と、該サブプログラム番号の先頭アドレスを対応付けたプログラム管理データを前記記憶手段に記憶させるプログラム管理データ作成手段とを備えることがより一層好ましい構成である。
本発明の他の数値制御装置は、運転するNCプログラムをハードディスク等の記憶装置から運転バッファに転送して加工運転を実行するように構成されると共に、パレットの旋回動作と工具交換動作を並列動作で実行するように構成されたものにおいて、次パレットのNCプログラム番号を入力する入力手段と、前記入力手段によってNCプログラム番号の入力が完了したことを検出する完了信号検出手段と、前記運転バッファの空き容量を算出する空き容量算出手段と、前記完了信号検出手段によって次に運転するNCプログラム番号の入力の完了を検出したときに、現在実行中の加工パレットの加工と並列動作で、次に運転するNCプログラムの容量を算出するプログラム容量算出手段と、前記空き容量算出手段によって算出される前記運転バッファの空き容量よりも、前記プログラム容量算出手段によって算出されるNCプログラムの容量が大きい場合に、該NCプログラムの先頭から前記運転バッファの空き容量分、該運転バッファに転送する第1転送手段と、前記転送手段によって転送されたNCプログラムの最後のアドレスまたは転送されなかった最初のアドレスを記憶するアドレス記憶手段と、最初の工具交換動作に対応するNCプログラムが転送されたか否かを判断する転送判断手段と、最初の工具交換動作に対応するNCプログラムが転送されている場合には、現在の加工パレットの加工が終了したときに、パレットの旋回動作と最初の工具交換動作を並列動作で実行する実行手段と、現在の加工パレットの加工が終了したときに、最初の工具交換動作に対応するNCプログラムが転送されている場合には、パレットの旋回動作並びに最初の工具交換動作と並列動作で、次に運転するNCプログラムを前記アドレス記憶手段に記憶されたアドレスに基づいて前記運転バッファに転送する第2転送手段とを備えたところに特徴を有する。
本発明は、完了信号検出手段によって次に運転するNCプログラム番号の入力の完了を検出したときに、プログラム容量算出手段により、現在実行中の加工と並列動作で、次に運転するNCプログラムの容量を算出し、空き容量算出手段によって算出される運転バッファの空き容量よりも、プログラム容量算出手段によって算出されるNCプログラムの容量が大きい場合に、第1転送手段により、該NCプログラムの先頭から前記運転バッファの空き容量分、該運転バッファに転送するように構成したので、運転するNCプログラムを切り替えるときに、NCプログラムを運転バッファに転送する際に要する時間を短縮することができるという効果を奏する。
以下、本発明の一実施例である数値制御装置について、図面を参照しながら説明する。本実施例の数値制御装置(NC装置)1は、図2に示す工作機械2に接続されて、該工作機械2を数値制御するものである。この工作機械2は、パレットに取り付けられたワークを主軸3に取り付けられたドリルやタップ等の工具4で加工するものである。
上記工作機械2は、XY軸移動装置5,Z軸移動装置6,主軸回転装置7,工具交換装置8,パレット交換装置9等から構成されている。XY軸移動装置5は、X軸モータ10とY軸モータ11とをそれぞれ駆動源とし、工具4をワークに対して主軸の方向(以下、Z軸方向という。図2中において、上下方向と一致する)に直角なX軸方向とY軸方向とにそれぞれ相対的に移動させる。Z軸移動装置6は、Z軸モータ12を駆動源とし、工具4をワークに対してZ軸方向に相対的に移動させる。
主軸回転装置7は、主軸モータ13を駆動源として主軸3を回転させ、これにより工具4を回転させる。工具交換装置8は、マガジンモータ14により旋回させられる工具マガジン15を有し、多数の工具4を工具マガジン15の複数の工具ポットにおいて着脱自在に収納保持し、それら工具4の一つを主軸3に装着するための工具交換可能な位置への割出しを行う。更に、工具交換装置8は、主軸3から工具4を外して工具マガジン15に戻した後、上記割り出された工具4を主軸3に装着する。
パレット交換装置9は、パレット交換モータ(以下、単にC軸モータという)16を駆動源として水平なテーブル17をZ軸に平行な軸線の回りに間欠的に回転させるものであり、テーブル17を180度ずつ回転させることにより、そのテーブル17の、回転軸線に関して対称な2部分のうち図2において左側の部分である第1パレット(加工パレット)18と右側の部分である第2パレット(加工パレット)19とのそれぞれの位置を交互に交換するものである。
図2に示す状態の場合、第1パレット18は、作業者により開閉可能な扉20を経て作業者によるワークの着脱が行われる着脱位置にあり(以降、着脱位置にあるパレットを、外側パレットと称す)、第2パレット19は、工具4によるワークの加工が行われる加工位置にある(以降、加工位置にあるパレットを、内側パレットと称す)。この状態で、テーブル17が180度だけ回転させられることにより、第1パレット18は加工位置に、第2パレット19は着脱位置にそれぞれ移動させられることになる。
上記構成の場合、パレット交換装置9をワーク交換装置と称しても良く、また、工作機械2のうちのパレット交換装置9を除く部分をワーク加工装置と称しても良い。
さて、数値制御装置1は、図2に示すように、工作機械2の後部に取り付けられている。この数値制御装置1について、図1に示すブロック図を参照して説明する。数値制御装置1は、コンピュータを主体として構成されており、図1に示すように、複数のCPU、即ち、第1のCPU21と第2のCPU22を備えている。
第1のCPU21は、数値制御のNCプログラムを管理する制御を実行するものであり、この第1のCPU21には、RAM23と、不揮発メモリ24と、RAM25と、リムーバブルディスク26とが接続されている。RAM23には、一時的な演算の中間データを保持(記憶)させる。不揮発メモリ24は、フラッシュメモリ等で構成された記憶装置であり、これには、第1のCPU21の制御プログラム(制御コード)と大量のNCプログラムを記憶(保有)させている。
リムーバブルディスク26は、着脱可能なハードディスクであり、記憶装置を構成しており、これには、ユーザーが新たに作成した大量のNCプログラムを記憶させておくことができる。第1のCPU21の転送処理によって、リムーバブルディスク26内のユーザーのNCプログラムを不揮発メモリ24へ転送する。
また、RAM25は、第1のCPU21と第2のCPU22との双方からリード・ライト可能なRAMであり、このRAM25は、第1のCPU21と第2のCPU22のデータのやり取りに使用される。特に、上記RAM25内には、運転するNCプログラムを転送して記憶させておく領域、即ち、運転バッファの領域が確保されている。上記RAM25が、記憶手段及びアドレス記憶手段を構成している。
第1のCPU21は、不揮発メモリ24内のNCプログラムの中から、運転するNCプログラムを選び出しRAM25内の運転バッファへ転送する機能を有している。上記第1のCPU21が、空き容量算出手段、プログラム容量算出手段、第1転送手段及び第2転送手段としての各機能を有している。
一方、第2のCPU22は、数値制御装置1の運転全般を制御する機能を有しており、RAM25の運転バッファ内のNCプログラムを解析し、動力系の信号へ変換し出力する制御を実行する。この第2のCPU22が、転送判断手段及び実行手段としての各機能を有している。上記第2のCPU22には、上記RAM25の他に、RAM27と、ROM28と、動力系IF29と、外部入出力IF30とが接続されている。
RAM27には、一時的な演算の中間データが記憶(保持)され、ROM28には、第2のCPU22の制御プログラム(制御コード)が記憶されている。動力系IF29には、XYZ軸の各モータ10、11、12や、主軸モータ13や、工具交換用のマガジンモータ14や、パレット交換モータ16等が接続されている(図1にはこれらのモータを図示していない)。
外部入出力IF30には、ワーク交換機構35と、NCプログラムスケジュール装置36とが接続されている。そして、外部入出力IF30は、外側起動スイッチ31と、次プログラム番号入力端子32と、次プログラムready端子33と、次プログラム要求端子34とを有している。上記外部入出力IF30が、入力手段及び完了信号検出手段としての各機能を有している。
外側起動スイッチ31は、ワーク交換機構35により、外側パレットにおいて加工済のワークの取り外し作業と新しいワークの取り付け作業が終了すると、その旨を示すために、例えばONされるようになっている。尚、ワーク交換機構35は、作業者またはロボット等で構成されている。
次プログラム番号入力端子32には、NCプログラムスケジュール装置36から、次に運転するNCプログラムのNCプログラム番号を示すデータ(NCプログラム番号を入力可能なbit数のデータ)が入力可能なように構成されている。次プログラムready端子33は、NCプログラムスケジュール装置36から、次に運転するNCプログラムのNCプログラム番号を示すデータの上記次プログラム番号入力端子32への入力が完了したとき、そのことを示すために、例えばONされる(ON信号が入力される)ようになっている。
また、次プログラム要求端子34は、NCプログラムスケジュール装置36に対して、次プログラム番号入力端子32へ次に運転するプログラム番号の入力と、次プログラムready端子33のセット(ON)を要求するときに、例えばONされる(ON信号が出力される)ように構成されている。尚、NCプログラムスケジュール装置36は、外部のシーケンサ等の機器で構成しても良いし、数値制御装置1の内部に設けるように構成しても良い。
次に、上記した構成の数値制御装置1の動作について、図3ないし図16を参照しながら説明する。
図3及び図4のフローチャートは、第2のCPU22の運転の制御内容を示しており、最初に、運転するNCプログラムの取得、及び、運転するNCプログラム番号の取得についての制御を行なう。
まず、図3のステップS201において、始めに運転するべきNCプログラムを求めるため、後述する図5の制御動作(第2のCPU22の制御のうち、図3、4の内の「“次プログラム要求”の出力」が発生してから、並列処理する制御)を起動(稼動)させる。尚、このステップS201は、電源を入れてから1回目の運転の前に実行されるだけである。
この後、「プログラム番号取得」フラグがON(図5のステップS308参照)するまで待つ(ステップS202)。
そして、「プログラム番号取得」のフラグがONしたら(ステップS202にてYES)、「プログラム転送完了」フラグがOFFのときだけ(ステップS202にてNO)、運転するNCプログラム番号と共に、「プログラム転送」フラグをONしたことを、RAM25を介して第1のCPU21へ伝達する(ステップS204)。
その後、外側起動スィッチ31がONするまで待つ(ステップS205)。通常の加工サイクル(加工を連続して行う)では、内側パレットで加工している間に、ワーク交換機構35により、ワークの取替えが行われ、外側起動スィッチ31がONとなるように工程が実行されるので、ここでの待ち時間は無い。
次に、外側起動スィッチ31がONしていれば(ステップS205にてYES)、並列動作命令(特開平5−313719号公報参照)が設定されているかを判断する(ステップS206)。ここで、並列動作命令の設定が無い場合(ステップS206にてNO)には、準備された外側パレットを加工装置へ移動させるため、パレット交換装置9の旋回要求を、図示しないパレットの制御動作へ出力する(ステップS213)。
これに対して、並列動作命令の設定が有る場合(ステップS206にてYES)、「並列動作転送完了」フラグがON(図5のステップS306、図7のステップS507、図11のステップS906参照)されるのを待つ(ステップS207)。尚、並列動作命令とは、NCプログラム内にある、パレット交換装置9の旋回と同時動作を行う命令のことで、予め数値制御装置1に登録しておく。多くは、NCプログラムの先頭から最初に行われる工具交換命令(NCプログラム上の“M6”コード)を登録することが多い。
上記「並列動作転送完了」フラグがONしたら、NCプログラムを1ブロック読み込み、運転バッファ上のNCプログラムの<読み込み位置>を、読み込んだブロックの終端の次アドレスへ設定する(ステップS208)。
尚、<読み込み位置>とは、第2のCPU22が運転バッファから1ブロック読み込むとき(図3のステップS208、図4のステップS218参照)、読むべきブロックの先頭アドレスのことである。ステップS205を実行開始してから、最初のブロックを読む際には、図12に示すプログラム管理データの一番上のNCプログラムの親プログラムのアドレス(図12のA0(A列0行))を参照し、そこが初期の<読み込み位置>となる。プログラム管理データは、RAM25内に設けられており、図12に示すような形態に構成されている。
プログラム管理データのAの列には、運転するNCプログラム番号が入っている。また、一番上の行(0行)には、運転するNCプログラムの親プログラムが入り、Bの列には、運転バッファ内の親プログラムの絶対位置のアドレスが入る。2番目の行以降は、運転するNCプログラムのサブプログラムが入り、Aの列には、サブプログラムの番号、Bの列には運転バッファ内の親プログラム先頭からみて、おのおののサブプログラムの先頭への相対アドレスが入る。また、最後の行(T行)のA列には、サブプログラムも含めたNCプログラム全ての総文字数が、B列には、最初の並列動作命令があるブロックの先頭アドレスが入っている。
次に、前ブロックの動作完了を得る(S211の動作が終了する、ただし、S205を開始して1回目は動作完了とする)まで待つ(ステップS209)。前ブロックの動作が完了した場合(ステップS209にてYES)、ステップS208にて読んだブロックが並列動作命令であるか否かを判断する(ステップS210)。ここで、並列動作命令でない場合(ステップS210にてNO)には、ブロックの命令に従った動作の開始を、即ち、図示しない、おのおのの制御動作の実行を指示する(ステップS211)。
一方、ステップS208で読んだブロックが並列動作命令であるならば(ステップS210にてYES)、パレット交換装置9の旋回の開始と、並列動作命令の開始を指示する、即ち、おのおのの制御動作の実行を指示する(ステップS212)。
続いて、図4のステップS214へ進み、ステップS204で要求した「プログラム転送」の要求の完了信号である「プログラム転送完了」フラグがON(図5のステップS306、図7のステップS507、図11のステップS908参照)するまで待つ。つまり、第2のCPU22がステップS203からステップS212の処理を行っている間に、第1のCPU21が「プログラム転送」の要求に応える処理を実行することとなる。
そして、「並列動作転送完了」フラグ、「プログラム番号の取得」フラグ、「プログラム転送完了」フラグをすべてOFFし、次のパレット(ステップS212、S213で外側へ搬出した外側パレット)用のNCプログラムの取得状態を初期化する(ステップS215)。
続いて、外側パレットが加工位置に移動して、ワークを加工するときに運転するNCプログラムを求めるために、後述する図5の制御動作を起動させる(ステップS216)。
そして、NCプログラムの次の<読み込み位置>が運転バッファ内にあるか否かを判断する(ステップS217)。ここで、次の<読み込み位置>が運転バッファ内にある場合(ステップS217にてYES)、NCプログラムを1ブロック読み込み、<読み込み位置>をブロックの終端の次アドレスへ設定する(ステップS218)。尚、ステップS205を実行開始してからステップS213までを実行した後、最初のブロックを読む際には、プログラム管理データ(図12参照)の一番上の親プログラムのアドレスを参照し、そこが<読み込み位置>となる。
次に、前ブロック(指示された1つ前の制御動作、S213、S212ないしS221で指示された動作)が動作完了(動作終了)するまで待つ(ステップS219)。前ブロックの動作が完了した場合(ステップS219にてYES)、ステップS218で読んだブロックがプログラムエンド命令であるか否かを判断する(ステップS220)。ここで、プログラムエンド命令の場合(ステップS220にてYES)には、次のパレットの運転を開始する、即ち、図3のステップS202へ戻る(遷移する)。
また、ステップS218で読んだブロックの命令が、プログラムエンド命令以外である場合(ステップS220にてNO)、ブロックの命令に従った動作の開始をおのおのの制御動作へ指示し、ワークに加工を施す(ステップS221)。この後、現在運転をしているNCプログラムがテープ運転であるか否かを判断し、テープ運転でなければ(ステップS222にてNO)、ステップS217へ戻り、処理を繰り返し実行する。
また、上記ステップS220において、ステップS218で読んだブロックの命令が、サブプログラムへの遷移命令の場合、プログラム管理データ上のプログラム番号に対応する、アドレス(図12のB列)を読み込み、親プログラムのアドレス(図12の0行A列の値)から加算した位置(リングバッファを加味した位置)に<読み込み位置>を更新する。
また、サブプログラムへの遷移命令のとき、その元の<読み込み位置>をRAM25へスタックしておき、その後、親プログラムに戻る指令の場合には、スタックしたものを<読み込み位置>に戻す。ここにおいて、サブプログラムが、プログラム管理データ上に無い場合には、<読み込み位置>が領域内にないとし、ステップS217へ戻った際、<読み込み位置>が運転バッファ内に無い(ステップS217にてNO)となる。
そして、読み込むブロックが運転バッファ内に無い場合(ステップS217にてNO)、及び、テープ運転の場合(ステップS222にてYES)、ステップS223へ進み、「プログラム領域」フラグをONして、第1のCPU21に対して、サブプログラムの要求の場合には、サブプログラムの要求と共に、転送して欲しいサブプログラム番号を、RAM25を介して伝達し、テープ運転の場合には、転送されていない部分の転送の要求と共に、開放してよい運転バッファの領域を、RAM25を介して伝達する。
次に、図5のフローチャートは、図3及び図4の制御とは別に第2のCPU22で並列稼動(処理)する制御の内容を示している。ここでの並列処理とは、第2のCPU22の処理資源を、リアルタイムOSなどにより、図3及び図4の制御と図5の処理とを短い時間間隔で分割して行い実現すれば良い。この図5の制御は、図3のステップS201及び図4のステップS216を開始トリガとして、起動されて実行される。
即ち、図3のステップS201及び図4のステップS216から起動された直後、NCプログラムスケジュール装置36に対して、次プログラム要求端子34をONする(ステップS301)。続いて、“次プログラムready”端子33がONされる(ON信号あり)まで待つ(ステップS302)。これに対して、NCプログラムスケジュール装置36は、次プログラム要求端子34のONを受けて、次に運転するべきNCプログラムのNCプログラム番号を次プログラム番号入力端子32に出力する共に、次プログラムready端子33をONする。
すると、第2のCPU22においては、上記次プログラムready端子33のONを受けて、ステップS302にてYESへ進み、次プログラム番号入力端子32を読み取り(ステップS303)、次プログラム要求端子34をOFFする(ステップS304)。これに対して、NCプログラムスケジュール装置36は、次プログラム要求端子34のOFFを受けて、次プログラムready端子33をOFFする。
この後、第2のCPU22においては、ステップS303で得たプログラム番号が、既に親プログラムとして、運転バッファに登録(転送)されているかどうか判断する(ステップS305)。ここで、プログラム管理データは、RAM25上にパレットの数(2つ)だけ存在し、テープ運転の場合を除き、運転バッファのプログラム管理データに登録されているNCプログラムが上書きされた場合、プログラム管理データも第1のCPU21によって初期化される。よって、プログラム管理データを参照すれば、運転バッファ内にNCプログラムが存在するか否かを判断できる。例えば、両パレットのNCプログラムが運転バッファに全て収まっている場合、パレット毎のNCプログラム番号が変わらない限り、運転バッファに登録されたままとなる。
さて、次に運転するNCプログラムが既に運転バッファにある場合(ステップS305にてYES)には、「並列動作転送完了」フラグと「プログラム転送完了」フラグとをONする(ステップS306)。
一方、運転バッファに登録されていない場合(ステップS305にてNO)には、「並列動作転送完了」フラグと「プログラム転送完了」フラグとをOFFし、「次プログラム準備」フラグをONし、ステップS303で得たプログラム番号と共に、「次プログラム準備」フラグのONを、RAM25を介して第1のCPU21に伝達する(ステップS307)。続いて、ステップS308へ進み、最後に、「プログラム番号取得フラグ」をONして図5の制御を終了する(ステップS308)。
さて、図6のフローチャートは、第1のCPU21の制御の内容を示すものであり、特には、第2のCPU22から、ステップS204の「プログラム転送」フラグのON、ステップS223の「プログラム領域」フラグのON、及び、ステップS307の「次プログラム準備」フラグのON、即ち、「プログラム転送」、「プログラム領域」、及び、「次プログラム準備」の各要求がRAM25を介して第1のCPU21に伝達されたかどうかを定常的に監視し、要求に応えるように動作する制御を示している。
まず、ステップS401において、「プログラム転送」フラグがONしているか否かを判断する。ここで、「プログラム転送」フラグがONしていれば、即ち、「プログラム転送」要求があれば(ステップS401にてYES)、後述する図7のサブルーチンを実行する(ステップS404)。尚、図7のサブルーチンの実行が完了すると、ステップS401へ戻る。
続いて、「プログラム転送」フラグがONしていなければ(ステップS401にてNO)、「プログラム領域」フラグがONしているか否かを判断する(ステップS402)。ここで、「プログラム領域」フラグがONしていれば、即ち、「プログラム領域」要求があれば(ステップS402にてYES)、図8のサブルーチンを実行する(ステップS405)。尚、図8のサブルーチンの実行が完了すると、ステップS401へ戻る。
そして、「プログラム領域」フラグがONしていなければ(ステップS402にてNO)、「次プログラム準備」フラグがONしているか否かを判断する(ステップS403)。ここで、「次プログラム準備」フラグがONしていれば、即ち、「次プログラム準備」要求があれば(ステップS403にてYES)、図9のサブルーチンを実行する(ステップS406)。尚、図9のサブルーチンの実行が完了すると、ステップS401へ戻る。
次に、図7のフローチャートで示すサブルーチンについて、即ち、第2のCPU22からの「プログラム転送」要求に応える第1のCPU21の制御について説明する。
まず、図7のステップS501においては、ステップS204によってセットされたNCプログラム番号(親プログラム番号)をRAM25から得る。続いて、上記ステップS501で得た親プログラム番号に対応する<解析終了>フラグがOFFしているか否かを判断する(ステップS502)。
ここで、<解析終了>フラグがOFFしていれば(ステップS502にてYES)、プログラムの解析を行う、即ち、後述する図10のサブルーチンを実行する(ステップS511)。<解析終了>フラグは、親プログラムの番号毎に保有(確保)されている。また、<解析終了>フラグがONしている親プログラムは、RAM23、RAM25、不揮発メモリ24のいずれかに、対応するプログラム管理データが保有(作成)されている。尚、一度、図10の制御が実行されると、<解析終了>フラグがON(図10のステップS811参照)し、第2のCPU22が使用するRAM25上のプログラム管理データを作成すると共に、前記バックアップデータへも複写する。また、図示しないが、対応するプログラム管理データ上のNCプログラムの1つが、中身が変更されたときや、対応するプログラム管理データが初期化されたときなどに、<解析終了>フラグがOFFされ、対応するプログラム管理データのバックアップデータも削除されるようになっている。
一方、ステップS502において、上記ステップS501で得た親プログラム番号に対応する<解析終了>フラグがONしていれば(ステップS502にてNO)、現在の<転送位置>を得る(ステップS503)。ここで、<転送位置>とは、第1のCPU21が次にNCプログラムを転送する運転バッファの位置を示すアドレスのことである。
続いて、ステップS504へ進み、サブプログラムを含めた全てのNCプログラムが運転バッファに転送されているか否かを判断する。この場合、既に転送したNCプログラムの文字数と、プログラム管理データ上にあるNCプログラム全ての総文字数とを比較して、同じであれば、全てのNCプログラムが運転バッファに転送されたと判断する。
そして、ステップS511のプログラム解析後(図10のサブルーチンを実行した後)、または、NCプログラムの転送が全て終わっていない(ステップS504にてYES)の場合、ステップS505へ進み、<転送位置>から、可能な限り(プログラム管理データのアドレスの1つ前まで)、続きのNCプログラムを運転バッファに転送する。尚、ここで全てを転送できない場合は、テープ運転のときのみである。
続いて、<転送位置>を、ステップS505で運転バッファに転送した最終番地の次のアドレスとするように更新する(ステップS506)。
そして、「プログラム転送」フラグと「プログラム領域」フラグをOFFし、「プログラム転送完了」フラグと「並列動作転送完了」フラグをONし、「プログラム転送」処理の完了を第2のCPU22へ伝達する(ステップS507)。これにより、図7のサブルーチンを終了し、呼び出しステップへ戻るようになっている。
尚、上記ステップS504において、NCプログラムの転送が全て終わっている(ステップS504にてNO)場合も、上記ステップS507へ進む。
次に、図10のサブルーチン(NCプログラム解析処理)について説明する。この図10のサブルーチンは、次に運転するNCプログラムが、テープ運転か、内部メモリ運転かを判断し、対応するプログラム管理データを作成する制御(第1のCPU21の制御)である。
まず、ステップS801において、親プログラムのサイズと、運転バッファを比較する。ここで、親プログラムのサイズよりも運転バッファが大きい場合(ステップS801にてYES)、ステップS802へ進み、NCプログラムを解析し、NCプログラム内に記述されてある全てのサブプログラム番号を抽出する。
この場合、図13に示すように、NCプログラム内にあるサブプログラムコード(M98)を探し出し、対応するNCプログラム番号(Pのあとの数字)をサブプログラムとして抽出する。また、抽出されたサブプログラムについても、また同様にして、その内部にあるサブプログラムコード(M98)を探し出し、孫プログラムを抽出していくように構成されている。
続いて、ステップS803へ進み、抽出されたサブプログラム全てを含むNCプログラム容量(総プログラム容量)と、運転バッファを比較する。ここで、運転バッファが総プログラム容量より小さい場合(ステップS803にてNO)、並びに、運転バッファが親プログラムのサイズより小さい場合(ステップS801にてNO)、ステップS807へ進み、親プログラムだけのプログラム管理データをRAM25上に作成し、親プログラム番号のみをプログラム管理データに登録し、プログラム管理データのバックアップデータとして、RAM23、RAM25、不揮発性メモリ24のいずれかに複写する。そして、このNCプログラムについてはテープ運転とする(ステップS808)。
一方、抽出された全てのNCプログラムが運転バッファに入る場合(ステップS803にてYES)、全てのNCプログラム番号と、ファイルをつなげた形で、親プログラムからそれぞれのNCプログラムの先頭番地の差と、全てのNCプログラムの総文字数をRAM25上のプログラム管理データに登録し、プログラム管理データのバックアップデータとして、RAM23、RAM25、不揮発性メモリ24のいずれかに複写する(ステップS805)。そして、このNCプログラムについては内部メモリ運転とする(ステップS806)。
続いて、並列動作命令の設定が有るか否かを判断する(ステップS809)。ここで、並列動作命令の設定が有る場合(ステップS809にてYES)、親プログラム先頭から、最初の並列動作命令をサーチし、その位置を、プログラム管理データの一番最後の枠のアドレスに、先頭からの差分位置を登録する(ステップS810)。このとき、プログラム管理データのバックアップデータ側へも登録する。そして、解析終了フラグをONする(ステップS811)。これにて、図10のサブルーチンを終了し、呼び出しステップへ戻る。
次に、図8のフローチャートで示すサブルーチンについて、即ち、第2のCPU22からの「プログラム領域」要求に応える第1のCPU21の制御について説明する。
まず、図8のステップS601においては、要求情報を得る、具体的には、ステップS223によってセットされた転送して欲しいサブプログラム番号や開放領域を、RAM25から読み込んで獲得し、また、ステップS506(またはステップS607)でセットされた<転送位置>を得る。
続いて、ステップS602へ進み、要求が、テープ運転更新であるか否かを判断する。ここで、テープ運転更新以外、つまり、サブプログラム更新の場合(ステップS602にてNO)、運転バッファの例外領域に要求されたサブプログラムを転送する(ステップS605)。
上記例外領域とは、運転バッファ内に予め別領域として確保する領域であり(図14参照)、パラメータなどでその量を設定できる。通常は、内部メモリ運転において動的にサブプログラム番号が確定するような構文を組んだり、テープ運転においてサブプログラグラムの遷移命令があったときに、このエリアにサブプログラムを転送して行う。
一方、要求が、テープ運転更新である場合、即ち、テープ運転の続きのプログラムが要求されている場合(ステップS602にてYES)、ステップS603へ進み、全ての転送が完了した(送るデータが無くなった)かどうかを判断する。
ここで、全ての転送が完了していない場合(ステップS603にてNO)には、開放領域に、<転送位置>からNCプログラム(NCプログラムの続き)を書き込む(ステップS606)。尚、ステップS605またはステップS606を実行した後は、<転送位置>を更新する、即ち、<転送位置>を、ステップS605またはステップS606で転送した最終番地の次アドレスとする(ステップS607)。
一方、上記ステップS603において、全ての転送が完了した場合(ステップS603にてYES)、図11のサブルーチンを実行し、次パレットのNCプログラムを転送する(ステップS611)。そして、「プログラム領域」フラグをOFFする(ステップS608)。これにより、上記サブルーチンを終了し、呼び出しステップへ戻るようになっている。
次に、図11のサブルーチン(プログラム転送処理)について説明する。この図11のサブルーチンは、次パレットのNCプログラムを運転バッファへ転送する制御(第1のCPU21の制御)である。
まず、ステップS901において、<転送位置>を読み込んで得る。続いて、現在運転しているNCプログラムが消えないように、運転バッファの空き容量を計算する(ステップS902)。そして、運転バッファの空き容量に次のプログラムを可能な限り転送し(ステップS903)、空き容量の最後の次の位置を<転送位置>として記憶する(ステップS904)。また、このとき、RAM25に転送するNCプログラムに対応するプログラム管理データが無い場合には、RAM23、RAM25、不揮発メモリ24のプログラム管理データのバックアップデータから、RAM25のプログラム管理データへ複写する。また、RAM25のプログラム管理データに、転送するNCプログラムに対応する親プログラムのアドレス(図12のA0(A列0行))が登録されていない場合には、転送を始めた<転送位置>を、プログラム管理データの親プログラムのアドレス(図12のA0(A列0行))へ書き込む。
続いて、ステップS905へ進み、並列動作命令の設定が有るか否かを判断する。ここで、並列動作命令の設定が有る場合(ステップS905にてYES)、ステップS903の転送処理において、並列動作命令が転送されたか否かを判断して、転送されているならば、「並列動作転送完了」フラグをONする(ステップS906)。
この後、ステップS907へ進み、NCプログラムを全て転送できたか否かを判断する。ここで、NCプログラムを全て転送できた場合(ステップS907にてYES)、「プログラム転送完了」フラグをONする(ステップS908)。これにより、図11のサブルーチンを終了し、呼び出しステップへ戻る。
次に、図9のフローチャートで示すサブルーチンについて、即ち、第2のCPU22からの「次プログラム準備」要求に応える第1のCPU21の制御について説明する。
まず、図9のステップS701においては、ステップS305によってセットされた次のパレットの親プログラム番号をRAM25から読む。続いて、上記ステップS701で得た親プログラム番号に対応する<解析終了>フラグがOFFしているか否かを判断する(ステップS702)。ここで、<解析終了>フラグがOFFしていれば(ステップS702にてYES)、プログラムの解析を行う、即ち、前述した図10のサブルーチンを実行する(ステップS711)。
そして、ステップS703へ進み、現行運転がテープ運転であるか否かを判断する。ここで、現行運転が内部メモリ運転の場合(ステップS703にてNO)、次パレットのNCプログラムを転送する、即ち、前述した図11のサブルーチンを実行する(ステップS712)。
この後、ステップS704へ進み、「次プログラム準備」フラグをOFFする。これにより、サブルーチンを終了し、呼び出しステップへ戻るようになっている。
次に、図14を用いて、運転バッファの構成の流れを説明する。図14中の左部に示すような形態のNCプログラムが、図14中の中央部に示すように、現在の運転バッファに入る。そして、図5のステップS307において、「次プログラム準備」フラグがONすると、第1のCPU21は、次の運転バッファの先頭部(次に運転するNCプログラムの先頭部)を書き込む。
運転が終了すると、次の運転バッファが現在の運転バッファとなり、続いて、図3のステップS203において、「プログラム転送」がONすると、図4のステップS214までの間に、図14中の右部に示すように、現在の運転バッファの続きをセット(残りのNCプログラムを転送)する。
そして、運転バッファの次部に、同様にして、「次プログラム準備」フラグが再びONすると、次の運転バッファの先頭部(次に運転するNCプログラムの先頭部)を書き込む。以下、同様の動作を繰り返すようになっている。
次に、図15に、内部メモリ運転を実行する場合において、パレットの旋回動作(並列動作命令である工具交換動作)と、第2のCPU22による主運転の動作(図3及び図4の各フローチャートの制御)と、第2のCPU22による並列運転の動作(図5のフローチャートの制御)と、第1のCPU21による運転の動作(図6〜図11の各フローチャートの制御)と、NCプログラムスケジュール装置36の動作との間の時系列な関係を示す。
この図15から、現在実行中の加工(第2のCPU22によるステップS219,S217〜223、時刻T1〜T2)と、運転バッファの空き容量よりも次に運転するNCプログラムの容量が大きい場合に、該NCプログラムの先頭から運転バッファの空き容量分、該運転バッファに転送する処理(第1のCPU21によるS701〜702,S810〜811,S703〜704,S901〜908、時刻t1〜t2)とが並列動作で実行されていることがわかる。尚、時刻T1、T2、t1、t2は、時系列で並べると、T1<t1<t2<T2となる。
また、現在実行中のNCプログラムの運転が終了したときに(第2のCPU22によるステップS202、S203〜206、時刻T3)、次に運転するNCプログラムを、転送されたNCプログラムの最後のアドレスまたは転送されなかった最初のアドレスに基づいて運転バッファに転送する処理(第1のCPU21によるS501〜507、時刻t3〜t4)と、時刻t1〜t2間で、並列動作転送完了している場合に、プログラム先頭から並列動作命令とパレット旋回動作までの処理(第2のCPU22によるS208〜S212及び、並列動作開始とパレット旋回動作開始による実動作、時刻T3〜T4)とが並列動作で実行されていることがわかる。尚、パレット旋回時間よりもt3〜t4間が短い為、時刻T3、T4、t3、t4は、時系列で並べると、T3≦t3<t4<T4となる。
一方、図16A、図16Bに、テープ運転を実行する場合において、パレットの旋回動作(並列動作命令である工具交換動作)と、第2のCPU22による主運転の動作(図3及び図4の各フローチャートの制御)と、第2のCPU22による並列運転の動作(図5のフローチャートの制御)と、第1のCPU21による運転の動作(図6〜図11の各フローチャートの制御)と、NCプログラムスケジュール装置36の動作との間の時系列な関係を示す。
上記図16Aから、現在実行中の加工(第2のCPU22によるステップS219,S217〜223、時刻T’1〜T’2)と、次に運転するNCプログラムを解析する処理(第1のCPU21によるS701〜702,S810〜811,S703〜704、時刻t’1〜t’2)とが並列動作で実行されていることがわかる。
更に、テープ運転の実行中に運転するNCプログラムが全て転送され、運転バッファに開放部分が発生したときに(第2のCPU22によるステップS223、時刻T’11、T’12、T’13)、運転バッファの開放部分に次に運転するNCプログラムを転送する処理(第1のCPU21によるS601〜603,S901〜908、S608,時刻t’11〜t’12、t’13〜t’14、t’15〜t’16)とが並列動作で実行されていることがわかる。尚、上記した各時刻を時系列で並べると、T’1<t’1<t’2<T’11<t’11<t’12<T’12<t’13<t’14<T’13<t’15<t’16<T’2となる。
また、現在実行中のNCプログラムの運転が終了したときに(第2のCPU22によるステップS202、S203〜206、時刻T’3)、次に運転するNCプログラムを、転送されたNCプログラムの最後のアドレスまたは転送されなかった最初のアドレスに基づいて運転バッファに転送する処理(第1のCPU21によるS501〜507、時刻t’3〜t’4)が実行される。尚、上記各時刻を時系列で並べると、T’3≦t’3<t’4となる。
このような構成の本実施例によれば、次に運転するNCプログラム番号の入力の完了を検出したときに、現在実行中の加工と並列動作で、次に運転するNCプログラムの容量を算出し、運転バッファの空き容量よりも、上記NCプログラムの容量が大きい場合に、該NCプログラムの先頭から運転バッファの空き容量分、該運転バッファに転送するように構成したので、運転するNCプログラムを切り替えるときに、NCプログラムを運転バッファに転送する際に要する時間を極力短縮することができ、生産性を高めることが可能になる。
また、上記実施例の場合、NCプログラムを、メインプログラムとメインプログラムから呼び出されるサブプログラムとから構成し、プログラム容量を算出するに際して、メインプログラムの容量とサブプログラムの容量との総和を算出するように構成したので、内部メモリ運転またはテープ運転のいずれかを選択するときに、正確に選択することができる。
更に、上記実施例では、NCプログラムのプログラム番号とサブプログラム番号とを記憶する記憶手段を備えると共に、NCプログラムを運転バッファに転送する際に、サブプログラムのプログラム番号と、該サブプログラム番号の先頭アドレスを対応付けたプログラム管理データを前記記憶手段に記憶させるプログラム管理データ作成手段を備える構成としたので、メインプログラムからサブプログラムを呼び出すときに、プログラム管理データを参照することにより、時間的遅延なく、次の読み込み番地を決定することが可能となる。
また、上記実施例においては、パレットの旋回動作と並列動作命令である最初の工具交換動作を並列動作で実行するように構成し、次パレットのNCプログラム番号の入力が完了したことを検出したときに、現在実行中の加工パレットの加工と並列動作で、次に運転するNCプログラムの容量を算出し、運転バッファの空き容量よりも上記NCプログラムの容量が大きい場合に、該NCプログラムの先頭から運転バッファの空き容量分、該運転バッファに転送するように構成したので、回転テーブル機において、運転するNCプログラムを切り替えるときに(パレットを交換するときに)、NCプログラムを運転バッファに転送する際に要する時間を短縮できる。
更に、上記実施例では、最初の工具交換動作に対応するNCプログラムが転送されている場合には、現在の加工パレットの加工が終了したときに、パレットの旋回動作と最初の工具交換動作を並列動作で実行し、加えて、パレットの旋回動作並びに最初の工具交換動作と並列動作で、次に運転するNCプログラムを転送されたNCプログラムの最後のアドレスまたは転送されなかった最初のアドレスに基づいて運転バッファに転送するように構成したので、NCプログラムを運転バッファに転送する際に要する時間をより一層短縮することができる。
尚、上記実施例においては、第1のCPU21と、第2のCPU22との間を、RAM25を介して接続するように構成したが、これに限られるものではなく、第1のCPU21と第2のCPU22間を通信手段で繋ぎ、RAM25は第2のCPU22に接続し、通信手段により、データ転送するように構成し、第1のCPU21が第2のCPU22を介して間接的に読み書きするように構成しても良い。
本発明の一実施例を示す数値制御装置のブロック図 工作機械の側面図 第2のCPUの主運転の制御のフローチャート(その1) 第2のCPUの主運転の制御のフローチャート(その2) 第2のCPUの並列運転の制御のフローチャート 第1のCPUの運転の制御のフローチャート 第1のCPUのサブルーチンのフローチャート 第1のCPUの他のサブルーチンのフローチャート 第1のCPUの他のサブルーチンのフローチャート 第1のCPUの他のサブルーチンのフローチャート 第1のCPUの他のサブルーチンのフローチャート プログラム管理データを説明する図 NCプログラムの親プログラム、子プログラム、孫プログラムの関係を説明する図 NCプログラムを運転バッファに転送するときの動作を説明する図 パレット、第1のCPU、第2のCPU等の各動作の時系列な関係を示すタイムチャート(内部メモリ運転の場合) パレット、第1のCPU、第2のCPU等の各動作の時系列な関係を示すタイムチャート(テープ運転の場合(その1)) パレット、第1のCPU、第2のCPU等の各動作の時系列な関係を示すタイムチャート(テープ運転の場合(その2))
符号の説明
図面中、1は数値制御装置、2は工作機械、3は主軸、4は工具、8は工具交換装置、9はパレット交換装置、15は工具マガジン、16はパレット交換モータ、17はテーブル、18は第1パレット(加工パレット)、19は第2パレット(加工パレット)、21は第1のCPU、22は第2のCPU、23はRAM、24は不揮発メモリ、25はRAM(記憶手段)、26はリムーバブルディスク、27はRAM、28はROM、29は動力系IF、30は外部入出力IF、31は外側起動スイッチ、32は次プログラム番号入力端子、33は次プログラムready端子、34は次プログラム要求端子、35はワーク交換機構、36はNCプログラムスケジュール装置を示す。

Claims (4)

  1. 工作機械で運転するNCプログラムをハードディスク等の記憶装置から運転バッファに転送して加工運転を実行するように構成された数値制御装置において、
    次に運転するNCプログラム番号を入力する入力手段と、
    前記入力手段によってNCプログラム番号の入力が完了したことを検出する完了信号検出手段と、
    前記運転バッファの空き容量を算出する空き容量算出手段と、
    前記完了信号検出手段によって次に運転するNCプログラム番号の入力の完了を検出したときに、現在実行中の加工と並列動作で、次に運転するNCプログラムの容量を算出するプログラム容量算出手段と、
    前記空き容量算出手段によって算出される前記運転バッファの空き容量よりも、前記プログラム容量算出手段によって算出されるNCプログラムの容量が大きい場合に、該NCプログラムの先頭から前記運転バッファの空き容量分、該運転バッファに転送する第1転送手段と、
    前記転送手段によって転送されたNCプログラムの最後のアドレスまたは転送されなかった最初のアドレスを記憶するアドレス記憶手段と、
    現在実行中のNCプログラムの運転が終了したときに、次に運転するNCプログラムを前記アドレス記憶手段に記憶されたアドレスに基づいて前記運転バッファに転送する第2転送手段とを
    備えたことを特徴とする数値制御装置。
  2. 前記NCプログラムは、メインプログラムとメインプログラムから呼び出されるサブプログラムとから構成されるものであって、前記プログラム容量算出手段は、前記メインプログラムの容量と前記サブプログラムの容量との総和を算出することを特徴とする請求項1に記載の数値制御装置。
  3. 前記NCプログラムのプログラム番号とサブプログラム番号とを記憶する記憶手段と、前記第1転送手段によってNCプログラムを運転バッファに転送する際、前記サブプログラムのプログラム番号と、該サブプログラム番号の先頭アドレスを対応付けたプログラム管理データを前記記憶手段に記憶させるプログラム管理データ作成手段とを備えたことを特徴とする請求項2に記載の数値制御装置。
  4. 運転するNCプログラムをハードディスク等の記憶装置から運転バッファに転送して加工運転を実行するように構成されると共に、パレットの旋回動作と工具交換動作を並列動作で実行するように構成された数値制御装置において、
    次パレットのNCプログラム番号を入力する入力手段と、
    前記入力手段によってNCプログラム番号の入力が完了したことを検出する完了信号検出手段と、
    前記運転バッファの空き容量を算出する空き容量算出手段と、
    前記完了信号検出手段によって次に運転するNCプログラム番号の入力の完了を検出したときに、現在実行中の加工パレットの加工と並列動作で、次に運転するNCプログラムの容量を算出するプログラム容量算出手段と、
    前記空き容量算出手段によって算出される前記運転バッファの空き容量よりも、前記プログラム容量算出手段によって算出されるNCプログラムの容量が大きい場合に、該NCプログラムの先頭から前記運転バッファの空き容量分、該運転バッファに転送する第1転送手段と、
    前記転送手段によって転送されたNCプログラムの最後のアドレスまたは転送されなかった最初のアドレスを記憶するアドレス記憶手段と、
    最初の工具交換動作に対応するNCプログラムが転送されたか否かを判断する転送判断手段と、
    最初の工具交換動作に対応するNCプログラムが転送されている場合には、現在の加工パレットの加工が終了したときに、パレットの旋回動作と最初の工具交換動作を並列動作で実行する実行手段と、
    現在の加工パレットの加工が終了したときに、最初の工具交換動作に対応するNCプログラムが転送されている場合には、パレットの旋回動作並びに最初の工具交換動作と並列動作で、次に運転するNCプログラムを前記アドレス記憶手段に記憶されたアドレスに基づいて前記運転バッファに転送する第2転送手段とを
    備えたことを特徴とする数値制御装置。
JP2006292733A 2006-10-27 2006-10-27 数値制御装置 Active JP4882666B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006292733A JP4882666B2 (ja) 2006-10-27 2006-10-27 数値制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006292733A JP4882666B2 (ja) 2006-10-27 2006-10-27 数値制御装置

Publications (2)

Publication Number Publication Date
JP2008108205A true JP2008108205A (ja) 2008-05-08
JP4882666B2 JP4882666B2 (ja) 2012-02-22

Family

ID=39441489

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006292733A Active JP4882666B2 (ja) 2006-10-27 2006-10-27 数値制御装置

Country Status (1)

Country Link
JP (1) JP4882666B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009116528A (ja) * 2007-11-05 2009-05-28 Toyota Motor Corp 生産指示装置
CN109416530A (zh) * 2017-07-26 2019-03-01 深圳配天智能技术研究院有限公司 一种从设备的输入输出控制方法、主控设备以及数控系统
CN111913439A (zh) * 2019-05-08 2020-11-10 发那科株式会社 加工控制系统和加工系统
CN112801503A (zh) * 2021-01-26 2021-05-14 上海金山纸业有限公司 一种待加工区位分配方法及辅助装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009116528A (ja) * 2007-11-05 2009-05-28 Toyota Motor Corp 生産指示装置
CN109416530A (zh) * 2017-07-26 2019-03-01 深圳配天智能技术研究院有限公司 一种从设备的输入输出控制方法、主控设备以及数控系统
CN109416530B (zh) * 2017-07-26 2021-07-09 深圳配天智能技术研究院有限公司 一种从设备的输入输出控制方法、主控设备以及数控系统
CN111913439A (zh) * 2019-05-08 2020-11-10 发那科株式会社 加工控制系统和加工系统
JP2020184179A (ja) * 2019-05-08 2020-11-12 ファナック株式会社 加工制御システム及び加工システム
CN112801503A (zh) * 2021-01-26 2021-05-14 上海金山纸业有限公司 一种待加工区位分配方法及辅助装置
CN112801503B (zh) * 2021-01-26 2022-08-19 上海金山纸业有限公司 一种待加工区位分配方法及辅助装置

Also Published As

Publication number Publication date
JP4882666B2 (ja) 2012-02-22

Similar Documents

Publication Publication Date Title
JP4119372B2 (ja) 数値制御方法及び数値制御システム
US8195911B2 (en) Numerical controller capable of dividing and combining memory areas to store machining programs and binary data
JPS62277244A (ja) 工作機械の適応制御装置
JP4882666B2 (ja) 数値制御装置
EP1471404A2 (en) Numerical control apparatus for machine tool
JP4480770B2 (ja) 加工再開機能を有する数値制御装置
WO2022034848A1 (ja) 数値制御システム及びロボット制御方法
CN109696879B (zh) 数值控制装置
JPH09212227A (ja) 数値制御装置によって制御され運転される機械における運転情報設定方法
JP2010044489A (ja) 加工再開機能を有する数値制御装置
US11320800B2 (en) Optimization device
JP2007233624A (ja) 工作機械の数値制御装置
JP2006099284A (ja) 数値制御装置
JP2009053823A (ja) 加工シミュレーション装置
JPH0288139A (ja) 工具交換装置
JP4112433B2 (ja) 工作機械の数値制御装置と工作機械の数値制御方法
JP2000089813A (ja) 加工プログラム編集方法および工作機械の制御装置
US10671053B2 (en) Numerical controller and machine tool system
JP4549051B2 (ja) 工作機械の軸制御装置、工作機械の軸制御プログラム
JPH02151909A (ja) 産業用機械の制御装置
JP2019168804A (ja) 加工プログラム編集装置
JPH0772845B2 (ja) Ncデ−タ作成装置
WO2022196622A1 (ja) 数値制御装置
JPH11202917A (ja) 加工データの管理方法およびnc装置
JPS6319007A (ja) 数値制御装置におけるデ−タ伝送方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090911

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100826

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111108

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111121

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141216

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4882666

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150