説明

サーボシステム、サーボモータ駆動装置、セーフティユニットおよびサーボシステムの制御方法

【課題】サーボシステムに用いられるエンコーダを、安全機能を有するものに入れ替えることなく、サーボシステムの安全化を図る。
【解決手段】サーボドライバ4は、コントローラ5からの指令信号に基づいて、サーボモータ2の動作に関する指令値を設定する。サーボドライバ4は、その指令値およびフィードバック信号から得られたフィードバック値をセーフティユニット10に送信する。サーボドライバ4から送られた指令値およびフィードバック値の少なくとも一方の値が異常である場合に、STO信号を発生させるとともに、そのSTO信号をサーボドライバ4に送信する。サーボドライバ4にSTO信号が入力された場合、サーボドライバ4はサーボモータ2への電力の供給を停止する。従来から使用されていたエンコーダを用いて安全規格に適合したサーボシステムを構築することが可能となる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーボシステム、サーボモータ駆動装置、セーフティユニットおよびサーボシステムの制御方法に関する。
【背景技術】
【0002】
サーボシステムは、各種機械における可動部の位置決め制御などに用いられている。このようなサーボシステムとして、各種の機械装置を稼動するためのサーボモータと、このサーボモータに取り付けられたエンコーダと、サーボモータを駆動するためのサーボドライバと、サーボドライバに対して位置指令情報等を出力するための制御装置とを備えるシステムがある。
【0003】
近年、製造現場においては、コスト削減、生産性の向上とともに、作業者に対する安全性確保の取り組みが重要な要件となっている。このため、上記のようなサーボシステムを安全規格に適合させることが要求されつつある。サーボモータを備えるシステムのような可変速度電気式電力駆動システム(Adjustable speed electrical power drive systems)に関する安全規格としてIEC61800が定められている。
【0004】
IEC61800のPart5−2(以下「IEC61800−5−2」と呼ぶ)は、2007年の7月に発行され、機能面での安全要求、すなわちセーフティモーション機能に関する要求事項が規定されている。
【0005】
また、このような安全規格としてIEC61508も規定されている。IEC61508は、電気・電子・プログラマブル電子式安全関連の機能安全に関する国際規格である。IEC61508では、システムの故障確率をSIL(Safety Integrity Level:安全度水準)と呼ばれる尺度で規定している。そして、SILごとに満足すべき要求事項を定義しており、構築する安全制御システムが達成すべき取り組みが明確化されている。SILはSIL1からSIL4の4段階に分かれており、SIL4が最高レベルである。IEC61800−5−2においてもシステムの安全構築度の評価にはSILが使用されている。
【0006】
サーボモータを備えるシステムにおいて安全性を確保するためには、サーボモータの回転速度、回転位置などをエンコーダが正確に検出しなければならない。このためにエンコーダの出力の信頼性を確保することが求められる。また、エンコーダの検出結果が異常である場合には、サーボモータへの電力供給を停止するといった対策も求められる。
【0007】
エンコーダの出力の信頼性を確保するための最も簡単な実現方法は、エンコーダ内部の回路を二重化することによって、エンコーダの出力データが正しいことを確認する方法である。また、正弦状(SIN)の信号と余弦状(COS)の信号とを発生させるSIN/COSタイプのエンコーダの場合、SIN+COS=1の関係から、SINとCOSとの独立した2系統が常に一定の関係にあることを証明する方法も知られている。
【0008】
たとえば特許文献1は、互いに独立した2つのSIN/COSタイプのエンコーダを有する測定システムを開示する。
【0009】
また、たとえば、非特許文献1は、エンコーダ内部で同時にスキャニングを行なうことにより2つの独立した位置データを生成する方法を開示する。この方法によれば、2つの位置データは、安全制御側に設けられた監視装置に送られる。監視装置は、2つの位置データを比較するとともに、それら2つの位置データと独立したエラービットとを安全制御側に送る。制御側では、安全対応の位置計測システムの操作が正しいかどうかが定期的に監視される。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特表平11−514091号公報
【非特許文献】
【0011】
【非特許文献1】”安全対応の位置計測システム”、2008年3月、[online]、[2010年2月18日検索]、インターネット<URL:http://www.heidenhain.jp/fileadmin/pdb/media/img/596632-J1.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0012】
独立した2つのエンコーダを設置する場合には、1台のエンコーダを設置する場合に比べて2倍の大きさの設置場所が必要となる。また、エンコーダの数が増えることによってシステムのコストが増大する。さらに、精度の高い検出をするためには、それら2つのエンコーダの間で検出値のずれが発生しないように、各エンコーダの初期設定を厳格に行なわなければならない。しかし、エンコーダの初期設定のための時間、コストが増大する。また、2つのエンコーダの回路が同一である場合には、それらのエンコーダに共通の故障が生じる可能性も考えられる。
【0013】
また、SIN/COSタイプのエンコーダのように独立した2つの位置データを生成するエンコーダの場合、あるいは、上記のように独立した2台のエンコーダの場合、2つのデータを用いたフィードバック制御が複雑になる可能性がある。また、1台のエンコーダで2つのデータを生成するように回路が構成されているため、エンコーダのコストが増加する可能性も考えられる。
【0014】
さらに、SIN/COSタイプのエンコーダは、一般にアナログ信号を出力する。アナログ信号の伝送距離が長くなると、その信号が減衰したりノイズの影響を受けやすくなったりするので、検出値の信頼度が低下する。このような問題を回避するため、エンコーダはデジタル値を送信する機能を有することが望ましい。
【0015】
しかし、デジタル値で通信するためのロジックが安全用途に適合していることを証明するためには、そのロジックをIEC61508に規定された開発手順で製作しなければならない。具体的にはエンコーダの故障を診断するために複数の信号を出力するものが必要であり、従来は、この専用に開発されたエンコーダを用いて安全制御システムを構築していた。したがって、既存のシステムを安全規格に適合したシステムに置き換えるには、システムの大幅な変更が必要であった。
【0016】
本発明の目的は、サーボシステムに用いられるエンコーダを、安全機能を有するものに入れ替えることなく、サーボシステムの安全化を図ることである。
【課題を解決するための手段】
【0017】
本発明のある局面に従うサーボシステムは、サーボモータと、サーボモータの駆動制御のための指令信号を出力する制御装置と、サーボモータの動作を検出するとともに、当該検出された動作を示すフィードバック信号を出力するエンコーダと、サーボドライバと、セーフティユニットとを備える。サーボドライバは、制御装置からの指令信号とエンコーダからのフィードバック信号とを用いてサーボモータの動作に関する指令値を生成する。サーボドライバは、サーボモータの動作が指令値に追従するようにサーボモータを駆動する。セーフティユニットは、セーフティユニットに予め設定されたパラメータ(速度範囲、位置範囲等)とエンコーダからのフィードバックとを比較することにより、サーボモータが正常に制御されていることを監視する。サーボドライバが正常に制御を行なっている限りは、通常の動作を継続することができる。セーフティユニットが、サーボドライブの制御が正しくないと判断した場合には、セーフティユニットからサーボドライブへの停止信号を出力停止回路へ直接受けることによって、サーボモータからのトルクの出力を停止する。このとき、セーフティユニットが判断基準としているエンコーダのフィードバック信号が正常であることが重要となる。このためセーフティユニットは、指令値と、指令値に追従してサーボモータが駆動された結果としてフィードバック信号から得られたフィードバック値とをサーボドライバから取得する。セーフティユニットは、指令値およびフィードバック値の一方あるいは両方の値が異常である場合に、停止信号を生成する。
【0018】
好ましくは、セーフティユニットは、指令値およびフィードバック値の一方あるいは両方の値が異常であると判断されるための予め定められた条件を満たす場合に、停止信号を生成する。予め定められた条件は、指令値とフィードバック値との差が、予め定められた許容範囲の外にあるという第1の条件と、指令値が、予め定められた第1の上限値を上回るという第2の条件と、フィードバック値が、予め定められた第2の上限値を上回るという第3の条件とのうちの少なくとも1つである。
【0019】
好ましくは、指令値は、サーボモータの回転速度を指令するための値である。
好ましくは、サーボドライバは、停止信号に応じてサーボモータへの電力の供給を停止する。
【0020】
本発明の他の局面に従うサーボモータ駆動装置は、サーボモータを駆動するためのサーボモータ駆動装置であって、サーボドライバと、セーフティユニットとを備える。サーボドライバは、制御装置から送られたサーボモータの駆動制御のための指令信号と、サーボモータの動作を検出するためのエンコーダから送られたフィードバック信号とを用いてサーボモータの動作に関する指令値を生成する。サーボドライバは、サーボモータの動作が指令値に追従するようにサーボモータを駆動する。セーフティユニットは、サーボモータからのトルクの出力を停止する。または、サーボドライバは、セーフティドライバから停止信号を受けることによって、サーボモータがトルクの出力を停止するようにサーボモータを制御する。セーフティユニットは、指令値と、指令値に追従してサーボモータが駆動された結果としてフィードバック信号から得られたフィードバック値とをサーボドライバから取得する。セーフティユニットは、指令値およびフィードバック値の少なくとも一方の値が異常である場合に、停止信号を生成する。
【0021】
好ましくは、セーフティユニットは、少なくとも一方の値が異常であると判断されるための予め定められた条件を満たす場合に、停止信号を生成する。予め定められた条件は、指令値とフィードバック値との差が予め定められた制御範囲の外にあるという第1の条件と、指令値が、予め定められた第1の上限値を上回るという第2の条件と、フィードバック値が、予め定められた第2の上限値を上回るという第3の条件とのうちの少なくとも1つである。
【0022】
好ましくは、指令値は、サーボモータの回転速度を指令するための値である。
好ましくは、サーボドライバは、停止信号に応じてサーボモータへの電力の供給を停止する。
【0023】
本発明のさらに他の局面に従うセーフティユニットは、サーボシステムに用いられるセーフティユニットである。サーボシステムは、サーボモータと、サーボモータの駆動制御のための指令信号を出力する制御装置と、記サーボモータの動作を検出するとともに、当該検出された動作を示すフィードバック信号を生成するエンコーダと、制御装置からの指令信号とエンコーダからのフィードバック信号とを用いてサーボドライバに関する指令値を生成するとともに、サーボモータの動作が指令値に追従するようにサーボモータを駆動するサーボドライバとを備える。サーボドライバは、セーフティユニットから停止信号を受けることによって、サーボモータがトルクの出力を停止するようにサーボモータを制御する。セーフティユニットは、指令値およびフィードバック信号から得られたフィードバック値の少なくとも一方の値が予め定められた条件を満たすか否かを判断するための判断部と、少なくとも一方の値が予め定められた条件を満たすと判断部によって判断された場合に、停止信号を生成するための信号生成部とを備える。
【0024】
好ましくは、予め定められた条件は、指令値とフィードバック値との差が、予め定められた制御範囲の外にあるという第1の条件と、指令値が、予め定められた第1の上限値を上回るという第2の条件と、フィードバック値が、予め定められた第2の上限値を上回るという第3の条件とのうちの少なくとも1つである。
【0025】
好ましくは、指令値は、サーボモータの回転速度を指令するための値である。
好ましくは、サーボドライバは、停止信号に応じてサーボモータへの電力の供給を停止する。
【0026】
本発明のさらに他の局面では、サーボシステムの制御方法であって、サーボシステムは、サーボモータと、サーボモータの駆動制御のための指令信号を出力する制御装置と、サーボモータの動作を検出するとともに、当該検出された動作を示すフィードバック信号を生成するエンコーダと、サーボドライバと、セーフティユニットとを備える。サーボドライバは、制御装置からの指令信号とエンコーダからのフィードバック信号とを用いてサーボモータの動作に関する指令値を生成する。サーボドライバは、サーボモータの動作が指令値に追従するようにサーボモータを駆動する。セーフティユニットは、サーボモータがトルクの出力を停止する回路に接続する。サーボドライバは、セーフティユニットから停止信号を受けることによって、サーボモータへのトルクの出力が不可能となる構成になっている。制御方法は、指令値およびフィードバック信号から得られたフィードバック値の少なくとも一方の値が予め定められた条件を満たすか否かを判断するステップと、判断するステップにおいて、少なくとも一方の値が予め定められた条件を満たすと判断された場合に、停止信号を生成するステップとを備える。
【0027】
好ましくは、予め定められた条件は、指令値とフィードバック値との差が、予め定められた制御範囲の外にあるという第1の条件と、指令値が、第1の上限値を上回るという第2の条件と、フィードバック値が、第2の上限値を上回るという第3の条件とのうちの少なくとも1つである。
【0028】
好ましくは、指令値は、サーボモータの回転速度を指令するための値である。
好ましくは、サーボドライバは、停止信号に応じてサーボモータへの電力の供給を停止する。
【発明の効果】
【0029】
本発明によれば、サーボシステムに用いられるエンコーダを、安全機能を有するものに入れ替えることなく、サーボシステムの安全化を図ることが可能となる。
【図面の簡単な説明】
【0030】
【図1】本発明の実施の形態に係るサーボシステムの概略構成図である。
【図2】図1に示したサーボドライバおよびセーフティユニットの一形態を示した図である。
【図3】図1に示したサーボドライバおよびセーフティユニットの構成を説明するための機能ブロック図である。
【図4】図1に示したセーフティユニットによる停止信号の発生を説明するためのフローチャートである。
【図5】本発明の実施の形態の比較例の構成を示した図である。
【図6】サーボシステムのフィードバック制御における速度指令値とフィードバック値との一般的な変化を説明した図である。
【図7】フィードバック値および指令値の挙動が異常である場合を示した概念図である。
【発明を実施するための形態】
【0031】
以下、この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
【0032】
図1は、本発明の実施の形態に係るサーボシステムの概略構成図である。図1を参照して、サーボシステム100は、図示しない各種の機械装置(たとえば産業用ロボットのアーム)を駆動するためのシステムとして用いられる。サーボシステム100は、ネットワーク1と、サーボモータ2と、エンコーダ3と、サーボドライバ4と、コントローラ5と、セーフティユニット10とを備える。
【0033】
サーボモータ2は、たとえばACサーボモータである。エンコーダ3は、サーボモータ2の動作を検出するためにサーボモータ2に取り付けられる。エンコーダ3は、検出されたサーボモータ2の動作を示すフィードバック信号を生成するとともに、そのフィードバック信号をサーボドライバ4に送信する。フィードバック信号は、たとえばサーボモータ2の回転軸の回転位置(角度)についての位置情報、その回転軸の回転速度の情報等を含む。エンコーダ3には一般的なインクリメンタル型エンコーダ、アブソリュート型エンコーダを適用することができる。
【0034】
サーボドライバ4は、ネットワーク1を介してコントローラ5から指令信号を受けるとともに、エンコーダ3から出力されたフィードバック信号を受ける。サーボドライバ4は、コントローラ5からの指令信号およびエンコーダ3からのフィードバック信号に基づいて、サーボモータ2を駆動する。また、サーボドライバ4は、内部の異常を示す異常情報を、ネットワーク1を通じてコントローラ5に送信する。
【0035】
サーボドライバ4は、コンタクタ12,13を介して交流電源11からの交流電力を受ける。この実施の形態では、サーボドライバ4は三相交流を受けるタイプのものであるが、単相交流を受けるタイプのものでもよい。コンタクタ12,13は、ドアスイッチ、セーフティライトカーテン等の入力装置14から送られた信号によってオンおよびオフさせられる。
【0036】
サーボドライバ4は、コントローラ5からの指令信号に基づいて、サーボモータ2の動作に関する指令値を設定する。さらにサーボドライバ4は、サーボモータ2の動作が指令値に追従するようにサーボモータ2を駆動する。具体的には、サーボドライバ4は、その指令値に従って、サーボモータ2の駆動電流を制御する。
【0037】
さらに、サーボドライバ4は、その指令値およびフィードバック信号から得られたフィードバック値をセーフティユニット10に送信する。上記指令値は、たとえば速度指令値であり、フィードバック値は、サーボモータ2の回転速度である。
【0038】
さらに停止信号としてのSTO信号がサーボドライバ4に入力された場合に、サーボドライバ4はサーボモータ2によるトルクの出力を停止させる。具体的には、サーボドライバ4にSTO信号が入力された場合、サーボドライバ4はサーボモータ2へのトルクの供給を停止する。
【0039】
コントローラ5は、たとえばプログラマブルコントローラ(PLC)、位置制御ユニット等を含んで構成され、サーボモータ2の駆動制御(たとえば位置決め制御など)のための指令信号を送る。
【0040】
セーフティユニット10は、サーボドライバ4から送られた指令値およびフィードバック値の少なくとも一方の値が異常である場合に、STO信号を発生させるとともに、そのSTO信号をサーボドライバ4に送信する。
【0041】
図2は、図1に示したサーボドライバおよびセーフティユニットの一形態を示した図である。サーボドライバおよびセーフティユニットは、サーボモータを駆動するためのサーボモータ駆動装置を構成する。
【0042】
図2を参照して、本実施の形態では、サーボドライバ4およびセーフティユニット10は、個別の装置として実現される。図示しないが、セーフティユニット10はコネクタ、ケーブル等の接続手段を介してサーボドライバ4に接続されることによって、サーボドライバ4から指令値およびフィードバック値を受けるだけでなく、サーボドライバ4にSTO信号も送信する。
【0043】
セーフティユニットがサーボドライバと一体化されていてもよい。たとえば1つの筐体にサーボドライバ4およびセーフティユニット10が収納されていてもよい。
【0044】
図3は、図1に示したサーボドライバおよびセーフティユニットの構成を説明するための機能ブロック図である。図3を参照して、サーボドライバ4は、フィードバック処理部21と、制御部22と、PWM(Pulse Width Modulation)駆動部24と、インバータ回路部25と、停止部23とを備える。
【0045】
フィードバック処理部21は、エンコーダ3からのフィードバック信号に基づいてフィードバック値を生成する。たとえばエンコーダ3からパルスが出力される場合、フィードバック処理部21は、そのパルスをカウントすることによりサーボモータ2の回転速度を算出するとともに、その速度を示す値を含むフィードバック値を生成する。フィードバック値は、サーボモータ2の回転速度だけでなく、サーボモータ2の回転軸の回転位置(角度)に関する値を含んでいてもよい。
【0046】
フィードバック処理部21はそのフィードバック値を制御部22に送るとともに、サーボドライバ4の外部に出力する。サーボドライバ4から出力されたフィードバック値はセーフティユニット10に送られる。
【0047】
制御部22は、コントローラ5から指令信号を受けるとともに、フィードバック処理部21からフィードバック値を受ける。制御部22は、指令信号およびフィードバック値に基づくフィードバック制御により、位置制御、速度制御およびトルク制御を実行するための指令値を生成する。なお、以下では速度制御について説明する。制御部22は、指令信号およびフィードバック値(回転速度)に基づくフィードバック制御により、速度指令値を生成する。速度指令値は停止部23に送られるとともに、サーボドライバ4から外部に出力される。サーボドライバ4から出力された速度指令値は、モニタ信号としてセーフティユニット10に送られる。
【0048】
停止部23は、セーフティユニット10からSTO信号を受けた場合において、電気的にPWM信号を通過させないことで、インバータ回路部25を停止する。これによりサーボモータ2によるトルクの出力が停止する。一方、停止部23にSTO信号が入力されない場合、停止部23は制御部22から出力された速度指令値を通過させる。
【0049】
インバータ回路部25は、停止部23を介して、PWM駆動部24からの信号を受ける。図示しないが、インバータ回路部25は、たとえばIGBT(Insulated Gate Bipolar Transistor)等の半導体スイッチング素子で構成される。PWM駆動部24は、その速度指令値に基づいて、スイッチング素子をPWM方式に従ってオン・オフさせるための信号を生成するとともに、インバータ回路部25は、その信号に従ってスイッチング素子をオン・オフさせる。これによりサーボモータ2に電力が供給されるとともに、速度指令値に従ってサーボモータ2が駆動される。一方、停止部23が作動している場合、PWM駆動部24からの信号がオフに固定される。これによりサーボモータ2への電力供給が停止されるので、サーボモータ2が停止する。サーボモータ2が停止することでサーボモータ2からのトルクの出力が停止する。
【0050】
セーフティユニット10は、固定値記憶部31と、比較部32と、信号発生部33と、監視有効部34とを備える。固定値記憶部31は、速度指令値とフィードバック値との差分の許容範囲の上限値および下限値を予め記憶する。
【0051】
比較部32は、サーボドライバ4から速度指令値およびフィードバック値を受ける。比較部32は、速度指令値およびフィードバック値の差分を許容範囲の上限値と比較して、その比較結果を出力する。さらに、比較部32は、速度指令値およびフィードバック値の差分を許容範囲の下限値と比較して、その比較結果を出力する。固定値記憶部31には、許容範囲の上限値および下限値が予め記憶されているので、比較部32は、記憶部31に記憶された上限値および下限値を用いる。比較部32の出力から、速度指令値およびフィードバック値の差分が許容範囲内であるかどうかを判断することができる。
【0052】
さらに固定値記憶部31は、速度指令値の上限値、およびフィードバック値の上限値を予め記憶する。なお、区別のため、以下では速度指令値の上限値を「第1の上限値」と呼び、フィードバック値の上限値を「第2の上限値」と呼ぶ。比較部32は、サーボドライバ4から取得した速度指令値と、固定値記憶部31に記憶された第1の上限値とを比較する。同様に、比較部32は、サーボドライバ4から取得したフィードバック値と、固定値記憶部31に記憶された第2の上限値とを比較する。したがって比較部32の出力から、速度指令値が第1の上限値を上回るかどうかを判断することができる。同様に、比較部32の出力から、フィードバック値が第2の上限値を上回るかどうかを判断することができる。
【0053】
信号発生部33は、比較部32の出力に基づいて、いずれかの上限値を上回っている状況が異常であるかどうかを判断する。信号入力部35に入力された信号によって、監視有効部34の動作状態が監視中の状態に設定された場合、信号発生部33は、速度指令値およびフィードバック値が上限を上回っている状態が異常であると判断し、STO信号を生成するとともにそのSTO信号をサーボドライバ4に出力する。
【0054】
具体的には、信号発生部33は、速度指令値およびフィードバック値の差分が許容範囲内であるかどうかを判断する。その差分が許容範囲外であると判断された場合に、信号発生部33は、STO信号を生成する。
【0055】
さらに信号発生部33は、速度指令値が第1の上限値を上回るか否かを判断する。速度指令値が第1の上限値を上回ると判断された場合に、信号発生部33は、STO信号を生成する。
【0056】
さらに信号発生部33は、信号入力部35に外部から入力された信号による、監視有効部34の監視機能を有効にするための要求があった場合、フィードバック値が第2の上限値を上回るか否かを判断する。フィードバック値が第2の上限値を上回ると判断された場合に、信号発生部33は、STO信号を生成する。
【0057】
監視有効部34の監視機能が無効である場合には、信号発生部33は、速度指令値およびフィードバック値のいずれかがその上限値を上回っている状況が発生していても、その状況が異常であるとの判断を実行しない。監視有効部34は、監視機能が有効であるかまたは無効であるかを示すフラグを信号生成部33に出力する。監視有効部34が監視中である場合(すなわち監視機能が有効である場合)にはフラグが0となり、監視有効部34の監視機能が無効である場合(監視中ではない場合)にフラグが1となる。
【0058】
安全コントローラ50には、ライトカーテン41、非常停止スイッチ42、ドアセンサ43(ドアセンサ43本体に着脱可能なキー44を含む)等から信号が入力され、安全コントローラ50から信号入力部35に信号が入力される。安全コントローラ50から信号入力部35への入力信号は、非常停止(E−STOP)、安全停止1(SS1)、安全停止2(SS2)、安全停止3(SOS)、速度制限(SLS)等である。
【0059】
比較部33は、監視機能ごとに、第2の上限値とフィードバック値との比較を行なう。たとえば第2の上限値は、速度制限機能動作時には、速度制限値であり、安全停止2の時には停止確認位置からの許容移動量(位置)である。比較部33から出力される信号の種類としては、位置異常を示す信号、速度異常を示す信号、加速異常を示す信号、指令異常を示す信号、フィードバック異常を示す信号等がある。
【0060】
一方、セーフティユニット10は、コントローラ5および安全コントローラ50に信号を出力する。セーフティユニット10からの出力信号は、減速指令、STO実行中を示す信号、SS1実行中を示す信号、SS2実行中を示す信号、SOS実行中を示す信号、SLS実行中を示す信号等である。これらの信号をコントローラ5および安全コントローラ50のいずれに送るかは、アプリケーションに応じて適切に選択することができる。
【0061】
図4は、図1に示したセーフティユニットによる停止信号の発生を説明するためのフローチャートである。この処理は、たとえば、指令値が生成される制御周期(特に限定されないが、たとえば2msec)で繰り返して実行される。
【0062】
図4および図1を参照して、ステップS1において、セーフティユニット10は、サーボドライバ4から送られた速度指令値(図4では単に「指令値」と示す)とフィードバック値との差分が許容範囲外であるかどうかを判断する。速度指令値およびフィードバック値の差分が許容範囲の上限値より大きいことを比較部32の出力が示す場合、あるいはその差分が許容範囲の下限値より小さいことを比較部32の出力が示す場合には、信号発生部33は、指令値とフィードバック値との差分が許容範囲外であると判断する。この場合(ステップS1においてYES)、フィードバック異常が生じているので、処理はステップS4に進む。一方、指令値とフィードバック値との差分が許容範囲内であると信号発生部33が判断した場合(ステップS1においてNO)、処理はステップS2に進む。
【0063】
ステップS2において、セーフティユニット10は、速度指令値が第1の上限値を上回るかどうかを判断する。速度指令値が第1の上限値より大きいことを比較部32の出力が示す場合、信号発生部33は、速度指令値が第1の上限値を上回ると判断する。この場合(ステップS2においてYES)、指令異常が生じているので、処理はステップS4に進む。一方、速度指令値が第1の上限値以下であると信号発生部33が判断した場合(ステップS2においてNO)、処理はステップS3に進む。
【0064】
ステップS3において、セーフティユニット10は、フィードバック値が第2の上限値を上回るかどうかを判断する。フィードバック値が第2の上限値より大きいことを比較部32の出力が示す場合、信号発生部33は、フィードバック値が第2の上限値を上回ると判断する。この場合(ステップS3においてYES)、位置異常または速度異常または加速度異常が生じているので、処理はステップS4に進む。一方、フィードバック値が第2の上限値以下であると信号発生部33が判断した場合(ステップS3においてNO)、全体の処理はメインルーチンに戻される。
【0065】
ステップS4において、信号発生部33は、STO信号を生成する。ステップS5において、信号発生部33は、そのSTO信号を出力する。ステップS5の処理が終了すると全体の処理はメインルーチンに戻される。
【0066】
なお、ステップS1〜S3の処理は図4に示した順序に従って実行されるものと限定されるものではなく、その順番を適宜入れ替えてもよい。また、ステップS1〜S3の処理が並行で実行されてもよい。
【0067】
このように、本発明の実施の形態では、(1)速度指令値とフィードバック値との差分が予め定められた許容範囲(設定範囲)外にある場合、(2)速度指令値が予め定められた第1の上限値を上回る場合、(3)フィードバック値が予め定められた第2の上限値を上回る場合、のいずれかの場合において、サーボモータによるトルクの出力を停止するための停止信号が生成される。本発明の実施の形態によればサーボモータの制御における様々な異常を速やかに検出することができる。したがって、サーボモータの制御の異常時にサーボモータを速やかに停止させることができる。なお、本発明の実施の形態では、停止信号を生成するための条件は、上記(1)〜(3)のうちのいずれか1つの条件であるが、上記(1)〜(3)のうちの任意の数の条件を組み合わせてもよい。
【0068】
図5は、本発明の実施の形態の比較例の構成を示した図である。図5を参照して、このサーボシステムは、エンコーダ3に代えてエンコーダ3Aを備える。エンコーダ3Aは、たとえば二重化された回路を有しており、二重化されたフィードバック信号を出力する。
【0069】
フィードバック処理部21は、エンコーダ3Aから二重化されたフィードバック信号を受けるとともに、そのフィードバック信号に基づいてフィードバック値を生成する。したがってフィードバック処理部21は、二重化されたフィードバック値を生成する。そのフィードバック値は、制御部22Aに送られるととともに、セーフティユニット10Aの比較部32に送られる。比較部32は、2つのフィードバック値を比較するとともに、各フィードバック値と、その上限値(上記の第2の上限値に相当する)とを比較する。2つのフィードバック値の差分が許容範囲外である場合、または、2つのフィードバック値のいずれかが上限値を上回る場合に、信号発生部33はSTO信号を発生させる。
【0070】
このように図5に示した構成によれば、セーフティユニット10Aはフィードバック値の挙動のみに基づいて、STO信号を発生させるか否かを判断する。しかしながら、指令値の変化に対するフィードバック値の応答性を考慮すると、エンコーダ3Aの出力の異常を検出するタイミングが遅れる可能性がある。
【0071】
図6は、サーボシステムのフィードバック制御における速度指令値とフィードバック値との一般的な変化を説明した図である。図6を参照して、サーボモータの駆動パターンとして等加速度駆動(台形駆動)が採用される。速度指令値は台形の加減速パターンに従って変化する。フィードバック値は、その速度指令値に一致するように変化するため、速度指令値より遅れて変化する。
【0072】
フィードバック制御が正常である場合には、速度指令値およびフィードバック値は図6に示したように変化すると考えられる。しかしながらエンコーダの出力に異常が生じた場合、フィードバック値が通常と異なる変化をする。また、指令値に異常が生じた場合にも、指令値は通常と異なる変化をする。
【0073】
図7は、フィードバック値および指令値の挙動が異常である場合を示した概念図である。図7(a)は、フィードバック値の挙動が異常である場合を示す。たとえばエンコーダに異常が生じた場合には、フィードバック値は指令値に追従することなく変化する。図7(a)に示すように、たとえばエンコーダの異常によってフィードバック値が急激に高くなる。サーボモータに外力が加えられていなければ、サーボモータの回転速度が指令値よりも大きく上昇することはないと考えられる。したがってこの場合、エンコーダの異常が生じたと考えられる。
【0074】
フィードバック値が上昇することでフィードバック値と指令値との差分Δaが許容範囲外となる。また、フィードバック値の急激な上昇が続く場合には、フィードバック値が上限値bを上回る。
【0075】
図5に示したサーボシステムの構成によれば、フィードバック値が二重化されている。したがって、2つのフィードバック値の差分が設定範囲外となったときにフィードバック値の異常を検出することもできる。また、2つのフィードバック値のいずれかが上限値bを上回った場合にもフィードバック値の異常を検出することができる。しかしながら、フィードバック値は指令値よりも遅れて変化する。このため、異常の検出が遅れる可能性が考えられる。
【0076】
一方、本発明の実施の形態の構成によれば、指令値とフィードバック値との差分Δaが許容範囲外である場合、およびフィードバック値が上限値bを上回る場合のいずれかの場合にフィードバック値の異常を検出することができる。指令値と、その指令値に対するフィードバック値とを比較することによって、フィードバック値の異常を速やかに検出することができる。
【0077】
図7(b)は、指令値の挙動が異常である場合を示す。たとえばコントローラ、ネットワーク、サーボドライバ等に異常が生じた場合には、指令値が通常と異なる変化をする可能性がある。図7(b)に示すように、たとえば指令値が急激に高くなった場合、指令値とフィードバック値との差分Δcが許容範囲外となる。また、指令値の急激な上昇が続く場合には、指令値が上限値dを上回る。
【0078】
図5に示したサーボシステムの構成によれば、フィードバック値のみが監視されるため指令値の異常を検出することは困難である。一方、本発明の実施の形態の構成によれば、指令値とフィードバック値との差分Δcが許容範囲外である場合、および指令値が上限値cを上回る場合のいずれかの場合に指令値の異常を検出することができる。
【0079】
このように本発明の実施の形態によれば、フィードバック値の異常および指令値の異常を速やかに検出することができる。すなわちサーボシステムの様々な異常を速やかに検出することができる。一方、図5に示した構成によれば、フィードバック値のみが監視されているので、エンコーダの異常を検出できるものの、サーボシステムの他の異常を検出することが難しくなる。
【0080】
また、本発明の実施の形態によれば、サーボシステムの様々な異常を速やかに検出することができるのでサーボモータを速やかに停止させることができる。これによって、安全機能を実現することができる。たとえば、ある時点において生成された速度指令値と、その指令値に対するフィードバック値との差が許容範囲外である場合には、次の速度指令値が生成されるまでに、停止部によって速度指令値を0にすることができる。よって異常発生時に速やかにサーボモータを停止させることができる。
【0081】
本発明の実施の形態によれば、あらかじめエンコーダに内蔵されるロジック回路が、IEC61508等による異常検出用の専用構造を持つものでなくても、そのエンコーダの検出値(フィードバック値)の異常を検出することが可能になる。したがって、従来から使用されていたエンコーダを用いて安全規格(たとえばIEC61800−5−2)に適合したサーボシステムを構築することが可能となる。この結果、サーボシステムに用いられるエンコーダを、安全機能を有するものに入れ替えることなく、サーボシステムの安全化を図ることができる。
【0082】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0083】
1 ネットワーク、2 サーボモータ、3,3A エンコーダ、4 サーボドライバ、5 コントローラ、10,10A セーフティユニット、11 交流電源、12,13 コンタクタ、14 入力装置、21 フィードバック処理部、22,22A 制御部、23 停止部、24 PWM駆動部、31 固定値記憶部、32 比較部、33 信号発生部、34 監視有効部、35 信号入力部、41 ライトカーテン、42 非常停止スイッチ、43 ドアセンサ、44 キー、50 安全コントローラ、100 サーボシステム。

