(57)【要約】【課題】工作機械の動作時間を考慮した実行時間を提示することができる数値制御装置を提供する。【解決手段】数値制御装置のＣＰＵは、ＮＣプログラムに基づくワークの加工を開始すると、工作機械の扉を閉め、開閉時間を計測する。ＣＰＵはＮＣプログラムを実行し、工具でワークを切削する。ＣＰＵはＮＣプログラムの実行中、サイクルタイムを計測し、ワークの切削中、切削時間を計測する。ＮＣプログラムの実行が終了すると、ＣＰＵは工作機械の扉を開け、開閉時間を計測する。ＣＰＵは、表示画面に切削時間と開閉時間を表示する（Ｓ１５２、Ｓ１７２）。全時間表示設定がＯＮの場合（Ｓ１５３：ＹＥＳ）、ＣＰＵはサイクルタイムの表示欄に「扉の開閉時間を含む」旨の記述を行い、サイクルタイムと開閉時間の合計値を表示する（Ｓ１５５）。【選択図】図６
2019160104.tif 000002
【特許請求の範囲】
【請求項１】
ＮＣプログラムに基づいてワークに加工する工作機械の動作を制御する数値制御装置において、
前記ワークの加工にかかる時間として、前記ＮＣプログラムの実行時間を計測する実行時間計測手段と、
前記工作機械の駆動にかかる時間として、前記工作機械の動作を制御する間の時間のうち、前記ＮＣプログラムの非実行中の時間である動作時間を計測する動作時間計測手段と、
記憶部に前記実行時間と前記動作時間を記憶する記憶手段と、
表示部に前記実行時間を表示する表示手段と
を備え、
前記記憶部は、予め、前記表示部に前記実行時間を表示する場合の表示設定を記憶し、
前記表示手段は、
前記表示設定が、前記実行時間に前記動作時間を含めて表示する設定である場合、前記実行時間と前記動作時間とを合計した合計時間を前記実行時間として前記表示部に表示し、
前記表示設定が、前記実行時間に前記動作時間を含めずに表示する設定である場合、前記表示部に前記実行時間のみを表示すること
を特徴とする数値制御装置。
【請求項２】
前記ＮＣプログラムの実行が一時的に停止した状態にある場合、前記実行時間計測手段は、前記実行時間を非計測の状態にすることを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記ＮＣプログラムの実行が中断した場合、前記表示手段は、前記実行時間とともに、前記ワークに対する加工が中断した旨を示す識別子を前記表示部に表示することを特徴とする請求項１又は２に記載の数値制御装置。
【請求項４】
前記記憶手段は、計測が完了した前記実行時間及び前記動作時間を複数件、前記記憶部に記憶し、
前記表示手段は、複数件の前記実行時間を前記表示部に一覧表示すること
を特徴とする請求項１から３のいずれかに記載の数値制御装置。
【請求項５】
前記記憶手段は、計測が完了した前記実行時間及び前記動作時間とともに、前記ＮＣプログラムの実行の中断によって計測が完了しなかった前記実行時間及び前記動作時間を前記記憶部に記憶することを特徴とする請求項４に記載の数値制御装置。
【請求項６】
前記実行時間の計測中に、前記工作機械が前記工具を操作する操作時間を計測する操作時間計測手段を備え、
前記表示手段は、前記実行時間とともに、前記操作時間を前記表示部に表示すること
を特徴とする請求項１から５のいずれかに記載の数値制御装置。
【請求項７】
前記工作機械は、複数の前記工具を交換可能であり、
前記操作時間計測手段は、前記工作機械が前記工具を交換するごとに、交換後の前記工具に対応する前記操作時間を計測すること
を特徴とする請求項６に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークの加工にかかる時間を計測する数値制御装置に関する。
【背景技術】
【０００２】
数値制御装置は、ＮＣプログラムに基づき工作機械の動作を制御する。特許文献１に記載の数値制御装置は、ＮＣプログラムの実行時間を計測し、ワークの加工に要するサイクルタイムとして提示する。管理者は、サイクルタイム時間を考慮して、工作機械を用いた生産の管理を行うことができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４３１２０４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、工作機械が自動で開閉する扉を搭載する場合、数値制御装置は工作機械の制御を開始すると扉を閉鎖してからＮＣプログラムを実行し、ワークを加工する。加工後、数値制御装置は扉を開放し、工作機械の制御を終了する。特許文献１では、実行時間が扉の開閉時間を含まないので、生産にかかる実時間が実行時間に基づく想定時間と異なるという問題があった。
【０００５】
本発明の目的は、工作機械の動作時間を考慮した実行時間を提示することができる数値制御装置を提供することである。
【課題を解決するための手段】
【０００６】
本発明の一態様によれば、ＮＣプログラムに基づいてワークに加工する工作機械の動作を制御する数値制御装置において、前記ワークの加工にかかる時間として、前記ＮＣプログラムの実行時間を計測する実行時間計測手段と、前記工作機械の駆動にかかる時間として、前記工作機械の動作を制御する間の時間のうち、前記ＮＣプログラムの非実行中の時間である動作時間を計測する動作時間計測手段と、記憶部に前記実行時間と前記動作時間を記憶する記憶手段と、表示部に前記実行時間を表示する表示手段とを備え、前記記憶部は、予め、前記表示部に前記実行時間を表示する場合の表示設定を記憶し、前記表示手段は、前記表示設定が、前記実行時間に前記動作時間を含めて表示する設定である場合、前記実行時間と前記動作時間とを合計した合計時間を前記実行時間として前記表示部に表示し、前記表示設定が、前記実行時間に前記動作時間を含めずに表示する設定である場合、前記表示部に前記実行時間のみを表示することを特徴とする数値制御装置が提供される。
【０００７】
工作機械を用いた生産にかかる時間は、ＮＣプログラムに従ってワークを加工する間の実行時間だけでなく、ＮＣプログラムが非実行中でありながらも工作機械の駆動を制御している間の動作時間もかかる。動作時間は、例えば、工作機械の扉を開閉する間の時間や、工作機械を製造ラインに組み込んだ場合に、加工前のワークを搬入し、加工後のワークを搬出する間の時間等である。数値制御装置は、表示設定に基づいて、実行時間と動作時間の合計時間を表示部に表示することができる。故に管理者は、工作機械を用いた生産にかかる時間をより正確に把握でき、生産管理を行うことができる。
【０００８】
本態様において、前記ＮＣプログラムの実行が一時的に停止した状態にある場合、前記実行時間計測手段は、前記実行時間を非計測の状態にしてもよい。ＮＣプログラムに従うワークの加工中に、例えば手動データ入力（ＭＤＩ）モードに移行する場合や、手動操作を受け付ける場合など、数値制御装置は、ＮＣプログラムの実行を一時的に停止する場合がある。この場合、数値制御装置は、実行時間の計測を非計測の状態にすることができる。すなわち数値制御装置は、ＮＣプログラムの実行に従ってワークを加工しているときのみ、実行時間を計測する。故に管理者は、工作機械を用いた生産にかかる時間をより正確に把握することができる。
【０００９】
本態様において、前記ＮＣプログラムの実行が中断した場合、前記表示手段は、前記実行時間とともに、前記ワークに対する加工が中断した旨を示す識別子を前記表示部に表示してもよい。ワークの加工を途中で中止する場合、数値制御装置はＮＣプログラムの実行を中断する。この場合、数値制御装置は、工作機械の制御を途中で終了するので、実行時間の計測だけでなく、動作時間の計測も途中で終了する。よって実行時間と動作時間は、生産にかかる時間を正確に表すものではない。この場合、数値制御装置は、表示部に実行時間とともに識別子を表示することで、ワークの加工が途中で終了したことを報せることができる。
【００１０】
本態様において、前記記憶手段は、計測が完了した前記実行時間及び前記動作時間を複数件、前記記憶部に記憶し、前記表示手段は、複数件の前記実行時間を前記表示部に一覧表示してもよい。数値制御装置は、ワークの加工にかかる時間の履歴を記憶部に記憶し、一覧表示することができる。故に管理者は、工作機械を用いた生産にかかる時間の履歴を確認することができる。
【００１１】
本態様において、前記記憶手段は、計測が完了した前記実行時間及び前記動作時間とともに、前記ＮＣプログラムの実行の中断によって計測が完了しなかった前記実行時間及び前記動作時間を前記記憶部に記憶してもよい。数値制御装置は、ワークの加工にかかる時間の履歴だけでなく、ワークの加工が途中で中止した場合の時間も履歴として記憶部に記憶することができる。故に管理者は、ワークの加工が正常に終了した場合の履歴と、ワークの加工を途中で中止した場合の履歴を比較することができる。
【００１２】
本態様は、前記実行時間の計測中に、前記工作機械が前記工具を操作する操作時間を計測する操作時間計測手段を備え、前記表示手段は、前記実行時間とともに、前記操作時間を前記表示部に表示してもよい。数値制御装置は、ワークの加工にかかる時間のうち、工具によって実際にワークを加工する時間を操作時間として、実行時間とともに表示することができる。故に管理者は、工具によるワークの加工にかかる操作時間を実行時間と比較することができ、生産管理を行うことができる。
【００１３】
本態様において、前記工作機械は、複数の前記工具を交換可能であり、前記操作時間計測手段は、前記工作機械が前記工具を交換するごとに、交換後の前記工具に対応する前記操作時間を計測してもよい。数値制御装置は、工具ごとの操作時間を取得することができる。故に管理者は、各工具の使用状況を把握することができる。
【図面の簡単な説明】
【００１４】
【図１】数値制御装置２０と工作機械１０の電気的構成を示すブロック図である。
【図２】主処理のフローチャートである。
【図３】加工中カウント処理のフローチャート（１／２）である。
【図４】加工中カウント処理のフローチャート（２／２）である。
【図５】画面表示処理のフローチャートである。
【図６】時間表示処理のフローチャートである。
【図７】工具履歴表示処理のフローチャートである。
【図８】個別履歴表示画面１１０である。
【図９】工具履歴表示画面１４０である。
【図１０】履歴一覧表示画面１７０である。
【発明を実施するための形態】
【００１５】
本発明の実施形態を説明する。図１に示す数値制御装置２０は、工作機械１０の動作を制御することで、テーブル（図示略）上面に保持したワーク（被削材）の切削加工を行う。工作機械１０の左右方向、前後方向、上下方向は夫々、Ｘ軸方向、Ｙ軸方向、Ｚ軸方向である。
【００１６】
工作機械１０は、例えばテーブル上面に保持したワークに対し、Ｚ軸方向に延びる主軸に装着した工具をＸ軸方向、Ｙ軸方向、Ｚ軸方向に移動して加工（例えばドリル加工、タップ加工、側面加工等）を行う立型工作機械である。工作機械１０は図示しない主軸機構、主軸移動機構、工具交換装置等を備える。主軸機構は主軸モータ１２を備え、工具を装着した主軸を回転する。主軸移動機構は、Ｚ軸モータ１１、Ｘ軸モータ１３、Ｙ軸モータ１４を更に備え、テーブル上面に保持したワークに対し相対的に、主軸をＸ、Ｙ、Ｚの各送り軸の方向に夫々移動する。工具交換装置はマガジンモータ１５を備え、複数の工具を収納する工具マガジン（図示略）を駆動し、主軸に装着した工具を他の工具と交換する。Ｚ軸モータ１１、主軸モータ１２、Ｘ軸モータ１３、Ｙ軸モータ１４、マガジンモータ１５、扉モータ１６（後述）は、サーボモータである。本実施形態は、Ｚ軸モータ１１、主軸モータ１２、Ｘ軸モータ１３、Ｙ軸モータ１４、マガジンモータ１５、扉モータ１６を総称する場合、モータ１１〜１６と呼ぶ。
【００１７】
保護カバー（図示略）は工作機械１０本体の周囲を取り囲む。保護カバーは各種加工時に切粉と切削液が外部に飛散するのを防止する。保護カバーは前面に扉（図示略）と操作盤１９を備える。扉は、扉モータ１６、開スイッチ３２、閉スイッチ３３を備える。扉モータ１６は、扉を左右方向に滑動して開閉する。扉を開くことで、作業者は、保護カバー内のテーブル上に固定するワークの交換等ができる。扉を閉めると加工領域と外部が遮断するので、作業者は、ワークの切削加工を安全に行うことができる。開スイッチ３２、閉スイッチ３３は、数値制御装置２０の入出力部２５に接続する。開スイッチ３２は、扉が開放位置にあるとＯＮになる。閉スイッチ３３は、扉が閉鎖位置にあるとＯＮになる。操作盤１９は保護カバーの外壁に設ける。操作盤１９は数値制御装置２０の入出力部２５に接続する。操作盤１９は入力部１７と表示部１８を備える。入力部１７は各種情報、操作指示等の入力を受け付け、数値制御装置２０に出力する。表示部１８は数値制御装置２０からの指令に基づき、各種画面を表示する。
【００１８】
Ｚ軸モータ１１はエンコーダ１１Ａを備える。主軸モータ１２はエンコーダ１２Ａを備える。Ｘ軸モータ１３はエンコーダ１３Ａを備える。Ｙ軸モータ１４はエンコーダ１４Ａを備える。マガジンモータ１５はエンコーダ１５Ａを備える。扉モータ１６はエンコーダ１６Ａを備える。エンコーダ１１Ａ〜１６Ａの夫々は、数値制御装置２０の駆動回路２６〜３１に接続する。
【００１９】
数値制御装置２０は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、記憶装置２４、入出力部２５、駆動回路２６〜３１等を備える。ＣＰＵ２１は数値制御装置２０を統括制御する。ＲＯＭ２２は、後述する主処理（図２参照）、画面表示処理（図５参照）等を実行する為のプログラムを含む、各種プログラムを記憶する。ＲＡＭ２３は各種処理実行中の各種データを記憶する。記憶装置２４は不揮発性メモリである。記憶装置２４は、例えばワークを加工する為のＮＣプログラム、各種パラメータ等を記憶する。入出力部２５は操作盤１９に接続する。駆動回路２６〜３１はサーボアンプである。駆動回路２６はＺ軸モータ１１とエンコーダ１１Ａに接続する。駆動回路２７は主軸モータ１２とエンコーダ１２Ａに接続する。駆動回路２８はＸ軸モータ１３とエンコーダ１３Ａに接続する。駆動回路２９はＹ軸モータ１４とエンコーダ１４Ａに接続する。駆動回路３０はマガジンモータ１５とエンコーダ１５Ａに接続する。駆動回路３１は扉モータ１６とエンコーダ１６Ａに接続する。
【００２０】
ＣＰＵ２１は、ワークを加工する為のＮＣプログラムを解釈し、送り軸（Ｘ軸、Ｙ軸、Ｚ軸）、主軸、マガジン軸等の各駆動軸を目標位置に移動する為の制御指令を駆動回路２６〜３０に送信する。駆動回路２６〜３０は、ＣＰＵ２１から受信した制御指令（駆動信号）に応じて対応する各モータ１１〜１５に駆動電流（パルス）を夫々出力する。駆動回路２６〜３０はエンコーダ１１Ａ〜１５Ａからフィードバック信号（位置と速度の信号）を受け、モータ１１〜１５の位置と速度の制御を行う。駆動回路２６〜３０はサーボモータを駆動するサーボアンプであり、例えばＦＰＧＡ回路で構成してもよい。
【００２１】
図２〜図４を参照し、主処理を説明する。主処理は、工作機械１０を駆動してワークを加工しつつ、ワークの加工に要する時間（サイクルタイム等）を計測し、履歴として保存する一連の処理である。作業者は、テーブルにワークを固定すると、操作盤１９の入力部１７を操作して記憶装置２４に記憶する複数のＮＣプログラムの中から一のＮＣプログラムを選択し、選択したＮＣプログラムに基づくワークの加工開始を指示する。ＣＰＵ２１は入力部１７から加工開始指示を受け付けると、ＲＯＭ２２から主処理のプログラムを読込み実行する。
【００２２】
図２に示すように、ＣＰＵ２１は主処理で使用する各種カウンタ、変数等の初期設定を行う（Ｓ１）。ＣＰＵ２１は、開閉カウンタ、サイクルタイムカウンタ、切削時間カウンタ、非切削時間カウンタ、変数ｊ、変数ｋ、変数ｍ、変数ｎの夫々に０を設定する。開閉カウンタは、扉の開閉時間を計測するカウンタである。サイクルタイムカウンタは、ＮＣプログラムに従いワークに対する加工を行う加工時間（サイクルタイム）を計測するカウンタである。サイクルタイムカウンタは、具体的に、ＮＣプログラムの実行時間を計測する。切削時間カウンタは、サイクルタイム内で、工作機械１０がワークを工具で切削する動作を行う切削時間を計測するカウンタである。非切削時間カウンタは、サイクルタイム内で、工作機械１０がワークを工具で切削する動作以外の動作を行う非切削時間を計測するカウンタである。
【００２３】
記憶装置２４は、主処理で計測するサイクルタイム等のデータを履歴として、例えば２０件記憶する。履歴が含むデータは、日時、プログラム名、前記開閉時間、サイクルタイム、切削時間、非切削時間、工具番号である工具ＩＤ、工具交換回数、正常終了フラグを含む。記憶装置２４は、最新履歴の履歴番号を１とし、各履歴の記憶エリアを、記憶順に履歴番号で管理する。説明の便宜上、各履歴及び個々のデータの記憶エリアは、［履歴番号］を付加して示す。例えば、履歴番号が５の履歴の記憶エリアは、履歴［５］と表す。履歴［５］に含む日時のデータの記憶エリアは、日時［５］と表す。工具ＩＤ、切削時間、非切削時間の記憶エリアは、工具を交換する度に設け、［履歴番号，工具履歴番号］を付加して示す。なお、工具履歴番号は１以上に設定する。切削時間［履歴番号，０］は、全ての工具の切削時間を合計した時間を記憶する記憶エリアである。非切削時間［履歴番号，０］は、全ての工具の非切削時間を合計した時間を記憶する記憶エリアである。ＣＰＵ２１は、各履歴の履歴番号を１加算して更新し（Ｓ２）、履歴番号が２１になった履歴［２１］を削除して、履歴［１］を確保する（Ｓ３）。
【００２４】
ＣＰＵ２１は扉モータ１６を駆動し、扉を閉鎖位置へ向けて移動する（Ｓ１１）。ＣＰＵ２１は、タイマ（図示略）からのクロック信号に基づいて開閉時間カウンタをカウントアップする（Ｓ１２）。ＣＰＵ２１は、閉スイッチ３３がＯＦＦである間、扉の移動と開閉時間の計測を継続する（Ｓ１３：ＮＯ）。閉スイッチ３３がＯＮになり、扉の閉鎖が完了すると（Ｓ１３：ＹＥＳ）、ＣＰＵ２１は扉モータ１６を停止し、ＮＣプログラムを実行する（Ｓ１６）。
【００２５】
ＣＰＵ２１は入力部１７で選択したＮＣプログラムを読込み、一行解釈する。ＣＰＵ２１は解釈した一行中の制御指令に基づき、工作機械１０の動作を制御する。解釈した指令が軸移動指令の場合、ＣＰＵ２１は送り軸のモータ１１、１３、１４を駆動し、テーブルに対する主軸の位置を相対的に移動する。軸移動とは、主軸の位置を移動する動作を意味する。軸移動によって、工具はワークに対して相対的に移動する。軸移動は、早送り軸移動と切削送り軸移動（切削移動）を含む。早送り軸移動は、ワークに工具を接近又は離間する為、切削移動よりも速い速度で主軸を移動する動作である。切削移動は、例えばタップ、ドリル等による穴空け、フライス、エンドミル等による側面加工を行う軸移動である。解釈した指令が工具交換指令の場合、ＣＰＵ２１は、マガジンモータ１５を駆動し、エンコーダ１５Ａのフィードバック信号に基づき、指定の工具を交換位置に移動して工具を交換する。ＣＰＵ２１は、ＮＣプログラムの実行が終了するまで、加工中カウント処理を繰り返し実行する（Ｓ１６、Ｓ１７、Ｓ１８：ＮＯ）。
【００２６】
図３、図４に示すように、加工中カウント処理において、ＣＰＵ２１は、軸移動中であるか否かを判断する（Ｓ５１）。軸移動中でない場合（Ｓ５１：ＮＯ）、ＣＰＵ２１は、工具の交換中であるか否かを判断する（Ｓ５２）。工具の交換中でない場合（Ｓ５２：ＮＯ）、ＣＰＵ２１は、切削中フラグをＯＦＦにして（Ｓ６１）、解釈した制御指令が軸移動指令であるか否かを判断する（Ｓ６２）。切削中フラグは切削移動中にＯＮになるフラグである。制御指令が軸移動指令でない場合（Ｓ６２：ＮＯ）、ＣＰＵ２１は、解釈した制御指令が工具交換指令であるか否かを判断する（Ｓ７１）。
【００２７】
工具交換指令は、初回の工具指定も含む。制御指令が工具交換指令である場合（Ｓ７１：ＹＥＳ）、ＣＰＵ２１は変数ｊに１を加算する（Ｓ７２）。ＣＰＵ２１は、記憶装置２４の履歴［１］に対応する工具ＩＤ［１，ｊ］に、工具交換指令で指定する工具のＩＤ番号を記憶する（Ｓ７３）。工具交換指令が初回の工具指定の場合、ＣＰＵ２１は、履歴［１］の工具ＩＤ［１，１］にＩＤ番号を記憶する。変数ｊが１の場合（Ｓ７４：ＹＥＳ）、工具の切削時間を計測する前であるので、ＣＰＵ２１は処理をＳ８１に移行する。
【００２８】
ＣＰＵ２１は、ＮＣプログラムが実行中であるか否かを判断する（Ｓ８１）。ＮＣプログラムの実行中（Ｓ８１：ＹＥＳ）、ＣＰＵ２１はサイクルタイムを計測する為、タイマのクロック信号に基づいてサイクルタイムカウンタをカウントアップする（Ｓ８２）。ＣＰＵ２１は切削中フラグがＯＮであるか否かを判断する（Ｓ８３）。切削中フラグがＯＦＦの場合（Ｓ８３：ＮＯ）、工具ごとの非切削時間を計測する為、タイマのクロック信号に基づいて非切削時間カウンタをカウントアップする（Ｓ８５）。処理は主処理に戻る。
【００２９】
工具交換指令に基づく工具の交換を行う間（Ｓ５１：ＮＯ、Ｓ５２：ＹＥＳ）、ＣＰＵ２１はサイクルタイムと非切削時間をカウントアップする（Ｓ８１〜Ｓ８５）。工具交換が終了すると、ＣＰＵ２１はＮＣプログラムの次の行を解釈する（Ｓ１７）。解釈した指令が軸移動指令でなく（Ｓ６２：ＮＯ）、工具交換指令でもなければ（Ｓ７１：ＮＯ）、ＣＰＵ２１は、上記同様、サイクルタイムと非切削時間をカウントアップして主処理に戻る（Ｓ８１〜Ｓ８５）。
【００３０】
解釈した指令が軸移動指令である場合（Ｓ６２：ＹＥＳ）、ＣＰＵ２１は、当該指令が切削移動に係る軸移動の指令であるか否かを判断する（Ｓ６３）。軸移動指令が切削移動でない場合（Ｓ６３：ＮＯ）、切削中フラグがＯＦＦであるので、ＣＰＵ２１は処理をＳ８１に移行し、サイクルタイムと非切削時間をカウントアップし、主処理に戻る。軸移動指令が切削移動である場合（Ｓ６３：ＹＥＳ）、ＣＰＵ２１は切削中フラグをＯＮにし（Ｓ６４）、処理をＳ８１に移行する。ＣＰＵ２１は、サイクルタイムをカウントアップした後（Ｓ８１：ＹＥＳ、Ｓ８２）、切削中フラグがＯＮの場合（Ｓ８３：ＹＥＳ）、切削時間カウンタをカウントアップする（Ｓ８４）。処理は主処理に戻る。
【００３１】
軸移動指令に基づく主軸の移動を行う間（Ｓ５１：ＹＥＳ）、ＣＰＵ２１はサイクルタイムをカウントアップし（Ｓ８１、Ｓ８２）、切削フラグに応じて切削時間又は非切削時間をカウントアップする（Ｓ８３〜Ｓ８５）。軸移動が終了すると、ＣＰＵ２１はＮＣプログラムの次の行を解釈する（Ｓ１６）。解釈した指令が工具交換指令である場合（Ｓ６２：ＮＯ、Ｓ７１：ＹＥＳ）、ＣＰＵ２１は、変数ｊに１を加算する（Ｓ７２）。変数ｊは２となる。ＣＰＵ２１は、履歴［１］の工具ＩＤ［１，ｊ］に、工具交換指令で指定する工具のＩＤ番号を記憶する（Ｓ７３）。変数ｊが１ではないので（Ｓ７４：ＮＯ）、ＣＰＵ２１は、履歴［１］の切削時間［１，ｊ−１］に切削時間を記憶し、非切削時間［１，ｊ−１］に非切削時間を記憶する（Ｓ７５）。具体的に、工具交換指令が２つ目の工具指定の場合、ＣＰＵ２１は、工具ＩＤ［１，２］に２つ目の工具のＩＤ番号を記憶し、切削時間［１，１］に１つ目の工具による切削時間を記憶し、非切削時間［１，１］に１つ目の工具による非切削時間を記憶する。ＣＰＵ２１は、切削時間カウンタと非切削時間カウンタに０を設定し（Ｓ７６）、処理をＳ８１に移行する。ＣＰＵ２１はサイクルタイムと、２つめの工具に対応する非切削時間をカウントアップし（Ｓ８１〜Ｓ８５）、主処理に戻る。
【００３２】
ＮＣプログラムの実行中に、数値制御装置２０は、例えばＭＤＩモードに移行する場合や、手動操作を受け付ける場合がある。この場合、ＣＰＵ２１は、ＮＣプログラムの実行を一時停止状態にする。Ｓ８１の判断において、ＮＣプログラムが実行中でない場合（Ｓ８１：ＮＯ）、ＣＰＵ２１は、ＮＣプログラムの実行が一時停止状態であるか否かを判断する（Ｓ９１）。ＮＣプログラムの実行が一時停止状態であれば（Ｓ９１：ＹＥＳ）、ＣＰＵ２１は処理を主処理に戻し、サイクルタイムを計測せず、切削時間又は非切削時間も計測しない。
【００３３】
図２に示すように、解釈した指令が終了指令の場合（Ｓ１８：ＹＥＳ）、ＣＰＵ２１は、履歴［１］の切削時間［１，ｊ］に切削時間を記憶し、非切削時間［１，ｊ］に非切削時間を記憶する（Ｓ２１）。具体的に、２つ目の工具を用いた切削後にＮＣプログラムが終了した場合、ＣＰＵ２１は、切削時間［１，２］に２つ目の工具による切削時間を記憶し、非切削時間［１，２］に２つ目の工具による非切削時間を記憶する。
【００３４】
ＣＰＵ２１は扉モータ１６を駆動し、扉を開放位置へ向けて移動する（Ｓ２２）。ＣＰＵ２１は、タイマ（図示略）からのクロック信号に基づいて開閉時間カウンタをカウントアップする（Ｓ２３）。ＣＰＵ２１は、開スイッチ３２がＯＦＦである間、扉の移動と開閉時間の計測を継続する（Ｓ２４：ＮＯ）。開スイッチ３２がＯＮになり、扉の開放が完了すると（Ｓ２４：ＹＥＳ）、ＣＰＵ２１は扉モータ１６を停止する。ＣＰＵ２１は、正常終了フラグ［１］に１を記憶する（Ｓ２５）。
【００３５】
ＣＰＵ２１は、記憶装置２４の履歴［１］に、各時間の計測結果と各種データを記憶する（Ｓ３１）。ＣＰＵ２１は、日時［１］に日時を記憶し、プログラム名［１］にＮＣプログラムのファイル名を記憶する。ＣＰＵ２１は、サイクルタイム［１］に、計測したサイクルタイムカウンタの値を記憶する。ＣＰＵ２１は、工具交換回数［１］に、変数ｊを記憶する。ＣＰＵ２１は、開閉時間［１］に、計測した開閉時間カウンタの値を記憶する。
【００３６】
ＣＰＵ２１は、変数ｋに１を加算し（Ｓ３２）、変数ｍに、切削時間［１，ｋ］に記憶するｋ番目の工具の切削時間を加算し（Ｓ３３）、且つ、変数ｎに、非切削時間［１，ｋ］に記憶するｋ番目の工具の非切削時間を加算する（Ｓ３４）。ＣＰＵ２１は、変数ｋが工具交換回数［１］に記憶する値と同値でなければ処理をＳ３２に戻し（Ｓ３５：ＮＯ）、次の工具の切削時間と非切削時間を夫々、変数ｍと変数ｎに加算する。変数ｋが工具交換回数［１］と同値であれば（Ｓ３５：ＹＥＳ）、ＣＰＵ２１は、切削時間［１，０］に変数ｍの値を記憶し、非切削時間［１，０］に変数ｎの値を記憶し（Ｓ３６）、主処理を終了する。
【００３７】
なお、数値制御装置２０は、諸事情によりＮＣプログラムの実行を中止する指示を受け付ける場合がある。Ｓ９１の判断において、ＮＣプログラムの実行が中止状態である場合（Ｓ９１：ＮＯ）、ＣＰＵ２１は、正常終了フラグ［１］に０を記憶し（Ｓ９２）、主処理のＳ３１に移行する。ＣＰＵ２１は、履歴［１］に、ＮＣプログラムの実行を中止するまでに計測した各時間と各種データを記憶し（Ｓ３１〜Ｓ３６）、主処理を終了する。
【００３８】
図５〜図１０を参照し、画面表示処理を説明する。画面表示処理は、表示部１８の表示画面に、サイクルタイム等を表示する処理である。作業者は、操作盤１９の入力部１７を操作し、表示画面にサイクルタイム等を表示する指示を行う。ＣＰＵ２１は指示を受け付けると、ＲＯＭ２２から画面表示処理のプログラムを読込み実行する。画面表示処理は、表示部１８に、個別履歴表示画面１１０（図８参照）、工具履歴表示画面１４０（図９参照）、履歴一覧表示画面１７０（図１０参照）を表示することができる。個別履歴表示画面１１０は、サイクルタイム等の詳細を表示する画面である。工具履歴表示画面１４０は、個別履歴表示画面１１０に追加して、工具ごとの切削時間及び非切削時間を表示する画面である。履歴一覧表示画面１７０は、記憶装置２４に記憶する２０件までのサイクルタイム等の履歴を一覧で表示する画面である。
【００３９】
図５に示すように、ＣＰＵ２１は初期設定を行い、画面表示処理で使用する変数ｉに１を設定する（Ｓ１０１）。ＣＰＵ２１は、表示部１８の表示画面に、個別履歴表示画面１１０を表示する（Ｓ１０２）。図８に示すように、個別履歴表示画面１１０は、各種データを表示する表示欄１１１〜１１７を有する。表示欄１１１〜１１４、１１７は夫々、プログラム名、サイクルタイム、切削時間、非切削時間、日付と時間の表示欄である。表示欄１１６は時間稼働率の表示欄である。時間稼働率は、切削時間／サイクルタイムの演算結果を百分率で表したものである。個別履歴表示画面１１０は、下段に、履歴表示終了ボタン１２１、工具履歴表示ボタン１２２、履歴一覧表示ボタン１２３、履歴削除ボタン１２９を備える。
【００４０】
図５に示すように、ＣＰＵ２１は、全時間表示設定がＯＮであるか否かを判断する（Ｓ１０３）。全時間表示設定は、サイクルタイムをＮＣプログラムの実行時間とするか、扉の開閉時間を含む工作機械１０の全駆動時間とするかを設定するパラメータである。数値制御装置２０は初期設定として予め全時間表示設定を記憶装置２４に記憶する。全時間表示設定がＯＦＦの場合（Ｓ１０３：ＮＯ）、ＣＰＵ２１は処理をＳ１０５に進める。全時間表示設定がＯＮの場合（Ｓ１０３：ＹＥＳ）、ＣＰＵ２１は、サイクルタイムの表示欄１１２に「扉の開閉時間を含む」旨の記述（図８、矢印Ａ参照）を表示し（Ｓ１０４）、処理をＳ１０５に進める。
【００４１】
ＣＰＵ２１は、時間表示処理を実行する（Ｓ１０５）。図６に示すように、ＣＰＵ２１は、記憶装置２４から履歴［ｉ］に記憶する各データを読込む（Ｓ１５１）。ＣＰＵ２１は、表示欄１１１、１１３、１１４、１１７の夫々に、プログラム名［ｉ］、切削時間［ｉ，０］、非切削時間［ｉ，０］、日時［ｉ］に記憶する各データを表示する（Ｓ１５２）。全時間表示設定がＯＦＦの場合（Ｓ１５３：ＮＯ）、ＣＰＵ２１は、表示欄１１２にサイクルタイム［ｉ］に記憶するサイクルタイムを表示する（Ｓ１５４）。全時間表示設定がＯＮの場合（Ｓ１５３：ＹＥＳ）、ＣＰＵ２１は、サイクルタイム［ｉ］に記憶するサイクルタイムと、開閉時間［ｉ］に記憶する開閉時間とを合算し、表示欄１１２に表示する（Ｓ１５５）。
【００４２】
ＣＰＵ２１は、表示部１８に表示中の画面が個別履歴表示画面１１０であるか否かを判断し（Ｓ１６１）、個別履歴表示画面１１０でない場合（Ｓ１６１：ＮＯ）、処理をＳ１７１に進める。個別履歴表示画面１１０である場合（Ｓ１６１：ＹＥＳ）、ＣＰＵ２１は、全時間表示設定がＯＮであるか否かを判断する（Ｓ１６２）。全時間表示設定がＯＦＦの場合（Ｓ１６２：ＮＯ）、ＣＰＵ２１は、切削時間［ｉ、０］の値をサイクルタイム［ｉ］の値で割った百分率を時間稼働率として求め、表示欄１１６に表示する（Ｓ１６３）。全時間表示設定がＯＮの場合（Ｓ１６２：ＹＥＳ）、ＣＰＵ２１は、切削時間［ｉ、０］の値をサイクルタイム［ｉ］に開閉時間［ｉ］を加算した値で割った百分率を時間稼働率として求め、表示欄１１６に表示する（Ｓ１６４）。
【００４３】
ＣＰＵ２１は、正常終了フラグ［ｉ］が１か否かを判断する（Ｓ１７１）。正常終了フラグ［ｉ］が１の場合（Ｓ１７１：ＹＥＳ）、ＣＰＵ２１は、開閉時間の表示欄１１５に、開閉時間［ｉ］に記憶する開閉時間を表示し（Ｓ１７２）、画面表示処理に戻る。正常終了フラグ［ｉ］が０の場合（Ｓ１７１：ＮＯ）、ＣＰＵ２１は、サイクルタイムの表示欄１１２においてサイクルタイムの側方に「＊」印（図８、矢印Ｂ参照）を表示する（Ｓ１７３）。作業者は、個別履歴表示画面１１０に表示するデータが、諸事情によりＮＣプログラムの実行を中止したときのデータであることを認識することができる。また、ＮＣプログラムの実行を中止したことで、ＣＰＵ２１は、扉の開閉時間を正確に計測していない。故にＣＰＵ２１は、開閉時間の表示欄１１５に開閉時間として「−」（図８、矢印Ｃ参照）を表示し（Ｓ１７４）、画面表示処理に戻る。
【００４４】
ＣＰＵ２１は、個別履歴表示画面１１０の各ボタンに対する操作の入力を待機する（Ｓ１１１：ＮＯ、Ｓ１１２：ＮＯ、Ｓ１１４：ＮＯ、Ｓ１１６：ＮＯ）。履歴削除ボタン１２９の操作を受け付けた場合（Ｓ１１４：ＹＥＳ）、ＣＰＵ２１は履歴［ｉ］を削除する（Ｓ１１５）。工具履歴表示ボタン１２２の操作を受け付けた場合（Ｓ１１２：ＹＥＳ）、ＣＰＵ２１は工具履歴表示処理を実行する（Ｓ１１３）。
【００４５】
図７に示すように、ＣＰＵ２１は、表示部１８の表示画面に工具履歴表示画面１４０を表示する（Ｓ１８１）。図９に示すように、工具履歴表示画面１４０は、個別履歴表示画面１１０の空きスペースに工具履歴一覧表１５０を追加表示した画面である。工具履歴一覧表１５０は、表示列１５１〜１５３を有する。表示列１５１〜１５３は夫々、工具ＩＤ、切削時間、非切削時間の表示列である。工具履歴一覧表１５０の各行は工具の履歴ごとに設け、表示列１５１〜１５３に対応する夫々の表示位置に、工具ＩＤ、切削時間、非切削時間を表示する。工具履歴表示画面１４０は、下段に、戻るボタン１６１、使用工具順ボタン１６２、工具番号順ボタン１６３を備える。
【００４６】
図７に示すように、ＣＰＵ２１は、変数ｋに０を設定し（Ｓ１８２）、変数ｋに１を加算する（Ｓ１８３）。ＣＰＵ２１は、記憶装置２４から履歴［ｉ］に記憶する工具ＩＤ［ｉ，ｋ］、切削時間［ｉ，ｋ］、非切削時間［ｉ，ｋ］の各データを読込む（Ｓ１８４）。ＣＰＵ２１は、工具履歴一覧表１５０のｋ行目の表示列１５１〜１５３の夫々に、工具ＩＤ［ｉ，ｋ］、切削時間［ｉ，ｋ］、非切削時間［ｉ，ｋ］の各データを表示する（Ｓ１８５）。ＣＰＵ２１は、変数ｋが工具交換回数［ｉ］に記憶する値と同値でなければ処理をＳ１８３に戻し（Ｓ１８６：ＮＯ）、次の工具の各データを読込んで次行に表示する。
【００４７】
変数ｋが工具交換回数［ｉ］と同値であれば（Ｓ１８６：ＹＥＳ）、ＣＰＵ２１は、工具履歴表示画面１４０の各ボタンに対する操作の入力を待機する（Ｓ１９１：ＮＯ、Ｓ１９３：ＮＯ）。使用工具順ボタン１６２又は工具番号順ボタン１６３の操作を受け付けた場合（Ｓ１９１：ＹＥＳ）、ＣＰＵ２１は、工具履歴一覧表１５０の表示を並べ替える処理を行う（Ｓ１９２）。使用工具順ボタン１６２の操作を受け付けた場合、ＣＰＵ２１はＳ１８３〜Ｓ１８６と同様の処理を行い、工具ＩＤ［ｉ，ｋ］、切削時間［ｉ，ｋ］、非切削時間［ｉ，ｋ］の各データを履歴順に表示する。工具番号順ボタン１６３の操作を受け付けた場合、ＣＰＵ２１は、各行を工具ＩＤの昇順又は降順に並べ替えて表示する。このとき、同じ工具ＩＤのデータがある場合、ＣＰＵ２１は、切削時間及び非切削時間の夫々の合計値を算出して表示してもよい。戻るボタン１６１の操作を受け付けた場合（Ｓ１９３：ＹＥＳ）、ＣＰＵ２１は、工具履歴一覧表１５０の表示を消去し（Ｓ１９４）、表示部１８の表示画面に個別履歴表示画面１１０を表示した状態に戻して画面表示処理に戻る。
【００４８】
図５に示すように、ＣＰＵ２１は、個別履歴表示画面１１０の各ボタンに対する操作の入力を待機する（Ｓ１１１〜Ｓ１１６）。履歴一覧表示ボタン１２３の操作を受け付けた場合（Ｓ１１１：ＹＥＳ）、ＣＰＵ２１は、表示部１８の表示画面に履歴一覧表示画面１７０を表示する（Ｓ１２１）。図１０に示すように、履歴一覧表示画面１７０は、履歴一覧表１８０を表示した画面である。履歴一覧表１８０は、表示列１８１〜１８６を有する。表示列１８１〜１８６は夫々、日時、プログラム名、サイクルタイム、切削時間、非切削時間、開閉時間の表示列である。履歴一覧表１８０の各行は、表示列１８１〜１８６に対応する夫々の表示位置に、記憶装置２４の履歴［１］〜履歴［２０］に記憶する各データを表示する。履歴一覧表示画面１７０は、下段に、履歴表示終了ボタン１９１、選択履歴表示ボタン１９２、選択履歴削除ボタン１９８、全履歴削除ボタン１９９を備える。
【００４９】
図５に示すように、ＣＰＵ２１は、全時間表示設定がＯＮであるか否かを判断する（Ｓ１２２）。全時間表示設定がＯＦＦの場合（Ｓ１２２：ＮＯ）、ＣＰＵ２１は処理をＳ１２４に進める。全時間表示設定がＯＮの場合（Ｓ１２２：ＹＥＳ）、ＣＰＵ２１は、サイクルタイムの表示列１８３に「扉の開閉時間を含む」旨の記述（図１０、矢印Ｄ参照）を表示し（Ｓ１２３）、処理をＳ１２４に進める。
【００５０】
ＣＰＵ２１は、変数ｉに１を設定する（Ｓ１２４）。ＣＰＵ２１は、記憶装置２４が履歴［ｉ］にデータを記憶していれば（Ｓ１２５：ＹＥＳ）、時間表示処理を実行する（Ｓ１２６）。図６に示すように、ＣＰＵ２１は、履歴一覧表１８０におけるｉ行目の表示列１８２、１８４、１８５、１８１の夫々に、プログラム名［ｉ］、切削時間［ｉ，０］、非切削時間［ｉ，０］、日時［ｉ］の各データを表示する（Ｓ１５２）。ＣＰＵ２１は、全時間表示設定に従い、表示列１８３に、サイクルタイム［ｉ］（Ｓ１５４）、又はサイクルタイム［ｉ］と開閉時間［ｉ］の合計値（Ｓ１５５）を表示する。時間稼働率は、履歴一覧表１８０には表示しない（Ｓ１６１：ＮＯ）。ＣＰＵ２１は、正常終了フラグ［ｉ］が１であれば、表示列１８６に開閉時間［ｉ］を表示し（Ｓ１７２）、画面表示処理に戻る。正常終了フラグ［ｉ］が０であれば、ＣＰＵ２１は、表示列１８３に「＊」印（図１０、矢印Ｅ参照）を表示し（Ｓ１７３）、表示列１８６に「−」（図１０、矢印Ｆ参照）を表示して（Ｓ１７４）、画面表示処理に戻る。
【００５１】
図５に示すように、ＣＰＵ２１は変数ｉに１を加算し（Ｓ１２７）、変数ｉが２１でなければ（Ｓ１２８：ＮＯ）、処理をＳ１２５に戻し、次の履歴［ｉ］の各データを読込んで次行に表示する。履歴［ｉ］が削除してある場合（Ｓ１２５：ＮＯ）、ＣＰＵ２１は時間表示処理を実行せず、更に次の履歴［ｉ］の各データを読込んで次行に表示する。履歴一覧表１８０に履歴［１］〜履歴［２０］の各データを表示し終え、変数ｉが２１になった場合（Ｓ１２８：ＹＥＳ）、ＣＰＵ２１は、履歴一覧表示画面１７０の各ボタンに対する操作の入力を待機する（Ｓ１３１：ＮＯ、Ｓ１３３：ＮＯ、Ｓ１３５：ＮＯ）。
【００５２】
選択履歴削除ボタン１９８又は全履歴削除ボタン１９９の操作を受け付けた場合（Ｓ１３３：ＹＥＳ）、ＣＰＵ２１は、履歴の記憶エリアを削除する処理を行う（Ｓ１３４）。ＣＰＵ２１は、入力部１７の操作に基づき、履歴一覧表１８０に表示する全２０件の履歴のうち、１つの履歴の選択を受け付けることができる。選択履歴削除ボタン１９８の操作を受け付けた場合、ＣＰＵ２１は、選択を受け付けた履歴の履歴番号に対応する記憶エリアを削除する。全履歴削除ボタン１９９の操作を受け付けた場合、ＣＰＵ２１は、履歴［１］〜履歴［２０］の全てを削除する。
【００５３】
選択履歴表示ボタン１９２の操作を受け付けた場合（Ｓ１３１：ＹＥＳ）、ＣＰＵ２１は、選択を受け付けた履歴の履歴番号を変数ｉに設定し（Ｓ１３２）、処理をＳ１０２に移行する。ＣＰＵ２１は、表示部１８の表示画面に、個別履歴表示画面１１０と、選択を受け付けた履歴のデータを表示し（Ｓ１０２〜Ｓ１０５）、各ボタンに対する操作の入力を待機する（Ｓ１１１〜Ｓ１１６）。履歴表示終了ボタン１２１の操作を受け付けた場合（Ｓ１１６：ＹＥＳ）、ＣＰＵ２１は画面表示処理を終了する。また、履歴一覧表示画面１７０で履歴一覧表１８０を表示するときに、履歴表示終了ボタン１９１の操作を受け付けた場合も（Ｓ１３５：ＹＥＳ）、ＣＰＵ２１は画面表示処理を終了する。
【００５４】
以上説明したように、工作機械１０を用いた生産にかかる時間は、ＮＣプログラムに従ってワークを加工する間のサイクルタイムだけでなく、ＮＣプログラムが非実行中でありながらも工作機械１０の駆動を制御している間の動作時間もかかる。動作時間は、例えば、工作機械１０の扉を開閉する開閉時間や、工作機械１０を製造ラインに組み込んだ場合に、加工前のワークを搬入し、加工後のワークを搬出する間の時間等である。数値制御装置２０は、全時間表示設定に基づいて、サイクルタイムと動作時間の合計時間を表示部１８の表示画面に表示することができる。故に管理者は、工作機械１０を用いた生産にかかる時間をより正確に把握でき、生産管理を行うことができる。
【００５５】
ＮＣプログラムに従うワークの加工中に、例えばＭＤＩモードに移行する場合や、手動操作を受け付ける場合など、数値制御装置２０は、ＮＣプログラムの実行を一時的に停止する場合がある。この場合、数値制御装置２０は、サイクルタイムカウンタを更新せず、サイクルタイムの計測を一時停止した状態にすることができる。すなわち数値制御装置２０は、ＮＣプログラムの実行に従ってワークを加工しているときのみ、サイクルタイムを計測する。故に管理者は、工作機械１０を用いた生産にかかる時間をより正確に把握することができる。
【００５６】
ワークの加工を途中で中止する場合、数値制御装置２０はＮＣプログラムの実行を中断する。この場合、数値制御装置２０は、工作機械１０の制御を途中で終了するので、サイクルタイムの計測だけでなく、動作時間の計測も途中で終了する。よってサイクルタイムと動作時間は、生産にかかる時間を正確に表すものではない。この場合、数値制御装置２０は、表示部１８の表示画面にサイクルタイムとともに「＊」印を表示することで、ワークの加工が途中で終了したことを報せることができる。
【００５７】
数値制御装置２０は、ワークの加工にかかる時間の履歴を記憶装置２４に記憶し、履歴一覧表示画面１７０にて一覧表示することができる。故に管理者は、工作機械１０を用いた生産にかかる時間の履歴を確認することができる。
【００５８】
数値制御装置２０は、ワークの加工にかかる時間の履歴だけでなく、ワークの加工が途中で中止した場合の時間も履歴として記憶装置２４に記憶することができる。故に管理者は、ワークの加工が正常に終了した場合の履歴と、ワークの加工を途中で中止した場合の履歴を比較することができる。
【００５９】
数値制御装置２０は、ワークの加工にかかる時間のうち、工具によって実際にワークを加工する時間を切削時間として、サイクルタイムとともに表示することができる。故に管理者は、工具によるワークの加工にかかる切削時間をサイクルタイムと比較することができ、生産管理を行うことができる。
【００６０】
数値制御装置２０は、工具ごとの切削時間を取得することができるので、故に管理者は、各工具の使用状況を把握することができる。
【００６１】
上記説明で、サイクルタイムは本発明の「実行時間」に相当する。Ｓ８２を実行するＣＰＵ２１は本発明の「実行時間計測手段」に相当する。開閉時間は本発明の「動作時間」に相当する。Ｓ１２及びＳ２３を実行するＣＰＵ２１は本発明の「動作時間計測手段」に相当する。記憶装置２４は本発明の「記憶部」に相当する。Ｓ３１を実行するＣＰＵ２１は本発明の「記憶手段」に相当する。Ｓ１０５を実行するＣＰＵ２１は本発明の「表示手段」に相当する。全時間表示設定は本発明の「表示設定」に相当する。＊印は本発明の「識別子」に相当する。切削時間は本発明の「操作時間」に相当する。Ｓ８４を実行するＣＰＵ２１は本発明の「操作時間計測手段」に相当する。
【００６２】
本発明は上記実施形態に限らず各種変形が可能なことはいうまでもない。上記実施形態の工作機械１０は、主軸がＺ軸方向に延びる立型工作機械であるが、水平方向に延びる横型工作機械であってもよい。本実施形態はＣＰＵ２１の代わりに、マイクロコンピュータ、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔｓ）、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等を、プロセッサとして用いてもよい。プログラムを記憶するＲＯＭ２２と記憶装置２４は、例えばＨＤＤ等、他の非一時的な記憶媒体で構成してもよい。非一時的な記憶媒体は、情報を記憶する期間に関わらず、情報を留めておくことが可能な記憶媒体であればよい。非一時的な記憶媒体は、一時的な記憶媒体（例えば伝送される信号）を含まなくてもよい。ＮＣプログラム等の各種プログラム、パラメータは、例えば、図示外のネットワークに接続するサーバからダウンロードし、フラッシュメモリ等の記憶装置等に記憶してもよい。この場合、プログラムは、サーバが備えるＨＤＤなどの非一時的な記憶媒体に保存していればよい。
【００６３】
時間表示処理で、ＣＰＵ２１は、全時間表示設定（パラメータ）に従い、サイクルタイムの表示位置に、サイクルタイム［ｉ］と開閉時間［ｉ］の合計値、又はサイクルタイム［ｉ］を表示した。これに限らず、個別履歴表示画面１１０は、例えば表示切替ボタンを設けてもよい。この場合、ＣＰＵ２１は、表示切替ボタンの操作に応じ、サイクルタイムの表示位置に、サイクルタイム［ｉ］と開閉時間［ｉ］の合計値、又はサイクルタイム［ｉ］を表示してもよい。
【００６４】
サイクルタイムに含めて表示可能とする時間は、扉の開閉時間に限らない。例えば、工作機械１０に搬送装置を接続し、ワークの加工の前後に搬入と搬出を行う構成である場合、ＣＰＵ２１は、ワークの搬送時間を計測し、サイクルタイムに搬送時間を含めて表示可能としてもよい。
【００６５】
扉の開閉を行う扉モータ１６は、一定速度で駆動するので、扉の開閉にかかる時間は夫々一定である。故に数値制御装置２０は、主処理において、予め扉の開放にかかる時間と閉鎖にかかる時間を計測した所定値を用い、開閉時間の計測を行わない構成としてもよい。また、数値制御装置２０は、例えば電源投入後の初回開閉時に、次回以降よりも低速で扉を開閉する制御を行ってもよい。この場合、数値制御装置２０は、扉の開閉を低速で行う場合にかかる時間と高速で行う場合にかかる時間を予め測定した所定値を夫々用意し、主処理において用いてもよい。
【００６６】
数値制御装置２０は初期設定として予め全時間表示設定を記憶装置２４に記憶したが、これに限らない。数値制御装置２０は、例えば、ＮＣプログラムのファイル名に特定の付加文字（例えばファイル名末尾に「Ｄ」を付加したもの、「＿ＰＲＯＤＵＣＴ」を付加したものなど）がある場合を、「扉の開閉時間を含む」設定としてもよい。
【００６７】
時間表示処理において、正常終了フラグ［ｉ］が１であっても、全時間表示設定がＯＦＦである場合、ＣＰＵ２１は、開閉時間［ｉ］を表示しなくてもよい。工作機械１０がローダやパレットチェンジャなどの搬送装置を備える場合、数値制御装置２０は、搬送装置の識別番号等を履歴［ｉ］に含めて記憶してもよい。履歴の記憶可能な件数は２０件に限らず、適宜変更可能である。工具履歴の記憶可能な件数は適宜設定してもよい。
【符号の説明】
【００６８】
１０                                  工作機械
１８                                  表示部
２０                                  数値制御装置
２１                                  ＣＰＵ
２４                                  記憶装置
【図１】
2019160104.tif 000003
【図２】
2019160104.tif 000004
【図３】
2019160104.tif 000005
【図４】
2019160104.tif 000006
【図５】
2019160104.tif 000007
【図６】
2019160104.tif 000008
【図７】
2019160104.tif 000009
【図８】
2019160104.tif 000010
【図９】
2019160104.tif 000011
【図１０】
2019160104.tif 000012