(57)【特許請求の範囲】
【請求項１】
手動パルス発生器からのパルス情報を通信手段で受信し、モータを駆動する数値制御装置において、
通信周期毎に前記パルス情報を格納するためのバッファ領域を備えたメモリと、
前記通信手段で受信したパルス情報を前記バッファ領域へ書き込みを行う通信制御部と、前記バッファ領域からパルス情報を読み取り、前記モータを駆動するサーボ処理部へパルス情報を出力する制御部と、
前記通信手段により予め設定された時間内に受信したパルス情報の通信エラーの発生積算値に応じて前記バッファ領域に溜めるパルスの量を決定する溜まり量算出手段と、
前記受信したパルスを前記溜まり量算出手段により決定した量まで溜めた後、前記サーボ処理部への出力を開始するように前記制御部に指令するサーボ出力遅延手段と、
を有することを特徴とするサーボ出力遅延手段を備えた数値制御装置。
【請求項２】
エラー回数算出手段は、前記数値制御装置の電源投入後、前記数値制御装置と前記手動パルス発生器とが通信を開始してから前記手動パルス発生器によるモータの駆動が開始されるまでに前記予め設定された時間内に発生した通信エラーの発生回数をカウントすることにより、前記通信エラーの発生積算値を求め、
前記溜まり量算出手段は、前記エラー回数算出手段により決定した通信エラーの発生回数の値から前記バッファ領域に溜めるパルスの量を算出することを特徴とする請求項１に記載のサーボ出力遅延手段を備えた数値制御装置。
【請求項３】
前記サーボ処理部への出力パルスの途切れ、前記パルス情報の受信完了からサーボへの出力が完了するまでの遅延時間の監視によりバッファ領域に溜めるパルスの過不足を監視する手段と、
前記バッファ領域に溜めるパルスの過不足を検出した場合に通信エラーの発生積算値を再計算してバッファ領域に溜めるパルスの量を調整する調整手段と、
を有することを特徴とする請求項１に記載のサーボ出力遅延手段を備えた数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は工作機械を制御する制御装置に関し、特に、サーボ出力遅延手段を備えた数値制御装置に関する。
【背景技術】
【０００２】
手動パルス発生器は数値制御装置によって制御される工作機械において、例えば、段取りのとき等に軸等を手動送りする場合、作業者は手動パルス発生器と呼ばれる回転式ダイヤルを有するパルス発生器を使用して、ダイヤルを回転し、手動送りの移動量に関係するパルスを発生させる。
【０００３】
手動パルス発生器で発生したパルス情報はネットワーク通信を経由して数値制御装置で受信される。数値制御装置で受信されたパルス情報は数値制御装置のバッファに書込まれる。数値制御装置において、バッファに書き込まれたパルス情報を読み取りサーボ処理部へ出力することで、工作機械や産業用機械の機構部を動作させるサーボモータを駆動する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−２６８７５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
制御装置において、通信エラーが発生した場合、手動パルス発生器で発生したパルス情報がネットワーク通信を経由して制御装置で受信されなくなるため、制御装置内のバッファへの書き込みができなくなり、その周期のパルスはサーボモータを制御するサーボ制御部へ出力されない。その結果、機械が急停止し、機械的ショックが発生する（図８参照）。図８では、通信エラーが生じたことで、手動パルス発生器から送信されるパルス情報に空白の周期が生じる。数値制御装置で受信したパルス情報が途切れた状態となることで、機械を駆動するサーボモータの駆動制御が正常に行われなくなり、機械ショックが発生する。
【０００６】
例えば、特許文献１の請求項２には、軸の移動中に通信エラーが発生した場合は、通信障害発生前に記憶した目標位置と通信障害発生後に記憶した目標位置の中間の位置を目標として、移動を実行するサーボ制御装置が開示されている。特許文献１に開示される技術では、手動パルス発生器から出力されたパルス情報に正確に対応した軸の移動を行うことができない。このように、従来技術では、通信エラー時、あらかじめ登録しておいたリカバリ動作が挿入され、指令とおりの動作とならない可能性がある。
【０００７】
そこで、本発明の目的は、上記従来技術の問題点を解決するために、サーボ出力遅延手段を備えた制御装置を提供することである。
【課題を解決するための手段】
【０００８】
本願の請求項１に係る発明は、手動パルス発生器からのパルス情報を通信手段で受信し、モータを駆動する数値制御装置において、通信周期毎に前記パルス情報を格納するためのバッファ領域を備えたメモリと、前記通信手段で受信したパルス情報を前記バッファ領域へ書き込みを行う通信制御部と、前記バッファ領域からパルス情報を読み取り、前記モータを駆動するサーボ処理部へパルス情報を出力する制御部と、前記通信手段により予め設定された時間内に受信したパルス情報の通信エラーの発生積算値に応じて前記バッファ領域に溜めるパルスの量を決定する溜まり量算出手段と、前記受信したパルスを前記溜まり量算出手段により決定した量まで溜めた後、前記サーボ処理部への出力を開始するように前記制御部に指令するサーボ出力遅延手段と、を有することを特徴とするサーボ出力遅延手段を備えた数値制御装置である。
【０００９】
請求項２に係る発明は、エラー回数算出手段は、前記数値制御装置の電源投入後、前記数値制御装置と前記手動パルス発生器とが通信を開始してから前記手動パルス発生器によるモータの駆動が開始されるまでに前記予め設定された時間内に発生した通信エラーの発生回数をカウントすることにより、前記通信エラーの発生積算値を求め、前記溜まり量算出手段は、前記エラー回数算出手段により決定した通信エラーの発生回数の値から前記バッファ領域に溜めるパルスの量を算出することを特徴とする請求項１に記載のサーボ出力遅延手段を備えた数値制御装置である。
【００１０】
請求項３に係る発明は、前記サーボ処理部への出力パルスの途切れ、前記パルス情報の受信完了からサーボへの出力が完了するまでの遅延時間の監視によりバッファ領域に溜めるパルスの過不足を監視する手段と、前記バッファ領域に溜めるパルスの過不足を検出した場合に通信エラーの発生積算値を再計算してバッファ領域に溜めるパルスの量を調整する調整手段と、を有することを特徴とする請求項１に記載のサーボ出力遅延手段を備えた数値制御装置である。
【発明の効果】
【００１１】
本発明により、サーボ出力遅延手段を備えた制御装置を提供できる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態の概略ブロック図である。
【図２】請求項１に係る実施形態を説明する図である。
【図３】請求項３に係る実施形態を説明する図である。
【図４】パルス情報の溜め込み回数をカウントする処理のフロー図である。
【図５】数値制御装置のメモリのバッファへのパルス情報の書込み処理のフロー図である。
【図６】パルス情報の読み出し処理のフロー図である。
【図７】パルス情報の溜め込み回数の再計算の処理のフロー図である。
【図８】従来技術を説明する図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態を図面と共に説明する。
＜実施形態１＞
図１は本発明の実施形態の概略ブロック図である。数値制御装置２０によって制御される工作機械において、例えば、段取りのとき等に軸等を手動送りする場合、作業者は手動パルス発生器と呼ばれる回転式ダイヤルを有する手動パルス発生器１０を使用して、ダイヤルを回転し、手動送りの移動量に関係するパルスを発生させる。手動パルス発生器１０は、手動パルス発生器用バッファ１１を備えており、手動パルス発生器で発生したパルスを、最新パルスとともに過去数周期分のパルスを通信周期毎に格納する。
【００１４】
工作機械（図示せず）を制御する数値制御装置２０は、手動パルス発生器１０から送信されるパルス情報を、通信手段２１を介して受信する。数値制御装置２０は通信周期毎に受信したパルス情報を格納するためのバッファ領域を有するメモリ２３を備えている。通信制御部２２は通信手段２１で周期毎に受信したパルス情報を、メモリ２３に用意されたメモリ領域に書き込む。制御部２４はメモリ２３のバッファ領域からパルス情報を読み取り、サーボモータ３０を駆動するサーボ処理部２５へ出力する。サーボ処理部２５は、入力したパルス情報を用いてサーボ制御の処理を行って、図示しない工作機械の機構部に取り付けられたサーボモータ３０を駆動制御する。
【００１５】
溜まり量算出手段２６は、通信手段２１により受信したパルス情報の通信エラーの発生頻度に応じて前記バッファ領域に溜めるパルスの量を決定する。サーボ出力遅延手段２７は受信したパルスを溜まり量算出手段２６により決定した量まで溜まった後、サーボ処理部２５への出力を開始するように制御部２４に指令する。
【００１６】
パルス情報の通信エラー発生頻度について説明する。図２は請求項１（実施形態１）を説明する図である。図２において、左側の図は本発明の手法を適用していない状態において、メモリ２３のバッファ領域に書き込まれるパルスと、メモリ２３のバッファ領域から読み出されサーボ処理部へ出力される出力パルスを説明する図である。右側の図は本発明を適用した状態において、メモリ２３のバッファ領域に書き込まれるパルスと、メモリ２３のバッファ領域から読み出されサーボ処理部２５へ出力される出力パルスを説明する図である。
【００１７】
数値制御装置２０の電源投入後から手動パルス発生器１０のハンドルを回し始めるまでに発生した通信エラーの回数と周期カウンタをカウントして、周期カウンタが予め設定しておく手動パルス入力継続時間になったときに通信エラーが何回発生したかをカウントしてその通信エラーの発生回数を通信エラーの発生頻度とする。
【００１８】
この通信エラーの発生頻度に基づいて、手動パルス発生器１０のハンドルの回し始めに溜めるパルス量を決定する。例えば、手動パルス入力継続時間内に通信エラーが２回発生したのであれば通信エラーの発生頻度は２回となるので２周期溜める（図２の右図参照）。２周期溜めることによりバッファ領域に書き込まれたパルス情報の読み取りとサーボ処理部２５への出力処理を遅らせると、以下のようにパルス情報の途切れがなくなる。
【００１９】
＜実施形態２＞
溜まり量算出手段２６において、パルス情報の溜め込み量が計算された後、通信環境の変化によって通信エラーの発生頻度が変わった場合に、溜め込むパルスの量が適切ではなくなる。図３は請求項３に係る実施形態を説明する図である。図３の左は溜め込むパルスの量が少ない場合である。通信エラーが発生する頻度に比較してメモリ２３のバッファ領域に溜め込まれるパルスの量が過少であり、サーボ処理部２５へのパルスの出力が足りなくなる。図３の右は溜め込むパルスの量が多い場合である。通信エラーが発生する頻度に比較してメモリ２３のバッファ領域に溜め込まれるパルスの量が過大、サーボ処理部２５へのパルスの出力が遅れ、パルス入力完了後サーボモータ３０が停止するまでの時間が長くなる。
【００２０】
そこで、例えば、通信エラーの発生頻度が高くなり、溜め込むパルスの量が足りなくなる場合には予め設定した時間内に発生した通信エラーの回数を再計算して溜め込むパルスの量を増やす。また、通信エラーの発生頻度が低くなり、溜め込むパルスの量が多くなる場合には予め設定した時間内に発生した通信エラーの回数を再計算して溜め込むパルスの量を減らす。これにより溜め込むパルスの量を通信環境に合わせて常に最適となる。
【００２１】
次に、図４、図５、図６、および、図７のフローチャートを用いて、本発明のサーボ出力遅延を行うための処理を説明する。
【００２２】
図４はパルス情報の溜め込み回数をカウントする処理のフロー図である。以下、各ステップに従って説明する。なお、図４のフローチャートの処理は溜まり量算出手段２６の処理である。
●［ステップｓａ０１］通信エラーが発生か否かを判断し、通信エラーが発生の場合（ＹＥＳ）にはステップｓａ０２へ移行し、通信エラーが発生していない場合（ＮＯ）にはステップｓａ０３へ移行する。  
●［ステップｓａ０２］エラーカウンタを一つ加算する。  
●［ステップｓａ０３］周期カウンタを一つ加算する。  
●［ステップｓａ０４］ステップｓａ０３でカウントする周期カウンタの値が、手動パルス入力継続時間以上となったか否かを判断し、周期カウンタの値が手動パルス入力継続時間以上の場合（ＹＥＳ）にはステップｓａ０５へ移行し、手動パルス入力継続時間未満の場合（ＮＯ）にはステップｓａ０１へ戻り、処理を継続する。  
●［ステップｓａ０５］ステップｓａ０２でカウントするエラーカウンタの値を溜め込み回数とし、処理を終了する。
【００２３】
図５は数値制御装置のメモリのバッファへのパルス情報の書込み処理のフロー図である。なお、図５のフローチャートの処理は通信手段２１と通信制御部２２の処理である。
●［ステップｓｂ０１］パルス発生器から最新のパルス情報とともに過去数周期分のパルス情報を受信する。過去数周期分のパルス情報は、図４で求めた溜め込み回数に基づいて設定される。  
●［ステップｓｂ０２］前周期で通信エラー無しか否かを判断し、通信エラーが無い場合（ＹＥＳ）にはステップｓｂ０３へ移行し、通信エラーがある場合（ＮＯ）にはステップｓｂ０４へ移行する。  
●［ステップｓｂ０３］最新のパルス情報をバッファに書込み、処理を終了する。  
●［ステップｓｂ０４］通信エラー時のパルス情報と最新のパルス情報をバッファに書込み、処理を終了する。
【００２４】
図６はパルス情報の読み出し処理のフロー図である。なお、図６の処理はサーボ出力遅延手段２７と制御部２４の処理である。また、図６の処理がサーボ出力遅延手段に対応する。
●［ステップｓｃ０１］パルス情報の溜め込み回数が０回であるか否かを判断し、溜め込み回数が０回である場合はステップｓｃ０３へ移行し、溜め込み回数が０回ではない場合にはステップｓｃ０２へ移行する。  
●［ステップｓｃ０２］溜め込み回数を一つ減らし、処理を終了する。
●［ステップｓｃ０３］書込みポインタの位置と読み込みポインタの位置とは異なるか否かを判別し、両者が異なる場合（ＹＥＳ）にはステップｓｃ０４へ移行し、同じ場合（ＮＯ）には処理を終了する。  
●［ステップｓｃ０４］読込みポインタの位置を一つ進める。  
●［ステップｓｃ０５］サーボ処理部へパルスを出力し、処理を終了する。
【００２５】
図７はパルス情報の溜め込み回数の再計算の処理のフロー図である。なお、図７の処理は溜まり量算出手段２６の処理である。
●［ステップｓｄ０１］書込みポインタの位置と読み込みポインタの位置の差が溜め込み回数より大きいか、または、書込みポインタの位置と読み込みポインタの位置の差が０以下であるか否かを判断し、前記の何れかである場合（ＹＥＳ）には、ステップｓｄ０２へ移行し、前記の何れでもない場合（ＮＯ）には、処理を終了する。
●［ステップｓｄ０２］溜め込み回数を再計算し、処理を終了する。
【符号の説明】
【００２６】
１０  手動パルス発生器
１１  手動パルス発生器用バッファ
２０  数値制御装置
２１  通信手段
２２  通信制御部
２３  メモリ
２４  制御部
２５  サーボ処理部
２６  溜まり量算出手段
２７  サーボ出力遅延手段
３０  サーボモータ
【図１】
0005877826.tif 000002
【図２】
0005877826.tif 000003
【図３】
0005877826.tif 000004
【図４】
0005877826.tif 000005
【図５】
0005877826.tif 000006
【図６】
0005877826.tif 000007
【図７】
0005877826.tif 000008
【図８】
0005877826.tif 000009