• 締切済み
※ ChatGPTを利用し、要約された質問です(原文:ヘリカル仕様で無いマシンですが。)

ヘリカル仕様で無いマシンでのG11とBHCの併用による問題解決方法

このQ&Aのポイント
  • ヘリカル仕様でないマシンでも、小径の穴から大径までの作動は問題ありませんが、G11とBHCを併用すると問題が発生します。
  • ヘリカルのサブプログラムを使って角度の計算を行う際に、機械の処理速度が追いつかない可能性があります。
  • ヘリカルのオプションがないOKUMA OSP7000Mのマシンでは、G11とBHCの併用を解決する方法は限られます。

みんなの回答

noname#230359
noname#230359
回答No.4

(長文で申し訳ありません) G11で平行移動XYがあったり、BHCの中心がX0Y0でない場合などは回答(3)の用に簡単に対処できません。 その場合、G11の平行・回転移動量を引き渡して、ローカル座標を算出させる方法があります。 下記がプログラム例です。 ----- T1 M6 G15 H1 X0 Y0 G56 Z100. H1 S1000 M3 M8 G71 Z100. NCYL G81 R3. Z-3. F100 M53 CALL O23 G80 G0 Z30. G71 Z30. NCYL G81 R3. Z-3. F100 M53 CALL O24 G80 G0 Z500. M9 M5 G15 H11 X0 Y600. M1 T13 M6 G15 H1 X0 Y0 G56 Z100. H13 D13 S1500 M3 M8 MODIN OR23 PX=60. PY=50. PP=40. CALL O23 MODOUT G0 Z30. MODIN OR24 PX=60. PY=50. PP=40. CALL O24 MODOUT G0 Z500. M9 M5 G15 H11 X0 Y600. M1 G15 H1 M63 M6 M2 ----- O23 G11 X60. Y50. P40. OMIT R1 R5 R6 R7 BHC X30. Y20. I200. J0 K10 G10 RTS ----- O24 G11 X60. Y50. P40. OMIT R2 R3 R4 R8 R9 R10 BHC X30. Y20. I200. J0 K10 G10 RTS ----- OR23 XB=VRCOX-VMOFX-VZOFX[VACOD] YB=VRCOY-VMOFY-VZOFY[VACOD] XC=[XB-PX]*COS[-PP]-[YB-PY]*SIN[-PP] YC=[XB-PX]*SIN[-PP]+[YB-PY]*COS[-PP] G0 Z0 ZS=VRCOZ-VMOFZ-VZOFZ[VACOD]-VTOFH[VHCOD] G1 X= 0.5+XC Y=-11.+YC G41 F500 G3 X=11.5+XC Y= 0 +YC R11. M132 F300 CALL OHEL1 Q1 XC=XC YC=YC ZS=ZS RD=11.5 ZL=1. AP=1. G3 X= 0.5+XC Y= 11.+YC R11. M133 G1 X= 0 +XC Y= 0 +YC G40 F500 G0 Z100. RTS ----- OR24 XB=VRCOX-VMOFX-VZOFX[VACOD] YB=VRCOY-VMOFY-VZOFY[VACOD] XC=[XB-PX]*COS[-PP]-[YB-PY]*SIN[-PP] YC=[XB-PX]*SIN[-PP]+[YB-PY]*COS[-PP] G0 Z0 ZS=VRCOZ-VMOFZ-VZOFZ[VACOD]-VTOFH[VHCOD] G1 X= 1.+XC Y=-11.+YC G41 F500 G3 X=12.+XC Y= 0 +YC R11. M132 F300 CALL OHEL1 Q1 XC=XC YC=YC ZS=ZS RD=12. ZL=1. AP=1. G3 X= 1.+XC Y= 11.+YC R11. M133 G1 X= 0 +XC Y= 0 +YC G40 F500 G0 Z30. RTS ----- OHEL1 AA=0 AE=360. NJ1 AA=AA+AP IF[AA GE AE]NJ2 G1 X=COS[AA]*RD+XC Y=SIN[AA]*RD+YC Z=-ZL*AA/AE+ZS GOTO NJ1 NJ2 G1 X=COS[AE]*RD+XC Y=SIN[AE]*RD+YC Z=-ZL*AE/AE+ZS ZS=ZS-ZL RTS ----- すみません。 誤…G11で平行移動XYがあったり、BHCの中心がX0Y0でない場合などは回答(3)の用に簡単に対処できません。 正…G11で平行移動XYがあったり、BHCの中心がX0Y0でない場合などは回答(3)のように簡単に対処できません。

noname#230358
質問者

お礼

