JPH06318109A - 数値制御装置 - Google Patents

数値制御装置

Info

Publication number
JPH06318109A
JPH06318109A JP5348489A JP34848993A JPH06318109A JP H06318109 A JPH06318109 A JP H06318109A JP 5348489 A JP5348489 A JP 5348489A JP 34848993 A JP34848993 A JP 34848993A JP H06318109 A JPH06318109 A JP H06318109A
Authority
JP
Japan
Prior art keywords
macro
command
variable
user
tool
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.)
Pending
Application number
JP5348489A
Other languages
English (en)
Inventor
Akira Nagamine
侃 永峰
Hideaki Kawamura
英昭 川村
Mitsuto Miyata
光人 宮田
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.)
Fanuc Corp
Original Assignee
Fanuc 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 Fanuc Corp filed Critical Fanuc Corp
Priority to JP5348489A priority Critical patent/JPH06318109A/ja
Publication of JPH06318109A publication Critical patent/JPH06318109A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)

Abstract

(57)【要約】 【目的】工具のオフセット量をプログラマがプログラム
上で設定したり変更したりできる数値制御装置を提供す
ること。 【構成・効果】マクロ登録メモリ(24)からユーザマ
クロ呼出命令により工作機械の工具のオフセット量読取
り変更用マクロ識別名によるユーザマクロを呼出し、マ
クロ処理手段(27)において該ユーザマクロに応じた
マクロ処理を実行する際に、システム変数に対応する変
数値を変数メモリから呼出し、この変数値を用いて呼出
された前記ユーザマクロにより、工作機械の工具のオフ
セット量の読取りや変更の数値制御処理機能を実行す
る。本発明はCNCのソフトウェアを何等改造せずに工
具のオフセット量をプログラマがプログラム上で設定し
たり変更したりできる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、数値制御装置に係り、
特に数値制御装置のソフトウェアを改造することなくユ
ーザの希望する種々の特殊処理が行なえる装置に関す
る。
【0002】
【従来の技術】数値制御装置は、紙テープ等から指令さ
れた指令プログラムに基いて数値制御処理を実行し、該
処理結果により工作機械を駆動してワークに指令通りの
加工を施すものである。
【0003】図1はかかる従来の数値制御装置のブロッ
ク図である。テープリーダ11からブロック毎に読込ま
れた指令プログラムは、まず、処理装置や制御プログラ
ムメモリ等を内蔵する制御装置12に入力される。つい
で、制御装置12は該指令プログラムに応じた数値制御
処理を実行し、工作機械のサーボモータを駆動してテー
ブル又は刃物を移動指令通りに移動せしめ、或いは強電
制御装置13を介して工作機械14のクーラントのオン
/オフ、スピンドル正転/逆転/停止等の制御を行な
う。
【0004】尚、15は原点復帰、ジョグ等を指令する
スイッチ、釦類等を有する操作盤、16は手動により1
ブロックの指令データ等を入力するマニュアル・データ
・インプット装置(以後MDIという)、17は機械現
在位置等を表示する表示ユニットであり、各装置11〜
17(工作機械14は除く)によりコンピュータ数値制
御装置(CNCという)が構成されている。
【0005】ところで従来の数値制御装置に与えられて
いた指令には、移動指令、速度指令、工作機械に所定の
機械動作を指示する補助機能命令、主軸の回転数を指示
する主軸機能命令、工具交換を指示する工具機能命令、
その他準備機能命令などがあって、それらが順次に読み
込まれる時に、このCNCにおける制御装置12は、そ
れらの指令を解読して実行していたから、工作機械や処
理装置(CPU)等の内部状態、或はそこに外部からオ
ペレータが設定した状態信号に応じて指令プログラムの
順序を変更することはできなかった。
【0006】
【発明が解決しようとする問題点】ところが最近のCN
Cは機能の向上が要求されてきており、工作機械やNC
の状態に応じてその処理内容を指令プログラムから指令
する機能が必要になってきた。また一般にCNCのソフ
トウェアは標準的な工作機械の制御が行なえるように作
られているが、工作機械によって、或いは同種の工作機
械でもユーザによって特殊な工作機械制御が必要とされ
る場合がある。
【0007】このような場合従来はその都度CNCのソ
フトウェアを改造し特殊仕様通りの制御が行なえるよう
にしていた。即ち、数値制御メーカは特殊な工作機械制
御が要求される毎にその都度ソフトウェアを改造してお
りこのため多大の労力と時間を必要とし、人件費の増
大、ひいてはコストアップの弊害を招来していた。
【0008】そこで、従来からパートプログラム中に、
定数は異なっているがステートメントそのものは同じと
いう命令群が存在するとき、その都度プログラムをしな
くてもすむように、そのグループにマクロ定義をほどこ
して、それに特定シンボルを与えて格納し、マクロ識別
名を含むマクロ呼出命令がプログラムされた指令プログ
ラムからそれを呼び出して数値制御処理を行なおうとい
う考えはあった。
【0009】マクロ定義のひとつに、カスタムマクロ、
或はユーザマクロといわれるプログラム手法がある。こ
れは、ユーザや機械メーカが作成した一群の命令で構成
される機能を予めNC装置に登録しておき、あたかも専
用のソフトが組み込まれているかの様に、いつでも簡単
な手順で、マクロを呼び出して使用することができる機
能である。
【0010】ある一群の命令で構成されるマクロプログ
ラムは、その後通常のプログラムに代表命令を書くこと
により特殊な機能を実行できる点では、一種のサブプロ
グラムであるが、通常の指令のみでプログラムが構成さ
れるのではなく、変数、演算指令、制御指令を使用して
構成することができ、更にマクロ呼び出し指令との間で
引数(パラメータ)の受け渡しが可能であるため、使用
する工作機械を含む数値制御システムにマッチした仕様
や、ユーザ独自の固定サイクルや自動プログラミングが
実現できる。ここでは、登録される一群の命令をユーザ
マクロ本体或は単にマクロといい、代表命令をユーザマ
クロ命令、或はマクロ呼出命令という。
【0011】ここで変数とは、マクロの中にあって、あ
るアドレスに直接に数値を与えるのではなく、マクロを
呼び出して実行する際に定義されている変数に値を与え
て使用されるものであって、これによって、マクロに融
通性と汎用性を付与するものである。
【0012】例えば、変数は#に続く変数番号i(1、2、
・・・ )によって指定し、#iと表現することができる。
即ち#5、#109、#1005という様に。
【0013】また、変数番号としては、自然数のほか、
式を使用することも可能であり、その場合には、#[#
100]、#[#1001−1]、#[#6/2]とい
う様になる。
【0014】さらにアドレスに続く数値を変数で置換す
ることもできる。即ち<アドレス>#i又は<アドレス
>−#iとプログラムすれば、変数の値をそのまま、又
はその補数を、そのアドレスの指令値とすることを意味
する。
【0015】ところが、このように変更可能なマクロ変
数に代入できる数は、従来では、指令プログラム中のマ
クロ呼出命令であるコールステートメント中で直接に指
定される数値に限られている。そのため、各種設定値、
機械位置等の処理機能を直接にプログラムで実行させる
とき、こうした工作機械が有する複数種類の数値制御処
理機能に対応した変数を持たせることができず、数値制
御装置の有する多様な機能をユーザが更に独自に拡張し
てマクロ命令を構成するうえで、不十分であった。
【0016】従って、本発明は工作機械に対する特殊な
制御が要求されても、数値制御機能に対応するマクロ命
令を呼び出すマクロ呼出命令をプログラムしておくだけ
で、CNCのソフトウェアを何等改造せずに対処できる
低コストの数値制御装置を提供することができ、特に工
具のオフセット量をプログラマがプログラム上で設定し
たり変更したりできる数値制御装置を提供することを目
的としている。
【0017】
【課題を解決するための手段】本発明の問題を解決する
ための手段は、マクロ識別名を含むユーザマクロ呼出命
令がプログラムされた指令プログラムに基づいて数値制
御処理を実行し、該処理結果により工作機械を駆動して
ワークに指令通りの加工を施す数値制御装置において、
少なくとも工作機械の工具のオフセット量読取り変更用
マクロ識別名により識別自在な機能命令をマクロ命令と
して予め記憶しているマクロの登録メモリと、前記工作
機械の複数の工具に関するオフセット量を変数値とする
システム変数値を記憶した変数メモリと、このマクロの
登録メモリから前記工作機械の工具のオフセット量読取
り変更用マクロ識別名により識別自在な機能命令からな
るマクロ命令を呼び出したとき、前記変数メモリから該
マクロ命令に含まれるシステム変数に対応するシステム
変数値を読出しこのシステム変数値を用いて前記マクロ
の登録メモリから読出されたマクロ命令に従って工具の
オフセット量読取り変更の数値制御処理を実行するマク
ロ処理手段とを有することを特徴とする数値制御装置で
ある。
【0018】
【作用】本発明によれば、マクロ登録メモリ(24)か
らユーザマクロ呼出命令により工作機械の工具のオフセ
ット量読取り変更用マクロ識別名によるユーザマクロを
呼出し、マクロ処理手段(27)において該ユーザマク
ロに応じたマクロ処理を実行する際に、システム変数に
対応する変数値を変数メモリから呼出し、この変数値を
用いて呼出された前記ユーザマクロにより、工作機械の
工具のオフセット量読取り変更の数値制御処理機能を実
行する。
【0019】
【実施例】以下、本発明の実施例を図面に従って詳細に
説明する。図2は本発明に係るCNCのブロック図であ
る。図中、21は指令プログラムが穿孔されている指令
テープ、22は1又は複数のユーザマクロが穿孔されて
いるユーザマクロ指令テープである。ここで各ユーザマ
クロは、図3の如く少なくともマクロ識別名(たとえ
ばO9001)と後述するシステム変数を用いた命令とか
ら構成され、それらの命令の最終行には、たとえばM99
*(*はエンド・オブ・ブロックを、M99はマクロの終
りをそれぞれ意味する)がプログラムされている。以下
に、ユーザマクロの一例を示す。ここで#3001がシ
ステム変数である。 O9001* #3001=0* WHILE[#3001LE#20]DO1 END1* M99* 変数は、その変数番号(3001或は20など)によ
り、ローカル変数、コモン変数、システム変数に分類さ
れる。
【0020】ローカル変数とは、マクロ内でローカルに
使用される変数であって、その変数番号には1〜33が
使用される。即ちある時点で呼び出したマクロで使用し
ているローカル変数#iと他の時点で呼び出したマクロ
で使用している#iとは(iが同じ値かどうかを問わ
ず)、別のものとして扱われる。従って、多重呼び出し
のように、マクロAから別のマクロBを呼ぶような場
合、マクロAで使用しているローカル変数をマクロBで
誤って使用してその値を破壊してしまうというおそれは
ない。このローカル変数は、引数の受け渡しに使用され
る。
【0021】コモン変数の変数番号には100〜19
9、500〜999が使用される。ローカル変数がマク
ロ内でローカルに使用されるのに対して、メインプログ
ラム或はそこから呼ばれたサブプログラム、各マクロを
通じて、コモン変数は共通に使用される。従って、ある
マクロAで使用している#iと他のマクロで使用する#
iとが同じものであって、一方のマクロで演算した結果
のコモン変数を、別のマクロで使用することができる。
【0022】更にシステム変数は、後述するシステム変
数メモリに格納されるものであってローカル変数やコモ
ン変数とは異なり、工作機械が有する複数種類の数値制
御処理機能に対応する変数番号(システム符号)が割り
当てられていて、工作機械或はNC装置の内部状態等の
状態量に応じて決定される変数となるものである。
【0023】又、上記指令テープ21から読み込まれる
指令プログラムには、通常の指令のほかに、マクロ識別
名を含むユーザマクロ呼出命令(ユーザマクロコール)
がプログラムされ、適宜のプログラムステップにて所定
のユーザマクロを呼出すことにより、該ユーザマクロに
応じた処理の実行が可能である。このユーザマクロ呼出
命令は、少なくともG65(ユーザマクロ呼出しのG機能
命令)と、例えばP9001(Pは9001がマクロ識
別名であることを示すワードアドレス、9001はマク
ロ識別名)とを有している。
【0024】23は紙テープリーダであり、指令テープ
21,22に穿孔されている指令を読取る。24はマク
ロ登録メモリであり、ユーザマクロ指令テープ22から
読取られた複数のユーザマクロが該メモリに記憶され
る。25は判別回路であり、26は通常処理部、27は
ユーザマクロ処理部である。これら処理部26、27は
それぞれ演算部、制御部、メモリ等を内蔵している。テ
ープリーダ23から判別回路25に読込まれた情報がユ
ーザマクロ本体であれば(ワードアドレスOにより識別
する)、これをマクロ登録メモリ24に転送記憶せし
め、通常指令であれば次段の通常処理部26へ送出し、
又ユーザマクロ呼出命令であれば該当するユーザマクロ
処理部27へ送出する。尚、これら処理部26、27を
共通に構成してもよい。また通常の指令とユーザマクロ
本体とは1つのテープに混在することはなくそれぞれ別
々のテープから入力される。
【0025】28は、工作機械が有する複数種類の数値
制御処理機能のそれぞれに対応するシステム符号が割り
当てられるとともに該システム符号に割り当てられた機
能命令により実行される処理内容を規定するシステム変
数を記憶した変数メモリであり、通常処理部26及びユ
ーザマクロ処理部27の双方から参照できるようになっ
ている。各システム変数#iはその変数番号iに応じて
システム内での用途が固定される。
【0026】即ち、この変数メモリ28内のマクロ用D
I領域では、#1000〜#1035がそれぞれ工作機
械との間で授受される16ビットの入力信号からなるイ
ンタフェース信号をその変数値として記憶し、マクロ用
DO領域では、#1100〜#1135がそれぞれ工作
機械との間で授受される16ビットの出力信号からなる
インタフェース信号をその変数値として記憶し、工具オ
フセット用領域では、#2001〜#2099がそれぞ
れ99種類の工具のオフセット量をその変数値として記
憶し、マクロアラーム用領域では、#3000がマクロ
中の誤りを検出したときNC装置をアラームにする信号
をその変数値として記憶し、クロック領域では、#30
01、#3002がそれぞれ基準時刻からの経過時間に
関するクロック信号をその変数値として記憶し、自動運
転制御領域では、#3003がシングルブロック停止の
抑制或はその解除に関する信号をその変数値として記憶
し、位置記憶域では、#3004がフィードホールド、
フィードレートオーバライドの無効或はその解除に関す
る信号をその変数値として記憶し、モーダル情報領域で
は、#4000〜#4012がそれぞれモーダル指令の
現在値信号をその変数値として記憶し、機械座標領域で
は、#5001〜#5104が各種機械位置をその変数
値として記憶している。
【0027】29は、工作機械、表示ユニット、テープ
パンチャ等との入出力のインタフェースを司るインタフ
ェイス回路である。30は工作機械、31はMDI、3
2は表示ユニット、33は操作盤である。34はアドレ
ス変換ユニットで、変数番号iを変数メモリ28のアド
レスに変換する。
【0028】さて、予めユーザマクロ指令テープ22か
ら複数のユーザマクロがユーザマクロ登録メモリ24に
記憶されており、この状態で指令テープ21から指令プ
ログラムが読み込まれたものとする。読み込まれた指令
が通常のNC指令であれば、該NC指令は通常処理部2
6に入力され、従来と同様のNC処理が実行される。
又、指令がユーザマクロ呼出命令であれば、判別回路2
5はユーザマクロ登録メモリ24から該当するユーザマ
クロを呼び出し、これをユーザマクロ処理部27に入力
し、後述のユーザマクロ処理を行う。
【0029】なお、指令テープ21、22からユーザマ
クロだけでなく指令プログラムをもマクロ登録メモリ2
4に予め記憶させておき、該記憶したNC指令を順次に
読み出してNC処理を実行するいわゆるメモリ運転方式
とした場合には、NCの操作盤33上のモード選択スイ
ッチをテープ編集モードにしてプログラムの読み込みを
行い、その後、NC処理に際しては該モード選択スイッ
チを自動モードに切換えする。
【0030】次に本発明の作用を説明する。 (A)ユーザマクロの登録 (a)インタフェース信号(機械側への出力信号、機械
側からの入力信号) の読取り及び送出についてのユーザマクロ;機械側にた
とえば工具の移動量を指示する10種類のダイヤルがあ
り、ある条件により所定のダイヤル値(10進3桁)を
読取り、その値に基いて工具移動を制御しなければなら
ないものとす る。さて、第3番目のダイヤルから設定
値を読出さなければならないものとすれば、以下のユー
ザマクロを作成してユーザマクロ登録メモリ24に登録
しなければならない。 O9100* … #1132=#1132AND496 OR#1 … G65 P9101 T60* … #100 =BIN[#1032AND4095]* … IF#2012EQ0 GOTO9100* … #100 =−#100 … N9100 M99* …
【0031】ユーザマクロは、先に述べた様に一般に、
変数、演算指令、制御指令の使用が可能になる点で、通
常のサブプログラムとは異なるものであって、ここで
は、変数の定義、置換の指令=、論理積演算指令AN
D、論理和演算指令OR、BCDからの変換指令BIN
が使用され、これらによって、変数間での種々な演算が
一般の算術式と同じにプログラムすることができる。
又、プログラムの流れを制御する制御指令のひとつであ
る、IF<条件式>GOTOnは、<条件式>が成立す
る場合に、同一プログラム内のシーケンス番号nの付い
たブロックから、次に実行するように指令するものであ
る。ここで、条件式EQとは=を意味し、そのほかにN
E、GT、LT、GE、LEがそれぞれ≠,>,<,
≧,≦を意味する記号として使用できる。
【0032】上記ユーザマクロのうちはマクロ識別名
を指示するブロックで、O9100はBCD3桁を読取るユ
ーザマクロ識別名である。はアドレスデータ送出用の
ブロックである。さて、機械側へ出力するデータは本発
明において図4(b)に示す如く16ビットで構成され
ており、第1乃至第4ビットに機械へ出力するアドレス
データが書込まれている。但し、第5ビット乃至第9ビ
ットは他の目的に使用され、第10ビットから第16ビ
ット迄は使用されない。尚、ローカル変数#1と対応す
る変数レジスタ(これは上記変数メモリ28の一部を構
成している。)には、第3番目のダイヤルを指示するア
ドレスデータがその変数値として書込まれており、しか
もシステム変数#1132とに対応する変数レジスタには、
前回の処理において出力された図4(b)に示す16ビ
ットデータがその変数値として格納されているものとす
る。
【0033】従って、10進の496は、第5ビットか
ら第9ビットまでが1で他のビットが0の2進数によっ
て表現されるため、のAND(論理積)によって#11
32の第5ビット乃至第9ビットの内容が保存され、OR
(論理和)によって#1132の第1乃至第4ビットに今回
読出すべき第3番目のダイヤルのアドレスデータが書込
まれる。
【0034】は、前記のアドレスデータを機械側に
送出した後、機械側がダイヤルにセットした値を出力で
きるようになる迄の時間(60msec)を待つユーザマク
ロ命令である(尚、この命令については後述する)。
【0035】はダイヤルにセットしたBCD3桁の値
を読取って2進数に変換する命令である。さて、システ
ム変数#1032の変数レジスタには図4(a)に示す如き
16ビットのデータが60msec経過後に機械側から出力
されて書込まれている。尚、図4(a)中、第1〜第1
2ビットにはBCD3桁(ダイヤル値)が書込まれ、第
13ビットにはその符号が書込まれ、第14ビットから
第16ビットは他の目的に使用される。従って、#1032
に対応する変数レジスタの内容と4095(オール“1”)
とのANDをとればこの変数レジスタの第1〜第12ビ
ットに書込まれているBCD3桁が抽出され2進化され
て、コモン変数#100 の変数レジスタ(これも、上記変
数メモリ28の一部を構成している。)に書込まれる。
そして、で符号の正負が判定され、負であれば、で
符号を反転し、のM99によりユーザマクロは終了す
る。
【0036】(b)クロックの時刻を得るユーザマクロ CNCは、第1、第2の2種類のクロックを有してお
り、第1クロックは1ミリ秒刻みに計数され、電源投入
後の時刻(この時刻はシステム変数の値として変数レジ
スタに記憶されている)を計時するために使用され、又
第2クロックは0.1時間(6分)刻みに計数され、C
NCの総使用時間(この時間もシステム変数の値として
変数レジスタに記憶されている)を計時するために使用
される。
【0037】今ユーザがある時刻から20msec経過した
時点で次の工作処理を行なうという特殊な使用が必要に
なったとすれば、ユーザは以下のユーザマクロを作成す
る。なお、電源投入後の時刻を示すシステム変数は、#
3001に対応する変数レジスタに、又CNCの総使用時間
を示すシステム変数は、#3002に対応する変数レジスタ
にそれぞれ記憶されている。
【0038】 O9100* … #1=#3001 … WHILE[#3001−#1LE#20]DO1*… END1* … M99* … 上記ユーザマクロのうち、はマクロ識別名、は現時
刻(#3001に対応するレジスタの内容)を#1の変数レ
ジスタにセットするマクロ命令(現時刻の取込み)、
はユーザマクロの終りを示す命令である。
【0039】又,の WHILE[<条件式>]DOm(m=1,2 …) END
m は<条件式>が成立している間はDOmのブロックから
ENDmのブロック迄を繰返すマクロ命令で、不成立の
場合にはENDmの次のブロックを実行する。又LE
(LESS or Equal)は≦を意味し、更に(#3001−
#1)は#3001,#1に対応する変数レジスタの内容の
減算を意味する。尚、システム符号#20に対応する変数
レジスタには20が格納されている。
【0040】従って、20msec経過して<条件式>が成
立しなくなると、に移行する。上記〜のユーザマ
クロが作成されればこれを紙テープ22に穿孔し、テー
プリーダ23に読込ませれば、判別回路25はワードア
ドレスOを識別して以後のユーザマクロをマクロ登録メ
モリ24に転送記憶させる。これによりクロック時刻を
うるユーザマクロの登録が終了する。
【0041】以上から、クロック時刻を得るためのユー
ザマクロは通常のドゥエル(DWELL)機能に類似し
ている。しかし、ドゥエルは機械動作を所定時間停止さ
せ、該時間経過後に機械動作を再開する機能であるが、
上記ユーザマクロは機械動作を停止することなく所定時
間の計時が可能な、換言すれば工作機械の動作中であっ
ても計時できる機能を有している。
【0042】(c)シングルブロック停止抑制マクロ 指令テープの正誤テストに際しては通常、1ブロック毎
にテープを停止させ、スタート釦が押される迄次のブロ
ックに移行しないようにする、いわゆるシングルブロッ
ク制御が行われる。しかし、これではテープの正誤テス
トに時間がかかってしまいユーザによって時間短縮のた
め、所定のブロックたとえばドリルサイクル(穴明けサ
イクル)における位置決め後の穴明けブロック、穴明け
完了後の工具引抜きブロック等を大きな1ブロックと見
做し、これらのブロックにおいてシングルブロック制御
を抑制したい場合がある。
【0043】今、図4(c)図のような穴明けを行う場
合、該穴明け指令ブロックについてシングルブロックを
抑制したいものとすれば、以下のユーザマクロを作成し
てマクロ登録メモリ24に登録すればよい。尚、システ
ム変数#3003の変数値が1のときシングルブロックが抑
制され、0のときシングルブロックの抑制が解除される
ものとする。
【0044】O9081* ……………… マクロ識別名 #3003=1*…………… シングルブロック抑制 G00Z−#18* ……… 穴明け G01Z−#26* ……… 穴明け G00Z[#18* +#26* ]* … 工具引抜き #3003=0*……………………… 抑制解除 M99* ……………………… マクロ終り
【0045】(d)フィードホールド、フィードレート
オーバーライドの無効 ユーザによってはネジ切り、タッピングをプログラムす
るときフィードホールドを無効にした り、オーバライ
ドを100%に保持したい場合がある。この場合にはフ
ィードホールド、オーバライド無効のシステム変数を#
3004とし、このシステム変数#3004が1のとき無効、0
のとき無効解除と決めて、前記(c)のシングルブロッ
ク停止の抑制マクロと同様に、ユーザマクロを作成し変
数メモリ28内に登録する。尚、以下はユーザマクロの
一例でタッピングサイクル(G84)に フィードホー
ルド、オーバライド無効を適用したものである。
【0046】O9084* ……… マクロ識別名 #3003=1*…… シングルブロック停止抑制 G00Z−#18* #3004=1*…… フィードホールド等無効 G01Z−#26* M05* M04* Z#26* #3004=0*…… フィードホールド等無効解除 M05* M03* G00Z#18* #3003=0 … シングルブロック停止抑制解除 M99*
【0047】(e)モーダル情報の読取り モーダル情報とは以前に定義したら次に定義するまで変
わらない情報をいい、送り速度指令、いくつかのG機能
命令、たとえばインクリメンタル/アブソリュート指示
用のG機能命令等がある。
【0048】指令テープがインクリメンタル/アブソリ
ュート併用プログラミングでプログラムされ、アブソリ
ュートで指令された第1、第2のブロック間にマクロ呼
出命令のブロックがあり、しかも該マクロ呼出命令で呼
出されるユーザマクロがインクリメンタル指令で作成さ
れているものとする。
【0049】この場合、ユーザマクロの始めにおいては
G機能命令(モーダル情報)を用いて以後の移動指令が
インクリメンタルであることが指示される。この結果、
以後にアブソリュートが指令される迄、NCは移動指令
をインクリメンタルであるとして処理し、ユーザマクロ
の終りで、第1ブロックのアブソリュートを復元しない
と、第2ブロックの移動指令もインクリメンタルと見做
して処理し、誤動作を生じる。
【0050】このため、ユーザマクロの最初にモーダル
情報を読取って保存しておき、ユーザマクロの終りで該
モーダル情報を復元する必要がある。以下はボーリング
サイクル(G86)においてモーダル情報(インクリメ
ンタル/アブソリュートのG機能命令)を保存、復元す
るユーザマクロの一例である。尚、システム変数#4003
に対応するレジスタに変数値としてアブソリュートを指
示する上記G機能命令が格納されているものとする。
【0051】O9086* #1=#4003* … モーダル情報の保存 #3003=1*…… シングルブロック停止抑制 G00G91Z−#18* G91はインクリメンタル指示のG機
能命令 G01Z−#26* M05* G00Z[#18* +#26]* M03* #3003=0*… シングルブロック停止抑制解除 G#1 M99* … モーダル情報の復元
【0052】(f)現在位置の読取り 機械現在位置、指令現在位置等を読取ってこれを表示し
たり、タイプアウトしたい場合があり、システム変数に
より規定される表示内容は、図5の如く決められてい
る。尚、図5中で残移動量カット(スキップ切削)と
は、外部からの残移動量カット信号(スキップ信号)に
よって機械の移動を停止し、そのブロックの残移動量を
カット(指令されなかったものとして無視)し、次のブ
ロックに進む機能をいい、次のブロックがアブソリュー
ト指令の場合には図6(a)、インクリメンタル指令の
場合には図6(b)の如く、それぞれ工具が移動する。
この残移動量カット(スキップ切削)機能は各種の測
定、研削盤の定寸制御に使用できる。
【0053】さて、Z軸方向の深さを測定する場合、Z
軸方向の移動指令量を実際の深さより大きくしておき、
感圧素子等の接触子をZ方向に移動させて該接触子が底
面に触れたとき、残移動量カット信号(スキップ信号)
を発生させ、直ちに機械を停止させ、この時のZ軸方向
の現在位置を読取って表示又はタイプアウトすることに
よりZ軸方向の深さを測定する場合がある。
【0054】このような測定に際してはユーザマクロに
おいて残移動量カット信号(スキップ信号)が発生した
際、システム変数#5063に対応する変数レジスタの内容
を読出し、これを表示或いはタイプアウトするようにプ
ログラムしておけばよい。
【0055】図7は、Z軸方向の位置情報の読取り制御
を説明する説明図である。図中、MTはZ軸駆動モー
タ、PCはモータMTのシャフトに連結され該モータが
所定量回転する毎に1個のパルスFPを発生するパルス
コーダ、DETは残移動量カット信号MCSを発生する
検出素子、AG1〜AG2はアンドゲート、#5023
R、#5063Rはそれぞれシステム変数#5023、
#5003、#5063に対応する変数レジスタであ
り、直前のブロックのZ軸終点、Z軸の機械現在位置、
残移動量カット信号が発生したときのZ軸位置を変数値
として記憶する。ABUSはアドレスバス、DBUSは
データバスである。
【0056】モータMTが回転すれば所定回転量毎にパ
ルスコーダPCから1個のパルスFPが発生する。変数
レジスタ#5023Rは回転方向に応じてこのパルスF
Pを可逆計数し、常に機械の現在位置を記憶する。一
方、指令位置に位置決めされる毎に位置決め完了信号P
ENが発生するから位置決め完了毎にその時の変数レジ
スタ#5023Rの内容が変数レジスタ#5003Rに
格納される。即ち、変数レジスタ#5003Rは直前ブ
ロックのZ軸終点位置を記憶する。又、Z軸移動中に残
移動量カット信号MCSが発生すればその時点の変数レ
ジスタ#5023Rの内容が変数レジスタ#5063R
に格納され、該レジスタ#5063に残移動量カット信
号がMCSが発生したときのZ軸位置が格納される。そ
して、これら各変数レジスタの内容は、ユーザマクロに
おいて#5003、#5023、#5063を指令する
ことにより読みとられる。即ち、変数番号はアドレス変
換部34(図2)によりアドレス変換され、このアドレ
ス変換により得られたアドレスがアドレスバスABUS
に出力され、所定の変数レジスの内容がデータバスDB
USに出力されて処理部に取り込まれる。
【0057】(g)工具オフセット量の読取り、変更 従来、工具オフセット量はオペレータのみが設定できた
が、ユーザによってはプログラマによって設定変更がで
きるようにしたい場合がある。又、工具オフセット量を
知りたい場合もある。このような場合、工具オフセット
番号1,2,…99をシステム変数#2001, #2002,…#2099
に対応させ、ユーザマクロにて#30=#)2005とするこ
とによりオフセット量をローカル変数#30の変数レジス
タに記憶せしめることができ、又#2010=#8 とするこ
とによりオフセット番号10のオフセット量をローカル変
数#8 の変数レジスタの内容に変更できる。
【0058】次に、工具オフセット量を読み込んで内面
研削する例をあげて、そのユーザマクロの登録について
説明図する。図8はその説明図である。内面研削におい
ては、従来図8に示す様に工具TLをワークWKに形成
した円筒部VCの中央Pcに位置決めした後、該工具を
直線L1 →円弧C1 →円C2 →円弧C3 →直線L2 をた
どって移動させ、これにより内面研削を行っていた。し
かしながら、最近このような内面研削は行わず別な方法
によっているため、標準のNCでは図7に示す方法によ
り内面研削をすることができない。ところが、ユーザに
よっては、図8に示すような内面研削を実行させたい場
合がある。
【0059】かかる場合に、本発明においては、以下に
示すユーザマクロを作成し、これをユーザマクロの登録
メモリ24(図2)に登録しておく。そして、指令テー
プ21からユーザマクロ呼出命令が読取られたとき該ユ
ーザマクロ登録メモリ24よりユーザマクロを呼出して
図8の内面研削を実行するようにしている。 O9010* … #1=ABS[#4]−#[2000+#7]* … IF[#1LE0]GOTO1* … #2=#1/2*3 … #3003=1* … G01×[#1−ROUND[#2] ]Y#2* … G17G02×#2 Y−#2 R=#2* … I−#1* … X−#2 Y−#2 R=#2* … G01×[#1−ROUND[#2] ]Y#2* …〓 #3003=0* …〓 N1M99* …〓
【0060】尚、ローカル変数#4に対応する記憶域に
は円筒部VC(図8)の半径値が記憶され、ローカル変
数#7に対応する記憶域にはオフセット番号がシステム
変数#[2000+#7]に対応する記憶域にはオフセ
ット量が、ローカル変数#1に対応する記憶域には円筒
部VCの半径値からオフセット量を減算した値(オフセ
ット半径値)がローカル変数#2に対応する記憶域には
円弧C1 の半径値がそれぞれ記憶される。又、システム
変数#3003の番地には”1”又は”0”が記憶さ
れ、”1”が記憶されているときにはシングルブロック
が抑制され”0”が記憶されているときシングルブロッ
クの抑制が解除される。更にABSは絶対値をROUN
Dは四捨五入を、G01は直線補間を、G02は時計方
向円弧補間をG17はX−Y平面指定用のG機能命令を
M99はユーザマクロの終わりをそれぞれ意味する。従
って、によりユーザマクロ識別番号が宣言され、に
より円筒部VCの半径値からオフセット量減算した値
(オフセット半径値)が求められ、このオフセット半径
値はローカル変数#1に対応する記憶域に記憶される。
又、においてオフセット半径値が零と比較され、マイ
ナスであればなにもせせずN1に飛んでユーザマクロは
終了し、オフセット半径値が正であれば次に移行する。
においては上記オフセット半径値が1/2され、に
おいてシングルブロックが抑制される。そして、にお
いて直線補間が行われ、工具TLは直線L1 に沿って点
P1 迄移動する。更ににおいて、工具は円弧C1 に沿
って点P2迄移動し、円筒部VCの内面に接し、にお
いて、工具は円C2 に沿って内面研削しながら移動し、
点P2 に戻り、において円弧C3 に沿って点P3 迄移
動し、〓において直線L2 に沿って中心Pc房って工具
の移動は終了する。そして最後に〓においてシングルブ
ロックの抑制が解除され、〓においてユーザマクロが終
了する。
【0061】(h)その他 装置をアラーム状態にする機能、CRTへのメッセージ
の表示機能、プリントアウト等の機能をユーザマクロと
して作成し、登録しておくことができる。
【0062】たとえば、あるプログラムによる加工終了
後に、ユーザマクロを使用して加工誤差を測定する。こ
れは機械備なえつけの誤差測定器の出力を読取ることに
より行われる。そして誤差量の大小に応じて次のメッセ
ージをCRTに表示する。即ち、誤差が許容量より小さ
い場合には GO ERROR=△△・・・△ と表示し、誤差が許容量より大きい場合には NOGO ERROR=△△・・・△ と表示する。そして、オペレータはGOなら次のワーク
を加工するための操作を行い、NOGOならば先程のワ
ークを捨て、且つ工具オフセットなどの調整を行い、次
の加工にて誤差が許容量を越えない処置をとる。
【0063】(B)工具オフセット量読取り変更用ユー
ザマクロの呼出命令 上記ユーザマクロ呼出命令は、指令テープ21にプログ
ラムしておくことによりマクロの登録メモリ24から該
ユーザマクロを呼出してユーザマクロ処理部27により
数値制御処理を実行させる命令であり、少なくともG65
(ユーザマクロ呼出しのG機能命令)と、次の識別名が
マクロ識別名であることを示すPと、工具オフセット量
読取り変更用ユーザマクロ(マクロ識別名)を示す90
10からなる。
【0064】指令テープ21からテープリーダ23によ
り指令が読込まれれば、判別回路25はユーザマクロ呼
出命令か否かの判定を行い、ユーザマクロ呼出命令でな
ければ通常処理部26は該指令に基いた処理を行って工
作機械を制御し、一方ユーザマクロ呼出命令であれば、
該呼出命令のワードアドレスPのあとに指示されている
マクロ識別名(9010)を有するユーザマクロに含ま
れるマクロ命令に従って、マクロ登録メモリ24から所
定のシステム符号に対応する変数レジスタの内容を呼出
してユーザマクロ処理部27に引渡し、マクロ処理を実
行させ工作機械をユーザマクロに応じて制御する。
【0065】
【発明の効果】以上、本発明においてはユーザマクロを
予め、複数登録しているマクロ登録メモリからユーザマ
クロ呼出命令により所定のユーザマクロを呼出し、マク
ロ処理部において該ユーザマクロに応じたマクロ処理を
実行する際に、CNCのソフトウェアをその都度改善す
るのではなく、システム符号に割り当てられた機能命令
により実行される処理内容が、システム変数を任意に変
更して工作機械が有する複数種類の数値制御処理機能に
対応したシステム符号を指定するだけで、必要とされる
特殊の数値制御処理機能を選択して実行できる。したが
ってユーザは何等CNCのソフトウェアを改造すること
なく、単に該特殊制御のユーザマクロを作成し、マクロ
登録メモリに記憶させ、指令テープなどの適所に該ユー
ザマクロ呼出命令をプログラムするだけでよい。
【0066】この結果、ソフトウェアの改造に要する労
力と時間を省くことができ低コストで、しかもユーザの
要望に適合したCNCを提供できる。又、ユーザマクロ
を使用することによって、機械、システムにマッチした
特殊仕様や、ユーザ独自の固定サイクルや自動プログラ
ミングが実現可能となった。
【0067】更に本発明では、工具オフセット読取り変
更用マクロ命令を呼び出すマクロ呼出命令をプログラム
しておくだけで、CNCのソフトウェアを何等改造せず
に工具のオフセット量をプログラマがプログラム上で設
定したり変更したりできる、などの効果もある。
【図面の簡単な説明】
【図1】 従来の数値制御装置のブロック図である。
【図2】 本発明に係るCNCのブロック図である。
【図3】 指令プログラムの一例を示す説明図である。
【図4】 インターフェース信号読取送出及び、穴明け
サイクルの説明図
【図5】 変数符号とその内容を示す説明図である。
【図6】 残移動量カット機能を説明する説明図であ
る。
【図7】 Z方向の位置情報の読取り制御を説明する説
明図である。
【図8】 工具オフセット量を読み込んで内面研削する
説明図である。
【符号の説明】
21…指令テープ 22…ユーザマクロ指令テープ 23…テープリーダ 24…マクロ登録メモリ 25…判別回路 26…通常処理部 27…ユーザマクロ処理部 28…変数メモリ 29…インタフェース回路

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】マクロ識別名を含むユーザマクロ呼出命令
    がプログラムされた指令プログラムに基づいて数値制御
    処理を実行し、該処理結果により工作機械を駆動してワ
    ークに指令通りの加工を施す数値制御装置において、少
    なくとも工作機械の工具のオフセット量読取り変更用マ
    クロ識別名により識別自在な機能命令をマクロ命令とし
    て予め記憶しているマクロの登録メモリと、前記工作機
    械の複数の工具に関するオフセット量を変数値とするシ
    ステム変数値を記憶した変数メモリと、このマクロの登
    録メモリから前記工作機械の工具のオフセット量読取り
    変更用マクロ識別名により識別自在な機能命令からなる
    マクロ命令を呼び出したとき、前記変数メモリから該マ
    クロ命令に含まれるシステム変数に対応するシステム変
    数値を読出しこのシステム変数値を用いて前記マクロの
    登録メモリから読出されたマクロ命令に従って工具のオ
    フセット量読取り変更の数値制御処理を実行するマクロ
    処理手段とを有することを特徴とする数値制御装置。
JP5348489A 1993-12-27 1993-12-27 数値制御装置 Pending JPH06318109A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5348489A JPH06318109A (ja) 1993-12-27 1993-12-27 数値制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5348489A JPH06318109A (ja) 1993-12-27 1993-12-27 数値制御装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP20186690A Division JPH03206505A (ja) 1990-07-30 1990-07-30 数値制御装置

Publications (1)

Publication Number Publication Date
JPH06318109A true JPH06318109A (ja) 1994-11-15

Family

ID=18397359

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5348489A Pending JPH06318109A (ja) 1993-12-27 1993-12-27 数値制御装置

Country Status (1)

Country Link
JP (1) JPH06318109A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004083975A1 (ja) * 2003-03-17 2004-09-30 Mitsubishi Denki Kabushiki Kaisha 数値制御システム
JP2008257550A (ja) * 2007-04-06 2008-10-23 Okuma Corp 数値制御装置
CN113741352A (zh) * 2021-09-22 2021-12-03 陕西法士特齿轮有限责任公司 一种数控自适应控制加工方法、系统、设备及其存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5061772A (ja) * 1973-10-05 1975-05-27

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5061772A (ja) * 1973-10-05 1975-05-27

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004083975A1 (ja) * 2003-03-17 2004-09-30 Mitsubishi Denki Kabushiki Kaisha 数値制御システム
US7548795B2 (en) 2003-03-17 2009-06-16 Mitsubishi Denki Kabushiki Kaisha Numerical control system
JP2008257550A (ja) * 2007-04-06 2008-10-23 Okuma Corp 数値制御装置
CN113741352A (zh) * 2021-09-22 2021-12-03 陕西法士特齿轮有限责任公司 一种数控自适应控制加工方法、系统、设备及其存储介质
CN113741352B (zh) * 2021-09-22 2023-01-06 陕西法士特齿轮有限责任公司 一种数控自适应控制加工方法、系统、设备及其存储介质

Similar Documents

Publication Publication Date Title
EP0041336B1 (en) Numerical control device
US9483043B2 (en) Method and system for programmable numerical control
JP5193598B2 (ja) Cnc工作機械制御プログラムを作成する方法、前記方法を実行するコンピュータプログラム、工作物を製造する方法及び工作物製造cncプログラム
EP0513369B1 (en) Numerically controlled device with working simulation function
CN106919144B (zh) 具备用于确认程序执行状态的单元的数值控制装置
EP0415445A1 (en) Sequence control apparatus having separate sequence memory and interlock condition memory
CN101025622A (zh) 数值控制器
JPH06318109A (ja) 数値制御装置
US4328448A (en) Method for programmably controlling the sequence of execution of data blocks in a program
EP0529239B1 (en) Numerical control unit with position counter control and display
CN105388848B (zh) 缩短加工程序的周期时间的数值控制装置
EP0428735A1 (en) System for displaying data on a screen
JPS6232805B2 (ja)
JPH03206505A (ja) 数値制御装置
JPH03206504A (ja) 数値制御装置
JPH03206503A (ja) 数値制御装置
EP0419672A1 (en) Method of plotting tool shape
JP2000035815A (ja) 数値制御工作機械
JPH03196309A (ja) 数値制御装置
JPH02151909A (ja) 産業用機械の制御装置
JPH03196308A (ja) 数値制御装置
JPH04252307A (ja) 対話形数値制御装置
JPH05282047A (ja) 手動送り運転処理装置
JP2556963Y2 (ja) 数値制御装置
JPS5922103A (ja) 数値制御方法

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees