(57)【特許請求の範囲】
【請求項１】
指令プログラム解析部で指令プログラムを解析し解析した結果によって補間指令生成部で補間指令を生成する数値制御装置において、
アラームとする軸を指定するアラーム軸指定部を有し、
前記指令プログラム解析部が指令プログラムを解析した結果、前記アラーム軸指定部で指定した軸が指令される場合、又は、前記補間指令生成部が前記アラーム軸指定部で指定した軸を補間しようとした場合に、アラーム停止させる軸指令チェック部を有することを特徴とする数値制御装置。
【請求項２】
前記軸指令チェック部は前記指令プログラム解析部に属し前記指令プログラムにおいて前記アラーム軸指定部で指定した軸が指令されたかどうかを判断するとともに該軸に指令された量が予め設定された許容範囲を超えるかどうか判断し超えていた場合にアラーム停止させることを特徴する請求項１に記載の数値制御装置。
【請求項３】
前記軸指令チェック部は前記補間指令生成部に属し前記補間指令において前記アラーム軸指定部で指定した軸が指令されたかどうかを判断するとともに誤った軸指令が指令された場合に指令された量が予め設定された許容範囲を超えるかどうか判断し超えていた場合にアラーム停止させることを特徴とする請求項１に記載の数値制御装置。
【請求項４】
前記軸指令チェック部は、前記指令プログラム解析部において前記アラーム軸指定部で指定した軸が指令されたかどうかを判断するとともに該軸が指令された場合に指令された量が予め設定された許容範囲を超えるかどうか判断し超えていた場合にアラーム停止させ、さらに前記補間指令生成部において前記アラーム軸指定部で指定した軸が指令されたかどうかを判断するとともに指令された場合に指令された量が予め設定された許容範囲を超えるかどうか判断し超えていた場合にアラーム停止させることを特徴とする請求項１に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、誤った軸指令を検出する数値制御装置に関する。数値制御装置は工作機械を制御するが、工作機械において特に軸の誤動作は誤切削や機械破損など重大な結果をもたらすことが多い。そのため、本発明は特に誤った軸指令を検出することによって、そのような誤動作を防止するものである。
【背景技術】
【０００２】
特許文献１には、各変数に対して読み出し及び書き込み許可情報を記憶することにより所望の加工系統に対して読み出し及び書き込みが許可されないと判定された時アラームを発生させる技術が開示されている。  
また、特許文献２には、ある項目に対して新しく入力された数値が過去に同じ項目に対して設定された数値の平均と標準偏差とを組み合わせて得られる条件を満足するかどうかを判定し、満足しないならばその旨を表示させる技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５−１４３１３０号公報
【特許文献２】特開２００３−２９５９１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
＜マクロ呼出し＞
マクロ呼出しとは、ある固定した動作や繰返し行われる動作を登録したプログラムで、マクロ呼出しを使用することにより、プログラムを簡単に記述することが可能となる。また、マクロ呼出しの際に引数指定や多重呼出しを行うことにより、より汎用性の高い呼出しを実現することが可能である。
【０００５】
ただし、複雑な呼出し関係を指令すると、プログラムが煩雑になり誤指令を招く場合がある。そのプログラム例を図１に示す。図１においては、Ｏ０００１ではＸ，Ｙ，Ｚの移動指令を引数Ａ，Ｂ，Ｃで与えることによりマクロプログラムのＯ９０１０での変数＃１、＃２、＃３となり、＃１、＃２、＃３にそれぞれシフト量（１００．０，２００．０、１５０．０）を加算しＮ１１で位置決めを行い元のプログラムに帰って加工を行う。ここでコモン変数＃１０１、＃１０２、＃１０３で加算演算を行う。Ｏ０００２ではＸ，Ｙの移動指令を引数Ａ，Ｂで与えることによりマクロプログラムのＯ９０１０での変数＃１、＃２となり、＃１、＃２にそれぞれシフト量（１００．０，２００．０）を加算しＮ１１でＸ、Ｙの位置決めを行い元のプログラムに帰って加工を行うことを意図している。
【０００６】
ここでＯ９０１０は共通の移動指令用マクロプログラムである。しかし、＃１０３がコモン変数であるため、前回呼出しによる＃１０３の値が残っておりＮ１１でＯ０００２では指令していないＺ軸の移動指令が発生する。このように単純でない呼出し関係があると、移動を意図しない軸に移動指令が発生することがある。この例では１重呼出しの例としたが、さらに２重、３重と呼出しが多重化複雑化すると意図しない移動指令はより発生しやすい。
【０００７】
＜工具径補正について＞
工具径補正は実際に加工する形状をプログラム経路として指定し、加工時に使用する工具の半径値だけ工具中心経路をオフセットする機能である。これにより加工時に使用する工具の径が変わっても、プログラムを変更する必要が無い利点がある。
【０００８】
図２はＧ１７指令によるＸＹ平面上での工具径補正のプログラム例である。オフセットベクトルはＸＹ平面上に作成される。しかし、図３のようにＮ１０のＧ１７指令を誤ってＧ１９（ＹＺ平面）と指令するとオフセットベクトルはＹＺ平面に作成され、意図しないＺ軸の動作が発生することになる。
【０００９】
＜工具先端点制御について＞
工具先端点制御とは、プログラムの指令ブロック中にも補間周期毎に時々刻々工具長補正を行い、工具の先端が指令された経路に沿って動く制御である。ただし、回転軸の移動により工具長の補正方向が変わるため、指令していない軸の移動が発生する場合もある。図４において、Ｇ４３．４が工具先端点制御開始Ｇコードであり、Ｎ１１のブロックにおいてＺ軸指令はないけれどもＢ軸の変化にともなって図示するように工具根元側の機械位置としてＺ軸の移動が発生する。Ｚ軸の移動量は工具長補正量によるため、工具長補正量によってはオペレータの予期しない大きな移動量となる場合がある。
【００１０】
特許文献１や特許文献２に開示された技術は、軸指令に着目してアラームを検出することができず、マクロ呼出し、工具径補正、工具先端点制御になどによる誤った軸指令を検出することができない。
【００１１】
そこで、本発明の目的は、上記従来技術で述べたマクロ呼出し、工具径補正、工具先端点制御などによる誤った軸指令を検出した際にアラーム停止することにより、誤動作を防止するとともに動作確認を円滑に行う数値制御装置を提供することである。
【課題を解決するための手段】
【００１２】
本願の請求項１に係る発明は、指令プログラム解析部で指令プログラムを解析し解析した結果によって補間指令生成部で補間指令を生成する数値制御装置において、アラームとする軸を指定するアラーム軸指定部を有し、前記指令プログラム解析部が指令プログラムを解析した結果、前記アラーム軸指定部で指定した軸が指令される場合、又は、前記補間指令生成部が前記アラーム軸指定部で指定した軸を補間しようとした場合に、アラーム停止させる軸指令チェック部を有することを特徴とする数値制御装置である。  
請求項２に係る発明は、前記軸指令チェック部は前記指令プログラム解析部に属し前記指令プログラムにおいて前記アラーム軸指定部で指定した軸が指令されたかどうかを判断するとともに該軸に指令された量が予め設定された許容範囲を超えるかどうか判断し超えていた場合にアラーム停止させることを特徴する請求項１に記載の数値制御装置である。
【００１３】
請求項３に係る発明は、前記軸指令チェック部は前記補間指令生成部に属し前記補間指令において前記アラーム軸指定部で指定した軸が指令されたかどうかを判断するとともに誤った軸指令が指令された場合に指令された量が予め設定された許容範囲を超えるかどうか判断し超えていた場合にアラーム停止させることを特徴とする請求項１に記載の数値制御装置である。  
請求項４に係る発明は、前記軸指令チェック部は、前記指令プログラム解析部において前記アラーム軸指定部で指定した軸が指令されたかどうかを判断するとともに該軸が指令された場合に指令された量が予め設定された許容範囲を超えるかどうか判断し超えていた場合にアラーム停止させ、さらに前記補間指令生成部において前記アラーム軸指定部で指定した軸が指令されたかどうかを判断するとともに指令された場合に指令された量が予め設定された許容範囲を超えるかどうか判断し超えていた場合にアラーム停止させることを特徴とする請求項１に記載の数値制御装置である。
【発明の効果】
【００１４】
本発明により、工具径補正、工具先端点制御などによる誤った軸指令を検出した際にアラーム停止することにより、誤動作を防止するとともに動作確認を円滑に行う数値制御装置を提供できる。
【図面の簡単な説明】
【００１５】
【図１】マクロプログラム例を示す図である。
【図２】ＸＹ平面工具径補正のプログラム例を示す図である。
【図３】ＹＺ平面工具径補正のプログラム例を示す図である。
【図４】工具先端点制御のプログラム例を示す図である。
【図５】アラーム検出条件の設定の例を示す図である。
【図６】定義したプログラム指令でアラームを検出する例を示す図である。
【図７】許容範囲を超える軸指令でアラームを検出する例を示す図である。
【図８】工具先端点制御のプログラム例を示す図である。
【図９】本発明に係る数値制御装置のブロック図である。
【図１０】図９のプログラム軸指令チェック部の処理を示すフローチャートである。
【図１１】図９の補間軸指令チェック部の処理を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態を図面と共に説明する。  
＜実施形態１＞プログラムにおいて誤った軸指令を検出
「発明が解決しようとする課題」の欄で説明したように、マクロ呼出しを多重に行なった場合、プログラムが複雑になる。そこで、数値制御装置の指令プログラム解析部に属するプログラム軸指令チェック部がアラーム検出条件にもとづきチェックし、誤った（意図しない）軸指令を行なった際にアラーム停止とする。
【００１７】
図５に予め設定しておくアラーム検出条件の設定画面例を示す。２行目の設定項目は、プログラム指令においてＭ１００指令からＭ１０１指令までの間に誤った軸指令の対象軸としてＺ軸が指令された場合、アラーム停止とする設定である。許容範囲が空白であることは指令されたこと自体でアラーム停止する設定である。３行目の設定項目は、プログラム指令においてＭ２００指令からＭ２０１指令までの間に誤った軸指令の対象軸としてＺ軸の移動量が５．０より大きく移動する軸指令である場合、アラーム停止とする設定である。同様に３行目の設定項目はＭ３００指令からＭ３０１指令までの間にＺ軸が１０．０より大きく移動する軸指令である場合、アラーム停止する設定である。ここでは検出開始指令、検出終了指令をＭコード、誤った軸指令の対象軸を文字、許容範囲を数値による入力としているが、他のコードや信号などによる入力としてもよい。
【００１８】
図５において設定したアラーム検出条件で図６のプログラムＯ０００１、Ｏ０００２を運転する。Ｏ０００２のＭ１００指令からＭ１０１指令までの間にＺ軸の軸指令が行われるため、Ｏ９０１０におけるＮ１１のＺ軸指令においてアラーム停止する。
【００１９】
＜実施形態２＞プログラムにおいて誤った許容量を超える軸指令を検出
「発明が解決しようとする課題」の欄で説明したように、工具径補正を使用したプログラムを作成した場合、オフセットする平面の指定を誤ると意図した平面上に無い軸の移動が発生する場合がある。指令プログラム解析部に属するプログラム軸指令チェック部がアラーム検出条件にもとづきチェックし、誤った（意図しない）軸指令を行なった際にアラーム停止とする。
【００２０】
図５において設定したアラーム検出条件で図７のプログラムＯ０００３を運転する。図７においては、Ｎ１０以降でＧ１７平面を前提としたプログラムを作成している。誤ってＧ１９平面でこのプログラムを実行すると、プログラム作成時に意図しなかったＺ軸方向の指令が発生する。
【００２１】
Ｏ０００３のＭ２００指令からＭ２０１指令までの間にあるＮ１０ブロックにおいて、Ｚ軸が５．０より大きく移動するため、Ｏ０００３のＮ１０ブロックにおいてアラーム停止する。なお、この実施例では図５で示した許容量をＮ１０ブロックでもＭ２００とともに指令している。このように許容量はプログラムで指令してもよい。
【００２２】
＜実施形態３＞補間において誤った軸指令が許容範囲を超えたことを検出
「発明が解決しようとする課題」の欄で説明したように、工具先端点制御中に回転軸の移動指令を含むプログラムを指令すると、指令していないＺ軸の移動が発生する。補間指令生成部に属する補間軸指令チェック部がアラーム検出条件にもとづきチェックし、誤った（意図しない）軸指令を行なった際にアラーム停止とする。
【００２３】
図５において設定したアラーム検出条件で図８のプログラムＯ０００４を運転する。Ｏ０００４のＭ３００指令からＭ３０１指令までの間にあるＧ０１指令において、Ｚ軸に対して１０．０より大きい軸指令が生成されるため、Ｏ０００４のＧ０１指令においてアラーム停止する。なお、この例においても許容範囲の１０．０は図５のように設定してもよいしＭ３００の指令ブロックで指令してもよい。
【００２４】
＜ブロック図＞
図９に本発明のブロック図を示す。数値制御装置１０は、指令プログラム解析部１１で指令されたプログラムを解析し、解析されたデータにもとづき補間指令生成部１２で補間指令を生成し、生成した補間指令を軸制御部１３に送り、軸制御部１３は工作機械の各軸モータを駆動し工作機械を制御する。
【００２５】
本発明では指令プログラム解析部１１に属するプログラム軸指令チェック部１５が指令されたプログラムにおいてアラーム検出条件である誤った軸指令の対象軸の指令があるかどうか指令値が許容範囲を超えているかどうか、補間指令生成部１２に属する補間軸指令チェック部１６が誤った軸指令の対象軸の指令があるかどうか指令値が許容範囲を超えているかどうかを判断し、アラーム停止すべき場合アラーム停止依頼を行うことによりアラーム停止させる。アラーム停止依頼は指令プログラム解析部１１または補間指令生成部１２に対して行うが、アラーム停止依頼およびそれによるアラーム停止は従来技術であるので詳述しない。軸指令チェック部１４はプログラム軸指令チェック部１５および補間軸指令チェック部１６の少なくとも一方から成る。つまり、図９では軸指令チェック部１４はプログラム軸指令チェック部と補間軸指令チェック部から成るように描いているが、そのどちらかだけから成るようにしてもよい。アラーム軸指定部１７は、アラームとする軸を指定するものであり、数値制御装置１０の入力画面あるいはプログラムによる指定を意味する。
【００２６】
＜フローチャート＞
プログラム軸指令チェック部１５、補間軸指令チェック部１６の処理を、それぞれ図１０、図１１に示す。指令プログラム解析部１１では指令されたプログラムを解析して各ブロック毎、各アドレス毎の指令値が作成されている。指令プログラム解析部１１はそのように各ブロックの解析をして各軸の指令値作成毎にプログラム軸指令チェック部１５を呼び出す。補間指令生成部１２は指令プログラム解析部１１の解析データにもとづいて補間周期毎に各軸の補間指令を作成することにより補間を行う。補間指令生成部１２は各補間周期での各軸の補間指令作成毎に補間軸指令チェック部１６を呼び出す。補間軸指令チェック部１６の対象軸の補間指令積算値Ｓは検出開始指令が行われたときに０に初期化されている。補間周期での対象軸の補間指令をΔＳとする。
【００２７】
図１０は図９のプログラム軸指令チェック部の処理を示すフローチャートである。以下、各ステップに従って説明する。
［ステップｓａ０１］検出開始指令から検出終了指令までの間か否か判断し、ＹＥＳの場合にはステップｓａ０２へ移行し、ＮＯの場合には処理を終了する。  
［ステップｓａ０２］対象軸の指令か否か判断し、ＹＥＳの場合はステップｓａ０３へ移行し、ＮＯの場合には処理を終了する。  
［ステップｓａ０３］許容範囲は空白か否か判断し、ＹＥＳの場合はステップｓａ０５移行し、ＮＯの場合はステップｓａ０４へ移行する。  
［ステップｓａ０４］指令値は許容範囲内か否か判断し、ＹＥＳの場合は処理を終了し、ＮＯの場合はステップｓａ０５へ移行する。  
［ステップｓａ０５］指令プログラム解析部に対してアラーム停止依頼を行い、処理を終了する。
【００２８】
図１１は図９の補間軸指令チェック部の処理を示すフローチャートである。以下、各ステップに従って説明する。
［ステップｓｂ０１］検出開始指令から検出終了指令までの間か否か判断し、ＹＥＳの場合にはステップｓｂ０２へ移行し、ＮＯの場合には処理を終了する。  
［ステップｓｂ０２］対象軸の補間指令か否か判断し、ＹＥＳの場合はステップｓｂ０３へ移行し、ＮＯの場合には処理を終了する。  
［ステップｓｂ０３］許容範囲は空白か否か判断し、ＹＥＳの場合はステップｓｂ０６移行し、ＮＯの場合はステップｓｂ０４へ移行する。  
［ステップｓｂ０４］対象軸の補間指令ΔＳをＳに加算する。Ｓ＝Ｓ＋ΔＳ
［ステップｓｂ０５］Ｓは許容範囲内か否か判断し、ＹＥＳの場合は処理を終了し、ＮＯの場合はステップｓａ０６へ移行する。  
［ステップｓｂ０６］補間指令生成部に対してアラーム停止依頼を行い、処理を終了する。
【符号の説明】
【００２９】
１０  数値制御装置
１１  指令プログラム解析部
１２  補間指令生成部
１３  軸制御部
１４  軸指令チェック部
１５  プログラム軸指令チェック部
１６  補間軸指令チェック部
１７  アラーム軸指定部
【図１】
0005845300.tif 000002
【図５】
0005845300.tif 000003
【図６】
0005845300.tif 000004
【図９】
0005845300.tif 000005
【図１０】
0005845300.tif 000006
【図１１】
0005845300.tif 000007
【図２】
0005845300.tif 000008
【図３】
0005845300.tif 000009
【図４】
0005845300.tif 000010
【図７】
0005845300.tif 000011
【図８】
0005845300.tif 000012