【特許請求の範囲】
【請求項1】
サーボモータと、
前記サーボモータの駆動制御のための指令信号を出力する制御装置と、
前記サーボモータの動作を検出するとともに、当該検出された動作を示すフィードバック信号を出力するエンコーダと、
前記制御装置からの前記指令信号と前記エンコーダからの前記フィードバック信号とを用いて前記サーボモータの動作に関する指令値を生成するとともに、前記サーボモータの動作が前記指令値に追従するように前記サーボモータを駆動するサーボドライバと、
予め設定されたパラメータと、前記エンコーダからのフィードバックとを比較することによって、前記サーボモータが正常に制御されていることを監視するセーフティユニットとを備え、
前記サーボドライバは、前記セーフティユニットが、前記サーボドライブの制御が正しくないと判断した場合には、前記セーフティユニットから前記サーボドライブへの停止信号を受けることによって、前記サーボモータへのトルクの出力を停止し、
前記セーフティユニットは、前記指令値と、前記指令値に追従して前記サーボモータが駆動された結果として前記フィードバック信号から得られたフィードバック値とを前記サーボドライバから取得するとともに、前記指令値および前記フィードバック値の一方または両方の値が異常である場合に、前記停止信号を生成する、サーボシステム。
【請求項2】
前記セーフティユニットは、前記指令値および前記フィードバック値の一方または両方の値が異常であると判断されるための予め定められた条件を満たす場合に、前記停止信号を生成し、
前記予め定められた条件は、
前記指令値と前記フィードバック値との差が、予め定められた許容範囲の外にあるという第1の条件と、
前記指令値が、予め定められた第1の上限値を上回るという第2の条件と、
前記フィードバック値が、予め定められた第2の上限値を上回るという第3の条件とのうちの少なくとも1つである、請求項1に記載のサーボシステム。
【請求項3】
前記指令値は、前記サーボモータの回転速度を指令するための値である、請求項1または2に記載のサーボシステム。
【請求項4】
前記サーボドライバは、前記停止信号に応じて前記サーボモータへの電力の供給を停止する、請求項1から3のいずれか1項に記載のサーボシステム。
【請求項5】
サーボモータを駆動するためのサーボモータ駆動装置であって、
制御装置から送られた前記サーボモータの駆動制御のための指令信号と、前記サーボモータの動作を検出するためのエンコーダから送られたフィードバック信号とを用いて前記サーボモータの動作に関する指令値を生成するとともに、前記サーボモータの動作が前記指令値に追従するように前記サーボモータを駆動するサーボドライバと、
前記サーボモータからのトルクの出力を停止するセーフティユニットとを備え、
前記サーボドライバは、前記セーフティドライバから停止信号を受けることによって、前記サーボモータがトルクの出力を停止するように前記サーボモータを制御し、
前記セーフティユニットは、前記指令値と、前記指令値に追従して前記サーボモータが駆動された結果として前記フィードバック信号から得られたフィードバック値とを前記サーボドライバから取得するとともに、前記指令値および前記フィードバック値の少なくとも一方の値が異常である場合に、前記停止信号を生成する、サーボモータ駆動装置。
【請求項6】
前記セーフティユニットは、前記少なくとも一方の値が異常であると判断されるための予め定められた条件を満たす場合に、前記停止信号を生成し、
前記予め定められた条件は、
前記指令値と前記フィードバック値との差が予め定められた制御範囲の外にあるという第1の条件と、
前記指令値が、予め定められた第1の上限値を上回るという第2の条件と、
前記フィードバック値が、予め定められた第2の上限値を上回るという第3の条件とのうちの少なくとも1つである、請求項5に記載のサーボモータ駆動装置。
【請求項7】
前記指令値は、前記サーボモータの回転速度を指令するための値である、請求項5または6に記載のサーボモータ駆動装置。
【請求項8】
前記サーボドライバは、前記停止信号に応じて前記サーボモータへの電力の供給を停止する、請求項5から7のいずれか1項に記載のサーボモータ駆動装置。
【請求項9】
サーボシステムに用いられるセーフティユニットであって、
前記サーボシステムは、
サーボモータと、
前記サーボモータの駆動制御のための指令信号を出力する制御装置と、
前記サーボモータの動作を検出するとともに、当該検出された動作を示すフィードバック信号を生成するエンコーダと、
前記制御装置からの前記指令信号と前記エンコーダからの前記フィードバック信号とを用いて前記サーボドライバに関する指令値を生成するとともに、前記サーボモータの動作が前記指令値に追従するように前記サーボモータを駆動するサーボドライバとを備え、
前記サーボドライバは、前記セーフティユニットから停止信号を受けることによって、前記サーボモータがトルクの出力を停止するように前記サーボモータを制御し、
前記セーフティユニットは、
前記指令値および前記フィードバック信号から得られたフィードバック値の少なくとも一方の値が予め定められた条件を満たすか否かを判断するための判断部と、
前記少なくとも一方の値が前記予め定められた条件を満たすと前記判断部によって判断された場合に、前記停止信号を生成するための信号生成部とを備える、セーフティユニット。
【請求項10】
前記予め定められた条件は、
前記指令値と前記フィードバック値との差が、予め定められた制御範囲の外にあるという第1の条件と、
前記指令値が、予め定められた第1の上限値を上回るという第2の条件と、
前記フィードバック値が、予め定められた第2の上限値を上回るという第3の条件とのうちの少なくとも1つである、請求項9に記載のセーフティユニット。
【請求項11】
前記指令値は、前記サーボモータの回転速度を指令するための値である、請求項9または10に記載のセーフティユニット。
【請求項12】
前記サーボドライバは、前記停止信号に応じて前記サーボモータへの電力の供給を停止する、請求項9から11のいずれか1項に記載のセーフティユニット。
【請求項13】
サーボシステムの制御方法であって、前記サーボシステムは、
サーボモータと、
前記サーボモータの駆動制御のための指令信号を出力する制御装置と、
前記サーボモータの動作を検出するとともに、当該検出された動作を示すフィードバック信号を生成するエンコーダと、
前記制御装置からの前記指令信号と前記エンコーダからの前記フィードバック信号とを用いて前記サーボモータの動作に関する指令値を生成するとともに、前記サーボモータの動作が前記指令値に追従するように前記サーボモータを駆動するサーボドライバと、
前記サーボモータがトルクの出力を停止するように前記サーボドライバを制御するためのセーフティユニットとを備え、
前記サーボドライバは、前記セーフティユニットから停止信号を受けることによって、前記サーボモータからのトルクの出力が不可能となるように構成され、
前記制御方法は、
前記指令値および前記フィードバック信号から得られたフィードバック値の少なくとも一方の値が予め定められた条件を満たすか否かを判断するステップと、
前記判断するステップにおいて、前記少なくとも一方の値が前記予め定められた条件を満たすと判断された場合に、前記停止信号を生成するステップとを備える、サーボシステムの制御方法。
【請求項14】
前記予め定められた条件は、
前記指令値と前記フィードバック値との差が、予め定められた制御範囲の外にあるという第1の条件と、
前記指令値が、第1の上限値を上回るという第2の条件と、
前記フィードバック値が、第2の上限値を上回るという第3の条件とのうちの少なくとも1つである、請求項13に記載のサーボシステムの制御方法。
【請求項15】
前記指令値は、前記サーボモータの回転速度を指令するための値である、請求項13または14に記載のサーボシステムの制御方法。
【請求項16】
前記サーボドライバは、前記停止信号に応じて前記サーボモータへの電力の供給を停止する、請求項13から15のいずれか1項に記載のサーボシステムの制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2011−192015(P2011−192015A)
【公開日】平成23年9月29日(2011.9.29)
【国際特許分類】
【出願番号】特願2010−57465(P2010−57465)
【出願日】平成22年3月15日(2010.3.15)
【出願人】(000002945)オムロン株式会社 (3,542)
【Fターム(参考)】