Drasniecie
-
Autor tematu - Stały bywalec (min. 70)
- Posty w temacie: 3
- Posty: 70
- Rejestracja: 06 lut 2011, 15:46
- Lokalizacja: Nowa Huta
Drasniecie
witam, uzytkownikow siemensa chcialbym zapytac czy wykorzystuje ktos funkcje drasniecia i jak wyglada kod z jej udzialem, potrzebuje ustawic narzedzie w okreslonym miejscu z wedki dojechac sobie do materialu na wlaczonych obrotach i przejac wartosc przesuniecia do G54 i ruszyc programowo dalej, szperalem w instrukcjach do 840d i podobnych ale jedynie znalazlem zapis ze taka funkcja istnieje. W starym sterowaniu 850ME nie bylo z tym problemow, z gory dziekuje za jakakolwiek odpowiedz i naprowadzenie na temat, Pozdrawiam
-
- Specjalista poziom 1 (min. 100)
- Posty w temacie: 2
- Posty: 262
- Rejestracja: 22 kwie 2011, 01:19
- Lokalizacja: Jarocin
%
R10=$P_GG[8]
R10 = R10-1
STOPRE
$P_UIFR[R10,X,TR]=$AA_MW[X] $P_UIFR[R10,X,FI]=0
$P_UIFR[R10,Y,TR]=$AA_MW[Y] $P_UIFR[R10,Y,FI]=0
$P_UIFR[R10,Z,TR]=$AA_MW[Z] $P_UIFR[R10,Z,FI]=0
STOPRE
R10 = R10+1
G[8]=R10
G91 G00 G17 Z100.
;OD TEGO MIEJSCA ZACZYNA SIĘ TWOJ PROGRAM OBROBKI
...
...
...
...
M30
%
R10=$P_GG[8]
R10 = R10-1
Te dwie linijki kodu odczytują aktualnie wybrany numer przesunięcia bazowego.
czyli jeśli aktualnie obowiązuje G56 to program zaktualizuje PPZ 3 gdy przed włączeniem programu będzie aktywny G54 to zostanie zmieniony PPZ 1
jeśli chciałbyś aby program za każdym razem niezależnie od aktualnie wybranego PPZ wprowadził aktualną pozycję do G54 (PPZ-1) to musisz zmienić początek programu.
przed:
;do aktualnie obowiązującego PPZ
R10=$P_GG[8]
R10 = R10-1
STOPRE
...
...
po:
;do G54 PPZ-1
R10=1
STOPRE
...
...
Dodatkowo jak byś chciał wyzerować obroty skręcenia itp to odsyłam tutaj https://www.cnc.info.pl/topics84/przepi ... htm#384023
R10=$P_GG[8]
R10 = R10-1
STOPRE
$P_UIFR[R10,X,TR]=$AA_MW[X] $P_UIFR[R10,X,FI]=0
$P_UIFR[R10,Y,TR]=$AA_MW[Y] $P_UIFR[R10,Y,FI]=0
$P_UIFR[R10,Z,TR]=$AA_MW[Z] $P_UIFR[R10,Z,FI]=0
STOPRE
R10 = R10+1
G[8]=R10
G91 G00 G17 Z100.
;OD TEGO MIEJSCA ZACZYNA SIĘ TWOJ PROGRAM OBROBKI
...
...
...
...
M30
%
R10=$P_GG[8]
R10 = R10-1
Te dwie linijki kodu odczytują aktualnie wybrany numer przesunięcia bazowego.
czyli jeśli aktualnie obowiązuje G56 to program zaktualizuje PPZ 3 gdy przed włączeniem programu będzie aktywny G54 to zostanie zmieniony PPZ 1
jeśli chciałbyś aby program za każdym razem niezależnie od aktualnie wybranego PPZ wprowadził aktualną pozycję do G54 (PPZ-1) to musisz zmienić początek programu.
przed:
;do aktualnie obowiązującego PPZ
R10=$P_GG[8]
R10 = R10-1
STOPRE
...
...
po:
;do G54 PPZ-1
R10=1
STOPRE
...
...
Dodatkowo jak byś chciał wyzerować obroty skręcenia itp to odsyłam tutaj https://www.cnc.info.pl/topics84/przepi ... htm#384023
...Programowanie ma to do siebie, że urzeczywistnienie nawet najbardziej
oczywistego pomysłu jest znakomitą definicją słowa "frustracja"...
oczywistego pomysłu jest znakomitą definicją słowa "frustracja"...
-
Autor tematu - Stały bywalec (min. 70)
- Posty w temacie: 3
- Posty: 70
- Rejestracja: 06 lut 2011, 15:46
- Lokalizacja: Nowa Huta
Bardzo dziękuje za odpowiedź jednak chciałbym jeszcze zapytać czy ta funkcja wprowadzi nowe współrzędne do G54 czy doda lub odejmie wartość przesunięcia w G54 i jak to zapisać dla dwóch kanałów przy holowaniu osi . Chodzi tylko o przesunięcie w Osi Y . Przetestuje dopiero jak wrócę z L4 do pracy a bardzo to ułatwi pracę operatorom . W tej chwili dodają lub odejmują bezpośrednio w bazie , zdarza się że się któryś zagapi i materiał do wyrzucenia 

