JP3949689B2 - 加工プログラム作成装置 - Google Patents

加工プログラム作成装置 Download PDF

Info

Publication number
JP3949689B2
JP3949689B2 JP2004564420A JP2004564420A JP3949689B2 JP 3949689 B2 JP3949689 B2 JP 3949689B2 JP 2004564420 A JP2004564420 A JP 2004564420A JP 2004564420 A JP2004564420 A JP 2004564420A JP 3949689 B2 JP3949689 B2 JP 3949689B2
Authority
JP
Japan
Prior art keywords
input
warning
data
decimal point
machining program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004564420A
Other languages
English (en)
Other versions
JPWO2004061537A1 (ja
Inventor
敏夫 原田
裕 清水
弘三 島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2004061537A1 publication Critical patent/JPWO2004061537A1/ja
Application granted granted Critical
Publication of JP3949689B2 publication Critical patent/JP3949689B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4093Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35305Before machining, verify if all different machining start points are correct
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)

Description

この発明は数値制御(Numerical Control、以下NCと略す)工作機械を制御するための加工プログラムを作成するプログラム作成装置に関するものであり、更に詳しくは加工プログラムのキー入力中或いは加工プログラム作成後に小数点入力の妥当性を入力データから判定し、小数点入力の有無または入力データに不審点があればオペレータに報知を行い、これらを修正させることができる技術に関する。
NC工作機械で新しく作成された加工プログラムを実行させる場合、加工プログラム中の指令データに間違いがあると、予期しない動きをして工具がワークや機械と干渉したりして正しい加工ができないことがある。従って、初めて加工に供する加工プログラムは予めプログラムチェックを行い、フォーマットや工具軌跡に間違いが無いことを確認してから実加工を行っている。
マニュアルプログラミングにおいて一般的に多く発生するプログラムミスには小数点入力忘れ、小数点位置間違い、入力値の過大/過小、指定項目入力忘れ等があるが、これらは入力ミスを犯し易いものの、目視で見付け出すことは容易ではない。これらプログラムミスを発見するために従来から行われているプログラムチェック方法としては、NC装置に付属する表示装置上に表示された加工プログラムの目視によるデータやフォーマットのチェック、NC装置内部の解読手段を用いた定型的な解析による構文チェック、工具軌跡を表示させて所望の軌跡を描いているか否かの目視チェック、プログラム終点が所定の位置に到達するか否かのチェックなどがある。
これらプログラミングに於ける入力ミスのチェックを従来の方法でNC工作機械のオペレータが全て行った場合、オペレータの精神的な負担が大きく、また、自分の入力したプログラムを自分でチェックする場合は特にプログラムミスの発見を完全に行うことは困難である。
また、NC装置に付属する表示装置上に表示された加工プログラムのオペレータの目視によるデータやフォーマットのチェック以外のチェックは、最後まで作成された加工プログラムをNC装置が解析した後に行われるものであって、NC装置自身が加工プログラム作成途中にエラーチェックを行ったり、最後まで作成された加工プログラムを解析する前にエラーチェックしたりする機能は従来のNC装置には存在しない。
なお、このような問題点とはやや異なるが、類似の問題点の解決を試みたものとしては日本国特開昭62−226310号公報に示される技術がある。これには倣い制御において倣い動作方法及び動作範囲を規定するためのデータ設定内容に誤り(データ無し、同時設定、リミット値の上限下限が逆、接近し過ぎ)があるか否かのチェックを行い、この結果検出した誤りに対応したメッセージを表示する技術が開示されている。然しここでは入力値自体が本来指令されるべき値と乖離していないかどうかという妥当性についてはチェックされていない。
また、日本国特開平11−85256号公報には、計算機システムの操作卓及びCRT画面を使って行われる電力系統の監視、制御で、誤操作時のエラーメッセージの種類、回数、発生日時、発生画面、操作卓モードを表示することにより、人間系がエラーしやすい操作の傾向をつかみ、オペレータの誤操作を防止するものが開示されている。然しこの技術内容は電力系統の監視、制御に係るものであって、本願発明の対象とする加工プログラム作成装置ではなく、またエラーに基づく注意メッセージを警告発生回数の多い順に表示したり、警告発生回数をグラフィック表示したりしていない。
この発明は従来のような課題に着目してなされたもので、数値制御用加工プログラムを作成するオペレータの負担を軽減することができる加工プログラム作成装置を得ることを目的とする。
また、プログラミングの品質向上に供するとともに、オペレータの習熟度向上への動機付けを行うことができる加工プログラム作成装置を得ることを目的とする。
この発明は上記目的を達成させるためになされたもので、数値制御用の加工プログラムを作成する加工プログラム作成装置であって、加工プログラムデータを入力する入力部と、この入力部より入力されたデータを表示するデータ表示部と、小数点チェック対象ワードを記憶する小数点チェック対象ワード記憶部と、所定の警告判定値を記憶する警告判定値記憶部と、前記入力データと前記小数点チェック対象ワードとを比較し、この入力データが小数点チェック対象ワードである場合、この入力データの数値データと前記警告判定値とを比較し、この入力データの数値データが前記警告判定値より大きいときまたは小さいとき、小数点位置を間違って入力した可能性があるとして警告を行う入力データチェック制御部とを備える構成としたものである。
また、数値制御用の加工プログラムを作成する加工プログラム作成装置であって、加工プログラムデータを入力する入力部と、この入力部より入力されたデータを表示するデータ表示部と、小数点チェック対象ワードを記憶する小数点チェック対象ワード記憶部と、本装置が前記入力データに小数点が無いと最小指令単位として扱う仕様か否かを記憶する小数点入力仕様記憶部と、前記入力データに小数点が無いと最小指令単位として扱う装置仕様に対応する警告判定値及び前記入力データに小数点が無いとmm単位として扱う装置仕様に対応する警告判定値を記憶する警告判定値記憶部と、前記入力データと前記小数点チェック対象ワードとを比較し、この入力データが小数点チェック対象ワードである場合、この入力データの数値データと警告判定値記憶部に記憶された、前記仕様に対応する警告判定値とを比較し、この入力データの数値データが前記警告判定値より大きいときまたは小さいとき、警告を行う入力データチェック制御部とを備える構成としたものである。
また、前記警告判定値を、前記入力データが不自然な入力値になる値をチェックする基準値としたものである。
このため、プログラミング時に妥当性を欠く数値の入力を防止することができ、またプログラムチェックの時間が短縮できるので、加工プログラムの作成効率が向上する。また、前記警告判定値として仕様が異なる装置の警告判定値が格納されていたとしても、装置の仕様に応じた警告判定値を用いて入力データチェックを行うことができ、よって入力データチェックの際、誤判断をすることがなくなる。
また、前記入力データチェック制御部として、前記比較を、前記入力データが入力される毎に行うものとしたものである。
このため、プログラムチェックをデータ入力毎に行うことができ、データ入力を間違えたとき、直ぐに修正できる。
また、前記入力データチェック制御部として、前記比較を、前記入力データが全て入力されることにより加工プログラムの作成が完了し、この加工プログラムを実行・解析する前に、解析を伴わずに一括して行うものとしたものである。
このため、前記逐次チェックの様に入力毎の警告報知に煩わされることなく纏めて小数点入力忘れ等のプログラムチェックを行うので、加工プログラムの作成効率が向上する。
また、警告メッセージを記憶する警告メッセージ記憶部を備え、この警告メッセージ記憶部に記憶された警告メッセージを前記データ表示部に表示するようにしたものである。
また、前記入力データチェックにより警告を検知した時に、当該警告内容の発生回数を警告内容に対応して1回以上のプログラミング作業毎に記録する履歴カウンタと、注意メッセージを記憶する注意メッセージ記憶部とを備え、プログラミングを行うに当っての注意を喚起するための注意メッセージを、最後に前記履歴カウンタに記録した内容に基づき、警告発生回数の多い順に、前記データ表示部に表示するようにしたものである。
このため、オペレータはプログラミング上の注意点を認識し入力ミスの低減に繋がる。従って加工プログラムの作成効率が向上する。
更にまた、前記入力データチェックにより警告を検知した時に当該警告内容の発生回数を警告内容に対応して1回以上のプログラミング作業毎に記録する履歴カウンタと、履歴メッセージを記憶する履歴メッセージ記憶部とを備え、前記データ表示部に、プログラミングを行うに当って履歴カウンタに記録した内容を分析することにより過去のプログラミングに於ける警告発生回数を時系列的にグラフィック表示すると共に、前記履歴メッセージを表示するようにしたものである。
このため、オペレータのプログラミング技術の習熟状況を客観的に認識でき、オペレータの動機付けもできるので更なる入力ミスの低減に繋がる。従って加工プログラムの作成効率が向上する。
第1図はこの発明の実施の形態1に係る警告履歴表示例を示す図である。
第2図はこの発明の実施の形態1に係るNC装置のブロック図である。
第3図はこの発明の実施の形態1に係る、小数点入力仕様、最小指令単位と入力データの解釈対応表である。
第4図はこの発明の実施の形態1に係る履歴カウンタの構成例を示す図である。
第5図はこの発明の実施の形態1に係るプログラムチェック・確認のメイン処理フローチャートである。
第6図はこの発明の実施の形態1に係るオペレータID入力処理フローチャートである。
第7図はこの発明の実施の形態1に係るID対応情報表示処理フローチャートである。
第8図はこの発明の実施の形態1に係る注意メッセージ表示処理フローチャートである。
第9図はこの発明の実施の形態1に係る警告履歴表示処理フローチャートである。
第10図はこの発明の実施の形態1に係る小数点忘れ無条件警告処理フローチャートである。
第11図はこの発明の実施の形態1に係る逐次処理による入力ミス警告処理フローチャートである。
第12図はこの発明の実施の形態1に係る警告判定値例を示す図である。
第13図はこの発明の実施の形態1に係る入力データ判別準備処理フローチャートである。
第14図はこの発明の実施の形態1に係る入力データ比較処理フローチャートである。
第15図はこの発明の実施の形態1に係る指令項目洩れチェック処理フローチャートである。
第16図はこの発明の実施の形態1に係るG2/G3入力洩れチェックのフローチャートである。
第17図はこの発明の実施の形態1に係る入力ミス警告再実行処理フローチャートである。
実施の形態1.
以下、この発明の実施の形態1を第1図〜第17図に基づいて説明する。
第1図は警告履歴の画面表示例を示し、これから加工プログラムを作成しようとしているオペレータの過去における加工プログラム入力時の警告内容の分析結果から、オペレータがプログラムを入力するに当って注意すべき事柄、及び過去複数回のプログラミング作業時に発生した警告内容と回数を時系列的にグラフィック表示している。なお、これらのメッセージは、後述する注意メッセージテーブル46及び履歴メッセージテーブル47に格納されている。
また、本実施の形態1では、プログラミング中にデータ入力ミスを起すと警告メッセージが表示されるが、この警告メッセージとして、入力ミス内容に応じて、「必要なデータが抜けています」、「小数点を忘れていませんか?」、「小数点が値を大きくしています」及び「小数点を付けないと値が異常です」の4種類のものが予め用意されており、これらの警告メッセージは、後述する警告メッセージテーブル45に格納されている。
以下、前記第1図に示されたような表示を行わせるためのNC装置の構成及び処理内容について説明する。
第2図は前記NC装置の構成例を示すブロック図であり、第2図において、CPU1は、メモリ2に接続され、メモリ2の制御プログラムエリア3に格納された制御プログラムを1ステップずつ読出し、メモリ2のパラメータエリア4に格納されたパラメータや、データエリア5に格納された各種データを用いて解析・実行し、NC装置としての所定の機能を実現する。なお、加工プログラムも、このメモリ2の加工プログラムエリア6中に格納される。またCPU1には、入力部及びデータ表示部である各種データ入出力用の設定表示盤7が、設定表示盤インターフェース(以下I/Fと略す)8を介して接続されている。
また、CPU1には駆動部入出力I/F9を介して駆動制御部10が接続され、この駆動制御部10は、モータ11に駆動電力を供給し、機械を駆動すると同時にモータ11に付加されている検出器からのフィードバック情報を内部で制御に使用する。なお、このフィードバック情報は、前記CPU1によりメモリ2のデータエリア5にも書き込まれる。また、CPU1には機械制御信号入出力I/F12が接続され、これを経由して制御盤13のランプ、リレーを駆動すると共に各種スイッチ類の信号を取り込み、メモリ2のデータエリア5に書き込む。更にCPU1にはプログラム入出力装置14が入出力装置I/F15を介して接続されている。
前記メモリ2の詳細は第2図のメモリ2の下に展開して示す様に、制御プログラムエリア3、パラメータエリア4、データエリア5及び加工プログラムエリア6の各エリアに分けられる。
パラメータエリア4には、例えばシステムパラメータ21、軸パラメータ22、主軸パラメータ23などが格納され、更に本実施の形態1で必要となる、小数点チェック対象Gコードテーブル40、小数点チェック対象ワードテーブル(小数点チェック対象ワード記憶部)41、警告判定値テーブル(警告判定値記憶部)42、項目洩れ対象Gコードテーブル43、Gコード対応必須アドレステーブル(Gコード対応必須入力項目記憶部)44、警告メッセージテーブル(警告メッセージ記憶部)45、注意メッセージテーブル(注意メッセージ記憶部)46及び履歴メッセージテーブル(履歴メッセージ記憶部)47も含まれている。なお、注意メッセージテーブル46は、第1図の画面上半分に表示されているメッセージを記憶しているテーブルで、また履歴メッセージテーブル47は、第1図の画面下半分に表示されているメッセージを記憶しているテーブルである。また、警告メッセージテーブル45は、上述した警告メッセージ(「必要なデータが抜けています」、「小数点を忘れていませんか?」、「小数点が値を大きくしています」及び「小数点を付けないと値が異常です」)を記憶しているテーブルである。
またシステムパラメータ21エリア(小数点入力仕様記憶部)には、最小指令単位フラグ(本NC装置が、第3図に示す10μ、1μ、Subμの何れの指令単位に設定されているかを示すフラグ)、mm処理フラグ(本NC装置が、第3図のNCデータの入力仕様である、入力指令値(例えば25)を25mmと解釈させるためには“25.”と小数点を付けて入力しなければならない(例えば1μm単位の時、小数点が無いと“25”μmと解釈される)“小数点必要”タイプと、“25”と入力するだけでよい(小数点が無いと自動的にmm単位と看なす)“小数点不要“タイプの何れのタイプに設定されているかを示すフラグ)等が設定される。
また、メモリ2のデータエリア5には、例えば軸データ26、主軸データ27、PLC(プログラマブルロジックコントローラ)データ28、表示I/Fデータ29などが格納され、更に本実施の形態1で必要となるID情報48、警告カウンタ49、履歴カウンタ50及び強調情報52も含まれている。
またメモリ2の制御プログラムエリア3には、前記設定表示盤7に画面表示を行うための画面処理部31、同じく前記設定表示盤7のキーボード信号を読み込み、信号に応じた処理をする操作盤処理部32、加工プログラムに指令されたNC用各種指令を解析する解析処理部33、前記加工プログラムに指令された直線指令や円弧指令のデータに基づいて所定の直線や円弧軌跡を発生させる補間処理部34、前記補間データを基に各軸の単位時間毎の移動距離に変換するNC軸制御部35、前記加工プログラムに指令された主軸指令に基づいて主軸制御信号を発生する主軸制御部36、工作機械の各種動作を制御するPLCプログラム37、前記プログラム入出力装置14を制御して各種プログラムを読み込むための読込処理部38などが格納されており、更に本実施の形態1で用いる入力データチェック制御部39も格納されている。
次に前記第2図の構成によるNC装置の動作について説明する。
CPU1は、メモリ2内の制御プログラムエリア3に格納された、NC装置の手動運転や自動運転などの各種機能を実現するためのソフトウェアである制御プログラムを1ステップずつ読取り、実行することにより手動運転や自動運転などを行うことができる。この時、機械システムの仕様によって決められ設定される各種パラメータや、機械位置などを示す各種データを参照して、工具通路の制御や設定表示盤7の入出力を行う。加工プログラムは、前記設定表示盤7のキーボードを操作して入力するか、プログラム入出力装置14にセットされた例えばフロッピーディスク等の記録媒体に記録されている外部で作成されたプログラムを、読込処理部38の制御により入出力装置I/F15を介して読出し、CPU1を経由してメモリ2に格納される。
加工プログラムは、制御プログラムの自動運転処理により1ブロックずつ読み出され、解析処理部33では前記読み出されたNC指令を解析し、NC装置の仕様及び機械の共通部分の仕様を決定するシステムパラメータ21、制御軸毎のストロークや制限速度等の仕様を決定する軸パラメータ22、ワークまたは工具を把持して回転させる主軸の仕様を決定する主軸パラメータ23に設定された値などを参照し、制御軸毎の指令位置や機械位置等から成る軸データ26、主軸データ27を作成する。
また補間処理部34は、前記解析処理部33の出力結果により、G01指令であれば、X,Y,Z軸の座標値で指定された指令位置と指令速度を基に現在位置から指令位置までを直線で移動するように、NC装置における制御単位時間当りの各軸の移動量を算出し、またG02またはG03指令であれば、現在位置からX,Y,Z軸の指令位置までI,J,K軸の座標値で指定された点を中心とする曲率の円弧と指令速度で移動するように、NC装置にける制御単位時間当りの各軸の移動量を算出し、夫々各軸データ26エリアの対応するアドレス(メモリの番地)に格納する。
またNC軸制御部35は、前記補間処理部34で算出された補間データに基づいて加減速処理などを行い、時々刻々の各軸移動量を駆動部入出力I/F9を経由して駆動制御部10に出力する。
また駆動制御部10は、前記各軸移動量をモータ11の駆動電力に増幅・変換し、モータ11を所望の回転角度に駆動する。ここで回転駆動された角度データは、検出器出力として前記駆動制御部10にフィードバックされて閉ループを構成し、指令位置と機械位置の差分を検出して位置誤差信号として駆動信号・電力に変換される。また、このフィードバック信号は、前記駆動部入出力I/F9を介して軸データ26エリアに入力・更新される。
工具またはワークを回転駆動する主軸指令も、前記加工プログラム中に、前記G01(直線指令),G02(時計回り円弧指令),G03(反時計回り円弧指令)と位置指令(座標値)と共に主軸を示すアドレス“S”に続いて回転数が指令され、この主軸指令は解析処理部33から主軸制御部36に入力され、主軸制御部36は制御軸同様に主軸用の駆動部入出力I/F9を介して回転数信号を主軸用駆動制御部10に入力し、前記主軸回転数をモータ11の駆動電力に増幅・変換し、モータ11を所望の回転数で駆動する。ここで回転駆動された回転データは、検出器出力として前記主軸駆動制御部10にフィードバックされて閉ループを構成し、指令された回転数で主軸を回転駆動し、主軸に把持された工具またはワークを回転駆動する。
またPLCプログラム37は、工作機械のリレーシーケンス等をソフトウェアで実行するものであり、加工プログラムから指令される補助指令や工具指令などと協働し、機械制御信号入出力I/F12を介して制御盤に設けられた強電回路や図示しない機械操作盤などの表示器の点滅制御やスイッチ信号の読込み処理を行う。
一般的なNC装置は以上の様に制御が行われ、加工プログラムで指令された加工を実行する。
次に本実施の形態1の特徴的な動作について説明する。
制御プログラム内の入力データチェック制御部39は、NC装置を操作するオペレータを特定するために設定表示盤7にID情報入力要求画面を表示してID情報48を入力させ、その入力されたID情報48がデータエリア5内のID情報48エリアに登録されているものであるか否かをチェックする。未登録であれば新たに登録し、登録済みであれば、当該オペレータに関する、第1図に示すようなプログラミングの操作ミスの解析結果を設定表示盤7に表示する。
またパラメータエリア4内の小数点チェックGコードテーブル40は、小数点が使用可能なアドレスワード(以下単にアドレスまたはワードと略すことがある)をその指令中に含むG指令(G00,G01,G02,G03・・・)を纏めたGコードの集合であり、任意のGコードを入力として検索し、一致があれば当該G指令には小数点が有効なアドレスが指令される可能性があると判断する。
また小数点チェック対象ワードテーブル41は、前記小数点チェックGコードテーブル40に登録されたGコード毎に設けられ、当該G指令において小数点が使用できるアドレスの集合である。任意のアドレスを入力として検索し、一致があれば当該アドレスは小数点が有効であると判断する。
また警告判定値テーブル42は、任意のG指令中の、任意のアドレスに指令される数値がNC装置のシステム側より提供される最大・最小指令値(NC装置のシステムが対応していない値)を超えてはいないが、加工テーブルの大きさや加工するワークから考えて通常指令する値としては小さ過ぎる・大き過ぎるなど、入力された数値の適否確認が必要であると判断するための値を記憶したパラメータのテーブルである。
また項目漏れ対象Gコードテーブル43は、入力中のG指令が項目の入力洩れがあるとエラーになる場合に、入力中の項目を監視する必要のあるGコード(G02,G03など)を集合させたものである。
また必須アドレステーブル44は、前記項目漏れ対象Gコードテーブル43に登録された各Gコードに対応してそのG指令の必須アドレス群(G02,G03の中心指定の場合;I,J,K、G02,G03の半径指定の場合;Rなど)を記憶させたもので、アドレスが不足しているか否かを入力データとこのテーブル44を比較することにより判定する。
前記入力データチェックの結果、入力値が異常と判定されると、内容に応じて警告メッセージテーブル45に格納された上述した警告メッセージを表示して数値の適否確認や修正入力を行わせ、データエリア5内の、警告内容に対応する警告カウンタ49の内容をカウントアップ(+1)する。プログラミングが終わると、警告カウンタ49の内容は当該オペレータ用の履歴カウンタ50に格納される。この時、履歴カウンタ50は、例えば5回分のプログラミングについて記憶できる様に構成されており、5回より前の履歴は上書きされて消滅する。
また、前記履歴カウンタ50は前述したように、オペレータがID情報48を入力するとID情報に対応する履歴カウンタ50のデータが、読み出され、前回プログラミング時における警告カウンタ50のカウント値の大きい順に対応する注意メッセージテーブル46内の注意メッセージ(具体的内容は第1図参照)を表示し、更に履歴カウンタ50のカウント値を時系列的にグラフ化して、対応する履歴メッセージテーブル47内の履歴メッセージと共に表示する(具体的内容は第1図参照)。
なお、以上述べた入力データチェック制御部39に格納されている各種制御プログラムの詳細については、後にフローチャートを用いて説明する。
また画面処理部31は、前記強調情報エリアに格納された強調情報52に従って、所定のアドレスの表示文字を所定の色で表示を行う。強調解除は前記強調情報エリア中の指定された色情報をクリア(初期化)することにより実現される。
第3図は、NC装置の入力データに小数点が無いと最小指令単位として扱う仕様と、小数点が無いとmm単位として扱う仕様の場合において、NC装置の機械によって予め決められた最小指令単位(例えば10μm,1μm,Subμmの何れか)のシステムで、入力される数値データに小数点が有るデータと小数点が無いデータがどのような数値として解釈されるかを纏めた表である。なお、この仕様データは、上述したようにメモリ2のシステムパラメータ21エリアに格納される。
この表に示されるように、例えば1μm指令(1=1μm)仕様の時、小数点入力必要タイプで小数点無しデータを入力すると1μm単位として解釈し、小数点付データを入力すると指令どおり(mm単位)として解釈する。一方、小数点入力不要タイプで小数点無しデータを入力すると1mm単位として解釈し、小数点付データを入力すると指令どおり(mm単位)として解釈する。具体例を挙げると、小数点必要タイプで1μm指令の場合、例えば123(”.”無データ)と入力すれば123μm、123.(”.”有データ)と入力すれば、123.000mmと解釈され、また小数点不要タイプで1μ指令の場合、例えば123(”.”無データ)と入力しても123.(”.”有データ)と入力しても123.000mmと解釈される。この場合、123μmと解釈させるためには0.123または.123と入力する必要がある。
第4図は履歴カウンタ50の詳細内容で、4種類の入力ミス判断の内容とその回数を過去5回のプログラム作成分まで各オペレータに対応して記憶する。
第4図に記載された4種類の入力ミスの具体的な内容は、
(a)項目忘れ:指令項目入力忘れで、例えば円弧(G2)指令で中心位置(I,J,K)を指令しなかった、
(b)小数点忘れ:小数点が使えるアドレスのデータに小数点を入力しなかった、
(c)位置不正:入力仕様が小数点必要(最小指令単位処理)タイプ、または小数点不要(mm単位処理)タイプで入力データに小数点が含まれていた場合において、小数点の位置を間違い、前記入力データの整数部が予め設定した値より大きくなった、
(d)極大/極小:入力仕様が小数点必要(最小指令単位処理)タイプで入力データに小数点が無く前記入力データの整数部が予め設定した下限値より小さくなった、または小数点不要(mm単位処理)タイプで入力データに小数点が無く前記入力データの整数部が予め設定した上限値より大きくなった、
である。
また、履歴カウンタ50のCTa〜CTdはカウンタで、a〜dの警告内容(a:データ入力忘れ、b:小数点入力タイプ勘違い、c:小数点位置間違い、d:小数点付け忘れ、の警告内容に対応する)の発生回数を記憶する。カウンタのサフィックス1〜5は直近5回の履歴を示す番号で、1が前回プログラミング時、5が5回前のプログラミング時を指す。これらのカウンタの内容は、プログラミング中の各ミスに対する警告1回につき対応する警告カウンタ49に1が加算されたものがプログラミングの終了と共に履歴カウンタ50に転送され更新する。
次に本実施の形態1の特徴であるプログラミング時のチェック方法についてフローチャートを用いて説明する。
第5図はプログラムチェック及びデータ確認の処理内容を示すフローチャートであり、この中の各処理の詳細については別途各処理毎に展開されたフローチャートにより説明する。
step01はオペレータが当該NC装置の設定表示盤7を用いて加工プログラムを入力する場合に、編集画面でのプログラミングを許可するか否かをチェックする為のフラグであり、step02のオペレータID処理の中でオンされ、プログラム作成・チェック作業を終わる時にオフされる。つまり、オペレータを認識できないと過去におけるプログラミング時の警告履歴の報知ができないし、これから行うプログラミングに於ける警告結果も保存ができないので、IDが入力されたことを確認できるまでID入力画面を表示する。従ってオペレータIDが入力されていなければNoでstep02に進み、オペレータIDが入力されておればstep04に進んでプログラム作成やチェックのできる処理に進む。
step02では後述(第6図)する様に、入力されたIDをチェックし、当該IDが登録されていなければ新規オペレータとして新規登録し、既に登録されておれば当該IDに対応する過去のプログラミングに於ける履歴カウンタ50から警告履歴を分析し、プログラミングに当っての注意事項の表示や警告発生の変化(プログラミングの習熟度の変化)等を時系列的に表示させ、step03に進む。
step03では前記step01でチェックしたものと同じオペレータID入力済みFGをチェックし、Noであればオペレータを特定できないので以下の処理はスキップして終了する。Yes(フラグがオンになっている)と判断されればstep04に進む。
step04ではこれから操作する内容がプログラム作成であるか否かを設定操作盤7上のスイッチの選択状態から判断する。Yesであればstep05に分岐し、一括チェックか否かを同様に設定操作盤7上のスイッチの選択状態から判断する。一括チェックでなければstep06に進み、逐次チェック処理、つまりプログラミングにおいて、キー入力でデータが小数点、アドレスやエンドオブブロック(;)で区切られる毎にその直前に入力したデータが適切なものであるかどうかをチェックし、データの見直しが必要と判断されると警告メッセージを設定表示盤7に表示し、データ見直しの必要性をオペレータに報知する。
なお、オペレータは前記報知内容に基づいた処理(入力データの修正や確認など)を行う。
step05で一括チェックであると判断されると、step08に分岐する。一括チェック処理は前記step05から分岐する以外に、step04でプログラム作成でないとき且つstep07で一括チェックが選択されている時に実行される。この一括チェックは、前記逐次チェックが、キー入力が区切られる毎に所定の警告チェックが行われ、頻繁に警告が発生する可能性もあるので、プログラミング完了後に一括してチェックを行い、作業効率を上げようとするものである。本実施の形態1での一括チェックは、設定表示盤7に表示されているプログラム内容に対して逐次チェックで行った所定のチェックを行い、画面がスクロールされて表示範囲が変わるとstep08を再度実行する。
前記step07で一括チェックでないと判断すると、チェック処理を終了する。
第6図は第5図におけるstep02の処理の詳細を示すフローチャートである。
step21で設定表示盤7の表示画面にID入力を要求する画面を表示し、データが入力されたか否か(例えば入力データがNullか否か)をstep22でチェックする。入力されていなければ無作業で処理を終了して再びIDの入力待ちになる。Nullでない有意データが入力されればstep23でオペレータID入力済みFGをオンにし、step24に進んでID対応情報表示処理を行う。ID対応情報表示処理の詳細については後述するが、IDに対応した履歴カウンタ50の内容を読出し、このカウンタ内容の解析結果から第1図に示すように、オペレータにプログラミング操作上の注意事項や、過去における警告内容の変化のグラフ表示を行う。
第7図は第6図におけるフローチャートのstep22の詳細処理を示したものである。
メモリ2のID情報48エリアは予めオペレータが初回操作時に入力する本人特定のための氏名やオペレータ独自の記号番号を記憶するエリアで、オペレータが表示画面で入力要求されるID情報入力エリアに入力し、記憶操作をすることにより記憶される。このID情報48に対応して警告内容と回数が所定のプログラム本数分記憶される。警告カウンタ49は入力ミスと判断した時に表示する警告に対応してその回数を計数するものであり、プログラミングを終了しこの加工プログラムをメモリに格納すると同時にオペレータのID情報に対応するメモリアドレスに格納される。
step31では設定表示盤7のID入力要求画面から入力されたIDコードがデータエリア5内のID情報48エリアに既に登録されているものか否かを判別する。step31でIDコードが登録されていると判断されるとstep32に進み、履歴カウンタ50の当該IDコードに対応する先頭アドレスをID情報48エリアから読み出す。
step33では前記先頭アドレスから続けて読み出された履歴カウンタ50の内容からプログラミング上の注意すべき操作に関するメッセージの表示を行う。
step34では前記読み出された履歴カウンタ50の内容に基づき、警告内容と回数のグラフィック表示を行い、処理を終わる。
step31で未登録のコードであると判断されるとstep35に分岐し、IDコードを前記ID情報48エリアに格納し、当該IDコードに対応する履歴カウンタの先頭アドレスを決定し、ID情報48エリアに格納して処理を終わる。
第8図は第7図の注意メッセージ表示処理(step33)の詳細処理を示したものである。先ず、step41で読み出した先頭アドレスからカウンタCTa1乃至CTd1の内容(カウント値)を図示しない演算用メモリにコピーする。ここでCTはカウンタの略号、a乃至dは4種類の警告内容対応の記号、1は前回に行われたプログラミングでの警告内容であることを示す。履歴カウンタは過去5回分まで記憶できるように構成されており、1は前回プログラミング、2は前々回プログラミング、5は5回前のプログラミング時の警告実績である。
step42では前記コピーしたカウンタの内容の大きい順にカウンタ番号を並べ、カウンタ番号に対応した注意メッセージを注意メッセージテーブル46から読出し、表示I/Fデータ29としてデータエリア5の表示I/Fデータ29エリアに書き込む。
step43ではオペレータを特定するIDコードや氏名等の情報を、表示I/Fデータ29としてデータエリア5の表示I/Fデータ29エリアに書き込む。
更に注意メッセージの固定文、例えば“あなたは以下の順に入力を間違う傾向があります”を注意メッセージテーブル46から読出し、同様に表示I/Fデータ29としてデータエリア5の表示I/Fデータ29エリアに書き込む。
第9図は第7図の時系列表示処理(step34)の詳細処理を示すものである。
step51では読み出した先頭アドレスからカウンタCTan乃至CTdnの内容を図示しない演算用メモリにコピーする。カウンタの記号については前述したとおりであるが、最後の“n”は前回を示す1から5回前を示す5を意味する。従って、step51ではCTa乃至CTdの1回分(1ブロックとする)のカウンタ内容をコピーする。
step52では前記1乃至5の5回分(全ブロック)全ての内容を転送完了したか否かをチェックする。これはチェック用カウンタに最初に5をセットしておき、step52に来る毎に1を減じて0になったか否かで判定できる。全ブロックの転送が完了していなければ、step53に進み、次ブロックまでのカウンタのアドレスの差分(本実施の形態1ではa,b,c,dの4となる)を加算し、step51に戻って次ブロックの転送を行う。
step52で全ブロックの転送が完了したと判断されるとstep54に分岐し、オペレータを特定するID情報を表示I/Fデータ29としてデータエリア5の表示I/Fデータ29エリアに書き込み、履歴メッセージa“データ入力忘れ”乃至d“小数点忘れで極大/極小値にした”と履歴メッセージの固定文、例えば“前回までのあなたの傾向です”を履歴メッセージテーブル47から読出し、表示I/Fデータ29としてメモリの所定のエリアに書き込む。以上の処理によりID情報と表示メッセージは設定表示盤7の表示部に表示される。
step55では履歴カウンタ50から転送された過去5回分の警告内容をグラフィックで時系列表示するが、ここでは一つの警告内容について過去5回分を任意の間隔でX座標位置を割り当て、回数をY座標値に割り当てて交点座標を決定し、これらを基本的なグラフィックコマンドで色を指定して直線で結ぶことにより警告回数の変化を時系列的にグラフ表示を行う。この処理をa、b、c、dについて繰り返して行うことにより全警告内容について表示できるが、これは数表をグラフ表示する一般的なソフトウェア処理と同じであるので具体的な説明は割愛する。グラフ化された履歴も履歴メッセージと同様に、表示I/Fデータ29としてメモリに書き込むことにより設定表示盤7の表示部に表示される。
第10図は第5図のstep06における逐次チェック処理の機能として、小数点有無のチェックに限定したもののフローチャートである。本処理は一括チェックにも使えるように作っているので、最後の2ステップで一括チェックについての処理を行わせている。
ここでは小数点が使用できるアドレスのデータで、小数点を入力しなかった時に無条件で警告を行う。(本実施の形態1が対象としているNC装置では基本的には小数点入力はオペレータの意思に依り行われるが、チェックの一つの方法として小数点が使用できるアドレスには小数点を必ず入力するという前提に立ち、小数点が入力されなければ入力忘れとして警告するケースを提供する。第11図では前記小数点有無のみのチェックというケースに替えて、小数点の打ち間違い、打ち忘れ、過大な入力値、過小な入力値のチェック、及び必須入力項目の入力忘れのチェックを逐次行うケースを説明する。)
第10図において、step61で入力中のGコードを読取る。step62では当該Gコードが小数点チェックの対象であるか否かをチェックする。これはそのG指令中に小数点の使えるアドレスを含んでいるGコードを集めた小数点チェック対象Gコードテーブル40をサーチすることにより行う。ここで前記テーブル中に前記Gコードが検出されるとstep63に進み、前記小数点チェック対象Gコードテーブル40中の各Gコードに対応して記憶されている小数点チェック対象ワードテーブル41のアドレスを読み出す。更に、Gコードに続いて入力されるアドレスコードを読取る。step62でGコードが検出されなければ小数点チェックは不要であるので処理を終了する。
step64では前記読み出したワードデータ(X,Y,Z等のアドレスワードとこれに続く数値データで、アドレスワードまたはエンドオブブロック(;)の入力で区切られる)のアドレスコードが、前記読み出したアドレスから始まる小数点チェック対象ワードテーブル41中に存在するか否かをチェックする。ここでYesと判定されるとstep65に進み、前記アドレスに続いて入力されたデータに小数点が有るか否かを判定する。ここでNoと判定された場合はstep66に進み、小数点が使用できるアドレスのデータに小数点が無いということで小数点の入力を忘れたということになるので、警告メッセージ“小数点を忘れていませんか?”を警告メッセージテーブル45から読み出して表示I/F29に書き込む。また、警告カウンタ49の中にある警告カウンタbを1カウントアップする。
前記step64でチェック対象外と判定された時、及びstep65で小数点ありと判定された時は後の処理はスキップする。
step67とstep68は一括チェック用であり逐次チェックでは使用しないが、step67では設定表示盤7で選択されているチェックモードを読取り、一括チェックであればstep68に進み、当該ワードデータの始点アドレス、終点アドレス(またはデータ長)、表示態様(表示色やハイライト等)を強調情報52エリアに書き込む。この強調情報52を基に、画面処理部31は表示画面上の指定された範囲(始点から終点まで)の表示情報を指定された表示態様の色で表示したり、ハイライト表示したりして他の部分と区別し易く表示を行う。一括チェックでなければ前記処理は行わない。
第11図は逐次チェックにおいて本来行う処理のフローチャートを示し、また第12図はNC装置の各最小指令単位システムに於ける3種類の誤入力警告判定値を一覧表示したものである。本実施の形態1では判定値として例えばX,Y,Z等の座標値用に1組だけを設けたケースを説明しているが、他のアドレスや個々のアドレスに対応して準備しておくことも可能である。
ここで第12図について説明しておく。この表は10μm、1μm、0.1μmの各最小指令単位システム毎の小数点付け間違い等を判別するためのパラメータ(警告判定値テーブル)の設定例を示したものであり、実際には当該機械の指令単位システムと同一の、この中の1列のパラメータ値を使用する。ここに設定されている値は機械の大きさなどによって適宜変更が可能である。なお、パラメータ名称のPDはパラメータデータの略、100、010等の数値は指令単位システムを10倍したもの(例えば10μは100、Subμ(0.1μ)は001)、末尾のSMはSMALLの略、DTはDECIMAL−POINTの略、LGはLARGEの略で、夫々過小、小数点、過大に対応させている。
ここには機械仕様で決まる指令単位システム(10μ、1μ、0.1μ)、機械可動範囲ワーク寸法を元に警告を発する境界値を設定する。例えば過小指令値防止値としては1mm(ワークにも色々あるので一概には言えないが、一般的にはこういう小さな指令値は考えられないので、小数点を打ち間違ったか最小指令単位の数値で桁数を間違ったと判定する)、小数点付加防止値としては200(通常は曲率の大きな半径値でもない限り200mmという長さの指令は行わないので、200を超える数値の末尾に小数点を付けるとキーの打ち間違いと判断する)、過大指令値防止値としては同じ理由から200、という値を設定しているが、これらは機械のワークを載せるテーブル寸法が大きい時には、加工図面で指示される最大寸法に合わせて設定することもできる。実施の形態1では小数点が使えるシステムで小数点が無ければ無条件に警告を行っていたが、実施例2は入力した数値と小数点の有無によって不自然な指令値になるか否かを判別し、不自然と判別されれば数値を確定する前に警告を発し、オペレータに訂正を促すようにするものである。
ここで過小指令値防止とは、入力数値に小数点が無く、ミリ入力(入力された整数をミリ単位として扱う)でもないので、入力された数値は通常指令されないような微小な値であると判断する基準値である。小数点付加防止とは、小数点を間違って付けたために指令値が大きくなり過ぎている(例えば“201.”と入力した場合、201mmという指令値になるが、末尾に小数点を付けたためにこのような大きな値を指令したとみなされる場合には、例えばパラメータPD010DTに“200”と設定しておけば、設定値を超えたと判断されるので入力ミスの可能性を警告する)のではないかと判断する基準値である。過大指令値防止とは、ミリ入力の時に例えば“20.5”と入力しようとしたものの、小数点を付け忘れて“205”と入力したために指令値が大きくなり過ぎているのではないかと判断する基準値である。前述したように、これらの値はその機械またはワークに合わせて任意に設定・変更ができる。
なお、第12図において、過小指令値防止データの数値(100,1000,10000)の単位は夫々10μ、1μ、Subミクロン(即ち全て1mmの長さとなる)、小数点付加防止、及び過大指令値防止の数値(200)の単位はmmである。
step71では第12図に示されたような警告判定値テーブル42から当該NCの最小指令単位システム(例えば1μm指令、この選択はシステムパラメータ21内に設定されている)に対応した3種類のパラメータPD010SM,PD010DT,PD010LGの設定値1000,200,200を読み出す。
step72では小数点チェック及び入力値の大きさの妥当性チェックを行い、step73では所定のG指令に対して必須項目の入力洩れチェックを行う。
第13図は入力値妥当性チェックのためのパラメータを読み込む処理であり、第11図のstep71の詳細内容である。step81では先ず警告判定値テーブルの先頭アドレスを読み出す(このアドレスに最小指令単位毎に与えられたオフセット値を足し込んで所望のパラメータの先頭アドレスを決定する)。step82ではシステムパラメータ21のインチ入力フラグをチェックし、フラグがオンになっておればインチ入力としてインチデータ処理(これは以下に説明するメトリック入力と同様の処理であり、インチ入力であってもそれに対応したパラメータがレジスタ(SM,DT,LG)に読み出されているので、メトリック入力同様にチェックを行うことができる)を行う。
step83ではシステムパラメータ21の最小指令単位フラグをチェックし、0.1μmフラグがオンになっておればstep85に分岐して最小指令単位0.1μmに対応する過小指令値防止、小数点付加防止、過大指令値防止の三つのパラメータを読出し、演算用メモリSM,DT,LGに夫々書込み、処理を終了する。step83でフラグがオンになっていなければstep84に進み、同様にシステムパラメータ21の最小指令単位フラグをチェックし、1μmフラグがオンになっておればstep86に分岐して最小指令単位1μmに対応する三つのパラメータを読出し、演算用メモリSM,DT,LGに夫々書込み、処理を終了する。step84でフラグがオンになっていなければ10μm指令と看なしてstep87に分岐して最小指令単位10μmに対応する三つのパラメータを読出し、演算用メモリSM,DT,LGに夫々書込み、処理を終了する。
第14図は第11図の小数点チェック(step72)の詳細処理を示す。実際のチェック内容は前記三つのパラメータとの比較による、過小指令値防止(入力値が小さ過ぎる、或いは小数点を付け忘れていないか)、小数点付加防止(小数点を付けると入力値が大きくなり過ぎる)、過大指令値防止(入力値が大き過ぎる、或いは小数点の位置を間違えたのではないか)の3種類である。
step101で入力中のGコードを読取る。step102では当該Gコードが小数点チェックの対象であるか否かをチェックする。これはそのG指令中に小数点の使えるアドレスを含んでいるGコードを集めた小数点チェック対象Gコードテーブル40をサーチすることにより行う。ここで前記テーブル中に前記Gコードが検出されるとstep103に進み、前記小数点チェック対象Gコードテーブル40中の各Gコードに対応して記憶されている小数点チェック対象ワードテーブル41のアドレスを読み出す。更に、Gコードに続いて入力されるアドレスコードを読取り、且つワードの先頭アドレス(アドレスコードの記憶位置)を記憶する(但し、ワードの先頭アドレス記憶は一括チェックのときに必要な処理である)。step102でGコードが検出されなければ小数点チェックは不要であるので処理を終了する。
step104では前記読み出したワードデータ(X,Y,Z等のアドレスワードとこれに続く数値データで、アドレスワードまたはエンドオブブロック(;)の入力で区切られる)のアドレスコードが前記読み出したアドレスから始まる小数点チェック対象ワードテーブル41中に存在するか否かをチェックする。ここでYesと判定されるとstep105に進み、前記アドレスに続いて入力されたデータの整数部を読み出し、更に、当該ワードデータの終点アドレスを記憶する(但し、終点アドレス記憶は一括チェックのときに必要な処理である)しておく。step104でNoと判定された場合はデータのチェックを行う必要はないので処理を終了する。
step106ではシステムパラメータ21中のmm処理フラグがオンか否かをチェックする。このフラグは第3図のNCデータの入力仕様である、入力指令値(例えば25)を25mmと解釈させるためには“25.”と小数点を付けて入力しなければならない(例えば1μm単位の時、小数点が無いと“25”μmと解釈される)“小数点必要”タイプと、“25”と入力するだけでよい(小数点が無いと自動的にmm単位と看なす)“小数点不要“タイプを選択するものである。ここでフラグがオン(mm単位処理)であればstep107へ進み、オフ(最小指令単位処理)であればstep114に分岐する。
step107では入力データに小数点が含まれているか否かをチェックし、小数点が有ればstep108に進み、前記step105で読み出した整数部と前記第13図のstep85乃至step87で読み出したパラメータ値DTを比較する。整数部>DTであればstep109に進み、警告メッセージc“小数点が値を大きくしています”を表示I/F29に書込み、警告カウンタcをカウントアップ(+1)してstep110に進む。step108で整数部>DTでなければstep110に分岐する。
step107で小数点が無いと判断されるとstep112に分岐し、同様に整数部とパラメータ値LGを比較する。整数部>LGであればstep113に進み、警告メッセージd“小数点を付けないと値が異常です”を表示I/F29に書込み、警告カウンタdをカウントアップ(+1)してstep110に進む。step112で整数部>LGでなければ処理を終了する。
step106でフラグがオフ(最小指令単位処理)であればstep114に分岐し、入力データに小数点が含まれているか否かをチェックし、小数点が有ればstep115に進み、同様に整数部とパラメータ値DTを比較する。整数部>DTであればstep116に進み、警告メッセージc“小数点が値を大きくしています”を表示I/F29に書込み、警告カウンタcをカウントアップ(+1)してstep110に進む。step115で整数部>DTでなければ処理を終了する。
step114で小数点が無いと判断されるとstep117に分岐し、同様に整数部とパラメータ値SMを比較する。整数部<SMであればstep118に進み、警告メッセージd“小数点を付けないと値が異常です”を表示I/F29に書込み、警告カウンタdをカウントアップ(+1)してstep110に進む。step117で整数部<SMでなければ処理を終了する。
また、以上の説明に於いては入力値の桁数は最大桁数以内で正しく指令されているものとしているが、最大入力桁数のパラメータを設け、これと入力値を比較することにより、入力時点で入力値の桁数チェックができ、桁数オーバーの場合には警告により修正することができる。この場合も従来はプログラミング後に加工プログラムを解析・実行させないと発見できなかった桁数オーバーが事前に発見でき、加工プログラムの完成度を高くすることができる。
step110及びstep111は前記小数点チェック処理を一括チェックで行うためのもので、step110では一括チェックモードか否かをチェックし、一括チェックであればstep111に進んで前記警告判定を行ったワードデータ(アドレス+数値データ)の始点/終点アドレス及び強調表示色等表示態様を強調情報52にセットし処理を終わる。前記強調情報52にセットされた情報に基づいて画面処理部31は設定表示盤7の表示部に表示された加工プログラムの所定範囲を強調して表示する。
第15図は項目洩れチェック処理であり、項目洩れチェック対象Gコードパラメータ43(この中にはG指令中の指令項目(アイテム)が不足すると解析不能でエラーになる場合、これらのG指令コードに対応するチェックプログラムの格納メモリの先頭番地を格納しているので、作成中のGコードが対象コードであるかをチェックし、対象コードであればチェックプログラムを起動して必要とする項目が洩れていないか否かをチェックし、不足しておれば警告を行って入力を促す。G2/G3コードの様に共通に使えるチェックプログラムもある。)に当該コードが登録されているか否かをチェックし、登録されていなければチェック不要である。この様に加工プログラムのプログラミング中に項目洩れを警告し、その場でプログラムを修正できるので、加工プログラムの完成度が高くなる。従って従来の様にNC装置で加工プログラムを実行させて初めて指令項目が洩れていたということが判明して再編集するという、加工プログラム作成から修正に至る無駄時間が無くなり、生産効率が向上する。
step121では指令されたGコードを読取り、当該ブロックの始点アドレス(メモリの番地)及び終点アドレス(メモリの番地)を読取る(このアドレスは一括チェックで必要な情報である)。step122では前記読取ったGコードが項目洩れチェックの対象コードであるか否かをチェックする。これは小数点チェックの場合と同様に、項目漏れ対象Gコードテーブル43に対象となるGコードと、各Gコードに対応付けて、各G指令で最低限必要であるアドレスコードの有無をチェックするプログラムの起動アドレス(メモリ上の番地)を纏めた必須アドレスチェックテーブル44中の所定のアドレスが登録されているので、当該項目漏れ対象Gコードテーブル43に前記読取ったGコードが登録されているか否かで判定する。当該テーブル中に登録されていなければ非対象であるので、処理を終了する。Gコードが登録されておればstep123に進み、前記読取ったGコードに対応付けて格納されている当該G指令のチェックプログラムの起動アドレスを読取り、当該プログラムを起動する。
step124では前記起動されたチェックプログラムが実行され、入力データに項目洩れがあるか否かをチェックする。この処理中に項目洩れが検出されると警告メッセージをセットし、警告有りフラグがオンされて処理を終了する。step125では前記項目洩れチェック処理でのチェック結果を示す警告有りフラグをチェックし、フラグがオンになっておれば項目洩れがあるのでstep127に進み、ID対応の警告カウンタaをカウントアップ(+1)する。フラグがオンになっていなければ必要なデータが全て入力されているということなので処理を終了する。
第16図は例えばG02またはG03指令(時計回りまたは反時計回り円弧指令)用の項目洩れチェックプログラムである。
円弧指令には中心指定円弧指令と半径指定円弧指令があり、中心指定円弧指令では回転方向をG2(時計回り)かG3(反時計回り)で、現在位置から見た終点位置(X,Y,Z)、更に中心位置(I,J,K)を指令することで、半径指定円弧指令では回転方向をG2(時計回り)かG3(反時計回り)で、現在位置から見た終点位置(X,Y,Z)、更に半径と中心位置の方向(±R)を指令することで初めて実行できる。ここで、真円の場合を除き、各必要アイテムの内、終点座標または中心座標が無ければ円弧指令は実行できないが、従来方式では本指令を実行するために解析した時に初めてエラーになり、加工を中止してプログラムを修正することになる。
step131では当該G指令で入力されている全てのアドレスコードを読取り、step132では前記読取ったアドレスコード中に円弧終点座標値を指定するX,Y,Zの何れかのコードがあるか否かをチェックする。
Yesであれば次にstep133で中心位置を特定するための半径情報であるI,J,Kの何れかのコードがあるか否かをチェックする。ここで何れかがあれば正常と看なして処理を終了する。I,J,K何れも無ければ円弧半径と中心方向を指定する半径指定である可能性があるのでstep134でRのコードが有るか否かのチェックを行う。Rが無ければstep135に進み、警告メッセージa“必要なデータが抜けています”を表示I/F29に書込み、警告有りFGをオンにする。
step132でNoと判定されれば、現在位置を終点とする真円指令である可能性があるのでstep138で中心位置を特定するI,J,Kの何れかのコードがあるか否かをチェックし、何れかがあれば正常と看なして処理を終了する。I,J,K何れも無ければ中心が特定できないので警告処理を行うstep135に分岐する。
step136及びstep137は一括チェックで必要な処理である。step136では一括チェックモードか否かをチェックし、一括チェックでなければ(逐次チェックであれば)処理を終了する。一括チェックであればstep137に進み、第15図のstep121で読取った当該ブロックの表示メモリ上の始点/終点アドレス及び表示色等の表示態様を強調情報にセットし、処理を終了する。
第17図は前記小数点チェック及び前記項目洩れチェックをプログラム入力中に逐次行うのではなく、入力完了後に一括して行うためのフローチャートである。
step141では設定表示盤7の表示画面上に表示するメモリの領域が変化したか否かをチェックするもので、表示画面がスクロールされれば表示領域変化となり、step142に進む。step142では表示メモリの先頭アドレスをチェックポインタにセットし、表示メモリの最終アドレスをエンドポインタにセットする。初回チェック起動時も表示領域変化と看なされる。step141で表示画面領域に変化がなければ同一領域で同一チェックを繰り返す必要はないので処理を終わる。
step143ではチェックポインタで指示された表示メモリ上のアドレスから1キャラクタのデータを読取り、チェックポインタの内容を+1(更新)する。読取ったキャラクタをデータメモリ5内の所定のエリアに格納してワードデータとし、これを集めて1ブロック分(エンドオブブロックまで)のデータとする。step144では前記読取ったキャラクタがエンドオブブロック(EOB)か否かを判定し、EOBでなければstep145に進み、表示メモリ領域を越えた(チェックポインタ>エンドポインタ)か否かをチェックする。越えていなければstep143に戻って次キャラクタを読取る。step145で表示メモリ領域を越えていると判定されるとチェックすべきデータは無いのでstep149に分岐して警告情報の処理を行う。
step144で読取ったキャラクタがEOBであると判定されるとstep146に進み、前記読取った指令ブロックがプログラム終了(M02またはM30)か否かをチェックする。プログラム終了であればstep149に分岐して警告情報の処理を行う。step146で前記読取った指令ブロックがプログラム終了でないと判定されればstep147に進み、既に説明した小数点チェック処理を行う。続いてstep148に進み、既に説明した項目洩れチェック処理を行い、次ブロックのチェックを行うためにstep143に戻る。
step149、step150は前記小数点チェック処理及び項目洩れチェック処理で警告があった場合の後処理を行うもので、step149では前記小数点チェック処理及び項目洩れチェック処理で警告が発生した時にオンされる警告有りフラグをチェックする。警告がなければstep150に進み、“警告無し”メッセージを表示I/F29に書き込む。step149で警告有りフラグがオンであれば警告箇所は前記小数点チェック処理及び項目洩れチェック処理で強調表示メモリに格納されており、これに基づいて自動的に表示されるので処理を終わる。
なお、以上の説明においては、警告カウンタ49は履歴カウンタ50から読み出してきたものを更新するようにしているが、履歴カウンタ50中の対応するカウンタを直接更新してもよいことは言うまでもない。
また、警告メッセージは設定表示盤7の表示画面に表示するようにしているが、音声で警告を発するようにしてもよい。
また、数値制御装置に組み込まれた加工プログラム作成装置について説明したが、独立した加工プログラム作成装置でもよい。
また、前記実施例と同様の作用効果を得る方法は前記以外の手法でも実現できることは言うまでもない。
以上のようにこの発明に係る加工プログラム作成装置は、数値制御用加工プログラムを作成する加工プログラム作成装置として用いられるのに適している。