かなり遅くなりましたが、今回も、お世話になり、有難う御座いました。理想とは、少し違ってましたので、回答4を参考に、自分なりに、色々と試しました。実際の加工は、BHCでの分ですが、基準の刻印を歯車の谷間中心にしないといけませんので、そのままでは使えませんでした。が、メインとサブで、G11の使い分けすれば、使えました。 T1 M6 G15 H1 X327Y0 G11 P-1.300 G56Z100H1 S1200M3 M8 G71 Z30 NCYL G81 R3 Z-1.5 P1 F60 M53 X327 Y0(基準) G10 G0 Z10 NCYL G81 R-57 Z-62.5 P1 F60 M53 CALL ODR10 G80 Z500 M9 M5 G15 H11 X0 Y600 M01 G15 H1 この後は、22.5のドリルで下穴空けです。 以下、回答4の応用とサブです。 T13 M6 G15 H1 X327 Y0 G56 Z100 H13 S1500 M3 M8 MODIN OR23 PX=0 PY=0 PP=-1.300 CALL O23 MODOUT G0 Z30 MODIN OR24 PX=0 PY=0 PP=-1.300 CALL O24 MODOUT G0 Z500 M9 M5 G15H11 X0 Y600 M01 G15 H1 サブです。 ODR10 G11 X0 Y0 P-1.300 BHC X0 Y0 I200 J0 K10 G10 RTS / O23 G11 X0 Y0 P-1.300 OMIT R1 R5 R6 R7 BHC X0 Y0 I200 J0 K10 G10 RTS / O24 G11 X0 Y0 P-1.300 OMIT R2 R3 R4 R8 R9 R10 BHC X0 Y0 I200 J0 K10 G10 RTS /

noname#230359
noname#230359
回答No.3

回答(2)さんの推測が合っています。 「No.26051 ヘリカル仕様で無いマシン」の回答(5)を再確認して下さい。 >XC=~・YC=~・ZS=~は、システム変数を用いてワーク座標系の現在位置を読み込んでいます。 G11~G10は「ローカル座標系」なので、XC=~・YC=~・ZS=~が、うまく機能しないわけです。 また、残念ですがシステム変数を用いてローカル座標系の現在位置を読み込むことはできません。 とりあえず今回は、G11のPをBHCのJに足し込んでG11~G10をやめてしまえば良いと思います。 アプローチ~エスケープのパスは回転しませんが問題ないでしょう。 「描画(動画?)速度オーバー」は、動画機能の送り速度の限界を超えると発生します。 実加工には支障ありませんが、動画表示がされなくなります。 ----- T13 M6 G15 H1 (G11 P-0.258) X377 Y0 G56 Z100H13 S1500 M3 M8 MODIN OR23 CALL O23 MODOUT G0 Z30 MODIN OR24 CALL O24 MODOUT G0 Z500 M9 M5 (G10) G15 H11 X0 Y600 M01 G15 H1 M63 M6 M2 ----- O23 OMIT R1 R5 R6 R7 BHC X0 Y0 I200 J-0.258(J0) K10 RTS ----- O24 OMIT R2 R3 R4 R8 R9 R10 BHC X0 Y0 I200 J-0.258(J0) K10 RTS -----

noname#230358
質問者

お礼

今回も、適切なアドバイス、有難う御座います。ちょっと特殊な段取りの品物なので。G11でのPは、X377 Y0に対してでのズレです。、BHCでイジルなら、一度、ズレを修正して、PCD400に対して、BHCのJ-にズレ割る200のINV.TANで割り出して、サブのJに直接数値を入れるしかないですね。とにかく試してみます。

noname#230359
noname#230359
回答No.2

仰っているプログラムでの動作を確認していませんが、今ざっと見た感覚での「なんとなく程度」の回答になります。ご容赦を。 ひょっとしたら以下の部分 >XC=VRCOX-VMOFX-VZOFX[VACOD] YC=VRCOY-VMOFY-VZOFY[VACOD] と「G11」との相性が悪いかも知れません。 「G11」を消して動くかどうか確認してみてください。 マニュアルをちゃんと覚えていないので推測ですが、 上記の部分は擬似ヘリカルを「G91」のみでプログラムを作成すると大変ややこしいので、穴位置座標を変数に読み込むために(アレコレ)しているものだと思います。 言い方を変えれば「G11」の補正分が想定外で加算されていない可能性があります。 もし、私の上記の推測が正しい場合、 「G11」の状態そのものを読み込むシステム変数の存在があれば(あるかどうかは確認していません) 相応に対応出来るのではと思います。 大抵の状態はシステム変数で読み込めますから。 それが叶わない場合は「G11」に相当する機能をヘリカルマクロ内に設けることになるかと思いますが、いまいち実用性に欠けますね。 ぼやけたヒント程度の回答ですが解決の糸口になれば幸いです。

noname#230358
質問者

お礼

回答、頂き有難う御座います。理屈は解りますが、ローカル変数や、システム変数、コモン変数など、なんとなく解りかけ?位ですので、自身も確信が有りません。なので、何パターンか、試してみます。

noname#230359
noname#230359
回答No.1

