(57)【要約】【課題】特定の補助機能の実行及び不実行を自動的に決定できる数値制御装置を得る。【解決手段】マクロプログラムで呼び出されたときのみ実行する特定の補助機能を予め登録しておく。プログラムよりマクロプログラム呼び出し命令が読み出される毎に、呼び出しカウンタを１加算する（Ｓ３、Ｓ７）。又、マクロプログラム戻し指令が読み出される毎に呼び出しカウンタを１減算する（Ｓ４、Ｓ９）。特定の補助機能が読み出されたときには（Ｓ５）、呼び出しカウンタの値が＋であればその補助機能を実行し、＋でなければその補助機能の実行を禁止する（Ｓ１１〜Ｓ１３）。マクロプログラムでの特定な補助機能の実行指令は、所定のシーケンスをふまえて指令されるものであるから、安全に実行できる。他の場合における特定の補助機能の指令は、所定のシーケンスをふまえずに指令されている恐れがあり、実行すると誤動作する恐れがある。これを未然に防止できる。【選択図】図２
2007226383.tif 000002
【特許請求の範囲】
【請求項１】
予め登録された特定の補助機能が指令されたプログラムの種別を判断する判別手段を備え、該判別手段の判別結果に基づいて、前記指令された特定の補助機能の実行、非実行を決定する数値制御装置。
【請求項２】
前記判別手段は、前記特定の補助機能が指令されたプログラムが、マクロプログラム、またはマクロプログラムから呼び出されたプログラムであるかを判断の基準とする、請求項１に記載の数値制御装置。
【請求項３】
前記判別手段は、プログラムからマクロプログラムの呼び出し命令が読み出される毎に、カウンタを１加算し、マクロプログラムの戻し命令が読み出される毎に前記カウンタを１減算し、前記特定の補助機能が読み出されたときには、前記カウンタの値が正であるか否かによって、マクロプログラム、またはマクロプログラムから呼び出されたプログラムかを判別する請求項２に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械、放電加工機、射出成形機などの各種機械を制御する数値制御装置に関し、特定の補助機能を選択的に実行できるようにした数値制御装置に関する。
【背景技術】
【０００２】
工作機械や放電加工機、射出成形機などの各種産業機械を制御する数値制御装置には、機械や制御システムのモードを決める準備機能（Ｇ機能）、機械又は制御システムの個々の機能を制御する補助機能（Ｍ機能）、工具の指定や指定された工具に関する事項を指定する工具機能（Ｔ機能）、工具の送り速度、送り量を指定する送り機能（Ｆ機能）、主軸の回転速度を指定する主軸機能（Ｓ機能）等がある。これらの機能の内、機械又は制御システムの個々の機能を制御する補助機能には、機械を使用する際に、普段使用しないような補助機能をも有する場合がある。例えば、工作機械メーカが作成した機械のメンテナンスのための補助機能などは、普段使用しない補助機能がある。
【０００３】
機械メーカが作成した補助機能は機械固有の種類や構成に合わせ固有の制御を行うものである。上述したような、機械のメンテナンスのための補助機能などは、機械固有の構成等に影響を受け、決まったシーケンスの中で実行されることが必要なものがある。機械メーカが作成するマクロプログラムは、そのシーケンスをふまえて作成されている。この機械メーカ等が作成するマクロプログラムは、機械メーカが所望の機能を数値制御装置に実行させるために一群の命令をサブプログラムのようにメモリに登録しておき、マクロ呼び出し命令で該マクロプログラムを呼び出し実行させるものであるから、機械メーカが所定のシーケンスをふまえて作成し、このマクロプログラム上で特定の補助機能（機械メンテナンスの機能）を指定して実行させるものである。
【０００４】
しかし、機械を使用するユーザが作成したユーザプログラムなどでは、上述した決まったシーケンスをふまえずに指令される場合が多くなる。この所定のシーケンスをふまえずにこの特定の補助機能を指令すると機械が誤動作するという問題がある。
【０００５】
プログラムで指令されているにもかかわらず、補助機能を実行させないようにする方法として、従来は、外部スイッチを設け、このスイッチがオンの状態であれば特定の補助機能を指令可能とし、オフの状態であれば、指令不可能とする機構をマクロプログラムやラダーシーケンスプログラムで作成していた。例えば、特許文献１に記載された発明では、補助機能ロックスイッチを設けて、ＮＣプログラムチェック時に、該補助機能ロックスイッチをオンとすると、ＮＣプログラムで補助機能のオン指令があっても、これを無視するようにしている。
【０００６】
又、呼び出し指令を検討するものとして、プログラム中に呼び出しコードがあるか検索し、呼び出しコードがあれば、このコードと呼び出し先のプログラムがメモリに記憶されているか検索し、呼び出し先のプログラムがないとき、また、呼び出し先のプログラムがあっても、コードに誤りがあるとき、又、コードの使用方法に誤りがあるときは、アラーム内容の検索が行われ、表示処理に進み、プログラム、プログラム構成図、アラームを表示する表示処理がなされるようにした発明が知られている（特許文献２参照）。
【０００７】
さらに、メインプログラム、サブプログラム毎にメインプログラム又はサブプログラム中で読み出し及び書き込み許容するデータ領域、若しくは許容しないデータ領域を設定しておき、読み出し及び書き込み許容しないデータ領域に対する読み出し及び書き込み処理を行おうとする命令を禁止するようにした発明も知られている（特許文献３参照）。
【０００８】
【特許文献１】特許第３３９６３０２号公報
【特許文献２】特開平８−６３２１８号公報
【特許文献３】特開平１１−３０５８０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
所定のシーケンスをふまえて指令される必要のある補助機能が、機械のユーザが通常使用しないものであるからといって、その補助機能を使用できないようにすることは、その補助機能を設けた意味がなく、又、所定のシーケンスをふまえずにその補助機能の実行の指令がなされては、機械に誤動作を起こさせるのでは問題である。又、外部スイッチを設け、マクロプログラムやラダーシーケンスプログラムを作成し、該外部スイッチの状態に応じて補助機能の指令を可能としたり不可能とすることは、スイッチの設定、プログラムの作成等に費用と手間がかかり問題である。  
そこで、本発明の目的は、特定の補助機能の実行及び不実行を自動的に決定できる数値制御装置を提供することにある。
【課題を解決するための手段】
【００１０】
本発明は、予め登録された特定の補助機能が指令されたプログラムの種別を判断する判別手段を備え、該判別手段の判別結果に基づいて、前記指令された特定の補助機能の実行、非実行を決定する数値制御装置である。特に、前記判別手段は、前記特定の補助機能が指令されたプログラムが、マクロプログラム、またはマクロプログラムから呼び出されたプログラムであるかを判断の基準とする。さらに、前記判別手段は、プログラムからマクロプログラムの呼び出し命令が読み出される毎に、カウンタを１加算し、マクロプログラムの戻し命令が読み出される毎に前記カウンタを１減算し、前記特定の補助機能が読み出されたときには、前記カウンタの値が正であるか否かによって、マクロプログラム、またはマクロプログラムから呼び出されたプログラムかを判別するようにした。
【発明の効果】
【００１１】
マクロプログラムで特定の補助機能が指令されたときは、所定のシーケンスをふまえてその特定の補助機能が指令されたとみなされるので、その補助機能を実行しても問題はない。マクロプログラムの実行中でないときにこの特定の補助機能が指令されたときは、非実行とした。これを自動的に判断して実行するようにしたので、機械の誤動作を未然に安価でかつ容易に防止することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の一実施形態について図面と共に説明する。  
図１は本発明の一実施形態の数値制御装置１０の要部ブロック図である。ＣＰＵ１１は数値制御装置１０を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステムプログラムを、バス１９を介して読み出し、該システムプログラムに従って数値制御装置全体を制御する。ＲＡＭ１３には一時的な計算データや表示データ及びＣＲＴや液晶等で構成される表示器とキーボート等で構成される手動入力手段とからなる表示器／手動入力手段ユニット２０を介してオペレータが入力した各種データが格納される。ＣＭＯＳメモリ１４は図示しないバッテリでバックアップされ、数値制御装置１０の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。ＣＭＯＳメモリ１４中には、インターフェイス１５を介して読み込まれた加工プログラムや表示器／手動入力手段ユニット２０を介して入力された加工プログラム等が記憶される。
【００１３】
インターフェイス１５は、数値制御装置１０と外部機器との接続を可能とするものである。ＰＭＣ（プログラマブル・マシン・コントローラ）１６は、数値制御装置１０に内蔵されたシーケンスプログラムで制御対象物の工作機械の補助装置にＩ／Ｏユニット１７を介して信号を出力し制御する。また、数値制御装置で制御される制御対象物である工作機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、ＣＰＵ１１に渡す。  
各軸の軸制御回路３０〜３２はＣＰＵ１１からの各軸の移動指令量を受けて、各軸の指令をサーボアンプ４０〜４２に出力する。サーボアンプ４０〜４２はこの指令を受けて、機械（制御対象物）の各軸のサーボモータ５０〜５２を駆動する。各軸のサーボモータ５０〜５２は位置・速度検出器を内蔵し、この位置・速度検出器からの位置、速度フィードバック信号を軸制御回路３０〜３２にフィードバックし、位置・速度のフィードバック制御を行う。なお、図１では、位置・速度のフィードバックについては省略している。
【００１４】
また、スピンドル制御回路６０は主軸回転指令を受け、スピンドルアンプ６１にスピンドル速度信号を出力する。スピンドルアンプ６１はスピンドル速度信号を受けて、スピンドルモータ６２を指令された回転速度で回転させる。ポジションコーダ６３は、スピンドルモータ６２の回転に同期して帰還パルスをスピンドル制御回路６０にフィードバックし、速度制御を行う。
【００１５】
上述した数値制御装置の構成は、従来の数値制御装置と同一であり、本実施形態ではプログラムを実行するとき、特定の補助機能をマクロプログラム実行中で指令されたか否かによって、その特定の補助機能を実行するか、実行しないかを決定するようにしたソフトウェアで構成された実行手段を有する点に特徴を有するものである。
【００１６】
この実施形態では、補助機能の内、機械メーカが作成したマクロプログラムで指令されたときのみ実行できるような特定な補助機能を予め設定しておく。数値制御装置が加工プログラムを実行するときには、図２にフローチャートで示すアルゴリズムを実行する。  
まず、ＣＰＵ１１は、プログラムが１ブロックの指令を読み出し解析し（ステップＳ１）、該ブロックの指令がプログラム終了の指令か判断し（ステップＳ２）、プログラム終了の指令でなければ、マクロプログラムの呼び出し命令か判断する（ステップＳ３）。マクロプログラム呼び出し命令でなければ、マクロプログラムの戻し指令かを判断する（ステップＳ４）。マクロプログラムの戻し指令でもなければ、読み出した指令が予め設定登録されている特定の補助機能の実行指令か判断する（ステップＳ５）。特定の補助機能の実行指令でもなければ、読み出した指令を実行し（ステップＳ６）、ステップＳ１に戻り、次のブロックを読み出し解析する。
【００１７】
ステップＳ３でマクロプログラムの呼び出し命令であると判断されたときには、マクロプログラムの呼び出しをカウントする呼び出しカウンタを１インクリメントし（ステップＳ７）、このマクロプログラム呼び出し指令を実行する（ステップＳ８）。そして、ステップＳ１に戻る。なお、呼び出しカウンタは、初期設定で最初は「０」にセットされている。  
一方、マクロプログラムの戻し指令が読み出されると、ステップＳ４からステップＳ９に移行し、呼び出しカウンタを１ディクリメントし（ステップＳ９）、戻し処理を実行し（ステップＳ１０）、ステップＳ１に戻る。
【００１８】
以下、マクロプログラム呼び出し命令が読み出される毎に呼び出しカウンタは１加算され、マクロプログラムの戻し指令が読み出される毎に呼び出しカウンタは１減算されることになる。よって、マクロプログラムからさらに別のマクロプログラムの呼び出し指令が読み込まれると呼び出しカウンタは、順次加算されていくことになり、マクロプログラムの戻し指令が読み出される毎に、読み出しカウンタは１つ減算されることになる。その結果、読み出しカウンタが正の値を記憶しない「０」のときが、マクロプログラムの実行中ではないときを意味する。
【００１９】
ステップＳ５で、読み出された指令が、予め設定登録されている補助機能の指令であることが判別されると、呼び出しカウンタの値がプラスの値か判断する（ステップＳ１１）。該呼び出しカウンタの値がプラスであれば、マクロプログラム実行中にこの特定の補助機能が呼び出されたことを意味し、所定のシーケンスをふまえてこの特定の補助機能が指令されたものであるから、この指令された補助機能を実行する（ステップＳ１３）。
【００２０】
一方、呼び出しカウンタの値がプラスの値ではないとき、すなわち「０」のときには、マクロプログラムから読み出されたものではなく、ユーザプログラムから読み出されたものと判断され、この場合は、所定のシーケンスをふまえずに指令されている恐れがあることから、指令された特定の補助機能の実行を禁止し、実行しない（ステップＳ１０）。なお、この場合、アラームを出して、表示器／手動入力手段ユニット２０の表示画面に指令された特定の補助機能を実行しない旨を表示するようにしてもよい。  
その後、ステップＳ１に戻り、前述したステップＳ１以下の処理を実行し、ステップＳ２でプログラム終了が読み込まれると、このプログラム処理を終了する。
【００２１】
以上のように、設定登録された特定の補助機能については、マクロプログラム実行中にその特定の補助機能が指令されたときは実行し、マクロプログラム実行中ではないときは、実行しないようにした。機械メーカが作成したマクロプログラムでは、特定の補助機能を指令するとき、所定のシーケンスをふまえてマクロプログラムを作成しその特定の補助機能を指令しているものと判断されることから、その特定の補助機能を実行しても、機械が誤動作することはない。一方、マクロプログラムではないプログラムから特定の補助機能が指令されたときは、所定のシーケンスをふまえずに指令されている可能性があり、機械が誤動作する恐れがあることから、この特定の補助機能を実施しないようにして、機械の誤動作を防止した。
【図面の簡単な説明】
【００２２】
【図１】本発明の一実施形態の数値制御装置の要部ブロック図である。
【図２】同実施形態における特定な補助機能の実行、不実行を制御する処理のアルゴリズムを示すフローチャートである。
【符号の説明】
【００２３】
１０  数値制御装置
５０〜５２  サーボモータ
６２  スピンドルモータ
６３  ポジションコーダ
【図１】
2007226383.tif 000003
【図２】
2007226383.tif 000004