(57)【要約】【課題】工作機械の加工サイクルタイムを短縮できる数値制御装置、及びデータ制御方法を提供する。【解決手段】ＦＰＧＡ４１は、ＣＰＵ３１又はＣＰＵ４６からのアクセス頻度の監視を記憶装置４５が格納する注目データに対して実行する。ＦＰＧＡ４１は、所定時間の間にアクセス頻度が第一閾値以上になったことを検知した注目データを、ＤＰＲＡＭ４２とは異なり且つレイテンシが記憶装置４５より小さいＤＰＲＡＭ４３に特定データとして複写又は移動する。ＦＰＧＡ４１は、特定データのアクセス先をＤＰＲＡＭ４３に変更する。これにより、ＣＰＵ３１又はＣＰＵ４６は、特定データにアクセスする際に、ＤＰＲＡＭ４３にアクセスする。【選択図】図１
2019169092.tif 000002
【特許請求の範囲】
【請求項１】
一方の制御部と他方の制御部との間でデータの受け渡しをＦＰＧＡ(Field Programmable Gate Array)が内蔵する主メモリと、前記主メモリよりレイテンシが大きい前記ＦＰＧＡの外部の副メモリと、を用いて行う数値制御装置において、
前記主メモリとは異なり且つ前記レイテンシが前記副メモリより小さい補助メモリと、
前記一方の制御部又は前記他方の制御部からのアクセス頻度の監視を前記副メモリが格納する注目データに対して実行する監視手段と、
前記監視手段が所定時間の間に前記アクセス頻度が第一閾値以上になったことを検知した前記注目データを、特定データとして前記補助メモリに複写又は移動する第一移動手段と、
前記特定データのアクセス先を前記補助メモリに変更する変更手段と、
を備えることを特徴とする数値制御装置。
【請求項２】
前記監視手段は、前記補助メモリが格納する前記特定データの前記アクセス頻度も監視し、
前記補助メモリが格納する前記特定データの内で、所定監視時間の間の前記アクセス頻度が第二閾値より少ない前記特定データを前記副メモリに移動又は上書きする第二移動手段を更に備えることを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記第二移動手段は、前記第一移動手段が前記特定データとして前記補助メモリに複写した場合には、前記特定データを上書きし、前記第一移動手段が前記特定データとして前記補助メモリに移動した場合には、前記特定データを前記副メモリに移動することを特徴とする請求項２に記載の数値制御装置。
【請求項４】
前記補助メモリは、電源がＯＦＦとなると格納する前記特定データを消去し、
前記副メモリは、前記電源がＯＦＦとなっても格納する前記注目データを維持し、
電源ＯＦＦ又は停電の発生を検知した際に、前記補助メモリが格納する前記特定データを前記副メモリに移動、複写、上書きの内の何れかを実行する第三移動手段を更に備えることを特徴とする請求項１〜３の何れか一に記載の数値制御装置。
【請求項５】
前記第三移動手段は、所定待機時間内に、前記電源のＯＮ又は前記停電の復旧を検知した際は、前記補助メモリが格納する前記特定データを前記副メモリに移動、複写、又は上書きを実行しないことを特徴とする請求項４に記載の数値制御装置。
【請求項６】
所定タイミングが到来した時に、前記補助メモリの前記特定データの内で前記副メモリが格納していない前記特定データを特定する特定手段と、
前記特定手段が特定した前記特定データを前記副メモリに複写又は上書きする複写手段と、
を更に備えることを特徴とする請求項１〜５の何れか一に記載の数値制御装置。
【請求項７】
前記補助メモリは、前記ＦＰＧＡが内蔵することを特徴とする請求項１〜６の何れか一に記載の数値制御装置。
【請求項８】
一方の制御部と他方の制御部との間でデータの受け渡しをＦＰＧＡ(Field Programmable Gate Array)が内蔵する主メモリと、前記主メモリよりレイテンシが大きい前記ＦＰＧＡの外部の副メモリと、を用いて行う数値制御装置のデータ制御方法において、
前記一方の制御部又は前記他方の制御部からのアクセス頻度の監視を前記副メモリが格納する注目データに対して実行し、
所定時間の間に前記アクセス頻度が閾値以上になったことを検知した前記注目データを、前記主メモリとは異なり且つ前記レイテンシが前記副メモリより小さい補助メモリに特定データとして複写又は移動し、
前記特定データのアクセス先を前記補助メモリに変更することを特徴とするデータ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置、及びデータ制御方法に関する。
【背景技術】
【０００２】
特許文献１に記載の工作機械は、金属などの加工対象に対し所望の加工を施す。工作機械の制御装置は、数値制御用のＣＰＵ及び画面ＵＩ(User Interface)処理用のＣＰＵの二つのＣＰＵを用いる。この様な構成の場合、ＦＰＧＡ(Field Programmable Gate Array)が内蔵するＤＰＲＡＭ(Dual Port Random Access Memory)とバックアップ用メモリとを用いて、二つのＣＰＵ間でデータの受け渡しをするのが一般的である。
【０００３】
この場合、データのアクセス頻度及び電源ＯＦＦ時に消去して良いデータか否かにより、データの格納先を決めている。アクセス頻度が高く且つ電源ＯＦＦ時に消去しても良いデータは、ＦＰＧＡが内蔵するＤＰＲＡＭに格納する。ＤＰＲＡＭのレイテンシ(通信の遅延時間)は、バックアップ用メモリのレイテンシと比較して、小さい。バックアップ用メモリの種類にもよるが、一般的にバックアップ用メモリのレイテンシはＤＰＲＡＭのレイテンシの４倍以上である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−１８８００５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
その為、ＤＰＲＡＭが格納していないデータのアクセス頻度が高まった場合、アクセス速度が遅いので、制御装置全体の処理時間が長くなり、工作機械の加工サイクルタイムが長くなるという問題があった。
【０００６】
本発明の目的は、工作機械の加工サイクルタイムを短縮できる数値制御装置、及びデータ制御方法を提供することである。
【０００７】
請求項１の数値制御装置は、一方の制御部と他方の制御部との間でデータの受け渡しをＦＰＧＡ(Field Programmable Gate Array)が内蔵する主メモリと、前記主メモリよりレイテンシが大きい前記ＦＰＧＡの外部の副メモリと、を用いて行う工作機械の数値制御装置において、前記主メモリとは異なり且つ前記レイテンシが前記副メモリより小さい補助メモリと、前記一方の制御部又は前記他方の制御部からのアクセス頻度の監視を前記副メモリが格納する注目データに対して実行する監視手段と、前記監視手段が所定時間の間に前記アクセス頻度が第一閾値以上になったことを検知した前記注目データを、特定データとして前記補助メモリに複写又は移動する第一移動手段と、前記特定データのアクセス先を前記補助メモリに変更する変更手段とを備えることを特徴とする。監視手段は、レイテンシが大きい副メモリが格納する注目データのアクセス頻度を監視する。第一移動手段は、所定時間の間にアクセス頻度が第一閾値以上となった注目データをレイテンシの小さい補助メモリに複写又は移動する。故に、第一移動手段は、アクセス頻度の高い副メモリの注目データをよりレイテンシの小さい補助メモリに移動するので、応答速度が速くなり、数値制御装置は、工作機械の加工サイクルタイムを短縮できる。
【０００８】
請求項２の前記監視手段は、前記補助メモリが格納する前記特定データの前記アクセス頻度も監視し、前記補助メモリが格納する前記特定データの内で、所定監視時間の間の前記アクセス頻度が第二閾値より少ない前記特定データを前記副メモリに移動又は上書きする第二移動手段を更に備えても良い。第二移動手段は、補助メモリが格納する特定データの内で、アクセス頻度が少なくなった特定データを副メモリに移動又は上書きする。故に、応答速度の最適化を図ることができると共に、補助メモリの資源が有効に活用でき、コストの削減が可能となる。
【０００９】
請求項３の前記第二移動手段は、前記第一移動手段が前記特定データとして前記補助メモリに複写した場合には、前記特定データを上書きし、前記第一移動手段が前記特定データとして前記補助メモリに移動した場合には、前記特定データを前記副メモリに移動しても良い。第二移動手段は、第一移動手段が特定データとして補助メモリに複写した場合には、特定データを上書きする。第二移動手段は、第一移動手段が特定データとして補助メモリに移動した場合には、特定データを副メモリに移動する。故に、数値制御装置は、データの消失を防止できる。
【００１０】
請求項４の前記補助メモリは、電源がＯＦＦとなると格納する前記特定データを消去し、前記副メモリは、前記電源がＯＦＦとなっても格納する前記注目データを維持し、電源ＯＦＦ又は停電の発生を検知した際に、前記補助メモリが格納する前記特定データを前記副メモリに移動、複写、上書きの内の何れかを実行する第三移動手段を更に備えても良い。電源がＯＦＦとなると格納するデータを消去する補助メモリが格納する特定データは、消去すると困るデータである。第三移動手段は、電源がＯＦＦになる前に、補助メモリが格納する特定データを電源がＯＦＦになってもデータを維持する副メモリに移動、複写、上書きの内の何れかを実行する。故に、数値制御装置は、補助メモリが格納するデータを消去してしまう可能性を低減できる。
【００１１】
請求項５の前記第三移動手段は、所定待機時間内に、前記電源のＯＮ又は前記停電の復旧を検知した際は、前記補助メモリが格納する前記特定データを前記副メモリに移動、複写、又は上書きを実行しなくても良い。数値制御装置は、アクセス頻度の高い注目データに対し、よりレイテンシの小さい補助メモリへのアクセスを維持する。故に、数値制御装置は、工作機械の加工サイクルタイムを短縮できる。
【００１２】
請求項６の数値制御装置は、所定タイミングが到来した時に、前記補助メモリの前記特定データの内で前記副メモリが格納していない前記特定データを特定する特定手段と、前記特定手段が特定した前記特定データを前記副メモリに複写又は上書きする複写手段とを更に備えても良い。複写手段は、所定タイミングが到来した時に、特定手段が特定した副メモリが格納していない特定データを副メモリに複写又は上書きする。故に、数値制御装置は、電源がＯＦＦになった際に、補助メモリが格納する消去したら困るデータを消去してしまう可能性を低減できる。
【００１３】
請求項７の前記補助メモリは、前記ＦＰＧＡが内蔵しても良い。ＦＰＧＡが補助メモリを備えるので、外部に備える場合と比較して、応答速度が速まる。
【００１４】
請求項８のデータ制御方法は、一方の制御部と他方の制御部との間でデータの受け渡しをＦＰＧＡ(Field Programmable Gate Array)が内蔵する主メモリと、前記主メモリよりレイテンシが大きい前記ＦＰＧＡの外部の副メモリと、を用いて行う数値制御装置のデータ制御方法において、前記一方の制御部又は前記他方の制御部からのアクセス頻度の監視を前記副メモリが格納する注目データに対して実行し、所定時間の間に前記アクセス頻度が閾値以上になったことを検知した前記注目データを、前記主メモリとは異なり且つ前記レイテンシが前記副メモリより小さい補助メモリに特定データとして複写又は移動し、前記特定データのアクセス先を前記補助メモリに変更することを特徴とする。データ制御方法は、レイテンシが大きい副メモリが格納する注目データのアクセス頻度を監視する。データ制御方法は、所定時間の間にアクセス頻度が閾値以上となった注目データをレイテンシのより小さい補助メモリに複写又は移動する。故に、データ制御方法は、アクセス頻度の高い副メモリの注目データをよりレイテンシの小さい補助メモリに移動するので、応答速度が速くなり、工作機械の加工サイクルタイムを短縮できる。
【図面の簡単な説明】
【００１５】
【図１】数値制御装置３０と工作機械１の電気的構成を示すブロック図。
【図２】データのアクセス先を示す図。
【図３】ＲＡＭ４７の各領域の例を示す図。
【図４】記憶装置４５の各データに対するアクセス頻度の監視を説明する為の図。
【図５】注目データに対するアクセス頻度の増加によるアクセス先の変更を説明する為の図。
【図６】特定データに対するアクセス頻度の減少によるアクセス先の変更を説明する為の図。
【図７】電源がＯＦＦする際のＤＰＲＡＭ４３のデータの退避を説明する為の図。
【図８】データ制御処理の流れ図。
【図９】退避処理の流れ図。
【図１０】バックアップ処理の流れ図。
【発明を実施するための形態】
【００１６】
図を参照し、本発明の実施形態を説明する。図１に示す数値制御装置３０は工作機械１の軸移動を制御することで、テーブル（図示略）上面に保持した被削材（図示略）の切削加工を行う。工作機械１の左右方向、前後方向、上下方向は、夫々Ｘ軸方向、Ｙ軸方向、Ｚ軸方向である。
【００１７】
図１を参照し、工作機械１の構成を説明する。工作機械１は、例えばテーブル上面に保持した被削材に対し、Ｚ軸方向に延びる主軸に装着した工具をＸ軸方向、Ｙ軸方向、Ｚ軸方向に移動して加工（例えばドリル加工、タップ加工、側面加工、旋削加工等）を行う立型工作機械である。工作機械１は図示しない主軸機構、主軸移動機構、工具交換装置等を備える。主軸機構は主軸モータ５２を備え、工具を装着した主軸を回転する。主軸移動機構は、Ｚ軸モータ５１、Ｘ軸モータ５３、Ｙ軸モータ５４を更に備え、テーブル上面に支持した被削材に対し相対的に主軸をＸＹＺの各軸方向に夫々移動する。工具交換装置はマガジンモータ５５を備え、複数の工具を収納する工具マガジン（図示略）を駆動し、主軸に装着した工具を他の工具と交換する。Ｚ軸モータ５１、主軸モータ５２、Ｘ軸モータ５３、Ｙ軸モータ５４、マガジンモータ５５は、サーボモータである。
【００１８】
工作機械１は操作盤２４を更に備える。操作盤２４は入力部２５、及び表示部２８等を備える。入力部２５は各種入力、指示、設定等を行う為の機器である。表示部２８は入力画面、操作画面等の各種画面を表示する機器である。操作盤２４は数値制御装置３０の入出力部３５と、表示Ｉ／Ｆ３６に接続する。
【００１９】
数値制御装置３０と工作機械１の電気的構成を説明する。数値制御装置３０は、ＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３、記憶装置３４、入出力部３５、ＦＰＧＡ４１、記憶装置４５、画像処理用のＣＰＵ４６、表示Ｉ／Ｆ３６及び駆動回路５１Ａ〜５５Ａ等を備える。ＣＰＵ３１は数値制御装置３０を制御する。
【００２０】
ＲＯＭ３２は、データ制御処理プログラム等の制御プログラムを記憶する。ＲＯＭ３２は、第一閾値、第二閾値、所定時間の値、所定監視時間の値等を記憶する。ＲＡＭ３３は、ワーキングメモリとして機能し、各種パラメータ等を一時的に記憶する。記憶装置３４は、フラッシュメモリ又はＨＤＤ(Hard Disc Drive)等の既存の不揮発性の記憶装置である。記憶装置３４は、各種の入力画面と操作画面のデータとＮＣプログラム等を記憶する。入出力部３５は入力部２５に接続する。ＣＰＵ４６は、画面ＵＩを制御するＣＰＵである。ＣＰＵ４６は、ＦＰＧＡ４１と表示Ｉ／Ｆ３６に接続する。
表示Ｉ／Ｆ３６は操作盤２４の表示部２８に接続する。
【００２１】
ＦＰＧＡ４１は、ＣＰＵ３１とＣＰＵ４６との間でデータの受け渡しを行う。ＦＰＧＡ４１は、データ制御処理プログラムを読み出し、後述するデータ制御処理（図８参照）等を実行する。ＦＰＧＡ４１は、ＤＰＲＡＭ４２、ＤＰＲＡＭ４３、及びＩ／Ｆ４４等を備える。ＤＰＲＡＭ４２は、アクセス頻度が高く且つ電源ＯＦＦ時に消去しても良いデータを格納する。アクセスは、リードアクセスとライトアクセスの両方を含む。ＤＰＲＡＭ４２は、以下、「主メモリ４２」と言う。ＤＰＲＡＭ４３は、アクセス頻度が高く且つ電源ＯＦＦ時に消去できないデータを格納する。ＤＰＲＡＭ４３は、本実施形態において新たに追加したＤＰＲＡＭである。ＤＰＲＡＭ４３は、以下、「補助メモリ４３」と言う。Ｉ／Ｆ４４は、ＦＰＧＡ４１に記憶装置４５を接続するＩ／Ｆである。Ｉ／Ｆ４４は、後述するＲＡＭ４７（図３参照）を備える。
【００２２】
記憶装置４５は、主メモリ４２、補助メモリ４３よりレイテンシが大きいフラッシュメモリ等の既存の不揮発性メモリである。記憶装置４５は、電源ＯＦＦ時に消去できないデータを格納する。記憶装置４５は、以下、「副メモリ４５」と言う。
【００２３】
駆動回路５１Ａは電流検出器５１ＣとＺ軸モータ５１とエンコーダ５１Ｂに接続する。駆動回路５２Ａは電流検出器５２Ｃと主軸モータ５２とエンコーダ５２Ｂに接続する。駆動回路５３Ａは電流検出器５３ＣとＸ軸モータ５３とエンコーダ５３Ｂに接続する。駆動回路５４Ａは電流検出器５４ＣとＹ軸モータ５４とエンコーダ５４Ｂに接続する。駆動回路５５Ａはマガジンモータ５５とエンコーダ５５Ｂに接続する。駆動回路５１Ａ〜５５ＡはＣＰＵ３１から指令を受け、対応する各モータ５１〜５５に駆動電流を夫々出力する。駆動回路５１Ａ〜５５Ａはエンコーダ５１Ｂ〜５５Ｂからフィードバック信号を受け、位置と速度のフィードバック制御を行う。フィードバック信号はパルス信号である。
【００２４】
電流検出器５１Ｃ〜５４Ｃは駆動回路５１Ａ〜５５Ａが夫々出力した駆動電流を検出する。電流検出器５１Ｃ〜５４Ｃは検出した駆動電流を夫々駆動回路５１Ａ〜５４Ａにフィードバックする。駆動回路５１Ａ〜５４Ａは電流検出器５１Ｃ〜５４Ｃが夫々フィードバックした駆動電流に基づき、電流（トルク）制御を行う。
【００２５】
図２を参照し、補助メモリ４３を追加した前後における、ＣＰＵ３１又はＣＰＵ４６による副メモリ４５が格納するデータへのアクセスについて説明する。図２中の一点鎖線は、補助メモリ４３を追加する前における、ＣＰＵ３１又はＣＰＵ４６による副メモリ４５が格納するデータへのアクセスを示している。ＣＰＵ３１又はＣＰＵ４６は、主メモリ４２、補助メモリ４３よりレイテンシが大きい副メモリ４５に常にアクセスする。副メモリ４５が格納するデータは、以下、「注目データ」と言う。
【００２６】
図２中の点線は、補助メモリ４３を追加した後における、ＣＰＵ３１又はＣＰＵ４６による注目データへのアクセスを示している。詳しくは後述するが、ＦＰＧＡ４１は、アクセス頻度の高い注目データを、副メモリ４５から補助メモリ４３に移動又は複写する。移動は、他の場所にデータを複製すると共に、元データを削除する処理である。複写は、他の場所にデータを複製するのみで元データの削除を行わない処理である。故に、複写の方が、元データの削除を伴わない分だけ、負荷が低減できる。ＦＰＧＡ４１は、補助メモリ４３に移動又は複写した注目データのアクセス先を、副メモリ４５から補助メモリ４３に変更する。これにより、ＣＰＵ３１又はＣＰＵ４６は、アクセス頻度の高い注目データについては、副メモリ４５よりレイテンシが小さい補助メモリ４３にアクセスする。補助メモリ４３が格納する注目データは、以下、「特定データ」と言う。アクセス頻度の高い注目データとしては、例えば、工作機械固有のシステムデータであり、時定数、最高速度等がある。
【００２７】
図３を参照し、Ｉ／Ｆ４４が備えるＲＡＭ４７の各領域について説明する。ＲＡＭ４７は、アドレスポインタ格納領域４７Ａ、アクセスアドレス格納領域４７Ｂ、及びアドレスキャッシュ領域４７Ｃ等を有する。アドレスポインタ格納領域４７Ａは、各注目データのアクセス先のアドレスを指定する情報を格納する。アドレスポインタ格納領域４７Ａは、例えば、アドレスポインタテーブル（図４参照）を格納する。アクセスアドレス格納領域４７Ｂは、ＣＰＵ３１又はＣＰＵ４６がアクセスした注目データの副メモリ４５のアドレス及び特定データの補助メモリ４３のアドレスを順次格納する。アドレスキャッシュ領域４７Ｃは、所定時間内にアクセス頻度が第一閾値以上となった注目データの副メモリ４５のアドレスを格納する。
【００２８】
図４を参照し、ＦＰＧＡ４１のアクセス頻度監視機能の第一機能について説明する。ＦＰＧＡ４１は、ＣＰＵ３１又はＣＰＵ４６がアクセスした注目データの副メモリ４５のアドレスをアクセスアドレス格納領域４７Ｂに順次格納する。ＦＰＧＡ４１は、アクセスアドレス格納領域４７Ｂに格納した注目データの副メモリ４５のアドレスが該注目データの最初のアドレスの時、第一タイマをスタートする。例えば、ＦＰＧＡ４１が、注目データの副メモリ４５のアドレス"０ｘ１０ａ０"を初めてアクセスアドレス格納領域４７Ｂに格納した時に、第一タイマをスタートする。第一タイマのスタート後、所定時間が経過する前に、ＣＰＵ３１又はＣＰＵ４６が同じアドレスの注目データに第一閾値以上のアクセスをした場合、ＦＰＧＡ４１は、該注目データのアドレスをアドレスキャッシュ領域４７Ｃに格納する。例えば、所定時間が経過する前に、ＣＰＵ３１又はＣＰＵ４６がアドレス"０ｘ１０ａ０"の注目データに第一閾値以上のアクセスをした場合、ＦＰＧＡ４１は、アドレス"０ｘ１０ａ０"をアドレスキャッシュ領域４７Ｃに格納する。
【００２９】
図５を参照し、ＦＰＧＡ４１のデータ移動機能の第一機能について説明する。ＦＰＧＡ４１は、所定時間が経過する前に、ＣＰＵ３１又はＣＰＵ４６が同じアドレスの注目データに第一閾値以上のアクセスをした場合、副メモリ４５から該注目データを補助メモリ４３に移動又は複写する。ＦＰＧＡ４１は、アドレスポインタ格納領域４７Ａの該注目データのアクセス先を副メモリ４５のアドレスから補助メモリ４３のアドレスに変更する。これにより、ＣＰＵ３１又はＣＰＵ４６は、該注目データにアクセスする際、よりレイテンシの小さい補助メモリ４３にアクセスする。
【００３０】
例えば、ＦＰＧＡ４１は、所定時間が経過する前に、ＣＰＵ３１又はＣＰＵ４６がアドレス"０ｘ１０ａ０"の注目データに第一閾値以上のアクセスをした場合、副メモリ４５から該注目データを補助メモリ４３に移動又は複写する。該注目データを格納する補助メモリ４３のアドレスは、アドレス"０ｘ２０ａ０"であるとする。ＦＰＧＡ４１は、アドレスポインタ格納領域４７Ａの該注目データのアクセス先を副メモリ４５のアドレス"０ｘ１０ａ０"から補助メモリ４３のアドレス"０ｘ２０ａ０"に変更する。これにより、ＣＰＵ３１又はＣＰＵ４６は、副メモリ４５のアドレス"０ｘ１０ａ０"の注目データにアクセスする際、補助メモリ４３のアドレス"０ｘ２０ａ０"にアクセスする。
【００３１】
図６を参照し、ＦＰＧＡ４１のアクセス頻度監視機能とデータ移動機能の第二機能について説明する。ＦＰＧＡ４１は、補助メモリ４３に注目データを特定データとして格納すると、第二タイマをスタートする。所定監視時間が経過する間における、同じ特定データへのアクセスが第二閾値より少ない場合、ＦＰＧＡ４１は、アドレスキャッシュ領域４７Ｃの該特定データの副メモリ４５におけるアドレスを削除する。
【００３２】
ＦＰＧＡ４１は、アドレスポインタ格納領域４７Ａの該特定データのアドレスを補助メモリ４３のアドレスから副メモリ４５のアドレスに変更する。ＦＰＧＡ４１は、補助メモリ４３の該特定データを副メモリ４５に移動又は上書きする。上書きは、元のデータの上に新しいデータで書き込む処理である。ＦＰＧＡ４１は、副メモリ４５から補助メモリ４３に注目データを特定データとして移動した場合、補助メモリ４３の特定データを注目データとして副メモリ４５に移動する。ＦＰＧＡ４１は、副メモリ４５から補助メモリ４３に注目データを特定データとして複写した場合、補助メモリ４３の特定データを注目データとして副メモリ４５の対応する注目データに上書きする。上書きした場合、ＦＰＧＡ４１は、該特定データを補助メモリ４３から削除する。これにより、ＣＰＵ３１又はＣＰＵ４６は、アクセス頻度が少なくなった注目データに対し、副メモリ４５にアクセスする。
【００３３】
例えば、ＦＰＧＡ４１は、アドレス"０ｘ１０ａ０"の注目データを補助メモリ４３に特定データとして格納し、第二タイマをスタートする。所定監視時間が経過する間における、該特定データのアクセスが第二閾値より少ない場合、ＦＰＧＡ４１は、アドレスキャッシュ領域４７Ｃの該特定データのアドレス"０ｘ１０ａ０"を削除する。ＦＰＧＡ４１は、アクセスアドレス格納領域４７Ｂの補助メモリ４３における該特定データのアドレス"０ｘ２０ａ０"を削除する。ＦＰＧＡ４１は、アドレスポインタ格納領域４７Ａの該特定データのアドレスをアドレス"０ｘ２０ａ０"からアドレス"０ｘ１０ａ０"に変更する。ＦＰＧＡ４１は、補助メモリ４３から該特定データを副メモリ４５に移動又は複写する。
【００３４】
図７を参照し、ＦＰＧＡ４１の電源ＯＦＦ時退避機能について説明する。作業者が工作機械１の電源をＯＦＦした場合、又は停電が発生した場合であっても、一定時間、例えばコンデンサ等がＦＰＧＡ４１、副メモリ４５等に電力を供給する。ＦＰＧＡ４１は、この間に、本電源ＯＦＦ時退避機能を実行する。
【００３５】
ＦＰＧＡ４１は、作業者が工作機械１の電源をＯＦＦした場合、又は停電発生を示す信号を検知した場合、補助メモリ４３が格納する特定データを注目データとして副メモリ４５に戻す。副メモリ４５に戻す際、ＦＰＧＡ４１は、特定データの移動、複写、上書きの内の何れかを行う。ＦＰＧＡ４１は、副メモリ４５から補助メモリ４３に注目データを特定データとして移動した場合、補助メモリ４３の特定データを注目データとして副メモリ４５に移動又は複写する。ＦＰＧＡ４１は、副メモリ４５から補助メモリ４３に注目データを特定データとして複写した場合、補助メモリ４３の特定データを注目データとして副メモリ４５の対応する注目データに上書きする。ＦＰＧＡ４１は、アドレスポインタ格納領域４７Ａにおける補助メモリ４３のアドレスを副メモリ４５のアドレスに変更する。これにより、ＦＰＧＡ４１は、消去できないデータを不揮発性の副メモリ４５に退避する。ＦＰＧＡ４１は、アクセスアドレス格納領域４７Ｂとアドレスキャッシュ領域４７Ｃが夫々格納するアドレスを削除する。
【００３６】
例えば、作業者が工作機械１の電源をＯＦＦした際、又は停電発生を示す信号を検知した際に、補助メモリ４３が、アドレス"０ｘ２０ａ０"に特定データを格納しているとする。この場合、ＦＰＧＡ４１は、アドレス"０ｘ２０ａ０"の特定データを副メモリ４５の対応するアドレス"０ｘ１０ａ０"に戻す。ＦＰＧＡ４１は、アドレスポインタ格納領域４７Ａの補助メモリ４３のアドレス"０ｘ２０ａ０"を副メモリ４５のアドレス"０ｘ１０ａ０"に変更する。ＦＰＧＡ４１は、アクセスアドレス格納領域４７Ｂとアドレスキャッシュ領域４７Ｃが夫々格納するアドレスを削除する。
【００３７】
図８を参照し、データ制御処理の流れについて説明する。ＦＰＧＡ４１は、ＲＯＭ３２からデータ制御処理プログラムを読み出して、データ制御処理を実行する。データ制御処理は、例えば、工作機械１の電源ＯＮをトリガとして開始する。本データ制御処理においては、一つのデータにフォーカスして処理の流れを説明する。実際には、ＦＰＧＡ４１は、複数のデータに対して並列に処理を行う。
【００３８】
ＦＰＧＡ４１は、ＣＰＵ３１又はＣＰＵ４６が注目データにアクセスしたか判定する（Ｓ１）。例えば、ＦＰＧＡ４１は、ＣＰＵ３１又はＣＰＵ４６によるアドレスポインタ格納領域４７Ａへアクセスを監視する。ＦＰＧＡ４１は、ＣＰＵ３１又はＣＰＵ４６によるアドレスポインタ格納領域４７Ａへアクセスがあった場合に、注目データにアクセスしたと判定する。ＣＰＵ３１又はＣＰＵ４６が注目データにアクセスしていないと判定した場合（Ｓ１：ＮＯ）、Ｓ１を繰り返す。ＦＰＧＡ４１は、ＣＰＵ３１又はＣＰＵ４６が注目データにアクセスしたと判定した場合（Ｓ１：ＹＥＳ）、第一タイマが所定時間経過したか判定する（Ｓ３）。
【００３９】
ＦＰＧＡ４１は、第一タイマが所定時間経過していないと判定した場合（Ｓ３：ＮＯ）、アクセスアドレス格納領域４７Ｂにアドレスを格納する（Ｓ５）。具体的には、ＦＰＧＡ４１は、ＣＰＵ３１又はＣＰＵ４６がアクセスした副メモリ４５の注目データのアドレスをアクセスアドレス格納領域４７Ｂに格納する。ＦＰＧＡ４１は、該注目データのアドレスをアクセスアドレス格納領域４７Ｂに初めて格納したか判定する（Ｓ７）。具体的には、ＦＰＧＡ４１は、アクセスアドレス格納領域４７Ｂが該注目データのアドレスを他に格納していないか判定することで、初めて格納したか判定する。ＦＰＧＡ４１は、アクセスアドレス格納領域４７Ｂが該注目データのアドレスを他に格納していない場合、初めて格納したと判定する。
【００４０】
ＦＰＧＡ４１は、初めて格納したと判定した場合（Ｓ７：ＹＥＳ）、第一タイマをスタートする（Ｓ９）。ＦＰＧＡ４１は、Ｓ１に戻り、前述の処理を繰り返す。ＦＰＧＡ４１は、初めての格納ではないと判定した場合（Ｓ７：ＮＯ）、ＦＰＧＡ４１は、アクセスアドレス格納領域４７Ｂが格納する該注目データのアドレスの数を算出し、算出した値が第一閾値以上であるか判定する（Ｓ１１）。ＦＰＧＡ４１は、第一閾値以上ではないと判定した場合（Ｓ１１：ＮＯ）、第一タイマが所定時間経過したか判定する（Ｓ１３）。ＦＰＧＡ４１は、所定時間経過していないと判定した場合（Ｓ１３：ＮＯ）、Ｓ１に戻り、前述の処理を繰り返す。
【００４１】
ＦＰＧＡ４１は、所定時間経過したと判定した場合（Ｓ１３：ＹＥＳ）、アクセスアドレス格納領域４７Ｂの該注目データのアドレスを全て削除する（Ｓ１５）。ＦＰＧＡ４１は、Ｓ１に戻る。Ｓ１１において、ＦＰＧＡ４１は、第一閾値以上であると判定した場合（Ｓ１１：ＹＥＳ）、アドレスキャッシュ領域４７Ｃに該注目データの副メモリ４５のアドレスを格納する（Ｓ１７）。ＦＰＧＡ４１は、該注目データを副メモリ４５から補助メモリ４３に特定データとして移動又は複写する（Ｓ１９）。ＦＰＧＡ４１は、移動又は複写中、対応するデータへのアクセス待ちを指示する待機フラグを、例えば、ＲＡＭ３３に立てる。
【００４２】
ＦＰＧＡ４１は、アドレスポインタ格納領域４７Ａの対応するアドレスを補助メモリ４３のアドレスに書き換える（Ｓ２１）。書き換えを行う前の対応するアドレスは、副メモリ４５のアドレスである。ＦＰＧＡ４１は、副メモリ４５のアドレスを、該注目データを移動又は複写した補助メモリ４３のアドレスに書き換える。これにより、ＣＰＵ３１，４６は、該注目データにアクセスする場合、レイテンシがより小さい補助メモリ４３にアクセスする。
【００４３】
ＦＰＧＡ４１は、アクセスアドレス格納領域４７Ｂの該注目データのアドレスを全て削除し（Ｓ２３）、第二タイマをスタートする（Ｓ２５）。ＦＰＧＡ４１は、ＣＰＵ３１又はＣＰＵ４６が補助メモリ４３の該特定データにアクセスしたか判定する（Ｓ２７）。Ｓ２７はＳ１と同様の処理なので、詳しい説明は省略する。ＦＰＧＡ４１は、該特定データにアクセスしていないと判定した場合（Ｓ２７：ＮＯ）、Ｓ２７を繰り返す。
【００４４】
ＦＰＧＡ４１は、該特定データにアクセスしたと判定した場合（Ｓ２７：ＹＥＳ）、第二タイマが所定監視時間経過したか判定する（Ｓ２９）。ＦＰＧＡ４１は、第二タイマが所定監視時間経過したと判定した場合（Ｓ２９：ＹＥＳ）、Ｓ３３に進む。ＦＰＧＡ４１は、第二タイマが所定監視時間経過していないと判定した場合（Ｓ２９：ＮＯ）、アクセスアドレス格納領域４７Ｂに該特定データの補助メモリ４３のアドレスを格納する（Ｓ３１）。
【００４５】
ＦＰＧＡ４１は、アクセスアドレス格納領域４７Ｂが格納する該特定データのアドレスの数を算出し、算出した値が第二閾値以上であるか判定する（Ｓ３３）。ＦＰＧＡ４１は、第二閾値以上であると判定した場合（Ｓ３３：ＹＥＳ）、Ｓ２３に戻り、前述の処理を繰り返す。この際、Ｓ２３においては、ＦＰＧＡ４１は、アクセスアドレス格納領域４７Ｂの該特定データの補助メモリ４３のアドレスを全て削除する。
【００４６】
ＦＰＧＡ４１は、第二閾値以上でないと判定した場合（Ｓ３３：ＮＯ）、第二タイマが所定監視時間経過したか判定する（Ｓ３５）。ＦＰＧＡ４１は、第二タイマが所定監視時間経過していないと判定した場合（Ｓ３５：ＮＯ）、Ｓ２７に戻り、前述の処理を繰り返す。ＦＰＧＡ４１は、第二タイマが所定監視時間経過したと判定した場合（Ｓ３５：ＹＥＳ）、補助メモリ４３が格納する該特定データを注目データとして副メモリ４５に移動又は上書きする（Ｓ３７）。ＦＰＧＡ４１は、移動又は上書き中、対応するデータへのアクセス待ちを指示する待機フラグを、例えば、ＲＡＭ３３に立てる。
【００４７】
ＦＰＧＡ４１は、上書きをしたか判定する（Ｓ３９）。ＦＰＧＡ４１は、移動したと判定した場合（Ｓ３９：ＮＯ）、Ｓ４３に進む。ＦＰＧＡ４１は、上書きをしたと判定した場合（Ｓ３９：ＹＥＳ）、補助メモリ４３の該特定データを削除する（Ｓ４１）。ＦＰＧＡ４１は、アドレスキャッシュ領域４７Ｃの該特定データに対応する副メモリ４５のアドレスを削除する（Ｓ４３）。
【００４８】
ＦＰＧＡ４１は、アドレスポインタ格納領域４７Ａの対応するアドレスを副メモリ４５のアドレスに書き換える（Ｓ４５）。ＦＰＧＡ４１は、Ｓ１５に進む。
【００４９】
図９を参照して、退避処理の流れを説明する。ＦＰＧＡ４１は、ＲＯＭ３２から退避処理プログラムを読み出して、退避処理を実行する。退避処理は、例えば、作業者による工作機械１の電源ＯＮをトリガとして開始する。
【００５０】
ＦＰＧＡ４１は、電源ＯＦＦフラグ又は停電発生を示す信号が有るか判定する（Ｓ５１）。作業者が工作機械１の電源をＯＦＦした際に、電源ＯＦＦを示す信号がＣＰＵ３１に入力する。ＣＰＵ３１は、例えば、ＲＡＭ３３に電源ＯＦＦフラグを立てる。例えば、工作機械１は停電検知装置等を備えており、停電検知装置が停電発生時に出力する信号がＣＰＵ３１に入力する。
【００５１】
ＦＰＧＡ４１は、電源ＯＦＦフラグ又は停電発生を示す信号が無いと判定した場合（Ｓ５１：ＮＯ）、Ｓ５１を繰り返す。ＦＰＧＡ４１は、電源ＯＦＦフラグ又は停電発生を示す信号が有ると判定した場合（Ｓ５１：ＹＥＳ）、補助メモリ４３が格納する特定データを注目データとして副メモリ４５に移動、複写、上書きの内の何れかを行う（Ｓ５３）。
【００５２】
ＦＰＧＡ４１は、アドレスポインタ格納領域４７Ａの変更した全てのアドレスを副メモリ４５のアドレスに書き換える（Ｓ５５）。ＦＰＧＡ４１は、アドレスキャッシュ領域４７Ｃが格納するアドレスを全て削除し（Ｓ５７）、アクセスアドレス格納領域４７Ｂが格納する全てのアドレスを削除する（Ｓ５９）。ＦＰＧＡ４１は、Ｓ５１に戻る。
【００５３】
図１０を参照して、バックアップ処理の流れについて説明する。ＦＰＧＡ４１は、ＲＯＭ３２からバックアップ処理プログラムを読み出して、バックアップ処理を実行する。バックアップ処理は、例えば、作業者による工作機械１の電源ＯＮをトリガとして開始する。
【００５４】
ＦＰＧＡ４１は、所定のタイミングが到来したか判定する（Ｓ６１）。所定のタイミングは、例えば、作業者によるバックアップの指示があった時、予め設定した日時、補助メモリ４３が格納する特定データの数が所定数以上となった時、補助メモリ４３の容量が所定容量以上になった時等である。ＦＰＧＡ４１は、所定のタイミングが到来していないと判定した場合（Ｓ６１：ＮＯ）、Ｓ６１を繰り返す。
【００５５】
ＦＰＧＡ４１は、所定のタイミングが到来したと判定した場合（Ｓ６１：ＹＥＳ）、補助メモリ４３が格納する特定データの内で、副メモリ４５の対応するデータと異なる特定データを特定する（Ｓ６３）。具体的には、ＦＰＧＡ４１は、副メモリ４５から補助メモリ４３に特定データとして移動し、該特定データの副メモリ４５のアドレスにデータが存在しない場合、該特定データを特定する。ＦＰＧＡ４１は、副メモリ４５から補助メモリ４３に特定データとして移動し、該特定データの副メモリ４５のアドレスにデータが存在する場合、存在するデータと該特定データが異なる際、該特定データを特定する。ＦＰＧＡ４１は、副メモリ４５から補助メモリ４３に特定データとして複写した場合、該特定データの副メモリ４５のアドレスに存在するデータと該特定データが異なる際、該特定データを特定する。
【００５６】
ＦＰＧＡ４１は、補助メモリ４３の特定した特定データを副メモリ４５の対応するアドレスに複写又は上書きする（Ｓ６５）。具体的には、ＦＰＧＡ４１は、副メモリ４５から補助メモリ４３に特定データとして移動し、該特定データの副メモリ４５のアドレスにデータが存在しない場合、複写し、それ以外は上書きする。ＦＰＧＡ４１は、Ｓ６１に戻る。
【００５７】
上記実施形態によれば、ＦＰＧＡ４１は、ＣＰＵ３１とＣＰＵ４６との間でデータの受け渡しを行う。ＦＰＧＡ４１は、主メモリ４２とＩ／Ｆ４４を備え、Ｉ／Ｆ４４を介して副メモリ４５と接続する。ＦＰＧＡ４１は、更に、主メモリ４２とは異なり且つ副メモリ４５よりレイテンシが小さい補助メモリ４３を備える。ＦＰＧＡ４１は、ＣＰＵ３１又はＣＰＵ４６からのアクセス頻度の監視を副メモリ４５が格納する注目データに対して実行する。ＦＰＧＡ４１は、所定時間の間にアクセス頻度が第一閾値以上になった注目データを特定データとして補助メモリ４３に移動又は複写する。ＦＰＧＡ４１は、アドレスポインタ格納領域４７Ａの対応するアドレスを補助メモリ４３のアドレスに変更し、特定データに対するアクセス先を補助メモリ４３に変更する。
【００５８】
ＦＰＧＡ４１は、レイテンシが大きい副メモリ４５が格納する注目データのアクセス頻度を監視する。ＦＰＧＡ４１は、所定時間の間にアクセス頻度が第一閾値以上となった注目データをレイテンシの小さい補助メモリ４３に複写又は移動する。故に、ＦＰＧＡ４１は、アクセス頻度の高い副メモリ４５の注目データをよりレイテンシの小さい補助メモリ４３に移動するので、応答速度が速くなり、ＦＰＧＡ４１は、工作機械１の加工サイクルタイムを短縮できる。
【００５９】
上記実施形態によれば、ＦＰＧＡ４１は、補助メモリ４３が格納する特定データのアクセス頻度も監視する。ＦＰＧＡ４１は、補助メモリ４３が格納する特定データの内で、所定監視時間の間のアクセス頻度が第二閾値より少ない特定データを副メモリ４５に移動又は上書きする。ＦＰＧＡ４１は、補助メモリ４３が格納する特定データの内で、アクセス頻度が少なくなった特定データを副メモリ４５に移動又は上書きする。故に、応答速度の最適化を図ることができると共に、補助メモリ４３の資源が有効に活用でき、コストの削減が可能となる。
【００６０】
上記実施形態によれば、ＦＰＧＡ４１は、特定データとして補助メモリ４３に複写した場合、アクセス頻度が少なくなった特定データを副メモリ４５に上書きする。ＦＰＧＡ４１は、特定データとして補助メモリ４３に移動した場合、アクセス頻度が少なくなった特定データを副メモリ４５に移動する。故に、ＦＰＧＡ４１は、データの消失を防止できる。
【００６１】
上記実施形態によれば、補助メモリ４３は、電源がＯＦＦとなると格納する特定データを消去し、副メモリ４５は、電源がＯＦＦとなっても格納する注目データを維持する。ＦＰＧＡ４１は、電源ＯＦＦ又は停電の発生を検知した際に、補助メモリ４３が格納する特定データを副メモリ４５に移動、複写、上書きの内の何れかを行う。電源がＯＦＦとなると格納するデータを消去する補助メモリ４３が格納する特定データは、消去すると困るデータである。ＦＰＧＡ４１は、電源がＯＦＦになる前に、補助メモリ４３が格納する特定データを電源がＯＦＦになってもデータを維持する副メモリ４５に移動、複写、上書きの内の何れかを行う。故に、ＦＰＧＡ４１は、補助メモリ４３が格納するデータを消去してしまう可能性を低減できる。
【００６２】
上記実施形態によれば、ＦＰＧＡ４１は、所定のタイミングが到来した時に、補助メモリ４３の特定データの内で副メモリ４５が格納していない特定データを特定する。副メモリ４５が格納していない特定データは、副メモリ４５の対応するアドレスにデータが存在しない特定データ、又は存在するデータと異なる特定データである。ＦＰＧＡ４１は、特定した特定データを副メモリ４５に複写又は上書きする。ＦＰＧＡ４１は、所定タイミングが到来した時に、副メモリ４５が格納していない特定データを副メモリ４５に複写又は上書きする。故に、電源がＯＦＦになった際に、補助メモリ４３が格納する消去したら困るデータを消去してしまう可能性が低減できる。
【００６３】
上記実施形態によれば、補助メモリ４３は、ＦＰＧＡ４１に設ける。ＦＰＧＡ４１が補助メモリ４３を備えるので、外部に備える場合と比較して、応答速度が速まる。
【００６４】
上記実施形態によれば、ＦＰＧＡ４１は、電源ＯＦＦ又は停電の発生を検知した際に、アドレスポインタ格納領域４７Ａの変更した全てのアドレスを副メモリ４５のアドレスに書き換える。故に、再び工作機械１の電源がＯＮになり、ＣＰＵ３１又はＣＰＵ４６がデータにアクセスを行う際に、ＦＰＧＡ４１は、アドレスが異なる為にデータにアクセス出来なくなることを防止できる。
【００６５】
上記実施形態によれば、ＦＰＧＡ４１は、補助メモリ４３の特定データを注目データとして副メモリ４５に戻す際に、アクセスアドレス格納領域４７Ｂとアドレスキャッシュ領域４７Ｃの対応するアドレスを削除する。故に、該注目データが再びデータ制御処理の対象となった際に、ＦＰＧＡ４１は、適切にデータ制御処理を実行できる。
【００６６】
上記実施形態によれば、ＦＰＧＡ４１は、副メモリ４５と補助メモリ４３との間でデータを移す際に、待機フラグを立てる。故に、ＦＰＧＡ４１は、補助メモリ４３との間でデータを移している最中は、ＣＰＵ３１又はＣＰＵ４６による対象データへのアクセスを防止できる。
【００６７】
上記実施形態に限らず各種変形が可能なことはいうまでもない。上記実施形態の駆動回路５１Ａ〜５５Ａは数値制御装置３０に設けているが、工作機械１に設けても良い。上記実施形態おいて、ＦＰＧＡ４１が注目データを特定データとして副メモリ４５から補助メモリに移す際、複写するのがより好ましい。移動は複写と削除の二つの動作を伴うので、移動する場合と比較して、データを移す処理が高速化できる。
【００６８】
上記実施形態の第一閾値と第二閾値は同じ値であっても良いし、異なる値であっても良い。上記実施形態の所定時間と所定監視時間は同じ時間であっても良いし、異なる時間であっても良い。
【００６９】
上記実施形態の各種のフラグは、レジスタにより実現しても良いし、プログラムにより実現しても良い。上記実施形態の退避処理におけるＳ１において、電源ＯＦＦフラグの代わりに、電源のＯＦＦを示す信号が有るか判定しても良い。
【００７０】
上記実施形態のバックアップ処理は、副メモリ４５が格納していない特定データを特定せずに、補助メモリ４３が格納する全ての特定データを副メモリ４５に複写又は上書きしても良い。
【００７１】
上記実施形態のＦＰＧＡ４１は、独立した記憶装置として補助メモリ４３を備えなくても良い。例えば、ＤＰＲＡＭ４２の容量を大きくし、ＤＰＲＡＭ４２が主メモリ領域と補助メモリ領域を備える様にしても良い。
【００７２】
上記実施形態の補助メモリ４３は、ＦＰＧＡ４１の外部に備えても良い。上記実施形態において、作業者が工作機械１の電源をＯＦＦした場合、又は停電が発生した場合、バッテリ等の補助電源が、一定時間、ＦＰＧＡ４１と副メモリ４５に電力を供給しても良い。
【００７３】
上記実施形態において、ＦＰＧＡ４１は、電源ＯＦＦ又は停電発生を検知した際に所定待機時間後に、補助メモリ４３が格納する特定データを副メモリ４５に移動、複写、上書きの内の何れかを実行しても良い。所定待機時間は、電源ＯＦＦ後に電力が供給される一定時間より短い時間である。この場合、ＦＰＧＡ４１は、所定待機時間内に、電源がＯＮ又は停電の復旧が検知された際は、補助メモリ４３が格納する特定データを副メモリ４５に移動、複写、又は上書きを実行しない。ＦＰＧＡ４１は、所定待機時間内に、電源がＯＮ又は停電の復旧が検知された際は、アクセス頻度の高い副メモリ４５の注目データをよりレイテンシの小さい補助メモリ４３に移動する処理を維持する。故に、ＦＰＧＡ４１は、工作機械１の加工サイクルタイムを短縮できる。
【００７４】
上記実施形態の主メモリ４２と補助メモリ４３は、ＤＰＲＡＭでなくても良い。例えば、ＳＤＲＡＭ(Synchronous Dynamic Random Access Memory)等、副メモリ４５よりレイテンシが小さく、電源ＯＦＦ時に格納するデータを消去するメモリであれば良い。
【００７５】
本実施形態はＣＰＵ３１とＣＰＵ４６の少なくとも一方の代わりに、マイクロコンピュータ、ＡＳＩＣ（Application Specific Integrated Circuits）、ＦＰＧＡ（Field Programmable Gate Array）等を、プロセッサとして用いても良い。ＣＰＵ３１又はＣＰＵ４６とＦＰＧＡ等によりプロセッサを実現しても良い。設定・確認処理は、複数のプロセッサによって分散処理しても良い。プログラムを記憶するＲＯＭ３２と記憶装置３４は、例えばＨＤＤと他の非一時的な記憶媒体の少なくとも一方で構成しても良い。非一時的な記憶媒体は、情報を記憶する期間に関わらず、情報を留めておくことが可能な記憶媒体であれば良い。非一時的な記憶媒体は、一時的な記憶媒体（例えば伝送される信号）を含まなくても良い。設定・確認処理プログラム、ＮＣプログラム等の各種プログラムは、例えば、図示外のネットワークに接続されたサーバからダウンロードして（即ち、伝送信号として送信され）、フラッシュメモリ等の記憶装置等に記憶しても良い。この時、プログラムは、サーバに備えられたＨＤＤなどの非一時的な記憶媒体に保存していれば良い。
【００７６】
ＣＰＵ３１は、本発明の「一方の制御部」の一例である。ＣＰＵ４６は、本発明の「他方の制御部」の一例である。ＤＰＲＡＭ４２又はＤＰＲＡＭ４２の主メモリ領域は、本発明の「主メモリ」の一例である。ＤＰＲＡＭ４３又はＤＰＲＡＭ４２の補助メモリ領域は、本発明の「補助メモリ」の一例である。ＦＰＧＡ４１が実行するデータ制御処理のＳ１〜Ｓ１５とＳ２５〜Ｓ３５は、本発明の「監視手段」の一例である。ＦＰＧＡ４１が実行するデータ制御処理のＳ１９は、本発明の「第一移動手段」の一例である。ＦＰＧＡ４１が実行するデータ制御処理のＳ２１は、本発明の「変更手段」の一例である。ＦＰＧＡ４１が実行するデータ制御処理のＳ３７は、本発明の「第二移動手段」の一例である。ＦＰＧＡ４１が実行する退避処理のＳ５３は、本発明の「第三移動手段」の一例である。ＦＰＧＡ４１が実行するバックアップ処理のＳ６３は、本発明の「特定手段」の一例である。ＦＰＧＡ４１が実行するバックアップ処理のＳ６５は、本発明の「複写手段」の一例である。
【符号の説明】
【００７７】
１      工作機械
３０      数値制御装置
３１      ＣＰＵ
４１      ＦＰＧＡ
４２      ＤＰＲＡＭ
４３      ＤＰＲＡＭ
４５      記憶装置
【図１】
2019169092.tif 000003
【図２】
2019169092.tif 000004
【図３】
2019169092.tif 000005
【図４】
2019169092.tif 000006
【図５】
2019169092.tif 000007
【図６】
2019169092.tif 000008
【図７】
2019169092.tif 000009
【図８】
2019169092.tif 000010
【図９】
2019169092.tif 000011
【図１０】
2019169092.tif 000012