JPH03206505A - Numerical controller - Google Patents
Numerical controllerInfo
- Publication number
- JPH03206505A JPH03206505A JP20186690A JP20186690A JPH03206505A JP H03206505 A JPH03206505 A JP H03206505A JP 20186690 A JP20186690 A JP 20186690A JP 20186690 A JP20186690 A JP 20186690A JP H03206505 A JPH03206505 A JP H03206505A
- Authority
- JP
- Japan
- Prior art keywords
- macro
- numerical control
- control device
- user
- command
- 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
Links
- 238000000034 method Methods 0.000 claims description 15
- 238000003754 machining Methods 0.000 claims 1
- 230000006870 function Effects 0.000 abstract description 39
- 238000007634 remodeling Methods 0.000 abstract 2
- 238000010586 diagram Methods 0.000 description 10
- 230000001629 suppression Effects 0.000 description 9
- 230000014509 gene expression Effects 0.000 description 8
- 238000005553 drilling Methods 0.000 description 6
- 238000005520 cutting process Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000010079 rubber tapping Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
- 239000002826 coolant Substances 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000004513 sizing Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Numerical Control (AREA)
Abstract
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明は、数値制御装置に係り、特に数値制御装置のソ
フトウェアを改造することなくユーザの希望する種々の
特殊処理が行なえる装置に関する。DETAILED DESCRIPTION OF THE INVENTION (Field of Industrial Application) The present invention relates to a numerical control device, and particularly to a device that can perform various special processing desired by a user without modifying the software of the numerical control device.
(従来の技術)
数値制御装置は、紙テープ等から指令された指令プログ
ラムに基いて数値制御処理を実行し、該処理結果により
工作機械を駆動してワークに指令通りの加工を施すもの
である。(Prior Art) A numerical control device executes numerical control processing based on a command program instructed from a paper tape or the like, and drives a machine tool based on the processing result to process a workpiece according to the command.
第1図はかかる従来の数値制御装置のブロック図である
。FIG. 1 is a block diagram of such a conventional numerical control device.
テープリーダ1lからブロック毎に読込まれた指令プロ
グラムは、まず、処理装置や制御プログラムメモリ等を
内蔵する制御装置12に入力される。ついで、制御装置
12は該指令プログラムに応じた数値制御処理を実行し
、工作機械のサーボモータを駆動してテーブル又は刃物
を移動指令通りに移動せしめ、或いは強電制御装置13
を介して工作機械14のクーラントのオン/オフ、スピ
ンドル正転/逆転/停止等の制御を行なう。The command program read block by block from the tape reader 1l is first input to the control device 12, which has a built-in processing device, control program memory, and the like. Next, the control device 12 executes numerical control processing according to the command program and drives the servo motor of the machine tool to move the table or cutter according to the movement command, or the high-power control device 13
Controls such as turning on/off the coolant of the machine tool 14, normal rotation/reverse rotation/stopping of the spindle, etc.
尚、15は原点復帰、ジョグ等を指令するスイッチ、釦
類等を有する操作盤、l6は手動により1ブロックの指
令データ等を入力するマニュアル・データ・インプット
装置(以後MDIという)、17は機械現在位置等を表
示する表示ユニットであり、各装置11〜17(工作機
械l4は除く)によりコンピュータ数値制御装置(CN
Cという)が構成されている。In addition, 15 is an operation panel with switches and buttons for commanding home return, jog, etc., 16 is a manual data input device (hereinafter referred to as MDI) for manually inputting one block of command data, etc., and 17 is a machine. This is a display unit that displays the current position, etc., and is controlled by a computer numerical control device (CN
C) is configured.
ところで従来の数値制御装置に与えられていた指令には
、移動指令、速度指令、工作機械に所定の機械動作を指
示する補助機能命令、主軸の回転数を指示する主軸機能
命令、工具交換を指示する工具機能命令、その他準備機
能命令などがあって、それらが順次に読み込まれる時に
、このCNCにおける制御装置12は、それらの指令を
解読して実行していたから、工作機械や処理装置(CP
U)等の内部状態、或はそこに外部からオペレータが設
定した状態信号に応じて指令プログラムの順序を変更す
ることはできなかった。By the way, the commands given to conventional numerical control devices include movement commands, speed commands, auxiliary function commands that instruct the machine tool to perform predetermined mechanical operations, spindle function commands that instruct the spindle rotation speed, and tool exchange instructions. There are tool function commands to perform and other preparation function commands, etc., and when they are sequentially read, the control device 12 in this CNC decodes and executes those commands, so the machine tool and processing device (CP
It was not possible to change the order of the command programs in accordance with the internal state of the system, such as U), or a state signal set there by an operator from the outside.
(発明が解決しようとする課題)
ところが最近のCNCは機能の向上が要求されてきてお
り、工作機械やNCの状態に応じてその処理内容を指令
プログラムから指令する機能が必要になってきた。また
一般にCNCのソフトウェアは標準的な工作機械の制御
が行なえるように作られているが、工作機械によって、
或いは同種の工作機械でもユーザによって特殊な工作機
械制御が必要とされる場合がある。(Problem to be Solved by the Invention) However, recently there has been a demand for improved functionality of CNCs, and it has become necessary to have the ability to command processing contents from a command program depending on the state of the machine tool or NC. Additionally, CNC software is generally designed to control standard machine tools, but depending on the machine tool,
Or even for the same type of machine tools, the user may require special machine tool control.
このような場合、従来はその都度CNCのソフトウェア
を改造し特殊仕様通りの制御が行なえるようにしていた
。即ち、数値制御メーカは特殊な工作機械制御が要求さ
れる毎にその都度ソフトウェアを改造しており、このた
め多大の労力と時間を必要とし、人件費の増大、ひいて
はコストアップの弊害を招来していた。In such cases, conventionally the CNC software has been modified each time to enable control in accordance with the special specifications. In other words, numerical control manufacturers modify software each time a special machine tool control is required, which requires a great deal of effort and time, resulting in increased labor costs and, ultimately, increased costs. was.
そこで、従来からパートプログラム中に、定数は異なっ
ているがステートメントそのものは同じという命令群が
存在するとき、その都度プログラムをしなくてもすむよ
うに、そのグループにマクロ定義をほどこして、それに
特定シンボルを与えて格納し、マクロ識別名を含むマク
ロ呼出命令がプログラムされた指令プログラムからそれ
を呼び出して数値制御処理を行なおうという考えはあっ
た。Therefore, traditionally, when there is a group of instructions in a part program that have different constants but the same statement, in order to avoid having to program each time, a macro definition is added to that group and a specific symbol is added to it. There was an idea to perform numerical control processing by giving and storing a macro name and calling it from a command program programmed with a macro call command including a macro identification name.
マクロ定義のひとつに、カスタムマクロ、或はユーザマ
クロといわれるプログラム手法がある。One type of macro definition is a programming method called a custom macro or user macro.
これは、ユーザや機械メーカが作成した一群の命令で構
成される機能を予めNC装置に登録しておき、あたかも
専用のソフトが組み込まれているかの様に、いつでも簡
単な手順で、マクロを呼び出して使用することができる
機能である。This allows a function consisting of a group of commands created by the user or machine manufacturer to be registered in advance in the NC device, and the macro can be called up at any time using a simple procedure, just as if special software had been installed. This is a function that can be used with
ある一群の命令で構成されるマクロプログラムは、その
後通常のプログラムに代表命令を書くことにより特殊な
機能を実行できる点では、一種のザブプログラムである
が、通常の指令のみでプログラムが構成されるのではな
く、変数、演算指令、制御指令を使用して構成すること
ができ、更にマクロ呼び出し指令との間で引数(パラメ
ータ)の受け渡しが可能であるため、使用する工作機械
を含む数値制御システムにマッチした仕様や、ユーザ独
自の固定サイクルや自動プログラミングが実現できる。A macro program consisting of a certain group of instructions is a type of subprogram in that a special function can be executed by writing representative instructions in a normal program, but a program is made up of only normal instructions. Instead, it can be configured using variables, calculation commands, and control commands, and it is also possible to pass arguments (parameters) to and from macro call commands, so the numerical control system including the machine tool used can be It is possible to realize specifications that match the user's needs, as well as user-specific fixed cycles and automatic programming.
ここでは、登録される一群の命令をユーザマクロ本体或
は単にマクロといい、代表命令をユーザマクロ命令、或
はマクロ呼出命令という。Here, a group of registered commands is referred to as a user macro body or simply a macro, and a representative command is referred to as a user macro command or a macro call command.
ここで変数とは、マクロの中にあって、あるアドレスに
直接に数値を与えるのではなく、マクロを呼び出して実
行する際に定義されている変数に値を与えて使用される
ものであって、これによって、マクロに融通性と汎用性
を付与するものである。Here, a variable is something that exists in a macro and is used by giving a value to a variable defined when calling and executing a macro, rather than giving a numerical value directly to a certain address. , which gives macros flexibility and versatility.
例えば、変数は#に続く変数番号i (1、2、・・・
)によって指定し、
#i
と表現することができる。即ち#5、#109、#10
05という様に。For example, the variable is # followed by the variable number i (1, 2,...
) and can be expressed as #i. i.e. #5, #109, #10
Like 05.
また、変数番号としては、自然数のほか、式を使用する
ことも可能であり、その場合には、#[#100] 、
# [#1001−1],# [#6/2コという様に
なる。In addition to natural numbers, expressions can also be used as variable numbers; in that case, #[#100],
#[#1001-1], #[#6/2].
さらにアドレスに続く数値を変数で置換することもでき
る。即ちくアドレス〉#i又はくアドレス>−#iとプ
ログラムすれば、変数の値をそのまま、又はその補数を
、そのアドレスの指令値とすることを意味する。You can also replace the number following the address with a variable. That is, programming kuaddress>#i or kuaddress>-#i means that the value of the variable is used as it is, or its complement is used as the command value for that address.
ところがこのように変更可能なマクロ変数に代入できる
数は、従来では指令プログラム中のマクロ呼出命令であ
るコールステートメント中で直接に指定される数値に限
られている。そのため、各種設定値、機械位置、モーダ
ル情報、機械からの入力信号、タイマ時刻等の読取り制
御、機械側への出力信号の送出制御、シングルブロック
停止の抑制制御等の処理機能を直接にプログラムで実行
させるとき、こうした工作機械が有する複数種類の数値
制御処理機能に対応した変数を持たせることができず、
数値制御装置の有する多様な機能をユーザが更に独自に
拡張してマクロ命令を構成するうえで、不十分であった
。However, the number that can be assigned to a macro variable that can be changed in this way is conventionally limited to a value that is directly specified in a call statement that is a macro call instruction in a command program. Therefore, processing functions such as reading control of various setting values, machine position, modal information, input signals from the machine, timer time, etc., control of sending output signals to the machine, and control of suppressing single block stop can be directly programmed. When executing, it is not possible to have variables that correspond to the multiple types of numerical control processing functions that these machine tools have.
This has not been sufficient to allow users to independently extend the various functions of the numerical control device and configure macro instructions.
従って、本発明は工作機械に対する特殊な制御が要求さ
れても、数値制御機能に対応するマクロ命令を呼び出す
マクロ呼出命令をプログラムしておくだけで、CNCの
ソフトウェアを何等改造せずに対処できる低コストの数
値制御装置を提供することを目的としている。Therefore, even if special control is required for a machine tool, the present invention can handle the problem without modifying the CNC software by simply programming a macro call command that calls a macro command corresponding to the numerical control function. The purpose is to provide a cost numerical control device.
(課題を解決するための手段)
そして、この目的は、本発明において、マクロ識別名を
含むユーザマクロ呼出命令がプログラムされた指令プロ
グラムに基づいて数値制御処理を実行し、該処理結果に
より工作機械を駆動してワークに指令通りの加工を施す
数値制御装置において、前記数値制御装置と工作機械と
の間を行き交う現在位置量を変数値どするシステム変数
を記憶する変数メモリと、エないし複数のシステム変数
を含み前記マクロ識別名により識別可能な複数の機能命
令をユーザマクロのマクロ命令として予め記憶している
マクロ登録メモリと、このマクロ登録メモリから前記ユ
ーザマクロのマクロ命令を呼び出したとき前記変数メモ
リからユーザマクロのマクロ命令に含まれるシステム変
数を読み出しこのシステム変数の内容に応じて前記マク
ロ登録メモリから読み出されたユーザマクロのマクロ命
令に従って所定の数値制御処理を実行するマクロ処理手
段とを有することを特徴とする数値制御装置により達成
される。(Means for Solving the Problem) In the present invention, a numerical control process is executed based on a command program in which a user macro call command including a macro identification name is programmed, and a machine tool is A numerical control device that processes a workpiece according to commands by driving a machine tool includes a variable memory that stores a system variable that converts the current position amount exchanged between the numerical control device and the machine tool into a variable value, and one or more A macro registration memory that stores in advance a plurality of functional instructions including system variables and which can be identified by the macro identifier as macro instructions of a user macro, and when a macro instruction of the user macro is called from this macro registration memory, the variables macro processing means that reads a system variable included in a macro instruction of a user macro from a memory and executes a predetermined numerical control process in accordance with the macro instruction of the user macro read from the macro registration memory according to the contents of the system variable; This is achieved by a numerical control device characterized by having.
(作用)
本発明によれば、マクロ登録メモリ(24)からユーザ
マクロ呼出命令により所定のユーザマクロを呼出し、マ
クロ処理手段(27)において該ユーザマクロに応じた
マクロ処理を実行する際に、システム変数に対応する数
値制御装置或は工作機械の状態量を読みとって、システ
ム変数により規定された機能命令に従ってシステム状態
を判別して、その時点で必要とされる特殊の数値制御処
理機能を選択して実行できる。(Operation) According to the present invention, when a predetermined user macro is called from the macro registration memory (24) by a user macro call command and the macro processing means (27) executes macro processing according to the user macro, the system It reads the state quantity of the numerical control device or machine tool corresponding to the variable, determines the system state according to the function command specified by the system variable, and selects the special numerical control processing function required at that time. It can be executed by
(実施例) 以下、本発明の実施例を図面に従って詳細に説明する。(Example) Embodiments of the present invention will be described in detail below with reference to the drawings.
第2図は本発明に係るCNCのブロック図である。FIG. 2 is a block diagram of a CNC according to the present invention.
図中、2lは指令プログラムが穿孔されている指令テー
プ、22は1又は複数のユーザマクロが穿孔されている
ユーザマクロ指令テープである。In the figure, 2l is a command tape on which a command program is perforated, and 22 is a user macro command tape on which one or more user macros are perforated.
ここで各ユーザマク口は、第3図の如く少なくとも■マ
クロ識別名(たとえば09001)と■後述するシステ
ム変数を用いた命令とから構成され、それらの命令の最
終行には、たとえばM99*(*はエンド・オブ・ブロ
ックを、M99はマクロの終りをそれぞれ意味する)が
プログラムされている。As shown in FIG. 3, each user macro consists of at least (1) a macro identification name (for example, 09001) and (2) an instruction using a system variable, which will be described later. (means end of block, and M99 means end of macro) are programmed.
以下に、ユーザマクロの一例を示す。ここで#3001
がシステム変数である。An example of a user macro is shown below. Here #3001
is a system variable.
09001*
#3001=O*
WHILE [#3001LE#20] DotEND
1*
M99*
変数は、その変数番号(3001或は20など〕により
、ローカル変数、コモン変数、システム変数に分類され
る。09001* #3001=O* WHILE [#3001LE#20] DotEND
1*M99* Variables are classified into local variables, common variables, and system variables according to their variable numbers (3001, 20, etc.).
ローカル変数とは、マクロ内でローカルに使用される変
数であって、その変数番号には1〜33が使用される。A local variable is a variable that is used locally within a macro, and the variable numbers 1 to 33 are used.
即ちある時点で呼び出したマクロで使用しているローカ
ル変数#iと他の時点で呼び出したマクロで使用してい
る#iとは(iが同じ値かどうかを問わず)、別のもの
として扱われ11
る。従って、多重呼び出しのように、マクロAから別の
マクロBを呼ぶような場合、マクロAで使用しているロ
ーカル変数をマクロBで誤って使用してその値を破壊し
てしまうというおそれはない。このローカル変数は、引
数の受け渡しに使用される。In other words, local variable #i used in a macro called at one point in time and #i used in a macro called at another point in time (regardless of whether or not i has the same value) are treated as different things. I am 11. Therefore, when macro A calls another macro B, such as in multiple calls, there is no risk that a local variable used in macro A will be accidentally used in macro B and its value will be destroyed. . This local variable is used for passing arguments.
コモン変数の変数番号には100〜199、500〜9
99が使用される。ローカル変数がマクロ内でローカル
に使用されるのに対して、メインプログラム或はそこか
ら呼ばれたサブプログラム、各マクロを通じて、コモン
変数は共通に使用される。従って、あるマクロAで使用
している#iと他のマクロで使用する#iとが同じもの
であって、一方のマクロで演算した結果のコモン変数を
、別のマクロで使用することができる。Variable numbers for common variables are 100-199, 500-9
99 is used. While local variables are used locally within a macro, common variables are used in common throughout the main program, subprograms called from it, and each macro. Therefore, #i used in one macro A and #i used in another macro are the same, and the common variable resulting from the operation in one macro can be used in another macro. .
更にシステム変数は、後述するシステム変数メモリに搦
納されるものであって、ローカル変数やコモン変数とは
異なり、工作機械が有する複数種類の数値制御処理機能
に対応する変数番号(システム符号)が割り当てられて
いて、工作機械或は12
NC装置の内部状態等の状態量に応じて決定される変数
となるものである。Furthermore, system variables are stored in the system variable memory described later, and unlike local variables and common variables, they have variable numbers (system codes) that correspond to multiple types of numerical control processing functions that the machine tool has. It is a variable that is determined according to the state quantity such as the internal state of the machine tool or 12 NC device.
又、上記指令テープ21から読み込まれる指令プログラ
ムには、通常の指令のほかに、マクロ識別名を含むユー
ザマクロ呼出命令(ユーザマクロコール)がプログラム
され、適宜のプログラムステップにて所定のユーザマク
ロを呼出すことにより、該ユーザマクロに応じた処理の
実行が可能である。このユーザマクロ呼出命令は、少な
くともG65(ユーザマクロ呼出しのG機能命令)と、
例えばP9001 (Pは9001がマクロ識別名であ
ることを示すワードアドレス、900 1はマクロ識別
名)とを有している。Furthermore, in addition to normal commands, the command program read from the command tape 21 is programmed with a user macro call command (user macro call) including a macro identification name, and a predetermined user macro is called at an appropriate program step. By calling it, it is possible to execute processing according to the user macro. This user macro call command includes at least G65 (G function command for user macro call),
For example, it has P9001 (P is a word address indicating that 9001 is a macro identification name, 9001 is a macro identification name).
23は紙テープリーグであり、指令テープ21.22に
穿孔されている指令を読取る。24はマクロ登録メモリ
であり、ユーザマクロ指令テーブ22から読取られた複
数のユーザマクロが該メモリに記憶される。25は判別
回路であり、26は通常処理部、27はユーザマクロ処
理部である。これら処理部26、27はそれぞれ演算部
、制御部、メモリ等を内蔵している。テープリーダ23
から判別回路25に読込まれた情報がユーザマクロ本体
であれば(ワードアドレスOにより識別する)、これを
マクロ登録メモリ24に転送記憶せしめ、通常指令であ
れば次段の通常処理部26へ送出し、又ユーザマクロ呼
出命令であれば該当するユーザマクロ処理部27へ送出
する。尚、これら処理部26、27を共通に構成しても
よい。また通常の指令とユーザマクロ本体とは1つのテ
ープに混在することはなくそれぞれ別々のテープから人
力される。Reference numeral 23 denotes a paper tape league, which reads commands punched in the command tapes 21 and 22. 24 is a macro registration memory, and a plurality of user macros read from the user macro command table 22 are stored in this memory. 25 is a discrimination circuit, 26 is a normal processing section, and 27 is a user macro processing section. Each of these processing units 26 and 27 includes a calculation unit, a control unit, a memory, and the like. tape reader 23
If the information read into the discrimination circuit 25 is the user macro body (identified by the word address O), it is transferred to the macro registration memory 24 and stored therein, and if it is a normal command, it is sent to the next stage normal processing section 26. However, if it is a user macro calling command, it is sent to the corresponding user macro processing unit 27. Note that these processing units 26 and 27 may be configured in common. Further, normal commands and user macro bodies are not mixed on one tape, but are manually input from separate tapes.
28は、工作機械が有する複数種類の数値制御処理機能
のそれぞれに対応するシステム符号が割り当てられると
ともに該システム符号に割り当てられた機能命令により
実行される処理内容を規定するシステム変数を記憶した
変数メモリであり、通常処理部26及びユーザマクロ処
理部27の双方から参照できるようになっている。各シ
ステム変数#iはその変数番号iに応じてシステム内で
の用途が固定される。Reference numeral 28 denotes a variable memory in which system codes corresponding to each of the plurality of types of numerical control processing functions possessed by the machine tool are assigned, and system variables that define the processing contents to be executed by the function commands assigned to the system codes are stored. , and can be referenced by both the normal processing section 26 and the user macro processing section 27. The use of each system variable #i within the system is fixed according to its variable number i.
即ち、この変数メモリ28内のマクロ用DI領域では、
#1000〜#1035がそれぞれ工作機械との間で授
受される16ビットの入力信号からなるインタフェース
信号をその変数値として記憶し、マクロ用Do領域では
、#11’00〜#1135がそれぞれ工作機械との間
で授受される16ビットの出力信号からなるインタフェ
ース信号をその変数値として記憶し、工具オフセット用
領域では、#2001〜#2099がそれぞれ99種類
の工具のオフセット量をその変数値として記憶し、マク
ロアラーム用領域では、#3000がマクロ中の誤りを
検出したときNC装置をアラームにする信号をその変数
値として記憶し、クロック領域では、#3001、#3
002がそれぞれ基準時刻からの経過時間に関するクロ
ック信号をその変数値として記憶し、自動運転制御領域
では、#3003がシングルブロック停止の抑制或はそ
の解除に関する信号をその変数値として記憶し、位置記
憶域では、#3004がフィードホールド、フィードレ
ートオーバライドの無効或はそ1 5
の解除に関する信号をその変数値として記憶し、モーダ
ル情報領域では、#4000〜$40 1 2がそれぞ
れモーダル指令の現在値信号をその変数値として記憶し
、機械座標領域では、#5001〜#5104が各種機
械位置をその変数値として記憶している。That is, in the macro DI area in this variable memory 28,
#1000 to #1035 each store an interface signal consisting of a 16-bit input signal exchanged with the machine tool as its variable value, and in the macro Do area, #11'00 to #1135 respectively store the input signal of the machine tool. The interface signal consisting of a 16-bit output signal sent and received between the two is stored as its variable value, and in the tool offset area, #2001 to #2099 each store the offset amount of 99 types of tools as its variable value. However, in the macro alarm area, a signal that alarms the NC device when #3000 detects an error in the macro is stored as a variable value, and in the clock area, #3001, #3
002 stores a clock signal related to the elapsed time from the reference time as its variable value, and in the automatic operation control area, #3003 stores a signal related to suppression or cancellation of single block stop as its variable value, and position storage. In the area, #3004 stores a signal related to disabling or canceling feed hold and feed rate override as its variable value, and in the modal information area, #4000 to $4012 are the current values of the modal commands, respectively. Signals are stored as their variable values, and in the machine coordinate area, #5001 to #5104 store various machine positions as their variable values.
29は、工作機械、表示ユニット、テープパンチャ等と
の入出力のインタフェースを司るインクフェイス回路で
ある。30は工作機械、31はMDI、32は表示ユニ
ット、33は操作盤である。34はアドレス変換ユニッ
トで、変数番号iを変数メモリ28のアドレスに変換す
る。Reference numeral 29 denotes an ink face circuit that controls input/output interfaces with machine tools, display units, tape punchers, and the like. 30 is a machine tool, 31 is an MDI, 32 is a display unit, and 33 is an operation panel. 34 is an address conversion unit that converts the variable number i into an address of the variable memory 28.
さて、予めユーザマクロ指令テープ22から複数のユー
ザマクロがユーザマクロ登録メモリ24に記憶されてお
り、この状態で指令テープ21から指令プログラムが読
み込まれたものとする。読み込まれた指令が通常のNC
指令であれば、該NC指令は通常処理部26に入力され
、従来と同様のNC処理が実行される。又、指令がユー
ザマクロ呼出命令であれば、判別回路25はユーザマク
1 6
ロ登録メモリ24から該当するユーザマクロを呼び出し
、これをユーザマクロ処理部27に人力し、後述のユー
ザマクロ処理を行う。Now, it is assumed that a plurality of user macros from the user macro instruction tape 22 are stored in the user macro registration memory 24 in advance, and an instruction program is read from the instruction tape 21 in this state. The read command is a normal NC
If it is a command, the NC command is input to the normal processing section 26, and the same NC processing as the conventional one is executed. If the command is a user macro calling command, the discrimination circuit 25 calls the corresponding user macro from the user macro registration memory 24, inputs it to the user macro processing section 27, and performs user macro processing to be described later.
なお、指令テーブ21、22からユーザマクロだけでな
く指令プログラムをもマクロ登録メモリ24に予め記憶
させておき、該記憶したNC指令を順次に読み出してN
C処理を実行するいわゆるメモリ運転方式とした場合に
は、NCの操作盤33上のモード選択スイッチをテープ
編集モードにしてプログラムの読み込みを行い、その後
NC処理に際しては該モード選択スイッチを自動モード
にする。Note that not only the user macro but also the command program from the command tables 21 and 22 is stored in the macro registration memory 24 in advance, and the stored NC commands are sequentially read out and the N.
When using the so-called memory operation method for executing C processing, the mode selection switch on the operation panel 33 of the NC is set to tape editing mode to read the program, and then the mode selection switch is set to automatic mode for NC processing. do.
次に本発明の作用を説明する。Next, the operation of the present invention will be explained.
(A)ユーザマクロの登録
(a)インタフェース信号(機械側への出力信号、機械
側からの入力信号)の読取り及び送出についてのユーザ
マクロ;
機械側にたとえば工具の移動量を指示する10種類のダ
イヤルがあり、ある条件により所定のダイヤル値(10
進3桁)を読取り、その値に基いて工具移動を制御しな
ければならないものとする。さて、第3番目のダイヤル
から設定値を読出さなければならないものとすれば、以
下のユーザマクロを作成してユーザマクロ登録メモリ2
4に登録しなければならない。(A) Registration of user macros (a) User macros for reading and sending interface signals (output signals to the machine side, input signals from the machine side); 10 types of user macros that instruct the machine side, for example, the amount of movement of a tool. There is a dial, and depending on certain conditions, a predetermined dial value (10
It is assumed that the tool movement must be controlled based on that value. Now, if you need to read the setting value from the third dial, create the following user macro and store it in the user macro registration memory 2.
4 must be registered.
0 9100* ・・・
■# 1132= # 1132A N D 496
0 R # 1 ・・・■G 65 P 910
1 T 60* ・・・■#100
=B I N [#1032AND4095]!
・・・■I F#2012EQO GOTO9100*
・・・■#100 =−#100
・・・■N 9100 M 99*
・・・■ユーザマクロは、先に述べ
た様に一般に、変数、演算指令、制御指令の使用が可能
になる点で、通常のサブプログラムとは異なるものであ
って、ここでは、変数の定義、置換の指令=、論理積演
算指令AND、論理和演算指令OR,BCDからの変換
指令BINが使用され、これらによって、変数間での種
々な演算が一般の算術式と同じにプログラムすることが
できる。又、プログラムの流れを制御する制御指令のひ
とつである、IFく条件式>GOTOnは、〈条件式〉
が成立する場合に、同一プログラム内のシーケンス番号
nの付いたブロックから、次に実行するように指令する
ものである。ここで、条件式EQとは=を意味し、その
ほかにNE,GT.LT%GE,LEがそれぞれ≠,
>, <,≧,≦を意味する記号として使用できる。0 9100*...
■# 1132 = # 1132A N D 496
0 R #1...■G 65 P 910
1 T 60* ・・・■#100
=B I N [#1032AND4095]!
...■IF#2012EQO GOTO9100*
...■#100 =-#100
...■N 9100 M 99*
... As mentioned above, user macros are generally different from normal subprograms in that they allow the use of variables, calculation commands, and control commands. , substitution command =, logical product operation command AND, logical sum operation command OR, and conversion command BIN from BCD are used, and by these, various operations between variables can be programmed in the same way as general arithmetic expressions. can. Also, the IF conditional expression>GOTOn, which is one of the control commands that controls the flow of the program, is <conditional expression>
If the following holds true, a command is given to execute the next block starting from the block with the sequence number n in the same program. Here, the conditional expression EQ means =, and in addition, NE, GT. LT%GE and LE are respectively ≠,
Can be used as symbols to mean >, <, ≧, ≦.
上記ユーザマクロのうち■はマクロ識別名を指示するブ
ロックで、0 9100はBCD3桁を読取るユーザマ
クロ識別名である。■はアドレスデータ退出用のブロッ
クである。さて、機械側へ出力するデータは本発明にお
いて第4図(b)に示す如く16ビットで構成されてお
り、第1乃至第4ビットに機械へ出力するアドレスデー
タが書込まれている。但し、第5ビット乃至第9ビット
は他の目的に使用され、第10ビットから第16ビット
迄は使用されない。尚、ローカル変数#1と対応する変
数レジスタ(これは、上記変数メモリ28の一部を構成
している。)には、第3番目のダl 9
イヤルを指示するアドレスデータがその変数値として書
込まれており、しかもシステム変数# 1132とに対
応する変数レジスタには、前回の処理において出力され
た第4図(b)に示す16ビットデータがその変数値と
して格納されているものとする。Among the above user macros, ■ is a block indicating a macro identification name, and 09100 is a user macro identification name that reads 3 digits of BCD. 3 is a block for exiting address data. Now, in the present invention, the data to be output to the machine side is composed of 16 bits as shown in FIG. 4(b), and the address data to be output to the machine is written in the first to fourth bits. However, the 5th to 9th bits are used for other purposes, and the 10th to 16th bits are not used. Note that the variable register corresponding to local variable #1 (this constitutes a part of the variable memory 28) contains address data indicating the third dial as its variable value. It is assumed that the 16-bit data shown in FIG. 4(b) output in the previous process is stored as the variable value in the variable register corresponding to system variable #1132. .
従って、10進の496は、第5ビットから第9ビット
までが1で他のビットがOの2進数によって表現される
ため、■のAND (論理積)によって# 1132の
第5ビット乃至第9ビットの内容が保存され、OR(論
理和)によって# 1132の第1乃至第4ビットに今
回読出すべき第3番目のダイヤルのアドレスデータが書
込まれる。Therefore, 496 in decimal is expressed as a binary number where the 5th to 9th bits are 1 and the other bits are O, so by AND (logical product) of ■, the 5th to 9th bits of #1132 The contents of the bits are saved, and the address data of the third dial to be read this time is written into the first to fourth bits of #1132 by OR (logical sum).
■は、前記■のアドレスデータを機械側に送出した後、
機械側がダイヤルにセットした値を出力できるようにな
る迄の時間( 60 msec)を待つユーザマクロ命
令である(尚、この命令については後述する)。■After sending the address data of ■ above to the machine side,
This is a user macro instruction that waits for a period of time (60 msec) until the machine side can output the value set on the dial (this instruction will be described later).
■はダイヤルにセットしたBCD3桁の値を読取って2
進数に変換する命令である。さて、シス2 0
テム変数# 1032の変数レジスタには第4図(a)
に示す如き16ビットのデータが(3 Q msec経
過後に機械側から出力されて書込まれている。尚、第4
図(a)中、第1〜第12ビットにはBCD3桁(ダイ
ヤル値)が書込まれ、第13ビットにはその符号が書込
まれ、第14ビットから第16ビットは他の目的に使用
される。従って、# 1032に対応する変数レジスタ
の内容と4095 (オール” 1 ” )とのAND
をとればこの変数レジスタの第1〜第12ビットに書込
まれているBCD3桁が抽出され2進化されで、コモン
変数#l00の変数レジスタ(これも、上記変数メモリ
28の一部を構成している。)に書込まれる。そして、
■で符号の正負が判定され、負であれば、■で符号を反
転し、■のM99によりユーザマクロは終了する。For ■, read the 3-digit BCD value set on the dial.
This is an instruction to convert to a base number. Now, the variable register of system variable #1032 is as shown in Figure 4(a).
The 16-bit data shown in (3 Q msec) is output from the machine and written.
In figure (a), 3 BCD digits (dial value) are written in the 1st to 12th bits, the code is written in the 13th bit, and the 14th to 16th bits are used for other purposes. be done. Therefore, AND the contents of the variable register corresponding to #1032 and 4095 (all "1")
If you take , the 3 BCD digits written in the 1st to 12th bits of this variable register are extracted and binarized, and the variable register of common variable #100 (which also constitutes a part of the variable memory 28 above) is extracted. ). and,
The sign is determined to be positive or negative in step (2), and if it is negative, the sign is inverted in step (2), and the user macro ends in M99 in step (2).
(b)クロックの時刻を得るユーザマクロCNCは、第
1、第2の2種類のクロックを有しており、第1クロッ
クは1ミリ秒刻みに計数され、電源投入後の時刻(この
時刻はシステム変数の値として変数レジスタに記憶され
ている)を計時するために使用され、又第2クロックは
0. 1時間(6分)刻みに計数され、C,NCの総
使用時間(この時間もシステム変数の値として変数レジ
スタに記憶されている)を計時するために使用される。(b) User macro for obtaining clock time The CNC has two types of clocks, a first clock and a second clock.The first clock is counted in 1 millisecond increments, and (stored in the variable register as the value of the system variable), and the second clock is 0. It is counted in 1 hour (6 minute) increments and is used to measure the total usage time of C and NC (this time is also stored in the variable register as a system variable value).
今、ユーザがある時刻から201Ilsec経過した時
点で次の工作処理を行なうという特殊な使用が必要にな
ったとすれば、ユーザは以下のユーザマクロを作成する
。尚、電源投入後の時刻を示すシステム変数は、1 3
001に対応する変数レジスタに、又CNCの総使用時
間を示すシステム変数は、#3002に対応する変数レ
ジスタにそれぞれ記憶されている。Now, if the user needs a special use of performing the next work process after 201 Ilsec has passed from a certain time, the user creates the following user macro. The system variables that indicate the time after power-on are 1 3
A system variable indicating the total CNC usage time is stored in the variable register corresponding to #001, and a system variable indicating the total usage time of the CNC is stored in the variable register corresponding to #3002.
0 91QQ*
・・・■#1=#3001
・・・■WH I L E [#30吋一#
I L E #20] D O 1*・・・■E N
D 1* ・・
・■M99*
..、■上記ユーザマクロのうち■はマクロ識別名
、■は現時刻(#3001に対応するレジスタの内容)
を#1の変数レジスタにセットするマクロ命令(現時刻
の取込み)、■はユーザマクロの終りを示す命令である
。0 91QQ*
...■#1=#3001
...■WH ILE [#30吋一#
I L E #20] D O 1*...■E N
D1*...
・■M99*
.. .. , ■ Of the above user macros, ■ is the macro identification name, and ■ is the current time (contents of the register corresponding to #3001).
Macro instruction to set variable register #1 (take in current time), ■ is an instruction indicating the end of the user macro.
又■,■の
WHILE[<条件式>] DOm(m=1.2 =1
ENDm
はく条件式〉が成立している間はDOmのブロックから
ENDmのブロック迄を繰返すマクロ命令で、不成立の
場合にはENDmの次のブロックを実行する。又L E
( L E S S or E qual)は≦を意
味し、更に(# 3001− # 1 )は#3001
, # 1に対応する変数レジスタの内容の減算を意味
する。Also, WHILE of ■, ■ [<conditional expression>] DOm (m=1.2 =1
ENDm This is a macro instruction that repeats the block from DOm to the block of ENDm while the conditional expression> is satisfied, and if it is not satisfied, the block next to ENDm is executed. Also L E
(LESS or Equal) means ≦, and (#3001- #1) means #3001
, # means subtraction of the contents of the variable register corresponding to 1.
尚、システム符号#20に対応する変数レジスタには2
0が格納されている。Note that the variable register corresponding to system code #20 has 2
0 is stored.
従って、2 0 msec経過してく条件式〉が成立し
なくなると、■に移行する。Therefore, when 20 msec has elapsed and the conditional expression> no longer holds true, the process shifts to (2).
上記■〜■のユーザマクロが作成されればこれを紙テー
プ22に穿孔し、テープリーダ23に読込ませれば、判
別回路25はワードアドレスOを2 3
識別して以後のユーザマクロをマクロ登録メモリ24に
転送記憶させる。これによりクロック時刻をつるユーザ
マクロの登録が終了する。Once the user macros (■ to ■) above have been created, they are punched into the paper tape 22 and read into the tape reader 23.The discrimination circuit 25 identifies the word address O and stores the subsequent user macros in the macro registration memory. 24 to be transferred and stored. This completes the registration of the user macro for setting the clock time.
以上から、クロック時刻を得るためのユーザマクロは通
常のドゥエル(DWELL)機能に類似している。しか
し、ドウエルは機械動作を所定時間停止させ、該時間経
過後に機械動作を再開する機能であるが、上記ユーザマ
クロは機械動作を停止することなく所定時間の計時が可
能な、換言すれば工作機械の動作中であっても計時でき
る機能を有している。From the above, the user macro for obtaining the clock time is similar to the normal DWELL function. However, dwell is a function that stops machine operation for a predetermined time and resumes machine operation after the elapse of that time, but the above user macro can measure a predetermined time without stopping machine operation. It has a function that allows you to keep track of time even when the machine is in operation.
(C)シングルブロック停止抑制マクロ指令テープの正
誤テストに際しては通常、1ブロック毎にテープを停止
させ、スタート釦が押される迄次のブロックに移行しな
いようにする、いわゆるシングルブロック制御が行われ
る。しかし、これではテープの正誤テストに時間がかか
ってしまいユーザによって時間短縮のため、所定のブロ
ックたとえばドリルサイクル(穴明けサイクル)におけ
る位置決め後の穴明けブロック、穴明け完了後の工具引
抜きブロック等を大きな1ブロックと見做し、これらの
ブロックにおいてシングルブロック制御を抑制したい場
合がある。(C) Single Block Stop Suppression Macro Command During a tape correctness test, so-called single block control is usually performed, in which the tape is stopped block by block and does not proceed to the next block until the start button is pressed. However, this takes a long time to test whether the tape is correct or not, and in order to shorten the time, the user may use predetermined blocks such as a drilling block after positioning in a drill cycle, a tool pulling block after drilling is completed, etc. There are cases where it is desired to suppress single block control in these blocks, which are regarded as one large block.
今、第4図(c)図のような穴明けを行う場合、該穴明
け指令ブロックについてシングルブロックを抑制したい
ものとすれば、以下のユーザマクロを作成してマクロ登
録メモリ24に登録すればよい。尚、システム変数#
3003の変数値が1のときシングルブロックが抑制さ
れ、0のときシングルブロックの抑制が解除されるもの
とする。Now, when drilling as shown in FIG. 4(c), if you want to suppress single blocks for the drilling command block, create the following user macro and register it in the macro registration memory 24. good. In addition, system variable #
It is assumed that when the variable value of 3003 is 1, single blocks are suppressed, and when it is 0, single blocks are suppressed.
0 9081*・・・・・・・・・・・・・・・・・・
マクロ識別名# 3003 = l*・・・・・・・
・・・・・・・・ シングルブロック抑制G 002
− # 18*・・・・・・・・・ 穴明けG 01Z
− # 261・・・・・・・・・ 穴明けGOOZ
[#18* +#26* ] *・・・ 工具引抜き#
3003 = Q*・・・・・・・・・・・・・・・
・・・・・・・・・・・・ 抑制解除M99* ・
・・・・・・・・・・・・・・・・・・・・・・・・・
・ マクロ終り(d)フィードホールド、フィードレー
トオーバーライドの無効
ユーザによってはネジ切り、タッピングをプログラムす
るときフィードホールドを無効にしたり、オーバライド
をlOO%に保持したい場合がある。この場合にはフィ
ードホールド、オーバライド無効のシステム変数を#
3004とし、このシステム変数# 3004が1のと
き無効、0のとき無効解除と決めて、前記(C)のシン
グルブロック停止の抑制マクロと同様に、ユーザマクロ
を作成し変数メモリ28内に登録する。尚、以下はユー
ザマクロの一例でタッピングサイクル(G84)にフィ
ードホールド、オーバライド無効を適用したものである
。0 9081*・・・・・・・・・・・・・・・・・・
Macro identification name #3003 = l*・・・・・・・
・・・・・・・・・ Single block suppression G 002
- #18*・・・・・・・・・ Drilling G 01Z
- #261・・・・・・・・・ Drilling GOOZ
[#18* +#26*] *... Tool removal #
3003 = Q*・・・・・・・・・・・・・・・
・・・・・・・・・・・・ Suppression release M99* ・
・・・・・・・・・・・・・・・・・・・・・・・・
- End of macro (d) Disabling feed hold and feed rate override Some users may want to disable feed hold or keep override at lOO% when programming thread cutting or tapping. In this case, feed hold, override disabled system variable #
3004, and determine that system variable #3004 is invalid when it is 1 and invalidated when it is 0, and create a user macro and register it in the variable memory 28 in the same way as the single block stop suppression macro in (C) above. . The following is an example of a user macro in which feed hold and override invalidation are applied to the tapping cycle (G84).
09080・・・・・・・・・ マクロ識別名# 30
03= 1*・・・・・・ シングルブロック停止抑制
G 002−# 18*
# 3004= II・・・・・・ フィードホールド
等無効G 012−# 26*
M05*
M04*
Z # 26*
# 3004= 01・・・・・ フィードホールド等
無効解除M 05*
M03*
G 002 # 18*
# 3003= 0・・・ シングルブロック停止抑制
解除M99*
(e)モーダル情報の読取り
モーダル情報とは以前に定義したら次に定義するまで変
わらない情報をいい、送り速度指令、いくつかのG機能
命令、たとえばインクリメンタル/アブソリュート指示
用のG機能命令等がある。09080... Macro identification name # 30
03= 1*... Single block stop suppression G 002-# 18* # 3004= II... Feed hold etc. invalid G 012-# 26* M05* M04* Z # 26* # 3004 = 01... Canceling invalidation of feed hold, etc. M 05* M03* G 002 #18* #3003= 0... Canceling single block stop suppression M99* (e) Reading modal information Modal information is defined previously. This refers to information that does not change until it is defined next, such as a feed rate command and some G function commands, such as G function commands for incremental/absolute instructions.
さて、指令テープがインクリメンタル/アブソリュート
併用プログラミングでプログラムされ、アブソリュート
で指令された第1、第2のブロック間にマクロ呼出命令
のブロックがあり、しかも該マクロ呼出命令で呼出され
るユーザマクロがインクリメンタル指令で作成されてい
るものとする。Now, the command tape is programmed using incremental/absolute combined programming, and there is a block of macro call commands between the first and second blocks commanded by absolute, and the user macro called by the macro call command is an incremental command. It is assumed that it was created with .
この場合、ユーザマクロの始めにおいてはG機能命令(
モーダル情報)を用いて以後の移動指令がインクリメン
タルであることが指示される。この結果、以後アブソリ
ュートが指名される迄NCは移動指令をインクリメンタ
ルであるとして処理し、ユーザマクロの終りで、第1ブ
ロックのアブソリュートを復元しないと、第2ブロック
の移動指令もインクリメンタルと見做して処理し、誤動
作を生じる。In this case, at the beginning of the user macro, the G function command (
modal information) to indicate that subsequent movement commands are incremental. As a result, the NC treats the movement command as incremental until an absolute is specified, and if the absolute of the first block is not restored at the end of the user macro, the movement command of the second block is also considered to be incremental. processing, resulting in malfunction.
このため、ユーザマクロの最初にモーダル情報を読取っ
て保存しておき、ユーザマクロの終りで該モーダル情報
を復元する必要がある。Therefore, it is necessary to read and save the modal information at the beginning of the user macro, and restore the modal information at the end of the user macro.
以下はポーリングサイクル(G86)においてモーダル
情報(インクリメンタル/アブソリュートのG機能命令
)を保存、復元するユーザマクロの一例である。尚、シ
ステム変数# 4003に対応するレジスタに変数値と
してアブソリュートを指示する上記G機能命令が格納さ
れているものとする。The following is an example of a user macro that saves and restores modal information (incremental/absolute G function commands) in a polling cycle (G86). It is assumed that the G function command that instructs absolute is stored as a variable value in the register corresponding to system variable #4003.
0 9086*
# l=# 4003*・・・ モーダル情報の保存z
8
# 3003= 1*・・・・・・ シングルブロック
停止抑制GOOG91Z−#18* G91はインクリ
メンタル指示のG機能命令
G 012−# 26*
M 05*
GOOZ [#18* +#26] *M03*
# 3003= 0*・・・ シングルブロック停止抑
制解除G#IM99*・・・ モーダル情報の復元(f
)現在位置の読取り
機械現在位置、指令現在位置等を読取ってこれを表示し
たり、タイプアウトしたい場合があり、システム変数に
より規定される表示内容は、第5図の如く決められてい
る。尚、第5図中で残移動量カット(スキップ切削)と
は、外部からの残移動量カット信号(スキップ信号)に
よって機械の移動を停止し、そのブロックの残移動量を
カット(指令されなかったものとして無視)し、次のブ
ロックに進む機能をいい、次のブロックがアブソリュー
ト指令の場合には第6図(a)、インクリメンタル指令
の場合には第6図(b)の如くそれぞれ工具が移動する
。この残移動量カット(スキップ切削)機能は各種の測
定、研削盤の定寸制御に使用できる。0 9086* #l=#4003*... Save modal informationz
8 # 3003 = 1*... Single block stop suppression GOOG91Z-#18* G91 is the G function command of incremental instruction G 012-# 26* M 05* GOOZ [#18* + #26] *M03* #3003=0*... Single block stop suppression release G#IM99*... Restoration of modal information (f
) Reading current position There may be cases where it is desired to read the current machine position, current command position, etc. and display it or type it out, and the display contents defined by the system variables are determined as shown in FIG. In Fig. 5, the remaining movement amount cut (skip cutting) means that the movement of the machine is stopped by an external remaining movement amount cut signal (skip signal), and the remaining movement amount of the block is cut (no command is given). This function refers to the function to proceed to the next block, when the next block is an absolute command, as shown in Figure 6 (a), and in the case of an incremental command, as shown in Figure 6 (b). Moving. This remaining movement cut (skip cutting) function can be used for various measurements and sizing control of a grinder.
さて、Z軸方向の深さを測定する場合、Z軸方向の移動
指令量を実際の深さより大きくしておき、感圧素子等の
接触子をZ方向に移動させて該接触子が底面に触れたと
き、残移動量カット信号(スキップ信号)を発生させ、
直ちに機械を停止させ、この時のZ軸方向の現在位置を
読取って表示又はタイプアウトすることによりZ軸方向
の深さを測定する場合がある。Now, when measuring the depth in the Z-axis direction, set the movement command amount in the Z-axis direction to be larger than the actual depth, and move the contact such as a pressure-sensitive element in the Z direction until the contact touches the bottom surface. When touched, generates a remaining travel cut signal (skip signal),
The depth in the Z-axis direction may be measured by immediately stopping the machine and reading and displaying or typing out the current position in the Z-axis direction.
このような測定に際しては、ユーザマクロにおいて残移
動量カット信号(スキップ信号)が発生した際、システ
ム変数#5063に対応する変数レジスタの内容を読出
し、これを表示或いはタイプアウトするようにプログラ
ムしておけばよい。For such measurements, when a remaining movement cut signal (skip signal) is generated in the user macro, the contents of the variable register corresponding to system variable #5063 are read out and programmed to be displayed or typed out. Just leave it there.
(g)工具オフセット量の読取り、変更工具オフセット
量はオペレータのみが設定できたが、ユーザによっては
プログラマによって設定変更ができるようにしたい場合
がある。又、工具オフセット量を知りたい場合もある。(g) Reading and changing the tool offset amount Although only the operator can set the tool offset amount, some users may wish to be able to change the settings using a programmer. There are also cases where it is desired to know the amount of tool offset.
このような場合、工具オフセット番号l,2,・・・9
9をシステム変数#2001, #2002,・・・#
2099に対応させ、ユーザマクロにて# 3Q=
# 2005とすることによりオフセット量をローカル
変数#30の変数レジスタに記憶せしめることができ、
又# 2010= # 8とすることによりオフセット
番号lOのオフセット量をローカル変数#8の変数レジ
スタの内容に変更できる。In such a case, tool offset numbers l, 2,...9
9 as system variables #2001, #2002,...#
2099, # 3Q= in the user macro
By setting #2005, the offset amount can be stored in the variable register of local variable #30,
Also, by setting #2010=#8, the offset amount of offset number lO can be changed to the contents of the variable register of local variable #8.
(h)その他
装置をアラーム状態にする機能、CRTへのメッセージ
の表示機能、プリントアウト等の機能をユーザマクロと
して作成し、登録しておくことができる。(h) Other functions such as a function to put the device in an alarm state, a function to display a message on a CRT, a printout function, etc. can be created and registered as user macros.
(B)ユーザマクロ呼出命令
ユーザマクロ呼出命令は、指令テープ21にプログラム
しておくことによりマクロ登録メモリ24から所定のユ
ーザマクロを呼出してユーザマクロ処理部27により数
値制御処理を実行させる命3l
令で、少なくとも
G65P (マクロ識別名)
が指令される。(B) User macro calling command A user macro calling command is an instruction 3l that is programmed in the command tape 21 to call a predetermined user macro from the macro registration memory 24 and cause the user macro processing section 27 to execute numerical control processing. At least G65P (macro identification name) is commanded.
さて、指令テープ21からテープリーダ23により指令
が読込まれれば、判別回路25はユーザマクロ呼出命令
か否かの判定を行い、ユーザマクロ呼出命令でなければ
通常処理部26は該指令に基いた処理を行って工作機械
を制御し、一方ユーザマクロ呼出命令であれば、該呼出
命令のワードアドレスPのあとに指示されているマクロ
識別名を有するユーザマクロに含まれるマクロ命令に従
って、マクロ登録メモリ24から所定のシステム符号に
対応する変数レジスタの内容を呼出してユーザマクロ処
理部27に引渡し、マクロ処理を実行させ工作機械をユ
ーザマクロに応じて制御する。Now, when a command is read by the tape reader 23 from the command tape 21, the determination circuit 25 determines whether it is a user macro call command or not. If it is a user macro call command, the macro registration memory is stored in accordance with the macro command included in the user macro having the macro identification name specified after the word address P of the call command. The contents of the variable register corresponding to a predetermined system code are called from 24 and delivered to the user macro processing section 27, which executes macro processing and controls the machine tool according to the user macro.
(発明の効果)
以上、本発明においてはユーザマクロを予め、複数登録
しているマクロ登録メモリからユーザマクロ呼出命令に
より所定のユーザマクロを呼出5 2
し、マクロ処理部において該ユーザマクロに応じたマク
ロ処理を実行する際に、CNCのソフトウェアをその都
度改善するのではなく、システム符号に割り当てられた
機能命令により実行される処理内容が、システム変数を
任意に変更して工作機械が有する複数種類の数値制御処
理機能に対応したシステム符号を指定するだけで、必要
とされる特殊の数値制御処理機能を選択して実行できる
。したがってユーザは何等CNCのソフトウェアを改造
することなく、単に該特殊制御のユーザマクロを作成し
、マクロ登録メモリに記憶させ、指令テープなどの適所
に該ユーザマクロ呼出命令をプログラムするだけでよい
。(Effects of the Invention) As described above, in the present invention, a predetermined user macro is called from the macro registration memory in which a plurality of user macros are registered in advance by a user macro calling command, and the macro processing section responds to the user macro. When executing macro processing, instead of improving the CNC software each time, the processing contents executed by the function commands assigned to the system code can be changed arbitrarily to system variables and the multiple types that the machine tool has. By simply specifying the system code corresponding to the numerical control processing function, you can select and execute the special numerical control processing function required. Therefore, the user need only create a user macro for the special control, store it in the macro registration memory, and program the user macro call command in an appropriate location on a command tape, etc., without modifying the CNC software in any way.
この結果、ソフトウェアの改造に要する労力と時間を省
くことができ低コストで、しかもユーザの要望に適合し
たCNCを提供できる。又、ユーザマクロを使用するこ
とによって、機械、システムにマッチした特殊仕様や、
ユーザ独自の固定サイクルや自動プログラミングが実現
可能となったばかりか、数値制御装置から機械現在位置
、指令現在位置を読み取って、表示装置に表示したりプ
リンタによりこれらをプリントアウトすることができ、
従来の数値制御装置には不可能な機能実現手段を簡単に
実現することができる。As a result, the labor and time required for modifying the software can be saved, and a CNC that meets the user's needs can be provided at low cost. In addition, by using user macros, you can create special specifications that match the machine or system.
Not only is it possible to implement user-specific fixed cycles and automatic programming, but it is also possible to read the current machine position and commanded current position from the numerical control device and display them on the display device or print them out using a printer.
It is possible to easily implement functions that are impossible with conventional numerical control devices.
第1図は従来の数値制御装置のブロック図、第2図は本
発明に係るCNCのブロック図、第3図は指令プログラ
ムの一例を示す説明図、第4図はユーザマクロの登録説
明図で、同図(a),(b)はインタフェース信号読取
り及び送出を説明する説明図、同図(c)は穴明けサイ
クルの説明図、第5図は変数符号とその内容を示す説明
図、第6図は残移動カット機能を説明する説明図である
。
21・・・指令テープ、22・・・ユーザマクロ指令テ
ープ、23・・・テープリーグ、24・・・マクロ登録
メモリ、25・・・判別回路、26・・・通常処理部、
27・・・ユーザマクロ処理部、28・・・変数メモリ
、29・・・インタフェース回路。
3 5Fig. 1 is a block diagram of a conventional numerical control device, Fig. 2 is a block diagram of a CNC according to the present invention, Fig. 3 is an explanatory diagram showing an example of a command program, and Fig. 4 is an explanatory diagram of user macro registration. , Figures (a) and (b) are explanatory diagrams explaining interface signal reading and sending, Figure (c) is an explanatory diagram of the drilling cycle, Figure 5 is an explanatory diagram showing variable symbols and their contents, FIG. 6 is an explanatory diagram illustrating the remaining movement cut function. 21... Command tape, 22... User macro command tape, 23... Tape league, 24... Macro registration memory, 25... Discrimination circuit, 26... Normal processing section,
27... User macro processing unit, 28... Variable memory, 29... Interface circuit. 3 5
Claims (7)
グラムされた指令プログラムに基づいて数値制御処理を
実行し、該処理結果により工作機械を駆動してワークに
指令通りの加工を施す数値制御装置において、前記数値
制御装置と工作機械との間を行き交う現在位置量を変数
値とするシステム変数を記憶する変数メモリと、1ない
し複数のシステム変数を含み前記マクロ識別名により識
別可能な複数の機能命令をユーザマクロのマクロ命令と
して予め記憶しているマクロ登録メモリと、このマクロ
登録メモリから前記ユーザマクロのマクロ命令を呼び出
したとき前記変数メモリからユーザマクロのマクロ命令
に含まれるシステム変数を読み出しこのシステム変数の
内容に応じて前記マクロ登録メモリから読み出されたユ
ーザマクロのマクロ命令に従って所定の数値制御処理を
実行するマクロ処理手段とを有することを特徴とする数
値制御装置。(1) In a numerical control device that executes numerical control processing based on a command program in which a user macro call command including a macro identification name is programmed, and drives a machine tool based on the processing result to perform machining on a workpiece according to the command. , a variable memory for storing a system variable whose variable value is the current position amount exchanged between the numerical control device and the machine tool, and a plurality of functional instructions including one or more system variables and identifiable by the macro identifier. is stored in advance as a macro instruction of a user macro, and when the macro instruction of the user macro is called from this macro registration memory, the system variable included in the macro instruction of the user macro is read from the variable memory. A numerical control device comprising: macro processing means for executing a predetermined numerical control process according to a macro instruction of a user macro read from the macro registration memory according to contents of variables.
在位置量は、数値制御装置から工作機械に指令する指令
現在位置量であることを特徴とする特許請求の範囲(1
)記載の数値制御装置。(2) The current position amount exchanged between the numerical control device and the machine tool is a command current position amount that is commanded from the numerical control device to the machine tool (1)
) Numerical control device described.
在位置量は、工作機械から数値制御装置に通知する機械
現在位置量であることを特徴とする特許請求の範囲(1
)記載の数値制御装置。(3) The current position amount exchanged between the numerical control device and the machine tool is a machine current position amount notified from the machine tool to the numerical control device (1)
) Numerical control device described.
クロのマクロ命令に従って所定の数値制御処理を実行す
るマクロ処理手段は、数値制御装置から工作機械に指令
する指令現在位置を表示する表示手段であることを特徴
とする特許請求の範囲(1)記載の数値制御装置。(4) The macro processing means that executes a predetermined numerical control process according to the macro instruction of the user macro read from the macro registration memory is a display means that displays the command current position given to the machine tool from the numerical control device. A numerical control device according to claim (1), characterized in that:
クロのマクロ命令に従って所定の数値制御処理を実行す
るマクロ処理手段は、数値制御装置から工作機械に指令
する指令現在位置をプリントアウトするプリント手段で
あることを特徴とする特許請求の範囲(1)記載の数値
制御装置。(5) The macro processing means for executing a predetermined numerical control process according to the macro instruction of the user macro read from the macro registration memory is a printing means for printing out the command current position commanded from the numerical control device to the machine tool. A numerical control device according to claim (1), characterized in that:
令に従って所定の数値制御処理を実行するマクロ処理手
段は、工作機械から数値制御装置に通知する機械現在位
置を表示する表示手段であることを特徴とする特許請求
の範囲(1)記載の数値制御装置。(6) The macro processing means that executes a predetermined numerical control process according to the macro command read from the macro registration memory is a display means that displays the current machine position notified from the machine tool to the numerical control device. A numerical control device according to claim (1).
令に従って所定の数値制御処理を実行するマクロ処理手
段は、工作機械から数値制御装置に通知する機械現在位
置をプリントアウトするプリント手段であることを特徴
とする特許請求の範囲(1)記載の数値制御装置。(7) The macro processing means that executes a predetermined numerical control process according to the macro command read from the macro registration memory is a printing means that prints out the machine current position that is notified from the machine tool to the numerical control device. A numerical control device according to claim (1).
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20186690A JPH03206505A (en) | 1990-07-30 | 1990-07-30 | Numerical controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20186690A JPH03206505A (en) | 1990-07-30 | 1990-07-30 | Numerical controller |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7099780A Division JPS56168223A (en) | 1980-05-28 | 1980-05-28 | Numerical value control system |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5348489A Division JPH06318109A (en) | 1993-12-27 | 1993-12-27 | Numerical controller |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH03206505A true JPH03206505A (en) | 1991-09-09 |
Family
ID=16448190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP20186690A Pending JPH03206505A (en) | 1990-07-30 | 1990-07-30 | Numerical controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH03206505A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05224714A (en) * | 1992-02-14 | 1993-09-03 | Fanuc Ltd | Numerical controller |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS56168223A (en) * | 1980-05-28 | 1981-12-24 | Fanuc Ltd | Numerical value control system |
-
1990
- 1990-07-30 JP JP20186690A patent/JPH03206505A/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS56168223A (en) * | 1980-05-28 | 1981-12-24 | Fanuc Ltd | Numerical value control system |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05224714A (en) * | 1992-02-14 | 1993-09-03 | Fanuc Ltd | Numerical controller |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4484286A (en) | Numerical control system | |
US5128857A (en) | Sequence control apparatus having separate sequence memory and interlock condition memory | |
CN101025622A (en) | Numerical controller | |
GB2083247A (en) | A programmable machine | |
JPS6232805B2 (en) | ||
JPH03206505A (en) | Numerical controller | |
JPH06318109A (en) | Numerical controller | |
JPH03206503A (en) | Numerical controller | |
JPH03196309A (en) | Numerical controller | |
JPH03206504A (en) | Numerical controller | |
JPH03196308A (en) | Numerical controller | |
JPH02151909A (en) | Control device for industrial machine | |
WO1989002110A1 (en) | Cnc program execution apparatus | |
JPH03196307A (en) | Numerical controller | |
JPH05282047A (en) | Manual feed operation processor | |
JP2588944B2 (en) | How to create NC data | |
WO2023199408A9 (en) | Numerical control device, and computer-readable storage medium | |
EP0418393B1 (en) | Input/output signal control system | |
JPH0336606A (en) | Numerical controller | |
JPH0460805A (en) | Sequence program generating method | |
JP3060515B2 (en) | Production control device | |
JPH04252307A (en) | Interactive numerical controller | |
JPS5922103A (en) | Numeric controlling method | |
JPH05274016A (en) | Scheduled operation system for nc processing machine | |
JP2556963Y2 (en) | Numerical control unit |