Kalkulacja naddatku

Dyskusje na temat systemu Heidenhaina

Autor tematu
Arias2
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 3
Posty: 566
Rejestracja: 29 lip 2007, 10:49
Lokalizacja: wieluń-eslov

Kalkulacja naddatku

#1

Post napisał: Arias2 » 18 wrz 2013, 20:10

Witam.
Nie wiem za bardzo jak to opisać, ale chodzi mi o automatyczną kalkulację naddatku przy np. planowaniu.
np. Przy wpisaniu ze naddatek wynosi 5 mm i za jednym razem bierze 1 mm automatycznie jedzie 5 razy.
Doszedłem do takiego czegoś że na pełnych wartościach jeździ ok, ale przy wartości po przecinku już jedzie na minus (-) a to jest nie wskazane.

Moje wypociny
0 BEGIN PGM PLAN MM
1 BLK FORM 0.1 Z X-100 Y-100 Z-100
2 BLK FORM 0.2 X+100 Y+100 Z+10
3 TOOL CALL 1 S800
4 L X+50 Y+100 Z+200 FMAX M0
5 FN 0: Q1 =+3
6 L Z+Q1 F1500 M3
7 LBL 1
8 FN 0: Q2 =+1 ;ILE NA RAZ
9 FN 2: Q1 =+Q1 - +Q2
10 L Z+Q1 F500 M3 M8
11 L X+50 Y+0 F500
12 CC X+0 Y+0
13 C X+50 Y+0 DR-
14 L X+50 Y+100 F2000
15 FN 11: IF +Q1 GT +0 GOTO LBL 1
16 LBL 0
17 L Z+200 FMAX M0
18 STOP M30
19 END PGM PLAN MM
Czy ktoś wie co i gdzie należy dopisać aby nie jechało do zera i dalej już nie, czy jeśli zostaje 0.3 mm to ostatni przejazd jest na głębokość 0.3 mm.



Tagi:


smieszek88
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 2
Posty: 241
Rejestracja: 25 maja 2012, 10:52
Lokalizacja: łódź

#2

Post napisał: smieszek88 » 18 wrz 2013, 20:58

Starałem się zrobić to w jak najmniej inwazyjny sposób, więc doszły 3 linijki.
0 BEGIN PGM planowanie MM
1 BLK FORM 0.1 Z X-100 Y-100 Z-100
2 BLK FORM 0.2 X+100 Y+100 Z+10
3 TOOL CALL 20 Z S800 F111
4 L X+50 Y+100 Z+200 FMAX M0
5 FN 0: Q1 =+3
6 L Z+Q1 F1500 M3
7 LBL 1
8 FN 0: Q2 =+2 ;ILE NA RAZ
9 FN 2: Q1 =+Q1 - +Q2
10 FN 11: IF +Q1 GT +0 GOTO LBL 2
11 Q1 = 0
12 LBL 2

13 L Z+Q1 F500 M3 M8
14 L X+50 Y+0 F500
15 CC X+0 Y+0
16 C X+50 Y+0 DR-
17 L X+50 Y+100 F2000
18 FN 11: IF +Q1 GT +0 GOTO LBL 1
19 LBL 0
20 L Z+200 FMAX M0
21 STOP M30
22 END PGM planowanie MM
A teraz tłumaczę. Funkcja warunkowa na końcu przejścia nie jest najlepszym pomysłem. Jak na końcu warunek nie jest spełniony leci kolejny raz od nowa, a jeżeli w przeliczeniach na początku wyjdzie za dużo to i tak pojedzie i jest lipa. Dodałem na początku sprawdzanie i jeżeli jest nie dojechane to przeskakuje, a jak już by leciał za daleko to Q1 się wyzeruje i przejdzie ładnie po dnie.


Autor tematu
Arias2
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 3
Posty: 566
Rejestracja: 29 lip 2007, 10:49
Lokalizacja: wieluń-eslov

#3

Post napisał: Arias2 » 18 wrz 2013, 21:26

Wytłumaczenie jest ok i logiczne,
tylko że po wpisaniu tych 3 linijek i na sprawdzeniu to nie działa bo jeśli damy naddatek np.1.3 mm to ostatni przejazd pojedzie na -0.7 mm


smieszek88
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 2
Posty: 241
Rejestracja: 25 maja 2012, 10:52
Lokalizacja: łódź

#4

Post napisał: smieszek88 » 18 wrz 2013, 22:06

U mnie wszystko działa jak należy nie ważne jaki naddatek i ile na przejście. Sprawdź czy wszystko dobrze przepisałeś i w dobre miejsce.
W samym kodzie też nie widzę błędu:
10 - jeżeli Q1>0 to skok do 12 i zostaje to co jest
11 - jeżeli Q1 nie było większe od zera to w tej linijce jest zerowane
przez tą parę nie może przejść Q1<0, a do końca przejścia nie ma żadnych więcej przeliczeń.


Autor tematu
Arias2
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 3
Posty: 566
Rejestracja: 29 lip 2007, 10:49
Lokalizacja: wieluń-eslov

#5

Post napisał: Arias2 » 18 wrz 2013, 22:17

Dzięki faktycznie gdzieś musiałem popełnić błąd, skopiowałem i teraz działa.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Heidenhain”