FANUC Series 21i-MAのマシニングでカスタムマクロの呼び出しでアラームが発生する

このQ&Aのポイント
  • FANUC Series 21i-MAのマシニングを購入したが、カスタムマクロを呼び出す設定でアラームが発生している
  • 購入したFANUC Series 21i-MAのマシニングで、カスタムマクロを呼び出すパラメータの設定が間違っているため、アラームが発生している
  • マシニングにFANUC Series 21i-MAを導入し、カスタムマクロを呼び出す設定を行ったが、アラームが発生している
回答を見る
  • ベストアンサー

カスタムマクロの呼び出し

はじめて質問させていただきます。 FANUC Series 21i-MAのマシニングを購入しました。 パラメータでカスタムマクロを呼び出すように設定しましたが、アラームが 発生してダメなようです。 どうか、私に知恵を貸してください。 プログラムは... M100 X*.* Y*.* ; G110 R***.* Z***.* ; PRM6050 ⇒ 110(O9010を呼び出すGコード) PRM6080 ⇒ 100(O9020を呼び出すMコード) アラーム 内容 【アラーム 003 入力データが許容値を超えました】 尚 G65 P9020 X*.* Y*.* ; G65 P9010 R***.* Z***.* ; 上記のプログラムでは、大丈夫でした。

noname#230358
noname#230358

質問者が選んだベストアンサー

  • ベストアンサー
noname#230359
noname#230359
回答No.2

Mコードの有効桁数を3桁にするパラメータが有りますので、メーカかFANUCのサービスへ問い合わせてください Gコード3桁のパラメータが有ったかは、記憶にありません

noname#230358
質問者

お礼

パラメータにMコードの許容桁数というのがありました。 Mコードが悪さをしていたので気が付きませんでしたが、 Gコードの方は、OK!でした。 的確な回答をありがとうございました。

その他の回答 (1)

noname#230359
noname#230359
回答No.1

Mコードでは引数渡しができないことが原因となっていると思います。 G65 P9020 X*.* Y*.* は通常の引数付マクロ呼出しですが、Mコード割付けを行い M100 X*.* Y*.* とする場合、Mコードは引数渡しができないために、 G65 P9020 として引数を付けないでマクロ呼出ししているのと同意と思われます。 引数を付けない場合、変数番号#0の"空"(から)変数とみなされます。 #0は値を持たないのでマクロ呼出しされたO-9020で利用しようとした場合、 エラーを発するものと思います。 なお、9001~9009もMコード割り付けできると思いますが、もしかしたら、そちらでは引数が有効であるかも?

noname#230358
質問者

お礼

O9001~O9009はサブプログラムを呼び出すMコードなので、 引数は使えないと思いましたが... アドバイスありがとうございました。 これからカスタムマクロを作成する上で大変参考になりました。

