pętla programowa

Dyskusje na temat systemu Sinumerik

Autor tematu
adam54
Czytelnik forum poziom 1 (min. 10)
Czytelnik forum poziom 1 (min. 10)
Posty w temacie: 2
Posty: 15
Rejestracja: 19 lut 2007, 12:14
Lokalizacja: przemyśl

pętla programowa

#1

Post napisał: adam54 » 31 lip 2012, 13:35

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 :)



Awatar użytkownika

janale
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 6
Posty: 101
Rejestracja: 25 lis 2004, 13:22
Lokalizacja: Bialystok

#2

Post napisał: janale » 31 lip 2012, 20:20

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


Autor tematu
adam54
Czytelnik forum poziom 1 (min. 10)
Czytelnik forum poziom 1 (min. 10)
Posty w temacie: 2
Posty: 15
Rejestracja: 19 lut 2007, 12:14
Lokalizacja: przemyśl

#3

Post napisał: adam54 » 01 sie 2012, 10:37

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

Awatar użytkownika

janale
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 6
Posty: 101
Rejestracja: 25 lis 2004, 13:22
Lokalizacja: Bialystok

#4

Post napisał: janale » 01 sie 2012, 11:17

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


lewy10psdw
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 1
Posty: 346
Rejestracja: 26 sie 2008, 13:07
Lokalizacja: Koszalin
Kontakt:

#5

Post napisał: lewy10psdw » 01 sie 2012, 21:30

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?


ao
Stały bywalec (min. 70)
Stały bywalec (min. 70)
Posty w temacie: 1
Posty: 70
Rejestracja: 08 mar 2011, 09:10
Lokalizacja: Kielce

#6

Post napisał: ao » 06 sie 2012, 11:24

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


hagi81
Czytelnik forum poziom 1 (min. 10)
Czytelnik forum poziom 1 (min. 10)
Posty w temacie: 1
Posty: 17
Rejestracja: 21 maja 2009, 14:52
Lokalizacja: tychy

#7

Post napisał: hagi81 » 31 sie 2012, 23:26

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 :)

Awatar użytkownika

DRAGOO
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 3
Posty: 168
Rejestracja: 17 wrz 2012, 08:59
Lokalizacja: POLSKA

Nacinanie gwintu trapezowego

#8

Post napisał: DRAGOO » 17 wrz 2012, 09:19

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 .

Awatar użytkownika

janale
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 6
Posty: 101
Rejestracja: 25 lis 2004, 13:22
Lokalizacja: Bialystok

#9

Post napisał: janale » 17 wrz 2012, 10:59

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
Technologia CNC od 1979r.
Programowanie technologiczne
SINUMERIK Operate

Awatar użytkownika

DRAGOO
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 3
Posty: 168
Rejestracja: 17 wrz 2012, 08:59
Lokalizacja: POLSKA

#10

Post napisał: DRAGOO » 17 wrz 2012, 11:42

Bardzo fachowo może aż za bardzo jak dla mnie :roll:
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.
:sad: jeszcze to gwint wewnętrzny

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Siemens Sinumerik CNC”