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

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

締切済み
※ ChatGPTを利用し、要約された質問です(原文:工具交換 G100の内部処理(マクロ処理))

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

2023/10/16 01:20

このQ&Aのポイント
  • 工具交換 G100の内部処理(マクロ処理)について、G100は G91G28Z0 G80 G49 (M19) M09 M05 M06 を指令せずに工具交換をします。
  • メルダスマクロの詳細について、特定のカスタムマクロを任意のGコードで呼び出すことが可能であり、呼び出しに使うGコード番号と呼び出しタイプ(M98、G65、G66、G66.1)が機械パラメータで設定可能です。
  • マクロの動作に関する質問があり、G43での補正がうまく行かない場合や、待機工具の指定方法についての悩みがあります。
※ 以下は、質問の原文です

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

2008/10/07 21:30

工具交換 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;

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

2008/10/10 14:09
回答No.2

ファナックでの工具長補正は、以下のようにします。
G43Z[ABS[#[2000+#148]]]H#148
内訳は以下になります。
#148は機械がTコードを読み込んで保存している場所です。
#[2000+#148]はシステム変数で工具長補正量です。
機械により異なります。(マニュアル参照)
ようするに、工具長補正量だけマイナスに移動させ工具長補正をかけると移動量ゼロの工具長補正が出来ます。

ちなみに私の縦型用カスタムマクロでは、
工具交換
T1000; これだけで原点復帰してT10の工具交換をしてH10の補正をかけます。
アプローチ(G54)
M154X_Y_S_T_; XYアプローチZ100アプローチ・主軸回転・次工具呼び出しとなります。

参考にしてみて下さい。

お礼

2008/10/15 20:51

ありがとうございました。
しかし 
”#[2000+#148]はシステム変数で工具長補正量です。”
取り説とにらめっこしないと現状では理解出来ません。
機械動作済の簡単なプログラム掲載しますので
後にアドバイス頂ければ...と思います。
対話(マザトロール)ばかり使っていると ISO/EIAでは
困る事がおおいです。

質問者

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

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

質問する
2008/10/08 03:06
回答No.1

メルダスは触った事がありませんが、少なくともファナックでは
特定のカスタムマクロを任意のGコードで呼び出す事が可能です.
この場合、「Oxxxxを呼び出すGコード番号」というパラメータがあり、
そこに例えば119を設定する事で、「G119」でそのカスタムマクロが呼び出される訳です.
たぶん、メルダスにも似た様な機能はあると思います.

ただし、これはあくまでカスタムマクロですから、
カスタムマクロでできない事は一切できません.
ブラザーのその機能に似たものはつくれますが、
おそらく全く同じには実装できません.
ファナックの場合ですと、カスタムマクロに渡すパラメータに、
アドレスLが使えません.

カスタムマクロというのは、
NCプログラムのインタープリタ上で実行される訳ですが、
工作機械メーカーで用意している様な独自のGコードを
全く同じ様に実装するには、そのインタープリタを介さずに実行できる、
NCのアドオン的なプログラムを用意しなければなりません.
マシン語なのか中間言語形態なのかは知りませんが、
予めコンパイルしてNCの中に組み込んでおく訳です.

ファナックで「C言語エグゼキュータ」と呼んでいるのがそれだと思います.
カスタムマクロと違って、NCの内部のかなり広範囲にアクセスできる様です.

お礼

2008/10/08 19:45

早速ありがとうございました。
追加で不明点です。
翌日 簡単な プログラムを作成してみました。

特定のカスタムマクロを任意の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○○待機工具も#に置き換えたい
です。

メルダスは触った事がありませんが、少なくともファナックでは
特定のカスタムマクロを任意のGコードで呼び出す事が可能です。
この場合、「Oxxxxを呼び出すGコード番号」というパラメータがあり、
そこに例えば119を設定する事で、「G119」でそのカスタムマクロが呼び出される訳です。
たぶん、メルダスにも似た様な機能はあると思います。

ありがとうございました。
確かにパラメータがあることを確認出来ました。

質問者

お礼をおくりました

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

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