JPS6149209A - 数値制御装置におけるプログラム実行方式 - Google Patents

数値制御装置におけるプログラム実行方式

Info

Publication number
JPS6149209A
JPS6149209A JP17125684A JP17125684A JPS6149209A JP S6149209 A JPS6149209 A JP S6149209A JP 17125684 A JP17125684 A JP 17125684A JP 17125684 A JP17125684 A JP 17125684A JP S6149209 A JPS6149209 A JP S6149209A
Authority
JP
Japan
Prior art keywords
program
subprogram
processor
macro
language
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
JP17125684A
Other languages
English (en)
Inventor
Atsushi Shima
淳 島
Hideaki Inoue
秀明 井上
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 JP17125684A priority Critical patent/JPS6149209A/ja
Publication of JPS6149209A publication Critical patent/JPS6149209A/ja
Pending legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G05—CONTROLLING; REGULATING
    • G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00—Program-control systems
    • G05B19/02—Program-control systems electric
    • G05B19/18—Numerical 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 program data in numerical form
    • G05B19/408—Numerical 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 program data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
    • G—PHYSICS
    • G05—CONTROLLING; REGULATING
    • G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00—Program-control systems
    • G05B2219/30—Nc systems
    • G05B2219/35—Nc in input of data, input till input file format
    • G05B2219/35262—Macro instruction, canned cycles, subroutines, subprogram
    • G—PHYSICS
    • G05—CONTROLLING; REGULATING
    • G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00—Program-control systems
    • G05B2219/30—Nc systems
    • G05B2219/36—Nc in input of data, input key till input tape
    • G05B2219/36022—Switch between machining language for execution and high level for editing

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 産業上の利用分野 本発明は数値制御装置におけるプログラム実行方式に関
する。
従来の技術 従来の数値制御装置においても、サブプログラム、マク
ロプログラム等における演算機能、 GO−70文など
のプログラムの流れを制御する機能或は引数の受渡しな
どの機能を利用して、機械メーカ或はエンドユーザが自
゛分でサブプログラム、マクロプログラムを作成し、数
値制御装置としての機能の向上を計ることが可能になっ
ている。例えば、ATCサイクル、計測サイクルなど工
作機械の動きを制御するプログラム、対話形入方方式な
どのようにCR7画面への表示内容を制御するプログラ
ム等である。確かにサブプログラム、マクロプログラム
により複雑な機能を実現することが可能であるが、一つ
の欠点としてサブプログラム、マクロプログラムはメイ
ンプログラム(指令テープや外部メモリ等の形で与えら
れるNC指令プログラムの意)と同様にインクプリタ形
式の上位言語であるため、実行時間がかかるという点が
ある。
第4図は従来の数値制御装置におけるプログラム実行方
式の説明図であり、1は指令テープに穿孔され或は磁気
バブルメモリに記憶された一連の加工を指令する為のメ
インプログラムであり、上位言語であるNCプログラム
言語で記述された複数のブロックを含む。2はプログラ
ム番号1000番のマクロプログラムで、同じく上位言
語であるNCプログラム言語で記述された複数のブロッ
クを含み、予め磁気バブルメモリに記憶されている。
3はNCプログラム言語で記述されたメインプログラム
やマクロプログラムの各指令を実行するための下位のコ
ントロールプログラムであり、各指令に対応する複数の
コントロールプログラムが用意されている。
プロセッサは、メインプログラム1の先頭から解読を開
始し、その解読結果に応じて必要なコントロールプログ
ラムに制御を引き渡す。プロセッサは、メインプログラ
ム1中にマクロプログラム呼出し命令065があると、
それに続くプログラム番号(PlooO)のマクロプロ
グラム2をサーチし、このマクロプログラム2を先頭よ
り実行する。この場合も解読の結果に応じて必要なコン
トロールプログラムを選択し、それに制御を引き渡す。
マクロプログラム2の最後にはプログラムの最後を示す
M99のコードがあり、これをプロセッサが判別すると
、メインプログラム1の読出し命令の次のブロックへ復
帰し、以後のブロックの処理を続行する。
このように、マクロプログラムが上位言語であるNCプ
ログラム言語により記述された従来においては、プロセ
ッサはマクロプログラムの各ブロックを)昨読し、その
解読結果に応じて必要なコントロールプログラムを選択
実行しなければならないので、処理が遅くなる。特に、
マクロプログラム2中にGO−To文がある場合、GO
−To文で指定された飛び先(図示例ではシーケンス番
号100のブロック)を捜す為にマクロプログラム2全
体をサーチしなければならず、より処理速度が遅くなる
ものである。
発明が解決しようとする問題点 本発明はこのような従来の問題点を解決したもので、そ
の目的は、サブプログラム、マクロプログラムの実行速
度を高めることにある。
問題点を解決するための手段 本発明は上記問題点を解決するために、プロセッサによ
りプログラムを解読し所定の数値制御を実行する数値制
御装置におけるプログラム実行方式において、他のプロ
グラム中に設けられた呼出し命令で呼出されるサブプロ
グラム或はマクロプログラムを前記プロセッサの機械語
で予め記述してメモリに格納しておくと共に、該サブプ
ログラム或はマクロプログラムが機械語で記述されてい
ることを判別可能とし、呼出し命令があったとき呼出す
サブプログラム或はマクロプログラムが機tiIit、
Hで記述されている場合はプロセッサの処理を機械語処
理に変更して前記機械語によるサブプログラム或はマク
ロプログラムを実行させ、実行後もとのプログラムに戻
るようにする。
実施例 第1図は本発明の数値制御装置のハードウェア構成の一
例を示す要部ブロック図であり、10はプロセッサで、
周辺回路とはアドレスバス、データバス、コントロール
バスを含むバス11により相互に接続されている。12
はテープリーグで、メインプログラムが穿孔されたNC
テープ或はサブプログラム、マクロプログラムが穿孔さ
れたテープ13を読取るためのものである。このテープ
13に穿孔されたサブプログラム或はマクロプログラム
は、従来と同様にNCプログラム言語で記述されるか或
は、PASCAL言語、BASIC言語で記述される。
14は各種のキーを有する手動データ入力装置(MDI
)で、プロセッサ10への各種の指令等はここから入力
される。15はメインプログラムが記憶されたカセット
°メモリ、16はCRT等の表示装置である。17はR
OMで、NCプログラム中の各ブロックの指令を実行す
るためのNCコントロールプログラムや、NCプログラ
ム言語、  PASCAL言語或はBAS r C言語
を機械語に翻訳するコンパイラが格納されている。高級
言語としてPASCAL言語のみを使用する場合にはP
ASCAL言語のコンパイラのみを用意して置けば良い
。18はRAMで、サブプログラム、マクロプログラム
を記1.aする領域13a、18bとそれ以外に例えば
演算用等に使用する領域を有する。領域18aはNCプ
ログラム言語で記述されたサブプログラム或はマクロプ
ログラムが記憶される領域であり、領域18bは機械語
にコンパイルされたサブプログラム或はマクロプログラ
ムが記憶される領域である。19〜21はX軸、Y軸、
Z軸位置制御回路で、プロセッサ10からの指令に応答
して各X軸。
Y軸、Z軸モータ22〜24を駆動する。
NCプログラム言語で記述されたサブプログラム或はマ
クロプログラムをそのままの形でRAM18に登録する
場合ば、NCプログラム言語で記述されたサブプログラ
ムが穿孔されたテープ13をテープリーダ12にセット
し、MD114のサブプログラム登録キー或はマクロプ
ログラム登録キーを押す。また、機械語のサブプログラ
ム或はマクロプログラムをRAM18に登録する場合は
、NCプログラム言語、PASCAL言語、BASIC
言語の何れかで記述されたサブプログラム等を穿孔した
テープ13をテープリーダ12にセットし、MD114
の機械語サブプログラム登録キー或は機械語マクロプロ
グラム登録キーを押す。
第2図のフローチャートは、サブプログラム或はマクロ
プログラムの登録処理の一例を示すもので、先ず当該登
録が機械語による登録であるか否かを判別し、機械語に
よる登録の場合は、テープリーダ12から読取ったサブ
プログラム或はマクロプログラムをROM17に記憶し
たコンパイラにより機械語に翻訳し、これをRAM18
の領域18bに記憶する。また、記憶したサブプログラ
ム或はマクロプログラムのプログラム番号(これは通常
テープ13の先頭に穿孔されている)に対応してこれが
機械語のものであることを記憶する。一方、NCプログ
ラム言語そのままで登録する場合は、テープリーダ12
から読取ったサブプログラム或はマ・クロプログラムを
そのままRAM18の領域18aに記憶し、記憶したサ
ブプログラム等のプログラム番号に対応してこれがNC
プログラム言語によるものであることを記憶する。
なお、上述のようにコンパイルされると、例えばサブプ
ログラム或はマクロプログラムにGO−70文があって
も予めその飛び先が決定されることになるので、従来の
インクプリタ方式よりその文処理速度が向上する。
MD114からメインプログラムの番号を入力し数値制
御起動をかけると、プロセッサ10はカセットメモリ】
5に記憶された当該プログラム番号のメインプログラム
をその先頭ブロックから読取り、そのブロックに含まれ
る指令を解読する。例えばブロック中に000 X 1
234なる指令が含まれている場合、この種の指令に対
応するNCコントロールプログラムにX 1234のデ
ータを与えて位置決め制御を実行する。また、マクロプ
ログラム呼出し指令065やサブプログラム呼出し指令
M98が含まれていると、これらの指令の直後に置かれ
たプログラム番号Pに対応するマクロプログラム或はサ
ブプログラムをRAM1B中から読出して実行する。
この場合、プロセッサ10は第3図に示すように、先ず
呼出すプログラム番号が機械語で記述されたザブプログ
ラム或はマクロプログラムであるか否かを判別し、機械
語で記述されたサブプログラム等である場合には処理を
機械語処理に変更し、RAM18の領域18bに記憶さ
れた当該プログラム番号に対応するサブプログラム或は
マクロプログラムをその先頭から実行する。一方、呼出
すサブプログラム或はマクロプログラムがNCプログラ
ム言語で記述されたものである場合には、現在のままの
処理つまりNCプログラム言語の処理を続行する。なお
、機械語で記述されたサブプログラム或はマクロプログ
ラムの最後には終了を示す機械語コードが設けられてお
、す、プロセッサ10はこれを実行し元のメインプログ
ラムの位置に復帰する。
また、機械語処理を終了し、NCプログラム処理に変更
する。
上述の実施例はメインプログラム中にサブプログラム或
はマクロプログラムの呼出し命令を設けたが、従来のサ
ブプログラム或はマクロプログラムと同様に他のサブプ
ログラム或はマクロプログラムに呼出し命令を設けるよ
うにしても良い。また、PASCAL、BASICなど
によるコンパイルは別途数値制御装置以外の装置(例え
ば自動プログラミング装置)で行ない、出力された機械
語をROMに書込んで数値制御装置に実装するようにし
ても良い。
発明の詳細 な説明したように、本発明によれば、ザブプログラム或
はマクロプログラムはプロセッサの機械語で記述されて
メモリに予め登録されており、呼出し命令があったとき
呼出すサブプログラム或はマクロプログラムが機械語で
記述されていると判別されたとき、プロセッサの処理は
機械語処理に変更されサブプログラム或はマクロプログ
ラムが処理されるものであるから、従来のようなサブプ
ログラム或はマクロプログラム中のNCプログラム言語
の解読、コントロールプログラムへの制御の引き渡し等
の処理を省略することができ、処理速度を速めることが
できる効果がある。また、ザブプログラム或はマクロプ
ログラムが機械語でなくNCプログラム言語で記述され
ている場合には機械語による処理が行なわれず従来と同
様な処理が行なわれるので、NCプログラム言語で記述
したサブプログラム或はマクロプログラムをその形式で
登録し、これを実行することも可能となり、既存のシス
テムの変更を最小限に抑えることができる。
また、機械語によるサブプログラム或はマクロプログラ
ムのメモリへの登録を、従来のNCプログラム言語或は
他の高級言語例えばPASCAL。
BASIC等で記述されたサブプログラム或はマクロプ
ログラムを予めコンパイルして機械語に変換し、これを
メモリに登録するようにすれば、機械語に不慣れなエン
ドユーザによるサブプログラム或はマクロプログラムの
作成が容易となり、且つ高級言語の持つチツェク機能に
より直接機械語でプログラムを作成する場合より大きな
過ちを少なくすることができ、数値制御装置の保護上好
ましい。また、PASCAL、BASIC等の高級言語
で記述し、これをコンパイルして機械語を得るようにす
れば、従来のNCプログラム言語では実現不可能であっ
た特殊な機能の実現も可能となる効果がある。
【図面の簡単な説明】
第1図は本発明を実施する数値制御装置のハードウェア
構成の一例を示す要部ブロック図、第2図及び第3図は
本発明の処理の一例を示すフローチャート、第4図は従
来方式の説明図である。 10はプロセッサ、13はサブプログラム或はマクロプ
ログラムが穿孔されたテープ、15はメインプロセッサ
を記憶するカセットメモリ、17はNCコントロールプ
ログラムやコンパイラを記憶するROM、18はRAM
である。

