このQ&Aは役に立ちましたか?
カスタムマクロについての質問
2023/10/13 00:25
- マクロについて質問いたします。工具径、長補正G41,G43.1などの時にマクロで補正量を粗取りから仕上げまで繰り返して加工出きる様なマクロを作っているのですが、思うようにいきません。なにかよきアドバイスをお願い致します。
- G43.1のときにH01の値が仕上がりで100.0だとします。粗取りで110.0に設定して105.0-->101.0-->100.0とH01の値を設定したいのですが。
- 初心者な質問ですみませんが、よろしくお願い致します。
カスタムマクロについて
2002/06/06 14:51
マクロについて質問いたします、工具径、長補正G41,G43.1などの時にマクロで補正量を粗取りから仕上げまで繰り返して加工出きる様なマクロを作っているのですが思うようにいきません、なにかよきアドバイスをお願い致します。
例 G43.1のときにH01の値が仕上がりで100.0だとします、粗取りで110.0に設定して105.0-->101.0-->100.0とH01の値を設定したいのですが。
初心者な質問ですみませんが宜しくお願い致します。
質問者が選んだベストアンサー
こんにちわ。
HKSさんの所の機械の仕様が分からないのでいちがんに言えませんが、
システム変数の補正が#2001#2200、等に入っていると思います。
それを引っ張ってきてローカル変数に代入して計算させると、そのような事が可能です。
例 : D01が#2001の場合。
---プログラム---
#2001+10.
N01
加工プログラム
#2001=#2001-5.
GOTO1
END
---プログラム終わり---
これで4回ループさせるかIF文で IF[#2001EQ既定値] を分岐させるとかどうでしょう?
システム変数を書き換えるのは危険を伴うので違うマクロを考えた方が良いと思います。
うちのページで申し訳ないのですがよければどうぞ。
説明してあります。ヽ(´ー`)ノ
このQ&Aは役に立ちましたか?
この質問は投稿から一年以上経過しています。
解決しない場合、新しい質問の投稿をおすすめします。
その他の回答 (6件中 1~5件目)
たびたびすいません。
質問に合わせて回答しましたがうちの現状は下記の通りです。
P0000:サブプロ(例えばポケット加工)
工具径補正:例えばD1に10.0 D101に10.25 D102に10.5 D103に11.0 と入力。
切り込みはZで残り代で指示
粗加工ツ-ル
G65P0000Z10.0D103(Z10.0残しXY1.0残し)
G65P0000Z5.0D103(Z5.0残しXY1.0残し)
G65P0000Z1.0D103(XYZ1.0残し)
仕上げ加工ツ-ル
G65P0000Z0.5D102(XYZ0.5残し)
G65P0000Z0.25D101(XYZ0.25残し)
G65P0000Z0D1(XYZ仕上げ)
はっきり言って見た目スマ-トなプログラムでは有りませんが
能力の違うオペレ-タ誰がみても分かり易いの優先しました。
また 加工の状況を見てZとXYの残り代の組み合わせを 変更易いと思います。
jackalさんのおしゃるとおり システム変数自体を書き換えるのは デ-タの保持をやってサブから出るときに元に戻すなどのやり方もありますが 落とし穴(何かの理由でマニュアルでサブから出た場合など)がありますので 複数のオペレ-タで使う場合しっかりしたル-ルづくりが必要です。
お礼
2002/06/10 08:51
大変参考になりました、ありがとうございました。
こんにちは。
私が作ったマクロは補正量の値を変更する方法ではなく、加工する深さの方を変更させるやり方です。
G65で、加工するサブプロの番号、最終Z位置、最終の加工代、一回あたりのZの切り込み量、送り速度などを引数指定してループ計算させ、サブプロのZの値を引数で変更させていきます。
参考まで。
お礼
2002/06/10 08:52
ループを使ってみようと思います、ありがとうございました。
修正します。
だんだん切り込んで行くのだから
H01に100.0 H101に110.0 H102に105.0・・・・・と入力して
じゃなくて
H01に100.0 H101に105.0 H102に110.0
ですね
m(_ _)m
お礼
2002/06/10 09:00
わざわざありがとうございます。
マクロではありませんが下記のようなプログラムでも
対応可能かと思われます。
当社ではよく使っています。
#100の内容を変えたりすれば色々なパターンでもOKだと思います。
#100:H01の補正値
#11001:H01の値
***:サブプログラムNo.
O777
#100=115
N100#100=#100-5.
#11001=#100
M98P***
IF[#100EQ100]GOTO110
GOTO100
N110#100=102
#100=#100-1.
#11001=#100
M98P***
IF[#100NE100]GOTO110
M99
お礼
2002/06/10 08:58
始めまして、ほとんどこのプログラムを真似てみました、大変参考になりました、ありがとうございました。
こんにちは。
一番簡単なのはH01に100.0 H101に110.0 H102に105.0・・・・・と入力して
G65P0000H102
G65P0000H101
G65P0000H01
とやれば良いんじゃないですか?
補正番号に対応したシステム変数ファナックだと#10001以上を使って読み込み書き込みができますのでこちらでも良いですよね。
お礼
2002/06/10 08:56
補正番号に切り込み量を入れるアイデアは大変参考になりました、ありがとうございました。
お礼
2002/06/10 08:55
HP見させていただきました、すごく勉強になりました、まだ初心者なのですが大変分かりやすい解説でした、ありがとうございました。