G11 と BHC の併用に問題がありそう。 同じ性質の命令であるから、バッテングしてるように思われます。 BHC をやめて座標で書くと正常に動く、そして加工を単純な固定サイクルに置き換えて異常が出るなら間違いないです。後者が正常なら、ヘリカルのサブが絡んでることになります。ご確認を 持ってるOSPのマニュアルには何も書いてませんが、以下の例からその疑いを抱きます。 座標回転はファナックにも似たような問題があり、   当サイト No.26419 ファナックのタッチセンサーマクロについて ワーク平行出しをラフにして、タッチセンサーの検出によって座標系を回転する使い方。ファナックの座標回転指令はアレコレ計算した最後に掛かるため、機械座標系まで影響し、掛かったままでは工具交換が不可能となるが、マニュアルには書かれてない。 駄目な状況、エラーストップなのか、おかしな動きをするのか、を詳しく教えて頂くと、解決が早くなると思いますが? AP=3 でOKというのも納得いかないですね~ 2、4、、、さらに0.5ならどうなるか?ついでにRDも変えて試したらどうでしょう? ヘリカルのプログラムはシステム変数の参照以外はローカル変数なので外からの干渉は考えにくい、適切なプログラムだと思います。 但し G11 とバッテングしてることは考えられます。 三角関数の計算は演算専用ICが使われ、メモリーはさほど喰わないはずで、ここでメモリー不足をきたしコンピュータがエラーするとは考えにくいです。 描画速度オーバー?? 残念ながら判りません OSPは使用経験が少なく、もう触れる環境にないまま回答しましたが、プロが適切な回答されて良かったです。ホッ。。。 FANUCではマクロで書いたヘリカルと座標回転を併用して失敗しました。 いずれでも、ヘリカルマクロの冒頭でシステムパラメータを読み、G11 を使ってるなら設定するパラメータを保存後、キャンセルして動作、最後に、G11 を指令し直して復帰させる、という面倒な方法があります。機械メーカが作成したシステムプログラムはこのような手法を使ってます。 RD は OR24 内で定数になっている 11. をも RD から計算させ、 OR24 の引数として渡した方が、マクロとしての完成度が高くなります。

noname#230358
質問者

お礼

早即、回答頂き有難う御座います。下記のOR24~OHEL1までが、ヘリカルのサブです。この前、このサイトで別の方に、教えて頂きました。ヘリカルを使う前は、G11とBHCの併用で、問題無く作動してました。ヘリカル前のサブ(O24)です。 / O24 G0 Z5 G1 Z0 F1200 CALL OR241 Q19 G0 Z100 RTS / OR241 G91 Z-1.5 F4000 G41 G1 Y-12 F300 D13 G3 I0 J12 G40 G1 Y12 F2500 G90 RTS / OR24 XC=VRCOX-VMOFX-VZOFX[VACOD] YC=VRCOY-VMOFY-VZOFY[VACOD] G0 Z0 ZS=VRCOZ-VMOFZ-VZOFZ[VACOD]-VTOFH[VHCOD] G1 X= 1.+XC Y=-11.+YC G41 F500 G3 X=12.+XC Y= 0 +YC R11. M132 F300 CALL OHEL1 Q51 XC=XC YC=YC ZS=ZS RD=12. ZL=1. AP=1. G3 X= 1.+XC Y= 11.+YC R11. M133 G1 X= 0 +XC Y= 0 +YC G40 F500 G0 Z100. RTS ----- OHEL1 AA=0 AE=360. NJ1 AA=AA+AP IF[AA GE AE]NJ2 G1 X=COS[AA]*RD+XC Y=SIN[AA]*RD+YC Z=-ZL*AA/AE+ZS GOTO NJ1 NJ2 G1 X=COS[AE]*RD+XC Y=SIN[AE]*RD+YC Z=-ZL*AE/AE+ZS ZS=ZS-ZL RTS 回答頂き、有難う御座います。他の方の回答のように、G11が邪魔してるみたいです。それと、描画速度オーバーですが、AP=3でOKで・・・ですが、G11,BHCの指令無しです。今回のヘリカルのプログラムは、理解されてますか?まずG1で指令してる事です。1周円を360として、分割してます。例えばAP=3で有れば、360割る3なので、120分割です。RDは、円の半径なので、変えるとエラーが出るだけです。因みに、G11、BHC無しでの加工ですが、穴径により、AP=2とか3とか変えてます。径120で、AP=1.5で加工しましたが、問題無いです。径24でAP=3でも加工しましたが、問題ないです。

noname#230358
質問者

補足

マシンロックして、グラフィックで確認した所、1つ目の穴は、ヘリカルで行きますが、2つ目から、Y軸マイナス方向に直線での動きが加わります。それと、画面左上に、描画速度オーバーと出ます。エラーでは無く、おかしな動きです。描画速度オーバーですが、小径の穴で(G11とBHC無し)、上記のヘリカルで指令した時も出ました。それで、CALL OHEL1のAP=3としたら、解決しました。

関連するQ&A