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

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

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

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

2023/10/16 05:25

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

ヘリカル仕様で無いマシンですが。

2008/07/25 21:33

お陰様で、現状は、小径の穴から大径まで、問題無く作動しています。が、G11とBHCを併用すると、ダメみたいです。解決できますか?下記が、プログラム例です。

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 J0 K10
RTS

O24
OMIT R2 R3 R4 R8 R9 R10
BHC X0 Y0 I200 J0 K10
RTS
/
ヘリカルのサブですが、この前、指南頂いたのです。

OR23
XC=VROCOX~(文字数の制限で以下省略)

角度の計算が、3段階で入るので、機械の処理速度が付いてこないのでしょうか?機械は、ヘリカルのオプション無しのOKUMA、OSP7000Mです。

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

2008/07/31 12:20
回答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)のように簡単に対処できません。

お礼

2008/09/03 22:45

かなり遅くなりましたが、今回も、お世話になり、有難う御座いました。理想とは、少し違ってましたので、回答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
/

質問者

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

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

質問する
2008/07/28 07:39
回答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
-----

お礼

2008/07/30 22:35

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

質問者
2008/07/27 21:35
回答No.2

仰っているプログラムでの動作を確認していませんが、今ざっと見た感覚での「なんとなく程度」の回答になります。ご容赦を。
ひょっとしたら以下の部分

>XC=VRCOX-VMOFX-VZOFX[VACOD] YC=VRCOY-VMOFY-VZOFY[VACOD]

と「G11」との相性が悪いかも知れません。
「G11」を消して動くかどうか確認してみてください。

マニュアルをちゃんと覚えていないので推測ですが、
上記の部分は擬似ヘリカルを「G91」のみでプログラムを作成すると大変ややこしいので、穴位置座標を変数に読み込むために(アレコレ)しているものだと思います。

言い方を変えれば「G11」の補正分が想定外で加算されていない可能性があります。


もし、私の上記の推測が正しい場合、

「G11」の状態そのものを読み込むシステム変数の存在があれば(あるかどうかは確認していません)
相応に対応出来るのではと思います。
大抵の状態はシステム変数で読み込めますから。

それが叶わない場合は「G11」に相当する機能をヘリカルマクロ内に設けることになるかと思いますが、いまいち実用性に欠けますね。


ぼやけたヒント程度の回答ですが解決の糸口になれば幸いです。

お礼

2008/07/30 22:43

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

質問者
2008/07/25 23:05
回答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 の引数として渡した方が、マクロとしての完成度が高くなります。

お礼

2008/07/26 18:08

早即、回答頂き有難う御座います。下記の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でも加工しましたが、問題ないです。

質問者

補足

2008/07/27 19:22

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

質問者

お礼をおくりました

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

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