(57)【要約】【課題】手動で加工プログラムを修正したり、マクロ計算をする必要なく、特定の部品の加工後に自動運転を停止することが可能な数値制御装置を提供する。【解決手段】数値制御装置１は、複数個の部品を連続加工するための指令プログラムの実行時に、指令プログラムを解析するプログラム解析部と、解析された指令プログラムを実行する解析済プログラム実行部と、ユーザにより指定される連続加工を停止するための加工停止条件に基づいて指令プログラムにおけるプログラム停止条件を設定するプログラム停止条件設定部と、指令プログラムの解析結果に基づいて、指令プログラムの実行ブロックがプログラム停止条件を満たすか否かを判定するプログラム停止判定部と、指令プログラムの実行ブロックがプログラム停止条件を満たすと判定されると、解析済プログラム実行部に指令プログラムの当該実行ブロック停止依頼を出力するプログラム停止依頼部と、を備える。【選択図】図１
2020198040.tif 000002
【特許請求の範囲】
【請求項１】
指令プログラムにしたがって動作する数値制御装置であって、
複数個の部品を連続加工するための指令プログラムの実行時に、前記指令プログラムを解析するプログラム解析部と、
前記プログラム解析部により解析された前記指令プログラムを実行する解析済プログラム実行部と、
ユーザにより指定される前記連続加工を停止するための加工停止条件に基づいて前記指令プログラムにおけるプログラム停止条件を設定するプログラム停止条件設定部と、
前記プログラム解析部による前記指令プログラムの解析結果に基づいて、前記指令プログラムの実行ブロックが前記プログラム停止条件を満たすか否かを判定するプログラム停止判定部と、
前記プログラム停止判定部により、前記指令プログラムの実行ブロックが前記プログラム停止条件を満たすと判定されると、前記解析済プログラム実行部に前記指令プログラムの当該実行ブロック停止依頼を出力するプログラム停止依頼部と、
を備える数値制御装置。
【請求項２】
前記加工停止条件が、前記連続加工に用いる消耗品の残量がなくなる直前の部品まで加工し終わった位置で加工停止する条件の場合、前記プログラム停止条件設定部は、前記加工停止条件に相当する前記指令プログラムのプログラム頭から停止ブロックまでのブロック数を含むプログラム停止条件を設定する、請求項１に記載の数値制御装置。
【請求項３】
前記加工停止条件が、チェック描画経路の未加工部の加工形状の指定された位置で加工停止する条件の場合、前記プログラム停止条件設定部は、前記加工停止条件に相当する前記指令プログラムの、所定の加工形状の加工が終わったときのプログラム頭から停止ブロックまでのブロック数を含むプログラム停止条件を設定する、請求項１に記載の数値制御装置。
【請求項４】
前記加工停止条件が、前記連続加工における指定した回数のＮ番号ブロックで加工停止する条件の場合、前記プログラム停止条件設定部は、指定した回数のＮ番号ブロックで停止するための停止条件を設定する、請求項１に記載の数値制御装置。
【請求項５】
前記加工停止条件が、前記連続加工における指定した回数のＮ番号ブロックをスキップして、次のＮ番号ブロックで加工終了する条件の場合、前記プログラム停止条件設定部は、指定した回数のＮ番号ブロックをスキップして、次のＮ番号ブロックで停止するための停止条件を設定する、請求項１に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関する。
【背景技術】
【０００２】
工作機械を制御する数値制御装置は、プログラムの動作確認を行うために、プログラムの途中でプログラムの実行を停止する機能も備えている。
【０００３】
例えば、特許文献１は、サブプログラム呼出し又はマクロ呼出しの直後にプログラムの実行を一時停止することにより、動作確認を円滑に行う機能を開示している。
【０００４】
ここで、サブプログラムとは、ある固定した動作や繰返し行われる動作を登録したプログラムである。メインのプログラムにおいて、サブプログラム呼出しを使用することにより、プログラムを簡単に記述することが可能となる。また、サブプログラムに対し引数指定を可能として、より汎用性の高い呼出しを実現する機能がマクロ呼出しである。
【０００５】
図５に、サブプログラム呼出し機能の例を示す。メインプログラムの“Ｏ０００１（ＭＡＩＮ）”内において、“Ｇ６５Ｐ１００Ｌ２Ａ＿Ｂ＿”ブロックにより、サブプログラムの“Ｏ１００（ＳＵＢ）”が呼び出される。
【０００６】
図６に、マクロ呼出し機能の例を示す。図６においてＧ６５ブロックのＡ１．０やＢ２．０が引数としてＯ９０１０に渡され、マクロ変数＃１やマクロ変数＃２の変数となっている。Ｇ６５によるマクロ呼出しを単純呼出しと言い、図示していないが予め登録してあるＧコードによってＧ６５と同様のマクロ呼出しを行なうことをＧコードによるマクロ呼出しと言う。
【０００７】
また、他のプログラム停止機能として、シーケンス番号照合機能がある。シーケンス番号照合機能とは、予め設定されたプログラム番号、シーケンス番号と一致するブロックを実行すると、自動運転を停止する機能である。
【０００８】
図７に、シーケンス番号照合停止機能の例を示す。図７において、加工前又は加工中に、加工プログラムの未加工部の中から停止したいプログラム番号として“１”を指定、停止したいシーケンス番号として、“１１”を指定すると、“Ｎ１１Ｇ００Ｘ４０．Ｙ４０．”のブロックまで実行した時点で、自動運転を停止し、シーケンス番号の設定は−１（機能無効）となる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１５−７９３４４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかし、特許文献１で開示されるプログラム停止機能は、サブプログラムの呼び出し１回目にしか対応できない。このため、部品加工形状をサブプログラムで指定し、複数個の部品を連続加工するため、メインプログラムから当該サブプログラムを複数回呼び出す加工プログラムの場合、部品Ｘ個目（Ｘは２以上の自然数）の加工後の指定したＮ番号のブロックで停止するためには、部品（Ｘ−１）個目の指定したＮ番号のブロック実行後に、上記のシーケンス番号照合停止機能を設定するか、自前でサブプログラム呼出し回数をカウントする必要があり、手動で複雑な処理を設定しなければならなかった。
【００１１】
そこで本発明は、手動で加工プログラムを修正したり、マクロ計算をする必要なく、特定の部品の加工後に自動運転を停止することが可能な数値制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本開示の一態様は、指令プログラムにしたがって動作する数値制御装置であって、複数個の部品を連続加工するための指令プログラムの実行時に、前記指令プログラムを解析するプログラム解析部と、前記プログラム解析部により解析された前記指令プログラムを実行する解析済プログラム実行部と、ユーザにより指定される前記連続加工を停止するための加工停止条件に基づいて前記指令プログラムにおけるプログラム停止条件を設定するプログラム停止条件設定部と、前記プログラム解析部による前記指令プログラムの解析結果に基づいて、前記指令プログラムの実行ブロックが前記プログラム停止条件を満たすか否かを判定するプログラム停止判定部と、前記プログラム停止判定部により、前記指令プログラムの実行ブロックが前記プログラム停止条件を満たすと判定されると、前記解析済プログラム実行部に前記指令プログラムの当該実行ブロック停止依頼を出力するプログラム停止依頼部と、を備える数値制御装置である。
【発明の効果】
【００１３】
一態様によれば、手動で加工プログラムを修正したり、マクロ計算をする必要なく、特定の部品の加工後に自動運転を停止することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】一実施形態の数値制御装置の構成を示す図である。
【図２】一実施形態の数値制御装置の動作を示すフローチャートである。
【図３】一実施形態の数値制御装置における多数個取り部品加工時の表示画面の例を示す図である。
【図４】一実施形態の数値制御装置における多数個取り部品加工時の表示画面と加工プログラムの例を示す図である。
【図５】サブプログラム呼出し機能の例を示す図である。
【図６】マクロ呼出し機能の例を示す図である。
【図７】シーケンス番号照合機能の例を示す図である。
【発明を実施するための形態】
【００１５】
〔１．第１実施形態〕
以下、本発明の第１実施形態を図１及び図２に基づいて説明する。図１は、第１実施形態に係る数値制御装置の全体構成を示す。図２は、数値制御装置１の動作を示すフローチャートである。
第１実施形態に係る数値制御装置１は、ワイヤ等の消耗品の残量がなくなる直前の部品まで加工し終わった位置で加工終了する加工停止条件に相当するプログラム停止条件を設定する装置である。
【００１６】
〔１．１  全体構成〕
図１に示すように、数値制御装置１は、指令プログラム解析部１１と、プログラム停止部１２と、解析済プログラム実行部１３と、チェック描画表示部１４とを備える。
【００１７】
指令プログラム解析部１１は、プログラム解析部１１１と、呼出し判断部１１２と、呼出し実行部１１３とを備える。
プログラム解析部１１１は、指令プログラムの実行時に指令プログラムを解析する。第１実施形態では、プログラム解析部１１１は、複数個の部品を連続加工するための指令プログラムを解析する。
呼出し判断部１１２は、プログラム解析部１１１による指令プログラムの解析結果に基づいて、マクロ呼出しやサブプログラム呼出しを判断する。
呼出し実行部１１３は、呼出し判断部１１２によって呼び出されることが判断されたマクロ呼出しやサブプログラム呼出しを実行する。
【００１８】
プログラム停止部１２は、プログラム停止条件設定部１２１と、プログラム停止判定部１２２と、プログラム停止依頼部１２３とを備える。
【００１９】
プログラム停止条件設定部１２１は、ユーザによって設定された加工停止条件、具体的にはワイヤ等の連続加工に用いる消耗品の残量がなくなる直前の部品まで加工し終わった位置で加工終了する加工停止条件に対して、当該加工停止条件に対応する指令プログラムのプログラム頭から停止ブロックまでのブロック数を含むプログラム停止条件を設定する。
【００２０】
例えば、第１のステップにおいて、プログラム停止条件設定部１２１は、数値制御装置１のメモリ（不図示）に記録されているワイヤの残り距離Ｘｋｍを取得する。
第２のステップにおいて、プログラム停止条件設定部１２１は、数値制御装置１のメモリに記録されている部品１個を加工するのに必要なワイヤの距離Ｙｋｍを取得する。
第３のステップにおいて、プログラム停止条件設定部１２１は、ワイヤの残り距離Ｘｋｍと加工に必要なワイヤの距離Ｙｋｍとから、残りのワイヤで加工できる個数Ｚ個を計算する。
第４のステップにおいて、プログラム停止条件設定部１２１は、プログラム停止条件として、残りのＺ個の加工が終わった時のプログラム頭から、停止ブロック（例えば、径補正終了のコードであるＧ４０や、ワイヤ切断命令Ｍ６０等のブロック）までのブロック数を算出し、当該ブロック数を含むプログラム停止条件を設定する。
【００２１】
プログラム停止判定部１２２は、プログラム解析部１１１による指令プログラムの解析結果に基づいて、指令プログラムの実行ブロックがプログラム停止条件を満たすか否かを判定し、満たすと判定した場合には、プログラム停止依頼部１２３にプログラム停止を依頼する。
【００２２】
プログラム停止依頼部１２３は、プログラム停止判定部１２２からプログラム停止を依頼されると、解析済プログラム実行部１３に指令プログラムの実行ブロック停止依頼を出力する。
【００２３】
解析済プログラム実行部１３は、プログラム解析部１１１により解析された指令プログラムを実行する。とりわけ本実施形態において、解析済プログラム実行部１３は、プログラム停止依頼部１２３から実行ブロック停止依頼を取得すると、依頼のあったブロックでの指令プログラムの実行を停止する。
【００２４】
チェック描画表示部１４は、解析済プログラム実行部１３から、指令プログラムによって指令される加工経路を描画するための情報を取得し、加工経路を表示装置（不図示）に表示する。なお、この表示装置はタッチパネルを備え、ユーザが表示装置の画面に触れることにより、各部品の加工形状を選択することを可能としてもよい。
【００２５】
なお、数値制御装置１はそれ以外にも、工作機械を制御するための機能ブロック、通信を行うための機能ブロック、ユーザからの操作を受け付けるための機能ブロック、といった一般的な機能ブロックを備える。ただし、これらの一般的な機能ブロックについては当業者によく知られているので図示及び説明を省略する。
【００２６】
〔１．２  動作〕
図２は、数値制御装置１の動作を示すフローチャートである。
ステップＳ１１において、プログラム停止条件設定部１２１は、プログラム停止条件を設定する。
とりわけ本実施形態において、上記のように、プログラム停止条件設定部１２１は、ワイヤの残り距離Ｘｋｍと、部品１個を加工するのに必要なワイヤの距離Ｙｋｍとから、残りのワイヤで加工できる個数Ｚ個を計算した後、プログラム停止条件として、残りのＺ個の加工が終わった時のプログラム頭から、停止ブロック（例えば、径補正終了のコードであるＧ４０や、ワイヤ切断命令Ｍ６０等のブロック）までのブロック数を算出する。
【００２７】
ステップＳ１２において、プログラム停止判定部１２２により、指令プログラムの実行ブロックがプログラム停止条件を満たすか否かを判定し、満たすと判定した場合（Ｓ１２：ＹＥＳ）には、処理はステップＳ１３に移行する。満たすと判定しない場合（Ｓ１２：ＮＯ）には、処理はステップＳ１２に移行する。
【００２８】
ステップＳ１３において、プログラム停止判定部１２２は、プログラム停止依頼部１２３にプログラム停止を依頼し、プログラム停止依頼部１２３は、解析済プログラム実行部１３に指令プログラムの実行ブロック停止依頼を出力する。
【００２９】
〔１．３  第１実施形態の効果〕
以上説明したように、第１実施形態の数値制御装置１は、ユーザにより指定される連続加工を停止するための加工停止条件に基づいて、指令プログラムにおけるプログラム停止条件を設定するプログラム停止条件設定部１２１と、指令プログラムの解析結果に基づいて、指令プログラムの実行ブロックがプログラム停止条件を満たすか否かを判定するプログラム停止判定部１２２と、指令プログラムの実行ブロックがプログラム停止条件を満たすと判定されると、解析済プログラム実行部に指令プログラムの当該実行ブロック停止依頼を出力するプログラム停止依頼部１２３と、を備える。
【００３０】
これにより、手動で加工プログラムを修正したり、マクロ計算をする必要なく、特定の部品の加工後に自動運転を停止することが可能となる。
【００３１】
また、加工停止条件が、連続加工に用いる消耗品の残量がなくなる直前の部品まで加工し終わった位置で加工終了する条件の場合、プログラム停止条件設定部１２１は、加工停止条件に相当する指令プログラムのプログラム頭から停止ブロックまでのブロック数を含むプログラム停止条件を設定する。
【００３２】
これにより、部品加工中にワイヤ等の消耗品がなくなるのを防止できると共に、当該消耗品を無駄なく使用することが可能となる。
【００３３】
〔２．第２実施形態〕
以下、本発明の第２実施形態を図３に基づいて説明する。図３は、第２実施形態に係る数値制御装置１が備える多数個取り部品加工時の表示画面の例を示す。
【００３４】
第２実施形態に係る数値制御装置１Ａは、チェック描画経路の未加工部の加工形状のうち特定の位置を、ユーザが数値制御装置１Ａに備わる表示画面のタッチパネル等から指定し、この指定位置で加工停止する加工停止条件に相当するプログラム停止条件を設定する。
【００３５】
図３に示す、多数個取り部品加工の加工経路描画画面の例においては、加工済みの加工経路が実線で、未加工の加工経路が点線で示されているが、これには限定されず、加工済みの加工経路を点線で、未加工の加工経路を実線で示してもよい。黒い丸は加工開始点で、加工後に加工を停止することも可能である。ユーザは、複数の加工形状の中から、加工を停止したい加工位置を選択する。
【００３６】
なお、図３は、縦に２行、横に５列の正方形の部品を多数個取りする加工経路描画画面の例を示す。加工中の２個目の部品の加工経路までが実線で示され、それ以降の部品の加工経路は点線で示される。また、５個目の部品の加工形状を選択すると、５個目の部品を加工後に停止する設定がされる。
【００３７】
また、第２実施形態に係る数値制御装置１Ａと、第１実施形態に係る数値制御装置１とでは、加工停止条件及びプログラム停止条件が異なるものの、構成は同一であるため、その図示と説明を省略する。
【００３８】
〔２．１  加工停止条件〕
本実施形態において、プログラム停止条件設定部１２１は、ユーザによって設定された加工停止条件、具体的にはチェック描画経路の未加工部の加工形状の指定された位置で加工停止する加工停止条件に対して、当該加工停止条件に対応する指令プログラムの、所定の加工形状の加工が終わった時のプログラム頭から停止ブロックまでのブロック数を含むプログラム停止条件を設定する。
【００３９】
例えば、第１のステップにおいて、プログラム停止条件設定部１２１は、ユーザがチェック描画経路の未加工部の加工形状をタッチパネルで指定したときの形状が、何個目の加工形状か計算する。この結果、Ｘ個目の加工形状であると計算されたとする。
第２のステップにおいて、プログラム停止条件設定部１２１は、プログラム停止条件として、Ｘ個目の加工形状の加工が終わったときのプログラム頭から停止ブロック（径補正終了Ｇ４０や、ワイヤ切断命令Ｍ６０等のブロック）までのブロック数を算出する。
【００４０】
〔２．２  第２実施形態の効果〕
以上説明したように、加工停止条件が、チェック描画経路の未加工部の加工形状の指定された位置で加工停止する条件の場合、プログラム停止条件設定部１２１は、加工停止条件に相当するプログラムの、所定の加工形状の加工が終わった時のプログラム頭から停止ブロックまでのブロック数を含むプログラム停止条件を設定する。
【００４１】
これにより、所望の場所で加工を停止するのに、再スタートと自動運転停止を何回も繰り返す必要なく、また停止したい場所まで加工が終わるまで、オペレータが加工状況を何度も確認する必要がない。
【００４２】
〔３．第３実施形態〕
以下、本発明の第３実施形態を図４に基づいて説明する。図４は、第３実施形態に係る数値制御装置１Ｂにおける多数個取り部品加工時の表示画面と加工プログラムの例を示す。
【００４３】
第３実施形態に係る数値制御装置１Ｂは、加工プログラムにおいて指定した回数だけ特定のＮ番号が登場した際に、このＮ番号の位置で加工終了する加工停止条件に相当するプログラム停止条件を設定する。例えば、指定した回数を２回、特定のＮ番号をＮ１１とした場合、加工プログラムにおいて１回目にＮ１１のブロックを実行する際は、プログラムの実行を停止せず、２回目にＮ１１が登場した際にプログラムの実行を停止する。
【００４４】
〔３．１  加工停止条件〕
図４を参照すると、ユーザによって設定された加工停止条件、例えば２個目の部品を加工中に、５個目の部品１ｓｔ加工時のＮ１１ブロックでプログラムの実行を停止する加工停止条件に対して、プログラム停止条件設定部１２１は、４個目の部品の最終加工時のＮ１１ブロックの次のＮ１１ブロックで停止するよう、Ｎ１１ブロックの残り回数を算出しＮ番号ブロックの回数を停止条件に設定する。
【００４５】
〔３．２  第３実施形態の効果〕
以上説明したように、加工停止条件が、連続加工における指定した回数のＮ番号ブロックで加工停止する条件の場合、プログラム停止条件設定部１２１は、指定した回数のＮ番号ブロックで停止するため、プログラム頭からの指定した回数のＮ番号ブロックで停止するよう停止条件を設定する。
【００４６】
これにより、部品Ｘ個目のＹ回目の加工（例えば仕上げ加工１回目等）を指定して停止できる。従来は、部品Ｘ個目のＹ回目の加工後の指定したＮ番号ブロックで加工を停止するには、部品Ｘ個目の（Ｙ−１）回目の指定したＮ番号ブロック実行後に、シーケンス番号照合停止機能を設定する必要があったが、本実施形態においては加工前にプログラム停止条件を設定することが可能となる。
【００４７】
〔４．第４実施形態〕
以下、本発明の第４実施形態を説明する。
【００４８】
第４実施形態に係る数値制御装置１Ｃは、加工プログラムにおいて指定した回数だけ特定のＮ番号が登場した際、このＮ番号をスキップして、次のＮ番号の位置で加工停止する加工停止条件に相当するプログラム停止条件を設定する。
【００４９】
〔４．１  加工停止条件〕
図４を参照すると、ユーザによって設定された加工停止条件、例えば２個目の部品を加工中に、５個目の部品１ｓｔ加工時のＮ１１ブロックをスキップして、次のＮ１１ブロックでプログラムの実行を停止する加工停止条件に対して、プログラム停止条件設定部１２１は、５個目の部品の１ｓｔ加工時のＮ１１ブロックの次のＮ１１ブロックで停止するよう、プログラム頭からのブロック数を算出し、このブロック数を含むプログラム停止条件を設定する。プログラム頭からのブロック数を算出せず、Ｎ１１ブロックの回数をカウントする変数を数値制御装置に備え、停止するか条件を比較しても良い。
【００５０】
〔４．２  第４実施形態の効果〕
以上説明したように、加工停止条件が、連続加工における指定した回数のＮ番号ブロックをスキップして、次のＮ番号ブロックで加工終了する条件の場合、プログラム停止条件設定部１２１は、指定した回数のＮ番号ブロックをスキップして、次のＮ番号ブロックで停止するためのプログラム頭からのブロック数を含むプログラム停止条件を設定する。
【００５１】
これにより、部品Ｘ個目のＹ回目の加工（例えば仕上げ加工１回目等）の次の加工を指定して停止できる。従来は、部品Ｘ個目のＹ＋１回目の加工後の指定したＮ番号ブロックで加工を停止するには、部品Ｘ個目のＹ回目の指定したＮ番号ブロック実行後に、シーケンス番号照合停止機能を設定する必要があったが、本実施形態においては加工前にプログラム停止条件を設定することが可能となる。
【００５２】
なお、第１実施形態〜第４実施形態において、プログラム停止条件の設定は、サブプログラム等の呼出しが存在する場合に限定されない。例えば、サブプログラムが存在せず、メインプログラムしか存在しない場合にも適用可能である。
【００５３】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【符号の説明】
【００５４】
１、１Ａ、１Ｂ、１Ｃ  数値制御装置
１１  指令プログラム解析部
１２  プログラム停止部
１３  解析済プログラム実行部
１４  チェック描画表示部
１１１  プログラム解析部
１１２  呼出し判断部
１１３  呼出し実行部
１２１  プログラム停止条件設定部
１２２  プログラム停止判定部
１２３  プログラム停止依頼部
【図１】
2020198040.tif 000003
【図２】
2020198040.tif 000004
【図３】
2020198040.tif 000005
【図４】
2020198040.tif 000006
【図５】
2020198040.tif 000007
【図６】
2020198040.tif 000008
【図７】
2020198040.tif 000009