JPH0643703U - Ncプログラム言語の構造化手段 - Google Patents
Ncプログラム言語の構造化手段Info
- Publication number
- JPH0643703U JPH0643703U JP7789492U JP7789492U JPH0643703U JP H0643703 U JPH0643703 U JP H0643703U JP 7789492 U JP7789492 U JP 7789492U JP 7789492 U JP7789492 U JP 7789492U JP H0643703 U JPH0643703 U JP H0643703U
- Authority
- JP
- Japan
- Prior art keywords
- statement
- conditional expression
- statements
- satisfied
- instruction
- 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
- 230000014509 gene expression Effects 0.000 claims abstract description 81
- 230000006870 function Effects 0.000 description 4
- 238000000034 method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】
【目的】IF文を拡張し、NCプログラムを構造化して
作り易く、分かり易くし、IF文中で同じ<条件式>の
下で複数のマクロ文やNC文が実行でき、条件不成立の
場合にもマクロ文が実行でき、プログラムの生産性と保
守性を向上させることのできるNCプログラム言語の構
造化手段を提供する。 【構成】加工プログラムを解釈する加工プログラム解釈
部と連結し、加工プログラム中にIF文があれば、IF
文を制御するIF文制御部を備え、このIF文制御部が
第1の条件式のみ成立する場合にTHEN命令に続く1
つ以上のマクロ文あるいはNC文を実行するIF<第1
条件式>処理部と、前記第1の条件式が不成立で第2の
条件式のみ成立する場合にTHEN命令に続く1つ以上
のマクロ文あるいはNC文を実行するELSE IF<
第2条件式>処理部と、前記IF文に連なる全ての条件
式が不成立の場合にELSE命令に続く1つ以上のマク
ロ文あるいはNC文を実行するELSE処理部とからな
る。
作り易く、分かり易くし、IF文中で同じ<条件式>の
下で複数のマクロ文やNC文が実行でき、条件不成立の
場合にもマクロ文が実行でき、プログラムの生産性と保
守性を向上させることのできるNCプログラム言語の構
造化手段を提供する。 【構成】加工プログラムを解釈する加工プログラム解釈
部と連結し、加工プログラム中にIF文があれば、IF
文を制御するIF文制御部を備え、このIF文制御部が
第1の条件式のみ成立する場合にTHEN命令に続く1
つ以上のマクロ文あるいはNC文を実行するIF<第1
条件式>処理部と、前記第1の条件式が不成立で第2の
条件式のみ成立する場合にTHEN命令に続く1つ以上
のマクロ文あるいはNC文を実行するELSE IF<
第2条件式>処理部と、前記IF文に連なる全ての条件
式が不成立の場合にELSE命令に続く1つ以上のマク
ロ文あるいはNC文を実行するELSE処理部とからな
る。
Description
【0001】
この考案は、工作機械の数値制御装置に係り、特に加工プログラム解釈部と連 結し、加工プログラム中のIF文を制御するIF文制御部を備え、該IF文制御 部によりIF文中の1ブロックにて複数行実行できるようにし、加工プログラム をIF文で構造化したことを特徴とするNCプログラム言語の構造化手段に関す る。
【0002】
APT(Automatically Programmed Tools)等自動プログラミング・システムに て用いるNC用言語において、パート・プログラムの中で全く同じ内容のプログ ラムが何回となく記述されたり、一部のみが異なるだけで内容としては同じ構成 からなるプログラムが何回となく繰り返される場合がある。かかる場合において 、NC用言語ではマクロ機能やループ機能を使用してパート・プログラムを簡略 化することが行われており、簡略化の結果として、作り易く分かり易いプログラ ミングができ、コンピュータ処理時の記憶領域を減らすことができる。 一方、NC装置で実行可能な型式のNCプログラムにおいても、同じ内容の繰 り返しや、一部のみが異なるだけで内容としては同じ構成からなるプログラムの 繰り返しがある。かかる場合において、前記NCプログラムでもサブプログラム 型式を用いたり、カスタムマクロプログラム方式を用いて分岐指令(例えば、I F文)を用いて分岐先を判定するプログラムを実行できるようにしてプログラム を簡略化することも行われていた。 例えば、分岐先を判定するプログラムとして通常IF文を用いているが、従来 のIF文の使い方として次の2通りがある。即ち、 IF<条件式>GOTO〔シーケンス番号〕; ……(1) IF<条件式>THEN〔代入文(NC文)〕; ……(2) (1) のIF文はIF指令に続く<条件式>が成立した場合に、GOTO命令に続く シーケンス番号のついたブロックのマクロ文まで飛んで実行することを意味する ものであり、(2) のIF文はIF指令に続く<条件式>が成立した場合に、THEN 命令に続くNC文を実行することを意味するものである。なお、カスタムマクロ とは、NCプログラムで条件によって動作や加工を変えたり、不定値を使ったプ ログラムを動かすのに使うマクロ文であり、特殊な機能を実現させるプログラム を、サブプログラムのようにメモリを登録しておき、その登録された機能を代表 命令で呼出し実行させることができる。また、マクロ文とは、演算指令と制御指 令とマクロ呼出し指令からなるブロックをいい、マクロ文以外の文をNC文と呼 ぶ。
【0003】
ところで、従来のNC装置で実行可能な型式のNCプログラムでは、(1) のI F<条件式>が成立した場合に、GOTO命令で所定のブロックまでジャンプして実 行する構文においては、GOTO命令に続くシーケンス番号のついた1つのブロック しか実行できない。また、同じ<条件式>の下で複数のブロック(又はマクロ文 )を選択して実行する場合は、ブロックの数だけIF文を複数作成しなければな らず、プログラムが複雑で難解なものとなると共に、プログラミング作業も非常 に面倒であった。更に、(1) のIF文ではマクロ文しか扱えない為に、NC文の 実行は(2) の構文で作成するほかはないので自由度が少なく、プログラミング作 業がやりずらいという問題があった。また更に、IF文中では条件成立の場合に しかマクロ文が実行されず、条件不成立の場合にはマクロ文が実行できないとい う問題もあった。 そこで、APT等自動プログラミング用言語で用いられているように、NC装 置で実行可能な型式のNCプログラムでも、(2) のIF<条件式>THEN〔代 入文(NC文)〕;の構文を用いてGOTO命令で、同じ<条件式>の下で複数のマ クロ文やNC文が実行でき、かつ条件不成立の場合にもマクロ文やNC文が実行 できるIF文の構文を用いた手段が望まれていた。 以上から、この考案の目的はIF文を拡張し、NCプログラムを構造化して作 り易く、分かり易いプログラミングを可能にし、IF文中で同じ<条件式>の下 で複数のマクロ文やNC文が実行でき、条件不成立の場合にもマクロ文が実行で き、プログラムの生産性と保守性を向上させることのできるNCプログラム言語 の構造化手段を提供することである。
【0004】
前記課題を解決するために、この考案は、加工プログラムを解釈する加工プロ グラム解釈部と連結し、加工プログラム中にIF文があれば、IF文を制御する IF文制御部を備え、このIF文制御部が第1の条件式のみ成立する場合にTH EN命令に続く1つ以上のマクロ文あるいはNC文を実行するIF<第1条件式 >処理部と、前記第1の条件式が不成立で第2の条件式のみ成立する場合にTH EN命令に続く1つ以上のマクロ文あるいはNC文を実行するELSE IF< 第2条件式>処理部と、前記IF文に連なる全ての条件式が不成立の場合にEL SE命令に続く1つ以上のマクロ文あるいはNC文を実行するELSE処理部と からなり、IF文の条件式の真偽により実行する1つ以上のマクロ文あるいはN C文を構造化して作成されたIF文を前記IF文制御部にて処理する手段を設け たことを特徴とするNCプログラム言語の構造化手段としたものである。
【0005】
前記構成により、加工プログラムにIF文があれば、IF<第1条件式>処理 部にて第1の条件式の真偽を判定し、第1の条件式のみ成立する場合にTHEN 命令に続く1つ以上のマクロ文あるいはNC文を実行し、次にELSE IF< 第2条件式>処理部にて第2の条件式の真偽を判定し、前記第1の条件式が不成 立で第2の条件式のみ成立する場合にTHEN命令に続く1つ以上のマクロ文あ るいはNC文を実行し、ついで前記IF文に連なる全ての条件式が不成立の場合 にELSE命令に続く1つ以上のマクロ文あるいはNC文を実行することができ るから、NCプログラムを構造化して作り易く、分かり易いプログラミングを可 能にし、プログラムの生産性と保守性を向上させることができる。
【0006】
以下にこの考案にかかるNCプログラム言語の構造化手段の一実施例を図面に 基づき説明する。 図1はこの考案のNCプログラム言語の構造化手段を有する数値制御装置のシ ステムブロック図である。 1は中央処理装置(CPU)、2はデータ入力に用いる操作盤、3は入力され たデータや実行中の加工プログラムを表示するディスプレイ装置(CRT)、4 はシステムプログラムが記憶されたROM、5は各種パラメータや処理中のデー タを一次記憶するRAM、6は加工プログラムを記憶する加工プログラムメモリ 、7はCPU1の制御により加工プログラムを数ブロックずつ読み込み解釈する 加工プログラム解釈部である。 8は加工プログラム解釈部7と連結するIF文制御部であり、加工プログラム 解釈部7とIF文制御部8でNCプログラム言語の構造化手段を構成する。尚、 IF文制御部8は第1の条件式のみ成立する場合にTHEN命令に続く1つ以上 のマクロ文あるいはNC文を実行するIF<第1条件式>処理部8aと、前記第 1の条件式が不成立で第2の条件式のみ成立する場合にTHEN命令に続く1つ 以上のマクロ文あるいはNC文を実行するELSE IF<第2条件式>処理部 8bと、前記IF文に連なる全ての条件式が不成立の場合にELSE命令に続く 1つ以上のマクロ文あるいはNC文を実行するELSE処理部8cとからなる。 9は加工プログラム解釈部7より転送されたデータに基づきサーボモータMを 制御するサーボ制御部である。
【0007】 次にこの考案のIF文の処理の流れを図2乃至図4に従って説明する。 なお、加工プログラムメモリ6に格納された加工プログラムには予め以下に示 す(a) 1ブロック型式、(b) 複数ブロック型式の2種類のIF文が記載され、か かる加工プログラムが加工プログラムメモリ6に記憶されているものとする。即 ち、 (a) 1ブロック型式とは、 IF<条件式>THEN〔命令文〕(ELSE〔命令文〕);の構文からなる ものであり、〔命令文〕にはマクロ文(例えば、#1=1)やNC文(例えば、 X10.0)が記載可能であり、当然従来技術で説明した「GOTO シーケン ス番号」も記載される。この(a) 1ブロック型式の構文は、IF文制御部におい て<条件式>を満足する場合にTHEN命令に続く〔命令文〕の実行を指示し、 <条件式>を満足しない場合にELSE命令に続く〔命令文〕の実行を指示する 構文の意味である。なお、括弧内のELSE〔命令文〕は省略されてもよい。 (b) 複数ブロック型式とは、 IF<第1条件式>THEN; 〔命令文P1 〕;〔命令文P2 〕;…〔命令文Pn 〕; ELSE IF<第2条件式>THEN; 〔命令文Q1 〕;〔命令文Q2 〕;…〔命令文Qn 〕; ELSE; 〔命令文R1 〕;〔命令文R2 〕;…〔命令文Rn 〕; END IF; の一連の構文からなるものであり、〔命令文〕には1ブロック型式同様にマクロ 文、NC文や「GOTO シーケンス番号」が記載される。この(b) 複数ブロッ ク型式の構文は、IF<第1条件式>処理部8aにおいて<第1条件式>のみを 満足する場合にTHEN命令に続く〔命令文P1 〕;〔命令文P2 〕;…〔命令 文Pn 〕;の実行を指示し、ELSE IF<第2条件式>処理部8bにおいて <第1条件式>が不成立で第2の条件式のみ成立する場合にTHEN命令に続く 〔命令文Q1 〕;〔命令文Q2 〕;…〔命令文Qn 〕;の実行を指示し、ELS E処理部8cにおいて<第1条件式>も<第2条件式>も満足しない場合にEL SE命令に続く〔命令文R1 〕;〔命令文R2 〕;…〔命令文Rn 〕;の実行を 指示する構文の意味である。なお、「END IF」命令はIF文終了を意味す る。
【0008】 図2はIF<第1条件式>処理部の処理の流れ図である。システムを起動させ ると、CPU1の制御により加工プログラムが加工プログラム解釈部7に数ブロ ックずつ読み込まれ解釈される。解釈されたブロックにIF文があれば、IF文 を数ブロックずつIF文制御部8に順次転送し(ステップ101)、IF<第1 条件式>処理部8aにおいて<第1条件式>の真偽を判定する(ステップ102 )。<第1条件式>が成立していれば、次にTHEN命令かどうかを判定し(ス テップ103、ステップ104)、THEN命令であれば、次のブロック、例え ば〔命令文P1 〕;〔命令文P2 〕;…〔命令文Pn 〕;を実行し、IF文の処 理を終了する。ステップ103、ステップ104でTHEN命令でなければ、< 第1条件式>の後に続く命令を実行する。例えば、<第1条件式>の後に従来技 術で説明したGOTO〔シーケンス番号〕;があれば、このGOTO命令を実行 する。次にELSE命令があるかどうか判断し(ステップ107、ステップ10 8)、ELSE命令であれば、ELSE処理部8cにデータを転送し、ELSE 命令でなければ、IF文の処理を終了する。 ステップ102において、<第1条件式>が成立していなければ、次にTHE N命令かどうかを判定し(ステップ109、ステップ110)、THEN命令で あれば、対となるELSE IF命令あるいはEND IF命令をサーチし、E LSE IF命令をサーチした場合は、データをELSE IF<第2条件式> 処理部8bに転送し、END IF命令をサーチした場合は、IF文の処理を終 了する。ステップ109、ステップ110でTHEN命令でなければ、<第1条 件式>の後に続くブロックをELSE命令まで読み飛ばし(ステップ112)、 あとに続く命令を実行し(ステップ113)、IF文の処理を終了する。
【0009】 図3はELSE IF<第2条件式>処理部の処理の流れ図である。ELSE IF<第2条件式>処理部8bが起動すると、CPU1は頭となるIF文が認 識済かどうか判断し(ステップ201)、認識済でなければエラーとして処理す る。一方、認識済であれば、ELSE IF<第2条件式>処理部8bにおいて IF文あるいはELSE IFの条件式の真偽、即ち<第1条件式>が不成立で <第2条件式>のみ成立するかの真偽を判断する(ステップ202)。偽であれ ば、ついでEND IF命令をサーチし(ステップ203)、IF文の処理を終 了する。ステップ202の判断において、真であれば、次のブロック、例えば〔 命令文Q1 〕;〔命令文Q2 〕;…〔命令文Qn 〕;を実行し(ステップ204 )、ELSE IF<第2条件式>処理を終了する。なお、<第2条件式>の後 は「THEN;」でなければならない。
【0010】 図4はELSE処理部の処理の流れ図である。ELSE処理部8cが起動する と、CPU1は頭となるIF文が認識済かどうか判断し(ステップ301)、認 識済でなければエラーとして処理する。一方、認識済であれば、IF文あるいは ELSE IFの条件式の真偽、即ち<第1条件式>も<第2条件式>も共に不 成立かどうかを判断する(ステップ302)。不成立であれば、ついでEND IF命令をサーチし(ステップ303)、IF文の処理を終了する。ステップ3 02の判断において、共に成立していなければ、次のブロック、例えば〔命令文 R1 〕;〔命令文R2 〕;…〔命令文Rn 〕;を実行し(ステップ304)、E LSE処理を終了する。
【0011】 IF文の構文を用いた手段により、IF文が拡張でき、NCプログラムを構造 化して作り易く、かつ分かり易いプログラミングが可能となる。また、IF文中 で同じ<条件式>の下で複数のマクロ文やNC文が実行でき、条件不成立の場合 にもマクロ文が実行でき、プログラムの生産性と保守性を向上させることのでき る。
【0012】
以上説明したように、この考案の装置の構成によれば、加工プログラムメモリ にIF文があれば、IF<第1条件式>処理部にて第1の条件式の真偽を判定し 、第1の条件式のみ成立する場合にTHEN命令に続く1つ以上のマクロ文ある いはNC文を実行し、次にELSE IF<第2条件式>処理部にて第2の条件 式の真偽を判定し、前記第1の条件式が不成立で第2の条件式のみ成立する場合 にTHEN命令に続く1つ以上のマクロ文あるいはNC文を実行し、ついで前記 IF文に連なる全ての条件式が不成立の場合にELSE命令に続く1つ以上のマ クロ文あるいはNC文を実行することができるから、NCプログラムを構造化し て作り易く、分かり易いプログラミングを可能にし、プログラムの生産性と保守 性を向上させることができる。
【図1】この考案のNCプログラム言語の構造化手段を
有する数値制御装置のシステムブロック図である。
有する数値制御装置のシステムブロック図である。
【図2】IF<第1条件式>処理部の処理の流れ図であ
る。
る。
【図3】ELSE IF<第2条件式>処理部の処理の
流れ図である。
流れ図である。
【図4】ELSE処理部の処理の流れ図である。
1 中央処理装置(CPU) 2 操作盤 3 ディスプレイ装置(CRT) 4 ROM 5 RAM 6 加工プログラムメモリ 7 加工プログラム解釈部 8 IF文制御部 9 サーボ制御部
Claims (1)
- 【請求項1】 加工プログラムを解釈する加工プログラ
ム解釈部と連結し、加工プログラム中にIF文があれ
ば、IF文を制御するIF文制御部を備え、 このIF文制御部が第1の条件式のみ成立する場合にT
HEN命令に続く1つ以上のマクロ文あるいはNC文を
実行するIF<第1条件式>処理部と、 前記第1の条件式が不成立で第2の条件式のみ成立する
場合にTHEN命令に続く1つ以上のマクロ文あるいは
NC文を実行するELSE IF<第2条件式>処理部
と、 前記IF文に連なる全ての条件式が不成立の場合にEL
SE命令に続く1つ以上のマクロ文あるいはNC文を実
行するELSE処理部とからなり、 IF文の条件式の真偽により実行する1つ以上のマクロ
文あるいはNC文を構造化して作成されたIF文を前記
IF文制御部にて処理する手段を設けたことを特徴とす
るNCプログラム言語の構造化手段。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7789492U JPH0643703U (ja) | 1992-11-12 | 1992-11-12 | Ncプログラム言語の構造化手段 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7789492U JPH0643703U (ja) | 1992-11-12 | 1992-11-12 | Ncプログラム言語の構造化手段 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0643703U true JPH0643703U (ja) | 1994-06-10 |
Family
ID=13646792
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7789492U Pending JPH0643703U (ja) | 1992-11-12 | 1992-11-12 | Ncプログラム言語の構造化手段 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0643703U (ja) |
-
1992
- 1992-11-12 JP JP7789492U patent/JPH0643703U/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9846424B2 (en) | Numerical control apparatus | |
| KR970033457A (ko) | 수치제어장치에 있어서의 기억수단 엑세스 제어방법 및 수치제어장치 | |
| CN118760048A (zh) | 一种基于plc的cnc运动控制方法及控制系统 | |
| EP0331754A1 (en) | Cnc program execution apparatus | |
| US7174235B2 (en) | Controller for machines | |
| JPH0866845A (ja) | Sel指令制御機能を用いたnc加工プログラム言語の構造化手段 | |
| JPH01100604A (ja) | プログラマブル・コントローラ及びその実行方式 | |
| JPH08286717A (ja) | 数値制御装置 | |
| JP2708445B2 (ja) | 加工シミユレーシヨン装置 | |
| JP2584225B2 (ja) | 数値制御装置 | |
| JPH09160620A (ja) | 数値制御装置 | |
| JPH0827648B2 (ja) | Ncパ−トプログラム生成装置 | |
| US20040049622A1 (en) | Programming tool | |
| KR100205122B1 (ko) | 인터록에 의한 독립 축 위치제어기의 축 동기 제어방법 | |
| JPS6232503A (ja) | 数値制御装置 | |
| JP3363168B2 (ja) | 数値制御装置 | |
| JPH05100728A (ja) | 駆動制御方式および駆動制御装置 | |
| JP6444729B2 (ja) | Ncプログラムによる高速なシーケンス制御を有する数値制御装置 | |
| JPH0588725A (ja) | 数値制御装置 | |
| JPH07121226A (ja) | ロボツト制御装置 | |
| JP3072918B2 (ja) | スケジュール運転方法 | |
| JPH0769729B2 (ja) | 複数可動部材を有する工作機械の数値制御装置における同期待合せ方式 | |
| JPS62293310A (ja) | 数値制御装置のユーザプログラム実行方法 | |
| JPS6249502A (ja) | プログラマブルコントロ−ラ | |
| JPS61279909A (ja) | 数値制御装置 |