Union PCR160 - nie przyjmuje funkcji g64
: 14 lut 2022, 11:46
Witam Wszystkich.
Potrzebuje po mocy w rozwiązaniu (niby prostego tematu - wręcz oczywistego) problemu z funkcją G64.
Otóż, funkcja ta aby zadziałała to musi być przywołana w programie sterującym. O ile w większości maszyn działa to bez zarzutów tak w tym przypadku jest problem.
Oto jest kod:
G54
G17 G0 G90 G94
T1 D1
CYCLE800(0,"KFUD5_OK",0,57,0,0,0,0,0,0,0,0,0,-1,)
;****************
R0=400-40 ; fi otworu
R8=2000 ; FI ZEW PLASZCZA
R13=16 ; głębokość fazy
R1=0 ; KĄT STARTOWY
R6=R1 ; MEMORY 1
R2=0 ; STARTOWA Z
R3=-16 ; KONCOWA Z
R4=0.5 ; PRZYBIERANIE Z
R5=25; PODZIELENIE PRZEJAZDU
R7=90 ; KAT KONCOWY
R9=R7/R5 ; OBLICZONA ILOSC LUKOW NA PRZEJEZDZIE
; przeciwprostokatna dla XY
R12=(R8/2-SQRT(POT(R8/2)-POT((R0/2+R13)*COS(R1))))
; kompensacja Z krzywizny plaszcza
R11=-R12+(R8/2-SQRT(POT(R8/2)-POT((R0/2+R13)*COS(R1))))
TRANS X0 Y-750 Z=R8/2
S800 F1500 M3
V=0
Z100
X0 Y0
WHILE R2>=R3
POWTORKA:
G64 ;<------- o tutej jest funkcja
G0 X=(R0/2-$P_TOOLR-20)*COS(R1) Y=(R0/2-$P_TOOLR-20)*SIN(R1) Z=R2-R11
G1 X=(R0/2+R13-$P_TOOLR)*COS(R1) Y=(R0/2+R13-$P_TOOLR)*SIN(R1) Z=R2-R11
PO_PLASZCZU:
R1=R1+R9
R11=-R12+(R8/2-SQRT(POT(R8/2)-POT((R0/2+R13)*COS(R1))))
MSG("R11="<<R11<<" R1="<<R1<<" R12"<<R12)
G3 X=(R0/2+R13-$P_TOOLR)*COS(R1) Y=(R0/2+R13-$P_TOOLR)*SIN(R1) Z=R2-R11 W0 I=AC(0) J=AC(0)
G1 X=(R0/2+R13-$P_TOOLR)*COS(R1) Y=(R0/2+R13-$P_TOOLR)*SIN(R1) Z=R2-R11
IF R1<R7 GOTOB PO_PLASZCZU
G0 X=(R0/2-$P_TOOLR-20)*COS(R1) Y=(R0/2-$P_TOOLR-20)*SIN(R1) Z=R2-R11
R1=R6
R13=R13-R4
R2=R2-R4
ENDWHILE
R2=R3
REPEAT POWTORKA P=1
G0 Z100 W0
M30
Po wywołaniu tego programu z wpisaną funkcja G64 maszyna nadal się zatrzymuje w punkcie.... a tego nie chcem
Czy macie jakiś pomysł?
Funkcje g641, g642, g643 .... ADIS.... nie działa
Pozdrawiam
Potrzebuje po mocy w rozwiązaniu (niby prostego tematu - wręcz oczywistego) problemu z funkcją G64.
Otóż, funkcja ta aby zadziałała to musi być przywołana w programie sterującym. O ile w większości maszyn działa to bez zarzutów tak w tym przypadku jest problem.
Oto jest kod:
G54
G17 G0 G90 G94
T1 D1
CYCLE800(0,"KFUD5_OK",0,57,0,0,0,0,0,0,0,0,0,-1,)
;****************
R0=400-40 ; fi otworu
R8=2000 ; FI ZEW PLASZCZA
R13=16 ; głębokość fazy
R1=0 ; KĄT STARTOWY
R6=R1 ; MEMORY 1
R2=0 ; STARTOWA Z
R3=-16 ; KONCOWA Z
R4=0.5 ; PRZYBIERANIE Z
R5=25; PODZIELENIE PRZEJAZDU
R7=90 ; KAT KONCOWY
R9=R7/R5 ; OBLICZONA ILOSC LUKOW NA PRZEJEZDZIE
; przeciwprostokatna dla XY
R12=(R8/2-SQRT(POT(R8/2)-POT((R0/2+R13)*COS(R1))))
; kompensacja Z krzywizny plaszcza
R11=-R12+(R8/2-SQRT(POT(R8/2)-POT((R0/2+R13)*COS(R1))))
TRANS X0 Y-750 Z=R8/2
S800 F1500 M3
V=0
Z100
X0 Y0
WHILE R2>=R3
POWTORKA:
G64 ;<------- o tutej jest funkcja
G0 X=(R0/2-$P_TOOLR-20)*COS(R1) Y=(R0/2-$P_TOOLR-20)*SIN(R1) Z=R2-R11
G1 X=(R0/2+R13-$P_TOOLR)*COS(R1) Y=(R0/2+R13-$P_TOOLR)*SIN(R1) Z=R2-R11
PO_PLASZCZU:
R1=R1+R9
R11=-R12+(R8/2-SQRT(POT(R8/2)-POT((R0/2+R13)*COS(R1))))
MSG("R11="<<R11<<" R1="<<R1<<" R12"<<R12)
G3 X=(R0/2+R13-$P_TOOLR)*COS(R1) Y=(R0/2+R13-$P_TOOLR)*SIN(R1) Z=R2-R11 W0 I=AC(0) J=AC(0)
G1 X=(R0/2+R13-$P_TOOLR)*COS(R1) Y=(R0/2+R13-$P_TOOLR)*SIN(R1) Z=R2-R11
IF R1<R7 GOTOB PO_PLASZCZU
G0 X=(R0/2-$P_TOOLR-20)*COS(R1) Y=(R0/2-$P_TOOLR-20)*SIN(R1) Z=R2-R11
R1=R6
R13=R13-R4
R2=R2-R4
ENDWHILE
R2=R3
REPEAT POWTORKA P=1
G0 Z100 W0
M30
Po wywołaniu tego programu z wpisaną funkcja G64 maszyna nadal się zatrzymuje w punkcie.... a tego nie chcem
Czy macie jakiś pomysł?
Funkcje g641, g642, g643 .... ADIS.... nie działa
Pozdrawiam