(57)【特許請求の範囲】
【請求項１】
ホストから通信経路を介して取得したＮＣプログラムを使用したＤＮＣ運転が可能な数値制御装置において、
前記ＮＣプログラムに基づいて工作機械を制御する数値制御部と、
それぞれ異なる通信経路を利用して前記ＮＣプログラムを受信する複数の通信部と、
前記通信部により受信された前記ＮＣプログラムを前記数値制御部へ供給するＤＮＣ運転管理部とを備え、
前記複数の通信部はそれぞれ、
前記ＮＣプログラムを格納する受信データバッファと、
前記ホストから前記ＮＣプログラムを受信して前記受信データバッファに格納するＮＣプログラム受信手段とを有し、
前記ＤＮＣ運転管理部は、
前記複数の通信部の内、いずれかの通信部が有する受信データバッファから前記ＮＣプログラムを取得し、前記取得したＮＣプログラムを前記数値制御部へ供給すると共に、前記通信部が利用する通信経路の通信障害が検出された場合、前記ＮＣプログラムの取得先を他の通信部の受信データバッファへと切り替える受信管理手段を有し、
前記受信管理手段は、前記ＮＣプログラムの取得先となる前記通信部の前記受信データバッファに格納されている前記ＮＣプログラムの残量に基づいて、前記通信部が利用する通信経路の通信障害を検出する、
ことを特徴とする数値制御装置。
【請求項２】
前記通信経路の少なくとも１つがインターネットを経由する、
ことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記複数の通信部は、少なくとも２つ以上の異なるホストのいずれかからそれぞれ前記ＮＣプログラムを受信する、
ことを特徴とする請求項１または２に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関し、特に、ＤＮＣ運転を行っている最中に通信障害が発生した場合においてもＤＮＣ運転を継続することができる数値制御装置に関する。
【背景技術】
【０００２】
通常、数値制御装置は、数値制御装置内の記憶媒体（不揮発性メモリや、ＨＤＤなど）に格納されているＮＣプログラムを使用することで、加工を行う。一方で、通信回線に接続された数値制御装置では、記憶媒体に格納されたＮＣプログラムではなく、通信回線を介してホスト（ＦＴＰサーバや、ＨＴＴＰサーバなどが動作するコンピュータ）から供給されるＮＣプログラムを記憶媒体に保存せずにそのまま使用して加工を行う機能を備えている。このような、通信回線などを介してＮＣプログラムを転送しながら工作機械を運転する手法はＤＮＣ運転と呼ばれている。
【０００３】
ＤＮＣ運転は、ホストからのＮＣプログラムの受信とワークの加工を同時に行うため、数値制御装置とホストとの間の通信回線において、通信障害が発生した場合、数値制御装置はＮＣプログラムを受信できず、加工が途中で停止してしまう。加工が途中で停止してしまうと、ワークにカッタマークが付いたり振動が発生したりする問題がある。また、加工を再開するには、通信障害を解決する必要があり、その解決にかかった時間分、加工時間が延びてしまう問題がある。
【０００４】
そこで、ＤＮＣ運転を行う際には、図８（ａ）に示すように、数値制御装置１０内の通信部４０内にバッファを設け、通信部４０が、ホスト６０と通信を行って受信したＮＣプログラムを通信部４０内のバッファに逐次格納し、ＤＮＣ運転管理部３０が通信部４０内のバッファから数値制御部２０へＮＣプログラムを供給する手法が使われている。通信部４０内にバッファを設けることによって、一時的な通信障害が発生した場合であれば通信部４０内のバッファに蓄積されたＮＣプログラムを用いることができるため、加工の停止を回避することができる。
【０００５】
また、特許文献１では、ワークにカッタマークが付いたり振動が発生したりする問題を回避するために、通信障害などによってＮＣプログラムの受信が停止した場合、切削中の工具を工具装着の軸方向に退避させる機能を備えたＤＮＣ運転手法が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第３２３０９２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、数値制御装置内にバッファを用意する手法は、非常に短い時間で復旧する通信障害や、一時的な通信遅延に対しては一定の効果はあるものの、通信障害や通信遅延が長時間化した場合、図８（ｂ）に示すように、バッファ内のＮＣプログラムが枯渇し、ＤＮＣ運転管理部３０は、数値制御部２０にＮＣプログラムを供給できなくなり、結果として加工が停止してしまうという問題がある。
【０００８】
また、特許文献１に記載の技術は、通信障害などが発生した場合の影響を低く抑えるための機能であり、通信障害が長時間化した場合の加工時間が延びてしまう問題を解決するものではない。
【０００９】
そこで本発明の目的は、従来技術と比較して通信障害に強いＤＮＣ運転の仕組みを備えた数値制御装置を提供することである。
【課題を解決するための手段】
【００１０】
本願の請求項１に係る発明は、ホストから通信経路を介して取得したＮＣプログラムを使用したＤＮＣ運転が可能な数値制御装置において、前記ＮＣプログラムに基づいて工作機械を制御する数値制御部と、それぞれ異なる通信経路を利用して前記ＮＣプログラムを受信する複数の通信部と、前記通信部により受信された前記ＮＣプログラムを前記数値制御部へ供給するＤＮＣ運転管理部とを備え、前記複数の通信部はそれぞれ、前記ＮＣプログラムを格納する受信データバッファと、前記ホストから前記ＮＣプログラムを受信して前記受信データバッファに格納するＮＣプログラム受信手段とを有し、前記ＤＮＣ運転管理部は、前記複数の通信部の内、いずれかの通信部が有する受信データバッファから前記ＮＣプログラムを取得し、前記取得したＮＣプログラムを前記数値制御部へ供給すると共に、前記通信部が利用する通信経路の通信障害が検出された場合、前記ＮＣプログラムの取得先を他の通信部の受信データバッファへと切り替える受信管理手段を有し、前記受信管理手段は、前記ＮＣプログラムの取得先となる前記通信部の前記受信データバッファに格納されている前記ＮＣプログラムの残量に基づいて、前記通信部が利用する通信経路の通信障害を検出する、ことを特徴とする数値制御装置である。
【００１１】
本願の請求項２に係る発明は、前記通信経路の少なくとも１つがインターネットを経由する、ことを特徴とする請求項１に記載の数値制御装置である。
【００１２】
本願の請求項３に係る発明は、前記複数の通信部は、少なくとも２つ以上の異なるホストのいずれかからそれぞれ前記ＮＣプログラムを受信する、ことを特徴とする請求項１または２に記載の数値制御装置である。
【発明の効果】
【００１４】
本発明により、ＤＮＣ運転中に通信障害が発生し、加工動作が途中で停止してしまうことによりワークにカッタマークが付いたり振動が発生したりする問題の回避と加工時間の遅延の防止が可能となる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施の形態における数値制御装置の要部ブロック図である。
【図２】本発明の第１の実施の形態におけるＤＮＣ運転動作の概要を示す図である。
【図３】本発明の第１の実施の形態におけるＤＮＣ運転動作の概略フローチャートである。
【図４】本発明の第１の実施の形態におけるＮＣプログラム供給手順のフローチャートである。
【図５】本発明の第１の実施の形態における受信データバッファ切替手順のフローチャートである。
【図６】本発明の第２の実施の形態におけるＤＮＣ運転動作の概要を示す図である。
【図７】本発明の第３の実施の形態におけるＤＮＣ運転動作の概要を示す図である。
【図８】従来技術におけるＤＮＣ運転の問題点を説明する図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態を図面と共に説明する。なお、従来技術の説明と同一または類似の構成については同一の符号を用いる。
図１は、本発明の第１の実施の形態における数値制御装置の要部ブロック図である。数値制御装置１０は、数値制御部２０、ＤＮＣ運転管理部３０、第１通信部４０、第２通信部５０を備えている。
【００１７】
数値制御部２０は、ＤＮＣ運転呼び出し手段２１と、加工実行手段２２と、加工実行手段２２が使用するＮＣプログラムを一時的に格納する加工用バッファ２３とを備えている。ＤＮＣ運転呼び出し手段２１は、ＤＮＣ運転を行う際に、後述するＤＮＣ運転管理部３０の送信管理手段３１に対してＮＣプログラムの送信を要求する。加工実行手段２２は、加工用バッファ２３に格納されたＮＣプログラムに基づいて数値制御装置１０の各部に指令して工作機械による加工動作を制御する。
【００１８】
ＤＮＣ運転管理部３０は、ＤＮＣ運転呼び出し手段２１からＮＣプログラムの要求を受け付ける送信管理手段３１と、後述する第１受信データバッファ４３と第２受信データバッファ５３からＮＣプログラムを読み出して、加工用バッファ２３にＮＣプログラムを供給する受信管理手段３２とを備えている。
【００１９】
第１通信部４０は、送信管理手段３１からＮＣプログラムの送信要求を受け付けてホスト６０に対してＮＣプログラムの送信を要求する第１ＮＣプログラム取得要求送信手段４１と、ホスト６０からＮＣプログラムを受信する第１ＮＣプログラム受信手段４２と、第１ＮＣプログラム受信手段４２が受信したＮＣプログラムを格納する第１受信データバッファ４３とを備えている。
また、第２通信部５０は、第１通信部４０と同様の機能を持つ、第２ＮＣプログラム取得要求送信手段５１と、第２ＮＣプログラム受信手段５２と、第２受信データバッファ５３とを備えている。
【００２０】
図２は、図１に示す機能ブロックを有する本実施の形態における数値制御装置１０上で実行されるＤＮＣ運転の基本動作の概要を説明する図である。
本実施の形態の数値制御装置１０は、図１において説明したとおり、第１通信部４０、第２通信部５０という複数の通信部を備えている。これら複数の通信部は、それぞれ異なる通信経路（例えば、有線ケーブルで繋がった経路と無線で繋がった経路など）を経由して同一のホスト６０にアクセスし、ホスト６０に対してそれぞれの通信部が独立して、同一のＮＣプログラムの送信を要求する。
【００２１】
ホスト６０はそれぞれの通信部の要求に応じて、異なる通信経路を経由してそれぞれの通信部にＮＣプログラムを送信し、当該ＮＣプログラムを各通信部が受信して、それぞれの通信部内のバッファへと格納する。
ＤＮＣ運転管理部３０では、２つの通信部のうち、いずれか一方の通信部内のバッファからＮＣプログラムを読み出して数値制御部２０に供給し、他方の通信部内のバッファに蓄積されたＮＣプログラムからは、数値制御部２０へと供給したＮＣプログラムに対応する部分を廃棄する。
【００２２】
ここで、ＤＮＣ運転管理部３０がＮＣプログラムの読み出しに利用している通信部とホスト６０との間で通信障害や長期の通信遅延が発生すると、障害や遅延が発生した通信経路を用いている通信部内のバッファへのＮＣプログラムの格納が停止し、そのまま加工運転を継続すると当該バッファ内のＮＣプログラムが枯渇する。ＤＮＣ運転管理部３０は、現在利用している通信部内のバッファが枯渇することを検知し、ＮＣプログラムを読み出すバッファを別の通信部内のバッファへと切り替える。このように、通信障害が発生しても数値制御部２０にはＤＮＣ運転管理部３０からＮＣプログラムが供給されるため、工作機械の加工運転制御は継続され停止することはない。
【００２３】
図３は、図２で説明したＤＮＣ運転の基本動作を概略フローチャートで示したものである。本フローチャートでは、最初に第１通信部を利用してＤＮＣ運転が開始される例を示している。
●［ステップＳＡ０１］ＤＮＣ運転が開始されると、ＤＮＣ運転管理部３０は、第１通信部４０が受信したＮＣプログラムを数値制御部２０へと供給し、ＤＮＣ運転が実施される。
●［ステップＳＡ０２］ＤＮＣ運転管理部３０は、第１通信部４０内のバッファに格納されているＮＣプログラムの残量を判定する。ＮＣプログラムの残量が残っている場合にはステップＳＡ０３へ進み、残量が残っていない場合にはＳＡ０４へ進む。
●［ステップＳＡ０３］ＤＮＣ運転管理部３０は、第１通信部４０が受信したＮＣプログラムを数値制御部２０へと供給し、ＤＮＣ運転を継続する。
●［ステップＳＡ０４］ＤＮＣ運転管理部３０は、利用するバッファを第２通信部５０内のバッファに切り替えて、第２通信部５０が受信したＮＣプログラムを数値制御部２０へと供給し、ＤＮＣ運転を継続する。
【００２４】
以下では、本実施の形態におけるＤＮＣ運転の動作について詳述する。
＜手順１：ＤＮＣ運転開始＞
オペレータが数値制御装置の操作盤を操作するなどしてＤＮＣ運転の開始が指令されると、数値制御部２０のＤＮＣ運転呼び出し手段２１が、ＤＮＣ運転管理部３０の送信管理手段３１に対してＮＣプログラムを取得するよう要求する。
【００２５】
＜手順２：ＮＣプログラム取得要求＞
送信管理手段３１は、第１通信部４０内の第１ＮＣプログラム取得要求送信手段４１と第２通信部５０内の第２ＮＣプログラム取得要求送信手段５１に対して、通信経路を介してＮＣプログラムを取得するよう要求する。要求を受け付けたそれぞれのＮＣプログラム取得要求送信手段４１，５１は、それぞれが用いている通信経路を介して同一のホスト６０に対してＮＣプログラムの取得要求を行う。ホスト６０からＮＣプログラムを取得する通信手法としてはＦＴＰプロトコルやＨＴＴＰプロトコルなど、ＮＣプログラムの受信が可能であれば、どのような通信手法を用いてもよいし、それぞれのＮＣプログラム取得要求送信手段４１，５１において、異なる通信手法を用いてもよい。
【００２６】
＜手順３：ＮＣプログラム受信＞
第１ＮＣプログラム受信手段４２，第２ＮＣプログラム受信手段５２は、それぞれ第１ＮＣプログラム取得要求送信手段４１、第２ＮＣプログラム取得要求送信手段５１が要求したＮＣプログラムをホスト６０から受信する。第１ＮＣプログラム受信手段４２が受信したＮＣプログラムは第１受信データバッファ４３に格納され、第２ＮＣプログラム受信手段５２が受信したＮＣプログラムは第２受信データバッファ５３に格納される。
【００２７】
＜手順４：受信バッファ監視＞
ＤＮＣ運転管理部３０の受信管理手段３２は第１受信データバッファ４３と第２受信データバッファ５３に格納されたＮＣプログラムの量を監視する。
【００２８】
＜手順５：ＮＣプログラム供給開始＞
第１受信データバッファ４３に一定量のＮＣプログラムが格納された段階で、受信管理手段３２は、数値制御部２０の加工用バッファ２３に対して、第１受信データバッファ４３のＮＣプログラムの供給を開始する。一定量とは、第１受信データバッファ４３の総容量に対する割合（例えば、７割）であってよく、その場合においては、確保できる受信データバッファのサイズや、想定される回線の速度、加工内容などから、一定量を任意に決定するようにしてもよい。
また、第１受信データバッファ４３よりも第２受信データバッファ５３により多くのＮＣプログラムが格納されている場合、受信管理手段３２は第１受信データバッファ４３に代えて、第２受信データバッファ５３からＮＣプログラムを加工用バッファ２３に供給するようにしてもよい。その場合は、以降の説明における第１通信部４０と第２通信部５０およびその内部に用意されたブロック４１〜４３、５１〜５３を読み替える。
【００２９】
＜手順６：ＮＣプログラム廃棄＞
受信管理手段３２は、加工用バッファ２３に第１受信データバッファ４３のＮＣプログラムを供給後、同量のＮＣプログラムを第２受信データバッファ５３から削除する。削除する際には、ＮＣプログラムの量以外にも、供給したＮＣプログラムのブロック番号などを用いてどこまでＮＣプログラムを削除するかを決定してもよい。また、削除するべきＮＣプログラムの部分が第２受信データバッファ５３にまだ受信されていない場合には、削除予定量として一時的にメモリに記憶し、当該部分が第２受信データバッファ５３に格納されてから削除するようにしてもよい。
【００３０】
＜手順７：加工運転＞
数値制御部２０の加工実行手段２２は、加工用バッファ２３から供給されたＮＣプログラムを読み出して加工を開始する。
＜手順８：加工運転継続＞
通信が正常に行われている場合、このまま第１受信データバッファ４３に格納されたＮＣプログラムを使用して、数値制御部２０は加工を継続する。
＜手順９：通信障害発生＞
第１ＮＣプログラム受信手段４２とホスト６０との間の通信経路上で、通信障害が発生した場合、第１ＮＣプログラム受信手段４２から第１受信データバッファ４３に対して、ＮＣプログラムの供給が停止する。
【００３１】
＜手順１０：受信データバッファ切替＞
第１ＮＣプログラム受信手段４２からのＮＣプログラムの供給が停止すると、第１受信データバッファ４３内のＮＣプログラムは、受信管理手段３２が読み出す毎に減少することになる。受信管理手段３２は、第１受信データバッファ４３から加工用バッファ２３へのＮＣプログラムの供給時に、第１受信データバッファ４３内のＮＣプログラムの量を監視しているため、第１受信データバッファ４３内のＮＣプログラムの量が一定量を下回ることで、通信障害を検出する。一定量とは、受信管理手段３２が第１受信データバッファ４３から一度に読み出すＮＣプログラムの量である。
通信障害を検出した受信管理手段３２は、ＮＣプログラムの供給元を、第１受信データバッファ４３から第２受信データバッファ５３へと切り替え、第２受信データバッファ５３からＮＣプログラムを加工用バッファ２３に供給する。
このように、第１ＮＣプログラム受信手段４２とホスト６０との間の通信経路上で通信障害が発生しても、第２ＮＣプログラム受信手段５２とホスト６０との間の通信経路が正常であれば、第２受信データバッファ５３に、ＮＣプログラムが供給され続けるため、受信管理手段３２は、加工用バッファ２３にＮＣプログラムを供給し続けることができ、加工実行手段２２は停止することはない。
【００３２】
図４は、上述した＜手順５＞の処理を示したフローチャートである。
●［ステップＳＢ０１］受信管理手段３２は、第１受信データバッファ４３に一定量（例えば、バッファサイズの７割以上）のＮＣプログラムが格納されたか否かを判定する。一定量のＮＣプログラムが格納された場合にはステップＳＢ０２へ進み、まだ格納されていない場合はバッファの監視を継続する。
●［ステップＳＢ０２］受信管理手段３２は、第２受信データバッファ５３に第１受信データバッファ４３以上のＮＣプログラムが格納されているか否かを判定する。第２受信データバッファ５３に第１受信データバッファ４３以上のＮＣプログラムが格納されている場合にはステップＳＢ０３へ進み、格納されていない場合にはステップＳＢ０４へ進む。
●［ステップＳＢ０３］受信管理手段３２は、第２受信データバッファ５３内のＮＣプログラムを加工用バッファ２３へと供給する。
●［ステップＳＢ０４］受信管理手段３２は、第１受信データバッファ４３内のＮＣプログラムを加工用バッファ２３へと供給する。
【００３３】
図５は、上述した＜手順１０＞の処理を示したフローチャートである。
●［ステップＳＣ０１］受信管理手段３２は、第１受信データバッファ４３にＮＣプログラムが１回の読出し量以上格納されているかを判定する。１回の読出し量以上のＮＣプログラムが格納された場合にはステップＳＣ０４へ進み、格納されていない場合はステップＳＣ０２へ進む。
●［ステップＳＣ０２］受信管理手段３２は、第２受信データバッファ５３に第１受信データバッファ４３以上のＮＣプログラムが格納されているか否かを判定する。第２受信データバッファ５３に第１受信データバッファ４３以上のＮＣプログラムが格納されている場合にはステップＳＣ０３へ進み、格納されていない場合にはステップＳＣ０４へ進む。
●［ステップＳＣ０３］受信管理手段３２は、第２受信データバッファ５３内のＮＣプログラムを加工用バッファ２３へと供給する。
●［ステップＳＣ０４］受信管理手段３２は、第１受信データバッファ４３内のＮＣプログラムを加工用バッファ２３へと供給する。
【００３４】
以上、本発明の第１の実施の形態について説明したが、本発明は上述した実施の形態の例に限定されることなく、適宜の変更を加えることにより、その他の態様で実施することができる。以下にいくつかの変形例を示す。
【００３５】
図６は、本発明の第２の実施の形態を説明する図である。本実施の形態においては、第１の実施の形態と同様に、複数の通信部４０，５０を備えた数値制御装置１０がホスト６０から同一のＮＣプログラムを取得することに加えて、各通信部４０，５０がインターネットを介してホスト６０と繋がっている点が異なる。この場合、通信経路に光ケーブルやＣＡＴＶ、ＡＤＳＬなどの有線による通信経路のほかに、携帯電話網を利用したインターネット接続を利用することが考えられる。また、同じ種類の通信経路を使用する場合であっても、ＩＳＰ（インターネットサービスプロバイダ）を通信経路毎に変更することで、ホスト６０との通信経路を通信経路毎に変更することができる。
【００３６】
このような構成を採用することにより、ＮＣプログラムを中央工場に配置したホストやデータセンタなどに記録しておき、当該ＮＣプログラムに基づいたＤＮＣ運転を地理的に分散している複数の工場で行うことができ、また、その際に、特定の通信経路やＩＳＰにおいて障害が発生したとしても、他方の通信経路、ＩＳＰ経由でＮＣプログラムを取得することができるため、安定してＤＮＣ運転を継続することが可能となる。
【００３７】
図７は、本発明の第３の実施の形態を説明する図である。本実施の形態においては、数値制御装置１０は第１の実施の形態と同様の構成を備えているのに加えて、各通信部４０，５０がアクセスするホストが通信経路毎に異なることを特徴としている。ホスト６０，６１には、それぞれ同一のＮＣプログラムを記憶・管理しており、数値制御装置１０からのＮＣプログラム取得要求に応じてＮＣプログラムを送信する。これらホスト６０，６１は、第１の実施の形態のように同じネットワーク上に存在してもよいし、第２の実施の形態のようにインターネットを介して接続してもよい。
数値制御装置１０においては、第１通信部内のバッファに格納されたＮＣプログラムと、第２通信部内のバッファに格納されたＮＣプログラムが同一であることを確認する機能を設けてもよいし、または、同一であることの保証を数値制御装置１０のオペレータや、ホストの管理者が行うこととして、数値制御装置１０上では行わないようにしてもよい。
【００３８】
このような構成を採用することにより、ホストを複数用意するコストと、ホスト内のプログラムが常に同一であることを保証するためのコストが別途発生するが、第１，第２の実施の形態と比較して、通信経路をより明確に別経路とすることができるほか、ホスト自体に発生する障害にも対応することができる。
【００３９】
また、これまでの説明では数値制御装置に第１通信部４０、第２通信部５０の２つの通信部を設けた構成を説明してきたが、通信部は２つに限る必要はなく、３つ以上の通信部を設けるようにしてもよい。
更に、上記説明では、ＮＣプログラムの取得先の通信部の受信データバッファに格納されているＮＣプログラムが枯渇することで通信障害を検出するようにしているが、通信障害の検出方法はこれに限られるものではなく、各通信部に通信経路の通信状況を監視する手段を設け、通信障害を検出したらＤＮＣ運転管理部３０へ通知するように構成してもよい。
【符号の説明】
【００４０】
１０    数値制御装置
２０    数値制御部
２１    ＤＮＣ運転呼び出し手段
２２    加工実行手段
２３    加工用バッファ
３０    ＤＮＣ運転管理部
３１    送信管理手段
３２    受信管理手段
４０    第１通信部
４１    第１ＮＣプログラム取得要求送信手段
４２    第１ＮＣプログラム受信手段
４３    第１受信データバッファ
５０    第２通信部
５１    第２ＮＣプログラム取得要求送信手段
５２    第２ＮＣプログラム受信手段
５３    第２受信データバッファ
６０    ホストまたは第１ホスト
６１    第２ホスト
【図１】
0006054927.tif 000002
【図３】
0006054927.tif 000003
【図４】
0006054927.tif 000004
【図５】
0006054927.tif 000005
【図２】
0006054927.tif 000006
【図６】
0006054927.tif 000007
【図７】
0006054927.tif 000008
【図８】
0006054927.tif 000009