Claims (8)

  1. 数値制御用の加工プログラムを作成する加工プログラム作成装置であって、加工プログラムデータを入力する入力部と、この入力部より入力されたデータを表示するデータ表示部と、小数点チェック対象ワードを記憶する小数点チェック対象ワード記憶部と、所定の警告判定値を記憶する警告判定値記憶部と、前記入力データと前記小数点チェック対象ワードとを比較し、この入力データが小数点チェック対象ワードである場合、この入力データの数値データと前記警告判定値とを比較し、この入力データの数値データが前記警告判定値より大きいときまたは小さいとき、小数点位置を間違って入力した可能性があると判断して警告を行う入力データチェック制御部とを備えてなる加工プログラム作成装置。
  2. 数値制御用の加工プログラムを作成する加工プログラム作成装置であって、加工プログラムデータを入力する入力部と、この入力部より入力されたデータを表示するデータ表示部と、小数点チェック対象ワードを記憶する小数点チェック対象ワード記憶部と、本装置が前記入力データに小数点が無いと最小指令単位として扱う仕様か否かを記憶する小数点入力仕様記憶部と、前記入力データに小数点が無いと最小指令単位として扱う装置仕様に対応する警告判定値及び前記入力データに小数点が無いとmm単位として扱う装置仕様のときの警告判定値を記憶する警告判定値記憶部と、前記入力データと前記小数点チェック対象ワードとを比較し、この入力データが小数点チェック対象ワードである場合、この入力データの数値データと警告判定値記憶部に記憶された、前記仕様に対応する警告判定値とを比較し、この入力データの数値データが前記警告判定値より大きいときまたは小さいとき、警告を行う入力データチェック制御部とを備えてなる加工プログラム作成装置。
  3. 前記警告判定値は、前記入力データが不自然な入力値になる値をチェックする基準値であることを特徴とする請求の範囲第項または第項に記載の加工プログラム作成装置。
  4. 前記入力データチェック制御部は、前記比較を、前記入力データが入力される毎に行うものであることを特徴とする請求の範囲第項〜第項の何れかに記載の加工プログラム作成装置。
  5. 前記入力データチェック制御部は、前記比較を、前記入力データが全て入力されることにより加工プログラムの作成が完了し、この加工プログラムを実行・解析する前に、解析を伴わずに一括して行うものであることを特徴とする請求の範囲第項〜第項の何れかに記載の加工プログラム作成装置。
  6. 警告メッセージを記憶する警告メッセージ記憶部を備え、この警告メッセージ記憶部に記憶された警告メッセージを前記データ表示部に表示することを特徴とする請求の範囲第1項〜第5項の何れかに記載の加工プログラム作成装置。
  7. 前記入力データチェックにより警告を検知した時に、当該警告内容の発生回数を警告内容に対応して1回以上のプログラミング作業毎に記録する履歴カウンタと、注意メッセージを記憶する注意メッセージ記憶部とを備え、プログラミングを行うに当っての注意を喚起するための注意メッセージを、最後に前記履歴カウンタに記録した内容に基づき、警告発生回数の多い順に、前記データ表示部に表示することを特徴とする請求の範囲第1項〜第6項の何れかに記載の加工プログラム作成装置。
  8. 前記入力データチェックにより警告を検知した時に当該警告内容の発生回数を警告内容に対応して1回以上のプログラミング作業毎に記録する履歴カウンタと、履歴メッセージを記憶する履歴メッセージ記憶部とを備え、前記データ表示部に、プログラミングを行うに当って履歴カウンタに記録した内容を分析することにより過去のプログラミングに於ける警告発生回数を時系列的にグラフィック表示すると共に、前記履歴メッセージを表示することを特徴とする請求の範囲第1項〜第6項の何れかに記載の加工プログラム作成装置。
