(57)【要約】【課題】サーボシステムに用いられるエンコーダを、安全機能を有するものに入れ替えることなく、サーボシステムの安全化を図る。【解決手段】サーボドライバ４は、コントローラ５からの指令信号に基づいて、サーボモータ２の動作に関する指令値を設定する。サーボドライバ４は、その指令値およびフィードバック信号から得られたフィードバック値をセーフティユニット１０に送信する。サーボドライバ４から送られた指令値およびフィードバック値の少なくとも一方の値が異常である場合に、ＳＴＯ信号を発生させるとともに、そのＳＴＯ信号をサーボドライバ４に送信する。サーボドライバ４にＳＴＯ信号が入力された場合、サーボドライバ４はサーボモータ２への電力の供給を停止する。従来から使用されていたエンコーダを用いて安全規格に適合したサーボシステムを構築することが可能となる。【選択図】図１
2011192015.tif 000002
【特許請求の範囲】
【請求項１】
サーボモータと、
前記サーボモータの駆動制御のための指令信号を出力する制御装置と、
前記サーボモータの動作を検出するとともに、当該検出された動作を示すフィードバック信号を出力するエンコーダと、
前記制御装置からの前記指令信号と前記エンコーダからの前記フィードバック信号とを用いて前記サーボモータの動作に関する指令値を生成するとともに、前記サーボモータの動作が前記指令値に追従するように前記サーボモータを駆動するサーボドライバと、
予め設定されたパラメータと、前記エンコーダからのフィードバックとを比較することによって、前記サーボモータが正常に制御されていることを監視するセーフティユニットとを備え、
前記サーボドライバは、前記セーフティユニットが、前記サーボドライブの制御が正しくないと判断した場合には、前記セーフティユニットから前記サーボドライブへの停止信号を受けることによって、前記サーボモータへのトルクの出力を停止し、
前記セーフティユニットは、前記指令値と、前記指令値に追従して前記サーボモータが駆動された結果として前記フィードバック信号から得られたフィードバック値とを前記サーボドライバから取得するとともに、前記指令値および前記フィードバック値の一方または両方の値が異常である場合に、前記停止信号を生成する、サーボシステム。
【請求項２】
前記セーフティユニットは、前記指令値および前記フィードバック値の一方または両方の値が異常であると判断されるための予め定められた条件を満たす場合に、前記停止信号を生成し、
前記予め定められた条件は、
前記指令値と前記フィードバック値との差が、予め定められた許容範囲の外にあるという第１の条件と、
前記指令値が、予め定められた第１の上限値を上回るという第２の条件と、
前記フィードバック値が、予め定められた第２の上限値を上回るという第３の条件とのうちの少なくとも１つである、請求項１に記載のサーボシステム。
【請求項３】
前記指令値は、前記サーボモータの回転速度を指令するための値である、請求項１または２に記載のサーボシステム。
【請求項４】
前記サーボドライバは、前記停止信号に応じて前記サーボモータへの電力の供給を停止する、請求項１から３のいずれか１項に記載のサーボシステム。
【請求項５】
サーボモータを駆動するためのサーボモータ駆動装置であって、
制御装置から送られた前記サーボモータの駆動制御のための指令信号と、前記サーボモータの動作を検出するためのエンコーダから送られたフィードバック信号とを用いて前記サーボモータの動作に関する指令値を生成するとともに、前記サーボモータの動作が前記指令値に追従するように前記サーボモータを駆動するサーボドライバと、
前記サーボモータからのトルクの出力を停止するセーフティユニットとを備え、
前記サーボドライバは、前記セーフティドライバから停止信号を受けることによって、前記サーボモータがトルクの出力を停止するように前記サーボモータを制御し、
前記セーフティユニットは、前記指令値と、前記指令値に追従して前記サーボモータが駆動された結果として前記フィードバック信号から得られたフィードバック値とを前記サーボドライバから取得するとともに、前記指令値および前記フィードバック値の少なくとも一方の値が異常である場合に、前記停止信号を生成する、サーボモータ駆動装置。
【請求項６】
前記セーフティユニットは、前記少なくとも一方の値が異常であると判断されるための予め定められた条件を満たす場合に、前記停止信号を生成し、
前記予め定められた条件は、
前記指令値と前記フィードバック値との差が予め定められた制御範囲の外にあるという第１の条件と、
前記指令値が、予め定められた第１の上限値を上回るという第２の条件と、
前記フィードバック値が、予め定められた第２の上限値を上回るという第３の条件とのうちの少なくとも１つである、請求項５に記載のサーボモータ駆動装置。
【請求項７】
前記指令値は、前記サーボモータの回転速度を指令するための値である、請求項５または６に記載のサーボモータ駆動装置。
【請求項８】
前記サーボドライバは、前記停止信号に応じて前記サーボモータへの電力の供給を停止する、請求項５から７のいずれか１項に記載のサーボモータ駆動装置。
【請求項９】
サーボシステムに用いられるセーフティユニットであって、
前記サーボシステムは、
サーボモータと、
前記サーボモータの駆動制御のための指令信号を出力する制御装置と、
前記サーボモータの動作を検出するとともに、当該検出された動作を示すフィードバック信号を生成するエンコーダと、
前記制御装置からの前記指令信号と前記エンコーダからの前記フィードバック信号とを用いて前記サーボドライバに関する指令値を生成するとともに、前記サーボモータの動作が前記指令値に追従するように前記サーボモータを駆動するサーボドライバとを備え、
前記サーボドライバは、前記セーフティユニットから停止信号を受けることによって、前記サーボモータがトルクの出力を停止するように前記サーボモータを制御し、
前記セーフティユニットは、
前記指令値および前記フィードバック信号から得られたフィードバック値の少なくとも一方の値が予め定められた条件を満たすか否かを判断するための判断部と、
前記少なくとも一方の値が前記予め定められた条件を満たすと前記判断部によって判断された場合に、前記停止信号を生成するための信号生成部とを備える、セーフティユニット。
【請求項１０】
前記予め定められた条件は、
前記指令値と前記フィードバック値との差が、予め定められた制御範囲の外にあるという第１の条件と、
前記指令値が、予め定められた第１の上限値を上回るという第２の条件と、
前記フィードバック値が、予め定められた第２の上限値を上回るという第３の条件とのうちの少なくとも１つである、請求項９に記載のセーフティユニット。
【請求項１１】
前記指令値は、前記サーボモータの回転速度を指令するための値である、請求項９または１０に記載のセーフティユニット。
【請求項１２】
前記サーボドライバは、前記停止信号に応じて前記サーボモータへの電力の供給を停止する、請求項９から１１のいずれか１項に記載のセーフティユニット。
【請求項１３】
サーボシステムの制御方法であって、前記サーボシステムは、
サーボモータと、
前記サーボモータの駆動制御のための指令信号を出力する制御装置と、
前記サーボモータの動作を検出するとともに、当該検出された動作を示すフィードバック信号を生成するエンコーダと、
前記制御装置からの前記指令信号と前記エンコーダからの前記フィードバック信号とを用いて前記サーボモータの動作に関する指令値を生成するとともに、前記サーボモータの動作が前記指令値に追従するように前記サーボモータを駆動するサーボドライバと、
前記サーボモータがトルクの出力を停止するように前記サーボドライバを制御するためのセーフティユニットとを備え、
前記サーボドライバは、前記セーフティユニットから停止信号を受けることによって、前記サーボモータからのトルクの出力が不可能となるように構成され、
前記制御方法は、
前記指令値および前記フィードバック信号から得られたフィードバック値の少なくとも一方の値が予め定められた条件を満たすか否かを判断するステップと、
前記判断するステップにおいて、前記少なくとも一方の値が前記予め定められた条件を満たすと判断された場合に、前記停止信号を生成するステップとを備える、サーボシステムの制御方法。
【請求項１４】
前記予め定められた条件は、
前記指令値と前記フィードバック値との差が、予め定められた制御範囲の外にあるという第１の条件と、
前記指令値が、第１の上限値を上回るという第２の条件と、
前記フィードバック値が、第２の上限値を上回るという第３の条件とのうちの少なくとも１つである、請求項１３に記載のサーボシステムの制御方法。
【請求項１５】
前記指令値は、前記サーボモータの回転速度を指令するための値である、請求項１３または１４に記載のサーボシステムの制御方法。
【請求項１６】
前記サーボドライバは、前記停止信号に応じて前記サーボモータへの電力の供給を停止する、請求項１３から１５のいずれか１項に記載のサーボシステムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーボシステム、サーボモータ駆動装置、セーフティユニットおよびサーボシステムの制御方法に関する。
【背景技術】
【０００２】
サーボシステムは、各種機械における可動部の位置決め制御などに用いられている。このようなサーボシステムとして、各種の機械装置を稼動するためのサーボモータと、このサーボモータに取り付けられたエンコーダと、サーボモータを駆動するためのサーボドライバと、サーボドライバに対して位置指令情報等を出力するための制御装置とを備えるシステムがある。
【０００３】
近年、製造現場においては、コスト削減、生産性の向上とともに、作業者に対する安全性確保の取り組みが重要な要件となっている。このため、上記のようなサーボシステムを安全規格に適合させることが要求されつつある。サーボモータを備えるシステムのような可変速度電気式電力駆動システム（Adjustable speed electrical power drive systems）に関する安全規格としてＩＥＣ６１８００が定められている。
【０００４】
ＩＥＣ６１８００のＰａｒｔ５−２（以下「ＩＥＣ６１８００−５−２」と呼ぶ）は、２００７年の７月に発行され、機能面での安全要求、すなわちセーフティモーション機能に関する要求事項が規定されている。
【０００５】
また、このような安全規格としてＩＥＣ６１５０８も規定されている。ＩＥＣ６１５０８は、電気・電子・プログラマブル電子式安全関連の機能安全に関する国際規格である。ＩＥＣ６１５０８では、システムの故障確率をＳＩＬ（Safety Integrity Level:安全度水準）と呼ばれる尺度で規定している。そして、ＳＩＬごとに満足すべき要求事項を定義しており、構築する安全制御システムが達成すべき取り組みが明確化されている。ＳＩＬはＳＩＬ１からＳＩＬ４の４段階に分かれており、ＳＩＬ４が最高レベルである。ＩＥＣ６１８００−５−２においてもシステムの安全構築度の評価にはＳＩＬが使用されている。
【０００６】
サーボモータを備えるシステムにおいて安全性を確保するためには、サーボモータの回転速度、回転位置などをエンコーダが正確に検出しなければならない。このためにエンコーダの出力の信頼性を確保することが求められる。また、エンコーダの検出結果が異常である場合には、サーボモータへの電力供給を停止するといった対策も求められる。
【０００７】
エンコーダの出力の信頼性を確保するための最も簡単な実現方法は、エンコーダ内部の回路を二重化することによって、エンコーダの出力データが正しいことを確認する方法である。また、正弦状（ＳＩＮ）の信号と余弦状(ＣＯＳ)の信号とを発生させるＳＩＮ／ＣＯＳタイプのエンコーダの場合、ＳＩＮ２＋ＣＯＳ２＝１の関係から、ＳＩＮとＣＯＳとの独立した２系統が常に一定の関係にあることを証明する方法も知られている。
【０００８】
たとえば特許文献１は、互いに独立した２つのＳＩＮ／ＣＯＳタイプのエンコーダを有する測定システムを開示する。
【０００９】
また、たとえば、非特許文献１は、エンコーダ内部で同時にスキャニングを行なうことにより２つの独立した位置データを生成する方法を開示する。この方法によれば、２つの位置データは、安全制御側に設けられた監視装置に送られる。監視装置は、２つの位置データを比較するとともに、それら２つの位置データと独立したエラービットとを安全制御側に送る。制御側では、安全対応の位置計測システムの操作が正しいかどうかが定期的に監視される。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特表平１１−５１４０９１号公報
【非特許文献】
【００１１】
【非特許文献１】”安全対応の位置計測システム”、２００８年３月、[online]、［２０１０年２月１８日検索］、インターネット<URL:http://www.heidenhain.jp/fileadmin/pdb/media/img/596632-J1.pdf>
【発明の概要】
【発明が解決しようとする課題】
【００１２】
独立した２つのエンコーダを設置する場合には、１台のエンコーダを設置する場合に比べて２倍の大きさの設置場所が必要となる。また、エンコーダの数が増えることによってシステムのコストが増大する。さらに、精度の高い検出をするためには、それら２つのエンコーダの間で検出値のずれが発生しないように、各エンコーダの初期設定を厳格に行なわなければならない。しかし、エンコーダの初期設定のための時間、コストが増大する。また、２つのエンコーダの回路が同一である場合には、それらのエンコーダに共通の故障が生じる可能性も考えられる。
【００１３】
また、ＳＩＮ／ＣＯＳタイプのエンコーダのように独立した２つの位置データを生成するエンコーダの場合、あるいは、上記のように独立した２台のエンコーダの場合、２つのデータを用いたフィードバック制御が複雑になる可能性がある。また、１台のエンコーダで２つのデータを生成するように回路が構成されているため、エンコーダのコストが増加する可能性も考えられる。
【００１４】
さらに、ＳＩＮ／ＣＯＳタイプのエンコーダは、一般にアナログ信号を出力する。アナログ信号の伝送距離が長くなると、その信号が減衰したりノイズの影響を受けやすくなったりするので、検出値の信頼度が低下する。このような問題を回避するため、エンコーダはデジタル値を送信する機能を有することが望ましい。
【００１５】
しかし、デジタル値で通信するためのロジックが安全用途に適合していることを証明するためには、そのロジックをＩＥＣ６１５０８に規定された開発手順で製作しなければならない。具体的にはエンコーダの故障を診断するために複数の信号を出力するものが必要であり、従来は、この専用に開発されたエンコーダを用いて安全制御システムを構築していた。したがって、既存のシステムを安全規格に適合したシステムに置き換えるには、システムの大幅な変更が必要であった。
【００１６】
本発明の目的は、サーボシステムに用いられるエンコーダを、安全機能を有するものに入れ替えることなく、サーボシステムの安全化を図ることである。
【課題を解決するための手段】
【００１７】
本発明のある局面に従うサーボシステムは、サーボモータと、サーボモータの駆動制御のための指令信号を出力する制御装置と、サーボモータの動作を検出するとともに、当該検出された動作を示すフィードバック信号を出力するエンコーダと、サーボドライバと、セーフティユニットとを備える。サーボドライバは、制御装置からの指令信号とエンコーダからのフィードバック信号とを用いてサーボモータの動作に関する指令値を生成する。サーボドライバは、サーボモータの動作が指令値に追従するようにサーボモータを駆動する。セーフティユニットは、セーフティユニットに予め設定されたパラメータ（速度範囲、位置範囲等）とエンコーダからのフィードバックとを比較することにより、サーボモータが正常に制御されていることを監視する。サーボドライバが正常に制御を行なっている限りは、通常の動作を継続することができる。セーフティユニットが、サーボドライブの制御が正しくないと判断した場合には、セーフティユニットからサーボドライブへの停止信号を出力停止回路へ直接受けることによって、サーボモータからのトルクの出力を停止する。このとき、セーフティユニットが判断基準としているエンコーダのフィードバック信号が正常であることが重要となる。このためセーフティユニットは、指令値と、指令値に追従してサーボモータが駆動された結果としてフィードバック信号から得られたフィードバック値とをサーボドライバから取得する。セーフティユニットは、指令値およびフィードバック値の一方あるいは両方の値が異常である場合に、停止信号を生成する。
【００１８】
好ましくは、セーフティユニットは、指令値およびフィードバック値の一方あるいは両方の値が異常であると判断されるための予め定められた条件を満たす場合に、停止信号を生成する。予め定められた条件は、指令値とフィードバック値との差が、予め定められた許容範囲の外にあるという第１の条件と、指令値が、予め定められた第１の上限値を上回るという第２の条件と、フィードバック値が、予め定められた第２の上限値を上回るという第３の条件とのうちの少なくとも１つである。
【００１９】
好ましくは、指令値は、サーボモータの回転速度を指令するための値である。
好ましくは、サーボドライバは、停止信号に応じてサーボモータへの電力の供給を停止する。
【００２０】
本発明の他の局面に従うサーボモータ駆動装置は、サーボモータを駆動するためのサーボモータ駆動装置であって、サーボドライバと、セーフティユニットとを備える。サーボドライバは、制御装置から送られたサーボモータの駆動制御のための指令信号と、サーボモータの動作を検出するためのエンコーダから送られたフィードバック信号とを用いてサーボモータの動作に関する指令値を生成する。サーボドライバは、サーボモータの動作が指令値に追従するようにサーボモータを駆動する。セーフティユニットは、サーボモータからのトルクの出力を停止する。または、サーボドライバは、セーフティドライバから停止信号を受けることによって、サーボモータがトルクの出力を停止するようにサーボモータを制御する。セーフティユニットは、指令値と、指令値に追従してサーボモータが駆動された結果としてフィードバック信号から得られたフィードバック値とをサーボドライバから取得する。セーフティユニットは、指令値およびフィードバック値の少なくとも一方の値が異常である場合に、停止信号を生成する。
【００２１】
好ましくは、セーフティユニットは、少なくとも一方の値が異常であると判断されるための予め定められた条件を満たす場合に、停止信号を生成する。予め定められた条件は、指令値とフィードバック値との差が予め定められた制御範囲の外にあるという第１の条件と、指令値が、予め定められた第１の上限値を上回るという第２の条件と、フィードバック値が、予め定められた第２の上限値を上回るという第３の条件とのうちの少なくとも１つである。
【００２２】
好ましくは、指令値は、サーボモータの回転速度を指令するための値である。
好ましくは、サーボドライバは、停止信号に応じてサーボモータへの電力の供給を停止する。
【００２３】
本発明のさらに他の局面に従うセーフティユニットは、サーボシステムに用いられるセーフティユニットである。サーボシステムは、サーボモータと、サーボモータの駆動制御のための指令信号を出力する制御装置と、記サーボモータの動作を検出するとともに、当該検出された動作を示すフィードバック信号を生成するエンコーダと、制御装置からの指令信号とエンコーダからのフィードバック信号とを用いてサーボドライバに関する指令値を生成するとともに、サーボモータの動作が指令値に追従するようにサーボモータを駆動するサーボドライバとを備える。サーボドライバは、セーフティユニットから停止信号を受けることによって、サーボモータがトルクの出力を停止するようにサーボモータを制御する。セーフティユニットは、指令値およびフィードバック信号から得られたフィードバック値の少なくとも一方の値が予め定められた条件を満たすか否かを判断するための判断部と、少なくとも一方の値が予め定められた条件を満たすと判断部によって判断された場合に、停止信号を生成するための信号生成部とを備える。
【００２４】
好ましくは、予め定められた条件は、指令値とフィードバック値との差が、予め定められた制御範囲の外にあるという第１の条件と、指令値が、予め定められた第１の上限値を上回るという第２の条件と、フィードバック値が、予め定められた第２の上限値を上回るという第３の条件とのうちの少なくとも１つである。
【００２５】
好ましくは、指令値は、サーボモータの回転速度を指令するための値である。
好ましくは、サーボドライバは、停止信号に応じてサーボモータへの電力の供給を停止する。
【００２６】
本発明のさらに他の局面では、サーボシステムの制御方法であって、サーボシステムは、サーボモータと、サーボモータの駆動制御のための指令信号を出力する制御装置と、サーボモータの動作を検出するとともに、当該検出された動作を示すフィードバック信号を生成するエンコーダと、サーボドライバと、セーフティユニットとを備える。サーボドライバは、制御装置からの指令信号とエンコーダからのフィードバック信号とを用いてサーボモータの動作に関する指令値を生成する。サーボドライバは、サーボモータの動作が指令値に追従するようにサーボモータを駆動する。セーフティユニットは、サーボモータがトルクの出力を停止する回路に接続する。サーボドライバは、セーフティユニットから停止信号を受けることによって、サーボモータへのトルクの出力が不可能となる構成になっている。制御方法は、指令値およびフィードバック信号から得られたフィードバック値の少なくとも一方の値が予め定められた条件を満たすか否かを判断するステップと、判断するステップにおいて、少なくとも一方の値が予め定められた条件を満たすと判断された場合に、停止信号を生成するステップとを備える。
【００２７】
好ましくは、予め定められた条件は、指令値とフィードバック値との差が、予め定められた制御範囲の外にあるという第１の条件と、指令値が、第１の上限値を上回るという第２の条件と、フィードバック値が、第２の上限値を上回るという第３の条件とのうちの少なくとも１つである。
【００２８】
好ましくは、指令値は、サーボモータの回転速度を指令するための値である。
好ましくは、サーボドライバは、停止信号に応じてサーボモータへの電力の供給を停止する。
【発明の効果】
【００２９】
本発明によれば、サーボシステムに用いられるエンコーダを、安全機能を有するものに入れ替えることなく、サーボシステムの安全化を図ることが可能となる。
【図面の簡単な説明】
【００３０】
【図１】本発明の実施の形態に係るサーボシステムの概略構成図である。
【図２】図１に示したサーボドライバおよびセーフティユニットの一形態を示した図である。
【図３】図１に示したサーボドライバおよびセーフティユニットの構成を説明するための機能ブロック図である。
【図４】図１に示したセーフティユニットによる停止信号の発生を説明するためのフローチャートである。
【図５】本発明の実施の形態の比較例の構成を示した図である。
【図６】サーボシステムのフィードバック制御における速度指令値とフィードバック値との一般的な変化を説明した図である。
【図７】フィードバック値および指令値の挙動が異常である場合を示した概念図である。
【発明を実施するための形態】
【００３１】
以下、この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
【００３２】
図１は、本発明の実施の形態に係るサーボシステムの概略構成図である。図１を参照して、サーボシステム１００は、図示しない各種の機械装置（たとえば産業用ロボットのアーム）を駆動するためのシステムとして用いられる。サーボシステム１００は、ネットワーク１と、サーボモータ２と、エンコーダ３と、サーボドライバ４と、コントローラ５と、セーフティユニット１０とを備える。
【００３３】
サーボモータ２は、たとえばＡＣサーボモータである。エンコーダ３は、サーボモータ２の動作を検出するためにサーボモータ２に取り付けられる。エンコーダ３は、検出されたサーボモータ２の動作を示すフィードバック信号を生成するとともに、そのフィードバック信号をサーボドライバ４に送信する。フィードバック信号は、たとえばサーボモータ２の回転軸の回転位置（角度）についての位置情報、その回転軸の回転速度の情報等を含む。エンコーダ３には一般的なインクリメンタル型エンコーダ、アブソリュート型エンコーダを適用することができる。
【００３４】
サーボドライバ４は、ネットワーク１を介してコントローラ５から指令信号を受けるとともに、エンコーダ３から出力されたフィードバック信号を受ける。サーボドライバ４は、コントローラ５からの指令信号およびエンコーダ３からのフィードバック信号に基づいて、サーボモータ２を駆動する。また、サーボドライバ４は、内部の異常を示す異常情報を、ネットワーク１を通じてコントローラ５に送信する。
【００３５】
サーボドライバ４は、コンタクタ１２，１３を介して交流電源１１からの交流電力を受ける。この実施の形態では、サーボドライバ４は三相交流を受けるタイプのものであるが、単相交流を受けるタイプのものでもよい。コンタクタ１２，１３は、ドアスイッチ、セーフティライトカーテン等の入力装置１４から送られた信号によってオンおよびオフさせられる。
【００３６】
サーボドライバ４は、コントローラ５からの指令信号に基づいて、サーボモータ２の動作に関する指令値を設定する。さらにサーボドライバ４は、サーボモータ２の動作が指令値に追従するようにサーボモータ２を駆動する。具体的には、サーボドライバ４は、その指令値に従って、サーボモータ２の駆動電流を制御する。
【００３７】
さらに、サーボドライバ４は、その指令値およびフィードバック信号から得られたフィードバック値をセーフティユニット１０に送信する。上記指令値は、たとえば速度指令値であり、フィードバック値は、サーボモータ２の回転速度である。
【００３８】
さらに停止信号としてのＳＴＯ信号がサーボドライバ４に入力された場合に、サーボドライバ４はサーボモータ２によるトルクの出力を停止させる。具体的には、サーボドライバ４にＳＴＯ信号が入力された場合、サーボドライバ４はサーボモータ２へのトルクの供給を停止する。
【００３９】
コントローラ５は、たとえばプログラマブルコントローラ（ＰＬＣ）、位置制御ユニット等を含んで構成され、サーボモータ２の駆動制御（たとえば位置決め制御など）のための指令信号を送る。
【００４０】
セーフティユニット１０は、サーボドライバ４から送られた指令値およびフィードバック値の少なくとも一方の値が異常である場合に、ＳＴＯ信号を発生させるとともに、そのＳＴＯ信号をサーボドライバ４に送信する。
【００４１】
図２は、図１に示したサーボドライバおよびセーフティユニットの一形態を示した図である。サーボドライバおよびセーフティユニットは、サーボモータを駆動するためのサーボモータ駆動装置を構成する。
【００４２】
図２を参照して、本実施の形態では、サーボドライバ４およびセーフティユニット１０は、個別の装置として実現される。図示しないが、セーフティユニット１０はコネクタ、ケーブル等の接続手段を介してサーボドライバ４に接続されることによって、サーボドライバ４から指令値およびフィードバック値を受けるだけでなく、サーボドライバ４にＳＴＯ信号も送信する。
【００４３】
セーフティユニットがサーボドライバと一体化されていてもよい。たとえば１つの筐体にサーボドライバ４およびセーフティユニット１０が収納されていてもよい。
【００４４】
図３は、図１に示したサーボドライバおよびセーフティユニットの構成を説明するための機能ブロック図である。図３を参照して、サーボドライバ４は、フィードバック処理部２１と、制御部２２と、ＰＷＭ（Pulse Width Modulation）駆動部２４と、インバータ回路部２５と、停止部２３とを備える。
【００４５】
フィードバック処理部２１は、エンコーダ３からのフィードバック信号に基づいてフィードバック値を生成する。たとえばエンコーダ３からパルスが出力される場合、フィードバック処理部２１は、そのパルスをカウントすることによりサーボモータ２の回転速度を算出するとともに、その速度を示す値を含むフィードバック値を生成する。フィードバック値は、サーボモータ２の回転速度だけでなく、サーボモータ２の回転軸の回転位置（角度）に関する値を含んでいてもよい。
【００４６】
フィードバック処理部２１はそのフィードバック値を制御部２２に送るとともに、サーボドライバ４の外部に出力する。サーボドライバ４から出力されたフィードバック値はセーフティユニット１０に送られる。
【００４７】
制御部２２は、コントローラ５から指令信号を受けるとともに、フィードバック処理部２１からフィードバック値を受ける。制御部２２は、指令信号およびフィードバック値に基づくフィードバック制御により、位置制御、速度制御およびトルク制御を実行するための指令値を生成する。なお、以下では速度制御について説明する。制御部２２は、指令信号およびフィードバック値（回転速度）に基づくフィードバック制御により、速度指令値を生成する。速度指令値は停止部２３に送られるとともに、サーボドライバ４から外部に出力される。サーボドライバ４から出力された速度指令値は、モニタ信号としてセーフティユニット１０に送られる。
【００４８】
停止部２３は、セーフティユニット１０からＳＴＯ信号を受けた場合において、電気的にＰＷＭ信号を通過させないことで、インバータ回路部２５を停止する。これによりサーボモータ２によるトルクの出力が停止する。一方、停止部２３にＳＴＯ信号が入力されない場合、停止部２３は制御部２２から出力された速度指令値を通過させる。
【００４９】
インバータ回路部２５は、停止部２３を介して、ＰＷＭ駆動部２４からの信号を受ける。図示しないが、インバータ回路部２５は、たとえばＩＧＢＴ（Insulated Gate Bipolar Transistor）等の半導体スイッチング素子で構成される。ＰＷＭ駆動部２４は、その速度指令値に基づいて、スイッチング素子をＰＷＭ方式に従ってオン・オフさせるための信号を生成するとともに、インバータ回路部２５は、その信号に従ってスイッチング素子をオン・オフさせる。これによりサーボモータ２に電力が供給されるとともに、速度指令値に従ってサーボモータ２が駆動される。一方、停止部２３が作動している場合、ＰＷＭ駆動部２４からの信号がオフに固定される。これによりサーボモータ２への電力供給が停止されるので、サーボモータ２が停止する。サーボモータ２が停止することでサーボモータ２からのトルクの出力が停止する。
【００５０】
セーフティユニット１０は、固定値記憶部３１と、比較部３２と、信号発生部３３と、監視有効部３４とを備える。固定値記憶部３１は、速度指令値とフィードバック値との差分の許容範囲の上限値および下限値を予め記憶する。
【００５１】
比較部３２は、サーボドライバ４から速度指令値およびフィードバック値を受ける。比較部３２は、速度指令値およびフィードバック値の差分を許容範囲の上限値と比較して、その比較結果を出力する。さらに、比較部３２は、速度指令値およびフィードバック値の差分を許容範囲の下限値と比較して、その比較結果を出力する。固定値記憶部３１には、許容範囲の上限値および下限値が予め記憶されているので、比較部３２は、記憶部３１に記憶された上限値および下限値を用いる。比較部３２の出力から、速度指令値およびフィードバック値の差分が許容範囲内であるかどうかを判断することができる。
【００５２】
さらに固定値記憶部３１は、速度指令値の上限値、およびフィードバック値の上限値を予め記憶する。なお、区別のため、以下では速度指令値の上限値を「第１の上限値」と呼び、フィードバック値の上限値を「第２の上限値」と呼ぶ。比較部３２は、サーボドライバ４から取得した速度指令値と、固定値記憶部３１に記憶された第１の上限値とを比較する。同様に、比較部３２は、サーボドライバ４から取得したフィードバック値と、固定値記憶部３１に記憶された第２の上限値とを比較する。したがって比較部３２の出力から、速度指令値が第１の上限値を上回るかどうかを判断することができる。同様に、比較部３２の出力から、フィードバック値が第２の上限値を上回るかどうかを判断することができる。
【００５３】
信号発生部３３は、比較部３２の出力に基づいて、いずれかの上限値を上回っている状況が異常であるかどうかを判断する。信号入力部３５に入力された信号によって、監視有効部３４の動作状態が監視中の状態に設定された場合、信号発生部３３は、速度指令値およびフィードバック値が上限を上回っている状態が異常であると判断し、ＳＴＯ信号を生成するとともにそのＳＴＯ信号をサーボドライバ４に出力する。
【００５４】
具体的には、信号発生部３３は、速度指令値およびフィードバック値の差分が許容範囲内であるかどうかを判断する。その差分が許容範囲外であると判断された場合に、信号発生部３３は、ＳＴＯ信号を生成する。
【００５５】
さらに信号発生部３３は、速度指令値が第１の上限値を上回るか否かを判断する。速度指令値が第１の上限値を上回ると判断された場合に、信号発生部３３は、ＳＴＯ信号を生成する。
【００５６】
さらに信号発生部３３は、信号入力部３５に外部から入力された信号による、監視有効部３４の監視機能を有効にするための要求があった場合、フィードバック値が第２の上限値を上回るか否かを判断する。フィードバック値が第２の上限値を上回ると判断された場合に、信号発生部３３は、ＳＴＯ信号を生成する。
【００５７】
監視有効部３４の監視機能が無効である場合には、信号発生部３３は、速度指令値およびフィードバック値のいずれかがその上限値を上回っている状況が発生していても、その状況が異常であるとの判断を実行しない。監視有効部３４は、監視機能が有効であるかまたは無効であるかを示すフラグを信号生成部３３に出力する。監視有効部３４が監視中である場合（すなわち監視機能が有効である場合）にはフラグが０となり、監視有効部３４の監視機能が無効である場合（監視中ではない場合）にフラグが１となる。
【００５８】
安全コントローラ５０には、ライトカーテン４１、非常停止スイッチ４２、ドアセンサ４３（ドアセンサ４３本体に着脱可能なキー４４を含む）等から信号が入力され、安全コントローラ５０から信号入力部３５に信号が入力される。安全コントローラ５０から信号入力部３５への入力信号は、非常停止（Ｅ−ＳＴＯＰ）、安全停止１（ＳＳ１）、安全停止２（ＳＳ２）、安全停止３（ＳＯＳ）、速度制限（ＳＬＳ）等である。
【００５９】
比較部３３は、監視機能ごとに、第２の上限値とフィードバック値との比較を行なう。たとえば第２の上限値は、速度制限機能動作時には、速度制限値であり、安全停止２の時には停止確認位置からの許容移動量（位置）である。比較部３３から出力される信号の種類としては、位置異常を示す信号、速度異常を示す信号、加速異常を示す信号、指令異常を示す信号、フィードバック異常を示す信号等がある。
【００６０】
一方、セーフティユニット１０は、コントローラ５および安全コントローラ５０に信号を出力する。セーフティユニット１０からの出力信号は、減速指令、ＳＴＯ実行中を示す信号、ＳＳ１実行中を示す信号、ＳＳ２実行中を示す信号、ＳＯＳ実行中を示す信号、ＳＬＳ実行中を示す信号等である。これらの信号をコントローラ５および安全コントローラ５０のいずれに送るかは、アプリケーションに応じて適切に選択することができる。
【００６１】
図４は、図１に示したセーフティユニットによる停止信号の発生を説明するためのフローチャートである。この処理は、たとえば、指令値が生成される制御周期（特に限定されないが、たとえば２ｍｓｅｃ）で繰り返して実行される。
【００６２】
図４および図１を参照して、ステップＳ１において、セーフティユニット１０は、サーボドライバ４から送られた速度指令値（図４では単に「指令値」と示す）とフィードバック値との差分が許容範囲外であるかどうかを判断する。速度指令値およびフィードバック値の差分が許容範囲の上限値より大きいことを比較部３２の出力が示す場合、あるいはその差分が許容範囲の下限値より小さいことを比較部３２の出力が示す場合には、信号発生部３３は、指令値とフィードバック値との差分が許容範囲外であると判断する。この場合（ステップＳ１においてＹＥＳ）、フィードバック異常が生じているので、処理はステップＳ４に進む。一方、指令値とフィードバック値との差分が許容範囲内であると信号発生部３３が判断した場合（ステップＳ１においてＮＯ）、処理はステップＳ２に進む。
【００６３】
ステップＳ２において、セーフティユニット１０は、速度指令値が第１の上限値を上回るかどうかを判断する。速度指令値が第１の上限値より大きいことを比較部３２の出力が示す場合、信号発生部３３は、速度指令値が第１の上限値を上回ると判断する。この場合（ステップＳ２においてＹＥＳ）、指令異常が生じているので、処理はステップＳ４に進む。一方、速度指令値が第１の上限値以下であると信号発生部３３が判断した場合（ステップＳ２においてＮＯ）、処理はステップＳ３に進む。
【００６４】
ステップＳ３において、セーフティユニット１０は、フィードバック値が第２の上限値を上回るかどうかを判断する。フィードバック値が第２の上限値より大きいことを比較部３２の出力が示す場合、信号発生部３３は、フィードバック値が第２の上限値を上回ると判断する。この場合（ステップＳ３においてＹＥＳ）、位置異常または速度異常または加速度異常が生じているので、処理はステップＳ４に進む。一方、フィードバック値が第２の上限値以下であると信号発生部３３が判断した場合（ステップＳ３においてＮＯ）、全体の処理はメインルーチンに戻される。
【００６５】
ステップＳ４において、信号発生部３３は、ＳＴＯ信号を生成する。ステップＳ５において、信号発生部３３は、そのＳＴＯ信号を出力する。ステップＳ５の処理が終了すると全体の処理はメインルーチンに戻される。
【００６６】
なお、ステップＳ１〜Ｓ３の処理は図４に示した順序に従って実行されるものと限定されるものではなく、その順番を適宜入れ替えてもよい。また、ステップＳ１〜Ｓ３の処理が並行で実行されてもよい。
【００６７】
このように、本発明の実施の形態では、（１）速度指令値とフィードバック値との差分が予め定められた許容範囲（設定範囲）外にある場合、（２）速度指令値が予め定められた第１の上限値を上回る場合、（３）フィードバック値が予め定められた第２の上限値を上回る場合、のいずれかの場合において、サーボモータによるトルクの出力を停止するための停止信号が生成される。本発明の実施の形態によればサーボモータの制御における様々な異常を速やかに検出することができる。したがって、サーボモータの制御の異常時にサーボモータを速やかに停止させることができる。なお、本発明の実施の形態では、停止信号を生成するための条件は、上記（１）〜（３）のうちのいずれか１つの条件であるが、上記（１）〜（３）のうちの任意の数の条件を組み合わせてもよい。
【００６８】
図５は、本発明の実施の形態の比較例の構成を示した図である。図５を参照して、このサーボシステムは、エンコーダ３に代えてエンコーダ３Ａを備える。エンコーダ３Ａは、たとえば二重化された回路を有しており、二重化されたフィードバック信号を出力する。
【００６９】
フィードバック処理部２１は、エンコーダ３Ａから二重化されたフィードバック信号を受けるとともに、そのフィードバック信号に基づいてフィードバック値を生成する。したがってフィードバック処理部２１は、二重化されたフィードバック値を生成する。そのフィードバック値は、制御部２２Ａに送られるととともに、セーフティユニット１０Ａの比較部３２に送られる。比較部３２は、２つのフィードバック値を比較するとともに、各フィードバック値と、その上限値（上記の第２の上限値に相当する）とを比較する。２つのフィードバック値の差分が許容範囲外である場合、または、２つのフィードバック値のいずれかが上限値を上回る場合に、信号発生部３３はＳＴＯ信号を発生させる。
【００７０】
このように図５に示した構成によれば、セーフティユニット１０Ａはフィードバック値の挙動のみに基づいて、ＳＴＯ信号を発生させるか否かを判断する。しかしながら、指令値の変化に対するフィードバック値の応答性を考慮すると、エンコーダ３Ａの出力の異常を検出するタイミングが遅れる可能性がある。
【００７１】
図６は、サーボシステムのフィードバック制御における速度指令値とフィードバック値との一般的な変化を説明した図である。図６を参照して、サーボモータの駆動パターンとして等加速度駆動（台形駆動）が採用される。速度指令値は台形の加減速パターンに従って変化する。フィードバック値は、その速度指令値に一致するように変化するため、速度指令値より遅れて変化する。
【００７２】
フィードバック制御が正常である場合には、速度指令値およびフィードバック値は図６に示したように変化すると考えられる。しかしながらエンコーダの出力に異常が生じた場合、フィードバック値が通常と異なる変化をする。また、指令値に異常が生じた場合にも、指令値は通常と異なる変化をする。
【００７３】
図７は、フィードバック値および指令値の挙動が異常である場合を示した概念図である。図７（ａ）は、フィードバック値の挙動が異常である場合を示す。たとえばエンコーダに異常が生じた場合には、フィードバック値は指令値に追従することなく変化する。図７（ａ）に示すように、たとえばエンコーダの異常によってフィードバック値が急激に高くなる。サーボモータに外力が加えられていなければ、サーボモータの回転速度が指令値よりも大きく上昇することはないと考えられる。したがってこの場合、エンコーダの異常が生じたと考えられる。
【００７４】
フィードバック値が上昇することでフィードバック値と指令値との差分Δａが許容範囲外となる。また、フィードバック値の急激な上昇が続く場合には、フィードバック値が上限値ｂを上回る。
【００７５】
図５に示したサーボシステムの構成によれば、フィードバック値が二重化されている。したがって、２つのフィードバック値の差分が設定範囲外となったときにフィードバック値の異常を検出することもできる。また、２つのフィードバック値のいずれかが上限値ｂを上回った場合にもフィードバック値の異常を検出することができる。しかしながら、フィードバック値は指令値よりも遅れて変化する。このため、異常の検出が遅れる可能性が考えられる。
【００７６】
一方、本発明の実施の形態の構成によれば、指令値とフィードバック値との差分Δａが許容範囲外である場合、およびフィードバック値が上限値ｂを上回る場合のいずれかの場合にフィードバック値の異常を検出することができる。指令値と、その指令値に対するフィードバック値とを比較することによって、フィードバック値の異常を速やかに検出することができる。
【００７７】
図７（ｂ）は、指令値の挙動が異常である場合を示す。たとえばコントローラ、ネットワーク、サーボドライバ等に異常が生じた場合には、指令値が通常と異なる変化をする可能性がある。図７（ｂ）に示すように、たとえば指令値が急激に高くなった場合、指令値とフィードバック値との差分Δｃが許容範囲外となる。また、指令値の急激な上昇が続く場合には、指令値が上限値ｄを上回る。
【００７８】
図５に示したサーボシステムの構成によれば、フィードバック値のみが監視されるため指令値の異常を検出することは困難である。一方、本発明の実施の形態の構成によれば、指令値とフィードバック値との差分Δｃが許容範囲外である場合、および指令値が上限値ｃを上回る場合のいずれかの場合に指令値の異常を検出することができる。
【００７９】
このように本発明の実施の形態によれば、フィードバック値の異常および指令値の異常を速やかに検出することができる。すなわちサーボシステムの様々な異常を速やかに検出することができる。一方、図５に示した構成によれば、フィードバック値のみが監視されているので、エンコーダの異常を検出できるものの、サーボシステムの他の異常を検出することが難しくなる。
【００８０】
また、本発明の実施の形態によれば、サーボシステムの様々な異常を速やかに検出することができるのでサーボモータを速やかに停止させることができる。これによって、安全機能を実現することができる。たとえば、ある時点において生成された速度指令値と、その指令値に対するフィードバック値との差が許容範囲外である場合には、次の速度指令値が生成されるまでに、停止部によって速度指令値を０にすることができる。よって異常発生時に速やかにサーボモータを停止させることができる。
【００８１】
本発明の実施の形態によれば、あらかじめエンコーダに内蔵されるロジック回路が、ＩＥＣ６１５０８等による異常検出用の専用構造を持つものでなくても、そのエンコーダの検出値（フィードバック値）の異常を検出することが可能になる。したがって、従来から使用されていたエンコーダを用いて安全規格（たとえばＩＥＣ６１８００−５−２）に適合したサーボシステムを構築することが可能となる。この結果、サーボシステムに用いられるエンコーダを、安全機能を有するものに入れ替えることなく、サーボシステムの安全化を図ることができる。
【００８２】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００８３】
１  ネットワーク、２  サーボモータ、３，３Ａ  エンコーダ、４  サーボドライバ、５  コントローラ、１０，１０Ａ  セーフティユニット、１１  交流電源、１２，１３  コンタクタ、１４  入力装置、２１  フィードバック処理部、２２，２２Ａ  制御部、２３  停止部、２４  ＰＷＭ駆動部、３１  固定値記憶部、３２  比較部、３３  信号発生部、３４  監視有効部、３５  信号入力部、４１  ライトカーテン、４２  非常停止スイッチ、４３  ドアセンサ、４４  キー、５０  安全コントローラ、１００  サーボシステム。
【図１】
2011192015.tif 000003
【図２】
2011192015.tif 000004
【図３】
2011192015.tif 000005
【図４】
2011192015.tif 000006
【図５】
2011192015.tif 000007
【図６】
2011192015.tif 000008
【図７】
2011192015.tif 000009