(57)【要約】【課題】バックアップを作成しながら、保存されるバックアップのデータの量を削減することができる技術を提供する。【解決手段】ロボット制御装置は、ロボットの動作を制御する制御部と、ロボットの動作を制御するための情報セットを記憶する記憶部と、情報セットのバックアップファイルを作成するバックアップ作成部と、バックアップファイルのチェックサムを作成するチェックサム作成部と、チェックサム作成部で作成された現在のバックアップファイルのチェックサムと、過去のバックアップファイルのチェックサムとを比較する比較部と、現在のバックアップファイルのチェックサムと過去のバックアップファイルのチェックサムとが異なる場合に、現在のバックアップファイルそのもの、または現在のバックアップファイルと過去のバックアップファイルの差分を保存する保存部とを有する。【選択図】図１
2019153134.tif 000002
【特許請求の範囲】
【請求項１】
ロボットの動作を制御する制御部と、
前記ロボットの動作を制御するための情報セットを記憶する記憶部と、
前記情報セットのバックアップファイルを作成するバックアップ作成部と、
前記バックアップファイルのチェックサムを作成するチェックサム作成部と、
前記チェックサム作成部で作成された現在のバックアップファイルのチェックサムと、過去のバックアップファイルのチェックサムとを比較する比較部と、
前記現在のバックアップファイルのチェックサムと前記過去のバックアップファイルのチェックサムとが異なる場合に、前記現在のバックアップファイルそのもの、または前記現在のバックアップファイルと前記過去のバックアップファイルの差分を保存する保存部と、
を有するロボット制御装置。
【請求項２】
前記保存部は、現在のバックアップファイルのチェックサムと、前記過去のバックアップファイルのチェックサムとが異なる場合に、前記現在のバックアップファイルと前記過去のバックアップファイルの差分を保存する、
ことを特徴とする請求項１に記載のロボット制御装置。
【請求項３】
前記ロボット制御装置の起動時に、前記バックアップ作成部は、前記バックアップファイルを作成し、
前記ロボット制御装置の起動時に、前記チェックサム作成部は、前記チェックサムを作成し、
前記ロボット制御装置の起動時に、前記比較部は、前記現在のバックアップファイルのチェックサムと前記過去のバックアップファイルのチェックサムとを比較し、
前記ロボット制御装置の起動時に、前記保存部は、前記現在のバックアップファイルそのもの、または前記差分を保存する、
ことを特徴とする請求項１または２に記載のロボット制御装置。
【請求項４】
前記バックアップ作成部は、
前記制御部が前記ロボットの動作を制御するために参照するロボット動作プログラムと、前記制御部が前記制御部の動作のために参照する設定情報ファイルとを結合して、結合された情報セットのバックアップファイルを作成する、
ことを特徴とする請求項１から３のいずれか１項に記載のロボット制御装置。
【請求項５】
前記バックアップ作成部は、
前記制御部が前記ロボットの動作を制御するために参照するロボット動作プログラムのバックアップファイルと、前記制御部が前記制御部の動作のために参照する設定情報ファイルのバックアップファイルとを作成し、
前記チェックサム作成部は、
前記ロボット動作プログラムのバックアップファイルのチェックサムと、前記設定情報ファイルのバックアップファイルのチェックサムとを作成し、
前記比較部は、
前記ロボット動作プログラムの現在のバックアップファイルのチェックサムと、前記ロボット動作プログラムの過去のバックアップファイルのチェックサムとを比較し、
前記設定情報ファイルの現在のバックアップファイルのチェックサムと、前記設定情報ファイルの過去のバックアップファイルのチェックサムとを比較する、
ことを特徴とする請求項１から３のいずれか１項に記載のロボット制御装置。
【請求項６】
前記バックアップ作成部は、前記情報セットを圧縮することによって、前記バックアップファイルを作成する、
ことを特徴とする請求項１から５のいずれか１項に記載のロボット制御装置。
【請求項７】
ロボットの動作を制御するための情報セットのバックアップファイルを作成し、
前記バックアップファイルのチェックサムを作成し、
作成された現在のバックアップファイルのチェックサムと、過去のバックアップファイルのチェックサムとを比較し、
前記現在のバックアップファイルのチェックサムと前記過去のバックアップファイルのチェックサムとが異なる場合に、
前記現在のバックアップファイルそのもの、または前記現在のバックアップファイルと前記過去のバックアップファイルの差分を保存する、
または、前記現在のバックアップファイルのチェックサムと前記過去のバックアップファイルのチェックサムとが同一である場合に、
前記現在のバックアップファイルを廃棄する、
ことを特徴するバックアップファイルの保存方法。
【請求項８】
コンピュータに、
ロボットの動作を制御するための情報セットのバックアップファイルを作成する機能と、
前記バックアップファイルのチェックサムを作成する機能と、
作成された現在のバックアップファイルのチェックサムと、過去のバックアップファイルのチェックサムとを比較する機能と、
前記現在のバックアップファイルのチェックサムと前記過去のバックアップファイルのチェックサムとが異なる場合に、
前記現在のバックアップファイルそのもの、または前記現在のバックアップファイルと前記過去のバックアップファイルの差分を保存する機能と、
前記現在のバックアップファイルのチェックサムと前記過去のバックアップファイルのチェックサムとが同一である場合に、
前記現在のバックアップファイルを廃棄する機能と
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御装置、バックアップファイルの保存方法およびプログラムに関する。
【背景技術】
【０００２】
産業用ロボットなどのロボットの動作を制御するロボット制御装置は、一般的にプログラムおよび設定情報に従ってロボットの制御を行う。特許文献１は、プログラムの更新時にバックアップを保存する技術を開示する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−２１７７３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
プログラムおよび設定情報は、ロボットの使用者によって修正することができる。修正前のプログラムおよび設定情報のバックアップを保存しておくことにより、なんらかの問題が発生した場合に、修正前のプログラムまたは設定情報と、修正後のプログラムまたは設定情報を比較することができる。また、使用するプログラムまたは設定情報を修正前のプログラムまたは設定情報に戻すこともできる。
【０００５】
しかし、定期的にすべてのバックアップを保存すると、保存されるデータの量が膨大になってしまう。
【０００６】
そこで、本発明は、バックアップを作成しながら、保存されるバックアップのデータの量を削減することができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明のある態様に係るロボット制御装置は、ロボットの動作を制御する制御部と、前記ロボットの動作を制御するための情報セットを記憶する記憶部と、前記情報セットのバックアップファイルを作成するバックアップ作成部と、前記バックアップファイルのチェックサムを作成するチェックサム作成部と、前記チェックサム作成部で作成された現在のバックアップファイルのチェックサムと、過去のバックアップファイルのチェックサムとを比較する比較部と、前記現在のバックアップファイルのチェックサムと前記過去のバックアップファイルのチェックサムとが異なる場合に、前記現在のバックアップファイルそのもの、または前記現在のバックアップファイルと前記過去のバックアップファイルの差分を保存する保存部とを有する。
【発明の効果】
【０００８】
記憶部に記憶された情報セットが更新されていない場合には、現在のバックアップファイルのチェックサムと過去のバックアップファイルのチェックサムは同一となる。一方、情報セットが更新された場合には、現在のバックアップファイルのチェックサムと過去のバックアップファイルのチェックサムは異なる。したがって、本発明においては、情報セットが更新された場合のみ、現在のバックアップファイルが保存されるので、保存されるデータの量が削減される。また、チェックサム同士を比較するので、バックアップファイル同士の比較よりも、処理の負担が少ない。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係るロボット制御装置の構成を示すブロック図。
【図２】本発明の実施形態に係るロボット制御装置におけるバックアップファイルの保存方法を示すフローチャート。
【図３】バックアップファイルの保存方法の他の例を示すフローチャート。
【図４】本発明の実施形態に係る複数の情報セットのための単一のバックアップファイルの保存方法の具体例を示す模式図。
【図５】本発明の実施形態に係る複数の情報セットのための複数のバックアップファイルの保存方法の具体例を示す模式図。
【発明を実施するための形態】
【００１０】
＜ロボット制御装置の構成＞
図１は、本発明の実施形態に係るロボット制御装置であるコントローラ１の構成を示すブロック図である。本実施形態において、コントローラ１は、ロボット２を制御および監視する。ロボット２は、工場内での製造ロボットであり、例えば多関節ロボットである。但し、ロボット２は、多関節ロボットには限られず、自動的に作業を行う数値制御工作機械、例えば、数値制御旋盤、または数値制御マシニングセンタであってもよい。また、ロボット２は、製造ロボットには限られず、搬送ロボット、自律移動ロボット、その他のロボットであってもよい。
【００１１】
コントローラ１は、プロセッサ４とメモリ６（記憶部）を有する。プロセッサ４は、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｉｎｇ  Ｕｎｉｔ）であり、メモリ６に記憶された各種のプログラムを実行することで各種の機能動作を実行する。メモリ６は、例えば、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）であり、プロセッサ４に使用されるプログラムおよび各種のデータを格納する。
【００１２】
コントローラ１は、ロボット２に搭載されていてもよいし、ロボット２に搭載されたプロセッサと別個に設けられ、ロボット２に搭載されたプロセッサと有線または無線で通信してもよい。また、コントローラ１は、ロボット２に搭載されたプロセッサ４と、ロボット２の外部に設けられたメモリ６を有してもよい。
【００１３】
メモリ６は、上記のプログラムとして、システム設定ファイル（設定情報ファイル、情報セット）１０、ロボット動作プログラム（情報セット）１２、エラー記録作成プログラム（情報セット）１４、およびバックアップ作成プログラムを格納する。
【００１４】
システム設定ファイル１０は、プロセッサ４の動作を統括的に制御するためのシステム制御プログラムであり、プロセッサ４の動作のためにプロセッサ４により参照される。プロセッサ４は、メモリ６からシステム設定ファイル１０を読み出して実行することにより、適切に動作することができる。
【００１５】
また、図１において、制御モジュール１６を便宜的にプロセッサ４の内部に示す。制御モジュール１６は、システム設定ファイル１０の一部であるモジュールまたはサブルーチンであり、プロセッサ４で実行されるタスクを表す。より具体的には、制御モジュール１６は、ロボット２の動作に関する履歴を示す動作ログ１８を生成し、動作ログ１８をメモリ６に保存するためのタスクを表す。プロセッサ４は、制御モジュール１６に従って、動作ログ１８を生成し、動作ログ１８をメモリ６に保存する。
【００１６】
プロセッサ４は、制御モジュール１６に従って、逐次、動作ログ１８に情報要素を追加して動作ログ１８の内容を更新し、所定の保存期間が経過した情報要素を削除して動作ログ１８の内容を更新する。動作ログ１８の情報要素は、例えば、ロボット２の所定箇所の座標、ロボット２の所定箇所に配置されたアクチュエータ（例えばモータ）に与えられた電圧、アクチュエータが発揮した力またはトルク、ロボット２の温度などである。メモリ６に保存された動作ログ１８は、ロボット２の動作に関する履歴を示すので、動作ログ１８を用いて、動作ログ１８の解析者は、ロボット２の挙動履歴を追跡し、例えば、ロボット２にエラーが発生した場合に、エラーの原因を特定することができる。
【００１７】
ロボット動作プログラム１２は、ロボット２の動作を制御するためにプロセッサ４により参照される。プロセッサ４は、メモリ６からロボット動作プログラム１２を読み出して実行することにより、ロボット２の動作を制御する制御部として機能し、ロボット２に所要の作業を実行させる。
【００１８】
プロセッサ４は、メモリ６からエラー記録作成プログラム１４を読み出して実行することにより、エラーが発生した場合に、動作ログ１８とは別個に、当該エラーに関連するエラー記録２０を作成する。プロセッサ４は、エラー記録２０をメモリ６に保存する。
【００１９】
コントローラ１で使用されるロボット動作プログラム１２は、個々のコントローラ１専用に準備されることがあり、しかもロボット２の使用者により修正されることがある。また、システム設定ファイル１０およびエラー記録作成プログラム１４もロボット２の使用者により修正されることがある。修正前のプログラムおよび設定情報のバックアップを保存しておくことにより、なんらかの問題が発生した場合に、修正前のプログラムまたは設定情報と、修正後のプログラムまたは設定情報を比較することができる。また、使用するプログラムまたは設定情報を修正前のプログラムまたは設定情報に戻すこともできる。
【００２０】
そこで、本実施形態に係るプロセッサ４は、メモリ６からバックアップ作成プログラムを読み出して実行することにより、システム設定ファイル１０とロボット動作プログラム１２とエラー記録作成プログラム１４の少なくともいずれかについて、バックアップファイルを作成するバックアップ作成部として機能する。また、バックアップ作成プログラムに従って、プロセッサ４は、バックアップファイルのチェックサムを作成するチェックサム作成部として機能する。また、バックアップ作成プログラムに従って、プロセッサ４は、チェックサム作成部で作成された現在のバックアップファイルのチェックサムと、過去のバックアップファイルのチェックサムとを比較する比較部として機能し、現在のバックアップファイルのチェックサムと過去のバックアップファイルのチェックサムとが異なる場合に、現在のバックアップファイルをメモリ６に保存する保存部として機能する。
【００２１】
メモリ６には、直前に保存されたバックアップファイル２６Ｂが、バックアップファイル２６Ｂのチェックサム２８Ｂと関連付けられて保存されている。メモリ６には、さらに以前に保存されたバックアップファイル２６Ｃが、バックアップファイル２６Ｃのチェックサム２８Ｃと関連付けられて保存されている。このように、バックアップファイルとチェックサムは、上書きされることなく、メモリ６に蓄積されてゆく。
【００２２】
図１において、バックアップ作成プログラムにより実施される機能であるバックアップ作成機能２２と、チェックサム作成機能２３と、チェックサム比較機能２４を便宜的にプロセッサ４の内部に示す。バックアップ作成機能２２は、システム設定ファイル１０とロボット動作プログラム１２とエラー記録作成プログラム１４の少なくともいずれかについて現在のバックアップファイルを作成する。チェックサム作成機能２３は、現在のバックアップファイルのチェックサムを作成する。チェックサム比較機能２４は、現在のバックアップファイルのチェックサムと、直前に保存されたバックアップファイル２６Ｂのチェックサム２８Ｂとを比較する。チェックサム比較機能２４は、現在のバックアップファイルのチェックサムと過去のバックアップファイルのチェックサムとが異なる場合に、現在のバックアップファイル２６Ａを、バックアップファイル２６Ａのチェックサム２８Ａと関連付けて、メモリ６に保存する。
【００２３】
＜バックアップファイル作成の動作＞
図２は、本発明の実施形態に係るロボット制御装置におけるバックアップファイルの保存方法を示すフローチャートである。この方法は、コントローラ１の起動時に起動されるバックアップ作成プログラムに従って、プロセッサ４によって実行される。
【００２４】
コントローラ１が起動すると、まずステップＳ１において、プロセッサ４は、システム設定ファイル１０とロボット動作プログラム１２とエラー記録作成プログラム１４の少なくともいずれかの情報セットについて、現在のバックアップファイルを作成する。ここで、現在のバックアップファイルは、情報セットのコピーでもよいが、好ましくは、プロセッサ４は、情報セットを圧縮することによって、バックアップファイルを作成する。圧縮によって、バックアップファイルのデータ量を削減することができ、かつチェックサム作成の処理負担が低減する。
【００２５】
次に、ステップＳ２において、プロセッサ４は、現在のバックアップファイルのチェックサムを作成する。チェックサムとしては、例えば、巡回冗長検査（ＣＲＣ）の符号でもよいし、ＭＤ５（Ｍｅｓｓａｇｅ  Ｄｉｇｅｓｔ  Ａｌｇｏｒｉｔｈｍ  ５）のハッシュ値でもよい。
【００２６】
次に、ステップＳ３において、プロセッサ４は、ステップＳ２で作成されたチェックサム（現在のチェックサム）が、メモリ６に記憶されているチェックサム２８Ｂ（メモリ６に直前に保存されたチェックサム）と同一であるか否か判断する。
【００２７】
ステップＳ３の判断が肯定的である場合には、処理はステップＳ４に進む。ステップＳ４において、プロセッサ４は、ステップＳ１で作成された現在のバックアップファイルおよびステップＳ２で作成されたチェックサムを廃棄する。この後、処理は終了する。
【００２８】
一方、ステップＳ３の判断が否定的である場合には、処理はステップＳ５に進む。ステップＳ５において、プロセッサ４は、ステップＳ１で作成された現在のバックアップファイル２６ＡおよびステップＳ２で作成されたチェックサム２８Ａをメモリ６に保存する。ステップＳ５の後、処理は終了する。
【００２９】
好ましくは、ステップＳ５において、プロセッサ４は、バックアップファイル２６Ａおよびチェックサム２８Ａに、保存または作成の日時を表す日時情報を付与して、メモリ６に記憶する。日時情報を用いて、ステップＳ３では、メモリ６に記憶された複数のチェックサムのうち直前に保存されたチェックサム２８Ｂを特定することができる。また、日時情報を用いて、解析者は、メモリ６に記憶された複数のバックアップファイルの保存または作成の順序を特定することができる。
【００３０】
情報セットが更新されていない場合には、ステップＳ３の判断が肯定的、すなわち現在のチェックサムと直前に保存されたチェックサムは同一となる。一方、情報セットが更新された場合には、ステップＳ３の判断が否定的、すなわち現在のチェックサムと直前に保存されたチェックサムは異なる。したがって、本実施形態においては、情報セットが更新された場合のみ、現在のバックアップファイルが保存されるので、メモリ６に保存されるデータの量が削減される。また、本実施形態においては、チェックサム同士を比較するので、バックアップファイル同士の比較よりも、プロセッサ４の処理の負担が少ない。
【００３１】
上記のように、この方法は、コントローラ１の起動時に実施される。コントローラ１の起動時には、ロボット２が稼働していないため、ロボット動作プログラム１２は働いていない。したがって、この方法を実施しても、コントローラ１の処理の負担が小さい。また、この方法を起動時に実施することで、バックアップファイルおよびチェックサムの作成、チェックサムの比較の処理の頻度が抑制される。また、コントローラ1の起動のたびにこの方法を自動的に実行することにより、バックアップの実行忘れを防ぐことができる。
【００３２】
但し、この方法は、コントローラ１の起動時に限らず、例えば、任意の時に実施してもよい。例えば、コントローラ１の使用者がプロセッサ４に指令を与えると、プロセッサ４がこの方法を実施してもよい。あるいは、定期的にプロセッサ４がこの方法を実施してもよい。
【００３３】
図３は、バックアップファイルの保存方法の他の例を示すフローチャートである。図２の方法と同じステップを示すために同一の符号が使用され、これらのステップの説明は省略する。
【００３４】
図３の方法では、ステップＳ３の判断が否定的である場合には、処理はステップＳ６に進む。ステップＳ６において、プロセッサ４は、ステップＳ１で作成された現在のバックアップファイル２６Ａと、直前に保存されたバックアップファイル２６Ｂとの差分を抽出する。
【００３５】
次に、ステップＳ７において、プロセッサ４は、ステップＳ６で抽出された差分およびステップＳ２で作成されたチェックサム２８Ａをメモリ６に保存する。ステップＳ７の後、処理は終了する。
【００３６】
好ましくは、ステップＳ７において、プロセッサ４は、差分およびチェックサム２８Ａに、保存または作成の日時を表す日時情報を付与して、メモリ６に記憶する。日時情報を用いて、ステップＳ３では、メモリ６に記憶された複数のチェックサムのうち直前に保存されたチェックサム２８Ｂを特定することができる。また、日時情報を用いて、解析者は、メモリ６に記憶された複数の差分の保存または作成の順序を特定することができる。
【００３７】
図３の方法が使用される場合、好ましくは、メモリ６には、更新前のいずれかの世代の（例えば初期の）情報セットがあらかじめ保存される。このような過去の情報セットは、圧縮された形式で保存されてもよい。但し、過去の情報セットは、メモリ６以外の他の記憶媒体に保存されていてもよい。解析者は、過去の情報セットと、メモリ６に記憶された１つ以上の差分に基づいて、現在の現在のバックアップファイル２６Ａ、ひいては現在の情報セットを再現することが可能である。
【００３８】
図３の方法では、現在のバックアップファイルと過去のバックアップファイルの差分を保存するので、保存されるデータの量が削減される。差分は、人間が読んで理解できるテキスト形式であってもよいし、機械が読むことができるバイナリ形式であってもよい。バックアップファイルが圧縮された形式であれば、差分は、人間には理解できないバイナリ形式であろうが、圧縮に対応する解凍を行うことによって、解析者は、現在の情報セットを再現することが可能である。
【００３９】
上記の通り、チェックサムの比較により、相違が見いだされた場合には、現在のバックアップファイルそのものをメモリ６に保存してもよいし、現在のバックアップファイルと過去のバックアップファイルとの差分をメモリ６に保存してもよい。
【００４０】
複数の情報セット（例えば、システム設定ファイル１０およびロボット動作プログラム１２）のバックアップファイルを作成する場合には、図４の模式図に示す具体例を使用することができる。以下、複数の情報セットとして、システム設定ファイル１０とロボット動作プログラム１２が例示されるが、エラー記録作成プログラム１４が複数の情報セットに含まれてもよい。
【００４１】
図４の具体例では、ステップＳ１において、プロセッサ４は、ロボット動作プログラム１２とシステム設定ファイル１０とを結合して、結合された情報セットの現在のバックアップファイル２６Ａを作成する。この場合、バックアップファイル２６Ａは、ロボット動作プログラム１２のコピーとシステム設定ファイル１０のコピーの組合せでもよいし、当該組合せを圧縮して得られる圧縮形式のファイルでもよい。
【００４２】
次に、ステップＳ２において、プロセッサ４は、現在のバックアップファイル２６Ａのチェックサムである現在のチェックサム２８Ａを作成する。次に、ステップＳ３において、プロセッサ４は、現在のチェックサム２８Ａを直前に保存されたチェックサム２８Ｂと比較する。図４の具体例によれば、単一のチェックサムだけが作成されるので、チェックサムの作成の処理負担と、現在のチェックサムと過去のチェックサムの比較の処理負担が軽減される。
【００４３】
あるいは、複数の情報セットのバックアップファイルを作成する場合には、図５の模式図に示す具体例を使用することができる。以下、複数の情報セットとして、システム設定ファイル１０とロボット動作プログラム１２が例示されるが、エラー記録作成プログラム１４が複数の情報セットに含まれてもよい。
【００４４】
図５の具体例では、ステップＳ１において、プロセッサ４は、ロボット動作プログラム１２の現在のバックアップファイル２６Ａａと、システム設定ファイル１０の現在のバックアップファイル２６Ａｂを作成する。バックアップファイル２６Ａａは、ロボット動作プログラム１２のコピーでもよいし、ロボット動作プログラム１２を圧縮して得られる圧縮形式のファイルでもよい。バックアップファイル２６Ａｂは、システム設定ファイル１０のコピーでもよいし、システム設定ファイル１０を圧縮して得られる圧縮形式のファイルでもよい。
【００４５】
次に、ステップＳ２において、プロセッサ４は、現在のバックアップファイル２６Ａａのチェックサムである現在のチェックサム２８Ａａを作成する。また、ステップＳ２において、プロセッサ４は、現在のバックアップファイル２６Ａｂのチェックサムである現在のチェックサム２８Ａｂを作成する。
【００４６】
そして、ステップＳ３において、プロセッサ４は、ロボット動作プログラム１２の現在のバックアップファイル２６Ａａのチェックサム２８Ａａと、直前に保存されたロボット動作プログラム１２のバックアップファイルのチェックサム２８Ｂａとを比較する。チェックサム２８Ａａ，２８Ｂａが同一であれば、バックアップファイル２６Ａａとチェックサム２８Ａａは廃棄される。一方、チェックサム２８Ａａ，２８Ｂａが相違すれば、プロセッサ４は、現在のバックアップファイル２６Ａａそのものをメモリ６に保存してもよいし、現在のバックアップファイル２６Ａａと直前に保存されたロボット動作プログラム１２のバックアップファイルとの差分をメモリ６に保存してもよい。
【００４７】
また、ステップＳ３において、プロセッサ４は、システム設定ファイル１０の現在のバックアップファイル２６Ａｂのチェックサム２８Ａｂと、直前に保存されたシステム設定ファイル１０のバックアップファイルのチェックサム２８Ｂｂとを比較する。チェックサム２８Ａｂ，２８Ｂｂが同一であれば、バックアップファイル２６Ａｂとチェックサム２８Ａｂは廃棄される。一方、チェックサム２８Ａｂ，２８Ｂｂが相違すれば、プロセッサ４は、現在のバックアップファイル２６Ａｂそのものをメモリ６に保存してもよいし、現在のバックアップファイル２６Ａｂと直前に保存されたシステム設定ファイル１０のバックアップファイルとの差分をメモリ６に保存してもよい。図５の具体例によれば、ロボット動作プログラム１２と設定情報ファイルの結合の負担がない。
【００４８】
＜他の変形例＞
以上、本発明の実施形態を説明したが、上記の説明は本発明を限定するものではなく、本発明の技術的範囲において、構成要素の削除、追加、置換を含む様々な変形例が考えられる。
【００４９】
例えば、上記の実施形態においては、１つのメモリ６に、システム設定ファイル１０、ロボット動作プログラム１２、エラー記録作成プログラム１４、動作ログ１８、エラー記録２０、バックアップ作成プログラム、バックアップファイル２６Ａ，２６Ｂ，…およびチェックサム２８Ａ，２８Ｂ，…が格納される。しかし、これらは、異なるメモリに格納されてもよい。
【００５０】
コントローラ１において、プロセッサ４が実行する各機能は、プロセッサの代わりに、ハードウェアで実行してもよいし、例えばFPGA（Field Programmable Gate Array）、DSP（Digital Signal Processor）等のプログラマブルロジックデバイスで実行してもよい。
【００５１】
図示しないが、コントローラ１は、ネットワーク（例えばインターネット）を介して、管理装置に接続されていてもよい。この場合、プロセッサ４は、バックアップファイル２６Ａ，２６Ｂ，…を管理装置に送信してもよい。この場合には、解析者は、コントローラ１が存在する場所に赴かずに、バックアップファイル２６Ａ，２６Ｂ，…を用いて、コントローラ１における情報セットの更新履歴を追跡し、例えば、ロボット２で発生した問題の原因を特定することができる。
【符号の説明】
【００５２】
１  コントローラ（ロボット制御装置）
２  ロボット
４  プロセッサ（制御部、バックアップ作成部、比較部、保存部）
６  メモリ（記憶部）
１０  システム設定ファイル（設定情報ファイル、情報セット）
１２  ロボット動作プログラム（情報セット）
１４  エラー記録作成プログラム（情報セット）
２２  バックアップ作成機能
２３  チェックサム作成機能
２４  チェックサム比較機能
２６Ａ  現在のバックアップファイル
２６Ｂ  直前に保存されたバックアップファイル
２６Ｃ  さらに以前に保存されたバックアップファイル
２８Ａ  現在のチェックサム
２８Ｂ  直前に保存されたチェックサム
２８Ｃ  さらに以前に保存されたチェックサム
【図１】
2019153134.tif 000003
【図２】
2019153134.tif 000004
【図３】
2019153134.tif 000005
【図４】
2019153134.tif 000006
【図５】
2019153134.tif 000007