Rozumiemy się doskonale programy parametryczne używam na co dzień co już wcześniej pisałem i maszyna też to ogarnia tylko sprawa dotyczy stopni trudności obliczeń matematycznych w nich zawartych , jak do tej pory były to dodawania, odejmowania ,dzielenia nawet w sin i cos też .Jednak po dodaniu tego skoku nie działa i szukam rozwiązania dla prawidłowego zapisu takiej pętli punktów na okręgu .A i jest między nami różnica skrajnych dialektów posiadanych sterowań ja np. nie rozumiem tego
"WHILE [#10 LT #11] DO1 (WYKONANIE PETLI FREZOWANIA PO OKREGU #10 - AKTUALNY KAT, #11 - KAT KONCOWY) "
W pronumie D200 jak widać podane w linii z G54 to zapis Bazy a komentarze podaje się w nawiasach okrągłych obliczenia są zalecane w nawiasach ale w przedstawionym programie działają i i nimi i bez kwadratowych nawiasów w tym dialekcie nie ma.
Poniżej przykład z podprogramem :
%MPF222
(PQLKULA )
N0
N1G17G00G90G54D200
N2G1X0Y0F1000
N3R1=PI/180*235(POCZ-KATA)
N4R2=PI/180*0.25(PRZYROST KATA)
N5R3=PI/180*269.75(KONIEC KATA)
N6R4=22(PROMIEN)
N7R5=5(PROM-FREZA)
N8R6=R4-R5
N9L222
N10G0Z40
N11M30
%SPF222
N01R1=R1+R2
N02R7=SINR1
N03R8=COSR1
N04R9=R7*R6
N05R10=R8*R6
N06G01XR10F200
N07G1ZR9F100M3
(N07G01XR10F200)
N08G3XR10Y0I-R10J0F300
N09H3-1=R3=R1 (skok warunkowy wstecz)
N10M17
Ale jest coś jeszcze w powyższym przykładzie jest skok i nie ma kompensacji tylko R freza podano od razu w obliczeniach i chyba to jest to spróbuję zmienić obliczenia i uwzględnić R freza w parametrach programu.
Na razie dziękuję za zainteresowanie dam znać jak poszło.
Znaleziono 5 wyników
Wróć do „Nie działająca kompensacja promienia freza”
- 04 wrz 2013, 07:08
- Forum: G-CODE - programowanie
- Temat: Nie działająca kompensacja promienia freza
- Odpowiedzi: 12
- Odsłony: 3922
- 03 wrz 2013, 20:26
- Forum: G-CODE - programowanie
- Temat: Nie działająca kompensacja promienia freza
- Odpowiedzi: 12
- Odsłony: 3922
Jestem ,
"LABEL napisał/a:
N40 H3-32=R4=0
Tego też za cholerę nie potrafię zrozumieć." Już tłumaczę jest to skok warunkowy wstecz R4>0 wg dialektu pronuma .
Tak zakładamy frez 10 mm.
"LABEL napisał/a:
N20 G1XR2*COS(R1)+R5YR2*SIN(R1)+R6
Tu zaś, z moich obliczeń wynika, że narzędziem przesuwasz się w tym samym kierunku co poprzednio (X wynosi w tym wypadku 86.45*1+0 czyli 86.45, Y natomiast 86.45*0+0, czyli 0.
Biorąc pod uwagę fakt, że narzędzie cały czas (podwójnie) porusza się w osi X, nie zmieniając przy tym współrzędnej Y, maszyna wywala błąd, bo gubi w tym momencie kontur po którym ma się poruszać, w tym przypadku staje się nie jasne czy jest to kontur zewnętrzny czy wewnętrzny. "
Wygląda na błąd to ja podstawiłem za R1=0 a w wersji oryginalnej tego programu było podstawione 10 stopni ( dzieło inżynierów sinumerika )podstawię 10 stopni i sprawdzę ponownie . Chociaż trochę dziwne że bez kompensacji działa .A po skoku już R1 nie jest 0 tylko R3 dodanie o kąt N30 R1=R1+R3
Poniżej wersja oryginalna wg dialektu sinumerika:
"
Dosuwanie do punktów na łuku koła:
Dane: kąt początkowy: 30° w R1
promień okręgu: 32 mm w R2
odstęp pozycji: 10° w R3
liczba punktów: 11 w R4
położenie środka okręgu w Z 50 mm w R5
położenie środka okręgu w X: 20 mm w R6
Rysunek 8-47 Dosuwanie do punktów na łuku koła
Rysunek 8-42 Dosuwanie do punktów na fragmencie okręgu
Przykład programowania
N10 R1=30 R2=32 R3=10 R4=11 R5=50 R6=20
;przyporządkowanie wartości początkowych
N20 MA1: G0 Z=R2*COS (R1)+R5 X=R2*SIN(R1)+R6
;obliczenie i przyporządkowanie do adresów osi
N30 R1=R1+R3 R4=R4-1
N40 IF R4>0 GOTOB MA1
N50 M2
Objaśnienie
W bloku N10 warunki początkowe zostają przyporządkowane odpowiednim parametrom
obliczeniowym. W N20 następuje obliczenie współrzędnych w X i Z i wykonanie.
W bloku N30 następuje zwiększenie R1 o kąt odstępu R3; R4 ulega zmniejszeniu
o 1. Jeżeli R4 > 0, następuje ponowne wykonanie N20, w przeciwnym przypadku N50
z zakończeniem programu.
"
U100 (znów dialekt pronuma ) to jeden z 13 promieni z połączeniami na promieniu R2 .
wczoraj trochę po przestawiałem parametry ,nawiasy i wychodzi że maszyna nie chce kontynuować kompensacji po skoku poniżej program na tylko dwa łuki ale z wyłączonym skokiem i taki kompensuje .
%MPF16
(FREZOWANIE LUKOW PO KOLE )
N1 G54 D200
N2 T1 D01
N3 M4
N4F100
N5 R1=PI/180*0 (KAT POCZATKOWY)
N6 R2=86 (PROMIEN OKRU PODZIALOWA )
N7 R3=(PI/180*R7) (ODSTEP KATOWY )
N8 R4=13 (LICZBA ŁUKÓW )
N9 (X SRODEK OKREGU)
N10 R6=0 (Y SRODEK OKREGU)
N11R7=(360/R4)
(przyporzadkowanie wartosci poczatkowych)
N12G0G90X150Y20
N14G1G42D01X120Y0F120 (DOJAZD)
N20G1XR2*COSR1 YR2*SINR1
N22
(obliczenie i przyporzadkowanie do adresow osi)
N30 R1=R1+R3
N31
N32G2XR2*COSR3 YR2*SINR3 U30
N33R5=R3+R3 R4=R4-1
N34G2XR2*COSR5YR2*SINR5U30
N36R3=R3+R3
N40 (H3-31=R4=0)
N42 G1G40 X120 Y0
N50 M30
"LABEL napisał/a:
N40 H3-32=R4=0
Tego też za cholerę nie potrafię zrozumieć." Już tłumaczę jest to skok warunkowy wstecz R4>0 wg dialektu pronuma .
Tak zakładamy frez 10 mm.
"LABEL napisał/a:
N20 G1XR2*COS(R1)+R5YR2*SIN(R1)+R6
Tu zaś, z moich obliczeń wynika, że narzędziem przesuwasz się w tym samym kierunku co poprzednio (X wynosi w tym wypadku 86.45*1+0 czyli 86.45, Y natomiast 86.45*0+0, czyli 0.
Biorąc pod uwagę fakt, że narzędzie cały czas (podwójnie) porusza się w osi X, nie zmieniając przy tym współrzędnej Y, maszyna wywala błąd, bo gubi w tym momencie kontur po którym ma się poruszać, w tym przypadku staje się nie jasne czy jest to kontur zewnętrzny czy wewnętrzny. "
Wygląda na błąd to ja podstawiłem za R1=0 a w wersji oryginalnej tego programu było podstawione 10 stopni ( dzieło inżynierów sinumerika )podstawię 10 stopni i sprawdzę ponownie . Chociaż trochę dziwne że bez kompensacji działa .A po skoku już R1 nie jest 0 tylko R3 dodanie o kąt N30 R1=R1+R3
Poniżej wersja oryginalna wg dialektu sinumerika:
"
Dosuwanie do punktów na łuku koła:
Dane: kąt początkowy: 30° w R1
promień okręgu: 32 mm w R2
odstęp pozycji: 10° w R3
liczba punktów: 11 w R4
położenie środka okręgu w Z 50 mm w R5
położenie środka okręgu w X: 20 mm w R6
Rysunek 8-47 Dosuwanie do punktów na łuku koła
Rysunek 8-42 Dosuwanie do punktów na fragmencie okręgu
Przykład programowania
N10 R1=30 R2=32 R3=10 R4=11 R5=50 R6=20
;przyporządkowanie wartości początkowych
N20 MA1: G0 Z=R2*COS (R1)+R5 X=R2*SIN(R1)+R6
;obliczenie i przyporządkowanie do adresów osi
N30 R1=R1+R3 R4=R4-1
N40 IF R4>0 GOTOB MA1
N50 M2
Objaśnienie
W bloku N10 warunki początkowe zostają przyporządkowane odpowiednim parametrom
obliczeniowym. W N20 następuje obliczenie współrzędnych w X i Z i wykonanie.
W bloku N30 następuje zwiększenie R1 o kąt odstępu R3; R4 ulega zmniejszeniu
o 1. Jeżeli R4 > 0, następuje ponowne wykonanie N20, w przeciwnym przypadku N50
z zakończeniem programu.
"
U100 (znów dialekt pronuma ) to jeden z 13 promieni z połączeniami na promieniu R2 .
wczoraj trochę po przestawiałem parametry ,nawiasy i wychodzi że maszyna nie chce kontynuować kompensacji po skoku poniżej program na tylko dwa łuki ale z wyłączonym skokiem i taki kompensuje .
%MPF16
(FREZOWANIE LUKOW PO KOLE )
N1 G54 D200
N2 T1 D01
N3 M4
N4F100
N5 R1=PI/180*0 (KAT POCZATKOWY)
N6 R2=86 (PROMIEN OKRU PODZIALOWA )
N7 R3=(PI/180*R7) (ODSTEP KATOWY )
N8 R4=13 (LICZBA ŁUKÓW )
N9 (X SRODEK OKREGU)
N10 R6=0 (Y SRODEK OKREGU)
N11R7=(360/R4)
(przyporzadkowanie wartosci poczatkowych)
N12G0G90X150Y20
N14G1G42D01X120Y0F120 (DOJAZD)
N20G1XR2*COSR1 YR2*SINR1
N22
(obliczenie i przyporzadkowanie do adresow osi)
N30 R1=R1+R3
N31
N32G2XR2*COSR3 YR2*SINR3 U30
N33R5=R3+R3 R4=R4-1
N34G2XR2*COSR5YR2*SINR5U30
N36R3=R3+R3
N40 (H3-31=R4=0)
N42 G1G40 X120 Y0
N50 M30
- 02 wrz 2013, 16:18
- Forum: G-CODE - programowanie
- Temat: Nie działająca kompensacja promienia freza
- Odpowiedzi: 12
- Odsłony: 3922
Dodałem linijkę dojazdu N11 i zmieniłem na dialog pronuma (był trochę z sinumerika ) ale to nadal nie działa oczywiście wyłączając G42 wszystko śmiga .Za R1 można podać 0 a R5 i R6 chyba też na chwilę obecną niepotrzebne . Po sprawdzeniu ciekawe bez R5 i R6 idzie dobrze
podstawiając w obliczeniach za R1 od razu zero wybija błąd tak że tylko R1=0 jeszcze sprawdzę .
Program ma służyć do wywoływania bezpośredniego jak teraz i po modyfikacji jako podprogram .Na razie jest testowany jego konstrukcja jest prosta i zmierza jeszcze do uproszczeń . Dalsza jego budowa nie będzie miała sensu jeżeli kompensacja nie zadziała . W instrukcji pronuma nie podano programu z obliczeniami i kompensacją jest tylko przykład liczbowy . Z nawiasami też już było sprawdzane bo pronum nawiasów używa .
A więc na razie idziemy w kierunku że program ma błąd w zapisie .
Dzisiaj komputer z którego piszę idzie do przeglądu więc będę odcięty do jutra .
%MPF16
(FREZOWANIE ŁUKÓW PO KOLE )
N1 G54 D200
N2 T1 D1
N3 M4
N4F100
N5 R1=PI/180*0 (KAT POCZATKOWY)
N6 R2=86.45 (PROMIEN OKRĘGU PODZIALOWA )
N7 R3=PI/180*27.692 (ODSTEP KATOWY )
N8 R4=13 (LICZBA ŁUKÓW )
N9 R5=0 (X SRODEK OKREGU)
N10 R6=0 (Y SRODEK OKREGU)
(przyporzadkowanie wartosci poczatkowych)
N11 G0 X130 Y 0
N12 G1 G42 G90 X120 Y0 F120 (DOJAZD)
N20 G1XR2*COS(R1)+R5YR2*SIN(R1)+R6
(obliczenie i przyporzadkowanie do adresow osi)
N30R1=R1+R3
N32G17G90G2XR2*COS(R1)+R5YR2*SIN(R1)+R6U100
N34 R1=R1+R3 R4=R4-1
N40 H3-32=R4=0
N42 G40 G1 X120 Y0
N50 M30
_________________
podstawiając w obliczeniach za R1 od razu zero wybija błąd tak że tylko R1=0 jeszcze sprawdzę .
Program ma służyć do wywoływania bezpośredniego jak teraz i po modyfikacji jako podprogram .Na razie jest testowany jego konstrukcja jest prosta i zmierza jeszcze do uproszczeń . Dalsza jego budowa nie będzie miała sensu jeżeli kompensacja nie zadziała . W instrukcji pronuma nie podano programu z obliczeniami i kompensacją jest tylko przykład liczbowy . Z nawiasami też już było sprawdzane bo pronum nawiasów używa .
A więc na razie idziemy w kierunku że program ma błąd w zapisie .
Dzisiaj komputer z którego piszę idzie do przeglądu więc będę odcięty do jutra .
%MPF16
(FREZOWANIE ŁUKÓW PO KOLE )
N1 G54 D200
N2 T1 D1
N3 M4
N4F100
N5 R1=PI/180*0 (KAT POCZATKOWY)
N6 R2=86.45 (PROMIEN OKRĘGU PODZIALOWA )
N7 R3=PI/180*27.692 (ODSTEP KATOWY )
N8 R4=13 (LICZBA ŁUKÓW )
N9 R5=0 (X SRODEK OKREGU)
N10 R6=0 (Y SRODEK OKREGU)
(przyporzadkowanie wartosci poczatkowych)
N11 G0 X130 Y 0
N12 G1 G42 G90 X120 Y0 F120 (DOJAZD)
N20 G1XR2*COS(R1)+R5YR2*SIN(R1)+R6
(obliczenie i przyporzadkowanie do adresow osi)
N30R1=R1+R3
N32G17G90G2XR2*COS(R1)+R5YR2*SIN(R1)+R6U100
N34 R1=R1+R3 R4=R4-1
N40 H3-32=R4=0
N42 G40 G1 X120 Y0
N50 M30
_________________
- 02 wrz 2013, 07:36
- Forum: G-CODE - programowanie
- Temat: Nie działająca kompensacja promienia freza
- Odpowiedzi: 12
- Odsłony: 3922
Dziękuję za rzeczową odpowiedź już sprawdzałem w linii z komendą G42 podać bezpośrednio numer korekcji promienia D i bez zmian . Obliczenia z linii N20 to blok zawierający ruch ale spróbuję go podzielić .
Dodam że do tej pory kompensację używałem w programach bez skoków i tylko liczbowych gdzie w treści nie było obliczeń i wszystko działało .
Spróbuję jeszcze dodać G4 F2 żeby sterownik miał więcej czasu na przeprowadzenie obliczeń już mu to kiedyś pomagało .
Chociaż jeszcze mnie zastanawia bo programy liczbowe mają zamknięty kontur i sterownik zaczytuje się dalej niż jeden blok szczególnie istotne to jest przy kompensacji gdzie obliczenia kompensacji są oparte na połączeniu dwóch bloków a w tym programie sterownik "widzi" tylko jeden blok i dopiero po jego wykonaniu odczytuje następny .
Dodam że do tej pory kompensację używałem w programach bez skoków i tylko liczbowych gdzie w treści nie było obliczeń i wszystko działało .
Spróbuję jeszcze dodać G4 F2 żeby sterownik miał więcej czasu na przeprowadzenie obliczeń już mu to kiedyś pomagało .
Chociaż jeszcze mnie zastanawia bo programy liczbowe mają zamknięty kontur i sterownik zaczytuje się dalej niż jeden blok szczególnie istotne to jest przy kompensacji gdzie obliczenia kompensacji są oparte na połączeniu dwóch bloków a w tym programie sterownik "widzi" tylko jeden blok i dopiero po jego wykonaniu odczytuje następny .
- 01 wrz 2013, 21:42
- Forum: G-CODE - programowanie
- Temat: Nie działająca kompensacja promienia freza
- Odpowiedzi: 12
- Odsłony: 3922
Nie działająca kompensacja promienia freza
Witam może ktoś pomoże napisałem program parametryczny na frezowanie łuków na promieniu koła i program działa dobrze ale gdy włączam blok N12 kompensację promienia wybija błąd (błędne dane ) parametry narzędzia podane , wielkość freza mieści się w konturze wiele prób negatywnie zakończonych i tak się zastanawiam czy program oparty na zasadzie skoków w ogóle może być kompensowany .Wyczerpałem literaturę instrukcji pronuma może ktoś to przerabiał czekam na opinię . Program poniżej:
%MPF16
(FREZOWANIE ŁUKÓW PO KOLE )
N1 G54 D200
N2 T1 D1
N3 M4
N4F100
N5 R1=PI/180*0 (KAT POCZATKOWY)
N6 R2=86.45 (PROMIEN OKRĘGU PODZIALOWA )
N7 R3=PI/180*27.692 (ODSTEP KATOWY )
N8 R4=13 (LICZBA ŁUKÓW )
N9 R5=0 (X SRODEK OKREGU)
N10 R6=0 (Y SRODEK OKREGU)
(przyporzadkowanie wartosci poczatkowych)
N12 G1 G42 G90 X120 Y0 F120 (DOJAZD)
N20 G1X=R2*COS(R1)+R5Y=R2*SIN(R1)+R6
(obliczenie i przyporzadkowanie do adresow osi)
N30R1=R1+R3
N32G17G90G2X=R2*COS(R1)+R5Y=R2*SIN(R1)+R6U100
N34 R1=R1+R3 R4=R4-1
N40 H3-32=R4=0
N42 G40 G1 X120 Y0
N50 M30
%MPF16
(FREZOWANIE ŁUKÓW PO KOLE )
N1 G54 D200
N2 T1 D1
N3 M4
N4F100
N5 R1=PI/180*0 (KAT POCZATKOWY)
N6 R2=86.45 (PROMIEN OKRĘGU PODZIALOWA )
N7 R3=PI/180*27.692 (ODSTEP KATOWY )
N8 R4=13 (LICZBA ŁUKÓW )
N9 R5=0 (X SRODEK OKREGU)
N10 R6=0 (Y SRODEK OKREGU)
(przyporzadkowanie wartosci poczatkowych)
N12 G1 G42 G90 X120 Y0 F120 (DOJAZD)
N20 G1X=R2*COS(R1)+R5Y=R2*SIN(R1)+R6
(obliczenie i przyporzadkowanie do adresow osi)
N30R1=R1+R3
N32G17G90G2X=R2*COS(R1)+R5Y=R2*SIN(R1)+R6U100
N34 R1=R1+R3 R4=R4-1
N40 H3-32=R4=0
N42 G40 G1 X120 Y0
N50 M30