(57)【特許請求の範囲】
【請求項１】
プログラムに基づいて機械を制御する数値制御装置において、
前記プログラムの実行の順行および逆行を手動で指令する手動プログラム実行指令部と、前記手動プログラム実行指令部からの指令に基づいて前記プログラムを順次実行するプログラム手動実行部と、
前記プログラム手動実行部による前記プログラムの実行状況に基づいて、これから実行を開始しようとしている前記プログラムのブロックを特定し、特定した前記ブロックの属性に応じた通知を行うブロック情報通知部と、
を備え、
前記ブロック情報通知部は、更に、前記プログラム手動実行部による前記プログラムの実行状況に基づいて、現在実行されている前記プログラムのブロックの各軸の残移動量があらかじめ設定された所定のマージン以下である場合に通知を行う、
ことを特徴とする数値制御装置。
【請求項２】
前記プログラムに含まれるブロックのブロック番号と、前記ブロックの属性を示す情報とを関連付けたブロック属性データを記憶するブロック属性記憶部を更に備え、
前記ブロック情報通知部は、前記ブロック属性記憶部に記憶されるブロック属性データに基づいて、これから実行を開始しようとしている前記プログラムのブロックの属性を判定する、
ことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記ブロックの属性を示す情報は、前記ブロックが編集されたブロックであることを示す情報である、
ことを特徴とする請求項２に記載の数値制御装置。
【請求項４】
前記ブロックの属性を示す情報は、前記ブロックがオペレータに対する通知対象とするべきブロックであることを示す情報である、
ことを特徴とする請求項２または３に記載の数値制御装置。
【請求項５】
前記ブロックの属性を示す情報は、前記ブロックがプログラム実行の逆行が禁止されているブロックであることを示す情報である、
ことを特徴とする請求項２〜４のいずれか１つに記載の数値制御装置。
【請求項６】
前記プログラムに用いられる指令コードと、前記指令コードの属性を示す情報とを関連付けた指令属性データを記憶する指令属性記憶部をさらに備え、
前記ブロック情報通知部は、前記指令属性記憶部に記憶される指令属性データに基づいてこれから実行を開始しようとしている前記プログラムのブロックの属性を判定する、
ことを特徴とする請求項１〜５のいずれか１つに記載の数値制御装置。
【請求項７】
前記指令コードの属性を示す情報は、前記指令コードがプログラム実行の逆行が禁止されている指令コードであることを示す情報である、
ことを特徴とする請求項６に記載の数値制御装置。
【請求項８】
前記ブロック情報通知部は、これから実行を開始しようとしているブロックの属性がプログラム実行の逆行が禁止されていることを示す属性である場合において、前記プログラム実行の逆行を禁止する指令を前記プログラム手動実行部へと出力し、
前記プログラム手動実行部は、前記プログラムの実行の逆行を禁止する指令を受けると、前記プログラムの実行の逆行を禁止する、
ことを特徴とする請求項５または７に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関し、特に手動ハンドルリトレース機能を用いたプログラムの動作確認を効率よく行うことを可能とする数値制御装置に関する。
【背景技術】
【０００２】
従来、自動盤や多系統旋盤のような複数の制御系統を持つ工作機械において、オペレータが手動ハンドルを用いてプログラムの動作を制御する手動ハンドルリトレース機能がある（例えば、特許文献１）。
図１４は、手動ハンドルリトレース機能による工作機械の制御について説明する図である。手動ハンドルリトレース機能を用いる場合、オペレータは手動ハンドルを正転させることによりプログラム指令の実行を順行させることができ、これに従って工作機械での軸移動が順行する。一方で、オペレータは手動ハンドルを逆転させることによりプログラム指令の実行を逆行させることができ、これに従って工作機械の軸移動が逆行する。
【０００３】
図１５は、手動ハンドルリトレース機能を用いてプログラムの動作確認をする際の流れを示す図である。図１５に示すように、オペレータはプログラムの動作確認をする際には手動ハンドルを正転させることでプログラムを順行させながら工作機械の各軸の動きを目視で確認する。この時、工作機械の各軸の動きに問題があることを発見した場合には、オペレータは手動ハンドルを逆転させて問題のある動作の前のところまで工作機械の動きを逆行させてから数値制御装置を操作してプログラムの編集モードにする。そして、オペレータは問題のある動作の原因となったプログラム指令を修正して編集を終了する。その後、数値制御装置を再度運転モードへと切り替えて、手動ハンドルを操作することで修正したプログラムに基づく工作機械の動作をチェックする。このように、手動ハンドルリトレース機能を用いることで、オペレータは手早く簡単にプログラムの修正と再チェックを行うことができる。
【０００４】
なお、プログラムの動作状況をオペレータに知らせる従来技術として、特許文献２にはブロックの終点に到達したことを機内にある照明器により光で通知する技術が開示されている。また、特許文献３には、工作機械の動作状況を楽曲などにより知らせる技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第２９３５７０６号公報
【特許文献２】特開２０１３−１６８００８号公報
【特許文献３】特開平１０−０７６４４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
手動ハンドルリトレース機能を用いてプログラムの動作確認をする場合、オペレータはチェックしたいブロックに到達したかを確認するために、工作機械の機内と数値制御装置の表示器に表示されるプログラム画面との間で視点を行き来させる必要がある。
【０００７】
このような状況に対応するために特許文献２や特許文献３に開示される技術を用いるという考えもあるが、照明器の光や楽曲だけではオペレータが編集したブロックに到達したかどうかは把握できないといという課題が残る。
【０００８】
そこで本発明の目的は、手動ハンドルリトレース機能を用いたプログラムの動作確認を効率よく行うことを可能とする数値制御装置を提供することである。
【課題を解決するための手段】
【０００９】
本発明では、手動ハンドルリトレース機能を用いている時にオペレータがプログラム編集を行うと、編集したプログラム指令に基づく工作機械の動作の再チェックをする際に編集したブロックに到達したことをオペレータに伝える機能を数値制御装置に設ける。
【００１０】
そして、本願の請求項１に係る発明は、プログラムに基づいて機械を制御する数値制御装置において、前記プログラムの実行の順行および逆行を手動で指令する手動プログラム実行指令部と、前記手動プログラム実行指令部からの指令に基づいて前記プログラムを順次実行するプログラム手動実行部と、前記プログラム手動実行部による前記プログラムの実行状況に基づいて、これから実行を開始しようとしている前記プログラムのブロックを特定し、特定した前記ブロックの属性に応じた通知を行うブロック情報通知部と、を備え、前記ブロック情報通知部は、更に、前記プログラム手動実行部による前記プログラムの実行状況に基づいて、現在実行されている前記プログラムのブロックの各軸の残移動量があらかじめ設定された所定のマージン以下である場合に通知を行う、ことを特徴とする数値制御装置である。
【００１１】
本願の請求項２に係る発明は、前記プログラムに含まれるブロックのブロック番号と、前記ブロックの属性を示す情報とを関連付けたブロック属性データを記憶するブロック属性記憶部を更に備え、前記ブロック情報通知部は、前記ブロック属性記憶部に記憶されるブロック属性データに基づいて、これから実行を開始しようとしている前記プログラムのブロックの属性を判定する、ことを特徴とする請求項１に記載の数値制御装置である。
本願の請求項３に係る発明は、前記ブロックの属性を示す情報は、前記ブロックが編集されたブロックであることを示す情報である、ことを特徴とする請求項２に記載の数値制御装置である。
【００１３】
本願の請求項４に係る発明は、前記ブロックの属性を示す情報は、前記ブロックがオペレータに対する通知対象とするべきブロックであることを示す情報である、ことを特徴とする請求項２または３に記載の数値制御装置である。
【００１４】
本願の請求項５に係る発明は、前記ブロックの属性を示す情報は、前記ブロックがプログラム実行の逆行が禁止されているブロックであることを示す情報である、ことを特徴とする請求項２〜４いずれか１つに記載の数値制御装置である。
【００１５】
本願の請求項６に係る発明は、前記プログラムに用いられる指令コードと、前記指令コードの属性を示す情報とを関連付けた指令属性データを記憶する指令属性記憶部をさらに備え、前記ブロック情報通知部は、前記指令属性記憶部に記憶される指令属性データに基づいてこれから実行を開始しようとしている前記プログラムのブロックの属性を判定する、ことを特徴とする請求項１〜５のいずれか１つに記載の数値制御装置である。
【００１６】
本願の請求項７係る発明は、前記指令コードの属性を示す情報は、前記指令コードがプログラム実行の逆行が禁止されている指令コードであることを示す情報である、ことを特徴とする請求項６に記載の数値制御装置である。
【００１７】
本願の請求項８に係る発明は、前記ブロック情報通知部は、これから実行を開始しようとしているブロックの属性がプログラム実行の逆行が禁止されていることを示す属性である場合において、前記プログラム実行の逆行を禁止する指令を前記プログラム手動実行部へと出力し、前記プログラム手動実行部は、前記プログラムの実行の逆行を禁止する指令を受けると、前記プログラムの実行の逆行を禁止する、ことを特徴とする請求項５または７に記載の数値制御装置である。
【発明の効果】
【００１９】
本発明により、機内とプログラム画面間を視点が行き来することが無くなるので、オペレータは手動ハンドルリトレース機能を用いたプログラムの動作の確認を効率よく行うことができるようになる。
【図面の簡単な説明】
【００２０】
【図１】本発明の手動ハンドルリトレース機能の使用時における編集ブロック通知機能を説明する図である。
【図２】本発明の手動ハンドルリトレース機能の使用時における指定ブロック通知機能を説明する図である。
【図３】本発明の手動ハンドルリトレース機能の使用時における逆行禁止ブロック通知機能を説明する図である。
【図４】本発明の手動ハンドルリトレース機能の使用時におけるブロック切り換わり通知機能を説明する図である。
【図５】本発明の一実施形態による数値制御装置の概略構成図である。
【図６】本発明の第１の実施形態による数値制御装置の機能ブロック図である。
【図７】図６のブロック属性記憶部４１に記憶されるブロック属性データの例を示す図である。
【図８】本発明の第２の実施形態による数値制御装置の機能ブロック図である。
【図９】図８のブロック属性記憶部４１に記憶されるブロック属性データの例を示す図である。
【図１０】本発明の第３の実施形態による数値制御装置の機能ブロック図である。
【図１１】図１０のブロック属性記憶部４１に記憶されるブロック属性データの例を示す図である。
【図１２】本発明の第４の実施形態による数値制御装置の機能ブロック図である。
【図１３】本発明の他の実施形態によるブロック属性の記憶方法について説明する図である。
【図１４】従来技術による手動ハンドルリトレース機能について説明する図である。
【図１５】従来技術による手動ハンドルリトレース機能を用いたプログラム編集方法について説明する図である。
【発明を実施するための形態】
【００２１】
以下、本発明の実施形態を図面と共に説明する。最初に、図１〜４を用いて本発明の数値制御装置に導入される各機能の動作について説明する。
図１は、本発明の手動ハンドルリトレース機能の使用時における編集ブロック通知機能を説明する図である。本発明の数値制御装置では、手動ハンドルリトレース機能を用いている時にオペレータがプログラム編集を行うと、オペレータが編集したプログラムの編集ブロックを一時的にメモリ上に記憶し、編集したプログラム指令に基づく工作機械の動作の再チェックをするためにプログラム指令を順行または逆行している際に、実行を開始しようとしているブロックがメモリに記憶したオペレータが編集したブロックである場合、その旨を発音などでオペレータに伝える。
【００２２】
図２は、本発明の手動ハンドルリトレース機能の使用時における指定ブロック通知機能を説明する図である。本発明の数値制御装置では、手動ハンドルリトレース機能を用いている時に実行を開始しようとしているブロックがオペレータにより指定されたブロックである場合、その旨を発音などでオペレータに伝える。本機能においては、順行時に実行を開始しようとしているブロックが指定ブロックである場合、および逆行時に実行を開始しようとしているブロックが指定ブロックまで戻った場合に、それぞれ発音するようにしても良い。
【００２３】
図３は、本発明の手動ハンドルリトレース機能の使用時における逆行禁止ブロック通知機能を説明する図である。本発明の数値制御装置では、手動ハンドルリトレース機能を用いている時に、数値制御装置の仕様により逆行が禁止されている指令コードを含むブロックまたはオペレータにより指定された逆行禁止ブロックへとオペレータがプログラムの実行を逆行させようとした場合、オペレータの逆転操作を禁止すると共に、その旨を発音などでオペレータに伝える。オペレータの逆転操作を禁止する方法としては、手動ハンドルの操作をロックする方法を用いても良いし、オペレータが手動ハンドルを逆転操作してもプログラム実行を逆行させないように制御するようにしても良い。
【００２４】
図４は、本発明の手動ハンドルリトレース機能の使用時におけるブロック切り換わり通知機能を説明する図である。本発明の数値制御装置では、手動ハンドルリトレース機能を用いてプログラム指令を順行または逆行している時に実行ブロックがブロックの切り換わりに到達する手前で、その旨を発音などでオペレータに伝える。
【００２５】
図５は、上記４つの機能を実現する本発明の一実施形態による数値制御装置の概略構成図である。数値制御装置１はプロセッサ１０を中心に構成されている。プロセッサ１０はＲＯＭ１１に格納されたシステム・プログラムに従って数値制御装置１全体を制御する。このＲＯＭ１１にはＥＰＲＯＭあるいはＥＥＰＲＯＭが使用される。
【００２６】
ＲＡＭ１２にはＤＲＡＭ等が使用され、一時的な計算データ、表示データ、入出力信号等が格納される。不揮発性メモリ１３には図示されていないバッテリによってバックアップされたＣＭＯＳやＳＲＡＭが使用され、電源切断後も保持すべきパラメータ、加工プログラム、工具補正データ等が記憶される。
【００２７】
ＬＣＤ／ＭＤＩユニット１８は、数値制御装置１の前面あるいは機械操作盤と同じ位置に配置され、データ及び図形の表示、データ入力、数値制御装置１の運転に使用される。グラフィック制御回路１９は数値データ及び図形データ等のディジタル信号を表示用のラスタ信号に変換し、表示装置２０に送り、表示装置２０はこれらの数値及び図形を表示する。表示装置２０には主に液晶表示装置が使用される。
【００２８】
キーボード２１は数値キー、シンボリックキー、文字キー及び機能キーから構成され、加工プログラムの作成、編集及び数値制御装置の運転に使用される。ソフトウェアキー２２は表示装置２０の下部に設けられ、その機能は表示装置に表示される。表示装置の画面が変化すれば、表示される機能に対応して、ソフトウェアキー２２の機能も変化する。
【００２９】
軸制御回路１４はプロセッサ１０からの軸の移動指令を受けて、軸の移動指令をサーボアンプ１５に出力する。サーボアンプ１５はこの移動指令を増幅し、工作機械２に結合されたサーボモータを駆動し、工作機械２の工具とワークの相対運動を制御する。なお、図５では１軸分のみ示したが、軸制御回路１４及びサーボアンプ１５はサーボモータの軸数に対応した数だけ設けられる。
【００３０】
ＰＭＣ（プログラマブル・マシン・コントローラ）１６はプロセッサ１０からバス１７経由でＭ（補助）機能信号、Ｓ（スピンドル速度制御）機能信号、Ｔ（工具選択）機能信号等を受け取る。そして、これらの信号をシーケンス・プログラムで処理して、出力信号を出力し、工作機械２内の空圧機器、油圧機器、電磁アクチュエイタ等を制御する。また、工作機械２内の機械操作盤のボタン信号、スイッチ信号、手動プログラム実行指令部として用いる手動ハンドル３からのハンドル操作に係る信号等の各種信号を受けて、シーケンス処理を行い、バス１７を経由してプロセッサ１０に必要な入力信号を転送する。
なお、図１ではスピンドルモータ制御回路及びスピンドルモータ用アンプ等は省略してある。
【００３１】
音声インタフェース２３は、プロセッサ１０からの発音指令を受けて、該発音指令により指令された音声を外部スピーカー４から発音する。
【００３２】
図６は、本発明の第１の実施形態による数値制御装置の機能ブロック図である。本実施形態の数値制御装置１は、プログラム編集部３０、プログラム手動実行部３１、ブロック情報通知部３２を備える。また、図示しないメモリ上にプログラム４０を記憶する領域と、編集ブロックを記憶する領域であるブロック属性記憶部４１が確保されている。
【００３３】
プログラム編集部３０は、数値制御装置１上で手動ハンドルリトレース機能を用いたプログラム４０の動作確認を行っている最中にオペレータが数値制御装置１をプログラムの編集モードへと切り替えた際に、数値制御装置１の表示装置２０上にプログラム４０の編集画面を表示し、オペレータからのキーボード２１からの入力に従ってプログラム４０の編集を行う機能手段である。プログラム編集部３０は、オペレータによりプログラム４０の編集が行われると当該編集内容をプログラム４０に対して反映すると共に、編集されたプログラムのブロックに係る情報であるブロック属性データをブロック属性記憶部４１へと記憶する。
図７は、ブロック属性記憶部４１に記憶される編集されたブロックに係る情報の例を示す図である。図７に示すように、ブロック属性記憶部４１には、ブロック番号とブロックの属性とが関連付けられたブロック属性データが記憶され、例えば、プログラム４０のＮ６，Ｎ７が編集された場合、ブロック属性記憶部４１には、編集されたブロック番号と、当該ブロックが編集されたブロックであることを示す属性値（図７では編集ブロックの属性値は１としている）とが関連付けて記憶される。
【００３４】
プログラム手動実行部３１は、数値制御装置１上で手動ハンドルリトレース機能が用いられている時に機能する機能手段であり、オペレータにより手動プログラム実行指令部として用いられる手動ハンドル３の操作信号を工作機械２経由で受け付け、受け付けた操作信号に基づいてプログラム４０を順行または逆行で実行し、プログラムの実行状況（現在実行しているブロックのブロック番号、順行／逆行に係る情報、当該ブロックで指令される各軸の移動量、当該ブロックの指令による各軸の現在の移動量、当該ブロックの次に実行されるブロックのブロック番号など）を編集ブロック通知部へと出力する。プログラム手動実行部３１は、プログラム４０からプログラム指令のブロックを読み出し、読み出したブロックを解析することで移動指令に係るデータを生成する。そして、手動ハンドル３の操作信号に基づいて、手動ハンドル３が正転している時は生成された移動指令に係るデータの順方向へ、手動ハンドル３が逆転している時は生成された移動指令に係るデータの逆方向へと移動させるように軸制御回路１４に対して指令することで工作機械２が備える各軸を制御する。また、その際には手動ハンドル３の回転速度に応じて移動速度や移動量を制御するようにしても良い。プログラム手動実行部３１による手動ハンドル３からの操作信号に基づく工作機械２の軸制御の動作に関しては例えば特開平０８−００１４８２号公報などの従来技術で十分に開示されているので、本明細書では詳細な説明を省略する。
【００３５】
ブロック情報通知部３２は、ブロック属性記憶部４１に記憶されているブロックの属性情報と、プログラム手動実行部３１から受け付けたプログラムの実行状況を示す情報とから、実行を開始しようとしているブロックがオペレータにより編集されたブロックであるか否かを判定し、実行を開始しようとしているブロックがオペレータにより編集されたブロックである場合に、その旨を外部スピーカー４により発音してオペレータに通知する。ブロック情報通知部３２は、編集したブロックであることを示す音を発音するようにしてもよく、また、編集したブロックであることを示す音に加えて当該ブロックのブロック番号を合成音声により発音するようにしても良い。また、プログラム４０の実行が順行時にのみ発音するようにしても良いし、順行時／逆行時が区別できるように異なる音でそれぞれ発音するようにしても良い。
【００３６】
図８は、本発明の第２の実施形態による数値制御装置の機能ブロック図である。本実施形態の数値制御装置１は、プログラム手動実行部３１、ブロック情報通知部３２、指定ブロック設定部３３を備える。また、図示しないメモリ上にプログラム４０を記憶する領域と、編集ブロックを記憶する領域であるブロック属性記憶部４１が確保されている。
【００３７】
指定ブロック設定部３３は、オペレータからの数値制御装置１のキーボード２１などの操作に基づいてオペレータへの通知対象とするプログラム４０のブロックの指定を受け付けて、オペレータへの通知対象として指定されたブロックに係る情報であるブロック属性データをブロック属性記憶部４１へと記憶する機能手段である。
図９は、ブロック属性記憶部４１に記憶されるオペレータへの通知対象として指定されたブロックに係る情報の例を示す図である。図９の例では、プログラム４０のＮ６が指定ブロック設定部３３によりオペレータへの通知対象のブロックとして指定された場合を示しており、ブロック属性記憶部４１には、指定されたブロック番号と、当該ブロックが指定されたブロックであることを示す属性値（図９では指定ブロックの属性値は２としている）とが関連付けて記憶される。
【００３８】
プログラム手動実行部３１の動作については、第１の実施形態と同様である。
ブロック情報通知部３２は、ブロック属性記憶部４１に記憶されているブロックの属性情報と、プログラム手動実行部３１から受け付けたプログラムの実行状況を示す情報とから、実行を開始しようとしているブロックがオペレータへの通知対象として指定されたブロックであるか否かを判定し、実行を開始しようとしているブロックがオペレータへの通知対象として指定されたブロックである場合に、その旨を外部スピーカー４により発音してオペレータに通知する。ブロック情報通知部３２は、オペレータへの通知対象として指定されたブロックであることを示す音を発音するようにしてもよく、また、オペレータへの通知対象として指定されたブロックであることを示す音に加えて当該ブロックのブロック番号を合成音声により発音するようにしても良い。また、プログラム４０の実行が順行時にのみ発音するようにしても良いし、順行時／逆行時が区別できるように異なる音でそれぞれ発音するようにしても良い。
【００３９】
図１０は、本発明の第３の実施形態による数値制御装置の機能ブロック図である。本実施形態の数値制御装置１は、プログラム手動実行部３１、ブロック情報通知部３２、逆行禁止ブロック設定部３４を備える。また、図示しないメモリ上にプログラム４０を記憶する領域と、編集ブロックを記憶する領域であるブロック属性記憶部４１、指令属性記憶部４２が確保されている。
【００４０】
指令属性記憶部４２には、プログラム４０に用いられる指令コードと、当該指令コードに対して数値制御装置１の仕様などで定められた属性とが対応付けられた指令属性データが記憶されている。各指令コードの属性には、一例として、逆行した実行が禁止されている指令コードであることを示す属性などがある。指令属性記憶部４２は、ＲＯＭ１１上に設けてもよく、また、指令属性記憶部４２に記憶する数値制御装置１の仕様などで決められている各指令コードの属性に係る情報は、数値制御装置１の出荷前にメーカなどで設定されて記憶するようにしても良い。
【００４１】
逆行禁止ブロック設定部３４は、オペレータからの数値制御装置１のキーボード２１などの操作に基づいて、数値制御装置１上で手動ハンドルリトレース機能が用いられている時にオペレータの手動ハンドル３の操作によるプログラム実行の逆行を禁止するプログラム４０のブロックの指定を受け付けて、プログラム実行の逆行を禁止するブロックに係る情報であるブロック属性データをブロック属性記憶部４１へと記憶する機能手段である。
図１１は、ブロック属性記憶部４１に記憶されるプログラム実行の逆行を禁止するブロックに係る情報の例を示す図である。図１１の例では、プログラム４０のＮ５が逆行禁止ブロック設定部３４によりプログラム実行の逆行を禁止するブロックとして指定された場合を示しており、ブロック属性記憶部４１には、指定されたブロック番号と、当該ブロックがプログラム実行の逆行を禁止するブロックであることを示す属性値（図１１では指定ブロックの属性値は３としている）とが関連付けて記憶される。
【００４２】
ブロック情報通知部３２は、指令属性記憶部４２に記憶されている指令属性データと、ブロック属性記憶部４１に記憶されているブロックの属性情報と、プログラム手動実行部３１から受け付けたプログラムの実行状況を示す情報とから、オペレータが現在プログラムを逆行して実行中であり、かつ、実行を開始しようとしているブロックが逆行した実行が禁止されている指令コードを含む場合、または実行を開始しようとしているブロックがプログラム実行の逆行を禁止する属性が設定されているブロックである場合に、逆行操作が禁止される旨を外部スピーカー４により発音してオペレータに通知すると共に、プログラム手動実行部３１にプログラムの逆行した実行を禁止するように指令する。ブロック情報通知部３２は、逆行を禁止するブロックであることを示す音を発音するようにしてもよく、また、逆行を禁止するブロックであることを示す音に加えて当該ブロックのブロック番号を合成音声により発音するようにしても良い。更に、数値制御装置１の仕様により禁止されているのか、オペレータの指定により禁止されているのかを区別できるように発音するようにしても良い。
【００４３】
プログラム手動実行部３１は、ブロック情報通知部３２からプログラムの逆行した実行を禁止する指令を受けた場合、オペレータがプログラムを逆行して実行しようとしても、それ以上プログラムの実行を逆行しないようにすることで、プログラムの逆行した実行を禁止する。その際に、更に工作機械２を介して手動ハンドル３の逆転ができないように制御するようにしても良い。その他のプログラム手動実行部３１の動作については、第１の実施形態と同様である。
【００４４】
図１２は、本発明の第４の実施形態による数値制御装置の機能ブロック図である。本実施形態の数値制御装置１は、プログラム手動実行部３１、ブロック情報通知部３２を備える。また、図示しないメモリ上にプログラム４０を記憶する領域が確保されている。
【００４５】
プログラム手動実行部３１の動作については、第１の実施形態と同様である。
ブロック情報通知部３２は、プログラム手動実行部３１から受け付けたプログラムの実行状況を示す情報から、現在のブロックの実行が次のブロックへと切り換わる切れ目に近づいたか否かを判定し、そのように判定した場合にその旨を外部スピーカー４により発音してオペレータに通知する。現在のブロックの実行が次のブロックへと切り換わる切れ目に近づいたことは、プログラム手動実行部３１から通知されたプログラムの実行状況を示す情報に含まれる当該ブロックで指令される各軸の移動量と当該ブロックの指令による各軸の現在の移動量に基づいて、現在のブロックの実行による各軸の残移動量の二乗和があらかじめ設定されたマージン未満となった場合に、現在のブロックの実行が次のブロックへと切り換わる切れ目に近づいたと判定するようにすればよい。ブロック情報通知部３２は、現在のブロックの実行が次のブロックへと切り換わる切れ目に近づいたことを示す音を発音するようにしてもよく、また、現在のブロックの実行が次のブロックへと切り換わる切れ目に近づいたことを示す音に加えて当該ブロックのブロック番号を合成音声により発音するようにしても良い。また、プログラム４０の実行が順行時にのみ発音するようにしても良いし、順行時／逆行時が区別できるように異なる音でそれぞれ発音するようにしても良い。
【００４６】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例にのみ限定されるものでなく、適宜の変更を加えることにより様々な態様で実施することができる。
例えば、上記実施形態では音によりプログラム４０の実行状況をオペレータに通知する例を示したが、手動ハンドル３の振動や、光、信号などでオペレータに通知するようにしても良い。
また、上記実施形態では手動プログラム実行指令部として用いられる手動ハンドル３が工作機械２に接続される例を示しているが、手動ハンドル３は数値制御装置１に接続されていても良い。更に、手動プログラム実行指令部としては手動ハンドル３以外にボタンやレバーなどを用いるようにしても良い。
【００４７】
上記実施形態では、編集ブロックや指定ブロック、禁止ブロックをブロック属性記憶部４１に記憶するように構成しているが、プログラム４０自体をブロック属性記憶部４１として利用する方法も考えられる。例えば、図１３に示すように、ブロック番号と、当該ブロックの属性値（図１３では編集ブロックの属性値は１としている）とを関連付けてプログラム４０の末尾に記録するようにして、手動ハンドルリトレース機能を使用する際には先にプログラム４０の末尾に記録されているブロックの属性値を読み出してメモリ上へと展開し、展開した各ブロックの属性に基づいて上記した各通知の機能を実行するようにすればよい。このように構成することで、ブロック属性記憶部４１を不揮発性メモリ上に設けなくても、各プログラムにブロックの属性値が記憶されるので、例えばプログラムのデバッグ中に作業を中断して数値制御装置１の電源をオフしたとしても、作業再開時に前回作業中断時までに記録したブロックの属性値をそのまま用いて作業を開始することができる。
【００４８】
上記実施形態の数値制御装置１において複数の系統を制御するプログラムの場合に、系統ごとに異なる音を鳴らすようにしてオペレータが各系統の実行状況を区別して把握できるように構成しても良い。
また、上記した第１〜第４の実施形態を適宜組み合わせて実施するようにしても良い。
【符号の説明】
【００４９】
１  数値制御装置
２  工作機械
３  手動ハンドル
４  外部スピーカー
１０  プロセッサ
１３  不揮発性メモリ
１４  軸制御回路
１５  サーボアンプ
１６  ＰＭＣ
１７  バス
１８  ユニット
１９  グラフィック制御回路
２０  表示装置
２１  キーボード
２２  ソフトウェアキー
２３  音声インタフェース
３０  プログラム編集部
３１  プログラム手動実行部
３２  ブロック情報通知部
３３  指定ブロック設定部
３４  逆行禁止ブロック設定部
４０  プログラム
４１  ブロック属性記憶部
４２  指令属性記憶部
【図１】
0006411992.tif 000002
【図２】
0006411992.tif 000003
【図３】
0006411992.tif 000004
【図４】
0006411992.tif 000005
【図５】
0006411992.tif 000006
【図６】
0006411992.tif 000007
【図７】
0006411992.tif 000008
【図８】
0006411992.tif 000009
【図９】
0006411992.tif 000010
【図１０】
0006411992.tif 000011
【図１１】
0006411992.tif 000012
【図１２】
0006411992.tif 000013
【図１３】
0006411992.tif 000014
【図１４】
0006411992.tif 000015
【図１５】
0006411992.tif 000016