本文へ移動
サポートシェアリングソリューション
OKWAVE Plus

このQ&Aは役に立ちましたか?

締切済み
※ ChatGPTを利用し、要約された質問です(原文:マクロでシーケンス番号を指定して呼び出す方法)

マクロでシーケンス番号を指定して呼び出す方法

2023/10/17 19:42

このQ&Aのポイント
  • マクロを使ってシーケンス番号を指定して呼び出す方法を教えてください。
  • シーケンス番号を指定してマクロを呼び出す方法について詳しく教えてください。
  • マクロで特定のシーケンス番号を指定して呼び出す方法を教えてください。
※ 以下は、質問の原文です

マクロでシーケンス番号を指定して呼び出す方法

2009/02/28 13:27

はじめまして、
初歩的な質問ですみませんが、
マクロでシーケンス番号を指定して呼び出す方法が
ありますか?
N番号
以下のプログラムを読みメインプログラムに戻る
ようにしたいのです。
どのようにしたら良いのでしょうか?
制御はメルダスですが、
ファナックでも、大きな差はないですか

よろしくお願いします。

回答 (2件中 1~2件目)

2009/02/28 21:10
回答No.2

  MCプログラミングの流れ

   工具設定→作業条件の設定→動作→
    ↑              ↓
       ←    ←    ←

作業は当然工具単位で行われます。
たとえば使用工具を T1、T2、T3
T1: 20φ荒エンドミル T2: 20φ仕上げエンドミル T3: 面取りエンドミル とすると

T1 の切削条件 G100A160Z-S-F-Q-K-     動作は N160 G160X-Y-R-D-
G100A150Z-S-F-Q-K- N150 G150X-Y-I-J-A-
T2 の切削条件 G100A160Z-S-F-Q-K-     動作は N160 G160X-Y-R-D-
G100A150Z-S-F-Q-K- N150 G150X-Y-I-J-A-
T3 の切削条件 G100A160Z-S-F-Q-K-     動作は N160 G160X-Y-R-D-
G100A150Z-S-F-Q-K- N150 G150X-Y-I-J-A-

というプログラム形式となります。
G100 というプログラムは、ローカル変数をコモン変数に置き換えるためのマクロプログラムです。
置き換えた理由は、条件データの保持と同一データの活用(書き換えられるまで使う)です。
G100A160Z-S-F-Q-K-とG100A150Z-S-F-Q-K-でS-F-Q-K-が同じならばG100A150のみでOKです。
G160、G150 は動きのマクロプログラムです。
工具交換と条件はメインプログラムに、動きはサブプログラムに、連絡はアドレス(A)で発信、(N)で受信となります。
このような構造にするとサブのコントロールを常にメインで行えます。

具体化してみます

O10(MAIN) O11(O10 SUB)
#120=121 ・
  ・              GOTO#501 'G100にてAの値を#501に
#121=1              N160
#122=2 G160X100Y100R50D60
#123=3             G160X200 'コモン変換内蔵
#124=0              GOTO99
#125=0 N150
  ・ G150X150Y0I50J-10A200
WHILE[#[#120]NE0]DO1 GOTO99
・                ・
上記データの順番で工具交換 ・
・                ・
#120=#120+1 N99 M99
GOTO#[#120-1]
  ・
N1 G100A160Z0S800F300Q30K-60
M98P11
G100A150
M98P11
GOTO1200
N2 G100A160Z0S600F200Q50K-51
M98P11
   G100A150
M98P11
GOTO1200
N3 G100A160Z0S2500F600Q0.5K-0.5
M98P11
G100A150
M98P11
GOTO1200

N1200 M1
END1

M30

・の部分は当然色々な要素が入りますが、レイアウト的にはこのような感じです。
非常にスッキリしてると思いませんか!!
私はGコードマクロで説明しましたが、その部分は当然 G65P**** です。

コード(マクロ、システム)は FANUC、TOSNUC、OSP の三系列、メルダス等々はFANUC系ですね。
(どちらが本家か分家か分かりませんけど)

マクロは便利で安全で楽しいですよ。
プログラミング時間は 1/10 くらい、もっとかな!! というより普通にプログラムするのは気が遠くなります。
興味を持って頑張ってください。

このQ&Aは役に立ちましたか?

この質問は投稿から一年以上経過しています。
解決しない場合、新しい質問の投稿をおすすめします。

質問する
2009/02/28 14:09
回答No.1

もう少し具体的に書いて頂ければ、回答しやすいと思います。

サブプログラムに工程別動作プログラムを作成し、メインプログラムで呼び出すようにしています。

メインプログラム
O1
G65 P9000 A... ;A...にシーケンス番号
G65 P9000 A... ;A...にシーケンス番号
G65 P9000 A...をいくつでも追加出来ます。
M30

サブプログラム
O9000
GOTO #1
M99
N1
動作プログラム1
M99
N2
動作プログラム2
M99

が一例です。

お礼をおくりました

さらに、この回答をベストアンサーに選びますか?

ベストアンサーを選ぶと質問が締切られます。
なおベストアンサーを選びなおすことはできません。