JP2004564420A 2002-12-26 2002-12-26 加工プログラム作成装置 Expired - Fee Related JP3949689B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2002/013625 WO2004061537A1 (ja) 2002-12-26 2002-12-26 加工プログラム作成装置

Publications (2)

Publication Number Publication Date
JPWO2004061537A1 JPWO2004061537A1 (ja) 2006-05-18
JP3949689B2 true JP3949689B2 (ja) 2007-07-25

Family

ID=32697303

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004564420A Expired - Fee Related JP3949689B2 (ja) 2002-12-26 2002-12-26 加工プログラム作成装置

Country Status (5)

Country Link
US (1) US6970764B2 (ja)
JP (1) JP3949689B2 (ja)
CN (1) CN100351805C (ja)
DE (1) DE10297725T5 (ja)
WO (1) WO2004061537A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019002066A1 (de) 2018-03-23 2019-09-26 Fanuc Corporation Eingabefehler-Erfassungsvorrichtung
CN112820433A (zh) * 2021-01-06 2021-05-18 广东核电合营有限公司 核电站的核电操作系统的预警方法、装置及电子设备

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4692488B2 (ja) * 2005-12-26 2011-06-01 三菱電機株式会社 数値制御装置及び数値制御工作機械
US9996406B2 (en) * 2008-07-07 2018-06-12 Dmg Mori Co., Ltd. Machining program processing apparatus
JP2010015509A (ja) * 2008-07-07 2010-01-21 Mori Seiki Co Ltd 加工プログラムチェック装置
JP5108662B2 (ja) * 2008-07-07 2012-12-26 株式会社森精機製作所 加工プログラム処理装置
JP5125938B2 (ja) * 2008-09-24 2013-01-23 富士通株式会社 バグ検出支援プログラム、類似構文識別情報一覧出力プログラム、バグ検出支援装置およびバグ検出支援方法
US20120072777A1 (en) * 2009-05-27 2012-03-22 Mitsubishi Electric Corporation Debugging device, debugging method, and computer program for sequence program
JP5456216B1 (ja) * 2013-04-05 2014-03-26 三菱電機株式会社 数値制御装置
JP6105537B2 (ja) * 2014-09-24 2017-03-29 ファナック株式会社 アラーム対処履歴を表示する数値制御装置
JP6122046B2 (ja) * 2015-01-29 2017-04-26 ファナック株式会社 加工サイクルの部分修正が可能な数値制御装置
JP6333798B2 (ja) * 2015-12-03 2018-05-30 ファナック株式会社 数値制御装置
CN107052073B (zh) * 2016-12-23 2019-03-15 沈阳工业大学 一种数控精密板材成型的控制方法
JP6705848B2 (ja) 2018-02-16 2020-06-03 ファナック株式会社 制御装置及び制御システム
JP2021149853A (ja) * 2020-03-23 2021-09-27 キヤノン株式会社 情報処理方法、情報処理装置、生産システム、および物品の製造方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0659592B2 (ja) * 1985-04-05 1994-08-10 ブラザー工業株式会社 自動プログラミング作成装置
JP2645990B2 (ja) 1986-03-28 1997-08-25 ファナック 株式会社 ならいデータ自動誤り検出装置
JP2908846B2 (ja) 1990-07-20 1999-06-21 株式会社アマダメトレックス Nc装置のアラーム情報処理装置
EP0553731B1 (en) * 1992-01-23 1999-04-14 Mitsubishi Denki Kabushiki Kaisha Programmable controller
JP2762835B2 (ja) * 1992-04-09 1998-06-04 三菱電機株式会社 加工プログラム生成方法
JPH1086040A (ja) * 1996-06-13 1998-04-07 Mitsubishi Electric Corp 多系統の自動プログラミング方法及びその装置
EP0879675A4 (en) * 1996-11-07 2004-11-17 Okuma Machinery Works Ltd METHOD AND DEVICE FOR NC MACHINING SIMULATION
JPH1185256A (ja) 1997-09-09 1999-03-30 Toshiba Corp 操作解析装置
JP3800576B2 (ja) * 1998-03-24 2006-07-26 ヤマザキマザック株式会社 加工プログラム作成支援装置
DE19900117A1 (de) * 1999-01-05 2000-07-06 Walter Ag Virtuelles Teach-In-System
JP2000347894A (ja) 1999-06-09 2000-12-15 Fujitsu Ltd ソースプログラムチェック装置およびそのプログラム記録媒体
JP2001242918A (ja) 2000-02-29 2001-09-07 Amada Co Ltd Ncデータのエラーチェック方法及びその装置並びにncデータのエラーチェック方法のプログラムを記憶した記憶媒体
US6772039B2 (en) * 2001-12-04 2004-08-03 Yoshiaki Kakino NC program generating method, NC program generating apparatus, computer memory product, and computer program product
JP2003175439A (ja) * 2001-12-11 2003-06-24 Mori Seiki Co Ltd Nc工作機械の加工時間推定装置
DE10261227A1 (de) * 2002-12-20 2004-07-22 Walter Ag Einrichtung zur integrierten Werkzeugfertigung und Verfahren dazu

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019002066A1 (de) 2018-03-23 2019-09-26 Fanuc Corporation Eingabefehler-Erfassungsvorrichtung
US11099542B2 (en) 2018-03-23 2021-08-24 Fanuc Corporation Input error detection device
CN112820433A (zh) * 2021-01-06 2021-05-18 广东核电合营有限公司 核电站的核电操作系统的预警方法、装置及电子设备

