JP6378264B2 - 自動バックアップ装置、自動バックアップ方法及びプログラム - Google Patents

自動バックアップ装置、自動バックアップ方法及びプログラム Download PDF

Info

Publication number
JP6378264B2
JP6378264B2 JP2016150387A JP2016150387A JP6378264B2 JP 6378264 B2 JP6378264 B2 JP 6378264B2 JP 2016150387 A JP2016150387 A JP 2016150387A JP 2016150387 A JP2016150387 A JP 2016150387A JP 6378264 B2 JP6378264 B2 JP 6378264B2
Authority
JP
Japan
Prior art keywords
recovery
backup
history information
change
history
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016150387A
Other languages
English (en)
Other versions
JP2018018429A (ja
Inventor
孝彰 小松
孝彰 小松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
FANUC Corp
Original Assignee
FANUC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by FANUC Corp filed Critical FANUC Corp
Priority to JP2016150387A priority Critical patent/JP6378264B2/ja
Priority to DE102017007056.3A priority patent/DE102017007056B4/de
Priority to CN201710617111.0A priority patent/CN107664986A/zh
Priority to US15/660,138 priority patent/US10452483B2/en
Publication of JP2018018429A publication Critical patent/JP2018018429A/ja
Application granted granted Critical
Publication of JP6378264B2 publication Critical patent/JP6378264B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4142Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by the use of a microprocessor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34013Servocontroller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/875Monitoring of systems including the internet

Description

本発明は、バックアップの対象となる装置の変更履歴を自動的に保存し、変更前の状態に復旧可能とする自動バックアップ装置、自動バックアップ方法及びプログラムに関する。
従来、CNC(Computer Numerical Control)によって制御される工作機械等の装置を対象として、そのパラメータやプログラム等の変更履歴をバックアップする技術が知られている。
例えば、特許文献1には、数値制御情報を表す文字列からなるファイルに関して、バージョン名、変更箇所のアドレス、削除された文字列及び新たに追加された文字列を来歴情報として保存するファイル編集装置が開示されている。
また、特許文献2には、数値制御装置(CNC)のパラメータの書換え事実情報を、記録時の日時と共に、どのアドレスのパラメータが変更されたかという事実を示す履歴情報として保存する数値制御装置が開示されている。
さらに、特許文献3には、数値制御装置のパラメータの書換履歴情報Aとして、書換え作業者の識別番号、書換えを行った日付、パラメータのアドレス、変更後の値を逐次保存する数値制御装置が開示されている。
特開平5−143136号公報 特許第4269533号明細書 特許第4151402号明細書
しかしながら、特許文献1に記載された技術においては、変更のバージョン名は来歴情報として保存されているものの、変更が行われた時間が保存されておらず、また、変更の保存が手動で行われている。
そのため、バックアップの対象となる装置の変更を過去に遡って復旧する場合、来歴情報として保存された情報のみからでは、適切に装置を復旧することが困難である。
また、特許文献2に記載された技術においては、変更されたパラメータの内容は保存されていない。
そのため、バックアップの対象となる装置の変更を過去に遡って復旧する場合、特許文献2に記載された履歴情報のみからでは、適切に装置を復旧することが困難である。
さらに、特許文献3に記載された技術においては、パラメータの変更時刻、変更前の値は保存されていない。
そのため、バックアップの対象となる装置の変更を過去に遡って復旧する場合、特許文献3に記載された書換え履歴情報Aのみからでは、適切に装置を復旧することが困難である。
本発明は、バックアップの対象となる装置をより適切に復旧可能とすることを目的とする。
上記目的を達成するため、本発明の一態様の自動バックアップ装置(例えば、後述の自動バックアップ装置200)は、バックアップの対象となる装置(例えば、後述の数値制御装置100)に対する設定の変更の時刻と変更内容とを対応付けて履歴情報として取得する履歴情報取得部(例えば、後述する変更履歴受信部211a)と、前記バックアップの対象となる装置を復旧するための目的とする時刻を含む復旧要求を取得する復旧要求取得部(例えば、後述する復旧要求受信部211c)と、前記復旧要求に含まれる時刻に基づいて、前記履歴情報取得部によって取得された前記履歴情報から、前記バックアップの対象となる装置を復旧するための復旧用情報を生成する復旧用情報生成部(例えば、後述する復旧用バックアップ生成部211d)と、前記復旧用情報生成部によって生成された前記復旧用情報を前記バックアップの対象となる装置に送信する復旧用情報送信部(例えば、後述する復旧用バックアップ送信部211e)と、を備える。
前記履歴情報取得部によって取得された前記履歴情報を蓄積して記憶する履歴情報記憶部(例えば、後述する履歴情報記憶部216a)を備えてもよい。
前記履歴情報取得部によって取得された前記履歴情報に基づいて、所定時間毎又は所定量の前記履歴情報毎に、前記バックアップの対象となる装置のパラメータ及びプログラム全体が記録されたバックアップを生成するバックアップ生成部(例えば、後述する自動バックアップ生成部211b)を備えてもよい。
前記復旧用情報生成部は、前記復旧要求に含まれる時刻に基づいて、前記履歴情報から、前記復旧要求に含まれる時刻における前記バックアップの対象となる装置のパラメータ及びプログラム全体が記録された復旧用バックアップを前記復旧用情報として生成してもよい。
前記復旧用情報生成部は、前記履歴情報において、前記復旧要求に含まれる時刻よりも古い前記履歴情報であって起点となる前記履歴情報を基に、前記設定の変更の古いものから順に前記復旧要求に含まれる時刻のものまで前記履歴情報を適用して、前記復旧用情報を生成してもよい。
前記復旧用情報生成部は、前記履歴情報において、前記復旧要求に含まれる時刻よりも新しい前記履歴情報であって起点となる前記履歴情報を基に、前記設定の変更の新しいものから順に前記復旧要求に含まれる時刻のものまで前記履歴情報を変更前の状態に戻すことにより、前記復旧用情報を生成してもよい。
前記復旧用情報生成部は、前記履歴情報に矛盾が含まれる場合に、当該矛盾が含まれることを前記バックアップの対象となる装置に送信してもよい。
前記復旧用情報生成部は、前記履歴情報に矛盾が含まれる場合に、当該矛盾を補間する変更履歴を生成してもよい。
前記履歴情報取得部は、受信した前記履歴情報に、当該履歴情報を識別するラベルを付加してもよい。
前記復旧用情報生成部は、前記履歴情報における特定の変更がキャンセルされる場合に、当該変更と逆の内容の変更を追加して適用してもよい。
前記履歴情報記憶部は、前記バックアップの対象となる装置の出荷時のパラメータ及びプログラム全体が記録されたバックアップを記憶してもよい。
また、本発明の一態様の自動バックアップ方法は、バックアップの対象となる装置に対する設定の変更の時刻と変更内容とを対応付けて履歴情報として取得する履歴情報取得ステップと、前記バックアップの対象となる装置を復旧するための目的とする時刻を含む復旧要求を取得する復旧要求取得ステップと、前記復旧要求に含まれる時刻に基づいて、前記履歴情報取得ステップにおいて取得された前記履歴情報から、前記バックアップの対象となる装置を復旧するための復旧用情報を生成する復旧用情報生成ステップと、前記復旧用情報生成ステップにおいて生成された前記復旧用情報を前記バックアップの対象となる装置に送信する復旧用情報送信ステップと、を含む。
また、本発明の一態様のプログラムは、コンピュータに、バックアップの対象となる装置に対する設定の変更の時刻と変更内容とを対応付けて履歴情報として取得する履歴情報取得機能と、前記バックアップの対象となる装置を復旧するための目的とする時刻を含む復旧要求を取得する復旧要求取得機能と、前記復旧要求に含まれる時刻に基づいて、前記履歴情報取得機能によって取得された前記履歴情報から、前記バックアップの対象となる装置を復旧するための復旧用情報を生成する復旧用情報生成機能と、前記復旧用情報生成機能によって生成された前記復旧用情報を前記バックアップの対象となる装置に送信する復旧用情報送信機能と、を実現させる。
本発明によれば、バックアップの対象となる装置をより適切に復旧することができる。
本発明の一実施形態に係る自動バックアップシステムのシステム構成を示す模式図である。 数値制御装置の要部のハードウェア構成を示すブロック図である。 自動バックアップ装置のハードウェア構成を示すブロック図である。 数値制御装置の機能的構成を示す機能ブロック図である。 自動バックアップ装置の機能的構成を示す機能ブロック図である。 履歴情報記憶部に記憶される履歴情報の一例を示す模式図である。 数値制御装置のCPUが実行する変更履歴取得処理の流れを示すフローチャートである。 自動バックアップ装置のCPUが実行するバックアップ処理の流れを示すフローチャートである。 自動バックアップ装置のCPUが実行する復旧支援処理の流れを示すフローチャートである。 復旧要求において日時が指定された状態の一例を示す模式図である。 復旧支援処理においてバックアップが特定された状態の一例を示す模式図である。 復旧要求において指定された日時まで復旧された状態の一例を示す模式図である。 数値制御装置のCPUが実行する復旧実行処理の流れを示すフローチャートである。 復旧要求において指定された日時より後の直近のバックアップを特定して復旧用バックアップを生成する手順を模式的に示す図である。 履歴情報記憶部に記憶されている履歴情報に矛盾がある状態を模式的に示す図である。 矛盾を補間するための変更履歴が挿入された状態を示す模式図である。 履歴情報にラベルが付加された状態を示す模式図である。 特定の日時の変更履歴と同内容の変更を数値制御装置に適用する状態を示す模式図である。 特定の変更履歴のみをキャンセルするための変更を適用する状態を示す模式図である。 変更履歴を記憶する処理(変更履歴記憶処理)及び変更履歴を送信する処理(変更履歴送信処理)を並列的に実行する場合の処理の流れを示すフローチャートである。 変更履歴を蓄積する処理(変更履歴蓄積処理)及びバクアップを生成する処理(バックアップ生成処理)を並列的に実行する場合の処理の流れを示すフローチャートである。
以下、本発明の実施形態について、図面を参照して説明する。
[構成]
図1は、本発明の一実施形態に係る自動バックアップシステム1のシステム構成を示す模式図である。
図1に示すように、自動バックアップシステム1は、複数の数値制御装置(CNC)100と、自動バックアップ装置200とを含んで構成され、複数の数値制御装置100と自動バックアップ装置200とは、LAN(Local Area Network)やインターネット等のネットワーク300を介して通信可能に構成されている。
数値制御装置100は、設定されたパラメータ及びプログラムに従って、工作機械に備えらえたサーボモータ等を制御する。また、数値制御装置100は、オペレータによって、設定されたパラメータあるいはプログラムが変更された場合に、変更日時、変更箇所、変更前の値及び変更後の値を少なくとも含む変更履歴を一時的に記憶し、一定時間毎(例えば、1秒毎)に、その変更履歴を自動バックアップ装置200に送信する。また、数値制御装置100は、数値制御装置100におけるパラメータあるいはプログラムの変更を変更前の状態に戻し、数値制御装置100を指定された日時の状態に復旧するための要求(以下、「復旧要求」と呼ぶ。)の入力を受け付ける。この復旧要求は、オペレータによって入力されるものであり、復旧の対象となる日時が指定されている。そして、数値制御装置100は、入力された復旧要求を自動バックアップ装置200に送信する。
なお、本実施形態において、数値制御装置100は、パラメータあるいはプログラムをバックアップする対象としての制御装置の一例を示すものであり、本発明を適用可能な制御装置としては、数値制御装置100の他、例えば、ロボットコントローラ等を挙げることができる。
図2は、数値制御装置100の要部のハードウェア構成を示すブロック図である。
数値制御装置100において、CPU111は数値制御装置100を全体的に制御するプロセッサである。CPU111は、ROM112に格納されたシステムプログラムをバス120を介して読み出し、該システムプログラムに従って数値制御装置100全体を制御する。
RAM113には、一時的な計算データや表示データ及び表示器/MDIユニット170を介してオペレータが入力した各種データが格納される。また、一般にRAMへのアクセスはROMへのアクセスよりも高速であることから、ROM112に格納されたシステムプログラムをあらかじめRAM113上に展開しておき、CPU111はRAM113からシステムプログラムを読み込んで実行してもよい。
不揮発性メモリ114は、磁気記憶装置またはフラッシュメモリ、MRAM、FRAM(登録商標)、EEPROM、あるいは図示しないバッテリでバックアップされるSRAMやDRAMであり、数値制御装置100の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。不揮発性メモリ114中には、インタフェース115や表示器/MDIユニット170または通信部127を介して入力された加工プログラム等が記憶される。
ROM112には、加工プログラムの作成及び編集のために必要とされる編集モードの処理や自動運転のための処理を実施するための各種システムプログラムがあらかじめ書き込まれている。
各種加工プログラムは、インタフェース115や表示器/MDIユニット170または通信部127を介して入力し、不揮発性メモリ114に格納することができる。
インタフェース115は、数値制御装置100と外部機器172との接続を可能とするものである。外部機器172側からは加工プログラムや各種パラメータ等が読み込まれる。また、数値制御装置100内で編集した加工プログラムは、外部機器172を介して外部記憶手段に記憶させることができる。インタフェース115の具体例としては、RS232CやUSB、SATA、PCカードスロット、CFカードスロットSDカードスロット、イーサネット(登録商標)、Wi−Fi等が挙げられる。インタフェース115は表示器/MDIユニット170上に存在してもよい。外部機器172の例としてはコンピュータ、USBメモリ、CFast、CFカード、SDカード等が挙げられる。
PMC(Programmable Machine Controller)116は、数値制御装置100に内蔵されたシーケンスプログラムで工作機械の補助装置(例えば自動工具交換装置)にI/Oユニット117を介して信号を出力し制御する。また、工作機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、CPU111に渡す。なお、PMC116は、一般に、PLC(Programmable Logic Controller)とも呼ばれる。
操作盤171はPMC116に接続される。操作盤171は手動パルス発生器等を備えていてもよい。
表示器/MDIユニット170はディスプレイやキーボード等を備えた手動データ入力装置である。インタフェース118は表示用の画面データを表示器/MDIユニット170のディスプレイに送るほか、表示器/MDIユニット170のキーボードからの指令やデータを受けてCPU111に渡す。
各軸の軸制御回路130〜134はCPU111からの各軸の移動指令量を受けて、各軸の指令をサーボアンプ140〜144に出力する。
サーボアンプ140〜144はこの指令を受けて、各軸のサーボモータ150〜154を駆動する。各軸のサーボモータ150〜154は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路130〜134にフィードバックし、位置・速度のフィードバック制御を行う。なお、図2に示すブロック図では、位置・速度のフィードバックについては省略している。
スピンドル制御回路160は、工作機械への主軸回転指令を受け、スピンドルアンプ161にスピンドル速度信号を出力する。スピンドルアンプ161はこのスピンドル速度信号を受けて、工作機械のスピンドルモータ162を指令された回転速度で回転させ、工具を駆動する。
スピンドルモータ162には歯車あるいはベルト等でパルスエンコーダ163が結合され、パルスエンコーダ163が主軸の回転に同期して帰還パルスを出力し、その帰還パルスはバス120を経由してCPU111によって読み取られる。
図1に戻り、自動バックアップ装置200は、サーバの機能を備える情報処理装置(例えば、PC(Personal Computer)あるいはサーバコンピュータ等)によって構成される。自動バックアップ装置200は、各数値制御装置100から送信されたパラメータあるいはプログラムの変更履歴を、各数値制御装置100と対応付けて記憶する。本実施形態において、自動バックアップ装置200は、数値制御装置100のパラメータ及びプログラム全体が記録されたバックアップと、バックアップに対する差分である変更履歴とを記憶する。そして、自動バックアップ装置200は、各数値制御装置100から送信された変更履歴を蓄積して記憶しておき、一定時間毎(例えば、1日毎)に、直近のバックアップと、蓄積して記憶した変更履歴とから、最新のバックアップを生成して記録する。なお、以下、バックアップと変更履歴とを総称して、「履歴情報」と呼ぶ。
また、自動バックアップ装置200は、数値制御装置100から復旧要求を受信した場合に、指定された日時の状態に数値制御装置100を復旧するための履歴情報を特定し、数値制御装置100に送信する。本実施形態において、自動バックアップ装置200は、復旧要求を受信した場合、指定された日時より前の直近のバックアップを特定し、そのバックアップの日時から指定された日時までの変更履歴を順に直近のバックアップに適用することにより、指定された日時におけるバックアップ(以下、「復旧用バックアップ」と呼ぶ。)を生成する。そして、自動バックアップ装置200は、指定された日時の状態に数値制御装置100を復旧するため、生成した復旧用バックアップを数値制御装置100に送信する。これにより、数値制御装置100において、指定された日時の状態に装置を復旧することが可能となる。
図3は、自動バックアップ装置200のハードウェア構成を示すブロック図である。
自動バックアップ装置200において、CPU211は自動バックアップ装置200を全体的に制御するプロセッサである。CPU211は、記憶部216に記憶された各種プログラムをバス218を介して読み出し、これらのプログラムを実行することにより、自動バックアップ装置200全体を制御する。
ROM212には、自動バックアップ装置200を制御するための各種システムプログラムがあらかじめ書き込まれている。
RAM213は、DRAM(Dynamic Random Access Memory)等の半導体メモリによって構成され、CPU211が各種処理を実行する際に生成されるデータを記憶する。また、一般にRAMへのアクセスはROMへのアクセスよりも高速であることから、ROM212に格納されたシステムプログラムをあらかじめRAM213上に展開しておき、CPU211はRAM213からシステムプログラムを読み込んで実行してもよい。
入力部214は、キーボード、マウス、タッチパネルあるいはマイク等の入力装置によって構成され、自動バックアップ装置200への各種情報の入力を受け付ける。
表示部215は、LCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)、有機EL、LED(Light Emitting Diode)等の表示装置によって構成され、自動バックアップ装置200の各種処理結果を表示する。視覚的な表示のほかに、スピーカによる音声出力を用いてもよい。
記憶部216は、ハードディスクあるいはフラッシュメモリ等の不揮発性の記憶装置によって構成され、自動バックアップ装置200において実行される各種処理のための各種プログラムや、数値制御装置100の履歴情報のデータ等を記憶する。
通信部217は、LAN(Local Area Network)やUSB(Universal Serial Bus)等、所定の通信規格に基づいて通信処理を行う通信インタフェースを備え、自動バックアップ装置200が外部装置との間で行う通信を制御する。
上述のようなハードウェア構成の下、数値制御装置100及び自動バックアップ装置200において各種プログラムが実行されることにより、自動バックアップシステム1では、以下のような機能的構成が実現される。
図4は、数値制御装置100の機能的構成を示す機能ブロック図である。
図4に示すように、数値制御装置100のCPU111が変更履歴取得処理及び復旧実行処理のためのプログラムを実行することにより、機能的構成として、CPU111において、変更入力受付部111aと、変更履歴送信部111bと、復旧要求受付部111cと、復旧要求送信部111dと、復旧用バックアップ受信部111eと、復旧用バックアップ適用部111fとが形成される。また、不揮発性メモリ114において、変更履歴一時記憶部114aが形成される。なお、変更履歴一時記憶部114aは、RAM113等、他の記憶装置の記憶領域に形成することとしてもよい。
変更入力受付部111aは、表示器/MDIユニット170を介して入力される数値制御装置100のパラメータあるいはプログラムの変更を受け付ける。そして、変更入力受付部111aは、入力されたパラメータあるいはプログラムの変更内容に従ってパラメータあるいはプログラムを設定すると共に、その変更内容を変更履歴として変更履歴一時記憶部114aに記憶する。このとき、変更入力受付部111aは、入力された変更内容について、変更された日時、変更箇所、変更前の値及び変更後の値を変更履歴に含めて、変更履歴一時記憶部114aに記憶する。
変更履歴送信部111bは、あらかじめ設定された一定時間毎(例えば、1秒毎)に、変更履歴一時記憶部114aに記憶されている変更履歴をネットワーク300を介して自動バックアップ装置200に送信する。
復旧要求受付部111cは、表示器/MDIユニット170を介して入力される数値制御装置100の復旧要求を受け付ける。なお、上述のように、復旧要求においては、復旧の対象となる日時が指定されている。
復旧要求送信部111dは、復旧要求受付部111cによって受け付けられた復旧要求を、ネットワーク300を介して自動バックアップ装置200に送信する。
復旧用バックアップ受信部111eは、数値制御装置100が自動バックアップ装置200に送信した復旧要求に応じて、自動バックアップ装置200から送信された復旧用バックアップを受信する。
復旧用バックアップ適用部111fは、復旧用バックアップ受信部111eによって受信した復旧用バックアップに基づいて、パラメータ及びプログラムの状態を設定する。具体的には、復旧用バックアップには、復旧要求において指定された日時の状態がバックアップされたパラメータ及びプログラムの内容が含まれているため、復旧用バックアップ適用部111fは、それらパラメータ及びプログラムの状態に数値制御装置100を設定する。
これにより、指定された日時の状態に数値制御装置100が復旧される。
次に、自動バックアップ装置200の機能的構成について説明する。
図5は、自動バックアップ装置200の機能的構成を示す機能ブロック図である。
図5に示すように、自動バックアップ装置200のCPU211がバックアップ処理及び復旧支援処理のためのプログラムを実行することにより、機能的構成として、CPU211において、変更履歴受信部211aと、自動バックアップ生成部211bと、復旧要求受信部211cと、復旧用バックアップ生成部211dと、復旧用バックアップ送信部211eとが形成される。また、記憶部216において、履歴情報記憶部216aが形成される。なお、履歴情報記憶部216aは、RAM213等、他の記憶装置の記憶領域に形成することとしてもよい。また、自動バックアップ装置200の各機能は、複数の装置に分散して実装することも可能であり、例えば、履歴情報記憶部216aをネットワーク300を介して通信可能なデータベースサーバに実装すること等が可能である。
変更履歴受信部211aは、一定時間毎に数値制御装置100から送信される変更履歴をネットワーク300を介して受信する。そして、変更履歴受信部211aは、受信した変更履歴を蓄積して履歴情報記憶部216aに記憶する。
自動バックアップ生成部211bは、あらかじめ設定された一定時間毎(例えば、1日毎)に、履歴情報記憶部216aに記憶されている直近のバックアップと、履歴情報記憶部216aに蓄積して記憶されている変更履歴とから、最新のバックアップを生成し、履歴情報記憶部216aに記憶する。このとき、自動バックアップ生成部211bは、履歴情報記憶部216aに記憶されている直近のバックアップに、履歴情報記憶部216aに蓄積して記憶されている変更履歴を日時の古いものから順に、最新のものまで適用する。その結果、自動バックアップ装置200が有している数値制御装置100の履歴情報が全て適用された最新のバックアップが生成される。このように、あらかじめ設定された一定時間毎に最新のバックアップを生成することで、数値制御装置100の復旧を行う際の起点となる履歴情報を適切に保持することができる。
図6は、履歴情報記憶部216aに記憶される履歴情報の一例を示す模式図である。
図6に示すように、履歴情報記憶部216aには、数値制御装置100のパラメータ及びプログラム全体が記録されたバックアップ(Backup)と、バックアップに対する差分である各種変更履歴とが記憶されている。また、履歴情報記憶部216aにおいては、履歴情報の日時、変更箇所、変更前の値及び変更後の値が対応付けて記憶されている。例えば、図6において、履歴情報の第1行として、履歴情報の日時「2016/01/01 00:00:00.00」、変更箇所「Backup」、変更前の値及び変更後の値「出荷時の状態」のバックアップに関する情報が記憶されている。履歴情報の第1行は、数値制御装置100の出荷時におけるバックアップの内容を表している。出荷時におけるバックアップの内容を記憶しておくことで、数値制御装置100をリセットすること等が可能となる。なお、バックアップの場合、変更前の値と変更後の値とは同一となる。また、図6において、変更履歴情報の第7行として、履歴情報の日時「2016/06/01 09:53:11.46」、変更箇所「Parameter #12345」、変更前の値「67」、変更後の値「89」の変更履歴に関する情報が記憶されている。履歴情報の第7行は、数値制御装置100において、日時「2016/06/01 09:53:11.46」に、「Parameter #12345」の値が「67」から「89」に変更された変更履歴の内容を表している。
図5に戻り、復旧要求受信部211cは、数値制御装置100から送信される復旧要求をネットワーク300を介して受信する。
復旧用バックアップ生成部211dは、復旧要求受信部211cによって受信した復旧要求に基づいて、数値制御装置100の復旧用バックアップを生成する。具体的には、復旧用バックアップ生成部211dは、履歴情報記憶部216aを参照し、復旧要求において指定された日時より前の直近のバックアップを特定する。そして、復旧用バックアップ生成部211dは、特定したバックアップを起点として、履歴情報記憶部216aに蓄積して記憶されている変更履歴のうち、特定したバックアップの日時から復旧要求において指定された日時までの変更履歴を日時の古いものから順に適用する。その結果、復旧要求において指定された日時の数値制御装置100の状態を表す復旧用バックアップが生成される。
復旧用バックアップ送信部211eは、復旧要求を送信した数値制御装置100に対して、復旧用バックアップ生成部211dによって生成した復旧用バックアップを送信する。
[動作]
次に、自動バックアップシステム1の動作を説明する。
[変更履歴取得処理]
図7は、数値制御装置100のCPU111が実行する変更履歴取得処理の流れを示すフローチャートである。
変更履歴取得処理は、数値制御装置100の稼働と共に開始される。
ステップS11において、変更入力受付部111aは、表示器/MDIユニット170やインタフェース115または通信部127を介して数値制御装置100のパラメータあるいはプログラムの変更が入力されたか否かの判定を行う。
表示器/MDIユニット170やインタフェース115または通信部127を介して数値制御装置100のパラメータあるいはプログラムの変更が入力されたと判定された場合(ステップS11:YES)、処理はステップS12に移行する。
一方、表示器/MDIユニット170やインタフェース115または通信部127を介して数値制御装置100のパラメータあるいはプログラムの変更が入力されていないと判定された場合(ステップS11:NO)、処理はステップS13に移行する。
ステップS12において、変更入力受付部111aは、入力されたパラメータあるいはプログラムの変更内容を変更履歴として変更履歴一時記憶部114aに記憶する。
ステップS13において、変更履歴送信部111bは、あらかじめ設定された一定時間(例えば、1秒)に達しているか否かの判定を行う。
あらかじめ設定された一定時間(例えば、1秒)に達していると判定された場合(ステップS13:YES)、処理はステップS14に移行する。
一方、あらかじめ設定された一定時間(例えば、1秒)に達していないと判定された場合、変更履歴取得処理が繰り返される。
ステップS14において、変更履歴送信部111bは、変更履歴一時記憶部114aに記憶されている変更履歴をネットワーク300を介して自動バックアップ装置200に送信する。
ステップS14の後、変更履歴取得処理が繰り返される。
[バックアップ処理]
図8は、自動バックアップ装置200のCPU211が実行するバックアップ処理の流れを示すフローチャートである。
バックアップ処理は、自動バックアップ装置200においてバックアップ処理の実行が指示されることにより開始される。
ステップS21において、変更履歴受信部211aは、一定時間毎に数値制御装置100から送信される変更履歴をネットワーク300を介して受信する。
ステップS22において、変更履歴受信部211aは、受信した変更履歴を蓄積して履歴情報記憶部216aに記憶する。
ステップS23において、自動バックアップ生成部211bは、あらかじめ設定された一定時間(例えば、1日)に達しているか否かの判定を行う。
あらかじめ設定された一定時間(例えば、1日)に達していると判定された場合(ステップS23:YES)、処理はステップS24に移行する。
一方、あらかじめ設定された一定時間(例えば、1日)に達していないと判定された場合(ステップS23:NO)、バックアップ処理が繰り返される。
ステップS24において、自動バックアップ生成部211bは、履歴情報記憶部216aに記憶されている直近のバックアップと、履歴情報記憶部216aに蓄積して記憶されている変更履歴とから、最新のバックアップを生成し、履歴情報記憶部216aに記憶する。
ステップS24の後、バックアップ処理が繰り返される。
[復旧支援処理]
図9は、自動バックアップ装置200のCPU211が実行する復旧支援処理の流れを示すフローチャートである。
復旧支援処理は、自動バックアップ装置200において復旧支援処理の実行が指示されることにより開始される。
ステップS31において、復旧要求受信部211cは、数値制御装置100から送信される復旧要求をネットワーク300を介して受信したか否かの判定を行う。
数値制御装置100から送信される復旧要求をネットワーク300を介して受信したと判定された場合(ステップS31:YES)、処理はステップS32に移行する。
一方、数値制御装置100から送信される復旧要求をネットワーク300を介して受信していないと判定された場合(ステップS31:NO)、復旧支援処理が繰り返される。
ステップS32において、復旧用バックアップ生成部211dは、履歴情報記憶部216aを参照し、復旧要求において指定された日時より前の直近のバックアップを特定する。
図10は、復旧要求において日時が指定された状態の一例を示す模式図である。
なお、図10に示す履歴情報は、第6行の変更履歴(誤ってプログラムが削除された際の変更履歴)の直前の日時が指定されている。
また、図11は、復旧支援処理においてバックアップが特定された状態の一例を示す模式図である。
復旧要求において、図10に示す第6行の変更履歴の直前の日時が指定されている場合、指定された日時より前の直近のバックアップが特定されることから、図11に示すように、第1行のバックアップが特定される。
ステップS33において、復旧用バックアップ生成部211dは、履歴情報記憶部216aに蓄積して記憶されている変更履歴のうち、特定したバックアップの日時から復旧要求において指定された日時までの変更履歴を日時の古いものから順に、特定したバックアップに適用する。
図12は、復旧要求において指定された日時まで復旧された状態の一例を示す模式図である。
図12に示すように、ステップS33の処理により、図11において特定された第1行のバックアップの日時から復旧要求において指定された日時までの第2行から第5行までの変更履歴が、日時の古いものから順に、第1行のバックアップに適用される。
ステップS34において、復旧用バックアップ生成部211dは、ステップS33において変更履歴を適用した結果から復旧用バックアップを生成する。
ステップS35において、復旧用バックアップ送信部211eは、復旧要求を送信した数値制御装置100に対して、生成した復旧用バックアップを送信する。
ステップS35の後、復旧支援処理が繰り返される。
[復旧実行処理]
図13は、数値制御装置100のCPU111が実行する復旧実行処理の流れを示すフローチャートである。
復旧実行処理は、数値制御装置100において復旧実行処理の実行が指示されることにより開始される。
ステップS41において、復旧要求受付部111cは、表示器/MDIユニット170、インタフェース115または通信部127を介して入力される数値制御装置100の復旧要求を受け付ける。
ステップS42において、復旧要求送信部111dは、復旧要求受付部111cによって受け付けられた復旧要求を、ネットワーク300を介して自動バックアップ装置200に送信する。なお、この復旧要求には、復旧の対象となる日時が指定されている。
ステップS43において、復旧用バックアップ受信部111eは、数値制御装置100が自動バックアップ装置200に送信した復旧要求に応じて、自動バックアップ装置200から送信された復旧用バックアップを受信する。
ステップS44において、復旧用バックアップ適用部111fは、受信した復旧用バックアップに基づいて、パラメータ及びプログラムの状態を設定する。
このような処理により、復旧要求において指定された日時の状態に数値制御装置100が復旧される。
なお、上述の実施形態において、自動バックアップ装置200で一定時間毎にバックアップを生成することの他、オペレータの指示等に応じて、任意のタイミングで真のバックアップを取得することができる。真のバックアップを取得した場合、それ以降はこの真のバックアップを起点として自動バックアップの生成を行う。
また、上述の実施形態において、自動バックアップ装置200でバックアップを生成するタイミングは、一定時間毎とすることの他、一定量の変更履歴が蓄積される毎としてもよい。同様に、数値制御装置100で変更履歴を自動バックアップ装置200に送信するタイミングは、一定時間毎とすることの他、一定量の変更履歴が一時的に記憶される毎としてもよい。
これにより、変更が行われる頻度等によって変動する変更履歴の情報量に応じたタイミングで、自動バックアップ装置200におけるバックアップの生成や、数値制御装置100における変更履歴の送信を行うことができる。
また、上述の実施形態において、変更履歴に変更者等の付加的な情報を参考情報として含めることとしてもよい。
これにより、装置の復旧を行う場合に、より詳細な条件を考慮して、より適切な復旧を行うことが可能となる。
[変形例1]
上述の実施形態において、復旧用バックアップ生成部211dは、復旧要求において指定された日時より前の直近のバックアップを特定し、特定したバックアップを起点として、履歴情報記憶部216aに蓄積して記憶されている変更履歴のうち、特定したバックアップの日時から復旧要求において指定された日時までの変更履歴を日時の古いものから順に適用するものとして説明した。
これに対し、復旧要求において指定された日時より後の直近のバックアップを特定し、特定したバックアップを起点として、特定したバックアップの日時から復旧要求において指定された日時までの変更履歴を日時の新しいものから順に、変更前の状態に戻していくこととしてもよい。
図14は、復旧要求において指定された日時より後の直近のバックアップを特定して復旧用バックアップを生成する手順を模式的に示す図である。
図14に示すように、復旧要求において指定された日時より後の直近のバックアップを用いることによっても、復旧用バックアップを生成することが可能である。
なお、上述の実施形態のように復旧要求において指定された日時より前の直近のバックアップを用いて復旧用バックアップを生成する手順と、図14のように、復旧要求において指定された日時より後の直近のバックアップを用いて復旧用バックアップを生成する手順とを両方実行することとしてもよい。
このとき、生成される復旧用バックアップの内容が一致しない場合には、(1)いずれかの復旧用バックアップを用いる、(2)一方が利用不可能であれば利用可能な復旧用バックアップを用いる、(3)その日時への復旧を取り止める、といった処理を行うことが可能であり、これらのいずれとするかについてオペレータによる入力を受け付けることとしてもよい。
このような構成により、少なくとも一方の手順によって復旧用バックアップが生成できれば、装置を復旧することが可能となる。また、装置の復旧の実行要否を状況に応じてオペレータが選択可能となる。
[変形例2]
上述の実施形態において、履歴情報記憶部216aに記憶されている履歴情報に矛盾が検出された場合、その矛盾を報知するための警告を数値制御装置100に送信して表示させると共に、検出した矛盾を補間する変更履歴を生成することとしてもよい。なお、このように履歴情報における矛盾を補間する処理は、変更履歴受信部211a、自動バックアップ生成部211bあるいは復旧用バックアップ生成部211d等において実行することができる。例えば、変更履歴受信部211aが履歴情報を数値制御装置100から受信したタイミング、自動バックアップ生成部211bが最新のバックアップを生成するタイミングあるいは復旧用バックアップ生成部211dが復旧用バックアップを生成するタイミング等に、履歴情報における矛盾を補間する処理を実行することができる。
図15は、履歴情報記憶部216aに記憶されている履歴情報に矛盾がある状態を模式的に示す図である。
また、図16は、矛盾を補間するための変更履歴が挿入された状態を示す模式図である。
図15においては、履歴情報の第13行(末尾の行)と、数値制御装置100から新たに受信した変更履歴との間に矛盾がある状態を示している。具体的には、履歴情報の第13行における「変更後の値」と、数値制御装置100から新たに受信した変更履歴における「変更前の値」とは、同一のパラメータ「Parameter #314」に関する変更であるため、一致していなければならないところ、「6535」及び「8979」となっており、一致していない状態である。
これは、履歴情報記憶部216aの第13行に示される変更履歴から、数値制御装置100から新たに受信した変更履歴までの間に本来存在すべき変更履歴が、何等かの理由(通信エラー等)によって失われたものと考えられる。
そこで、このような矛盾が生じた場合、図16に示すように、日時が古い方の変更履歴における「変更後の値」を「変更前の値」、日時が新しい方の変更履歴における「変更前の値」を「変更後の値」とする補間用の変更履歴を生成し、矛盾が生じている2つの変更履歴の間に挿入することができる。補間用の変更履歴に付す日時としては、矛盾が生じている2つの変更履歴の間の日時を自動バックアップ装置200で自動的に指定することや、数値制御装置100のオペレータによる指定を受け付けること等が可能である。なお、本実施形態において、このように生成された補間用の変更履歴は、補間されたものであることを識別して履歴情報記憶部216aに記憶される。
これにより、履歴情報に矛盾が生じた場合であっても、数値制御装置100の復旧をより確実に行うことが可能となる。
なお、履歴情報記憶部216aに記憶されている履歴情報において矛盾が検出された場合、補間用の変更履歴を生成することに加え、数値制御装置100のオペレータに、他の日時を指定して復旧要求を行う選択肢を提示すること等も可能である。
[変形例3]
上述の実施形態において、自動バックアップ装置200で復旧用バックアップを生成する場合を例に挙げて説明した。
これに対し、復旧用バックアップを生成する処理の一部を数値制御装置100で実行することとしてもよい。
例えば、復旧要求において指定された日時が現在時刻に近い場合、指定された日時より後の直近のバックアップと変更履歴とを自動バックアップ装置200から数値制御装置に送信し、数値制御装置100において、復旧用バックアップを生成することができる。
なお、このとき、数値制御装置100に一時的に記憶されている変更履歴を自動バックアップ装置200に送信することなく保持しておき、自動バックアップ装置200から受信したバックアップ及び変更履歴と共に、復旧用バックアップの生成に用いることとしてもよい。
[変形例4]
上述の実施形態において、復旧用バックアップ適用部111fが復旧用バックアップに基づいて、数値制御装置100のパラメータ及びプログラムの状態を設定する場合、設定後の状態を数値制御装置100の画面に表示し、オペレータに設定の実行の要否を確認することとしてもよい。
同様に、数値制御装置100のパラメータ及びプログラムの状態を仮設定し、設定後の状態をシミュレーションした上で、オペレータに設定の実行の要否を確認することとしてもよい。
これにより、オペレータは、復旧要求によって適切な復旧が行われるか否かをあらかじめ確認することが可能となる。
[変形例5]
上述の実施形態において、自動バックアップ装置200の変更履歴受信部211aが、受信した履歴情報を履歴情報記憶部216aに記憶する際に、履歴情報に含まれるバックアップ及び変更履歴にラベルを付加することとしてもよい。
図17は、履歴情報にラベルが付加された状態を示す模式図である。
図17においては、履歴情報の第2行に「プログラム編集」という変更履歴のラベルが付加されている。この[ラベル][プログラム編集]は、履歴情報の第3行から第9行に示されるプログラムの編集に関する変更を行ったタイミングを示している。また、履歴情報の第10行に「システムソフト更新」という変更履歴のラベルが付加されている。この[ラベル][システムソフト更新]は、履歴情報の第11行から第13行に示されるシステムソフトウェアの更新に関する変更を行ったタイミングを示している。
これらのラベルは、復旧の対象となる頻度が高い変更履歴や、復旧の対象として信頼性が高い変更履歴に付加することができる。
変更履歴にラベルを付加することにより、日時を指定する場合よりも容易に、目的とする変更履歴を指定することが可能となる。
[変形例6]
上述の実施形態において、自動バックアップ装置200に記憶された履歴情報のうち、特定の日時の変更履歴と同内容の変更を数値制御装置100に適用する機能を付加することができる。
図18は、特定の日時の変更履歴と同内容の変更を数値制御装置100に適用する状態を示す模式図である。なお、図18は、図12に示す履歴情報の状態と対応している。
図18においては、変更入力受付部111aが、自動バックアップ装置200に記憶された履歴情報において、第6行の変更履歴の前の状態に復旧された後、第6行の後の第7行から第13行の変更履歴の指定を受け付け、同内容の変更(パラメータあるいはプログラムの設定)を改めて適用した状態を示している。
このような構成により、繰り返し行われる同内容の変更等を簡単に行うことが可能となる。
[変形例7]
上述の実施形態において、特定の変更履歴のみをキャンセルするための変更を適用する機能を付加することができる。
具体的には、特定の変更履歴をキャンセルするために、数値制御装置100に当該特定の変更履歴とは逆の内容の変更を追加して適用することができる。
図19は、特定の変更履歴のみをキャンセルするための変更を適用する状態を示す模式図である。なお、図19は、図10に示す履歴情報の状態と対応している。
図19に示すように、履歴情報において、第6行の「User program O0102全体」を削除した変更履歴をキャンセルする場合、末尾の行に示す変更履歴のように、「User program O0102全体」を追加する変更を適用することができる。なお、このように特定の変更履歴とは逆の内容の変更を追加して適用する処理は、自動バックアップ装置200の復旧用バックアップ生成部211dにおいて自動的に実行したり、数値制御装置100の変更入力受付部111aにおいてオペレータの入力を受け付けて実行したりすることが可能である。
このように、特定の変更履歴とは逆の変更を適用することで適切な復旧を行える場合、簡単な処理で数値制御装置100を復旧することができる。
[変形例8]
上述の実施形態において、図7に示す変更履歴取得処理の内容を以下のような並列処理の形態とすることができる。
図20は、変更履歴を記憶する処理(変更履歴記憶処理)及び変更履歴を送信する処理(変更履歴送信処理)を並列的に実行する場合の処理の流れを示すフローチャートである。
図20に示す例では、図7に示す変更履歴取得処理の内容が変更履歴記憶処理及び変更履歴送信処理に分割され、数値制御装置100の稼働と共に、これらの処理が並列的に実行される。
変更記憶取得処理のステップS111において、変更入力受付部111aは、表示器/MDIユニット170やインタフェース115または通信部127を介して数値制御装置100のパラメータあるいはプログラムの変更が入力されたか否かの判定を行う。
表示器/MDIユニット170やインタフェース115または通信部127を介して数値制御装置100のパラメータあるいはプログラムの変更が入力されたと判定された場合(ステップS111:YES)、処理はステップS112に移行する。
一方、表示器/MDIユニット170やインタフェース115または通信部127を介して数値制御装置100のパラメータあるいはプログラムの変更が入力されていないと判定された場合(ステップS111:NO)、ステップS111の処理が繰り返される。
ステップS112において、変更入力受付部111aは、入力されたパラメータあるいはプログラムの変更内容を変更履歴として変更履歴一時記憶部114aに記憶する。
ステップS112の後、変更記憶取得処理が繰り返される。
また、変更履歴送信処理のステップS121において、変更履歴送信部111bは、あらかじめ設定された一定時間(例えば、1秒)に達しているか否かの判定を行う。
あらかじめ設定された一定時間(例えば、1秒)に達していると判定された場合(ステップS121:YES)、処理はステップS122に移行する。
一方、あらかじめ設定された一定時間(例えば、1秒)に達していないと判定された場合(ステップS121:NO)、ステップS121の処理が繰り返される。
ステップS122において、変更履歴送信部111bは、変更履歴一時記憶部114aに未送信の変更履歴があるか否かの判定を行う。
変更履歴一時記憶部114aに未送信の変更履歴があると判定された場合(ステップS122:YES)、処理はステップS123に移行する。
一方、変更履歴一時記憶部114aに未送信の変更履歴がないと判定された場合(ステップS122:NO)、処理はステップS121に移行する。
ステップS123において、変更履歴送信部111bは、変更履歴一時記憶部114aに記憶されている変更履歴をネットワーク300を介して自動バックアップ装置200に送信する。
ステップS123の後、変更履歴送信処理が繰り返される。
[変形例9]
上述の実施形態において、図8に示すバックアップ処理の内容を以下のような並列処理の形態とすることができる。
図21は、変更履歴を蓄積する処理(変更履歴蓄積処理)及びバクアップを生成する処理(バックアップ生成処理)を並列的に実行する場合の処理の流れを示すフローチャートである。
図21に示す例では、図8に示すバックアップ処理の内容が変更履歴蓄積処理及びバックアップ生成処理に分割され、自動バックアップ装置200において、これらの処理の実行が指示されることにより並列的に実行される。
変更履歴蓄積処理のステップS211において、変更履歴受信部211aは、ネットワーク300を介して数値制御装置100から変更履歴を受信したか否かの判定を行う。
ネットワーク300を介して数値制御装置100から変更履歴を受信したと判定された場合(ステップS211:YES)、処理はステップS212に移行する。
一方、ネットワーク300を介して数値制御装置100から変更履歴を受信していないと判定された場合(ステップS211:NO)、ステップS211の処理が繰り返される。
ステップS212において、変更履歴受信部211aは、受信した変更履歴を蓄積して履歴情報記憶部216aに記憶する。
ステップS212の後、変更履歴蓄積処理が繰り返される。
また、バックアップ生成処理のステップS221において、自動バックアップ生成部211bは、あらかじめ設定された一定時間(例えば、1日)に達しているか否かの判定を行う。
あらかじめ設定された一定時間(例えば、1日)に達していると判定された場合(ステップS221:YES)、処理はステップS222に移行する。
一方、あらかじめ設定された一定時間(例えば、1日)に達していないと判定された場合(ステップS221:NO)、ステップS221の処理が繰り返される。
ステップS222において、自動バックアップ生成部211bは、新規に受信した変更履歴があるか否かの判定を行う。即ち、ステップS222においては、履歴情報記憶部216aに新規に蓄積された履歴情報があるか否かが判定される。
新規に受信した変更履歴があると判定された場合(ステップS222:YES)、処理はステップS223に移行する。
一方、新規に受信した変更履歴がないと判定された場合(ステップS222:NO)、処理はステップS221に移行する。
ステップS223において、自動バックアップ生成部211bは、履歴情報記憶部216aに記憶されている直近のバックアップと、履歴情報記憶部216aに新規に蓄積された変更履歴とから、最新のバックアップを生成し、履歴情報記憶部216aに記憶する。
ステップS223の後、バックアップ生成処理が繰り返される。
以上説明した実施形態の自動バックアップシステム1の機能の全部又は一部は、ハードウェア、ソフトウェア又はこれらの組合せにより実現することができる。ここで、ソフトウェアによって実現されるとは、プロセッサがプログラムを読み込んで実行することにより実現されることを意味する。ハードウェアで構成する場合、自動バックアップシステム1の機能の一部又は全部を、例えば、ASIC(Application Specific Integrated Circuit)、ゲートアレイ、FPGA(Field Programmable Gate Array)、CPLD(Complex Programmable Logic Device)等の集積回路(IC)で構成することができる。
自動バックアップシステム1の機能の全部又は一部をソフトウェアで構成する場合、自動バックアップシステム1の動作の全部又は一部を記述したプログラムを記憶した、ハードディスク、ROM等の記憶部、演算に必要なデータを記憶するDRAM、CPU、及び各部を接続するバスで構成されたコンピュータにおいて、演算に必要な情報をDRAMに記憶し、CPUで当該プログラムを動作させることで実現することができる。
これらのプログラムは、様々なタイプのコンピュータ可読媒体(computer readable medium)を用いて格納され、コンピュータに供給することができる。コンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。コンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュメモリ、RAM(Random Access Memory))を含む。
また、これらのプログラムは、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。
以上、本発明の実施形態について詳細に説明したが、前述した実施形態は、本発明を実施するにあたっての具体例を示したに過ぎない。本発明の技術的範囲は、前記実施形態に限定されるものではない。本発明は、その趣旨を逸脱しない範囲において種々の変更が可能であり、それらも本発明の技術的範囲に含まれる。
1 自動バックアップシステム
100 数値制御装置
111,211 CPU
111a 変更入力受付部
111b 変更履歴送信部
111c 復旧要求受付部
111d 復旧要求送信部
111e 復旧用バックアップ受信部
111f 復旧用バックアップ適用部
211a 更履歴受信部
211b 自動バックアップ生成部
211c 復旧要求受信部
211d 復旧用バックアップ生成部
211e 復旧用バックアップ送信部
112,212 ROM
113,213 RAM
114 不揮発性メモリ
114a 変更履歴一時記憶部
115,118 インタフェース
116 PMC(プログラマブル・マシン・コントローラ)
117 I/Oユニット
120,218 バス
127,217 通信部
130〜134 軸制御回路
140〜144 サーボアンプ
150〜154 サーボモータ
160スピンドル制御回路
161 スピンドルアンプ
162 スピンドルモータ
163 パルスエンコーダ
170 表示器/MDIユニット
171 操作盤
172 外部機器
200 自動バックアップ装置
214 入力部
215 表示部
216 記憶部
216a 履歴情報記憶部
300 ネットワーク

