(57)【要約】【課題】設定データに対する変更の管理を容易にする。【解決手段】産業機器管理システム（１）の収集部（１０１）は、産業機器（２１）において変更可能な設定データを収集する。判定部（１０２）は、複数の時点の各々における設定データに基づいて、設定データが変更されたか否かを判定する。出力部（１０３）は、設定データが変更されたと判定された場合に、設定データの変更に関する変更情報を出力する。【選択図】図６
2020119426.tif 000002
【特許請求の範囲】
【請求項１】
産業機器において変更可能な設定データを収集する収集部と、
複数の時点の各々における前記設定データに基づいて、前記設定データが変更されたか否かを判定する判定部と、
前記設定データが変更されたと判定された場合に、前記設定データの変更に関する変更情報を出力する出力部と、
を有する産業機器管理システム。
【請求項２】
前記設定データが変更されたと判定された場合に、前記設定データの変更内容に関する変更内容情報を、前記変更情報として出力する内容出力部を有する、
請求項１に記載の産業機器管理システム。
【請求項３】
前記産業機器においては、複数種類の前記設定データが変更可能であり、
前記設定データが変更されたと判定された場合に、変更された前記設定データの種類に関する変更種類情報を、前記変更情報として出力する種類出力部を有する、
請求項１又は２に記載の産業機器管理システム。
【請求項４】
複数の時点の各々における前記設定データに基づいて、前記設定データに所定の変更がなされたか否かを判定する変更判定部と、
前記設定データに前記所定の変更がなされたと判定された場合に、前記変更情報を出力する変更出力部と、
を有する請求項１〜３の何れかに記載の産業機器管理システム。
【請求項５】
前記設定データは、前記産業機器を動作させるための命令を含み、
複数の時点の各々における前記設定データに基づいて、前記設定データに、所定の命令に関する変更がなされたか否かを判定する命令判定部と、
前記設定データに前記所定の命令に関する変更がなされたと判定された場合に、前記変更情報を出力する命令出力部と、
を有する請求項４に記載の産業機器管理システム。
【請求項６】
前記設定データは、前記産業機器を動作させるためのパラメータを示し、
複数の時点の各々における前記パラメータに基づいて、前記パラメータに基準範囲外の変更がなされたか否かを判定するパラメータ判定部と、
前記パラメータに前記基準範囲外の変更がなされたと判定された場合に、前記変更情報を出力するパラメータ出力部と、
を有する請求項４又は５に記載の産業機器管理システム。
【請求項７】
前記産業機器に基づいて、前記所定の変更を設定する設定部、
を有する請求項４〜６の何れかに記載の産業機器管理システム。
【請求項８】
前記設定データが変更されたと判定された場合に、予め定められた送信先に、変更通知を送信する送信部を有する、
請求項１〜７の何れかに記載の産業機器管理システム。
【請求項９】
前記産業機器に基づいて、前記送信先を決定する決定部を有する、
請求項８に記載の産業機器管理システム。
【請求項１０】
前記収集部により収集された設定データの履歴を記憶する記憶部と、
前記履歴に基づいて、前記設定データが変更されたか否かを判定する履歴判定部と、
前記設定データが変更されたと判定された場合に、前記履歴に基づいて、前記変更情報を出力する履歴出力部と、
を有する請求項１〜９の何れかに記載の産業機器管理システム。
【請求項１１】
前記収集部により収集された設定データを、バックアップとして記憶する記憶部と、
前記バックアップのために収集された前記設定データに基づいて、前記設定データが変更されたか否かを判定するバックアップ判定部と、
を有する請求項１〜１０の何れかに記載の産業機器管理システム。
【請求項１２】
産業機器において変更可能な設定データを収集し、
複数の時点の各々における前記設定データに基づいて、前記設定データが変更されたか否かを判定し、
前記設定データが変更されたと判定された場合に、前記設定データの変更に関する変更情報を出力する、
産業機器管理方法。
【請求項１３】
産業機器において変更可能な設定データを収集する収集部、
複数の時点の各々における前記設定データに基づいて、前記設定データが変更されたか否かを判定する判定部、
前記設定データが変更されたと判定された場合に、前記設定データの変更に関する変更情報を出力する出力部、
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業機器管理システム、産業機器管理方法、及びプログラムに関する。
【背景技術】
【０００２】
特許文献１には、産業機器にエンジニアリングツールを接続してパラメータを調整可能とし、バックアップなどの目的で、産業機器からクラウドサーバに対し、調整後のパラメータをアップロードさせるシステムが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開第２０１５−０８７８７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする課題は、例えば、設定データに対する変更の管理を容易にすることである。
【課題を解決するための手段】
【０００５】
本発明の一側面に係る産業機器管理システムは、産業機器において変更可能な設定データを収集する収集部と、複数の時点の各々における前記設定データに基づいて、前記設定データが変更されたか否かを判定する判定部と、前記設定データが変更されたと判定された場合に、前記設定データの変更に関する変更情報を出力する出力部と、を有する。
【０００６】
本発明の一側面に係る産業機器管理方法は、産業機器において変更可能な設定データを収集し、複数の時点の各々における前記設定データに基づいて、前記設定データが変更されたか否かを判定し、前記設定データが変更されたと判定された場合に、前記設定データの変更に関する変更情報を出力する。
【０００７】
本発明の一側面に係るプログラムは、産業機器において変更可能な設定データを収集する収集部、複数の時点の各々における前記設定データに基づいて、前記設定データが変更されたか否かを判定する判定部、前記設定データが変更されたと判定された場合に、前記設定データの変更に関する変更情報を出力する出力部、としてコンピュータを機能させる。
【０００８】
本発明の一側面によれば、前記設定データが変更されたと判定された場合に、前記設定データの変更内容に関する変更内容情報を、前記変更情報として出力する内容出力部を有する。
【０００９】
本発明の一側面によれば、前記産業機器においては、複数種類の前記設定データが変更可能であり、前記設定データが変更されたと判定された場合に、変更された前記設定データの種類に関する変更種類情報を、前記変更情報として出力する種類出力部を有する。
【００１０】
本発明の一側面によれば、複数の時点の各々における前記設定データに基づいて、前記設定データに所定の変更がなされたか否かを判定する変更判定部と、前記設定データに前記所定の変更がなされたと判定された場合に、前記変更情報を出力する変更出力部と、を有する。
【００１１】
本発明の一側面によれば、前記設定データは、前記産業機器を動作させるための命令を含み、複数の時点の各々における前記設定データに基づいて、前記設定データに、所定の命令に関する変更がなされたか否かを判定する命令判定部と、前記設定データに前記所定の命令に関する変更がなされたと判定された場合に、前記変更情報を出力する命令出力部と、を有する。
【００１２】
本発明の一側面によれば、前記設定データは、前記産業機器を動作させるためのパラメータを示し、複数の時点の各々における前記パラメータに基づいて、前記パラメータに基準範囲外の変更がなされたか否かを判定するパラメータ判定部と、前記パラメータに前記基準範囲外の変更がなされたと判定された場合に、前記変更情報を出力するパラメータ出力部と、を有する。
【００１３】
本発明の一側面によれば、前記産業機器に基づいて、前記所定の変更を設定する設定部、を有する。
【００１４】
本発明の一側面によれば、前記設定データが変更されたと判定された場合に、予め定められた送信先に、変更通知を送信する送信部を有する。
【００１５】
本発明の一側面によれば、前記産業機器に基づいて、前記送信先を決定する決定部を有する。
【００１６】
本発明の一側面によれば、前記収集部により収集された設定データの履歴を記憶する記憶部と、前記履歴に基づいて、前記設定データが変更されたか否かを判定する履歴判定部と、前記設定データが変更されたと判定された場合に、前記履歴に基づいて、前記変更情報を出力する履歴出力部と、を有する。
【００１７】
本発明の一側面によれば、前記収集部により収集された設定データを、バックアップとして記憶する記憶部と、前記バックアップのために収集された前記設定データに基づいて、前記設定データが変更されたか否かを判定するバックアップ判定部と、を有する。
【発明の効果】
【００１８】
上記発明によれば、例えば、設定データに対する変更の管理を容易にすることができる。
【図面の簡単な説明】
【００１９】
【図１】実施形態に係る産業機器管理システムの全体構成を示す図である。
【図２】メイン画面の一例を示す図である。
【図３】変更一覧画面の一例を示す図である。
【図４】変更情報表示画面の一例を示す図である。
【図５】メール設定画面の一例を示す図である。
【図６】産業機器管理システムで実現される機能を示す機能ブロック図である。
【図７】コントローラデータベースのデータ格納例を示す図である。
【図８】バックアップ処理を示すフロー図である。
【図９】画面表示処理を示すフロー図である。
【図１０】画面表示処理を示すフロー図である。
【図１１】第２の実施形態における変更情報表示画面の一例を示す図である。
【図１２】産業機器管理システムで実現される機能を示す機能ブロック図である。
【図１３】第２の実施形態におけるコントローラデータベースのデータ格納例を示す図である。
【図１４】第２の実施形態におけるバックアップ処理を示すフロー図である。
【図１５】第２の実施形態におけるＳ２０９の処理の詳細を示す図である。
【図１６】第１の実施形態に係る変形例の機能ブロック図である。
【図１７】第２の実施形態に係る変形例の機能ブロック図である。
【図１８】変形例（２−１）における変更情報表示画面の一例を示す図である。
【発明を実施するための形態】
【００２０】
［１．第１の実施形態］
本発明の発明者の見地によれば、産業機器のプログラムやパラメータなどの設定データは、工場の作業員などによってこまめに変更され、産業機器を管理する立場にあるユーザの知らない所で設定データが変更されることが多く、ユーザが設定データに対する変更を管理するのは非常に手間がかかる。そこで、本発明の発明者は、設定データに対する変更の管理を容易にするために鋭意研究開発を行った結果、新規かつ独創的な産業機器管理システム等に想到した。以降、第１の実施形態に係る産業機器管理システム等を詳細に説明する。
【００２１】
［１−１．産業機器管理システムの全体構成］
図１は、実施形態に係る産業機器管理システムの全体構成を示す図である。図１に示すように、産業機器管理システム１は、管理サーバ１０、ロボットシステム２０、及びユーザ端末３０を含む。管理サーバ１０、ロボットシステム２０、及びユーザ端末３０の各々は、ＬＡＮ又はインターネット等のネットワークに接続される。なお、図１では、管理サーバ１０、ロボットシステム２０、及びユーザ端末３０を１つずつ示しているが、これらは複数あってもよい。
【００２２】
管理サーバ１０は、サーバコンピュータである。なお、パーソナルコンピュータ、携帯電話（スマートフォンを含む）、又は携帯端末（タブレット型端末を含む）がサーバとしての機能を有し、これらのコンピュータにより管理サーバ１０が実現されてもよい。管理サーバ１０は、ＣＰＵ１１、記憶部１２、及び通信部１３を含む。
【００２３】
ＣＰＵ１１は、少なくとも１つのプロセッサを含む。記憶部１２は、ＲＡＭ等の揮発性メモリと、ハードディスク等の不揮発性メモリと、を含み、各種プログラムやデータを記憶する。ＣＰＵ１１は、これらプログラムやデータに基づいて各種処理を実行する。通信部１３は、ネットワークカードや各種通信コネクタ等の通信インタフェースを含み、他の装置との通信を行う。
【００２４】
ロボットシステム２０は、コントローラ２１と、ロボット２２と、を含む。なお、図１では、コントローラ２１とロボット２２を１台ずつ示しているが、これらは複数台あってもよい。例えば、ロボットシステム２０には、複数のコントローラ２１が含まれていてもよいし、１台のコントローラ２１が、複数台のロボット２２を制御してもよい。
【００２５】
コントローラ２１は、ロボット２２を制御するコンピュータである。コントローラ２１は、特定のロボット２２に特化した専用機器であってもよいが、本実施形態では、汎用コンピュータであるものとする。コントローラ２１は、ＣＰＵ、ＲＡＭ、ハードディスク、及び通信インタフェースといったハードウェアを有し、ロボット２２に動作指示を送る。
【００２６】
ロボット２２は、産業用ロボットである。ロボット２２は、汎用の多関節ロボットであってよく、例えば、垂直多関節型、水平多関節型、又はガントリ型といった種々の形式のロボットを適用可能である。ロボット２２のアーム数は、任意であってよく、１本のみのアームであってもよいし、複数本のアームであってもよい。ロボット２２は、任意の用途で使用されてよく、例えば、ガス溶接又はアーク溶接などの溶接、部品の組立、又は、食品などの加工といった種々の目的で使用可能である。
【００２７】
なお、コントローラ２１及びロボット２２は、産業機器の一例である。このため、本実施形態でコントローラ２１又はロボット２２と記載した箇所は、産業機器と読み替えることができる。産業機器管理システム１には、任意のタイプの産業機器を適用可能であり、例えば、産業機器は、モータコントローラ、サーボモータ、インバータ、工作機械、又はＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）であってもよく、産業機器管理システム１では、これらが動作してもよい。
【００２８】
また、ロボットシステム２０には、コントローラ２１とロボット２２以外の機器が含まれていてもよく、例えば、ロボット２２の動作状況を検出するセンサが含まれていてもよい。センサは、任意のセンサを適用可能であり、例えば、トルクセンサ、モータエンコーダ、近接センサ、把持センサ、感圧センサ、モーションセンサ、スパッタリングセンサ、又は温度センサが含まれていてもよい。他にも例えば、ロボットシステム２０には、ロボット２２の動作を撮影するカメラが含まれていてもよいし、データの入出力が可能なＩ／Ｏ機器が含まれていてもよい。
【００２９】
ユーザ端末３０は、ユーザが操作するコンピュータである。本実施形態では、ユーザは、ロボットシステム２０の全体を管理する立場にあり、個々のコントローラ２１及びロボット２２の管理を担当する作業員とは異なるものとするが、個々の作業員がユーザに相当してもよい。例えば、ユーザ端末３０は、パーソナルコンピュータ、携帯電話（スマートフォンを含む）、又は携帯端末（タブレット型端末を含む）である。
【００３０】
例えば、ユーザ端末３０は、ＣＰＵ３１、記憶部３２、通信部３３、操作部３４、及び表示部３５を含む。ＣＰＵ３１、記憶部３２、通信部３３のハードウェア構成は、それぞれＣＰＵ１１、記憶部１２、通信部１３と同様である。操作部３４は、マウスやキーボード等の入力デバイスである。表示部３５は、液晶ディスプレイ又は有機ＥＬディスプレイ等であり、ＣＰＵ３１の指示により各種画面を表示する。
【００３１】
なお、管理サーバ１０、コントローラ２１、及びユーザ端末３０の各々に記憶されるものとして説明するプログラム及びデータは、ネットワークを介して供給されてもよい。また、管理サーバ１０、コントローラ２１、及びユーザ端末３０の各々のハードウェア構成は、上記の例に限られず、種々のハードウェアを適用可能である。例えば、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部（例えば、光ディスクドライブやメモリカードスロット）や外部機器と直接的に接続するための入出力部（例えば、ＵＳＢ端子）が含まれていてもよい。この場合、情報記憶媒体に記憶されたプログラムやデータが読取部又は入出力部を介して供給されてもよい。
【００３２】
［１−２．産業機器管理システムの概要］
産業機器管理システム１では、コントローラ２１は、自身に記憶された設定データに基づいて、ロボット２２の動作を制御する。設定データとは、ロボット２２の動作に係る設定が格納されたデータであり、例えば、プログラム又はパラメータである。このため、本実施形態でコントローラ２１に記憶されるプログラム又はパラメータについて説明する箇所は、設定データと読み替えることができる。
【００３３】
プログラムは、ジョブ又はタスクと呼ばれることもあり、ロボット２２に対する命令（指令）を示すプログラムコードを含む。プログラムコードには、ロボット２２に対する命令だけでなく、命令を実行する際の変数が含まれもよいし、命令の補足説明であるコメント又はヘッダといった他の情報が含まれてもよい。プログラミング言語自体は、公知の言語を利用可能であり、例えば、Ｃ言語、Ｃ＋＋、Ｊａｖａ（登録商標）、又はＰｙｔｈｏｎといった任意の言語を利用可能である。
【００３４】
例えば、プログラムコードには、ロボット２２の動作が定義されている。例えば、ロボット２２が周期的に動作する場合、プログラムコードには、各周期におけるロボット２２の動作が時系列的に記述される。例えば、プログラムコードには、ロボット２２の軌跡が定義される。軌跡を生成する方法自体は、公知の手法を適用可能であり、直線補間を利用してもよいし、リンク補間を利用してもよく、プログラムコードには、ロボット２２の時系列的な位置が定義される。また例えば、プログラムコードには、ロボット２２の待機命令が定義されている。待機命令には、ロボット２２が移動せずにその場で待機する時間が示されている。また例えば、プログラムコードには、ロボット２２がハンドを開閉するタイミングや強さが定義されていてもよいし、ロボット２２の電動ガンの出力が定義されていてもよい。
【００３５】
パラメータは、ロボット２２に対する出力を示す値であり、例えば、モータの回転数（速度）、モータの回転方向、トルク値、電流値、又は通電時間などである。パラメータは、プログラムによって参照されることもあるし、プログラムの中に記述されていることもある。プログラム中に記述されたロボット２２の位置や待機時間などもパラメータの一種ということができる。例えば、個々のパラメータが設定データに相当してもよいし、複数のパラメータが格納されたパラメータファイルが設定データに相当してもよい。パラメータファイルには、パラメータの値が時系列的に記述されていてもよい。
【００３６】
例えば、ロボットシステム２０は、工場などの施設に配置され、設定データは、個々のコントローラ２１及びロボット２２を管理する作業員によって変更される。ここでの変更とは、更新、編集、又は調整と同じ意味である。例えば、作業員は、ロボット２２の実際の動作を確認したり、ロボット２２による加工の対象物（ワーク）の状態を確認したりして、設定データを変更する必要があるか否かを判定する。また例えば、作業員は、コントローラ２１におけるアラームの発生有無を確認したり、ロボット２２の停止状況を確認したりして、設定データを変更する必要があるか否かを判定する。
【００３７】
作業員は、設定データを変更する必要があると判定すると、例えば、エンジニアリングツールがインストールされた端末をコントローラ２１に接続し、設定データを変更する。例えば、作業員は、プログラムコードを追記、変更、又は削除したり、プログラム中の変数の値を変更したりすることによって、プログラムを変更する。また例えば、作業員は、新たにプログラムを作成したり、不要なプログラムを削除したりする。また例えば、作業員は、パラメータの値を変更したり、不要になったパラメータを削除したりすることによって、パラメータを変更する。また例えば、作業員は、新たにパラメータを追加したり、不要なパラメータを削除したりする。
【００３８】
ユーザは、ロボットシステム２０全体を管理する立場にあるが、個々のコントローラ２１及びロボット２２を管理する作業員により、ユーザの知らない所で設定データが変更されることがある。このため、本実施形態では、作業員により設定データが変更された場合に、設定データの変更に関する種々の情報がユーザ端末３０に表示されるようになっている。例えば、ユーザがユーザ端末３０を操作して管理サーバ１０にアクセスすると、ユーザがロボットシステム２０を管理するためのメイン画面が表示部３５に表示される。
【００３９】
図２は、メイン画面の一例を示す図である。図２に示すように、メイン画面Ｇ１には、ラインの名前と、当該ラインで作業をするロボット２２を制御するコントローラ２１の名前と、が表示される。図２の例では、「ライン１」というラインにおいて、「コントローラＸ」と「コントローラＹ」といった２台のコントローラ２１の各々が、制御対象のロボット２２を制御する。なお、複数のラインが存在してもよく、各ラインには少なくとも１つのコントローラ２１及びロボット２２が属していればよい。
【００４０】
本実施形態では、管理サーバ１０は、コントローラ２１から、定期的に設定データのバックアップを取っており、バックアップ時に、設定データが変更されたか否かを判定する。あるコントローラ２１の設定データが変更された場合、メイン画面Ｇ１には、当該コントローラ２１に関連付けて、設定データが変更された日付（即ち、バックアップ時に設定データの変更を検知した日付）が表示される。
【００４１】
図２の例では、「コントローラＸ」は、「２０１９年１月１５日」のバックアップ時に、設定データの変更が検知されている。一方、「コントローラＹ」は、日付が表示されておらず、設定データが変更されていない。例えば、ユーザが「コントローラＸ」の日付Ｔ１０を選択すると、変更された設定データの一覧を示す変更一覧画面が表示部３５に表示される。
【００４２】
図３は、変更一覧画面の一例を示す図である。図３に示すように、変更一覧画面Ｇ２には、設定データのバックアップが取られた日付とともに、当該日付において変更された設定データの一覧が表示される。図３の例では、「２０１９年１月１５日」に「コントローラＸ」の「プログラムＡ」、「プログラムＢ」、及び「パラメータＣ」が変更されたことを示しており、これらの名前Ｎ２０が表示される。他の日付については、バックアップが取られているが、設定データの変更については検知されていないので、設定データの名前は表示されない。
【００４３】
例えば、ユーザが、変更一覧画面Ｇ２に表示された設定データの名前Ｎ２０を選択すると、当該設定データの変更に関する詳細を示す変更情報表示画面が表示部３５に表示される。ここでは、変更一覧画面Ｇ２に表示された「２０１９年１月１５日」の「プログラムＡ」が選択された場合の画面例について説明する。
【００４４】
図４は、変更情報表示画面の一例を示す図である。図４に示すように、変更情報表示画面Ｇ３には、「２０１９年１月１５日」における「プログラムＡ」の変更に関する情報が表示され、例えば、変更前の「プログラムＡ」のプログラムコードと、変更後の「プログラムＡ」のプログラムコードと、が比較されて表示される。
【００４５】
図４の例では、変更前のプログラムコードとして、直近の「２０１９年１月１１日」にバックアップが取られた「プログラムＡ」のプログラムコードが表示されているが、それより前のプログラムコードが表示されてもよい。変更後のプログラムコードは、変更一覧画面Ｇ２からユーザが選択した日付における「プログラムＡ」のプログラムコードであり、ここでは、「２０１９年１月１５日」における「プログラムＡ」のプログラムコードである。
【００４６】
本実施形態では、変更情報表示画面Ｇ３において、設定データの変更内容が強調されて表示されるようになっている。図４の例では、アンダーラインによって変更内容が強調されており、「ＭＯＶＪ  Ｃ００００１  ＶＪ＝８０．００」といったロボット２２の移動命令と、「ＭＯＶＪ  Ｃ００００２  ＶＪ＝８０．００」といったロボット２２の移動命令と、が変更されている。
【００４７】
なお、変更内容を強調して表示させる方法は、アンダーラインに限られず、任意の方法を利用可能である。例えば、設定データの変更内容は、赤や青などの所定の色で表示されてもよいし、他の部分よりも大きなサイズで表示されてもよい。他にも例えば、設定データの変更内容は、イタリック又は太字で表示されてもよいし、他の部分とは異なるフォントで表示されてもよい。
【００４８】
また、変更一覧画面Ｇ２においてプログラムが選択された場合を説明したが、パラメータが選択された場合には、変更情報表示画面Ｇ３には、当該選択されたパラメータの名前及び変更内容が表示される。例えば、変更内容として、パラメータの変更量が表示される。また例えば、時系列的に値が示されるパラメータであれば、変更内容として、パラメータが変更された時点が表示される。他にも例えば、複数のパラメータが格納されたパラメータファイルであれば、変更内容として、これら複数のパラメータの中で変更されたパラメータが表示される。
【００４９】
本実施形態では、設定データが変更されると、変更情報表示画面Ｇ３などにおける表示だけでなく、ユーザに対し、所定の通知が送信されるようになっている。ここでは、電子メールを利用する場合を説明するが、通知は、任意の媒体を利用して送信されるようにすればよく、例えば、メッセージアプリ、ショートメールメッセージ、ＳＮＳ、又はプッシュ通知を利用してもよい。
【００５０】
ロボットシステム２０を管理するユーザが複数人いる場合、全てのユーザに電子メールが送信されてもよいが、本実施形態では、コントローラ２１ごとに、電子メールの送信先（宛先）を設定できるようになっている。なお、電子メールの送信先は、コントローラ２１ごとではなく、ラインごと又はロボット２２ごとといったような他の単位で設定されてもよい。また、電子メールは、ユーザだけでなく、作業員などの他の者に対して送信されるようにしてもよい。例えば、メイン画面Ｇ１において、ユーザが、送信先を設定するコントローラ２１を指定してボタンＢ１１を選択すると、送信先を設定するためのメール設定画面が表示部３５に表示される。
【００５１】
図５は、メール設定画面の一例を示す図である。図５に示すように、メール設定画面Ｇ４では、予め定められた複数の送信先の中から、電子メールを送信すべき送信先を指定可能となっている。図５の例では、「コントローラＸ」の設定データが変更された場合に電子メールを送信すべきユーザが、「ａｄｍｉｎ」、「ｕｓｅｒ１」、「ｕｓｅｒ２」、及び「ｕｓｅｒ３」の４人の中から指定される。例えば、ユーザは、チェックボックスＢ４０にチェックを入れることによって送信先を指定する。
【００５２】
以上のように、第１の実施形態の産業機器管理システム１は、コントローラ２１の設定データが変更された場合に、変更情報表示画面Ｇ３などにおいて、設定データの変更の詳細が表示されたり、ユーザが指定した送信先に電子メールが送信されたりする。これにより、ユーザの知らない所で作業員が設定データを変更したとしても、ユーザが設定データの変更に気付くことができ、設定データに対する変更の管理が容易になる。以降、第１の実施形態の産業機器管理システム１の詳細を説明する。
【００５３】
［１−３．産業機器管理システムで実現される機能］
図６は、産業機器管理システム１で実現される機能を示す機能ブロック図である。ここでは、コントローラ２１において実現される機能と、管理サーバ１０において実現される機能と、について説明する。
【００５４】
［コントローラにおいて実現される機能］
図６に示すように、コントローラ２１では、データ記憶部２００が実現される。データ記憶部２００は、コントローラ２１の記憶部を主として実現される。データ記憶部２００は、少なくとも１つの設定データを記憶する。データ記憶部２００が記憶する設定データの数は、コントローラ２１及びロボット２２の目的や用途に応じて決定されるようにすればよく、任意の数であってよい。例えば、コントローラ２１が複数のロボット２２を制御する場合には、データ記憶部２００は、ロボット２２ごとに設定データを記憶する。
【００５５】
データ記憶部２００が記憶する設定データは、作業員が自身の端末を操作することによって変更されてもよいし、ユーザがユーザ端末３０を操作することによって変更されてもよい。本実施形態では、定期的に設定データのバックアップが取られるので、コントローラ２１は、管理サーバ１０から設定データの送信要求を受信した場合に、データ記憶部２００に記憶された設定データを送信する。なお、コントローラ２１が自発的に設定データを送信することがあってもよい。
【００５６】
［管理サーバにおいて実現される機能］
図６に示すように、管理サーバ１０では、データ記憶部１００、収集部１０１、判定部１０２、変更情報出力部１０３、送信部１０４、及び決定部１０５が実現される。データ記憶部は、記憶部１２を主として実現され、他の各機能は、ＣＰＵ１１を主として実現される。
【００５７】
［データ記憶部］
データ記憶部１００は、ロボットシステム２０を管理するためのデータを記憶する。例えば、データ記憶部１００は、コントローラ２１に関するデータが格納されたコントローラデータベースＤＢを記憶する。
【００５８】
図７は、コントローラデータベースＤＢのデータ格納例を示す図である。図７に示すように、コントローラデータベースＤＢには、コントローラ２１の名前、コントローラ２１が属するライン、バックアップ情報、及びメール設定情報が格納される。なお、コントローラデータベースＤＢに格納される情報は、これらに限られない。例えば、コントローラデータベースＤＢには、コントローラ２１において発生したアラームに関する情報が格納されてもよいし、ロボット２２の動作状況が時系列的に示されたトレースデータが格納されてもよい。
【００５９】
バックアップ情報は、設定データのバックアップに関する情報であり、例えば、設定データのバックアップ時間、バックアップされた設定データの実データ、設定データの変更の有無を示す変更有無情報、なお、バックアップ時間は、日付だけでなく、時刻が示されていてもよい。
【００６０】
本実施形態では、後述する収集部１０１により収集された設定データがコントローラデータベースＤＢに格納されるので、データ記憶部１００は、収集部１０１により収集された設定データを、バックアップとして記憶することになる。設定データは、繰り返しバックアップが取られるので、コントローラデータベースＤＢには、過去にバックアップが取られた設定データの履歴が格納される。
【００６１】
なお、古い設定データは自動的に消去されてもよく、例えば、直近の一定期間の設定データだけが格納されてもよいし、直近ｎ回（ｎは自然数）の設定データだけが格納されてもよい。また、コントローラ２１の全ての設定データがバックアップの対象となる場合を説明するが、一部の設定データだけがバックアップの対象となってもよい。この場合、バックアップの対象となっている設定データだけが、変更の有無の判定対象となってもよい。
【００６２】
変更有無情報は、設定データが変更された場合に第１の値（図７では、「変更あり」を示す値）となり、設定データが変更されなかった場合に第２の値（図７では、「変更なし」を示す値）となる。このため、変更有無情報が第１の値であれば、その回のバックアップ時に設定データの変更が検知されたことを意味し、変更有無情報が第２の値であれば、その回のバックアップ時には設定データの変更が検知されなかったことを意味する。第１の値が格納された変更有無情報には、変更された設定データの名前が格納される。
【００６３】
メール設定情報は、設定データが変更された場合に送信される電子メールの送信先を示す。図７の例では、メール設定情報として、ユーザの名前が示されているが、電子メールのアドレスが示されてもよい。なお、メール設定情報としてユーザの名前が示される場合には、電子メールのアドレスは、コントローラデータベースＤＢとは別のデータベースに格納されているものとする。本実施形態では、メール設定画面Ｇ４において電子メールの送信先が設定されるので、メール設定情報には、メール設定画面Ｇ４のチェックボックスＢ４０にチェックが入れられたユーザの名前が格納される。
【００６４】
なお、データ記憶部１００が記憶するデータは、上記の例に限られない。例えば、データ記憶部１００は、ユーザ及び作業員の基本情報が格納されたデータベースを記憶してもよいし、設定データが変更された場合に送信される電子メールのフォーマットを記憶してもよい。また例えば、データ記憶部１００は、メイン画面Ｇ１、変更一覧画面Ｇ２、変更情報表示画面Ｇ３、及びメール設定画面Ｇ４を表示させるためのデータ（例えば、ＨＴＭＬデータ又は画像データ）を記憶してもよい。
【００６５】
［収集部］
収集部１０１は、コントローラ２１において変更可能な設定データを収集する。収集とは、コントローラ２１からデータを取得又は受信することである。収集部１０１は、複数の時点の各々における設定データを収集する。別の言い方をすれば、収集部１０１は、設定データを繰り返し収集する。収集部１０１は、定期的に設定データを収集してもよいし、不定期的に設定データを収集してもよい。不定期的に設定データを収集する場合には、収集部１０１は、アラームが発生した場合やユーザにより指示された場合などにおいて、設定データを収集すればよい。
【００６６】
また、本実施形態では、コントローラ２１は、自発的に設定データをアップロードするのではなく、管理サーバ１０の要求に応じて設定データをアップロードする場合を説明する。このため、収集部１０１は、コントローラ２１に対し、設定データを要求し、コントローラ２１が当該要求に応じて送信した設定データを収集する。ロボットシステム２０に複数のコントローラ２１が含まれている場合には、収集部１０１は、当該複数のコントローラ２１の各々から設定データを収集する。
【００６７】
収集部１０１は、所定の条件が満たされた場合に、設定データを収集する。所定の条件は、設定データを収集するために定められた条件であればよく、任意の条件を適用可能である。本実施形態では、所定の条件の一例として、バックアップ時間が訪れることを説明するが、例えば、コントローラ２１でアラームが発生することであってもよいし、ロボット２２のトルク信号などのトレースデータが所定の状態になることであってもよい。他にも例えば、ユーザ又は作業員がバックアップを指示することが所定の条件に相当してもよい。
【００６８】
バックアップ時間は、データ記憶部１００に予め記憶させておけばよく、任意の時間を設定可能である。例えば、バックアップ時間は、毎日同じ時刻としてもよいし、曜日によって異なる時刻としてもよい。また例えば、毎日バックアップを取る必要はなく、数日おきにバックアップ時間が訪れるようにスケジューリングしてもよいし、工場が稼働する平日にだけバックアップ時間が訪れるようにスケジューリングしてもよい。
【００６９】
例えば、収集部１０１は、リアルタイムクロック又はＧＰＳ信号等を利用して現在日時を取得し、予め定められたバックアップ時間が訪れたか否かを判定する。収集部１０１は、バックアップ時間が訪れたと判定された場合に、コントローラ２１に対し、設定データを要求する。なお、全てのコントローラ２１で共通のバックアップ時間が設定されてもよいし、コントローラ２１ごとに個別のバックアップ時間が設定されてもよい。収集部１０１は、コントローラ２１から設定データを収集すると、バックアップとしてコントローラデータベースＤＢに格納する。
【００７０】
［判定部］
判定部１０２は、複数の時点の各々における設定データに基づいて、設定データが変更されたか否かを判定する。例えば、判定部１０２は、第１の時点に収集された設定データと、第１の時点とは異なる第２の時点に収集された設定データと、を比較することによって、設定データが変更されたか否かを判定する。別の言い方をすれば、判定部１０２は、収集部１０１により設定データが収集された場合に、当該設定データと、それよりも前に収集された設定データと、を比較することによって、設定データが変更されたか否かを判定する。判定部１０２は、設定データが変更されたと判定した場合に、変更有無情報に第１の値と変更された設定データの名前とを格納し、設定データが変更されたと判定しない場合に、変更有無情報に第２の値を格納する。
【００７１】
本実施形態では、設定データが少しでも異なっていれば（設定データの一部でも変更されていれば）、設定データが変更されたと判定される場合を説明する。例えば、判定部１０２は、プログラムコードが完全一致する場合には、プログラムが変更されていないと判定し、プログラムコードが完全一致しない場合には、プログラムが変更されたと判定する。また例えば、判定部１０２は、新たなプログラムが追加されたり、既存のプログラムが削除されたりした場合には、プログラムが変更されたと判定する。また例えば、判定部１０２は、パラメータの値が完全一致する場合には、パラメータが変更されていないと判定し、パラメータの値が完全一致しない場合には、パラメータが変更されたと判定する。また例えば、判定部１０２は、新たなパラメータが追加されたり、既存のパラメータが削除されたりした場合には、パラメータが変更されたと判定する。なお、後述する変形例のように、所定の変更が加えられていなければ、設定データが変更されたと判定されないようにしてもよい。
【００７２】
本実施形態では、バックアップ時に設定データの変更有無が判定されるので、判定部１０２は、バックアップ判定部１０２Ａを含む。バックアップ判定部１０２Ａは、バックアップのために収集された設定データに基づいて、設定データが変更されたか否かを判定する。即ち、バックアップ判定部１０２Ａは、収集部１０１によりバックアップ対象の設定データが収集された場合に、バックアップの対象となった設定データと、それよりも前にバックアップの対象となった設定データと、に基づいて、設定データが変更されたか否かを判定することになる。なお、バックアップ判定部１０２Ａは、コントローラデータベースＤＢに設定データが格納された後（バックアップが完了した後）に判定処理を実行してもよいし、コントローラデータベースＤＢに設定データが格納される前（バックアップが完了する前）に判定処理を実行してもよい。
【００７３】
［変更情報出力部］
変更情報出力部１０３は、設定データが変更されたと判定された場合に、設定データの変更に関する変更情報を出力する。変更情報とは、設定データの変更に関係する情報であればよく、例えば、設定データの変更内容に関する変更内容情報、又は、変更された設定データの種類に関する変更種類情報である。他にも例えば、変更情報は、設定データが変更された時間、設定データが変更された事実そのもの、設定データの変更者、設定データが変更されたコントローラ２１、又は変更された設定データに基づいて動作するロボット２２といった他の情報を示してもよい。
【００７４】
変更内容情報は、設定データの変更内容を示す情報である。変更内容は、設定データの変更箇所又は変更部分ということもできる。例えば、プログラムが変更された場合、変更内容情報は、追加、変更、又は削除されたプログラムコードを示す。また例えば、パラメータが変更された場合、変更内容情報は、パラメータの変更量を示す。なお、複数のパラメータが格納されたパラメータファイルが設定データに相当する場合には、変更内容情報は、パラメータファイルの中で、変更されたパラメータを示してもよい。例えば、複数種類のパラメータがパラメータファイルに格納されている場合には、変更内容情報は、パラメータファイルの中で、変更されたパラメータの種類を示し、あるパラメータの値が時系列にパラメータファイルに格納されている場合には、変更内容情報は、パラメータファイルの中で、変更されたパラメータの時点を示してもよい。
【００７５】
変更種類情報は、変更された設定データの種類を示す情報である。例えば、プログラムが変更された場合、変更種類情報は、変更されたプログラムの名前（プログラムのファイル名）を示す。また例えば、パラメータが変更された場合、変更種類情報は、変更されたパラメータの名前（パラメータのファイル名）を示す。なお、名前以外にもＩＤなどの識別情報によって設定データの種類が示されてもよい。
【００７６】
なお、本実施形態では、変更情報が画面上で視覚的に出力される場合を説明するが、変更情報は、音声によって出力されてもよいし、データ出力（ファイル出力）されてもよい。変更情報がデータ出力されるとは、変更情報がデータとして外部機器又はメモリに出力されて記録されることである。この場合、任意のデータ形式で出力されるようにすればよく、例えば、画像形式、テキスト形式、文書形式、表形式、ｃｓｖ形式、又はメッセージ形式などで出力されるようにすればよい。例えば、変更情報を含むメッセージを送信することが出力に相当してもよい。
【００７７】
本実施形態では、変更内容情報が変更情報として出力されるので、変更情報出力部１０３は、内容出力部１０３Ａを含む。内容出力部１０３Ａは、設定データが変更されたと判定された場合に、設定データの変更内容に関する変更内容情報を、変更情報として出力する。例えば、内容出力部１０３Ａは、変更前の設定データと、変更後の設定データと、を比較して変更内容を特定し、当該特定した変更内容を示す変更内容情報を出力する。内容出力部１０３Ａは、これら設定データの差分（違い）を特定し、変更内容情報を取得する。本実施形態では、差分の全てが変更内容情報として取得される場合を説明するが、後述する変形例のように、差分の一部だけが変更内容情報として取得されてもよい。
【００７８】
例えば、内容出力部１０３Ａは、変更前のプログラムが示すプログラムコードの文字列と、変更後のプログラムが示すプログラムコードの文字列と、を比較して、文字列が一致しない部分を変更内容として特定し、当該一致しない部分を示す変更内容情報を出力する。また例えば、内容出力部１０３Ａは、変更前のパラメータの値と、変更後のパラメータの値と、を比較して、その差分を変更内容として特定し、当該差分を示す変更内容情報を出力する。本実施形態では、内容出力部１０３Ａは、変更情報表示画面Ｇ３において、プログラムコードの変更内容を表示させたり、パラメータの変更内容を表示させたりする。
【００７９】
また、本実施形態では、変更種類情報が変更情報として出力されるので、変更情報出力部１０３は、種類出力部１０３Ｂを含む。コントローラ２１においては、複数種類の設定データが変更可能であり、種類出力部１０３Ｂは、設定データが変更されたと判定された場合に、変更された設定データの種類に関する変更種類情報を、変更情報として出力する。例えば、判定部１０２は、設定データの種類ごとに、設定データが変更されたか否かを判定するので、種類出力部１０３Ｂは、判定部１０２により変更されたと判定された種類を示す変更種類情報を出力する。例えば、種類出力部１０３Ｂは、判定部１０２により変更されたと判定されたプログラムの名前を示す変更種類情報を出力する。本実施形態では、種類出力部１０３Ｂは、変更一覧画面Ｇ２及び変更情報表示画面Ｇ３において、変更されたプログラムの名前を表示させる。
【００８０】
［送信部］
送信部１０４は、設定データが変更されたと判定された場合に、予め定められた送信先に、変更通知を送信する。送信先は、宛先と同じ意味である。変更通知は、ネットワークを介して電子的に送信される情報であればよく、先述したように、電子メール、メッセージアプリ、ショートメールメッセージ、ＳＮＳ、又はプッシュ通知といった種々の媒体を利用可能である。
【００８１】
電子メールを利用する場合には、送信先は、電子メールのアドレス又は当該アドレスに関連付けられたユーザ名である。ショートメールメッセージを利用する場合には、送信先は、電話番号又は当該電話番号に関連付けられたユーザ名である。メッセージアプリ又はＳＮＳを利用する場合には、送信先は、ユーザのアカウント又は当該アカウントに関連付けられたユーザ名である。プッシュ通知を利用する場合には、送信先は、ユーザ端末３０のＩＰアドレス又は個体識別情報などである。
【００８２】
送信先は、全てのコントローラ２１に共通であってもよいが、本実施形態では、コントローラ２１ごとに送信先が設定されるので、送信部１０４は、後述する決定部１０５により決定された送信先に、変更通知である電子メールを送信する。電子メールのフォーマットは、データ記憶部１００に予め記憶されているものとする。例えば、電子メールには、設定データが変更されたことだけ示されていてもよいし、メイン画面Ｇ１、変更一覧画面Ｇ２、又は変更情報表示画面Ｇ３へのリンクが含まれていてもよい。また例えば、電子メールには、変更情報表示画面Ｇ３と同様の内容であってもよく、変更内容情報及び変更種類情報の少なくとも一方が含まれていてもよい。なお、複数の設定データが変更された場合、送信部１０４は、変更の数だけ電子メールを送信してもよいし、複数の変更について１つの電子メールにまとめて送信してもよい。
【００８３】
［決定部］
決定部１０５は、コントローラ２１に基づいて、変更通知の送信先を決定する。本実施形態では、コントローラ２１と送信先との関連付けは、コントローラデータベースＤＢに格納されている場合を説明するが、これらの関連付けは、他のデータベースに格納されていてもよい。決定部１０５は、コントローラデータベースＤＢを参照し、設定データが変更されたコントローラ２１のメール設定情報に基づいて、送信先を決定する。送信部１０４は、当該決定された送信先に、変更通知を送信する。なお、変更通知は、任意のタイミングで送信可能であり、例えば、設定データの変更が検出されてすぐに送信されてもよいし、設定データの変更が検出された後に所定の時間が訪れた場合に送信されてもよい。
【００８４】
［１−４．産業機器管理システムで実行される処理］
次に、産業機器管理システム１で実行される処理を説明する。ここでは、管理サーバ１０が設定データのバックアップを取るためのバックアップ処理と、ユーザ端末３０において各種画面を表示させるための画面表示処理と、について説明する。以降説明する処理は、図６に示す機能ブロックにより実行される処理の一例である。
【００８５】
［バックアップ処理］
図８は、バックアップ処理を示すフロー図である。図８に示す処理は、管理サーバ１０のＣＰＵ１１が記憶部１２に記憶されたプログラムに従って動作し、コントローラ２１が自身に記憶されたプログラムに従って動作することによって実行される。
【００８６】
図８に示すように、まず、管理サーバ１０においては、ＣＰＵ１１は、リアルタイムクロック又はＧＰＳ信号等を利用して現在日時を取得し、バックアップ時間が訪れたか否かを判定する（Ｓ１００）。バックアップ時間は、記憶部１２に予め記憶されているものとする。バックアップを取得する時間が訪れたと判定されない場合（Ｓ１００；Ｎ）、Ｓ１００の処理が再び実行される。
【００８７】
バックアップ時間が訪れたと判定された場合（Ｓ１００；Ｙ）、ＣＰＵ１１は、コントローラ２１に対し、設定データを要求する（Ｓ１０１）。設定データの要求は、所定形式のデータが送信されることによって実行されるようにすればよい。複数台のコントローラ２１が存在する場合には、Ｓ１０１においては、ＣＰＵ１１は、各コントローラ２１に対し、設定データを要求する。なお、バックアップの対象となるのは、全てのコントローラ２１ではなく、一部のコントローラ２１だけであってもよい。
【００８８】
コントローラ２１は、設定データの要求を受信すると、自身の記憶部に記憶された設定データを送信する（Ｓ１０２）。Ｓ１０２においては、コントローラ２１は、自身を識別する情報（例えば、コントローラ２１の名前）とともに、バックアップ対象となる全ての設定データを送信する。なお、バックアップ対象となるのは、コントローラ２１に記憶された全ての設定データではなく、一部の設定データだけであってもよい。
【００８９】
管理サーバ１０においては、コントローラ２１から設定データを受信すると、ＣＰＵ１１は、コントローラデータベースＤＢに設定データを格納し、設定データのバックアップを取る（Ｓ１０３）。Ｓ１０３においては、ＣＰＵ１１は、設定データを送信したコントローラ２１の名前に関連付けて、受信した設定データを格納することによってバックアップを取り、バックアップ日時として現在日時を格納する。
【００９０】
ＣＰＵ１１は、Ｓ１０３で受信した設定データ（今回バックアップを取った設定データ）と、過去の設定データ（前回以前にバックアップを取った設定データ）と、に基づいて、設定データが変更されたか否かを判定する（Ｓ１０４）。Ｓ１０４においては、ＣＰＵ１１は、プログラムコードが一致しているか否かを判定したり、パラメータの値が一致しているか否かを判定したりする。ここでは、１つでも設定データが変更されていれば、Ｓ１０４の判定が肯定になる場合を説明するが、特定の設定データが変更された場合にＳ１０４の判定が肯定になってもよいし、基準範囲外の数の設定データが変更された場合にＳ１０４の判定が肯定になってもよい。
【００９１】
設定データが変更されたと判定された場合（Ｓ１０４；Ｙ）、ＣＰＵ１１は、コントローラデータベースＤＢに第１の値の変更有無情報を格納し（Ｓ１０５）、コントローラデータベースＤＢのメール設定情報に基づいて、電子メールを送信して（Ｓ１０６）、本処理は終了する。Ｓ１０５においては、ＣＰＵ１１は、設定データを送信したコントローラ２１の変更有無情報を第１の値に設定し、変更された設定データの名前を格納する。Ｓ１０６においては、ＣＰＵ１１は、当該コントローラ２１のメール設定情報が示す送信先に、電子メールを送信する。
【００９２】
一方、設定データが変更されたと判定されない場合（Ｓ１０４；Ｎ）、ＣＰＵ１１は、コントローラデータベースＤＢに第２の値の変更有無情報を格納し（Ｓ１０７）、本処理は終了する。Ｓ１０７においては、ＣＰＵ１１は、設定データを送信したコントローラ２１の変更有無情報を第２の値に設定する。この場合、設定データが変更されていないので、電子メールは送信されない。
【００９３】
［画面表示処理］
図９及び図１０は、画面表示処理を示すフロー図である。図９及び図１０に示す処理は、管理サーバ１０のＣＰＵ１１が記憶部１２に記憶されたプログラムに従って動作し、ユーザ端末３０のＣＰＵ３１が記憶部３２に記憶されたプログラムに従って動作することによって実行される。
【００９４】
図９に示すように、まず、ユーザ端末３０においては、ＣＰＵ３１は、管理サーバ１０に対し、メイン画面Ｇ１の表示要求を送信する（Ｓ２００）。表示要求は、所定形式のデータが送信されることによって実行されるようにすればよく、例えば、ウェブブラウザ上で画面を表示させる場合にはＵＲＬが含まれており、アプリケーション上で画面を表示させる場合には画面の識別情報が含まれているものとする。この点は、以降説明する他の画面の表示要求についても同様である。
【００９５】
管理サーバ１０においては、メイン画面Ｇ１の表示要求を受信すると、ＣＰＵ１１は、コントローラデータベースＤＢに基づいて、メイン画面Ｇ１の表示データを生成し、ユーザ端末３０に送信する（Ｓ２０１）。Ｓ２０１においては、ＣＰＵ１１は、コントローラデータベースＤＢを参照し、第１の値を示す変更有無情報が存在するか否かを判定する。ＣＰＵ１１は、第１の値を示す変更有無情報が存在する場合、当該変更有無情報に関連付けられたバックアップ日時を選択可能なメイン画面Ｇ１の表示データを生成する。
【００９６】
なお、複数の変更有無情報が第１の値であるコントローラ２１については、直近のバックアップ日時だけを選択可能としてもよいし、変更有無情報が第１の値である全部又は一部のバックアップ日時を選択可能としてもよい。また、表示データには、ユーザの管理対象となるコントローラ２１の名前も含まれているものとする。
【００９７】
ユーザ端末３０においては、メイン画面Ｇ１の表示データを受信すると、ＣＰＵ３１は、受信した表示データに基づいて、メイン画面Ｇ１を表示部３５に表示させる（Ｓ２０２）。ＣＰＵ３１は、操作部３４の検出信号に基づいて、ユーザの操作を特定する（Ｓ２０３）。Ｓ２０３においては、日付Ｔ１０を選択する操作、又は、ボタンＢ１１を選択する操作の何れかが行われるものとする。
【００９８】
メイン画面Ｇ１に表示された日付Ｔ１０が選択された場合（Ｓ２０３；日付選択）、ＣＰＵ３１は、変更一覧画面Ｇ２の表示要求を送信する（Ｓ２０４）。Ｓ２０４において送信される表示要求には、日付Ｔ１０が選択されたコントローラ２１の名前も含まれているものとする。
【００９９】
管理サーバ１０においては、変更一覧画面Ｇ２の表示要求を受信すると、ＣＰＵ１１は、コントローラデータベースＤＢに基づいて、変更一覧画面Ｇ２の表示データを生成し、ユーザ端末３０に送信する（Ｓ２０５）。Ｓ２０５においては、ＣＰＵ１１は、コントローラデータベースＤＢのうち、表示要求に含まれるコントローラ２１の名前が格納されたレコードを取得する。そして、ＣＰＵ１１は、当該レコードのバックアップ日時と、変更有無情報が第１の値の設定データの名前と、の一覧を示す変更一覧画面Ｇ２の表示データを生成する。
【０１００】
ユーザ端末３０においては、変更一覧画面Ｇ２の表示データを受信すると、ＣＰＵ３１は、受信した表示データに基づいて、変更一覧画面Ｇ２を表示部３５に表示させる（Ｓ２０６）。ＣＰＵ３１は、操作部３４の検出信号に基づいて、変更一覧画面Ｇ２に表示された何れかの日付の設定データが選択されたか否かを判定する（Ｓ２０７）。設定データが選択されたと判定されない場合（Ｓ２０７；Ｎ）、本処理は終了する。
【０１０１】
一方、設定データが選択されたと判定された場合（Ｓ２０７；Ｙ）、ＣＰＵ３１は、当該選択された設定データの変更情報を表示させるための変更情報表示画面Ｇ３の表示要求を送信する（Ｓ２０８）。Ｓ２０８において送信される表示要求には、選択された設定データの名前と日付も含まれているものとする。
【０１０２】
管理サーバ１０においては、変更情報表示画面Ｇ３の表示要求を受信すると、ＣＰＵ１１は、コントローラデータベースＤＢに基づいて、変更情報表示画面Ｇ３の表示データを生成し、ユーザ端末３０に送信する（Ｓ２０９）。Ｓ２０９においては、ＣＰＵ１１は、コントローラデータベースＤＢを参照し、表示要求に含まれる名前及び日付の設定データに基づいて、変更情報を生成する。例えば、ＣＰＵ１１は、当該日付にバックアップが取られた当該設定データと、その前にバックアップが取られた当該設定データと、を比較可能な変更情報表示画面Ｇ３の表示データを生成する。
【０１０３】
ユーザ端末３０においては、変更情報表示画面Ｇ３の表示データを受信すると、ＣＰＵ３１は、受信した表示データに基づいて、変更情報表示画面Ｇ３を表示部３５に表示させ（Ｓ２１０）、本処理は終了する。Ｓ２１０においては、ＣＰＵ３１は、変更一覧画面Ｇ２においてユーザが選択した設定データに対し、ユーザが選択した日付に行われた変更内容を変更情報表示画面Ｇ３に表示させることになる。
【０１０４】
一方、Ｓ２０３において、ボタンＢ１１が選択された場合（Ｓ２０３；メール設定）、図１０に移り、ＣＰＵ３１は、メール設定画面Ｇ４の表示要求を送信する（Ｓ２１１）。Ｓ２１１において送信される表示要求には、メール設定の対象となるコントローラ２１の名前も含まれるものとする。
【０１０５】
管理サーバ１０においては、メール設定画面Ｇ４の表示要求を受信すると、ＣＰＵ１１は、コントローラデータベースＤＢに基づいて、メール設定画面Ｇ４の表示データを生成し、ユーザ端末３０に送信する（Ｓ２１２）。Ｓ２１２においては、ＣＰＵ１１は、コントローラデータベースＤＢを参照し、表示要求に含まれるコントローラ２１の名前に関連付けられたメール設定情報に基づいて、メール設定画面Ｇ４の表示データを生成する。例えば、ＣＰＵ１１は、当該メール設定情報に既にユーザ名が格納されていた場合には、当該ユーザのチェックボックスＢ４０にチェックをいれた状態にする。
【０１０６】
ユーザ端末３０においては、メール設定画面Ｇ４の表示データを受信すると、ＣＰＵ３１は、受信した表示データに基づいて、メール設定画面Ｇ４を表示部３５に表示させる（Ｓ２１３）。ＣＰＵ３１は、操作部３４の検出信号に基づいて、通知対象として選択されたユーザの名前を送信する（Ｓ２１４）。Ｓ２１４においては、ＣＰＵ３１は、チェックボックスＢ４０にチェックが入れられたユーザの名前を送信する。
【０１０７】
管理サーバ１０においては、通知対象として選択されたユーザの名前を受信すると、ＣＰＵ１１は、メール設定情報に格納し（Ｓ２１５）、本処理は終了する。Ｓ２１５においては、ＣＰＵ１１は、ユーザが選択した名前をメール設定情報に追加し、当該名前のユーザを送信先として設定する。なお、ユーザがチェックボックスＢ４０のチェックをオフにした場合には、メール設定情報に格納された、当該チェックボックスＢ４０が示す名前も削除される。
【０１０８】
第１の実施形態の産業機器管理システム１によれば、コントローラ２１から収集した設定データが変更されたか否かを判定し、設定データが変更されたと判定された場合に、変更情報を出力することにより、設定データの変更をユーザに容易に気付かせることができるので、設定データに対する変更の管理を容易にすることができる。例えば、ユーザの知らないところで、誰かが設定データを変更したとしても、変更情報が出力されることで、ユーザは、設定データが変更されたことに気付くことができる。例えば、コントローラ２１で所定の事象（アラーム等）が発生した場合に、ユーザは、発生した事象の原因を解析することがあり、事象の発生には、設定データの変更が関連していることがあるので、変更情報を出力することにより、ユーザによる解析を支援することができる。もし仮に、コントローラ２１から自発的に設定データを送信させたとすると、設定データの変更有無を判定する必要のないときにまで設定データが送信され、管理サーバ１０及びコントローラ２１の処理負荷と、ネットワークの通信負荷と、が増大する可能性があるが、管理サーバ１０側から設定データを収集して変更の有無を判定することで、必要なときにだけ設定データが送信されるので、管理サーバ１０及びコントローラ２１の処理負荷と、ネットワークの通信負荷と、を軽減することができる。また、コントローラ２１から設定データを収集して変更の有無をシステム側で判定することで、コントローラ２１側で設定データの変更の有無を判定する必要がないので、コントローラ２１の処理負荷を軽減することができる。
【０１０９】
また、設定データが変更されたと判定された場合に、設定データの変更内容に関する変更内容情報を出力することで、設定データの変更内容をユーザに容易に把握させることができるので、設定データの変更内容の管理を容易にすることができる。例えば、コントローラ２１で所定の事象（アラーム等）が発生した場合に、設定データの特定箇所に対する変更が、発生した事象に関連していることがあるので、変更内容情報を出力することで、ユーザによる解析を効果的に支援することができる。
【０１１０】
また、設定データが変更されたと判定された場合に、変更された設定データの種類に関する変更種類情報を出力することで、変更された設定データの種類をユーザに容易に把握させることができるので、設定データの変更の管理を容易にすることができる。例えば、コントローラ２１で所定の事象（アラーム等）が発生した場合に、特定種類の設定データの変更が、発生した事象に関連していることがあるので、変更種類情報を出力することで、ユーザによる解析を効果的に支援することができる。
【０１１１】
また、設定データが変更されたと判定された場合に、予め定められた送信先に変更通知が送信されるので、ユーザは、設定データが変更されたことに気付きやすくなる。
【０１１２】
また、設定データが変更されたと判定された場合に、コントローラ２１に基づいて、変更通知の送信先が決定され、コントローラ２１に応じた送信先に変更通知が送信されるので、コントローラ２１に応じた最適なユーザに対し、変更通知を送信することができる。例えば、コントローラ２１によって管理するユーザが異なる場合に、設定データが変更されたコントローラ２１を管理するユーザに対し、変更通知を送信することができる。
【０１１３】
また、バックアップ目的でコントローラ２１から設定データを収集したとすると、いわばバックアップのついでに、設定データの変更の有無を判定することができ、設定データの変更の有無を判定するためだけに設定データを収集する必要がなくなるので、コントローラ２１及びシステムの処理負荷と、ネットワークの通信負荷と、をより効果的に軽減することができる。
【０１１４】
［２．第２の実施形態］
発明者の見地によると、産業機器において設定データが変更されると、産業機器の寿命や負荷率などに影響を与えることがあり、現場の作業員などにより設定データが変更されると、ユーザの知らない所で産業機器に悪影響が発生している可能性がある。そこで、発明者は、設定データの変更が産業機器に与える影響をユーザに把握させるために鋭意研究開発を行った結果、新規かつ独創的な産業機器管理システム等に想到した。以降、第２の実施形態に係る産業機器管理システム等を詳細に説明する。
【０１１５】
なお、産業機器管理システム１の全体構成は、図１と同様であってよく、以降では、第１の実施形態と同様の構成については説明を省略する。また、第２の実施形態の産業機器管理システム１が第１の実施形態の機能を有する場合を説明するが、第１の実施形態の機能については省略してもよい。即ち、産業機器管理システム１は、変更情報を特に出力することなく、設定データの変更の影響に関する情報だけを出力してもよい。
【０１１６】
［２−１．産業機器管理システムの概要］
図１１は、第２の実施形態における変更情報表示画面Ｇ３の一例を示す図である。図１１に示すように、変更情報表示画面Ｇ３には、コントローラ２１が変更前の設定データにロボット２２を動作させた場合の寿命及び負荷率と、コントローラ２１が変更後の設定データにロボット２２を動作させた場合の寿命及び負荷率と、が表示される。図１１の例では、ロボット２２の減速機の負荷率や摩耗状態などから計算された寿命と、ロボット２２のトルクセンサが検出したトルク信号に基づいて計算された負荷率と、が表示される。
【０１１７】
なお、変更後の設定データにより寿命が縮まったり負荷率が高くなったりした場合には、寿命や負荷率が強調されて表示されてもよい。強調の態様については、第１の実施形態で説明した通りであり、図１１の例ではアンダーラインで示しているが、色や文字サイズなどの他の方法によって強調されてもよい。
【０１１８】
また、変更情報表示画面Ｇ３に表示される情報は、寿命及び負荷率に限られず、設定データの変更が及ぼす影響に関する情報であればよい。例えば、変更情報表示画面Ｇ３には、設定データの変更前後における、最大トルク量、トルク信号の収束値、トルク信号の立ち上がりタイミング、トルク信号の収束タイミング、モータの位置情報、モータの速度情報、オーバーシュート量、又は整定時間といった情報が表示されてもよい。
【０１１９】
また例えば、変更情報表示画面Ｇ３には、設定データの変更前後における、作業時間又は加工対象物の品質といった情報が表示されてもよい。作業時間は、いわゆるタクトタイムを示してもよいし、いわゆるサイクルタイムを示してもよい。作業時間は、カメラの画像によって判定されてもよいし、ベルトコンベア上を移動する対象物（ワーク）の位置をセンサの検出信号やロボット２２のハンドの把持センサなどの信号に基づいて判定されてもよい。また例えば、コントローラ２１のＣＰＵやメモリの使用量が影響として表示されてもよいし、コントローラ２１とロボット２２との間の通信負荷が表示されてもよい。また例えば、コントローラ２１において発生したアラームの種類や数などの情報が表示されてもよい。
【０１２０】
以上のように、第２の実施形態では、コントローラ２１の設定データが変更された場合に、変更情報表示画面Ｇ３において、設定データの変更の影響として、寿命や負荷率などの情報が表示されることで、設定データの変更が与える影響をユーザに把握させるようになっている。以降、第２の実施形態の産業機器管理システム１の詳細を説明する。
【０１２１】
［２−２．産業機器管理システムで実現される機能］
図１２は、産業機器管理システム１で実現される機能を示す機能ブロック図である。図１２に示すように、コントローラ２１では、第１の実施形態と同様のデータ記憶部２００が実現される。また、管理サーバ１０において実現される機能のうち、データ記憶部１００、収集部１０１、判定部１０２、変更情報出力部１０３、送信部１０４、及び決定部１０５は、第１の実施形態と同様であるが、コントローラデータベースＤＢの詳細は、第１の実施形態とは異なる。以降では、第２の実施形態におけるコントローラデータベースＤＢと、管理サーバ１０において実現される変更前取得部１０６、変更後取得部１０７、及び影響出力部１０８と、について説明する。これら各機能は、ＣＰＵ１１を主として実現される。
【０１２２】
［コントローラデータベース］
図１３は、第２の実施形態におけるコントローラデータベースＤＢのデータ格納例を示す図である。図１３に示すように、コントローラデータベースＤＢには、コントローラ２１又はロボット２２の状態に関する状態情報が格納される。状態とは、コントローラ２１又はロボット２２の動作状況、又は、動作状況から推測された情報である。動作状況は、ロボットシステム２０のセンサ又はカメラなどから検出され、例えば、トルク信号の波形、最大トルク量、トルク信号の収束値、トルク信号の立ち上がりタイミング、トルク信号の収束タイミング、モータの位置情報、モータの速度情報、オーバーシュート量、整定時間、ＣＰＵ使用率、メモリ使用率、通信量、又はアラーム情報などである。
【０１２３】
状態情報は、センサやカメラなどから検出された動作状況そのものを示してもよいし、動作状況から推測された情報であってもよい。ここでの推測とは、動作状況の評価であり、例えば、コントローラ２１又はロボット２２の性能又は診断結果である。例えば、状態情報は、設定データが変更される前のコントローラ２１又はロボット２２の寿命、負荷率、作業時間、及び動作状況の少なくとも１つを示す。状態情報は、実際にコントローラ２１及びロボット２２を動作させずにシミュレーションによって取得されてもよいが、本実施形態では、実際にコントローラ２１及びロボット２２を動作させた実測値に基づく情報とする。状態情報は、ある一時点の情報だけを示してもよいし、時系列的に情報が格納されたトレースデータ（ロギングデータ）であってもよい。
【０１２４】
［変更前取得部］
変更前取得部１０６は、設定データが変更されたと判定された場合に、設定データが変更される前のコントローラ２１又はロボット２２の状態に関する変更前情報を取得する。なお、変更前情報は、コントローラ２１とロボット２２の両方の状態が示されてもよいし、何れか一方のみの状態が示されてもよい。本実施形態では、コントローラデータベースＤＢに状態情報が格納されているので、変更前取得部１０６は、コントローラデータベースＤＢを参照し、設定データが変更される前の状態情報を変更前情報として取得する。
【０１２５】
本実施形態では、変更前取得部１０６は、変更前動作取得部１０６Ａを含む。変更前動作取得部１０６Ａは、変更前の設定データにより動作するコントローラ２１又はロボット２２の動作状況に基づいて、変更前情報を取得する。例えば、変更前動作取得部１０６Ａは、ロボットシステム２０のセンサなどにより検出されたコントローラ２１又はロボット２２の動作状況を取得し、当該動作状況に基づいて変更前情報を取得する。
【０１２６】
例えば、寿命が変更前情報に相当する場合、変更前取得部１０６は、ロボット２２におけるモータやハンドなどの部品の摩耗状況を取得し、ロボット２２の寿命を取得する。この場合、摩耗状況と寿命との関係は、ロボット２２の部品が摩耗すればするほど寿命が短くなるように、予め定義されているものとする。また例えば、負荷率が変更前情報に相当する場合、変更前取得部１０６は、ロボット２２のトルク信号に基づいて負荷率を計算してもよいし、コントローラ２１のＣＰＵ又はメモリ使用率を負荷率として取得してもよい。
【０１２７】
また例えば、作業時間が変更前情報に相当する場合、変更前取得部１０６は、ロボットシステム２０のセンサなどを解析して作業時間を取得する。なお、作業時間は、作業員などによって入力されてもよい。また例えば、動作状況が変更前情報に相当する場合、変更前取得部１０６は、ロボットシステム２０のセンサなどにより検出されたコントローラ２１又はロボット２２の動作状況を取得する。
【０１２８】
［変更後取得部］
変更後取得部１０７は、設定データが変更された後のコントローラ２１又はロボット２２の状態に関する変更後情報を取得する。なお、変更後情報は、コントローラ２１とロボット２２の両方の状態が示されてもよいし、何れか一方のみの状態が示されてもよい。本実施形態では、コントローラデータベースＤＢに状態情報が格納されるので、変更後取得部１０７は、コントローラデータベースＤＢを参照し、設定データが変更された後の状態情報を変更後情報として取得する。
【０１２９】
変更後情報は、センサやカメラなどから検出された動作状況そのものを示してもよいし、動作状況から推測された情報であってもよい。例えば、変更後情報は、設定データが変更された後のコントローラ２１又はロボット２２の寿命、負荷率、作業時間、及び動作状況の少なくとも１つを示す。変更後情報は、実際にコントローラ２１及びロボット２２を動作させずにシミュレーションによって取得されてもよいが、本実施形態では、実際にコントローラ２１及びロボット２２を動作させた実測値に基づく情報とする。
【０１３０】
本実施形態では、変更後取得部１０７は、変更後動作取得部１０７Ａを含む。変更後動作取得部１０７Ａは、変更後の設定データにより動作するコントローラ２１又はロボット２２の動作状況に基づいて、変更後情報を取得する。例えば、変更後動作取得部１０７Ａは、ロボットシステム２０のセンサなどにより検出されたコントローラ２１又はロボット２２の動作状況を取得し、当該動作状況に基づいて変更後情報を取得する。
【０１３１】
例えば、寿命が変更後情報に相当する場合、変更後取得部１０７は、ロボット２２におけるモータやハンドなどの部品の摩耗状況を取得し、ロボット２２の寿命を取得する。この場合、摩耗状況と寿命との関係は、ロボット２２の部品が摩耗すればするほど寿命が短くなるように、予め定義されているものとする。また例えば、負荷率が変更後情報に相当する場合、変更後取得部１０７は、ロボット２２のトルク信号に基づいて負荷率を計算してもよいし、コントローラ２１のＣＰＵ又はメモリ使用率を負荷率として取得してもよい。
【０１３２】
また例えば、作業時間が変更後情報に相当する場合、変更後取得部１０７は、ロボットシステム２０のセンサなどを解析して作業時間を取得する。なお、作業時間は、作業員などによって入力されてもよい。また例えば、動作状況が変更後情報に相当する場合、変更後取得部１０７は、ロボットシステム２０のセンサなどにより検出されたコントローラ２１又はロボット２２の動作状況を取得する。
【０１３３】
［影響出力部］
影響出力部１０８は、変更前情報と変更後情報とに基づいて、設定データの変更の影響に関する影響情報を出力する。影響とは、設定データの変更がコントローラ２１又はロボット２２に与える影響である。別の言い方をすれば、影響は、コントローラ２１又はロボット２２の状態の変化である。変更前情報と変更後情報の各々が動作状況そのものを示す場合には、動作状況の変化が影響に相当し、変更前情報と変更後情報の各々が動作状況から推測した情報である場合には、推測結果の変化が影響に相当する。
【０１３４】
影響情報は、影響を特定可能な情報であればよく、例えば、コントローラ２１又はロボット２２の寿命、負荷率、作業時間、及び動作状況の少なくとも１つの影響に関する情報である。後述する変形例のように、影響情報は、設定データの変更前後における差分を示してもよいが、本実施形態では、変更前情報と変更後情報を含むものとする。なお、影響情報は、コントローラ２１とロボット２２の両方に対する影響が示されてもよいし、何れか一方のみに対する影響が示されてもよい。
【０１３５】
影響出力部１０８は、変更前後出力部１０８Ａを含む。変更前後出力部１０８Ａは、変更前情報と変更後情報とを、設定データの変更の影響に関する影響情報として出力する。なお、出力の意味は、第１の実施形態と同様であり、本実施形態では、影響情報が画面上で視覚的に出力される場合を説明するが、影響情報は、音声によって出力されてもよいし、データ出力（ファイル出力）されてもよい。例えば、変更前後出力部１０８Ａは、変更情報表示画面Ｇ３において、変更前情報と変更後情報との両方を表示させる。なお、変更前情報と変更後情報とは、別々の画面に表示されてもよい。
【０１３６】
［２−３．産業機器管理システムで実行される処理］
第２の実施形態では、第１の実施形態で説明したバックアップ処理と画面表示処理が実行されるが、一部の処理が第１の実施形態とは異なる。
【０１３７】
［第２の実施形態におけるバックアップ処理］
図１４は、第２の実施形態におけるバックアップ処理を示すフロー図である。図１４に示すように、コントローラ２１は、自身及びロボット２２の動作状況を記録する（Ｓ３００）。Ｓ３００においては、コントローラ２１は、センサの検出信号やコントローラ２１内部で演算した状態量に基づいて動作状況を記録する。例えば、コントローラ２１は、トルクセンサの検出信号に基づいて、コントローラ２１内部で演算した状態量であるトルク信号の波形を時系列的に記録したり、モータエンコーダの検出信号に基づいて、フィードバック速度を時系列的に記録したりする。他にも例えば、コントローラ２１は、先述した種々の動作状況を記録可能である。
【０１３８】
Ｓ３０１〜Ｓ３０２は、Ｓ１００〜Ｓ１０１と同様である。コントローラ２１は、設定データの要求を受信すると、自身の記憶部に記憶された設定データと動作状況とを送信する（Ｓ３０３）。Ｓ３０３の処理は、設定データだけでなく、Ｓ３００で記録された動作状況も送信される点でＳ１０２の処理と異なる。
【０１３９】
管理サーバ１０においては、コントローラ２１から設定データと動作状況を受信すると、Ｓ１０３の処理と同様のＳ３０４の処理が実行され、設定データがコントローラデータベースＤＢに格納される。ＣＰＵ１１は、受信した動作状況に基づいて状態情報を生成し、コントローラデータベースＤＢに格納する（Ｓ３０５）。Ｓ３０５においては、ＣＰＵ１１は、動作状況をそのまま状態情報として格納したり、動作状況に基づいて寿命などを推測して状態情報として格納したりする。なお、状態情報は、予め生成するのではなく、後述する画面表示処理が実行される時点で計算されてもよい。以降のＳ３０６〜Ｓ３０９の処理は、それぞれＳ１０４〜Ｓ１０７の処理と同様である。
【０１４０】
［第２の実施形態における画面表示処理］
第２の実施形態における画面表示処理は、Ｓ２０９の処理の詳細が第１の実施形態とは異なり、他の処理については第１の実施形態と同様である。図１５は、第２の実施形態におけるＳ２０９の処理の詳細を示す図である。図１５に示すように、管理サーバ１０においては、変更情報表示画面Ｇ３の表示要求を受信すると、ＣＰＵ１１は、コントローラデータベースＤＢに基づいて、変更前の設定データを取得する（Ｓ２０９０）。Ｓ２０９０においては、ＣＰＵ１１は、コントローラデータベースＤＢを参照し、Ｓ２０７においてユーザが選択した設定データの直近の設定データを取得する。なお、直近ではなく、２個以上前の設定データが取得されてもよい。
【０１４１】
ＣＰＵ１１は、コントローラデータベースＤＢに基づいて、変更後の設定データを取得する（Ｓ２０９１）。Ｓ２０９１においては、ＣＰＵ１１は、コントローラデータベースＤＢを参照し、Ｓ２０７においてユーザが選択した設定データを取得する。例えば、最新の設定データが取得される。
【０１４２】
ＣＰＵ１１は、コントローラデータベースＤＢに基づいて、変更前情報を取得する（Ｓ２０９２）。Ｓ２０９２においては、ＣＰＵ１１は、コントローラデータベースＤＢを参照し、Ｓ２０９０で取得した変更前の設定データに関連付けられた状態情報を、変更前情報として取得する。設定データに関連付けられた状態情報とは、設定データと同じレコードに格納されている状態情報である。
【０１４３】
ＣＰＵ１１は、コントローラデータベースＤＢに基づいて、変更後情報を取得する（Ｓ２０９３）。Ｓ２０９３においては、ＣＰＵ１１は、コントローラデータベースＤＢを参照し、Ｓ２０９１で取得した変更後の設定データに関連付けられた状態情報を、変更後情報として取得する。
【０１４４】
ＣＰＵ１１は、Ｓ２０９０で取得した変更前の設定データ、Ｓ２０９１で取得した変更後の設定データ、Ｓ２０９２で取得した変更前情報、及びＳ２０９３で取得した変更後情報に基づいて、変更情報表示画面Ｇ３の表示データを生成し、ユーザ端末３０に送信する（Ｓ２０９４）。Ｓ２０９４においては、ＣＰＵ１１は、これら４つを含む変更情報表示画面Ｇ３（図１１）の表示データを生成する。なお、ＣＰＵ１１は、寿命が縮んだり負荷率が高くなったりする等の悪影響が発生している場合には、その旨を強調する表示としてもよい。変更情報表示画面Ｇ３の表示データが送信された後は、図９のＳ２１０の処理が実行され、変更情報表示画面Ｇ３がユーザ端末３０に表示される。
【０１４５】
第２の実施形態の産業機器管理システム１によれば、コントローラ２１の設定データが変更された場合に、設定データが変更される前のコントローラ２１の状態に関する変更前情報と、設定データが変更された後のコントローラ２１の状態に関する変更後情報と、に基づいて、設定データの変更の影響に関する影響情報を出力することにより、設定データの変更がコントローラ２１に与える影響をユーザに把握させることができる。これにより、変更前の設定データに戻すべきか、現状の設定データのままで良いか、更に別の設定に変更すべきか、といった判断をしやすくなる。例えば、変更後の設定データがコントローラ２１に悪影響を与える可能性がある場合に、その可能性をより早期にユーザに把握させることができ、コントローラ２１に悪影響を与えることを未然に防ぐことができる。また例えば、設定データの変更の影響のためにコントローラ２１が所望の動作をしなくなった場合に、ユーザは、設定データの変更の影響を参照することで、どの影響のためにコントローラ２１が所望の動作をしなくなったかを特定することができる。
【０１４６】
また、設定データが変更される前のコントローラ２１の状態に関する変更前情報と、設定データが変更された後のコントローラ２１の状態に関する変更後情報と、を設定データの変更の影響として出力することで、変更前後におけるコントローラ２１の状態の変化を比較しやすくなる。これにより、変更前の設定データに戻すべきか、現状の設定データのままで良いか、更に別の設定に変更すべきか、といった判断がしやすくなる。
【０１４７】
また、設定データが変更されたと判定された場合に、予め定められた送信先に変更通知が送信されるので、ユーザは、設定データが変更されたことに気付きやすくなる。
【０１４８】
また、設定データが変更されたと判定された場合に、コントローラ２１に基づいて、変更通知の送信先が決定され、コントローラ２１に応じた送信先に変更通知が送信されるので、コントローラ２１に応じた最適なユーザに対し、変更通知を送信することができる。例えば、コントローラ２１によって管理するユーザが異なる場合に、設定データが変更されたコントローラ２１を管理するユーザに対し、変更通知を送信することができる。
【０１４９】
また、設定データが変更された場合に、変更情報を出力することにより、設定データの変更をユーザに容易に気付かせることができるので、設定データに対する変更の管理を容易にすることができる。
【０１５０】
また、変更前の設定データにより動作するコントローラ２１の動作状況に基づいて、変更前情報を取得し、変更後の設定データにより動作するコントローラ２１の動作状況に基づいて、変更後情報を取得することによって、コントローラ２１の実際の動作に基づいて変更前情報と変更後情報を取得することができるので、設定データの変更がコントローラ２１に与える影響をより正確に出力することができる。
【０１５１】
また、コントローラ２１の設定データが変更された場合に、コントローラ２１の寿命、負荷率、及び作業時間の少なくとも１つの影響に関する情報を出力することにより、設定データの変更がコントローラ２１の寿命、負荷率、及び作業時間の少なくとも１つに与える影響をユーザに把握させることができる。
【０１５２】
［３．変形例］
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
【０１５３】
［３−１．第１の実施形態に係る変形例］
まず、第１の実施形態に係る変形例について説明する。図１６は、第１の実施形態に係る変形例の機能ブロック図である。図１６に示すように、第１の実施形態に係る変形例では、所定変更判定部１０２Ｂ、所定変更出力部１０３Ｃ、所定命令判定部１０２Ｃ、所定命令出力部１０３Ｄ、パラメータ判定部１０２Ｄ、パラメータ出力部１０３Ｅ、設定部１０９、履歴判定部１０２Ｅ、及び履歴出力部１０３Ｆが実現される。これら各機能は、ＣＰＵ１１を主として実現される。
【０１５４】
（１−１）例えば、第１の実施形態では、設定データが少しでも変更されたら変更情報が出力される場合を説明したが、設定データに対し、所定の変更がなされることを条件として、変更情報が出力されるようにしてもよい。なお、本変形例では、設定データがプログラムであり、コントローラ２１を動作させるための命令を含む場合について説明する。
【０１５５】
本変形例では、所定変更判定部１０２Ｂ、所定命令判定部１０２Ｃ、所定変更出力部１０３Ｃ、及び所定命令出力部１０３Ｄが実現される。所定変更判定部１０２Ｂは、複数の時点の各々における設定データに基づいて、設定データに所定の変更がなされたか否かを判定する。
【０１５６】
所定の変更とは、変更情報を出力すべき変更であり、ユーザが指定してもよいし、予め定められていてもよい。所定の変更は、全てのコントローラ２１で共通であってもよいし、コントローラ２１ごとに定められていてもよい。例えば、所定の変更は、プログラム中の所定の命令が追加、変更、又は削除されることである。この命令は、ロボット２２の動作が大きく変わる可能性のある命令であり、例えば、直線補間をリンク補間に変更する命令であってもよいし、リンク補間を直線補間に変更する命令であってもよいし待機時間などの待機条件が変更されることであってもよい。
【０１５７】
本変形例では、設定データがプログラムである場合を説明するので、所定変更判定部１０２Ｂは、所定命令判定部１０２Ｃを含む。例えば、所定命令判定部１０２Ｃは、複数の時点の各々における設定データに基づいて、設定データに、所定の命令に関する変更がなされたか否かを判定する。所定命令判定部１０２Ｃは、設定データの変更内容を参照し、当該変更内容に所定の命令が含まれるか否かを判定する。例えば、所定命令判定部１０２Ｃは、直線補間がリンク補間に変更されたか否かを判定する。また例えば、所定命令判定部１０２Ｃは、リンク補間が直線補間に変更されたか否かを判定する。また例えば、所定命令判定部１０２Ｃは、待機時間などの待機条件が変更されたか否かを判定する。
【０１５８】
所定変更出力部１０３Ｃは、設定データに所定の変更がなされたと判定された場合に、変更情報を出力する。即ち、所定変更出力部１０３Ｃは、設定データに所定の変更がなされたと判定されない場合には、変更情報を出力しない。別の言い方をすれば、所定変更出力部１０３Ｃは、設定データに所定の変更がなされたと判定されることを条件として、変更情報を出力する。
【０１５９】
本変形例では、設定データがプログラムである場合を説明するので、所定変更出力部１０３Ｃは、所定命令出力部１０３Ｄを含む。例えば、所定命令出力部１０３Ｄは、設定データに所定の命令に関する変更がなされたと判定された場合に、変更情報を出力する。即ち、所定命令出力部１０３Ｄは、設定データに所定の命令に関する変更がなされたと判定されない場合には、変更情報を出力しない。別の言い方をすれば、所定変更出力部１０３Ｃは、設定データに所定の命令に関する変更がなされたと判定されることを条件として、変更情報を出力する。
【０１６０】
変形例（１−１）によれば、設定データに対して所定の変更がなされたか否かを判定し、設定データに対して所定の変更がなされたと判定された場合に変更情報を出力することで、所定の変更がなされたことをユーザに容易に気付かせることができるので、設定データに対する変更の管理を容易にすることができる。例えば、設定データが変更された場合に常に変更情報を出力したとすると、些細な変更であったとしても、変更情報が出力されてしまうので、ユーザにとって煩雑であり、必要な変更情報が埋もれてしまう可能性がある。この点、所定の変更がなされた場合に変更情報を出力することで、このように煩雑になることを防止し、必要な変更情報が埋もれるといったことも防止できる。これにより、設定データに対する変更の管理を、より一層容易化することができる。また例えば、ユーザが注意したい変更を所定の変更として指定したとすると、注意すべき変更があった場合に変更情報が出力されるので、設定データに対する変更の管理を、より一層容易化することができる。
【０１６１】
また、設定データに所定の命令に関する変更がなされたか否かを判定し、設定データに所定の命令に関する変更がなされたと判定された場合に変更情報を出力することで、所定の命令に関する変更がなされたことをユーザに容易に気付かせることができるので、設定データに対する変更の管理を容易にすることができる。例えば、設定データが変更された場合に常に変更情報を出力したとすると、些細な変更であったとしても、変更情報が出力されてしまうので、ユーザにとって煩雑であり、必要な変更情報が埋もれてしまう可能性がある。この点、所定の命令の変更がなされた場合に変更情報を出力することで、このように煩雑になることを防止し、必要な変更情報が埋もれるといったことも防止できる。これにより、設定データに対する変更の管理を、より一層容易化することができる。また例えば、ユーザが注意したい命令を所定の命令として指定したとすると、注意すべき命令の変更があった場合に変更情報が出力されるので、設定データに対する変更の管理を、より一層容易化することができる。
【０１６２】
（１−２）また例えば、変形例（１−１）では、設定データがプログラムである場合を説明したが、設定データがパラメータである場合には、所定の変更は、所定のパラメータが変更されることであってもよい。このパラメータは、ロボット２２の動作が大きく変わる可能性のあるパラメータであり、例えば、ロボット２２の軌跡を示すパラメータであってもよいし、ロボット２２の待機時間を示すパラメータであってもよい。他にも例えば、ロボット２２がスポットロボットである場合に、電動ガンに流す電流値又は通電時間の設定値示すパラメータであってもよい。
【０１６３】
本変形例では、パラメータ判定部１０２Ｄ及びパラメータ出力部１０３Ｅが実現される。パラメータ判定部１０２Ｄは、複数の時点の各々におけるパラメータに基づいて、パラメータに基準範囲外の変更がなされたか否かを判定する。基準範囲とは、ロボット２２の動作が大きく変わる可能性のある範囲であり、例えば、パラメータが数値で示される場合には、ある特定の数値範囲に収まることであり、パラメータがオン／オフのような値で示される場合には、ある特定の値を取ることである。
【０１６４】
パラメータ出力部１０３Ｅは、パラメータに基準範囲外の変更がなされたと判定された場合に、変更情報を出力する。即ち、パラメータ出力部１０３Ｅは、パラメータに基準範囲外の変更がなされたと判定されない場合には、変更情報を出力しない。別の言い方をすれば、パラメータ出力部１０３Ｅは、パラメータに基準範囲外の変更がなされたと判定されることを条件として、変更情報を出力する。
【０１６５】
変形例（１−２）によれば、パラメータに基準範囲外の変更がなされたか否かを判定し、パラメータに基準範囲外の変更がなされたと判定された場合に変更情報を出力することで、パラメータに基準範囲外の変更がなされたことをユーザに容易に気付かせることができるので、パラメータに対する変更の管理を容易にすることができる。例えば、パラメータが変更された場合に常に変更情報を出力したとすると、些細な変更であったとしても、変更情報が出力されてしまうので、ユーザにとって煩雑であり、必要な変更情報が埋もれてしまう可能性がある。この点、パラメータに基準範囲外の変更がなされた場合に変更情報を出力することで、このように煩雑になることを防止し、必要な変更情報が埋もれるといったことも防止できる。これにより、パラメータに対する変更の管理を、より一層容易化することができる。また例えば、ユーザが注意したい変更量を閾値として指定したとすると、注意すべき基準範囲外の変更があった場合に変更情報が出力されるので、パラメータに対する変更の管理を、より一層容易化することができる。
【０１６６】
（１−３）また例えば、変形例（１−１）及び変形例（１−２）で説明した所定の変更は、コントローラ２１に応じて定められていてもよい。本変形例のデータ記憶部１００には、コントローラ２１と所定の変更とが関連付けられて記憶されている。ここでは、これらの関連付けがコントローラデータベースＤＢに格納されている場合を説明するが、他のデータベースに格納されていてもよい。所定の変更は、ユーザ又は作業員が所定の変更を自由に指定できてもよいし、予め定められていてもよい。
【０１６７】
本変形例では、設定部１０９が実現される。設定部１０９は、コントローラ２１に基づいて、所定の変更を設定する。例えば、設定部１０９は、コントローラデータベースＤＢを参照し、影響情報の表示対象となるコントローラ２１（変更情報表示画面Ｇ３の対象となるコントローラ２１）に関連付けられた所定の変更を特定する。所定変更判定部１０２Ｂは、設定部１０９により設定された所定の変更に基づいて、判定処理を実行する。所定変更判定部１０２Ｂの処理内容自体は、変形例（１−１）及び変形例（１−２）で説明した通りである。
【０１６８】
変形例（１−３）によれば、変更情報を出力させるか否かの判断基準となる所定の変更を、コントローラ２１に基づいて設定することで、コントローラ２１に応じた変更がなされた場合に変更情報を出力させることができ、設定データに対する変更の管理をより一層容易化することができる。
【０１６９】
（１−４）また例えば、第１の実施形態では、変更情報表示画面Ｇ３において、最新の設定データと、直近の設定データ（１つ前のバージョンの設定データ）と、が表示される場合を説明したが、２つ以降前の設定データが表示されてもよいし、過去の設定データが時系列的に表示されてもよい。
【０１７０】
本変形例のデータ記憶部は、収集部１０１により収集された設定データの履歴を記憶する。履歴とは、複数の時点の各々における設定データである。第１の実施形態で説明したように、コントローラデータベースＤＢには、バックアップ時間が訪れるたびに設定データのバックアップが取られるので、設定データの履歴が格納されていることになる。
【０１７１】
本変形例では、履歴判定部１０２Ｅと履歴出力部１０３Ｆが実現される。履歴判定部１０２Ｅは、履歴に基づいて、設定データが変更されたか否かを判定する。履歴判定部１０２Ｅは、直近の設定データを比較対象としなくてもよく、２つ以上前の設定データを比較対象としてもよい。例えば、履歴判定部１０２Ｅは、最新の設定データではなく、過去の複数の時点の各々の設定データを比較してもよい。例えば、履歴判定部１０２Ｅは、３つ前のバージョンの設定データと、４つ前のバージョンの設定データと、を比較してもよい。設定データが変更されたか否かを判定する方法自体は、第１の実施形態で説明した通りである。
【０１７２】
履歴出力部１０３Ｆは、設定データが変更されたと判定された場合に、履歴に基づいて、変更情報を出力する。変更情報の意味自体は、第１の実施形態で説明した通りである。履歴出力部１０３Ｆは、履歴判定部１０２Ｅが比較対象として使用した複数の設定データに基づいて、変更情報を出力する。例えば、履歴出力部１０３Ｆは、３つ前のバージョンの設定データと、４つ前のバージョンの設定データと、の間の変更に関する変更情報を表示させる。このように、履歴出力部１０３Ｆは、直近ではない設定データ同士の変更に関する変更情報を表示させることができる。
【０１７３】
変形例（１−４）によれば、設定データの履歴に基づいて変更情報を出力することで、直近の設定データとの比較だけでなく、より古い設定データと比較した場合の変更情報を出力することができる。このため、より有益な変更情報を出力することができる。
【０１７４】
［３−２．第２の実施形態に係る変形例］
次に、第１の実施形態に係る変形例について説明する。図１７は、第２の実施形態に係る変形例の機能ブロック図である。図１７に示すように、第２の実施形態に係る変形例では、差分取得部１１０、差分出力部１０８Ｂ、影響判定部１１１、所定影響出力部１０８Ｃ、第１態様出力部１０８Ｄ、所定変更判定部１０２Ｂ、所定変更出力部１０８Ｅ、第２態様出力部１０８Ｆが実現される。これら各機能は、ＣＰＵ１１を主として実現される。
【０１７５】
（２−１）例えば、第２の実施形態では、設定データが変更される前の変更前情報と、設定データが変更された後の変更前情報と、の２つが変更情報表示画面Ｇ３に表示される場合を説明したが、これらの２つを表示させるのではなく、差分の情報だけを表示させてもよい。
【０１７６】
本変形例では、差分取得部１１０及び差分出力部１０８Ｂが実現される。差分取得部１１０は、変更前情報と変更後情報との差分に関する差分情報を取得する。ここでの差分とは、変更前情報と変更後情報の違い又は差異である。例えば、変更前情報と変更後情報の各々が数値で示される場合には、差分情報は、これら２つの数値の差の値であり、例えば、増加量又は減少量である。また例えば、変更前情報と変更後情報の各々がトルク信号のような波形で示される場合には、差分情報は、これら２つの波形の差である。
【０１７７】
図１８は、変形例（２−１）における変更情報表示画面Ｇ３の一例を示す図である。図１８に示すように、差分出力部１０８Ｂは、差分情報を、設定データの変更の影響に関する情報として出力し、例えば、変更情報表示画面Ｇ３には、設定データが変更された場合の寿命の変化量と負荷率の変化量とが表示される。
【０１７８】
変形例（２−１）によれば、設定データが変更される前のコントローラ２１の状態に関する変更前情報と、設定データが変更された後のコントローラ２１の状態に関する変更後情報と、の差分に関する差分情報を取得して、設定データの変更の影響として出力することにより、設定データの変更が与える影響の大きさを、より分かりやすく把握させることができる。
【０１７９】
（２−２）また例えば、第２の実施形態では、設定データの変更が及ぼす影響に関係なく、影響情報を表示させる場合を説明したが、所定の影響が発生する場合にだけ影響情報を表示させてもよい。
【０１８０】
本変形例では、影響判定部１１１及び所定影響出力部１０８Ｃが実現される。影響判定部１１１は、変更前情報と変更後情報とに基づいて、設定データの変更の影響が所定の影響であるか否かを判定する。所定の影響とは、影響情報を出力すべき影響であり、ユーザが指定してもよいし、予め定められていてもよい。所定の影響は、全てのコントローラ２１で共通であってもよいし、コントローラ２１ごとに定められていてもよい。例えば、所定の影響は、寿命、負荷率、及び作業時間の変化量が閾値以上になることである。また例えば、所定の影響は、動作状況が基準範囲外になることである。
【０１８１】
所定影響出力部１０８Ｃは、設定データの変更の影響が所定の影響であると判定された場合に、設定データの変更の影響に関する影響情報を出力する。即ち、所定影響出力部１０８Ｃは、設定データの変更の影響が所定の影響であると判定されない場合には、影響情報を出力しない。別の言い方をすれば、所定影響出力部１０８Ｃは、設定データの変更の影響が所定の影響であると判定されることを条件として、影響情報を出力する。
【０１８２】
変形例（２−２）によれば、設定データの変更の影響が所定の影響であると判定された場合に、設定データの変更の影響に関する情報を出力することで、設定データの変更の影響が所定の影響であることをユーザに容易に気付かせることができる。例えば、設定データが変更された場合に常に影響に関する情報を出力すると、些細な影響しか与えなかったとしても出力されてしまうので、ユーザにとって煩雑であり、必要な情報が埋もれてしまう可能性があるが、本変形例によれば、このように煩雑になることを防止し、必要な情報が埋もれるといったことも防止できる。また例えば、ユーザが注意したい影響を所定の影響として指定したとすると、注意すべき影響が発生したことにユーザが気付きやすくなる。
【０１８３】
（２−３）また例えば、変形例（２−２）では、変更の影響が所定の影響であることを条件として影響情報が表示される場合を説明したが、変更の影響が所定の影響である場合には、その旨を識別可能な態様で表示させてもよい。なお、ここでの態様とは、文字又は数値の色、輝度、サイズ、フォント、太さ、又はアンダーラインといった視覚的な表示の態様のことである。
【０１８４】
本変形例では、影響判定部１１１及び第１態様出力部１０８Ｄが実現される。影響判定部１１１は、変形例（２−２）で説明した通りである。第１態様出力部１０８Ｄは、影響判定部１１１の判定結果に応じた態様で、設定データの変更の影響に関する情報を出力する。第１態様出力部１０８Ｄは、変更の影響が所定の影響である場合と、変更の影響が所定の影響でない場合と、で影響情報の態様を異ならせる。例えば、第１態様出力部１０８Ｄは、変更の影響が所定の影響である場合には、第１の態様（例えば、赤色）で影響情報を出力し、変更の影響が所定の影響でない場合には、第２の態様（例えば、黒色）で影響情報を出力する。
【０１８５】
変形例（２−３）によれば、設定データの変更の影響が所定の影響であるか否かの判定結果に応じた態様で影響情報を出力することで、設定データの変更の影響が所定の影響であることをユーザに容易に気付かせることができる。例えば、設定データが変更された場合に常に同じ態様で影響に関する情報を出力したとすると、大きな影響を与えるときも些細な影響しか与えないときも同じ態様なので、ユーザは、設定データの変更によって大きな影響を与えていることに気付きにくいが、本変形例によれば、設定データの変更によって大きな影響を与えていることに気付きやすくなる。また例えば、ユーザが注意したい影響を所定の影響として指定したとすると、注意すべき影響が発生したことにユーザが気付きやすくなる。
【０１８６】
（２−４）また例えば、変形例（２−２）では、変更の影響が所定の影響であることを条件として影響情報が表示される場合を説明したが、設定データに対して所定の変更がなされた場合に、影響情報が表示されるようにしてもよい。
【０１８７】
本変形例では、所定変更判定部１０２Ｂ及び所定変更出力部１０８Ｅが実現される。所定変更判定部１０２Ｂは、変更前の設定データと、変更後の設定データと、に基づいて、設定データに所定の変更がなされたか否かを判定する。この処理の詳細は、変形例（１−１）で説明した通りである。
【０１８８】
所定変更出力部１０８Ｅは、設定データに所定の変更がなされたと判定された場合に、設定データの変更の影響に関する影響情報を出力する。即ち、所定変更出力部１０８Ｅは、設定データに所定の変更がなされたと判定されない場合には、影響情報を出力しない。別の言い方をすれば、所定影響出力部１０８Ｃは、設定データに所定の変更がなされたと判定されることを条件として、影響情報を出力する。
【０１８９】
変形例（２−４）によれば、設定データに対して所定の変更がなされたか否かを判定し、設定データに対して所定の変更がなされたと判定された場合に、設定データの変更の影響に関する情報を出力することで、設定データに所定の変更がなされたことをユーザに容易に気付かせることができるので、設定データに対する変更の管理を容易にすることができる。例えば、設定データが変更された場合に常に影響情報を出力したとすると、些細な変更であったとしても出力されてしまうので、ユーザにとって煩雑であり、必要な情報が埋もれてしまう可能性があるが、本変形例によれば、このように煩雑になることを防止し、必要な情報が埋もれるといったことも防止できる。これにより、設定データに対する変更の管理を容易化することができる。また例えば、ユーザが注意したい変更を所定の変更として指定したとすると、注意すべき変更があった場合に影響情報が出力されるので、設定データに対する変更の管理を、より一層容易化することができる。
【０１９０】
（２−５）また例えば、変形例（２−４）では、設定データに所定の変更がなされることを条件として影響情報が表示される場合を説明したが、設定データに所定の変更がなされた場合には、その旨を識別可能な態様で表示されてもよい。
【０１９１】
本変形例では、所定変更判定部１０２Ｂ及び第２態様出力部１０８Ｆが実現される。所定変更判定部１０２Ｂは、変形例（２−４）で説明した通りである。第２態様出力部１０８Ｆは、所定変更判定部１０２Ｂの判定結果に応じた態様で、設定データの変更の影響に関する影響情報を出力する。第２態様出力部１０８Ｆは、設定データに所定の変更がなされた場合と、設定データに所定の変更がなされていない場合と、で影響情報の態様を異ならせる。例えば、第２態様出力部１０８Ｆは、設定データに所定の変更がなされた場合には、第１の態様で影響情報を出力し、設定データに所定の変更がなされていない場合には、第２の態様で影響情報を出力する。
【０１９２】
変形例（２−５）によれば、設定データに所定の変更がなされたか否かの判定結果に応じた態様で、設定データの変更の影響に関する情報を出力することで、所定の変更がなされた場合の影響をユーザに容易に気付かせることができる。例えば、設定データが変更された場合に常に同じ態様で影響情報を出力したとすると、大きな変更であったとしても些細な変更であったとしても、同じ態様で出力されてしまうので、ユーザは、大きな変更であるか否かを気付きにくいが、本変形例によれば、大きな変更であるか否かを気付きやすくなる。また例えば、ユーザが注意したい変更を所定の変更として指定したとすると、注意すべき変更があったことをユーザが気付きやすくなる。
【０１９３】
［３−３．その他変形例］
また例えば、上記説明した変形例を組み合わせてもよい。
【０１９４】
また例えば、管理サーバ１０は、設定データをバックアップ目的で収集しなくてもよく、アラーム発生時などの任意のタイミングで設定データを収集してよい。また例えば、産業機器管理システム１は、第１の実施形態で説明した機能と、第２の実施形態で説明した機能と、の少なくとも一方を有していればよく、これらの両方を有していてもよいし、何れか一方のみを有していてもよい。また例えば、上記説明した主たる機能が管理サーバ１０で実現される場合を説明したが、複数のコンピュータで各機能が分担されてもよい。
【０１９５】
また、以上説明した実施形態は具体例として示したものであり、本明細書にて開示される発明をこれら具体例の構成やデータ格納例そのものに限定するものではない。当業者はこれら開示された実施形態に種々の変形、例えば、物理的構成の形状や数、データ構造、処理の実行順を変更したりしてもよい。本明細書にて開示される発明の技術的範囲は、そのようになされた変形をも含むものと理解すべきである。
【符号の説明】
【０１９６】
１  産業機器管理システム、１０  管理サーバ、１１  ＣＰＵ、１２  記憶部、１３  通信部、２０  ロボットシステム、２１  コントローラ、２２  ロボット、３０  ユーザ端末、３１  ＣＰＵ、３２  記憶部、３３  通信部、３４  操作部、３５  表示部、ＤＢ  コントローラデータベース、Ｇ１  メイン画面、Ｇ２  変更一覧画面、Ｇ３  変更情報表示画面、Ｇ４  メール設定画面、１００  データ記憶部、１０１  収集部、１０２  判定部、１０２Ａ  バックアップ判定部、１０２Ｂ  所定変更判定部、１０２Ｃ  所定命令判定部、１０２Ｄ  パラメータ判定部、１０２Ｅ  履歴判定部、１０３  変更情報出力部、１０３Ａ  内容出力部、１０３Ｂ  種類出力部、１０３Ｃ  所定変更出力部、１０３Ｄ  所定命令出力部、１０３Ｅ  パラメータ出力部、１０３Ｆ  履歴出力部、１０４  送信部、１０５  決定部、１０６  変更前取得部、１０６Ａ  変更前動作取得部、１０７  変更後取得部、１０７Ａ  変更後動作取得部、１０８  影響出力部、１０８Ａ  変更前後出力部、１０８Ｂ  差分出力部、１０８Ｃ  所定影響出力部、１０８Ｄ  第１態様出力部、１０８Ｅ  所定変更出力部、１０８Ｆ  第２態様出力部、１０９  設定部、１１０  差分取得部、１１１  影響判定部、２００  データ記憶部、Ｂ１１  ボタン、Ｂ４０  チェックボックス、Ｎ２０  名前、Ｔ１０  日付。
【図１】
2020119426.tif 000003
【図２】
2020119426.tif 000004
【図３】
2020119426.tif 000005
【図４】
2020119426.tif 000006
【図５】
2020119426.tif 000007
【図６】
2020119426.tif 000008
【図７】
2020119426.tif 000009
【図８】
2020119426.tif 000010
【図９】
2020119426.tif 000011
【図１０】
2020119426.tif 000012
【図１１】
2020119426.tif 000013
【図１２】
2020119426.tif 000014
【図１３】
2020119426.tif 000015
【図１４】
2020119426.tif 000016
【図１５】
2020119426.tif 000017
【図１６】
2020119426.tif 000018
【図１７】
2020119426.tif 000019
【図１８】
2020119426.tif 000020