(57)【特許請求の範囲】
【請求項１】
加工プログラムに基づいて機械を制御して行われる加工運転中に前記加工運転を停止させるべき指定時刻を指定された場合に、該指定時刻に到達する前に安全に前記加工運転を停止する数値制御装置において、
前記指定時刻を受け付ける停止時刻入力部と、
前記加工プログラムの加工時間を、前記加工プログラムのブロック実行順と、前記機械の駆動部の加減速時間とを考慮して予測する加工時間予測部と、
前記加工時間予測部が予測した前記加工プログラムのブロック毎の加工時間に基づいて前記指定時刻において実行していると予測される前記加工プログラムの指定時刻時実行ブロックを予測し、前記指定時刻時実行ブロックから前記ブロック実行順の逆順に前記加工運転を安全に停止できる停止ブロックを検索して特定する運転停止ブロック特定部と、
前記運転停止ブロック特定部が特定した前記停止ブロックで前記加工運転を停止するよう制御するプログラム運転制御部と、
を備えたことを特徴とする数値制御装置。
【請求項２】
前記加工時間予測部は、前記加工プログラムのブロックの実行順を解析し、前記ブロックのブロック番号を解析した前記ブロックの実行順に記憶した実行ブロックテーブルを生成し、前記ブロック毎に加工時間を予測して前記実行ブロックテーブルの前記ブロック番号に関連付けて記録する、
ことを特徴とした請求項１に記載された数値制御装置。
【請求項３】
前記加工プログラムに用いられる指令は安全度に基づいた複数のレベルに分類されており、
前記運転停止ブロック特定部は、前記停止ブロックを特定する際に安全度の高いレベルに分類された指令を実行するブロックを優先して前記停止ブロックとして特定する、
ことを特徴とする請求項１または２に記載された数値制御装置。
【請求項４】
前記運転停止ブロック特定部は、オペレータが前記指定時刻時実行ブロックから実行順の逆順に前記加工運転を安全に停止できる前記停止ブロックを目視で検索して指定できるユーザインタフェースを提供する、
ことを特徴とする請求項１〜３のいずれか１つに記載された数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に監視、特に指定時刻に加工を中断する数値制御装置に関する。
【背景技術】
【０００２】
従来、指定時刻までに工作機械を停止させる装置として、特許文献１に開示された数値制御装置が提案されている。特許文献１に開示される数値制御装置は、地震発生の予測時刻までに工作機械を安全に停止するために、地震発生の予測時刻の実行ブロックを予測し、実行中のブロックから該予測ブロックまでの間で主軸が停止するブロックや工具やワークを早送りで移動するブロックを運転停止ブロックとして特定し、該運転停止ブロックで機械を停止させる。
【０００３】
図７は、特許文献１に開示される数値制御装置上で実行される運転停止ブロックを特定する処理の概略フローチャートである。
●［ステップＳＤ０１］運転停止判定ブロック番号Ｂに開始時の運転中のブロック番号を代入する。
●［ステップＳＤ０２］運転停止判定ブロック番号Ｂのブロックが早送りブロック、または主軸停止ブロックであるか否かを判定する。早送りブロック、または主軸停止ブロックに該当する場合にはステップＳＤ０６へ進み、そうでない場合にはステップＳＤ０３へ進む。
●［ステップＳＤ０３］運転停止判定ブロック番号Ｂのブロックが停止指定時刻以降に実行されると予測されるブロックであるか否かを判定する。停止指定時刻以降に実行されると予測されるブロックである場合にはステップＳＤ０５へ進み、そうでない場合にはステップＳＤ０４へ進む。
●［ステップＳＤ０４］運転停止判定ブロック番号Ｂをインクリメントし、ステップＳＤ０２へ戻る。
●［ステップＳＤ０５］開始時のブロックを運転停止ブロックとして設定し、本処理を終了する。
●［ステップＳＤ０６］現在の運転停止判定ブロック番号Ｂを運転停止ブロックとして設定し、本処理を終了する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１８１１７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の数値制御装置は、最短時間での停止が目的であるため実行中のブロックから一番近くの安全に停止可能なブロックを検索しており、これが原因で指定時刻ぎりぎりまで加工させることはできないという課題があった。また、特許文献１に記載の数値制御装置は、加減速時間やプログラムの実行順番が考慮されていないことが原因で、停止ブロックを特定するときの精度が低く、長時間先に実行されるブロックを予測できないという課題があった。
【０００６】
そこで本発明の目的は、加工運転を停止するべき時刻を指定された場合において、指定された時刻ぎりぎりまで加工運転を継続することができる数値制御装置を提供することである。
【課題を解決するための手段】
【０００７】
本願の請求項１に係る発明は、加工プログラムに基づいて機械を制御して行われる加工運転中に前記加工運転を停止させるべき指定時刻を指定された場合に、該指定時刻に到達する前に安全に前記加工運転を停止する数値制御装置において、前記指定時刻を受け付ける停止時刻入力部と、前記加工プログラムの加工時間を、前記加工プログラムのブロック実行順と、前記機械の駆動部の加減速時間とを考慮して予測する加工時間予測部と、前記加工時間予測部が予測した前記加工プログラムのブロック毎の加工時間に基づいて前記指定時刻において実行していると予測される前記加工プログラムの指定時刻時実行ブロックを予測し、前記指定時刻時実行ブロックから前記ブロック実行順の逆順に前記加工運転を安全に停止できる停止ブロックを検索して特定する運転停止ブロック特定部と、前記運転停止ブロック特定部が特定した前記停止ブロックで前記加工運転を停止するよう制御するプログラム運転制御部と、を備えたことを特徴とする数値制御装置である。
【０００８】
本願の請求項２に係る発明は、前記加工時間予測部は、前記加工プログラムのブロックの実行順を解析し、前記ブロックのブロック番号を解析した前記ブロックの実行順に記憶した実行ブロックテーブルを生成し、前記ブロック毎に加工時間を予測して前記実行ブロックテーブルの前記ブロック番号に関連付けて記録する、ことを特徴とした請求項１に記載された数値制御装置である。
【０００９】
本願の請求項３に係る発明は、前記加工プログラムに用いられる指令は安全度に基づいた複数のレベルに分類されており、前記運転停止ブロック特定部は、前記停止ブロックを特定する際に安全度の高いレベルに分類された指令を実行するブロックを優先して前記停止ブロックとして特定する、ことを特徴とする請求項１または２に記載された数値制御装置である。
【００１０】
本願の請求項４に係る発明は、前記運転停止ブロック特定部は、オペレータが前記指定時刻時実行ブロックから実行順の逆順に前記加工運転を安全に停止できる前記停止ブロックを目視で検索して指定できるユーザインタフェースを提供する、ことを特徴とする請求項１〜３のいずれか１つに記載された数値制御装置である。
【発明の効果】
【００１１】
本発明により、終業時刻や休日、計画停電等のために、長いプログラムの加工を指定された時刻ぎりぎり、かつ安全に停止できるブロックで自動的に加工を停止可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明における運転停止ブロックを特定する処理の概要を説明する図である。
【図２】本発明の実施の形態における数値制御装置の要部ブロック図である。
【図３】本発明の実施の形態における実行ブロックテーブルを説明する図である。
【図４】本発明の実施の形態における加工時間予測部が実行する処理のフローチャートである。
【図５】本発明の実施の形態における加工時間予測処理のフローチャートである。
【図６】本発明の実施の形態における運転停止ブロック特定処理のフローチャートである。
【図７】従来技術における運転停止ブロックを特定する処理の概略フローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態を図面と共に説明する。最初に、本発明における運転停止ブロックを特定する処理の概要を説明する。
本発明では、停止ブロックを特定する場合に、まず現在実行しているブロック以降に実行される各ブロックの実行順番と、各ブロックの加減速時間を考慮した実行時間を予測する。例えば、図１に示す加工プログラムにおいて、現在Ｎ１００を実行しているものとした場合、Ｎ１００以降のブロックは、Ｎ１１０，Ｎ１４０、Ｎ２００（Ｎ１４０にＧＯＴＯ指令が記載されているため），Ｎ２１０…と順に実行され、加減速時間を考慮したそれぞれのブロックの実行時間は、Ｎ１００が２ｓ、Ｎ１１０が３ｓ、Ｎ１４０が２ｓ、Ｎ２００が１ｓとなる。
【００１４】
次に、予測した各ブロックの実行順番と実行時間から、指定された時刻に実行予定のブロックを予測し、指定時刻に実行予定のブロックからプログラムを遡り、予め設定された停止条件に合致する停止ブロックを特定する。図１に示す例では、例えば９３５ｓ後に指定時刻が指定された場合、指定時刻にはＮ９２５０ブロックが実行されていると予測され、Ｎ９２５０ブロックからプログラムを逆順に遡り、停止条件に合致するブロックとしてＮ９２２０ブロックが特定される。
そして、加工プログラムに基づく運転が停止ブロックに達した時、加工プログラムの運転を停止する。
【００１５】
このような手法を実現する、本発明の数値制御装置の技術的構成について説明する。図２は、本発明の一実施の形態における数値制御装置の要部ブロック図である。本実施の形態の数値制御装置１００は、停止時刻入力部１１０、加工時間予測部１２０、運転停止ブロック特定部１３０、プログラム運転制御部１４０、加工再開情報記憶部１７０、プログラム停止制御部１５０、周辺機器停止指令部１６０とから構成されている。
【００１６】
停止時刻入力部１１０は、加工を中止する指定時刻に係る情報を受け付け、該指定時刻を加工時間予測部１２０へと出力する。停止時刻入力部１１０は、数値制御装置１００に備えられたキーボードやＭＤＩユニットなどの入力機器から、オペレータの操作により指定時刻に係る情報の入力を受け付けるようにしてもよいし、ＬＡＮや無線ＬＡＮ、インターネット、携帯通信網などの通信回線を介して、他の装置から指定時刻に係る情報を受け付けるように構成することもできる。通信回線を介して情報を受け付ける例としては、例えば、緊急地震速報などの警報を能動的に取得または受動的に受信し、警報の内容を解析して指定時刻を決定するようにしてもよく、他にも加工運転の継続が困難になる要因に係る情報を取得または受信して適宜指定時刻を決定するようにしてもよい。
【００１７】
加工時間予測部１２０は、現在実行中の加工プログラムを解読して実行順序を特定すると共にブロック毎に加工時間を予測し、実行ブロックテーブルを生成する。実行ブロックテーブルは、図３に示すように、ブロック番号と、該ブロック番号のブロックの実行時間を予測した結果とを関連付けて記憶するテーブルである。実行ブロックテーブルは、加工プログラムを解読した結果に基づいて現在実行中のブロックから先のブロックのブロック番号が実行順にソートされて記憶されている。図３に示す加工プログラムＡの例では、ブロック番号１０２にＷＨＩＬＥ文が記載され、ブロック番号１０２〜１０４が２回繰り返して実行されるため、実行ブロックテーブルには図右に示す順序でブロック番号がソートされて記憶される。
【００１８】
加工時間予測部１２０が実行する加工時間の予測処理は、数値制御装置の処理能力や、加減速時間、プログラムの実行順序などを考慮したブロックの実行時間の予測手法として、例えば特開２０１４−０３８４８３号公報などに記載される手法を採用する。なお、加工時間の予測には、精度の高い加工時間の予測手法であればどのような手法を採用してもよい。
【００１９】
本発明の特徴である運転停止ブロック特定部１３０は、現在時刻から、停止時刻入力部１１０により取得された指定時刻の間で、加工運転を安全に停止できるブロックを特定する運転停止ブロック特定処理を実行する。
運転停止ブロックを特定する際には、まず指定時刻において実行しているであろうブロックを予測する。指定時刻におけるブロックは、加工時間予測部１２０が生成した実行ブロックテーブルに基づいて、現在時刻に対して、現在実行中のブロックから実行順に各ブロックの実行時間を加算し、指定時刻を超過するブロックのブロック番号を指定時刻におけるブロックと予測する。
次に、指定時刻に実行していると予測されるブロックから実行順を遡り、安全に停止できるブロックを特定する。運転停止ブロック特定処理の詳細な流れについては後述する。
【００２０】
安全に停止できるブロックを特定する際には、予めオペレータが指定した特定の指令を実行するブロックを安全に停止できるブロックとみなすようにしてもよい。また、より高度な手法として、加工プログラムに用いられる指令を以下に示すような安全度に対応する複数のレベルに予めレベル分けしておき、該レベルを用いて安全に停止できるブロックを特定するようにしてもよい。
【００２１】
レベル１：ワークに傷が付く可能性があるが、機械が破損しない指令
（例：切削指令）
レベル２：加工を中断してもワークに傷を付けない指令
（例：早送り指令、主軸が停止している指令）
レベル３：加工工程上キリが良い指令
（例：Ｍ／Ｓ／Ｔ／Ｂコードなどの補助コードの指令）
レベル４：予め停止を想定している指令
（例：予めオペレータが指定した指令）
【００２２】
このようにレベルを設けた場合、指定した１つのレベルに属する指令を実行するブロックを安全に停止できるブロックとして検索対象とすることもできるし、指定したレベル以上のレベルに属する指令を実行するブロックを安全に停止できるブロックとして検索対象とすることもできる。また、最初に高いレベルに属する指令を実行するブロックを安全に停止できるブロックとして検索し、存在しなかった場合に１つ低いレベルに属する指令を実行するブロックを検索するようにしてもよい。
【００２３】
プログラム運転制御部１４０は、加工プログラムに基づいて主軸モータ部２００、サーボモータ部３００などの制御対象となる機械が備える各駆動部を制御すると共に、運転停止ブロック特定部１３０により特定された安全に停止できるブロックにおいて加工運転を停止する指令をプログラム停止制御部１５０に指令し、加工再開情報記憶部１７０に加工運転を停止した状態から再開する際の再開ブロック番号を記憶する。
【００２４】
なお、プログラム運転制御部１４０により停止ブロックで運転を停止する際には、以下のいずれか、または複数の指令を実行することにより行うようにすればよい。
Ａ１：シングルブロック停止
Ａ２：プログラムストップＭ００の実行
Ａ３：オプショナルストップＭ０１の実行とオプショナルストップ信号の出力
【００２５】
また、プログラム運転制御部１４０により停止ブロックで運転を停止する際には、停止ブロックの前後で工作機械の電源を落とす準備として、以下のいずれか、または複数の処理を行うことができる。
Ｂ１：信号の出力
Ｂ２：補助コード、マクロ、サブプログラム等の予め用意したプログラムの実行
Ｂ３：ワークの加工再開に必要な加工再開情報の保存
【００２６】
プログラム停止制御部１５０は、プログラム運転制御部１４０からの指令を受けて、主軸モータ部２００、サーボモータ部３００などの制御対象となる機械が備える各駆動部の停止制御を行い、また、周辺機器停止指令部１６０へと周辺機器部４００を停止するように指令する。
また、周辺機器停止指令部１６０は、プログラム停止制御部１５０からの指令を受けて、周辺機器部４００を安全に停止する。
【００２７】
加工再開情報記憶部１７０は、運転停止ブロック特定部１３０により特定された安全に停止できるブロックで停止した後、加工を再開する際にいずれのブロックから再開するのかをブロック番号で記憶する。該ブロック番号は、停止したブロック番号の次に実行されるべきブロック番号としてもよいし、加工プログラムを解析し、停止したブロックから遡って、加工面に傷ができにくい、より適切に加工を再開できるブロック番号を記録するように構成してもよい。
【００２８】
次に、このような各構成を備えた数値制御装置１００の各処理について、動作について、図４〜図６のフローチャートを用いて説明する。
図４は、加工時間予測部１２０が実行する処理の流れを示すフローチャートである。
●［ステップＳＡ０１］ブロック番号Ｂ（変数）に本処理開始時において加工プログラム中で現在実行しているブロック番号を代入する。
●［ステップＳＡ０２］ブロック番号Ｂで指定されているブロックを加工プログラムから取り出す。
●［ステップＳＡ０３］実行ブロックテーブルの末尾にブロック番号Ｂを記録する。
●［ステップＳＡ０４］ステップＳＡ０２で取り出したブロックに対して加工時間予測処理を実行し、ブロック番号Ｂと関連付けて実行ブロックテーブルに記録する。加工時間予測処理の流れについては後述する。
【００２９】
●［ステップＳＡ０５］ブロック番号Ｂの次のブロックが存在するか否かを判定する。次のブロックについては、ブロック番号Ｂが分岐や繰り返しなどの指令である場合には、実行順を考慮して次のブロックの存在を判定する。次のブロックが存在する場合にはステップＳＡ０６へ進み、存在しない場合には本処理を終了する。
●［ステップＳＡ０６］ブロック番号Ｂに次に実行されるブロック番号を代入し、ステップＳＡ０２へ戻る。
【００３０】
図５は、図４のステップＳＡ０４において呼び出される加工時間予測処理のフローチャートである。
●［ステップＳＢ０１］ステップＳＡ０２で取り出したブロック番号Ｂのブロックを解析し、当該ブロックにより制御される工具経路をセグメントへと分割したセグメントデータを生成する。
●［ステップＳＢ０２］セグメント番号Ｓ（変数）に、ステップＳＢ０１で分割したセグメントデータの最初のセグメント番号（１）を代入する。
●［ステップＳＢ０３］加工時間Ｔ（変数）に０を代入する。
【００３１】
●［ステップＳＢ０４］セグメント番号Ｓで指定されるセグメントの加工時間（工具移動時間）を算出し、加工時間Ｔに加算する。
●［ステップＳＢ０５］次のセグメント（加工時間を算出していないセグメント）があるか判定する。次のセグメントがある場合にはステップＳＢ０６へ進み、無い場合にはステップＳＢ０７へ進む。
●［ステップＳＢ０６］セグメント番号Ｓを次のセグメント番号へとインクリメントし、ステップＳＢ０４へ戻る。
●［ステップＳＢ０７］ステップＳＢ０３〜ステップＳＢ０６で求めた加工時間Ｔを、ブロック番号Ｂのブロックの加工時間とする。
【００３２】
図６は、運転停止ブロック特定部１３０が実行する運転停止ブロック特定処理のフローチャートである。
●［ステップＳＣ０１］運転停止判定ブロック番号Ｂに指定時刻として指定された時刻に運転中のブロック番号を代入する。
●［ステップＳＣ０２］運転停止判定ブロック番号Ｂのブロックが、安全に停止できるブロックであるか否かを判定する。安全に停止できるブロックである場合にはＳＣ０６へ進み、そうでない場合にはＳＣ０３へ進む。
●［ステップＳＣ０３］運転停止判定ブロック番号Ｂのブロックが本処理開始時に運転中のブロックであるか否かを判定する。本処理開始時に運転中のブロックである場合にはステップＳＣ０５へ進み、そうでない場合にはステップＳＣ０４へ進む。
【００３３】
●［ステップＳＣ０４］運転停止判定ブロック番号Ｂを、実行ブロックテーブル上でひとつ前のブロックへとデクリメントし、ステップＳＣ０２へ戻る。
●［ステップＳＣ０５］開始時のブロック（開始時のブロックの実行が完了する前に、指定時刻になることが予測される場合）、または指定時刻に指定された時刻において実行しているブロックを運転停止ブロックとして設定し、本処理を終了する。
●［ステップＳＣ０６］運転停止判定ブロック番号Ｂを運転停止ブロックとして設定し、本処理を終了する。
【００３４】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例に限定されることなく、適宜の変更を加えることにより、その他の態様で実施することができる。例えば、上述した実施形態では、安全に停止できるブロックを自動的に判断する例を示したが、安全に停止できるブロックをオペレータが手動で選択する方式を取ることもできる。そのような場合、以下の手順で指定時刻までに安全に停止させるブロックをオペレータが手動選択できるようにすればよい。
＜１＞  オペレータは、停止したい時刻を数値制御装置に入力する。
＜２＞  数値制御装置１００は、運転中の加工プログラムにおける指定された時刻に実行予定のブロック前後のブロックを画面に表示する。
＜３＞  オペレータは、実行順の逆順に加工プログラムをスクロールし、安全に停止できるブロックを目視検索する。
＜４＞  オペレータは停止ブロックを指定し、数値制御装置１００内に記憶させる。
【００３５】
また、オペレータが手動選択できるようにする場合、安全度に応じてレベル分けされた指令を実行する各ブロックをレベル毎に色分けして表示するようにしてもよい。このようにすることにより、いずれのブロックがより安全に停止できるブロックであるのかをオペレータは一目見て把握することができるため、より容易に停止ブロックを指定することができる。
【符号の説明】
【００３６】
１００    数値制御装置
１１０    停止時刻入力部
１２０    加工時間予測部
１３０    運転停止ブロック特定部
１４０    プログラム運転制御部
１５０    プログラム停止制御部
１６０    周辺機器停止指令部
１７０    加工再開情報記憶部
２００    主軸モータ部
３００    サーボモータ部
４００    周辺機器部
【図１】
0006026481.tif 000002
【図２】
0006026481.tif 000003
【図３】
0006026481.tif 000004
【図４】
0006026481.tif 000005
【図５】
0006026481.tif 000006
【図６】
0006026481.tif 000007
【図７】
0006026481.tif 000008