(57)【要約】【課題】バックアップの対象となる装置をより適切に復旧可能とすること。【解決手段】自動バックアップ装置は、バックアップの対象となる装置に対する設定の変更の時刻と変更内容とを対応付けて履歴情報として取得する履歴情報取得部と、前記バックアップの対象となる装置を復旧するための目的とする時刻を含む復旧要求を取得する復旧要求取得部と、前記復旧要求に含まれる時刻に基づいて、前記履歴情報取得部によって取得された前記履歴情報から、前記バックアップの対象となる装置を復旧するための復旧用情報を生成する復旧用情報生成部と、前記復旧用情報生成部によって生成された前記復旧用情報を前記バックアップの対象となる装置に送信する復旧用情報送信部と、を備える。【選択図】図５
2018018429.tif 000002
【特許請求の範囲】
【請求項１】
バックアップの対象となる装置に対する設定の変更の時刻と変更内容とを対応付けて履歴情報として取得する履歴情報取得部と、
前記バックアップの対象となる装置を復旧するための目的とする時刻を含む復旧要求を取得する復旧要求取得部と、
前記復旧要求に含まれる時刻に基づいて、前記履歴情報取得部によって取得された前記履歴情報から、前記バックアップの対象となる装置を復旧するための復旧用情報を生成する復旧用情報生成部と、
前記復旧用情報生成部によって生成された前記復旧用情報を前記バックアップの対象となる装置に送信する復旧用情報送信部と、
を備える自動バックアップ装置。
【請求項２】
前記履歴情報取得部によって取得された前記履歴情報を蓄積して記憶する履歴情報記憶部を備えることを特徴とする請求項１に記載の自動バックアップ装置。
【請求項３】
前記履歴情報取得部によって取得された前記履歴情報に基づいて、所定時間毎又は所定量の前記履歴情報毎に、前記バックアップの対象となる装置のパラメータ及びプログラム全体が記録されたバックアップを生成するバックアップ生成部を備える請求項１又は２に記載の自動バックアップ装置。
【請求項４】
前記復旧用情報生成部は、前記復旧要求に含まれる時刻に基づいて、前記履歴情報から、前記復旧要求に含まれる時刻における前記バックアップの対象となる装置のパラメータ及びプログラム全体が記録された復旧用バックアップを前記復旧用情報として生成する請求項１から３のいずれか１項に記載の自動バックアップ装置。
【請求項５】
前記復旧用情報生成部は、前記履歴情報において、前記復旧要求に含まれる時刻よりも古い前記履歴情報であって起点となる前記履歴情報を基に、前記設定の変更の古いものから順に前記復旧要求に含まれる時刻のものまで前記履歴情報を適用して、前記復旧用情報を生成する請求項１から４のいずれか１項に記載の自動バックアップ装置。
【請求項６】
前記復旧用情報生成部は、前記履歴情報において、前記復旧要求に含まれる時刻よりも新しい前記履歴情報であって起点となる前記履歴情報を基に、前記設定の変更の新しいものから順に前記復旧要求に含まれる時刻のものまで前記履歴情報を変更前の状態に戻すことにより、前記復旧用情報を生成する請求項１から４のいずれか１項に記載の自動バックアップ装置。
【請求項７】
前記復旧用情報生成部は、前記履歴情報に矛盾が含まれる場合に、当該矛盾が含まれることを前記バックアップの対象となる装置に送信する請求項１から６のいずれか１項に記載の自動バックアップ装置。
【請求項８】
前記復旧用情報生成部は、前記履歴情報に矛盾が含まれる場合に、当該矛盾を補間する変更履歴を生成する請求項１から７のいずれか１項に記載の自動バックアップ装置。
【請求項９】
前記履歴情報取得部は、受信した前記履歴情報に、当該履歴情報を識別するラベルを付加する請求項１から８のいずれか１項に記載の自動バックアップ装置。
【請求項１０】
前記復旧用情報生成部は、前記履歴情報における特定の変更がキャンセルされる場合に、当該変更と逆の内容の変更を追加して適用する請求項１から９のいずれか１項に記載の自動バックアップ装置。
【請求項１１】
前記履歴情報記憶部は、前記バックアップの対象となる装置の出荷時のパラメータ及びプログラム全体が記録されたバックアップを記憶する請求項２に記載の自動バックアップ装置。
【請求項１２】
バックアップの対象となる装置に対する設定の変更の時刻と変更内容とを対応付けて履歴情報として取得する履歴情報取得ステップと、
前記バックアップの対象となる装置を復旧するための目的とする時刻を含む復旧要求を取得する復旧要求取得ステップと、
前記復旧要求に含まれる時刻に基づいて、前記履歴情報取得ステップにおいて取得された前記履歴情報から、前記バックアップの対象となる装置を復旧するための復旧用情報を生成する復旧用情報生成ステップと、
前記復旧用情報生成ステップにおいて生成された前記復旧用情報を前記バックアップの対象となる装置に送信する復旧用情報送信ステップと、
を含む自動バックアップ方法。
【請求項１３】
コンピュータに、
バックアップの対象となる装置に対する設定の変更の時刻と変更内容とを対応付けて履歴情報として取得する履歴情報取得機能と、
前記バックアップの対象となる装置を復旧するための目的とする時刻を含む復旧要求を取得する復旧要求取得機能と、
前記復旧要求に含まれる時刻に基づいて、前記履歴情報取得機能によって取得された前記履歴情報から、前記バックアップの対象となる装置を復旧するための復旧用情報を生成する復旧用情報生成機能と、
前記復旧用情報生成機能によって生成された前記復旧用情報を前記バックアップの対象となる装置に送信する復旧用情報送信機能と、
を実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バックアップの対象となる装置の変更履歴を自動的に保存し、変更前の状態に復旧可能とする自動バックアップ装置、自動バックアップ方法及びプログラムに関する。
【背景技術】
【０００２】
従来、ＣＮＣ（Ｃｏｍｐｕｔｅｒ  Ｎｕｍｅｒｉｃａｌ  Ｃｏｎｔｒｏｌ）によって制御される工作機械等の装置を対象として、そのパラメータやプログラム等の変更履歴をバックアップする技術が知られている。
例えば、特許文献１には、数値制御情報を表す文字列からなるファイルに関して、バージョン名、変更箇所のアドレス、削除された文字列及び新たに追加された文字列を来歴情報として保存するファイル編集装置が開示されている。
また、特許文献２には、数値制御装置（ＣＮＣ）のパラメータの書換え事実情報を、記録時の日時と共に、どのアドレスのパラメータが変更されたかという事実を示す履歴情報として保存する数値制御装置が開示されている。
さらに、特許文献３には、数値制御装置のパラメータの書換履歴情報Ａとして、書換え作業者の識別番号、書換えを行った日付、パラメータのアドレス、変更後の値を逐次保存する数値制御装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５−１４３１３６号公報
【特許文献２】特許第４２６９５３３号明細書
【特許文献３】特許第４１５１４０２号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載された技術においては、変更のバージョン名は来歴情報として保存されているものの、変更が行われた時間が保存されておらず、また、変更の保存が手動で行われている。
そのため、バックアップの対象となる装置の変更を過去に遡って復旧する場合、来歴情報として保存された情報のみからでは、適切に装置を復旧することが困難である。
また、特許文献２に記載された技術においては、変更されたパラメータの内容は保存されていない。
そのため、バックアップの対象となる装置の変更を過去に遡って復旧する場合、特許文献２に記載された履歴情報のみからでは、適切に装置を復旧することが困難である。
さらに、特許文献３に記載された技術においては、パラメータの変更時刻、変更前の値は保存されていない。
そのため、バックアップの対象となる装置の変更を過去に遡って復旧する場合、特許文献３に記載された書換え履歴情報Ａのみからでは、適切に装置を復旧することが困難である。
【０００５】
本発明は、バックアップの対象となる装置をより適切に復旧可能とすることを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の一態様の自動バックアップ装置（例えば、後述の自動バックアップ装置２００）は、バックアップの対象となる装置（例えば、後述の数値制御装置１００）に対する設定の変更の時刻と変更内容とを対応付けて履歴情報として取得する履歴情報取得部（例えば、後述する変更履歴受信部２１１ａ）と、前記バックアップの対象となる装置を復旧するための目的とする時刻を含む復旧要求を取得する復旧要求取得部（例えば、後述する復旧要求受信部２１１ｃ）と、前記復旧要求に含まれる時刻に基づいて、前記履歴情報取得部によって取得された前記履歴情報から、前記バックアップの対象となる装置を復旧するための復旧用情報を生成する復旧用情報生成部（例えば、後述する復旧用バックアップ生成部２１１ｄ）と、前記復旧用情報生成部によって生成された前記復旧用情報を前記バックアップの対象となる装置に送信する復旧用情報送信部（例えば、後述する復旧用バックアップ送信部２１１ｅ）と、を備える。
【０００７】
前記履歴情報取得部によって取得された前記履歴情報を蓄積して記憶する履歴情報記憶部（例えば、後述する履歴情報記憶部２１６ａ）を備えてもよい。
【０００８】
前記履歴情報取得部によって取得された前記履歴情報に基づいて、所定時間毎又は所定量の前記履歴情報毎に、前記バックアップの対象となる装置のパラメータ及びプログラム全体が記録されたバックアップを生成するバックアップ生成部（例えば、後述する自動バックアップ生成部２１１ｂ）を備えてもよい。
【０００９】
前記復旧用情報生成部は、前記復旧要求に含まれる時刻に基づいて、前記履歴情報から、前記復旧要求に含まれる時刻における前記バックアップの対象となる装置のパラメータ及びプログラム全体が記録された復旧用バックアップを前記復旧用情報として生成してもよい。
【００１０】
前記復旧用情報生成部は、前記履歴情報において、前記復旧要求に含まれる時刻よりも古い前記履歴情報であって起点となる前記履歴情報を基に、前記設定の変更の古いものから順に前記復旧要求に含まれる時刻のものまで前記履歴情報を適用して、前記復旧用情報を生成してもよい。
【００１１】
前記復旧用情報生成部は、前記履歴情報において、前記復旧要求に含まれる時刻よりも新しい前記履歴情報であって起点となる前記履歴情報を基に、前記設定の変更の新しいものから順に前記復旧要求に含まれる時刻のものまで前記履歴情報を変更前の状態に戻すことにより、前記復旧用情報を生成してもよい。
【００１２】
前記復旧用情報生成部は、前記履歴情報に矛盾が含まれる場合に、当該矛盾が含まれることを前記バックアップの対象となる装置に送信してもよい。
【００１３】
前記復旧用情報生成部は、前記履歴情報に矛盾が含まれる場合に、当該矛盾を補間する変更履歴を生成してもよい。
【００１４】
前記履歴情報取得部は、受信した前記履歴情報に、当該履歴情報を識別するラベルを付加してもよい。
【００１５】
前記復旧用情報生成部は、前記履歴情報における特定の変更がキャンセルされる場合に、当該変更と逆の内容の変更を追加して適用してもよい。
【００１６】
前記履歴情報記憶部は、前記バックアップの対象となる装置の出荷時のパラメータ及びプログラム全体が記録されたバックアップを記憶してもよい。
【００１７】
また、本発明の一態様の自動バックアップ方法は、バックアップの対象となる装置に対する設定の変更の時刻と変更内容とを対応付けて履歴情報として取得する履歴情報取得ステップと、前記バックアップの対象となる装置を復旧するための目的とする時刻を含む復旧要求を取得する復旧要求取得ステップと、前記復旧要求に含まれる時刻に基づいて、前記履歴情報取得ステップにおいて取得された前記履歴情報から、前記バックアップの対象となる装置を復旧するための復旧用情報を生成する復旧用情報生成ステップと、前記復旧用情報生成ステップにおいて生成された前記復旧用情報を前記バックアップの対象となる装置に送信する復旧用情報送信ステップと、を含む。
【００１８】
また、本発明の一態様のプログラムは、コンピュータに、バックアップの対象となる装置に対する設定の変更の時刻と変更内容とを対応付けて履歴情報として取得する履歴情報取得機能と、前記バックアップの対象となる装置を復旧するための目的とする時刻を含む復旧要求を取得する復旧要求取得機能と、前記復旧要求に含まれる時刻に基づいて、前記履歴情報取得機能によって取得された前記履歴情報から、前記バックアップの対象となる装置を復旧するための復旧用情報を生成する復旧用情報生成機能と、前記復旧用情報生成機能によって生成された前記復旧用情報を前記バックアップの対象となる装置に送信する復旧用情報送信機能と、を実現させる。
【発明の効果】
【００１９】
本発明によれば、バックアップの対象となる装置をより適切に復旧することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の一実施形態に係る自動バックアップシステムのシステム構成を示す模式図である。
【図２】数値制御装置の要部のハードウェア構成を示すブロック図である。
【図３】自動バックアップ装置のハードウェア構成を示すブロック図である。
【図４】数値制御装置の機能的構成を示す機能ブロック図である。
【図５】自動バックアップ装置の機能的構成を示す機能ブロック図である。
【図６】履歴情報記憶部に記憶される履歴情報の一例を示す模式図である。
【図７】数値制御装置のＣＰＵが実行する変更履歴取得処理の流れを示すフローチャートである。
【図８】自動バックアップ装置のＣＰＵが実行するバックアップ処理の流れを示すフローチャートである。
【図９】自動バックアップ装置のＣＰＵが実行する復旧支援処理の流れを示すフローチャートである。
【図１０】復旧要求において日時が指定された状態の一例を示す模式図である。
【図１１】復旧支援処理においてバックアップが特定された状態の一例を示す模式図である。
【図１２】復旧要求において指定された日時まで復旧された状態の一例を示す模式図である。
【図１３】数値制御装置のＣＰＵが実行する復旧実行処理の流れを示すフローチャートである。
【図１４】復旧要求において指定された日時より後の直近のバックアップを特定して復旧用バックアップを生成する手順を模式的に示す図である。
【図１５】履歴情報記憶部に記憶されている履歴情報に矛盾がある状態を模式的に示す図である。
【図１６】矛盾を補間するための変更履歴が挿入された状態を示す模式図である。
【図１７】履歴情報にラベルが付加された状態を示す模式図である。
【図１８】特定の日時の変更履歴と同内容の変更を数値制御装置に適用する状態を示す模式図である。
【図１９】特定の変更履歴のみをキャンセルするための変更を適用する状態を示す模式図である。
【図２０】変更履歴を記憶する処理（変更履歴記憶処理）及び変更履歴を送信する処理（変更履歴送信処理）を並列的に実行する場合の処理の流れを示すフローチャートである。
【図２１】変更履歴を蓄積する処理（変更履歴蓄積処理）及びバクアップを生成する処理（バックアップ生成処理）を並列的に実行する場合の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００２１】
以下、本発明の実施形態について、図面を参照して説明する。
［構成］
図１は、本発明の一実施形態に係る自動バックアップシステム１のシステム構成を示す模式図である。
図１に示すように、自動バックアップシステム１は、複数の数値制御装置（ＣＮＣ）１００と、自動バックアップ装置２００とを含んで構成され、複数の数値制御装置１００と自動バックアップ装置２００とは、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やインターネット等のネットワーク３００を介して通信可能に構成されている。
【００２２】
数値制御装置１００は、設定されたパラメータ及びプログラムに従って、工作機械に備えらえたサーボモータ等を制御する。また、数値制御装置１００は、オペレータによって、設定されたパラメータあるいはプログラムが変更された場合に、変更日時、変更箇所、変更前の値及び変更後の値を少なくとも含む変更履歴を一時的に記憶し、一定時間毎（例えば、１秒毎）に、その変更履歴を自動バックアップ装置２００に送信する。また、数値制御装置１００は、数値制御装置１００におけるパラメータあるいはプログラムの変更を変更前の状態に戻し、数値制御装置１００を指定された日時の状態に復旧するための要求（以下、「復旧要求」と呼ぶ。）の入力を受け付ける。この復旧要求は、オペレータによって入力されるものであり、復旧の対象となる日時が指定されている。そして、数値制御装置１００は、入力された復旧要求を自動バックアップ装置２００に送信する。
なお、本実施形態において、数値制御装置１００は、パラメータあるいはプログラムをバックアップする対象としての制御装置の一例を示すものであり、本発明を適用可能な制御装置としては、数値制御装置１００の他、例えば、ロボットコントローラ等を挙げることができる。
【００２３】
図２は、数値制御装置１００の要部のハードウェア構成を示すブロック図である。
数値制御装置１００において、ＣＰＵ１１１は数値制御装置１００を全体的に制御するプロセッサである。ＣＰＵ１１１は、ＲＯＭ１１２に格納されたシステムプログラムをバス１２０を介して読み出し、該システムプログラムに従って数値制御装置１００全体を制御する。
ＲＡＭ１１３には、一時的な計算データや表示データ及び表示器／ＭＤＩユニット１７０を介してオペレータが入力した各種データが格納される。また、一般にＲＡＭへのアクセスはＲＯＭへのアクセスよりも高速であることから、ＲＯＭ１１２に格納されたシステムプログラムをあらかじめＲＡＭ１１３上に展開しておき、ＣＰＵ１１１はＲＡＭ１１３からシステムプログラムを読み込んで実行してもよい。
不揮発性メモリ１１４は、磁気記憶装置またはフラッシュメモリ、ＭＲＡＭ、ＦＲＡＭ（登録商標）、ＥＥＰＲＯＭ、あるいは図示しないバッテリでバックアップされるＳＲＡＭやＤＲＡＭであり、数値制御装置１００の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。不揮発性メモリ１１４中には、インタフェース１１５や表示器／ＭＤＩユニット１７０または通信部１２７を介して入力された加工プログラム等が記憶される。
【００２４】
ＲＯＭ１１２には、加工プログラムの作成及び編集のために必要とされる編集モードの処理や自動運転のための処理を実施するための各種システムプログラムがあらかじめ書き込まれている。
各種加工プログラムは、インタフェース１１５や表示器／ＭＤＩユニット１７０または通信部１２７を介して入力し、不揮発性メモリ１１４に格納することができる。
インタフェース１１５は、数値制御装置１００と外部機器１７２との接続を可能とするものである。外部機器１７２側からは加工プログラムや各種パラメータ等が読み込まれる。また、数値制御装置１００内で編集した加工プログラムは、外部機器１７２を介して外部記憶手段に記憶させることができる。インタフェース１１５の具体例としては、ＲＳ２３２ＣやＵＳＢ、ＳＡＴＡ、ＰＣカードスロット、ＣＦカードスロットＳＤカードスロット、イーサネット（登録商標）、Ｗｉ−Ｆｉ等が挙げられる。インタフェース１１５は表示器／ＭＤＩユニット１７０上に存在してもよい。外部機器１７２の例としてはコンピュータ、ＵＳＢメモリ、ＣＦａｓｔ、ＣＦカード、ＳＤカード等が挙げられる。
【００２５】
ＰＭＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｍａｃｈｉｎｅ  Ｃｏｎｔｒｏｌｌｅｒ）１１６は、数値制御装置１００に内蔵されたシーケンスプログラムで工作機械の補助装置（例えば自動工具交換装置）にＩ／Ｏユニット１１７を介して信号を出力し制御する。また、工作機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、ＣＰＵ１１１に渡す。なお、ＰＭＣ１１６は、一般に、ＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）とも呼ばれる。
操作盤１７１はＰＭＣ１１６に接続される。操作盤１７１は手動パルス発生器等を備えていてもよい。
表示器／ＭＤＩユニット１７０はディスプレイやキーボード等を備えた手動データ入力装置である。インタフェース１１８は表示用の画面データを表示器／ＭＤＩユニット１７０のディスプレイに送るほか、表示器／ＭＤＩユニット１７０のキーボードからの指令やデータを受けてＣＰＵ１１１に渡す。
【００２６】
各軸の軸制御回路１３０〜１３４はＣＰＵ１１１からの各軸の移動指令量を受けて、各軸の指令をサーボアンプ１４０〜１４４に出力する。
サーボアンプ１４０〜１４４はこの指令を受けて、各軸のサーボモータ１５０〜１５４を駆動する。各軸のサーボモータ１５０〜１５４は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路１３０〜１３４にフィードバックし、位置・速度のフィードバック制御を行う。なお、図２に示すブロック図では、位置・速度のフィードバックについては省略している。
【００２７】
スピンドル制御回路１６０は、工作機械への主軸回転指令を受け、スピンドルアンプ１６１にスピンドル速度信号を出力する。スピンドルアンプ１６１はこのスピンドル速度信号を受けて、工作機械のスピンドルモータ１６２を指令された回転速度で回転させ、工具を駆動する。
スピンドルモータ１６２には歯車あるいはベルト等でパルスエンコーダ１６３が結合され、パルスエンコーダ１６３が主軸の回転に同期して帰還パルスを出力し、その帰還パルスはバス１２０を経由してＣＰＵ１１１によって読み取られる。
【００２８】
図１に戻り、自動バックアップ装置２００は、サーバの機能を備える情報処理装置（例えば、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）あるいはサーバコンピュータ等）によって構成される。自動バックアップ装置２００は、各数値制御装置１００から送信されたパラメータあるいはプログラムの変更履歴を、各数値制御装置１００と対応付けて記憶する。本実施形態において、自動バックアップ装置２００は、数値制御装置１００のパラメータ及びプログラム全体が記録されたバックアップと、バックアップに対する差分である変更履歴とを記憶する。そして、自動バックアップ装置２００は、各数値制御装置１００から送信された変更履歴を蓄積して記憶しておき、一定時間毎（例えば、１日毎）に、直近のバックアップと、蓄積して記憶した変更履歴とから、最新のバックアップを生成して記録する。なお、以下、バックアップと変更履歴とを総称して、「履歴情報」と呼ぶ。
【００２９】
また、自動バックアップ装置２００は、数値制御装置１００から復旧要求を受信した場合に、指定された日時の状態に数値制御装置１００を復旧するための履歴情報を特定し、数値制御装置１００に送信する。本実施形態において、自動バックアップ装置２００は、復旧要求を受信した場合、指定された日時より前の直近のバックアップを特定し、そのバックアップの日時から指定された日時までの変更履歴を順に直近のバックアップに適用することにより、指定された日時におけるバックアップ（以下、「復旧用バックアップ」と呼ぶ。）を生成する。そして、自動バックアップ装置２００は、指定された日時の状態に数値制御装置１００を復旧するため、生成した復旧用バックアップを数値制御装置１００に送信する。これにより、数値制御装置１００において、指定された日時の状態に装置を復旧することが可能となる。
【００３０】
図３は、自動バックアップ装置２００のハードウェア構成を示すブロック図である。
自動バックアップ装置２００において、ＣＰＵ２１１は自動バックアップ装置２００を全体的に制御するプロセッサである。ＣＰＵ２１１は、記憶部２１６に記憶された各種プログラムをバス２１８を介して読み出し、これらのプログラムを実行することにより、自動バックアップ装置２００全体を制御する。
ＲＯＭ２１２には、自動バックアップ装置２００を制御するための各種システムプログラムがあらかじめ書き込まれている。
ＲＡＭ２１３は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の半導体メモリによって構成され、ＣＰＵ２１１が各種処理を実行する際に生成されるデータを記憶する。また、一般にＲＡＭへのアクセスはＲＯＭへのアクセスよりも高速であることから、ＲＯＭ２１２に格納されたシステムプログラムをあらかじめＲＡＭ２１３上に展開しておき、ＣＰＵ２１１はＲＡＭ２１３からシステムプログラムを読み込んで実行してもよい。
【００３１】
入力部２１４は、キーボード、マウス、タッチパネルあるいはマイク等の入力装置によって構成され、自動バックアップ装置２００への各種情報の入力を受け付ける。
表示部２１５は、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）やＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）、有機ＥＬ、ＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）等の表示装置によって構成され、自動バックアップ装置２００の各種処理結果を表示する。視覚的な表示のほかに、スピーカによる音声出力を用いてもよい。
記憶部２１６は、ハードディスクあるいはフラッシュメモリ等の不揮発性の記憶装置によって構成され、自動バックアップ装置２００において実行される各種処理のための各種プログラムや、数値制御装置１００の履歴情報のデータ等を記憶する。
通信部２１７は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等、所定の通信規格に基づいて通信処理を行う通信インタフェースを備え、自動バックアップ装置２００が外部装置との間で行う通信を制御する。
【００３２】
上述のようなハードウェア構成の下、数値制御装置１００及び自動バックアップ装置２００において各種プログラムが実行されることにより、自動バックアップシステム１では、以下のような機能的構成が実現される。
図４は、数値制御装置１００の機能的構成を示す機能ブロック図である。
図４に示すように、数値制御装置１００のＣＰＵ１１１が変更履歴取得処理及び復旧実行処理のためのプログラムを実行することにより、機能的構成として、ＣＰＵ１１１において、変更入力受付部１１１ａと、変更履歴送信部１１１ｂと、復旧要求受付部１１１ｃと、復旧要求送信部１１１ｄと、復旧用バックアップ受信部１１１ｅと、復旧用バックアップ適用部１１１ｆとが形成される。また、不揮発性メモリ１１４において、変更履歴一時記憶部１１４ａが形成される。なお、変更履歴一時記憶部１１４ａは、ＲＡＭ１１３等、他の記憶装置の記憶領域に形成することとしてもよい。
【００３３】
変更入力受付部１１１ａは、表示器／ＭＤＩユニット１７０を介して入力される数値制御装置１００のパラメータあるいはプログラムの変更を受け付ける。そして、変更入力受付部１１１ａは、入力されたパラメータあるいはプログラムの変更内容に従ってパラメータあるいはプログラムを設定すると共に、その変更内容を変更履歴として変更履歴一時記憶部１１４ａに記憶する。このとき、変更入力受付部１１１ａは、入力された変更内容について、変更された日時、変更箇所、変更前の値及び変更後の値を変更履歴に含めて、変更履歴一時記憶部１１４ａに記憶する。
【００３４】
変更履歴送信部１１１ｂは、あらかじめ設定された一定時間毎（例えば、１秒毎）に、変更履歴一時記憶部１１４ａに記憶されている変更履歴をネットワーク３００を介して自動バックアップ装置２００に送信する。
復旧要求受付部１１１ｃは、表示器／ＭＤＩユニット１７０を介して入力される数値制御装置１００の復旧要求を受け付ける。なお、上述のように、復旧要求においては、復旧の対象となる日時が指定されている。
【００３５】
復旧要求送信部１１１ｄは、復旧要求受付部１１１ｃによって受け付けられた復旧要求を、ネットワーク３００を介して自動バックアップ装置２００に送信する。
復旧用バックアップ受信部１１１ｅは、数値制御装置１００が自動バックアップ装置２００に送信した復旧要求に応じて、自動バックアップ装置２００から送信された復旧用バックアップを受信する。
復旧用バックアップ適用部１１１ｆは、復旧用バックアップ受信部１１１ｅによって受信した復旧用バックアップに基づいて、パラメータ及びプログラムの状態を設定する。具体的には、復旧用バックアップには、復旧要求において指定された日時の状態がバックアップされたパラメータ及びプログラムの内容が含まれているため、復旧用バックアップ適用部１１１ｆは、それらパラメータ及びプログラムの状態に数値制御装置１００を設定する。
これにより、指定された日時の状態に数値制御装置１００が復旧される。
【００３６】
次に、自動バックアップ装置２００の機能的構成について説明する。
図５は、自動バックアップ装置２００の機能的構成を示す機能ブロック図である。
図５に示すように、自動バックアップ装置２００のＣＰＵ２１１がバックアップ処理及び復旧支援処理のためのプログラムを実行することにより、機能的構成として、ＣＰＵ２１１において、変更履歴受信部２１１ａと、自動バックアップ生成部２１１ｂと、復旧要求受信部２１１ｃと、復旧用バックアップ生成部２１１ｄと、復旧用バックアップ送信部２１１ｅとが形成される。また、記憶部２１６において、履歴情報記憶部２１６ａが形成される。なお、履歴情報記憶部２１６ａは、ＲＡＭ２１３等、他の記憶装置の記憶領域に形成することとしてもよい。また、自動バックアップ装置２００の各機能は、複数の装置に分散して実装することも可能であり、例えば、履歴情報記憶部２１６ａをネットワーク３００を介して通信可能なデータベースサーバに実装すること等が可能である。
【００３７】
変更履歴受信部２１１ａは、一定時間毎に数値制御装置１００から送信される変更履歴をネットワーク３００を介して受信する。そして、変更履歴受信部２１１ａは、受信した変更履歴を蓄積して履歴情報記憶部２１６ａに記憶する。
自動バックアップ生成部２１１ｂは、あらかじめ設定された一定時間毎（例えば、１日毎）に、履歴情報記憶部２１６ａに記憶されている直近のバックアップと、履歴情報記憶部２１６ａに蓄積して記憶されている変更履歴とから、最新のバックアップを生成し、履歴情報記憶部２１６ａに記憶する。このとき、自動バックアップ生成部２１１ｂは、履歴情報記憶部２１６ａに記憶されている直近のバックアップに、履歴情報記憶部２１６ａに蓄積して記憶されている変更履歴を日時の古いものから順に、最新のものまで適用する。その結果、自動バックアップ装置２００が有している数値制御装置１００の履歴情報が全て適用された最新のバックアップが生成される。このように、あらかじめ設定された一定時間毎に最新のバックアップを生成することで、数値制御装置１００の復旧を行う際の起点となる履歴情報を適切に保持することができる。
【００３８】
図６は、履歴情報記憶部２１６ａに記憶される履歴情報の一例を示す模式図である。
図６に示すように、履歴情報記憶部２１６ａには、数値制御装置１００のパラメータ及びプログラム全体が記録されたバックアップ（Ｂａｃｋｕｐ）と、バックアップに対する差分である各種変更履歴とが記憶されている。また、履歴情報記憶部２１６ａにおいては、履歴情報の日時、変更箇所、変更前の値及び変更後の値が対応付けて記憶されている。例えば、図６において、履歴情報の第１行として、履歴情報の日時「２０１６／０１／０１  ００：００：００．００」、変更箇所「Ｂａｃｋｕｐ」、変更前の値及び変更後の値「出荷時の状態」のバックアップに関する情報が記憶されている。履歴情報の第１行は、数値制御装置１００の出荷時におけるバックアップの内容を表している。出荷時におけるバックアップの内容を記憶しておくことで、数値制御装置１００をリセットすること等が可能となる。なお、バックアップの場合、変更前の値と変更後の値とは同一となる。また、図６において、変更履歴情報の第７行として、履歴情報の日時「２０１６／０６／０１  ０９：５３：１１．４６」、変更箇所「Ｐａｒａｍｅｔｅｒ  ＃１２３４５」、変更前の値「６７」、変更後の値「８９」の変更履歴に関する情報が記憶されている。履歴情報の第７行は、数値制御装置１００において、日時「２０１６／０６／０１  ０９：５３：１１．４６」に、「Ｐａｒａｍｅｔｅｒ  ＃１２３４５」の値が「６７」から「８９」に変更された変更履歴の内容を表している。
【００３９】
図５に戻り、復旧要求受信部２１１ｃは、数値制御装置１００から送信される復旧要求をネットワーク３００を介して受信する。
復旧用バックアップ生成部２１１ｄは、復旧要求受信部２１１ｃによって受信した復旧要求に基づいて、数値制御装置１００の復旧用バックアップを生成する。具体的には、復旧用バックアップ生成部２１１ｄは、履歴情報記憶部２１６ａを参照し、復旧要求において指定された日時より前の直近のバックアップを特定する。そして、復旧用バックアップ生成部２１１ｄは、特定したバックアップを起点として、履歴情報記憶部２１６ａに蓄積して記憶されている変更履歴のうち、特定したバックアップの日時から復旧要求において指定された日時までの変更履歴を日時の古いものから順に適用する。その結果、復旧要求において指定された日時の数値制御装置１００の状態を表す復旧用バックアップが生成される。
復旧用バックアップ送信部２１１ｅは、復旧要求を送信した数値制御装置１００に対して、復旧用バックアップ生成部２１１ｄによって生成した復旧用バックアップを送信する。
【００４０】
［動作］
次に、自動バックアップシステム１の動作を説明する。
［変更履歴取得処理］
図７は、数値制御装置１００のＣＰＵ１１１が実行する変更履歴取得処理の流れを示すフローチャートである。
変更履歴取得処理は、数値制御装置１００の稼働と共に開始される。
ステップＳ１１において、変更入力受付部１１１ａは、表示器／ＭＤＩユニット１７０やインタフェース１１５または通信部１２７を介して数値制御装置１００のパラメータあるいはプログラムの変更が入力されたか否かの判定を行う。
【００４１】
表示器／ＭＤＩユニット１７０やインタフェース１１５または通信部１２７を介して数値制御装置１００のパラメータあるいはプログラムの変更が入力されたと判定された場合（ステップＳ１１：ＹＥＳ）、処理はステップＳ１２に移行する。
一方、表示器／ＭＤＩユニット１７０やインタフェース１１５または通信部１２７を介して数値制御装置１００のパラメータあるいはプログラムの変更が入力されていないと判定された場合（ステップＳ１１：ＮＯ）、処理はステップＳ１３に移行する。
ステップＳ１２において、変更入力受付部１１１ａは、入力されたパラメータあるいはプログラムの変更内容を変更履歴として変更履歴一時記憶部１１４ａに記憶する。
【００４２】
ステップＳ１３において、変更履歴送信部１１１ｂは、あらかじめ設定された一定時間（例えば、１秒）に達しているか否かの判定を行う。
あらかじめ設定された一定時間（例えば、１秒）に達していると判定された場合（ステップＳ１３：ＹＥＳ）、処理はステップＳ１４に移行する。
一方、あらかじめ設定された一定時間（例えば、１秒）に達していないと判定された場合、変更履歴取得処理が繰り返される。
ステップＳ１４において、変更履歴送信部１１１ｂは、変更履歴一時記憶部１１４ａに記憶されている変更履歴をネットワーク３００を介して自動バックアップ装置２００に送信する。
ステップＳ１４の後、変更履歴取得処理が繰り返される。
【００４３】
［バックアップ処理］
図８は、自動バックアップ装置２００のＣＰＵ２１１が実行するバックアップ処理の流れを示すフローチャートである。
バックアップ処理は、自動バックアップ装置２００においてバックアップ処理の実行が指示されることにより開始される。
ステップＳ２１において、変更履歴受信部２１１ａは、一定時間毎に数値制御装置１００から送信される変更履歴をネットワーク３００を介して受信する。
ステップＳ２２において、変更履歴受信部２１１ａは、受信した変更履歴を蓄積して履歴情報記憶部２１６ａに記憶する。
【００４４】
ステップＳ２３において、自動バックアップ生成部２１１ｂは、あらかじめ設定された一定時間（例えば、１日）に達しているか否かの判定を行う。
あらかじめ設定された一定時間（例えば、１日）に達していると判定された場合（ステップＳ２３：ＹＥＳ）、処理はステップＳ２４に移行する。
一方、あらかじめ設定された一定時間（例えば、１日）に達していないと判定された場合（ステップＳ２３：ＮＯ）、バックアップ処理が繰り返される。
ステップＳ２４において、自動バックアップ生成部２１１ｂは、履歴情報記憶部２１６ａに記憶されている直近のバックアップと、履歴情報記憶部２１６ａに蓄積して記憶されている変更履歴とから、最新のバックアップを生成し、履歴情報記憶部２１６ａに記憶する。
ステップＳ２４の後、バックアップ処理が繰り返される。
【００４５】
［復旧支援処理］
図９は、自動バックアップ装置２００のＣＰＵ２１１が実行する復旧支援処理の流れを示すフローチャートである。
復旧支援処理は、自動バックアップ装置２００において復旧支援処理の実行が指示されることにより開始される。
ステップＳ３１において、復旧要求受信部２１１ｃは、数値制御装置１００から送信される復旧要求をネットワーク３００を介して受信したか否かの判定を行う。
数値制御装置１００から送信される復旧要求をネットワーク３００を介して受信したと判定された場合（ステップＳ３１：ＹＥＳ）、処理はステップＳ３２に移行する。
一方、数値制御装置１００から送信される復旧要求をネットワーク３００を介して受信していないと判定された場合（ステップＳ３１：ＮＯ）、復旧支援処理が繰り返される。
ステップＳ３２において、復旧用バックアップ生成部２１１ｄは、履歴情報記憶部２１６ａを参照し、復旧要求において指定された日時より前の直近のバックアップを特定する。
【００４６】
図１０は、復旧要求において日時が指定された状態の一例を示す模式図である。
なお、図１０に示す履歴情報は、第６行の変更履歴（誤ってプログラムが削除された際の変更履歴）の直前の日時が指定されている。
また、図１１は、復旧支援処理においてバックアップが特定された状態の一例を示す模式図である。
復旧要求において、図１０に示す第６行の変更履歴の直前の日時が指定されている場合、指定された日時より前の直近のバックアップが特定されることから、図１１に示すように、第１行のバックアップが特定される。
ステップＳ３３において、復旧用バックアップ生成部２１１ｄは、履歴情報記憶部２１６ａに蓄積して記憶されている変更履歴のうち、特定したバックアップの日時から復旧要求において指定された日時までの変更履歴を日時の古いものから順に、特定したバックアップに適用する。
【００４７】
図１２は、復旧要求において指定された日時まで復旧された状態の一例を示す模式図である。
図１２に示すように、ステップＳ３３の処理により、図１１において特定された第１行のバックアップの日時から復旧要求において指定された日時までの第２行から第５行までの変更履歴が、日時の古いものから順に、第１行のバックアップに適用される。
ステップＳ３４において、復旧用バックアップ生成部２１１ｄは、ステップＳ３３において変更履歴を適用した結果から復旧用バックアップを生成する。
ステップＳ３５において、復旧用バックアップ送信部２１１ｅは、復旧要求を送信した数値制御装置１００に対して、生成した復旧用バックアップを送信する。
ステップＳ３５の後、復旧支援処理が繰り返される。
【００４８】
［復旧実行処理］
図１３は、数値制御装置１００のＣＰＵ１１１が実行する復旧実行処理の流れを示すフローチャートである。
復旧実行処理は、数値制御装置１００において復旧実行処理の実行が指示されることにより開始される。
ステップＳ４１において、復旧要求受付部１１１ｃは、表示器／ＭＤＩユニット１７０、インタフェース１１５または通信部１２７を介して入力される数値制御装置１００の復旧要求を受け付ける。
【００４９】
ステップＳ４２において、復旧要求送信部１１１ｄは、復旧要求受付部１１１ｃによって受け付けられた復旧要求を、ネットワーク３００を介して自動バックアップ装置２００に送信する。なお、この復旧要求には、復旧の対象となる日時が指定されている。
【００５０】
ステップＳ４３において、復旧用バックアップ受信部１１１ｅは、数値制御装置１００が自動バックアップ装置２００に送信した復旧要求に応じて、自動バックアップ装置２００から送信された復旧用バックアップを受信する。
ステップＳ４４において、復旧用バックアップ適用部１１１ｆは、受信した復旧用バックアップに基づいて、パラメータ及びプログラムの状態を設定する。
【００５１】
このような処理により、復旧要求において指定された日時の状態に数値制御装置１００が復旧される。
【００５２】
なお、上述の実施形態において、自動バックアップ装置２００で一定時間毎にバックアップを生成することの他、オペレータの指示等に応じて、任意のタイミングで真のバックアップを取得することができる。真のバックアップを取得した場合、それ以降はこの真のバックアップを起点として自動バックアップの生成を行う。
【００５３】
また、上述の実施形態において、自動バックアップ装置２００でバックアップを生成するタイミングは、一定時間毎とすることの他、一定量の変更履歴が蓄積される毎としてもよい。同様に、数値制御装置１００で変更履歴を自動バックアップ装置２００に送信するタイミングは、一定時間毎とすることの他、一定量の変更履歴が一時的に記憶される毎としてもよい。
これにより、変更が行われる頻度等によって変動する変更履歴の情報量に応じたタイミングで、自動バックアップ装置２００におけるバックアップの生成や、数値制御装置１００における変更履歴の送信を行うことができる。
また、上述の実施形態において、変更履歴に変更者等の付加的な情報を参考情報として含めることとしてもよい。
これにより、装置の復旧を行う場合に、より詳細な条件を考慮して、より適切な復旧を行うことが可能となる。
【００５４】
［変形例１］
上述の実施形態において、復旧用バックアップ生成部２１１ｄは、復旧要求において指定された日時より前の直近のバックアップを特定し、特定したバックアップを起点として、履歴情報記憶部２１６ａに蓄積して記憶されている変更履歴のうち、特定したバックアップの日時から復旧要求において指定された日時までの変更履歴を日時の古いものから順に適用するものとして説明した。
これに対し、復旧要求において指定された日時より後の直近のバックアップを特定し、特定したバックアップを起点として、特定したバックアップの日時から復旧要求において指定された日時までの変更履歴を日時の新しいものから順に、変更前の状態に戻していくこととしてもよい。
図１４は、復旧要求において指定された日時より後の直近のバックアップを特定して復旧用バックアップを生成する手順を模式的に示す図である。
図１４に示すように、復旧要求において指定された日時より後の直近のバックアップを用いることによっても、復旧用バックアップを生成することが可能である。
なお、上述の実施形態のように復旧要求において指定された日時より前の直近のバックアップを用いて復旧用バックアップを生成する手順と、図１４のように、復旧要求において指定された日時より後の直近のバックアップを用いて復旧用バックアップを生成する手順とを両方実行することとしてもよい。
このとき、生成される復旧用バックアップの内容が一致しない場合には、（１）いずれかの復旧用バックアップを用いる、（２）一方が利用不可能であれば利用可能な復旧用バックアップを用いる、（３）その日時への復旧を取り止める、といった処理を行うことが可能であり、これらのいずれとするかについてオペレータによる入力を受け付けることとしてもよい。
このような構成により、少なくとも一方の手順によって復旧用バックアップが生成できれば、装置を復旧することが可能となる。また、装置の復旧の実行要否を状況に応じてオペレータが選択可能となる。
【００５５】
［変形例２］
上述の実施形態において、履歴情報記憶部２１６ａに記憶されている履歴情報に矛盾が検出された場合、その矛盾を報知するための警告を数値制御装置１００に送信して表示させると共に、検出した矛盾を補間する変更履歴を生成することとしてもよい。なお、このように履歴情報における矛盾を補間する処理は、変更履歴受信部２１１ａ、自動バックアップ生成部２１１ｂあるいは復旧用バックアップ生成部２１１ｄ等において実行することができる。例えば、変更履歴受信部２１１ａが履歴情報を数値制御装置１００から受信したタイミング、自動バックアップ生成部２１１ｂが最新のバックアップを生成するタイミングあるいは復旧用バックアップ生成部２１１ｄが復旧用バックアップを生成するタイミング等に、履歴情報における矛盾を補間する処理を実行することができる。
図１５は、履歴情報記憶部２１６ａに記憶されている履歴情報に矛盾がある状態を模式的に示す図である。
また、図１６は、矛盾を補間するための変更履歴が挿入された状態を示す模式図である。
図１５においては、履歴情報の第１３行（末尾の行）と、数値制御装置１００から新たに受信した変更履歴との間に矛盾がある状態を示している。具体的には、履歴情報の第１３行における「変更後の値」と、数値制御装置１００から新たに受信した変更履歴における「変更前の値」とは、同一のパラメータ「Ｐａｒａｍｅｔｅｒ  ＃３１４」に関する変更であるため、一致していなければならないところ、「６５３５」及び「８９７９」となっており、一致していない状態である。
これは、履歴情報記憶部２１６ａの第１３行に示される変更履歴から、数値制御装置１００から新たに受信した変更履歴までの間に本来存在すべき変更履歴が、何等かの理由（通信エラー等）によって失われたものと考えられる。
そこで、このような矛盾が生じた場合、図１６に示すように、日時が古い方の変更履歴における「変更後の値」を「変更前の値」、日時が新しい方の変更履歴における「変更前の値」を「変更後の値」とする補間用の変更履歴を生成し、矛盾が生じている２つの変更履歴の間に挿入することができる。補間用の変更履歴に付す日時としては、矛盾が生じている２つの変更履歴の間の日時を自動バックアップ装置２００で自動的に指定することや、数値制御装置１００のオペレータによる指定を受け付けること等が可能である。なお、本実施形態において、このように生成された補間用の変更履歴は、補間されたものであることを識別して履歴情報記憶部２１６ａに記憶される。
これにより、履歴情報に矛盾が生じた場合であっても、数値制御装置１００の復旧をより確実に行うことが可能となる。
なお、履歴情報記憶部２１６ａに記憶されている履歴情報において矛盾が検出された場合、補間用の変更履歴を生成することに加え、数値制御装置１００のオペレータに、他の日時を指定して復旧要求を行う選択肢を提示すること等も可能である。
【００５６】
［変形例３］
上述の実施形態において、自動バックアップ装置２００で復旧用バックアップを生成する場合を例に挙げて説明した。
これに対し、復旧用バックアップを生成する処理の一部を数値制御装置１００で実行することとしてもよい。
例えば、復旧要求において指定された日時が現在時刻に近い場合、指定された日時より後の直近のバックアップと変更履歴とを自動バックアップ装置２００から数値制御装置に送信し、数値制御装置１００において、復旧用バックアップを生成することができる。
なお、このとき、数値制御装置１００に一時的に記憶されている変更履歴を自動バックアップ装置２００に送信することなく保持しておき、自動バックアップ装置２００から受信したバックアップ及び変更履歴と共に、復旧用バックアップの生成に用いることとしてもよい。
【００５７】
［変形例４］
上述の実施形態において、復旧用バックアップ適用部１１１ｆが復旧用バックアップに基づいて、数値制御装置１００のパラメータ及びプログラムの状態を設定する場合、設定後の状態を数値制御装置１００の画面に表示し、オペレータに設定の実行の要否を確認することとしてもよい。
同様に、数値制御装置１００のパラメータ及びプログラムの状態を仮設定し、設定後の状態をシミュレーションした上で、オペレータに設定の実行の要否を確認することとしてもよい。
これにより、オペレータは、復旧要求によって適切な復旧が行われるか否かをあらかじめ確認することが可能となる。
【００５８】
［変形例５］
上述の実施形態において、自動バックアップ装置２００の変更履歴受信部２１１ａが、受信した履歴情報を履歴情報記憶部２１６ａに記憶する際に、履歴情報に含まれるバックアップ及び変更履歴にラベルを付加することとしてもよい。
図１７は、履歴情報にラベルが付加された状態を示す模式図である。
図１７においては、履歴情報の第２行に「プログラム編集」という変更履歴のラベルが付加されている。この［ラベル］［プログラム編集］は、履歴情報の第３行から第９行に示されるプログラムの編集に関する変更を行ったタイミングを示している。また、履歴情報の第１０行に「システムソフト更新」という変更履歴のラベルが付加されている。この［ラベル］［システムソフト更新］は、履歴情報の第１１行から第１３行に示されるシステムソフトウェアの更新に関する変更を行ったタイミングを示している。
これらのラベルは、復旧の対象となる頻度が高い変更履歴や、復旧の対象として信頼性が高い変更履歴に付加することができる。
変更履歴にラベルを付加することにより、日時を指定する場合よりも容易に、目的とする変更履歴を指定することが可能となる。
【００５９】
［変形例６］
上述の実施形態において、自動バックアップ装置２００に記憶された履歴情報のうち、特定の日時の変更履歴と同内容の変更を数値制御装置１００に適用する機能を付加することができる。
図１８は、特定の日時の変更履歴と同内容の変更を数値制御装置１００に適用する状態を示す模式図である。なお、図１８は、図１２に示す履歴情報の状態と対応している。
図１８においては、変更入力受付部１１１ａが、自動バックアップ装置２００に記憶された履歴情報において、第６行の変更履歴の前の状態に復旧された後、第６行の後の第７行から第１３行の変更履歴の指定を受け付け、同内容の変更（パラメータあるいはプログラムの設定）を改めて適用した状態を示している。
このような構成により、繰り返し行われる同内容の変更等を簡単に行うことが可能となる。
【００６０】
［変形例７］
上述の実施形態において、特定の変更履歴のみをキャンセルするための変更を適用する機能を付加することができる。
具体的には、特定の変更履歴をキャンセルするために、数値制御装置１００に当該特定の変更履歴とは逆の内容の変更を追加して適用することができる。
図１９は、特定の変更履歴のみをキャンセルするための変更を適用する状態を示す模式図である。なお、図１９は、図１０に示す履歴情報の状態と対応している。
図１９に示すように、履歴情報において、第６行の「Ｕｓｅｒ  ｐｒｏｇｒａｍ  Ｏ０１０２全体」を削除した変更履歴をキャンセルする場合、末尾の行に示す変更履歴のように、「Ｕｓｅｒ  ｐｒｏｇｒａｍ  Ｏ０１０２全体」を追加する変更を適用することができる。なお、このように特定の変更履歴とは逆の内容の変更を追加して適用する処理は、自動バックアップ装置２００の復旧用バックアップ生成部２１１ｄにおいて自動的に実行したり、数値制御装置１００の変更入力受付部１１１ａにおいてオペレータの入力を受け付けて実行したりすることが可能である。
このように、特定の変更履歴とは逆の変更を適用することで適切な復旧を行える場合、簡単な処理で数値制御装置１００を復旧することができる。
【００６１】
［変形例８］
上述の実施形態において、図７に示す変更履歴取得処理の内容を以下のような並列処理の形態とすることができる。
図２０は、変更履歴を記憶する処理（変更履歴記憶処理）及び変更履歴を送信する処理（変更履歴送信処理）を並列的に実行する場合の処理の流れを示すフローチャートである。
図２０に示す例では、図７に示す変更履歴取得処理の内容が変更履歴記憶処理及び変更履歴送信処理に分割され、数値制御装置１００の稼働と共に、これらの処理が並列的に実行される。
変更記憶取得処理のステップＳ１１１において、変更入力受付部１１１ａは、表示器／ＭＤＩユニット１７０やインタフェース１１５または通信部１２７を介して数値制御装置１００のパラメータあるいはプログラムの変更が入力されたか否かの判定を行う。
表示器／ＭＤＩユニット１７０やインタフェース１１５または通信部１２７を介して数値制御装置１００のパラメータあるいはプログラムの変更が入力されたと判定された場合（ステップＳ１１１：ＹＥＳ）、処理はステップＳ１１２に移行する。
一方、表示器／ＭＤＩユニット１７０やインタフェース１１５または通信部１２７を介して数値制御装置１００のパラメータあるいはプログラムの変更が入力されていないと判定された場合（ステップＳ１１１：ＮＯ）、ステップＳ１１１の処理が繰り返される。
ステップＳ１１２において、変更入力受付部１１１ａは、入力されたパラメータあるいはプログラムの変更内容を変更履歴として変更履歴一時記憶部１１４ａに記憶する。
ステップＳ１１２の後、変更記憶取得処理が繰り返される。
また、変更履歴送信処理のステップＳ１２１において、変更履歴送信部１１１ｂは、あらかじめ設定された一定時間（例えば、１秒）に達しているか否かの判定を行う。
あらかじめ設定された一定時間（例えば、１秒）に達していると判定された場合（ステップＳ１２１：ＹＥＳ）、処理はステップＳ１２２に移行する。
一方、あらかじめ設定された一定時間（例えば、１秒）に達していないと判定された場合（ステップＳ１２１：ＮＯ）、ステップＳ１２１の処理が繰り返される。
ステップＳ１２２において、変更履歴送信部１１１ｂは、変更履歴一時記憶部１１４ａに未送信の変更履歴があるか否かの判定を行う。
変更履歴一時記憶部１１４ａに未送信の変更履歴があると判定された場合（ステップＳ１２２：ＹＥＳ）、処理はステップＳ１２３に移行する。
一方、変更履歴一時記憶部１１４ａに未送信の変更履歴がないと判定された場合（ステップＳ１２２：ＮＯ）、処理はステップＳ１２１に移行する。
ステップＳ１２３において、変更履歴送信部１１１ｂは、変更履歴一時記憶部１１４ａに記憶されている変更履歴をネットワーク３００を介して自動バックアップ装置２００に送信する。
ステップＳ１２３の後、変更履歴送信処理が繰り返される。
【００６２】
［変形例９］
上述の実施形態において、図８に示すバックアップ処理の内容を以下のような並列処理の形態とすることができる。
図２１は、変更履歴を蓄積する処理（変更履歴蓄積処理）及びバクアップを生成する処理（バックアップ生成処理）を並列的に実行する場合の処理の流れを示すフローチャートである。
図２１に示す例では、図８に示すバックアップ処理の内容が変更履歴蓄積処理及びバックアップ生成処理に分割され、自動バックアップ装置２００において、これらの処理の実行が指示されることにより並列的に実行される。
変更履歴蓄積処理のステップＳ２１１において、変更履歴受信部２１１ａは、ネットワーク３００を介して数値制御装置１００から変更履歴を受信したか否かの判定を行う。
ネットワーク３００を介して数値制御装置１００から変更履歴を受信したと判定された場合（ステップＳ２１１：ＹＥＳ）、処理はステップＳ２１２に移行する。
一方、ネットワーク３００を介して数値制御装置１００から変更履歴を受信していないと判定された場合（ステップＳ２１１：ＮＯ）、ステップＳ２１１の処理が繰り返される。
ステップＳ２１２において、変更履歴受信部２１１ａは、受信した変更履歴を蓄積して履歴情報記憶部２１６ａに記憶する。
ステップＳ２１２の後、変更履歴蓄積処理が繰り返される。
また、バックアップ生成処理のステップＳ２２１において、自動バックアップ生成部２１１ｂは、あらかじめ設定された一定時間（例えば、１日）に達しているか否かの判定を行う。
あらかじめ設定された一定時間（例えば、１日）に達していると判定された場合（ステップＳ２２１：ＹＥＳ）、処理はステップＳ２２２に移行する。
一方、あらかじめ設定された一定時間（例えば、１日）に達していないと判定された場合（ステップＳ２２１：ＮＯ）、ステップＳ２２１の処理が繰り返される。
ステップＳ２２２において、自動バックアップ生成部２１１ｂは、新規に受信した変更履歴があるか否かの判定を行う。即ち、ステップＳ２２２においては、履歴情報記憶部２１６ａに新規に蓄積された履歴情報があるか否かが判定される。
新規に受信した変更履歴があると判定された場合（ステップＳ２２２：ＹＥＳ）、処理はステップＳ２２３に移行する。
一方、新規に受信した変更履歴がないと判定された場合（ステップＳ２２２：ＮＯ）、処理はステップＳ２２１に移行する。
ステップＳ２２３において、自動バックアップ生成部２１１ｂは、履歴情報記憶部２１６ａに記憶されている直近のバックアップと、履歴情報記憶部２１６ａに新規に蓄積された変更履歴とから、最新のバックアップを生成し、履歴情報記憶部２１６ａに記憶する。
ステップＳ２２３の後、バックアップ生成処理が繰り返される。
【００６３】
以上説明した実施形態の自動バックアップシステム１の機能の全部又は一部は、ハードウェア、ソフトウェア又はこれらの組合せにより実現することができる。ここで、ソフトウェアによって実現されるとは、プロセッサがプログラムを読み込んで実行することにより実現されることを意味する。ハードウェアで構成する場合、自動バックアップシステム１の機能の一部又は全部を、例えば、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ゲートアレイ、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、ＣＰＬＤ（Ｃｏｍｐｌｅｘ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）等の集積回路（ＩＣ）で構成することができる。
【００６４】
自動バックアップシステム１の機能の全部又は一部をソフトウェアで構成する場合、自動バックアップシステム１の動作の全部又は一部を記述したプログラムを記憶した、ハードディスク、ＲＯＭ等の記憶部、演算に必要なデータを記憶するＤＲＡＭ、ＣＰＵ、及び各部を接続するバスで構成されたコンピュータにおいて、演算に必要な情報をＤＲＡＭに記憶し、ＣＰＵで当該プログラムを動作させることで実現することができる。
【００６５】
これらのプログラムは、様々なタイプのコンピュータ可読媒体（ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）を用いて格納され、コンピュータに供給することができる。コンピュータ可読媒体は、様々なタイプの実体のある記録媒体（ｔａｎｇｉｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）を含む。コンピュータ可読媒体の例は、磁気記録媒体（例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば、光磁気ディスク）、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュメモリ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））を含む。
また、これらのプログラムは、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。
【００６６】
以上、本発明の実施形態について詳細に説明したが、前述した実施形態は、本発明を実施するにあたっての具体例を示したに過ぎない。本発明の技術的範囲は、前記実施形態に限定されるものではない。本発明は、その趣旨を逸脱しない範囲において種々の変更が可能であり、それらも本発明の技術的範囲に含まれる。
【符号の説明】
【００６７】
１  自動バックアップシステム
１００  数値制御装置
１１１，２１１  ＣＰＵ
１１１ａ  変更入力受付部
１１１ｂ  変更履歴送信部
１１１ｃ  復旧要求受付部
１１１ｄ  復旧要求送信部
１１１ｅ  復旧用バックアップ受信部
１１１ｆ  復旧用バックアップ適用部
２１１ａ  更履歴受信部
２１１ｂ  自動バックアップ生成部
２１１ｃ  復旧要求受信部
２１１ｄ  復旧用バックアップ生成部
２１１ｅ  復旧用バックアップ送信部
１１２，２１２  ＲＯＭ
１１３，２１３  ＲＡＭ
１１４  不揮発性メモリ
１１４ａ  変更履歴一時記憶部
１１５，１１８  インタフェース
１１６  ＰＭＣ（プログラマブル・マシン・コントローラ）
１１７  Ｉ／Ｏユニット
１２０，２１８  バス
１２７，２１７  通信部
１３０〜１３４  軸制御回路
１４０〜１４４  サーボアンプ
１５０〜１５４  サーボモータ
１６０スピンドル制御回路
１６１  スピンドルアンプ
１６２  スピンドルモータ
１６３  パルスエンコーダ
１７０  表示器／ＭＤＩユニット
１７１  操作盤
１７２  外部機器
２００  自動バックアップ装置
２１４  入力部
２１５  表示部
２１６  記憶部
２１６ａ  履歴情報記憶部
３００  ネットワーク
【図１】
2018018429.tif 000003
【図２】
2018018429.tif 000004
【図３】
2018018429.tif 000005
【図４】
2018018429.tif 000006
【図５】
2018018429.tif 000007
【図６】
2018018429.tif 000008
【図７】
2018018429.tif 000009
【図８】
2018018429.tif 000010
【図９】
2018018429.tif 000011
【図１０】
2018018429.tif 000012
【図１１】
2018018429.tif 000013
【図１２】
2018018429.tif 000014
【図１３】
2018018429.tif 000015
【図１４】
2018018429.tif 000016
【図１５】
2018018429.tif 000017
【図１６】
2018018429.tif 000018
【図１７】
2018018429.tif 000019
【図１８】
2018018429.tif 000020
【図１９】
2018018429.tif 000021
【図２０】
2018018429.tif 000022
【図２１】
2018018429.tif 000023