(58)【調査した分野】(Int.Cl.,DB名)
前記コマンド動作データ管理手段は、前記動作の履歴管理として、前記コマンドに対応する期間の前記位置データからタクトモーションを表示し、及び/又は、前記コマンドに対応する期間の前記サーボデータからトルクモーションを表示する
ことを特徴とする請求項1又は2に記載の動作履歴管理システム。
前記コマンド動作データ管理手段は、前記トラブル対応として、トラブルの直前の特定期間の前記コマンドを検索し、対応した位置データ及び/又はサーボデータをトラブル対応に関するデータとして出力する
ことを特徴とする請求項1乃至4のいずれか1項に記載の動作履歴管理システム。
【発明を実施するための形態】
【0016】
<実施の形態>
〔動作履歴管理システムXの構成〕
図1A、
図1Bを参照して、本発明の実施の形態に係る動作履歴管理システムXの構成について説明する。動作履歴管理システムXは、管理装置1、上位装置2、コントローラ3、及び産業用ロボット4を含んで構成される。このうち、管理装置1は、ネットワーク5を介してコントローラ3と接続されている。また、ネットワーク5には、管理者用のユーザ端末6が接続されている。
【0017】
管理装置1は、コントローラ3と接続された管理用のPC(Personal Computer)等である。管理装置1は、管理用プログラム(図示せず)を実行して、コントローラ3からの各種データを取得し、産業用ロボット4の動作履歴を管理する。
【0018】
上位装置2は、産業用ロボット4の動作指示(以下、「コマンド」という。)をコントローラ3に送信する装置である。具体的には、上位装置2は、PLC(Programmable Logic Controller)、PC等である。
【0019】
図1Bによると、産業用ロボット4は、上位装置2から送信されたコマンドに対応して動作する装置である。具体的に、産業用ロボット4は、例えば、液晶パネルや半導体製造工程で使用され、アームにより各種物品を把持する多関節ロボット等である。このような産業用ロボット4の一例としては、例えば、特開平11−333768号に記載のロボットが挙げられる。
【0020】
簡単に説明すれば、産業用ロボット4は、基台と、基台に旋回可能に支持されたハンド部(例えば、第一ハンド部、第二ハンド部)と、基台を水平方向へ移動させる水平移動機構とから主に構成されている。
【0021】
基台は、固定された基台下部に対して基台上部が回動可能に設けられている。基台上部は、その回動中心に回動軸が設けられている。回動軸には、基台上部自体を回動軸の中心として軸回りに回転させるモータ(以下、「TH」で示す。)が設けられている。
【0022】
また、回動軸には、上下方向に駆動可能なリニアアクチュエータが取り付けられている。これにより、基台上部が上下方向に移動可能とされ、基台下部に対して回動軸ごと上下動することが可能である。本実施形態では、このリニアアクチュエータは、第一上下駆動用モータ(以下、「Z1」で示す。)と、第二上下駆動用モータ(以下、「Z2」で示す。)と、2つの上下駆動用モータを用いて駆動している。
【0023】
さらに、産業用ロボット4は、水平方向(たとえば、左右方向)へ移動可能に基台を支持するベース部材と、ベース部材に対して基台を水平方向へ移動させる水平移動機構とを備えている。この水平移動機構は、走行用駆動モータ(以下、「X」で示す。)により駆動している。
【0024】
ハンド部は、第一ハンド部及び第二ハンド部を含んでいる。第一ハンド部は、第一アーム(第一基台側アーム及び第一ハンド側アーム)と、第一ハンドとで構成される。第二ハンド部は、第二アーム(第二基台側アーム及び第二ハンド側アーム)と、第二ハンドとで構成される。
【0025】
ハンド駆動について、第一ハンド部は、第一ハンド部駆動用モータ(以下、符号「R1」で示す。)により駆動される。第二ハンド部は、第二ハンド部駆動用モータ(以下、「R2」で示す。)により駆動される。これら第一、第二駆動用モータは基台内に収納される。
【0026】
さらに、産業用ロボット4は、水平方向(たとえば、左右方向)へ移動可能に基台を支持するベース部材と、ベース部材に対して基台を水平方向へ移動させる水平移動機構とを備えている。
【0027】
上述した多関節ロボット4は、基台に関節部を介して第一基台側アームの一端側を回動可能に連結する。一方、第一基台側アームの他端側に第一ハンド側アームを回動可能に連結する。このように、第一基台側アームと第一ハンド側アームに伸縮動作をさせることによって、第一ハンド側アーム先端が所定経路を移動するように構成されている。この場合、連結部において連結される第一基台側アームおよび第一ハンド側アームは、その機構上第一ハンド側アーム先端が真っすぐに移動するように設けられている。このため、第一ハンド側アームの先端の軌跡である所定経路は、直線状となる。
【0028】
また、第一ハンド側アームの先端には、第一ハンドが、ガラスや半導体ウェファ等の素材(以下、「ワーク」という。)を保持したまま搬送できるように設けられている。したがって搬送されるワークは、所定経路上若しくはこれと平行な直線上を移動することとなり、そのときの方向がすなわちワーク若しくは第一ハンドの移動方向となる。
なお、第二ハンドは第一ハンドと同様の動作を行うので、ここでの説明は省略する。また、産業用ロボット4は、これらの駆動部の位置やトルクや各部の温度等をコントローラ3に送信するエンコーダやセンサ等を備えている。
【0029】
ネットワーク5は、LAN(Local Area Network)やWAN(Wide Area Network)等のネットワークである。具体的には、ネットワーク5は、例えば、1000Base−Tや10GBASE−SR等のイーサネット(登録商標)、無線LAN、携帯電話網、インターネット(登録商標)等である。
【0030】
コントローラ3は、上位装置2からのコマンドを受信し、産業用ロボット4の動作を制御する装置である。また、コントローラ3は、上位装置2からのコマンドと、産業用ロボット4からの各種データをリアルタイム(実時間)で取得し、管理装置1へ送信する。
【0031】
ユーザ端末6は、管理装置1からの電子メール、チャットデータ、メッセンジャーのメッセージ等(以下、「メール」という。)を受信可能な端末である。具体的には、PC、タブレット端末、PDA(Personal Data Assistant)、スマートフォン、携帯電話、スマートウォッチ(Smart Watch)等である。ユーザ端末6は、産業用ロボット4のメンテナンスを行うユーザが使用する。このため、ユーザ端末6は、コントローラ3とリモート接続可能であってもよい。
【0032】
なお、上位装置2は、図示しない他のコントローラ3や、他の管理装置1等と接続されている。また、コントローラ3は、複数備えられていてもよい。また、管理装置1は、当該複数のコントローラ3からのデータを取得して管理可能である。また、図示しないものの、例えば、産業用ロボット4以外の工場の装置もネットワーク5に接続されている。
【0033】
次に、
図2A及び
図2Bにより、本発明の実施の形態に係る管理装置1の詳細について説明する。
管理装置1は、主に、制御部10、記憶部20、I/O部30、表示部40、及び入力部50を含んで構成される。
【0034】
制御部10は、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)等の制御演算手段である。
【0035】
記憶部20は、RAM(Random Access Memory )、ROM(Read Only Memory)やHDD(Hard Disk Drive)、フラッシュメモリ(Flash Memory)等の一時的でない記録媒体である。
【0036】
I/O部30は、外部の機器と接続するためのチップセット(Chipset)、I/O(Input / Output)等の回路とインターフェイスである。I/O部30は、ネットワーク5に接続するためのネットワークインターフェイス、RS−232CやUSB等の汎用シリアルインターフェイス、パラレルインターフェイス、デジタルビデオインターフェイス等を含んでいる。
【0037】
表示部40は、液晶ディスプレイ、有機EL(Organic Electro-Luminescence)ディスプレイ等のドットマトリクスディスプレイ及びLED(Light Emitting Diode)等を含んでいる。表示部40には、動作履歴の管理をするためのGUI(Graphical User Interface)により、各種データやグラフ等が表示される。
【0038】
入力部50は、キーボードやスイッチ、マウスやデジタイザ等のポインティングデバイス、タッチパネル等のユーザの指示を入力する入力手段である。
【0039】
なお、管理装置1は、他にも、図示しないプリンタ等の出力手段、ユーザ認証手段、及びカメラ等を備えていてもよい。
また、表示部40と入力部50とは一体的に形成されていてもよい。
【0040】
より詳しく説明すると、制御部10は、コマンド動作データ保存処理部100(コマンド動作データ保存処理手段)、及びコマンド動作データ管理部110(コマンド動作データ管理手段)を備えている。
また、記憶部20は、コマンド動作データ200、及びメールアドレス210を記憶する。
【0041】
コマンド動作データ保存処理部100は、コントローラ3から各種データを取得する。この各種データは、上位装置2からのコマンドと、産業用ロボット4の位置データ310(
図2B)及びサーボデータ320が含まれる。コマンド動作データ保存処理部100は、この各種データのうち、コマンドに他のデータを対応付けし、コマンド動作データ200として、記憶部20に保存する。
また、コマンド動作データ保存処理部100は、指定された特定間隔で、コマンド動作データ200のサーボデータ320の少なくとも一部を、特定トルクデータ340として保存する。この際、コマンド動作データ保存処理部100は、特定トルクデータ340を、記憶部20に特定期間以上保存する。この特定間隔は、例えば、数時間〜数ヶ月といったトルクを取得するための時間間隔が、ユーザにより記憶部20に設定される。
【0042】
コマンド動作データ管理部110は、コマンド動作データ保存処理部100により保存されたコマンドを検索する。また、コマンド動作データ管理部110は、検索されたコマンドに対応する位置データ310及び/又はサーボデータ320、及びこれらのデータから作成されるグラフ等をGUIにて表示し、又はユーザ端末6へ出力する。
【0043】
具体的には、本実施形態では、コマンド動作データ管理部110は、動作履歴管理手段、予防保全手段、故障診断手段として機能する。コマンド動作データ管理部110は、履歴管理、予防保全、及び故障診断としてのトラブル対応についてのコマンドの検索と、コマンドに対応する位置データ310及び/又はサーボデータ320をGUIにて表示し、又はユーザ端末6へ出力する。
この際、コマンド動作データ管理部110(動作履歴管理手段)は、動作の履歴管理として、コマンドに対応する期間のサーボデータ320からトルクモーションのグラフを表示し、及び/又は、コマンドに対応する期間の位置データ310からタクトモーションのグラフを表示する。
【0044】
また、コマンド動作データ管理部110(予防保全手段)は、予防保全として、特定のトルクデータの特定間隔での変化を表示する。
また、コマンド動作データ管理部110(故障診断手段)は、トラブル対応として、トラブルの直前の特定期間のコマンドを検索し、対応した位置データ310及び/又はサーボデータ320をトラブル対応に関するデータとして出力する。
さらに、コマンド動作データ管理部110(故障診断手段)は、トラブル対応に関するデータからトラブルの原因特定に必要なデータを抽出して、メールアドレス210へメールで送信する。
【0045】
コマンド動作データ200は、コントローラ3から送信され、ネットワーク5を介して受信された各種データを、コマンド動作データ保存処理部100により記憶部20に記憶した本実施形態における動作履歴のデータである。
コマンド動作データ200の詳細については、後述する。
【0046】
メールアドレス210は、トラブル対応の際に送信するメールの宛先を示すアドレスである。具体的には、メールアドレス210は、産業用ロボット4のメンテナンスを行うユーザのアドレスである。つまり、ユーザは、メールアドレス210宛のメールをユーザ端末6で受信して閲覧できる。
【0047】
なお、制御部10は、記憶部20に記憶された図示しない制御プログラムをRAM等に展開して実行することで、コマンド動作データ保存処理部100及びコマンド動作データ管理部110として機能する。
【0048】
次に、
図2Bにより、コマンド動作データ200の詳細について説明する。
コマンド動作データ200は、コマンドデータ300に対応付けされた複数の位置データ310並びにサーボデータ320、及び特定トルクデータ340を含んでいる。
【0049】
コマンドデータ300は、各種イベント(Event)と、時刻データ(Time data)と、コマンドに伴うコンテンツデータ(Contents Data)とを含んでいる。
【0050】
このうち、各種イベントは、上位装置2のコマンド及び産業用ロボット4の各種動作を示すステートのデータを含んでいる。
コマンドは、例えば、ワークの入ったカセットと、カセットのあるスロット等を指定して、取り出し(GET)や置く(PUT)等の動作を指示する。つまり、GETのコマンドは、産業用ロボット4に、特定のカセットの特定のスロットから、特定の速度でワークを取り出すことを指示する。また、PUTのコマンドは、逆に、現在、産業用ロボット4が把持しているワークを、特定のカセットの特定のスロットに、特定の速度で置くことを指示する。また、コマンドは、産業用ロボット4の稼働を開始(RUN)させたり、停止(STOP)させたりする指示、カセットやスロットの位置を設定するティーチの指示等も含む。
【0051】
また、ステートは、産業用ロボット4の各種整備(オーバーホール)、動作エラー等のトラブル、ファームウェアのアップデート、省電力モードの有無等の各種状態のデータを含んでいる。
また、時刻データは、例えば、日付(Date)及び時刻(Time)のデータをミリ秒〜秒単位で含んでいる。
また、コンテンツデータは、イベントの文字データ(テキスト)であるコンテンツ(Contents)、コマンドに伴う各種バイナリ(数値)データ等を含んでいる。
【0052】
位置データ310は、産業用ロボット4の各駆動部の位置を示すデータである。具体的に、この位置のデータは、各駆動部に接続されたエンコーダ等から、インクリメンタル信号や絶対値位置信号等として取得したデータから算出される。この位置データ310から、各駆動部の位置を「タクトモーション」としてグラフ化することが可能である。
【0053】
サーボデータ320は、産業用ロボット4の各駆動部のサーボ機構のデータである。具体的に、このサーボデータ320は、例えば、各駆動部に流れた電流を電流計で測定したものが、各駆動部のトルクの値として算出されたデータである。
このサーボデータ320から、各駆動部のトルクを「トルクモーション」としてグラフ化することが可能である。
【0054】
特定トルクデータ340は、サーボデータ320に含まれる特定のトルクの値等が、特定間隔毎に保存されたデータである。この特定のトルクの値は、ユーザにより設定された特定のコマンドに対応する特定の駆動部のトルクの値を含む。
【0055】
なお、位置データ310及びサーボデータ320は、膨大な容量となるため、管理装置1の記憶部20の容量やユーザの設定等に対応して、特定の期間、例えば数ヶ月程度保存され、それ以降は古いものから削除される。
しかしながら、特定トルクデータ340については、この特定の期間よりも長く、例えば一年〜数十年単位で保存される。
【0056】
〔動作履歴保存処理〕
次に、
図3により、本発明の実施の形態に係る動作履歴保存処理の説明を行う。
本実施形態の動作履歴保存処理では、コントローラ3から各種データを取得した場合、上位装置2からのコマンドに対応付けして、記憶部20にコマンド動作データ200として保存する。
本実施形態の動作履歴保存処理は、主に制御部10のコマンド動作データ保存処理部100が、記憶媒体に記憶された制御プログラムを、各部と協働し、ハードウェア資源を用いて実行する。コマンド動作データ保存処理部100は、動作履歴の取得を開始した場合、常に待機しており、コントローラ3からの各種データを受信すると下記の処理を開始する。
以下で、
図3のフローチャートにより、動作履歴保存処理の詳細をステップ毎に説明する。
【0057】
(ステップS101)
まず、コマンド動作データ保存処理部100が、各種データ受信処理を行う。
コマンド動作データ保存処理部100は、コントローラ3が送信した各種データを、ネットワーク5経由でI/O部30で受信する。
また、コマンド動作データ保存処理部100は、指定された特定間隔で、コマンド動作データ200のサーボデータ320を、特定トルクデータ340として保存する。この際、コマンド動作データ保存処理部100は、特定トルクデータ340を、記憶部20に特定期間以上保存する。
なお、この動作履歴の取得の開始のタイミング、取得間隔等は、後述する
図5の表示欄609のボタン等により設定可能である。
【0058】
(ステップS102)
次に、コマンド動作データ保存処理部100が、コマンド対応付け保存処理を行う。
コマンド動作データ保存処理部100は、受信した各種データを解析して、上位装置2からのコマンドやステートを抽出する。この上で、コマンド動作データ保存処理部100は、抽出したコマンドやステート等から各種イベントを認識する。コマンド動作データ保存処理部100は、この各種イベントと、コマンドやステート等から抽出したコンテンツデータと、各種データを取得した時刻の時刻データとを含むコマンドデータ300を作成する。
また、コマンド動作データ保存処理部100は、各種データを解析し、産業用ロボット4からの位置データ310、及びサーボデータ320についても抽出する。この上で、コマンド動作データ保存処理部100は、作成されたコマンドデータ300と、抽出された位置データ310、及びサーボデータ320とを、インデックスとしてリンクする等して対応付ける。
コマンド動作データ保存処理部100は、対応付けが完了したデータを、コマンド動作データ200に含めて保存する。これにより、動作履歴のデータを保存できる。
【0059】
(ステップS103)
次に、コマンド動作データ保存処理部100が、特定間隔になったか否かを判定する。コマンド動作データ保存処理部100は、コマンドデータ300の時刻データを参照し、前回の特定トルクデータ340の保存から特定間隔が経過した場合に、Yesと判定する。コマンド動作データ保存処理部100は、それ以外の場合には、Noと判定する。
Yesの場合、コマンド動作データ保存処理部100は、処理をステップS104に進める。
Noの場合、コマンド動作データ保存処理部100は、動作履歴保存処理を終了する。
【0060】
(ステップS104)
特定間隔が経過した場合、コマンド動作データ保存処理部100が、特定トルクデータ340保存処理を行う。
コマンド動作データ保存処理部100は、コマンド動作データ200のサーボデータ320の特定のトルクの値を特定トルクデータ340に含めて保存する。
以上により、本発明の実施の形態に係る動作履歴保存処理を終了する。
【0061】
〔動作履歴検索出力処理〕
次に、
図4〜
図9Bにより、本発明の実施の形態に係る動作履歴検索出力処理の説明を行う。
本実施形態の動作履歴検索出力処理では、GUIにてユーザの指示を取得し、この指示に従ったコマンドを検索する。この上で、検索されたコマンドに対応する位置データ310及び/又はサーボデータ320をユーザの指示に対応した形式で表示し、履歴管理、予防保全、及びトラブル対応を実現する。また、トラブル対応の際に、ユーザへメールを送信する。
本実施形態の動作履歴検索出力処理は、主に制御部10のコマンド動作データ管理部110が、記憶媒体に記憶された制御プログラムを、各部と協働し、ハードウェア資源を用いて実行する。
以下で、
図4のフローチャートにより、動作履歴検索出力処理の詳細をステップ毎に説明する。
【0062】
(ステップS201)
まず、コマンド動作データ管理部110が、ユーザ指示コマンド検索処理を行う。
コマンド動作データ管理部110は、GUIにより、産業用ロボット4の動作の履歴管理の画面を表示部40に表示し、入力部50からユーザの指示を取得する。
コマンド動作データ管理部110は、取得したユーザの指示に対応したコマンド等をコマンド動作データ200から検索する。
【0063】
図5の画面例500により、ユーザ指示を取得するためのGUIの履歴管理画面について説明する。
表示欄600は、コマンドデータ300が動作履歴として表示される表示欄である。表示欄600の例では、列毎に、日付と時刻、各種イベント、コンテンツが表示されている。
図5の例では、この表示欄600のコマンドデータ300に、オーバーホール終了、自動運転中、停止させ動作のパラメータを変更、再起動でトラブルが起こったといった動作履歴の情報が一目で分かるように表示されている。
表示欄601は、表示欄600内でユーザが入力部50により選択したコマンドデータ300の箇所を示すカーソルである。
表示欄602は、動作履歴を表示する対象となる産業用ロボット4を選択するための選択欄である。
表示欄603は、表示欄600に表示する動作履歴の期間を選択する選択欄である。この動作履歴の期間が選択されると、コマンド動作データ管理部110は、コマンドデータ300の時刻データにより対応するコマンドを検索して、表示欄600に表示する。
【0064】
表示欄604は、トルクモーションのグラフを表示するための特定のコマンドを指定する欄である。表示欄604において、特定のコマンドとして、上位装置2からのコマンドの他に、各種イベントやステート等を指定してもよい。
表示欄605は、表示欄604で指定された特定のコマンドを検索するためのボタンである。このボタンが押下されると、コマンド動作データ管理部110は、対象となる産業用ロボット4について、選択された動作履歴の期間内で、特定のコマンドを含むコマンドデータ300を検索する。コマンド動作データ管理部110は、検索されたコマンドデータ300を表示欄600に表示する。
【0065】
表示欄606は、タクトモーションのグラフを表示するための特定のコマンドを指定する欄である。表示欄606においても、上位装置2からのコマンド、各種イベント、ステート等を指定可能である。
表示欄607は、タクトモーションのグラフを表示するためのボタンである。このボタンが押下されると、コマンド動作データ管理部110は、表示欄601のカーソルで選択された箇所のタクトモーションを表示する。
表示欄608は、表示欄606で指定された特定のコマンドを検索するためのボタンである。
【0066】
表示欄609は、リアルタイムに取得される位置データ310及びサーボデータ320の取得間隔(Cycle)を設定するためのボタンである。
表示欄610は、「アップデート」を指示するボタンである。コマンド動作データ管理部110は、各表示欄に設定された後、このボタンが押下された場合、この設定に対応したコマンドデータ300を再検索して表示欄600に表示する。
表示欄611は、予防保全のためのヒストリー解析(History Analysis)を指示するためのボタンである。
【0067】
(ステップS202)
次に、コマンド動作データ管理部110が、履歴管理を行うか否かを判定する。
コマンド動作データ管理部110は、表示欄601でカーソルで選択された箇所等を押下されたり、表示欄607のボタンを押下されたりした場合にYesと判定する。コマンド動作データ管理部110は、それ以外の場合には、Noと判定する。
Yesの場合、コマンド動作データ管理部110は、処理をステップS203に進める。
Noの場合、コマンド動作データ管理部110は、処理をステップS207に進める。
【0068】
(ステップS203)
履歴管理を行う場合、コマンド動作データ管理部110が、トルクモーション表示を行うか否かを判定する。コマンド動作データ管理部110は、表示欄601のカーソルの箇所がダブルクリック等された場合にYesと判定する。コマンド動作データ管理部110は、それ以外の場合には、Noと判定する。
Yesの場合には、コマンド動作データ管理部110は、処理をステップS204に進める。
Noの場合には、コマンド動作データ管理部110は、処理をステップS205に進める。
【0069】
(ステップS204)
トルクモーション表示を行う場合、コマンド動作データ管理部110が、トルクモーション表示処理を行う。
コマンド動作データ管理部110は、検索されたコマンドデータ300に対応するトルクモーションをグラフとして描画し、表示部40部に表示する。
図6Aを参照すると、画面例510は、表示欄600内で表示欄601のカーソルでトルクモーションのグラフ表示が選択された例を示している。コマンド動作データ管理部110は、このカーソルで選択されたイベントに対応したトルクモーションのグラフを作成する。
図6Bを参照すると、画面例520は、表示されたトルクモーションのグラフの例を示している。このグラフでは、選択されたコマンドの時刻を横軸、トルクの値を縦軸として、各駆動部のトルクの値がグラフとして描画されている。このグラフでは、各駆動部のトルクの定格値の2倍〜3倍等の値を、故障の原因となる「トルク警告レベル」として表示している。つまり、トルクモーションのグラフ内で、このトルク警告レベルを超えた箇所がある場合、駆動部のギアが故障していたり、アームが特定の位置で障害物に引っかかっていたり、ギアの特定の歯が欠けていたりといったような状態が、容易に判別可能となる。
【0070】
(ステップS205)
ここで、コマンド動作データ管理部110が、タクトモーション表示を行うか否かを判定する。コマンド動作データ管理部110は、表示欄607のボタンが押下された等の場合にYesと判定する。コマンド動作データ管理部110は、それ以外の場合には、Noと判定する。
Yesの場合には、コマンド動作データ管理部110は、処理をステップS206に進める。
Noの場合には、コマンド動作データ管理部110は、処理をステップS207に進める。
【0071】
(ステップS206)
タクトモーション表示を行う場合、コマンド動作データ管理部110が、タクトモーション表示処理を行う。
図7Aを参照すると、画面例530は、表示欄600内で表示欄601のカーソルでイベントが選択され、表示欄607のボタンにてタクトモーションのグラフ表示が選択された例を示している。コマンド動作データ管理部110は、このカーソルで選択されたイベントに対応したタクトモーションのグラフを作成する。
図7Bを参照すると、画面例540は、表示されたタクトモーションのグラフの例を示している。このグラフにおいては、選択されたコマンドの時刻を横軸、位置の値を縦軸として、各駆動部の位置の値がグラフとして描画されている。
なお、コマンド動作データ管理部110は、トルクモーションのグラフと、タクトモーションのグラフとを同時に表示することも可能である。
【0072】
(ステップS207)
次に、コマンド動作データ管理部110が、予防保全を行うか否かを判定する。コマンド動作データ管理部110は、表示欄611(
図5)のヒストリー解析のボタンが押下された場合に、Yesと判定する。コマンド動作データ管理部110は、それ以外の場合には、Noと判定する。
Yesの場合には、コマンド動作データ管理部110は、処理をステップS208に進める。
Noの場合には、コマンド動作データ管理部110は、処理をステップS209に進める。
【0073】
(ステップS208)
予防保全を行う場合、コマンド動作データ管理部110が、トルクデータ変化表示処理を行う。
図8Aを参照すると、画面例550は、トルクデータの月別変化の表示の設定をするためのポップアップの画面を示している。
図8Aの例では、
図5の表示欄602と同様の表示する産業用ロボット4の選択欄、表示欄604と同様の特定のコマンドを指定する欄、表示期間、表示の指示のボタン、元に戻すボタン等が表示されている。コマンド動作データ管理部110は、表示の指示のボタンが押下されると、選択された設定に対応した産業用ロボット4のコマンドに対応した特定トルクデータ340を読み出す。コマンド動作データ管理部110は、これらの特定トルクデータ340から、設定された月別のトルクモーションをそれぞれ作成する。
図8Bを参照すると、画面例560は、月別のトルクモーションが並べられて表示されたトルクデータ変化表示の画面を示している。このように並べてトルクの経年変化を表示することで、特定の駆動部で必要なトルクが大きくなっていたり、トルクの変化がスムーズでなくなってきたりした場合に、ユーザが容易に把握できる。このため、予防的に当該駆動部に対応する部品を交換したり、オーバーホールしたり、上位装置2からのコマンドを変更したりといった処置が可能となる。
【0074】
(ステップS209)
ここで、コマンド動作データ管理部110が、トラブル発生か否かを判定する。コマンド動作データ管理部110は、コントローラ3から動作エラー等のステートを入力した場合に、Yesと判定する。コマンド動作データ管理部110は、それ以外の場合には、Noと判定する。
Yesの場合には、コマンド動作データ管理部110は、処理をステップS210に進める。
Noの場合には、コマンド動作データ管理部110は、履歴出力処理を終了する。
【0075】
(ステップS210)
トラブルが発生した場合、コマンド動作データ管理部110が、トラブル直前コマンド検索処理を行う。
コマンド動作データ管理部110は、コマンド動作データ200のコマンドデータ300の時刻データを参照して、エラー等のステートの直前のコマンドデータ300を検索して取得し、GUIに表示する。この直前のコマンドデータ300としては、通常考えられ得るトラブルの特定が可能な程度の個数を取得する。
図9Aを参照すると、画面例570は、この取得されたコマンドデータ300が、表示欄600に表示されている。ここで、トラブルが発生した場合、正常な位置データ310やサーボデータ320等が取得できないことがある。このため、コマンド動作データ管理部110は、当該コマンドデータ300に対応付けられた位置データ310やサーボデータ320等が取得できたものについては、表示欄612のように、背景の濃度を変える等して示す。コマンド動作データ管理部110は、このサーボデータ320等が取得できたものについて、表示欄601のカーソルのように指定され、ダブルクリックされた場合、トルクモーションのグラフを作成する。
図9Bは、画面例580は、この作成されたトルクモーションのグラフの例を示している。
【0076】
(ステップS211)
次に、コマンド動作データ管理部110が、トラブル原因特定抽出処理行う。
コマンド動作データ管理部110は、エラー等のステートの直前の特定期間のコマンドデータ300を検索し、このコマンドデータ300のイベントに対応する位置データ310及びサーボデータ320を、トラブル対応に関するデータとして抽出する。コマンド動作データ管理部110は、このトラブル対応に関するデータを参照して、エラー等の原因を推定する。この推定は、所定のヒューリスティックのルールや閾値により行う。
【0077】
(ステップS212)
次に、コマンド動作データ管理部110が、メール送信処理を行う。
コマンド動作データ管理部110は、抽出されたトラブル対応に関するデータを圧縮等し、推定されたトラブルの原因を記載したメールをユーザに送信する。このメールには、管理装置1のCGI等にアクセス可能なURL(Uniform Resource Locator)等についても記載してもよい。
これを受信したユーザは、トラブルの直前の特定期間のコマンドを検索し、対応した位置データ310及び/又はサーボデータ320をトラブル対応に関するデータを容易に取得できる。
以上により、本発明の実施の形態に係る動作履歴検索出力処理を終了する。
【0078】
〔本実施形態の主な効果〕
以上のように構成することで、以下のような効果を得ることができる。
従来は、特許文献1で記載されているように、ハンドリングロボットの位置やサーボデータ320等のみが、履歴管理用のデータとして保存されていた。このため、従来のハンドリングロボットでは、保存されていたデータを解析するのが難しく、メンテナンスに手間がかかっていた。
これに対して、本発明の実施の形態に係る動作履歴管理システムXは、上位装置2から送信されたコマンドに対応して動作する産業用ロボット4と、上位装置2からコマンドを受信し、産業用ロボット4の動作を制御するコントローラ3と、コントローラ3と接続された管理装置1とを備え、管理装置1は、コントローラ3から、実時間で、上位装置2からのコマンドと、産業用ロボット4の位置データ310、及びサーボデータ320を取得し、コマンドに対応付けして保存するコマンド動作データ保存処理部100と、コマンド動作データ保存処理部100により保存されたコマンドを検索し、検索されたコマンドに対応する位置データ310及び/又はサーボデータ320を出力するコマンド動作データ管理部110とを備えることを特徴とする。
このように構成することで、上位装置2からのコマンドを履歴管理のインデックスとして管理することができ、メンテナンス効率を向上させることができる。
【0079】
また、従来から、液晶パネルや半導体製造装置用の産業用ロボットでは、動作の履歴を保存して状態監視保全を行っていた。状態監視保全は、定常的に運転状態を監視して、故障する前に異常を察知、又は、故障したときも保存した動作履歴の情報を用いて回復時間を短縮するものである。
ここで、ハンドリングロボットは、上位の装置から指示されて動作している。しかしながら、従来は、ハンドリングロボットの状態を監視する場合、これらの上位からの指示は監視データには含まれず、時間軸のみ、予め決められた動作等のデータを対象としてデータ収集し、実際のロボット動作と結びつけたデータの履歴管理をしていなかった。
これに対して、本実施形態の動作履歴管理システムXは、管理装置1上で、リアルタイムで入手した位置データ310、サーボデータ320等を、同時に取得している上位装置2からのコマンドをインデックスとしてリンクして管理、表示する。これにより、GUI等にてコマンド及びステートを管理装置1上で分かりやすく画面表示して管理することができる。結果として、上位装置2からのコマンドに対応したコマンドを基に動作データの解析を容易に行うことができる。よって、上位装置2のコマンドが原因で産業用ロボット4の動作上の不具合が起こっている場合でも、どのコマンドかが判別可能となる。また、当該不具合のコマンドと、対応する位置データ310、サーボデータ320等の関係が即座に判断できる。このため、メンテナンス効率を向上させることができる。
【0080】
また、本発明の実施の形態に係る動作履歴管理システムXは、コマンド動作データ管理部110が、産業用ロボット4の動作の履歴管理、予防保全、及びトラブル対応についてのコマンドの検索と、コマンドに対応する位置データ310及び/又はサーボデータ320の出力とを実行することを特徴とする。
このように構成することで、ユーザが任意に履歴管理、予防保全、トラブル対応のそれぞれについてのコマンドを検索し、このコマンドに対応した位置データ310及び/又はサーボデータ320を適宜出力することが可能となり、メンテナンス性を向上させることができる。
【0081】
また、本発明の実施の形態に係る動作履歴管理システムXは、コマンド動作データ管理部110が、動作の履歴管理として、コマンドに対応する期間の位置データ310からタクトモーションを表示し、及び/又は、コマンドに対応する期間のサーボデータ320からトルクモーションを表示することを特徴とする。
このように構成することで、動作履歴について、産業用ロボット4のコマンド単位でトルク及び位置の管理ができ、実際の産業用ロボット4の動作とリンクした管理をすることが可能となる。つまり、具体的なコマンドを基準に、ユーザが容易に動作トルク管理、タクト管理等を行うことができる。
また、表示させたいコマンドの範囲を指定するだけで、該当する産業用ロボット4の動作を検索して、該当のトルクのデータやタクトのデータ等を、トルクモーションやタクトモーションのグラフとして表示し、ユーザが直感的に把握することが可能となる。
【0082】
また、本発明の実施の形態に係る動作履歴管理システムXは、コマンド動作データ保存処理部100は、コマンドに対応したサーボデータ320に含まれる特定のトルクデータを特定間隔で特定期間以上保存し、コマンド動作データ管理部110は、予防保全として、特定のトルクデータの特定間隔での変化を表示することを特徴とする。
このように構成することで、予防保全として、長期間のトルクの変化を、上位装置2からのコマンドを基準に管理できる。すなわち、産業用ロボット4の長期間に渡るサーボデータ320の変化を、動作単位で管理できる。よって、ユーザが、産業用ロボット4の部品の交換時期等を細かく認識することができ、最適なメンテナンス間隔等を算出可能となり、管理が容易になる。
【0083】
また、本発明の実施の形態に係る動作履歴管理システムXは、コマンド動作データ管理部110は、トラブル対応として、トラブルの直前の特定期間のコマンドを検索し、対応した位置データ310及び/又はサーボデータ320をトラブル対応に関するデータとして出力することを特徴とする。
このように構成することで、例えば、エラー等のトラブルで停止した場合、上位装置2からのどのようなコマンドでエラーになったか判断できる。つまり、コマンドに基づいて、トラブルが起こった際に、原因を特定しやすくなる。また、エラーによる停止が発生した動作とトルクや位置の関係等を、容易に把握することができる。よって、効率よくトラブル解析を行うことができ、メンテナンス効率を向上させられる。
【0084】
また、本発明の実施の形態に係る動作履歴管理システムXは、コマンド動作データ管理部110は、トラブル対応に関するデータからトラブルの原因特定に必要なデータを抽出して、特定のメールアドレス210へ送信することを特徴とする。
このように構成することで、ユーザが遠隔地にいても、トラブルの原因を把握しやすくなり、トラブルからの回復時間を短縮し、修復時間を早くできる。これにより、産業用ロボット4の稼働率を向上させ、生産コストを低減できる。
【0085】
〔他の実施の形態〕
なお、上述の実施の形態においては、特定トルクデータ340を月別に保存する例について説明した。しかしながら、位置データ310についても、予防保全用に特定間隔で保存することが可能である。
このように構成することで、例えば、位置データ310の変位の変化を特定タクトデータとして保存することで、位置偏差のエラーデータを容易に把握可能となる。
【0086】
また、上述の実施の形態においては、位置データ310及び又はサーボデータ320をコマンドに対応付けて保存し、GUIにて表示又はユーザ端末6へ出力し、トラブル対応に関するデータとして出力する例について記載した。
しかしながら、これに加えて、上述の各駆動部のデータ以外で制御用に必要なI/Oデータについても、同様に保存、表示や出力、及びトラブル対応に関するデータとして出力することが可能である。
【0087】
このI/Oデータは、例えば、産業用ロボット4のアームの吸着(開閉)状態の動作、各駆動部の温度、光度、その他の産業用ロボット4の状態等のデータである。また、I/Oデータとして、産業用ロボット4の設置箇所の空調の状態、他のラインの状態、ワークの積載数、工場の稼働状態等、産業用ロボット4自体からは取得されないデータをネットワーク5経由で取得して付加することも可能である。
【0088】
具体的に説明すると、コマンド動作データ保存処理部100は、コントローラ3からI/Oデータを取得して、同様にコマンドに対応付けて保存することも可能である。
また、コマンド動作データ管理部110は、位置データ310及びサーボデータ320と同様に、I/OデータについてもGUIにて表示し、又はユーザ端末6へ出力することが可能である。また、コマンド動作データ管理部110は、位置データ310、サーボデータ320、及びI/Oデータのいずれか又は組み合わせて選択してGUIにて表示し、又はユーザ端末6へ出力することが可能である。
また、コマンド動作データ管理部110は、I/Oデータについても、トラブル対応に関するデータとして出力することが可能である。
また、I/Oデータを予防保全用に特定間隔で保存することも可能である。これにより、I/Oデータの変化と、特定トルクデータ340、並びに、特定間隔で保存された位置データ310との比較が可能となり、メンテナンス効率を向上させられる。
【0089】
また、上述の実施の形態においては、管理装置1において、コマンド動作データ管理部110が、表示部40に動作履歴をGUI表示する例について記載した。
しかしながら、管理装置1はサーバとして構成し、ユーザ端末6から動作履歴を管理してもよい。つまり、コマンド動作データ管理部110は、ユーザ端末6から履歴管理を行わせるために、CGI(Common Gateway Interface)やJava(登録商標)サーブレットやPHP等のサーバ機能を備えていてもよい。
このように構成することで、遠隔地からの動作履歴の管理が可能となり、ユーザの利便性を向上させ、メンテンナンスコストを削減することが可能となる。
【0090】
また、上述の実施の形態においては、管理装置1は単に動作履歴を保存する装置である旨記載した。
しかしながら、管理装置1やユーザ端末6から、上位装置2と同様にコマンドをコントローラ3に送信可能なように構成してもよい。この場合、問題が起こったコマンドデータ300の履歴の箇所を指摘して、産業用ロボット4に出力するよう、コントローラ3に指示可能である。
このように構成することで、いちいち上位装置2にコマンドを入力しなくても産業用ロボット4を動作させられるため、エラーの原因等を把握しやすくなり、トラブル対応を迅速化できる。
【0091】
また、上述の実施の形態においては、ロボット4を第一ハンドと第二ハンドを備えるロボットとして記載した。しかしながら、シングルアームのロボットについての各種データを取得して、上述のような処理を実行することも可能である。また、人型ロボットやベルトコンベアー等、その他の産業用機械についても、上述のような処理を実行することが可能である。
【0092】
なお、上記実施の形態の構成及び動作は例であって、本発明の趣旨を逸脱しない範囲で適宜変更して実行することができることは言うまでもない。