(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-02-10
(45)【発行日】2025-02-19
(54)【発明の名称】ロボットの動作プログラムを管理する管理装置、ネットワークシステム、及び方法
(51)【国際特許分類】
B25J 19/00 20060101AFI20250212BHJP
B25J 19/06 20060101ALI20250212BHJP
【FI】
B25J19/00 J
B25J19/06
(21)【出願番号】P 2023531204
(86)(22)【出願日】2021-06-29
(86)【国際出願番号】 JP2021024585
(87)【国際公開番号】W WO2023276003
(87)【国際公開日】2023-01-05
【審査請求日】2024-01-12
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100099759
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100112357
【氏名又は名称】廣瀬 繁樹
(72)【発明者】
【氏名】栗原 眞二
【審査官】杉山 悟史
(56)【参考文献】
【文献】特開2017-199077(JP,A)
【文献】特開2016-016488(JP,A)
【文献】特表2017-517800(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 ~ 21/02
(57)【特許請求の範囲】
【請求項1】
ロボットの動作プログラムを管理する管理装置であって、
前記動作プログラムに加えられた変更を示す変更情報と、前記ロボットを動作させるために前記動作プログラムが実行されたことを示す実行情報と、を取得するデータ取得部と、
前記データ取得部が取得した前記変更情報を承認する入力を受け付ける入力受付部と、
前記データ取得部が前記実行情報を取得したときに、実行されている前記動作プログラムの前記変更情報が承認されているか否かを判定する承認判定部と、
前記承認判定部によって前記変更情報が承認されていないと判定された場合に、予め定められた事故防止プロセスを実行するプロセス実行部と、を備える、管理装置。
【請求項2】
前記プロセス実行部は、前記事故防止プロセスとして、アラーム信号を生成する、請求項1に記載の管理装置。
【請求項3】
前記変更が繰り返し加えられる毎に前記データ取得部が取得した複数の前記変更情報を、変更履歴データとして記憶する記憶部と、
前記変更履歴データに基づいて、第1の前記変更よりも前に行われた第2の前記変更後の前記動作プログラムを復元するプログラム復元部と、をさらに備える、請求項1又は2に記載の管理装置。
【請求項4】
前記入力受付部は、前記変更履歴データの中から、前記第2の変更を示す前記変更情報を選択する入力をさらに受け付け、
前記プログラム復元部は、前記入力受付部が受け付けた前記選択する入力に応じて、前記第2の変更後の前記動作プログラムを復元する、請求項3に記載の管理装置。
【請求項5】
請求項1~4のいずれか1項に記載の管理装置と、
前記ロボットと、
前記ロボット及び前記管理装置に通信可能に接続された通信機器であって、前記動作プログラムを記憶するとともに、前記変更情報及び前記実行情報を前記管理装置に供給する、通信機器と、を備える、ネットワークシステム。
【請求項6】
前記通信機器は、
前記動作プログラムに従って前記ロボットを動作させ、前記実行情報を前記管理装置に供給する制御装置と、
前記変更の入力を受け付けて、該変更を前記動作プログラムに加えることで前記ロボットの動作を教示する教示装置であって、前記変更情報を前記管理装置に供給する、教示装置と、を有する、請求項5に記載のネットワークシステム。
【請求項7】
ロボットの動作プログラムを管理する方法であって、
前記動作プログラムに加えられた変更を示す変更情報と、前記ロボットを動作させるために前記動作プログラムが実行されたことを示す実行情報と、を取得し、
取得した前記変更情報を承認する入力を受け付け、
前記実行情報を取得したときに、実行されている前記動作プログラムの前記変更情報が承認されているか否かを判定し、
前記変更情報が承認されていないと判定された場合に、予め定められた事故防止プロセスを実行する、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ロボットの動作プログラムを管理する管理装置、ネットワークシステム、及び方法に関する。
【背景技術】
【0002】
ロボットの動作プログラムを修正したときに、修正箇所をロボット制御装置に供給するプログラム修正装置が知られている(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来、動作プログラムへの修正を管理者が承認しないまま、該動作プログラムを実行する場合があった。このような場合において、未承認の動作プログラムによって予期せぬ事故が発生してしまうのを確実に防止する技術が求められている。
【課題を解決するための手段】
【0005】
本開示の一態様において、ロボットの動作プログラムを管理する管理装置は、動作プログラムに加えられた変更を示す変更情報と、ロボットを動作させるために該動作プログラムが実行されたことを示す実行情報とを取得するデータ取得部と、データ取得部が取得した変更情報を承認する入力を受け付ける入力受付部と、データ取得部が実行情報を取得したときに、実行されている動作プログラムの変更情報が承認されているか否かを判定する承認判定部と、承認判定部によって変更情報が承認されていないと判定された場合に、予め定められた事故防止プロセスを実行するプロセス実行部とを備える。
【0006】
本開示の他の態様において、ロボットの動作プログラムを管理する方法は、動作プログラムに加えられた変更を示す変更情報と、ロボットを動作させるために該動作プログラムが実行されたことを示す実行情報とを取得し、データ取得部が取得した変更情報を承認する入力を受け付け、実行情報を取得したときに、実行されている動作プログラムの変更情報が承認されているか否かを判定し、変更情報が承認されていないと判定された場合に、予め定められた事故防止プロセスを実行する。
【発明の効果】
【0007】
本開示によれば、未承認の動作プログラムが実行されていることを迅速に発見し、該未承認の動作プログラムによって予期せぬ事故が発生してしまうのを、未然に防止できる。その結果、作業効率を向上させることができる。
【図面の簡単な説明】
【0008】
【
図1】一実施形態に係るネットワークシステムのブロック図である。
【
図2】一実施形態に係るロボットシステムの図である。
【
図3】ロボットの動作プログラムを管理する方法の一例を示すフローチャートである。
【
図4】他の実施形態に係るネットワークシステムのブロック図である。
【発明を実施するための形態】
【0009】
以下、本開示の実施の形態を図面に基づいて詳細に説明する。なお、以下に説明する種々の実施形態において、同様の要素には同じ符号を付し、重複する説明を省略する。まず、
図1を参照して、一実施形態に係るネットワークシステム10について説明する。ネットワークシステム10は、ロボットシステム12、予防保全装置14、外部機器16、及び通信ネットワーク18を備える。
【0010】
ロボットシステム12は、ワークに対して所定の作業を行う産業用ロボットシステムである。予防保全装置14は、ロボットシステム12の動作状態を表す動作状態データOD、又はロボットシステム12の異常を示す異常識別コードCDを該ロボットシステム12から入手し、該動作状態データOD又は該異常識別コードCDに基づいて、該ロボットシステム12で発生する異常を監視する。
【0011】
外部機器16は、例えば、デスクトップ型又は携帯型のPC、若しくはサーバ等のコンピュータである。通信ネットワーク18は、例えば、LAN(イントラネット等)、又はインターネットであって、ロボットシステム12、予防保全装置14、及び外部機器16を互いに通信可能に接続する。一例として、ロボットシステム12は、作業ラインが設けられた第1の建物内に設置され、予防保全装置14は、第1の建物とは別の第2の建物内に設置され、外部機器16は、第1の建物及び第2の建物とは別の第3の建物内に設置され得る。
【0012】
図2に、ロボットシステム12の一例を示す。ロボットシステム12は、ロボット20、センサ22(
図1)、制御装置24、及び教示装置26を備える。
図2に示す例では、ロボット20は、垂直多関節ロボットであって、ロボットベース28、旋回胴30、下腕部32、上腕部34、手首部36、及びエンドエフェクタ38を有する。
【0013】
ロボットベース28は、作業ラインの床の上に固定されている。旋回胴30は、鉛直軸周りに旋回可能となるようにロボットベース28に設けられている。下腕部32は、水平軸周りに回動可能となるように旋回胴30に設けられ、上腕部34は、該下腕部32の先端部に回動可能に設けられている。
【0014】
手首部36は、互いに直交する2つの軸の周りに回動可能となるように上腕部34の先端部に設けられている。エンドエフェクタ38は、手首部36の先端部(いわゆる、手首フランジ)に着脱可能に取り付けられている。エンドエフェクタ38は、例えば、ロボットハンド、切削工具、又は溶接トーチ等であって、ワークに対して所定の作業(ワークハンドリング、切削加工、又は溶接等)を行う。
【0015】
ロボット20の各コンポーネント(ロボットベース28、旋回胴30、下腕部32、上腕部34、手首部36)には、サーボモータ40(
図1)が設けられている。サーボモータ40は、制御装置24からの指令に応じて、ロボット20の可動コンポーネント(旋回胴30、下腕部32、上腕部34、手首部36)を駆動する。
【0016】
センサ22は、ロボットシステム12の動作状態データODを検出する。動作状態データODは、例えば、サーボモータ40の回転位置、回転速度、回転加速度、電流値、及び負荷トルク、ロボット20に掛かる外力、並びに、制御装置24(又はサーボモータ40に設けられたエンコーダ)を動作させるための電池の電圧等を含む。センサ22は、検出した動作状態データODを制御装置24に供給する。
【0017】
制御装置24は、ロボット20の動作を制御する。具体的には、制御装置24は、プロセッサ(CPU、GPU等)、及び記憶部(ROM、RAM等)を有するコンピュータであって、予め作成された動作プログラムOPに従って、ロボット20の各サーボモータ40への指令を生成し、該指令に従ってロボット20の各可動コンポーネントを動作させることで、エンドエフェクタ38を、動作プログラムOPに規定された複数の教示点TPk(k=1,2,3,・・・)に順に移動させる。こうして、制御装置24は、動作プログラムOPに従ってロボット20を動作させて、エンドエフェクタ38を教示点TPkに移動させつつ、該エンドエフェクタ38によってワークに対し所定の作業を行う。
【0018】
動作プログラムOPには、ロボット20に所定の動作を実行させる命令文CMが、ロボット20の動作パラメータPRとともに規定されている。動作パラメータPRは、例えば、複数の教示点TPkの位置データ(具体的には、ロボット座標系の座標)と、2つの教示点TPk及びTPk+1の間の移動軌跡及び移動速度とを含む。
【0019】
制御装置24は、通信ネットワーク18を介して、予防保全装置14に通信可能に接続されている。制御装置24(具体的には、プロセッサ)は、ロボット20を動作させるために動作プログラムOPを実行したときに、実行情報EIを予防保全装置14に供給する。実行情報EIは、例えば、実行された動作プログラムOPのプログラム名NM、及び、該動作プログラムOPの開始時刻t1及び終了時刻t2等の情報を含む。プログラム名NMは、例えば任意の文字列からなり、ロボットシステム12のオペレータA1によって付与される。
【0020】
また、制御装置24は、動作プログラムOPに従ってロボット20を動作させているときにセンサ22が取得した動作状態データODに基づいて、ロボットシステム12の異常を検知する。例えば、制御装置24(具体的には、プロセッサ)は、センサ22から取得した動作状態データOD(回転位置、回転速度、回転加速度、電流値、負荷トルク、外力、又は電圧等)の値が予め定めた基準値を超えた場合に、ロボットシステム12に異常が発生したと判定する。
【0021】
制御装置24は、ロボットシステム12で異常が発生したことを検知した場合に、該異常を識別する異常識別コードCDを、通信ネットワーク18を通して予防保全装置14に送信する。異常識別コードCDは、例えば文字列からなり(いわゆる、エラーコード)、ロボットシステム12で生じ得る複数種類の異常(センサ22の動作不良、ロボット20と周辺環境物との干渉、電池の電圧低下等)毎に、個別に付与される。
【0022】
教示装置26は、ロボット20の動作を教示する。具体的には、教示装置26は、例えば、教示ペンダント又はタブレット型端末装置等の携帯型コンピュータであって、プロセッサ(CPU、GPU等)、記憶部(ROM、RAM)、表示部(LCD、有機ELディスプレイ等)、及び操作部(押しボタン、タッチセンサ等)を有する。
【0023】
教示装置26は、制御装置24に通信可能に接続され、操作部への入力に応じて、該制御装置24を介してロボット20をジョグ動作させることができる。オペレータA1は、教示装置26の操作部を操作してロボット20をジョグ動作させることで該ロボット20に所定の動作を教示し、これにより、該所定の動作をロボット20に実行させるための動作プログラムOP0を作成する。こうして、初期の動作プログラムOP0が作成される。
【0024】
教示装置26は、作成した動作プログラムOP0に、初期のバージョン情報VER0を付与する。バージョン情報VER0は、例えば「VER.000」という文字列からなる。教示装置26は、作成した動作プログラムOP0を、プログラム名NM、プログラム作成時刻t3、及びバージョン情報VER0等の付帯情報とともに、制御装置24へ供給し、通信ネットワーク18を介して予防保全装置14に供給する。
【0025】
一方、オペレータA1は、教示装置26を操作して、作成された動作プログラムOP0に、繰り返し変更CHnを加えることができる。動作プログラムOP0へ加えられる変更CHnとしては、例えば、命令文CMの文字若しくは行の変更、動作パラメータPR(位置データ、移動速度等)の数値の変更、又は、新たな命令文CM若しくは動作パラメータPRの追加等があり得る。
【0026】
教示装置26を用いて、第1回目の変更CH1、第2回目の変更CH2、・・・第n回目の変更CHnが加えられる毎に、動作プログラムOPは、初期の動作プログラムOP0から、第1回目の変更CH1後の動作プログラムOP1、第2回目の変更CH2後の動作プログラムOP2、・・・第n回目の変更CHn後の動作プログラムOPnに更新される。
【0027】
より具体的には、教示装置26(プロセッサ)は、オペレータから第n回目の変更CHnの入力IPcnを受け付けると、該入力IPcnに応じて、現時点で教示装置26の記憶部に記憶されている動作プログラムOPn-1に変更CHnを加えて、動作プログラムOPnに更新する。このとき、教示装置26は、変更後の動作プログラムOPnに、新たなバージョン情報VERn(例えば、n=3であれば、文字列:「VER.003」)を自動で付与し、教示装置26の記憶部に格納する。
【0028】
次いで、教示装置26は、加えられた変更CHnを示す変更情報CHInを、予防保全装置14に供給する。変更情報CHInは、例えば、変更された動作プログラムOPnのプログラム名NM、変更時刻t4、及びバージョン情報VERn等の付帯情報と、加えられた変更CHnの内容を示す変更内容データCHDnとを含む。
【0029】
一例として、変更内容データCHDnは、変更後の動作プログラムOPnのうち、変更(又は追加)された箇所(つまり、変更又は追加された命令文CM又は動作パラメータPR)のみを含んでもよい。他の例として、変更内容データCHDnは、変更後の動作プログラムOPn自体(つまり、全ての命令文CM及び動作パラメータPR)を含んでもよい。
【0030】
こうして、教示装置26は、変更CHnを動作プログラムOPn-1に加えることで動作プログラムOPnへ更新し、これによりロボット20の動作を教示する。教示装置26は、変更CHnが繰り返し加えられる毎に、変更後の動作プログラムOPnとともに、変更情報CHInを制御装置24に送信する。制御装置24は、受信した動作プログラムOPnを記憶部に格納するとともに、変更情報CHInを、通信ネットワーク18を介して予防保全装置14に送信する。
【0031】
上述のように、本実施形態においては、制御装置24及び教示装置26は、ロボット20及び予防保全装置14に直接的又は間接的に接続され、互いに通信しつつ、実行情報EI及び変更情報CHI
nを予防保全装置14に供給している。したがって、制御装置24及び教示装置26は、実行情報EI及び変更情報CHI
nを予防保全装置14に供給する通信機器42(
図1)を構成する。
【0032】
予防保全装置14は、プロセッサ50、記憶部52、I/Oインターフェース54、入力装置56、及び表示装置58等を有するコンピュータ(PC又はサーバ等)である。プロセッサ50は、CPU又はGPU等を有し、バス60を介して、記憶部52、I/Oインターフェース54、入力装置56、及び表示装置58に通信可能に接続されている。
【0033】
記憶部52は、RAM又はROM等を有し、プロセッサ50が実行する演算処理で利用される各種のデータ、及び該演算処理の途中で生成される各種データを、一時的又は恒久的に記憶する。I/Oインターフェース54は、例えば、イーサネット(登録商標)ポート、USBポート、光ファイバコネクタ、又はHDMI(登録商標)端子を有し、プロセッサ50からの指令の下、他の機器との間でデータを有線又は無線で通信する。I/Oインターフェース54は、通信ネットワーク18に接続されている。
【0034】
入力装置56は、キーボード、マウス、又はタッチパネル等を有し、オペレータからデータ入力を受け付ける。表示装置58は、液晶ディスプレイ又は有機ELディスプレイ等を有し、各種データを表示する。入力装置56及び表示装置58は、予防保全装置14の筐体とは別体として設けられてもよいし、又は、予防保全装置14の筐体に一体に組み込まれてもよい。
【0035】
プロセッサ50は、通信ネットワーク18を通して、通信機器42(具体的には、制御装置24)から上述の動作状態データOD又は異常識別コードCDを入手し、該動作状態データOD又は該異常識別コードCDに基づいて、ロボットシステム12の異常を検知する。
【0036】
一例として、プロセッサ50は、制御装置24から異常識別コードCDを受け付けたとき、該異常識別コードCDによって識別される異常がロボットシステム12で発生していることを検知できる。他の例として、プロセッサ50は、動作状態データODを取得したとき、上述の制御装置24と同様の異常検知方法により、該動作状態データODに基づいて異常を検知できる。
【0037】
さらに他の例として、プロセッサ50は、取得した動作状態データODを、機械学習によって構築された学習モデルLMに適用することで、ロボットシステム12の異常を検知することもできる。この学習モデルLMは、動作状態データOD(例えば、外力)と、ロボットシステム12で生じる異常(例えば、ロボット20と周辺環境物との干渉)との相関性を示すものであって、例えば、動作状態データODと、異常の有無を表す判定データとの学習データセットを、機械学習装置に反復して与えることによって(例えば、教師あり学習)、構築することができる。
【0038】
プロセッサ50は、ロボットシステム12から連続的に入手した動作状態データODを、学習モデルLMに順次入力する。学習モデルLMは、所定の期間に入力された動作状態データODの変化と高い相関性を有する異常がある場合に、該異常を特定して出力する。こうして、プロセッサ50は、学習モデルLMを用いて、ロボットシステム12で生じる異常を検知できる。
【0039】
この学習モデルLMを用いることで、プロセッサ50は、異常の発生によってロボットシステム12のコンポーネントが故障してしまうのを予知できるようになる。なお、プロセッサ50は、上述の機械学習装置の機能を実行するように構成されてもよい。このように、プロセッサ50は、動作状態データOD又は異常識別コードCDに基づいて、ロボットシステム12の異常を検知する。
【0040】
一方、プロセッサ50は、通信ネットワーク18を通して、教示装置26が作成した初期の動作プログラムOP0を入手したとき、該動作プログラムOP0を承認するための承認画像AIM0を生成し、表示装置58に表示させる。例えば、承認画像AIM0は、承認ボタン画像を含む。
【0041】
予防保全装置14のオペレータA2(例えば、作業ラインの設計者)は、入力装置56を操作して、承認画像AIM0内の承認ボタン画像を画像上でクリックすることによって、動作プログラムOP0を承認する入力IPa0をプロセッサ50に与えることができるようになっている。プロセッサ50は、入力IPa0に応じて、動作プログラムOP0の付帯情報として、承認済みを表す承認フラグF1を付与する。なお、承認フラグF1の詳細については、後述する。
【0042】
プロセッサ50は、動作プログラムOPを管理する。以下、
図3を参照して、動作プログラムOPを管理する方法について説明する。
図3に示すフローは、プロセッサ50が、オペレータA2、上位コントローラ、又はコンピュータプログラムから動作開始指令を受け付けたときに、開始される。
【0043】
ステップS1において、プロセッサ50は、変更情報CHInを取得したか否かを判定する。具体的には、上述したように変更CHnが動作プログラムOPn-1に加えられると、プロセッサ50は、通信ネットワーク18を通して、通信機器42から変更情報CHInを取得する。プロセッサ50は、変更CHnが加えられる毎に取得した複数の変更情報CHInを、変更履歴データHISとして記憶部52に順次格納する。なお、変更履歴データHISの詳細については後述する。
【0044】
このように、本実施形態においては、プロセッサ50は、変更情報CHI
nを取得するデータ取得部62(
図1)として機能する。プロセッサ50は、変更情報CHI
nを取得した場合はYESと判定し、ステップS2へ進む一方、変更情報CHI
nを取得していない場合はNOと判定し、ステップS5へ進む。
【0045】
ステップS2において、プロセッサ50は、直近に取得した変更情報CHInを承認するための承認画像AIMnを生成し、表示装置58に表示させる。例えば、承認画像AIMnは、上述の承認画像AIM0と同様に承認ボタン画像を含む。オペレータA2は、入力装置56を操作して、承認画像AIMn内の承認ボタン画像を画像上でクリックすることによって、変更情報CHInを承認する入力IPanをプロセッサ50に与えることができるようになっている。
【0046】
ステップS3において、プロセッサ50は、変更情報CHI
nを承認する入力IPa
nを受け付けたか否かを判定する。プロセッサ50は、入力装置56を通して入力IPa
nを受け付けた場合はYESと判定し、ステップS4へ進む一方、入力IPa
nを受け付けていない場合はNOと判定し、ステップS5へ進む。このように、本実施形態においては、プロセッサ50は、変更情報CHI
nを承認する入力IPa
nを受け付ける入力受付部64(
図1)として機能する。
【0047】
ステップS4において、プロセッサ50は、直近に取得した変更情報CHInを承認するプロセスを実行する。例えば、プロセッサ50は、変更履歴データHISとして記憶部52に格納された直近の変更情報CHInの付帯情報として、承認済みを表す承認フラグF1を付与する。記憶部52に格納された変更履歴データHISの一例を以下の表1に示す。
【0048】
【0049】
表1は、変更履歴データHISのデータ構造を模式的に示している。表1に示す例は、プログラム名NMが「PRG-XYZ001」である動作プログラムOPnの変更履歴データHISを示しており、「バージョン情報」、「時刻」、「格納データ」、及び「承認フラグ」が、互いに関連付けられて記憶されている。
【0050】
例えば、「バージョン情報」が「VER.000」の行は、初期の動作プログラムOP0に対応し、「時刻」として、初期の動作プログラムOP0の作成時刻t3が記録され、「格納データ」として、動作プログラムOP0自体(つまり、全ての命令文CM及び動作パラメータPR)が格納されている。
【0051】
一方、「バージョン情報」が「VER.001」の行は、第1回目の変更CH1を示す変更情報CHI1に対応し、「時刻」として、変更CH1が加えられた変更時刻t4が記録され、「格納データ」として、変更内容データCHD1(変更箇所、又は変更後の動作プログラムOP1)が格納されている。
【0052】
また、「承認フラグ」の列に示されている「〇」は、承認済みを表す承認フラグF1が付与されていることを示す一方、「承認フラグ」の列中の「×」は、承認フラグF1が付与されていない(又は、未承認を表すフラグが付与されている)ことを示している。例えば、表1の例では、「VER.001」に対応する、第1回目の変更CH1を示す変更情報CHI1に対して承認フラグF1が付与されており(「承認フラグ」=「〇」)、故に、変更情報CHI1がオペレータA2によって承認されたことを表している。
【0053】
一方、「VER.003」に対応する、第3回目の変更CH3を示す変更情報CHI3に対しては、承認フラグF1が付与されておらず(「承認フラグ」=「×」)、故に、変更情報CHI3がオペレータA2によって承認されていないことを表している。プロセッサ50は、変更履歴データHISに格納された各々の変更情報CHIn(及び、初期の動作プログラムOP0)について承認フラグF1の有無(「〇」又は「×」)を参照することによって、各々の変更情報CHIn(及び、初期の動作プログラムOP0)が承認されているか否かを判定できる。
【0054】
ステップS5において、プロセッサ50は、実行情報EIを取得したか否かを判定する。具体的には、上述したように、制御装置24が動作プログラムOPを実行したとき、プロセッサ50は、データ取得部62として機能して、通信ネットワーク18を通して実行情報EIを制御装置24から取得する。プロセッサ50は、実行情報EIを取得した場合はYESと判定し、ステップS6へ進む一方、実行情報EIを取得していない場合はNOと判定し、ステップS8へ進む。
【0055】
ステップS6において、プロセッサ50は、実行されている動作プログラムOPnの変更情報CHInが承認されているか否かを判定する。具体的には、プロセッサ50は、直近に取得した実行情報EIに含まれる、動作プログラムOPnのプログラム名NMを参照し、該プログラム名NMを有する動作プログラムOPnの変更履歴データHISを、記憶部52から取得する。
【0056】
そして、プロセッサ50は、変更履歴データHISから、直近の変更情報CHInを検索する。例えば、プロセッサ50は、変更履歴データHISに格納されたバージョン情報VERn又は変更時刻t4から、直近の変更情報CHInを検索できる。例えば、表1の例の場合、プロセッサ50は、「バージョン情報」が「VER.003」、「時刻」が「2021/10/5」である、第3回目の変更CH3を示す変更情報CHI3が、直近に取得されたものとして検索できる。
【0057】
そして、プロセッサ50は、検索した直近の変更情報CHI3の「承認フラグ」を参照し、該変更情報CHI3が承認されているか否かを判定する。表1の例の場合、変更情報CHI3の「承認フラグ」が「×」であるので、プロセッサ50は、このステップS6でNOと判定することになる。一方、変更情報CHI3の「承認フラグ」が「〇」である場合は、プロセッサ50は、YESと判定することになる。プロセッサ50は、このステップS6でNOと判定した場合はステップS7へ進む一方、YESと判定した場合はステップS8へ進む。
【0058】
このように、プロセッサ50は、実行情報EIによって動作プログラムOP
nが実行されていることを認識し、実行されている該動作プログラムOP
nの変更情報CHI
nが承認されているか否かを判定している。したがって、本実施形態においては、プロセッサ50は、実行されている動作プログラムOP
nの変更情報CHI
nが承認されているか否かを判定する承認判定部66(
図1)として機能する。
【0059】
ステップS7において、プロセッサ50は、事故防止プロセスAPを実行する。事故防止プロセスAPの一例として、プロセッサ50は、アラーム信号ALを生成する。例えば、プロセッサ50は、「未承認の動作プログラムが作業ラインのロボットシステムで実行されています。至急承認の可否を確認して下さい」というテキストを表示する画像のアラーム信号ALを生成する。そして、プロセッサ50は、生成したアラーム信号ALを、表示装置58に表示させる。これにより、オペレータA2は、未承認の動作プログラムOPnがロボットシステム12で実行されていることを、直感的に認識することができる。
【0060】
なお、プロセッサ50は、生成したアラーム信号ALを、通信ネットワーク18を通して通信機器42に供給してもよい。この場合において、制御装置24又は教示装置26は、取得したアラーム信号ALを、該制御装置24又は該教示装置26に設けられた表示装置に表示させてもよい。この場合、作業ラインのオペレータA1にも、未承認の動作プログラムOPnが実行されていることを通知できる。
【0061】
また、プロセッサ50は、生成したアラーム信号ALを、例えばEメールの形式で、通信ネットワーク18を通して外部機器16に送信してもよい。この場合、外部機器16のオペレータA3(例えば、作業ラインの管理者)にも、未承認の動作プログラムOPnが実行されていることを通知できる。
【0062】
また、プロセッサ50は、生成したアラーム信号ALを、表示装置58、通信機器42、又は外部機器16へ繰り返し出力することで、オペレータA1、A2又はA3に繰り返し通知してもよい。表示装置58、通信機器42、又は外部機器16へアラーム信号ALを出力するタイミング(例えば、1時間毎に出力)は、オペレータA2によって任意に定められてもよい。この構成によれば、未承認の動作プログラムOPnが実行されていることを、オペレータA1、A2又はA3に確実に通知することができる。
【0063】
また、予防保全装置14は、通信機器42又は外部機器16へアラーム信号ALを出力するか否かを、オペレータA2が任意に設定できるように構成されてもよい。この構成によれば、アラーム信号ALを通知する機能を、状況に応じて任意にON/OFFすることができる。なお、プロセッサ50は、アラーム信号ALを、音声データとして生成してもよい。この場合、プロセッサ50は、予防保全装置14、通信機器42、又は外部機器16に設けられたスピーカ(図示せず)を通して、アラーム信号ALを音声として出力してもよい。
【0064】
事故防止プロセスAPの他の例として、プロセッサ50は、ロボット20の動作を停止させてもよい。具体的には、プロセッサ50は、ロボット20を停止させる緊急停止指令を、通信ネットワーク18を通して制御装置24に送信する。該緊急停止指令に応じて、制御装置24は、ロボット20のサーボモータ40を停止させ、以って、ロボット20の動作を停止させる。
【0065】
事故防止プロセスAPのさらに他の例として、プロセッサ50は、ロボット20に退避行動を実行させてもよい。具体的には、プロセッサ50は、ロボット20を退避させる退避指令を、通信ネットワーク18を通して制御装置24に送信する。該退避指令に応じて、制御装置24は、ロボット20を、予め定められた退避経路に沿って、予め定められた退避位置まで退避させる。
【0066】
上述のように、プロセッサ50は、変更情報CHI
nが承認されていないと判定(つまり、ステップS6でNOと判定)された場合に、ステップS7において事故防止プロセスAP(アラーム信号ALの生成、ロボット20の緊急停止又は退避行動等)を実行する。したがって、本実施形態においては、プロセッサ50は、事故防止プロセスAPを実行するプロセス実行部68(
図1)として機能する。ステップS7の後、プロセッサ50は、ステップS8に進む。
【0067】
ステップS8において、プロセッサ50は、オペレータA2、上位コントローラ、又はコンピュータプログラムから、動作終了指令を受け付けたか否かを判定する。プロセッサ50は、動作終了指令を受け付けた場合はYESと判定し、
図3に示すフローを終了する一方、動作終了指令を受け付けていない場合はNOと判定し、ステップS1へ戻る。
【0068】
以上のように、本実施形態においては、プロセッサ50は、データ取得部62、入力受付部64、承認判定部66、及びプロセス実行部68として機能し、変更情報CHInの変更履歴データHISを記憶する記憶部52と協働して、動作プログラムOPnを管理する。
【0069】
したがって、本実施形態においては、プロセッサ50(データ取得部62、入力受付部64、承認判定部66、プロセス実行部68)、及び記憶部52は、動作プログラムOP
nを管理する管理装置70(
図1)を構成する。すなわち、本実施形態では、管理装置70は、予防保全装置14に実装されている。
【0070】
管理装置70においては、データ取得部62は、変更情報CHInと実行情報EIとを取得し、入力受付部64は、変更情報CHInを承認する入力IPanを受け付け、承認判定部66は、実行されている動作プログラムOPnの変更情報CHInが承認されているか否かを判定し、プロセス実行部68は、変更情報CHInが承認されていないと判定された場合に事故防止プロセスAPを実行する。
【0071】
この構成によれば、未承認の動作プログラムOPnが実行されていることを迅速に発見し、該未承認の動作プログラムOPnによって予期せぬ事故(例えば、ロボット20の動作不良又はロボット20と周辺環境物との干渉等によって作業ラインが停止してしまう事故)が発生してしまうのを、未然に防止できる。その結果、作業効率を向上させることができる。
【0072】
また、管理装置70においては、プロセス実行部68は、事故防止プロセスAPの一例として、アラーム信号ALを生成する。この構成によれば、未承認の動作プログラムOPnがロボットシステム12で実行されていることをオペレータA2に確実に通知することができる。
【0073】
なお、実行情報EIは、実行されている動作プログラムOPnを特定する情報として、上述のバージョン情報VERn又は時刻t1若しくはt4をさらに含んでもよい。この場合において、プロセッサ50は、上述のステップS6において、直近に取得した実行情報EIに含まれるバージョン情報VERn又は時刻t1、t4を、記憶部52に記憶された変更履歴データHIS(表1)と照らし合わせて、該バージョン情報VERn又は時刻t1、t4に対応する変更情報CHInを、該変更履歴データHISから検索してもよい。プロセッサ50は、このように検索した変更情報CHInの承認フラグF1を参照することで、該変更情報CHInが承認されているか否かを判定できる。
【0074】
次に、
図4を参照して、予防保全装置14の他の機能について説明する。上述したように、プロセッサ50は、動作プログラムOP
nの実行中に供給された動作状態データOD又は異常識別コードCDに基づいて、ロボットシステム12の異常を検知する。このような異常は、実行された動作プログラムOP
nが不適切であることに起因して生じ得る。
【0075】
したがって、異常が検知されたとき、オペレータA1及びA2は、直近の変更CHn後の動作プログラムOPnを破棄し、上述の変更履歴データHISに格納されている、直近の変更CHnよりも前に行われた変更CHm(m<n)後の動作プログラムOPmを復元したい場合がある。そこで、本実施形態においては、プロセッサ50は、プログラム復元部72としてさらに機能し、過去の動作プログラムOPmを復元する。
【0076】
一例として、プロセッサ50は、異常を検知したときに、変更履歴データHISに格納された複数の変更情報CHInのうちの1つを選択するための選択画像SIMを生成し、表示装置58に表示させる。選択画像SIMは、表1に示すような変更履歴データHISの画像を含み、オペレータA2は、入力装置56を操作して、選択画像SIMに表示されている変更履歴データHISの中から、1つの変更情報CHIm(具体的には、「バージョン情報」、「時刻」又は「格納データ」)を画像上でクリックすることで選択できるようになっている。
【0077】
プロセッサ50は、入力受付部64として機能し、入力装置56を通して、変更履歴データHISの中から、変更CHmを示す変更情報CHImを選択する入力IPsを受け付ける。例えば、表1の例の場合、直近の変更CH3よりも前の動作プログラムOPmとして、初期の動作プログラムOP0、第1回目の変更CH1後の動作プログラムOP1、及び、第2回目の変更CH2後の動作プログラムOP2がある。
【0078】
この場合において、オペレータA2が、変更履歴データHISの中から、第2回目の変更CH2を示す変更情報CHI2(つまり、バージョン情報「VER.002」)を選択したとすると、プロセッサ50は、変更履歴データHISに基づいて、変更CH2後の動作プログラムOP2を復元する。
【0079】
一例として、変更情報CHInに含まれる変更内容データCHDnが、変更箇所(つまり、変更又は追加された命令文CM又は動作パラメータPR)のみを有する場合、プロセッサ50は、表1の「VER.000」の「格納データ」として格納されている動作プログラムOP0と、「VER.001」の「格納データ」として格納されている変更内容データCHD1(つまり、変更CH1の変更箇所)と、「VER.002」の「格納データ」として格納されている変更内容データCHD2(つまり、変更CH2の変更箇所)とから、変更CH2後の動作プログラムOP2を復元できる。
【0080】
他の例として、変更内容データCHDnが、変更後の動作プログラムOPn自体(つまり、全ての命令文CM及び動作パラメータPR)を有する場合、プロセッサ50は、「VER.002」の「格納データ」として格納されている動作プログラムOP2を読み出すことで、該動作プログラムOP2を復元できる。
【0081】
このようにして、プロセッサ50は、変更履歴データHISに基づいて、直近の変更CHnよりも前に行われた変更CHm後の動作プログラムOPmを復元する。したがって、本実施形態においては、プロセッサ50は、動作プログラムOPmを復元するプログラム復元部72として機能する。そして、プロセッサ50は、復元した動作プログラムOPmを、通信ネットワーク18を介して通信機器42(例えば、制御装置24)に供給する。
【0082】
なお、オペレータA2が初期の動作プログラムOP
0:「VER.000」を選択した場合、プロセッサ50は、「VER.000」の「格納データ」として格納されている動作プログラムOP
0を読み出すことで復元できることを理解されよう。以上のように、本実施形態においては、プロセッサ50(データ取得部62、入力受付部64、承認判定部66、プロセス実行部68、プログラム復元部72)、及び記憶部52は、動作プログラムOP
nを管理する管理装置80(
図1)を構成する。
【0083】
管理装置80においては、記憶部52は、変更CHnが繰り返し加えられる毎にデータ取得部62が取得した複数の変更情報CHInを変更履歴データHST(表1)として記憶し(上述のステップS1)、プログラム復元部72は、変更履歴データHSTに基づいて、直近の変更CHnよりも前に行われた変更CHm後の動作プログラムOPmを復元する。
【0084】
この構成によれば、直近の変更CHn後の動作プログラムOPnを実行することでロボットシステム12に異常が発生した場合に、過去の動作プログラムOPmを復元し、例えば、復元した動作プログラムOPmに従ってロボット20を動作させることで異常を解消できるか否かを試行することができる。その結果、作業ラインでの作業を継続できる可能性を高めることができるので、作業効率の向上に繋がり得る。
【0085】
また、管理装置80においては、入力受付部64は、変更履歴データHSTの中から、1つの変更情報CHI2を選択する入力IPsを受け付け、プログラム復元部72は、入力受付部64が受け付けた入力IPsに応じて、変更CH2後の動作プログラムOP2を復元する。この構成によれば、オペレータA2は、復元すべき動作プログラムOPmを任意に選択することができる。
【0086】
なお、プロセッサ50は、上述の選択画像SIMにおいて、承認済みの変更情報CHIm(又は、承認済みの初期の動作プログラムOP0)のみを表示してもよい。具体的には、プロセッサ50は、異常を検知したときに、記憶部52に格納されている変更履歴データHISにおいて、直近の変更CHnよりも前に行われた変更CHmを示す変更情報CHImの各々の承認フラグF1を参照する。
【0087】
そして、プロセッサ50は、承認フラグF1が付与されている変更情報CHIm(及び、初期の動作プログラムOP0)のみを表示した選択画像SIMを生成する。例えば、表1の例の場合、プロセッサ50は、承認フラグF1が付与されている初期の動作プログラムOP0(バージョン情報:「VER.000」)、変更情報CHI1(バージョン情報:「VER.001」)、及び変更情報CHI2(バージョン情報:「VER.002」)のみを表示した選択画像SIMを生成することになる。
【0088】
そして、プロセッサ50は、入力受付部64として機能して、選択画像SIMに表示された動作プログラムOP0、変更情報CHI1、又は変更情報CHI2を選択する入力IPsを受け付ける。この構成によれば、オペレータA2は、過去に承認された変更情報CHIm(又は初期の動作プログラムOP0)を即座に認識することができ、承認済みの変更情報CHIm(又は初期の動作プログラムOP0)の中から、復元すべきものを選択できる。
【0089】
なお、プロセッサ50は、上述の選択画像SIMにおいて、過去に異常が検知されていない変更情報CHIm(又は初期の動作プログラムOP0)のみを表示してもよい。具体的には、プロセッサ50は、動作プログラムOPnの実行中に異常を検知したときに、記憶部52に格納された変更履歴データHISにおいて、実行された動作プログラムOPnに対応する変更情報CHInの付帯情報として、異常が検知されたことを示す異常フラグF2を付与する。このような変更履歴データHISの一例を以下の表2に示す。
【0090】
【0091】
表2に示す例では、「異常フラグ」の列に示されている「〇」は、異常が検知されたことを表す異常フラグF2が付与されていることを示す一方、「異常フラグ」の列中の「×」は、異常フラグF2が付与されていない(又は、異常が未検知であることを表すフラグが付与されている)ことを示している。
【0092】
例えば、表2の例では、「VER.003」に対応する、第3回目の変更CH3を示す変更情報CHI3に対して異常フラグF2が付与されており(つまり、「異常フラグ」が「〇」)、故に、該変更CH3後の動作プログラムOP3の実行中に異常が検知されたことを表している。
【0093】
一方、第1回目の変更CH1を示す変更情報CHI1に対しては、異常フラグF2が付与されておらず(つまり、「異常フラグ」が「×」)、故に、該変更CH1後の動作プログラムOP1の実行中には、異常が検知されなかったことを表している。プロセッサ50は、変更履歴データHISに格納された各々の変更情報CHIn(及び、初期の動作プログラムOP0)について異常フラグF2の有無(「〇」又は「×」)を参照することによって、各々の変更情報CHInに対応する動作プログラムOPnについて異常が検知されたか否かを判定できる。
【0094】
プロセッサ50は、動作プログラムOPnの実行中に異常を検知したときに、実行されている該動作プログラムOPnの変更情報CHIn(又は、初期の動作プログラムOP0)の付帯情報として、異常フラグF2を付与する。例えば、実行情報EIにバージョン情報VERnが含まれる場合、プロセッサ50は、動作プログラムOPnの実行中に異常を検知したとき、該動作プログラムOPnの実行情報EIに含まれるバージョン情報VERnを参照し、該バージョン情報VERnに対応する変更情報CHIn(又は、初期の動作プログラムOP0)の付帯情報として、異常フラグF2を付与してもよい。こうして、プロセッサ50は、表2に示すような変更履歴データHISを作成できる。
【0095】
そして、プロセッサ50は、上述の選択画像SIMにおいて、異常が検知されていない変更情報CHIm(又は初期の動作プログラムOP0)のみを表示する。具体的には、プロセッサ50は、記憶部52に格納されている変更履歴データHISにおいて、直近の変更CHnよりも前に行われた変更CHmを示す変更情報CHImの各々の異常フラグF2を参照する。
【0096】
そして、プロセッサ50は、異常フラグF2が付与されていない変更情報CHIm(及び初期の動作プログラムOP0)のみを表示した選択画像SIMを生成する。例えば、表2の例の場合、プロセッサ50は、直近の変更CH3後の動作プログラムOP3の実行中に異常を検知し、変更履歴データHISにおいて、「VER.003」に対応する、第3回目の変更CH3を示す変更情報CHI3に対して異常フラグF2を付与している。
【0097】
この場合、プロセッサ50は、変更履歴データHISにおいて、直近の変更CH3よりも前の、初期の動作プログラムOP0(バージョン情報「VER.000」)、第1回目の変更CH1を示す変更情報CHI1(バージョン情報「VER.001」)、及び、第2回目の変更CH2を示す変更情報CHI2(バージョン情報「VER.002」)の各々の異常フラグF2を参照する。
【0098】
表2の例では、変更情報CHI1及びCHI2に異常フラグF2が付与されていないので、プロセッサ50は、変更情報CHI1及びCHI2のみを表示した選択画像SIMを生成することになる。そして、プロセッサ50は、入力受付部64として機能して、選択画像SIMに表示された変更情報CHI1又はCHI2を選択する入力IPsを受け付ける。
【0099】
この構成によれば、オペレータA2は、過去に異常が検知された変更情報CHIm(又は初期の動作プログラムOP0)を即座に認識することができ、異常が検知されていない変更情報CHIm(又は初期の動作プログラムOP0)の中から、復元すべきものを選択できる。
【0100】
なお、プロセッサ50は、承認フラグF1と異常フラグF2とを組み合わせて、選択画像SIMに表示する変更情報CHIm(又は初期の動作プログラムOP0)を変更履歴データHISから抽出してもよい。例えば、プロセッサ50は、変更履歴データHISの中から、承認フラグF1が付与されており、且つ、異常フラグF2が付与されていない条件(つまり、「承認フラグ」=「〇」 AND 「異常フラグ」=「×」)を満たす変更情報CHIm(又は初期の動作プログラムOP0)を抽出する。
【0101】
例えば、表2の例の場合、プロセッサ50は、この条件を満たすものとして、変更情報CHI1(バージョン情報:「VER.001」)を抽出することになる。プロセッサ50は、このように抽出した変更情報CHI1のみを表示した選択画像SIMを生成する。この構成によれば、オペレータA2は、承認の有無と異常検知の有無という複数の条件を満たす動作プログラムOPmを、選択的に復元することが可能となる。
【0102】
なお、プロセッサ50は、オペレータA2による選択画像SIMへの入力IPsを受けることなく、予め定められた条件CTに従って、動作プログラムOPmを自動で復元してもよい。例えば、条件CTとして、直近の変更CHnよりも前に行われた変更CHmを示すものであり、承認フラグF1が付与されており、且つ、異常フラグF2が付与されていない変更情報CHImの中で最新のものという条件が定められ得る。
【0103】
プロセッサ50は、異常を検知したときに、選択画像SIMを生成することなく、条件CTに従って、変更履歴データHISの中から条件CTを満たす変更情報CHImを抽出する。そして、プロセッサ50は、変更履歴データHISに基づいて、抽出した変更情報CHImに対応する動作プログラムOPmを自動で復元し、通信ネットワーク18を通して通信機器42(例えば、制御装置24)に供給してもよい。
【0104】
なお、上述の実施形態において、教示装置26は、上述の変更情報CHInとともに、承認要求を予防保全装置14に発信してもよい。この承認要求は、予防保全装置14のオペレータA2に、変更情報CHInに対する承認を促すためのものであって、例えば、「動作プログラムに変更を加えました。この変更を承認してください」というテキストを表示する画像(又は音声)のデータを含む。
【0105】
予防保全装置14のプロセッサ50は、承認要求を受信すると、該承認要求に含まれる画像(又は音声)を、表示装置58に表示(又は、スピーカを通して出力)する。この構成によれば、予防保全装置14のオペレータA2は、承認の可否を確認すべき動作プログラムOPnへの変更Chnが行われたことを、確実に認識できる。
【0106】
なお、上述の変更情報CHInは、付帯情報として、変更CHnを行ったオペレータA1の識別情報(ID番号等)、変更理由、変更CHnに使用された教示装置26の識別番号(製品番号等)をさらに含んでもよい。この場合において、予防保全装置14のプロセッサ50は、上述の変更履歴データHISに、これら識別情報及び変更理由を格納してもよい。
【0107】
また、上述の実施形態においては、教示装置26が、動作プログラムOPnにバージョン情報VERnを付与する場合について述べた。しかしながら、これに限らず、予防保全装置14のプロセッサ50が、動作プログラムOPnにバージョン情報VERnを付与してもよい。
【0108】
具体的には、教示装置26は、初期の動作プログラムOP0を作成したとき、作成した動作プログラムOP0を、プログラム名NM、及びプログラム作成時刻t3等を含む付帯情報とともに、通信ネットワーク18を介して予防保全装置14に供給する。予防保全装置14のプロセッサ50は、取得した動作プログラムOP0に、初期のバージョン情報VER0(例えば「VER.000」)を付与し、上述の変更履歴データHISとして記憶部52に格納する。
【0109】
また、教示装置26は、動作プログラムOPn-1に変更CHnを加えて動作プログラムOPnに更新したときに、プログラム名NM及び変更時刻t4等の付帯情報と変更内容データCHDnとを含む変更情報CHInを、予防保全装置14に供給する。予防保全装置14のプロセッサ50は、変更情報CHInを取得したときに、該変更情報CHInによって示される変更CHn後の動作プログラムOPnに新たなバージョン情報VERnを付与し、変更履歴データHISとして記憶部52に格納する。
【0110】
なお、上述した表1及び表2は、一例であって、如何なる行数の変更情報CHInが変更履歴データHISに格納されてもよいし、変更履歴データHISに、「バージョン情報」、「時刻」、「格納データ」、及び「承認フラグ」に加えて(又は代わりに)、如何なるパラメータ(例えば、上述の変更理由)が格納されてもよい。
【0111】
また、上述の実施形態においては、プロセッサ50が、変更情報CHInに付帯されたバージョン情報VERn又は変更時刻t4を参照して、直近に取得された変更情報CHInを変更履歴データHISから検索する(ステップS6)場合について述べた。しかしながら、これに限らず、変更情報CHInに、バージョン情報VERn又は変更時刻t4の代わりに(又は、加えて)、変更CHnが加えられた時系列の順序を特定可能な如何なる情報を付帯させてもよい。例えば、プロセッサ50は、変更情報CHInに、取得した順序で番号を付し、該番号によって直近の変更情報CHInを検索することもできる。
【0112】
また、上述の実施形態においては、ステップS4において、プロセッサ50が、変更情報CHInを承認するプロセスとして、変更情報CHInの付帯情報に承認フラグF1を付与する場合について述べた。しかしながら、これに限らず、プロセッサ50は、変更情報CHInを承認するプロセスとして、変更情報CHInが承認済みであることを識別可能とする如何なるデータ処理を行ってもよい。
【0113】
例えば、プロセッサ50は、変更情報CHInのバージョン情報VERnに、承認済みであることを示す文字又は記号を追加する(例えば、「VER.002」を、「VER.002.AP」に変更する)ことで、該変更情報CHInが承認済みであることを識別可能としてもよい。
【0114】
この場合、プロセッサ50は、ステップS6において、ステップS4の承認プロセスで実行されたデータ処理を参照することで、変更情報CHInが承認されているか否かを判定できる。また、変更情報CHIn又は実行情報EIは、上述の実施形態において例示した情報に限らず、他の如何なる情報を含んでもよい。
【0115】
また、上述の実施形態においては、管理装置70及び80が、予防保全装置14に実装されている場合について述べた。しかしながら、これに限らず、管理装置70又は80は、通信機器42に実装されてもよい。例えば、管理装置70又は80が制御装置24に実装された場合、該制御装置24のプロセッサ及び記憶部が、管理装置70又は80を構成する。制御装置24のプロセッサは、
図3に示すフロー実行することで、動作プログラムOPを管理する。この場合において、制御装置24のプロセッサは、動作プログラムOPを実行したときに、実行情報EIを生成して、ステップS5でYESと判定する。
【0116】
一方、管理装置70又は80が教示装置26に実装された場合、該教示装置26のプロセッサ及び記憶部が、管理装置70又は80を構成する。教示装置26のプロセッサは、
図3に示すフロー実行することで、動作プログラムOPを管理する。この場合において、教示装置26のプロセッサは、オペレータA1からの入力IPc
nに応じて動作プログラムOP
n-1に変更CH
nを加えたとき、変更情報CHI
nを生成して、ステップS1でYESと判定する。以上、実施形態を通じて本開示を説明したが、上述の実施形態は、特許請求の範囲に係る発明を限定するものではない。
【符号の説明】
【0117】
10 ネットワークシステム
12 ロボットシステム
14 予防保全装置
16 外部機器
18 通信ネットワーク
20 ロボット
24 制御装置
26 教示装置
50 プロセッサ
62 データ取得部
64 入力受付部
66 承認判定部
68 プロセス実行部
70,80 管理装置
72 プログラム復元部