Claims (1)

    【特許請求の範囲】
  1. プロセッサによりプログラムを解読し所定の数値制御を
    実行する数値制御装置におけるプログラム実行方式にお
    いて、他のプログラム中に設けられた呼出し命令で呼出
    されるサブプログラム或はマクロプログラムを前記プロ
    セッサの機械語で予め記述してメモリに格納しておくと
    共に、該サブプログラム或はマクロプログラムが機械語
    で記述されていることを判別可能とし、呼出し命令があ
    ったとき呼出すサブプログラム或はマクロプログラムが
    機械語で記述されている場合はプロセッサの処理を機械
    語処理に変更して前記機械語によるサブプログラム或は
    マクロプログラムを実行させ、実行後もとのプログラム
    に戻るようにしたことを特徴とする数値制御装置におけ
    るプログラム実行方式。
JP17125684A 1984-08-17 1984-08-17 数値制御装置におけるプログラム実行方式 Pending JPS6149209A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17125684A JPS6149209A (ja) 1984-08-17 1984-08-17 数値制御装置におけるプログラム実行方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17125684A JPS6149209A (ja) 1984-08-17 1984-08-17 数値制御装置におけるプログラム実行方式

Publications (1)

Publication Number Publication Date
JPS6149209A true JPS6149209A (ja) 1986-03-11

