Mach 3 i programowanie na zmiennych czyli te krzaczki #
-
Autor tematu - Specjalista poziom 3 (min. 600)
- Posty w temacie: 4
- Posty: 847
- Rejestracja: 05 gru 2006, 22:28
- Lokalizacja: Bielsko Biała
Mach 3 i programowanie na zmiennych czyli te krzaczki #
Szukam jakichś przykładów albo turtoriali aby poznać zasady programowania na zmiennych w Mach 3 jedyne co znalazłem to na Peters CNC Ecke taki przykład ale powiem szczerze jak ja miałbym tak pisać program dla tak prostego detalu to dziękuję wolę normalnie .Trochę już kapuję ale przede wszystkim brakuje mi w tym powtórzenia aby na kilka przejść zjechać na daną głębokość
[ Dodano: 2011-03-13, 19:48 ]
Sorry dwa razy dodałem ten sam plik nigdy nie wiem czy już jest dodany czy nie
[ Dodano: 2011-03-13, 19:48 ]
Sorry dwa razy dodałem ten sam plik nigdy nie wiem czy już jest dodany czy nie
- Załączniki
-
- przykład ze zmiennymi Peters CNC Ecke.txt
- (792 Bajtów) Pobrany 313 razy
-
- przykład ze zmiennymi Peters CNC Ecke.txt
- (792 Bajtów) Pobrany 462 razy
Tagi:
-
Autor tematu - Specjalista poziom 3 (min. 600)
- Posty w temacie: 4
- Posty: 847
- Rejestracja: 05 gru 2006, 22:28
- Lokalizacja: Bielsko Biała
-
- ELITA FORUM (min. 1000)
- Posty w temacie: 2
- Posty: 1714
- Rejestracja: 13 sty 2006, 16:41
- Lokalizacja: Stargard
- Kontakt:
Przykład na kieszeń, gdzie Z opuszczana po każdym wykonaniu podprogramu o 1mm (za pomocą zmiennych)
#100=0 (deklaracja zmiennej)
G0 Z5.0
G0 X10 Y10
M98 P100 Q10 (wywołanie popdrogramu 10 razy)
M30
G1 Z[#100-1] ( 0 - 1 = -1)
G1 X20 Y10
G1 X20 Y20
G1 X10 Y20
G1 X10 Y10
#100=[#100-1] (zmiana deklaracji po wykonaniu podprogramu przyrostowo co -1. Po 10 wykonaniach będzie -10)
M99
#100=0 (deklaracja zmiennej)
G0 Z5.0
G0 X10 Y10
M98 P100 Q10 (wywołanie popdrogramu 10 razy)
M30
G1 Z[#100-1] ( 0 - 1 = -1)
G1 X20 Y10
G1 X20 Y20
G1 X10 Y20
G1 X10 Y10
#100=[#100-1] (zmiana deklaracji po wykonaniu podprogramu przyrostowo co -1. Po 10 wykonaniach będzie -10)
M99
https://www.instagram.com/cncworkshop.pl/
Obróbka CNC - frezowanie & toczenie
Obróbka CNC - frezowanie & toczenie
-
- Sympatyk forum poziom 2 (min. 50)
- Posty w temacie: 1
- Posty: 67
- Rejestracja: 20 lip 2009, 14:37
- Lokalizacja: mazowieckie
hm..
A jeśli chciałbym jechać na głebokość Z-20 po 6 mm ?
(tzn jeśli - liczba wykonań podprogramu * głebokość dobrania za każdym razem
jest większa niz głębokośc na jaka chcę jechać )
Tzn czy mogę wstawić if'a tak jak w tym programie ?
#1 = 0
o101 while [#1 gt -20]
#1 = [#1 - 6]
o110 if [#1 lt -20]
#1 = -20
o110 endif
*operacje
...
...
0101 endwhile
pozdrawiam,
F.
A jeśli chciałbym jechać na głebokość Z-20 po 6 mm ?
(tzn jeśli - liczba wykonań podprogramu * głebokość dobrania za każdym razem
jest większa niz głębokośc na jaka chcę jechać )
Tzn czy mogę wstawić if'a tak jak w tym programie ?
#1 = 0
o101 while [#1 gt -20]
#1 = [#1 - 6]
o110 if [#1 lt -20]
#1 = -20
o110 endif
*operacje
...
...
0101 endwhile
pozdrawiam,
F.
-
Autor tematu - Specjalista poziom 3 (min. 600)
- Posty w temacie: 4
- Posty: 847
- Rejestracja: 05 gru 2006, 22:28
- Lokalizacja: Bielsko Biała
Dzięki dla kolegi Gaspar że troszkę wyjaśnił (choć żeby ten program poszedł to brakuje po m30 O 100 i według twich wskazówek przerobiłem ten program
(T3 BNF beliebig, #104 beachten!)
(Parameter incl. Fräserradius)
#100=15 (Zapfenbreite X)
#101=12 (Zapfenhöhe Y)
#102=3 (Zapfenradius R)
#103=-1.2 (Frästiefe Z)
#104=5 (Fräserradius max.)
G90.1
T3 S5000 M3 M6
G54
G1 G43 H3 Z2 F500
M98 P1L5
G55
M98 P1L5
G49
G28.1 X12 Y12 M5
M30
O1
G0 X0 Y[#101/2+1+#104]
G1 G42 D3 X[1+#104] Y[#101/2+1+#104]f500
G1 Z#103
G2 X0 Y[#101/2] R[1+#104]
G1 X[#102-#100/2]
G3 X[0-#100/2] Y[#101/2-#102] R#102
G1 Y[#102-#101/2]
G3 X[#102-#100/2] Y[0-#101/2] R#102
G1 X[#100/2-#102]
G3 X[#100/2] Y[#102-#101/2] R#102
G1 Y[#101/2-#102]
G3 X[#100/2-#102] Y[#101/2] R#102
G1 X0
G2 X[0-1-#104] Y[#101/2+1+#104] R[1+#104]
G1 Z2 F1500
G1 G40 X0 Y[#101/2+1+#104]
#103=[#103-1.2]
M99
%
no i niby idzie ale przy g55 nie wraca w Z do 0 tylko zjeżdża dalej czyli tutaj poniżej
Z-6mm i za cholerę nie mogę go zmusić by w G 55 też zaczynał od 0
(T3 BNF beliebig, #104 beachten!)
(Parameter incl. Fräserradius)
#100=15 (Zapfenbreite X)
#101=12 (Zapfenhöhe Y)
#102=3 (Zapfenradius R)
#103=-1.2 (Frästiefe Z)
#104=5 (Fräserradius max.)
G90.1
T3 S5000 M3 M6
G54
G1 G43 H3 Z2 F500
M98 P1L5
G55
M98 P1L5
G49
G28.1 X12 Y12 M5
M30
O1
G0 X0 Y[#101/2+1+#104]
G1 G42 D3 X[1+#104] Y[#101/2+1+#104]f500
G1 Z#103
G2 X0 Y[#101/2] R[1+#104]
G1 X[#102-#100/2]
G3 X[0-#100/2] Y[#101/2-#102] R#102
G1 Y[#102-#101/2]
G3 X[#102-#100/2] Y[0-#101/2] R#102
G1 X[#100/2-#102]
G3 X[#100/2] Y[#102-#101/2] R#102
G1 Y[#101/2-#102]
G3 X[#100/2-#102] Y[#101/2] R#102
G1 X0
G2 X[0-1-#104] Y[#101/2+1+#104] R[1+#104]
G1 Z2 F1500
G1 G40 X0 Y[#101/2+1+#104]
#103=[#103-1.2]
M99
%
no i niby idzie ale przy g55 nie wraca w Z do 0 tylko zjeżdża dalej czyli tutaj poniżej
Z-6mm i za cholerę nie mogę go zmusić by w G 55 też zaczynał od 0
-
- ELITA FORUM (min. 1000)
- Posty w temacie: 2
- Posty: 1714
- Rejestracja: 13 sty 2006, 16:41
- Lokalizacja: Stargard
- Kontakt:
Hej.
Wszystko się zgadza. Nie wraca do 0 ponieważ ostatnia wartość przypisana dla #103=-6.
Spróbuj ponownie po wykonaniu podprogramu zadeklarować zmienną #103.
Lub dodaj kolejny podprogram np P2 na innej zmiennej... ale to tak pod górkę trochę. Lepiej według pierwszego sposobu czyli ja bym zrobił tak: (uwaga nie sprawdzane, piszę na sucho
....
#102=3 (Zapfenradius R)
#103=-1.2 (Frästiefe Z)
#104=5 (Fräserradius max.)
G90.1
T3 S5000 M3 M6
G54
G1 G43 H3 Z2 F500
M98 P1L5 (tutaj wykonał podprogram 5 razy i zmienna #103 ma wartość końcową -6 , program główny już tutaj nie będzie wracał więc korzysta ze zmiennej #103 o wartości -6)
#103=-1.2 (a tutaj ponownie zadeklarujemy jej wartość na -1.2 lub dowolnie inna)
G55
M98 P1L5 ( i ten podprogram jest wykonywany ze zmienną #103 o początkowej wartości -1.2)
G49
G28.1 X12 Y12 M5
M30
....
Wszystko się zgadza. Nie wraca do 0 ponieważ ostatnia wartość przypisana dla #103=-6.
Spróbuj ponownie po wykonaniu podprogramu zadeklarować zmienną #103.
Lub dodaj kolejny podprogram np P2 na innej zmiennej... ale to tak pod górkę trochę. Lepiej według pierwszego sposobu czyli ja bym zrobił tak: (uwaga nie sprawdzane, piszę na sucho
....
#102=3 (Zapfenradius R)
#103=-1.2 (Frästiefe Z)
#104=5 (Fräserradius max.)
G90.1
T3 S5000 M3 M6
G54
G1 G43 H3 Z2 F500
M98 P1L5 (tutaj wykonał podprogram 5 razy i zmienna #103 ma wartość końcową -6 , program główny już tutaj nie będzie wracał więc korzysta ze zmiennej #103 o wartości -6)
#103=-1.2 (a tutaj ponownie zadeklarujemy jej wartość na -1.2 lub dowolnie inna)
G55
M98 P1L5 ( i ten podprogram jest wykonywany ze zmienną #103 o początkowej wartości -1.2)
G49
G28.1 X12 Y12 M5
M30
....
https://www.instagram.com/cncworkshop.pl/
Obróbka CNC - frezowanie & toczenie
Obróbka CNC - frezowanie & toczenie
-
Autor tematu - Specjalista poziom 3 (min. 600)
- Posty w temacie: 4
- Posty: 847
- Rejestracja: 05 gru 2006, 22:28
- Lokalizacja: Bielsko Biała