マキノKE-55変数を使った加工方法

このQ&Aのポイント
  • マキノKE-55を使用して、溶接材の開先30°を加工する方法について詳しく説明します。
  • 変数を使ってX方向に0.1mmずつ送りながら、直線補間G1で削る手法を提案します。
  • しかし、変数を使用する際にエラーが発生することがありますので、操作方法に注意が必要です。
回答を見る
  • 締切済み

マキノ KE-55 変数の取り扱いについて

NC初心者です。 マキノKE-55についているFUNUC 20-FAを使っています。 溶接材(70×150mm 厚さ9mm)の開先30°を加工しようと思っています。 YZ平面を直線補間G1で削ろうと考えています。 X方向は変数を使って、0.1mmずつ送っていこうと思っています。 以下のようなプログラムを考えました。 使っている工具は80mmのフルバックです。 ワーク原点はマシンバイスの固定口金右角です。 O0001 G54 G90.0 G0 X20.0 Y45.0 Z10.0; S600; M3; G1 Z1.0; #1=0 WHILE [#1 EQ -180] DO1; G91 Z-7.35 Y-12.7 Z7.35; #1=-#1-0.1; G0 X#1 Y12.7; END1; G90 G0 Z50; M5; X100 Y100; M30; シングルブロックで起動させると、 #1=0 で、「09 アドレス入力に誤りがあります」とエラーになります。 WHILE文をIF分に変更したり、何度も入力を確認したのですが、症状 は同じです。 変数を使わないで、サブプログラムではうまく動いたのですが、PCが接続できないので、操作盤から手打ちで入力しています。0.1mmで送ると1800行も入力しなければいけないので、変数を使って動かしたいのですが、根本的な使い方が間違っているのでしょうか? よろしくお願いします。 また、別の良い加工法があったら教えてください。

noname#230358
noname#230358
  • 切削
  • 回答数2
  • ありがとう数2

みんなの回答

noname#230359
noname#230359
回答No.2

(1)と同じくNCフライスはマクロ使えました? カタログではカスタムマクロBは☆でオプションです。 使えたとして ありがちなのはゼロとオーの打ち間違い。上記では正しいですが。 文法以外では   #1=-#1-0.1; 右辺 -#1 マイナスを付けると都度符号が変わってヘンなループになるのでは   WHILE [#1 EQ -180] DO1; 停止条件なので NE では? それと EQ NE の判定は、思惑通りに動かない(停止)ないことあります。   -0.1-0.1、、(1800回減算)、、、→ -179.999999 や -180.0000001かもしれない コンピュータ数値(浮動小数点)は計算誤差があるものと扱うべきで筆算のようにいかない。      WHILE [#1 GT -180.01] DO1;   WHILE [ROUND[#1] NE -180] DO1; のようなテクニック。 × WHILE [ROUND[#1] NE -180] DO1;  -179.5を超えると停止条件を満たしてしまう。 ○ WHILE [ROUND[#1*10]/10 NE -180] DO1; ループ変数が小数では面倒な考慮を要するので、整数にしたほうがスッキリします。 カスタムマクロBというのが今は標準。NCフライスではそれを付けない簡易版がある。 そこでふと湧いた疑問。BがあるならAもある? ありました。。。   http://nc-program.s-projects.net/macro-a.html 原始的な文法なので間違うおそれあり、カスタムマクロBで慣れてないと事実上無理と思います。 Bへの変更は少しお金がかかるが、ハードの追加ではなく、サービスマンが来てパラメータ変更するだけ、1分で完了するような作業です。

noname#230359
noname#230359
回答No.1

マクロのオプションは入っていますね? エラーも含めて気になった箇所は、 #1=0.;  ← WHILE [[#1] EQ -180.] D1;  ← G91 G01 Z-7.35; ← Y-12.7 Z7.35; #1=#1-0.1;         ← G0 X[#1] Y12.7; ← END1; ぐらいです。 あとは、#1を#101とか#501に変えてみるとか。 ↑ 自信あり になっていますが 自信なし の誤りです。 すみません。 >当方の知識不足ですが、マクロのオプションってなんですか? (2)さんの記載の通り、NCプログラム内で演算させる機能は オプションです。 メーカに依頼してお金を払うと、サービスマンが来て機能を使え るようにしてもらえます。 あと、同じく(2)さんの指摘で私の間違いに気づきました。 WHILE [[#1*[-1]] LE 180.] DO1; ですね。 即ち "(#1×-1)≦180)"ならば1までを繰り返せ"となります。 (10年以上NC装置を触っていないので "≧" のコマンドを 忘れてしまいました) これなら-180.に到達してから、ループを脱出できます。 私感) KE-55とは渋い機械をお使いですね! 羨ましいです。