Family

ID=15919948

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17125684A Pending JPS6149209A (ja) 1984-08-17 1984-08-17 数値制御装置におけるプログラム実行方式

Country Status (1)

Country Link
JP (1) JPS6149209A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62298810A (ja) * 1986-06-18 1987-12-25 Okuma Mach Works Ltd 数値制御装置におけるサブプログラム起動方式
WO2002093278A1 (en) * 2001-05-16 2002-11-21 Citizen Watch Co., Ltd. Numeric control apparatus, numeric control program execution method, numeric control program
JP2008165821A (ja) * 2003-02-13 2008-07-17 Renishaw Plc 工作機械の制御方法、および、それに対する装置
CN100412736C (zh) * 2006-10-17 2008-08-20 哈尔滨工业大学 一种编译型数控系统及其编译与运行控制方法
JP2016066305A (ja) * 2014-09-25 2016-04-28 ファナック株式会社 事前解析とタスク管理による高速な補助マクロ機能を有する数値制御装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58172707A (ja) * 1982-04-02 1983-10-11 Toyota Motor Corp Nc制御装置
JPS5958506A (ja) * 1982-09-29 1984-04-04 Nissan Motor Co Ltd 学習制御装置の診断装置
JPS5965310A (ja) * 1982-10-06 1984-04-13 Mitsubishi Electric Corp プログラマブルコントロ−ラの演算処理装置
JPS59216207A (ja) * 1983-05-23 1984-12-06 Mitsubishi Electric Corp 数値制御装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58172707A (ja) * 1982-04-02 1983-10-11 Toyota Motor Corp Nc制御装置
JPS5958506A (ja) * 1982-09-29 1984-04-04 Nissan Motor Co Ltd 学習制御装置の診断装置
JPS5965310A (ja) * 1982-10-06 1984-04-13 Mitsubishi Electric Corp プログラマブルコントロ−ラの演算処理装置
JPS59216207A (ja) * 1983-05-23 1984-12-06 Mitsubishi Electric Corp 数値制御装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62298810A (ja) * 1986-06-18 1987-12-25 Okuma Mach Works Ltd 数値制御装置におけるサブプログラム起動方式
WO2002093278A1 (en) * 2001-05-16 2002-11-21 Citizen Watch Co., Ltd. Numeric control apparatus, numeric control program execution method, numeric control program
JP2008165821A (ja) * 2003-02-13 2008-07-17 Renishaw Plc 工作機械の制御方法、および、それに対する装置
US9235205B2 (en) 2003-02-13 2016-01-12 Renishaw Plc Method for producing a measurement probe path on a numerically controlled machine tool
CN100412736C (zh) * 2006-10-17 2008-08-20 哈尔滨工业大学 一种编译型数控系统及其编译与运行控制方法
JP2016066305A (ja) * 2014-09-25 2016-04-28 ファナック株式会社 事前解析とタスク管理による高速な補助マクロ機能を有する数値制御装置

