Strona 1 z 3
pętla programowa
: 31 lip 2012, 13:35
autor: adam54
czy jest możliwe napisanie w Sinumeriku 810D programu toczenia na tokarce, który powtarza n-razy podprogram (napisany przyrostowo-inkrementalnie) aż do osiągnięcia wymaganej pozycji w osi X bezwzględnie.
.czyli rozpoczynając np bezwzględnie w osi X100 ma kończyć podprogram na X40.
przykład poglądowy, takie rozważania
%MMPF1
...definicje zmiennych ?
N10 T1 D1
N15 G96 S120 M4
N20 G90 G0 X100 Z100
.....?
N25 L1
.....?
....?
N30 G90 G0 X150 Z200
N40 M30
%SPFL1
N10 G91 G1 X3 Z-10 F.2
N15 X1.8 Z-15.7
N20 X2.2 Z-7.6
N23 X1.6 Z-8.25
N30 X1.4
N35 M17
proszę o wyrozumiałość, jeżeli napisałem jakieś herezje

: 31 lip 2012, 20:20
autor: janale
Witam,
Oczywiście można napisać program w sposób, w który Pan podał. W moim przykładzie wykorzystuję parametr użytkownika R1 (co prawda nie mam dostępu do 810, ale chyba tam już są parametry użytkownika R1 - R100). Prawdopodobnie chodzi Panu o przejście między G90 i G91. W tym przypadku "świat" programu głównego jest w G90, a podprogramu w G91.
Pozdrawiam
N20 T1 D1
N30 G96 S1200 M3
N40 G90 G0 X100 Z100
N50 Z1
N60 R1=100
N70 Start1:
N80 L1
N90 IF (R1<40) GOTO Koniec1
N100 R1=R1-10
N110 G90 G0 Z1
N120 X=R1
N130 GOTO Start1
N140 Koniec1:
N150 G90 G0 X100 Z100
N160 M30
Podprogram L1
N20 G95 G91 G1 X3 Z-10 F.2
N30 X1.8 Z-15.7
N40 X2.2 Z-7.6
N50 X1.6 Z-8.25
N60 X1.4
N80 M17
: 01 sie 2012, 10:37
autor: adam54
dziękuję z pomoc, działa ale wymagał małej poprawki ma być GOTOF zamiast GOTO
stosuję sam często parametry R pisząc programy uniwersalne, z danymi wpisywanymi przez operatora.
Mam jeszcze jedno pytanie, zagłębianie jest sumą wartości osi X w podprogramie, co w tym przypadku daje 10mm, jest to stanowczo za dużo, zmniejszenie do 2mm powoduje, że owszem zagłębia się o 2mm, ale kończy na średnicy 48mm a nie 40-tu jak jest warunku. Co trzeba jeszcze zmodyfikować aby osiągał punkt z warunku czyli 40mm.
Poniżej działający program po moich poprawkach, z parametrami R.
pozdrawiam adam
%MPFPETLA_D
;DANE DO WPISANIA PRZEZ OPERATORA-ELEMENTY ZARYSU DETALU
R10=3
R11=1.8
R12=2.2
R13=1.6
R14=1.4
R15=100 ;NAJAZD W OSI Z DLUGOSC DETALU
R16=100 ;NAJAZD W OSI X SREDNICA MATERIALU
;OBLICZENIA
R20=(R10+R11+R12+R13+R14)
R20=R20
N10 T1 D1
N15 MSG("TOCZENIE W PETLI DO SPELNIENIA WARUNKU R1<40 ")
N30 G96 S120 M4
N40 G90 G0 X=R16 Z=R15+2
N50 Z=R15
N60 R1=100
N70 Start1:
N80 L1P
N90 IF (R1<40) GOTOF Koniec1
N100 R1=R1-R20 ;ZAGLEBIANIE
N110 G90 G0 Z=R15
N120 X=R1
N130 GOTOF Start1
N140 Koniec1:
N150 G90 G0 X=R16 Z=R15+50
N160 M30
%SPFL1P
N20 G95 G91 G1 X=R10 Z-10 F.2
N30 X=R11 Z-15.7
N40 X=R12 Z-7.6
N50 X=R13 Z-8.25
N60 X=R14
N80 M17
: 01 sie 2012, 11:17
autor: janale
Witam,
Przykład poprzedni był tylko metodą podejścia do tematu. Jeżeli chce Pan mieć dokładny podział od d1=100 do d2=40 ze skokiem s=2 na promieniu (X), to należy przyjąć R20=2*s dla ilości przejść i=(d1-d2)/(2*s) = 15 (pierwsze przejście dla 100mm, ostatnie dla 40mm)
Pozdrawiam
: 01 sie 2012, 21:30
autor: lewy10psdw
Witam, dołączę się do tematu, troszkę inna sytuacja, chcę powrócić na początek programu po użyciu tzw"suchej łapki" czyli chwytaka pręta aby wykonywać go od nowa bez ponownego startu programu, w sinumerik 840d przed programem wstawiam np Begin:
a na końcu REPEAT BEGIN P=5 i wszystko jest cacy, ale na maszynie eco z sinumerik 810d już to nie działą, może podsunie ktoś jakieś inne polecenie które zadziała w tym sterowaniu?
: 06 sie 2012, 11:24
autor: ao
Witam lewy10psdw. Zamiast REPEAT BEGIN wpisz GOTOB BEGIN. Słowo BEGIN można zastąpić każdym dowolnym słowem. Do ograniczenia ilości powtórzeń należy wprowadzić jakiś parametr liczący np:
Na początku programu wpisać:
R1=0 : zerowanie licznika
R2=5 ; ilość powtórzeń programu
BEGIN:
...
na końcu
R1=R1+1
IF R1<R2 GOTOB BEGIN
M30
: 31 sie 2012, 23:26
autor: hagi81
M33
tutaj - nazwa programu P1 - P to powtórzenia
M30
i masz zapętlenie na sinumeriku 810D , pozdrawiam
tu masz przykład :
nowy katalog z podprogramem LAPA
M33
tulejka ochronna P25
M30
Program obrabiany musi być wpisany w tym katalogu co LAPA , powo

