(57)【要約】【課題】工作機械を制御する数値制御装置において、サブプログラム呼出しまたはマクロ呼出しの直後にプログラムの実行を一時停止することにより、動作確認を円滑に行う機能を実現する。【解決手段】数値制御装置１０は、指令プログラム解析部１２でプログラムを解析し、マクロ呼出しまたはサブプログラム呼出し判断部１４でマクロ呼出しまたはサブプログラム呼出しを判断し、マクロ呼出しまたはサブプログラム呼出し実行部１５でマクロ呼出しまたはサブプログラムの呼出しを実行する。プログラム停止の判断部１７は、マクロ呼出しまたはサブプログラム呼出し判断部１４から受け取ったマクロ呼出しまたはサブプログラム呼出しの情報を判断する。プログラム停止の判断部１７がプログラム停止と判断した場合は、プログラム停止依頼部１８にプログラム停止依頼を指令プログラム解析部１２および補間処理部１３に出力するように指令し、プログラムを停止する。【選択図】図８
2015079344.tif 000002
【特許請求の範囲】
【請求項１】
マクロ呼出しまたはサブプログラム呼出し機能を有する数値制御装置において、
プログラムを解析するプログラム解析部と、
解析したプログラムの指令がマクロ呼出しまたはサブプログラム呼出しであるかどうかを判定する判定部と、
前記判定した指令にマクロ呼出しまたはサブプログラム呼出しがある場合、マクロ呼出しまたはサブプログラム呼出しの直後に前記プログラムの実行を停止するプログラム停止手段と、
を有することを特徴とする数値制御装置。
【請求項２】
前記プログラム停止手段は、１回目の呼出し時に停止し、２回目以降の呼出し時には停止しないことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記マクロ呼出しまたはサブプログラム呼出し直後の停止において、停止した際に呼出し側の情報を表示する表示部を有することを特徴とする請求項１乃至２の何れかに記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サブプログラム呼出しが可能な数値制御装置に関する。
【背景技術】
【０００２】
工作機械を制御する数値制御装置は、サブプログラム呼出し機能やマクロ呼出し機能を備えている。
【０００３】
＜サブプログラム呼出しおよびマクロ呼出しについて＞  
サブプログラムは、ある固定した動作や繰返し行われる動作を登録したプログラムである。メインのプログラムにおいて、サブプログラム呼出しを使用することにより、プログラムを簡単に記述することが可能となる。また、サブプログラムに対し引数指定を可能として、より汎用性の高い呼出しを実現する機能がマクロ呼出しである。
【０００４】
図１はサブプログラム呼出しの例、図２はマクロ呼出しの例である。図２においてＧ６５ブロックのＡ１．０やＢ２．０が引数としてＯ９０１０に渡され、マクロ変数＃１やマクロ変数＃２の変数となっている。Ｇ６５によるマクロ呼出しを単純呼出しと言い、図示していないが予め登録してあるＧコードによってＧ６５と同様のマクロ呼出しを行なうことをＧコードによるマクロ呼出しと言う。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
工作機械を制御する数値制御装置は、プログラムの動作確認を行うために、プログラムの途中でプログラムの実行を停止する機能（シングルブロック運転機能、シーケンス番号指定による停止機能）も備えている。
【０００６】
＜シングルブロック運転について＞  
図３はシングルブロック運転を説明する図である。シングルブロック運転とは、自動運転の起動を行うごとにプログラムの１つのブロックを実行した後、自動運転を停止する機能である。これによりプログラムの動作確認が容易となる。ワーク２を工具３を用いて切削加工する場合、シングルブロック運転では、停止４，停止５，停止６の各位置において、工具３は停止し、指令によって次のブロックを実行する。  
ただし、このシングルブロック運転の機能が有効中は、全てのブロックで停止するため確認が煩雑になる問題点がある。
【０００７】
＜シーケンス番号指定による停止＞
図４はシーケンス番号指定による停止を説明する図である。シーケンス番号指定による停止とは、プログラム運転前にあらかじめ設定されたプログラム番号、シーケンス番号と一致するブロックを実行すると、自動運転を停止する機能である。これによりプログラムの動作確認が容易となる。図４に示される例において、メインプログラムＯ０００１の「Ｍ９８Ｐ００１０」と記述されているブロックにより、サブプログラムＯ００１０を呼び出す。サブプログラムＯ００１０の「Ｎ２０  Ｇ０４  Ｐ５００；」と記述されているブロックは、０．５秒停止（ドウェル）を指令するブロックである。シーケンス番号による停止ブロックとして、メインプログラムＯ０００１のブロックＮ２０で指定する。  
ただし、プログラムの呼出し方法に関わらず必ず指定した個所で停止するため、多くのプログラムから呼出される共通サブプログラムでは停止時の確認が煩雑になる問題点がある。
【０００８】
そこで、本発明の目的は、工作機械を制御する数値制御装置において、サブプログラム呼出しまたはマクロ呼出しの直後にプログラムの実行を一時停止することにより、動作確認を円滑に行う機能を実現することである。  
つまり、プログラムを一時停止することにより、呼出したプログラムの名称、呼出されたプログラムの名称、呼出し時の座標値、呼出し時のモーダル情報、マクロ変数の値などを確認することができ、また、マクロ呼出しの場合はさらに引数を確認することができるプログラム呼出しで一時停止する数値制御装置を提供することである。
【課題を解決するための手段】
【０００９】
本願の請求項１に係る発明は、マクロ呼出しまたはサブプログラム呼出し機能を有する数値制御装置において、プログラムを解析するプログラム解析部と、解析したプログラムの指令がマクロ呼出しまたはサブプログラム呼出しであるかどうかを判定する判定部と、前記判定した指令にマクロ呼出しまたはサブプログラム呼出しがある場合、マクロ呼出しまたはサブプログラム呼出しの直後に前記プログラムの実行を停止するプログラム停止手段と、を有することを特徴とする数値制御装置である。  
請求項２に係る発明は、前記プログラム停止手段は、１回目の呼出し時に停止し、２回目以降の呼出し時には停止しないことを特徴とする請求項１に記載の数値制御装置である。  
請求項３に係る発明は、前記マクロ呼出しまたはサブプログラム呼出し直後の停止において、停止した際に呼出し側の情報を表示する表示部を有することを特徴とする請求項１乃至２の何れかに記載の数値制御装置である。
【発明の効果】
【００１０】
本発明により、工作機械を制御する数値制御装置において、サブプログラム呼出しまたはマクロ呼出しの直後にプログラムの実行を一時停止することにより、動作確認を円滑に行う機能を実現できる。  
つまり、本発明により、プログラムを一時停止することにより、呼出したプログラムの名称、呼出されたプログラムの名称、呼出し時の座標値、呼出し時のモーダル情報、マクロ変数の値などを確認することができ、また、マクロ呼出しの場合はさらに引数を確認することができるプログラム呼出しで一時停止する数値制御装置を提供できる。
【図面の簡単な説明】
【００１１】
【図１】サブプログラム呼出しを説明する図である。
【図２】マクロ呼出しを説明する図である。
【図３】シングルブロック運転を説明する図である。
【図４】シーケンス番号指定による停止を説明する図である。
【図５】プログラム呼出しの種類によって停止を指定する図である。
【図６】プログラム呼出し側の情報を表示することを説明する図である。
【図７】プログラム停止時の画面例である。
【図８】本発明の数値制御装置を説明するブロック図である。
【図９】本発明の処理を説明するフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態を図面と共に説明する。  
本発明は、マクロ呼出しまたはサブプログラム呼出しによる呼出し直後にプログラムの実行を停止し、プログラムの動作確認を円滑に行うことを可能な、サブプログラム呼出しが可能な数値制御装置に関する。以下、マクロ呼出しまたはサブプログラム呼出しによる呼出し直後にプログラムの実行を停止する手段を説明する。
【００１３】
＜実施形態１＞プログラム呼出しの種類によって停止を指定
マクロ呼出しまたはサブプログラム呼出しにはそれぞれ複数の呼出し方法がある。実施形態１では、呼出し方法の種類ごとに、停止する指定を可能とする。呼出し方法の種類に応じてプログラムの動作確認を円滑に行うことができる。
【００１４】
図５はＧコードによるマクロ呼出し（ａ）と単純呼出し（ｂ）を併用した例である。Ｇコード「Ｇ８１」によってプログラム「Ｏ９０１０」を呼出す。ここではプログラムの停止条件はＧコードによるマクロ呼出しとする。Ｇコードによるマクロ呼出しで停止する指定により、プログラムＯ９０１０の先頭で停止させることができる。プログラムＯ９０１０は、Ｇコード「Ｇ６５」は単純呼出しのブロックであり、Ｏ０１００の先頭では停止しない。プログラムＯ９０１０（Ｇコードによるマクロ呼出し）とＯ０１００（単純呼出し）では呼出し方法が異なるため、プログラム停止の判断部１７（図８を参照）で両者を区別し、Ｏ９０１０のみプログラム停止依頼を指令プログラム解析部１２、補間処理部１３に発行し、プログラムを停止する。
【００１５】
この指定方法はＧコードによるマクロ呼出しや単純呼出しのように呼出しの種類を指定することができるため、Ｏ９０１０以外にもＧコードによるマクロ呼出しを指令した場合に停止対象とすることができる。また、単純呼出しからＯ９０１０を呼出した場合には停止対象としない。これにより、プログラム停止時の確認が煩雑になることを回避することができ、つまり、Ｇコードによるマクロ呼出しの時だけプログラム停止時の確認を行うことができ、プログラムの動作確認を円滑に行うことができる利点がある。
【００１６】
＜実施形態２＞１回目の呼出しで停止、２回目以降の呼出しでは停止しない指定
図５において、１回目の呼出しで停止、２回目以降の呼出しでは停止しないという指定を可能とする。ここではプログラムの停止条件はＧコードによるマクロ呼出しかつ１回目の呼出しである。
【００１７】
プログラム停止の判断部１７で１回目の呼出し、２回目以降の呼出しを区別し、１回目の呼出しのみプログラム停止依頼部１８からプログラム停止依頼を指令プログラム解析部１２、補間処理部１３に発行し、プログラムを停止する（図８参照）。通常プログラムの動作は１回目に動作確認済みであれば、２回目の呼出しでは停止する必要が無いため、プログラム停止時の確認が煩雑になることを回避することができ、プログラムの動作確認を円滑に行うことができる。
【００１８】
＜実施形態３＞停止した際にプログラム呼出し側の情報を表示
図６はプログラム呼出し側の情報を表示することを説明する図である。マクロ呼出しまたはサブプログラム呼出し直後の停止において、図６のように呼出し側の情報を表示する。ここではプログラムの停止条件は単純呼出しである。プログラム停止依頼を受け取った指令プログラム解析部１２は、現在解析中の情報を表示処理部に送付する。図７に示されるように、数値制御装置１０に備わった表示装置（図示省略）に、指定したプログラム呼出しの種類と合わせて、より動作確認を円滑に行うことができる。
【００１９】
ここで、本発明を実行する機能を有する数値制御装置を説明する。図８は本発明の数値制御装置を説明するブロック図である。一般に数値制御装置１０は、指令プログラム解析部１２でプログラムを解析し、マクロ呼出しまたはサブプログラム呼出し判断部１４でマクロ呼出しまたはサブプログラム呼出しを判断し、マクロ呼出しまたはサブプログラム呼出し実行部１５でマクロ呼出しまたはサブプログラムの呼出しを実行する。
【００２０】
本発明では、プログラム停止手段１６のプログラム停止の判断部１７は、マクロ呼出しまたはサブプログラム呼出し判断部１４から受け取ったマクロ呼出しまたはサブプログラム呼出しの情報を判断し、プログラム停止すべきかどうかを判断する。プログラム停止の判断部１７がプログラム停止と判断した場合は、プログラム停止依頼部１８にプログラム停止依頼を指令プログラム解析部１２および補間処理部１３に出力するように指令することで、プログラムを停止する。
【００２１】
次に、実施形態２におけるプログラム停止の判断について、フローチャートを以下に示す。図９は本発明の処理を説明するフローチャートである。本処理はマクロ呼出しまたはサブプログラム呼出し判断部から呼出される。本処理が実行される条件は以下の通りである。
【００２２】
（条件：）
・マクロ呼出しまたはサブプログラム呼出しが指令された。  
・呼出しに指定されたプログラムが存在するなど、マクロ呼出しまたはサブプログラム呼出しを実行することができる。
●［ステップＳＡ０１］マクロ呼出しまたはサブプログラム呼出しが指令されたか否かを判断し、マクロ呼出しまたはサブプログラム呼出しが指令された場合（ＹＥＳ）にはステップＳＡ０２へ移行し、マクロ呼出しまたはサブプログラム呼出しが指令されなかった場合（ＮＯ）には処理を終了する。  
●［ステップＳＡ０２］マクロ呼出し、サブプログラム呼出しの種類および回数をマクロ呼出しまたはサブプログラム呼出し判断部から取得する。  
●［ステップＳＡ０３］あらかじめ設定した種類および回数と比較する。  
●［ステップＳＡ０４］プログラム停止条件に一致しているか否か判断し、プログラムの停止条件に一致している場合（ＹＥＳ）にはステップＳＡ０５へ移行し、プログラムの停止条件に一致していない場合（ＮＯ）には処理を終了する。
●［ステップＳＡ０５］プログラム停止依頼を発行し、処理を終了する。
【００２３】
ここで、「マクロ呼出しまたはサブプログラム呼出しが指令された？」は、一般の数値制御装置にあるマクロ呼出しまたはサブプログラム呼出し判断部の処理である。「マクロ呼出し、サブプログラム呼出しの種類および回数」とは、Ｇコードによるマクロ呼出し、単純呼出し、またはサブプログラム呼出しという呼出しの種類、および呼出しの回数を指す。「あらかじめ設定した種類、回数」とは、それらの呼出しの種類のうちどの呼出しで停止するかという停止条件、および１回目の呼出しで停止し２回目以降の呼出しでは停止しないという停止条件をあらかじめ設定しておき、そのあらかじめ設定した種類、回数を指す。
【００２４】
実施形態２では、Ｇコードによるマクロ呼出しで停止し、１回目の呼出しで停止し２回目以降の呼出しでは停止しないとなっている。「あらかじめ設定した種類、回数と比較」および「プログラム停止条件に一致？」とは、マクロ呼出しまたはサブプログラム呼出し判断部から取得した呼出しの種類および回数と、あらかじめ設定した種類、回数とを比較し、停止条件と一致するかどうか判断することを指す。
【符号の説明】
【００２５】
２  ワーク
３  工具
４，５，６  停止
１０  数値制御装置
１２  指令プログラム解析部
１３  補間処理部
１４  マクロ呼出しまたはサブプログラム呼出し判断部
１５  マクロ呼出しまたはサブプログラム呼出し実行部
１６  プログラム停止手段
１７  プログラム停止の判断部
１８  プログラム停止依頼部
【図１】
2015079344.tif 000003
【図２】
2015079344.tif 000004
【図３】
2015079344.tif 000005
【図４】
2015079344.tif 000006
【図５】
2015079344.tif 000007
【図６】
2015079344.tif 000008
【図７】
2015079344.tif 000009
【図８】
2015079344.tif 000010
【図９】
2015079344.tif 000011