Witam,
W zakresie instrukcji pętli, aby miała ona sens, powinien wystąpić parametr zwiększający/zmniejszający swoja wartość. W tym przypadku tym parametrem miał być zapis "IC(-2)" - przyrostowo -2, ale ponieważ podczas przebiegu pętli ten zapis się nie zmienia, działanie programu w pętli w każdym przejściu działa tak samo. Należałoby wprowadzić parametr zmienny,np:
;
N10 DEF INT PRZEJSCIE=0
;
N20 Poczatek_petli:
N30 PRZEJSCIE=PRZEJSCIE-2
N40 Z=IC(PRZEJSCIE)
N50 MSG("PRZEJSCIE="<<PRZEJSCIE)
N60 M0
N70 Koniec_petli:
N80 REPEAT Poczatek_petli Koniec_petli P5
;
N90 M30
Instrukcja MSG wyświetli wartość parametru PRZEJSCIE 6 razy od wartości -2 do -12, instrukcja M0 spowoduje bezwarunkowe zatrzymania się programu. Obie instrukcje wprowadzono w celu pokazania działania programu, należałoby je następnie z pętli usunąć.
Pozdrawiam
Znaleziono 6 wyników
- 20 lis 2013, 20:58
- Forum: Siemens Sinumerik CNC
- Temat: pętla programowa
- Odpowiedzi: 25
- Odsłony: 7696
- 17 wrz 2012, 14:33
- Forum: Siemens Sinumerik CNC
- Temat: pętla programowa
- Odpowiedzi: 25
- Odsłony: 7696
Witam,
Na uwarunkowania fizyczne nie ma rady. Tak czy inaczej naddatek do skrawania należy usunąć. Można to zrobić narzędziem typu przecinak, narzędziem kształtowym lub zestawem narzędzi, od prostego i zgrubnego wybierania po kształtujące docięcie też nożem kształtowym. Trzeba przyjąć kryterium ekonomiczne.
Pozdrawiam
Na uwarunkowania fizyczne nie ma rady. Tak czy inaczej naddatek do skrawania należy usunąć. Można to zrobić narzędziem typu przecinak, narzędziem kształtowym lub zestawem narzędzi, od prostego i zgrubnego wybierania po kształtujące docięcie też nożem kształtowym. Trzeba przyjąć kryterium ekonomiczne.
Długością programu bym się nie sugerował, bo akurat nie jest ona krytyczna w tym przypadku, tym bardziej, że to jest produkcja jednostkowa. Będzie potrzebny chyba model odpowiednio zredukowany, aby sprawdzić zachowanie napisanego programu.DRAGOO pisze:z zagłębianiem powiedzmy 0.05mm i program był stosunkowo krótki, bo robota jednostkowa
Nie myli się kolega. Położenie sąsiednie noża na obwiedni zarysu będzie wyznaczała chropowatość powierzchni. Najważniejszą sprawą jest wyliczenie punktów granicznych, które mają styk z zarysem gwintu, i jeżeli przyjmiemy te 0.05mm (może być za mało do normalnego skrawania, może nastąpić gniecenie materiału przy tak małym naddatku, zależy to od stanu ostrza, jego geometrii), to linii będzie 7.7/0.05=154, oczywiście program będzie korzystał z pętli czytającej tablice. Tu przyjąłbym wariant 2 etapów, przejścia zgrubnego z powiedzmy 0.5mm naddatku w samej masie obszaru i zmniejszenie naddatku przy przejściu po samej obwiedni zarysu. Teraz pozostaje wyliczenie kątów wejścia w zależności od położenia noża w linijce dla danego X. Dla jednej linijki będzie to kąt od 0 do max 360 (bo od początku skoku do jego końca) przy średnicy minimalnej i jedno przejście (w punkcie stycznym do okręgu dna zarysu i średnicy maksymalnej gwintu). Samo wyliczenie punktów można zrobić poprzez pomocniczy kontur o zarysie podanym przez kolegę i programowe rejestrowanie położenia współrzędnych X i Z w położeniach granicznych. Po zrobieniu tego pozostaje tylko podzielenie linijki na ilość przejść w zakresie dla X i Zmin i Zmax danej linijki. Sprawa jest dość złożona, proponuję kontakt z kolegą, który wykonywał ślimak, z pewnością będzie miał więcej praktycznych uwag.DRAGOO pisze:a tym sposobem rozumiem że muszę pisać linijkami im lepsza powierzchnia tym więcej bloków czy się mylę ?
Pozdrawiam
- 17 wrz 2012, 11:53
- Forum: Siemens Sinumerik CNC
- Temat: pętla programowa
- Odpowiedzi: 25
- Odsłony: 7696
Witam,
Język techniczny jest bardzo zwięzły, być może powinienem to bardziej opisać. W każdym razie proszę zastosować wariant 1 z postu ze ślimaka, czyli prosty gwint z formatem bloku: G33 Z=l_skrawania K=skok SF=kat_wejscia (0-359st 59'). Do tego niepotrzebny jest ShopTurn. Sinumerik 810D jest bardzo dobrym sterowaniem, używanie parametrów R jest proste, np: N010 G1 X=R1 Y=R2 F=R3, gdzie w R1, R2, R3 będą wpisane odpowiednie wartości. W przypadku kolegi, R1 będzie zawierał średnicę, R2 skok. Całe obliczenia będą w programie, do napisania którego zachęcam kolegę. Całość tzw. "wiedzy teoretycznej" kolega już ma. Gwint wewnętrzny różni się od zewnętrznego kierunkiem przyrostu X i nie ma to wielkiego znaczenia.
Pozdrawiam
Język techniczny jest bardzo zwięzły, być może powinienem to bardziej opisać. W każdym razie proszę zastosować wariant 1 z postu ze ślimaka, czyli prosty gwint z formatem bloku: G33 Z=l_skrawania K=skok SF=kat_wejscia (0-359st 59'). Do tego niepotrzebny jest ShopTurn. Sinumerik 810D jest bardzo dobrym sterowaniem, używanie parametrów R jest proste, np: N010 G1 X=R1 Y=R2 F=R3, gdzie w R1, R2, R3 będą wpisane odpowiednie wartości. W przypadku kolegi, R1 będzie zawierał średnicę, R2 skok. Całe obliczenia będą w programie, do napisania którego zachęcam kolegę. Całość tzw. "wiedzy teoretycznej" kolega już ma. Gwint wewnętrzny różni się od zewnętrznego kierunkiem przyrostu X i nie ma to wielkiego znaczenia.
Pozdrawiam
- 17 wrz 2012, 10:59
- Forum: Siemens Sinumerik CNC
- Temat: pętla programowa
- Odpowiedzi: 25
- Odsłony: 7696
Witam,
Trapez z przekroju wzdłużnego (po osi Z) gwintu do wybrania (zeskrawania) należy opisać parametrami: R1 - średnica, R2 - skok i wyliczyć ilość pokryć pola trapezu w płaszczyźnie ZX miniobszarami, na które będą się składały naddatki poszczególnych przejść przecinaka. Położenie tych pokryć (w sumie będzie to obszar) należy wyliczyć dla poszczególnych X w funkcji wejścia kąta do gwintu (będzie to tablica dwuwymiarowa: wiersze-warstwy, kolumny-wyliczenia przesunięć w warstwie-elementy o wartości zerowej - brak skrawania). Podobny przypadek był opisany w https://www.cnc.info.pl/topics84/toczen ... t38903.htm
Pozdrawiam
Trapez z przekroju wzdłużnego (po osi Z) gwintu do wybrania (zeskrawania) należy opisać parametrami: R1 - średnica, R2 - skok i wyliczyć ilość pokryć pola trapezu w płaszczyźnie ZX miniobszarami, na które będą się składały naddatki poszczególnych przejść przecinaka. Położenie tych pokryć (w sumie będzie to obszar) należy wyliczyć dla poszczególnych X w funkcji wejścia kąta do gwintu (będzie to tablica dwuwymiarowa: wiersze-warstwy, kolumny-wyliczenia przesunięć w warstwie-elementy o wartości zerowej - brak skrawania). Podobny przypadek był opisany w https://www.cnc.info.pl/topics84/toczen ... t38903.htm
Pozdrawiam
- 01 sie 2012, 11:17
- Forum: Siemens Sinumerik CNC
- Temat: pętla programowa
- Odpowiedzi: 25
- Odsłony: 7696
- 31 lip 2012, 20:20
- Forum: Siemens Sinumerik CNC
- Temat: pętla programowa
- Odpowiedzi: 25
- Odsłony: 7696
Witam,
Oczywiście można napisać program w sposób, w który Pan podał. W moim przykładzie wykorzystuję parametr użytkownika R1 (co prawda nie mam dostępu do 810, ale chyba tam już są parametry użytkownika R1 - R100). Prawdopodobnie chodzi Panu o przejście między G90 i G91. W tym przypadku "świat" programu głównego jest w G90, a podprogramu w G91.
Pozdrawiam
N20 T1 D1
N30 G96 S1200 M3
N40 G90 G0 X100 Z100
N50 Z1
N60 R1=100
N70 Start1:
N80 L1
N90 IF (R1<40) GOTO Koniec1
N100 R1=R1-10
N110 G90 G0 Z1
N120 X=R1
N130 GOTO Start1
N140 Koniec1:
N150 G90 G0 X100 Z100
N160 M30
Podprogram L1
N20 G95 G91 G1 X3 Z-10 F.2
N30 X1.8 Z-15.7
N40 X2.2 Z-7.6
N50 X1.6 Z-8.25
N60 X1.4
N80 M17
Oczywiście można napisać program w sposób, w który Pan podał. W moim przykładzie wykorzystuję parametr użytkownika R1 (co prawda nie mam dostępu do 810, ale chyba tam już są parametry użytkownika R1 - R100). Prawdopodobnie chodzi Panu o przejście między G90 i G91. W tym przypadku "świat" programu głównego jest w G90, a podprogramu w G91.
Pozdrawiam
N20 T1 D1
N30 G96 S1200 M3
N40 G90 G0 X100 Z100
N50 Z1
N60 R1=100
N70 Start1:
N80 L1
N90 IF (R1<40) GOTO Koniec1
N100 R1=R1-10
N110 G90 G0 Z1
N120 X=R1
N130 GOTO Start1
N140 Koniec1:
N150 G90 G0 X100 Z100
N160 M30
Podprogram L1
N20 G95 G91 G1 X3 Z-10 F.2
N30 X1.8 Z-15.7
N40 X2.2 Z-7.6
N50 X1.6 Z-8.25
N60 X1.4
N80 M17