マクロ解説:第5回 マクロを使用した加工の実例

例1) ターニングセンタの工具交換

主軸がB軸に旋回する機械で、プログラム呼び出しにより工具交換と主軸の位置合わせをしています。

NCVIEW Trialのサンプルデータ「ターニングセンタ」を元に解説します。

呼び出し側(メイン側)の例

呼び出し側(メイン)
T1001
G361B0.D2.
M01
G99G18G54M46
ポイント
  1. T1001:主軸にセットする工具番号を選択
  2. G361B0.D2.:工具交換プログラム O9361 を呼び出し(BとDを引数に渡す)

共通化した工具交換プログラム(O9361)の例

工具交換サブ(O9361)
O9361
(G361: MACRO YOBIDASHI)

IF[#2 EQ #0] THEN #2=-90.
IF[#7 EQ #0] THEN #7=0.
IF[#17 EQ #0] THEN #17=0.
G28U0V0W0
G00B-90.
M06
G00B#2

IF[#7 NE 0.] GOTO 99
M45
N99 M99
ポイント
  1. 引数が未指定(#0)の場合、#2 などにデフォルト値をセットして分岐
  2. G28U0V0W0:主軸を初期位置へ移動
  3. M06:工具交換
  4. G00B#2:引数(#2)で指定した角度へ主軸を旋回

このように、工具交換という共通化したプログラムを作ると、同じような指令をプログラム呼び出しだけで制御することができます。

例2) 座標変換

門型機械で加工面を切り替えるとき、座標変換のプログラムを呼び出しています。

NCVIEW Trialのサンプルデータ「アタッチメント旋回」を元に解説します。

※前提として #11111(システム変数)は 1000 にセットされています。

呼び出し側(メイン側)の例

呼び出し側(メイン)
S2000.
G55
W-500.
G65P9023X0Y500.Z-100.B90.C180.
(このときX,Y,Z,B,CはO9023でそれぞれ#24=0,#25=500,#26=-100,#2=90,#3=180 にセットされる)
G90G43Z100.H1
X0Y0Z10.
G01Z0.
~~~~~~~
ポイント
  1. G65P9023...:座標変換プログラム O9023 を引数付きで呼び出し
  2. 呼び出し側は「プログラム番号」と「引数」を整理すればよく、加工面切替の記述が見通しよくなる

座標変換プログラム(O9023)の例

座標変換サブ(O9023)
O9023
IF[#11111EQ1000]GOTO1
IF[#11111EQ1200]GOTO2
IF[#11111EQ1300]GOTO3
GOTO999
~~~~~~~

N2(AT1)
#10540=-#10001*COS[#3]+#10002*SIN[#3]
#10541=#10001*SIN[#3]+#10002*COS[#3]
#10542=-#10003
#2=90.
GOTO98

N3(AT2)
#10540=-#10013*SIN[#3]-#10012*SIN[#2]*COS[#3]
#10541=#10013*COS[#3]-#10012*SIN[#2]*SIN[#3]
#10542=-#10012*COS[#2]-#10011
GOTO98

N98
#24=#24-#10540
#25=#25-#10541
#26=#26-#10542
G68X#24Y#25Z#26I0J0K1.R[-#3+90.]
G68X0Y0Z0I1.J0K0R[#2]
ポイント
  1. #11111 の値で分岐し、該当ブロック(例:N2)へ移動
  2. ローカル変数を使って座標変換用の値を計算し、G68 で座標変換を実行

呼び出したプログラム(O9023)は複雑ですが、このようにプログラムを作っておくと、呼び出す側はプログラム番号と引数を考えるだけでよいのでNCデータ全体の見通しがクリアになります。

NCVIEW Trialで試す

ターニングセンタやアタッチメント旋回のシミュレーションはNCVIEW Trial上で実行できます。また、NCデータを自由に編集できるので、プログラムによってNCデータの挙動がどう変わるのかをぜひ試してみてください。

>訪問デモ・オンラインデモ受付中!

訪問デモ・オンラインデモ受付中!

弊社シンプルテックがご相談をお受けいたします。
ぜひお気軽にお問い合わせください!

CTR IMG