Sinumeric 810D Cykle pomiarowe

Dyskusje na temat systemu Sinumerik

Autor tematu
markusus
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 2
Posty: 5
Rejestracja: 19 wrz 2010, 23:39
Lokalizacja: N.T.

Sinumeric 810D Cykle pomiarowe

#1

Post napisał: markusus » 25 wrz 2010, 12:05

Witam wszystkich kolegów.
Mam taki problem: Chodzi o frezarkę ze sterowaniem Sinumerik 810D SchopMill z sondą pomiarową.,
Chcę za pomocą sondy pomiarowej obmierzać kształt detalu (sytuacja przed spawaniem krawędzi detalu) - by sondę przesuwać o jakąś wartość w osi np. X ,pomiarów dokonywać w osi Y, i żeby wyniki pomiarów Y i położenie sondy w osi X w trakcie pomiaru, były wpisywane nie do tabeli offsetów, tylko do pliku w postaci linii. X..., Y...,i następny pomiar do kolejnej linii zapisu w pliku itd.. Tylko jak to zrobić? Bo chodziło by tu o dokonywanie np.:50 czy 100 takich pomiarów.
Można to przepisywać ręcznie ale jest to bardzo karkołomne. Czy ma może ktoś taką wiedze, by przede wszystkim za pomocą kodów G zapanować nad pomiarami sondą (tu przydało by się jakieś makro, które przesuwało by sondę bezpiecznym ruchem w jednej osi, dokonywało pomiaru w drugiej i tak dalej ), i jakoś kierować zapisem wyników pomiaru w odpowiednie miejsce? Maszyna ma wbudowane cykle mierzenia: w X, Y, mierzenie centrum otworów i czopa, ale wyniki są kierowane do tabeli offsetów.
Będę wdzięczny za jakąkolwiek pomoc, w nakierowaniu, przy rozwiązaniu tego problemu.
Pozdrawiam.



Tagi:


artur235
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 2
Posty: 271
Rejestracja: 09 lut 2010, 19:40
Lokalizacja: SE

#2

Post napisał: artur235 » 25 wrz 2010, 20:31

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


Autor tematu
markusus
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 2
Posty: 5
Rejestracja: 19 wrz 2010, 23:39
Lokalizacja: N.T.

#3

Post napisał: markusus » 27 wrz 2010, 01:14

Dzięki za przykład artur235.
Coś tam w tej mojej głowie zaczyna się rozjaśniać, ale nie do końca.
Nie wiem co robią dwie pierwsze linie programu.
DEF STRING[200] TEXT
DEF INT ERROR
Czy jest to definiowanie zmiennych tablicowych?
No i nie wiem za pomocą którego cyklu, i jakich parametrów trzeba użyć, by programowo ruszyć i zmierzyć czujką.
Masz może albo ktoś z kolegów pdf_a do Sinumerika 810D-cykle pomiarowe po polsku, o ile taka wersja istnieje. By sobie poczytać i trochę się oświecić w tym temacie.
Jutro w pracy sprawdzę czy na 810D działa pętla REPEAT-UNTIL, bo ładnie to wygląda.
Do tej pory do powtórzeń używałem:
ETYKIETA:
....
....
IF R>R ileś_tam GOTO END
GOTO ETYKIETA
END:
I..tak też działa.
Może coś z tego kiedyś wyjdzie.
Pozdrawiam.


artur235
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 2
Posty: 271
Rejestracja: 09 lut 2010, 19:40
Lokalizacja: SE

#4

Post napisał: artur235 » 27 wrz 2010, 16:58

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:

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Siemens Sinumerik CNC”