Claims (11)

  1. バックアップの対象となる装置に対する設定の変更の時刻と変更内容とを対応付けて履歴情報として取得する履歴情報取得部と、
    前記バックアップの対象となる装置を復旧するための目的とする時刻を含む復旧要求を取得する復旧要求取得部と、
    前記復旧要求に含まれる時刻に基づいて、前記履歴情報取得部によって取得された前記履歴情報から、前記バックアップの対象となる装置を復旧するための復旧用情報を生成する復旧用情報生成部と、
    前記復旧用情報生成部によって生成された前記復旧用情報を前記バックアップの対象となる装置に送信する復旧用情報送信部と、
    を備える自動バックアップ装置であって、
    前記復旧用情報生成部は、さらに、前記履歴情報に矛盾が含まれる場合に、当該矛盾が含まれることを前記バックアップの対象となる装置に送信する処理及び当該矛盾を補間する変更履歴を生成する処理の何れか一方、又は両方を実行する、自動バックアップ装置。
  2. 前記履歴情報取得部によって取得された前記履歴情報を蓄積して記憶する履歴情報記憶部を備えることを特徴とする請求項1に記載の自動バックアップ装置。
  3. 前記履歴情報取得部によって取得された前記履歴情報に基づいて、所定時間ごと又は所定量の前記履歴情報ごとに、前記バックアップの対象となる装置のパラメータ及びプログラム全体が記録されたバックアップを生成するバックアップ生成部を備える請求項1又は2に記載の自動バックアップ装置。
  4. 前記復旧用情報生成部は、前記復旧要求に含まれる時刻に基づいて、前記履歴情報から、前記復旧要求に含まれる時刻における前記バックアップの対象となる装置のパラメータ及びプログラム全体が記録された復旧用バックアップを前記復旧用情報として生成する請求項1から3のいずれか1項に記載の自動バックアップ装置。
  5. 前記復旧用情報生成部は、前記履歴情報において、前記復旧要求に含まれる時刻よりも古い前記履歴情報であって起点となる前記履歴情報を基に、前記設定の変更の古いものから順に前記復旧要求に含まれる時刻のものまで前記履歴情報を適用して、前記復旧用情報を生成する請求項1から4のいずれか1項に記載の自動バックアップ装置。
  6. 前記復旧用情報生成部は、前記履歴情報において、前記復旧要求に含まれる時刻よりも新しい前記履歴情報であって起点となる前記履歴情報を基に、前記設定の変更の新しいものから順に前記復旧要求に含まれる時刻のものまで前記履歴情報を変更前の状態に戻すことにより、前記復旧用情報を生成する請求項1から4のいずれか1項に記載の自動バックアップ装置。
  7. 前記履歴情報取得部は、受信した前記履歴情報に、当該履歴情報を識別するラベルを付加する請求項1からのいずれか1項に記載の自動バックアップ装置。
  8. 前記復旧用情報生成部は、前記履歴情報における特定の変更がキャンセルされる場合に、当該変更と逆の内容の変更を追加して適用する請求項1からのいずれか1項に記載の自動バックアップ装置。
  9. 前記履歴情報記憶部は、前記バックアップの対象となる装置の出荷時のパラメータ及びプログラム全体が記録されたバックアップを記憶する請求項2に記載の自動バックアップ装置。
  10. コンピュータにより行われる自動バックアップ方法であって、
    前記コンピュータにより、
    バックアップの対象となる装置に対する設定の変更の時刻と変更内容とを対応付けて履歴情報として取得する履歴情報取得ステップと、
    前記バックアップの対象となる装置を復旧するための目的とする時刻を含む復旧要求を取得する復旧要求取得ステップと、
    前記復旧要求に含まれる時刻に基づいて、前記履歴情報取得ステップにおいて取得された前記履歴情報から、前記バックアップの対象となる装置を復旧するための復旧用情報を生成する復旧用情報生成ステップと、
    前記復旧用情報生成ステップにおいて生成された前記復旧用情報を前記バックアップの対象となる装置に送信する復旧用情報送信ステップと、を含み、
    前記復旧用情報生成ステップは、さらに、
    前記履歴情報に矛盾が含まれる場合に、当該矛盾が含まれることを前記バックアップの対象となる装置に送信するステップ及び当該矛盾を補間する変更履歴を生成するステップの何れか一方、又は両方を備える自動バックアップ方法。
  11. コンピュータに、
    バックアップの対象となる装置に対する設定の変更の時刻と変更内容とを対応付けて履歴情報として取得する履歴情報取得と、
    前記バックアップの対象となる装置を復旧するための目的とする時刻を含む復旧要求を取得する復旧要求取得と、
    前記復旧要求に含まれる時刻に基づいて、前記履歴情報取得によって取得された前記履歴情報から、前記バックアップの対象となる装置を復旧するための復旧用情報を生成する復旧用情報生成と、
    前記復旧用情報生成によって生成された前記復旧用情報を前記バックアップの対象となる装置に送信する復旧用情報送信と、
    として機能させるプログラムであって、
    前記復旧用情報生成部は、さらに、前記履歴情報に矛盾が含まれる場合に、当該矛盾が含まれることを前記バックアップの対象となる装置に送信する処理及び当該矛盾を補間する変更履歴を生成する処理の何れか一方、又は両方を備える、プログラム。
JP2016150387A 2016-07-29 2016-07-29 自動バックアップ装置、自動バックアップ方法及びプログラム Active JP6378264B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2016150387A JP6378264B2 (ja) 2016-07-29 2016-07-29 自動バックアップ装置、自動バックアップ方法及びプログラム
DE102017007056.3A DE102017007056B4 (de) 2016-07-29 2017-07-26 Automatische Sicherungsvorrichtung, automatisches Sicherungsverfahren und Programm
CN201710617111.0A CN107664986A (zh) 2016-07-29 2017-07-26 自动备份装置、自动备份方法及计算机可读取的记录介质
US15/660,138 US10452483B2 (en) 2016-07-29 2017-07-26 Automatic backup device, automatic backup method, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016150387A JP6378264B2 (ja) 2016-07-29 2016-07-29 自動バックアップ装置、自動バックアップ方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2018018429A JP2018018429A (ja) 2018-02-01
JP6378264B2 true JP6378264B2 (ja) 2018-08-22

Family

ID=60951120

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016150387A Active JP6378264B2 (ja) 2016-07-29 2016-07-29 自動バックアップ装置、自動バックアップ方法及びプログラム

Country Status (4)

Country Link
US (1) US10452483B2 (ja)
JP (1) JP6378264B2 (ja)
CN (1) CN107664986A (ja)
DE (1) DE102017007056B4 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107957918B (zh) * 2016-10-14 2019-05-10 腾讯科技(深圳)有限公司 数据恢复方法和装置
JP6687578B2 (ja) * 2017-10-23 2020-04-22 ファナック株式会社 数値制御装置
JP6816077B2 (ja) * 2018-09-14 2021-01-20 ファナック株式会社 誘導情報提示装置、誘導情報提示サーバ、誘導情報提示システム、誘導情報提示方法及びプログラム
JP6838023B2 (ja) * 2018-10-11 2021-03-03 ファナック株式会社 工作機械の制御システム
JP6904994B2 (ja) * 2019-02-26 2021-07-21 ファナック株式会社 画面作成装置及び画面作成システム
JP7244352B2 (ja) 2019-05-22 2023-03-22 ファナック株式会社 ファイル管理装置
JP7391629B2 (ja) * 2019-11-22 2023-12-05 ファナック株式会社 モータ制御装置、数値制御装置、ロボットコントローラ及び統合コントローラシステム
WO2022224388A1 (ja) * 2021-04-21 2022-10-27 ファナック株式会社 数値制御装置及びコンピュータが読み取り可能な記憶媒体
US11599532B1 (en) * 2021-08-11 2023-03-07 Amdocs Development Limited System, method, and computer program for preventing user mistakes when making database changes
US11934275B2 (en) 2021-12-28 2024-03-19 Dell Products L.P. Backup copy validation as an embedded object
US11899540B2 (en) * 2021-12-27 2024-02-13 Dell Products, L.P. Regenerating a chain of backups
US11880283B2 (en) 2021-12-28 2024-01-23 Dell Products L.P. Backup copy validation as a workflow
US11899538B2 (en) 2021-12-27 2024-02-13 Dell Products, L.P. Storage integrated differential block based backup
US11782799B2 (en) 2021-12-27 2023-10-10 Dell Products L.P. Using bitmaps to validate data

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0541281B1 (en) * 1991-11-04 1998-04-29 Commvault Systems, Inc. Incremental-computer-file backup using signatures
JPH05143136A (ja) 1991-11-18 1993-06-11 Okuma Mach Works Ltd フアイル編集装置
JP3519604B2 (ja) 1998-05-28 2004-04-19 ファナック株式会社 射出成形機における成形条件再生装置
JP4269533B2 (ja) 2001-04-16 2009-05-27 村田機械株式会社 数値制御装置
JP4151402B2 (ja) 2002-12-20 2008-09-17 村田機械株式会社 パラメータ書換履歴機能付き数値制御装置
US7478096B2 (en) * 2003-02-26 2009-01-13 Burnside Acquisition, Llc History preservation in a computer storage system
JP4704893B2 (ja) * 2005-11-15 2011-06-22 株式会社日立製作所 計算機システム及び管理計算機とストレージシステム並びにバックアップ管理方法
JP2007200182A (ja) * 2006-01-30 2007-08-09 Hitachi Ltd ストレージ装置、及びストレージシステム
CN100544283C (zh) * 2007-06-27 2009-09-23 杭州华三通信技术有限公司 配置备份方法、系统及配置文件服务器和被管理设备
CN102411523B (zh) * 2011-11-30 2014-08-20 广东威创视讯科技股份有限公司 文件备份存储方法、装置及其文件系统备份方法
JP2014142852A (ja) * 2013-01-25 2014-08-07 Fujitsu Ltd ストレージシステムおよび制御装置
CN104081329A (zh) * 2013-01-25 2014-10-01 株式会社东芝 对数据进行备份的备份存储系统、备份存储装置以及方法
JPWO2014174546A1 (ja) 2013-04-22 2017-02-23 三菱電機株式会社 プログラマブルロジックコントローラシステム及びプログラマブルロジックコントローラ
WO2015181937A1 (ja) * 2014-05-30 2015-12-03 株式会社日立製作所 仮想サーバのバックアップスケジュール作成方法

