"一定の周期Tごとに位置検出器から出力される位置データに基づき、可動部の速度を監視する速度監視装置において、少なくとも、許容移動マージンPMと、1周期期間で許容される前記可動部の最大移動距離である比較速度量VCと、現在の時刻tからM周期前までにおける前記可動部の位置データPt-nTnは、M以下の自然数と、を記憶する記憶手段と、1からMまでのすべての整数nに対して1つでも|Pt-Pt-nT|>VCnPMとなった場合に速度超過と判定する速度判定手段と、を具備したことを特徴とする速度監視装置。前記速度判定手段は、速度超過の監視を開始した直後は、Mの値を予め設定したMの最大値Mmaxよりも十分小さい値とし、それ以降は、Mを徐々に増加させ、MがMmaxとなった場合に、MをMmaxに固定する、ことを特徴とする請求項1に記載の速度監視装置。前記記憶手段は、速度超過の判定を開始する際、過去のMサイクル前までの任意の位置データPt-nTを、当該判定を開始する際の位置データPtに置き換える、ことを特徴とする請求項1に記載の速度監視装置。前記速度監視装置は、速度超過を監視する場合と、速度低下を監視する場合の2つのモードがあり、前記速度低下を監視するモードのときは、前記速度超過を監視するモードに比べて、Mの値を小さく設定する、ことを特徴とする請求項1に記載の速度監視装置。一般的な安全な速度を監視する速度監視装置は、可動部の位置を検出する位置センサからの一定周期ごとの位置データの差分により速度を検出し、その速度が予め設定した速度を超えていないかを監視するものである。通常、安全な速度は、比較的低い速度のため、十分な分解能で速度を検出するためには、差分処理を行う周期を長くするか、位置センサの分解能を高くする必要があった。しかし、差分処理を行う周期を長くすると、速度検出の応答性が悪化する欠点があった。つまり、可動部が危険な速度となってから、実際に可動部を停止するまでの応答時間も長くなり、安全を確保する能力が低下するという問題があった。また、位置センサの分解能を高くした場合は、短時間で低い速度を検出することが可能である。しかし安全な僅かな位置の変化であっても、機械的なガタツキ等で急激に移動した場合は、危険な速度として誤検出する問題があった。従来、この誤検出の問題を回避するため、速度超過を複数回連続して検出した場合のみ速度超過と判定する処理等を行っていた。このような誤検出防止を行った場合は、位置センサの分解能を高くしても、速度検出の応答性が低下する問題があった。また、位置センサの分解能を高くすることは、位置センサのコストがアップするという問題もあった。このようなことから、低い分解能の位置センサが使用でき、かつ誤検出せずに高速応答可能な速度監視装置が望まれていた。本発明は,上述のような事情から成されたものであり,本発明の目的は、分解能が低い、安価な位置センサが使用でき、誤検出せずに高速応答可能な速度監視装置を提供することにある。本発明の速度監視装置は、一定の周期Tごとに位置検出器から出力される位置データに基づき、可動部の速度を監視する速度監視装置において、少なくとも、許容移動マージンPMと、1周期期間で許容される前記可動部の最大移動距離である比較速度量VCと、現在の時刻tからM周期前までにおける前記可動部の位置データPt-nTnは、M以下の自然数と、を記憶する記憶手段と、1からMまでのすべての整数nに対して1つでも|Pt-Pt-nT|>VCnPMとなった場合に速度超過と判定する速度判定手段と、を具備したことを特徴とする。好適な態様では、前記速度判定手段は、速度超過の監視を開始した直後は、Mの値を予め設定したMの最大値Mmaxよりも十分小さい値とし、それ以降は、Mを徐々に増加させ、MがMmaxとなった場合に、MをMmaxに固定する。他の好適な態様では、前記記憶手段は、速度超過の判定を開始する際、過去のMサイクル前までの任意の位置データPt-nTを、当該判定を開始する際の位置データPtに置き換える。他の好適な態様では、前記速度監視装置は、速度超過を監視する場合と、速度低下を監視する場合の2つのモードがあり、前記速度低下を監視するモードのときは、前記速度超過を監視するモードに比べて、Mの値を小さく設定する。本発明によれば、短時間に急激な移動があっても、許容移動マージンPMを超えない限り、速度超過と判定しない。このため、許容移動マージンPMが、機械的なガタツキ等で急激に移動する量よりも大きければ、差分処理を行う周期Tをいくら短くしても誤検出する心配がない。これにより、周期Tを短くでき、許容移動マージンPMを超える危険な可動に対しては、高速な応答が可能となる。また、許容移動マージンPMを位置センサの分解能以上にすれば、位置センサの分解能によるデジタル化誤差によって、誤動作する心配もなくなり、低い分解能の位置センサが使用できる。また、Mを大きくすれば、長い時間間隔の位置の差分による速度を監視するため、低い分解能の位置センサを用いた場合でも、十分な速度分解能を得ることが可能である。したがって、低い分解能の位置センサが使用でき、誤検出せずに高速応答可能な速度監視装置を実現できる。以下,図面に基づいて本発明の実施形態を説明する。図1は、本発明の速度監視装置を含む1軸の数値制御システムを示すブロック図である。また、図2は図1のブロック図の速度監視装置8を示すブロック図である。また、図3は、図2のブロック図のマイクロコンピュータ10の処理動作を示すフローチャートである。また、図4は、図3のSTEP8の速度判定処理ルーチンの内容を示すフローチャートである。図1で、サーボモータ3の回転軸が回転すると、回転軸に直結したボールねじ機構2によって、テーブル1が直線的に可動する。サーボモータ3には、位置センサである1回転250パルスのエンコーダ4が搭載されており、回転軸の回転量を検出し、信号POSとして出力する。数値制御装置5は、エンコーダ4からの出力信号POSを変換することにより求めた速度情報をもとに、モータ電流を制御し、サーボモータ3の速度や位置の制御を行う。また、数値制御装置5は、エンコーダ4からの出力信号POSを変換することにより求めたテーブル1の位置情報と予め入力されたNCプログラムにしたがって、テーブル1の位置決め制御等を行う。安全スイッチ7は、数値制御装置5からの開錠信号ULによって、ガード6の開錠を行う。また、安全スイッチ7は、ガード6が開いている場合は、ガード開を示す信号OPを出力する。また、速度監視装置8は、エンコーダ4からの出力信号POSから可動部であるテーブル1の速度を検出し、テーブル1の可動速度が安全速度を超えている場合は、数値制御装置5へ速度超過信号OVを出力する。数値制御装置5は、速度監視装置8からの速度超過信号OVとテーブル1の制御速度とが、ともに安全な速度以下となった場合に、開錠信号ULを出力し、ガードを開けることができるようにする。また、開錠信号ULを出力し、速度監視装置8が速度超過信号OVを出力している場合に、危険な状態と判断してサーボモータ3等を非常停止させ、安全を確保する。その他、開錠信号ULを出力していないときに、ガード開を示す信号OPが入力された場合も、サーボモータ3等を非常停止させ、安全を確保する。図2で、速度監視装置8は、エンコーダインターフェース9とマイクロコンピュータ10とランダムアクセスメモリ11から構成されている。エンコーダインターフェース9は、エンコーダ4からのパルスによる出力信号POSを数値情報となる位置データPOに変換する。ここで、ボールねじ機構2のボールねじリードは50mmで、位置センサは1回転250パルスであるため、位置データPOの分解能は0.2mmとなる。マイクロコンピュータ10は、周期10msのサイクルT=10msで、図3,4のフローチャートに示す処理を毎回行なう。STEP1では、前回読み出したガードの開錠状態を示す変数GSを変数GSOに記憶する。STEP2では、開錠信号ULを変数GSに読み込む。なお、開錠信号ULが0で、施錠状態を示し、1で開錠状態を示す。STEP3では、開錠状態GS=1の時は、STEP4,5が行われ、施錠状態GS=0の時は、STEP6,7が行なわれる。STEP4~7では、後述する速度算出処理の繰り返し回数と、その最大数を示す変数M、Mmaxの設定が行なわれる。具体的には、現在、開錠状態GS=1、STEP3でYes、かつ、前回も開錠状態GSO=1、STEP4でNoの場合には、前回設定された変数M,Mmaxの値がそのまま維持される。現在、開錠状態GS=1、STEP3でYes、かつ、前回、施錠状態GSO=0、STEP4でYesの場合には、前回と今回とでガード6の開閉状態が変化し、速度超過の監視が新たに開始されることになる。この場合、変数Mを1にしてから変数Mmaxを500にする。一方、現在、施錠状態GS=0、STEP3でNo、かつ、前回も施錠状態GSO=10、STEP6でNoの場合には、前回設定された変数M,Mmaxの値がそのまま維持される。現在、施錠状態GS=0、STEP3でNo、かつ、前回、開錠状態GSO=1、STEP7でYesの場合には、前回と今回とでガード6の開閉状態が変化することになる。この場合、変数Mmaxを20にする。これらの変数M、Mmaxの設定が終了すれば、続いて、STEP8の速度判定処理ルーチンが実行される。速度判定処理ルーチンは、図4に示す流れで実行される。すなわち、図4のSTEP9では、時間tの変数に周期Tを加算し、時間tの更新を行う。STEP10では、エンコーダインターフェース9が出力する位置データPOを読み出し、ランダムアクセスメモリ11上の変数Ptに設定する。STEP11,12,13では変数Mに1を加算し、変数Mが変数Mmaxを超えた場合にのみ、変数Mを変数Mmaxとし、変数Mが変数Mmaxを超えないようにする処理が行われる。STEP14では、変数nを1に設定し、変数VCNに許容移動マージンPMを設定する。STEP15では、変数VCNに比較速度量を示す変数VCが加算される。なお、許容移動マージンを示す変数PMは、予め1.000mmが設定される。また、変数VCには、可動部が2000mm/minで移動している場合に、10msの間に移動する距離、0.333mmが、比較速度量として設定されている。STEP15,16,17,18では、時間nT間の移動量を示すPt-Pt-nTの絶対値と変数VCNが比較され、時間nT間の移動量がVCN=VCnPMに相当を超えない限り、nを1づつ加算し、STEP15,16,17,18の処理をM回繰り返す。時間nT間の移動量がVCNを1度も超えることが無い場合は、STEP19により、速度超過信号OVを0として出力する。また、時間nT間の移動量が1度でもVCNを超えた場合は、STEP20で、速度超過信号OVを1として出力する。なお、STEP15では、演算が容易なため、変数VCNを加算処理によって求めたが、VCN=VCnPMとして乗算を用いて処理しても良い。また、図3のSTEP3~STEP7では、ガードの施錠状態と開錠状態の2つのモードで、変数Mmaxの値を切り替えて速度判定処理を行っている。ガード開錠状態では、安全速度の超過を監視するため、安全を確保するために正確に安全速度を検出する必要があり、変数Mを大きくした方が、速度検出精度を向上できる。これに対して、ガード施錠状態では、ガードを開錠するための安全速度以下となることを監視し、変数Mが大きいと、Mサイクル前に大きな速度で可動していた場合、M-1サイクル以内にいくら安全速度以下になっていたとしても、Mサイクル経過しない限り、安全速度以内と判定されない場合が想定される。このため、変数Mが大きいと、ガードの開錠が遅くなり、作業性が悪化する問題がある。また、ガードを開錠するための安全速度以下となることを監視する場合は、多少安全速度を超えていたとしても、ガードを開けたときに、瞬時に安全な速度まで、低下できる速度であれば安全を確保できるため、Mを小さくしても問題ない。また、ガードを開錠するための安全速度以下となることを監視する場合は、制御速度も安全速度以下となることを監視するため、数値制御装置側が誤動作しない限り、ガード開錠時に可動部が安全速度を超え、非常停止するようなことはない。このため、図3の処理では、ガード開錠時の安全速度超過を監視する場合と、ガード施錠時の安全速度に速度低下したことを監視する場合の2つのモードで、安全に速度低下したことを監視するモードのときは、安全速度超過を監視するモードに対して、Mの値を小さく設定し、ガードを開けるときの応答性を改善している。これにより、M=500の時は、安全速度に達してから最悪5秒、経過しないとガードが開錠されなかったのに対して、M=20では、安全速度に達してから0.2秒以内にガードを開けることが可能となる。なお、図3の処理のSTEP5で、ガードが施錠状態から開錠状態に変化したときに、一旦変数Mを1にしている。その理由は、Mが大きな値だと、ガード施錠時の高速で動いているときの過去の状態も、STEP16の判定処理で評価される。したがって、いくらガード開錠以降に、安全な速度が確保されていたとしても、開錠前の過去の位置データにより、速度超過として誤検出する問題がある。このため、速度超過の監視を開始した直後はM=1とし、変数Mを変数Mmaxよりも十分小さな値とし、開始前の高速で稼動中の位置データを評価しないようにしている。この問題の別の解決方法としては、変数Mを変数Mmaxに常に固定して使用する場合は、速度超過の監視を開始した直後に、Mサイクル前までの過去の位置データPt-nTをPtに置き換える方法がある。ただし、この方法では、Ptに置き換える処理に時間がかかる欠点がある。ここで、図1の1軸の数値制御システムのような、エンコーダのパルス数が250パルス/1回転という分解能、かつ、ボールネジリードが50mmの場合、検出できる距離の最小値は、1/250×50mm=0.2mmである。サンプリング周期T=10msの間における移動距離が、この0.2mm未満の場合、すなわち、移動速度が、0.2mm×100×60=1200mm/min未満の場合、1サンプリング周期10msという短い時間では、一度も位置データを検出することができず、結果として速度を取得することが出来ない。つまり、安全速度が1200mm/min未満の場合、250パルス/1回転という低い分解能のエンコーダパルスでは、安全速度を超過しているか否かを判断できず、結果として、正確に監視を行なうことができない。しかし、図1の1軸の数値制御システムでは、速度監視を、10msから5秒までの10msきざみの全ての時間間隔の移動量で速度を評価し、監視するため、実質的な速度分解能は、0.2mm×60/5=2.4mm/minとなる。また、エンコーダの分解能である0.2mmを超える許容移動マージン1mmを加えて速度判定を行なうため、エンコーダの分解能不足によるデジタル誤差の影響を受けない。また、機械的なガタや衝撃等でテーブルが急激に僅かな距離変化したとしても、その動きが1mmより十分小さければ、速度超過として誤検出する問題はない。なお、1mm程度の急激な移動が速度的に安全速度を大きく超えていたとしても、この程度の位置変化であれば十分に安全を確保することが可能である。また、10ms間に急激に1mmを超えて可動した場合は、瞬時に速度超過として検出することができるため、危険な状態を高応答で検出することが可能である。"