JPS6247706A - 数値制御装置 - Google Patents

数値制御装置

Info

Publication number
JPS6247706A
JPS6247706A JP18658685A JP18658685A JPS6247706A JP S6247706 A JPS6247706 A JP S6247706A JP 18658685 A JP18658685 A JP 18658685A JP 18658685 A JP18658685 A JP 18658685A JP S6247706 A JPS6247706 A JP S6247706A
Authority
JP
Japan
Prior art keywords
external
program
macro
machine language
subprogram
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
JP18658685A
Other languages
English (en)
Inventor
Atsushi Shima
淳 島
Naoki Fujita
直樹 藤田
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 JP18658685A priority Critical patent/JPS6247706A/ja
Publication of JPS6247706A publication Critical patent/JPS6247706A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 産業上の利用分野 本発明はプログラムの少なくとも一部が予めプロセッサ
の機械語で記憶され、該機械語によってプログラムが実
行される数値制御装置に関する。
従来の技術 従来の数値制御装置においても、サブプログラム、マク
ロプログラム等における演算機能、GO−To文などの
プログラムの流れをflIIltllする機能或は引数
の受渡しなどの機能を利用して、機械メーカ或はエンド
ユーザが自分でサブプログラム。
マクロプログラムを作成し、数値制御装置としての機能
の向上を計ることが可能になっている。例えば、ATC
サイクル、計測サイクルなど工作機械の動きを制御する
プログラム、対話形入力方式などのようにCRT画面へ
の表示内容を制御するプログラム等である。確かにサブ
プログラム、マクロプログラムにより複雑なIa能を実
現することが可能であるが、一つの欠点としてサブプロ
グラム、マクロプログラムはメインプログラム(指令テ
ープや外部メモリ等の形で与えられるNO指令プログラ
ムの意)と同様にインタプリタ形式の上位言語であるた
め、実行時間がかかるという点がある。
そこで、出願人は、特願昭59−171256号によっ
て、サブプログラム或はマクロプログラムをプロセッサ
の機械語で予め記述してメモリに格納しておくと共に、
該サブプログラム或はマクロプログラムが機械語で記述
されていることを判別可能とし、呼出し命令があったと
き呼出すサブプログラム或はマクロプログラムが機械語
で記述されている場合はプロセッサの処理を機械語処理
に変更して前記機械語によるサブプログラム或はマクロ
プログラムを実行させ、サブプログラム。
マクロプログラムの実行速度を高めて、全体の処理速度
を高める数値制御装置における実行方式を提案した。し
かし、この方式だと、マクロ変数やアドレスレジスタの
メモリに対するアドレスは、数値制御装置側コントロー
ルプログラムの機械語へのアッセンブルやコンパイル時
に一律的に決まる。そのため、数値制御装置のハードウ
ェアやソフトウェアを変更したとき、メモリに対するこ
れらマクロ変数やアドレスレジスタのアドレスも変化す
るから、すでに作成されている機械語のプログラム中の
変更前のこれらのアドレスも新しい対応するアドレスへ
変更せねばなら4直接これらのアドレスをリード/ライ
トする機械語で作成していると、再び機械語でのプログ
ラムを作成しなおさねばならない。即ち、NGプログラ
ム等の上位言語で作成されているプログラムであれば、
数値制御装置のハードウェアやソフトウェアが変更にな
ったとしても、アッセンブルやコンパイル時に機械語に
翻訳する際、対応する新しいアドレスを指定した機械語
が作成するから問題がないが、すでに機械語で作成され
たプログラムに対しては変更前のアドレスが残り変更さ
れることがないから、数値II御側のアドレスの変更に
同期に新らためて変更Jる必要が出てくるものである。
また、三角関数などの演算が必要な場合、上位言語のプ
ログラムであれば、サブルーチンで処理しているが、す
でに機械語に翻訳されているものは、サブルーチンでは
なくメインのプログラムに組込まれているから、数値制
御側のハードウェアやソフトウェアに変更がありアドレ
スに変更があると、これらの外部関数に関しても再度作
成しなおさねばならない。
発明が解決しようとする問題点 本発明は上記すでに提案された技術の問題点を解決し、
数値制御側のハードウェアやソフトウェアの変更による
マクロ変数やアドレスレジスタ等のアドレスの変更に対
して機械語で予め格納されたプログラムの修正や、三角
関数等の外部関数を再)立作成する必要のない数値制御
装置を提供することにある。
問題点を解決するための手段 数値制御装置のシステム変更によりマクロ変数などアド
レスが変化する要素に対し、正しいアドレスを指定する
各種外部手続と、三角関数など内部演算を行う各種外部
関数を設け、ざらに該8外部手続及び各外部関数処理の
メモリに対するアドレスを記憶したインターフェイステ
ーブルを設けて、上記機械語によるプログラムは上記イ
ンターフェイステーブルによって上記外部手続、外部関
係処理を行うようプログラムされることにより上記問題
点を解決した。
作  用 数値制御装置のシステム変更があったとしても、マクロ
変数などアドレスが変更するものに対しては上記外部手
続により、又、内部演算に対しては上記外部関数により
常に正しいアドレス及び内部演算が行われるように機械
語のプログラムは上記インターフェイステーブルによっ
て設定される。
実施例 第1図は本発明の数1直制御装置のハードウェア構成の
一例を示す要部ブロック図であり、10はプロセッサで
、周辺回路とはアドレスバス、データバス、コントロー
ルバスを含むバス11により相互に接続されている。1
2はテープリーダで、メインプログラムが穿孔されたN
Cテープ或はサブプログラム、マクロプログラムが穿孔
されたテープ13を読取るためのものである。
このテープ13に穿孔されたサブプログラム或はマクロ
プログラムは、従来と同様にNGプログラム言飴で記述
されるか或は、PASCAL言語。
BASIC言語で記述される。14は各種のキーを右す
る手動データ入力装置(MD I )で、プロセッサ1
0への各種の指令等はここから入力される。15はメイ
ンプログラム゛が記憶されたカセットメモリ、16はC
RT等の表示装置である。17はROMで、NCプログ
ラム中の各ブロックの指令を実行するためのNCコント
ロールプログラムや、NCプログラム言語、PASCA
L言詔或はBASfC言語を機械語に翻訳するコンパイ
ラが格納されている。高級言語としてPASCAL言語
のみを使用する場合にはPASCAL言語のコンパイラ
のみを用意して置けば良い。又、該R○M17には後述
する外部手続、外部関数用のインターフェイステーブル
TFjcび外部手続、外部関数処理のプログラムが記憶
されている。18はRAMで、サブプログラム、マクロ
プログラムを記憶する領域18a、18bとそれ以外に
例えば演算用等に使用する領域を有する。領域18aは
NOプログラム言znで記述されたサブプログラム或は
マクロプログラムが記憶される領域であり、領1418
bは機械語にコンパイルされたサブプログラム或は、マ
クロプログラムが記憶される領域である。19〜21は
X軸、Y軸、2軸位置制御回路で、プロセッサ10から
の指令に応答して各X軸、Y軸、2軸モータ22〜24
を駆動する。
NCプ[1グラム8 Bで記述されたサブプログラム或
はマクロプログラムをそのままの形でRAM18に登録
する場合は、NCプログラム8語で記述されたサブプロ
グラムが穿孔されたテープ13をテープリーダ12にセ
ットし、MD114のサブプログラム登録キー或はマク
ロプログラム登録キーを押す。また、機械語のサブプロ
グラム或はマクロプログラムをRAM18に登録する場
合は、NCプログラム言語、PASCAL言語、BAS
IC言語の何れかで記述されたサブプログラム等を穿孔
したテープ13をテープリーダ12にセットし、MD 
I i 4の機械語サブプログラム登録キー或は機械語
マクロプログラム登録キーを押しテープリーダ12から
サブプログラム或はマクロプログラムを読取りROM1
7に記憶したコンパイラにより機械語に翻訳し、これを
RAM18の領域18bに記憶する。また、記憶したサ
ブプログラム或はマクロプログラムのプログラム番号に
対応してこれが機械語のものであることを記憶する。
一方、NCプログラム言語そのままで登録する場合は、
テープリーダ12から読取ったサブプログラム或はマク
ロプログラムをそのままRAM18の領域18aに記憶
し、記憶したサブプログラム等のプログラム番号に対応
してこれがNCプログラム言語によるものであることを
記憶する。
次に処理を行わせる場合には、MD I 14からメイ
ンプログラムの番号を入力し数値制御起動をかけると、
プロセッサ10はカセットメモリ15に記憶された当該
プログラム番号のメインプログラムをその先頭ブロック
から読取り、そのブロックに含まれる指令を解読する。
この場合、呼出すプログラム番号が機械語で記述された
ザブプログラム或はマクロプログラムであるか否かを判
別し、機械語で記述されたサブプログラム等である場合
には処理を機械語処理に変更し、RAM18の領域18
bに記憶された当該プログラム番号に対応するサブプロ
グラム或はマクロプログラムをその先頭から実行する。
一方、呼出すサブプログラム或はマクロプログラムがN
Cプログラム言語で記述されたものである場合には、現
在のままの処理つまりNCプログラム言語の処理を続行
する。以上の動作は先の特願昭59−171256号で
提案した処理と同じであるが、この方式において数値制
御装置のハードウェアやソフトウェアが変更されたとき
、すでに機械語で記憶されたサブプログラムやマクロプ
ログラムにおけるメモリに対するマクロ変数やアドレス
レジスタのアドレスの内容が変化し、再び機械語でのプ
ログラムを作成し直さねばならなくなるが、本発明はこ
の点を改善したもので、数値制御装置のハードウェアや
ソフトウェア等のシステム変更に応じて変動するマクロ
変数やアドレスに対し、システム変更が生じても機械語
を変更する必要のないように外部手続及び外部関数を設
け、かつこれら外部手続、外部関数と対応するアドレス
を記憶したインターフェイステーブルを設けて処理する
第  1  表 第  2  表 第3−1表 第3−2表 即ち、外部手続としては、例えば第1表で示ずような機
能を定義づけた外部手続を設け、又、外部関数としては
第2表で示ずような機能を定義づ【プた外部関数を用意
し、又、これらの外部手続。
外部関数を実行するためのアドレスを定義した第3−1
.第3−2表に示すようなインターフェイステーブルT
をROM17に設定しておく、そこで、サブプログラム
やマクロプログラムを機械語で配憶させるときには、第
2図に示すようにこれらサブプログラムやマクロプログ
ラムを上記外部手続、外部関数を用いて、プログラム1
を作成し、コンパイラ2はインターフェイステーブル下
を参照し、機械語のプログラム3に変換させる。例えば
、マクロ変数#6299に記憶されたデータをTOOL
NOを示1120番地に格納せよという指令においては TOOLNO=SYSI (6299)とプログラムす
るとコンパイラ2は先の第3−1表、第3−2表に示す
インターフェイステーブルを参照して次の様な機械語に
変換する。
MOV       AX、  6299CALL  
     200D2 MOV       く 120>、AXこれは、マク
ロ変数#6299の値をレジスタAXに入れ、外部関数
SYS Iのアドレス2o○02の処理により、マクロ
変数#6299に記憶されたデータを求め、TOOLN
Oを記憶する120番地にそのデータの値を記憶せよと
いう機械語のプログラム3として記憶されることとなる
又、サイン50度を計算し、その答を100番地に記憶
せよというサブプログラム1を機械語のプログラムに変
換する場合は、コンパイラ2はインターフェイステーブ
ルTより外部関数SINのアドレスを読取り、次のよう
な機械のプログラムを作成する。
MOV      AX、50 CALL     20078 MoV       <100>、AX即ち、レジスタ
AXに角度の値50を入れ、サイン処理の外部関数SI
Nのアドレス20078で5in50の計算を行い、そ
の結果を100番地に記憶せよという機械語に変換され
る。
そして、インターフェイステーブルTによって指定され
るアドレスと、当該アドレスの内容を数値制御装置のハ
ードウェアやソフトウェアが変っても変更しなければ、
マクロ変数やアドレスレジスタのアドレス、三角関数等
の外部処理のアドレスはインターフェイステーブルTを
介しての常に正しいアドレスを差すよう機械語のプログ
ラムが作成されているから、システム変更にともなって
改めて機械語のサブプログラムやマクロプログラムを作
成しなおす必要がない。
発明の効果 以上述べたように、本発明は、マクロ変数などのリード
/ライトを実行する外部手続や、三角関数などの演算を
行う外部関数を設け、これらの外部手続や外部関数を介
して、マクロ変数などのアドレスや内部演算のアドレス
を設定するようにしたから、機械語によるプログラムに
おいても、上記外部手続、外部関数が指定するアドレス
によりより常に正しいアドレスがリード/ライトされ、
数値制御装置のソフトウェアやハードウェアが変更にな
っても、再度機械語のプログラムを作成しなJ3す必要
がない。
【図面の簡単な説明】
第1図は、本発明の一実施例の数値制御装置のブロック
図、第2図は、本発明における機械語のプログラムの作
成を説明する図である。 10・・・プロセッサ、11・・・バス、13・・・サ
ブプログラム、又はマクロプログラムが穿孔されたテー
プ、17・・・ROM、18・・・RAM。 (ばか1名) 第1図 1n 第2図

Claims (1)

    【特許請求の範囲】
  1. 少なくともプログラムの一部をプロセッサの機械語で予
    め記憶し、該機械語によってプログラムを実行する数値
    制御装置において、数値制御装置のシステム変更により
    アドレスが変化する要素に対し、正しいアドレスを指定
    する各種外部手続と、内部演算を行う各種外部関数を設
    け、該各外部手続及び各外部関数処理のメモリに対する
    アドレスを記憶したインターフェイステーブルを設けて
    、上記機械語によるプログラムは上記インターフェイス
    テーブルによって上記外部手続、外部関係処理を行うよ
    うプログラムされている数値制御装置。
JP18658685A 1985-08-27 1985-08-27 数値制御装置 Pending JPS6247706A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18658685A JPS6247706A (ja) 1985-08-27 1985-08-27 数値制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18658685A JPS6247706A (ja) 1985-08-27 1985-08-27 数値制御装置

Publications (1)

Publication Number Publication Date
JPS6247706A true JPS6247706A (ja) 1987-03-02

Family

ID=16191138

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18658685A Pending JPS6247706A (ja) 1985-08-27 1985-08-27 数値制御装置

Country Status (1)

Country Link
JP (1) JPS6247706A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6468810A (en) * 1987-09-10 1989-03-14 Fanuc Ltd High speed working system
JPH01180007A (ja) * 1988-01-09 1989-07-18 Fanuc Ltd 数値制御方式
WO1993011476A1 (fr) * 1991-11-25 1993-06-10 Fanuc Ltd Procede pour l'extension de la fonction d'un appareil de programmation automatique

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57113109A (en) * 1980-12-30 1982-07-14 Fanuc Ltd Numeric control system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57113109A (en) * 1980-12-30 1982-07-14 Fanuc Ltd Numeric control system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6468810A (en) * 1987-09-10 1989-03-14 Fanuc Ltd High speed working system
JPH01180007A (ja) * 1988-01-09 1989-07-18 Fanuc Ltd 数値制御方式
WO1993011476A1 (fr) * 1991-11-25 1993-06-10 Fanuc Ltd Procede pour l'extension de la fonction d'un appareil de programmation automatique

Similar Documents

Publication Publication Date Title
US5165026A (en) Programmable controller in which fetching of operand data and fetching of operand addresses are simultaneously performed
JPS6247706A (ja) 数値制御装置
JPH11272310A (ja) プログラマブルコントローラのエミュレーション装置
JPS59174916A (ja) 数値制御装置
JPS6149209A (ja) 数値制御装置におけるプログラム実行方式
US4956765A (en) Apparatus for processing numerical control program
JP2816269B2 (ja) ロボットの動作プログラム実行方法
JPS59142610A (ja) ストア−ド・プログラム式制御装置
JPH0991022A (ja) ロボット制御装置
JP3413860B2 (ja) デバッグ方式
JP3331357B2 (ja) プログラマブルコントローラ
JPH02183804A (ja) 数値制御装置におけるプログラム実行方式
JPH05224713A (ja) プログラマブルコントローラの表示方法
JPH01195505A (ja) 数値制御装置
JPH02116904A (ja) 数値制御装置
JPS63159905A (ja) プログラマブルコントロ−ラの入出力強制オン/オフ方式
JPH01177613A (ja) Ncプログラム表示方式
JPS63212484A (ja) ロボツト制御装置
JPH08278806A (ja) Cncのマクロ変数デバッグ方式
JPH0636161B2 (ja) 情報処理装置
JPH0259829A (ja) マイクロコンピュータ
JPS6349942A (ja) 演算処理装置
JPH05297913A (ja) プログラマブルコントロ−ラ
JPS62232007A (ja) 産業用ロボツトの制御装置
JPS63163543A (ja) 情報処理装置