-
- Specjalista poziom 1 (min. 100)
- Posty w temacie: 2
- Posty: 262
- Rejestracja: 22 kwie 2011, 01:19
- Lokalizacja: Jarocin
To moja wina pomyliłem zmienne
zamiast $AA_MW[X] należy użyć $AA_IM[X] albo, żeby już nie było żadnych nieporozumień użyjemy również numeru osi $AA_IM[AX1]. Czyli poprawiony kod będzie wyglądał tak. tym razem z komentarzami!!
;%
G90 G00 G17 G40 D1
;TE DWIE LINIJKI KODU POD SPODEM SŁUŻĄ DO TEGO ABY PROGRAM WYSTARTOWAŁ W
;AKTUALNIE WYBRANYM PRZESUNIĘCIU BAZOWYM. ZAKŁADAJĄC, ŻE OPERATOR
;MA ZAREZERWOWANE NP G54 i G55 NA COŚ INEGO PRZEŁĄCZA PPZ W TRYBIE RĘCZNYM
;NA POWIEDZMY G56 I PROGRAM DALEJ AUTOMATYCZNIE BĘDZIE PRACOWAŁ W OBRĘBIE
;TEGO PRZESUNIĘCIA
R10=$P_GG[8] ;zapisanie do R10 numeru "aktywnej" bazy (G53-1,G54-2..G57-5)
R10 = R10-1 ; Zapisanie do R10 wyniku odejmowania R10-1 dla G56 to będzie 4-1=3
STOPRE ;ZATRZYMANIE PRRZEBIEGU WYPRZEDZAJĄCEGO
$P_UIFR[R10,X,TR]=$AA_IM[AX1] ;WPROWADZA POZYCJĘ MKS OSI "X" DO PRZESUNIĘCIA NR 3 CZYLI G56
$P_UIFR[R10,X,FI]=0 ;ZERUJE WARTOŚĆ PRZESUNIĘCIA KOREKCYJNEGO DLA TEJ OSI
$P_UIFR[R10,Y,TR]=$AA_IM[AX2]; TA SAMA SYTUACJA TYLKO DLA OSI Y
$P_UIFR[R10,Y,FI]=0
$P_UIFR[R10,Z,TR]=$AA_IM[AX3]; OŚ Z
$P_UIFR[R10,Z,FI]=0
STOPRE
R10 = R10+1 ; INKREMENTACJA WARTOŚCI KOMÓRKI R10
G[8]=R10 ;WYWOŁANIE PRZESUNIĘCIA BAZOWEGO
G91 G00 G17 Z100. ;WYJAZD Z MATERIAŁU POSUWEM SZYBKIM NA Z100
;OBRÓBKA WŁAŚCIWA!
;...
;...
;...
M30
[ Dodano: 2014-03-06, 23:48 ]
ale wiem, że taki zapis też łyka więc możesz sobie ściągnąć pozycje dla wszystkich osi wyszczególnionych w danych osiowych i zapisać ich wartość w wybranym przesunięciu bazowym w ten sposób:
$P_UIFR[1,AX1,TR]=$AA_IM[AX1]
$P_UIFR[R10,AX1,FI]=0
w $P_UIFR[1,AX1,TR] nie podajesz nazwy osi tylko numer a więc jeśli masz możliwość korekcji osi kanałowych to tym sposobem dotrzesz do każdej z nich. Nie wiem tego na 100% sam jestem początkującym użytkownikiem a, że nie wspomniałeś o tym na wstępie to myślałem, że mowa o jakiejś trzy osiowce.
i jeszcze jedna sprawa, mianowicie któryś numer osi będzie przynależał do wrzeciona no i te os raczej można pominąć podczas ustawiania bazy... IMO..
Mam nadzieję, że na coś się to przyda.
Pozdrawiam!!

