Siemens
Siemens

Digital Industries, Motion Control, Machine Tool Systems

z wert ermitteln bei shopmill

Beitrag 19.03.2020, 19:11 Uhr
ogelle
ogelle
Level 3 = Community-Techniker
***
Gruppe: Mitglied
Mitglied seit: 19.10.2005
Beiträge: 162
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
   
Beitrag 19.03.2020, 20:42 Uhr
Hexogen
Hexogen
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 29.09.2004
Beiträge: 1.813
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


--------------------
Schaut doch mal rein:
Mein Youtube Kanal


Anwendungen, Zyklen, CAD/CAM





-----------------------------------------------------------------------------------------------------------------------------
   
Beitrag 19.03.2020, 20:42 Uhr
Hexogen
Hexogen
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 29.09.2004
Beiträge: 1.813
Hier noch ein Link

https://de.industryarena.com/siemens/forum/...eln--59520.html


--------------------
Schaut doch mal rein:
Mein Youtube Kanal


Anwendungen, Zyklen, CAD/CAM





-----------------------------------------------------------------------------------------------------------------------------
   
Beitrag 19.03.2020, 22:40 Uhr
CNCFr
CNCFr
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 15.09.2002
Beiträge: 1.922
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.
   
Beitrag 20.03.2020, 09:54 Uhr
ogelle
ogelle
Level 3 = Community-Techniker
***
Gruppe: Mitglied
Mitglied seit: 19.10.2005
Beiträge: 162
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
   
Beitrag 20.03.2020, 10:14 Uhr
CNCFr
CNCFr
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 15.09.2002
Beiträge: 1.922
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
   
Beitrag 20.03.2020, 11:52 Uhr
ogelle
ogelle
Level 3 = Community-Techniker
***
Gruppe: Mitglied
Mitglied seit: 19.10.2005
Beiträge: 162
QUOTE (CNCFr @ 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

Hallo,
Z_min +Z-Max irgentwo ansehen(r Parameter?)
und wie kann ich Z_min IN g54 eintragen?
Grüßle jürgen
   
Beitrag 20.03.2020, 13:05 Uhr
CNCFr
CNCFr
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 15.09.2002
Beiträge: 1.922
Z_MIN in G54 eintragen:
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.
   
Beitrag 20.03.2020, 17:42 Uhr
ogelle
ogelle
Level 3 = Community-Techniker
***
Gruppe: Mitglied
Mitglied seit: 19.10.2005
Beiträge: 162
QUOTE (CNCFr @ 20.03.2020, 13:05 Uhr) *
Z_MIN in G54 eintragen:
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 biggrin.gif
In diesen Zeiten wünsche ich Dir (euch)viel Gesundheit
Grüßle Jürgen
   
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: