(57)【要約】【課題】ＮＣプログラムの編集が予め設定されたＮＣコードのみに関わるものであれば、編集内容に応じて基礎データを更新するようにしたＮＣプログラム生成、編集装置を提供する。【解決手段】ＮＣプログラム生成、編集装置２は、対話式入力部９、基礎データ記憶部１０、ＮＣプログラム生成部１１、プログラム記憶部１２、プログラム編集部１３、変更確認部１４、データ更新部１５を備える。前記変更確認部１４は、編集後のＮＣプログラムの変更部分が、予め設定されたＮＣコードに関わる変更のみであるか否かを判別し、予め設定されたＮＣコードに関わる変更のみである場合には、データ更新部１５によって、対応する基礎データが更新される。【選択図】図１
2015170147.tif 000002
【特許請求の範囲】
【請求項１】
ＮＣプログラムを自動生成するための基礎データを記憶する基礎データ記憶部と、
前記基礎データ記憶部に記憶された基礎データを基にＮＣプログラムを生成するＮＣプログラム生成部と、
前記ＮＣプログラム生成部により生成されたＮＣプログラムを記憶するプログラム記憶部と、
前記プログラム記憶部に記憶されたＮＣプログラムを編集するプログラム編集部と、
前記プログラム編集部によって編集されたＮＣプログラムの変更部分が、予め設定されたＮＣコードに関わる変更のみであるか否かを判別する変更確認部と、
前記変更確認部によって確認された変更が、前記予め設定されたＮＣコードに関わる変更のみである場合には、変更されたＮＣコードに関わるデータを抽出して、前記基礎データ記憶部に格納された対応の基礎データを、抽出したデータで更新するデータ更新部とを設けて構成したことを特徴とするＮＣプログラム生成、編集装置。
【請求項２】
前記プログラム編集部は、前記予め設定されたＮＣコードに関わる変更のみである場合には、これを示す識別データを編集後のＮＣプログラムに組み込み、又は編集後のＮＣプログラムと関連付けて前記プログラム記憶部に格納するように構成され、
前記変更確認部は、前記プログラム記憶部に格納された識別データを基に、編集後のＮＣプログラムの変更部分が、予め設定されたＮＣコードに関わる変更のみであるか否かを判別するように構成されていることを特徴とする請求項１記載のＮＣプログラム生成、編集装置。
【請求項３】
前記ＮＣプログラム生成部によって生成されたＮＣプログラム、及び前記プログラム編集部によって編集されたＮＣプログラムのそれぞれについて、その全体についてのハッシュ値Ａ、及び予め設定されたＮＣコードに関わる記述を除いた部分についてのハッシュ値Ｂを算出するハッシュ値算出部を更に備え、
前記変更確認部は、前記ハッシュ値算出部によって算出された、編集前後のＮＣプログラムのハッシュ値Ａ及びＢを基に、編集後のＮＣプログラムの変更部分が、予め設定されたＮＣコードに関わる変更のみであるか否かを判別するように構成されていることを特徴とする請求項１記載のＮＣプログラム生成、編集装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＮＣプログラム生成用の基礎データを基にＮＣプログラムを自動生成するとともに、生成されたＮＣプログラムが編集される場合には、編集が予め設定されたＮＣコードのみに関わるものであれば、編集内容に応じて前記基礎データを更新するＮＣプログラム生成、編集装置に関する。
【背景技術】
【０００２】
ＮＣプログラムの作成には、専門的な知識が必要であり、このため、プログラマーには、一定の習熟度が求められる。そこで、従来、工作機械のオペレータでも、容易にＮＣプログラムを作成することができるように、例えば、工作機械に付設された対話式プログラム作成装置が提供されている。
【０００３】
この対話式プログラム作成装置は、ＮＣプログラムを生成するために必要な基礎データ、即ち、ワークの形状及び寸法、加工仕上り形状及び寸法、並びに加工工程に係る内容などを入力させるための画面や、工具を選定させるための画面などを、適宜入出力装置の表示装置に表示して、必要な基礎データを対話形式によってオペレータに入力させ、入力された基礎データと、データベースに格納された情報とを基に、ＮＣプログラムを自動生成するように構成されている。
【０００４】
尚、前記データベースに格納される情報には、工作機械の固有情報、ワークの材質及び基本形状に係る情報、加工品の基本形状に係る情報、外径加工，内径加工や溝加工といった加工工程に係る情報、加工形状に係る情報、工具番号，その種類，材質，寸法といった工具の緒元に係る情報、並びにワークの材質及び工具の材質に応じた切削条件に係る情報などが含まれる。また、前記対話形式によって入力される基礎データは、一般的にＣＡＭデータ（又は対話データ）と称される。
【０００５】
そして、このような対話式プログラム作成装置の一例として、従来、下記特許文献１に開示される加工プログラム作成支援装置が知られている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−１０８０７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
通常、新規にＮＣプログラムが作成されると、これを用いた試作加工を行い、動作に誤りが有るか否か、或いは、切削条件等が適切であるかどうか、或いは、動作に無駄が無いかなどをチェックし、不適切な場合、或いは改良の余地がある場合には、必要に応じて、ＮＣプログラムを修正するといった編集作業が行われる。
【０００８】
そして、従来、このような編集作業を行った場合、一律に、ＣＡＭデータとＮＣプログラムの対応関係が損なわれたと見做して、ＣＡＭデータを破棄するようにしていた。これは、ＣＡＭデータは、ＮＣプログラムを生成する基となるデータであって、このＣＡＭデータからは、一義的に一つのＮＣプログラムが生成されるべきであり、ＮＣプログラムが編集されると、編集されたＮＣプログラムは、最早、当該ＣＡＭデータからは生成し得ないからである。
【０００９】
ところで、本願発明者らは、上記のような対話式プログラム作成装置を備えた工作機械において、この対話式プログラム作成装置により作成されたＮＣプログラムを用いて加工を行う場合に、実行中のＮＣプログラムを、荒加工、仕上げ加工等の加工オペレーション単位として前記表示装置に表示するとともに、加工オペレーション単位に対応するＣＡＭデータを適宜グラフィックと共に前記表示装置に表示するような表示態様を現在検討している。これは、オペレータが、ＮＣコードと数字から構成されるＮＣ文を解釈するよりも、ＣＡＭデータやグラフィックを見た方が、実行されている加工の内容を理解し易いからである。このような表示画面を図５に示す。図中、Ｗ１はＮＣプログラムを表示する領域であり、Ｗ２は対話形式によって入力されたＣＡＭデータやグラフィックを表示する領域である。
【００１０】
ところが、上記のように、ＮＣプログラムが編集された場合に、一律に、対応するＣＡＭデータを破棄するようにすると、図６に示すように、編集後には、前記表示装置の前記領域Ｗ２にＣＡＭデータやグラフィックを表示することができず、オペレータは、ＮＣプログラムによらなければ、加工内容を知ることができないという問題を生じる。図６では、図５に示したＮＣプログラム中の主軸回転数［Ｓ６２０］を［Ｓ５００］に変更した例を示している。編集されたＮＣプログラムは領域Ｗ２に示されている。
【００１１】
その一方、ＮＣプログラムの編集の内、位置データなど、ツールパスに影響を与えるデータを変更する編集の場合には、これに対応するＣＡＭデータの変更は極めて困難であるが、主軸の回転速度や、送り速度などの切削条件を変更する編集の場合には、これに応じてＣＡＭデータに係る切削条件を変更することは、これを容易に行うことができる。
【００１２】
したがって、ＮＣプログラムの編集が、ＣＡＭデータを容易に変更することができる切削条件等の変更である場合には、当該編集に応じて、ＣＡＭデータを変更することで、編集後のＮＣプログラムとＣＡＭデータとの対応関係を保つことができる。即ち、変更後のＣＡＭデータから編集後のＮＣプログラムを一義的に自動生成することができる。
【００１３】
そして、このようにＣＡＭデータを変更することで、編集されたＮＣプログラムと、これに対応するＣＡＭデータを前記表示装置に表示することができ、オペレータにとっては、極めて有益である。
【００１４】
本発明は、以上の実情に鑑みなされたものであって、ＮＣプログラムが編集される場合に、編集が予め設定されたＮＣコードのみに関わるものであれば、編集内容に応じて基礎データを更新するようにしたＮＣプログラム生成、編集装置の提供を、その目的とする。
【課題を解決するための手段】
【００１５】
上記目的を達成するための本発明は、
ＮＣプログラムを自動生成するための基礎データを記憶する基礎データ記憶部と、
前記基礎データ記憶部に記憶された基礎データを基にＮＣプログラムを生成するＮＣプログラム生成部と、
前記ＮＣプログラム生成部により生成されたＮＣプログラムを記憶するプログラム記憶部と、
前記プログラム記憶部に記憶されたＮＣプログラムを編集するプログラム編集部と、
前記プログラム編集部によって編集されたＮＣプログラムの変更部分が、予め設定されたＮＣコードに関わる変更のみであるか否かを判別する変更確認部と、
前記変更確認部によって確認された変更が、前記予め設定されたＮＣコードに関わる変更のみである場合には、変更されたＮＣコードに関わるデータを抽出して、前記基礎データ記憶部に格納された対応の基礎データを、抽出したデータで更新するデータ更新部とを備えたＮＣプログラム生成、編集装置に係る。
【００１６】
このＮＣプログラム生成、編集装置によれば、まず、ＮＣプログラムを自動生成するための基礎データが基礎データ記憶部に格納される。この基礎データは、ワークの形状及び寸法に係るデータ、加工仕上り形状及び寸法に係るデータ、外径加工，内径加工や溝加工といった加工工程に係るデータや、工具番号，その種類，材質，寸法といった工具の緒元に係るデータであり、例えば、適宜入出力装置の表示装置に表示される表示画面を通して、対話形式によって入力することができるが、これに限られるものではない。
【００１７】
そして、ＮＣプログラム生成部は、基礎データ記憶部に記憶された基礎データを基に、ＮＣプログラムを自動生成し、生成したＮＣプログラムをプログラム記憶部に格納する。より具体的には、ＮＣプログラム生成部は、工作機械の固有情報、ワークの材質及び基本形状に係る情報、加工品の基本形状に係る情報、外径加工，内径加工や溝加工といった加工工程に係る情報、加工形状に係る情報、工具番号，その種類，材質，寸法といった工具の緒元に係る情報、並びにワークの材質及び工具の材質に応じた切削条件に係る情報などを有しており、これらの情報と、前記基礎データとを基に、設定された工程ごとに、ツールパスを生成するとともに、生成したツールパスに対して適切な切削条件を設定した後、得られたツールパス及び切削条件を適宜処理によりＮＣコードに変換してＮＣプログラムを生成する。
【００１８】
そして、前記プログラム記憶部に格納されたＮＣプログラムが、前記プログラム編集部によって、適宜、変更、編集されると、前記変更確認部により、編集されたＮＣプログラムの変更部分が、予め設定されたＮＣコードに関わる変更のみであるか否かが判別され、前記変更確認部によって確認された変更が、前記予め設定されたＮＣコードに関わる変更のみである場合には、前記データ更新部により、変更されたＮＣコードに関わるデータが抽出され、前記基礎データ記憶部に格納された対応の基礎データが、抽出されたデータによって更新される。
【００１９】
尚、前記「予め設定されたＮＣコード」とは、任意に設定されるＮＣコードを意図しているが、より具体的には、前記基礎データを変更可能なＮＣコードを意味する。例えば、ＮＣプログラム中の主軸回転速度、工具の回転速度、工具の送り速度といった切削条件や、使用工具、クーラントのオン／オフに関するＮＣコードは、これに対応する前記基礎データを変更しても、編集後のＮＣプログラムと、変更後の基礎データとの対応関係が保てるため、これらのＮＣコードは、前記「予め設定されたＮＣコード」に含まれる。一方、移動位置に関わるＮＣコード、例えば、Ｘ＊＊＊、Ｙ＊＊＊、Ｚ＊＊＊等については、ツールパスに関わるデータであるため、前記基礎データを変更することができないデータであり、これらのＮＣコードは、前記「予め設定されたＮＣコード」には含まれない。
【００２０】
このように、このＮＣプログラム生成、編集装置によれば、ＮＣプログラムが編集された場合に、その変更が、対応する基礎データを変更可能なＮＣコードのみについての変更である場合には、当該変更されたＮＣコードに対応する基礎データが、ＮＣプログラムの編集内容に応じて更新される。
【００２１】
斯くして、このＮＣプログラム生成、編集装置によれば、ＮＣプログラムが編集された場合に、一律に、基礎データを破棄するようにしていた従来とは異なり、ＮＣプログラムの編集が、これに対応する基礎データを変更可能な編集のみである場合には、自動的に、その基礎データがＮＣプログラムの編集内容に応じて更新され、編集後のＮＣプログラムと、これに対応する基礎データとを保持することができる。
【００２２】
したがって、ＮＣプログラムを編集した場合でも、当該ＮＣプログラムとこれに対応する基礎データとを、適宜表示装置に表示させることができ、オペレータは、実加工の際に、表示されたＮＣプログラムと基礎データの双方から加工内容を把握することができる。
【００２３】
また、更新された基礎データを保持することで、仮に、編集されたＮＣプログラムが棄損された場合でも、保持した基礎データを基にして、編集後のＮＣプログラムと同じＮＣプログラムを再生成することができる。
【００２４】
尚、本発明に係る上記ＮＣプログラム生成、編集装置において、
前記プログラム編集部は、前記予め設定されたＮＣコードに関わる変更のみである場合には、これを示す識別データを編集後のＮＣプログラムに組み込み、又は編集後のＮＣプログラムと関連付けて前記プログラム記憶部に格納するように構成され、
前記変更確認部は、前記プログラム記憶部に格納された識別データを基に、編集後のＮＣプログラムの変更部分が、予め設定されたＮＣコードに関わる変更のみであるか否かを判別するように構成されていても良い。
【００２５】
このようにすれば、前記変更確認部は、編集後のＮＣプログラムに識別データが組み込まれているかどうか、又は、前記プログラム記憶部に、編集後のＮＣプログラムと関連付けられた識別データが存在するか否かを確認することで、前記予め設定されたＮＣコードに関わる変更のみの編集であるかどうかを、容易に判別することができる。
【００２６】
尚、予め設定されたＮＣコードに関わる変更のみがなされたことを示す識別データとしては、これを直接的に示すデータの他、間接的に示す識別データも含まれる。例えば、予め設定されたＮＣコードであるかどうかに関わらず、ＮＣプログラムが編集されたことを示す識別データＡと、予め設定されたＮＣコード以外のＮＣコードについて編集されたことを示す識別データＢとを設定すれば、識別データＡのみが存在する場合に、予め設定されたＮＣコードに関わる変更のみが行われたと判別することができる。
【００２７】
また、本発明に係るＮＣプログラム生成、編集装置は、
前記ＮＣプログラム生成部によって生成されたＮＣプログラム、及び前記プログラム編集部によって編集されたＮＣプログラムのそれぞれについて、その全体についてのハッシュ値Ａ、及び予め設定されたＮＣコードに関わる記述を除いた部分についてのハッシュ値Ｂを算出するハッシュ値算出部を更に備え、
前記変更確認部は、前記ハッシュ値算出部によって算出された、編集前後のＮＣプログラムのハッシュ値Ａ及びＢを基に、編集後のＮＣプログラムの変更部分が、予め設定されたＮＣコードに関わる変更のみであるか否かを判別するように構成されていても良い。
【００２８】
このＮＣプログラム生成、編集装置によれば、前記ハッシュ値算出部により、前記ＮＣプログラム生成部によって生成されたＮＣプログラム、及び前記プログラム編集部によって編集されたＮＣプログラムのそれぞれについて、その全体についてのハッシュ値Ａ、及び予め設定されたＮＣコードに関わる記述を除いた部分についてのハッシュ値Ｂが算出される。
【００２９】
そして、前記変更確認部により、前記ハッシュ値算出部によって算出された、編集前後のＮＣプログラムのハッシュ値Ａ及びＢを基に、編集後のＮＣプログラムの変更部分が、予め設定されたＮＣコードに関わる変更のみであるか否かが判別される。
【００３０】
具体的には、編集前後のハッシュ値Ａ及びハッシュ値Ｂをそれぞれ比較し、ハッシュ値Ａが一致している場合には、ＮＣプログラムの内容に変更がないと判断され、一方、ハッシュ値Ａが一致しない場合には、編集によってＮＣプログラムに何らかの変更が加えられたと判断することができる。そして、ハッシュ値Ａが一致しない場合において、ハッシュ値Ｂが一致する場合には、予め設定されたＮＣコードに関わる変更のみが行われたと判断することができ、一方、ハッシュ値Ｂが一致しない場合には、予め設定されたＮＣコード以外の変更を含む編集がなされたと判断することができる。以上により、前記変更確認部は、編集後のＮＣプログラムの変更部分が、予め設定されたＮＣコードに関わる変更のみであるか否かを判別する。
【００３１】
斯くして、このＮＣプログラム生成、編集装置によっても、前記予め設定されたＮＣコードに関わる変更のみの編集であるかどうかを、容易に判別することができる。
【００３２】
尚、本発明におけるハッシュ値とは、ＮＣプログラムのテキスト部分をハッシュ関数を用いて処理することによって得られるデータをいう。
【発明の効果】
【００３３】
以上のように、本発明に係るＮＣプログラム生成、編集装置によれば、ＮＣプログラムが編集された場合に、一律に、基礎データを破棄するようにしていた従来とは異なり、ＮＣプログラムの編集が、これに対応する基礎データを変更可能な編集のみである場合には、自動的に、その基礎データがＮＣプログラムの編集内容に応じて更新され、編集後のＮＣプログラムと、これに対応する基礎データとを保持することができる。
【００３４】
したがって、ＮＣプログラムを編集した場合でも、当該ＮＣプログラムとこれに対応する基礎データとを、適宜表示装置に表示させることができ、オペレータは、実加工の際に、表示されたＮＣプログラムと基礎データの双方から加工内容を把握することができる。
【００３５】
予め設定されたＮＣコードに関わる変更のみが行われたかどうかを、識別データやハッシュ値から判別するようにすれば、かかる判断を容易に行うことができる。
【図面の簡単な説明】
【００３６】
【図１】本発明の第１の実施形態に係るＮＣプログラム生成、編集装置の概略構成を示したブロック図である。
【図２】第１の実施形態に係る表示装置の表示画面を示した説明図である。
【図３】本発明の第２の実施形態に係るＮＣプログラム生成、編集装置の概略構成を示したブロック図である。
【図４】第２の実施形態のハッシュ値算出部におけるハッシュ値算出例を示した説明図である。
【図５】本発明における課題を説明するための説明図である。
【図６】本発明における課題を説明するための説明図である。
【発明を実施するための形態】
【００３７】
以下、本発明の具体的な実施形態について添付図面に基づき説明する。
［第１の実施形態］
まず、本発明の第１の実施形態について説明する。図１は本発明の第１実施形態に係るＮＣプログラム生成、編集装置の概略構成を示したブロック図である。
【００３８】
図１に示すように、本例のＮＣプログラム生成、編集装置２は、適宜ＮＣ工作機械の数値制御装置１内に組み込まれた状態で構成され、対話式入力部９、基礎データ記憶部１０、ＮＣプログラム生成部１１、プログラム記憶部１２、プログラム編集部１３、変更確認部１４、及びデータ更新部１５を備える。
【００３９】
尚、数値制御装置１内には、この他に、前記ＮＣ工作機械の動作機構部３を数値制御する数値制御部６、操作盤に配設された入力装置４及び表示装置５の制御をそれぞれ行う入力制御部７及び表示制御部８を備え、表示装置５は画面表示するディスプレイなどを有し、入力装置４はキーボードやソフトキーなどを有する。
【００４０】
前記対話式入力部９は、前記表示装置５に、ＮＣプログラムを生成するために必要な基礎データ（一般に、これをＣＡＭデータという）、即ち、ワークの形状及び寸法、加工仕上り形状及び寸法、並びに加工工程に係る内容などを入力させるための画面や、工具を選定させるための画面などを表示して、必要な基礎データをオペレータに入力させ、入力された基礎データを基礎データ記憶部１０に格納する処理を行う。
【００４１】
前記ＮＣプログラム生成部１１は、前記基礎データ記憶部１０に格納された基礎データを基に、ＮＣプログラムを自動生成し、生成したＮＣプログラムを、基礎データ記憶部１０に記憶された基礎データと対応付けて前記プログラム記憶部１２に格納する処理を行う。具体的には、ＮＣプログラム生成部１１は、工作機械の固有情報、ワークの材質及び基本形状に係る情報、加工品の基本形状に係る情報、外径加工，内径加工や溝加工といった加工工程に係る情報、加工形状に係る情報、工具番号，その種類，材質，寸法といった工具の緒元に係る情報、並びにワークの材質及び工具の材質に応じた切削条件に係る情報などを有しており、これらの情報と、前記基礎データとを基に、設定された工程ごとに、ツールパスを生成するとともに、生成したツールパスに対して適切な切削条件を設定した後、得られたツールパス及び切削条件を適宜処理によりＮＣコードに変換してＮＣプログラムを生成する。尚、本例では、上記情報をＮＣプログラム生成部１１に内蔵させた構成としたが、当該情報を、データベースなど、前記ＮＣプログラム生成部１１とは別の適宜記憶手段に保持させた構成としても良い。
【００４２】
前記プログラム編集部１３は、前記入力装置４及び表示装置５を介したオペレータの操作によって、前記プログラム記憶部１２に格納されたＮＣプログラムを編集する処理を行い、編集後のＮＣプログラムを前記プログラム記憶部１２に格納する処理を行う。また、その際、当該編集が、予め設定されたＮＣコードに関わる変更のみである場合には、これを示す識別データを、編集後のＮＣプログラムに組み込むか、又は編集後のＮＣプログラムと関連付けて前記プログラム記憶部１２に格納する。
【００４３】
尚、前記「予め設定されたＮＣコード」とは、任意に設定されるＮＣコードを意図しているが、より具体的には、前記基礎データを変更可能なＮＣコードを意味する。例えば、ＮＣプログラム中の主軸回転速度、工具の回転速度、工具の送り速度といった切削条件や、使用工具、クーラントのオン／オフに関するＮＣコードは、これに対応する前記基礎データを変更しても、編集後のＮＣプログラムと、変更後の基礎データとの対応関係が保てるため、これらのＮＣコードは、前記「予め設定されたＮＣコード」に含まれる。一方、移動位置に関わるＮＣコード、例えば、Ｘ＊＊＊、Ｙ＊＊＊、Ｚ＊＊＊等については、ツールパスに関わるデータであるため、前記基礎データを変更することができないデータであり、したがって、これらのＮＣコードは、前記「予め設定されたＮＣコード」には含まれない。
【００４４】
前記変更確認部１４は、前記プログラム編集部１３によって編集された編集後のＮＣプログラムの変更部分が、予め設定されたＮＣコードに関わる変更のみであるか否かを判別する処理を行う。具体的には、前記プログラム編集部１３によって、識別データが編集後のＮＣプログラムに組み込まれる場合には、編集後のＮＣプログラムを解析して、当該ＮＣプログラム中に識別データが存在するか否かを確認し、識別データが存在する場合のみ、当該編集が予め設定されたＮＣコードに関わる変更のみであると判断する。一方、前記プログラム編集部１３によって、識別データと編集後のＮＣプログラムとが相互に関連付けられて前記プログラム記憶部１２に格納される場合には、編集後のＮＣプログラムと、これに関連付けられた識別データが存在するか否かを確認し、識別データが存在する場合のみ、当該編集が予め設定されたＮＣコードに関わる変更のみであると判断する。前記変更確認部１４は、前記プログラム編集部１３によってＮＣプログラムが編集される場合、上記のようにして、当該編集が、予め設定されたＮＣコードに関わる変更のみであるか否かを判別する。
【００４５】
尚、予め設定されたＮＣコードに関わる変更のみがなされたことを示す識別データとしては、これを直接的に示すデータの他、間接的に示す識別データも含まれる。例えば、予め設定されたＮＣコードであるかどうかに関わらず、ＮＣプログラムが編集されたことを示す識別データＡと、予め設定されたＮＣコード以外のＮＣコードについて編集されたことを示す識別データＢとを設定すれば、識別データＡのみが存在する場合に、予め設定されたＮＣコードに関わる変更のみが行われたと判別することができる。
【００４６】
前記データ更新部１５は、前記変更確認部１４による判別の結果、編集が、予め設定されたＮＣコードに関わる変更のみである場合には、編集前後のＮＣプログラムを対比して、変更されたＮＣコードに関わるデータを抽出し、前記基礎データ記憶部１０に格納された対応の基礎データを、抽出したデータで更新する処理を行う。尚、このデータ更新部１５は、編集が、予め設定されたＮＣコードに関わる変更のみではない場合には、前記基礎データ記憶部１０に格納された、当該ＮＣプログラムに対応する基礎データについて、その関連付けを解除する、又は当該基礎データを前記基礎データ記憶部１０から削除するように構成されていても良い。
【００４７】
以上の構成を備えた本例のＮＣプログラム生成、編集装置２によれば、まず、前記対話式入力部９を介したオペレータの操作によって、ＮＣプログラムを生成するために必要な基礎データが入力され、入力された基礎データが基礎データ記憶部１０に格納される。
【００４８】
ついで、前記ＮＣプログラム生成部１１により、前記基礎データ記憶部１０に記憶された基礎データを基に、ＮＣプログラムが自動生成され、生成されたＮＣプログラムが前記基礎データと対応付けられてプログラム記憶部１２に格納される。
【００４９】
そして、前記プログラム記憶部１２に格納されたＮＣプログラムが、前記プログラム編集部１３によって、適宜、変更、編集されると、前記変更確認部１４により、編集されたＮＣプログラムの変更部分が、予め設定されたＮＣコードに関わる変更のみであるか否かが判別され、前記変更確認部１４によって確認された変更が、前記予め設定されたＮＣコードに関わる変更のみである場合には、前記データ更新部１５により、編集前後のＮＣプログラムを対比することによって、変更されたＮＣコードに関わるデータが抽出され、前記基礎データ記憶部１０に格納された対応の基礎データが、抽出されたデータで更新される。
【００５０】
斯くして、本例のＮＣプログラム生成、編集装置２によれば、ＮＣプログラムが編集された場合に、一律に、基礎データを破棄するようにしていた従来とは異なり、ＮＣプログラムの編集が、これに対応する基礎データを変更可能な編集のみである場合には、自動的に、その基礎データがＮＣプログラムの編集内容に応じて更新され、編集後のＮＣプログラムと、これに対応する基礎データとを保持することができる。
【００５１】
したがって、ＮＣプログラムを編集した場合でも、当該ＮＣプログラムとこれに対応する基礎データとを、適宜表示装置に表示させることができ、オペレータは、実加工の際に、表示されたＮＣプログラムと基礎データの双方から加工内容を把握することができる。
【００５２】
図２には、図５に示したＮＣプログラム中の主軸回転数［Ｓ６２０］を［Ｓ５００］に変更した場合の、前記表示装置５に表示される表示画面を示している。領域Ｗ２は、基礎データやグラフィックを表示する領域であるが、この領域Ｗ２には、ＮＣプログラムの変更に合わせて更新された基礎データに係る主軸回転数［５００ｒｐｍ］が表示される。オペレータは、このような領域Ｗ２に表示される、基礎データに係る表示画面を通して、その加工内容を把握することができる。
【００５３】
また、更新された基礎データが基礎データ記憶部１０に保持されるので、仮に、編集されたＮＣプログラムが誤って前記プログラム記憶部１２から削除された場合でも、基礎データ記憶部１０に保持された基礎データを基に、ＮＣプログラム生成部１１によって、編集後のＮＣプログラムと同じＮＣプログラムを再度生成することができる。
【００５４】
また、編集されたＮＣプログラムの変更部分が、予め設定されたＮＣコードに関わる変更のみであるか否かを、識別データから判別するようにしているので、かかる判別処理を容易に行うことができる。
【００５５】
尚、本例では、ＮＣプログラム生成、編集装置２を数値制御装置１内に組み込んだ構成としたが、これに限られるものではなく、ＮＣプログラム生成、編集装置２と数値制御装置１とを別体から構成して、これらを接続するようにしても良い。また、事務所などのＮＣ工作機械から離れた場所に設置されたコンピュータに編集装置２を組み込んで、有線または無線通信および記憶媒体を介して数値制御装置１内に転送するようにしても良い。
【００５６】
［第２の実施形態］
次に、本発明の第２の実施形態を、図３に基づいて説明する。図３は本発明の第２実施形態に係るＮＣプログラム生成、編集装置の概略構成を示したブロック図である。
【００５７】
図３に示すように、このＮＣプログラム生成、編集装置２０は、上述したＮＣプログラム生成、編集装置２のプログラム編集部１３に代えて、これとは処理内容が異なるプログラム編集部２１を設けるとともに、前記変更確認部１４に代えて、同様に処理内容が異なる変更確認部２３を設け、更に、新たにハッシュ値算出部２２を設けた構成を備えるものであり、その他の構成については、前記ＮＣプログラム生成、編集装置２と同様である。したがって、同じ構成部分については同じ符号を付して、その詳しい説明を省略する。
【００５８】
前記プログラム編集部２１は、前記入力装置４及び表示装置５を介したオペレータの操作により、前記プログラム記憶部１２に格納されたＮＣプログラムを編集する処理を行い、編集後のＮＣプログラムを前記プログラム記憶部１２に格納する処理を行う。尚、当該編集処理の際に、前記識別データに関する処理を行わない点で、前記プログラム編集部１３とはその処理内容が異なる。
【００５９】
前記ハッシュ値算出部２３は、前記プログラム編集部２１によって編集処理が行われる場合に、当該プログラム編集部２１によって編集され、当該プログラム編集部２１に保持される編集後のＮＣプログラム、又は当該プログラム編集部２１によって編集され、前記プログラム記憶部１２に格納された編集後のＮＣプログラムと、前記プログラム記憶部１２に格納された編集前のＮＣプログラムについて、その全体についてのハッシュ値Ａ、及び予め設定されたＮＣコードに関わる記述を除いた部分についてのハッシュ値Ｂを算出する処理を行う。
【００６０】
尚、ハッシュ値は、ハッシュ関数を用いて処理することによって得られるデータであり、ハッシュ値算出部２３は、ＮＣプログラムのテキスト部分を、前記ハッシュ関数を用いて処理することによって前記ハッシュ値Ａ及びＢを算出する。
【００６１】
図４に、ハッシュ値Ｂを算出した一例を示す。（ａ）には、編集前のＮＣプログラム例を示し、（ｂ）には、主軸の回転速度に関するＳコード、及び刃物台の送り速度に関するＦコードのみを変更したＮＣプログラム例を示し、（ｃ）には、刃物台の移動位置に係るＺコードのみを変更したＮＣプログラム例を示している。この例における、前記予め設定されるＮＣコードは、Ｓコード及びＦコードである。また、（ｂ）及び（ｃ）では、ＮＣプログラムの変更部分にアンダーラインを付している。
【００６２】
この例では、（ａ）に示すように、編集前のＮＣプログラム中のＳコード及びＦコードを除いた部分のハッシュ値Ｂは、「９５２３ｄｄｆ０ｃａｃ９５４３ｄ３８７ｄ７ｅ１９４８９３ｂ６ｂａ」となり、また、Ｓコード及びＦコードのみを変更した場合のハッシュ値Ｂは、（ｂ）に示すように、「９５２３ｄｄｆ０ｃａｃ９５４３ｄ３８７ｄ７ｅ１９４８９３ｂ６ｂａ」となり、Ｓコード及びＦコード以外のコードであるＺコードのみを変更した場合のハッシュ値Ｂは、（ｃ）に示すように、「ｅ３ｄｃｅ８０ｅａｄｃｄｆ１ｆ７ｃｃｅ２ａ６８０４ａ７９４５３２」となった。
【００６３】
尚、ハッシュ値を算出する手法は種々のものがあるが、図４に示した例ではＭＤ５と称される手法を用いた。また、編集前後のＮＣプログラム全文についてのハッシュ値Ａは具体的に示していないが、ＮＣプログラムが編集された場合、ハッシュ値Ａは当然に異なる。
【００６４】
前記変更確認部２３は、前記ハッシュ値算出部２２によって算出された、編集前後のＮＣプログラムのハッシュ値Ａ及びＢを基に、編集後のＮＣプログラムの変更部分が、予め設定されたＮＣコードに関わる変更のみであるか否かを判別する処理を行う。
【００６５】
具体的には、変更確認部２３は、編集前後のハッシュ値Ａ及びハッシュ値Ｂを比較し、ハッシュ値Ａが一致している場合には、ＮＣプログラムの内容に変更がないと判断し、ハッシュ値Ａが一致しない場合には、編集によってＮＣプログラムに何らかの変更が加えられたと判断する。
【００６６】
そして、変更確認部２３は、ハッシュ値Ａが一致しない場合において、ハッシュ値Ｂが一致する場合には、予め設定されたＮＣコードに関わる変更のみが行われたと判別する。即ち、ハッシュ値Ｂは、予め設定されたＮＣコードに関わる記述を除いた部分についての値であり、このハッシュ値Ｂが一致するということは、予め設定されたＮＣコード以外には変更が無いことを意味するからである。図４に示すように、編集前のＮＣプログラムのハッシュ値Ｂ（（ａ）参照）は、Ｓコード及びＦコードのみが変更されたＮＣプログラムのハッシュ値Ｂ（（ｂ）参照）と同じ値になるが、Ｓコード及びＦコード以外のＮＣコードが変更されたＮＣプログラムのハッシュ値Ｂ（（ｃ）参照）とは、異なる値となる。
【００６７】
変更確認部２３は、以上のようにして、編集前後のＮＣプログラムのハッシュ値Ａ及びＢを基に、編集後のＮＣプログラムの変更部分が、予め設定されたＮＣコードに関わる変更のみであるか否かを判別する。
【００６８】
以上の構成を備えた本例のＮＣプログラム生成、編集装置２０によれば、上述したＮＣプログラム生成、編集装置２と同様に、まず、前記対話式入力部９を介したオペレータの操作によって、ＮＣプログラムを生成するために必要な基礎データが入力され、入力された基礎データが基礎データ記憶部１０に格納される。
【００６９】
ついで、前記ＮＣプログラム生成部１１により、前記基礎データ記憶部１０に記憶された基礎データを基に、ＮＣプログラムが自動生成され、生成されたＮＣプログラムが、前記基礎データと対応付けられて前記プログラム記憶部１２に格納される。
【００７０】
そして、前記プログラム記憶部１２に格納されたＮＣプログラムが、前記プログラム編集部１３によって、適宜、変更、編集されると、ハッシュ値算出部２３によって、編集前後のＮＣプログラムそれぞれについて、その全体のハッシュ値Ａ、及び予め設定されたＮＣコードに関わる記述を除いた部分についてのハッシュ値Ｂが算出される。
【００７１】
ハッシュ値算出部２３によってハッシュ値Ａ及びＢが算出されると、ついで、変更確認部２３により、算出されたハッシュ値Ａ及びＢを基に、編集後のＮＣプログラムの変更部分が、予め設定されたＮＣコードに関わる変更のみであるか否かが判別される。
【００７２】
そして、変更確認部２３による判別結果が、予め設定されたＮＣコードに関わる変更のみである場合には、前記データ更新部１５により、編集前後のＮＣプログラムを対比することによって、変更されたＮＣコードに関わるデータが抽出され、前記基礎データ記憶部１０に格納された対応の基礎データが、抽出されたデータで更新される。
【００７３】
斯くして、本例のＮＣプログラム生成、編集装置２０によっても、ＮＣプログラムが編集された場合に、一律に、基礎データを破棄するようにしていた従来とは異なり、ＮＣプログラムの編集が、これに対応する基礎データを変更可能な編集のみである場合には、自動的に、その基礎データがＮＣプログラムの編集内容に応じて更新され、編集後のＮＣプログラムと、これに対応する基礎データとを保持することができる。
【００７４】
したがって、ＮＣプログラムを編集した場合でも、当該ＮＣプログラムとこれに対応する基礎データとを、適宜表示装置に表示させることができ、オペレータは、実加工の際に、表示されたＮＣプログラムと基礎データの双方から加工内容を把握することができる。
【００７５】
また、更新された基礎データが基礎データ記憶部１０に保持されるので、仮に、編集されたＮＣプログラムが誤って前記プログラム記憶部１２から削除された場合でも、基礎データ記憶部１０に保持された基礎データを基に、ＮＣプログラム生成部１１によって、編集後のＮＣプログラムと同じＮＣプログラムを再度生成することができる。
【００７６】
また、編集されたＮＣプログラムの変更部分が、予め設定されたＮＣコードに関わる変更のみであるか否かを、ハッシュ値Ａ及びＢから判別するようにしているので、かかる判別処理を容易に行うことができる。
【００７７】
尚、本例においても、ＮＣプログラム生成、編集装置２０を数値制御装置１内に組み込んだ構成としたが、これに限られるものではなく、第１の実施形態と同様に、ＮＣプログラム生成、編集装置２０と数値制御装置１とを別体から構成して、これらを接続するようにしても良い。
【００７８】
以上、本発明の具体的な実施の形態について説明したが、本発明が採り得る態様は、何らこれに限定されるものではない。
【００７９】
例えば、上記の例では、ＮＣプログラムの全体を検証して、予め設定されたＮＣコードに係る変更のみかどうかを判別するようにしたが、特定のコード、例えば、Ｘ，Ｙ，Ｚなどの位置コード、クーラントのオン／オフに関するＭコード、回転速度に係るＳコード、送り速度に係るＦコード、回転指令に係るＧコード、送り指令に係るＧコードなど、主要なコードのみについて、その変更を検証するようにしても良い。
【００８０】
また、前記基礎データが、加工工程ごとに分割された複数のデータ群から構成され、各データ群からそれぞれ各工程のＮＣプログラムを生成して、これらが一体的に結合されたＮＣプログラムを構成するものでも良く、この場合、このＮＣプログラムが編集される際には、各工程のＮＣプログラムについて、それぞれ、前記予め設定されたＮＣコードのみについての変更か否かを判別して、対応する基礎データを更新するようにすると良い。
【符号の説明】
【００８１】
１    数値制御装置
２    ＮＣプログラム生成、編集装置
３    動作機構部
４    入力装置
５    表示装置
６    数値制御部
７    入力制御部
８    表示制御部
９    対話式入力部
１０  基礎データ記憶部
１１  ＮＣプログラム生成部
１２  プログラム記憶部
１３  プログラム編集部
１４  変更確認部
１５  データ更新部
２０  ＮＣプログラム生成、編集装置
２１  プログラム編集部
２２  ハッシュ値算出部
２３  変更確認部
【図１】
2015170147.tif 000003
【図２】
2015170147.tif 000004
【図３】
2015170147.tif 000005
【図４】
2015170147.tif 000006
【図５】
2015170147.tif 000007
【図６】
2015170147.tif 000008