Znaleziono 6 wyników

autor: janale
20 lis 2013, 20:58
Forum: Siemens Sinumerik CNC
Temat: pętla programowa
Odpowiedzi: 25
Odsłony: 7696

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
autor: janale
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.
DRAGOO pisze:z zagłębianiem powiedzmy 0.05mm i program był stosunkowo krótki, bo robota jednostkowa
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:a tym sposobem rozumiem że muszę pisać linijkami im lepsza powierzchnia tym więcej bloków czy się mylę ?
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.
Pozdrawiam
autor: janale
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
autor: janale
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
autor: janale
01 sie 2012, 11:17
Forum: Siemens Sinumerik CNC
Temat: pętla programowa
Odpowiedzi: 25
Odsłony: 7696

Witam,
Przykład poprzedni był tylko metodą podejścia do tematu. Jeżeli chce Pan mieć dokładny podział od d1=100 do d2=40 ze skokiem s=2 na promieniu (X), to należy przyjąć R20=2*s dla ilości przejść i=(d1-d2)/(2*s) = 15 (pierwsze przejście dla 100mm, ostatnie dla 40mm)
Pozdrawiam
autor: janale
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

Wróć do „pętla programowa”