JP5579347B1 - 数値制御装置 - Google Patents

数値制御装置 Download PDF

Info

Publication number
JP5579347B1
JP5579347B1 JP2014515731A JP2014515731A JP5579347B1 JP 5579347 B1 JP5579347 B1 JP 5579347B1 JP 2014515731 A JP2014515731 A JP 2014515731A JP 2014515731 A JP2014515731 A JP 2014515731A JP 5579347 B1 JP5579347 B1 JP 5579347B1
Authority
JP
Japan
Prior art keywords
program
machining
call source
partial
sub
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.)
Active
Application number
JP2014515731A
Other languages
English (en)
Other versions
JPWO2015107637A1 (ja
Inventor
祐樹 若山
正一 嵯峨崎
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP5579347B1 publication Critical patent/JP5579347B1/ja
Publication of JPWO2015107637A1 publication Critical patent/JPWO2015107637A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4155Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Programmable Controllers (AREA)

Abstract

独立して動作可能な複数の系統を備える多系統の機械の制御を実行する数値制御装置において、複数の部分プログラムを有する加工プログラムを記憶するプログラム記憶部と、前記系統毎に並列して前記部分プログラムを実行するプログラム解析部と、を備え、前記プログラム解析部は、前記部分プログラムの中のプログラム呼出元系統番号変数を抽出し、前記部分プログラムの間の呼び出し関係に基づいて、呼び出し元となる前記部分プログラムの前記系統の番号を前記プログラム呼出元系統番号変数にセットし、前記プログラム呼出元系統番号変数を含んだ前記部分プログラムは、前記プログラム呼出元系統番号変数の値に基づいて前記機械の動作を変更するように記載されている。

Description

本発明は、複数の系統に対して系統毎に制御を行う数値制御装置に関する。
複合加工として多系統の加工を行う場合には、加工プログラム中で、別の加工プログラムをサブプログラムとして呼び出して加工を行ったり、サブ系統として別の系統で加工プログラムを呼び出して加工を行うことが可能である。
例えば、特許文献1においては、指定された運転モードや系統を取得してシステム変数の値を設定し、設定した値に応じて一部の処理が異なる複数の実行モードや複数の系統の処理がプログラムされた加工プログラムの実行を行うことが可能であるとされている。
特開平8−63221号公報
しかしながら、上記従来の技術によれば、サブプログラム又はサブ系統プログラム内で呼出元のメイン系統を取得する手段がない、すなわち、サブプログラム又はサブ系統プログラム内で、その加工プログラムが、どのメイン系統又はサブ系統から呼び出されたかを取得する手段がなかった。
そのため、サブプログラム又はサブ系統プログラム内でメイン系統に応じて一部の処理が異なる加工プログラムの実行を行うことができないという問題があった。そして、サブプログラム又はサブ系統プログラム内で、呼出元の系統に応じて動作を変えたい場合、それができず、呼出元の系統に応じて専用の加工プログラムを用意しなければならないという問題があった。
本発明は、上記に鑑みてなされたものであって、異なる系統から同一の加工プログラムをサブプログラム又はサブ系統プログラムとして呼び出しても、呼出元の系統に応じて、異なる動作を実行できる数値制御装置を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、独立して動作可能な複数の系統を備える多系統の機械の制御を実行する数値制御装置において、複数の部分プログラムを有する加工プログラムを記憶するプログラム記憶部と、前記系統毎に並列して前記部分プログラムを実行するプログラム解析部と、を備え、前記プログラム解析部は、前記部分プログラムの中のプログラム呼出元系統番号変数を抽出し、前記部分プログラムの間の呼び出し関係に基づいて、呼び出し元となる前記部分プログラムの前記系統の番号を前記プログラム呼出元系統番号変数にセットし、前記プログラム呼出元系統番号変数を含んだ前記部分プログラムは、前記プログラム呼出元系統番号変数の値に基づいて前記機械の動作を変更するように記載されていることを特徴とする。
本発明にかかる数値制御装置によれば、サブプログラム又はサブ系統プログラムが、どの系統から呼び出されたかをチェックし、加工プログラムの動作を変えることができる。また、系統毎に準備していた加工プログラムを一つの系統に纏めることが可能で、加工プログラムの使用容量を低減することができるという効果を奏する。
図1は、本発明の実施の形態にかかる数値制御装置(NC(Numerical Control)装置)の構成を示すブロック図である。 図2は、本発明の実施の形態にかかる数値制御装置で用いるプログラム呼出元系統番号変数指令を説明するための図である。 図3は、本発明の実施の形態にかかる数値制御装置でプログラム呼出元系統番号変数指令Aの使用例を説明するための加工プログラムの一例を示す図である。 図4は、図3に示した加工プログラムを実行した場合の動作処理手順を示すフローチャートである。 図5は、図3に示した加工プログラムによる加工動作の様子を示した図である。 図6は、本発明の実施の形態にかかる数値制御装置でプログラム呼出元系統番号変数指令Bの使用例を説明するための加工プログラムの一例を示す図である。 図7は、図6に示した加工プログラムを実行した場合の動作処理手順を示すフローチャートである。 図8は、図6に示した加工プログラムによる加工動作の様子を示した図である。 図9は、本発明の実施の形態にかかる数値制御装置でプログラム呼出元系統番号変数指令Cの使用例を説明するための加工プログラムの一例を示す図である。 図10は、図9に示した加工プログラムを実行した場合の動作処理手順を示すフローチャートである。 図11は、図9に示した加工プログラムによる加工動作の様子を示した図である。 図12は、図9の加工プログラムがどの系統で呼び出されるかを表した図である。
以下に、本発明の実施の形態に係る数値制御装置を図面に基づいて詳細に説明する。なお、これらの実施の形態によりこの発明が限定されるものではない。
実施の形態.
図1は、本発明の実施の形態にかかるNC(Numerical Control)装置(数値制御装置)1の構成を示すブロック図である。NC装置1は、独立して動作させることができる複数の系統を備える多系統の機械の制御を行う装置である。NC装置1は、メモリ2、プログラム解析部3、補間処理部4、画面処理部5、機械制御信号処理部6、PLC7、入力制御部8、および軸データ出力部9を備えている。
入力制御部8は、入力操作部20に接続されている。入力制御部8は、入力操作部20がオペレータによって操作されると、スイッチ信号等の変化や加工プログラムの編集・パラメータの変更等を検知する。入力制御部8は、検知した内容に基づいて、メモリ2内の各部にアクセスしてメモリ2が記憶する情報を書き換える処理や読み出す処理等を行う。入力操作部20は、マウスやキーボードなどを備えて構成されている。
メモリ2は、加工プログラム記憶部10、パラメータ記憶部11、画面表示データ記憶部12、共有エリア13を有している。加工プログラム記憶部10は、ワーク(被加工物)の加工に用いる加工プログラムを記憶する。加工プログラムには、ワークを加工するのに必要な、機械の動作内容や刃物の移動経路等が、NC装置1で解読できるフォーマットで記述されている。本実施の形態の加工プログラム記憶部10は、系統毎の加工プログラムを記憶しておく。
パラメータ記憶部11は、被加工物の加工に用いるパラメータを記憶する。パラメータ記憶部11に記憶されているパラメータには、NC装置1の仕様を決定するデータや、機械制御に必要な条件データ等が含まれている。
画面表示データ記憶部12は、画面に表示するデータを記憶する。画面表示データ記憶部12は、入力操作部20でオペレータに指定された、工具などの現在位置に関する情報、主軸の回転位置に関する情報、NC装置1の制御モード、各種選択信号の出力状態等、種々のデータを記憶している。共有エリア13は、加工プログラムの解析に必要な一時的なデータや、機械動作を制御中のシステム制御に必要な一時的なデータなどを記憶する。
画面処理部5は、表示部21に接続されている。画面処理部5は、画面表示データ記憶部12内のデータを読み取り、表示部21にデータ表示を行なわせる。表示部21は、画面処理部5によって指示されたデータを表示する液晶モニタなどの表示装置である。
プログラム解析部3は、加工プログラム記憶部10に記憶されている加工プログラムのうち、入力操作部20で指定された加工プログラムを先頭から順次読み出す。プログラム解析部3は、各種NC指令毎に指定された処理手順に従って、加工プログラムを解析し実行していく。プログラム解析部3は、解析処理中のデータ等を共有エリア13に一時記憶させながら加工プログラムを解析し、解析結果に基づいてワークの加工を実行する。本実施の形態のプログラム解析部3は、系統毎に加工プログラムを解析して系統毎に並列して処理を実行する。
加工プログラムは、複数の部分プログラムを備えている。ここで、部分プログラムとは、メイン系統プログラム、サブプログラム、およびサブ系統プログラムなどの加工プログラムの一部となるプログラムである。これらの部分プログラムは一方が他方を読み出す関係を有している。この読み出し関係は、メイン系統プログラムがサブ系統プログラムを呼び出し、さらにそのサブ系統プログラムが別のサブ系統プログラムを呼び出すという階層的な関係となっている場合もある。
ここで、サブプログラムは、読み出し元の部分プログラムにとってはサブルーチンに相当し、読み出し元の部分プログラムとシーケンシャル(直列的)に実行される。従って、サブプログラムと読み出し元の部分プログラムとは同一のプロセスで実行される。すなわち、サブプログラムと読み出し元の部分プログラムとは同一の系統としてシーケンシャルに処理される。
これに対して、サブ系統プログラムは読み出し元の部分プログラムによって新たなプロセスとして別系統の動作として起動された部分プログラムである。従って、サブ系統プログラムと読み出し元の部分プログラムとは別のプロセスとしてパラレル(並列的)に実行される。すなわち、サブ系統プログラムと読み出し元の部分プログラムとは別の系統として並列的に処理される。
また、本実施の形態にかかるプログラム解析部3は、プログラム呼出元系統番号解析手段14、メイン系統・サブ系統番号チェック手段15を有する。プログラム呼出元系統番号解析手段14は、系統毎に加工プログラムを解析することによって、呼び出されたプログラム中のプログラム呼出元系統番号変数を抽出して、プログラム呼出元系統番号変数を解析する。プログラム呼出元系統番号解析手段14は、サブプログラム・サブ系統プログラムの呼出元系統番号をメイン系統・サブ系統番号チェック手段15を用いて解析する。メイン系統・サブ系統番号チェック手段15は、サブプログラム・サブ系統プログラムの呼出元の部分プログラムの系統の番号を、プログラム呼出元系統番号変数が示すプログラム呼出元系統番号変数指令に基づいて読み出す。プログラム呼出元系統番号変数指令は、サブプログラム・サブ系統プログラム内において、呼出元の系統によって、異なる動作をさせたい場合に用いる加工プログラム内の指令(データ)である。
補間処理部4は、各軸(1軸目〜n軸目(nは自然数))に対し、加工プログラムから求められる相対移動量に直線や円弧等の補間処理を行なう。補間処理部4は、補間処理を行った相対移動量を、出力データとして、軸データ出力部9に送る。
軸データ出力部9は、各軸の主軸アンプ18およびサーボアンプ19に、補間処理された相対移動量を入力する。主軸アンプ18は、補間処理された相対移動量に応じた駆動電力を、主軸モータ16に出力することによって、主軸モータ16に加工を行なわせる。サーボアンプ19は、補間処理された相対移動量に応じた駆動電力を、サーボモータ17に出力することによって、サーボモータ17に加工を行なわせる。
プログラム解析部3がメモリ2に出力した機械周辺装置の制御に関する情報を読み取る機械制御信号処理部6は、プログラム解析部3が読み取った情報をPLC(Programmable Logic Controller)7に出力してラダー回路に制御情報を与える。また、機械制御信号処理部6は、PLC7からNC装置1の各処理部へ入力される制御用の信号や機械側から入力される外部信号を、メモリ2内の共有エリア13に書き込む。これにより、機械制御信号処理部6は、制御用の信号や外部信号を、NC装置1の制御に作用させる。この結果、NC装置1および機械への制御が正しく進行することとなる。
つぎに、本実施の形態にかかるNC装置1で用いるプログラム呼出元系統番号変数指令について説明する。図2はプログラム呼出元系統番号変数指令を説明するための図である。プログラム呼出元系統番号変数指令は、次の3種類の指令がある。
プログラム呼出元系統番号変数指令A:サブプログラム・サブ系統プログラムの呼出元のメイン系統番号を、プログラム呼出元系統番号変数にセットする指令。すなわち、部分プログラムが階層的に呼び出されている場合に、階層的な呼び出し関係における最初の呼び出し元となる部分プログラムの系統番号を、プログラム呼出元系統番号変数にセットする。
プログラム呼出元系統番号変数指令B:サブ系統の呼出元系統番号をプログラム呼出元系統番号変数にセットする指令。すなわち、プログラム呼出元系統番号変数を含む部分プログラムを直接呼び出している部分プログラムの系統番号を、プログラム呼出元系統番号変数にセットする。
プログラム呼出元系統番号変数指令C:メイン系統からサブ系統が呼び出され、さらにサブ系統が呼ばれた場合など、何重かにサブ系統が呼ばれた場合、呼出順に呼出元系統番号をプログラム呼出元系統番号変数にセットする指令。すなわち、部分プログラムが階層的に呼び出されている場合に、階層的に呼び出している呼び出し元となる部分プログラムの系統番号の全てを、プログラム呼出元系統番号変数に呼び出し順にセットする。
プログラム呼出元系統番号変数指令Aは、図2の#3904のように、サブ系統で指令した場合、呼出元のメイン系統番号がセットされる。#3904には、呼出元のメイン系統が系統1の場合は1がセットされ、呼出元のメイン系統が系統2の場合は2がセットされる。このようにサブ系統内で同じ変数指令を行っても、呼出元のメイン系統に応じて、セットされる値が異なる。
プログラム呼出元系統番号変数指令Bは、図2の#3905のように、サブ系統で指令した場合、サブ系統の呼出元の系統番号がセットされる。#3905には、呼出元のサブ系統が系統4の場合は4がセットされ、呼出元のサブ系統が系統5の場合は5がセットされる。また、サブプログラムとして呼び出されたプログラム内で指令した場合、#3905の値は0となる。
プログラム呼出元系統番号変数指令Cは、図2の#3906のように、メイン系統からサブ系統を呼び出して、さらにそのサブ系統からサブ系統を呼び出すといった、何重かにネスティングして呼び出した場合、呼出順がわかるように呼出元の系統番号がセットされる。たとえば、図2のように、系統1(メイン系統)→系統4(サブ系統)→系統3(サブ系統)という順で呼び出した場合、#3906には14がセットされる。また、系統2(メイン系統)→系統5(サブ系統)→系統6(サブ系統)という順で呼び出した場合、#3906には25がセットされる。
このように、プログラム呼出元系統番号変数指令A〜Cは呼出元の系統に応じて、セットされる値が異なる。そのため、プログラム呼出元系統番号変数指令で取得した値を参照することで、呼出元の系統に応じて動作を変えることができる。
図3は、本発明の実施の形態にかかる数値制御装置でプログラム呼出元系統番号変数指令Aの使用例を説明するための加工プログラムの一例を示す図である。図4は、図3に示した加工プログラム32の動作処理手順を示したフローチャートである。
図5は、図3に示した加工プログラムによる加工動作の様子を示した図である。すなわち、図5は、図3に示した加工プログラム32の呼出元のメイン系統番号に応じて、加工プログラム32による加工動作が変わることを示している。
加工プログラム32はサブ系統プログラムとして呼ばれる加工プログラムで、プログラム呼出元系統番号変数指令を用いて、呼出元のメイン系統に応じて、動作が異なる。
加工プログラム32が呼び出されると、図4のフローチャートに示す順に処理を行う。加工プログラム32は図3に示すように、メイン系統が系統1の場合、系統1からサブ系統として、系統3が呼び出され、さらに系統3からサブ系統として呼び出された系統4で運転する。加工プログラム32はメイン系統が系統2の場合、系統2からサブ系統として、系統5が呼び出され、さらに系統5からサブ系統として呼び出された系統6で運転する。
加工プログラム32が呼び出されると、処理P1で変数#100にはプログラム呼出元系統番号変数#3904の値がセットされる(ステップS101)。メイン系統が系統1の場合、#3904には1がセットされているので、#100には1がセットされる。一方、呼出元のメイン系統が系統2の場合、#3904には2がセットされているので、#100には2がセットされる。
ステップS102では、#100=1であるか否かが判定される処理P2が実行される。処理P1で#100にセットされる値が1の場合、処理P2の判定条件#100=1が真となるため(ステップS102:Yes)、処理P5〜P8が実行される(ステップS103)。処理P5はN100ブロックを示し、処理P6で工具番号1の工具を選択し、処理P7でX=4.0へ移動する。
処理P1で#100にセットされる値が2の場合、処理P2の判定条件#100=1が偽となり(ステップS102:No)、ステップS104に進む。ステップS104では、#100=2であるか否かが判定される処理P3が実行される。処理P1で#100にセットされる値が2の場合は、処理P3の判定条件#100=2が真となるため(ステップS104:Yes)、処理P9〜P11が実行される(ステップS105)。処理P9はN200ブロックを示し、処理P10で工具番号2の工具を選択し、処理P11でX=2.0へ移動する。
ステップS103とステップS105の後は、N300ブロックを示す処理P12を実行し(ステップS106)、処理P13,P14で工具の退避などの共通動作を行う(ステップS107)。
ステップS104で、#100=2でない場合(ステップS104:No)は、ステップS108に進み処理P4が実行される。
ステップS107とステップS108の後は、ステップS109に進み処理P15が実行され、終了する。
このように、加工プログラム32では共通プログラム内に、メイン系統が系統1の場合の独自動作、メイン系統が系統2の場合の独自動作をそれぞれ記述し、動作を変えている。独自動作は、図5の(a)に示すように、メイン系統が系統1の場合(#100の値が1の場合)、処理P6で工具番号1の工具を選択し、処理P7でワーク径が4.0mmとなるように位置制御指令を行っている。
一方、図5の(b)に示すように、メイン系統が系統2の場合(#100の値が2の場合)、処理P10で工具番号2の工具を選択し、処理P11でワーク径が2.0mmとなるように位置制御指令を行っている。そのため、加工プログラム32は、加工プログラムの呼出元のメイン系統が系統1の場合は、ワーク径が4.0mmとなる加工を行い、加工プログラムの呼出元のメイン系統が系統2の場合、ワーク径が2.0mmとなる加工を行う。
このように、プログラム呼出元系統番号変数指令Aを用いることで、同じ加工プログラムでも、呼出元のメイン系統に応じて動作を変えることができ、サブプログラムを共通化することができる。
図6は、本発明の実施の形態にかかる数値制御装置でプログラム呼出元系統番号変数指令Bの使用例を説明するための加工プログラムの一例を示す図である。図7は、図6に示した加工プログラム35の動作手順を示したフローチャートである。
図8は、図6に示した加工プログラムによる加工動作の様子を示した図である。すなわち、図8は、図6に示した加工プログラム35を呼び出す系統が、加工プログラム35をサブ系統プログラムまたはサブプログラムのどちらとして呼び出したか、に応じて動作が変わることを示している。
加工プログラム35は、図6に示すように、メイン系統からサブプログラム、またはサブ系統プログラムとして呼ばれる加工プログラムで、呼び出された系統がメイン系統かサブ系統かに応じて、動作が異なる。
加工プログラム35が呼び出されると、図7のフローチャートに示す順に処理を行う。処理P16で変数#100にはプログラム呼出元系統番号変数#3905の値がセットされる(ステップS201)。メイン系統から、サブ系統プログラムとして呼び出された場合、#3905には1がセットされるので、#100には呼出元の系統番号の1がセットされる。一方、呼出元の系統から、サブプログラムとして呼び出された場合は、プログラム呼出元系統番号変数#3905には0がセットされるため、#100には0がセットされる。
ステップS202では、#100=0であるか否かが判定される処理P17が実行される。処理P16で#100にセットされる値が1の場合、処理P17の判定条件#100=0が偽となり(ステップS202:No)、ステップS203〜S206を実行してからN100ブロックを実行する。つまり、処理P16で#100にセットされる変数が非0の場合、処理P18〜P21の処理(ステップS203〜S206)を実行してから処理P22以降(ステップS207,S208)を実行する。処理P16で#100にセットされる値が0の場合、処理P17の判定条件#100=0は真となり(ステップS202:Yes)、P18〜P21の処理を行わずに、共通処理P22以降(ステップS207,S208)が実行される。
加工プログラム35は、図8に示すように、#100の値に応じて、次のように動作する。図8の(a)に示すように、呼出元の系統が、加工プログラムをサブ系統プログラムとして呼出した場合(#100の値が1の場合)は、処理P18でメイン主軸と背面主軸の主軸同期モードをONし、処理P19で背面主軸の逆転コマンドをON、処理P20で主軸同期完了のためのドウェル2秒を実行し、処理P21で背面主軸のチャックを閉じる。処理P18〜P21により、切削を行う前に、背面主軸で長尺ワークを支える。背面主軸で長尺ワークを支えてから加工することで、たわみなどを避け、長尺ワークの加工用のプログラムとして用いることができる。
一方、図8の(b)に示すように、呼出元系統が、加工プログラム35をサブプログラムとして呼び出した場合(#100の値が0の場合)は、処理P18〜21は行われないため、背面主軸でワークを支える必要がない、短尺ワークの加工用プログラムとして用いることができる。処理P23,P24は共通動作であり、処理P23で加工位置まで移動し、処理P24で15.0mmの溝加工を行う。
このように、プログラム呼出元系統番号変数指令Bを用いることで、同じ加工プログラムでも、その加工プログラムがサブ系統プログラムとして呼ばれるか、サブプログラムとして呼ばれるかに応じて動作を変えることができ、サブプログラムを共通化することができる。
図9は、本発明の実施の形態にかかる数値制御装置でプログラム呼出元系統番号変数指令Cの使用例を説明するための加工プログラムの一例を示す図である。図10は、図9に示した加工プログラム40の動作手順を示したフローチャートである。図11は、図9に示した加工プログラムによる加工動作の様子を示した図である。すなわち、図11は図9に示した加工プログラム40の動作が、加工プログラムの呼出順に応じて変わることを示している。図12は、図9の加工プログラムがどの系統で実行されるかを示した図である。
加工プログラム36は、はじめにコモン変数#500と#501を初期化する(処理P25,26)。次に、切削油をONする(処理P84)。その後、#500=1の条件を満たすまで、処理P27〜P30を繰り返し実行する。処理P28では、メイン主軸の加工を行う加工プログラムをサブ系統で呼び出し、処理P29では背面主軸の加工を行う加工プログラムをサブ系統で呼び出す。処理P30に達すると、処理P27に処理が戻る。処理P27〜P30の繰り返しの処理が終わると、切削油をOFFする(処理P85)。
加工プログラム37は、はじめに外径加工を行う加工プログラムをサブ系統で呼び出し(処理P31)、次に内径加工を行う加工プログラムをサブ系統で呼び出す(処理P32)。
加工プログラム38は、外径加工を行う加工プログラムである。また、加工プログラム39は内径加工を行う加工プログラムである。呼出元の系統が系統3の場合、加工プログラム38はメイン主軸の外径加工を実行し、加工プログラム39はメイン主軸の内径加工を実行する。一方、呼出元の系統番号が系統6の場合、加工プログラム38は背面主軸の外径加工を実行し、加工プログラム39は背面主軸の内径加工を実行する。
加工プログラム38では、最初に変数#100にプログラム呼出元系統番号変数#3905の値がセットされる(処理P33)。加工プログラム38の呼出元の系統が系統3の場合、#3905には3がセットされるため、#100の値は3になり、処理P34の判定条件#100=3が真となるため、メイン主軸の外径加工の処理(処理P36〜P40)を実行する。処理P36はN100ブロックを示し、処理P37で工具番号1の工具を指定し、処理P38でX=80.0に工具を移動、処理P39でメイン主軸の外径加工を行い、処理P40でN300ブロックへ処理を移動する。加工プログラム38の呼出元の系統が系統6の場合処理P34の判定条件#100=3が偽、処理P35の判定条件#100=6が真となって、背面主軸の外径加工の処理(処理P41〜P44)を実行する。処理P41はN200ブロックを示し、処理P42で工具番号2の工具を選択し、処理P43でX=70.0に工具を移動、処理P44で背面主軸の外径加工を行う。処理P45,P46は共通処理となる。処理P45はN300ブロックを示し、処理P46で、加工プログラム38の呼出元の系統が系統3、系統6どちらの場合でも、加工プログラム40を呼び出す。
加工プログラム39では、最初に変数#100にプログラム呼出元系統番号変数#3905の値がセットされる(処理P47)。加工プログラム39の呼出元のサブ系統が系統3の場合、#3905には3がセットされるため、#100は3になり、処理P48の判定条件#100=3が真となるため、メイン主軸の内径加工の処理(処理P50〜P54)を実行する。処理P50はN100ブロックを示し、処理P51で工具番号3の工具を選択し、処理P52でZ=10.0まで移動し、処理P53でメイン主軸の内径加工を行い、処理P54でN300ブロックへ処理を移動する。加工プログラム39の呼出元のサブ系統が系統6の場合、#3905には6がセットされるため、#100は6になり、処理P48の判定条件#100=3が偽、処理P49の判定条件#100=6が真となるため、背面主軸の内径加工の処理(処理P55〜P58)を実行する。処理P55はN200ブロックを示し、処理P56で工具番号4の工具を選択し、処理57でZ=10.0に工具を移動、処理P58で背面主軸の内径加工を行う。処理P59、P60は共通処理となる。処理P59はN300ブロックを示し、処理P60で、加工プログラム39の呼出元のサブ系統が系統3、系統6どちらの場合でも、加工プログラム40を呼び出す。
加工プログラム40は次工程のワーク加工の準備を行う加工プログラムである。加工プログラム40は、加工プログラム40を呼び出すまでの系統の呼出順に応じて、次の4通りの動作を行う。
呼出順A:系統1(メイン系統)→系統3(サブ系統)→系統4(サブ系統)の場合、図11(a)に示すように、メイン主軸内径加工開始位置まで移動する(処理P68)。
呼出順B:系統1(メイン系統)→系統3(サブ系統)→系統5(サブ系統)の場合、図11(b)に示すように、背面主軸とワークの掴み換えを行い、外径加工の切削開始位置まで移動する(処理P71)。
呼出順C:系統1(メイン系統)→系統6(サブ系統)→系統4(サブ系統)の場合、図11(c)に示すように、背面主軸での内径加工の切削開始位置まで移動する(処理P74)。
呼出順D:系統1(メイン系統)→系統6(サブ系統)→系統5(サブ系統)の場合、図11(d)に示すように、工具を退避し、ローダで加工したワークを回収する(処理P77)。
図10に示すフローチャートの順に処理を行う。加工プログラム40では、処理P61でまず切削油をOFFする(ステップS301)。次に、処理P62で、変数#100にプログラム呼出元系統番号変数#3906がセットされる(ステップS302)。上に示した呼出順Aの場合、#3906には134がセットされる。そのため、#100には134がセットされる。ステップS303においては、#100=134であるか否かを判定する処理P63が実行される。従ってこの場合は、処理P63の判定条件#100=134が真(ステップS303:Yes)となり、処理P67〜P69(ステップS304〜S306)を実行する。処理P67はN100ブロックを示し、処理P68でメイン主軸内径加工開始位置まで移動し、処理P69でN500ブロックへ処理を移動する。
呼出順Bの場合、#3906は135がセットされる。そのため、#100には135がセットされるので、処理P63の判定条件#100=134が偽(ステップS303:No)となり、ステップS307に進む。ステップS307においては、#100=135であるか否かを判定する処理P64が実行される。従ってこの場合は、処理P64の判定条件#100=135が真(ステップS307:Yes)となり、処理P70〜P72(ステップS308〜S310)を実行する。処理P70はN200ブロックを示し、処理P71で背面主軸でワークの掴み換えと、外径加工の切削開始位置まで移動し、処理P72でN500ブロックへ処理を移動する。
呼出順Cの場合、#3906は164がセットされる。そのため、#100には164がセットされ、処理P63の判定条件#100=134が偽(ステップS303:No)、処理P64の判定条件#100=135が偽(ステップS307:No)となり、ステップS311に進む。ステップS311においては、#100=164であるか否かを判定する処理P65が実行される。従ってこの場合は、処理P65の判定条件#100=164が真(ステップS311:Yes)となり、処理P73〜P75(ステップS312〜S314)を実行する。処理P73はN300ブロックを示し、処理P74で背面主軸での内径加工の切削開始位置まで移動し、処理P75でN500ブロックへ処理を移動する。
呼出順Dの場合、#3906は165がセットされる。そのため、#100には165がセットされ、処理P63の判定条件#100=134が偽(ステップS303:No)、処理P64の判定条件#100=135が偽(ステップS307:No)、処理P65の判定条件#100=164が偽(ステップS311:No)となり、ステップS315に進む。ステップS315においては、#100=165であるか否かを判定する処理P66が実行される。従ってこの場合は、処理P66の判定条件#100=165が真(ステップS315:Yes)となり、処理P76、P77(ステップS316、S317)を実行する。処理P76はN400ブロックを示し、処理P77で工具を退避し、ローダで加工したワークを回収する。
また、処理P66の判定条件#100=165が偽(ステップS315:No)の場合も含め、呼出順A〜Dにかかわらず、ステップS306、S310、S314、およびS317の後は、共通処理P78〜P83(ステップS318〜S323)を実行する。
処理P78(ステップS318)はN500ブロックを示し、処理P79(ステップS319)では、切削油をONし、処理P80(ステップS320)では加工プログラム40が呼ばれた回数を#501の変数でカウントする。すなわち、#501を1インクリメントする。メイン主軸・背面主軸それぞれで、外径加工と内径加工を行う一連の加工で、加工プログラム40は4回呼ばれるため、カウンタの変数#501のカウンタ値は4加算される。
ステップS320の後はステップS321に進み、処理P81でカウンタの変数#501を4で割った値が100を超えないか否かが判定される。処理P81の判定条件においてカウンタの変数#501を4で割った値が100を超えないとき(ステップS321:Yes)、すなわち一連の加工を行った個数が100個未満のとき、真となり、N600ブロックへ処理を移動する(ステップS323)。処理P81の判定条件においてカウンタの変数#501を4で割った値が100を超えたとき(ステップS321:No)、すなわち一連の加工を行った個数が100個以上のとき、偽となって変数#500に1をセットし(ステップS322)、ステップS323に進む。ステップS322での処理により、加工プログラム36の処理P27での判定条件#500=1が真となり、加工が終了する。
図9の加工プログラムは、図12に示す4通りの呼出順で実行することになる。図12のように加工プログラム38と加工プログラム39は系統3と系統6の両系統から呼ばれる。また、加工プログラム40は系統4と系統5の両系統から呼ばれる。加工プログラム40で、上述した呼出順A〜Dに応じて動作を変える場合、加工プログラム40の呼出元の系統番号と、呼出元の系統の更に呼出元の系統番号が必要になる。
換言すると、加工プログラムを実行する系統の呼出順の情報が必要になる。このような場合にプログラム呼出元系統番号変数指令Cを用いることで、加工プログラムの呼出順を示した番号を得ることができる。これにより、系統の呼出順に応じて動作を変えたい処理を、プログラム呼出元系統番号変数指令Cに応じて個別に行えるようにすることが可能となり、サブプログラムを共通化することができる。
以上説明したように、本実施の形態にかかる数値制御装置においては、サブプログラム又はサブ系統プログラム内で呼出元のメイン系統を取得する手段を設けることにより、サブプログラム又はサブ系統プログラム内でメイン系統に応じて一部の処理が異なる加工プログラムの実行を行うことが可能となる。これにより、加工プログラムを構成する部分プログラムの共通化を図ることができる。
さらに、本願発明は上記実施の形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上記実施の形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施の形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。更に、異なる実施の形態にわたる構成要素を適宜組み合わせてもよい。
以上のように、本発明にかかる数値制御装置は、複合加工として多系統の加工を行う場合に有用であり、特に、加工プログラム中で、別の加工プログラムをサブプログラムとして呼び出して加工を行ったり、サブ系統として別の系統で加工プログラムを呼びだして加工を行う場合に適している。
1 NC装置、2 メモリ、3 プログラム解析部、4 補間処理部、5 画面処理部、6 機械制御信号処理部、9 軸データ出力部、10 加工プログラム記憶部、11 パラメータ記憶部、12 画面表示データ記憶部、13 共有エリア、14プログラム呼出元系統番号解析手段、15 メイン系統・サブ系統番号チェック手段、16 主軸モータ、17 サーボモータ、18 主軸アンプ、19 サーボアンプ、20 入力操作部、21 表示部、22〜40 加工プログラム、S101〜S109,S201〜S208,S301〜S323 ステップ。

Claims (4)

  1. 独立して動作可能な複数の系統を備える多系統の機械の制御を実行する数値制御装置において、
    複数の部分プログラムを有する加工プログラムを記憶するプログラム記憶部と、
    前記系統毎に並列して前記部分プログラムを実行するプログラム解析部と、
    を備え、
    前記プログラム解析部は、前記部分プログラムの中のプログラム呼出元系統番号変数を抽出し、前記部分プログラムの間の呼び出し関係に基づいて、呼び出し元となる前記部分プログラムの前記系統の番号を前記プログラム呼出元系統番号変数にセットし、
    前記プログラム呼出元系統番号変数を含んだ前記部分プログラムは、前記プログラム呼出元系統番号変数の値に基づいて前記機械の動作を変更するように記載されている
    ことを特徴とする数値制御装置。
  2. 前記プログラム解析部は、
    前記部分プログラムが階層的に呼び出されている場合に、最初の呼び出し元となる前記部分プログラムの前記系統の番号を、前記プログラム呼出元系統番号変数にセットする
    ことを特徴とする請求項1に記載の数値制御装置。
  3. 前記プログラム解析部は、
    前記プログラム呼出元系統番号変数を含む前記部分プログラムを直接呼び出している前記部分プログラムの前記系統の番号を、前記プログラム呼出元系統番号変数にセットする
    ことを特徴とする請求項1に記載の数値制御装置。
  4. 前記プログラム解析部は、
    前記部分プログラムが階層的に呼び出されている場合に、階層的に呼び出している呼び出し元となる前記部分プログラムの全ての前記系統の番号を、前記プログラム呼出元系統番号変数に呼び出し順にセットする
    ことを特徴とする請求項1に記載の数値制御装置。
JP2014515731A 2014-01-15 2014-01-15 数値制御装置 Active JP5579347B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/050595 WO2015107637A1 (ja) 2014-01-15 2014-01-15 数値制御装置

Publications (2)

Publication Number Publication Date
JP5579347B1 true JP5579347B1 (ja) 2014-08-27
JPWO2015107637A1 JPWO2015107637A1 (ja) 2017-03-23

Family

ID=51579123

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014515731A Active JP5579347B1 (ja) 2014-01-15 2014-01-15 数値制御装置

Country Status (4)

Country Link
JP (1) JP5579347B1 (ja)
CN (1) CN104937510B (ja)
DE (1) DE112014000400B4 (ja)
WO (1) WO2015107637A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106325219A (zh) * 2016-11-21 2017-01-11 德宸智能科技无锡有限公司 一种cnc加工程序调用装置及方法
JP6568152B2 (ja) 2017-06-30 2019-08-28 ファナック株式会社 数値制御装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0981222A (ja) * 1995-09-19 1997-03-28 Hitachi Seiki Co Ltd 数値制御工作機械における座標データ指定形式の切換方法
JP2001100993A (ja) * 1999-09-29 2001-04-13 Fujitsu Ltd サブルーチンリターン相当の命令の分岐予測を行う装置および方法
US20050201195A1 (en) * 2002-09-27 2005-09-15 Infineon Technologies Ag Processor for processing a program
JP2006277279A (ja) * 2005-03-29 2006-10-12 Nec Corp プログラム性能情報の採取方法及びその装置並びにプログラムへの性能情報採取機能追加方法及びその装置
JP2007148962A (ja) * 2005-11-30 2007-06-14 Fuji Xerox Co Ltd サブプログラム、そのサブプログラムを実行する情報処理装置、及びそのサブプログラムを実行する情報処理装置におけるプログラム制御方法
JP2008204410A (ja) * 2007-02-23 2008-09-04 Brother Ind Ltd 数値制御装置、制御プログラム及び記憶媒体

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56168223A (en) * 1980-05-28 1981-12-24 Fanuc Ltd Numerical value control system
EP0511814A1 (en) * 1991-05-01 1992-11-04 British United Shoe Machinery Limited Controlling the progressive operation of a tool along a predetermined path
JPH0863221A (ja) * 1994-08-23 1996-03-08 Mitsubishi Electric Corp 数値制御装置のプログラム生成方法
DE102005009026B4 (de) * 2005-02-28 2011-04-07 Advanced Micro Devices, Inc., Sunnyvale Verfahren zum Betreiben einer fortschrittlichen Prozesssteuerung durch dynamisches Anpassen von Hierarchieebenen
CN102591259B (zh) * 2012-03-02 2013-11-20 北京灿烂阳光科技发展有限公司 数控切割机自动控制方法
CN103064335B (zh) * 2012-12-31 2015-05-13 北京配天技术有限公司 一种数控系统的功能变更方法、运行方法及运动控制卡

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0981222A (ja) * 1995-09-19 1997-03-28 Hitachi Seiki Co Ltd 数値制御工作機械における座標データ指定形式の切換方法
JP2001100993A (ja) * 1999-09-29 2001-04-13 Fujitsu Ltd サブルーチンリターン相当の命令の分岐予測を行う装置および方法
US20050201195A1 (en) * 2002-09-27 2005-09-15 Infineon Technologies Ag Processor for processing a program
JP2006277279A (ja) * 2005-03-29 2006-10-12 Nec Corp プログラム性能情報の採取方法及びその装置並びにプログラムへの性能情報採取機能追加方法及びその装置
JP2007148962A (ja) * 2005-11-30 2007-06-14 Fuji Xerox Co Ltd サブプログラム、そのサブプログラムを実行する情報処理装置、及びそのサブプログラムを実行する情報処理装置におけるプログラム制御方法
JP2008204410A (ja) * 2007-02-23 2008-09-04 Brother Ind Ltd 数値制御装置、制御プログラム及び記憶媒体

Also Published As

Publication number Publication date
DE112014000400T5 (de) 2015-09-24
WO2015107637A1 (ja) 2015-07-23
CN104937510A (zh) 2015-09-23
DE112014000400B4 (de) 2018-01-11
CN104937510B (zh) 2017-04-05
JPWO2015107637A1 (ja) 2017-03-23

Similar Documents

Publication Publication Date Title
EP3088979B1 (en) Control device for machine tool
CN102854831B (zh) 块执行顺序显示装置
CN105408823B (zh) 工程设计工具、程序编辑装置以及程序编辑系统
US20140214203A1 (en) Operating program writing system
WO2015194010A1 (ja) 工作機械の制御装置
JP2006289583A (ja) 数値制御装置
JP2006107043A (ja) 工作機械制御装置
CN107430393A (zh) 数控装置
JP5579347B1 (ja) 数値制御装置
JP5295061B2 (ja) プログラマブルコントローラ
US5815399A (en) Multi-path synchronization system for CNC controller
JP2013054636A (ja) プログラマブルコントローラ用のモニタ装置
US8612044B2 (en) Control device for die-sinking electrical discharge machine
JP2004086306A (ja) 多系統数値制御装置
JP2008532130A (ja) 制御装置のインタプリタによるサブプログラムの翻訳のための方法
WO2022107822A1 (ja) 制御装置
JP2019028519A (ja) パラメータ設定支援装置
JP4275981B2 (ja) 工作機械の軸送り制御装置
JPH02311906A (ja) 加工シミュレーション方式
JPH04335404A (ja) シーケンス・プログラムのデバッグ方式
JPH02306305A (ja) 制御プログラム作成方法
JP3636711B2 (ja) 電気機器の制御システム
JP2537418B2 (ja) 制御プログラム作成装置
JPS6356708A (ja) 数値制御装置
JPH0391812A (ja) 数値制御装置の表示方式

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20140602

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140610

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140708

R150 Certificate of patent or registration of utility model

Ref document number: 5579347

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250