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

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

ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:OSPのマクロについて)

OSPのGコードマクロについての質問

2023/09/06 16:30

このQ&Aのポイント
  • OSPのGコードマクロにおいて、メインでのアドレスFの値をサブプロ内で扱うための受け渡し変数があります。
  • OKUMA&HOWA製のMCでは、F1桁送りスイッチをGコードマクロでも有効にすることはできないようです。
  • メーカーで組み込んであるマクロ(真円切削マクロやポケットミル、ラウンドミル等)ではF1桁送りが使える可能性があります。
※ 以下は、質問の原文です

OSPのマクロについて

2004/07/13 20:33

 こんばんは。 
OSPのGコードマクロについての質問です。

Gコードマクロにおいてサブプログラムを作る際、受け渡し変数というのがあります。
その変数を使って送りの値を指令する時なんですが、通常メインにて使用したいアドレスを仮に「F」とし、サブプロ内では「PF」という変数を使うことによって、メインでのアドレスFの値が扱えます。
これはマニュアル記載のとおりです。

ここで本題ですが、
当方の機械はOKUMA&HOWA製のMCなのですが、これにはF1桁送りと呼ばれるスイッチがあります。
通常F1と指令するとF1桁送りスイッチの「F1」が有効になるのですが、この機能をGコードマクロでも有効にすることは出来ないのでしょうか?

メインでF1としてGコードマクロにて呼び出すサブでF=PFとすると、F1桁スイッチは使えず(毎分1mm)で切削します。
理屈的に当然と言えば当然なのですが(汗

どうにかしてGコードマクロ内でF1桁送りを使うことは出来ない物でしょうか?
そもそも仕様的に無理なんでしょうか・・。

メーカーで組み込んである真円切削マクロやポケットミル、ラウンドミル等の場合は使えるので、ユーザーの方でも使えそうな・・・?と思っています。

どなたかそのような方法ご存知な方みえましたらご教授下さいm(__)m

PS,
大変質問が分かりづらいかもしれません。その場合は補足いたしますので、「突っ込み」お願いします(滝汗

(参考データ)
制御装置:OH-OSP-HMi
機種名:OKUMA&HOWA MILLAC 561V

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

ベストアンサー
2004/09/04 16:43
回答No.2

私の回答は、まーぼーさんが対策されている内容と同じ考え方です。
期待通りに動作することを祈っております。

ところで、改造中に水を差すようで申し訳ありませんが、F1桁送りは便利ではありますが、量産品に使用するのは好ましくありません。

送り速度は加工精度や工具の寿命にも影響を与えるため、オペレータの判断で速度が変更されるリスクがあるからです。

品質を均等に維持するにはやはり直接指令で送り速度を指令するのが良いと思います。
そのような背景から、最近のNC工作機械はF1桁ダイヤルを付けるケースが少ないようです。

試作品やテストでF1桁送りを使用されるのはこの限りではありません。

お礼

2004/09/04 18:44

ありがとうございます。改造は済んでいて、正常に動作しておりますよ。

ご指摘の点については問題ないですよ。
ウチの加工は単品がほとんどで、その場限りのプログラムが主流なのです。
なので、普段から多用するF1桁送りをマクロで使いたいと思った次第です。

もちろん、定期的に何度も来るような製品に関しては直に送りを入れ、後で見ても分かるようなプログラミングを心がけていますので、同じ条件で加工出来ると思います。

また何かあればよろしくお願いします。
ありがとうございましたm(__)m

質問者

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

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

質問する

その他の回答 (2件中 1~2件目)

2004/09/02 09:06
回答No.1

F1桁送りはダイヤル数が限られていますので、Fの値をケース分けし、F指令は必ず直値で指令したらいかがでしょうか?

「例」
 FPが1の時
  G01XーY-Z-F1;
 PFが2の時
  G01XーY-Z-F2;
 ・
 といった具合です。

CNCのパーサーは、ワードアドレスFに変数で引き当てられたか、直値で引き当てられたかにより、直接指令か、F1桁かを認識していると思います。
その他に、F1桁を有効にするしないとうSWまたはパラメータがあるかもしれません。
それは、お調べ下さい。 

お礼

2004/09/04 03:05

回答ありがとうございますm(__)m
ずっと回答が付かないままだったのでうれしいです。(^。^)
やはりファナックユーザーさんが多いのですかね。

実は自分なりにひらめき対策をしました。
もしかしたら、Flower_Laboさんのおっしゃっている事と同じかもしれません。
それはこうです↓

マクロ内でIF文によりPFの値を調べてその値が例えば「1」だったら、マクロ内でF1を宣言する
といった感じです。

N00
IF [PF EQ 1] N01
G01 X_Y_ F=PF
GOTO N02
N01
G01 X_Y_ F1
N02
...
...

ってな具合ですべてのスイッチについて調べています。少々面倒ではありますが・・。
回答していただいた内容と同じ考えですかね?
ご回答の内容の解釈が違っていたら申し訳ありません。

今ではパラメーター等の方法は無いような気がしています。
Gコードマクロに限らず、変数を「F」に使用すると同じく1桁送りは有効にはなりません。
VC1=1
G01 X_ F=VC1
としても、Fは1mm/minになります。

もしかしたらメーカーのマクロも、プログラム内で判定しているかもしれませんね。
マニュアルには記載されてないですし・・・。

用意されていそうでされていない感じ。
いや、それをしようと思う私がひねくれているのか(滝汗

F1桁送り結構便利なもんですから・・・。

質問者

お礼をおくりました

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

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