(57)【特許請求の範囲】
【請求項１】
一定の周期Ｔごとに位置検出器から出力される位置データに基づき、可動部の速度を監視する速度監視装置において、
少なくとも、許容移動マージンＰＭと、１周期期間で許容される前記可動部の最大移動距離である比較速度量ＶＣと、現在の時刻ｔからＭ周期前までにおける前記可動部の位置データＰ（ｔ−ｎＴ）（ｎは、Ｍ以下の自然数）と、を記憶する記憶手段と、
１からＭまでのすべての整数ｎに対して１つでも｜Ｐ（ｔ）−Ｐ（ｔ−ｎＴ）｜＞ＶＣ＊ｎ＋ＰＭとなった場合に速度超過と判定する速度判定手段と、
を具備したことを特徴とする速度監視装置。
【請求項２】
前記速度判定手段は、速度超過の監視を開始した直後は、Ｍの値を予め設定したＭの最大値Ｍｍａｘよりも十分小さい値とし、それ以降は、Ｍを徐々に増加させ、ＭがＭｍａｘとなった場合に、ＭをＭｍａｘに固定する、ことを特徴とする請求項１に記載の速度監視装置。
【請求項３】
前記記憶手段は、速度超過の判定を開始する際、過去のＭサイクル前までの任意の位置データＰ（ｔ−ｎＴ）を、当該判定を開始する際の位置データＰ（ｔ）に置き換える、ことを特徴とする請求項１に記載の速度監視装置。
【請求項４】
前記速度監視装置は、速度超過を監視する場合と、速度低下を監視する場合の２つのモードがあり、
前記速度低下を監視するモードのときは、前記速度超過を監視するモードに比べて、Ｍの値を小さく設定する、
ことを特徴とする請求項１に記載の速度監視装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置検出器から出力される位置データに基づいて、可動部の速度が安全な速度内であるか否かを監視するための、速度監視装置に関する。
【背景技術】
【０００２】
近年、制御機器に搭載される回路規模の増大と信号処理の高速化及び集積回路の微細化、さらには、制御機器に組み込むソフトウェアの複雑化により、制御機器が偶発的に誤動作を起こす確率が高まる傾向にある。このため、万一の制御機器誤動作に対して、制御対象となる可動機械を安全に停止させる安全機能が、制御機器に搭載されるようになってきている。
【０００３】
また、制御機器の誤動作を検出する装置として、可動部が安全速度を超過していないかを監視する速度監視装置が、安全機能を有する制御装置に搭載されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般的な安全な速度を監視する速度監視装置は、可動部の位置を検出する位置センサからの一定周期ごとの位置データの差分により速度を検出し、その速度が予め設定した速度を超えていないかを監視するものである。通常、安全な速度は、比較的低い速度のため、十分な分解能で速度を検出するためには、差分処理を行う周期を長くするか、位置センサの分解能を高くする必要があった。しかし、差分処理を行う周期を長くすると、速度検出の応答性が悪化する欠点があった。つまり、可動部が危険な速度となってから、実際に可動部を停止するまでの応答時間も長くなり、安全を確保する能力が低下するという問題があった。また、位置センサの分解能を高くした場合は、短時間で低い速度を検出することが可能である。しかし安全な僅かな位置の変化であっても、機械的なガタツキ等で急激に移動した場合は、危険な速度として誤検出する問題があった。従来、この誤検出の問題を回避するため、速度超過を複数回連続して検出した場合のみ速度超過と判定する処理等を行っていた。このような誤検出防止を行った場合は、位置センサの分解能を高くしても、速度検出の応答性が低下する問題があった。また、位置センサの分解能を高くすることは、位置センサのコストがアップするという問題もあった。
【０００５】
このようなことから、低い分解能の位置センサが使用でき、かつ誤検出せずに高速応答可能な速度監視装置が望まれていた。
【０００６】
本発明は，上述のような事情から成されたものであり，本発明の目的は、分解能が低い、安価な位置センサが使用でき、誤検出せずに高速応答可能な速度監視装置を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の速度監視装置は、一定の周期Ｔごとに位置検出器から出力される位置データに基づき、可動部の速度を監視する速度監視装置において、少なくとも、許容移動マージンＰＭと、１周期期間で許容される前記可動部の最大移動距離である比較速度量ＶＣと、現在の時刻ｔからＭ周期前までにおける前記可動部の位置データＰ（ｔ−ｎＴ）（ｎは、Ｍ以下の自然数）と、を記憶する記憶手段と、１からＭまでのすべての整数ｎに対して１つでも｜Ｐ（ｔ）−Ｐ（ｔ−ｎＴ）｜＞ＶＣ＊ｎ＋ＰＭとなった場合に速度超過と判定する速度判定手段と、を具備したことを特徴とする。
【０００８】
好適な態様では、前記速度判定手段は、速度超過の監視を開始した直後は、Ｍの値を予め設定したＭの最大値Ｍｍａｘよりも十分小さい値とし、それ以降は、Ｍを徐々に増加させ、ＭがＭｍａｘとなった場合に、ＭをＭｍａｘに固定する。
【０００９】
他の好適な態様では、前記記憶手段は、速度超過の判定を開始する際、過去のＭサイクル前までの任意の位置データＰ（ｔ−ｎＴ）を、当該判定を開始する際の位置データＰ（ｔ）に置き換える。
【００１０】
他の好適な態様では、前記速度監視装置は、速度超過を監視する場合と、速度低下を監視する場合の２つのモードがあり、前記速度低下を監視するモードのときは、前記速度超過を監視するモードに比べて、Ｍの値を小さく設定する。
【発明の効果】
【００１１】
本発明によれば、短時間に急激な移動があっても、許容移動マージンＰＭを超えない限り、速度超過と判定しない。このため、許容移動マージンＰＭが、機械的なガタツキ等で急激に移動する量よりも大きければ、差分処理を行う周期Ｔをいくら短くしても誤検出する心配がない。これにより、周期Ｔを短くでき、許容移動マージンＰＭを超える危険な可動に対しては、高速な応答が可能となる。また、許容移動マージンＰＭを位置センサの分解能以上にすれば、位置センサの分解能によるデジタル化誤差によって、誤動作する心配もなくなり、低い分解能の位置センサが使用できる。また、Ｍを大きくすれば、長い時間間隔の位置の差分による速度を監視するため、低い分解能の位置センサを用いた場合でも、十分な速度分解能を得ることが可能である。したがって、低い分解能の位置センサが使用でき、誤検出せずに高速応答可能な速度監視装置を実現できる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態である速度監視装置を含む１軸の数値制御システムを示すブロック図である。
【図２】図１のブロック図の速度監視装置８を示すブロック図である。
【図３】図２のブロック図のマイクロコンピュータ１０の処理動作を示すフローチャートである。
【図４】図３のＳＴＥＰ８の速度判定処理ルーチンの処理動作を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下，図面に基づいて本発明の実施形態を説明する。
【００１４】
図１は、本発明の速度監視装置を含む１軸の数値制御システムを示すブロック図である。また、図２は図１のブロック図の速度監視装置８を示すブロック図である。また、図３は、図２のブロック図のマイクロコンピュータ１０の処理動作を示すフローチャートである。また、図４は、図３のＳＴＥＰ８の速度判定処理ルーチンの内容を示すフローチャートである。
【００１５】
図１で、サーボモータ３の回転軸が回転すると、回転軸に直結したボールねじ機構２によって、テーブル１が直線的に可動する。サーボモータ３には、位置センサである１回転２５０パルスのエンコーダ４が搭載されており、回転軸の回転量を検出し、信号ＰＯＳとして出力する。数値制御装置５は、エンコーダ４からの出力信号ＰＯＳを変換することにより求めた速度情報をもとに、モータ電流を制御し、サーボモータ３の速度や位置の制御を行う。また、数値制御装置５は、エンコーダ４からの出力信号ＰＯＳを変換することにより求めたテーブル１の位置情報と予め入力されたＮＣプログラムにしたがって、テーブル１の位置決め制御等を行う。安全スイッチ７は、数値制御装置５からの開錠信号ＵＬによって、ガード６の開錠を行う。また、安全スイッチ７は、ガード６が開いている場合は、ガード開を示す信号ＯＰを出力する。また、速度監視装置８は、エンコーダ４からの出力信号ＰＯＳから可動部であるテーブル１の速度を検出し、テーブル１の可動速度が安全速度を超えている場合は、数値制御装置５へ速度超過信号ＯＶを出力する。
【００１６】
数値制御装置５は、速度監視装置８からの速度超過信号ＯＶとテーブル１の制御速度とが、ともに安全な速度以下となった場合に、開錠信号ＵＬを出力し、ガードを開けることができるようにする。また、開錠信号ＵＬを出力し、速度監視装置８が速度超過信号ＯＶを出力している場合に、危険な状態と判断してサーボモータ３等を非常停止させ、安全を確保する。その他、開錠信号ＵＬを出力していないときに、ガード開を示す信号ＯＰが入力された場合も、サーボモータ３等を非常停止させ、安全を確保する。
【００１７】
図２で、速度監視装置８は、エンコーダインターフェース９とマイクロコンピュータ１０とランダムアクセスメモリ１１から構成されている。エンコーダインターフェース９は、エンコーダ４からのパルスによる出力信号ＰＯＳを数値情報となる位置データＰＯに変換する。ここで、ボールねじ機構２のボールねじリードは５０ｍｍで、位置センサは１回転２５０パルスであるため、位置データＰＯの分解能は０．２ｍｍとなる。マイクロコンピュータ１０は、周期１０ｍｓのサイクル（Ｔ＝１０ｍｓ）で、図３，４のフローチャートに示す処理を毎回行なう。
【００１８】
ＳＴＥＰ１では、前回読み出したガードの開錠状態を示す変数ＧＳを変数ＧＳＯに記憶する。ＳＴＥＰ２では、開錠信号ＵＬを変数ＧＳに読み込む。なお、開錠信号ＵＬが０で、施錠状態を示し、１で開錠状態を示す。ＳＴＥＰ３では、開錠状態（ＧＳ＝１）の時は、ＳＴＥＰ４，５が行われ、施錠状態（ＧＳ＝０）の時は、ＳＴＥＰ６，７が行なわれる。
【００１９】
ＳＴＥＰ４〜７では、後述する速度算出処理の繰り返し回数と、その最大数を示す変数Ｍ、Ｍｍａｘの設定が行なわれる。具体的には、現在、開錠状態（ＧＳ＝１、ＳＴＥＰ３でＹｅｓ）、かつ、前回も開錠状態（ＧＳＯ＝１、ＳＴＥＰ４でＮｏ）の場合には、前回設定された変数Ｍ，Ｍｍａｘの値がそのまま維持される。現在、開錠状態（ＧＳ＝１、ＳＴＥＰ３でＹｅｓ）、かつ、前回、施錠状態（ＧＳＯ＝０、ＳＴＥＰ４でＹｅｓ）の場合には、前回と今回とでガード６の開閉状態が変化し、速度超過の監視が新たに開始されることになる。この場合、変数Ｍを１にしてから変数Ｍｍａｘを５００にする。
【００２０】
一方、現在、施錠状態（ＧＳ＝０、ＳＴＥＰ３でＮｏ）、かつ、前回も施錠状態（ＧＳＯ＝１０、ＳＴＥＰ６でＮｏ）の場合には、前回設定された変数Ｍ，Ｍｍａｘの値がそのまま維持される。現在、施錠状態（ＧＳ＝０、ＳＴＥＰ３でＮｏ）、かつ、前回、開錠状態（ＧＳＯ＝１、ＳＴＥＰ７でＹｅｓ）の場合には、前回と今回とでガード６の開閉状態が変化することになる。この場合、変数Ｍｍａｘを２０にする。これらの変数Ｍ、Ｍｍａｘの設定が終了すれば、続いて、ＳＴＥＰ８の速度判定処理ルーチンが実行される。
【００２１】
速度判定処理ルーチンは、図４に示す流れで実行される。すなわち、図４のＳＴＥＰ９では、時間ｔの変数に周期Ｔを加算し、時間tの更新を行う。ＳＴＥＰ１０では、エンコーダインターフェース９が出力する位置データＰＯを読み出し、ランダムアクセスメモリ１１上の変数Ｐ（ｔ）に設定する。ＳＴＥＰ１１，１２，１３では変数Ｍに１を加算し、変数Ｍが変数Ｍｍａｘを超えた場合にのみ、変数Ｍを変数Ｍｍａｘとし、変数Ｍが変数Ｍｍａｘを超えないようにする処理が行われる。
【００２２】
ＳＴＥＰ１４では、変数ｎを１に設定し、変数ＶＣＮに許容移動マージンＰＭを設定する。ＳＴＥＰ１５では、変数ＶＣＮに比較速度量を示す変数ＶＣが加算される。なお、許容移動マージンを示す変数ＰＭは、予め１．０００ｍｍが設定される。また、変数ＶＣには、可動部が２０００ｍｍ／ｍｉｎで移動している場合に、１０ｍｓの間に移動する距離、０．３３３ｍｍが、比較速度量として設定されている。
【００２３】
ＳＴＥＰ１５，１６，１７，１８では、時間ｎＴ間の移動量を示すＰ（ｔ）−Ｐ（ｔ−ｎＴ）の絶対値と変数ＶＣＮが比較され、時間ｎＴ間の移動量がＶＣＮ（＝ＶＣ＊ｎ＋ＰＭに相当）を超えない限り、ｎを１づつ加算し、ＳＴＥＰ１５，１６，１７，１８の処理をＭ回繰り返す。時間ｎＴ間の移動量がＶＣＮを１度も超えることが無い場合は、ＳＴＥＰ１９により、速度超過信号ＯＶを０として出力する。また、時間ｎＴ間の移動量が１度でもＶＣＮを超えた場合は、ＳＴＥＰ２０で、速度超過信号ＯＶを１として出力する。
【００２４】
なお、ＳＴＥＰ１５では、演算が容易なため、変数ＶＣＮを加算処理によって求めたが、ＶＣＮ＝ＶＣ＊ｎ＋ＰＭとして乗算を用いて処理しても良い。また、図３のＳＴＥＰ３〜ＳＴＥＰ７では、ガードの施錠状態と開錠状態の２つのモードで、変数Ｍｍａｘの値を切り替えて速度判定処理を行っている。ガード開錠状態では、安全速度の超過を監視するため、安全を確保するために正確に安全速度を検出する必要があり、変数Ｍを大きくした方が、速度検出精度を向上できる。これに対して、ガード施錠状態では、ガードを開錠するための安全速度以下となることを監視し、変数Ｍが大きいと、Ｍサイクル前に大きな速度で可動していた場合、Ｍ−１サイクル以内にいくら安全速度以下になっていたとしても、Ｍサイクル経過しない限り、安全速度以内と判定されない場合が想定される。このため、変数Ｍが大きいと、ガードの開錠が遅くなり、作業性が悪化する問題がある。また、ガードを開錠するための安全速度以下となることを監視する場合は、多少安全速度を超えていたとしても、ガードを開けたときに、瞬時に安全な速度まで、低下できる速度であれば安全を確保できるため、Ｍを小さくしても問題ない。また、ガードを開錠するための安全速度以下となることを監視する場合は、制御速度も安全速度以下となることを監視するため、数値制御装置側が誤動作しない限り、ガード開錠時に可動部が安全速度を超え、非常停止するようなことはない。このため、図３の処理では、ガード開錠時の安全速度超過を監視する場合と、ガード施錠時の安全速度に速度低下したことを監視する場合の２つのモードで、安全速度に速度低下したことを監視するモードのときは、安全速度超過を監視するモードに対して、Ｍの値を小さく設定し、ガードを開けるときの応答性を改善している。これにより、Ｍ＝５００の時は、安全速度に達してから最悪５秒、経過しないとガードが開錠されなかったのに対して、Ｍ＝２０では、安全速度に達してから０．２秒以内にガードを開けることが可能となる。
【００２５】
なお、図３の処理のＳＴＥＰ５で、ガードが施錠状態から開錠状態に変化したときに、一旦変数Ｍを１にしている。その理由は、Ｍが大きな値だと、ガード施錠時の高速で動いているときの過去の状態も、ＳＴＥＰ１６の判定処理で評価される。したがって、いくらガード開錠以降に、安全な速度が確保されていたとしても、開錠前の過去の位置データにより、速度超過として誤検出する問題がある。このため、速度超過の監視を開始した直後はＭ＝１とし、変数Ｍを変数Ｍｍａｘよりも十分小さな値とし、開始前の高速で稼動中の位置データを評価しないようにしている。この問題の別の解決方法としては、変数Ｍを変数Ｍｍａｘに常に固定して使用する場合は、速度超過の監視を開始した直後に、Ｍサイクル前までの過去の位置データＰ（ｔ−ｎＴ）をＰ（ｔ）に置き換える方法がある。ただし、この方法では、Ｐ（ｔ）に置き換える処理に時間がかかる欠点がある。
【００２６】
ここで、図1の１軸の数値制御システムのような、エンコーダのパルス数が２５０パルス／１回転という分解能、かつ、ボールネジリードが５０ｍｍの場合、検出できる距離の最小値は、１／２５０×５０ｍｍ＝０．２ｍｍである。サンプリング周期Ｔ＝１０ｍｓの間における移動距離が、この０．２ｍｍ未満の場合、すなわち、移動速度が、０．２ｍｍ×１００×６０＝１２００ｍｍ／ｍｉｎ未満の場合、１サンプリング周期（１０ｍｓ）という短い時間では、一度も位置データを検出することができず、結果として速度を取得することが出来ない。つまり、安全速度が１２００ｍｍ／ｍｉｎ未満の場合、２５０パルス／１回転という低い分解能のエンコーダパルスでは、安全速度を超過しているか否かを判断できず、結果として、正確に監視を行なうことができない。しかし、図1の１軸の数値制御システムでは、速度監視を、１０ｍｓから５秒までの１０ｍｓきざみの全ての時間間隔の移動量で速度を評価し、監視するため、実質的な速度分解能は、０．２ｍｍ×（６０／５）＝２．４ｍｍ／ｍｉｎとなる。また、エンコーダの分解能である０．２ｍｍを超える許容移動マージン１ｍｍを加えて速度判定を行なうため、エンコーダの分解能不足によるデジタル誤差の影響を受けない。また、機械的なガタや衝撃等でテーブルが急激に僅かな距離変化したとしても、その動きが１ｍｍより十分小さければ、速度超過として誤検出する問題はない。なお、１ｍｍ程度の急激な移動が速度的に安全速度を大きく超えていたとしても、この程度の位置変化であれば十分に安全を確保することが可能である。また、１０ｍｓ間に急激に１ｍｍを超えて可動した場合は、瞬時に速度超過として検出することができるため、危険な状態を高応答で検出することが可能である。
【符号の説明】
【００２７】
１  テーブル、２  ボールねじ機構、３  サーボモータ、４  エンコーダ、５  数値制御装置、６  ガード、７  安全スイッチ、８  速度監視装置、９  エンコーダインターフェース、１０  マイクロコンピュータ、１１  ランダムアクセスメモリ。
【図１】
0005793053.tif 000002
【図２】
0005793053.tif 000003
【図３】
0005793053.tif 000004
【図４】
0005793053.tif 000005