programowanie parametryczne, elastyczne, cykle

Dyskusje na temat systemu Sinumerik
Awatar użytkownika

Autor tematu
Magneto86
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 2
Posty: 266
Rejestracja: 25 cze 2009, 23:06
Lokalizacja: RPZ / DW

programowanie parametryczne, elastyczne, cykle

#1

Post napisał: Magneto86 » 29 gru 2009, 19:11

Jestem w (bardzo) początkowej fazie pisania pracy dyplomowej na temat programowania ręcznego frezarek CNC w układach sterowania Sinumerik i Haas.

Zainteresował mnie tutaj temat programowania parametrycznego. Sam zacząłem się tym bawić i zrobiłem kilka programików (np do frezowania rowków i kieszeni).
Działają one na takiej zasadzie, że na początku programu wystarczy zadeklarować wartości wymiarów charakterystycznych frezowanego elementu, parametrów obróbki, szerokości i głębokości skrawania, wartości dojazdów, odjazdów, średnicę freza itp - potem zdefiniować półfabrykat - i program śmiga ;)

Problem mam taki, że takie elementy czy cechy do frezowania albo wiercenia zawierają się już w standardowych cyklach Sinumerika. Więc co mogę w takiej sytuacji zrobić? Ma ktoś pomysł gdzie można taki sposób programowania zastosować? - jeżeli tak to z góry dziękuję za sugestie i podpowiedzi :)


Niżej zamieszczam przykładowy prosty programik do planowania powierzchni.
Oczywiście bardzo dużo mu jeszcze brakuje - ale chodziło mi tutaj o zasadę jak to działa - a nie o powielanie istniejących już w sterowniku cykli.
No i parametry chyba będą niezrozumiałe - bo robiłem to dla siebie, jeżeli będzie to kogoś interesowało, to mogę 'przetłumaczyć' te moje skróty ;)
;FACING

N10 DEF INT _FI=60,SZER_SKRAW=50,LICZNIK=1,WYM_X=356,WYM_Y=256,OBR=600,POSUW=200 ; parametry (całkowite)
N20 DEF REAL _LI ; parametry (rzeczywiste)

N30 _LI=WYM_Y/(_FI*SZER_SKRAW/100)
N40 IF WYM_Y MOD (_FI*SZER_SKRAW/100) == 0
N50 ELSE
N60 _LI=TRUNC(_LI)+1
N70 ENDIF

N80 T15 ;GLOWICA fi60
N90 M6
N100 G17 G56 G64 G90 G94
N110 G0 X0 Y0 Z20
N120 X=(WYM_X/2)+(_FI/2)+5 Y=(WYM_Y/2)+(_FI/2)-(_FI*SZER_SKRAW/100)
N130 Z-3 S=OBR M3 M8
N140 F=POSUW
N150 G91

N160 DWA:G1 X=-2*((WYM_X/2)+(_FI/2)+5)
N170 IF LICZNIK == _LI
N180 GOTOF JEDEN
N190 ELSE
N200 LICZNIK=LICZNIK+1
N210 G3 X0 Y=-_FI*SZER_SKRAW/100 CR=.5*_FI*SZER_SKRAW/100
N220 G1 X=2*((WYM_X/2)+(_FI/2)+5)
N230 IF LICZNIK == _LI
N240 GOTOF JEDEN
N250 ELSE
N260 LICZNIK=LICZNIK+1
N270 G2 X0 Y=-_FI*SZER_SKRAW/100 CR=.5*_FI*SZER_SKRAW/100
N280 GOTOB DWA

N290 JEDEN:Z10
N300 G90
N310 M5 M9
N320 M30


Obrazek

Tagi:


siwy
Czytelnik forum poziom 1 (min. 10)
Czytelnik forum poziom 1 (min. 10)
Posty w temacie: 1
Posty: 16
Rejestracja: 27 sty 2007, 18:38
Lokalizacja: Warka

#2

Post napisał: siwy » 04 sty 2010, 22:30

Może zainteresuje Cię mój wpis w dziale Programy sterujące,G-Code wątek Kula wypukła

Awatar użytkownika

Autor tematu
Magneto86
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 2
Posty: 266
Rejestracja: 25 cze 2009, 23:06
Lokalizacja: RPZ / DW

#3

Post napisał: Magneto86 » 04 sty 2010, 23:00

siwy pisze:Półkula wypukła
N1 T1
N2 M6
N3 G0 X0 Y0 Z50 S5000 M3
N4 Y130
N5 R1=0
N6 AA: R1=R1+1
N7 IF R1>=100 GOTOF BB
N8 G1 Z=-(R1) F1000
N9 R2=0
N10 CC: R2=R2+2
N11 IF R2>=360 GOTOF DD
N12 R3=100 R4=100
N13 R5=SQRT(R1*(2*R3-R1)) R6=SQRT(R1*(2*R4-R1))
N14 R7=R5*SIN(R2) R8=R6*COS(R2)
N15 G1 X=(R7) Y=(R8)
N16 GOTOB CC
N17 DD: Y130
N18 GOTOB AA
N19 BB: G0 Z50
N20 M30


Objaśnienia:
GOTOF skok w programie do przodu do adresu oznaczonego np AA:
GOTOB skok do tyłu
SQRT oczywiście pierwiastek
Blok N6 jedynka lub inna wartość np 0.2 przybieranie w tym przypadku w osi Z
Blok N7 100 lub inna wartość to granica do jakiej przybieramy
Blok N12 długość promieni( jeśli R3 różne od R4 to w podstawie będzie elipsa)
Jeśli będzie potrzeba to podam równanie jakie trzeba wstawić w bloku N13 aby uzyskać półkulę wklęsłą lub stożek
Powodzenia
No wreszcie jakieś światełko :)
Frezowania kuli, ani kulistych wybrań nie ma wśród cykli sinumerika.
Domyślam się, że ten program robi to metodą 'z-level' profile? - czyli w celu zminimalizowania schodków wypadałoby zastosować frez z kulistym zakończeniem, a w takiej sytuacji, przy dnie wybrania, poza promieniem przekroju kuli będzie się też zmieniał teoretycznie promień narzędzia...
No ale już sobie z tym jakoś poradzę ;)
Tak jak pisałem nie szukam gotowych rozwiązań czy cykli, tylko przykładów zastosowania programowania parametrycznego SINUMERIKa i HAASa (nie pokrywających się z fabrycznymi cyklami). Więc jeszcze raz apeluję: jeżeli jeszcze ktoś ma jakieś pomysły to podpowiedzcie... :roll:

edit:
Znalazłem jeszcze jeden podobny temat:
https://www.cnc.info.pl/topics82/progra ... vt6069.htm
(trochę długi, ale to dobrze :)) - poczytam i może tam znajdę jeszcze coś...

[ Dodano: 2010-03-22, 21:28 ]
Zapowiadało się interesująco, ale ostatecznie zmieniłem temat na programowanie centrum frezarskiego w NXie.
Nie dla tego, że z programowaniem parametrycznym były problemy, ale skoro mam wszędzie dookoła do czynienia z NXem - to po co sobie samemu życie utrudniać ;)
Obrazek

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Siemens Sinumerik CNC”