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

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

1人が「役に立った」と評価
締切済み
※ ChatGPTを利用し、要約された質問です(原文:マキノ KE-55 変数の取り扱いについて)

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

2023/10/19 02:50

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

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

2013/12/11 19:06

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行も入力しなければいけないので、変数を使って動かしたいのですが、根本的な使い方が間違っているのでしょうか?

よろしくお願いします。

また、別の良い加工法があったら教えてください。

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

2013/12/11 21:24
回答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分で完了するような作業です。

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

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

質問する
2013/12/11 19:41
回答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とは渋い機械をお使いですね!
羨ましいです。

お礼

2013/12/11 20:58

早速、ありがとうございます。
当方の知識不足ですが、マクロのオプションってなんですか?

あとは、指摘して頂いた点は明日確認してみます。
変数の[]と小数点は知りませんでした(T.T)

質問者

お礼をおくりました

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

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