(57)【要約】【課題】より現実に即した判定値を明確に設定するための測定を可能にする、新規な安全システムおよびそれを構成する制御装置を提供する。【解決手段】予め定められた安全条件に合致する事象が発生したときに対象機器を安全状態へ移行させる安全システムが提供される。安全システムは、安全条件に関する情報を連続的に収集する監視機能を有する制御装置と、制御装置で収集された安全条件に関する情報を集約する管理装置とを含む。制御装置は、安全条件に合致する事象が発生したことに応答して、収集した情報に発生タイミングを関連付けるとともに、安全条件に関する情報を、当該発生タイミングを基準とした所定期間にわたって格納する。管理装置は、発生タイミングを基準として、安全条件に関する情報を集約する。【選択図】図１
2014016930.tif 000002
【特許請求の範囲】
【請求項１】
予め定められた安全条件に合致する事象が発生したときに対象機器を安全状態へ移行させる安全システムであって、
前記安全条件に関する情報を連続的に収集する監視機能を有する制御装置と、
前記制御装置で収集された前記安全条件に関する情報を集約する管理装置とを備え、
前記制御装置は、前記安全条件に合致する事象が発生したことに応答して、収集した情報に発生タイミングを関連付けるとともに、前記安全条件に関する情報を、当該発生タイミングを基準とした所定期間にわたって格納し、
前記管理装置は、前記発生タイミングを基準として、前記安全条件に関する情報を集約する、安全システム。
【請求項２】
前記監視機能は、
前記対象機器の作動に関する信号に基づいて、前記安全条件に合致する事象が発生したか否かを判断し、
前記安全条件に合致する事象が発生したときに、当該安全条件に合致する事象が発生したことを前記管理装置へ通知するとともに、前記対象機器の作動を停止する信号を出力する、請求項１に記載の安全システム。
【請求項３】
前記管理装置は、いずれかの制御装置から当該安全条件に合致する事象が発生したことを通知されると、他の制御装置に対して、前記対象機器の作動を停止するための指令を通知する、請求項２に記載の安全システム。
【請求項４】
前記制御装置は、前記対象機器の作動を制御する機器制御機能をさらに有しており、
前記監視機能は、前記安全条件に合致する事象が発生したとの判断、および、前記管理装置からの前記対象機器の作動を停止するための指令の受信、の少なくとも一方に応答して、前記発生タイミングを決定するとともに、前記機器制御機能に対して前記対象機器の作動を停止するための指令を出力する、請求項３に記載の安全システム。
【請求項５】
前記制御装置は、前記対象機器の作動を制御する装置とのインターフェイスを有しており、
前記監視機能は、前記安全条件に合致する事象が発生したとの判断、および、前記管理装置からの前記対象機器の作動を停止するための指令の受信、の少なくとも一方に応答して、前記発生タイミングを決定するとともに、前記対象機器の作動を制御する装置に対して前記対象機器の作動を停止するための指令を出力する、請求項３に記載の安全システム。
【請求項６】
前記安全システムは、前記対象機器の作動を制御する装置に対して信号を出力する出力装置をさらに備え、
前記監視機能は、前記安全条件に合致する事象が発生したとの判断、および、前記管理装置からの前記対象機器の作動を停止するための指令の受信、の少なくとも一方に応答して、前記発生タイミングを決定し、
前記管理装置は、前記安全条件に合致する事象が発生すると、前記出力装置を介して、前記対象機器の作動を制御する装置に対して前記対象機器の作動を停止するための信号を出力する、請求項３に記載の安全システム。
【請求項７】
前記安全条件に関する情報は、少なくとも、通常状態および安全状態を含むいずれの状態であるかを示す情報を含む、請求項１に記載の安全システム。
【請求項８】
予め定められた安全条件に合致する事象が発生したときに対象機器を安全状態へ移行させる安全システムを構成する制御装置であって、
前記安全条件に関する情報を連続的に収集する監視機能を含み、
前記安全条件に合致する事象が発生したことに応答して、収集した情報に発生タイミングを関連付けるとともに、前記安全条件に関する情報を、当該発生タイミングを基準とした所定期間にわたって格納し、
前記発生タイミングを基準として集約できるように、格納した前記安全条件に関する情報を管理装置へ送信する、制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、予め定められた安全条件に合致する事象が発生したときに対象機器を安全状態へ移行させる安全システムおよびそれを構成する制御装置に関する。
【背景技術】
【０００２】
多くの生産現場で使用される機械や設備は、プログラマブルコントローラ（Programmable Logic Controller；以下「ＰＬＣ」とも称す）などによって制御される。一般的に、このような機械や設備については、稼働率を高めたいというニーズがある。そのため、例えば、特開２００４−２４２４８０号公報（特許文献１）には、出力電流を監視して故障の予兆や異常を早期に把握できるようにしたインバータ装置が開示されている。
【０００３】
このような稼働率を高めたいというニーズに加えて、生産現場の安全を確保したいというニーズもある。「安全」とは、何らかのリスク（誤操作、ノイズ、プログラミングムミスなどによる誤指令の出力）、および、故障（何らか部品故障による機能損失）があっても、適切な安全機能によって、人間（作業者）に対する安全状態が維持されることを意味する。このような「安全状態」の具体例としては、機械や設備の電源／動力源が遮断されている状態を意味する。
【０００４】
このような安全機能を実現するための方法は種々存在するが、機械や設備の作動に係るシステムとは独立した安全システムが要望されることが多い。このような独立した安全システムによれば、安全を考慮して装置設計を行なう装置設計者に加えて、作業者や現場監督者といった装置設計者以外の人でも安全機能の妥当性を容易に検証できる。
【０００５】
このような独立した安全システムは、典型的には、予め定められた安全条件に合致する事象が発生したときに対象機器に供給される電源／動力源を遮断するという仕組みで実現される。例えば、モータの速度超過を検出するための過速度検出リレーや、監視エリア内での作業者の存在を監視するためのセーフティスキャナーといったより高度な安全機能を提供する新技術を導入したとしても、その出力形態としては、対象機器に供給される電源／動力源を遮断するという対処のみであることが多かった。そのため、安全条件に合致する事象が発生した場合であっても、その事象の発生に伴って「いつ電源／動力源が遮断されたのか」ということが事後的に判れば十分であった。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−２４２４８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述のような、単に「いつ電源／動力源が遮断されたのか」を事後的に判断するということだけでは、十分ではない事態も生じつつある。
【０００８】
例えば、３次元のビデオセンサーなどを用いて、その検出された数値で安全であるか否かを判別する安全機器を導入したり、多軸ロボットのように動作そのものが安全管理の対象となる機器が導入されたりすると、安全であるか否かの判別具合や、判別の基準であるしきい値などについて、時系列に事後的に確認する必要が生じる。これらの機器による安全機能を十分に活用するためには、「いつ」だけではなく、「どの機能」が「どれくらい」のしきい値超過（設定値違反）を検出しているから、安全確保のために電源／動力源が遮断されているという、システムの全体像を把握する必要がある。また、タイミングや判定値が適切ではない安全システムでは、不必要に安全状態（電源／動力源の遮断）へ移行することになる。このような場合には、安全状態への移行を生じる直前および直後の状態を事後的に検証したいというニーズが生じる。
【０００９】
また、ＩＥＣ（International Electrotechnical Commission）６１５０８などにおいて、ロボットなどの複雑な制御については、従来の電源／動力源の遮断という安全対策ではなく、リスクを限定するためのシステム設計手法に基づいて制作された監視機能を用いた安全対策（リスク対策）の導入を認めるようになっている。
【００１０】
例えば、時間、位置、速度、加速度といった安全機能の判定値に関わる数値を一旦決めてしまうと、装置導入後の変更や更新にはより多くの手間がとられている。これは、ＩＥＣの手続きに従って再度最初から判定値の安全性に関わる議論を行なう必要があるため、時間を要することになるからである。そこで、本発明の目的は、より現実に即した判定値を明確に設定するための測定を可能にする、新規な安全システムおよびそれを構成する制御装置を提供することである。
【課題を解決するための手段】
【００１１】
本発明のある局面によれば、予め定められた安全条件に合致する事象が発生したときに対象機器を安全状態へ移行させる安全システムが提供される。安全システムは、安全条件に関する情報を連続的に収集する監視機能を有する制御装置と、制御装置で収集された安全条件に関する情報を集約する管理装置とを含む。制御装置は、安全条件に合致する事象が発生したことに応答して、収集した情報に発生タイミングを関連付けるとともに、安全条件に関する情報を、当該発生タイミングを基準とした所定期間にわたって格納する。管理装置は、発生タイミングを基準として、安全条件に関する情報を集約する。
【００１２】
好ましくは、監視機能は、対象機器の作動に関する信号に基づいて、安全条件に合致する事象が発生したか否かを判断し、安全条件に合致する事象が発生したときに、当該安全条件に合致する事象が発生したことを管理装置へ通知するとともに、対象機器の作動を停止する信号を出力する。
【００１３】
さらに好ましくは、管理装置は、いずれかの制御装置から当該安全条件に合致する事象が発生したことを通知されると、他の制御装置に対して、対象機器の作動を停止するための指令を通知する。
【００１４】
さらに好ましくは、制御装置は、対象機器の作動を制御する機器制御機能をさらに有しており、監視機能は、安全条件に合致する事象が発生したとの判断、および、管理装置からの対象機器の作動を停止するための指令の受信、の少なくとも一方に応答して、発生タイミングを決定するとともに、機器制御機能に対して対象機器の作動を停止するための指令を出力する。
【００１５】
あるいは好ましくは、制御装置は、対象機器の作動を制御する装置とのインターフェイスを有しており、監視機能は、安全条件に合致する事象が発生したとの判断、および、管理装置からの対象機器の作動を停止するための指令の受信、の少なくとも一方に応答して、発生タイミングを決定するとともに、対象機器の作動を制御する装置に対して対象機器の作動を停止するための指令を出力する。
【００１６】
あるいは好ましくは、安全システムは、対象機器の作動を制御する装置に対して信号を出力する出力装置をさらに含む。監視機能は、安全条件に合致する事象が発生したとの判断、および、管理装置からの対象機器の作動を停止するための指令の受信、の少なくとも一方に応答して、発生タイミングを決定し、管理装置は、安全条件に合致する事象が発生すると、出力装置を介して、対象機器の作動を制御する装置に対して対象機器の作動を停止するための信号を出力する。
【００１７】
好ましくは、安全条件に関する情報は、少なくとも、通常状態および安全状態を含むいずれの状態であるかを示す情報を含む。
【００１８】
本発明の別の局面に従えば、予め定められた安全条件に合致する事象が発生したときに対象機器を安全状態へ移行させる安全システムを構成する制御装置が提供される。制御装置は、安全条件に関する情報を連続的に収集する監視機能を含み、安全条件に合致する事象が発生したことに応答して、収集した情報に発生タイミングを関連付けるとともに、安全条件に関する情報を、当該発生タイミングを基準とした所定期間にわたって格納し、発生タイミングを基準として集約できるように、格納した安全条件に関する情報を管理装置へ送信する。
【発明の効果】
【００１９】
本発明のある局面に係る制御装置によれば、より現実に即した判定値を明確に設定するための測定を可能にできる。
【図面の簡単な説明】
【００２０】
【図１】本実施の形態に従う安全システムの構成を示す模式図である。
【図２】図１に示す安全システムにおいてライトカーテンが人の侵入を検知したときの動作を説明する図である。
【図３】図１に示す安全システムにおいてセーフティスキャナーが人の存在を検知したときの動作を説明する図である。
【図４】図１に示す安全システムにおいてサーボドライバの安全監視機能が速度超過を検知したときの動作を説明する図である。
【図５】図１に示す安全システムの安全監視管理装置の構成を示す模式図である。
【図６】図５に示す安全監視管理装置のメイン処理ユニットの構成を示す模式図である。
【図７】図１に示す安全システムのサーボドライバの構成を示す模式図である。
【図８】図１に示す安全システムのパーソナルコンピュータの構成を示す模式図である。
【図９】図１に示す安全システムのサーボドライバの制御機能を模式的に示すブロック図である。
【図１０】サーボドライバの安全監視機能によるログ情報の収集を説明するための図である。
【図１１】図１に示す安全システムの安全監視管理装置の制御機能を模式的に示すブロック図である。
【図１２】安全監視管理装置の集約モジュールによる集約結果を説明するための図である。
【図１３】サーボドライバにおける処理手順を示すフローチャートである。
【図１４】安全監視管理装置における処理手順を示すフローチャートである。
【図１５】本実施の第１の別形態に従う安全システムの構成を示す模式図である。
【図１６】本実施の第２の別形態に従う安全システムの構成を示す模式図である。
【発明を実施するための形態】
【００２１】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
【００２２】
＜Ａ．概要＞
本実施の形態に従う安全システムは、予め定められた安全条件に合致する事象（以下「安全イベント」とも称す。）が発生したときに対象機器を安全状態へ移行させる。より具体的には、安全システムは、安全条件に関する情報を連続的に収集する監視機能を有する制御装置と、制御装置で収集された安全条件に関する情報を集約する管理装置とを含む。
【００２３】
より具体的には、本安全システムにおいては、対象機器が通常に作動している通常状態（監視状態）から安全状態へ移行したタイミングの前後の所定期間にわたる、対象機器の状態値（速度、位置、スイッチ状態値など）を記録（ロギング）する。例えば、ロボットなどを駆動するサーボモータでは、ＳＬＳ（Safety-Limited Speed：安全制限速度機能）といった安全機能がサーボドライバに搭載されており、この安全機能がサーボモータに取り付けられた速度センサなどからの情報に基づいて過速度を監視する。サーボモータの速度が予め定められたしきい値を超過した場合には、シャットオフ機能あるいはＳＴＯ（Safety Torque Off）機能によって、サーボモータへの電力の供給が遮断され、安全状態へ移行する。
【００２４】
本実施の形態においては、「安全機能」への移行を指示する信号をトリガーとして、対象機器に係る状態データを所定期間にわたって収集および格納する。これにより、安全機能によって通常状態から安全状態へ状態遷移した理由および／またはタイミングを明確化する。すなわち、制御装置は、安全条件に合致する事象が発生したことに応答して、収集した情報に発生タイミングを関連付けるとともに、安全条件に関する情報を、当該発生タイミングを基準とした所定期間にわたって格納する。この収集した情報に発生タイミングを関連付けるとは、典型的には、収集される時系列の情報に基準点を設定することを含み、他の装置などで収集された情報との間でタイミング合わせを容易にするための処理を意味する。
【００２５】
管理装置は、発生タイミングを基準として、制御装置に格納されている安全条件に関する情報を集約する。例えば、同一の発生タイミングを基準として、複数の制御装置から状態値を収集し、同一の時間軸上に比較可能な態様でグラフ表示がなされる。このようなグラフ表示を利用することで、安全機能を適切に調整することができる。
【００２６】
＜Ｂ．システム構成（基本構成）＞
まず、本実施の形態に係る安全システム１の概略構成について説明する。図１は、本実施の形態に従う安全システム１の構成を示す模式図である。
【００２７】
図１を参照して、安全システム１は、安全監視管理装置１０と、サーボドライバ２０と、Ｉ／Ｏ（Input Output）装置３０と、ＰＬＣ４０とを含む。これらの装置は、ネットワーク６０を介して互いにデータ通信可能に構成される。安全監視管理装置１０には、パーソナルコンピュータ５０が接続される。サーボドライバ２０は、モータ制御機能２１および安全監視機能２２を搭載する。Ｉ／Ｏ装置３０に入力された信号は、主として、安全監視管理装置１０へ伝達される。
【００２８】
一例として、安全システム１は、対象機器である産業用ロボット５を含む被監視設備９の安全を監視するものとする。被監視設備９は、立入制限区域が設定されており、その立入制限区域のアクセス口には、人の侵入を検知するためのライトカーテン８が設けられている。また、産業用ロボット５の近くには、人の存在を検知するためのセーフティスキャナー７が設けられているものとする。
【００２９】
安全システム１における予め定められた安全条件として、ライトカーテン８により人の侵入が検知されると、または、ライトカーテン８により人の存在が検知されると、産業用ロボット５の作動を停止させる。
【００３０】
また、産業用ロボット５は、その駆動力を発生するためのサーボモータ５１を有しており、サーボドライバ２０からの移動指令（典型的には、パルス列）に従って作動する。サーボモータ５１には図示しないエンコーダが装着されており、このエンコーダによって検出されるサーボモータ５１の位置を示す位置情報（あるいは、単位時間あたりの移動量を示す速度情報）がサーボドライバ２０へフィードバックされる。
【００３１】
産業用ロボット５には、その作動範囲の限界あるいは制限位置などを検出するためのリミットセンサ６がさらに設けられている。リミットセンサ６は、産業用ロボット５が予め定められた位置に到達するとＯＮ信号を出力し、それ以外ではＯＦＦ信号を出力する。安全システム１における予め定められたさらなる安全条件として、リミットセンサ６からＯＮ信号が出力されると、産業用ロボット５の作動を停止させる。
【００３２】
上述したように、安全システム１では、ライトカーテン８による人の存在の検知、セーフティスキャナー７による人の存在の検知、および、リミットセンサ６によるＯＮ信号の出力といった、予め定められた安全条件に合致する事象が発生すると、対象機器である産業用ロボット５を安全状態へ移行させる。
【００３３】
安全システム１では、安全状態へ移行した理由などを事後的に検証できるように、安全監視機能が実装される。図１に示す例では、典型例として、サーボドライバ２０に搭載された安全監視機能２２が安全条件に関する情報を連続的に収集する。なお、モータ制御機能２１は、対象機器である産業用ロボット５（サーボモータ５１）の作動を制御する。
【００３４】
より具体的には、安全監視機能２２は、対象機器である産業用ロボット５（サーボモータ５１）からの位置情報および／または速度情報を所定周期で連続的に収集（ロギング）する一方で、上述のような安全条件に合致する事象（安全イベント）が発生すると、その安全イベントの発生をトリガーとして、収集した情報（ログ情報）にそのタイミングを付加する。そして、安全監視機能２２は、安全イベントが発生した前後の所定期間にわたって、対象機器の状態値（位置情報および／または速度情報）を記録（ロギング）する。なお、リミットセンサ６からのＯＮ信号／ＯＦＦ信号および状態（通常状態／安全状態）を示す情報も記録（ロギング）される。
【００３５】
このように、安全監視機能２２は、安全条件に合致する事象が発生したことに応答して、収集した情報に発生タイミングを関連付けるとともに、安全条件に関する情報を、当該発生タイミングを基準とした所定期間にわたって格納する。
【００３６】
安全イベントの発生は、安全監視管理装置１０またはサーボドライバ２０の安全監視機能２２によって判断される。より具体的には、対象機器の作動に関する信号の一例として、安全監視管理装置１０は、Ｉ／Ｏ装置３０を介して受信する、ライトカーテン８およびセーフティスキャナー７による検知信号（安全入力）に基づいて、安全条件に合致する事象（安全イベント）が発生したか否かを判断する。
【００３７】
また、サーボドライバ２０の安全監視機能２２は、サーボモータ５１からの位置情報あるいは速度情報、および、リミットセンサ６からのＯＮ／ＯＦＦ信号に基づいて、安全条件に合致する事象（安全イベント）が発生したか否かを判断する。そして、安全監視機能２２は、安全条件に合致する事象が発生したときに、当該安全条件に合致する事象が発生したことを安全監視管理装置１０へ通知するとともに、対象機器である産業用ロボット５（サーボモータ５１）の作動を停止する信号（ＳＴＯ）を安全監視機能２２へ出力する。このＳＴＯは、出力をオフにするための安全機能である。
【００３８】
一方、安全監視管理装置１０は、いずれかのサーボドライバ２０から安全条件に合致する事象（安全イベント）が発生したことを通知されると、図示しない他の制御装置（他のサーボドライバ２０を含み得る）に対して、対象機器の作動を停止するための指令を通知する。
【００３９】
上述のように、サーボドライバ２０の安全監視機能２２では、自装置の判断機能によって、安全条件に合致する事象（安全イベント）が発生したことを知る場合と、安全監視管理装置１０からの指令を受信することで安全条件に合致する事象（安全イベント）が発生したことを知る場合とがある。いずれの場合においても、ＳＴＯを安全監視機能２２へ出力するとともに、安全イベントの発生タイミングを記録する。そして、安全監視機能２２は、機械動作に関する情報（シャフトスピード、位置、加速度など）を当該発生タイミングを基準とした所定期間にわたって格納する。すなわち、サーボドライバ２０の安全監視機能２２は、自装置による安全条件に合致する事象が発生したとの判断、および、安全監視管理装置１０からの対象機器の作動を停止するための指令の受信、の少なくとも一方に応答して、安全イベントの発生タイミングを記録し、機械動作に関する情報（シャフトスピード、位置、加速度など）を当該発生タイミングを基準とした所定期間にわたって格納するとともに、モータ制御機能２１に対して対象機器の作動を停止するための指令を出力する。
【００４０】
図１に示す例では、安全システム１の一部としてＰＬＣ４０を記載しているが、安全システム１は、ＰＬＣ４０とは独立して動作することが好ましい。ＰＬＣ４０は、予め定められたプログラムに従って演算を行ない、産業用ロボット５を予め定められた挙動で作動させるための指令を順次生成し、サーボドライバ２０へ都度出力する。サーボドライバ２０のモータ制御機能２１は、このＰＬＣ４０からの指令に従って、サーボモータ５１への移動指令を生成して出力する。一方で、サーボドライバ２０の安全監視機能２２は、ＰＬＣ４０からの指令とは無関係に、予め定められた安全条件に合致する事象（安全イベント）が発生すると、ＳＴＯを出力して、モータ制御機能２１による移動指令の生成および出力を停止させる。
【００４１】
＜Ｃ．安全システムの動作＞
次に、図２〜図４を参照して、図１に示す安全システム１の動作概要について説明する。
【００４２】
（ｃ１：ライトカーテン８による検知）
図２は、図１に示す安全システム１においてライトカーテン８が人の侵入を検知したときの動作を説明する図である。図２を参照して、通常状態（監視状態）では、サーボドライバ２０の安全監視機能２２が対象機器の状態値（速度、位置、スイッチ状態値など）を所定周期毎に記録する（（１）定常ロギング）。なお、状態値を一時的に保持する記録領域にも上限値があるので、ＦＩＦＯ（First-In First-Out）バッファのように、収集してから一定期間を超えたものは、順次廃棄してもよい。
【００４３】
ライトカーテン８が人の侵入を検知すると、その検知信号は、Ｉ／Ｏ装置３０を介して安全監視管理装置１０へ伝送される（（２）侵入検知信号）。安全監視管理装置１０は、Ｉ／Ｏ装置３０を介してライトカーテン８から受信した侵入検知信号が予め定められた安全条件に合致する事象であるか否かを判断し、合致する事象であれば、安全イベントが発生したと判断する（（３）安全イベント発生検知）。そして、安全監視管理装置１０は、安全イベントの発生タイミングを記録する（（４）ロギング）。さらに、安全監視管理装置１０は、安全イベントの発生に応答して、対象機器の作動を停止するための指令を通知する（（５）停止指令）。
【００４４】
サーボドライバ２０のモータ制御機能２１は、対象機器の作動を停止するための指令を安全監視管理装置１０から受信すると、産業用ロボット５（サーボモータ５１）の作動を停止する信号（ＳＴＯ）を安全監視機能２２へ出力する（（６）ＳＴＯ）。そして、サーボドライバ２０のモータ制御機能２１は、安全イベントの発生を決定するとともに、対象機器の状態値を、当該発生タイミングを基準とした所定期間にわたって格納する（（７）停止指令ロギング）。
【００４５】
そして、所定期間にわたる状態値の格納が完了すると、自動あるいは要求に応答して、当該格納されたデータが安全監視管理装置１０へ送信される。
【００４６】
（ｃ２：セーフティスキャナー７による検知）
図３は、図１に示す安全システム１においてセーフティスキャナー７が人の存在を検知したときの動作を説明する図である。この動作は、基本的には、図２に示すライトカーテン８が人の侵入を検知したときの動作と同様である。
【００４７】
具体的には、図３を参照して、通常状態（監視状態）では、サーボドライバ２０の安全監視機能２２が対象機器の状態値（速度、位置、スイッチ状態値など）を所定周期毎に記録する（（１）定常ロギング）。
【００４８】
セーフティスキャナー７が人の存在を検知すると、その検知信号は、Ｉ／Ｏ装置３０を介して安全監視管理装置１０へ伝送される（（２）存在検知信号）。安全監視管理装置１０は、Ｉ／Ｏ装置３０を介してライトカーテン８から受信した存在検知信号が予め定められた安全条件に合致する事象であるか否かを判断し、合致する事象であれば、安全イベントが発生したと判断する（（３）安全イベント発生検知）。そして、安全監視管理装置１０は、安全イベントの発生タイミングを記録する（（４）ロギング）。さらに、安全監視管理装置１０は、安全イベントの発生に応答して、対象機器の作動を停止するための指令を通知する（（５）停止指令）。
【００４９】
サーボドライバ２０のモータ制御機能２１は、対象機器の作動を停止するための指令を安全監視管理装置１０から受信すると、産業用ロボット５（サーボモータ５１）の作動を停止する信号（ＳＴＯ）を安全監視機能２２へ出力する（（６）ＳＴＯ）。そして、サーボドライバ２０のモータ制御機能２１は、安全イベントの発生を決定するとともに、対象機器の状態値を、当該発生タイミングを基準とした所定期間にわたって格納する（（７）停止指令ロギング）。
【００５０】
そして、所定期間にわたる状態値の格納が完了すると、自動あるいは要求に応答して、当該格納されたデータが安全監視管理装置１０へ送信される。
【００５１】
（ｃ３：安全監視機能２２による速度超過検知）
図４は、図１に示す安全システム１においてサーボドライバ２０の安全監視機能２２が速度超過を検知したときの動作を説明する図である。この速度超過は、サーボモータ５１からの速度情報と予め定められたしきい値とを逐次比較し、速度情報がこのしきい値を超過したという事象によって判断される。
【００５２】
図４を参照して、通常状態（監視状態）では、サーボドライバ２０の安全監視機能２２が対象機器の状態値（速度、位置、スイッチ状態値など）を所定周期毎に記録する（（１）定常ロギング）。
【００５３】
サーボモータ５１からの速度情報が予め定められたしきい値を超過すると、速度超過であると判断される（（２）速度超過を検知）。そして、安全監視機能２２は、安全イベントが発生したことを安全監視管理装置１０へ通知する（（３）速度超過検知信号）。速度超過検知信号を受信した安全監視管理装置１０は、安全イベントが発生したと判断する（（４）安全イベント発生検知）し、そして安全イベントの発生タイミングを記録する（（５）ロギング）。
【００５４】
また、サーボドライバ２０のモータ制御機能２１は、速度超過検知信号の送信と並行して、産業用ロボット５（サーボモータ５１）の作動を停止する信号（ＳＴＯ）を安全監視機能２２へ出力する（（６）ＳＴＯ）。そして、サーボドライバ２０のモータ制御機能２１は、安全イベントの発生を決定するとともに、対象機器の状態値を、当該発生タイミングを基準とした所定期間にわたって格納する（（７）停止指令ロギング）。
【００５５】
そして、所定期間にわたる状態値の格納が完了すると、自動あるいは要求に応答して、当該格納されたデータが安全監視管理装置１０へ送信される。
【００５６】
（ｃ４：まとめ）
図１に示す安全システム１は、以下のように要約される。すなわち、安全システム１は、通常状態から動作禁止／動作制限といった安全状態へ移行したタイミングで、自動的にログをとる機能を有している。図１に示す安全システム１において、この機能は、サーボドライバ２０の安全監視機能２２として実装されている。また、サーボドライバ２０の安全監視機能２２は、安全監視管理装置１０からの指令に従って、対象機器である産業用ロボット５（サーボモータ５１）の非常停止をかけることが可能である。
【００５７】
このように、予め定められた安全条件に合致する事象が発生したとき、すなわち安全監視に対する違反判定がなされたとき、安全コンポーネントである安全監視機能２２は、予め定義されている安全状態（遮断状態）となり、安全を確保するとともに、この安全状態への移行をトリガーとして、その前後の所定期間にわたる信号モニタ値を内部メモリに格納する。この安全状態への移行に伴って、安全確保動作が実行されるので、安全監視管理装置１０および接続されている他の安全コンポーネントについてもそれぞれ安全状態へ移行する。そして、安全状態へ移行したタイミングを基準として、それぞれの安全コンポーネントでの信号モニタ値（状態値）が内部メモリに格納される。
【００５８】
これらの格納された状態値のデータは、安全監視管理装置１０および／またはパーソナルコンピュータ５０によって集約され、安全状態へ移行した（安全確保した）タイミングを基準として時刻合わせすることで、複数の安全コンポーネントが連携して動作している様子を再現できる。そして、これらの安全コンポーネントが検出している状態値、および、予め定められたしきい値までの余裕度を確認することで、安全機能（しきい値）の妥当性を容易に検証できる。
【００５９】
このように格納したデータを読み出すことで、過去に遡って状態を確認することができる。作業者や現場監督者といったユーザ、または、装置設計者の意に反して、安全状態へ移行したような場合には、本来の安全ポリシーに沿っているか否かを調査する必要があるが、本実施の形態においては、互いに関連する情報が自動的に格納されるので、その検証および再設定をより容易かつ短時間に行なうことができる。
【００６０】
また、安全システム１と同時に使用されるＰＬＣ４０自体の電源を遮断しないようにもできるため、安全システム１の動作とは独立した制御情報の記録を残すこともできる。
【００６１】
＜Ｄ．装置構成＞
次に、図１に示す安全システム１に含まれる装置の構成について説明する。
【００６２】
（ｄ１：安全監視管理装置）
図５は、図１に示す安全システム１の安全監視管理装置１０の構成を示す模式図である。図６は、図５に示す安全監視管理装置１０のメイン処理ユニット１１の構成を示す模式図である。本実施の形態に従う安全監視管理装置１０は、典型例として、ＰＬＣを用いて実現される例を示す。もちろん、ＰＬＣ以外の汎用アーキテクチャのプロセッサを用いて実現してもよいし、専用のハードウェアを用いて実現してもよい。
【００６３】
図５を参照して、安全監視管理装置１０は、メイン処理ユニット１１と、各種のＩ／Ｏ（Input Output）ユニット１２，１３，１４，１５とを含む。ユニット間は、システムバス１６を介してデータ通信可能に接続される。
【００６４】
メイン処理ユニット１１は、後述するように、安全監視管理装置１０の全体処理を司る演算装置である。Ｉ／Ｏユニット１２，１３，１４，１５は、対象機器に係る状態データを取得するとともに、安全状態へ移行するための信号を出力するインターフェイスである。一例として、Ｉ／Ｏユニット１２は、デジタル入力ユニットであり、ＯＮ／ＯＦＦ信号（デジタル入力：ＤＩ）を受け付ける。Ｉ／Ｏユニット１３は、デジタル出力ユニットであり、ＯＮ／ＯＦＦ信号（デジタル出力：ＤＯ）を外部装置へ出力する。Ｉ／Ｏユニット１４は、アナログ入力ユニットであり、アナログ信号（アナログ入力：ＡＩ）を受け付けて、その信号値をデジット値に変換してメイン処理ユニット１１へ出力する。Ｉ／Ｏユニット１５は、アナログ出力ユニットであり、メイン処理ユニット１１からの指令値（デジット値）に従って、対応するアナログ信号を生成し、外部装置へ出力する。
【００６５】
Ｉ／Ｏユニット１２，１３，１４，１５の全種類が必要になるわけではなく、対象機器および予め定められる安全条件に応じて、Ｉ／Ｏユニットの数および種類は適宜選択される。すなわち、安全条件に関する情報を収集するためには、主として、Ｉ／Ｏユニット１２および１４が用いられ、安全状態への移行には、主として、Ｉ／Ｏユニット１３が用いられる。さらに、上述以外の信号を受け付け可能なＩ／Ｏユニットを採用してもよい。
【００６６】
次に、図６を参照して、安全監視管理装置１０のメイン処理ユニット１１の構成について説明する。メイン処理ユニット１１は、プロセッサ１０２と、チップセット１０４と、ＲＡＭ（Random Access Memory）１０６と、フラッシュメモリ（ＦＬＡＳＨ）１０８と、ハードディスク（Hard Disk Drive）１１０と、システムバスコントローラ１１２と、ネットワークコントローラ１１４と、ＵＳＢインターフェイス（Ｉ／Ｆ）１１６と、メモリカードインターフェイス（Ｉ／Ｆ）１１８とを含む。
【００６７】
プロセッサ１０２は、フラッシュメモリ１０８などに格納されたプログラムを実行することで、安全監視管理装置１０の機能を実現するための演算主体である。プロセッサ１０２は、一例として、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）などを含む。チップセット１０４は、それぞれのコンポーネントの間でのデータの遣り取りなどを制御する。
【００６８】
ＲＡＭ１０６は、ワーキングメモリとして機能し、プロセッサ１０２がプログラムを実行するために必要な各種データやプログラムなどを格納するとともに、Ｉ／Ｏユニットを介して収集されたデータ（本実施の形態においては、安全条件に関する情報）を保持する。
【００６９】
フラッシュメモリ１０８およびハードディスク１１０は、各種データを不揮発的に格納する。より具体的には、これらの記録媒体は、プロセッサ１０２で実行されるプログラム、安全イベントの発生をトリガーとして収集された安全条件に関する情報などを格納する。
【００７０】
システムバスコントローラ１１２は、Ｉ／Ｏユニット１２，１３，１４，１５との間でデータを遣り取りするためのシステムバス１６（図５）を介してデータ転送を制御する。ネットワークコントローラ１１４は、ネットワーク６０（図１）を介した他の装置との間のデータ転送を制御する。ＵＳＢインターフェイス１１６は、プログラミングなどを行なうサポート装置（パーソナルコンピュータ）と接続するための通信インターフェイスである。
【００７１】
メモリカードインターフェイス１１８は、メモリカード１２０を装着可能になっており、メモリカード１２０を介して、フラッシュメモリ１０８またはハードディスク１１０に格納されたデータを外部装置へ出力する。
【００７２】
（ｄ２：サーボドライバ）
図７は、図１に示す安全システム１のサーボドライバ２０の構成を示す模式図である。本実施の形態に従うサーボドライバ２０は、モータ制御機能２１および安全監視機能２２を搭載する。これらの機能は互いに独立していることが好ましいので、本実施の形態においては、ハードウェアとしても互いに独立した構成を採用する。但し、ハードウェアを共通化することを排除するものではない。
【００７３】
図７を参照して、サーボドライバ２０は、モータ制御機能２１として、制御回路２１２と、コンバータ（ＣＯＮＶ）２１４と、インバータ（ＩＮＶ）２１６と、検出回路２１５，２１７と、Ｉ／Ｏ部２１０とを含む。
【００７４】
コンバータ２１４は、制御回路２１２からの指令に従って、外部電源（商用電源）を直流に変換する。インバータ２１６は、コンバータ２１４で変換された直流電力を受けて、制御回路２１２からの指令に従って交流電力を生成する。この生成される交流電力がサーボモータ５１へ供給される。
【００７５】
検出回路２１５は、コンバータ２１４の入力側に流れる電流値および電圧値を検出する。検出回路２１７は、インバータ２１６の出力側に流れる電流値および電圧値を検出する。
【００７６】
制御回路２１２は、通信インターフェイス（Ｉ／Ｆ）２３０を介してＰＬＣ４０から与えられる指令値に従って、Ｉ／Ｏ部２１０を介して収集されるフィードバック情報（サーボモータ５１からフィードバックされる位置情報／速度情報）、ならびに、検出回路２１５および検出回路２１７によって検出される電流値および電圧値に基づいて、コンバータ２１４およびインバータ２１６を制御する。
【００７７】
また、サーボドライバ２０は、安全監視機能２２として、Ｉ／Ｏ部２２０と、プロセッサ２２２と、ハードディスク（ＨＤＤ）２２４と、ＲＡＭ２２６と、フラッシュメモリ（ＦＬＡＳＨ）２２８とを含む。
【００７８】
プロセッサ２２２は、ハードディスク２２４またはフラッシュメモリ２２８に予め格納されるプログラムを実行することで、安全監視機能２２に係る処理を実現する。ハードディスク２２４およびフラッシュメモリ２２８は、各種データを不揮発的に格納する。より具体的には、これらの記録媒体は、プロセッサ２２４で実行されるプログラム、安全イベントの発生をトリガーとして収集された安全条件に関する情報などを格納する。
【００７９】
ＲＡＭ２２６は、ワーキングメモリとして機能し、プロセッサ２２２がプログラムを実行するために必要な各種データやプログラムなどを格納するとともに、Ｉ／Ｏ部２２０を介して収集されたデータ（本実施の形態においては、安全条件に関する情報）を保持する。
【００８０】
Ｉ／Ｏ部２２０は、サーボモータ５１からフィードバックされる位置情報／速度情報を収集する。Ｉ／Ｏ部２１０とＩ／Ｏ部２２０とを１つのコンポーネントとして実装してもよいが、安全の観点からは、別々に実装することが好ましい。
【００８１】
（ｄ３：Ｉ／Ｏ装置）
安全システム１のＩ／Ｏ装置３０は、図５に示すＰＬＣにおいて、メイン処理ユニット１１に代えて、ネットワーク通信ユニットを配置したものである。すなわち、Ｉ／Ｏ装置３０は、一種のリモートＩ／Ｏユニット（装置）として構成される。このＩ／Ｏ装置３０の主たる構成要素は、図５において説明したＩ／Ｏユニット１２，１３，１４，１５と同様である。そのため、これ以上の詳細な説明は繰り返さない。
【００８２】
（ｄ４：ＰＬＣ）
安全システム１のＰＬＣ４０は、図５および図６に示す安全監視管理装置１０の構成と実質的に同一である。但し、ＰＬＣ４０は、安全監視管理装置１０の処理とは独立して、対象の機器を制御する。一方で、安全監視管理装置１０から対象機器の作動を停止するための指令が通知されると、ＰＬＣ４０は対象機器の作動を停止する。
【００８３】
その他の点は、図５および図６を参照して説明しているので、詳細な説明は繰り返さない。
【００８４】
（ｄ５：パーソナルコンピュータ）
図８は、図１に示す安全システム１のパーソナルコンピュータ５０の構成を示す模式図である。本実施の形態に従うパーソナルコンピュータ５０は、ＯＳを含む各種プログラムを実行するＣＰＵ４０２と、ＢＩＯＳや各種データを格納するＲＯＭ４０４と、ＣＰＵ４０２でのプログラムの実行に必要なデータを格納するための作業領域を提供するＲＡＭ４０６と、ＣＰＵ４０２で実行されるプログラムなどを不揮発的に格納するハードディスク（ＨＤＤ）４０８とを含む。
【００８５】
パーソナルコンピュータ５０は、さらに、ユーザからの操作を受け付けるキーボード４１０およびマウス４１２と、情報をユーザに提示するためのモニタ４１４とを含む。パーソナルコンピュータ５０は、安全監視管理装置１０などと通信するための通信インターフェイス（Ｉ／Ｆ）４２０を含む。
【００８６】
後述するように、パーソナルコンピュータ５０で実行される各種プログラムは、ＣＤ−ＲＯＭ４１８などの記録媒体に格納されて流通する。このＣＤ−ＲＯＭ４１８に格納されたプログラムは、ＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）駆動装置４１６によって読取られ、ハードディスク４０８などへ格納される。あるいは、上位のホストコンピュータなどからネットワークを通じてプログラムをダウンロードするように構成してもよい。
【００８７】
＜Ｅ．制御機能＞
次に、本実施の形態に従う安全システム１に係る制御機能について説明する。
【００８８】
（ｅ１：サーボドライバ２０の制御機能）
図９は、図１に示す安全システム１のサーボドライバ２０の制御機能を模式的に示すブロック図である。図９に示す各ブロック（モジュール）は、典型的には、図７の安全監視機能２２に対応するハードウェアがソフトウェアと協働することによって実現される。
【００８９】
より具体的には、サーボドライバ２０は、その制御機能として、通信モジュール２２０２と、安全条件記憶部２２０４と、安全条件ファイル２２０６と、判断モジュール２２０８と、入力モジュール２２１０と、ＦＩＦＯバッファ２２１２と、生成モジュール２２１４とを含む。
【００９０】
通信モジュール２２０２は、ネットワーク６０を介して接続された安全監視管理装置１０との間で各種データを遣り取りする。具体的には、通信モジュール２２０２は、安全条件や発生した安全イベントを安全監視管理装置１０から受信するとともに、サーボドライバ２０で判断した安全イベントの発生を安全監視管理装置１０へ通知する。さらに、通信モジュール２２０２は、収集されたログ情報を安全監視管理装置１０へ送信する。
【００９１】
安全条件記憶部２２０４は、安全イベントが発生したか否かを判断するための安全条件ファイル２２０６を格納する。この安全条件ファイル２２０６の設定内容（安全条件）は、安全監視管理装置１０から設定されてもよいし、ユーザからの設定に応じて直接的に設定されてもよい。
【００９２】
入力モジュール２２１０は、安全条件に関する情報を収集する。この安全条件に関する情報は、安全管理の対象機器などからのフィールド情報を含む。このフィールド情報は、対象機器の作動に関する情報を含み、一例として、サーボモータ５１からのフィードバック速度、サーボモータ５１への指令速度、サーボモータ５１へのサーボ指令位置、サーボモータ５１からのフィードバック位置、サーボモータ５１の状態を示すステータスフラグ、ブレーキなどの出力ポートの状態、入力信号の状態、ＰＬＣ４０などからの定期更新される指令値などを含む。これらの情報は、任意に組み合わせることができる。
【００９３】
入力モジュール２２１０で収集されたフィールド情報は、ＦＩＦＯバッファ２２１２へ出力される。また、これらのフィールド情報のうち、安全条件として設定されている情報は、判断モジュール２２０８へ出力される。
【００９４】
判断モジュール２２０８は、安全条件ファイル２２０６を参照して、対象機器の作動に関する信号に基づいて安全条件に合致する事象が発生したか否かを判断する。そして、判断モジュール２２０８は、安全条件に合致する事象が発生したときに、安全条件に合致する事象（安全イベント）が発生したことを安全監視管理装置１０へ通知する。
【００９５】
また、判断モジュール２２０８は、安全条件に合致する事象が発生したときに、対象機器の作動を停止する信号（ＳＴＯ）を出力する。判断モジュール２２０８は、安全監視管理装置１０から安全イベントの発生を通知されたときにも、対象機器の作動を停止する信号（ＳＴＯ）を出力する。すなわち、判断モジュール２２０８は、安全条件に合致する事象が発生したとの判断、および、安全監視管理装置１０からの対象機器の作動を停止するための指令の受信、の少なくとも一方に応答して、モータ制御機能２１に対して対象機器の作動を停止するための指令を出力する。
【００９６】
また、判断モジュール２２０８は、安全条件に関する情報として、各時点において、通常状態および安全状態を含む、いずれの状態であるかを示す状態値（例えば、監視中／無効中／安全状態中）を出力する。
【００９７】
ＦＩＦＯバッファ２２１２は、所定期間にわたって、入力モジュール２２１０で収集されたフィールド情報および判断モジュール２２０８からの状態値を順次格納する。すなわち、ＦＩＦＯバッファ２２１２は、安全条件に関する情報を連続的に収集する。
【００９８】
生成モジュール２２１４は、安全イベントが発生すると、ＦＩＦＯバッファ２２１２から安全イベントが発生した前後の所定期間にわたるデータを抽出し、ログ情報を生成する。すなわち、生成モジュール２２１４は、安全条件に合致する事象が発生したことに応答して、収集した情報に発生タイミングを関連付けるとともに、安全条件に関する情報を、当該発生タイミングを基準とした所定期間にわたって格納する。このとき、生成モジュール２２１４は、安全条件に合致する事象が発生したとの判断、および、安全監視管理装置１０からの対象機器の作動を停止するための指令の受信、の少なくとも一方に応答して、安全イベントの発生タイミングを決定する。
【００９９】
生成モジュール２２１４で生成されたログ情報は、逐次あるいは要求に応じて、安全監視管理装置１０へ送信される。なお、予め定められたしきい値との比較によって安全イベントを発生させる安全条件については、生成モジュール２２１４は、対応する予め定められたしきい値（設定値）を併せて送信する。
【０１００】
図１０は、サーボドライバ２０の安全監視機能２２によるログ情報の収集を説明するための図である。図１０を参照して、安全条件に関する情報として、（ａ）判断モジュール２２０８による状態値（通常状態／安全状態）、（ｂ）サーボモータ５１の速度、（ｃ）サーボモータ５１に供給される電流値が収集される例を想定する。
【０１０１】
図１０に示すように、あるタイミングで安全イベントが発生し、通常状態から安全状態へ移行すると、そのタイミングを基準として、その前後の所定期間（ロギング範囲）にわたる情報がログ情報として格納される。上述したように、ＦＩＦＯバッファを用いてフィールド情報を逐次収集しておくことで、安全イベントが発生した際に、その時点より過去分のフィールド情報についてもロギングする。
【０１０２】
なお、これらのログ情報は、安全監視管理装置１０によって集約されるため、時間軸を共通にすることが好ましい。例えば、ネットワーク６０において定時性を確保するために利用されるタイマー（あるいは、カウンター）を利用して、図１０に示す時間軸を定義してもよい。このような時間軸を定義することで、安全監視管理装置１０側で収集される各種情報と併せて集約した場合にも、各コンポーネントの時間的な挙動を事後的に確認できる。
【０１０３】
別の方法で時間合わせを行なってもよい。例えば、安全監視管理装置１０から定期的に時刻を通知するようにしてもよいし、各装置がＧＰＳ（Global Positioning Sensor）受信機を搭載しておき、そのＧＰＳ電波に含まれる時刻情報を利用するようにしてもよい。
【０１０４】
（ｅ２：安全監視管理装置１０の制御機能）
図１１は、図１に示す安全システム１の安全監視管理装置１０の制御機能を模式的に示すブロック図である。図１１に示す各ブロック（モジュール）は、典型的には、図５に示す安全監視管理装置１０を構成するハードウェアがソフトウェアと協働することによって実現される。
【０１０５】
より具体的には、安全監視管理装置１０は、その制御機能として、通信モジュール１００２と、安全条件記憶部１００４と、安全条件ファイル１００６と、判断モジュール１００８と、ＦＩＦＯバッファ１０１２と、生成モジュール１０１４と、ログ情報記憶部１０２０と、集約モジュール１０２４とを含む。
【０１０６】
通信モジュール１００２は、ネットワーク６０を介して接続されたサーボドライバ２０やＩ／Ｏ装置３０と、ＰＬＣ４０との間で各種データを遣り取りする。具体的には、通信モジュール１００２は、サーボドライバ２０が発行した安全イベント、および／または、Ｉ／Ｏ装置３０で収集された安全条件に関する情報（フィールド情報）を受信するとともに、判断モジュール１００８で判断した安全イベントの発生をサーボドライバ２０（および図示しない他のサーボドライバ）、ならびにＩ／Ｏ装置３０へ通知する。さらに、通信モジュール１００２は、サーボドライバ２０で収集されたログ情報を受信する。
【０１０７】
安全条件記憶部１００４は、安全イベントが発生したか否かを判断するための安全条件ファイル１００６を格納する。この安全条件ファイル１００６の設定内容（安全条件）は、典型的には、ユーザからの設定に応じて直接的に設定されてもよい。安全監視管理装置１０の安全条件ファイル１００６の設定内容と、サーボドライバ２０の安全条件ファイル２２０６の設定内容とは、互いに独立に設定されていてもよいし、安全条件ファイル１００６のうちサーボドライバ２０に関するものだけを安全条件ファイル２２０６として利用するものであってもよい。
【０１０８】
判断モジュール１００８は、安全条件ファイル１００６を参照して、対象機器の作動に関する信号に基づいて安全条件に合致する事象が発生したか否かを判断する。そして、判断モジュール１００８は、安全条件に合致する事象が発生したときに、安全条件に合致する事象（安全イベント）が発生したことを、サーボドライバ２０（および図示しない他のサーボドライバ）、ならびにＩ／Ｏ装置３０へ通知する。
【０１０９】
また、判断モジュール１００８は、いずれかのサーボドライバ２０から安全条件に合致する事象（安全イベント）が発生したことを通知されると、その通知を他のサーボドライバ２０およびＩ／Ｏ装置３０へも通知する。すなわち、判断モジュール１００８は、いずれかのサーボドライバ２０から安全条件に合致する事象が発生したことを通知されると、他のサーボドライバ２０および／またはＩ／Ｏ装置３０に対して、対象機器の作動を停止するための指令を通知する。
【０１１０】
また、判断モジュール１００８は、安全条件に関する情報として、各時点において、通常状態および安全状態を含む、いずれの状態であるかを示す状態値（例えば、監視中／無効中／安全状態中）を出力する。
【０１１１】
ＦＩＦＯバッファ１０１２は、所定期間にわたって、通信モジュール１００２を介して収集されるフィールド情報および判断モジュール１００８からの状態値を順次格納する。すなわち、ＦＩＦＯバッファ１０１２は、安全条件に関する情報を連続的に収集する。このフィールド情報は、対象機器の作動に関する情報を含み、一例として、Ｉ／Ｏ装置３０に接続されている対象機器の各時点における出力値および／または入力値、ならびに状態値などを含む。これらの情報は、任意に組み合わせることができる。
【０１１２】
生成モジュール１０１４は、安全イベントが発生すると、ＦＩＦＯバッファ１０１２から安全イベントが発生した前後の所定期間にわたるデータを抽出し、ログ情報を生成する。すなわち、生成モジュール１０１４は、安全条件に合致する事象が発生したことに応答して、収集した情報に発生タイミングを関連付けるとともに、安全条件に関する情報を、当該発生タイミングを基準とした所定期間にわたって格納する。このとき、生成モジュール１０１４は、安全条件に合致する事象が発生したとの判断、および、サーボドライバ２０からの対象機器の作動を停止するための指令の受信、の少なくとも一方に応答して、安全イベントの発生タイミングを決定する。
【０１１３】
生成モジュール１０１４によって生成されるログ情報、および、通信モジュール１００２を介してサーボドライバ２０などから取得されるログ情報は、ログ情報記憶部１０２０に格納される。複数のサーボドライバ２０で構成されるシステムでは、同一の安全イベントに複数のログ情報が関連付けられることになる。すなわち、ログ情報記憶部１０２０は、同一の安全イベントの発生に対応して、複数のログ情報１０２２を格納する場合がある。なお、生成モジュール１０１４は、予め定められたしきい値との比較によって安全イベントを発生させる安全条件について、その予め定められたしきい値（設定値）をログ情報と併せて格納する。
【０１１４】
集約モジュール１０２４は、ログ情報記憶部１０２０に格納されたログ情報１０２２を安全イベントの発生タイミングに関連付けて集約する。すなわち、集約モジュール１０２４は、安全イベントの発生タイミングを基準として、安全条件に関する情報を集約する。そして、集約モジュール１０２４は、安全条件に関する情報を集約して得られた結果を出力する。この結果出力は、典型的には、安全監視管理装置１０に接続されるパーソナルコンピュータ５０に表示される。あるいは、プリンタ出力、メール送信、Ｗｅｂベースでのアクセスなどの任意の形態を採用できる。
【０１１５】
また、安全監視管理装置１０の集約モジュール１０２４に係る機能については、パーソナルコンピュータ５０でプログラムを実行することで、実現してもよい。この場合、安全監視管理装置１０には、集約モジュール１０２４を実装する必要はなく、ログ情報１０２２を収集する機能のみが搭載される。
【０１１６】
図１２は、安全監視管理装置１０の集約モジュール１０２４による集約結果を説明するための図である。図１２には、パーソナルコンピュータ５０の画面上に表示される画面例を示す。
【０１１７】
一例として、安全監視管理装置１０がＩ／Ｏ装置３０を介して、ライトカーテン８およびセーフティスキャナー７からのＯＮ／ＯＦＦ信号を収集するとともに、２つのサーボドライバ２０がサーボモータ１および２をそれぞれ制御しているとする。そして、２つのサーボドライバ２０がそれぞれ対応するサーボモータの安全条件に関するログ情報を収集しているとする。
【０１１８】
図１２に示すように、これらの情報の時間的変化が表示されるとともに、安全条件に合致する事象（安全イベント）の発生タイミングを基準にその時間軸が決定される。図１２に示す画面例において、（ａ）ライトカーテン８、および（ｂ）セーフティスキャナー７については、安全監視管理装置１０が収集したログ情報であり、（ｃ）サーボモータ１の速度（サーボ１速度）、および（ｄ）サーボモータ１の電流値（サーボ１電流）は、１番目のサーボドライバ２０が収集したログ情報であり、（ｅ）サーボモータ２の速度（サーボ２速度）、および（ｆ）サーボモータ２の電流値（サーボ２電流）は、２番目のサーボドライバ２０が収集したログ情報である。また、（ｆ）ステータスは、「監視中」および「安全状態値」といった状態値を示す。このステータスについては、安全監視管理装置１０で管理される状態値またはサーボドライバ２０で管理される状態値が用いられる。
【０１１９】
また、速度および電流値については、それぞれ対応するしきい値（設定値）が併せて表示される。上述したように、このようなしきい値（設定値）は、ログ情報に関連付けて、サーボドライバ２０などから送信される。このように、しきい値（設定値）を併せて表示することで、しきい値超過（設定値違反）までの余裕度を一目して確認することができる。
【０１２０】
さらに、複数のしきい値（設定値）が設定されている場合には、それぞれのしきい値とフィールド情報との比較によって、いずれの安全機能によって、安全イベントが発生したのかを明示的に示すようにしてもよい。この場合には、安全機能の別にステータスが収集および格納される。
【０１２１】
＜Ｆ．処理手順＞
次に、本実施の形態に従う安全システム１に係る処理手順について説明する。
【０１２２】
（ｆ１：サーボドライバ２０の処理手順）
図１３は、サーボドライバ２０における処理手順を示すフローチャートである。図１３に示すフローチャートには、モータ制御機能２１および安全監視機能２２に係る処理手順をそれぞれ示す。
【０１２３】
図１３を参照して、サーボドライバ２０の制御回路２１２は、サーボモータ５１の制御に必要な情報を収集する（ステップＳ１００）。具体的には、制御回路２１２は、ＰＬＣ４０からの指令値、検出回路２１５で検出されるコンバータ２１４の入力側の電流値／電圧値、検出回路２１７で検出されるインバータ２１６の出力側の電流値／電圧値、ならびにサーボモータ５１からフィードバックされる信号（速度情報／位置情報）などを収集する。このサーボモータ５１の制御に必要な情報は逐次記録される。続いて、制御回路２１２は、ステップＳ１００において収集した情報に基づいて、次ステップの出力値を算出する（ステップＳ１０２）。続いて、制御回路２１２は、プロセッサ２２２がＳＴＯを発行しているか否かを判断する（ステップＳ１０４）。ＳＴＯが発行されていれば、処理を中止する（ステップＳ１０６）。すなわち、制御回路２１２は、サーボモータ５１への電力を遮断するシャットオフ機能を有効化する。これに対して、ＳＴＯが発行されていなければ、制御回路２１２は、サーボモータ５１へ電力を供給する（ステップＳ１０８）。より具体的には、制御回路２１２は、ステップＳ１０２において算出された出力値に従って、コンバータ２１４およびインバータ２１６を制御する。
【０１２４】
なお、図１３においては、説明の便宜上、処理実行中の特定のステップにおいてＳＴＯの発行有無を判断する例を示したが、典型的には、ＳＴＯは割込信号として実装されることが多く、この場合には、処理のいずれの段階であっても、シャットオフ機能が有効化される。
【０１２５】
このモータ制御機能２１と並行して、以下のような安全監視機能２２に係る処理が実行される。
【０１２６】
すなわち、プロセッサ２２２は、安全条件に関する情報を収集し、ＲＡＭ２２６（ＦＩＦＯバッファ２２１２）に格納する（ステップＳ２００）。安全条件に関する情報は逐次記録される。続いて、プロセッサ２２２は、予め格納されている安全条件ファイル２２０６を参照して、収集した安全条件に関する情報に基づいて、安全条件に合致する事象（安全イベント）が発生したか否かを判断する（ステップＳ２０２）。
【０１２７】
安全条件に合致する事象が発生していない場合（ステップＳ２０２においてＮＯの場合）には、プロセッサ２２２は、安全条件に合致する事象が発生しているとの通知を安全監視管理装置１０から受信したか否かを判断する（ステップＳ２０４）。安全条件に合致する事象が発生しているとの通知を安全監視管理装置１０から受信していない場合（ステップＳ２０４においてＮＯの場合）には、ステップＳ２００以下の処理が繰り返される。
【０１２８】
これに対して、安全条件に合致する事象が発生した場合（ステップＳ２０２においてＹＥＳの場合）には、プロセッサ２２２は、安全条件に合致する事象が発生したことを安全監視管理装置１０へ通知する（ステップＳ２１０）。続いて、プロセッサ２２２は、ＳＴＯを発行する（ステップＳ２１２）。さらに、プロセッサ２２２は、安全条件に合致する事象が発生したタイミングを記録し、この発生タイミングを基準とした所定期間にわたって、サーボモータ５１の制御に必要な情報（シャフトスピード、位置、加速度など）および安全条件に関する情報を収集する（ステップＳ２１４）。そして、プロセッサ２２２は、所定期間にわたるサーボモータ５１の制御に必要な情報および安全条件に関する情報の収集が完了すると、ログ情報を生成する（ステップＳ２１６）。最終的に、プロセッサ２２２は、生成したログ情報を安全監視管理装置１０へ送信する（ステップＳ２１８）。そして、処理は終了する。
【０１２９】
安全条件に合致する事象が発生しているとの通知を安全監視管理装置１０から受信した場合（ステップＳ２０４においてＹＥＳの場合）には、ステップＳ２１２以下の処理が実行される。
【０１３０】
（ｆ２：安全監視管理装置１０の処理手順）
図１４は、安全監視管理装置１０における処理手順を示すフローチャートである。図１４を参照して、プロセッサ１０２は、安全条件に関する情報を収集し、ＲＡＭ１０６（ＦＩＦＯバッファ１０１２）に格納する（ステップＳ３００）。続いて、プロセッサ１０２は、予め格納されている安全条件ファイル１００６を参照して、収集した安全条件に関する情報に基づいて、安全条件に合致する事象（安全イベント）が発生したか否かを判断する（ステップＳ３０２）。
【０１３１】
安全条件に合致する事象が発生していない場合（ステップＳ３０２においてＮＯの場合）には、プロセッサ１０２は、安全条件に合致する事象が発生しているとの通知を他の装置（いずれかのサーボドライバ２０）から受信したか否かを判断する（ステップＳ３０４）。安全条件に合致する事象が発生しているとの通知を他の装置から受信していない場合（ステップＳ３０４においてＮＯの場合）には、ステップＳ３００以下の処理が繰り返される。
【０１３２】
これに対して、安全条件に合致する事象が発生した場合（ステップＳ３０２においてＹＥＳの場合）、または、安全条件に合致する事象が発生しているとの通知を他の装置から受信した場合（ステップＳ３０４においてＹＥＳの場合）には、プロセッサ１０２は、安全条件に合致する事象が発生したことをすべての装置（サーボドライバ２０および／またはＩ／Ｏ装置３０）に対して、安全条件に合致する事象が発生していることを通知する（ステップＳ３１０）。すなわち、プロセッサ１０２は、安全システム１を構成する全制御装置に対して、対象機器の作動を停止するための指令を通知する。
【０１３３】
さらに、プロセッサ１０２は、安全条件に合致する事象が発生したタイミングを決定し、安全条件に関する情報の収集を所定期間にわたって継続する（ステップＳ３１２）。そして、プロセッサ１０２は、所定期間にわたる安全条件に関する情報の収集が完了すると、ログ情報を生成する（ステップＳ３１４）。
【０１３４】
その後、プロセッサ１０２は、他の装置から送信されるログ情報を順次受信し（ステップＳ３１６）、対象の安全イベントの発生タイミングを基準として、ログ情報を集約する（ステップＳ３１８）。そして、処理は終了する。
【０１３５】
この集約されたログ情報は、パーソナルコンピュータ７０などからの要求に応じて、適宜出力される。
【０１３６】
＜Ｇ．システム構成（第１の別形態）＞
上述の実施の形態においては、安全コンポーネントである安全監視機能２２がサーボドライバ２０内に実装される構成について例示したが、このような安全監視機能２２を内蔵する構成に代えて他の構成を採用してもよい。以下では、安全システム１の別形態として、モータ制御機能２１および安全監視機能２２をそれぞれ独立した装置で実現する形態について説明する。
【０１３７】
図１５は、本実施の第１の別形態に従う安全システム１Ａの構成を示す模式図である。図１５に示す安全システム１Ａは、図１に示す安全システム１に比較して、サーボドライバ２０が、モータ制御機能２１を提供するサーボドライバ２１Ａおよび安全監視機能２２を提供する安全監視装置２２Ａとして実装されている点が異なっている。
【０１３８】
図１５に示すサーボドライバ２１Ａおよび安全監視装置２２Ａは、それぞれ上述のモータ制御機能２１および安全監視機能２２に係る制御を実行するため、詳細な説明は繰り返さない。但し、安全監視装置２２Ａからサーボドライバ２１ＡへのＳＴＯは、ネットワーク６０または直接接続された配線などを介して伝送される。
【０１３９】
このように、安全監視装置２２Ａは、対象機器であるサーボモータ５１の作動を制御するサーボドライバ２１Ａとのインターフェイスを有している。そして、安全監視機能２２を提供する安全監視装置２２Ａは、安全条件に合致する事象（安全イベント）が発生したとの判断、および、安全監視管理装置１０からの対象機器の作動を停止するための指令の受信、の少なくとも一方に応答して、安全イベントの発生タイミングを決定するとともに、サーボドライバ２１Ａに対して対象機器の作動を停止するための指令を出力する。
【０１４０】
＜Ｈ．システム構成（第２の別形態）＞
上述したように、機械や設備の作動に係る制御システムとは独立した安全システムが要望されることもある。例えば、安全監視管理装置１０およびＰＬＣ４０がそれぞれ独立したネットワークに接続される。このような場合であっても、本実施の形態に従う機能を実現することができる。
【０１４１】
図１６は、本実施の第２の別形態に従う安全システム１Ｂの構成を示す模式図である。図１６に示す安全システム１Ｂは、図１に示す安全システム１に比較して、サーボドライバ２０が、モータ制御機能２１を提供するサーボドライバ２１Ｂおよび安全監視機能２２を提供する安全監視装置２２Ｂとして実装されている点が異なっている。さらに、安全監視管理装置１０および安全監視装置２２Ｂが接続されているネットワーク６０と、ＰＬＣ４０およびサーボドライバ２１Ｂが接続されているネットワーク６２とは、互いに独立している。そのため、対象機器である産業用ロボット５（サーボモータ５１）の作動を制御する装置構成と、それを監視する装置構成とは互いに干渉しない。
【０１４２】
図１６に示す安全システム１Ｂにおいては、安全システム（ＰＬＣ４０およびサーボドライバ２１Ｂ）が何らかの安全イベントの発生を検知した場合に、サーボドライバ２１Ｂおよび産業用ロボット５（サーボモータ５１）の作動を停止させるための構成として、サーボドライバ２１Ｂへの電源を遮断するという構成を採用する。より具体的には、電源２５からサーボドライバ２１Ｂへ供給される動力電源の経路上に、コンタクタ２６を設け、このコンタクタ２６にＩ／Ｏ装置３１から遮断信号を出力することで、異常時の電源遮断を実現する。Ｉ／Ｏ装置３１は、安全監視管理装置１０と同じくネットワーク６０に接続される。
【０１４３】
このように、安全システム１Ｂは、対象機器であるサーボモータ５１の作動を制御するサーボドライバ２１Ａに対して信号を出力するＩ／Ｏ装置３１を含む。安全監視機能２２を提供する安全監視装置２２Ａは、安全条件に合致する事象（安全イベント）が発生したとの判断、および、安全監視管理装置１０からの対象機器の作動を停止するための指令の受信、の少なくとも一方に応答して、発生タイミングを決定する。また、安全監視管理装置１０は、安全条件（安全イベント）に合致する事象が発生すると、Ｉ／Ｏ装置３１を介して、サーボドライバ２１Ａに対して対象機器の作動を停止するための指令を出力する。  
【０１４４】
＜Ｉ．利点＞
従来のように、安全イベントが発生した際に機械や設備の電源／動力源を遮断するだけの安全システムを考えると、以下のような課題が想定される。すなわち、対象装置を制御するためのＰＬＣと、安全システム用のＰＬＣとの起動順序を誤ると、安全イベントが発生したと誤判断されて、電源／動力源が遮断される可能性があり、これらの起動手順が複雑化する。また、制御用ＰＬＣと安全システム用ＰＬＣとの間で入力／出力に係る数値の単位が異なる、それぞれのＰＬＣ用の設計ソフトウェアが互いに独立している、制御用ＰＬＣと安全システム用ＰＬＣとの間のタイミング調整が難しいといった調整上の困難性もある。このタイミング調整は、制御用ＰＬＣと安全システム用ＰＬＣとの間で制御周期が異なっていたり、シミュレーション上は同期がとれていても実運用において制御周期の誤差が生じたりするなどの理由から、容易ではない。
【０１４５】
また、運用中に問題を解決することは容易ではない。これは、安全機器は安全状態となることに主眼が置かれているので、何らかの誤作動があった場合でも、その現象は「動かない」側の現象となり、事後的に問題を解決しにくい。また、安全状態では、電源が遮断されるので、どのような事象が起きたのかを確認することが難しい。
【０１４６】
上述したように、本実施の形態においては、フィールド情報などのログをとることにより、各装置（コンポーネント）が管理している現在値および対応するしきい値（設定値）を同期した状態で遡って確認することができる。このようなログ情報を参照することで、最終的に設定値違反と判断されて装置が停止した原因を事後的に確認できる。
【０１４７】
本実施の形態に従う安全システムの構成によれば、安全イベントの発生（ＳＴＯなどの安全確保信号の発行）といった、簡単なトリガーでログをとることができる。また、いずれの安全システムであっても、電源／動力源の遮断状態は安全であるので、共通の仕様を保ったまま複数の安全システムに適用できる。また、自動でログがとれるので、発生頻度の低い現象であっても、より容易にログをとることができる。このとき、装置の内部データが記録されるので、外部の測定器などを必要としない。
【０１４８】
例えば、被監視設備内で、１０秒ほどの簡単な作業を１時間に何度も行なわなければならないような場合に、被監視設備へのアクセスドアを安全ドアにしておき、その安全ドアを開くと都度電源が遮断されるような安全システムを採用すると、電源が投入されて、装置が再起動するまでの待ち時間が相対的に大きくなり、作業効率を圧迫し得る。このような場合、供給する電源を遮断する代わりに、セーフティモーション機能を用いて装置の停止状態を確保するような方法を採用することができる。このようなセーフティモーション機能を導入することで、演算途中の計算値を維持できるので、動作指令を継続出力するなどの操作によって、再起動により生じる時間ロスを大幅に軽減できる場合がある。
【０１４９】
このようなセーフティモーション機能を導入するにあたって、動作監視による制御異常を発見する方法が採用される。この方法においては、装置の生産性と作業者の安全性とを両立させつつ、装置の作動位置（作動範囲）と人間（作業者）が立ち入ることができる範囲との調整を最適化する必要がある。このような場合に、本実施の形態に従う安全システムは好適である。
【０１５０】
すなわち、いずれの安全システム（安全コンポーネント）は、安全監視に対する違反判定がなされると、電源／動力源を遮断しようとする動作を共通に行なう。そこで、安全状態へ移行したタイミングに合わせて、それぞれのフィールド情報などを記憶しておくというシンプルな構成を採用することで、事後的に各安全コンポーネントからデータを集約して、安全確保した時刻（安全状態へ移行したタイミング）を基準として互いのデータを比較することで、安全監視に対する違反が判定されたときの運転状態と制御状態との余裕度などを確認および検証できる。
【０１５１】
上述したように、一般的に、「安全状態」は電源／動力源の遮断に頼るため、安全確保されていない機械や設備は監視系を含めて、すべてシャットオフされる可能性がある。そのため、制御システムで記録されたデータを正しく残せない場合もあり、従来の構成では、調整用にデータを測定することは容易ではなかった。これに対して、本実施の形態に従う安全システムでは、安全状態が確保された監視を主とする装置を用いて、測定したデータを残すので、非常停止や監視異常などによって、システム動作がどれだけ異常な動作になっていたのかを数値で確認できる。これにより、当該データを事後的な改善に利用できる。
【０１５２】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１５３】
１  安全システム、５  産業用ロボット、６  リミットセンサ、７  セーフティスキャナー、８  ライトカーテン、９  被監視設備、１０  安全監視管理装置、１１  メイン処理ユニット、１２，１３，１４，１５  Ｉ／Ｏユニット、１６  システムバス、２０，２１Ａ，２１Ｂ  サーボドライバ、２１  モータ制御機能、２２  安全監視機能、２２Ａ，２２Ｂ  安全監視装置、２５  電源、２６  コンタクタ、３０  Ｉ／Ｏ装置、４０  ＰＬＣ、５０，７０  パーソナルコンピュータ、６０，６２  ネットワーク、１０２，２２２，２２４  プロセッサ、１０４  チップセット、１０６，２２６，４０６  ＲＡＭ、１０８，２２８  フラッシュメモリ、１１０，２２４，４０８  ハードディスク、１１２  システムバスコントローラ、１１４  ネットワークコントローラ、１１６  インターフェイス、１１８  メモリカードインターフェイス、１２０  メモリカード、２１０，２２０  Ｉ／Ｏ部、２１２  制御回路、２１４  コンバータ、２１５，２１７  検出回路、２１６  インバータ、４０２  ＣＰＵ、４０４  ＲＯＭ、４１０  キーボード、４１２  マウス、４１４  モニタ、４１６  ＣＤ−ＲＯＭ駆動装置、４１８  ＣＤ−ＲＯＭ、１００２，２２０２  通信モジュール、１００４，２２０４  安全条件記憶部、１００６，２２０６  安全条件ファイル、１００８，２２０８  判断モジュール、１０１２，２２１２  ＦＩＦＯバッファ、１０１４，２２１４  生成モジュール、１０２０  ログ情報記憶部、１０２２  ログ情報、１０２４  集約モジュール、２２１０  入力モジュール。
【図１】
2014016930.tif 000003
【図２】
2014016930.tif 000004
【図３】
2014016930.tif 000005
【図４】
2014016930.tif 000006
【図５】
2014016930.tif 000007
【図６】
2014016930.tif 000008
【図７】
2014016930.tif 000009
【図８】
2014016930.tif 000010
【図９】
2014016930.tif 000011
【図１０】
2014016930.tif 000012
【図１１】
2014016930.tif 000013
【図１２】
2014016930.tif 000014
【図１３】
2014016930.tif 000015
【図１４】
2014016930.tif 000016
【図１５】
2014016930.tif 000017
【図１６】
2014016930.tif 000018