JPH0863221A - 数値制御装置のプログラム生成方法 - Google Patents
数値制御装置のプログラム生成方法Info
- Publication number
- JPH0863221A JPH0863221A JP19853194A JP19853194A JPH0863221A JP H0863221 A JPH0863221 A JP H0863221A JP 19853194 A JP19853194 A JP 19853194A JP 19853194 A JP19853194 A JP 19853194A JP H0863221 A JPH0863221 A JP H0863221A
- Authority
- JP
- Japan
- Prior art keywords
- variable
- program
- numerical control
- machining program
- machining
- 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
Landscapes
- Numerical Control (AREA)
Abstract
(57)【要約】
【目的】 起動状態を変数値とするシステム変数、又は
系統の選択を数値制御装置に行わせることを指令するシ
ステム変数を設けることにより加工プログラムの作成を
容易にする。 【構成】 指定された実行モードを判断してシステム変
数の値を設定し、設定した値に基づいて一部の処理が異
なる複数の実行モードがプログラムされた加工プログラ
ムの実行を継続するようにしたものである。
系統の選択を数値制御装置に行わせることを指令するシ
ステム変数を設けることにより加工プログラムの作成を
容易にする。 【構成】 指定された実行モードを判断してシステム変
数の値を設定し、設定した値に基づいて一部の処理が異
なる複数の実行モードがプログラムされた加工プログラ
ムの実行を継続するようにしたものである。
Description
【0001】
【産業上の利用分野】本発明は、加工プログラムの汎用
性及び融通性を向上させる数値制御装置のプログラム生
成方法に関する。
性及び融通性を向上させる数値制御装置のプログラム生
成方法に関する。
【0002】
【従来の技術】図8は従来の一系統の数値制御装置の機
能ブロック図である。1aはフォアグラウンド用の加工
プログラム、2aはフォアグラウンド用の自動起動信
号、1bはバックグラウンド用の加工プログラム、2b
はバックグラウンド用の起動信号、3はフォアグラウン
ド、バックグラウンドに共通のサブプログラム、6は前
記加工プログラム1a、1b、3をテープやメモリ、フ
ロッピーディスクなどの記憶媒体から読み出すプログラ
ム入力部、7はプログラム入力部6から入力された加工
プログラムを解析して各種演算を行う演算部、8は演算
部7で得られたデータをもとに駆動部9を介してモータ
10を制御する、或はクーラントのオン/オフ、スピン
ドルの正転/逆転/停止などの外部スイッチ12のオン
/オフ制御を行う制御部、14はモータ駆動のための制
御信号、11は外部スイッチ12や設定表示ユニット1
3のための入出力部、15は外部入出力信号である。
能ブロック図である。1aはフォアグラウンド用の加工
プログラム、2aはフォアグラウンド用の自動起動信
号、1bはバックグラウンド用の加工プログラム、2b
はバックグラウンド用の起動信号、3はフォアグラウン
ド、バックグラウンドに共通のサブプログラム、6は前
記加工プログラム1a、1b、3をテープやメモリ、フ
ロッピーディスクなどの記憶媒体から読み出すプログラ
ム入力部、7はプログラム入力部6から入力された加工
プログラムを解析して各種演算を行う演算部、8は演算
部7で得られたデータをもとに駆動部9を介してモータ
10を制御する、或はクーラントのオン/オフ、スピン
ドルの正転/逆転/停止などの外部スイッチ12のオン
/オフ制御を行う制御部、14はモータ駆動のための制
御信号、11は外部スイッチ12や設定表示ユニット1
3のための入出力部、15は外部入出力信号である。
【0003】図8の数値制御装置においては2レベルの
処理状態、即ちフォアグラウンド処理とバックグラウン
ド処理を有する。16はバックグラウンドで動作するブ
ロックを示す。図9の動作タイミングチャートに示すよ
うにフォアグランド処理とはバックグランド処理に先行
する優先度の高い処理である。フォアグラウンド処理と
バックグラウンド処理は並行して走ることもできるが、
お互いに影響を及ぼさない。ユーザプログラムは実行モ
ードに応じてどちらかのレベルで処理される。実際に工
作機械を駆動してワークを加工するような速度を要求さ
れる場合、例えばメモリ運転やMDI運転(マニュアル
・データ・インプット装置による運転)はフォアグラウ
ンドで処理される。実際に加工を行わないグラフィック
チェックや段取りチェック、自動プログラミングチェッ
クなどの比較的速度を要求されない処理はバックグラウ
ンドで処理される。バックグラウンド処理中にモーダル
や位置座標データを変更してもフォアグラウンドのモー
ダルや位置座標に影響を及ぼさない。
処理状態、即ちフォアグラウンド処理とバックグラウン
ド処理を有する。16はバックグラウンドで動作するブ
ロックを示す。図9の動作タイミングチャートに示すよ
うにフォアグランド処理とはバックグランド処理に先行
する優先度の高い処理である。フォアグラウンド処理と
バックグラウンド処理は並行して走ることもできるが、
お互いに影響を及ぼさない。ユーザプログラムは実行モ
ードに応じてどちらかのレベルで処理される。実際に工
作機械を駆動してワークを加工するような速度を要求さ
れる場合、例えばメモリ運転やMDI運転(マニュアル
・データ・インプット装置による運転)はフォアグラウ
ンドで処理される。実際に加工を行わないグラフィック
チェックや段取りチェック、自動プログラミングチェッ
クなどの比較的速度を要求されない処理はバックグラウ
ンドで処理される。バックグラウンド処理中にモーダル
や位置座標データを変更してもフォアグラウンドのモー
ダルや位置座標に影響を及ぼさない。
【0004】いま図10の(c)で示す加工プログラム
1aをメモリ運転モードで実行するため、図8の自動起
動信号2aをオンすると、フォアグラウンド処理が実行
される。プログラム入力部6は加工プログラム1aをメ
モリから読みだし、演算部7に入力する。演算部7は該
加工プログラムで指令された命令を解析して、移動量の
計算や補正計算などの演算を行う他、主軸指令、補助機
能指令、工具指令等に対する内部処理、マクロ処理を行
い、内部の座標データ、モーダルデータなどを更新す
る。制御部8は演算部7で得られた移動データをもとに
補間計算を行い、駆動部9に制御信号14を与える。さ
らに主軸機能、補助機能に対応した外部入出力指令を入
出力部11に与える。駆動部9は制御信号14に基づい
てモータ10を駆動して、加工プログラム1aに応じた
加工を行うべくテーブル又は工具を移動する。入出力部
11は制御部8からの外部入出力指令に応じて外部入出
力信号15を外部スイッチ12との間でやりとりする。
ところで、実際の加工を行わずに、加工プログラムの移
動軌跡を設定表示ユニット13の表示装置に図示し、加
工プログラムのチェックを行うグラフィックチェックと
いわれる機能があるが、加工プログラム1aについてグ
ラフィックチェックを行う場合、バックグラウンド用の
起動信号2bをオンする。バックグラウンド処理では実
際の加工は行われないので、駆動部9に対する制御信号
14は出力されず、また外部スイッチ12に対する外部
出力信号15の出力も行われない。従って加工プログラ
ム1aが、図10の(c)に示すようなサブプログラム
O8000を呼び出し、サブプログラムO8000で
は、図10の(a)のような外部スイッチ12をオンす
る補助機能指令M40、及び図10の(b)のような前
記外部スイッチ12がオンしていることを確かめるため
の変数指令#1001が含まれる場合、バックグラウン
ド処理中は外部出力が行われず、従って外部スイッチ1
2はオンしないので、#1001はいつまでたっても0
のままであるので、O8000のb1とb2のブロック
間を永久にループすることになる。従ってバックグラウ
ンドで動作させるためにb1とb2の間のブロックを削
除したバックグラウンド用のもう一つのサブプログラム
とそれを呼び出す加工プログラム1bが必要となってい
る。
1aをメモリ運転モードで実行するため、図8の自動起
動信号2aをオンすると、フォアグラウンド処理が実行
される。プログラム入力部6は加工プログラム1aをメ
モリから読みだし、演算部7に入力する。演算部7は該
加工プログラムで指令された命令を解析して、移動量の
計算や補正計算などの演算を行う他、主軸指令、補助機
能指令、工具指令等に対する内部処理、マクロ処理を行
い、内部の座標データ、モーダルデータなどを更新す
る。制御部8は演算部7で得られた移動データをもとに
補間計算を行い、駆動部9に制御信号14を与える。さ
らに主軸機能、補助機能に対応した外部入出力指令を入
出力部11に与える。駆動部9は制御信号14に基づい
てモータ10を駆動して、加工プログラム1aに応じた
加工を行うべくテーブル又は工具を移動する。入出力部
11は制御部8からの外部入出力指令に応じて外部入出
力信号15を外部スイッチ12との間でやりとりする。
ところで、実際の加工を行わずに、加工プログラムの移
動軌跡を設定表示ユニット13の表示装置に図示し、加
工プログラムのチェックを行うグラフィックチェックと
いわれる機能があるが、加工プログラム1aについてグ
ラフィックチェックを行う場合、バックグラウンド用の
起動信号2bをオンする。バックグラウンド処理では実
際の加工は行われないので、駆動部9に対する制御信号
14は出力されず、また外部スイッチ12に対する外部
出力信号15の出力も行われない。従って加工プログラ
ム1aが、図10の(c)に示すようなサブプログラム
O8000を呼び出し、サブプログラムO8000で
は、図10の(a)のような外部スイッチ12をオンす
る補助機能指令M40、及び図10の(b)のような前
記外部スイッチ12がオンしていることを確かめるため
の変数指令#1001が含まれる場合、バックグラウン
ド処理中は外部出力が行われず、従って外部スイッチ1
2はオンしないので、#1001はいつまでたっても0
のままであるので、O8000のb1とb2のブロック
間を永久にループすることになる。従ってバックグラウ
ンドで動作させるためにb1とb2の間のブロックを削
除したバックグラウンド用のもう一つのサブプログラム
とそれを呼び出す加工プログラム1bが必要となってい
る。
【0005】次に多系統の数値制御装置の場合について
説明する。図11は従来の2系統の数値制御装置の機能
ブロック図である。図8と同一の部分は同一の符号を持
つ。3aは系統0のための加工プログラム、3bは系統
1のための加工プログラム、2は自動起動信号、5は系
統共通のサブプログラム、6はプログラム入力部、7は
演算部、8は制御部、9aは系統0の駆動部、9bは系
統1の駆動部、10aは系統0のモータ、10bは系統
1のモータである。自動起動信号2をオンすると、プロ
グラム入力部6はメモリ等の記憶媒体から前記加工プロ
グラム3aと3bを読みだし、演算処理部7は2つの加
工プログラム3a、3bについてそれぞれ演算処理を行
う。演算処理された各データは制御部8で各系統ごとの
制御信号14a、14bに変換され、系統0の駆動部9
aと系統1の駆動部9bを制御する。図12の動作タイ
ミングチャートに示すように系統0と系統1は同じ優先
度で処理されるため、互いに割り込むことなく順番に処
理される。ところで図13のような穴あけのボーリング
において、穴底で主軸オリエントをした後、刃先と逆方
向に工具を逃がすときに、系統0では(a)ようにX軸
の一方向に逃し、系統1では(b)のようにX軸の+方
向に逃す必要があるとき、図13の(e)に示すサブプ
ログラムO9000はX軸の一方向に工具を逃すので、
系統0の加工プログラム(c)ではサブプログラムO9
000を使用できるが、系統1の加工プログラム(d)
ではサブプログラムO9000は使用出来ない。
説明する。図11は従来の2系統の数値制御装置の機能
ブロック図である。図8と同一の部分は同一の符号を持
つ。3aは系統0のための加工プログラム、3bは系統
1のための加工プログラム、2は自動起動信号、5は系
統共通のサブプログラム、6はプログラム入力部、7は
演算部、8は制御部、9aは系統0の駆動部、9bは系
統1の駆動部、10aは系統0のモータ、10bは系統
1のモータである。自動起動信号2をオンすると、プロ
グラム入力部6はメモリ等の記憶媒体から前記加工プロ
グラム3aと3bを読みだし、演算処理部7は2つの加
工プログラム3a、3bについてそれぞれ演算処理を行
う。演算処理された各データは制御部8で各系統ごとの
制御信号14a、14bに変換され、系統0の駆動部9
aと系統1の駆動部9bを制御する。図12の動作タイ
ミングチャートに示すように系統0と系統1は同じ優先
度で処理されるため、互いに割り込むことなく順番に処
理される。ところで図13のような穴あけのボーリング
において、穴底で主軸オリエントをした後、刃先と逆方
向に工具を逃がすときに、系統0では(a)ようにX軸
の一方向に逃し、系統1では(b)のようにX軸の+方
向に逃す必要があるとき、図13の(e)に示すサブプ
ログラムO9000はX軸の一方向に工具を逃すので、
系統0の加工プログラム(c)ではサブプログラムO9
000を使用できるが、系統1の加工プログラム(d)
ではサブプログラムO9000は使用出来ない。
【0006】
【発明が解決しようとする課題】このように、実行モー
ドや、系統が異なることが要因となって、ほとんど同じ
命令群で構成される、或は定数が違うだけでステートメ
ントは同じといったサブプログラムを、異なる実行モー
ド間、或は異なる系統間で共用化することができず、各
実行モード、或は各系統に個別のサブプログラムを持た
なければならないというようなことがしばしばあった。
サブプログラムが長いプログラムで、異なる部分は小さ
いが、随所に散在している場合はメモリが不経済である
ばかりでなく、プログラムを作成するのに多大の労力が
かかるという問題点があった。そこで、特願昭56−1
68223において、各種設定値、機械位置、モーダル
情報、機械からの入力信号、タイマ時刻等の読取り制
御、機械側への出力信号の送出制御、シングルブロック
停止の抑制制御等のうち所定の制御を行なう変数値とし
てシステム変数をもつという方法が出願されているが、
この方法であると、プログラム上で現在の実行モードや
系統を知り得る手段がない。
ドや、系統が異なることが要因となって、ほとんど同じ
命令群で構成される、或は定数が違うだけでステートメ
ントは同じといったサブプログラムを、異なる実行モー
ド間、或は異なる系統間で共用化することができず、各
実行モード、或は各系統に個別のサブプログラムを持た
なければならないというようなことがしばしばあった。
サブプログラムが長いプログラムで、異なる部分は小さ
いが、随所に散在している場合はメモリが不経済である
ばかりでなく、プログラムを作成するのに多大の労力が
かかるという問題点があった。そこで、特願昭56−1
68223において、各種設定値、機械位置、モーダル
情報、機械からの入力信号、タイマ時刻等の読取り制
御、機械側への出力信号の送出制御、シングルブロック
停止の抑制制御等のうち所定の制御を行なう変数値とし
てシステム変数をもつという方法が出願されているが、
この方法であると、プログラム上で現在の実行モードや
系統を知り得る手段がない。
【0007】本発明はかかる問題点を解決するためにな
されたもので、実行モードや系統に応じて選択的に数値
制御処理を実行できるプログラムの生成方法を提供する
ことを目的としている。
されたもので、実行モードや系統に応じて選択的に数値
制御処理を実行できるプログラムの生成方法を提供する
ことを目的としている。
【0008】
【課題を解決するための手段】本発明の数値制御装置の
プログラム生成方法は、指定された実行モードを判断し
てシステム変数の値を設定し、設定した値に基づいて一
部の処理が異なる複数の実行モードがプログラムされた
加工プログラムの実行を継続するようにしたものであ
る。
プログラム生成方法は、指定された実行モードを判断し
てシステム変数の値を設定し、設定した値に基づいて一
部の処理が異なる複数の実行モードがプログラムされた
加工プログラムの実行を継続するようにしたものであ
る。
【0009】また、本発明の数値制御装置のプログラム
生成方法は、指定された系統を判断してシステム変数の
値を設定し、設定した値に基づいて一部の処理が異なる
複数の系統の処理がプログラムされた加工プログラムの
実行を継続するようにしたものである。
生成方法は、指定された系統を判断してシステム変数の
値を設定し、設定した値に基づいて一部の処理が異なる
複数の系統の処理がプログラムされた加工プログラムの
実行を継続するようにしたものである。
【0010】さらに、上記方法において、システム変数
の値が設定された複数の系統のうちから数値制御装置が
系統を選択して加工プログラムの実行を継続するように
したものである。
の値が設定された複数の系統のうちから数値制御装置が
系統を選択して加工プログラムの実行を継続するように
したものである。
【0011】
【作用】本発明によれば、一部の処理が異なる複数の実
行モードがプログラムされた加工プログラムの中から、
システム変数の値に応じた実行モードのプログラムが実
行できるユーザプログラムの生成を可能とする。
行モードがプログラムされた加工プログラムの中から、
システム変数の値に応じた実行モードのプログラムが実
行できるユーザプログラムの生成を可能とする。
【0012】また、本発明によれば、一部の処理が異な
る複数の系統の処理がプログラムされた加工プログラム
の中から、システム変数の値に応じた系統の処理プログ
ラムが実行できるユーザプログラムの生成を可能とす
る。
る複数の系統の処理がプログラムされた加工プログラム
の中から、システム変数の値に応じた系統の処理プログ
ラムが実行できるユーザプログラムの生成を可能とす
る。
【0013】さらに、本発明によれば、システム変数の
値が設定された複数の系統のうちからより適した系統を
選択し、その処理プログラムを実行させることができ
る。
値が設定された複数の系統のうちからより適した系統を
選択し、その処理プログラムを実行させることができ
る。
【0014】
実施例1.図2は本発明による数値制御装置の一実施例
を示すフローチャートである。図1の(a)は本発明に
より設定される、実行モードを示すシステム変数であ
る。一般に加工プログラムの中で変化させたい値は、変
数指令を用いて処理している。変数指令とはプログラム
中のあるアドレスに直接数値を与える代わりに変数を指
定し、プログラムを実行する時々に応じてその変数の値
を与えるものである。変数は#に続く変数番号で指定さ
れ、例えば、 #1=1000+#2 という様に使用する。この変数を使って演算命令や制御
命令を行うことが出来る。変数のうち、数値制御装置や
被制御物、加工物等のシステム状態に対応する変数をシ
ステム変数と呼び、システム状態に応じて数値制御処理
を行いたい場合にはシステム変数を用いて処理してい
る。既に説明した図8の演算部7において、加工プログ
ラム1aのなかに変数指令があると、演算部7では該変
数に対応する処理を行う。さて、各ビットが図1の
(a)に示す如き実行モードを示す16ビットデータの
システム変数#3100が加工プログラム1aのなかに
あると、演算部7は図2のフローチャートに示すよう
に、ステップs21において変数の内容をクリアし、ス
テップs22で現在の実行モードがメモリ運転か判断
し、メモリ運転であればステップs23で#3100の
ビット0を1にし、メモリ運転中でなければステップs
23をスキップする。次にステップs24でMDI運転
か判断し、MDI運転中であればステップs25で#3
100のビット1を1にし、MDI運転中でなければ次
のステップに進む。この動作をすべての実行モードにつ
いて行うと完了する。図3はシステム変数#3100の
使用例である。図10で説明した補助機能指令M40
と、補助機能指令M40の実行を確認する変数指令#1
001が有る場合、サブプログラムO8000ではb5
1のブロックでシステム変数#3100を使用して実行
モードを調べ、バックグラウンド起動、即ち、メモリ運
転でもMDI運転でもないとき、(ただしサーチ起動は
例外としてバックグラウンドと同じ扱いをする)であれ
ば、補助機能M40の実行が行われないので、補助機能
M40の実行待ちになるb52とb53のブロックをス
キップしてシーケンス番号N20ブロックb54に進む
ため、バックグラウンド動作時に、図10で説明した理
由によりb52とb53のブロックを永久ループするこ
とを免れることができ、サブプログラムO8000をフ
ォアグラウンドでもバックグラウンドでも共用すること
ができる。
を示すフローチャートである。図1の(a)は本発明に
より設定される、実行モードを示すシステム変数であ
る。一般に加工プログラムの中で変化させたい値は、変
数指令を用いて処理している。変数指令とはプログラム
中のあるアドレスに直接数値を与える代わりに変数を指
定し、プログラムを実行する時々に応じてその変数の値
を与えるものである。変数は#に続く変数番号で指定さ
れ、例えば、 #1=1000+#2 という様に使用する。この変数を使って演算命令や制御
命令を行うことが出来る。変数のうち、数値制御装置や
被制御物、加工物等のシステム状態に対応する変数をシ
ステム変数と呼び、システム状態に応じて数値制御処理
を行いたい場合にはシステム変数を用いて処理してい
る。既に説明した図8の演算部7において、加工プログ
ラム1aのなかに変数指令があると、演算部7では該変
数に対応する処理を行う。さて、各ビットが図1の
(a)に示す如き実行モードを示す16ビットデータの
システム変数#3100が加工プログラム1aのなかに
あると、演算部7は図2のフローチャートに示すよう
に、ステップs21において変数の内容をクリアし、ス
テップs22で現在の実行モードがメモリ運転か判断
し、メモリ運転であればステップs23で#3100の
ビット0を1にし、メモリ運転中でなければステップs
23をスキップする。次にステップs24でMDI運転
か判断し、MDI運転中であればステップs25で#3
100のビット1を1にし、MDI運転中でなければ次
のステップに進む。この動作をすべての実行モードにつ
いて行うと完了する。図3はシステム変数#3100の
使用例である。図10で説明した補助機能指令M40
と、補助機能指令M40の実行を確認する変数指令#1
001が有る場合、サブプログラムO8000ではb5
1のブロックでシステム変数#3100を使用して実行
モードを調べ、バックグラウンド起動、即ち、メモリ運
転でもMDI運転でもないとき、(ただしサーチ起動は
例外としてバックグラウンドと同じ扱いをする)であれ
ば、補助機能M40の実行が行われないので、補助機能
M40の実行待ちになるb52とb53のブロックをス
キップしてシーケンス番号N20ブロックb54に進む
ため、バックグラウンド動作時に、図10で説明した理
由によりb52とb53のブロックを永久ループするこ
とを免れることができ、サブプログラムO8000をフ
ォアグラウンドでもバックグラウンドでも共用すること
ができる。
【0015】実施例2.図4は、本発明による数値制御
装置の第2の実施例を示すフローチャートである。図1
の(b)は本発明により設定される、各ビットが現在実
行中の系統を示すシステム変数#3101であり、実施
例1と同様に演算部7で処理される。図4においてステ
ップs31で変数の内容をクリアし、ステップs32で
現在の系統が系統0か判断し、系統0であればステップ
s33で#3101のビット0を1にし、系統0でなけ
ればステップs33をスキップする。次にステップs3
4で系統1か判断し、系統1であればステップs35で
#3101のビット1を1にし、系統1でなければ次の
ステップに進む。この動作をすべての系統について行う
と完了する。図5はシステム変数#3101の使用例で
ある。図13に示す穴あけのボーリングにおいて、穴底
で主軸オリエントをした後、刃先と逆方向に工具を逃が
すときに、系統0では(a)のようにX軸の一方向に逃
し、系統1では(b)のようにX軸の+方向に逃す必要
があるとき、図5のサブプログラムO9000のb61
のブロックではX軸の一方向に工具を逃す系統0に対応
した設定を変数#101に行い、b62のブロックでシ
ステム変数#3101の値より系統を判別し、系統が1
であればX軸の+方向に工具を逃す系統1に対応した値
に変数#101を設定し直し、系統1でなければb63
のブロックをスキップし、シーケンス番号N10のブロ
ックb64に進む。b65のブロックで工具を逃すX軸
のシフト方向とその移動量は系統に応じた値の設定され
た変数#101で指令されているので、サブプログラム
O9000は系統0と系統1で共用することができる。
装置の第2の実施例を示すフローチャートである。図1
の(b)は本発明により設定される、各ビットが現在実
行中の系統を示すシステム変数#3101であり、実施
例1と同様に演算部7で処理される。図4においてステ
ップs31で変数の内容をクリアし、ステップs32で
現在の系統が系統0か判断し、系統0であればステップ
s33で#3101のビット0を1にし、系統0でなけ
ればステップs33をスキップする。次にステップs3
4で系統1か判断し、系統1であればステップs35で
#3101のビット1を1にし、系統1でなければ次の
ステップに進む。この動作をすべての系統について行う
と完了する。図5はシステム変数#3101の使用例で
ある。図13に示す穴あけのボーリングにおいて、穴底
で主軸オリエントをした後、刃先と逆方向に工具を逃が
すときに、系統0では(a)のようにX軸の一方向に逃
し、系統1では(b)のようにX軸の+方向に逃す必要
があるとき、図5のサブプログラムO9000のb61
のブロックではX軸の一方向に工具を逃す系統0に対応
した設定を変数#101に行い、b62のブロックでシ
ステム変数#3101の値より系統を判別し、系統が1
であればX軸の+方向に工具を逃す系統1に対応した値
に変数#101を設定し直し、系統1でなければb63
のブロックをスキップし、シーケンス番号N10のブロ
ックb64に進む。b65のブロックで工具を逃すX軸
のシフト方向とその移動量は系統に応じた値の設定され
た変数#101で指令されているので、サブプログラム
O9000は系統0と系統1で共用することができる。
【0016】実施例3.図1の(c)は、前記図1の
(a)で示した各実行モードの詳細を示すサブモードを
設定したシステム変数であり、実行モードに応じてサブ
モードの各ビットの示す内容は異なる。例えば実行モー
ドが自動プログラミングチェック起動の場合のサブモー
ドの内容は、工具パスチェック起動時はサブ0番起動の
ビット、形状チェック起動時はサブ1番起動のビット、
工具干渉チェック起動時はサブ2番起動のビットがオン
する様に設定される。
(a)で示した各実行モードの詳細を示すサブモードを
設定したシステム変数であり、実行モードに応じてサブ
モードの各ビットの示す内容は異なる。例えば実行モー
ドが自動プログラミングチェック起動の場合のサブモー
ドの内容は、工具パスチェック起動時はサブ0番起動の
ビット、形状チェック起動時はサブ1番起動のビット、
工具干渉チェック起動時はサブ2番起動のビットがオン
する様に設定される。
【0017】実施例4.図6は本発明による数値制御装
置のその他の実施例を示す図である。多系統の数値制御
装置において、共通の座標系を持ち、加工条件が同じで
あれば、どの系統が加工しても良く、加工位置に一番近
い系統が加工すればよいサブプログラムがあるときに、
図1の(d)に示すシステム変数#3200で指令でき
ることとする。システム変数#3200は、各系統に対
応するビットがオンしている、何れかの系統から数値制
御装置が選択した系統が加工を行うことを指令し、複数
系統のビットがオンしている場合は、指定された系統の
間で一番近い系統が加工を行うことを指令する変数であ
る。図7の(d)のサブプログラムO10000におい
てb71のブロックはb72からb74のブロックの加
工を第0系統と第1系統のどちらか近い方で加工するこ
とを指令している。系統0の動作時、サブプログラムO
10000のブロックb71の#3200指令を読み取
ると、演算部7では図6のステップs41で#3200
のビット0がオンしているか、即ち系統0が指定されて
いるか判断し、指定されていれば、ステップs42に進
み、実行チェック用の内部フラグF3200が0かどう
か判断する。F3200は0であれば未実行の状態を示
し、F3200が1であれば実行済みの状態を示す。F
3200が0であれば、即ち未実行であればステップs
43でO10000の次のブロックb73の座標指令デ
ータを読み取り、座標指令データが他の指定系統、即ち
系統1の現在位置より該系統0の現在位置のほうが近い
と判断すると、ステップs44でF3200を1にして
実行済の状態をセットする。ステップs45でO100
00のb72からb74のブロックの実行を行いサブプ
ログラムO10000を終了する。同様に系統1の動作
時、サブプログラムO10000のブロックb71の#
3200指令を読み取ると、演算部7では図6のステッ
プs51で#3200のビット1がオンしているか、即
ち系統1が指定されているか判断し、指定されていれ
ば、ステップs52に進み、実行チェック用の内部フラ
グF3200が0かどうか判断する。F3200は0で
あれば未実行の状態を示し、F3200が1であれば実
行済みの状態を示す。F3200が0であれば、即ち未
実行であればステップs53でO10000の次のブロ
ックb73の座標指令データを読み取り、座標指令デー
タが系統0の現在位置より該系統1の現在位置のほうが
近いと判断すると、ステップs54でF3200を1に
して実行済の状態をセットする。ステップs55でO1
0000のb72からb74のブロックの実行を行いサ
ブプログラムO10000を終了する。
置のその他の実施例を示す図である。多系統の数値制御
装置において、共通の座標系を持ち、加工条件が同じで
あれば、どの系統が加工しても良く、加工位置に一番近
い系統が加工すればよいサブプログラムがあるときに、
図1の(d)に示すシステム変数#3200で指令でき
ることとする。システム変数#3200は、各系統に対
応するビットがオンしている、何れかの系統から数値制
御装置が選択した系統が加工を行うことを指令し、複数
系統のビットがオンしている場合は、指定された系統の
間で一番近い系統が加工を行うことを指令する変数であ
る。図7の(d)のサブプログラムO10000におい
てb71のブロックはb72からb74のブロックの加
工を第0系統と第1系統のどちらか近い方で加工するこ
とを指令している。系統0の動作時、サブプログラムO
10000のブロックb71の#3200指令を読み取
ると、演算部7では図6のステップs41で#3200
のビット0がオンしているか、即ち系統0が指定されて
いるか判断し、指定されていれば、ステップs42に進
み、実行チェック用の内部フラグF3200が0かどう
か判断する。F3200は0であれば未実行の状態を示
し、F3200が1であれば実行済みの状態を示す。F
3200が0であれば、即ち未実行であればステップs
43でO10000の次のブロックb73の座標指令デ
ータを読み取り、座標指令データが他の指定系統、即ち
系統1の現在位置より該系統0の現在位置のほうが近い
と判断すると、ステップs44でF3200を1にして
実行済の状態をセットする。ステップs45でO100
00のb72からb74のブロックの実行を行いサブプ
ログラムO10000を終了する。同様に系統1の動作
時、サブプログラムO10000のブロックb71の#
3200指令を読み取ると、演算部7では図6のステッ
プs51で#3200のビット1がオンしているか、即
ち系統1が指定されているか判断し、指定されていれ
ば、ステップs52に進み、実行チェック用の内部フラ
グF3200が0かどうか判断する。F3200は0で
あれば未実行の状態を示し、F3200が1であれば実
行済みの状態を示す。F3200が0であれば、即ち未
実行であればステップs53でO10000の次のブロ
ックb73の座標指令データを読み取り、座標指令デー
タが系統0の現在位置より該系統1の現在位置のほうが
近いと判断すると、ステップs54でF3200を1に
して実行済の状態をセットする。ステップs55でO1
0000のb72からb74のブロックの実行を行いサ
ブプログラムO10000を終了する。
【0018】上記のように、ある加工を行う系統を数値
制御装置に選択させることによって効率の良い加工を行
うことが出来、加工プログラムに融通性を持たせること
が出来るので、ユーザーがプログラミングするのを容易
にすることができる。
制御装置に選択させることによって効率の良い加工を行
うことが出来、加工プログラムに融通性を持たせること
が出来るので、ユーザーがプログラミングするのを容易
にすることができる。
【0019】
【発明の効果】本発明によるときは、実行モードに応じ
たシステム変数を設けたことにより、実行モードに応じ
て選択的に数値制御処理を実行できる加工プログラムを
作成することが出来るようになったので、一部の処理が
異なる実行モード間でのプログラムの共用化を向上させ
ることができ、メモリの節約になるばかりでなく、プロ
グラムの作成に要する労力と時間の節約を行うことがで
きる。
たシステム変数を設けたことにより、実行モードに応じ
て選択的に数値制御処理を実行できる加工プログラムを
作成することが出来るようになったので、一部の処理が
異なる実行モード間でのプログラムの共用化を向上させ
ることができ、メモリの節約になるばかりでなく、プロ
グラムの作成に要する労力と時間の節約を行うことがで
きる。
【0020】また、系統に応じたシステム変数を設けた
ことにより、系統に応じて選択的に数値制御処理を実行
できる加工プログラムを作成することが出来るようにな
ったので、系統間による異なる動作が加工プログラムの
分岐制御により容易にでき、さらに異なる系統間での分
岐制御ができ、加工プログラムの共有化ができて、管理
が容易になり、メモリの節約になるばかりでなく、プロ
グラムの作成に要する労力と時間の節約を行うことがで
きる。
ことにより、系統に応じて選択的に数値制御処理を実行
できる加工プログラムを作成することが出来るようにな
ったので、系統間による異なる動作が加工プログラムの
分岐制御により容易にでき、さらに異なる系統間での分
岐制御ができ、加工プログラムの共有化ができて、管理
が容易になり、メモリの節約になるばかりでなく、プロ
グラムの作成に要する労力と時間の節約を行うことがで
きる。
【0021】また、加工を行う系統を、ユーザーが指定
した中から数値制御装置が選択して実行することを指令
するシステム変数を設けたので、加工プログラミングの
作成が容易となり、加工の効率を向上させることができ
る。
した中から数値制御装置が選択して実行することを指令
するシステム変数を設けたので、加工プログラミングの
作成が容易となり、加工の効率を向上させることができ
る。
【図1】 本発明のシステム変数の内容について説明し
た図である。
た図である。
【図2】 本発明の実施例1のフローチャートである。
【図3】 本発明の実施例1のシステム変数の使用例で
ある。
ある。
【図4】 本発明の実施例2のフローチャートである。
【図5】 本発明の実施例2のシステム変数の使用例で
ある。
ある。
【図6】 本発明の実施例4のフローチャートである。
【図7】 本発明の実施例4のシステム変数の使用例で
ある。
ある。
【図8】 従来の数値制御装置を示す機能ブロック図で
ある。
ある。
【図9】 従来の数値制御装置の2つの処理レベルの動
作を示すタイミングチャートである。
作を示すタイミングチャートである。
【図10】 従来の数値制御装置の加工プログラム例で
ある。
ある。
【図11】 従来の多系統の数値制御装置を示す機能ブ
ロック図である。
ロック図である。
【図12】 従来の多系統の数値制御装置の系統の動作
を示すタイミングチャートである。
を示すタイミングチャートである。
【図13】 従来の多系統の数値制御装置の加工プログ
ラム例である。
ラム例である。
6 プログラム入力部、7 演算部、8 制御部、9
駆動部 9a 系統0の駆動部、9b 系統1の駆動
部、11 入出力部、12 外部スイッチ、13設定表
示ユニット。
駆動部 9a 系統0の駆動部、9b 系統1の駆動
部、11 入出力部、12 外部スイッチ、13設定表
示ユニット。
Claims (3)
- 【請求項1】 複数の実行モードを持ち、変数指令を含
む加工プログラムに応じて処理された演算結果により数
値制御する数値制御装置において、指定された実行モー
ドを判断してシステム変数の値を設定し、設定した値に
基づいて一部の処理が異なる複数の実行モードがプログ
ラムされた加工プログラムの実行を継続するようにした
ことを特徴とする数値制御装置のプログラム生成方法。 - 【請求項2】 複数の系統を持ち、変数指令を含む加工
プログラムに応じて処理された演算結果により数値制御
する数値制御装置において、指定された系統を判断して
システム変数の値を設定し、設定した値に基づいて一部
の処理が異なる複数の系統の処理がプログラムされた加
工プログラムの実行を継続するようにしたことを特徴と
する数値制御装置のプログラム生成方法。 - 【請求項3】 システム変数の値が設定された複数の系
統のうちから数値制御装置が系統を選択して加工プログ
ラムの実行を継続するようにしたことを特徴とする請求
項2記載の数値制御装置のプログラム生成方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19853194A JPH0863221A (ja) | 1994-08-23 | 1994-08-23 | 数値制御装置のプログラム生成方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19853194A JPH0863221A (ja) | 1994-08-23 | 1994-08-23 | 数値制御装置のプログラム生成方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0863221A true JPH0863221A (ja) | 1996-03-08 |
Family
ID=16392702
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP19853194A Pending JPH0863221A (ja) | 1994-08-23 | 1994-08-23 | 数値制御装置のプログラム生成方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0863221A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE112014000400B4 (de) * | 2014-01-15 | 2018-01-11 | Mitsubishi Electric Corporation | Numerische Steuervorrichtung |
-
1994
- 1994-08-23 JP JP19853194A patent/JPH0863221A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE112014000400B4 (de) * | 2014-01-15 | 2018-01-11 | Mitsubishi Electric Corporation | Numerische Steuervorrichtung |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2004326618A (ja) | 工作機械の数値制御装置 | |
| JP3679844B2 (ja) | シーケンス・プログラムの実行装置 | |
| JP3451594B2 (ja) | 数値制御装置における記憶手段アクセス制御方法および数値制御装置 | |
| JPH01134605A (ja) | 数値制御装置 | |
| JPH0863221A (ja) | 数値制御装置のプログラム生成方法 | |
| JP3893334B2 (ja) | 多系統数値制御装置 | |
| JP4867876B2 (ja) | 数値制御装置、数値制御プログラム及び数値制御プログラムを記憶した記憶媒体 | |
| JP2005131775A5 (ja) | ||
| JPH04217009A (ja) | 動作プログラムの教示方法 | |
| JP2004348448A (ja) | 工作機械の数値制御装置と工作機械の数値制御方法 | |
| JP3460747B2 (ja) | 数値制御装置 | |
| JP7609981B2 (ja) | 数値制御装置、およびコンピュータ読み取り可能な記憶媒体 | |
| JP7623477B2 (ja) | 数値制御装置及びコンピュータ読み取り可能な記憶媒体 | |
| JPH0619518A (ja) | プログラム呼出し方式 | |
| JP3026885B2 (ja) | プログラマブルコントローラおよびプログラミング装置 | |
| JP2005182581A (ja) | サーボ制御装置およびサーボ制御切替え方法 | |
| JP4208600B2 (ja) | Nc工作機械 | |
| Carter | Computer numerical control software | |
| JP2522040B2 (ja) | 位置決め機能付きプログラムコントロ―ラのプログラム入力方法 | |
| WO2022196622A1 (ja) | 数値制御装置 | |
| JP2642451B2 (ja) | 数値制御装置 | |
| JPH08166805A (ja) | シーケンス・プログラムの編集方式 | |
| JPS63250705A (ja) | 数値制御装置 | |
| JPS61150010A (ja) | 数値制御工作機械のプログラム制御方式 | |
| JPH01194003A (ja) | Pc装置の制御方式 |