(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0021】
以下、本発明の実施形態を図面と共に説明する。
本発明のDNC装置は、ホストコンピュータ(以下、「ホスト装置」という。)より、双方向の通信回線を介してNCデータを数値制御装置に逐次送信し、該送信されたNCデータを用いて運転を行う数値制御方式(以降、DNC運転)において、数値制御装置が、ホスト装置に内蔵または接続されたハードディスク、ソリッドステート・ドライブ、コンパクト・フラッシュカードなどの記憶装置上のNCデータを利用するだけで、サブプログラム呼び出し、繰り返し命令、および、分岐命令が実行可能なDNC運転を実現する。なお、数値制御装置は、NCデータ(加工プログラムなど)に従って工作機械や産業用機械などを制御する。
【0022】
<請求項1、請求項3に係る発明の実施形態>
図1は本発明のDNC運転を実現するためのDNC運転装置の概略のブロック構成図である。また、
図2は
図1に示されるDNC運転装置で実行されるプログラムを説明する図である。DNC運転装置は、ホスト装置100と数値制御装置300を双方向通信が可能な例えばイーサネット(登録商標)のような双方向通信回線200で接続する。
(1)数値制御装置300は、運転モードをDNC運転モードに変更し、運転開始指令により、ホスト装置100から双方向通信回線200経由で送信される第1回目のNCデータ510の受信を待つ。
(2)ホスト装置100は、オペレータの操作などによって数値制御装置300がDNC運転モードに変更され、NCデータの受信待ちになったことを確認した後、第1回目に送信するNCデータ510を、記憶装置160からNCデータ読み込み処理部140で取得し、NCデータ送信処理部110から双方向通信回線200経由で送信する。
(3)数値制御装置300は第1回目のNCデータ510をNCデータ受信処理部310で受信し、該受信した第1回目のNCデータ510をNCデータ解析処理部320で順次解析し、判断部325で、サブプログラム呼び出し、繰り返し命令、および分岐命令の何れかがあるかの判断を行う。
(4)数値制御装置300は、解析したNCデータが他の命令(つまり、サブプログラム呼び出し、繰り返し命令、および分岐命令以外の命令)であった場合は、NCデータ実行処理部340へ解析したデータを送り、運転指令実行部380からサーボ制御部390を通し、サーボモータ400を駆動して、NCデータの実行を行う。
(5)数値制御装置300は、NCデータが、サブプログラム呼び出し、繰り返し命令、および分岐命令の何れかであった場合は、ホスト装置100がホスト装置100内の記憶装置160上のNCデータから、該命令を実行するために必要なNCデータを検索するための検索情報370を、数値制御装置300内の記憶装置345上へ検索情報書き込み処理部360で書き込み、受信済みのNCデータを破棄し、検索情報370に書き込んだ内容に対する検索されたNCデータがホスト装置100から送信されるのを待つ。
【0023】
図1、
図2の例では、NCデータ510内の“N010 M98P2000L1”がサブプログラム呼び出し指令であるため、サブプログラム呼び出し情報350の実行中のネスティング番号を確認する。ネスティング番号が“0”であるため、ネスティング1の情報に、[サブプログラム名称]、[繰り返し回数(L1指定なので1回)]、[呼び出し元のプログラム名称(O1000)]、[復帰先のNCデータ情報(N011 X10.;へのポインタ)]を書き込み、実行中のネスティング番号に”1”を設定し、さらに繰り返し回数から”1”を減算した後、検索情報として[サブプログラム名称(O2000)]を検索情報370に書き込み、NCデータ510で受信済みの”N011 X10.;”以降のブロックのNCデータを破棄する。
(6)ホスト装置100は、第2回目に送信する予定のNCデータ520を送信する前に、検索情報読み込み処理部170で検索情報370の内容を双方向通信回線200経由で読み込んで確認する。記憶装置345上の検索情報370に何も情報が書き込まれていない場合は、そのまま第2回目のNCデータ520を送信する。
図1、
図2の例では、検索情報370として(5)で書き込まれた検索情報[サブプログラム名称(O2000)]が存在するため、NCデータ検索処理部150が検索情報を元に、記憶装置160から必要なNCデータ530を検索し、NCデータ読み込み処理部140を用いて、送信するNCデータ530を読み出した後、検索情報370の内容を双方向通信回線200経由でクリアするとともに、検索されたNCデータ530をNCデータ送信処理部110から送信する。
(7)数値制御装置300は、再度受信したNCデータ530をNCデータ解析処理部320で解析し、(4)と同様にNCデータの実行を行うが、NCデータ530に存在する分岐命令(”N005 GOTO 10”)を解析した時点で、分岐先の[プログラム名称(O2000)]と[シーケンス番号(N010)]を検索情報370に書き込み、NCデータ530で受信済みの”N006 Z0.;”以降のNCデータを破棄し、分岐先のNCデータ540がホスト装置100から送信されるのを待つ。
(8)ホスト装置100は、NCデータ530の送信後は、次に送信するデータが不明なため、検索情報読み込み処理部170を用い、一定間隔で検索情報370の確認を行う。その後、(7)で書き込まれた検索情報370の内容を読み込んだ時点で、次に送信するNCデータ540をNCデータ検索処理部150で検索し、NCデータ読み込み処理部140を用いて、記憶装置160から読み込み、NCデータ送信処理部110から送信する。
(9)数値制御装置300は、受信したNCデータ540をNCデータ解析処理部320で解析し、(4)と同様にNCデータの実行を行うが、NCデータ540には、”N099 M99”のブロック(エンドオブサブプログラム)が存在するため、このブロックを解析した後、サブプログラム呼び出し情報350の実行中のネスティング番号(
図2の例では、“1”)すなわち、ネスティング1の情報内の繰り返し回数を確認する。繰り返し回数に”0”が書き込まれているため、サブプログラム呼び出しの終了と見なし、実行中のネスティング番号から”1”を減算し”0”とした後に、サブプログラム呼び出し情報350のネスティング1の情報に書き込まれている[呼び出し元のプログラム名称(O1000)]、[復帰先のNCデータ情報(N011 X10.;へのポインタ)]を検索情報として検索情報370へ書き込み、サブプログラム呼び出し後に実行するNCデータ550がホスト装置100から送信されるのを待つ。
(10)ホスト装置100は、NCデータ540の送信後は、次に送信するデータが不明なため、検索情報読み込み処理部170を用い、一定間隔で検索情報370の確認を行う。その後、(9)で書き込まれた検索情報370の内容を読み込んだ時点で、次回に送信するNCデータ550を記憶装置160からNCデータ検索処理部150で検索し、NCデータ読み込み処理部140を用いて、記憶装置160から読み込み、NCデータ送信処理部110から双方向通信回線200を介して数値制御装置300に送信する。
(11)数値制御装置300は、受信したNCデータ550をNCデータ解析処理部320で解析し、サブプログラム呼び出し、繰り返し命令、および、分岐命令のいずれも存在しないため、順次、NCデータ実行処理部340へデータを送り、(4)と同様にNCデータの実行を行い、”N099 M30(プログラムエンド)”を実行してDNC運転を終了する。
【0024】
ここで、
図1に示されるホスト装置100と数値制御装置300で実行される処理を
図3,
図4のフローチャートを用いて説明する。
図3は
図1に示されるホスト装置100で実行される処理のフローを説明する図である。
図4は
図1に示される数値制御装置300で実行される処理のフローを説明する図である。
【0025】
(ホスト装置100が実行する処理のフロー)
●[ステップSA01]数値制御装置はDNC運転モードか否かを判断し、DNC運転モードの場合(YES)、ステップSA02に移行する。DNC運転モードではない場合(NO)、DNC運転モードに切替わるのを待つ。
●[ステップSA02]数値制御装置300内の記憶装置の検索情報370の読み込み処理を行う。
●[ステップSA03]ステップSA02の処理で検索情報370はあったか否かを判断し、検索情報370があった場合(YES)、ステップSA04へ移行し、無かった場合(NO)、ステップSA05へ移行する。
●[ステップSA04]記憶装置160から検索情報370に対応するNCデータを検索する。
●[ステップSA05]記憶装置160から検索情報370に対応するNCデータ(検索情報370があった場合)、または前回送信したNCデータの続き(検索情報370が無かった場合)を読み込む。
●[ステップSA06]ステップSA05で読み込んだNCデータを数値制御装置300へ送信する。
●[ステップSA07]NCデータの最後の送信データか否かを判断し、最後の送信データの場合(YES)、処理を終了し、最後の送信データでない場合(NO)、ステップSA02へ戻り、処理を継続する。
【0026】
(数値制御装置300が実行する処理のフロー)
●[ステップSB01]DNC運転モードへの切替えを行う。例えば、オペレータが操作画面などからDNC運転モードへの切替えを指令したか否かを監視し、切替え指令が確認された場合にDNC運転モードへ切替える。
●[ステップSB02]DNC運転を開始する。
●[ステップSB03]ホスト装置100からのNCデータを受信したか否かを判断し、NCデータを受信した場合(YES)、ステップSB04へ移行し、NCデータを受信していない場合(NO)、NCデータを受信するのを待つ。
●[ステップSB04]受信したNCデータの1つのブロックを解析する。
●[ステップSB05]DNC運転の最後のデータか否か判断し、最後のデータの場合(YES)、処理を終了し、最後のデータではない場合(NO)、ステップSB06へ移行する。
●[ステップSB06]サブプログラム呼び出し、繰り返し命令、および分岐命令の何れかかを判断し(つまり、サブプログラム呼び出し、繰り返し命令および分岐命令の何れかがあるか否かを判断し)、何れかの場合(YES)、ステップSB07へ移行し、何れでもない場合(NO)、ステップSB11へ移行する。
●[ステップSB07]サブプログラム呼び出しの場合のみサブプログラム呼び出し情報を格納する。
●[ステップSB08]検索情報を抽出する。
●[ステップSB09]検索情報の書き込みを行う。
●[ステップSB10]受信済みの残りのNCデータを破棄し、ステップSB03へ戻り、処理を継続する。
●[ステップSB11]NCデータを実行する。
●[ステップSB12]受信したNCデータの最後のブロックであるか否かを判断し、最後のブロックの場合(YES)、ステップSB03に戻り処理を継続し、最後のブロックではない場合(NO)、ステップSB04へ戻り処理を継続する。
【0027】
<請求項2、請求項3に係る発明の実施形態>
図5は本発明のDNC運転を実現するための他のDNC運転装置の概略のブロック構成図である。
図6は
図5に示されるDNC運転装置で実行されるプログラムを説明する図である。
(1)数値制御装置300は、運転モードをDNC運転モードに変更し、運転開始指令により、ホスト装置100から双方向通信回線200経由で送信される第1回目のNCデータ510の受信を待つ。
(2)ホスト装置100は、数値制御装置300がDNC運転モードに変更され、NCデータの受信待ちになったことを確認した後、第1回目に送信するNCデータ510を、記憶装置160からNCデータ読み込み処理部140で取得し、NCデータ送信処理部110から双方向通信回線200経由で送信する。
(3)数値制御装置300は、第1回目のNCデータ510をNCデータ受信処理部310で受信し、該受信した第1回目のNCデータ510をNCデータ解析処理部320で順次解析し、判断部325で、サブプログラム呼び出し、繰り返し命令、および分岐命令の何れかがあるかの判断を行う。
(4)数値制御装置300は判断部325で、解析したNCデータが他の命令(つまり、サブプログラム呼び出し、繰り返し命令、および分岐命令以外の命令)であった場合は、NCデータ実行処理部340へデータを送り、運転指令実行部380からサーボ制御部390を通し、サーボモータ400を駆動して、NCデータの実行を行う。
(5)数値制御装置300は、NCデータが、サブプログラム呼び出し、繰り返し命令、および、分岐命令のいずれかであった場合は、ホスト装置100がホスト装置100内の記憶装置160上のNCデータから、該命令を実行するために必要なNCデータを検索するための検索情報375を、検索情報送信処理部365でホスト装置100へ送信し、受信済みのNCデータを破棄し、送信した検索情報375の内容に対する検索されたNCデータがホスト装置100から送信されるのを待つ。
図5,
図6の例では、NCデータ510内の“N010 M98P2000L1”がサブプログラム呼び出し指令であるため、サブプログラム呼び出し情報350の実行中のネスティング番号を確認する。ネスティング番号が“0”であるため、ネスティング1の情報に、[サブプログラム名称]、[繰り返し回数(L1指定なので1回)]、[呼び出し元のプログラム名称(O1000)]、[復帰先のNCデータ情報(N011 X10.;へのポインタ)]を書き込み、実行中のネスティング番号に”1”を設定し、さらに繰り返し回数から”1”を減算した後、検索情報375として[サブプログラム名称(O2000)]を検索情報送信処理部365からホスト装置100に送信し、NCデータ510で受信済みの”N011 X10.;”以降のNCデータを破棄する。
(6)ホスト装置100は、第2回目に送信する予定のNCデータ520を送信する前に、検索情報取得処理部175に数値制御装置300の検索情報送信処理部365から送信された検索情報375が存在するかを確認する。検索情報375が取得されていない場合は、そのまま第2回目のNCデータ520を送信するが、
図5、
図6の例では、(5)で送信された検索情報375の[サブプログラム名称(O2000)]が取得されているため、NCデータ検索処理部150が検索情報を元に、記憶装置160から必要なNCデータ530を検索し、NCデータ読み込み処理部140を用いて、送信するNCデータ530を読み出した後、検索されたNCデータ530をNCデータ送信処理部110から送信する。
(7)数値制御装置300は、再度受信したNCデータ530をNCデータ解析処理部320で解析し、(4)と同様にNCデータの実行を行うが、NCデータ530に存在する分岐命令(”N005 GOTO 10”)を解析した時点で、分岐先の[プログラム名称(O2000)]と[シーケンス番号(N010)]を検索情報375として検索情報送信処理部365からホスト装置へ送信し、NCデータ530で受信済みの”N006 Z0.;”以降のNCデータを破棄し、分岐先のNCデータ540がホスト装置100から送信されるのを待つ。
(8)ホスト装置100は、NCデータ530の送信後は、次に送信するデータが不明なため、一定間隔で検索情報受信処理部175で取得される検索情報375の確認を行う。その後、(7)で送信された検索情報375の取得を確認した時点で、次に送信するNCデータ540をNCデータ検索処理部150で検索し、NCデータ読み込み処理部140を用いて、記憶装置160から読み込み、NCデータ送信処理部110から送信する。
(9)数値制御装置300は、受信したNCデータ540をNCデータ解析処理部320で解析し、(4)同様にNCデータの実行を行うが、NCデータ540には、”N099 M99”のブロック(エンドオブサブプログラム)が存在するため、このブロックを解析した後、サブプログラム呼び出し情報350の実行中のネスティング番号(
図6の例では、“1”)すなわち、ネスティング1の情報の繰り返し回数を確認する。繰り返し回数に”0”が書き込まれているため、サブプログラム呼び出しの終了と見なし、実行中のネスティング番号から”1”を減算し”0”とした後に、サブプログラム呼び出し情報(350)のネスティング1の情報に書き込まれている[呼び出し元のプログラム名称(O1000)]、[復帰先のNCデータ情報(N011 X10.;へのポインタ)]を検索情報375として検索情報送信処理部365からホスト装置100へ送信し、サブプログラム呼び出し後に実行するNCデータ550がホスト装置100から送信されるのを待つ。
(10)ホスト装置100は、NCデータ540送信後は、次に送信するデータが不明なため、一定間隔で検索情報受信処理部175で取得される検索情報375の確認を行う。その後、(9)で送信された検索情報375の取得を確認した時点で、次回に送信するNCデータ550をNCデータ検索処理部150で検索し、NCデータ読み込み処理部140を用いて、記憶装置160から読み込み、NCデータ送信処理部110から送信する。
(11)数値制御装置300は、受信したNCデータ550をNCデータ解析処理部320で解析し、サブプログラム呼び出し、繰り返し命令、および、分岐命令のいずれも存在しないため、順次、NCデータ実行処理部340へデータを送り、(4)と同様にNCデータの実行を行い、”N099 M30(プログラムエンド)”を実行してDNC運転を終了する。
【0028】
ここで、
図5に示されるホスト装置100と数値制御装置300で実行される処理を
図7、
図8のフローチャートを用いて説明する。
図7は
図5に示されるホスト装置100で実行される処理のフローを説明する図である。
図8は
図5に示される数値制御装置300で実行される処理のフローを説明する図である。
【0029】
(ホスト装置100が実行する処理のフロー)
●[ステップSC01]数値制御装置はDNC運転モードか否かを判断し、DNC運転モードの場合(YES)、ステップSC02に移行する。DNC運転モードではない場合(NO)、DNC運転モードに切替わるのを待つ。
●[ステップSC02]数値制御装置300から検索情報375を受信する。
●[ステップSC03]ステップSC02の処理で受信した検索情報375はあったか否かを判断し、受信した検索情報375があった場合(YES)、ステップSC04へ移行し、無かった場合(NO)、ステップSC05へ移行する。
●[ステップSC04]記憶装置160から検索情報375に対応するNCデータを検索する。
●[ステップSC05]記憶装置160から検索情報375に対応するNCデータ(検索情報375があった場合)、または前回送信したNCデータの続き(検索情報375が無かった場合)を読み込む。
●[ステップSC06]ステップSC05で読み込んだNCデータを数値制御装置300へ送信する。
●[ステップSC07]NCデータの最後の送信データか否かを判断し、最後の送信データの場合(YES)、処理を終了し、最後の送信データでない場合(NO)、ステップSC02へ戻り、処理を継続する。
【0030】
(数値制御装置300が実行する処理のフロー)
●[ステップSD01]DNC運転モードへの切替えを行う。例えば、オペレータが操作画面などからDNC運転モードへの切替えを指令したか否かを監視し、切替え指令が確認された場合にDNC運転モードへ切替える。
●[ステップSD02]DNC運転を開始する。
●[ステップSD03]ホスト装置100からのNCデータを受信したか否かを判断し、NCデータを受信した場合(YES)、ステップSD04へ移行し、NCデータを受信していない場合(NO)、NCデータを受信するのを待つ。
●[ステップSD04]受信したNCデータの1つのブロックを解析する。
●[ステップSD05]DNC運転の最後のデータか否か判断し、最後のデータの場合(YES)、処理を終了し、最後のデータではない場合(NO)、ステップSD06へ移行する。
●[ステップSD06]サブプログラム呼び出し、繰り返し命令、および分岐命令の何れかかを判断し(つまり、サブプログラム呼び出し、繰り返し命令および分岐命令の何れかがあるか否かを判断し)、何れかの場合(YES)、ステップSD07へ移行し、何れでもない場合(NO)、ステップSD11へ移行する。
●[ステップSD07]サブプログラム呼び出しの場合のみサブプログラム呼び出し情報を格納する。
●[ステップSD08]検索情報を抽出する。
●[ステップSD09]検索情報を送信する。
●[ステップSD10]受信済みの残りのNCデータを破棄し、ステップSD03へ戻り、処理を継続する。
●[ステップSD11]NCデータを実行する。
●[ステップSD12]受信したNCデータの最後のブロックであるか否か判断し、最後のブロックの場合(YES)、ステップSD03に戻り処理を継続し、最後のブロックではない場合(NO)、ステップSD04へ戻り処理を継続する。
【0031】
<請求項4に係る発明の実施形態>
図9は請求項4に係る発明の実施形態を説明する図である。
図9に示される数値制御装置300は、更に、NCデータ格納バッファ330を用いる。数値制御装置300が、受信したNCデータに対し、解析と運転の処理を同時に行った場合、検索情報370への書き込みを行った後に、ホスト装置100が、検索されたNCデータを送信するまでに遅れが生じ、運転が一時的に中断される場合がある。そこで、本実施形態では、運転処理に先立ち、NCデータの解析処理を先行し(つまり、先読み解析し)、解析データをNCデータ格納バッファ330にバッファリングすることで、運転の中断を回避できるようになる。
【0032】
図10は
図9に示される数値制御装置300で実行される処理のフローを説明する図である。なお、
図9のホスト装置100で実行される処理は
図3のフローチャートの処理と同様であるので、説明を略する。以下、
図10を各ステップに従って説明する。
●[ステップSE01]DNC運転モードへの切替えを行う。例えば、オペレータが操作画面などからDNC運転モードへの切替えを指令したか否かを監視し、切替え指令が確認された場合にDNC運転モードへ切替える。
●[ステップSE02]DNC運転を開始する。
●[ステップSE03]ホスト装置100からのNCデータを受信したか否かを判断し、NCデータを受信した場合(YES)、ステップSE04へ移行し、NCデータを受信していない場合(NO)、NCデータを受信するのを待つ。
●[ステップSE04]受信したNCデータの1つのブロックを解析する。
●[ステップSE05]DNC運転の最後のデータか否か判断し、最後のデータの場合(YES)、処理を終了し、最後のデータではない場合(NO)、ステップSE06へ移行する。
●[ステップSE06]サブプログラム呼び出し、繰り返し命令、または、分岐命令の何れかかを判断し(つまり、サブプログラム呼び出し、繰り返し命令および分岐命令の何れかがあるか否かを判断し、)、何れかの場合(YES)、ステップSE07へ移行し、何れでもない場合(NO)、ステップSE11へ移行する。
●[ステップSE07]サブプログラム呼び出しの場合のみサブプログラム呼び出し情報を格納する。
●[ステップSE08]検索情報を抽出する。
●[ステップSE09]検索情報を書き込みする。
●[ステップSE10]受信済みの残りのNCデータを破棄し、ステップSE03へ戻り、処理を継続する。
●[ステップSE11]解析したNCデータをNCデータ格納バッファ330に格納する。
●[ステップSE12]NCデータを実行する。
●[ステップSE13]受信したNCデータの最後のブロックであるか否かを判断し、最後のブロックの場合(YES)、ステップSE03に戻り処理を継続し、最後のブロックではない場合(NO)、ステップSE04へ戻り処理を継続する。
【0033】
<請求項5に係る発明の実施形態>
図11は請求項5に係る発明の実施形態を説明する図である。
図11に示される数値制御装置300は、更に、NCデータ格納バッファ330を用いる。受信した同一ブロックのNCデータに対し、解析と運転の処理を同時に行った場合、検索情報375をホスト装置100に送信した後に、ホスト装置100が検索されたNCデータを送信するまでに遅れが生じ、運転が一時的に中断される場合がある。そこで、運転処理に先立ち、NCデータの解析処理を先行し(つまり、先読み解析し)、解析データをNCデータ格納バッファ330にバッファリングすることで、運転の中断を回避できるようになる。
【0034】
図12は
図11に示される数値制御装置で実行される処理のフローを説明する図である。なお、
図11のホスト装置100で実行される処理は
図7のフローチャートの処理と同様であるので、説明を略する。以下、
図12を各ステップに従って説明する。
●[ステップSF01]DNC運転モードへの切替えを行う。例えば、オペレータが操作画面などからDNC運転モードへの切替えを指令したか否かを監視し、切替え指令が確認された場合にDNC運転モードへ切替える。
●[ステップSF02]DNC運転を開始する。
●[ステップSF03]ホスト装置100からのNCデータを受信したか否かを判断し、NCデータを受信した場合(YES)、ステップSF04へ移行し、NCデータを受信していない場合(NO)、NCデータを受信するのを待つ。
●[ステップSF04]受信したNCデータの1つのブロックを解析する。
●[ステップSF05]DNC運転の最後のデータか否か判断し、最後のデータの場合(YES)、処理を終了し、最後のデータではない場合(NO)、ステップSF06へ移行する。
●[ステップSF06]サブプログラム呼び出し、繰り返し命令、または、分岐命令の何れかかを判断し(つまり、サブプログラム呼び出し、繰り返し命令および分岐命令の何れかがあるか否かを判断し)、何れかの場合(YES)、ステップSF07へ移行し、何れでもない場合(NO)、ステップSF11へ移行する。
●[ステップSF07]サブプログラム呼び出しの場合のみサブプログラム呼び出し情報を格納する。
●[ステップSF08]検索情報を抽出する。
●[ステップSF09]検索情報の送信する。
●[ステップSF10]受信済みの残りのNCデータを破棄し、ステップSF03へ戻り、処理を継続する。
●[ステップSF11]解析したNCデータをNCデータ格納バッファ330に格納する。
●[ステップSF12]NCデータを実行する。
●[ステップSF13]受信したNCデータの最後のブロックであるか否かを判断し、最後のブロックの場合(YES)、ステップSF03に戻り処理を継続し、最後のブロックではない場合(NO)、ステップSF04へ戻り処理を継続する。
【0035】
<請求項6に係る発明の実施形態>
図13、
図14は請求項6に係る発明の実施形態を説明する図である。ホスト装置100内の検索用データベース作成処理部120で、数値制御装置300への送信前のNCデータを解析し、NCデータの検索に必要なシーケンス番号とシーケンス番号に対応するNCデータ上のブロックポインタやサブプログラムが存在するフォルダ名称をデータベース130として格納する。NCデータ検索処理部150はこのデータベース130を利用することで、検索情報370(
図13参照)(請求項1に対応)、または、検索情報375(
図14参照)(請求項2に対応)の内容に対するNCデータ検索処理部150の処理を高速化することができる。
【0036】
図15は
図13に示されるホスト装置100で実行される処理のフローを説明する図である。なお、数値制御装置300で実行される処理は
図3と同様であるので説明を略する。以下、
図15を各ステップに従って説明する。
●[ステップSG01]数値制御装置はDNC運転モードか否かを判断し、DNC運転モードの場合(YES)、ステップSG02に移行する。DNC運転モードではない場合(NO)、DNC運転モードに切替わるのを待つ。
●[ステップSG02]数値制御装置300内の記憶装置の検索情報370の読み込み処理を行う。
●[ステップSG03]ステップSG02の処理で検索情報370はあったか否かを判断し、検索情報370があった場合(YES)、ステップSG04へ移行し、無かった場合(NO)、ステップSG05へ移行する。
●[ステップSG04]記憶装置160から検索情報370に対応するNCデータを検索する。
●[ステップSG05]記憶装置160から検索情報370に対応するNCデータ(検索情報370があった場合、または前回送信したNCデータの続き(検索情報370が無かった場合)を読み込む。
●[ステップSG06]送信するNCデータから検索用のデータベースを作成する。
●[ステップSG07]ステップSG05で読み込んだNCデータを数値制御装置300へ送信する。
●[ステップSG08]NCデータの最後の送信データか否かを判断し、最後の送信データの場合(YES)、処理を終了し、最後の送信データでない場合(NO)、ステップSG02へ戻り、処理を継続する。
【0037】
図16は
図14に示されるホスト装置100で実行される処理のフローを説明する図である。なお、数値制御装置300で実行される処理は
図7と同様であるので説明を略する。以下、
図16を各ステップに従って説明する。
(ホスト装置100が実行する処理のフロー)
●[ステップSH01]数値制御装置はDNC運転モードか否かを判断し、DNC運転モードの場合(YES)、ステップSH02に移行する。DNC運転モードではない場合(NO)、DNC運転モードに切替わるのを待つ。
●[ステップSH02]数値制御装置300から検索情報375を受信する。
●[ステップSH03]ステップSH02の処理で受信した検索情報375はあったか否かを判断し、受信した検索情報375があった場合(YES)、ステップSH04へ移行し、無かった場合(NO)、ステップSH05へ移行する。
●[ステップSH04]記憶装置160から検索情報375に対応するNCデータを検索する。
●[ステップSH05]記憶装置160から検索情報375に対応するNCデータ(検索情報375があった場合)、または前回送信したNCデータの続き(検索情報375が無かった場合)を読み込む。
●[ステップSH06]送信するNCデータから検索用のデータベースを作成する。
●[ステップSH07]ステップSH05で読み込んだNCデータを数値制御装置300へ送信する。
●[ステップSH08]NCデータの最後の送信データか否かを判断し、最後の送信データの場合(YES)、処理を終了し、最後の送信データでない場合(NO)、ステップSH02へ戻り、処理を継続する。