Siemens
Digital Industries, Motion Control, Machine Tool Systems
z wert ermitteln bei shopmill
19.03.2020, 19:11 Uhr
Hallo zusammen,
bin nicht neu in der Cnc Arena,aber in der Siemenssteuerung.
Wir haben seit ca 4Wochen eine DMU75 Mono Block.
Ich programmiere im Modus Shopmill.
Mein Problem ist:
wir fertigen momentan Scheiben mit durchmesser 560mm,die ich überfraesen muss.
Funktioniert alles bestens,Problem ist die unebenheit der Teile.
ich vermesse jedes Teil mit dem Blum Messtaster,4mal
x270y0=G54 x0y270=G55 x-270y0=G56 x0y-270=G57
Danach habe ich einen M00 stop und ich vergleiche die Werte im Ofsett.
Ich nehme insgesamt 4 mm in Z ab,heißt wenn meine 4Nullpunkte innerhalb 3mm liegen
schreibe ich den tiefsten Wert in G54 und lass mein Programm ablaufen.
Meine Frage,kann ich die 4Werte über ein Programm vergleichen und wenn ich innerhalb der 3mm bin,
den tiefsten Wert in G54 schreiben und automatisch weiterlaufen lassen
Hoffe das ich es einigermaßen verständlich erklärt habe,
vorab schon mal vielen Dank für eure Hilfe
Jürgen
bin nicht neu in der Cnc Arena,aber in der Siemenssteuerung.
Wir haben seit ca 4Wochen eine DMU75 Mono Block.
Ich programmiere im Modus Shopmill.
Mein Problem ist:
wir fertigen momentan Scheiben mit durchmesser 560mm,die ich überfraesen muss.
Funktioniert alles bestens,Problem ist die unebenheit der Teile.
ich vermesse jedes Teil mit dem Blum Messtaster,4mal
x270y0=G54 x0y270=G55 x-270y0=G56 x0y-270=G57
Danach habe ich einen M00 stop und ich vergleiche die Werte im Ofsett.
Ich nehme insgesamt 4 mm in Z ab,heißt wenn meine 4Nullpunkte innerhalb 3mm liegen
schreibe ich den tiefsten Wert in G54 und lass mein Programm ablaufen.
Meine Frage,kann ich die 4Werte über ein Programm vergleichen und wenn ich innerhalb der 3mm bin,
den tiefsten Wert in G54 schreiben und automatisch weiterlaufen lassen
Hoffe das ich es einigermaßen verständlich erklärt habe,
vorab schon mal vielen Dank für eure Hilfe
Jürgen
19.03.2020, 20:42 Uhr
Hallo Jürgen,
ja das geht.
Du musst alle werte zunächst in Variablen oder R Parameter speichern
Dann gibt es die Funktionen MAXVAL / MINVAL...
Und den minimal Wert dann über $P_UIFR [xxx,Z,TR] in den Nullpunkt xxx eintragen
Der Beitrag wurde von Hexogen bearbeitet: 19.03.2020, 20:43 Uhr
ja das geht.
Du musst alle werte zunächst in Variablen oder R Parameter speichern
Dann gibt es die Funktionen MAXVAL / MINVAL...
Und den minimal Wert dann über $P_UIFR [xxx,Z,TR] in den Nullpunkt xxx eintragen
Der Beitrag wurde von Hexogen bearbeitet: 19.03.2020, 20:43 Uhr
--------------------
Schaut doch mal rein:
Mein Youtube Kanal
Anwendungen, Zyklen, CAD/CAM
-----------------------------------------------------------------------------------------------------------------------------
Mein Youtube Kanal
Anwendungen, Zyklen, CAD/CAM
-----------------------------------------------------------------------------------------------------------------------------
19.03.2020, 20:42 Uhr
--------------------
Schaut doch mal rein:
Mein Youtube Kanal
Anwendungen, Zyklen, CAD/CAM
-----------------------------------------------------------------------------------------------------------------------------
Mein Youtube Kanal
Anwendungen, Zyklen, CAD/CAM
-----------------------------------------------------------------------------------------------------------------------------
19.03.2020, 22:40 Uhr
Du musst ja nicht unbedingt alle 4 Werte aufsammeln und dann vergleichen.
Du könntest zwei Variablen definieren für Z_MIN und Z_MAX und nach jeder Messung sofort überprüfen, ob der neue Messwert kleiner als das bisherige Minimum oder größer als das bisherige Maximum ist und dann Z_MIN und Z_MAX entsprechend aktualisieren.
Wenn deine Messung beendet ist kannst du überprüfen, ob die Differenz von Z_MIN und Z_MAX kleiner als 3mm ist, und falls ja, Z_MIN in deine Nullpunktverschiebung übernehmen.
Das hätte auch den Vorteil, dass du beliebig viele Messungen machen kannst ohne an deinem Programm viel ändern zu müssen.
Du könntest zwei Variablen definieren für Z_MIN und Z_MAX und nach jeder Messung sofort überprüfen, ob der neue Messwert kleiner als das bisherige Minimum oder größer als das bisherige Maximum ist und dann Z_MIN und Z_MAX entsprechend aktualisieren.
Wenn deine Messung beendet ist kannst du überprüfen, ob die Differenz von Z_MIN und Z_MAX kleiner als 3mm ist, und falls ja, Z_MIN in deine Nullpunktverschiebung übernehmen.
Das hätte auch den Vorteil, dass du beliebig viele Messungen machen kannst ohne an deinem Programm viel ändern zu müssen.
20.03.2020, 09:54 Uhr
Hallo,dankeschön für eure Antworten
Das Grundprinzip ist mir klar,ich weiß nur nicht wie ich so ein Programm schreiben soll.
Den Link habe ich mir angeschaut,aber da bin ich noch nicht soweit das ich es wirklich nachvollziehen kann.
Auf jeden Fall vielen Dank für eure Hilfe
Grüßle Jürgen
Das Grundprinzip ist mir klar,ich weiß nur nicht wie ich so ein Programm schreiben soll.
Den Link habe ich mir angeschaut,aber da bin ich noch nicht soweit das ich es wirklich nachvollziehen kann.
Auf jeden Fall vielen Dank für eure Hilfe
Grüßle Jürgen
20.03.2020, 10:14 Uhr
Ich habe mir das ungefähr so gedacht:
CODE
DEF REAL Z_MIN = 10000
DEF REAL Z_MAX = -10000
DEF Z_MESS
; Dann nach jeder Messung (unter der Annahme, dass der Messwert in Z_MESS steht):
Z_MIN = MINVAL(Z_MIN, Z_MESS)
Z_MAX= MAXVAL(Z_MAX, Z_MESS)
; Nach der letzten Messung:
If (Z_MAX - Z_MIN > 3)
MSG("Messdifferenz groesser 3mm")
M0
ENDIF
; Hier Z_MIN in die Nullpunktverschiebung eintragen und weiter im Programm
DEF REAL Z_MAX = -10000
DEF Z_MESS
; Dann nach jeder Messung (unter der Annahme, dass der Messwert in Z_MESS steht):
Z_MIN = MINVAL(Z_MIN, Z_MESS)
Z_MAX= MAXVAL(Z_MAX, Z_MESS)
; Nach der letzten Messung:
If (Z_MAX - Z_MIN > 3)
MSG("Messdifferenz groesser 3mm")
M0
ENDIF
; Hier Z_MIN in die Nullpunktverschiebung eintragen und weiter im Programm
20.03.2020, 11:52 Uhr
Ich habe mir das ungefähr so gedacht:
CODE
DEF REAL Z_MIN = 10000
DEF REAL Z_MAX = -10000
DEF Z_MESS
; Dann nach jeder Messung (unter der Annahme, dass der Messwert in Z_MESS steht):
Z_MIN = MINVAL(Z_MIN, Z_MESS)
Z_MAX= MAXVAL(Z_MAX, Z_MESS)
; Nach der letzten Messung:
If (Z_MAX - Z_MIN > 3)
MSG("Messdifferenz groesser 3mm")
M0
ENDIF
; Hier Z_MIN in die Nullpunktverschiebung eintragen und weiter im Programm
DEF REAL Z_MAX = -10000
DEF Z_MESS
; Dann nach jeder Messung (unter der Annahme, dass der Messwert in Z_MESS steht):
Z_MIN = MINVAL(Z_MIN, Z_MESS)
Z_MAX= MAXVAL(Z_MAX, Z_MESS)
; Nach der letzten Messung:
If (Z_MAX - Z_MIN > 3)
MSG("Messdifferenz groesser 3mm")
M0
ENDIF
; Hier Z_MIN in die Nullpunktverschiebung eintragen und weiter im Programm
Hallo,
Z_min +Z-Max irgentwo ansehen(r Parameter?)
und wie kann ich Z_min IN g54 eintragen?
Grüßle jürgen
20.03.2020, 13:05 Uhr
Z_MIN in G54 eintragen:
Z_MIN anzeigen:
Man kann statt der selbst definierten Variablen selbstverständlich auch R-Parameter verwenden. Ich bin aber kein Freund von R-Parametern.
CODE
$P_UIFR[1, Z, TR] = Z_MIN
Z_MIN anzeigen:
CODE
MSG("Aktueller Wert von Z_MIN: " << Z_MIN)
Man kann statt der selbst definierten Variablen selbstverständlich auch R-Parameter verwenden. Ich bin aber kein Freund von R-Parametern.
20.03.2020, 17:42 Uhr
Z_MIN in G54 eintragen:
Z_MIN anzeigen:
Man kann statt der selbst definierten Variablen selbstverständlich auch R-Parameter verwenden. Ich bin aber kein Freund von R-Parametern.
CODE
$P_UIFR[1, Z, TR] = Z_MIN
Z_MIN anzeigen:
CODE
MSG("Aktueller Wert von Z_MIN: " << Z_MIN)
Man kann statt der selbst definierten Variablen selbstverständlich auch R-Parameter verwenden. Ich bin aber kein Freund von R-Parametern.
Danke Dir,werde nächste Woche mal mein Glück versuchen.
Allein der Glaube an mich fehlt mir
In diesen Zeiten wünsche ich Dir (euch)viel Gesundheit
Grüßle Jürgen
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: