Siemens
Siemens

Digital Industries, Motion Control, Machine Tool Systems

Messen ohne Siemens-Zyklen

Beitrag 11.08.2018, 20:21 Uhr
butscheronie
butscheronie
Level 4 = Community-Meister
****
Gruppe: Mitglied
Mitglied seit: 07.03.2010
Beiträge: 313
Hallo ich möchte gern mit meinem Messtaster ohne Verwendung des Siemens-Zyklus in Z (also Axial) messen.

Meine Situation:
Maschine DMC 125 FD
Steuerung: 840D Solutionline
Messtaster: OMP400
Messzyklen: Siemens
Kalibrier und natürlich auch Messvorschub: 800mm/min

Unser Messtaster wird folgendermassen in der Länge abgelängt / Kalibriert.

Mit einem Kalibrierdorn auf ein Endmass fahren und dort den Wert Z=0 setzen.
Anschliessend mit dem Messtaster über das Endmass fahren und über die Softkeys am Display die Option "Abgleich Länge" starten.
Nun ist der Messtaster in der Länge kalibriert (siehe Bild 1)

Im Normalfall messen wir mit den Zyklen von Siemens. Diese sind aber langsam, da nach dem Aufruf des Zyklus anscheinend noch einiges intern
abgearbeitet wird (keine Ahnung was).

Mit meiner Methode möchte ich die Messzeit ca. halbieren.

Anbei 2 Programme zum Vergleich.
Im 1ten Teil der normale Siemens Messzyklus
Im 2ten Teil meine Messmethode.

N5 ;Die zu messende Fläche ich auf dem Tisch (Z0)
N6 ;Startposition des Tasters ist Z10
N7 T9996
N8 M6
N4 F800
N10 G0 Z10
N13
N14 ;Messen mit dem Siemens-Messzyklus
N14 L_TIME(0)
;NCG#M_CYC978_FLA_ST#\CST.DIR\MZ78_F_S.COM#NC0#2#*NCG;*RO*;*HD*
;##############1##1##2##2##1##################################5#10#30#35#40#45##
#########2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#"F"#3#978#1#3#1#1#################0#1#1#0##0#0#1#0##3#0#1#0#0#0#0#0#0#####4#0#
0#0#0#0#0#0#0#0#0#0#0#0#0#9#1#0#1#0#0#1############################"Verschleiss"#############1##0#0#0#0#0#0#0#0###*NCG;*RO*;*HD*
N15 _MVAR=100 _SETVAL=0 _PRNUM=4 _MA=3 _KNUM=0 _FA=10 _TSA=10 _VMS=800 _NMSP=1 _EVNUM=0
N16 CYCLE978
;#END#*NCG;*RO*;*HD*
N17 R1=_OVR[4]
N18 L_TIME(1)
N19
N14 ;Messen mit der eigenen Methode
N33 L_TIME(0)
N34 M27
N35 G1 Z-15 MEAS=1
N36 IF $AC_MEA[1]==TRUE
N37 R2=$AA_IW[Z]
N38 ENDIF
N39 G0 Z10
N40 STOPRE
N41 L_TIME(1)
N64
N65 M02

Und nun kommt auch endlich meine Frage (sorry für den langen Vorspann).

Warum habe ich mit meiner Messmethode eine Messdifferenz von ca. 0,53mm???
R1 ist 0
R2 ist 0,53 oder -0,53 (beim Vorzeichen bin ich mir grad nicht sicher).

Viele Dank schon einmal für Eure Hilfe.
Gruß
Thorben

Der Beitrag wurde von butscheronie bearbeitet: 11.08.2018, 20:24 Uhr
Angehängte Datei(en)
Angehängte Datei  1.jpg ( 71.08KB ) Anzahl der Downloads: 51
 
   
Beitrag 11.08.2018, 21:48 Uhr
CNCFr
CNCFr
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 15.09.2002
Beiträge: 1.922
Mit deiner Methode liest du die aktuelle Position, wie sie zum Zeitpunkt des Lesens ist. Das ist nicht die Messposition.
Wenn der Messtaster auslöst, wird die Bewegung gestoppt, d.h. die Achse wird abgebremst, da die Maschine ja nicht schlagartig anhalten kann.
Damit liest du dann die Position, an der die Achse zum Stillstand gekommen ist.
   
