JPH0553627A - Ncプログラムの補助機能の実行順序決定方法 - Google Patents
Ncプログラムの補助機能の実行順序決定方法Info
- Publication number
- JPH0553627A JPH0553627A JP21541691A JP21541691A JPH0553627A JP H0553627 A JPH0553627 A JP H0553627A JP 21541691 A JP21541691 A JP 21541691A JP 21541691 A JP21541691 A JP 21541691A JP H0553627 A JPH0553627 A JP H0553627A
- Authority
- JP
- Japan
- Prior art keywords
- code
- function
- execution
- quotient
- priority
- 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)【要約】
【目的】 NCプログラムにおける、機械動作(Mコー
ド)、主軸回転数(Sコード)、自動工具交換(Tコー
ド)、インデックステーブルの割り出し(Bコード)等
の指令を行う補助機能の実行順序決定方法に関し、ソフ
トウエア効率上優れた機械制御の実現をその目的とす
る。 【構成】 同一ブロック内にMコードと他の機能コード
とが併存するNCプログラムにおいて、Mコードが、
他の機能コードよりも優先的に実行されるべきものであ
る、他の機能コードと優先関係なく実行されるべきも
のである、他の機能コードの方が優先的に実行される
べきものである、という少なくとも3つの順序規則を予
め決定しておく。同一ブロック内に他の機能コードと共
に併存するMコードのコード番号(X)に所定関数(F
=X/1000)の演算を施し、これによって得られた
値(F)に対応する前記順序規則を特定し、この順序規
則に基づいて、そのMコードと他の機能コードとの実行
順序を決定するように構成する。
ド)、主軸回転数(Sコード)、自動工具交換(Tコー
ド)、インデックステーブルの割り出し(Bコード)等
の指令を行う補助機能の実行順序決定方法に関し、ソフ
トウエア効率上優れた機械制御の実現をその目的とす
る。 【構成】 同一ブロック内にMコードと他の機能コード
とが併存するNCプログラムにおいて、Mコードが、
他の機能コードよりも優先的に実行されるべきものであ
る、他の機能コードと優先関係なく実行されるべきも
のである、他の機能コードの方が優先的に実行される
べきものである、という少なくとも3つの順序規則を予
め決定しておく。同一ブロック内に他の機能コードと共
に併存するMコードのコード番号(X)に所定関数(F
=X/1000)の演算を施し、これによって得られた
値(F)に対応する前記順序規則を特定し、この順序規
則に基づいて、そのMコードと他の機能コードとの実行
順序を決定するように構成する。
Description
【0001】
【産業上の利用分野】本発明は、NCプログラムにおけ
る、機械動作、主軸回転数、自動工具交換、インデック
ステーブルの割り出し等の指令を行う補助機能の実行順
序決定方法に関する。
る、機械動作、主軸回転数、自動工具交換、インデック
ステーブルの割り出し等の指令を行う補助機能の実行順
序決定方法に関する。
【0002】
【従来の技術】NC工作機械の1つの動作は、NCプロ
グラム上の『1ブロック』で指令される。この1ブロッ
クは、幾つかの『ワード』で構成され、ワードは更に数
値の意味を示すアルファベットと、それに続く数値(コ
ード)で構成される。このワードには例えば準備機能、
送り機能、補助機能などがある。
グラム上の『1ブロック』で指令される。この1ブロッ
クは、幾つかの『ワード』で構成され、ワードは更に数
値の意味を示すアルファベットと、それに続く数値(コ
ード)で構成される。このワードには例えば準備機能、
送り機能、補助機能などがある。
【0003】この補助機能には、機械動作指令コード
(以下Mコードという)と他の機能コードとがある。他
の機能コードには、例えば主軸機能コード(以下Sコー
ドという)、テーブル割り出し機能コード(以下Bコー
ドという)、工具機能コード(以下Tコードという)な
どがある。Mコードは、機械の種々の動作を行わせるた
めの指令であり、例えば、M03は主軸時計方向回転、
M06は工具交換、M07はクーラント(冷却液)供
給、M10はテーブル・クランプ、M11はテーブル・
アンクランプ、をそれぞれ示す。Sコードは、主軸の回
転数を指定するものであり、回転数を表わす数桁の数値
で直接それを指令するものである。Bコードは、テーブ
ルの旋回を行わせるための指令であり、角度を数値で直
接指令するものである。Tコードは、自動工具交換機能
を有する機械において次加工工具の番号を指定するもの
である。
(以下Mコードという)と他の機能コードとがある。他
の機能コードには、例えば主軸機能コード(以下Sコー
ドという)、テーブル割り出し機能コード(以下Bコー
ドという)、工具機能コード(以下Tコードという)な
どがある。Mコードは、機械の種々の動作を行わせるた
めの指令であり、例えば、M03は主軸時計方向回転、
M06は工具交換、M07はクーラント(冷却液)供
給、M10はテーブル・クランプ、M11はテーブル・
アンクランプ、をそれぞれ示す。Sコードは、主軸の回
転数を指定するものであり、回転数を表わす数桁の数値
で直接それを指令するものである。Bコードは、テーブ
ルの旋回を行わせるための指令であり、角度を数値で直
接指令するものである。Tコードは、自動工具交換機能
を有する機械において次加工工具の番号を指定するもの
である。
【0004】これらのM,S,B,Tコードが1つのブ
ロック内に存在する場合、特に、Mコードと他の機能コ
ードとが併存する場合においては、いずれの機能コード
を優先させるか、あるいは同時作動が可能であるのか等
の実行順序が問題となる。蓋し、機械動作指令であるM
コードに基づく作動と、他の機能コードに基づく作動と
は、物理的・機械的に干渉する蓋然性が高いからであ
る。
ロック内に存在する場合、特に、Mコードと他の機能コ
ードとが併存する場合においては、いずれの機能コード
を優先させるか、あるいは同時作動が可能であるのか等
の実行順序が問題となる。蓋し、機械動作指令であるM
コードに基づく作動と、他の機能コードに基づく作動と
は、物理的・機械的に干渉する蓋然性が高いからであ
る。
【0005】この実行順序決定方法に関しては、通常、
SコードとMコードとが併存するときはSコードを、M
コードとBまたはTコードとが併存するときはMコード
を、それぞれ優先することを原則として処理が為されて
いる。すなわち、具体的には、その数値(コード)のM
コードが他の機能コードに対してどのような優先関係に
なっているか(あるいは、なっているべきか)を逐一表
にしたようなテーブルがメモリ内に設けられ、これに基
づいて処理が為されている。
SコードとMコードとが併存するときはSコードを、M
コードとBまたはTコードとが併存するときはMコード
を、それぞれ優先することを原則として処理が為されて
いる。すなわち、具体的には、その数値(コード)のM
コードが他の機能コードに対してどのような優先関係に
なっているか(あるいは、なっているべきか)を逐一表
にしたようなテーブルがメモリ内に設けられ、これに基
づいて処理が為されている。
【0006】現状においては、数値(コード)が100
番程度までのMコードはJISで既に不動に指定され
(一部は未指定)、また、実際に使用するMコード自体
の数もそれ程多くないため、上記実行順序決定の制御
上、格別な問題はないとも言える。
番程度までのMコードはJISで既に不動に指定され
(一部は未指定)、また、実際に使用するMコード自体
の数もそれ程多くないため、上記実行順序決定の制御
上、格別な問題はないとも言える。
【0007】
【発明が解決しようとする課題】しかしながら、今後、
未指定の数値(コード)のMコードを多数使用するよう
な事態が起きることが充分予想され、規則に基づかない
でその数値(コード)を設定する従来方式のままでは、
複雑な優先関係を示すテーブルがメモリ内を大量に占有
することになり、メモリ効率上、そしてプログラムの実
行速度上、問題である。
未指定の数値(コード)のMコードを多数使用するよう
な事態が起きることが充分予想され、規則に基づかない
でその数値(コード)を設定する従来方式のままでは、
複雑な優先関係を示すテーブルがメモリ内を大量に占有
することになり、メモリ効率上、そしてプログラムの実
行速度上、問題である。
【0008】また、従来のようなJISで指定されたM
コードの数値(コード)を使用せずに、実行順序の優先
性を考慮した規則に基づく全く新たな機能コード体系を
確立して、ソフトウエア効率的に優れた機械制御を行お
うとする産業界の動きがある。
コードの数値(コード)を使用せずに、実行順序の優先
性を考慮した規則に基づく全く新たな機能コード体系を
確立して、ソフトウエア効率的に優れた機械制御を行お
うとする産業界の動きがある。
【0009】
【課題を解決するための手段】上記課題を解決するため
に本発明は、同一ブロック内にMコードと他の機能コー
ドとが併存するNCプログラムの補助機能の実行順序決
定方法において、Mコードが、他の機能コードよりも
優先的に実行されるべきものである、他の機能コード
と優先関係なく実行されるべきものである、他の機能
コードの方が優先的に実行されるべきものである、とい
う少なくとも3つの順序規則のそれぞれに規則コードを
割り付け、Mコードのコード番号に、ある演算を施こし
た結果が前記規則コードのコード番号になるような所定
関数を決定し、同一ブロック内に他の機能コードと共に
併存するMコードのコード番号に前記所定関数による演
算を施し、これによって得られた値に対応する前記順序
規則に基づいて、そのMコードと他の機能コードとの実
行順序を決定することを構成上の特徴とする。
に本発明は、同一ブロック内にMコードと他の機能コー
ドとが併存するNCプログラムの補助機能の実行順序決
定方法において、Mコードが、他の機能コードよりも
優先的に実行されるべきものである、他の機能コード
と優先関係なく実行されるべきものである、他の機能
コードの方が優先的に実行されるべきものである、とい
う少なくとも3つの順序規則のそれぞれに規則コードを
割り付け、Mコードのコード番号に、ある演算を施こし
た結果が前記規則コードのコード番号になるような所定
関数を決定し、同一ブロック内に他の機能コードと共に
併存するMコードのコード番号に前記所定関数による演
算を施し、これによって得られた値に対応する前記順序
規則に基づいて、そのMコードと他の機能コードとの実
行順序を決定することを構成上の特徴とする。
【0010】
【実施例】以下、本発明の実施例を図面を参照して説明
する。本実施例においては、Mコードの数値(コード)
は、例えば、1から999までの整数の集合A、100
0から1999までの整数の集合B、2000から29
99までの整数の集合C、及び3000から3999ま
での整数の集合D、という4つの集合の中から選定され
る。尚、集合Aは、その要素である各数値を1000で
割ったときの商が総て0となる数値群、同様に、集合B
は、商が1となる数値群、集合Cは、商が2となる数値
群、集合Dは、商が3となる数値群となっている。
する。本実施例においては、Mコードの数値(コード)
は、例えば、1から999までの整数の集合A、100
0から1999までの整数の集合B、2000から29
99までの整数の集合C、及び3000から3999ま
での整数の集合D、という4つの集合の中から選定され
る。尚、集合Aは、その要素である各数値を1000で
割ったときの商が総て0となる数値群、同様に、集合B
は、商が1となる数値群、集合Cは、商が2となる数値
群、集合Dは、商が3となる数値群となっている。
【0011】そして、実行順序の優先性を加味したこの
ような4つの集合AないしDの中から数値を正しく選定
し、これを各機械動作に該当するMコードの数値(コー
ド)とする。その具体例を幾つか示すと、クーラント供
給(Mコード)は、他の機能コードに対して特に優劣が
ない(同時に実行可能である)ので、1000で割った
ときの商が0となる集合Aの中から数値、例えば000
7という数値を選び、クーラントを表すコードをM00
07と定義する。
ような4つの集合AないしDの中から数値を正しく選定
し、これを各機械動作に該当するMコードの数値(コー
ド)とする。その具体例を幾つか示すと、クーラント供
給(Mコード)は、他の機能コードに対して特に優劣が
ない(同時に実行可能である)ので、1000で割った
ときの商が0となる集合Aの中から数値、例えば000
7という数値を選び、クーラントを表すコードをM00
07と定義する。
【0012】Sコードは、主軸正転(Mコード)よりも
先に実行されるべきであるので、1000で割ったとき
の商が1となる集合Bの中から数値、例えば1003と
いう数値を選び、主軸正転を表すコードをM1003と
定義する。テーブル・アンクランプ(Mコード)は、B
コードよりも先に実行されるべきであるので、1000
で割ったときの商が2となる集合Cの中から数値、例え
ば2011という数値を選び、テーブル・アンクランプ
を表すコードをM2011と定義する。
先に実行されるべきであるので、1000で割ったとき
の商が1となる集合Bの中から数値、例えば1003と
いう数値を選び、主軸正転を表すコードをM1003と
定義する。テーブル・アンクランプ(Mコード)は、B
コードよりも先に実行されるべきであるので、1000
で割ったときの商が2となる集合Cの中から数値、例え
ば2011という数値を選び、テーブル・アンクランプ
を表すコードをM2011と定義する。
【0013】工具交換(Mコード)は、Tコードよりも
先に実行されるべきであるので、1000で割ったとき
の商が3となる集合Dの中から数値、例えば3006と
いう数値を選び、工具交換を表すコードをM3006と
定義する。このように、従来と全く異なるようにMコー
ド全体を新規に定義することにより、他の機能コードと
の実行の優先性のチェックは、そのMコードの数値(コ
ード)を例えば1000で割って商を求めるといった上
記演算を実行することのみで、基本的には得られる。こ
の商が実行順序規則の規則コードである。
先に実行されるべきであるので、1000で割ったとき
の商が3となる集合Dの中から数値、例えば3006と
いう数値を選び、工具交換を表すコードをM3006と
定義する。このように、従来と全く異なるようにMコー
ド全体を新規に定義することにより、他の機能コードと
の実行の優先性のチェックは、そのMコードの数値(コ
ード)を例えば1000で割って商を求めるといった上
記演算を実行することのみで、基本的には得られる。こ
の商が実行順序規則の規則コードである。
【0014】すなわち、図1のフローチャートに示した
ように、実行の優先性をチェックすべきMコードMxが
ある場合、その数値xを取り出して、関数F(x)=x
÷1000、にこれを代入して商を算出する。この商の
値0,1,2,3(0,1,2以外を3とする)に応じ
た4つの分類によって、同一ブロック内の他の機能コー
ドに対するそのMコードの優劣が容易・迅速に明瞭とな
る。
ように、実行の優先性をチェックすべきMコードMxが
ある場合、その数値xを取り出して、関数F(x)=x
÷1000、にこれを代入して商を算出する。この商の
値0,1,2,3(0,1,2以外を3とする)に応じ
た4つの分類によって、同一ブロック内の他の機能コー
ドに対するそのMコードの優劣が容易・迅速に明瞭とな
る。
【0015】以上のように、本実施例によれば、Mコー
ドと他の機能コードとが同一ブロック内にある場合の実
行の優先関係について、従来のようにその関係に対応す
る膨大な比較テーブルをメモリ領域に大量に確保してお
く必要が全くなく、単にMコードの数値(コード)に対
して上記のような簡単な演算を実行することのみでその
実行の優先関係が直ちに得られ高速処理できるという利
点が得られる。
ドと他の機能コードとが同一ブロック内にある場合の実
行の優先関係について、従来のようにその関係に対応す
る膨大な比較テーブルをメモリ領域に大量に確保してお
く必要が全くなく、単にMコードの数値(コード)に対
して上記のような簡単な演算を実行することのみでその
実行の優先関係が直ちに得られ高速処理できるという利
点が得られる。
【0016】尚、言うまでもないが、本発明の思想自体
は上記実施例における関数に制限されるものではなく、
様々の関数が想到され、それが適用され得る。ところ
で、上記実施例では、JISで指定された従来のMコー
ドの数値(コード)を総て改変することを前提とし、全
く従来と異なる機能コード体系に基づいて機械制御を行
うことになるが、そのようなことが現実的・実際的に行
い得ないような過渡的な時期的段階においては、次のよ
う便宜的方法が考えられる。
は上記実施例における関数に制限されるものではなく、
様々の関数が想到され、それが適用され得る。ところ
で、上記実施例では、JISで指定された従来のMコー
ドの数値(コード)を総て改変することを前提とし、全
く従来と異なる機能コード体系に基づいて機械制御を行
うことになるが、そのようなことが現実的・実際的に行
い得ないような過渡的な時期的段階においては、次のよ
う便宜的方法が考えられる。
【0017】すなわち、未指定のMコードについては上
記実施例における規則に基づいて数値(コード)を設定
して処理を行うようにし、他方、JISで既に指定され
た不動のMコードについては、各々の実行の優先性チェ
ック時に、上記整数集合AないしDのいずれかに入るよ
うにその数値(コード)を別の数に先ず変換し、それを
上記実施例における関数に代入して商を求めるように構
成する。具体的には、例えば、M03(主軸正転)であ
れば、1000を、M11(テーブル・アンクランプ)
であれば、2000を、M06であれば、3000を、
それぞれ加算する。従って、M03,M11、及びM0
6は、それぞれM1003,M2011,M3006に
形式上変換され、これにより、上記実施例と同様、容易
・迅速に処理が為されることになる。
記実施例における規則に基づいて数値(コード)を設定
して処理を行うようにし、他方、JISで既に指定され
た不動のMコードについては、各々の実行の優先性チェ
ック時に、上記整数集合AないしDのいずれかに入るよ
うにその数値(コード)を別の数に先ず変換し、それを
上記実施例における関数に代入して商を求めるように構
成する。具体的には、例えば、M03(主軸正転)であ
れば、1000を、M11(テーブル・アンクランプ)
であれば、2000を、M06であれば、3000を、
それぞれ加算する。従って、M03,M11、及びM0
6は、それぞれM1003,M2011,M3006に
形式上変換され、これにより、上記実施例と同様、容易
・迅速に処理が為されることになる。
【0018】
【発明の効果】以上説明したように本発明によれば、各
補助機能の実行の優先関係を示すテーブルをメモリに予
め記憶させて大量のメモリ領域を占有することなく、実
行の優先関係を関数を用いて演算し、判断するようにし
たので、メモリ効率及びプログラムの実行速度の優れた
排他制御を行うことが可能となる。
補助機能の実行の優先関係を示すテーブルをメモリに予
め記憶させて大量のメモリ領域を占有することなく、実
行の優先関係を関数を用いて演算し、判断するようにし
たので、メモリ効率及びプログラムの実行速度の優れた
排他制御を行うことが可能となる。
【図1】図1は、本発明に係るNCプログラムの補助機
能の実行順序決定方法の一実施例における作動の一例の
フローチャートである。
能の実行順序決定方法の一実施例における作動の一例の
フローチャートである。
Claims (1)
- 【請求項1】 同一ブロック内にMコードと他の機能コ
ードとが併存するNCプログラムの補助機能の実行順序
決定方法において、 Mコードが、他の機能コードよりも優先的に実行され
るべきものである、他の機能コードと優先関係なく実
行されるべきものである、他の機能コードの方が優先
的に実行されるべきものである、という少なくとも3つ
の順序規則のそれぞれに規則コードを割り付け、 Mコードのコード番号に、ある演算を施こした結果が前
記規則コードのコード番号になるような所定関数を決定
し、 同一ブロック内に他の機能コードと共に併存するMコー
ドのコード番号に前記所定関数による演算を施し、 これによって得られた値に対応する前記順序規則に基づ
いて、そのMコードと他の機能コードとの実行順序を決
定することを特徴とするNCプログラムの補助機能の実
行順序決定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21541691A JPH0553627A (ja) | 1991-08-27 | 1991-08-27 | Ncプログラムの補助機能の実行順序決定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21541691A JPH0553627A (ja) | 1991-08-27 | 1991-08-27 | Ncプログラムの補助機能の実行順序決定方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0553627A true JPH0553627A (ja) | 1993-03-05 |
Family
ID=16671975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP21541691A Pending JPH0553627A (ja) | 1991-08-27 | 1991-08-27 | Ncプログラムの補助機能の実行順序決定方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0553627A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06282318A (ja) * | 1993-03-25 | 1994-10-07 | Mitsubishi Electric Corp | 数値制御工作機械 |
JP2012141762A (ja) * | 2010-12-28 | 2012-07-26 | Brother Ind Ltd | 数値制御工作機械、制御プログラム及び記憶媒体 |
WO2024003972A1 (ja) * | 2022-06-27 | 2024-01-04 | ファナック株式会社 | プログラム最適化装置及び記憶媒体 |
WO2024003990A1 (ja) * | 2022-06-27 | 2024-01-04 | ファナック株式会社 | プログラム最適化装置及び記憶媒体 |
-
1991
- 1991-08-27 JP JP21541691A patent/JPH0553627A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06282318A (ja) * | 1993-03-25 | 1994-10-07 | Mitsubishi Electric Corp | 数値制御工作機械 |
JP2012141762A (ja) * | 2010-12-28 | 2012-07-26 | Brother Ind Ltd | 数値制御工作機械、制御プログラム及び記憶媒体 |
WO2024003972A1 (ja) * | 2022-06-27 | 2024-01-04 | ファナック株式会社 | プログラム最適化装置及び記憶媒体 |
WO2024003990A1 (ja) * | 2022-06-27 | 2024-01-04 | ファナック株式会社 | プログラム最適化装置及び記憶媒体 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4890234A (en) | NC data modification method | |
JPH0551419B2 (ja) | ||
JPH0553627A (ja) | Ncプログラムの補助機能の実行順序決定方法 | |
JPH01197806A (ja) | 数値制御装置 | |
JP3893334B2 (ja) | 多系統数値制御装置 | |
KR900005250A (ko) | 수치 제어 장치 | |
JP3203604B2 (ja) | Ncデータ作成装置 | |
JPH0929575A (ja) | 工作機械における工具並べ換え方法及び装置 | |
JP2672595B2 (ja) | 工具入替え方法 | |
JP2696206B2 (ja) | 自動パートプログラム作成方法 | |
KR100257611B1 (ko) | 선삭 시스템 및 그의 공구경로 생성방법 | |
JP2875801B2 (ja) | Dnc装置 | |
JPS6316761B2 (ja) | ||
JPH03188531A (ja) | 時分割マルチタスク実行装置 | |
JPH02257307A (ja) | 数値制御装置 | |
JPH06314109A (ja) | 数値制御装置 | |
JPH07334219A (ja) | 自動工具交換装置付き数値制御旋盤用数値制御装置 | |
JPH0760340B2 (ja) | 数値制御装置のユーザプログラム実行方法 | |
JPS62208857A (ja) | 自動加工機におけるパ−トプログラム作成装置 | |
JP2002297211A (ja) | Ncプログラムの集約方法。 | |
JPH03209528A (ja) | 高速割込み処理装置 | |
JPH07100279B2 (ja) | 複合加工施盤用数値制御装置 | |
JPH0588725A (ja) | 数値制御装置 | |
JPS61160147A (ja) | 仮想計算機制御方式 | |
JP2002333985A (ja) | レジスタ退避復旧方法 |