(57)【特許請求の範囲】
【請求項１】
少なくとも１つの軸を備えた機械を少なくとも１つのプログラムに基づいて制御する数値制御装置において、
前記プログラムに含まれる少なくとも１つのブロックの実行に掛かる実際の時間である実加工時間を計測する実加工時間計測部と、
前記ブロックと、当該ブロックの実加工時間との関係が把握できる表示データを作成する表示部と、
前記プログラムに含まれる少なくとも１つのブロックの実行に掛かる理論的な時間である基準加工時間を算出する基準加工時間算出部と、
を備え、
前記表示部は、前記ブロックと、当該ブロックの実加工時間と、当該ブロックの基準加工時間との関係が把握できる表示データを作成する、
ことを特徴とする数値制御装置。
【請求項２】
前記プログラムに含まれる少なくとも１つのブロックについて、前記実加工時間と前記基準加工時間との差分が予め設定された所定の閾値以上である場合、当該差分の要因を特定する要因特定部をさらに備え、
前記表示部は、前記ブロックと、当該ブロックの実加工時間と、前記要因との関係が把握できる表示データを作成する、
ことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記機械は複数の系統を備え、前記数値制御装置は前記系統のそれぞれを制御するプログラムに基づいて前記機械を制御し、
前記表示部は、前記複数の系統のそれぞれの実加工時間の関係が把握できる表示データを作成する、
ことを特徴とする請求項１又は２に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ブロック時間表示手段を有する数値制御装置に関する。
【背景技術】
【０００２】
機械を制御する数値制御装置上で実行されるプログラムを作成または修正するオペレータは、当該プログラムを作成または修正した後に、当該プログラムが正しく動作することを確認すると同時に、当該プログラムに基づいて機械を制御して行われる加工に掛かる加工時間を確認することが多い。加工時間を知る手段として、例えば特許文献１には、プログラムの実行時間や自動運転起動中の積算された稼働時間を表示する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５１４９４２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示される技術では、サイクルタイム削減のためにプログラムの見直しを行う場合、どのブロックで実加工時間がかかっているかを知る方法がなく、また、仮にブロック単位での実加工時間が知ることができたとしても、それぞれのブロックにおける適切な加工時間を示す基準となるデータがないと、当該ブロックの実加工時間の妥当性を検証することが困難である。
【０００５】
また、多系統システムの場合には、各系統を制御するためのプログラムがそれぞれ実行されるが、各系統を制御するそれぞれのプログラムに含まれるブロック間の関係を一見して把握することが難しいため、多系統システム上での加工工程の集約が行える部分が存在したとしても、オペレータはそれぞれのプログラム内における集約が行える部分に気づくことができず、結果的にサイクルタイムが伸びてしまう場合がある。
【０００６】
そこで本発明の目的は、プログラムの各ブロックの実加工時間の妥当性について容易に把握することを可能とする数値制御装置を提供することである。
【課題を解決するための手段】
【０００７】
本願の請求項１に係る発明は、少なくとも１つの軸を備えた機械を少なくとも１つのプログラムに基づいて制御する数値制御装置において、前記プログラムに含まれる少なくとも１つのブロックの実行に掛かる実際の時間である実加工時間を計測する実加工時間計測部と、前記ブロックと、当該ブロックの実加工時間との関係が把握できる表示データを作成する表示部と、前記プログラムに含まれる少なくとも１つのブロックの実行に掛かる理論的な時間である基準加工時間を算出する基準加工時間算出部と、を備え、前記表示部は、前記ブロックと、当該ブロックの実加工時間と、当該ブロックの基準加工時間との関係が把握できる表示データを作成する、ことを特徴とする数値制御装置である。
【０００９】
本願の請求項２に係る発明は、前記プログラムに含まれる少なくとも１つのブロックについて、前記実加工時間と前記基準加工時間との差分が予め設定された所定の閾値以上である場合、当該差分の要因を特定する要因特定部をさらに備え、前記表示部は、前記ブロックと、当該ブロックの実加工時間と、前記要因との関係が把握できる表示データを作成する、ことを特徴とする請求項１に記載の数値制御装置である。
【００１０】
本願の請求項３に係る発明は、前記機械は複数の系統を備え、前記数値制御装置は前記系統のそれぞれを制御するプログラムに基づいて前記機械を制御し、前記表示部は、前記複数の系統のそれぞれの実加工時間の関係が把握できる表示データを作成する、ことを特徴とする請求項１又は２に記載の数値制御装置である。
【発明の効果】
【００１１】
本発明により、オペレータは実加工時間と理論値との差分から実加工時間が妥当でない可能性があるブロックを把握することができ、その差分が発生する要因から原因の特定を容易に行うことが可能となる。
また、多系統システムを制御するプログラムについて表示する場合、各ブロックの系統間の関係が把握し易くなり、工程の集約、サイクルタイムの短縮のためのプログラム改善に寄与することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施形態による数値制御装置の機能ブロック図である。
【図２】図１の数値制御装置１における画面の表示例である。
【図３】本発明の第２の実施形態による数値制御装置の機能ブロック図である。
【図４】図３の数値制御装置１における画面の表示例である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態を図面と共に説明する。
本発明の数値制御装置では、プログラムに含まれる各ブロックについて当該ブロックの実行に掛かる時間である実加工時間を計測すると共に、それぞれのブロックの内容に基づいて理論的な加工時間を算出し、計測した実加工時間と算出した理論的な加工時間とを比較可能に表示する。
また、本発明の数値制御装置では、測定した実加工時間と算出した理論的な加工時間との差分があらかじめ設定された閾値を超えるブロックに関しては、当該ブロックの内容と当該ブロックにより制御される機械の動作に係るデータ（サーボデータなど）を解析して、実加工時間と理論的な加工時間との差分が発生する要因を特定して表示する。
更に、本発明の数値制御装置では、多系統システムを制御する複数のプログラムについて、各系統を制御するそれぞれのプログラムに含まれる各ブロックの実加工時間を時間基準で同時に表示することで、各系統の制御で実行されるプログラムの各ブロックの関係を一見して把握できるようにする。
【００１４】
図１は、本発明の一実施形態による数値制御装置の機能ブロック図である。本実施形態の数値制御装置１は、指令解析部１０、補間部１１、サーボ制御部１２、実加工時間計測部１３、基準加工時間算出部１４、サーボデータ取得部１５、要因特定部１６、および表示部１７を備える。
指令解析部１０は、図示しないメモリに記憶されるプログラム２０から制御対象となる機械の動作を指令するブロックを逐次読み出して解析し、解析結果に基づいてサーボモータ２により駆動する軸の移動を指令する指令データを作成し、作成した該指令データを補間部１１へと出力する。また、解析対象としたブロックと当該ブロックの解析結果としての指令データを基準加工時間算出部１４へと出力する。
【００１５】
補間部１１は、指令解析部から受け付けた指令データに基づいて、指令データによる指令経路上の補間周期毎の点として補間データを生成すると共に、生成した補間データに対する補間周期毎の各軸の速度の調整（加減速処理）を行い、補間周期毎に調整後の補間データを補間周期毎のサーボモータ２の位置（移動量）を指令する位置指令Ａとしてサーボ制御部１２へと出力する。
【００１６】
サーボ制御部１２は、補間部１１から受け付けた位置指令Ａに基づいて制御対象となる機械の軸を駆動するサーボモータ２を制御する。サーボ制御部１２は、サーボモータ２の制御を行う際に、サーボモータ２の位置フィードバックＢを示すサーボデータを逐次取得している。
【００１７】
実加工時間計測部１３は、プログラム２０が実行される際にプログラム２０に含まれるブロック毎に当該ブロックの実行に掛かる時間である実加工時間Ｔｒを計測し、計測した実加工時間Ｔｒを各ブロックに関連付けて記憶部２１へと記憶する。ブロック毎の実加工時間Ｔｒの計測方法としては、例えば指令解析部１０から出力される指令データや補間部１１からサーボ制御部１２へと出力される補間データ、サーボ制御部１２からサーボデータ取得部１５が取得するサーボモータ２の位置にかかるデータを含むサーボデータを取得して、各ブロックに基づく制御の開始時点と終了時点を検出し、図示しないタイマーなどから取得した各ブロックに基づく制御の開始時点での時刻と終了時点での時刻の差分を実加工時間Ｔｒとするようにしても良い。
【００１８】
基準加工時間算出部１４は、指令解析部１０から受け付けたブロックと当該ブロックの解析結果としての指令データに基づいて、各ブロックの理論的な加工時間である基準加工時間Ｔｂを算出し、当該ブロックと関連付けて記憶部２１へと記憶する。
基準加工時間算出部１４が算出する基準加工時間の例としては、各ブロックの移動距離と指令速度から算出された加減速無し基準加工時間Ｔｂnaがある。加減速無し基準加工時間Ｔｂnaは、加減速の時間を考慮しない単純な予測時間であり、以下の数１式で算出することができる。なお、数１式において移動距離Ｌは当該ブロックの指令により指令される軸の移動量であり、指令速度Ｆは当該ブロックの指令により指令される軸の移動速度である。この加減速無し基準加工時間Ｔｂnaと実加工時間Ｔｒとの差分から、オペレータは補間部１１での加減速処理による影響を確認することができる。
【００１９】
【数１】
0006346206.tif 000002
【００２０】
基準加工時間算出部１４が算出する基準加工時間の別の例としては、上記した特許文献１や、シミュレーション装置などで算出される加工時間予測処理により算出される加減速有り基準加工時間Ｔｂaがある。
基準加工時間算出部１４は、各ブロックについて上記したような複数種類の基準加工時間Ｔｂを算出して、それぞれの基準加工時間Ｔｂを当該ブロックと関連付けて記憶部２１へと記憶するようにしてもよい。
【００２１】
サーボデータ取得部１５は、サーボ制御部１２が補間部１１から受け付けている位置指令Ａとサーボモータ２から逐次取得しているサーボモータ２の位置フィードバックＢとを含むサーボデータをサーボ制御部１２から取得し、取得したサーボデータを各ブロックと関連付けて記憶部２１へと記憶する。サーボデータ取得部１５が取得するサーボデータは時間変化に対するサーボモータ２の位置の変異が把握できるように、例えば各ブロックに対して補間周期又は単位時間ごとに取得した（複数の）サーボデータを関連付けて記憶部２１に記憶するようにしてもよい。
【００２２】
要因特定部１６は、上記した基準加工時間算出部１４、実加工時間計測部１３、サーボデータ取得部１５により、プログラム２０に含まれる各ブロックに関連付けて記憶された実加工時間Ｔｒ、基準加工時間Ｔｂ（加減速無し基準加工時間Ｔｂna、加減速有り基準加工時間Ｔｂa）、およびサーボデータに基づいて、実加工時間と基準加工時間に差分がある場合における当該差分の要因を特定する。
要因特定部１６は、まず実加工時間Ｔｒと基準加工時間Ｔｂとの差分を求め、求めた差分が予め定めた所定の閾値よりも大きい場合に、当該ブロックを実加工時間Ｔｒと基準加工時間Ｔｂとに差分があるブロックとして特定する。閾値の例としては、時間閾値と割合閾値とが考えられる。時間閾値を用いる場合には、実加工時間Ｔｒと基準加工時間Ｔｂとの差分が当該時間閾値よりも大きい場合に、当該ブロックを実加工時間Ｔｒと基準加工時間Ｔｂとに差分があるブロックとして特定すればよい。また、割合閾値を用いる場合には、以下の数２式を満たす場合に、当該ブロックを実加工時間Ｔｒと基準加工時間Ｔｂとに差分があるブロックとして特定すればよい。
【００２３】
【数２】
0006346206.tif 000003
【００２４】
なお、要因特定部１６は、上記したように加減速無し基準加工時間Ｔｂna、加減速有り基準加工時間Ｔｂaなどの複数の基準加工時間が記録されている場合には、加減速有り基準加工時間Ｔｂaについて差分のあるブロックを特定するようにすればよい。
【００２５】
要因特定部１６は、次に特定された実加工時間Ｔｒと基準加工時間Ｔｂとに差分があるブロックに係るデータを解析して、当該差分の要因を特定する。
差分があるブロックがＭ（補助機能）、Ｓ（主軸機能）、Ｔ（工具機能）、Ｂ（第２補助機能）などの補助機能の場合には、該当する機能に関する解析を行うことで差分の要因を特定する。それぞれの補助機能は、Ｇコードの移動指令などとは異なり、それぞれ指令に基づく動作に係る時間は状況に応じて大きく変化することから、それぞれの補助機能の動作そのものが差分の要因となりえる。差分の要因の例としては、当該指令が他系統との待合わせ指令である場合には「他系統との待合わせＭコード」が要因となり、当該指令が工具交換指令である場合には「Ｔコードによる工具機能」が要因となる。
一方で、差分があるブロックが早送り指令（Ｇ００）や切削送り指令（Ｇ０１）などの送り指令である場合には、当該ブロックと対応付けて記憶部２１に記憶したサーボデータを解析することで差分の要因を特定する。サーボデータは、上記したようにとサーボ制御部１２が補間部１１から受け付けている位置指令Ａとサーボモータ２から逐次取得しているサーボモータ２の位置フィードバックＢとを含んでおり、各ブロックと関連付けて記憶部２１に記憶されている。要因特定部１６は、このサーボデータに基づいて、例えば解析対象となるブロックの指令速度Ｆと以下の数３式により算出される位置指令速度Ａ’（位置指令Ａの微分値）とを単位をあわせて比較する。そして、数３式で算出される位置指令速度Ａ’が当該ブロックでの制御中に一度もブロックで指令されている指令速度Ｆに到達していな場合には、「指令速度に未到達」を差分の要因として特定する。
【００２６】
【数３】
0006346206.tif 000004
【００２７】
また、要因特定部１６は、サーボデータに含まれる位置指令Ａとサーボモータ２の位置フィードバックＢとの差分からエラー量Ｃを算出し、算出したエラー量Ｃが予め設定されている許容エラー量の閾値よりも大きい場合には、「サーボの追従性による遅れ」を差分の要因として特定する。
【００２８】
表示部１７は、記憶部２１に各ブロックに関連付けられて記憶されている実加工時間Ｔｒ、基準加工時間Ｔｂ、および要因特定部１６が算出したブロック毎の実加工時間Ｔｒと基準加工時間Ｔｂとの差分、各ブロックの実加工時間Ｔｒと基準加工時間Ｔｂとの差分の要因などを表示する表示データを作成する、図示しない表示装置などに表示する。
【００２９】
図２は、表示部１７が作成する表示データを表示装置へと表示した画面の例を示している。図２の例では、実加工時間Ｔｒ、基準加工時間Ｔｂとしての加減速無し基準加工時間Ｔｂnaと加減速有り基準加工時間Ｔｂa、それぞれの実加工時間Ｔｒと基準加工時間との差分、及び差分の要因とを、対応するブロックと並べて表示している。このような表示をすることで、オペレータは、各ブロックについて、実加工時間と理論値との差分から実加工時間が妥当でない可能性があるブロックを把握することができ、また、その差分が発生する要因から原因の特定を容易に行うことが可能となる。
なお、表示部１７が作成する表示データには、上記がすべて含まれている必要はなく、オペレータの目的に合わせて一部のデータのみを表示するようにしても良い。例えば、実加工時間Ｔｒと基準加工時間Ｔｂとを並べて表示するだけでもオペレータはプログラムの各ブロックの実加工時間の妥当性について十分に把握することができる。また、差分を表示しなくとも差分の要因のみを表示するようにしても良い。更に、各ブロックの横にエラー量Ｃの変化を示すグラフを表示しても良いし、その他の表示項目を併せて表示するようにすることも可能である。
【００３０】
図３は、本発明の多系統システムを制御する場合の数値制御装置の機能ブロック図である。この実施形態の数値制御装置１は、各系統を駆動する複数のサーボモータ２とそれぞれのサーボモータ２を制御する複数のサーボ制御部１２を備えている点で図１に示した数値制御装置１とは異なる。なお、各系統に対して指令解析部１０、補間部１１、実加工時間計測部１３、基準加工時間算出部１４、サーボデータ取得部１５を用意するようにしても良い。
【００３１】
本実施形態の指令解析部１０は、図示しないメモリに記憶される各系統を制御するそれぞれのプログラム２０から制御対象となる機械の動作を指令するブロックを逐次読み出して解析し、解析結果に基づいて各系統のサーボモータ２により駆動する軸の移動を指令する各系統の指令データを作成し、作成した各系統の指令データを補間部１１へと出力する。また、解析対象とした各系統のブロックと当該ブロックの解析結果としての指令データを基準加工時間算出部１４へと出力する。
【００３２】
補間部１１は、指令解析部から受け付けた各系統の指令データに基づいて、指令データによる指令経路上の補間周期毎の点として各系統の補間データを生成すると共に、生成した各系統の補間データに対する補間周期毎の各軸の速度の調整（加減速処理）を行い、補間周期毎に調整後の補間データを補間周期毎のサーボモータ２の位置（移動量）を指令する位置指令Ａとして各系統のサーボ制御部１２へと出力する。
【００３３】
サーボ制御部１２は、補間部１１から受け付けた位置指令Ａに基づいて制御対象となる各系統の機械の軸を駆動する各系統のサーボモータ２を制御する。サーボ制御部１２は、各系統のサーボモータ２の制御を行う際に、当該サーボモータ２の位置フィードバックＢを示すサーボデータを逐次取得している。
【００３４】
実加工時間計測部１３は、各系統のプログラム２０が実行される際にそれぞれのプログラム２０に含まれるブロック毎に当該ブロックの実行に掛かる時間である実加工時間Ｔｒを計測し、計測した実加工時間Ｔｒを各プログラムの各ブロックに関連付けて記憶部２１へと記憶する。なお、実加工時間計測部１３による実加工時間Ｔｒの計測方法については、図１に示した実施形態と同様である。
【００３５】
基準加工時間算出部１４は、指令解析部１０から受け付けた各系統のプログラムのブロックと当該ブロックの解析結果としての指令データとに基づいて、各系統のプログラムの各ブロックの理論的な加工時間である基準加工時間Ｔｂを算出し、各プログラムの各ブロックと関連付けて記憶部２１へと記憶する。なお、基準加工時間算出部１４による基準加工時間Ｔｂの算出方法については、図１に示した実施形態と同様である。
【００３６】
サーボデータ取得部１５は、各系統のサーボ制御部１２が補間部１１から受け付けている位置指令Ａと各系統のサーボモータ２から逐次取得している各系統のサーボモータ２の位置フィードバックＢとを含むサーボデータを各系統のサーボ制御部１２から取得し、取得したサーボデータを各系統のプログラムの各ブロックと関連付けて記憶部２１へと記憶する。なお、サーボデータ取得部１５によるサーボデータの取得方法については、図１に示した実施形態と同様である。
【００３７】
要因特定部１６は、上記した基準加工時間算出部１４、実加工時間計測部１３、サーボデータ取得部１５により、各系統の各プログラム２０に含まれる各ブロックに関連付けて記憶された実加工時間Ｔｒ、基準加工時間Ｔｂ（加減速無し基準加工時間Ｔｂna、加減速有り基準加工時間Ｔｂa）、およびサーボデータに基づいて、実加工時間と基準加工時間に差分がある場合における当該差分の要因を特定する。なお、要因特定部１６による実加工時間と基準加工時間の差分の算出方法及び当該差分の要因の特定方法については、図１に示した実施形態と同様である。
【００３８】
表示部１７は、記憶部２１に各ブロックに関連付けられて記憶されている実加工時間Ｔｒ、基準加工時間Ｔｂ、および要因特定部１６が算出した各系統の各プログラム２０に含まれるブロック毎の実加工時間Ｔｒと基準加工時間Ｔｂとの差分、各系統の各プログラム２０に含まれる各ブロックの実加工時間Ｔｒと基準加工時間Ｔｂとの差分の要因などを表示する表示データを作成する、図示しない表示装置などに表示する。
【００３９】
図４は、表示部１７が作成する表示データを表示装置へと表示した画面の例を示している。図４の例では、各系統のプログラムの各ブロックの実行に掛かった実加工時間Ｔｒを当該実加工時間Ｔｒの長さに応じた横幅を持つ箱とし、当該箱を当該プログラムの先頭のブロックから順に右方向へ連結した表示として各系統を表現している。それぞれの箱には対応するブロックのブロック番号を表示し、また、当該箱の下に当該箱に対応するブロックによる指令と、実加工時間Ｔｒと基準加工時間Ｔｂとの差分の要因を表示する。そして、これら各系統の表示を実行時の時間軸を揃えて縦に並べて表示する。このような表示をすることで、オペレータは、各ブロックの系統間の時間的な関係が把握し易くなり、工程の集約、サイクルタイムの短縮のためのプログラム改善に寄与することができる。
なお、表示部１７が作成する表示データには、上記がすべて含まれている必要はなく、オペレータの目的に合わせて一部のデータのみを表示するようにしても良い。また、各系統の基準加工時間Ｔｂを上記した実加工時間の表示と同様の表示として各系統の表示の下に並べて表示するようにしても良い。更に、その他の表示項目を併せて表示するようにすることも可能である。
【００４０】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例にのみ限定されるものでなく、適宜の変更を加えることにより様々な態様で実施することができる。
【００４１】
例えば、上記した実施形態では基準加工時間算出部１４による基準加工時間Ｔｂの算出を、プログラムの実行と同時に行うものとして説明しているが、基準加工時間Ｔｂの算出はプログラムの実行と同時に行う必要はなく、予めプログラムの各ブロックについての基準加工時間Ｔｂの算出のみを行っておいて記憶部２１に各ブロックに関連付けて記憶しておくようにしても良い。
【００４２】
また、上記した実施形態では、プログラムの各ブロックと、当該ブロックの実加工時間、基準加工時間などの関係が把握できる表示をする実施形態と、各系統のプログラムの各ブロックの実加工時間の関係が把握できる表示をする実施形態とを別の実施形態として説明しているが、これら２つの表示を切り換えながら表示できるように数値制御装置１を構成してもよい。
【符号の説明】
【００４３】
１  数値制御装置
２  サーボモータ
１０  指令解析部
１１  補間部
１２  サーボ制御部
１３  実加工時間計測部
１４  基準加工時間算出部
１５  サーボデータ取得部
１６  要因特定部
１７  表示部
２０  プログラム
２１  記憶部
【図１】
0006346206.tif 000005
【図２】
0006346206.tif 000006
【図３】
0006346206.tif 000007
【図４】
0006346206.tif 000008