Nacinanie gwintu trapezowego
: 17 wrz 2012, 09:19
autor: DRAGOO
Witam jesli w złym wątku to prosze o przeniesienie ....
Mam takie pytanie do użytkowników ,czy któryś próbował napisać program na gwint trapezowy np: Tr 100x12 , przy użyciu programowania parametrycznego ? chodzi mi o nacięcie gwintu nożem do rowków, zagłębianie na przemian z odpowiednim katem .
: 17 wrz 2012, 10:59
autor: janale
Witam,
Trapez z przekroju wzdłużnego (po osi Z) gwintu do wybrania (zeskrawania) należy opisać parametrami: R1 - średnica, R2 - skok i wyliczyć ilość pokryć pola trapezu w płaszczyźnie ZX miniobszarami, na które będą się składały naddatki poszczególnych przejść przecinaka. Położenie tych pokryć (w sumie będzie to obszar) należy wyliczyć dla poszczególnych X w funkcji wejścia kąta do gwintu (będzie to tablica dwuwymiarowa: wiersze-warstwy, kolumny-wyliczenia przesunięć w warstwie-elementy o wartości zerowej - brak skrawania). Podobny przypadek był opisany w
https://www.cnc.info.pl/topics84/toczen ... t38903.htm
Pozdrawiam
: 17 wrz 2012, 11:42
autor: DRAGOO
Bardzo fachowo może aż za bardzo jak dla mnie
dodam że moje sterowanie to sinumerik 810d bez nakładek shopturn
i nie mam pojęcia jak to zapisać ,nigdy nie używałem parametrów R.

jeszcze to gwint wewnętrzny