Znaleziono 2 wyniki

autor: artur235
27 wrz 2010, 16:58
Forum: Siemens Sinumerik CNC
Temat: Sinumeric 810D Cykle pomiarowe
Odpowiedzi: 3
Odsłony: 3687

markusus pisze:Czy jest to definiowanie zmiennych tablicowych?
Dokładnie.
Pierwsze zmienna tekstowa maks. 200 znaków. Drugie zmienna liczbowa całkowita.
markusus pisze:No i nie wiem za pomocą którego cyklu, i jakich parametrów trzeba użyć, by programowo ruszyć i zmierzyć czujką.
Po angielsku, ale jest dużo obrazków :smile:
http://www.flintmachine.com/pdfs/fadal- ... Cycles.pdf

;Sinumerik 840D DMC50H
;wyznaczanie środka prostokątnego otworu
R1=1 ;WPISZ 0 ABY WYLACZYC POMIAR SONDA, 1 ABY WLACZYC
R9=22 ;SZEROKOSC SKRZYNKI W OSI X
R10=22 ;SZEROKOSC SKRZYNKI W OSI Y
R11=-7 ;POS. POM. X
R12=0 ;POS. POM. Y
R22=0 ;SRODEK SKRZYNKI X
R13=179 ;SRODEK SKRZYNKI Y
R14=270 ;POS. SKRZYNKI W OSI B
R16=11 ;GLEMBOLKOSC POMIARU
R17=6 ;DOJAZD PRZED POM. W OSI X/Y
R18=2 ;TOLERANCJA PRZESTAWIENIA W OSI X
R19=3.5 ;TOLERANCJA PRZESTAWIENIA W OSI Y
R20=0 ;KOREKTA POS. SKRZYNKI X
R21=0 ;KOREKTA POS. SKRZYNKI Y
G17 G54

R2=2. ;MAX. WARTOSC PAR. R20 I R21

STOPRE
N40 IF(R1==0) GOTOF NOK3
N50 IF $P_SIM GOTOF NOK1
N60 IF $P_SEARCH GOTOF NOK2

N70 STOPRE
N80 IF(ABS(R20)>R2) GOTOF NER10
N90 IF(ABS(R21)>R2) GOTOF NER20
N100 GOTOF NOK20
N110 NER10: MSG("*** ZA DUZA KOREKTA DLA OSI X -> R20="<<R20)
N120 G4 F2.
N130 GOTOB NER10
N140 NER20: MSG("*** ZA DUZA KOREKTA DLA OSI Y -> R21="<<R21)
N150 G4 F2.
N160 GOTOB NER20

N170 NOK20:
N180 _CHBIT[2]=1 ; 0=SZYBKI PRZESUW 1=ROBOCZY PRZESUW
N190 _CHBIT[10]=0; 0=NIE POKAZUJE WYNIKU 1=POKAZUJE WYNIK
N200 _CHBIT[11]=0; 0=NIE ZATRZYMUJE 1=ZATRZYMUJE SIE PO POMIARZE

N210 T39 ;SONDA POMIAROWA MP10
N220 M6

N230 G0 G17 SUPA Z310

N240 ;POMIAR W OSI X
N250 X=R22 Y=R13+R12 B=R14
N260 Z=WYSSKRZ+50. ;POZYCJA BEZPIECZNA W OSI Z
N280 G1 G90 Z=WYSSKRZ-R16 F5000
G0
N290 _MVAR=103
N300 _SETVAL=R9 ;SZEROKOSC
N310 _PRNUM=1
N320 _VMS=0
N330 _TZL=0
N340 _TSA=9 ;TOLERANCJA
N350 _FA=R17 ;DOJAZD W OSI X/Y
N360 _MA=1 ;OS
N370 _NMSP=1
N380 _KNUM=0

N390 CYCLE977

N400 R101=_OVR[5]
N410 R102=_OVR[17]

N420 STOPRE
N430 IF(ABS(R102)>R18) GOTOF NER1
N440 STOPRE
N450 R102=R102+R20
N460 STOPRE
N470 GOTOF NPY1
N480 NER1: MSG("*** ZA DUZE PRESTAWIENIE W OSI X -> "<<R102)
N490 G4 F2.
N500 GOTOB NER1

N510 NPY1: STOPRE ;POMIAR W Y
N520 G1 X=R22+R11+R102 Y=R13 F1000
N530 Z=WYSSKRZ-R16
N540 _MVAR=103
N550 _SETVAL=R10 ;SZEROKOSC
N560 _PRNUM=1
N570 _VMS=0
N580 _TZL=0
N590 _TSA=9 ;TOLERANCJA
N600 _FA=R17 ;DOJAZD W OSI X/Y
N610 _MA=2 ;OS
N620 _NMSP=1
N630 _KNUM=0

N640 CYCLE977

N650 G0 SUPA Z310
N660 SUPA X260

N670 R103=_OVR[6]
N680 R104=_OVR[18]

N690 STOPRE
N700 IF(ABS(R104)>R19) GOTOF NER2
N710 STOPRE
N720 R104=R104+R21
N730 STOPRE
N740 GOTOF NOK2
N750 NER2: MSG("*** ZA DUZE PRESTAWIENIE W OSI Y -> "<<R104)
N760 G4 F2.
N770 GOTOB NER2

N780 NOK3: STOPRE
N790 R102=R20
N800 R104=R21
N810 GOTOF NOK2

N820 NOK1
N830 STOPRE
R102=0
R104=0

N840 NOK2:
STOPRE
M01


:grin:
autor: artur235
25 wrz 2010, 20:31
Forum: Siemens Sinumerik CNC
Temat: Sinumeric 810D Cykle pomiarowe
Odpowiedzi: 3
Odsłony: 3687

W SINUMERIK 840D wynik pomiaru dostępny jest w tablicy _OVR[...] . Zapisać do pliku można funkcją WRITE. Więcej informacji znajdziesz wyszukiwarką i w dokumentacji SINUMERIKA.

DEF STRING[200] TEXT
DEF INT ERROR
R1=0
REPEAT
G1 G91 X10. F2000 ;przesunięcie do kolejnego punktu pomiaru
POMIAR
TEXT="X"<<_OVR[...]<<" Y "<<_OVR[...] ; zamiast ... numer odpowiedniej zmiennej w tabeli wyniku
WRITE(ERROR,"PLIK",TEXT)
R1=R1+1 ; licznik pomiarów
UNTIL R1<50 ; powtórz 50 razy

Wróć do „Sinumeric 810D Cykle pomiarowe”