Also Published As

Publication number Publication date
JPWO2004061537A1 (ja) 2006-05-18
DE10297725T5 (de) 2005-06-16
US6970764B2 (en) 2005-11-29
CN1628272A (zh) 2005-06-15
WO2004061537A1 (ja) 2004-07-22
CN100351805C (zh) 2007-11-28
US20050197723A1 (en) 2005-09-08

Similar Documents

Publication Publication Date Title
JP3949689B2 (ja) 加工プログラム作成装置
JP6377167B2 (ja) 工作機械の制御装置
JP4580846B2 (ja) Nc工作機械
JP2008027045A (ja) 干渉チェック機能を備える数値制御装置
JP2009086964A (ja) オペレータのレベルに応じた操作を可能とする数値制御装置
JPH09269808A (ja) Cncデータ補正方法
EP2104013B1 (en) Numerical controller with machining restart function
JP4045845B2 (ja) 工作機械の操作訓練装置
JPH058152A (ja) 数値制御装置
CN110618657A (zh) 数值控制装置和错误输入检测方法
JP4151402B2 (ja) パラメータ書換履歴機能付き数値制御装置
JP2009080591A (ja) 数値制御装置、制御プログラム及び記録媒体
JP4269533B2 (ja) 数値制御装置
US20200310377A1 (en) Ladder Display Device
US10976719B2 (en) Parameter setting support device
WO1991000557A1 (en) Nc data execution method
JP2732664B2 (ja) 自動溶接機
JPH0740171A (ja) Nc工作機械およびその工具情報確認方法
JP2005309728A (ja) プログラムによる主軸選択機能を備えた数値制御装置
JP2002091521A (ja) 制御装置及び制御方法
JPS6217805A (ja) Nc装置におけるプログラムエラ−の表示方法
WO1990001735A1 (en) Machining data display system
JP4265423B2 (ja) 機械制御装置
JP2004268189A (ja) 加工プログラム作成装置
JPH0241504A (ja) パートプログラム実行方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070323

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070417

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070418

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100427

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110427

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120427

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120427

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130427

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130427

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140427

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees