JP2004110359A - Numerical control system - Google Patents
Numerical control system Download PDFInfo
- Publication number
- JP2004110359A JP2004110359A JP2002271472A JP2002271472A JP2004110359A JP 2004110359 A JP2004110359 A JP 2004110359A JP 2002271472 A JP2002271472 A JP 2002271472A JP 2002271472 A JP2002271472 A JP 2002271472A JP 2004110359 A JP2004110359 A JP 2004110359A
- Authority
- JP
- Japan
- Prior art keywords
- numerical control
- absolute time
- data
- hot line
- axis
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
Description
【0001】
【発明の属する技術分野】
この発明は、数値制御システムに関するものである。
【0002】
【従来の技術】
従来の数値制御装置では、各軸を制御する複数の軸制御部(以下「サーボアンプ」という)間で実施される同期補間制御は、同期信号を基準とした相対時間指令によって実現している。すなわち、従来の数値制御装置では、ある一定周期の同期信号を基準に複数のサーボアンプ間で同期をとり、位置データ、速度データなどの指令データに基づき複数のサーボアンプ間で同期補間制御を実施している。
【0003】
ところで、同期信号を基準とした相対時間指令による同期補間制御方式では、数値制御装置とサーボアンプ間で専用の同期通信が必要であることから、近年、オープン化を目指してこの同期通信方式としてSERCOS(Serial Realtime Communication System)等の通信規格が策定されている。しかし、通信性能は、制御性能に大きく関わるので、各数値制御装置メーカは、それぞれ特徴を出すために独自の専用通信方式に頼っているのが実状である。
【0004】
そして、数値制御部に集中したケーブルの煩雑さを減少させるために、数値制御部と、画面制御部と、複数のサーボアンプとの間を汎用のネットワークを介して接続し、各構成要素を分散させるようにした数値制御システムが提案されている(例えば特許文献1参照)。この特許文献1に開示された数値制御システムでは、複数のサーボアンプ間の同期補間制御は、同期信号を基準とした相対時間指令によって実現していると推測される。
【0005】
また、近年では、パーソナルコンピュータ(以下、「パソコン」という)の高性能化および低価格化を背景として、パソコンを利用した数値制御システムが提案されている。すなわち、パソコンの拡張スロットに数値制御装置を実装し、その数値制御装置と記憶装置とをバスを介して接続するとともに、数値制御装置には、専用の通信ケーブルを介して複数のサーボアンプを接続した数値制御システムが提案されている(例えば、特許文献2,3参照)。
【0006】
特許文献2,3に開示された数値制御システムでは、記憶装置に格納された加工プログラムや加工データから移動指令がパソコンのCPUによって算出され、その算出された移動指令がバスを介して数値制御装置内部のサーボ制御部に設けてある通信データバッファにオーバーフローさせずに非同期で入力されるが、複数のサーボアンプ間の同期補間制御は、同期信号を基準とした相対時間指令によって実現している。
【0007】
【特許文献1】
特開平9−73310号公報(段落0009〜0012、図1)。
【特許文献2】
国際公開第01/44882号パンフレット(第7頁〜第9頁、第1図)。
【特許文献3】
特開平9−146623号公報(段落0030〜0033、図1)。
【0008】
【発明が解決しようとする課題】
しかしながら、同期信号を基準とした相対時間指令による同期補間制御方式では、数値制御処理専用のOS,CPUおよび同期通信インターフェースが必要であるので、高価であり、かつユーザの多様な要求に応える柔軟性に欠けるという問題がある。
【0009】
パソコンは、非同期の通信機能を備え、近年では、LAN等のネットワークを介して高速な非同期通信が行えるようになってきているので、高速で安価なパソコン上で数値制御の演算処理を非リアルタイムにて実施し、蓄積したデータを非同期の通信機能を用いてLAN等のネットワークを介して高速に複数のサーボアンプに送信するだけで、複数のサーボアンプ間で同期補間制御が実施できれば、安価でかつ柔軟な数値制御システムが構築できるが、どのように構成するかが問題である。
【0010】
この発明は、上記に鑑みてなされたもので、各軸制御部が絶対時間を用いて同期補間制御が行えるようにすることにより、安価でかつユーザの多様な要請に柔軟に対応できる数値制御システムを得ることを目的とする。
【0011】
【課題を解決するための手段】
上記の目的を達成するために、この発明にかかる数値制御システムは、数値制御処理の演算を行って各軸の処理時間を表す絶対時間指令データを生成し、生成した絶対時間指令データを非同期通信方式のネットワークに送信する数値制御処理手段と、前記非同期通信方式のネットワークを介して前記数値制御処理手段と接続され、ネットワークから前記絶対時間指令データを取り込み内蔵する絶対時間を示す内部タイマーに従って相互間で同期補間制御を実施する複数の軸制御手段とを備えたことを特徴とする。
【0012】
この発明によれば、数値制御処理手段が、数値制御処理の演算を行って各軸の処理時間を表す絶対時間指令データを生成し、生成した絶対時間指令データを非同期通信方式のネットワークに送信すると、前記非同期通信方式のネットワークを介して前記数値制御処理手段と接続される複数の軸制御手段が、ネットワークから前記絶対時間指令データを取り込み内蔵する絶対時間を示す内部タイマーに従って相互間で同期補間制御を実施する。
【0013】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる数値制御システムの好適な実施の形態を詳細に説明する。
【0014】
実施の形態1.
図1は、この発明の実施の形態1である数値制御システムの構成を示すブロック図である。この発明で用いる数値制御演算手段は、数値制御処理の演算、具体的には、加工プログラムの解析から各軸の移動量の演算を行って各軸の処理時間を表す絶対時間指令データを生成する機能を付加することができ、かつLAN等のネットワークとの非同期通信機能を備えている。この数値制御演算手段は、例えば、ワークステーションやパソコンなどのコンピュータ装置を用いて実現することができる。この実施の形態では、安価に構成する観点からパソコンを用いた構成例が示されている。
【0015】
すなわち、図1において、コンピュータ装置としてのパソコン110は、CPU、外部記憶装置としてのハードディスク等のメモリ及びLAN等のネットワークとの非同期通信機能を備えている。
【0016】
軸制御部としての複数のサーボアンプ130〜13nは、対応する各軸のサーボモータ140〜14nを制御するが、この実施の形態では、絶対時間を用いた同期補間制御機能およびLAN等のネットワークとの非同期通信機能を備えている。
【0017】
スイッチング・ハブ120は、切り替え回路を備え、LAN等のネットワークにおいて2デバイス間の専用通信を可能にするために一般的に設けられている装置である。
【0018】
図1に示す数値制御システムは、パソコン110と、複数のサーボアンプ130〜13nとが、例えばネットワークとしてのLAN115上に配置されるスイッチング・ハブ120を介して接続される構成である。そして、スイッチング・ハブ120には、イントラネットやインターネットなどの上位のネットワーク125が接続できるようになっている。LAN115上では、例えばTCP/IPを用いた非同期通信が行われる。
【0019】
また、サーボアンプ130〜13nの間は、非常停止などを通知するホットライン180によってワイヤードOR接続されている。ホットライン180は、非常停止スイッチ190ともワイヤードOR接続されている。ホットライン180は、この実施の形態では、専用の通信ケーブルを用いた場合を示すが、専用の周波数を用いた無線回線で構成することもできる。
【0020】
図2は、図1に示すパソコンの構成例を示すブロック図である。図2において、パソコン110は、加工プログラムの解析から各軸の移動量の演算までを実行する機能が付加されたパソコンCPU210と、パソコン110の機能を実現するためにパソコンCPU210が用いるメインメモリ220と、加工プログラムや加工データ(3次元CADデータ)も蓄積されるハードディスク等の外部記憶装置230と、絶対時間を示す内部タイマー240と、LAN115を介してサーボアンプと信号授受を行い、LAN115上にサーボアンプ通信データ290の送出等を行うLANインターフェース回路250とが、内部バス260を介して接続される構成である。
【0021】
LANインターフェース回路250には、通信データを一時的に保管するため通信データバッファメモリ255が接続されている。また、内部バス260には、PCカードインターフェース回路270が接続され、専用のCPUを搭載した数値制御装置であるカード型NC280がプラグ・アンド・プレイで接続できるようになっている。
【0022】
なお、図1に示すように、ホットライン180は、パソコン110にも接続される場合がある。しかし、ホットライン180は、サーボアンプ130〜13nの間で非常停止などを通知するために用いるので、また、パソコン110は、LAN115を介してサーボアンプと通信できるので、図2では、ホットライン180の処理回路は、図示省略した。
【0023】
図3は、図1に示すサーボアンプの構成例を示すブロック図である。サーボアンプ130〜13nは、全て同様の構成である。図3では、代表としてサーボアンプ130を取り上げている。
【0024】
図3において、サーボアンプ130は、軸制御部としての機能を実現するサーボアンプCPU310と、サーボアンプCPU310が用いるメインメモリ320と、LAN115を介して信号授受を行い、LAN115からサーボアンプ通信データ290を取り込む等を行うLANインターフェース回路330と、サーボモータ140を回転駆動するサーボモータ回転制御回路340と、絶対時間を示す内部タイマー350とが、内部バス370を介して接続される構成である。LANインターフェース回路330には、通信データを一時的に保管するため通信データバッファメモリ335が接続されている。
【0025】
また、ホットライン180を介して信号授受を行うI/Oインターフェース回路360が設けられている。図3に示すように、ホットライン180の信号(内部信号)には、非常停止信号181と同期時間リセット信号182と同期時間補正信号183とが含まれている。これらはそれぞれ独立した信号線を伝送される。
【0026】
I/Oインターフェース回路360は、サーボアンプCPU310および内部タイマー350との間で直接的に信号授受を行うようになっている。すなわち、I/Oインターフェース回路360とサーボアンプCPU310との間では、障害発生通知信号EMGと割込信号INTERRUPTとが授受される。また、I/Oインターフェース回路360と内部タイマー350との間では、リセット信号RESETと同期時間補正信号CORRECTとタイマー信号TIMERとが授受される。
【0027】
ここで、この発明では、絶対時間指令データを用いて各サーボアンプ間で同期補間制御を行うので、各サーボアンプの内部タイマー350は、正確に合わせる必要がある。その方法としては、次の(1)〜(4)の方法がある。
【0028】
(1)各サーボアンプの内部タイマー350には、高精度のタイマーを用いる。例えば、精度が約10−13〜10−16以上の原子時計を用いることが好ましい。しかし、原子時計などの正確なタイマーは、高価であり、また装置も大きくなり、現状では入手困難である。したがって、通常のタイマーを用い、同期ずれ補正を行うことによって絶対時間を確保することとし、(2)(3)の方法によって各サーボアンプの内部タイマー350の時間合わせを行う。
【0029】
(2)例えば、各サーボアンプの内部タイマー350の設定は、年・月・日・時・分までを非同期通信によってパソコン110から設定し、秒(s)・ミリ秒(ms)・マイクロ秒(μs)・ナノ秒(ns)などは、ホットライン180に非常用に設けた非常停止信号181または専用に設けた同期時間リセット信号182を用いて次のようにして設定する。
【0030】
すなわち、加工開始前に、サーボアンプ130〜13nの中の1つのサーボアンプのサーボアンプCPU310が障害発生通知信号EMGを発生すると、そのサーボアンプのI/Oインターフェース回路360から非常停止信号181がホットライン180に送出され、他の全てのサーボアンプに通知される。他の全てのサーボアンプのI/Oインターフェース回路360では、ホットライン180から非常停止信号181を受信すると、内部タイマー350に対してリセット信号RESETを出力する。これによって、他の全てのサーボアンプでは、絶対時間合わせが行われる。
【0031】
または、加工開始前に、同期時間リセット信号182をサーボアンプ130〜13nの中の1つのサーボアンプからホットライン180に送出し、全てのサーボアンプにリセットをかける。全てのサーボアンプのI/Oインターフェース回路360では、ホットライン180から同期時間リセット信号182を受信すると、内部タイマー350に対してリセット信号RESETを出力する。これによって、他の全てのサーボアンプでは、絶対時間合わせが行われる。なお、同期時間リセット信号182は、パソコン110がホットライン180に送出するようにしてもよい。
【0032】
(3)または、各サーボアンプの内部タイマー350の設定は、年・月・日・時・分・秒までを原子時計に連動した長波JJY(標準周波数局)による電波時計またはGPS衛星から得た絶対時間を用いて秒単位で設定し、秒(s)・ミリ秒(ms)・マイクロ秒(μs)・ナノ秒(ns)などは、(2)で説明したようにホットライン180に設けた非常停止信号181または同期時間リセット信号182を用いて設定する。
【0033】
(4)特殊なケースとして、あるサーボアンプのサーボアンプCPU310が障害発生通知信号EMGを発生すると、そのサーボアンプのI/Oインターフェース回路360から非常停止信号181がホットライン180に送出され、他の全てのサーボアンプに通知される。他の全てのサーボアンプのI/Oインターフェース回路360では、ホットライン180から非常停止信号181を受信すると、サーボアンプCPU310に対して割込信号INTERRUPTを発生するとともに、内部タイマー350に対してリセット信号RESETを出力する。これによって、健全な他の全てのサーボアンプでは、絶対時間合わせが行われる。
【0034】
次に、各サーボアンプの内部タイマー350における絶対時間の同期ずれを補正する方法について説明する。通常のタイマーは、月差数秒の誤差がある。例えば、月差±10秒の誤差を含むタイマーであれば、1時間の加工中に約±13.89ms程度の誤差が生じる(=10秒÷30日÷24時間)。
【0035】
この絶対時間の同期ずれ補正は、ホットライン180に設けてある同期時間補正信号183を用いて行う。すなわち、サーボアンプ130〜13nの中の1つが、その装置の内部タイマー350から1ms周期のディジタル信号であるタイマー信号TIMERをI/Oインターフェース回路360に出力すると、I/Oインターフェース回路360からホットライン180に同期時間補正信号183が送出される。他の全てのサーボアンプでは、I/Oインターフェース回路360がホットライン180から同期時間補正信号183を取り込むと、内部タイマー350に対して同期時間補正信号CORRECTを出力する。これによって、他の全てのサーボアンプでは、絶対時間の同期ずれが補正される。
【0036】
この同期時間補正信号183を利用して1秒単位でサーボアンプ間の内部タイマー350の誤差を補正すれば、月差±10秒の誤差を含むタイマーであれば、1秒毎に約±3.86μsの誤差を毎回補正することになるので、1時間の加工を行っても誤差は、約±3.86μsのままである。当然、補正周期を1ms以下にすれば誤差の範囲は更に改善できる。同期時間補正信号183は、パソコン110がホットライン180に送出することでもよいことは勿論である。
【0037】
次に、図1,図2,図4,図5を参照して、パソコン110の動作について説明する。なお、図4は、図1に示すパソコンの動作を説明するフローチャートである。図5は、同期補間制御軸としてX軸とY軸を例にした座標系を説明する図である。
【0038】
図5において、座標位置L1(X1,Y1),L2(X2,Y2)は、それぞれ絶対位置である。絶対位置L1(X1,Y1)から絶対位置L2(X2,Y2)までの移動距離Lを移動速度Vで移動する。また、単位時間Δt当たりのX軸移動距離ΔXmと単位時間Δt当たりのX軸移動距離ΔYmとによる座標位置ΔLm(ΔXm,ΔYm)は、絶対位置L1(X1,Y1)から単位時間Δt当たりの移動距離ΔLmとして求められた単位時間Δt当たりの絶対位置である。この単位時間Δt当たりの絶対位置ΔLm(ΔXm,ΔYm)から絶対位置L2(X2,Y2)までの距離Lnが残距離である。
【0039】
さて、図4において、外部記憶装置230に予め保存された加工プログラムまたは3次元CADデータを読み出し(ステップST1)、加工プログラム解析処理によって解析データ{絶対位置L1(X1,Y1),L2(X2,Y2)、移動速度V、移動距離L等}を求める(ステップST2)。
【0040】
次いで、求められた解析データ{絶対位置L1(X1,Y1),L2(X2,Y2)、移動速度V、移動距離L等}を用いて微少線分演算処理を実行し、単位時間Δt当たりの移動量ΔLmを求め(ステップST3)、さらに軸座標分割演算処理を実行し、各軸方向の単位時間Δt当たりの移動距離ΔXm,ΔYmを求めることで、各座標に移動量を分割する(ステップST4)。そして、各軸に分割された単位時間当たりの移動距離ΔXm,ΔYmから単位時間当たりの移動距離ΔLmを求め、また残距離Lnを求め、残距離Ln≦移動距離ΔLmであるか否かを判断し(ステップST5)、残距離Ln≦移動距離ΔLmとなるまで(ステップST5:No)、ステップST3とステップST4の処理が繰り返される。
【0041】
残距離Ln≦移動距離ΔLmとなると(ステップST5:Yes)、補間した絶対位置指令データ{データID、制御軸番号、位置指令、時間指令}が求まるので、それを外部記憶装置230に一旦保管する(ステップST6)。この外部記憶装置230への保管動作は、外部記憶装置230に一定量蓄積できるまで繰り返し行われる(ステップST7)。
【0042】
そして、絶対位置指令データ{データID、制御軸番号、位置指令、時間指令}が外部記憶装置230に一定量蓄積できると(ステップST7:Yes)、その絶対位置指令を外部記憶装置230から読み出し、通信データバッファメモリ255に一時的に保管し(ステップST8)、適宜なタイミングでLAN115を経由してサーボアンプ130〜13nに送信される(ステップST9)。
【0043】
次に、図6を参照して、各サーボアンプの動作について説明する。なお、図6は、図1に示すサーボアンプの動作を説明するフローチャートである。図6において、LANから補間された絶対位置指令データ{データIDn、制御軸番号AX1n、絶対時間指令T、位置指令F}が受信されると(ステップST21)、通信データバッファメモリ335に一時保管される(ステップST22)。この通信データバッファメモリ335への保管動作は、通信データバッファメモリ335に一定量蓄積できるまで繰り返し行われる(ステップST23)。
【0044】
そして、通信データバッファメモリ335に一定量蓄積されると(ステップST23:Yes)、通信データバッファメモリ335から全ての絶対位置指令データを読み出し、次の通信データを受信できるように通信データバッファメモリ335を消去する(ステップST24)。
【0045】
次いで、非同期式通信では、受信データの順番などが入れ替わることが発生するので、絶対位置指令データのデータIDn、制御軸番号AX1n及び絶対時間指令Tに基づき絶対位置指令データを並び替えて、メインメモリ320に書き込む(ステップST25)。なお、ステップST25では、何らかの要因で受信できなかった通信パケットが発生した場合には、その前後のデータからデータ補間(線形補間やスプライン補間など)の処理を実施してメインメモリに書き込むことも行われる。
【0046】
次に、メインメモリ320から絶対位置指令データを読み出し(ステップST26)、絶対時間指令データTと内部タイマー350の実時間データtとの一致不一致を比較し(ステップST27)、T=tであるか否かを判断し(ステップST28)、T=tとなるまで(ステップST28:No)、ステップST26とステップST27の処理を繰り返す。
【0047】
そして、T=tとなった時点で(ステップST28:Yes)、絶対位置指令データに基づきサーボモータの回転数を演算し(ステップST29)、サーボモータの駆動電流を制御してサーボモータを回転駆動する(ステップST30)。これによって、複数のサーボアンプ130〜13n間で同期を取りながら、サーボモータを回転させることができる。
【0048】
このように、この実施の形態によれば、パソコン110が複数のサーボアンプ130〜13nに対し、LAN115を介した非同期通信によって絶対時間指令を送信することにより、複数のサーボアンプ130〜13n間で同期補間制御が行える。
【0049】
そして、スイッチング・ハブ120に接続される上位のネットワーク125から、図4におけるステップ1での3次元CADデータ、ステップST2での解析データ、ステップST3での移動量ΔLm、ステップST4での移動距離ΔXm,ΔYm、及びステップST6での絶対位置指令データをダウンロードすることが可能となるので、パソコン110に代わってインターネット経由で外部のホストコンピュータなどから直接数値制御データを送信し、同期補間制御による加工が可能になる。
【0050】
加えて、安全上、サーボアンプ130〜13n間にホットライン180を設けてあるので、異常を検出したサーボアンプがホットライン180上に非常停止信号181を送出することにより、直ちに他のサーボアンプに異常発生が通知され、停止動作等が実施できる。また、ホットライン180に接続される非常停止スイッチ190を手動操作することでも非常停止が行える。
【0051】
なお、パソコン110に対しては、上記と同様のホットライン180を用いた方法、または、LAN115を経由して停止の情報を通知することができる。パソコン110では、表示画面にアラームを表示するなどの処理をする。但し、この措置は、パソコン110が安全上動作を速やかに停止する機械(例えばリアルタイムで制御するモータやI/O機器など)に直接接続されていない場合に限られる。
【0052】
ホットライン180の非常停止信号181を用いる場合としては、例えば、複数のサーボアンプ130〜13n間で同期補間制御が実施され、加工中である場合に、データが送られてこなくなった、あるいは、内部タイマー350が示す絶対時間よりも古い絶対時間指令データが送信されてきた場合が考えられる。これらは、例えば、図1に示す構成の数値制御システムを持つ工作機械が複数あって、全てのシステムが上位のネットワーク125を介して繋がっている場合に、何らかの原因で上位のネットワーク125が混雑し、通信遅滞を生じた場合に起こり得る。
【0053】
このような場合、複数のサーボアンプ130〜13nでは、同期補間制御の実施過程(加工中)でデータが送られてこなくなった場合は、何らかの要因で通信が切断されたと判断し、また、内部タイマー350が示す絶対時間よりも古い絶対時間指令データが送信されてきた場合は、遅れたものと判断する。そして、異常を検出したサーボアンプは、直ちに対応するサーボモータを停止させ、他のサーボアンプにもホットライン180の非常停止信号181を用いて通報し、それらのサーボモータを停止させることができる。
【0054】
一方、この実施の形態では、上記したサーボモータを停止させる事態の発生は、例えば、次のような措置を講ずることによって回避できる。すなわち、サーボアンプ側に容量が十分な通信データバッファメモリを備えるか、より高速なLAN(例えば100Mbps、1Gbpsなど)を備え、さらに、2デバイス間の専用通信が可能な一般的なスイッチング・ハブなどを用いて工作機械内部の一つの数値制御システム内で通信がクローズする接続方式をとれば、システム内部の通信が混雑することがないので、通信が間に合わない等の原因による停止動作は行わないようにすることができる。
【0055】
次に、図7〜図9を参照して、以上のようにパソコン110からサーボアンプ130〜13nに送信される通信データ等について説明する。なお、図7は、図1に示すパソコンからサーボアンプへの通信データの構成例を示す図である。図8は、図1に示すパソコンとサーボアンプとの通信間隔の時間をLANの通信速度と補間周期との関係として計算した図である。図9は、図1に示すパソコンの外部記憶装置に蓄積するサーボ通信用のデータ量を補間周期と加工時間との関係として計算した図である。
【0056】
図7では、データの種類毎に、「有効bit幅」と「データ有効範囲」と「使用bit幅」とが規定されている。1軸を制御するデータは、768bitで構成されている。8軸の合計では、768Byteである。
【0057】
その内訳(データ種類)は、データID、軸制御番号、年月日からナノ秒(ns)までの時間を表すことができる時間指令(絶対時間)と、機械座標系の原点からの位置(絶対位置)をメートル(m)単位からナノメータ(nm)単位まで表すことができる位置指令(絶対位置指令)、その他(制御命令やサーボパラメータの設定値)とからなる。
【0058】
図7において、時間指令があるのは、この実施の形態では、時系列に連続した補間データが一定の間隔で順次送信される従来の同期通信方式とは異なり、通信周期を補間周期と同様に一定に保つことが保証されない非同期の通信方式を採用しているからである。
【0059】
すなわち、この実施の形態では、安価でデータ転送能力の高いLANなど一般に普及する通信手段を用い、補間データを実行する時間を絶対時間で複数のサーボアンプに指令し、各サーボアンプは、個別に持つ絶対時間を示す内部タイマーを用いて絶対時間指令データに基づき補間処理を実行するようにしているからである。
【0060】
そこで、図8では、LANの通信速度と補間周期Δtとを変化させた場合のパソコンとサーボアンプとの通信間隔が示されている。図8において、LANの種類としては、10BASE−T(データ転送速度10Mbit/sec、サーボアンプに必要なメモリ容量1250kByte/sec)と、100BASE−TX(データ転送速度100Mbit/sec、サーボアンプに必要なメモリ容量12.50MByte/sec)と、1000BASE(データ転送速度1000Mbit/sec、サーボアンプに必要なメモリ容量125MByte/sec)とが示されている。
【0061】
補間周期Δtとデータ容量(8軸)とデータ転送速度としては、(3,5ms,768Byte,214.29kByte)と、(0.35ms,768Byte,2.09MByte)と、(0.035ms,768Byte,20.93MByte)とが示されている。但し、LANによる転送効率は、100%としている。
【0062】
従来の同期式では、通信周期と補間周期は一致しているが、例えば、従来の同期式での通信周期Δt=3.5msで1回の通信データが768Byte(8軸分)の場合、同等の補間周期Δtのデータを得るには、この実施の形態による方式では、10BASE−Tを用いた場合、約5.97秒間に1秒分程度の通信がパソコンとサーボアンプ間で確立すればよいことになる。
【0063】
この場合、サーボアンプ側には、最低1秒分のデータ転送用のメモリ容量(=1.25MByte)があればよいことになる。このメモリ容量は、通信データバッファメモリ335だけでなく、メインメモリ320も使用すれば実現することができる。
【0064】
そして、LANによる転送効率は、接続される機器(パソコンやサーボアンプ等)の数によって左右されるため、100BASE−TXや1000BASEのLANを用いてより高速な通信が行えるようにする場合、サーボアンプ側のメモリ容量を増やすことで柔軟に対応することができる。
【0065】
また、ナノ・メータ補間など高精度な加工を実施するために、補間周期Δtが0.35msや0.035msなどより短い補間間隔を実現する場合も、システム構成を変えることなく、LANの高速化やサーボアンプ側メモリの大容量化によって柔軟に対応できる。図8は、そのような判断材料を提供していることがわかる。
【0066】
次に、図9では、パソコン110の外部記憶装置230に蓄積する補間した絶対時間指令データの蓄積データ量として、Δt時間のデータ量(8軸)と、1秒間のデータ量(8軸)と、1時間のデータ量(8軸)と、1日間のデータ量(8軸)とが示されている。補間周期Δtは、3.5msと0.35msと0.035msとが示されている。
【0067】
例えば、約1時間分の絶対時間指令データを一括して蓄積する場合、3.5msの補間周期では、約753.35MByteの記憶容量が必要である。しかし、外部記憶装置230にハードディスクなどを用いれば安価にシステムが構成できる。また、1時間以上の加工を753.35MByteの容量で行う場合は、送信し終わったデータを消去しそこに1時間を超えるデータを順次書き込むようにすることで簡単に実現できる。その場合の注意点は、送信データがなくならないように、パソコンCPU210のデータ生成時間との関係で決まる必要最低限のデータを外部記憶装置230に予め演算して保存しておくことである。
【0068】
以上のように、この実施の形態によれば、専用のOSに専用のCPUを用いて補間処理を実施していた従来の数値制御方式とは異なり、パソコン110にて全ての補間処理を演算できるので、各処理を実施するプログラムは、ユーザがカスタマイズし易い開発環境で構築でき、かつユーザが自らのアプリケーションを実装できる。
【0069】
特に、図4において、ステップST2での解析データ、ステップST3での移動量ΔLm、ステップST4での移動距離ΔXm,ΔYm、及びステップST6での絶対位置指令データをカスタマイズすることによって、ユーザ独自の特殊な補間制御を行い、特殊な加工を実現することができる。
【0070】
また、図4では、パソコン110からサーボアンプ130〜13nに送信する通信データを軸毎に分割した絶対位置指令データとしているが、絶対時間指令データを用いて非同期式の通信を行うので、送信するデータに加工を実行させる時間を指定する絶対時間指令データを付加すれば、サーボアンプに送信するデータは、ステップST1での3次元CADデータ、ステップST2での解析データ、ステップST3での移動量ΔLm、およびステップST4での移動距離ΔXm,ΔYmのいずれを用いてもよい。ステップST1での3次元CADデータには、加工開始時間が付加され、残り3つのデータには、加工開始時間に加工処理時間を足した時間が付加される。
【0071】
このように各処理段階でのデータを送信する場合には、送信データ以後の残りの処理は、サーボアンプ側のサーボアンプCPU310で演算することになる。残りの処理が多くなれば、パソコン側のパソコンCPU210の負荷が減り、その分、サーボアンプ側の演算負荷は増大する。したがって、サーボアンプ側には、高価で高速なCPUや大容量のメモリが必要となる。ここで、ステップST1〜ST4の一連の処理は、全て非同期で行えるので、パソコン側で処理しても、サーボアンプ側で処理しても同じ演算結果が得られるアルゴリズムが用いられる。
【0072】
ところで、リアルタイムでステップST1〜ST4の全ての演算処理を実施できないと、工作機械の段取り作業など手動による加工中の速度変更に即座に反応するのは難しい。
【0073】
そこで、段取り時などは、図2に示すようなプラグ・アンド・プレイで接続可能なPCカードタイプのカード型NC280をパソコン110のPCカードインターフェース回路270に接続し、カード型NC280上でステップST1〜ST4の一連の処理をリアルタイムに実施して、即応性の必要な手動による数値制御が実施できるようにしている。
【0074】
この場合には、通信手段にLANを用いるので、通信データバッファメモリ255の容量が大きいと即応性が低下する。したがって、加工前にパソコン上で工具経路や加工チェックなどのシミュレーションを十分実施し、手動操作による加工途中のデータ変更が発生しないようにしておくとよい。
【0075】
また、段取り以外の実際の加工時、または動作が確認済みの加工プログラムを実行する場合は、カードNCはパソコンから取り外し、パソコン110でステップST1〜ST4の演算処理を実施するとよい。
【0076】
実施の形態2.
図10は、この発明の実施の形態2である数値制御システムにおけるサーボアンプの構成を示すブロック図である。図11は、図10に示すA/Dインターフェース回路1060の詳細を示すブロック図である。なお、図10では、図3に示した構成のうち同一ないしは同等である構成要素には同一の符号が付されている。ここでは、この実施の形態2に関わる部分を中心に説明する。
【0077】
すなわち、図10に示すサーボアンプ1030では、図3に示したサーボアンプ130において、I/Oインターフェース回路360に代えて、A/Dインターフェース回路1060が設けられている。そして、A/Dインターフェース回路1060に入出力するホットライン180の信号は、非常停止信号181と同期時間補正信号183とを兼ねる非常停止信号/同期時間補正信号184の一つだけである。
【0078】
図1にて示したホットライン180の各信号は、ワイヤードOR接続されており、例えば、非常停止信号181は、非常停止解除時にプルアップ抵抗によって所定時間幅高レベルとなるパルス信号である。そこで、非常停止信号/同期時間補正信号184は、図11に示すように、非常停止信号181と同様波形の非常停止信号184aに、時間補正が行われるときに、時間補正用のアナログ信号184bが重畳される信号である。
【0079】
A/Dインターフェース回路1060は、具体的には、例えば図11に示すように、非常停止信号184aに関わるディジタル入出力用バッファ回路1061と、ホットライン180から取り込んだ非常停止信号/同期時間補正信号184の特定電圧レベルのアナログ信号184bを増幅するアナログ増幅回路1062と、その増幅されたアナログ信号1070をディジタル信号1072に変換し、それを同期時間補正信号CORRECTとして内部タイマー350に出力するA/Dコンバータ1063と、内部タイマー350から入力する1ms周期のディジタル信号1072であるタイマー信号TIMERをアナログ信号1070に変換するD/Aコンバータ1064と、その変換されたアナログ信号1070から特定電圧レベルのアナログ信号184bを持つ非常停止信号/同期時間補正信号184を発生し、ホットライン180に送出するアナログ出力回路1065とを備えている。
【0080】
ディジタル入出力用バッファ回路1061は、サーボアンプCPU310から所定時間幅のパルス信号1074である障害発生通知信号EMGを受けて、ホットライン180に非常停止信号/同期時間補正信号184の非常停止信号184aを出力する。また、ホットライン180から非常停止信号/同期時間補正信号184の非常停止信号184aを受けて、サーボアンプCPU310に対し割込信号INTERRUPTを出力し、内部タイマー350に対しリセット信号RESETを出力する。
【0081】
ここで、ディジタル入出力用バッファ回路1061の入力電圧は、2.0V以上で、出力電圧は、2.5V以下で、絶対最大入力電圧は、3.3Vであるとする。また、ホットライン180から1ms周期で入力する非常停止信号/同期時間補正信号184のアナログ信号184bは、例えば、1kHz(振幅±0.5V以下、基準電圧2.5V)の周波数信号である。
【0082】
同期時間の補正では、パソコン110または一つのサーボアンプが、1ms周期のディジタル信号1072であるタイマー信号TIMERを発生し、他の残りのサーボアンプが、1ms毎の同期時間補正信号CORRECTをタイマー信号TIMERと同じディジタル信号1072として得ることができる。
【0083】
このように、実施の形態2によれば、時間設定や同期ずれ補正に用いるホットラインの信号線をまとめることができるので、ホットラインの構成を簡素化することができる。
【0084】
実施の形態3.
図12は、この発明の実施の形態3である数値制御システムにおけるサーボアンプの構成を示すブロック図である。なお、図12では、図10に示した構成のうち同一ないしは同等である構成要素には同一の符号が付されている。ここでは、この実施の形態3に関わる部分を中心に説明する。
【0085】
図12に示すサーボアンプ1230では、図10に示したサーボアンプ1030において、コンパレータ回路1270が設けられている。コンパレータ回路1270は、図6に示したステップST27,ST28での時間比較処理を実行する。
【0086】
すなわち、コンパレータ回路1270は、サーボアンプCPU310からの絶対時間指令データD_TIMEと内部タイマー350からの実時間データR_TIMEとを比較する。比較結果、同じでなければ、サーボアンプCPU310に対して次データの入力を要求する入力要求信号D_INを出力し、同じであればサーボモータ回転制御回路340に対して絶対座標データD_OUTを出力する。
【0087】
図6に示したステップST27,ST28での時間比較処理は、リアルタイムで演算するためサーボアンプCPU310の負荷が大きい。実施の形態3によれば、ステップST27,ST28での時間比較処理をハードウェアによって高速に処理できるので、サーボアンプCPU310の負荷が軽減できる。なお、実施の形態3では、実施の形態2への適用例を示したが、実施の形態1にも同様に適用できることは言うまでもない。
【0088】
以上のように、この発明による数値制御システムは、複数のサーボアンプ間での同期補間制御が絶対時間指令データを非同期通信方式にて複数のサーボアンプに送信することによって実現できるので、大規模で高精度、かつユーザの多様な要求に柔軟に対応できる数値制御システムを例えば安価なパソコン、LAN等を用いて構成することができる。
【0089】
ここで、絶対時間指令データを送信する主体、すなわち数値制御処理手段は、図1では、コンピュータ装置としてのパソコン110または上位のネットワーク125のホストコンピュータとしたが、この発明はそれに限定されるものではなく、例えば、従来の数値制御装置に非同期通信機能を付加して用いてもよく、また数値制御装置部を内蔵した処理能力の高いサーボアンプに非同期通信機能を付加して用いてもよい。
【0090】
また、図1では、LAN115は、有線LANを示すが、無線LANとすることもでき、さらに光ケーブルや衛星通信などの通信手段も用いることができる。すなわち、この発明によれば、通信速度が高速で、かつ、必要十分な容量のメモリと時間に正確な内部タイマーとがあれば、インターネット等の広域ネットワークや無線通信、衛星通信を介して、サーボモータの同期補間制御が可能となるので、大規模な数値制御システムが構築できる。
【0091】
例えば、地球を周回する太陽光発電衛星のミラー制御等に応用すれば、複数のミラー毎に制御するサーボモータを数nmの移動単位で同期制御し、太陽光を集積するなどが行える数値制御システムが構築できる。
【0092】
【発明の効果】
以上説明したように、この発明によれば、数値制御処理手段と複数の軸制御手段とを非同期通信方式のネットワークを介して接続し、数値制御処理手段が、数値制御処理の演算を行って各軸の処理時間を表す絶対時間指令データを生成し、生成した絶対時間指令データを非同期通信方式のネットワークに送信すると、複数の軸制御手段が、ネットワークから前記絶対時間指令データを取り込み内蔵する絶対時間を示す内部タイマーに従って相互間で同期補間制御を実施するようにしたので、数値制御処理専用のCPU、専用の同期式通信インターフェースを使用しないで済み、安価でかつユーザの多様な要請に柔軟に対応できる数値制御システムが得られる。
【図面の簡単な説明】
【図1】この発明の実施の形態1である数値制御システムの構成を示すブロック図である。
【図2】図1に示すパソコンの構成例を示すブロック図である。
【図3】図1に示すサーボアンプの構成例を示すブロック図である。
【図4】図1に示すパソコンの動作を説明するフローチャートである。
【図5】同期補間制御軸としてX軸とY軸を例にした座標系を説明する図である。
【図6】図1に示すサーボアンプの動作を説明するフローチャートである。
【図7】図1に示すパソコンからサーボアンプへの通信データの構成例を示す図である。
【図8】図1に示すパソコンとサーボアンプとの通信間隔の時間をLANの通信速度と補間周期との関係として計算した図である。
【図9】図1に示すパソコンの外部記憶装置に蓄積するサーボ通信用のデータ量を補間周期と加工時間との関係として計算した図である。
【図10】この発明の実施の形態2である数値制御システムにおけるサーボアンプの構成を示すブロック図である。
【図11】図10に示すA/Dインターフェース回路の詳細を示すブロック図である。
【図12】この発明の実施の形態3である数値制御システムにおけるサーボアンプの構成を示すブロック図である。
【符号の説明】
110 パソコン、115 LAN、120 スイッチング・ハブ、130〜13n,1030,1230 軸制御部(サーボアンプ)、125 上位ネットワーク、180 ホットライン、181 非常停止信号、182 同期時間リセット信号、183 同期時間補正信号、184 非常停止信号/同期時間補正信号、190 非常停止スイッチ、140〜14n サーボモータ、210 パソコンCPU、220,320 メインメモリ、230 外部記憶装置、240,350 内部タイマー、250,330 LANインターフェース回路、255,335 通信データバッファメモリ、270 PCカードインターフェース回路、280 カード型NC(PCカードタイプ)、290 サーボアンプ通信データ、310 サーボアンプCPU、340 サーボモータ回転制御回路、360 I/Oインターフェース回路、1060 A/Dインターフェース回路、1061 ディジタル入出力用バッファ回路、1062 アナログ増幅回路、1063 A/Dコンバータ、1064 アナログ出力回路、1065 D/Aコンバータ、1270 コンパレータ回路。[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a numerical control system.
[0002]
[Prior art]
In a conventional numerical control device, synchronous interpolation control performed between a plurality of axis control units (hereinafter, referred to as “servo amplifiers”) for controlling each axis is realized by a relative time command based on a synchronous signal. That is, in the conventional numerical controller, synchronization is performed between a plurality of servo amplifiers based on a synchronization signal having a certain period, and synchronous interpolation control is performed between the plurality of servo amplifiers based on command data such as position data and speed data. are doing.
[0003]
By the way, in the synchronous interpolation control method based on the relative time command based on the synchronous signal, a dedicated synchronous communication is required between the numerical controller and the servo amplifier. (Serial Realtime Communication System) and other communication standards have been formulated. However, since the communication performance is greatly related to the control performance, each numerical control device maker actually depends on its own dedicated communication system in order to obtain characteristics.
[0004]
In order to reduce the complexity of the cables concentrated on the numerical control unit, the numerical control unit, the screen control unit, and a plurality of servo amplifiers are connected via a general-purpose network, and the components are distributed. There has been proposed a numerical control system in which the control is performed (for example, see Patent Document 1). In the numerical control system disclosed in
[0005]
In recent years, a numerical control system using a personal computer (hereinafter, referred to as a “PC”) has been proposed with the background of higher performance and lower price. That is, a numerical controller is mounted in an expansion slot of a personal computer, the numerical controller is connected to a storage device via a bus, and a plurality of servo amplifiers are connected to the numerical controller via a dedicated communication cable. A numerical control system has been proposed (for example, see Patent Documents 2 and 3).
[0006]
In the numerical control systems disclosed in Patent Documents 2 and 3, a movement command is calculated by a CPU of a personal computer from a processing program and processing data stored in a storage device, and the calculated movement command is transmitted to the numerical control device via a bus. Input is performed asynchronously without overflowing to a communication data buffer provided in an internal servo control unit. Synchronous interpolation control between a plurality of servo amplifiers is realized by a relative time command based on a synchronization signal.
[0007]
[Patent Document 1]
JP-A-9-73310 (paragraphs 0009 to 0012, FIG. 1).
[Patent Document 2]
WO 01/44882 pamphlet (
[Patent Document 3]
JP-A-9-146623 (paragraphs 0030 to 0033, FIG. 1).
[0008]
[Problems to be solved by the invention]
However, a synchronous interpolation control method using a relative time command based on a synchronous signal requires an OS, CPU, and synchronous communication interface dedicated to numerical control processing, so that it is expensive and has flexibility to meet various demands of users. There is a problem that lacks.
[0009]
The personal computer has an asynchronous communication function, and in recent years, it has become possible to perform high-speed asynchronous communication via a network such as a LAN. By simply transmitting the stored data to a plurality of servo amplifiers at high speed through a network such as a LAN using an asynchronous communication function, if synchronous interpolation control can be performed among the plurality of servo amplifiers, it is inexpensive and A flexible numerical control system can be built, but how to configure it is a problem.
[0010]
The present invention has been made in view of the above, and by enabling each axis control unit to perform synchronous interpolation control using absolute time, a numerical control system that is inexpensive and can flexibly respond to various requests of users. The purpose is to obtain.
[0011]
[Means for Solving the Problems]
In order to achieve the above object, a numerical control system according to the present invention performs an operation of a numerical control process to generate absolute time command data representing a processing time of each axis, and transmits the generated absolute time command data to an asynchronous communication. Numerical control processing means for transmitting data to the network of the system, and connected to the numerical control processing means via the network of the asynchronous communication system, mutually fetching the absolute time command data from the network and inter-communicating with each other in accordance with an internal timer indicating the absolute time. And a plurality of axis control means for performing synchronous interpolation control.
[0012]
According to the present invention, when the numerical control processing means performs an operation of the numerical control processing to generate absolute time command data representing a processing time of each axis, and transmits the generated absolute time command data to the network of the asynchronous communication system. A plurality of axis control means connected to the numerical control processing means via the network of the asynchronous communication system take in the absolute time command data from the network, and perform synchronous interpolation control between them in accordance with an internal timer indicating an absolute time incorporated therein. Is carried out.
[0013]
BEST MODE FOR CARRYING OUT THE INVENTION
Preferred embodiments of a numerical control system according to the present invention will be described below in detail with reference to the accompanying drawings.
[0014]
FIG. 1 is a block diagram showing a configuration of a numerical control system according to
[0015]
That is, in FIG. 1, a
[0016]
The plurality of
[0017]
The
[0018]
The numerical control system shown in FIG. 1 has a configuration in which a
[0019]
The
[0020]
FIG. 2 is a block diagram showing a configuration example of the personal computer shown in FIG. In FIG. 2, a
[0021]
A communication
[0022]
As shown in FIG. 1, the
[0023]
FIG. 3 is a block diagram showing a configuration example of the servo amplifier shown in FIG. The
[0024]
3, a
[0025]
Further, an I /
[0026]
The I /
[0027]
Here, in the present invention, since the synchronous interpolation control is performed between the servo amplifiers using the absolute time command data, the
[0028]
(1) A high-precision timer is used as the
[0029]
(2) For example, the
[0030]
That is, if the
[0031]
Alternatively, before the start of machining, a synchronization time reset signal 182 is sent from one of the
[0032]
(3) Alternatively, the setting of the
[0033]
(4) As a special case, when a
[0034]
Next, a description will be given of a method of correcting the synchronization deviation of the absolute time in the
[0035]
This absolute time synchronization deviation correction is performed using a synchronization time correction signal 183 provided on the
[0036]
If the error of the
[0037]
Next, the operation of the
[0038]
In FIG. 5, coordinate positions L1 (X1, Y1) and L2 (X2, Y2) are absolute positions. The moving distance L from the absolute position L1 (X1, Y1) to the absolute position L2 (X2, Y2) is moved at the moving speed V. The coordinate position ΔLm (ΔXm, ΔYm) based on the X-axis movement distance ΔXm per unit time Δt and the X-axis movement distance ΔYm per unit time Δt is the movement per unit time Δt from the absolute position L1 (X1, Y1). This is the absolute position per unit time Δt obtained as the distance ΔLm. The distance Ln from the absolute position ΔLm (ΔXm, ΔYm) per unit time Δt to the absolute position L2 (X2, Y2) is the remaining distance.
[0039]
In FIG. 4, a machining program or three-dimensional CAD data stored in advance in the
[0040]
Next, a minute line segment calculation process is executed using the obtained analysis data {absolute position L1 (X1, Y1), L2 (X2, Y2), moving speed V, moving distance L, etc.}, and the per unit time Δt The movement amount ΔLm is obtained (step ST3), and the axis coordinate division calculation process is further executed to obtain the movement distances ΔXm and ΔYm per unit time Δt in each axis direction, thereby dividing the movement amount into each coordinate (step ST4). ). Then, the moving distance ΔLm per unit time is obtained from the moving distances ΔXm and ΔYm per unit time divided into the respective axes, the remaining distance Ln is obtained, and it is determined whether the remaining distance Ln ≦ the moving distance ΔLm. (Step ST5) Until the remaining distance Ln ≦ the moving distance ΔLm (Step ST5: No), the processing of Step ST3 and Step ST4 is repeated.
[0041]
When the remaining distance Ln ≦ the moving distance ΔLm is satisfied (step ST5: Yes), the interpolated absolute position command data {data ID, control axis number, position command, time command} is obtained, and is temporarily stored in the
[0042]
When a certain amount of absolute position command data {data ID, control axis number, position command, time command} can be stored in the external storage device 230 (step ST7: Yes), the absolute position command is read from the
[0043]
Next, the operation of each servo amplifier will be described with reference to FIG. FIG. 6 is a flowchart illustrating the operation of the servo amplifier shown in FIG. In FIG. 6, when the absolute position command data {data IDn, control axis number AX1n, absolute time command T, position command F} interpolated from the LAN is received (step ST21), it is temporarily stored in the communication
[0044]
When a certain amount is accumulated in the communication data buffer memory 335 (step ST23: Yes), all the absolute position command data are read from the communication
[0045]
Next, in the asynchronous communication, the order of the received data and the like may change. Therefore, the absolute position command data is rearranged based on the data IDn of the absolute position command data, the control axis number AX1n, and the absolute time command T, and the main memory 320 (step ST25). In step ST25, when a communication packet that could not be received occurs for some reason, data interpolation (linear interpolation, spline interpolation, etc.) is performed from the data before and after the packet and written to the main memory. Is
[0046]
Next, the absolute position command data is read from the main memory 320 (step ST26), and a comparison is made between the absolute time command data T and the real time data t of the internal timer 350 (step ST27). It is determined whether or not it is not (Step ST28), and the processing of Step ST26 and Step ST27 is repeated until T = t (Step ST28: No).
[0047]
Then, when T = t (step ST28: Yes), the rotation speed of the servo motor is calculated based on the absolute position command data (step ST29), and the drive current of the servo motor is controlled to rotate the servo motor. (Step ST30). Thus, the servo motor can be rotated while synchronizing the plurality of
[0048]
As described above, according to this embodiment, the
[0049]
Then, from the
[0050]
In addition, since the
[0051]
It should be noted that the stop information can be notified to the
[0052]
When the emergency stop signal 181 of the
[0053]
In such a case, if data is no longer sent during the synchronous interpolation control execution process (during processing), the plurality of
[0054]
On the other hand, in this embodiment, the occurrence of the above-described situation of stopping the servomotor can be avoided by, for example, taking the following measures. That is, a general switching hub capable of providing a communication data buffer memory with a sufficient capacity on the servo amplifier side or a higher-speed LAN (for example, 100 Mbps, 1 Gbps, etc.) and capable of dedicated communication between two devices. If you use a connection method that closes communication within one numerical control system inside the machine tool using, the communication inside the system will not be crowded, so do not perform stop operation due to reasons such as communication not being in time Can be
[0055]
Next, communication data and the like transmitted from the
[0056]
In FIG. 7, "effective bit width", "data effective range", and "use bit width" are defined for each type of data. Data for controlling one axis is composed of 768 bits. The total of eight axes is 768 bytes.
[0057]
The breakdown (data type) includes a data ID, an axis control number, a time command (absolute time) that can represent time from the date to nanosecond (ns), and a position (absolute time) from the origin of the machine coordinate system. The position includes a position command (absolute position command) capable of expressing the position from a unit of meter (m) to a unit of nanometer (nm), and others (set values of control commands and servo parameters).
[0058]
In FIG. 7, the reason why the time command is given is that, in this embodiment, unlike the conventional synchronous communication method in which time-series continuous interpolation data is sequentially transmitted at regular intervals, the communication cycle is set in the same manner as the interpolation cycle. This is because an asynchronous communication method that is not guaranteed to be kept constant is employed.
[0059]
In other words, in this embodiment, a commonly used communication means such as a LAN having a low cost and high data transfer capability is used, and the time for executing the interpolation data is instructed to a plurality of servo amplifiers in absolute time. This is because the interpolation process is executed based on the absolute time command data using the internal timer indicating the absolute time.
[0060]
FIG. 8 shows the communication interval between the personal computer and the servo amplifier when the LAN communication speed and the interpolation period Δt are changed. In FIG. 8, the types of LAN include 10BASE-T (data transfer speed of 10 Mbit / sec, memory capacity required for servo amplifier of 1250 kByte / sec) and 100BASE-TX (data transfer speed of 100 Mbit / sec, required for servo amplifier). A memory capacity of 12.50 MByte / sec and a 1000 BASE (a data transfer speed of 1000 Mbit / sec, a memory capacity of 125 MByte / sec necessary for the servo amplifier) are shown.
[0061]
The interpolation cycle Δt, the data capacity (8 axes), and the data transfer rate are (3,5 ms, 768 Byte, 214.29 kByte), (0.35 ms, 768 Byte, 2.09 MByte), and (0.035 ms, 768 Byte, 20.93 MByte). However, the transfer efficiency by LAN is assumed to be 100%.
[0062]
In the conventional synchronous system, the communication cycle and the interpolation cycle are the same. For example, if one communication data is 768 bytes (for eight axes) in the conventional synchronous system with a communication cycle Δt = 3.5 ms, the communication cycle is the same. In order to obtain the data of the interpolation period Δt, in the method according to the present embodiment, when 10BASE-T is used, communication of about 1 second in about 5.97 seconds may be established between the personal computer and the servo amplifier. Will be.
[0063]
In this case, the servo amplifier only needs to have a memory capacity (= 1.25 Mbytes) for data transfer for at least one second. This memory capacity can be realized by using not only the communication
[0064]
Since the transfer efficiency of the LAN depends on the number of connected devices (personal computers, servo amplifiers, and the like), when a higher-speed communication can be performed using a 100BASE-TX or 1000BASE LAN, the servo amplifier is used. It is possible to respond flexibly by increasing the memory capacity on the side.
[0065]
In addition, even if the interpolation cycle Δt is shorter than 0.35 ms or 0.035 ms in order to perform high-precision machining such as nanometer interpolation, the LAN speed can be increased without changing the system configuration. It can respond flexibly by increasing the capacity of the servo amplifier memory. FIG. 8 shows that such a judgment material is provided.
[0066]
Next, in FIG. 9, as the accumulated data amount of the interpolated absolute time command data accumulated in the
[0067]
For example, when the absolute time command data for about 1 hour is accumulated at a time, a storage capacity of about 753.35 MByte is required for an interpolation cycle of 3.5 ms. However, if a hard disk or the like is used for the
[0068]
As described above, according to this embodiment, unlike the conventional numerical control method in which the dedicated CPU is used for the dedicated OS to perform the interpolation processing, all the interpolation processing can be calculated by the
[0069]
In particular, in FIG. 4, by customizing the analysis data in step ST2, the movement amount ΔLm in step ST3, the movement distances ΔXm and ΔYm in step ST4, and the absolute position command data in step ST6, a user-specific special Special processing can be realized by performing interpolation control.
[0070]
Further, in FIG. 4, the communication data transmitted from the
[0071]
When data in each processing stage is transmitted as described above, the remaining processes after the transmission data are calculated by the
[0072]
By the way, it is difficult to immediately respond to a speed change during manual machining, such as a setup operation of a machine tool, unless all the arithmetic processing of steps ST1 to ST4 can be performed in real time.
[0073]
Therefore, during setup or the like, a PC card type card-
[0074]
In this case, since a LAN is used as the communication means, responsiveness is reduced if the capacity of the communication
[0075]
Further, in actual machining other than the setup, or when executing a machining program whose operation has been confirmed, the card NC may be removed from the personal computer, and the
[0076]
Embodiment 2 FIG.
FIG. 10 is a block diagram showing a configuration of a servo amplifier in a numerical control system according to Embodiment 2 of the present invention. FIG. 11 is a block diagram showing details of the A /
[0077]
That is, in
[0078]
Each signal of the
[0079]
The A /
[0080]
The digital input /
[0081]
Here, it is assumed that the input voltage of the digital input /
[0082]
In the synchronization time correction, the
[0083]
As described above, according to the second embodiment, the hot line signal lines used for time setting and synchronization deviation correction can be combined, so that the configuration of the hot line can be simplified.
[0084]
Embodiment 3 FIG.
FIG. 12 is a block diagram showing a configuration of a servo amplifier in a numerical control system according to Embodiment 3 of the present invention. In FIG. 12, the same reference numerals are given to the same or equivalent components in the configuration shown in FIG. Here, a description will be given focusing on a portion relating to the third embodiment.
[0085]
In the
[0086]
That is, the
[0087]
Since the time comparison processing in steps ST27 and ST28 shown in FIG. 6 is performed in real time, the load on the
[0088]
As described above, the numerical control system according to the present invention is capable of realizing synchronous interpolation control between a plurality of servo amplifiers by transmitting absolute time command data to the plurality of servo amplifiers by an asynchronous communication method, so that the numerical control system can be implemented on a large scale. A numerical control system that is highly accurate and that can flexibly respond to various user requirements can be configured using, for example, an inexpensive personal computer, LAN, or the like.
[0089]
Here, the entity that transmits the absolute time command data, that is, the numerical control processing means is the
[0090]
In addition, in FIG. 1, the
[0091]
For example, if it is applied to the mirror control of a solar power generation satellite orbiting the earth, a numerical control system that can synchronously control a servo motor that controls each of a plurality of mirrors in units of several nanometers and integrate sunlight, etc. Can be constructed.
[0092]
【The invention's effect】
As described above, according to the present invention, the numerical control processing means and the plurality of axis control means are connected via the network of the asynchronous communication system, and the numerical control processing means performs the calculation of the numerical control processing and When absolute time command data representing the processing time of the axis is generated and the generated absolute time command data is transmitted to the network of the asynchronous communication system, a plurality of axis control means take in the absolute time command data from the network and store the absolute time command data. Synchronous interpolation control is performed between each other according to the internal timer indicating that there is no need to use a dedicated CPU for numerical control processing or a dedicated synchronous communication interface, and it is inexpensive and flexibly responds to various user requests. A possible numerical control system is obtained.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of a numerical control system according to a first embodiment of the present invention.
FIG. 2 is a block diagram showing a configuration example of a personal computer shown in FIG.
FIG. 3 is a block diagram illustrating a configuration example of a servo amplifier illustrated in FIG. 1;
FIG. 4 is a flowchart illustrating the operation of the personal computer shown in FIG.
FIG. 5 is a diagram illustrating a coordinate system in which an X axis and a Y axis are used as synchronous interpolation control axes.
FIG. 6 is a flowchart illustrating an operation of the servo amplifier shown in FIG. 1;
FIG. 7 is a diagram showing a configuration example of communication data from the personal computer shown in FIG. 1 to the servo amplifier.
8 is a diagram in which a time of a communication interval between the personal computer and the servo amplifier shown in FIG. 1 is calculated as a relationship between a communication speed of the LAN and an interpolation cycle.
9 is a diagram in which a data amount for servo communication stored in an external storage device of the personal computer shown in FIG. 1 is calculated as a relationship between an interpolation cycle and a processing time.
FIG. 10 is a block diagram showing a configuration of a servo amplifier in a numerical control system according to a second embodiment of the present invention.
FIG. 11 is a block diagram showing details of an A / D interface circuit shown in FIG. 10;
FIG. 12 is a block diagram showing a configuration of a servo amplifier in a numerical control system according to Embodiment 3 of the present invention.
[Explanation of symbols]
110 PC, 115 LAN, 120 switching hub, 130-13n, 1030, 1230 Axis control unit (servo amplifier), 125 upper network, 180 hot line, 181 emergency stop signal, 182 synchronization time reset signal, 183 synchronization time correction signal , 184 emergency stop signal / synchronization time correction signal, 190 emergency stop switch, 140-14n servo motor, 210 personal computer CPU, 220, 320 main memory, 230 external storage device, 240, 350 internal timer, 250, 330 LAN interface circuit, 255,335 Communication data buffer memory, 270 PC card interface circuit, 280 card type NC (PC card type), 290 Servo amplifier communication data, 310 Servo amplifier CPU, 340 Servo mode Data rotation control circuit, 360 I / O interface circuit, 1060 A / D interface circuit, 1061 digital input / output buffer circuit, 1062 analog amplifier circuit, 1063 A / D converter, 1064 analog output circuit, 1065 D / A converter, 1270 Comparator circuit.
Claims (9)
前記非同期通信方式のネットワークを介して前記数値制御処理手段と接続され、ネットワークから前記絶対時間指令データを取り込み内蔵する絶対時間を示す内部タイマーに従って相互間で同期補間制御を実施する複数の軸制御手段と、
を備えたことを特徴とする数値制御システム。Numerical control processing means for performing calculation of numerical control processing to generate absolute time command data representing the processing time of each axis, and transmitting the generated absolute time command data to the network of the asynchronous communication system,
A plurality of axis control means connected to the numerical control processing means via the network of the asynchronous communication system, and performing synchronous interpolation control between them in accordance with an internal timer indicating an absolute time incorporated by taking in the absolute time command data from the network; When,
A numerical control system comprising:
前記送られてきた絶対時間指令データにおける絶対時間と前記内部タイマーが示す実時間との一致不一致の比較演算を実施するハードウエア回路、
を備えたことを特徴とする請求項1または2に記載の数値制御システム。The plurality of axis control means,
A hardware circuit that performs a comparison operation of a match / mismatch between the absolute time in the transmitted absolute time command data and the real time indicated by the internal timer,
The numerical control system according to claim 1 or 2, further comprising:
当該コンピュータ装置には、
前記絶対時間指令データをリアルタイムに生成処理するPCカードタイプのカード型NCが接続される、
ことを特徴とする請求項1または2に記載の数値制御システム。When the numerical control processing means is a computer device capable of mounting a PC card,
The computer device includes:
A card type NC of a PC card type for generating and processing the absolute time command data in real time is connected.
3. The numerical control system according to claim 1, wherein:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002271472A JP3917047B2 (en) | 2002-09-18 | 2002-09-18 | Numerical control system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002271472A JP3917047B2 (en) | 2002-09-18 | 2002-09-18 | Numerical control system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004110359A true JP2004110359A (en) | 2004-04-08 |
JP3917047B2 JP3917047B2 (en) | 2007-05-23 |
Family
ID=32268771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002271472A Expired - Lifetime JP3917047B2 (en) | 2002-09-18 | 2002-09-18 | Numerical control system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3917047B2 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007272367A (en) * | 2006-03-30 | 2007-10-18 | Mitsubishi Electric Corp | Multiple-shaft synchronization system and control method |
JP2009129315A (en) * | 2007-11-27 | 2009-06-11 | Muscle Corp | Driving method and driving system of servo motor |
JP2010513998A (en) * | 2006-12-15 | 2010-04-30 | シーメンス アクチエンゲゼルシヤフト | Pulse sending device for sending trigger pulse accurately in position |
JP2011504144A (en) * | 2007-11-14 | 2011-02-03 | サムスン ヘヴィ インダストリーズ カンパニー リミテッド | Embedded robot control system |
JP4824080B2 (en) * | 2006-03-01 | 2011-11-24 | 富士通株式会社 | Synchronous control system |
CN104656548A (en) * | 2013-11-20 | 2015-05-27 | 发那科株式会社 | Numerical Control Device Having Function Of Simultaneously Executing Plurality Of Commands Using Data In Table Format |
WO2015159457A1 (en) * | 2014-04-16 | 2015-10-22 | 株式会社日立産機システム | Control method for motor drive device, motor control system, and program |
-
2002
- 2002-09-18 JP JP2002271472A patent/JP3917047B2/en not_active Expired - Lifetime
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4824080B2 (en) * | 2006-03-01 | 2011-11-24 | 富士通株式会社 | Synchronous control system |
JP4602278B2 (en) * | 2006-03-30 | 2010-12-22 | 三菱電機株式会社 | Multi-axis synchronization system and control method thereof |
JP2007272367A (en) * | 2006-03-30 | 2007-10-18 | Mitsubishi Electric Corp | Multiple-shaft synchronization system and control method |
US8405519B2 (en) | 2006-12-15 | 2013-03-26 | Siemens Aktiengesellschaft | Pulse emission device for the positionally accurate emission of trigger pulses |
JP2010513998A (en) * | 2006-12-15 | 2010-04-30 | シーメンス アクチエンゲゼルシヤフト | Pulse sending device for sending trigger pulse accurately in position |
JP2011504144A (en) * | 2007-11-14 | 2011-02-03 | サムスン ヘヴィ インダストリーズ カンパニー リミテッド | Embedded robot control system |
JP2009129315A (en) * | 2007-11-27 | 2009-06-11 | Muscle Corp | Driving method and driving system of servo motor |
CN104656548A (en) * | 2013-11-20 | 2015-05-27 | 发那科株式会社 | Numerical Control Device Having Function Of Simultaneously Executing Plurality Of Commands Using Data In Table Format |
JP2015099553A (en) * | 2013-11-20 | 2015-05-28 | ファナック株式会社 | Numerical control device including function for simultaneously executing multiple commands with table format data |
US9696712B2 (en) | 2013-11-20 | 2017-07-04 | Fanuc Corporation | Numerical control device having function of simultaneously executing plurality of commands using data in table format |
CN104656548B (en) * | 2013-11-20 | 2017-12-26 | 发那科株式会社 | Possesses the numerical control device of the operation based on sheet form data |
WO2015159457A1 (en) * | 2014-04-16 | 2015-10-22 | 株式会社日立産機システム | Control method for motor drive device, motor control system, and program |
JP2015204724A (en) * | 2014-04-16 | 2015-11-16 | 株式会社日立産機システム | Control method for motor drive device, and motor control system and program |
Also Published As
Publication number | Publication date |
---|---|
JP3917047B2 (en) | 2007-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103562807B (en) | The CPU element of PLC, PLC system, PLC servicing unit | |
US7778814B2 (en) | Method and device for simulating an automation system | |
CN103197607B (en) | Servo driver and starting point and finishing point synchronous method in open type numerical control system | |
US4956785A (en) | Numerical control method with a parallel processing function | |
JP3386777B2 (en) | Numerical control system | |
JP2004110359A (en) | Numerical control system | |
CN111360795B (en) | Control system and control method of six-degree-of-freedom parallel robot | |
CN111552235B (en) | Multi-axis synchronous error compensation method and system based on CANopen protocol | |
JP4029617B2 (en) | Numerical control system and communication timing setting method in the numerical control system | |
JP2007515003A (en) | Method and apparatus for operating different devices operating in conjunction | |
JP7056395B2 (en) | Control device and its control method | |
JP2898387B2 (en) | Synchronous signal generator | |
CN115826505A (en) | Multi-axis electro-hydraulic servo slave station control system based on synchronous real-time Ethernet | |
JP2840297B2 (en) | Axis control method of numerical controller | |
CN108445830A (en) | A kind of wave maker control system based on multi-controller synchronous control | |
CN111459086B (en) | System and method for realizing scaler control and data processing | |
CN113778000A (en) | High-real-time motion control system and method | |
JP3987819B2 (en) | Numerical control system | |
CN107053169A (en) | A kind of bus intelligent servo drive system, robot and method | |
WO2019113726A1 (en) | Motion controller and motion control method | |
CN110609464B (en) | Time service method and system of embedded communication system | |
JPH11259105A (en) | Externally synchronizable programmable controller device | |
JPH11272307A (en) | Motion controller | |
JP2754681B2 (en) | Distributed controller | |
JP2000235406A (en) | Sequence controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041209 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060718 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060725 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060925 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061107 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061213 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070206 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070207 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 3917047 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100216 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110216 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120216 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130216 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130216 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140216 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |