特許第5681230号(P5681230)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ファナック株式会社の特許一覧

<>
  • 特許5681230-DNC運転装置 図000002
  • 特許5681230-DNC運転装置 図000003
  • 特許5681230-DNC運転装置 図000004
  • 特許5681230-DNC運転装置 図000005
  • 特許5681230-DNC運転装置 図000006
  • 特許5681230-DNC運転装置 図000007
  • 特許5681230-DNC運転装置 図000008
  • 特許5681230-DNC運転装置 図000009
  • 特許5681230-DNC運転装置 図000010
  • 特許5681230-DNC運転装置 図000011
  • 特許5681230-DNC運転装置 図000012
  • 特許5681230-DNC運転装置 図000013
  • 特許5681230-DNC運転装置 図000014
  • 特許5681230-DNC運転装置 図000015
  • 特許5681230-DNC運転装置 図000016
  • 特許5681230-DNC運転装置 図000017
  • 特許5681230-DNC運転装置 図000018
  • 特許5681230-DNC運転装置 図000019
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5681230
(24)【登録日】2015年1月16日
(45)【発行日】2015年3月4日
(54)【発明の名称】DNC運転装置
(51)【国際特許分類】
   G05B 19/4155 20060101AFI20150212BHJP
【FI】
   G05B19/4155 N
【請求項の数】6
【全頁数】20
(21)【出願番号】特願2013-87542(P2013-87542)
(22)【出願日】2013年4月18日
(65)【公開番号】特開2014-211750(P2014-211750A)
(43)【公開日】2014年11月13日
【審査請求日】2014年5月27日
【早期審査対象出願】
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】110001151
【氏名又は名称】あいわ特許業務法人
(72)【発明者】
【氏名】中嶋 政利
【審査官】 杉山 悟史
(56)【参考文献】
【文献】 特開平01−195509(JP,A)
【文献】 特開昭63−037403(JP,A)
【文献】 実開平04−052203(JP,U)
【文献】 特許第2992163(JP,B2)
【文献】 特許第2728256(JP,B2)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/18 − 19/46
(57)【特許請求の範囲】
【請求項1】
通信回線で接続されたホスト装置と数値制御装置上で、
前記ホスト装置内の記憶装置上のNCデータを前記数値制御装置に逐次送信し、該送信されたNCデータを用いて運転を行うDNC運転装置において、
前記数値制御装置は、
前記ホスト装置から送信されたNCデータ内にサブプログラム、繰り返し命令および分岐命令の何れかがあるかどうかを判断する手段と、
サブプログラム、繰り返し命令および分岐命令の何れかがあった場合、前記ホスト装置内の記憶装置上のNCデータを検索するための検索情報を、数値制御装置内の記憶装置上に書き込み、受信済のNCデータを破棄する手段と、
有し、
前記ホスト装置は、
前記書き込まれた検索情報を読み取る手段と、
該読み取った検索情報に基づき、ホスト装置内の記憶装置上からNCデータを検索する手段と、
検索したNCデータを数値制御装置に送信する手段と、
を有し、
前記数値制御装置は、前記検索情報の書き込み後に受信したNCデータが前記ホスト装置によって検索されたNCデータであることを判断し、該受信したNCデータに基づき運転することを特徴とするDNC運転装置。
【請求項2】
通信回線で接続されたホスト装置と数値制御装置上で、
前記ホスト装置内の記憶装置上のNCデータを、前記数値制御装置に逐次送信し、該送信されたNCデータを用いて運転を行うDNC運転装置において、
前記数値制御装置は、
前記ホスト装置から送信されたNCデータ内にサブプログラム、繰り返し命令および分岐命令の何れかがあるかどうかを判断する手段
サブプログラム、繰り返し命令および分岐命令の何れかがあった場合、前記ホスト装置のNCデータを検索するための検索情報を、ホスト装置に送信し、受信済のNCデータを破棄する手段と
有し、
前記ホスト装置は、
前記送信された検索情報に基づき、ホスト装置内の記憶装置上からNCデータを検索する手段と、
検索したNCデータを数値制御装置に送信する手段と、
有し、
前記数値制御装置は、前記検索情報を前記ホスト装置へ送信後に受信したNCデータが、前記ホスト装置によって検索されたNCデータであることを判断し、該受信したNCデータに基づき運転することを特徴とするDNC運転装置。
【請求項3】
前記検索情報は、
サブプログラム呼び出しの場合は、呼び出し先のプログラム名称、
サブプログラム呼び出しからの復帰の場合は、呼び出し元のプログラム名称と復帰先のNCデータ情報であり、
繰り返し命令および分岐命令の場合は、繰り返し先または分岐先のプログラム名称とシーケンス番号情報、
であることを特徴とする請求項1または2の何れか1つに記載のDNC運転装置。
【請求項4】
前記数値制御装置内に、
ホスト装置より通信回線経由で受信したNCデータの運転に先行して先読みしNCデータの解析を行い、解析されたデータを格納する格納手段と、
該解析したNCデータ内に、サブプログラム呼び出し、繰り返し命令、および分岐命令の何れかが存在した場合に、ホスト装置が該命令の実行に必要なNCデータの検索に必要な検索情報を、数値制御装置内の記憶装置上へ書き込む手段
を有することを特徴とする請求項1に記載のDNC運転装置。
【請求項5】
前記数値制御装置内に、
前記ホスト装置より通信回線経由で受信したNCデータの運転に先行して先読みしNCデータの解析を行い、解析されたデータを格納する格納手段と、
該解析したNCデータ内に、サブプログラム呼び出し、繰り返し命令、および分岐命令の何れかが存在した場合に、ホスト装置が該命令の実行に必要なNCデータの検索に必要な検索情報を、ホスト装置へ送信する手段
を有することを特徴とする請求項2に記載のDNC運転装置。
【請求項6】
前記ホスト装置内に、
前記数値制御装置へのNCデータの送信に先行して、送信するNCデータを解析し、NCデータの検索に必要なシーケンス番号とシーケンス番号に対応するNCデータ上のブロックポインタやサブプログラムが存在するフォルダ名称をデータベース化する手段
該データベース化された情報から、NCデータの検索を行う手段
を有することを特徴とする、請求項1、2、4または5の何れか1つに記載のDNC運転装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ホストコンピュータ(以降、ホスト装置)よりNCデータを、機械を駆動制御する数値制御装置に逐次送信し、該送信されたNCデータを用いて機械の運転を行うDNC運転装置に関する。
【背景技術】
【0002】
数値制御装置での一般的な運転は、数値制御装置内に内蔵されたSRAM、DRAMなどの記憶装置上にNCデータを登録し、運転を行う方式(以降、メモリ運転)である。しかし、部品形状の高精度化や大型化に伴い、NCデータのサイズが大容量化しているため、NCデータを数値制御装置内の記憶装置上に登録できないという問題があり、ホスト装置よりNCデータを送信しながら運転を行うDNC運転(Direct NC運転)の需要が増えている。
また、1つの部品を作成するためのNCデータが数値制御装置内の記憶装置上に登録できたとしても、多品種少量生産を行うためには、部品ごとに異なった大容量のNCデータが必要となり、数値制御装置内の記憶装置上に登録されたNCデータを、随時置き換えなければならないという問題があり、ホスト装置内の記憶装置上に登録されたNCデータだけでDNC運転を実現したいとの要望がある。
【0003】
従来のDNC運転装置の技術について、図17に示される第1の方式と図18に示される第2の方式を説明する。第1の方式として、従来のDNC運転(文献1)では、ホスト装置からは、一方通行で数値制御装置へNCデータが送信され、数値制御装置は受信したNCデータを逐次解析して実行するのみで、送信されたNCデータを数値制御装置内の記憶装置上に登録することなく運転を行う。また、第2の方式は、ホスト装置内の記憶装置上にNCデータに対するサブプログラム呼び出しを実現するために、送信したNCデータを数値制御装置内の記憶装置上に登録するため、登録開始と登録終了の指令を挿入し、NCデータの実行とともに数値制御装置内の記憶装置上にサブプログラムとして登録し、該登録した数値制御装置内の記憶装置上のサブプログラムを、後に繰り返して実行する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平1−195509号公報
【特許文献2】特許第2728256号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
DNC運転の第1の方式は、送信されたNCデータを数値制御装置内の記憶装置上に登録することなく運転を行うため、繰り返し命令や分岐命令を行うための情報(シーケンス番号やNCデータそのものなど)を登録できず、これらの命令を実行することができなかった。また、サブプログラム呼び出しでは、数値制御装置内の記憶装置上に登録されたサブプログラム呼び出しは可能であったが、呼び出し情報(プログラム名称や復帰先のNCデータ情報など)をホスト装置に通知する手段が無いため、ホスト装置内の記憶装置上に登録されたサブプログラム呼び出しを行うことができなかった。そのため、ホスト装置から送信するNCデータは、DNC運転専用として、サブプログラム呼び出し、繰り返し命令、および、分岐命令の全てを展開したNCデータを作成する必要があり、メモリ運転で使用できる形式のNCデータがそのままでは使用できず、作成が困難な上にNCデータのサイズも増加するという問題があった。
【0006】
第2の方式では、数値制御装置内に、送信されたNCデータを登録するための記憶装置が必要であり、かつ、第1の方式と同様に、DNC運転専用のNCデータの作成が必要となり、メモリ運転で使用できる形式のNCデータがそのままでは使用できず、作成が困難な上にNCデータのサイズも増加するという問題があった。
【0007】
そこで、本発明の目的は、上記従来技術の問題点を鑑み、DNC運転専用のNCデータを作成することなくメモリ運転で使用できる形式のNCデータをそのままの形式で運転できるよう、ホスト装置内の記憶装置上のサブプログラム呼び出し、繰り返し命令、および、分岐命令が可能なDNC運転方法を提供し、NCデータの登録先としてホスト装置内の記憶装置だけを利用可能とすることで、ホスト装置内の記憶装置上だけのNCデータで運転が可能なDNC運転装置を提供することである。
【課題を解決するための手段】
【0008】
DNC運転を行うために、ホスト装置と数値制御装置を双方向通信が可能な通信回線(例えば、イーサネット(登録商標)など)で接続する。その後、数値制御装置は、運転モードをDNC運転モードに変更し、運転開始指令により、ホスト装置から送信されるNCデータの受信を待つ。ホスト装置は、数値制御装置がDNC運転モードに変更され、NCデータの受信待ちになったことを確認して、第1回目のNCデータの送信を行う。
【0009】
第1回目のNCデータを受信した数値制御装置は、該受信したNCデータを順次解析し、サブプログラム呼び出し、繰り返し命令、および分岐命令の何れかがあるかの判断を行う。NCデータが他の命令であった場合は、運転命令実行部へデータを送り、NCデータの実行を行う。
【0010】
NCデータがサブプログラム呼び出し、繰り返し命令、および分岐命令の何れかであった場合は、ホスト装置が、ホスト装置内の記憶装置上のNCデータから、該命令を実行するために必要なNCデータを検索するための検索情報を、数値制御装置内の記憶装置上に書き込むと共に、該受信済みのNCデータを破棄し、書き込んだ検索情報に対応するNCデータがホスト装置から送信されるのを待つ。
【0011】
なお、上記検索情報は、例えば、サブプログラム呼び出しの場合は、呼び出し先のプログラム名称、サブプログラム呼び出しからの復帰の場合は、呼び出し元のプログラム名称と復帰先のNCデータ情報などで、繰り返し命令、および、分岐命令の場合は、繰り返し先、または、分岐先のプログラム名称と分岐先のシーケンス番号情報などである。
【0012】
また、サブプログラム呼び出しは、多重呼び出し(以降、ネスティング)が可能であるため、ネスティングごとの呼び出し情報を数値制御装置内の記憶装置上に格納し、実行中のサブプログラムに対する検索情報をホスト装置に通知できるようにする。
【0013】
ホスト装置は、第2回目のNCデータを送信する前に、検索情報を通信回線経由で読み込んで確認する。検索情報が書き込まれていない場合は、そのまま第2回目のNCデータを送信する。検索情報が書き込まれていた場合は、その情報を解析し、ホスト装置内の記憶装置上のNCデータから必要なNCデータを検索し、第2回目に送信するNCデータを用意する。その後、数値制御装置上の検索情報を通信回線経由でクリアするとともに、送信するNCデータの先頭に検索情報に基づいて検索されたNCデータ(以降、「検索されたNCデータ」という)であることを示す情報を付加して、NCデータの送信を行う。
【0014】
数値制御装置は、第1回目に受信したNCデータが運転命令だけであった場合、言い換えれば、検索情報を書き込むNCデータがなかった場合は、第2回目に受信したNCデータに対し、第1回目と同じ処理を実行する。第1回目に受信したNCデータ内にサブプログラム呼び出し、繰り返し命令、および分岐命令の何れかがあった場合、言い換えれば、書き込むべき検索情報がNCデータ内に存在した場合は、第2回目に受信したNCデータが、検索されたNCデータであるかを判断し、検索されたNCデータでない場合は、検索されたNCデータが受信されるまで受信したNCデータを破棄する。検索されたNCデータと判断された場合は、第1回目と同じ処理を実行する。
【0015】
この処理を、DNC運転用のNCデータが終了するまで繰り返し行うことで、メモリ運転で使用できる形式のNCデータを、そのままの形式で運転でき、かつ ホスト装置内の記憶装置上のNCデータだけでDNC運転が可能となる。
【0016】
なお、上記では、検索情報は数値制御装置内の記憶装置上に書き込んだものをホスト装置で読み込むよう説明しているが、検索情報を数値制御装置内の記憶装置上に書き込む代わりに、通信回線経由でそのままホスト装置に送信しても良い。
【0017】
また、数値制御装置が、受信したNCデータに対し、解析と運転の処理を同時に行った場合、検索情報の書き込み、または、送信を行った後に、ホスト装置が検索されたNCデータを検索して送信するまでに遅れが生じ、運転が一時的に中断されるという問題がある。この問題は、運転処理に先立ち、NCデータの解析処理を先行して行う(つまり、先読み処理を行う)ことで解決できる。
【0018】
更に、ホスト装置は、送信前のNCデータを解析し、NCデータの検索に必要なシーケンス番号とシーケンス番号に対応するNCデータ上のブロックポインタやサブプログラムが存在するフォルダ名称をデータベース化した後にNCデータを送信することによって、検索情報に対するNCデータの検索を高速化することができる。その結果、数値制御装置へ送信する検索されたNCデータの検索を更に高速化することができる。
【発明の効果】
【0019】
本発明により、DNC運転専用のNCデータを作成することなく、メモリ運転で使用できる形式のNCデータをそのままの形式で運転できるよう、ホスト装置内の記憶装置上のサブプログラム呼び出し、繰り返し命令、および、分岐命令が可能なDNC運転方法を提供し、NCデータの登録先として、ホスト装置内の記憶装置だけを利用可能とすることで、ホスト装置内の記憶装置上だけのNCデータで運転が可能なDNC運転装置を提供できる。
【図面の簡単な説明】
【0020】
図1】本発明のDNC運転を実現するための請求項1、3に係る発明の実施形態のDNC装置の概略のブロック構成図である。
図2図1に示されるDNC運転装置で実行されるプログラムを説明する図である。
図3図1に示されるホスト装置で実行される処理のフローを説明する図である。
図4図1に示される数値制御装置で実行される処理のフローを説明する図である。
図5】本発明のDNC運転を実現するための請求項2、3に係る発明の実施形態のDNC運転装置の概略のブロック構成図である。
図6図5に示されるDNC運転装置で実行されるプログラムを説明する図である。
図7図5に示されるホスト装置で実行される処理のフローを説明する図である。
図8図5に示される数値制御装置で実行される処理のフローを説明する図である。
図9】請求項4に係る発明の実施形態のDNC装置を説明する図である。
図10図9に示される数値制御装置で実行される処理のフローを説明する図である。
図11】請求項5に係る発明の実施形態のDNC装置を説明する図である。
図12図11に示される数値制御装置で実行される処理のフローを説明する図である。
図13】請求項6に係る発明の実施形態のDNC装置を説明する図である。
図14】請求項6に係る発明の実施形態のDNC装置を説明する図である。
図15図13に示されるホスト装置で実行される処理のフローを説明する図である。
図16図14に示されるホスト装置で実行される処理のフローを説明する図である。
図17】従来のDNC運転を説明する図である。
図18】従来の他のDNC運転を説明する例である。
【発明を実施するための形態】
【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へ戻り、処理を継続する。
【符号の説明】
【0038】
100 ホスト装置
110 NCデータ送信処理部
120 検索用データベース作成処理部
130 データベース
140 NCデータ読み込み処理部
150 NCデータ検索処理部
160 記憶装置
170 検索情報読み込み処理部
175 検索情報受信処理部

200 双方向通信回線

300 数値制御装置
310 NCデータ受信処理部
320 NCデータ解析処理部
325 判断部
330 NCデータ格納バッファ
340 NCデータ実行処理部
345 記憶装置
350 サブプログラム呼び出し情報
360 検索情報書き込み処理部
365 検索情報送信処理部
370 検索情報
375 検索情報
380 運転指令実行部
390 サーボ制御部
400 サーボモータ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18