Beitrag 12.08.2018, 08:29 Uhr
butscheronie
butscheronie
Level 4 = Community-Meister
****
Gruppe: Mitglied
Mitglied seit: 07.03.2010
Beiträge: 313
Aber sollte das nicht der gleiche Punkt sein wie beim Abgleichen / Kalibrieren des Tasters?
Das würde ja bedeuten das bei meiner Methode die Maschine noch 0,53mm nach dem Auslösen des Tasters weiter fährt.

Wie bekommen ich die Exakte Z-Position mit meiner Methode, so wie sie mit dem Siemens-Zyklus ermittelt wird?

Der Beitrag wurde von butscheronie bearbeitet: 12.08.2018, 08:34 Uhr
   
Beitrag 12.08.2018, 10:30 Uhr
fräsmurml
fräsmurml
Level 2 = Community-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 14.03.2006
Beiträge: 123
QUOTE (butscheronie @ 12.08.2018, 09:29 Uhr) *
Aber sollte das nicht der gleiche Punkt sein wie beim Abgleichen / Kalibrieren des Tasters?
Das würde ja bedeuten das bei meiner Methode die Maschine noch 0,53mm nach dem Auslösen des Tasters weiter fährt.

Wie bekommen ich die Exakte Z-Position mit meiner Methode, so wie sie mit dem Siemens-Zyklus ermittelt wird?


Hallo,

auf jeden Fall gehört nach dem MEAS Satz ein STOPRE gesetzt.

N35 G1 Z-15 MEAS=1
N36 STOPRE
N36 IF $AC_MEA[1]==TRUE
N37 R2=$AA_IW[Z]
N38 ENDIF


2. zu deiner Frage:
Aber sollte das nicht der gleiche Punkt sein wie beim Abgleichen / Kalibrieren des Tasters?

Jaein: Die Kalibrierwerte werden separat in Parametern gesichtert und in den Zyklen verrechnet.

Du kannst aber mal folgendes prüfen:

Wird bei dir beim Kalibrieren auch die Messtasterlänge korrigiert?
Kontrollieren kannst es ganz einfach --> vorher Länge aufschreiben, dann kalibrieren --> kontrollieren ob Länge noch gleich ist.
2. Test wäre die Länge zu verändern und dein Programm nochmal laufen lassen --> wenn jetzt ein anderer Wert rauskommt wie vorher .....

Wenn Länge nicht angepasst wird dann kann der Versatz auch von daher kommen. Dazu gibt es einen Maschinenparameter mit dem du das Angeben kannst das die Länge gleich mitkorrigert wird.


Mfg

Fräsmurml
   
Beitrag 12.08.2018, 10:39 Uhr
CNCFr
CNCFr
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 15.09.2002
Beiträge: 1.922
QUOTE (butscheronie @ 12.08.2018, 08:29 Uhr) *
Aber sollte das nicht der gleiche Punkt sein wie beim Abgleichen / Kalibrieren des Tasters?
Das würde ja bedeuten das bei meiner Methode die Maschine noch 0,53mm nach dem Auslösen des Tasters weiter fährt.

Wie bekommen ich die Exakte Z-Position mit meiner Methode, so wie sie mit dem Siemens-Zyklus ermittelt wird?

Weshalb sollte es der gleiche Punkt sein? Du liest $AA_IW. Das ist die Istposition. Wie der Name sagt, ist das die Position, auf der die Achse zum Zeitpunkt des Lesens steht. Und dass ist nicht die Messposition, denn eine Maschine kann nun mal nicht schlagartig anhalten.
Für die Messfunktion gibt es spezielle Systemvariable, die die Position zu dem Zeitpunkt abspeichern, zu dem der Messtaster ausgelöst hat. ($AA_MM für Positionen im MKS bzw $AA_MW im WKS).
Wie man das verwendet steht in der Doku (Arbeitsvorbereitung).
   
Beitrag 12.08.2018, 13:52 Uhr
butscheronie
butscheronie
Level 4 = Community-Meister
****
Gruppe: Mitglied
Mitglied seit: 07.03.2010
Beiträge: 313
Also zu der Länge des Messtasters. Beim Kalibrieren wird die Messtasterlänge in der Werkzeugtabelle angepasst. So weit ich weiss gibt es für die Länge keinen Kalibrierwert, da ja die Länge wztabelle steht.
   
