
Bardzo prosty program pokazujący możliwości drzemiące w programowaniu parametrycznym. Program pisany dla sterownika Fanuc, w wersji bardzo uproszczonej, nie uwzględniający korekcji promienia G41/G42. W naszym przykładzie wykonamy piramidke 3-piętrową, o krawędzi a =10mm.
Bedziemy potrzebowali opracowac prosty algorytm, wyliczający długość krawędzi dla danego piętra piramidki. W naszym programie oznaczymy tą wartość parametrem #4. Wygląda to tak :
-
#1 – dÅ‚ugość krawÄ™dzi a,
#2 – ilość piÄ™ter piramidki,
#4 – szukana dÅ‚ugość krawÄ™dzi dla danego piÄ™tra piramidki.
Po prostych działaniach otrzymujemy #4= #1 (1+2(#2-1)).
Dla sprawdzenia wyliczamy z powyższego równania wartość dÅ‚ugoÅ›ci krawÄ™dzi dla każdego z piÄ™ter piramidki, dziÄ™ki czemu widzimy, że krawÄ™dź… :
-
3-ego, najniższego piÄ™tra bÄ™dzie miaÅ‚a dÅ‚ugość 50 – 5a
2-ego piętra będzie miała długość 30 -3a
1-ego, najwyższego piÄ™tra bÄ™dzie miaÅ‚a dÅ‚ugość 10 – to oczywiÅ›cie jest nasza wartość ‚a’ deklarowana na poczÄ…tku programu
Możemy więc przystąpić do pisania programu :
N10 #1=10 (dlugosc krawedzi 'a') N15 #2=3 (ilosc pieter piramidki) N20 #3=0.5 (ap) N25 #4=#1[1+2[#2-1]] (długość krawędzi dla danego piętra piramidki) N30 #5=#1*#2-#1/2 (punkt startowy obróbki danego piętra piramidki) N35 #6=0 N40 G90 G0 Z5 N45 G90 G0 X[#5] Y[#5] N50 G90 G1 Z[-#6] N55 G91 G1 X[-#4] N60 G91 G1 Y[-#4] M65 G91 G1 X[#4] N70 G91 G1 Y[#4] N75 #6=#6+#5 N80 IF[#6LE#2]GOTO50 N85 #2=#2-1 N90 IF[#2GE0]GOTO25 N95 G90 G0 Z5 N100 M30
Może się zdarzyć, że wyrażenia typu #4=#1(1+2(#2-1)) okażą się dla maszyny zbyt złożone, będziemy więc musieli je ‚porozbijać’ na elementy pierwsze.
Nasze makro wykorzystujemy podajÄ…c trzy wartoÅ›ci – dÅ‚ugość boku ‚a’, ilość piÄ™ter piramidki i ap obróbki.
4 comments
widget says:
Wrz 24, 2012
Wydaje mi siÄ™, że wyrażenie ” #4=#1(1+2(#2-1))” na części sterowaÅ„ (fanuc, mazak), nie wykona nic wiÄ™cej niż #4=#1, gdyż nawiasy „()” zawierajÄ… komentarze, a w nawiasach „[]” wpisuje siÄ™ różne wyrażenia matematyczne, czy też warunki przy polecaniach warunkowych.
Marcin Dudek says:
Wrz 24, 2012
SÅ‚uszna uwaga – już poprawione. Pozdrawiam.
widget says:
Wrz 28, 2012
Jeszcze komentarze daj w nawiasy „( )”, żeby ktoÅ› nie miaÅ‚ problemu jak to wrzuci na maszynÄ™ . Pozdrawiam.
stel says:
Maj 19, 2013
#4= #1 (1+2(#2-1)).
skąd się wzięło takie wyliczenie?
Mógłby ktoś to wytłumaczyć?