Siemens
Digital Industries, Motion Control, Machine Tool Systems
R-Parameter automatisieren
20.02.2024, 06:56 Uhr
Hallo zusammen,
aktuell schreibe ich ein UP für das Messen mit einem Messtaster.
Es werden 50 Messpunkte angefahren, die ich am Ende nach dem höchsten Punkt durchsuche.
Der Messzyklus gibt sein Ergebnis in R50 aus. Diesen möchte ich nach dem ersten Messpunkt in R400 schreiben.
Nach dem zweiten und dritten usw. dann in R401, R402,...,R450.
Hat jemand eine Idee, wie ich den R400 bis R450 automatisiert hochsetzen kann, damit er auch wirklich nur ein Mal in R400 schreibt?
Hier ist mein Ansatz, der aber nicht funktioniert:
R5=RG918*100*2 ;IST 50
R6=0 ;Zähler auf 0
R400=400-1
;===============================================================================
====
;===============================================================================
====
N3005 G0 Z=RG915 Y=0+RG918
N3010 X=RG916
N3015 M122 ;Messtaster abblasen
N3020 G4 F3
N3025 M109
N3030 M120 ;Messtaster EIN
N3035 M01
N3036 WIEDERHOLEN:
N3037 R400=R400+1
N3040 L770("X",RG916,RG911-RG919,0,100, ) ;Werkstueckmessen
N3045 STOPRE
N3050 R[R400]=R50 ;Messwert in R400 schreiben
N3055 STOPRE
N3060 R6=R6+1 ;Zaehler
N3065 IF R5==R6 GOTOF WEITER
N3070 G0 G91 Y-0.01
N3075 G90
N3080 GOTOB WIEDERHOLEN
WEITER:
N3055 M01
aktuell schreibe ich ein UP für das Messen mit einem Messtaster.
Es werden 50 Messpunkte angefahren, die ich am Ende nach dem höchsten Punkt durchsuche.
Der Messzyklus gibt sein Ergebnis in R50 aus. Diesen möchte ich nach dem ersten Messpunkt in R400 schreiben.
Nach dem zweiten und dritten usw. dann in R401, R402,...,R450.
Hat jemand eine Idee, wie ich den R400 bis R450 automatisiert hochsetzen kann, damit er auch wirklich nur ein Mal in R400 schreibt?
Hier ist mein Ansatz, der aber nicht funktioniert:
R5=RG918*100*2 ;IST 50
R6=0 ;Zähler auf 0
R400=400-1
;===============================================================================
====
;===============================================================================
====
N3005 G0 Z=RG915 Y=0+RG918
N3010 X=RG916
N3015 M122 ;Messtaster abblasen
N3020 G4 F3
N3025 M109
N3030 M120 ;Messtaster EIN
N3035 M01
N3036 WIEDERHOLEN:
N3037 R400=R400+1
N3040 L770("X",RG916,RG911-RG919,0,100, ) ;Werkstueckmessen
N3045 STOPRE
N3050 R[R400]=R50 ;Messwert in R400 schreiben
N3055 STOPRE
N3060 R6=R6+1 ;Zaehler
N3065 IF R5==R6 GOTOF WEITER
N3070 G0 G91 Y-0.01
N3075 G90
N3080 GOTOB WIEDERHOLEN
WEITER:
N3055 M01
20.02.2024, 08:10 Uhr
Hallo zusammen,
aktuell schreibe ich ein UP für das Messen mit einem Messtaster.
Es werden 50 Messpunkte angefahren, die ich am Ende nach dem höchsten Punkt durchsuche.
Der Messzyklus gibt sein Ergebnis in R50 aus. Diesen möchte ich nach dem ersten Messpunkt in R400 schreiben.
Nach dem zweiten und dritten usw. dann in R401, R402,...,R450.
Hat jemand eine Idee, wie ich den R400 bis R450 automatisiert hochsetzen kann, damit er auch wirklich nur ein Mal in R400 schreibt?
Hier ist mein Ansatz, der aber nicht funktioniert:
R5=RG918*100*2 ;IST 50
R6=0 ;Zähler auf 0
R400=400-1
;===============================================================================
====
;===============================================================================
====
N3005 G0 Z=RG915 Y=0+RG918
N3010 X=RG916
N3015 M122 ;Messtaster abblasen
N3020 G4 F3
N3025 M109
N3030 M120 ;Messtaster EIN
N3035 M01
N3036 WIEDERHOLEN:
N3037 R400=R400+1
N3040 L770("X",RG916,RG911-RG919,0,100, ) ;Werkstueckmessen
N3045 STOPRE
N3050 R[R400]=R50 ;Messwert in R400 schreiben
N3055 STOPRE
N3060 R6=R6+1 ;Zaehler
N3065 IF R5==R6 GOTOF WEITER
N3070 G0 G91 Y-0.01
N3075 G90
N3080 GOTOB WIEDERHOLEN
WEITER:
N3055 M01
aktuell schreibe ich ein UP für das Messen mit einem Messtaster.
Es werden 50 Messpunkte angefahren, die ich am Ende nach dem höchsten Punkt durchsuche.
Der Messzyklus gibt sein Ergebnis in R50 aus. Diesen möchte ich nach dem ersten Messpunkt in R400 schreiben.
Nach dem zweiten und dritten usw. dann in R401, R402,...,R450.
Hat jemand eine Idee, wie ich den R400 bis R450 automatisiert hochsetzen kann, damit er auch wirklich nur ein Mal in R400 schreibt?
Hier ist mein Ansatz, der aber nicht funktioniert:
R5=RG918*100*2 ;IST 50
R6=0 ;Zähler auf 0
R400=400-1
;===============================================================================
====
;===============================================================================
====
N3005 G0 Z=RG915 Y=0+RG918
N3010 X=RG916
N3015 M122 ;Messtaster abblasen
N3020 G4 F3
N3025 M109
N3030 M120 ;Messtaster EIN
N3035 M01
N3036 WIEDERHOLEN:
N3037 R400=R400+1
N3040 L770("X",RG916,RG911-RG919,0,100, ) ;Werkstueckmessen
N3045 STOPRE
N3050 R[R400]=R50 ;Messwert in R400 schreiben
N3055 STOPRE
N3060 R6=R6+1 ;Zaehler
N3065 IF R5==R6 GOTOF WEITER
N3070 G0 G91 Y-0.01
N3075 G90
N3080 GOTOB WIEDERHOLEN
WEITER:
N3055 M01
Servus,
da würde ich den Zähler (R6) verwenden...
der Satz N3037 muss weg und der Satz N3050 sollte so aussehen R[400+R6]=R50.
dann sollten ab R400 die Werte des R50 stehen, solange bis dein "GOTOF WEITER" zieht.
Gruß
20.02.2024, 12:20 Uhr
Hallo,
warum nutzt du nicht den Write Befehl, da kann man den Parameter in eine Datei schreiben.
dann ist das richtig dokumentiert.
WRITE (_FUNKTION,"/_N_SPF_DIR/_N_MD_SPF"," X = "<<R81)
Gruß Werner
warum nutzt du nicht den Write Befehl, da kann man den Parameter in eine Datei schreiben.
dann ist das richtig dokumentiert.
WRITE (_FUNKTION,"/_N_SPF_DIR/_N_MD_SPF"," X = "<<R81)
Gruß Werner
2 Besucher lesen dieses Thema (Gäste: 2)
0 Mitglieder: