dla zabicia czasu :)

Dyskusje dotyczące najpopularniejszego programu sterującego maszynami CNC

Autor tematu
tomcat65
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 3
Posty: 1242
Rejestracja: 15 lis 2009, 02:46
Lokalizacja: Olsztyn
Kontakt:

dla zabicia czasu :)

#1

Post napisał: tomcat65 » 16 mar 2013, 00:23

Z nudów, można by rzec, sprokurowałem sobie taki mały programik. Nie ważne co robi, to tylko test. Chodziło mi tylko o to, jak się zachowa po wpisaniu narzędzi do pamięci. I fajnie jest, M6 T(x) zmienia narzędzia i sam oblicza trajektorię lotu freza, czyli obywa się bez g41/42, przymajmniej w tym przykładzie:

% ustawianie paremetrów frezowania dla stali
% zależnie od średnicy narzędzia HSS.

#1=20000 % Vc-mm/s dla HSS


% tool diameter
#3=10
% Vz- posuw na ząb
#7=[#3/6]
% ilość zębów
#4=4
% S-spindle speed
#5=[#1/[#3*3.15]]
% posuw-f w mm/min
#6=[#5*#4*0.01]
s#5

f#6

m6t#3

m3

g0 x-5 y-5
g0 z10


g42
g0 x0 y0
g1 z-1
g1 x10
g1 y10
g1 x0
g1 y0
g0 z10
m5
g0 x-5 y-5
m1

#1=20000 % Vc-mm/s dla HSS

% tool diameter
#3=5
% Vz- posuw na ząb
#7=[#3/6]
% number of sharpnes
#4=4
% S-spindle speed
#5=[#1/[#3*3.15]]
% posuw-f w mm/min
#6=[#5*#4*0.01]

f#6
s#5
m6 t#3
m3
g42
g0 x0 y0
g1 z-4
g1 x10
g1 y10
g1 x0
g1 y0
g0 z10

m30

Co mnie boli? :)
-1: to, że średnicę freza trzeba podać jako zmienną.
-2: całą procedurę obliczania trzeba powtarzać po każdej zmianie narzędzia.

A chciałbym, aby podając np. M6 T(x) - program pobrał dane freza, czyli średnicę i podstawił do prgramiku. Najlepiej byłoby wpisać to do makra M6 od razu aby po zmianie narzędzia obroty i posuw ustawiały się samoczynnie.
Pomimo przeglądania różnych makr, dalej dla mnie to czarna magia :).
Gdyby ktoś zechciał jakieś wskazówki poczynić, przykład lub gotowca najlepiej :), byłbym dźwięczny niezmiernie.
Chyba, że to do ogarnięcia w inny sposób?



Tagi:


dziabi3
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 1
Posty: 874
Rejestracja: 13 sie 2009, 16:15
Lokalizacja: xxx

#2

Post napisał: dziabi3 » 17 mar 2013, 03:17

jak uzupełnisz sobie tabele narzędzi to tylko potem stosujesz M6 T03 D03 G43 H03

niema problemu żeby stosować tylko D03
Mach3 + CSMIO = :-) :-) :-)


Autor tematu
tomcat65
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 3
Posty: 1242
Rejestracja: 15 lis 2009, 02:46
Lokalizacja: Olsztyn
Kontakt:

#3

Post napisał: tomcat65 » 18 mar 2013, 14:03

Oj, kol.dziabi3, późno było, zmęczony byłeś i nie doczytałeś albo nie załapałeś o co mi chodzi :)
Może źle napisałem, że nie trzeba g41/42, bo trzeba, tylko można bez podawania np. D03, bo mach sobie to bierze sam z tabeli narzędzi.
Nieistotne. Chodziło mi o makro. A że potrzeba matką wynalazku :) , więc wyprodukowałem:

REM Makro testowe zmiany narzędzia i obrotów

REM oraz posuwu zależnie od średnicy freza

REM i ilości ostrzy


SetFeedRate( 300 / 60 )



GoToSafeZ()