Similar Documents

Publication Publication Date Title
KR900001033B1 (ko) 시켄스 제어방법 및 그 제어장치
JP2765423B2 (ja) プログラマブルコントローラ及びその制御方法
US5136698A (en) Method for selective back-tracking in a hierarchical system containing a flag which indicates the validity of a choice-point
US6009268A (en) Device for programming a stored program controller
EP0362819A2 (en) Programmable controller
JPH0766342B2 (ja) プログラムテスト装置
JPS6252609A (ja) 数値制御方法
JPS6247706A (ja) 数値制御装置
JP2003044277A (ja) プログラム開発支援装置、プログラム開発支援プログラムおよびそれを記録した記録媒体
JPS6240538A (ja) デ−タ処理装置
JPS60124746A (ja) デ−タ処理装置
JP2827724B2 (ja) プログラムデバッグ処理方法
JPH0236419A (ja) ソースコードの自動翻訳実行方式
JPS6220032A (ja) 情報処理装置
JPS6172339A (ja) プログラム実行表示制御方式
JPS63163543A (ja) 情報処理装置
JPS6051955A (ja) 数値制御装置
JPH036527B2 (ja)
JPS6148735B2 (ja)
JP3240647B2 (ja) コンピュータ言語の構造化処理方式
JPS6042968B2 (ja) 情報処理装置
JPH05108372A (ja) コンパイラ最適化処理内容の出力方式
JPH0353321A (ja) 情報処理装置
JPH0259829A (ja) マイクロコンピュータ
JPS61241843A (ja) 情報処理装置