noname#230358
質問者

お礼

早速、ありがとうございます。 当方の知識不足ですが、マクロのオプションってなんですか? あとは、指摘して頂いた点は明日確認してみます。 変数の[]と小数点は知りませんでした(T.T)

関連するQ&A

  • サブプログラムで教えて頂きたいです。

    N10(MAIN) G91 G28 Z0; G54 G90 G0 X10 Y-20; G43 G0 Z100 H1; S1000; M3 M8; G0 Z5; G1 Z-1. F400; M98 P100 L4; G80 G90 G0 Z100 M9; G91 G28 G0; (MACHINING.END) M30 ; % N100(SUB) G90 G1 Z-2. F400; G41 G1 X20. Y0. F40 D11; G1 X20. Y20.; G1 X10. Y20.; G1 X10. Y0.; G40 G1 X10. Y-10.; M99; M30; % 長くなりましたが 上記のようなサブプログラムを使って ポケット加工を行う場合に 自動でZ軸を(0.5ずつ10回) 降ろしていくにはどうしたら良いでしょうか? どなたか教えて頂ければ幸いです。

  • 変数で切込み量追加

    Z0の平面切削で (#100=素材の幅) (#101=素材の奥行) (#110=工具直径) (#120=T番号) (#130=回転数) (#131=送り) #100=200. #101=100. #110=20. #120=01 #130=2000. #131=800. N0001 T#120M06 G90G00G54X0Y0 G43H#120Z100000 S#130 M03 WHILE[#101GE0]DO1 G90 G00X-[#100/2+#110]Y#101 Z2.0 G01Z0.F500 X[#100/2+#110]F#131 Z2.0F500 #101=[#101-#110/2] END1 G00Z100000 X0Y0 G90G49G53Z0 M05 M09 M30 % これだとZ0の高さだけの切削ですが Z0より上に取り代がついていて、 切込み量を加えたい場合はどうすればいいでしょうか

  • F社ワイヤーカット(α1iA)の異常な動き

    F社ワイヤーカット(α1iA)にて 丸のパンチを切り出す加工を行いました。 プログラムは下記の通りです。 % O0001 G92X0.0000Y-57.0000 G90G01G41X0.Y-50. G02X28.2321Y-41.2668J50. G01G40X28.4015Y-41.5144 M30 % X0Y-57.の座標からスタートし、切り落としの30mm手前で ストップするプログラムです。 切り落としは別プログラムで加工する予定でした。 このプログラムにて加工をスタートさせれば、 本来であればM30を読み込んでプログラム終了となり、 機械の全機能がストップし、カーソルはプログラムの先頭に戻るはずです。 通常はウチの機械もそのように動くのです。 しかし、今回はなぜかM30を読み込んでも機械がストップしずに、 先頭からそのまま加工を続けてしまったのです。 M30の一つ前のブロックのX28.4015Y-41.5144を G92でスタート地点と認識し、そこからまた円の加工を 始めてしまったのです。 もちろん、ワークは使い物になりません。 その後、すぐにドライランにて確認したのですが、 何度やっても、M30でしっかりとまります。 描画も問題なくできます。 機械設定の詳細の中に「サブプログラム中のM30をM99として認識させる」 オプションがありますが、これはメインプログラムから 呼び出したときの話ですので、今回のように サブプログラムを使用しない場合には関係のない話であると 思っています(ちなみに、後からのドライランにて再現しなかったので 、このオプションを疑うこと自体間違いであるとは思います)。 CNCの版数は SERIES  VERSION B9F3   0019 です。 皆様にお伺いしたいのですが、 (1)NC機側のバグでこのような現象が起こりうるものなのか? (2)再現性がない場合、メーカーは動いてくれないので、  メーカーに訴えるためにも、同様の現象を経験したことのある方が  みえれば、お話をお伺いしたい 以上、ご経験のある方、ご意見をお聞かせください。

  • G73の戻り量について

    単純にワークの上面から15mmの穴をフラットエンドミルで4箇所あけるプログラムをCAD/CAMで作りました。15mm一気に掘り下げないで、5mm掘って5mm戻るプログラムを作ったつもりでしたが、実際に加工すると5mm掘って、戻らずにまた5mm掘って、また戻らずに5mm掘り15mm掘ったら次の穴に移動し、同じことの繰り返しの動きになりました。5mm戻す量の設定は機械側とCADのサーポートで聞いたため、No.5114のパラメータに0が入っていたのを5と入力して変えてみても結果は同じでパラメータが反映されていないように思います。 何が原因で5mm戻らないのか、お教え頂きたく、宜しくお願い致します。 なお、FUNACの18iを使用しております。 以下、プログラムです。 % O0 M06T105 G90G40G17G49 G00G55X0Y0 M08 M03S6000 G43Z100.H05 Z95. G98G73X25.Y25.Z60.R80.Q5.F100 Y50. X50. Y25. G80 Z100. M05 M09 G05P0 G91G28Z0 G49 G28Y0 M30 %

  • アルミの側面切削について・・・

    厚さ28mmのアルミの板に21mmの下穴をあけて、16mmのエンドミルで側面加工し22mmに仕上げたいと思うんですが、何度やっても細かいビビリ模様がついてしまいます。またエンドミルの削り始め場所にわずかにスジが入ります(指で触るとくぼんでいるような感じ)、こんな時経験豊富なみなさんならどうしますか?ご指導よろしくお願いします。 ・DLCミルロングシャープコーナー2枚刃 SL2DLCSC(NACHI)  刃径16mm 刃長50mm  ・回転数5400min–1 送り960~1200mm/min ・ウエット加工 ・材質 アルミニウム合金鋳物 ・加工プログラム  N200M1(D16.ENDMILLS)  G49M6T7  G90G00G55G43X0Y0Z100.H7M3S5400M8  Z-32.  G41X-10.Y-1.D7  G03X0Y-11.R10.F960  J11.  X10.Y1.R10.  G40G00X0Y0  Z100.M9  G91G28Z0M5 アドバイスよろしくお願いいたします。

  • 1変数関数と2変数関数について

    2つの1変数関数 z(x)=2x+1, z(y)=3y+5 から z(x,y)=axy+bx+cyの形を持つ2変数関数の導出をしたいのですが、どのように計算すればよいのか教えて頂けないでしょうか。 また、2変数関数を2つの1変数関数へ分解することは可能なのでしょうか? 以上、お手数をお掛け致しますが何卒宜しくお願い致します。 先日類似の質問をさせて頂いていたのですが、一部誤記もありましたので 再度質問をさせて頂きます。

  • 3変数における、極値の求め方

    f(x,y,z)=(a*x^2+b*y^2+c*z^2)exp(-x^2-y^2-z^2) この関数の極値をすべて求めよ。ただし、0<a<b<cである。 という問題があるのですが、どうやって解けばよいのでしょうか? 変数が2つのものならなんとかできるのですが、変数が3つのものはどうすればよいのでしょうか?

  • 2つの1変数関数から、2変数関数の導出

    2つの1変数関数 z(x)=ax+b, z(y)=cx+d から z(x,y)=αxy+βx+γyの形を持つ2変数関数の導出をしたいのですが、どのように計算すればよいのか教えて頂けないでしょうか。 以上、お手数をお掛け致しますが何卒宜しくお願い致します。

  • ファナック18-Mの変数使用について

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

  • 偏微分と媒介変数?を使った証明

    力学のある問題で困っております。 z=f(x+ay)+g(x-ay)  「f,gは関数で、( )内はその変数の値のこと」 のとき (a^2)・∂^2z/∂x^2 = ∂^2z/∂y^2 を示せ。  です。 様々挑戦してみたのですが、媒介変数を利用した微分記号の扱いがうまくいかず、途中で行き詰まります。どなたかわかりませんでしょうか?