zamiast $AA_MW[X] należy użyć $AA_IM[X] albo, żeby już nie było żadnych nieporozumień użyjemy również numeru osi $AA_IM[AX1]. Czyli poprawiony kod będzie wyglądał tak. tym razem z komentarzami!!
;%
G90 G00 G17 G40 D1
;TE DWIE LINIJKI KODU POD SPODEM SŁUŻĄ DO TEGO ABY PROGRAM WYSTARTOWAŁ W
;AKTUALNIE WYBRANYM PRZESUNIĘCIU BAZOWYM. ZAKŁADAJĄC, ŻE OPERATOR
;MA ZAREZERWOWANE NP G54 i G55 NA COŚ INEGO PRZEŁĄCZA PPZ W TRYBIE RĘCZNYM
;NA POWIEDZMY G56 I PROGRAM DALEJ AUTOMATYCZNIE BĘDZIE PRACOWAŁ W OBRĘBIE
;TEGO PRZESUNIĘCIA
R10=$P_GG[8] ;zapisanie do R10 numeru "aktywnej" bazy (G53-1,G54-2..G57-5)
R10 = R10-1 ; Zapisanie do R10 wyniku odejmowania R10-1 dla G56 to będzie 4-1=3
STOPRE ;ZATRZYMANIE PRRZEBIEGU WYPRZEDZAJĄCEGO
$P_UIFR[R10,X,TR]=$AA_IM[AX1] ;WPROWADZA POZYCJĘ MKS OSI "X" DO PRZESUNIĘCIA NR 3 CZYLI G56
$P_UIFR[R10,X,FI]=0 ;ZERUJE WARTOŚĆ PRZESUNIĘCIA KOREKCYJNEGO DLA TEJ OSI
$P_UIFR[R10,Y,TR]=$AA_IM[AX2]; TA SAMA SYTUACJA TYLKO DLA OSI Y
$P_UIFR[R10,Y,FI]=0
$P_UIFR[R10,Z,TR]=$AA_IM[AX3]; OŚ Z
$P_UIFR[R10,Z,FI]=0
STOPRE
R10 = R10+1 ; INKREMENTACJA WARTOŚCI KOMÓRKI R10
G[8]=R10 ;WYWOŁANIE PRZESUNIĘCIA BAZOWEGO
G91 G00 G17 Z100. ;WYJAZD Z MATERIAŁU POSUWEM SZYBKIM NA Z100
;OBRÓBKA WŁAŚCIWA!
;...
;...
;...
M30
[ Dodano: 2014-03-06, 23:48 ]
Nie wiem czy umiem Ci pomuc z tym bo po prostu nigdy nie pracowałem na takiej obrabiarce.seites pisze: i jak to zapisać dla dwóch kanałów przy holowaniu osi.
ale wiem, że taki zapis też łyka więc możesz sobie ściągnąć pozycje dla wszystkich osi wyszczególnionych w danych osiowych i zapisać ich wartość w wybranym przesunięciu bazowym w ten sposób:
$P_UIFR[1,AX1,TR]=$AA_IM[AX1]
$P_UIFR[R10,AX1,FI]=0
w $P_UIFR[1,AX1,TR] nie podajesz nazwy osi tylko numer a więc jeśli masz możliwość korekcji osi kanałowych to tym sposobem dotrzesz do każdej z nich. Nie wiem tego na 100% sam jestem początkującym użytkownikiem a, że nie wspomniałeś o tym na wstępie to myślałem, że mowa o jakiejś trzy osiowce.
i jeszcze jedna sprawa, mianowicie któryś numer osi będzie przynależał do wrzeciona no i te os raczej można pominąć podczas ustawiania bazy... IMO..
Mam nadzieję, że na coś się to przyda.
Pozdrawiam!!
...Programowanie ma to do siebie, że urzeczywistnienie nawet najbardziej
oczywistego pomysłu jest znakomitą definicją słowa "frustracja"...
oczywistego pomysłu jest znakomitą definicją słowa "frustracja"...