(58)【調査した分野】(Int.Cl.,DB名)
【背景技術】
【0002】
通常、数値制御装置は、数値制御装置内の記憶媒体(不揮発性メモリや、HDDなど)に格納されているNCプログラムを使用することで、加工を行う。一方で、通信回線に接続された数値制御装置では、記憶媒体に格納されたNCプログラムではなく、通信回線を介してホスト(FTPサーバや、HTTPサーバなどが動作するコンピュータ)から供給されるNCプログラムを記憶媒体に保存せずにそのまま使用して加工を行う機能を備えている。このような、通信回線などを介してNCプログラムを転送しながら工作機械を運転する手法はDNC運転と呼ばれている。
【0003】
DNC運転は、ホストからのNCプログラムの受信とワークの加工を同時に行うため、数値制御装置とホストとの間の通信回線において、通信障害が発生した場合、数値制御装置はNCプログラムを受信できず、加工が途中で停止してしまう。加工が途中で停止してしまうと、ワークにカッタマークが付いたり振動が発生したりする問題がある。また、加工を再開するには、通信障害を解決する必要があり、その解決にかかった時間分、加工時間が延びてしまう問題がある。
【0004】
そこで、DNC運転を行う際には、
図8(a)に示すように、数値制御装置10内の通信部40内にバッファを設け、通信部40が、ホスト60と通信を行って受信したNCプログラムを通信部40内のバッファに逐次格納し、DNC運転管理部30が通信部40内のバッファから数値制御部20へNCプログラムを供給する手法が使われている。通信部40内にバッファを設けることによって、一時的な通信障害が発生した場合であれば通信部40内のバッファに蓄積されたNCプログラムを用いることができるため、加工の停止を回避することができる。
【0005】
また、特許文献1では、ワークにカッタマークが付いたり振動が発生したりする問題を回避するために、通信障害などによってNCプログラムの受信が停止した場合、切削中の工具を工具装着の軸方向に退避させる機能を備えたDNC運転手法が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、数値制御装置内にバッファを用意する手法は、非常に短い時間で復旧する通信障害や、一時的な通信遅延に対しては一定の効果はあるものの、通信障害や通信遅延が長時間化した場合、
図8(b)に示すように、バッファ内のNCプログラムが枯渇し、DNC運転管理部30は、数値制御部20にNCプログラムを供給できなくなり、結果として加工が停止してしまうという問題がある。
【0008】
また、特許文献1に記載の技術は、通信障害などが発生した場合の影響を低く抑えるための機能であり、通信障害が長時間化した場合の加工時間が延びてしまう問題を解決するものではない。
【0009】
そこで本発明の目的は、従来技術と比較して通信障害に強いDNC運転の仕組みを備えた数値制御装置を提供することである。
【課題を解決するための手段】
【0010】
本願の請求項1に係る発明は、ホストから通信経路を介して取得したNCプログラムを使用したDNC運転が可能な数値制御装置において、前記NCプログラムに基づいて工作機械を制御する数値制御部と、それぞれ異なる通信経路を利用して前記NCプログラムを受信する複数の通信部と、前記通信部により受信された前記NCプログラムを前記数値制御部へ供給するDNC運転管理部とを備え、前記複数の通信部はそれぞれ、前記NCプログラムを格納する受信データバッファと、前記ホストから前記NCプログラムを受信して前記受信データバッファに格納するNCプログラム受信手段とを有し、前記DNC運転管理部は、前記複数の通信部の内、いずれかの通信部が有する受信データバッファから前記NCプログラムを取得し、前記取得したNCプログラムを前記数値制御部へ供給すると共に、前記通信部が利用する通信経路の通信障害が検出された場合、前記NCプログラムの取得先を他の通信部の受信データバッファへと切り替える受信管理手段を有
し、前記受信管理手段は、前記NCプログラムの取得先となる前記通信部の前記受信データバッファに格納されている前記NCプログラムの残量に基づいて、前記通信部が利用する通信経路の通信障害を検出する、ことを特徴とする数値制御装置である。
【0011】
本願の請求項2に係る発明は、前記通信経路の少なくとも1つがインターネットを経由する、ことを特徴とする請求項1に記載の数値制御装置である。
【0012】
本願の請求項3に係る発明は、前記複数の通信部は、少なくとも2つ以上の異なるホストのいずれかからそれぞれ前記NCプログラムを受信する、ことを特徴とする請求項1または2に記載の数値制御装置である。
【発明の効果】
【0014】
本発明により、DNC運転中に通信障害が発生し、加工動作が途中で停止してしまうことによりワークにカッタマークが付いたり振動が発生したりする問題の回避と加工時間の遅延の防止が可能となる。
【発明を実施するための形態】
【0016】
以下、本発明の実施の形態を図面と共に説明する。なお、従来技術の説明と同一または類似の構成については同一の符号を用いる。
図1は、本発明の第1の実施の形態における数値制御装置の要部ブロック図である。数値制御装置10は、数値制御部20、DNC運転管理部30、第1通信部40、第2通信部50を備えている。
【0017】
数値制御部20は、DNC運転呼び出し手段21と、加工実行手段22と、加工実行手段22が使用するNCプログラムを一時的に格納する加工用バッファ23とを備えている。DNC運転呼び出し手段21は、DNC運転を行う際に、後述するDNC運転管理部30の送信管理手段31に対してNCプログラムの送信を要求する。加工実行手段22は、加工用バッファ23に格納されたNCプログラムに基づいて数値制御装置10の各部に指令して工作機械による加工動作を制御する。
【0018】
DNC運転管理部30は、DNC運転呼び出し手段21からNCプログラムの要求を受け付ける送信管理手段31と、後述する第1受信データバッファ43と第2受信データバッファ53からNCプログラムを読み出して、加工用バッファ23にNCプログラムを供給する受信管理手段32とを備えている。
【0019】
第1通信部40は、送信管理手段31からNCプログラムの送信要求を受け付けてホスト60に対してNCプログラムの送信を要求する第1NCプログラム取得要求送信手段41と、ホスト60からNCプログラムを受信する第1NCプログラム受信手段42と、第1NCプログラム受信手段42が受信したNCプログラムを格納する第1受信データバッファ43とを備えている。
また、第2通信部50は、第1通信部40と同様の機能を持つ、第2NCプログラム取得要求送信手段51と、第2NCプログラム受信手段52と、第2受信データバッファ53とを備えている。
【0020】
図2は、
図1に示す機能ブロックを有する本実施の形態における数値制御装置10上で実行されるDNC運転の基本動作の概要を説明する図である。
本実施の形態の数値制御装置10は、
図1において説明したとおり、第1通信部40、第2通信部50という複数の通信部を備えている。これら複数の通信部は、それぞれ異なる通信経路(例えば、有線ケーブルで繋がった経路と無線で繋がった経路など)を経由して同一のホスト60にアクセスし、ホスト60に対してそれぞれの通信部が独立して、同一のNCプログラムの送信を要求する。
【0021】
ホスト60はそれぞれの通信部の要求に応じて、異なる通信経路を経由してそれぞれの通信部にNCプログラムを送信し、当該NCプログラムを各通信部が受信して、それぞれの通信部内のバッファへと格納する。
DNC運転管理部30では、2つの通信部のうち、いずれか一方の通信部内のバッファからNCプログラムを読み出して数値制御部20に供給し、他方の通信部内のバッファに蓄積されたNCプログラムからは、数値制御部20へと供給したNCプログラムに対応する部分を廃棄する。
【0022】
ここで、DNC運転管理部30がNCプログラムの読み出しに利用している通信部とホスト60との間で通信障害や長期の通信遅延が発生すると、障害や遅延が発生した通信経路を用いている通信部内のバッファへのNCプログラムの格納が停止し、そのまま加工運転を継続すると当該バッファ内のNCプログラムが枯渇する。DNC運転管理部30は、現在利用している通信部内のバッファが枯渇することを検知し、NCプログラムを読み出すバッファを別の通信部内のバッファへと切り替える。このように、通信障害が発生しても数値制御部20にはDNC運転管理部30からNCプログラムが供給されるため、工作機械の加工運転制御は継続され停止することはない。
【0023】
図3は、
図2で説明したDNC運転の基本動作を概略フローチャートで示したものである。本フローチャートでは、最初に第1通信部を利用してDNC運転が開始される例を示している。
●[ステップSA01]DNC運転が開始されると、DNC運転管理部30は、第1通信部40が受信したNCプログラムを数値制御部20へと供給し、DNC運転が実施される。
●[ステップSA02]DNC運転管理部30は、第1通信部40内のバッファに格納されているNCプログラムの残量を判定する。NCプログラムの残量が残っている場合にはステップSA03へ進み、残量が残っていない場合にはSA04へ進む。
●[ステップSA03]DNC運転管理部30は、第1通信部40が受信したNCプログラムを数値制御部20へと供給し、DNC運転を継続する。
●[ステップSA04]DNC運転管理部30は、利用するバッファを第2通信部50内のバッファに切り替えて、第2通信部50が受信したNCプログラムを数値制御部20へと供給し、DNC運転を継続する。
【0024】
以下では、本実施の形態におけるDNC運転の動作について詳述する。
<手順1:DNC運転開始>
オペレータが数値制御装置の操作盤を操作するなどしてDNC運転の開始が指令されると、数値制御部20のDNC運転呼び出し手段21が、DNC運転管理部30の送信管理手段31に対してNCプログラムを取得するよう要求する。
【0025】
<手順2:NCプログラム取得要求>
送信管理手段31は、第1通信部40内の第1NCプログラム取得要求送信手段41と第2通信部50内の第2NCプログラム取得要求送信手段51に対して、通信経路を介してNCプログラムを取得するよう要求する。要求を受け付けたそれぞれのNCプログラム取得要求送信手段41,51は、それぞれが用いている通信経路を介して同一のホスト60に対してNCプログラムの取得要求を行う。ホスト60からNCプログラムを取得する通信手法としてはFTPプロトコルやHTTPプロトコルなど、NCプログラムの受信が可能であれば、どのような通信手法を用いてもよいし、それぞれのNCプログラム取得要求送信手段41,51において、異なる通信手法を用いてもよい。
【0026】
<手順3:NCプログラム受信>
第1NCプログラム受信手段42,第2NCプログラム受信手段52は、それぞれ第1NCプログラム取得要求送信手段41、第2NCプログラム取得要求送信手段51が要求したNCプログラムをホスト60から受信する。第1NCプログラム受信手段42が受信したNCプログラムは第1受信データバッファ43に格納され、第2NCプログラム受信手段52が受信したNCプログラムは第2受信データバッファ53に格納される。
【0027】
<手順4:受信バッファ監視>
DNC運転管理部30の受信管理手段32は第1受信データバッファ43と第2受信データバッファ53に格納されたNCプログラムの量を監視する。
【0028】
<手順5:NCプログラム供給開始>
第1受信データバッファ43に一定量のNCプログラムが格納された段階で、受信管理手段32は、数値制御部20の加工用バッファ23に対して、第1受信データバッファ43のNCプログラムの供給を開始する。一定量とは、第1受信データバッファ43の総容量に対する割合(例えば、7割)であってよく、その場合においては、確保できる受信データバッファのサイズや、想定される回線の速度、加工内容などから、一定量を任意に決定するようにしてもよい。
また、第1受信データバッファ43よりも第2受信データバッファ53により多くのNCプログラムが格納されている場合、受信管理手段32は第1受信データバッファ43に代えて、第2受信データバッファ53からNCプログラムを加工用バッファ23に供給するようにしてもよい。その場合は、以降の説明における第1通信部40と第2通信部50およびその内部に用意されたブロック41〜43、51〜53を読み替える。
【0029】
<手順6:NCプログラム廃棄>
受信管理手段32は、加工用バッファ23に第1受信データバッファ43のNCプログラムを供給後、同量のNCプログラムを第2受信データバッファ53から削除する。削除する際には、NCプログラムの量以外にも、供給したNCプログラムのブロック番号などを用いてどこまでNCプログラムを削除するかを決定してもよい。また、削除するべきNCプログラムの部分が第2受信データバッファ53にまだ受信されていない場合には、削除予定量として一時的にメモリに記憶し、当該部分が第2受信データバッファ53に格納されてから削除するようにしてもよい。
【0030】
<手順7:加工運転>
数値制御部20の加工実行手段22は、加工用バッファ23から供給されたNCプログラムを読み出して加工を開始する。
<手順8:加工運転継続>
通信が正常に行われている場合、このまま第1受信データバッファ43に格納されたNCプログラムを使用して、数値制御部20は加工を継続する。
<手順9:通信障害発生>
第1NCプログラム受信手段42とホスト60との間の通信経路上で、通信障害が発生した場合、第1NCプログラム受信手段42から第1受信データバッファ43に対して、NCプログラムの供給が停止する。
【0031】
<手順10:受信データバッファ切替>
第1NCプログラム受信手段42からのNCプログラムの供給が停止すると、第1受信データバッファ43内のNCプログラムは、受信管理手段32が読み出す毎に減少することになる。受信管理手段32は、第1受信データバッファ43から加工用バッファ23へのNCプログラムの供給時に、第1受信データバッファ43内のNCプログラムの量を監視しているため、第1受信データバッファ43内のNCプログラムの量が一定量を下回ることで、通信障害を検出する。一定量とは、受信管理手段32が第1受信データバッファ43から一度に読み出すNCプログラムの量である。
通信障害を検出した受信管理手段32は、NCプログラムの供給元を、第1受信データバッファ43から第2受信データバッファ53へと切り替え、第2受信データバッファ53からNCプログラムを加工用バッファ23に供給する。
このように、第1NCプログラム受信手段42とホスト60との間の通信経路上で通信障害が発生しても、第2NCプログラム受信手段52とホスト60との間の通信経路が正常であれば、第2受信データバッファ53に、NCプログラムが供給され続けるため、受信管理手段32は、加工用バッファ23にNCプログラムを供給し続けることができ、加工実行手段22は停止することはない。
【0032】
図4は、上述した<手順5>の処理を示したフローチャートである。
●[ステップSB01]受信管理手段32は、第1受信データバッファ43に一定量(例えば、バッファサイズの7割以上)のNCプログラムが格納されたか否かを判定する。一定量のNCプログラムが格納された場合にはステップSB02へ進み、まだ格納されていない場合はバッファの監視を継続する。
●[ステップSB02]受信管理手段32は、第2受信データバッファ53に第1受信データバッファ43以上のNCプログラムが格納されているか否かを判定する。第2受信データバッファ53に第1受信データバッファ43以上のNCプログラムが格納されている場合にはステップSB03へ進み、格納されていない場合にはステップSB04へ進む。
●[ステップSB03]受信管理手段32は、第2受信データバッファ53内のNCプログラムを加工用バッファ23へと供給する。
●[ステップSB04]受信管理手段32は、第1受信データバッファ43内のNCプログラムを加工用バッファ23へと供給する。
【0033】
図5は、上述した<手順10>の処理を示したフローチャートである。
●[ステップSC01]受信管理手段32は、第1受信データバッファ43にNCプログラムが1回の読出し量以上格納されているかを判定する。1回の読出し量以上のNCプログラムが格納された場合にはステップSC04へ進み、格納されていない場合はステップSC02へ進む。
●[ステップSC02]受信管理手段32は、第2受信データバッファ53に第1受信データバッファ43以上のNCプログラムが格納されているか否かを判定する。第2受信データバッファ53に第1受信データバッファ43以上のNCプログラムが格納されている場合にはステップSC03へ進み、格納されていない場合にはステップSC04へ進む。
●[ステップSC03]受信管理手段32は、第2受信データバッファ53内のNCプログラムを加工用バッファ23へと供給する。
●[ステップSC04]受信管理手段32は、第1受信データバッファ43内のNCプログラムを加工用バッファ23へと供給する。
【0034】
以上、本発明の第1の実施の形態について説明したが、本発明は上述した実施の形態の例に限定されることなく、適宜の変更を加えることにより、その他の態様で実施することができる。以下にいくつかの変形例を示す。
【0035】
図6は、本発明の第2の実施の形態を説明する図である。本実施の形態においては、第1の実施の形態と同様に、複数の通信部40,50を備えた数値制御装置10がホスト60から同一のNCプログラムを取得することに加えて、各通信部40,50がインターネットを介してホスト60と繋がっている点が異なる。この場合、通信経路に光ケーブルやCATV、ADSLなどの有線による通信経路のほかに、携帯電話網を利用したインターネット接続を利用することが考えられる。また、同じ種類の通信経路を使用する場合であっても、ISP(インターネットサービスプロバイダ)を通信経路毎に変更することで、ホスト60との通信経路を通信経路毎に変更することができる。
【0036】
このような構成を採用することにより、NCプログラムを中央工場に配置したホストやデータセンタなどに記録しておき、当該NCプログラムに基づいたDNC運転を地理的に分散している複数の工場で行うことができ、また、その際に、特定の通信経路やISPにおいて障害が発生したとしても、他方の通信経路、ISP経由でNCプログラムを取得することができるため、安定してDNC運転を継続することが可能となる。
【0037】
図7は、本発明の第3の実施の形態を説明する図である。本実施の形態においては、数値制御装置10は第1の実施の形態と同様の構成を備えているのに加えて、各通信部40,50がアクセスするホストが通信経路毎に異なることを特徴としている。ホスト60,61には、それぞれ同一のNCプログラムを記憶・管理しており、数値制御装置10からのNCプログラム取得要求に応じてNCプログラムを送信する。これらホスト60,61は、第1の実施の形態のように同じネットワーク上に存在してもよいし、第2の実施の形態のようにインターネットを介して接続してもよい。
数値制御装置10においては、第1通信部内のバッファに格納されたNCプログラムと、第2通信部内のバッファに格納されたNCプログラムが同一であることを確認する機能を設けてもよいし、または、同一であることの保証を数値制御装置10のオペレータや、ホストの管理者が行うこととして、数値制御装置10上では行わないようにしてもよい。
【0038】
このような構成を採用することにより、ホストを複数用意するコストと、ホスト内のプログラムが常に同一であることを保証するためのコストが別途発生するが、第1,第2の実施の形態と比較して、通信経路をより明確に別経路とすることができるほか、ホスト自体に発生する障害にも対応することができる。
【0039】
また、これまでの説明では数値制御装置に第1通信部40、第2通信部50の2つの通信部を設けた構成を説明してきたが、通信部は2つに限る必要はなく、3つ以上の通信部を設けるようにしてもよい。
更に、上記説明では、NCプログラムの取得先の通信部の受信データバッファに格納されているNCプログラムが枯渇することで通信障害を検出するようにしているが、通信障害の検出方法はこれに限られるものではなく、各通信部に通信経路の通信状況を監視する手段を設け、通信障害を検出したらDNC運転管理部30へ通知するように構成してもよい。