(57)【要約】【課題】各軸制御部が絶対時間を用いて同期補間制御が行えるようにする。【解決手段】パソコン１１０は、数値制御処理の演算を行って各軸の処理時間を表す絶対時間指令データを生成し、生成した絶対時間指令データを非同期通信方式のネットワークであるＬＡＮ１１５に送信する。複数のサーボアンプ１３０−１３ｎは、ＬＡＮ１１５から前記絶対時間指令データを取り込み内蔵する絶対時間を示す内部タイマーに従って相互間で同期補間制御を実施する。【選択図】　　　図１
2004110359.tif 000002
【特許請求の範囲】
【請求項１】
数値制御処理の演算を行って各軸の処理時間を表す絶対時間指令データを生成し、生成した絶対時間指令データを非同期通信方式のネットワークに送信する数値制御処理手段と、
前記非同期通信方式のネットワークを介して前記数値制御処理手段と接続され、ネットワークから前記絶対時間指令データを取り込み内蔵する絶対時間を示す内部タイマーに従って相互間で同期補間制御を実施する複数の軸制御手段と、
を備えたことを特徴とする数値制御システム。
【請求項２】
少なくとも前記複数の軸制御手段は、専用の有線または無線の伝送路であるホットラインで接続され、前記ホットラインを介して非常停止信号の授受が行えることを特徴とする請求項１に記載の数値制御システム。
【請求項３】
前記複数の軸制御手段がそれぞれ備える内部タイマーは、高精度のタイマーであることを特徴とする請求項１または２に記載の数値制御システム。
【請求項４】
前記複数の軸制御手段は、それぞれが備える内部タイマーの絶対時間を、年・月・日・時・分までは前記ネットワークを介した前記数値制御処理手段との通信によって設定し、秒・ミリ秒・マイクロ秒・ナノ秒は前記ホットラインを用いて前記複数の軸制御手段間で同一となるように設定することを特徴とする請求項２に記載の数値制御システム。
【請求項５】
前記複数の軸制御手段は、それぞれが備える内部タイマーの絶対時間を、年・月・日・時・分までは絶対時間供給手段から取得して設定し、秒・ミリ秒・マイクロ秒・ナノ秒は前記ホットラインを用いて前記複数の軸制御手段間で同一となるように設定することを特徴とする請求項２に記載の数値制御システム。
【請求項６】
少なくとも前記複数の軸制御手段の中の一つが、自軸制御手段の内部タイマーの一定周期毎のタイマー値をディジタル信号の形式で前記ホットラインに送信し、残りの全ての軸制御手段が、前記ホットラインから取り込んだ前記タイマー値を用いて自軸制御手段の内部タイマーを補正することを特徴とする請求項２〜５のいずれか一つに記載の数値制御システム。
【請求項７】
前記タイマー値をホットラインに送信する軸制御手段は、自軸制御手段の内部タイマーの一定周期毎のタイマー値をアナログ信号に変換し、当該変換したアナログ信号を前記ホットラインに設けられている非常停止信号に重畳して送信することを特徴とする請求項６に記載の数値制御システム。
【請求項８】
前記複数の軸制御手段は、
前記送られてきた絶対時間指令データにおける絶対時間と前記内部タイマーが示す実時間との一致不一致の比較演算を実施するハードウエア回路、
を備えたことを特徴とする請求項１または２に記載の数値制御システム。
【請求項９】
前記数値制御処理手段がＰＣカードの実装が可能なコンピュータ装置である場合において、
当該コンピュータ装置には、
前記絶対時間指令データをリアルタイムに生成処理するＰＣカードタイプのカード型ＮＣが接続される、
ことを特徴とする請求項１または２に記載の数値制御システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、数値制御システムに関するものである。
【０００２】
【従来の技術】
従来の数値制御装置では、各軸を制御する複数の軸制御部（以下「サーボアンプ」という）間で実施される同期補間制御は、同期信号を基準とした相対時間指令によって実現している。すなわち、従来の数値制御装置では、ある一定周期の同期信号を基準に複数のサーボアンプ間で同期をとり、位置データ、速度データなどの指令データに基づき複数のサーボアンプ間で同期補間制御を実施している。
【０００３】
ところで、同期信号を基準とした相対時間指令による同期補間制御方式では、数値制御装置とサーボアンプ間で専用の同期通信が必要であることから、近年、オープン化を目指してこの同期通信方式としてＳＥＲＣＯＳ（Ｓｅｒｉａｌ　Ｒｅａｌｔｉｍｅ　Ｃｏｍｍｕｎｉｃａｔｉｏｎ　Ｓｙｓｔｅｍ）等の通信規格が策定されている。しかし、通信性能は、制御性能に大きく関わるので、各数値制御装置メーカは、それぞれ特徴を出すために独自の専用通信方式に頼っているのが実状である。
【０００４】
そして、数値制御部に集中したケーブルの煩雑さを減少させるために、数値制御部と、画面制御部と、複数のサーボアンプとの間を汎用のネットワークを介して接続し、各構成要素を分散させるようにした数値制御システムが提案されている（例えば特許文献１参照）。この特許文献１に開示された数値制御システムでは、複数のサーボアンプ間の同期補間制御は、同期信号を基準とした相対時間指令によって実現していると推測される。
【０００５】
また、近年では、パーソナルコンピュータ（以下、「パソコン」という）の高性能化および低価格化を背景として、パソコンを利用した数値制御システムが提案されている。すなわち、パソコンの拡張スロットに数値制御装置を実装し、その数値制御装置と記憶装置とをバスを介して接続するとともに、数値制御装置には、専用の通信ケーブルを介して複数のサーボアンプを接続した数値制御システムが提案されている（例えば、特許文献２，３参照）。
【０００６】
特許文献２，３に開示された数値制御システムでは、記憶装置に格納された加工プログラムや加工データから移動指令がパソコンのＣＰＵによって算出され、その算出された移動指令がバスを介して数値制御装置内部のサーボ制御部に設けてある通信データバッファにオーバーフローさせずに非同期で入力されるが、複数のサーボアンプ間の同期補間制御は、同期信号を基準とした相対時間指令によって実現している。
【０００７】
【特許文献１】
特開平９−７３３１０号公報（段落０００９〜００１２、図１）。
【特許文献２】
国際公開第０１／４４８８２号パンフレット（第７頁〜第９頁、第１図）。
【特許文献３】
特開平９−１４６６２３号公報（段落００３０〜００３３、図１）。
【０００８】
【発明が解決しようとする課題】
しかしながら、同期信号を基準とした相対時間指令による同期補間制御方式では、数値制御処理専用のＯＳ，ＣＰＵおよび同期通信インターフェースが必要であるので、高価であり、かつユーザの多様な要求に応える柔軟性に欠けるという問題がある。
【０００９】
パソコンは、非同期の通信機能を備え、近年では、ＬＡＮ等のネットワークを介して高速な非同期通信が行えるようになってきているので、高速で安価なパソコン上で数値制御の演算処理を非リアルタイムにて実施し、蓄積したデータを非同期の通信機能を用いてＬＡＮ等のネットワークを介して高速に複数のサーボアンプに送信するだけで、複数のサーボアンプ間で同期補間制御が実施できれば、安価でかつ柔軟な数値制御システムが構築できるが、どのように構成するかが問題である。
【００１０】
この発明は、上記に鑑みてなされたもので、各軸制御部が絶対時間を用いて同期補間制御が行えるようにすることにより、安価でかつユーザの多様な要請に柔軟に対応できる数値制御システムを得ることを目的とする。
【００１１】
【課題を解決するための手段】
上記の目的を達成するために、この発明にかかる数値制御システムは、数値制御処理の演算を行って各軸の処理時間を表す絶対時間指令データを生成し、生成した絶対時間指令データを非同期通信方式のネットワークに送信する数値制御処理手段と、前記非同期通信方式のネットワークを介して前記数値制御処理手段と接続され、ネットワークから前記絶対時間指令データを取り込み内蔵する絶対時間を示す内部タイマーに従って相互間で同期補間制御を実施する複数の軸制御手段とを備えたことを特徴とする。
【００１２】
この発明によれば、数値制御処理手段が、数値制御処理の演算を行って各軸の処理時間を表す絶対時間指令データを生成し、生成した絶対時間指令データを非同期通信方式のネットワークに送信すると、前記非同期通信方式のネットワークを介して前記数値制御処理手段と接続される複数の軸制御手段が、ネットワークから前記絶対時間指令データを取り込み内蔵する絶対時間を示す内部タイマーに従って相互間で同期補間制御を実施する。
【００１３】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる数値制御システムの好適な実施の形態を詳細に説明する。
【００１４】
実施の形態１．
図１は、この発明の実施の形態１である数値制御システムの構成を示すブロック図である。この発明で用いる数値制御演算手段は、数値制御処理の演算、具体的には、加工プログラムの解析から各軸の移動量の演算を行って各軸の処理時間を表す絶対時間指令データを生成する機能を付加することができ、かつＬＡＮ等のネットワークとの非同期通信機能を備えている。この数値制御演算手段は、例えば、ワークステーションやパソコンなどのコンピュータ装置を用いて実現することができる。この実施の形態では、安価に構成する観点からパソコンを用いた構成例が示されている。
【００１５】
すなわち、図１において、コンピュータ装置としてのパソコン１１０は、ＣＰＵ、外部記憶装置としてのハードディスク等のメモリ及びＬＡＮ等のネットワークとの非同期通信機能を備えている。
【００１６】
軸制御部としての複数のサーボアンプ１３０〜１３ｎは、対応する各軸のサーボモータ１４０〜１４ｎを制御するが、この実施の形態では、絶対時間を用いた同期補間制御機能およびＬＡＮ等のネットワークとの非同期通信機能を備えている。
【００１７】
スイッチング・ハブ１２０は、切り替え回路を備え、ＬＡＮ等のネットワークにおいて２デバイス間の専用通信を可能にするために一般的に設けられている装置である。
【００１８】
図１に示す数値制御システムは、パソコン１１０と、複数のサーボアンプ１３０〜１３ｎとが、例えばネットワークとしてのＬＡＮ１１５上に配置されるスイッチング・ハブ１２０を介して接続される構成である。そして、スイッチング・ハブ１２０には、イントラネットやインターネットなどの上位のネットワーク１２５が接続できるようになっている。ＬＡＮ１１５上では、例えばＴＣＰ／ＩＰを用いた非同期通信が行われる。
【００１９】
また、サーボアンプ１３０〜１３ｎの間は、非常停止などを通知するホットライン１８０によってワイヤードＯＲ接続されている。ホットライン１８０は、非常停止スイッチ１９０ともワイヤードＯＲ接続されている。ホットライン１８０は、この実施の形態では、専用の通信ケーブルを用いた場合を示すが、専用の周波数を用いた無線回線で構成することもできる。
【００２０】
図２は、図１に示すパソコンの構成例を示すブロック図である。図２において、パソコン１１０は、加工プログラムの解析から各軸の移動量の演算までを実行する機能が付加されたパソコンＣＰＵ２１０と、パソコン１１０の機能を実現するためにパソコンＣＰＵ２１０が用いるメインメモリ２２０と、加工プログラムや加工データ（３次元ＣＡＤデータ）も蓄積されるハードディスク等の外部記憶装置２３０と、絶対時間を示す内部タイマー２４０と、ＬＡＮ１１５を介してサーボアンプと信号授受を行い、ＬＡＮ１１５上にサーボアンプ通信データ２９０の送出等を行うＬＡＮインターフェース回路２５０とが、内部バス２６０を介して接続される構成である。
【００２１】
ＬＡＮインターフェース回路２５０には、通信データを一時的に保管するため通信データバッファメモリ２５５が接続されている。また、内部バス２６０には、ＰＣカードインターフェース回路２７０が接続され、専用のＣＰＵを搭載した数値制御装置であるカード型ＮＣ２８０がプラグ・アンド・プレイで接続できるようになっている。
【００２２】
なお、図１に示すように、ホットライン１８０は、パソコン１１０にも接続される場合がある。しかし、ホットライン１８０は、サーボアンプ１３０〜１３ｎの間で非常停止などを通知するために用いるので、また、パソコン１１０は、ＬＡＮ１１５を介してサーボアンプと通信できるので、図２では、ホットライン１８０の処理回路は、図示省略した。
【００２３】
図３は、図１に示すサーボアンプの構成例を示すブロック図である。サーボアンプ１３０〜１３ｎは、全て同様の構成である。図３では、代表としてサーボアンプ１３０を取り上げている。
【００２４】
図３において、サーボアンプ１３０は、軸制御部としての機能を実現するサーボアンプＣＰＵ３１０と、サーボアンプＣＰＵ３１０が用いるメインメモリ３２０と、ＬＡＮ１１５を介して信号授受を行い、ＬＡＮ１１５からサーボアンプ通信データ２９０を取り込む等を行うＬＡＮインターフェース回路３３０と、サーボモータ１４０を回転駆動するサーボモータ回転制御回路３４０と、絶対時間を示す内部タイマー３５０とが、内部バス３７０を介して接続される構成である。ＬＡＮインターフェース回路３３０には、通信データを一時的に保管するため通信データバッファメモリ３３５が接続されている。
【００２５】
また、ホットライン１８０を介して信号授受を行うＩ／Ｏインターフェース回路３６０が設けられている。図３に示すように、ホットライン１８０の信号（内部信号）には、非常停止信号１８１と同期時間リセット信号１８２と同期時間補正信号１８３とが含まれている。これらはそれぞれ独立した信号線を伝送される。
【００２６】
Ｉ／Ｏインターフェース回路３６０は、サーボアンプＣＰＵ３１０および内部タイマー３５０との間で直接的に信号授受を行うようになっている。すなわち、Ｉ／Ｏインターフェース回路３６０とサーボアンプＣＰＵ３１０との間では、障害発生通知信号ＥＭＧと割込信号ＩＮＴＥＲＲＵＰＴとが授受される。また、Ｉ／Ｏインターフェース回路３６０と内部タイマー３５０との間では、リセット信号ＲＥＳＥＴと同期時間補正信号ＣＯＲＲＥＣＴとタイマー信号ＴＩＭＥＲとが授受される。
【００２７】
ここで、この発明では、絶対時間指令データを用いて各サーボアンプ間で同期補間制御を行うので、各サーボアンプの内部タイマー３５０は、正確に合わせる必要がある。その方法としては、次の（１）〜（４）の方法がある。
【００２８】
（１）各サーボアンプの内部タイマー３５０には、高精度のタイマーを用いる。例えば、精度が約１０−１３〜１０−１６以上の原子時計を用いることが好ましい。しかし、原子時計などの正確なタイマーは、高価であり、また装置も大きくなり、現状では入手困難である。したがって、通常のタイマーを用い、同期ずれ補正を行うことによって絶対時間を確保することとし、（２）（３）の方法によって各サーボアンプの内部タイマー３５０の時間合わせを行う。
【００２９】
（２）例えば、各サーボアンプの内部タイマー３５０の設定は、年・月・日・時・分までを非同期通信によってパソコン１１０から設定し、秒（ｓ）・ミリ秒（ｍｓ）・マイクロ秒（μｓ）・ナノ秒（ｎｓ）などは、ホットライン１８０に非常用に設けた非常停止信号１８１または専用に設けた同期時間リセット信号１８２を用いて次のようにして設定する。
【００３０】
すなわち、加工開始前に、サーボアンプ１３０〜１３ｎの中の１つのサーボアンプのサーボアンプＣＰＵ３１０が障害発生通知信号ＥＭＧを発生すると、そのサーボアンプのＩ／Ｏインターフェース回路３６０から非常停止信号１８１がホットライン１８０に送出され、他の全てのサーボアンプに通知される。他の全てのサーボアンプのＩ／Ｏインターフェース回路３６０では、ホットライン１８０から非常停止信号１８１を受信すると、内部タイマー３５０に対してリセット信号ＲＥＳＥＴを出力する。これによって、他の全てのサーボアンプでは、絶対時間合わせが行われる。
【００３１】
または、加工開始前に、同期時間リセット信号１８２をサーボアンプ１３０〜１３ｎの中の１つのサーボアンプからホットライン１８０に送出し、全てのサーボアンプにリセットをかける。全てのサーボアンプのＩ／Ｏインターフェース回路３６０では、ホットライン１８０から同期時間リセット信号１８２を受信すると、内部タイマー３５０に対してリセット信号ＲＥＳＥＴを出力する。これによって、他の全てのサーボアンプでは、絶対時間合わせが行われる。なお、同期時間リセット信号１８２は、パソコン１１０がホットライン１８０に送出するようにしてもよい。
【００３２】
（３）または、各サーボアンプの内部タイマー３５０の設定は、年・月・日・時・分・秒までを原子時計に連動した長波ＪＪＹ（標準周波数局）による電波時計またはＧＰＳ衛星から得た絶対時間を用いて秒単位で設定し、秒（ｓ）・ミリ秒（ｍｓ）・マイクロ秒（μｓ）・ナノ秒（ｎｓ）などは、（２）で説明したようにホットライン１８０に設けた非常停止信号１８１または同期時間リセット信号１８２を用いて設定する。
【００３３】
（４）特殊なケースとして、あるサーボアンプのサーボアンプＣＰＵ３１０が障害発生通知信号ＥＭＧを発生すると、そのサーボアンプのＩ／Ｏインターフェース回路３６０から非常停止信号１８１がホットライン１８０に送出され、他の全てのサーボアンプに通知される。他の全てのサーボアンプのＩ／Ｏインターフェース回路３６０では、ホットライン１８０から非常停止信号１８１を受信すると、サーボアンプＣＰＵ３１０に対して割込信号ＩＮＴＥＲＲＵＰＴを発生するとともに、内部タイマー３５０に対してリセット信号ＲＥＳＥＴを出力する。これによって、健全な他の全てのサーボアンプでは、絶対時間合わせが行われる。
【００３４】
次に、各サーボアンプの内部タイマー３５０における絶対時間の同期ずれを補正する方法について説明する。通常のタイマーは、月差数秒の誤差がある。例えば、月差±１０秒の誤差を含むタイマーであれば、１時間の加工中に約±１３．８９ｍｓ程度の誤差が生じる（＝１０秒÷３０日÷２４時間）。
【００３５】
この絶対時間の同期ずれ補正は、ホットライン１８０に設けてある同期時間補正信号１８３を用いて行う。すなわち、サーボアンプ１３０〜１３ｎの中の１つが、その装置の内部タイマー３５０から１ｍｓ周期のディジタル信号であるタイマー信号ＴＩＭＥＲをＩ／Ｏインターフェース回路３６０に出力すると、Ｉ／Ｏインターフェース回路３６０からホットライン１８０に同期時間補正信号１８３が送出される。他の全てのサーボアンプでは、Ｉ／Ｏインターフェース回路３６０がホットライン１８０から同期時間補正信号１８３を取り込むと、内部タイマー３５０に対して同期時間補正信号ＣＯＲＲＥＣＴを出力する。これによって、他の全てのサーボアンプでは、絶対時間の同期ずれが補正される。
【００３６】
この同期時間補正信号１８３を利用して１秒単位でサーボアンプ間の内部タイマー３５０の誤差を補正すれば、月差±１０秒の誤差を含むタイマーであれば、１秒毎に約±３．８６μｓの誤差を毎回補正することになるので、１時間の加工を行っても誤差は、約±３．８６μｓのままである。当然、補正周期を１ｍｓ以下にすれば誤差の範囲は更に改善できる。同期時間補正信号１８３は、パソコン１１０がホットライン１８０に送出することでもよいことは勿論である。
【００３７】
次に、図１，図２，図４，図５を参照して、パソコン１１０の動作について説明する。なお、図４は、図１に示すパソコンの動作を説明するフローチャートである。図５は、同期補間制御軸としてＸ軸とＹ軸を例にした座標系を説明する図である。
【００３８】
図５において、座標位置Ｌ１（Ｘ１，Ｙ１），Ｌ２（Ｘ２，Ｙ２）は、それぞれ絶対位置である。絶対位置Ｌ１（Ｘ１，Ｙ１）から絶対位置Ｌ２（Ｘ２，Ｙ２）までの移動距離Ｌを移動速度Ｖで移動する。また、単位時間Δｔ当たりのＸ軸移動距離ΔＸｍと単位時間Δｔ当たりのＸ軸移動距離ΔＹｍとによる座標位置ΔＬｍ（ΔＸｍ，ΔＹｍ）は、絶対位置Ｌ１（Ｘ１，Ｙ１）から単位時間Δｔ当たりの移動距離ΔＬｍとして求められた単位時間Δｔ当たりの絶対位置である。この単位時間Δｔ当たりの絶対位置ΔＬｍ（ΔＸｍ，ΔＹｍ）から絶対位置Ｌ２（Ｘ２，Ｙ２）までの距離Ｌｎが残距離である。
【００３９】
さて、図４において、外部記憶装置２３０に予め保存された加工プログラムまたは３次元ＣＡＤデータを読み出し（ステップＳＴ１）、加工プログラム解析処理によって解析データ｛絶対位置Ｌ１（Ｘ１，Ｙ１），Ｌ２（Ｘ２，Ｙ２）、移動速度Ｖ、移動距離Ｌ等｝を求める（ステップＳＴ２）。
【００４０】
次いで、求められた解析データ｛絶対位置Ｌ１（Ｘ１，Ｙ１），Ｌ２（Ｘ２，Ｙ２）、移動速度Ｖ、移動距離Ｌ等｝を用いて微少線分演算処理を実行し、単位時間Δｔ当たりの移動量ΔＬｍを求め（ステップＳＴ３）、さらに軸座標分割演算処理を実行し、各軸方向の単位時間Δｔ当たりの移動距離ΔＸｍ，ΔＹｍを求めることで、各座標に移動量を分割する（ステップＳＴ４）。そして、各軸に分割された単位時間当たりの移動距離ΔＸｍ，ΔＹｍから単位時間当たりの移動距離ΔＬｍを求め、また残距離Ｌｎを求め、残距離Ｌｎ≦移動距離ΔＬｍであるか否かを判断し（ステップＳＴ５）、残距離Ｌｎ≦移動距離ΔＬｍとなるまで（ステップＳＴ５：Ｎｏ）、ステップＳＴ３とステップＳＴ４の処理が繰り返される。
【００４１】
残距離Ｌｎ≦移動距離ΔＬｍとなると（ステップＳＴ５：Ｙｅｓ）、補間した絶対位置指令データ｛データＩＤ、制御軸番号、位置指令、時間指令｝が求まるので、それを外部記憶装置２３０に一旦保管する（ステップＳＴ６）。この外部記憶装置２３０への保管動作は、外部記憶装置２３０に一定量蓄積できるまで繰り返し行われる（ステップＳＴ７）。
【００４２】
そして、絶対位置指令データ｛データＩＤ、制御軸番号、位置指令、時間指令｝が外部記憶装置２３０に一定量蓄積できると（ステップＳＴ７：Ｙｅｓ）、その絶対位置指令を外部記憶装置２３０から読み出し、通信データバッファメモリ２５５に一時的に保管し（ステップＳＴ８）、適宜なタイミングでＬＡＮ１１５を経由してサーボアンプ１３０〜１３ｎに送信される（ステップＳＴ９）。
【００４３】
次に、図６を参照して、各サーボアンプの動作について説明する。なお、図６は、図１に示すサーボアンプの動作を説明するフローチャートである。図６において、ＬＡＮから補間された絶対位置指令データ｛データＩＤｎ、制御軸番号ＡＸ１ｎ、絶対時間指令Ｔ、位置指令Ｆ｝が受信されると（ステップＳＴ２１）、通信データバッファメモリ３３５に一時保管される（ステップＳＴ２２）。この通信データバッファメモリ３３５への保管動作は、通信データバッファメモリ３３５に一定量蓄積できるまで繰り返し行われる（ステップＳＴ２３）。
【００４４】
そして、通信データバッファメモリ３３５に一定量蓄積されると（ステップＳＴ２３：Ｙｅｓ）、通信データバッファメモリ３３５から全ての絶対位置指令データを読み出し、次の通信データを受信できるように通信データバッファメモリ３３５を消去する（ステップＳＴ２４）。
【００４５】
次いで、非同期式通信では、受信データの順番などが入れ替わることが発生するので、絶対位置指令データのデータＩＤｎ、制御軸番号ＡＸ１ｎ及び絶対時間指令Ｔに基づき絶対位置指令データを並び替えて、メインメモリ３２０に書き込む（ステップＳＴ２５）。なお、ステップＳＴ２５では、何らかの要因で受信できなかった通信パケットが発生した場合には、その前後のデータからデータ補間（線形補間やスプライン補間など）の処理を実施してメインメモリに書き込むことも行われる。
【００４６】
次に、メインメモリ３２０から絶対位置指令データを読み出し（ステップＳＴ２６）、絶対時間指令データＴと内部タイマー３５０の実時間データｔとの一致不一致を比較し（ステップＳＴ２７）、Ｔ＝ｔであるか否かを判断し（ステップＳＴ２８）、Ｔ＝ｔとなるまで（ステップＳＴ２８：Ｎｏ）、ステップＳＴ２６とステップＳＴ２７の処理を繰り返す。
【００４７】
そして、Ｔ＝ｔとなった時点で（ステップＳＴ２８：Ｙｅｓ）、絶対位置指令データに基づきサーボモータの回転数を演算し（ステップＳＴ２９）、サーボモータの駆動電流を制御してサーボモータを回転駆動する（ステップＳＴ３０）。これによって、複数のサーボアンプ１３０〜１３ｎ間で同期を取りながら、サーボモータを回転させることができる。
【００４８】
このように、この実施の形態によれば、パソコン１１０が複数のサーボアンプ１３０〜１３ｎに対し、ＬＡＮ１１５を介した非同期通信によって絶対時間指令を送信することにより、複数のサーボアンプ１３０〜１３ｎ間で同期補間制御が行える。
【００４９】
そして、スイッチング・ハブ１２０に接続される上位のネットワーク１２５から、図４におけるステップ１での３次元ＣＡＤデータ、ステップＳＴ２での解析データ、ステップＳＴ３での移動量ΔＬｍ、ステップＳＴ４での移動距離ΔＸｍ，ΔＹｍ、及びステップＳＴ６での絶対位置指令データをダウンロードすることが可能となるので、パソコン１１０に代わってインターネット経由で外部のホストコンピュータなどから直接数値制御データを送信し、同期補間制御による加工が可能になる。
【００５０】
加えて、安全上、サーボアンプ１３０〜１３ｎ間にホットライン１８０を設けてあるので、異常を検出したサーボアンプがホットライン１８０上に非常停止信号１８１を送出することにより、直ちに他のサーボアンプに異常発生が通知され、停止動作等が実施できる。また、ホットライン１８０に接続される非常停止スイッチ１９０を手動操作することでも非常停止が行える。
【００５１】
なお、パソコン１１０に対しては、上記と同様のホットライン１８０を用いた方法、または、ＬＡＮ１１５を経由して停止の情報を通知することができる。パソコン１１０では、表示画面にアラームを表示するなどの処理をする。但し、この措置は、パソコン１１０が安全上動作を速やかに停止する機械（例えばリアルタイムで制御するモータやＩ／Ｏ機器など）に直接接続されていない場合に限られる。
【００５２】
ホットライン１８０の非常停止信号１８１を用いる場合としては、例えば、複数のサーボアンプ１３０〜１３ｎ間で同期補間制御が実施され、加工中である場合に、データが送られてこなくなった、あるいは、内部タイマー３５０が示す絶対時間よりも古い絶対時間指令データが送信されてきた場合が考えられる。これらは、例えば、図１に示す構成の数値制御システムを持つ工作機械が複数あって、全てのシステムが上位のネットワーク１２５を介して繋がっている場合に、何らかの原因で上位のネットワーク１２５が混雑し、通信遅滞を生じた場合に起こり得る。
【００５３】
このような場合、複数のサーボアンプ１３０〜１３ｎでは、同期補間制御の実施過程（加工中）でデータが送られてこなくなった場合は、何らかの要因で通信が切断されたと判断し、また、内部タイマー３５０が示す絶対時間よりも古い絶対時間指令データが送信されてきた場合は、遅れたものと判断する。そして、異常を検出したサーボアンプは、直ちに対応するサーボモータを停止させ、他のサーボアンプにもホットライン１８０の非常停止信号１８１を用いて通報し、それらのサーボモータを停止させることができる。
【００５４】
一方、この実施の形態では、上記したサーボモータを停止させる事態の発生は、例えば、次のような措置を講ずることによって回避できる。すなわち、サーボアンプ側に容量が十分な通信データバッファメモリを備えるか、より高速なＬＡＮ（例えば１００Ｍｂｐｓ、１Ｇｂｐｓなど）を備え、さらに、２デバイス間の専用通信が可能な一般的なスイッチング・ハブなどを用いて工作機械内部の一つの数値制御システム内で通信がクローズする接続方式をとれば、システム内部の通信が混雑することがないので、通信が間に合わない等の原因による停止動作は行わないようにすることができる。
【００５５】
次に、図７〜図９を参照して、以上のようにパソコン１１０からサーボアンプ１３０〜１３ｎに送信される通信データ等について説明する。なお、図７は、図１に示すパソコンからサーボアンプへの通信データの構成例を示す図である。図８は、図１に示すパソコンとサーボアンプとの通信間隔の時間をＬＡＮの通信速度と補間周期との関係として計算した図である。図９は、図１に示すパソコンの外部記憶装置に蓄積するサーボ通信用のデータ量を補間周期と加工時間との関係として計算した図である。
【００５６】
図７では、データの種類毎に、「有効ｂｉｔ幅」と「データ有効範囲」と「使用ｂｉｔ幅」とが規定されている。１軸を制御するデータは、７６８ｂｉｔで構成されている。８軸の合計では、７６８Ｂｙｔｅである。
【００５７】
その内訳（データ種類）は、データＩＤ、軸制御番号、年月日からナノ秒（ｎｓ）までの時間を表すことができる時間指令（絶対時間）と、機械座標系の原点からの位置（絶対位置）をメートル（ｍ）単位からナノメータ（ｎｍ）単位まで表すことができる位置指令（絶対位置指令）、その他（制御命令やサーボパラメータの設定値）とからなる。
【００５８】
図７において、時間指令があるのは、この実施の形態では、時系列に連続した補間データが一定の間隔で順次送信される従来の同期通信方式とは異なり、通信周期を補間周期と同様に一定に保つことが保証されない非同期の通信方式を採用しているからである。
【００５９】
すなわち、この実施の形態では、安価でデータ転送能力の高いＬＡＮなど一般に普及する通信手段を用い、補間データを実行する時間を絶対時間で複数のサーボアンプに指令し、各サーボアンプは、個別に持つ絶対時間を示す内部タイマーを用いて絶対時間指令データに基づき補間処理を実行するようにしているからである。
【００６０】
そこで、図８では、ＬＡＮの通信速度と補間周期Δｔとを変化させた場合のパソコンとサーボアンプとの通信間隔が示されている。図８において、ＬＡＮの種類としては、１０ＢＡＳＥ−Ｔ（データ転送速度１０Ｍｂｉｔ／ｓｅｃ、サーボアンプに必要なメモリ容量１２５０ｋＢｙｔｅ／ｓｅｃ）と、１００ＢＡＳＥ−ＴＸ（データ転送速度１００Ｍｂｉｔ／ｓｅｃ、サーボアンプに必要なメモリ容量１２．５０ＭＢｙｔｅ／ｓｅｃ）と、１０００ＢＡＳＥ（データ転送速度１０００Ｍｂｉｔ／ｓｅｃ、サーボアンプに必要なメモリ容量１２５ＭＢｙｔｅ／ｓｅｃ）とが示されている。
【００６１】
補間周期Δｔとデータ容量（８軸）とデータ転送速度としては、（３，５ｍｓ，７６８Ｂｙｔｅ，２１４．２９ｋＢｙｔｅ）と、（０．３５ｍｓ，７６８Ｂｙｔｅ，２．０９ＭＢｙｔｅ）と、（０．０３５ｍｓ，７６８Ｂｙｔｅ，２０．９３ＭＢｙｔｅ）とが示されている。但し、ＬＡＮによる転送効率は、１００％としている。
【００６２】
従来の同期式では、通信周期と補間周期は一致しているが、例えば、従来の同期式での通信周期Δｔ＝３．５ｍｓで１回の通信データが７６８Ｂｙｔｅ（８軸分）の場合、同等の補間周期Δｔのデータを得るには、この実施の形態による方式では、１０ＢＡＳＥ−Ｔを用いた場合、約５．９７秒間に１秒分程度の通信がパソコンとサーボアンプ間で確立すればよいことになる。
【００６３】
この場合、サーボアンプ側には、最低１秒分のデータ転送用のメモリ容量（＝１．２５ＭＢｙｔｅ）があればよいことになる。このメモリ容量は、通信データバッファメモリ３３５だけでなく、メインメモリ３２０も使用すれば実現することができる。
【００６４】
そして、ＬＡＮによる転送効率は、接続される機器（パソコンやサーボアンプ等）の数によって左右されるため、１００ＢＡＳＥ−ＴＸや１０００ＢＡＳＥのＬＡＮを用いてより高速な通信が行えるようにする場合、サーボアンプ側のメモリ容量を増やすことで柔軟に対応することができる。
【００６５】
また、ナノ・メータ補間など高精度な加工を実施するために、補間周期Δｔが０．３５ｍｓや０．０３５ｍｓなどより短い補間間隔を実現する場合も、システム構成を変えることなく、ＬＡＮの高速化やサーボアンプ側メモリの大容量化によって柔軟に対応できる。図８は、そのような判断材料を提供していることがわかる。
【００６６】
次に、図９では、パソコン１１０の外部記憶装置２３０に蓄積する補間した絶対時間指令データの蓄積データ量として、Δｔ時間のデータ量（８軸）と、１秒間のデータ量（８軸）と、１時間のデータ量（８軸）と、１日間のデータ量（８軸）とが示されている。補間周期Δｔは、３．５ｍｓと０．３５ｍｓと０．０３５ｍｓとが示されている。
【００６７】
例えば、約１時間分の絶対時間指令データを一括して蓄積する場合、３．５ｍｓの補間周期では、約７５３．３５ＭＢｙｔｅの記憶容量が必要である。しかし、外部記憶装置２３０にハードディスクなどを用いれば安価にシステムが構成できる。また、１時間以上の加工を７５３．３５ＭＢｙｔｅの容量で行う場合は、送信し終わったデータを消去しそこに１時間を超えるデータを順次書き込むようにすることで簡単に実現できる。その場合の注意点は、送信データがなくならないように、パソコンＣＰＵ２１０のデータ生成時間との関係で決まる必要最低限のデータを外部記憶装置２３０に予め演算して保存しておくことである。
【００６８】
以上のように、この実施の形態によれば、専用のＯＳに専用のＣＰＵを用いて補間処理を実施していた従来の数値制御方式とは異なり、パソコン１１０にて全ての補間処理を演算できるので、各処理を実施するプログラムは、ユーザがカスタマイズし易い開発環境で構築でき、かつユーザが自らのアプリケーションを実装できる。
【００６９】
特に、図４において、ステップＳＴ２での解析データ、ステップＳＴ３での移動量ΔＬｍ、ステップＳＴ４での移動距離ΔＸｍ，ΔＹｍ、及びステップＳＴ６での絶対位置指令データをカスタマイズすることによって、ユーザ独自の特殊な補間制御を行い、特殊な加工を実現することができる。
【００７０】
また、図４では、パソコン１１０からサーボアンプ１３０〜１３ｎに送信する通信データを軸毎に分割した絶対位置指令データとしているが、絶対時間指令データを用いて非同期式の通信を行うので、送信するデータに加工を実行させる時間を指定する絶対時間指令データを付加すれば、サーボアンプに送信するデータは、ステップＳＴ１での３次元ＣＡＤデータ、ステップＳＴ２での解析データ、ステップＳＴ３での移動量ΔＬｍ、およびステップＳＴ４での移動距離ΔＸｍ，ΔＹｍのいずれを用いてもよい。ステップＳＴ１での３次元ＣＡＤデータには、加工開始時間が付加され、残り３つのデータには、加工開始時間に加工処理時間を足した時間が付加される。
【００７１】
このように各処理段階でのデータを送信する場合には、送信データ以後の残りの処理は、サーボアンプ側のサーボアンプＣＰＵ３１０で演算することになる。残りの処理が多くなれば、パソコン側のパソコンＣＰＵ２１０の負荷が減り、その分、サーボアンプ側の演算負荷は増大する。したがって、サーボアンプ側には、高価で高速なＣＰＵや大容量のメモリが必要となる。ここで、ステップＳＴ１〜ＳＴ４の一連の処理は、全て非同期で行えるので、パソコン側で処理しても、サーボアンプ側で処理しても同じ演算結果が得られるアルゴリズムが用いられる。
【００７２】
ところで、リアルタイムでステップＳＴ１〜ＳＴ４の全ての演算処理を実施できないと、工作機械の段取り作業など手動による加工中の速度変更に即座に反応するのは難しい。
【００７３】
そこで、段取り時などは、図２に示すようなプラグ・アンド・プレイで接続可能なＰＣカードタイプのカード型ＮＣ２８０をパソコン１１０のＰＣカードインターフェース回路２７０に接続し、カード型ＮＣ２８０上でステップＳＴ１〜ＳＴ４の一連の処理をリアルタイムに実施して、即応性の必要な手動による数値制御が実施できるようにしている。
【００７４】
この場合には、通信手段にＬＡＮを用いるので、通信データバッファメモリ２５５の容量が大きいと即応性が低下する。したがって、加工前にパソコン上で工具経路や加工チェックなどのシミュレーションを十分実施し、手動操作による加工途中のデータ変更が発生しないようにしておくとよい。
【００７５】
また、段取り以外の実際の加工時、または動作が確認済みの加工プログラムを実行する場合は、カードＮＣはパソコンから取り外し、パソコン１１０でステップＳＴ１〜ＳＴ４の演算処理を実施するとよい。
【００７６】
実施の形態２．
図１０は、この発明の実施の形態２である数値制御システムにおけるサーボアンプの構成を示すブロック図である。図１１は、図１０に示すＡ／Ｄインターフェース回路１０６０の詳細を示すブロック図である。なお、図１０では、図３に示した構成のうち同一ないしは同等である構成要素には同一の符号が付されている。ここでは、この実施の形態２に関わる部分を中心に説明する。
【００７７】
すなわち、図１０に示すサーボアンプ１０３０では、図３に示したサーボアンプ１３０において、Ｉ／Ｏインターフェース回路３６０に代えて、Ａ／Ｄインターフェース回路１０６０が設けられている。そして、Ａ／Ｄインターフェース回路１０６０に入出力するホットライン１８０の信号は、非常停止信号１８１と同期時間補正信号１８３とを兼ねる非常停止信号／同期時間補正信号１８４の一つだけである。
【００７８】
図１にて示したホットライン１８０の各信号は、ワイヤードＯＲ接続されており、例えば、非常停止信号１８１は、非常停止解除時にプルアップ抵抗によって所定時間幅高レベルとなるパルス信号である。そこで、非常停止信号／同期時間補正信号１８４は、図１１に示すように、非常停止信号１８１と同様波形の非常停止信号１８４ａに、時間補正が行われるときに、時間補正用のアナログ信号１８４ｂが重畳される信号である。
【００７９】
Ａ／Ｄインターフェース回路１０６０は、具体的には、例えば図１１に示すように、非常停止信号１８４ａに関わるディジタル入出力用バッファ回路１０６１と、ホットライン１８０から取り込んだ非常停止信号／同期時間補正信号１８４の特定電圧レベルのアナログ信号１８４ｂを増幅するアナログ増幅回路１０６２と、その増幅されたアナログ信号１０７０をディジタル信号１０７２に変換し、それを同期時間補正信号ＣＯＲＲＥＣＴとして内部タイマー３５０に出力するＡ／Ｄコンバータ１０６３と、内部タイマー３５０から入力する１ｍｓ周期のディジタル信号１０７２であるタイマー信号ＴＩＭＥＲをアナログ信号１０７０に変換するＤ／Ａコンバータ１０６４と、その変換されたアナログ信号１０７０から特定電圧レベルのアナログ信号１８４ｂを持つ非常停止信号／同期時間補正信号１８４を発生し、ホットライン１８０に送出するアナログ出力回路１０６５とを備えている。
【００８０】
ディジタル入出力用バッファ回路１０６１は、サーボアンプＣＰＵ３１０から所定時間幅のパルス信号１０７４である障害発生通知信号ＥＭＧを受けて、ホットライン１８０に非常停止信号／同期時間補正信号１８４の非常停止信号１８４ａを出力する。また、ホットライン１８０から非常停止信号／同期時間補正信号１８４の非常停止信号１８４ａを受けて、サーボアンプＣＰＵ３１０に対し割込信号ＩＮＴＥＲＲＵＰＴを出力し、内部タイマー３５０に対しリセット信号ＲＥＳＥＴを出力する。
【００８１】
ここで、ディジタル入出力用バッファ回路１０６１の入力電圧は、２．０Ｖ以上で、出力電圧は、２．５Ｖ以下で、絶対最大入力電圧は、３．３Ｖであるとする。また、ホットライン１８０から１ｍｓ周期で入力する非常停止信号／同期時間補正信号１８４のアナログ信号１８４ｂは、例えば、１ｋＨｚ（振幅±０．５Ｖ以下、基準電圧２．５Ｖ）の周波数信号である。
【００８２】
同期時間の補正では、パソコン１１０または一つのサーボアンプが、１ｍｓ周期のディジタル信号１０７２であるタイマー信号ＴＩＭＥＲを発生し、他の残りのサーボアンプが、１ｍｓ毎の同期時間補正信号ＣＯＲＲＥＣＴをタイマー信号ＴＩＭＥＲと同じディジタル信号１０７２として得ることができる。
【００８３】
このように、実施の形態２によれば、時間設定や同期ずれ補正に用いるホットラインの信号線をまとめることができるので、ホットラインの構成を簡素化することができる。
【００８４】
実施の形態３．
図１２は、この発明の実施の形態３である数値制御システムにおけるサーボアンプの構成を示すブロック図である。なお、図１２では、図１０に示した構成のうち同一ないしは同等である構成要素には同一の符号が付されている。ここでは、この実施の形態３に関わる部分を中心に説明する。
【００８５】
図１２に示すサーボアンプ１２３０では、図１０に示したサーボアンプ１０３０において、コンパレータ回路１２７０が設けられている。コンパレータ回路１２７０は、図６に示したステップＳＴ２７，ＳＴ２８での時間比較処理を実行する。
【００８６】
すなわち、コンパレータ回路１２７０は、サーボアンプＣＰＵ３１０からの絶対時間指令データＤ＿ＴＩＭＥと内部タイマー３５０からの実時間データＲ＿ＴＩＭＥとを比較する。比較結果、同じでなければ、サーボアンプＣＰＵ３１０に対して次データの入力を要求する入力要求信号Ｄ＿ＩＮを出力し、同じであればサーボモータ回転制御回路３４０に対して絶対座標データＤ＿ＯＵＴを出力する。
【００８７】
図６に示したステップＳＴ２７，ＳＴ２８での時間比較処理は、リアルタイムで演算するためサーボアンプＣＰＵ３１０の負荷が大きい。実施の形態３によれば、ステップＳＴ２７，ＳＴ２８での時間比較処理をハードウェアによって高速に処理できるので、サーボアンプＣＰＵ３１０の負荷が軽減できる。なお、実施の形態３では、実施の形態２への適用例を示したが、実施の形態１にも同様に適用できることは言うまでもない。
【００８８】
以上のように、この発明による数値制御システムは、複数のサーボアンプ間での同期補間制御が絶対時間指令データを非同期通信方式にて複数のサーボアンプに送信することによって実現できるので、大規模で高精度、かつユーザの多様な要求に柔軟に対応できる数値制御システムを例えば安価なパソコン、ＬＡＮ等を用いて構成することができる。
【００８９】
ここで、絶対時間指令データを送信する主体、すなわち数値制御処理手段は、図１では、コンピュータ装置としてのパソコン１１０または上位のネットワーク１２５のホストコンピュータとしたが、この発明はそれに限定されるものではなく、例えば、従来の数値制御装置に非同期通信機能を付加して用いてもよく、また数値制御装置部を内蔵した処理能力の高いサーボアンプに非同期通信機能を付加して用いてもよい。
【００９０】
また、図１では、ＬＡＮ１１５は、有線ＬＡＮを示すが、無線ＬＡＮとすることもでき、さらに光ケーブルや衛星通信などの通信手段も用いることができる。すなわち、この発明によれば、通信速度が高速で、かつ、必要十分な容量のメモリと時間に正確な内部タイマーとがあれば、インターネット等の広域ネットワークや無線通信、衛星通信を介して、サーボモータの同期補間制御が可能となるので、大規模な数値制御システムが構築できる。
【００９１】
例えば、地球を周回する太陽光発電衛星のミラー制御等に応用すれば、複数のミラー毎に制御するサーボモータを数ｎｍの移動単位で同期制御し、太陽光を集積するなどが行える数値制御システムが構築できる。
【００９２】
【発明の効果】
以上説明したように、この発明によれば、数値制御処理手段と複数の軸制御手段とを非同期通信方式のネットワークを介して接続し、数値制御処理手段が、数値制御処理の演算を行って各軸の処理時間を表す絶対時間指令データを生成し、生成した絶対時間指令データを非同期通信方式のネットワークに送信すると、複数の軸制御手段が、ネットワークから前記絶対時間指令データを取り込み内蔵する絶対時間を示す内部タイマーに従って相互間で同期補間制御を実施するようにしたので、数値制御処理専用のＣＰＵ、専用の同期式通信インターフェースを使用しないで済み、安価でかつユーザの多様な要請に柔軟に対応できる数値制御システムが得られる。
【図面の簡単な説明】
【図１】この発明の実施の形態１である数値制御システムの構成を示すブロック図である。
【図２】図１に示すパソコンの構成例を示すブロック図である。
【図３】図１に示すサーボアンプの構成例を示すブロック図である。
【図４】図１に示すパソコンの動作を説明するフローチャートである。
【図５】同期補間制御軸としてＸ軸とＹ軸を例にした座標系を説明する図である。
【図６】図１に示すサーボアンプの動作を説明するフローチャートである。
【図７】図１に示すパソコンからサーボアンプへの通信データの構成例を示す図である。
【図８】図１に示すパソコンとサーボアンプとの通信間隔の時間をＬＡＮの通信速度と補間周期との関係として計算した図である。
【図９】図１に示すパソコンの外部記憶装置に蓄積するサーボ通信用のデータ量を補間周期と加工時間との関係として計算した図である。
【図１０】この発明の実施の形態２である数値制御システムにおけるサーボアンプの構成を示すブロック図である。
【図１１】図１０に示すＡ／Ｄインターフェース回路の詳細を示すブロック図である。
【図１２】この発明の実施の形態３である数値制御システムにおけるサーボアンプの構成を示すブロック図である。
【符号の説明】
１１０　パソコン、１１５　ＬＡＮ、１２０　スイッチング・ハブ、１３０〜１３ｎ，１０３０，１２３０　軸制御部（サーボアンプ）、１２５　上位ネットワーク、１８０　ホットライン、１８１　非常停止信号、１８２　同期時間リセット信号、１８３　同期時間補正信号、１８４　非常停止信号／同期時間補正信号、１９０　非常停止スイッチ、１４０〜１４ｎ　サーボモータ、２１０　パソコンＣＰＵ、２２０，３２０　メインメモリ、２３０　外部記憶装置、２４０，３５０　内部タイマー、２５０，３３０　ＬＡＮインターフェース回路、２５５，３３５　通信データバッファメモリ、２７０　ＰＣカードインターフェース回路、２８０　カード型ＮＣ（ＰＣカードタイプ）、２９０　サーボアンプ通信データ、３１０　サーボアンプＣＰＵ、３４０　サーボモータ回転制御回路、３６０　Ｉ／Ｏインターフェース回路、１０６０　Ａ／Ｄインターフェース回路、１０６１　ディジタル入出力用バッファ回路、１０６２　アナログ増幅回路、１０６３　Ａ／Ｄコンバータ、１０６４　アナログ出力回路、１０６５　Ｄ／Ａコンバータ、１２７０　コンパレータ回路。
【図１】
2004110359.tif 000003
【図２】
2004110359.tif 000004
【図３】
2004110359.tif 000005
【図４】
2004110359.tif 000006
【図５】
2004110359.tif 000007
【図６】
2004110359.tif 000008
【図７】
2004110359.tif 000009
【図８】
2004110359.tif 000010
【図９】
2004110359.tif 000011
【図１０】
2004110359.tif 000012
【図１１】
2004110359.tif 000013
【図１２】
2004110359.tif 000014