Also Published As

Publication number Publication date
US20180032404A1 (en) 2018-02-01
DE102017007056B4 (de) 2022-07-07
CN107664986A (zh) 2018-02-06
JP2018018429A (ja) 2018-02-01
DE102017007056A1 (de) 2018-02-01
US10452483B2 (en) 2019-10-22

Similar Documents

Publication Publication Date Title
JP6378264B2 (ja) 自動バックアップ装置、自動バックアップ方法及びプログラム
EP1669827B1 (en) Numerical controller
US10384349B2 (en) Processing robot system in which processing device is connected to robot to perform processing
US20160062336A1 (en) Numerical controller for facilitating adjustment of machining motion
CN107436589B (zh) 具备用于解决警报的程序修正支援功能的数值控制装置
KR101630104B1 (ko) 위치 결정 장치 및 plc 시스템
US20200272126A1 (en) Screen creation device and screen creation system
JP2009122852A (ja) パステーブル運転時の運転履歴を記憶する数値制御装置
JP2006330866A (ja) プログラマブル・ロジック・コントローラ
US6397123B1 (en) Numerical control apparatus
CN110297465B (zh) 加工程序编辑装置
JP4654937B2 (ja) 数値制御装置、数値制御方法及びコンピュータプログラム
US11960379B2 (en) Simulation system, method for simulation system, and non-transitory computer-readable storage medium storing simulation program
US20040176871A1 (en) Processing program creation apparatus
EP4113293A1 (en) Simulation system, method for simulation system, and simulation program
JP2018055654A (ja) 情報処理装置、情報処理方法およびプログラム
EP3730249B1 (en) Tool, and control circuit and control method for tool
US11435721B2 (en) Parameter setting device and parameter setting system for machine tool
US20230143968A1 (en) Control device
US20190354086A1 (en) Control device, control method, and control program
JP2008293241A (ja) 表示装置
JP2023011435A (ja) 操作表示システム、情報処理方法および情報処理プログラム
JP4028857B2 (ja) 数値制御装置
JP4774683B2 (ja) サーボ制御装置の支援装置
JP2005135153A (ja) 数値制御装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180416

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180515

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180611

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180703

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180726

R150 Certificate of patent or registration of utility model

Ref document number: 6378264

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150