While IsMoving()

Sleep 100
Wend

Code"X-10, Y-10"


While IsMoving()

Sleep 100
Wend


MsgBox" CHANGE TOOL " & " AND " & " NEXT PRESS OK"

tool = GetSelectedTool()
SetCurrentTool( tool )

Diam = GetToolParam(tool, DiameterParam)

MsgBox "tool" & GetCurrentTool() & " : " & _
GetToolDesc (GetCurrentTool())


SpinSpeed=(20000/(3.15*(tool)))

SetVar(1, SpinSpeed)

SetSpinSpeed( SpinSpeed )

SetVar(2, (GetVar(1) * 4 *0.01))

Sleep 100

SetFeedRate( GetVar(2) / 60 )

MsgBox "CURRENT SPINDLE SPEED" & " : " & nFmt(SpinSpeed, 0) & " " & "CURRENT FEED RATE" & " : " & nFmt(FeedRate, 2)



Tak na razie tyle. Ale działa. Nie jest to wersja finalna, bo jeszcze daleko mi do swobodnego pisania, nie mówiąc o perfekcji. Ale jak już zacząłem zabawę, zamierzam kontynuować.
Jedyny problem, to to, że ze skryptu z którego korzystam, nie wszysko chce działać. Albo ja coś źle robię :) jeszcze.
Za wszelkie konstruktywne uwagi z góry dziękuję.


Autor tematu
tomcat65
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 3
Posty: 1242
Rejestracja: 15 lis 2009, 02:46
Lokalizacja: Olsztyn
Kontakt:

#4

Post napisał: tomcat65 » 02 kwie 2013, 22:41

W ramach zapełnienia wolnego czasu, tym razem zdziałałem coś takiego:
REM Makro wyboru materiału i narzędzia



Sub Main
Dim MyList$ (5)
MyList (0) = "aluminium"
MyList (3) = "brąz"
MyList (4) = "mosiądz"
MyList (5) = "miedź"
MyList (2) = "stal"
MyList (1) = "żeliwo"

Dim MyList1$ (4)
MyList1 (0) = "hss"
MyList1 (1) = "hss Ti"
MyList1 (2) = "HVM"
MyList1 (3) = "HVM Ti"

Dim MyList2$ (12)
MyList2 (3) = "3"
MyList2 (4) = "4"
MyList2 (2) = "5"
MyList2 (0) = "6"
MyList2 (1) = "10"
MyList2 (6) = "12"
MyList2 (5) = "14"
MyList2 (7) = "16"
MyList2 (8) = "18"
MyList2 (9) = "20"
MyList2 (10) = "40"
MyList2 (11) = "50"

Begin Dialog BoxSample 16,35,256,89,"Wybór materiału i narzędzia"
OKButton 210,24,40,14
CancelButton 210,44,40,14
DropListBox 10,24,60,80, MyList$( ),.DrpList
DropListBox 80,24,72,80, MyList1$( ),.DrpList
DropListBox 160,24,34,110, MyList2$( ),.DrpList
Text 80,12,68,8,"wybór narzędzia:"
Text 10,12,60,8,"wybór materiału:"
Text 160,12,34,8,"średnica:"
End Dialog
Dim Dlg1 As BoxSample
Button = Dialog ( Dlg1 )

End Sub


Tak przykładowo, paru rzeczy jeszcze brakuje.
Najważniejsze teraz, to jak wyciągnąć dane z zatwierdzonej listy, np. średnicę freza, aby użyć tej wartości w dalszej części?
Po drugie - jak przypisać do danego materiału jakieś wartości? A dokładnie: np. wybór "aluminium" i "hss" dawało odpowiednią wartość Vc? Tak samo dla innych par: materiał-narzędzie. Dane mam, tylko jak je wstawić i jak je później wydostać do dalszych obliczeń?

Jakieś sugestie lub przykład funkcji. Czy też inny sposób zapisu w makrze?.
Będę wdzięczny za jakiś trop.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Mach 2 / 3 / 4 (ArtSoft software)”