関連するQ&A

  • fanucの簡単なマクロ教えてください!

    okkのマシニングセンターを使い始めたんですが、簡単な慣らし運転のマクロを作りたいと思います(fanuc) O1 G91G28G00Z0 G28X0Y0 M03S500 G01X819Y-509F4000(最大ストロークX820Y-510) G28G01X0Y0 この作業(最後の2行)を繰り返したいのですがどういったマクロになるのでしょうか?

  • カスタムマクロで長穴加工

    お世話になってます。今回は、カスタムマクロで長穴加工のプログラムを製作したのですが、動いてくれません。どこか間違いがあれば、指摘の方お願いします。ちなみに、機械はマキノV56です。 G65P9000I30.J10.Z10.D99F200 X50.Y50. .... I:長穴の長さ J:長穴の幅の長さ Z:切り込み深さ D:補正番号 F:送り O9000 N1 G1Z#26F2000 G41D1X[#5/2]F#8 G3X-[#5/2]Y{#5/2]R{#5/2] G1X-[#4/2-#5/2] G3Y-#5R[#5/2] G1X[#4-#5] G3Y-#5R[#5/2] G1X-[[#4-#5]/2] G3X-[#5/2]Y-[#5/2]R[#5/2] G1X[#5/2] G0G40Z20. M99 こんな感じですが、よろしくお願いします。できれば解説なんかあるとありがたいです。

  • プログラムの工具径補正について

    マシニングで外周加工をするときに、工具径補正を使って工具の半径分逃がした動きをさせました G90G54G00X-127.0Y-49.0 T05 G43Z200.0H04M01 Z50.0S3000M03 Z3.0M08 G01Z-10.0F1000. G41X-119.5D04F600. G03X-127.0Y-38.34I-7.5 G01X-127.952 G02X-147.002Y-19.29J19.05 G01Y19.29 G02X-127.952Y38.34I19.05 G01X-127.0 G03X-119.5Y45.84J7.5 G01G40X-127.0 G00Z50.0 すると「円弧半径差過大」というアラームが発生してしまいます このプログラムは同じメーカーの工作機に使用していたプログラムで、その機械では動いていました ただ、以前のNC装置はFANUC6Mの古いタイプで 今使っているものはFANUC16Mです 工具は14mmのエンドミルです なぜ以前の機械では動いたのに今回の機械では動かなかったんでしょうか? 編集して G90G54G00B0X-127.0Y-48.34 T02 G43Z200.0H04M01 Z50.0S3000M03 Z3.0M08 G01Z-24.0F1000. G41X-117.D04F600. G03X-127.0Y-38.34R10. G01X-127.952 G02X-147.002Y-19.29R19.05 G01Y19.29 G02X-127.952Y38.34R19.05 G01X-127.0 G03X-117.0Y48.34R10. G01G40X-127.0 G00Z50.0 と円弧を大きくしたら動いてくれました 新しいNC装置だと14mmのエンドミルでR15の円弧は動かないんですか? よくわからなくなっているので今後の為にも教えていただきたいです 工作機械メーカーやFANUCに問い合わせるのが一番なのはわかっておりますが、現場の方の体験なども教えていただきたいです 宜しくお願いします

  • NCマクロからのサブプログラム呼び出し

    マクロの勉強中です。 使用機械 森精機 NH5000DCG 制御装置 fanuc30i マクロの実行についての質問ですが、 G65P0000X0Y0・・・・・とサブプログラムの呼び出しで Pで指定したサブプログラムをファイルとして用意しないで メインプログラムに記述して実行するというプログラムを 目にしました。 KST32B-FO-LM という文字刻印マクロプログラムです。 サンプルファイルの記述は以下です。 *********************************************************************** (X:#24:文字の中心のX座標・省略時=現在位置 ) (Y:#25:文字の中心のY座標・省略時=現在位置 ) (R:#18:Z方向 R点・省略不可 ) (Z:#26:Z方向 終点・省略不可 ) (I:#4 :横方向の倍率[全角文字は29mm、半角文字は15mmに対する倍率]・省略時=1.0) (J:#5 :縦方向の倍率[全角半角文字共に31mmに対する倍率]・省略時=1.0 ) (E:#8 :Z方向の切削送り速度・省略時=F/2.0 ) (F:#9 :XY方向の切削送り速度・省略不可 ) O0001 G91G30Z0 T1M6 G54G90G0X0Y0 S1000M3 G43H1Z100.0 Z3.0 G65P1309X0Y0R3.0Z-0.2I0.3J0.3F100 G65P4836X10.0R3.0Z-0.2I0.3J0.3F100 G65P1023X20.0R3.0Z-0.2I0.3J0.3F100 G65P1012X25.0R3.0Z-0.2I0.3J0.3F100 G65P1016X30.0R3.0Z-0.2I0.3J0.3F100 G65P1016X35.0R3.0Z-0.2I0.3J0.3F100 G65P1016X40.0R3.0Z-0.2I0.3J0.3F100 G65P4589X50.0R3.0Z-0.2I0.3J0.3F100 G65P3245X60.0R3.0Z-0.2I0.3J0.3F100 G65P1538X70.0R3.0Z-0.2I0.3J0.3F100 G65P3861X80.0R3.0Z-0.2I0.3J0.3F100 G65P2309X90.0R3.0Z-0.2I0.3J0.3F100 G65P1310X100.0R3.0Z-0.2I0.3J0.3F100 G0Z300.0M5 G91G30Z0 M30 O1012(CD=002C) #1=#4001 #3=#4003 IF[#9EQ#0]GOTO1 IF[#18EQ#0]GOTO1 IF[#26EQ#0]GOTO1 IF[#18LE#26]GOTO1 IF[#4EQ#0]THEN#4=1 IF[#5EQ#0]THEN#5=1 IF[#8EQ#0]THEN#8=#9/2 G90G0X#24Y#25 Z#18 G91X[-1*#4]Y[-8.5*#5] G90G1Z#26F#8 G91X[-1*#4]Y[-2*#5]F#9 X[-1*#4]Y[2*#5] X[1*#4]Y[2*#5] X[2*#4]Y[-2*#5] X[-1*#4]Y[-3*#5] X[-3*#4]Y[-3*#5] G90G0Z#18 G91X[4*#4]Y[14.5*#5] G#1G#3 GOTO2 N1#3000=1 N2M99 *********************************************************************** デモ版lance for windows というシュミレーションソフトで動きを見てみますと動作しています。 実際に加工機にかけてみてみればいいのですが、 その前にどなたかこういったサブプログラムの記述の仕方をお使いになって いらっしゃいましたらアドバイスをお願いいたします。

  • FANUC Series 0-M 大隈豊和2NC

    FANUC Series 0-M 大隈豊和2NC のNCフライスを転職して担当することになりました。 従来は大隈やFANUCの1990年以降の機械に携わってきましたが、 その例で、プログラミングすると、 変な動きをします。 1:ブロックゲージでZ原点を出し、G92でZ原点を割り出す。 MDI でG0Z100.と打ち込むと、2.66の誤差が生まれる。 2:穴あけプログラムで、 G54 H1 G90 G0 X0 Y0 Z100. Z50. G98 G73 R3. Z-1. F100. K0 M98 P11 G80 Z50. M30 % O11 G90 X-15. Y-15. X-30. M99 % 動きとしてはX-15.Y-15.まで移動して、 R3. のはずが、絶対値Z4. となり、Z3. まで加工して、延々と繰り返されます。 X-30.には移動しません。 動きにご存知の方、ご教示お願い致します。

  • 横マシニングセンターのマクロを消してしまいました。

    横マシニングセンターのマクロを誤操作により最初から入っていたプログラム以外全部消してしまいました。 機種は豊田工機のFH80B FUNUC Series 15-Mです。 バックアップをとっておらず(ここが問題なのですが…)大変困っております。 主に使っていたのが穴あけのプログラムで O0030; G65 P0405 A1.K90.; G65 P0405 A2.K90.; M98 P999; M06; M30; O0405; #101=#1; #106=#6; G65 P0306 B_.Z-_. F_. S_. I407. T_. K#306; G65 P0306 B_.Z-_. F_. S_. I407. T_. K#106; G65 P0306 B_.Z-_. F_. S_. I407. T_. K#106; O0407; X_. Y_.; X_. G80 G00 Z_.; M09; M05; M99; こういうプログラムが入っていたのですが、P999、P0306のところに何が入っていたのかわからず、あと#○○のところもわかりません。 結構前にいた人が作ったらしく、自分を含めマクロに明るい人間がいないため、どうしようかと頭を抱えています。 お詳しい方ご教授頂けないでしょうか!!

  • ユーザーマクロについて。

    初めてユーザーマクロを使ってみようと思い、 CAMで出力したポストをもとに作ってみました。 円の一部を2本の工具を使い加工するだけのパスです。 刃物はΦ6のエンドミル2本を使用しています。 変数として Aを加工する物の直径 Bをその半径 O100 G65P100A100. O200 #2=#1/2 (** P100**) T99 T01 (** 6H-A H01 D01 **) G54G00 G80G91G40G28Z0 G49G28X0Y0M05 M06 T02 G90G00X0Y0 G43Z50.H01 M03S3500 M50 X25.Y-[#2+1.] Z20. Z1. G01Z-1.F150 X-25.F500 G00Z20. Z50. X25. M09 (** 6H-S H02 D02 **) G80G91G40G28Z0 G49G28X0Y0M05 M06 T01 G90G00X0Y0 G43Z50.H02 M03S3500 M50 X25.Y-[#2+1.] Z20. Z1. G01Z-1.F30 X-25.F100 G00Z20. Z50. M09 (** End of tape **) G80G91G28Z0 G49G28X0Y0M05 M06 G90 M30 シミュレーションしてみるとエラーが出てしまいました。 どのようにすればイイですか? プログラム前半部分、訂正 (誤り) O100 G65P100A100. (正) O100 G65P200A100. 下記の皆様の回答をもとにこのようなプログラムで動かしてみました。 今回使用する機械にはファナック(M-18) 手打ちではなく下記のプログラムをコピーして機械に転送しております。 % O100 #1=100. #2=[#1]/2 (** P100**) T99 T01 (** 6H-A H01 D01 **) G54G00 G80G91G40G28Z0 G49G28X0Y0M05 M06 T02 G90G00X0Y0 G43Z50.H01 M03S3500 M50 X25.Y-[#2+1.] Z20. Z1. G01Z-1.F150 X-25.F500 G00Z20. Z50. X25. M09 (** 6H-S H02 D02 **) G80G91G40G28Z0 G49G28X0Y0M05 M06 T01 G90G00X0Y0 G43Z50.H02 M03S3500 M50 X25.Y-[#2+1.] Z20. Z1. G01Z-1.F30 X-25.F100 G00Z20. Z50. M09 (** End of tape **) G80G91G28Z0 G49G28X0Y0M05 M06 G90 M30 % しかし #2=[#1]/2 の場所で「009エラー」 と出ました。 アドレス関係のエラーのようです。 わかる方いましたらよろしくお願いします。 ファナック(M-16)で使用した結果 正常に動作いたしました。 改めて調べた結果 ファナック(M-18)の方にカスタムマクロを付けていなかったそうです。 マクロを使う以前の問題でした。 おさわがせしてもうしわけありませんでした。 今回初めてマクロを使用することになり ここで回答をいただいただけでも 大変ためになりました。

    • ベストアンサー
    • CAM
  • ファナック18-Mの変数使用について

    大隈のマシニングでFANUCの18-M を使用しています。 プログラムで変数を使おうとした所、変数に値を入力している所でアラームメッセージが発生して 「009 アドレス入力に誤りがあります」 と出てきて止まってしまいます。 プログラムは以下のように、 #1=1.6改行 G91Y[#1] 改行 X-3. 改行 Y-[#1] 改行 G0Z100.M9 としています。 構文がおかしいのか、変数を使用するのに何か設定が必要なのか、原因がわかりません。 よろしくお願いします。m(_ _)m

  • マクロについて?

    現在他の人が作ったマクロを解読中ですがMコードのでのマクロ呼び出しの 部分で煮詰まっています。  :  :  G91G30P2Z0M19  M75  G04 P100 G28 Z0 M76 G30P2Z0 G4P100 M77  :  : と続く訳ですがMコードの意味が分かりません・・・ これはMコードを使用したサブプロ呼び出しなのか、単にMコードとして 使用しているのか・・・??? ちなみに FANUC 15-MA ですが分かりますでしょうか?

  • 工具交換 G100の内部処理(マクロ処理)

    工具交換 G100の内部処理(マクロ処理)について G100は G91G28Z0 G80 G49 (M19) M09 M05 M06 を指令せずに工具交換をします。 ブラザー (例) タッピングセンター G100T1X-45.0Y40.0G43Z100.H1S750M03L2 G80 G49 M09 M05 をして原点復帰しT1を主軸に呼び XYZ(A軸C軸)同時位置決め補正番号Hで補正し回転S M03  L2 マガジンに待機工具 一行でここまで指令できます。 マクロを使えば G65 P○○○ .... .... .... ..... で呼び出すはず 現在使用しているのは、メルダス(マザック)、です。 上記はマクロで作ることはできるのですか 教えていただきたい。 立、横マシニング対話でしか動かせない者より よろしくお願いします。 メルダスマクロ詳しい方いらっしゃいますか? 翌日 簡単な プログラムを作成してみました。 特定のカスタムマクロを任意のGコードで呼び出す事が可能です。 呼び出すプログラムのワークNo 呼び出しに使うGコード番号 呼び出しタイプ M98 G65 G66 G66.1 が機械パラメータで設定可能でした。 まずはマクロで動かしてみます。 ブラザーのその機能に似たものはつくれますが、 おそらく全く同じには実装できません。 まねて動かすには O0010 G00G90G40G80; G00G90G54~G59; G65P8T85X0Y0G43Z150.H85S3000M03; (G66.1P8T85X0Y0G43Z150.H85S3000M03); O0008 (G40);必要に応じ G80M09; (G49M19);必要に応じ G91G28ZOM05; (G28X0); (G30Y0Z0); T#20T○○M06; G#10X#24#25Z#26H#11; S#19M#13; M99; % 上記では、T85を主軸にM06までは良いのですが G43で補正が出来ません。 良い方法はありませんか? G66.1ではG L N O Pが選択できるようですが 動作的にはG65呼び出しと変わりません。 また T#20T○○M06;のT○○待機工具も#に置き換えたい です。 こんな感じで間違っていませんか? とりあえずTツールを呼びH484 H485で補正がかかり 最後主軸T0 待機工具T0 で終了M30になりました。 A43長補正  B84次工具呼び出し  にしてみました。 次回G65P8 をG100に置き換えてみたいと 思います。 O0010 G00G90G40G80; G94; G00G90G54~G59; G65P8T85X0Y0A43Z150.H485S3000M03B84; G98固定サイクルZ R Q F; G65P8T84X0Y0A43Z150.H484S2000M03B80; G98固定サイクルZ R Q F; G65P8T0B0 M30; O0008; G40G80; M09; G91G28X0Y0Z0M05; G30Y0Z0; G90 忘れていました T#20T#2M06; M01; G#1X#24#25Z#26H#11; (M01); S#19M#13; M08; M99;