Beitrag 12.08.2018, 14:43 Uhr
CNCFr
CNCFr
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 15.09.2002
Beiträge: 1.922
QUOTE (fräsmurml @ 12.08.2018, 10:30 Uhr) *
Hallo,

auf jeden Fall gehört nach dem MEAS Satz ein STOPRE gesetzt.

N35 G1 Z-15 MEAS=1
N36 STOPRE
N36 IF $AC_MEA[1]==TRUE

Wozu soll das gut sein? Vor dem Lesen von $AC_MEA in der IF-Abfrage wird ohnehin automatisch ein Vorlaufstop (STOPRE) ausgeführt.
   
Beitrag 12.08.2018, 18:27 Uhr
Hexogen
Hexogen
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 29.09.2004
Beiträge: 1.813
QUOTE (butscheronie @ 12.08.2018, 14:52 Uhr) *
Also zu der Länge des Messtasters. Beim Kalibrieren wird die Messtasterlänge in der Werkzeugtabelle angepasst. So weit ich weiss gibt es für die Länge keinen Kalibrierwert, da ja die Länge wztabelle steht.


Die Werkzeuglänge wird angepasst, weil das der Maschinenhersteller so gesetzt hat.
Man hat für Z Triggerwert in + und -, du kannst den Schaltpunkt nicht immer in Z- Richtung haben. Je nach Tasterart.


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


Anwendungen, Zyklen, CAD/CAM





-----------------------------------------------------------------------------------------------------------------------------
   
Beitrag 12.08.2018, 18:30 Uhr
butscheronie
butscheronie
Level 4 = Community-Meister
****
Gruppe: Mitglied
Mitglied seit: 07.03.2010
Beiträge: 313
Wenn ich das jetzt richtig verstehe dann sollte also der Z-wert mit $aa_mw auszulesen sein!?
   
Beitrag 12.08.2018, 20:31 Uhr
Hexogen
Hexogen
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 29.09.2004
Beiträge: 1.813
QUOTE (butscheronie @ 12.08.2018, 19:30 Uhr) *
Wenn ich das jetzt richtig verstehe dann sollte also der Z-wert mit $aa_mw auszulesen sein!?


Ja, so in etwa.

G1 Z-15 MEAS=1
IF $AC_MEA[1]==FALSE
MSG("KEINE MESSUNG")
M0
ELSE
R2=$AA_MW[Z]
ENDIF


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


Anwendungen, Zyklen, CAD/CAM





-----------------------------------------------------------------------------------------------------------------------------
   
Beitrag 12.08.2018, 21:14 Uhr
butscheronie
butscheronie
Level 4 = Community-Meister
****
Gruppe: Mitglied
Mitglied seit: 07.03.2010
Beiträge: 313
QUOTE (Hexogen @ 12.08.2018, 20:31 Uhr) *
Ja, so in etwa.

G1 Z-15 MEAS=1
IF $AC_MEA[1]==FALSE
MSG("KEINE MESSUNG")
M0
ELSE
R2=$AA_MW[Z]
ENDIF


Vielen Dank. Das werde ich morgen in der Spätschicht gleich mal ausprobieren.
Ich habe ein Bauteil an dem ca, 1000 Messungen gemacht werden. Bei einer Messzeit von 5 Sekunden (vorher)
kann ich damit die Zeit auf 2 Sekunden senken. das sind 3000 weniger, also 50 Minuten gespart.

Vorab schon mal vielen Dank
   
Beitrag 13.08.2018, 16:13 Uhr
butscheronie
butscheronie
Level 4 = Community-Meister
****
Gruppe: Mitglied
Mitglied seit: 07.03.2010
Beiträge: 313
Danke an alle die geholfen haben.

Mit dem Parameter $AA_MW[Z] kann ich jetzt den Messwert in Z auslesen,
so wie es auch mit dem Siemens-Messzyklus in dem Parameter _OVR[4] gespeichert wird.

Liebe Grüße
Thorben

Der Beitrag wurde von butscheronie bearbeitet: 13.08.2018, 16:14 Uhr
   
Beitrag 13.08.2018, 18:40 Uhr
CNCFr
CNCFr
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 15.09.2002
Beiträge: 1.922
Das ist ja erfreulich, wenn jetzt alles so funktioniert, wie es soll.
   
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: