Siemens
Siemens

Digital Industries, Motion Control, Machine Tool Systems

Achswertauslesung Digitaler Messtaster, Messtaster Programmierung

Beitrag 28.11.2011, 19:46 Uhr
NCK090283
NCK090283
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 28.11.2011
Beiträge: 7
Hallo zusammen,

hat jemand nen Plan ob ich mit diesem Dreizeiler einen Z-Wert antasten und auslesen kann (RENISHAW auf der 840D Powerline)?

Habe das mal nachgelesen und weiß nun nicht ob ich hiermit den richtigen Trigger und den richtigen Eingang definiert habe um einen Z-Wert in einen Rechenparameter schreiben zu können.


N30 MEASA[Z]=(1,1) G01 Z188.9 F100

N40 STOPRE

N50 R10=$AA_MW1[Z]


Kennt sich jemand damit aus? Mit den Standartzyklen lässt sich mein Vorhaben nicht umsetzen. Und ich hab keine Lust erst beim Einfahren zu merken das ich hier was falsch gemacht habe.;D
Finde leider keine Infos zur Definition des richten Triggers um einen Messauslöser in "Z" zu "treffen"...
   
Beitrag 28.11.2011, 20:51 Uhr
stefan027
stefan027
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 30.01.2010
Beiträge: 12
Hallo,

ich habs bei der 840D vom Prinzip her immer so gemacht:

G1 G90 MEAS=1 Z-10 F1000
STOPRE
R10=$AA_MW[Z]

Die MEAS-Zuweisung ist die Messeingangsnummer abhängig von der Maschine, ist meist eins, evtl.auch zwei.

Feststellen ob getriggert wurde kannst du so:
IF $AC_MEA[_ME] == 0
....
ENDIF
Null ist nicht getriggert, eins ist getriggert.

Gruß,

Stefan
   
Beitrag 28.11.2011, 21:37 Uhr
NCK090283
NCK090283
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 28.11.2011
Beiträge: 7
Naja das ist doch schon mal ne Antwort, dickes Dankeschön!

Werde das demnächst gleich mal testen. Ich gehe mal davon aus das du keinen Trigger anwählst da die Maschine stehen bleibt sobald irgend einer der Trigger ausgelöst wird, richtig?
Kann ich mit diesem Dreizeiler also auch beliebige Achsen ansteuern und diese auslesen? Das wäre ja ne schön simple Methode dioe viel einsetzbar ist!
Und kannst du mir was über den Ausdruck "Restweg löschen" erzählen. Der taucht nämlich in der Programmieranleitung unter dem Thema auf. Welches ja auch festlegt mit welchem Befehl ich die Messung durchführe? MEASA... MEAS... MEASW usw...
Gruß
   
Beitrag 29.11.2011, 15:07 Uhr
roadrunner2
roadrunner2
Level 4 = Community-Meister
****
Gruppe: Mitglied
Mitglied seit: 22.08.2006
Beiträge: 435
Hallo NCKler,
die Maschine bleibt nicht stehen, beim Schalten des Messtasters.
Deswegen musst du wie stefan schon beschrieben hat, abfragen ob er ausgelenkt hat oder nicht. Die Maschine läuft im Prigramm ganz normal weiter, weil der RESTWEG gelöscht wurde. Also hat sie ihr Ziel erreicht.


MEAS=1 G91 G1 F500 X100
STOPRE
IF $AC_MEA[1]==0 GOTOF _FEHLER
...
...
...
_FEHLER: MSG ("Messtaster nicht ausgelenkt")
M0
GOTOB _FEHLER

Achte aber darauf, dass wenn du mit dem MEAS-Satz messen magst, kein Tastkugelradius und/oder Mittenversatz miteinberechnet wird.
Der Wert der mit dem Satz R1=$AA_MW[X] ausgelesen wird, ist nur die Achsposition beim auslenken des Tasters.


--------------------
Gruß Roadrunner...

...bei "G0" geht das Werkzeug "schneller" putt!!
   
Beitrag 29.11.2011, 17:53 Uhr
Egmont
Egmont
Level 3 = Community-Techniker
***
Gruppe: Mitglied
Mitglied seit: 10.09.2004
Beiträge: 296
Hallo Du schreibst nicht welche Maschine es ist!

Aber Du schreubst "Mit den Standartzyklen lässt sich mein Vorhaben nicht umsetzen. "

Wenn Du den Cycle 978 "Ein punkt Messung" verwendest wäre Dein Messwert schon mit den Kalibrierdaten korrigiert. So müsstest Du es umständlich auslesen!

Dann weiss ich nicht wie Dein Messtaster eingeschaltet wird. Das hängt von der Maschine ab wie diese konfiguriert worden ist.

Wenn Du schreiben würdest was Du messen willst kann sich jemand wie ich mehr vorstellen und hätte vlt auch einen Lösung parat!

Grüsse aus der Steiermark
Ing. Egmont Schleich
Trainer für Siemens 840D
T E C A S
Technology Assistance
www.tecas.at
Kundenorientierte Zyklenpakete und Lösungen


--------------------
Mst. Ing. Egmont Schleich
T E C A S - Technology Assistance
www.tecas.at - Kundenorientierte Zyklenpakete und Lösungen
Was einmal erdacht, kann nicht zurückgenommen werden.
aus "Die Physiker" von Friedrich Dürrenmatt
   
Beitrag 29.11.2011, 19:07 Uhr
NCK090283
NCK090283
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 28.11.2011
Beiträge: 7
Hey Jungs,

habe gestern die abfrage des schalten des Triggers genau so gemacht GOTOF + MSG("...") + Programmabruch wenn der Trigger nicht ausglöst hat.
Da ihr jetzt sagt die Maschine stoppt nicht von alleine wenn der Trigger auslöst sehe ich da schon Probleme für mein Vorhaben, denn ich habe ein zu erwartendes Messergebniss in einem Bereich von 1.1 mm in Z. Das heißt ein Auslösen des Triggers ist zum Beispiel in einem Bereich von -1 bis-2,1 in Z zu erwarten. Zum Verständniss mal eine Erklärung meiner Idee:

Ich habe vor eine Werkstückerkennung durch dieses antasten vorzunehmen. Ich habe zwei Maschinen vom Typ Hüller Hille NBH170 + Siemens 840D Powerline, die erste von beiden erzeugt meine 1. Spannung auf beiden Palettenseiten. In der 1.Spannung lege ich auch den Typ fest (11 verschiedene Typen aber fast identische Bearbeitungen mit gewiisen Unterschieden). Die zweite Maschine bearbeitet die 2. und die 3.Spannung auf je einer Palettenseite. Nun ist es des öfteren vorgekommen das die Jungs an der Maschine in der 2./3.Spannung das falsche Programm angewählt hatten und wir somit Mischteile ausgeliefert haben. Nun ist es ja logisch das man versucht in diesem Fall den "Faktor Mensch auszuschalten". Meine Idee war es jetzt in der ersten Spannung, welche ja meinen Typen festlegt, zwei Flachsenkungen zu erzeugen . Diese unterscheiden sich von Typ zu Typ in der Differenz der Tiefe, das heißt die erste Senkung hat immer die selbe Tiefe (meine "Nullfläche") und die Zweite Flachsenkung hat von Typ zu Typ eine andere Tiefe(je Typ immer 0,1mm tiefer).
Nun will ich in der 2.Spannung genau diese Differenz ertasten und per Abfrage das dementsprechenden Programme abfahren lassen. Somit steuert meine 1.Spannung meine gesammte Linie.
Habe soweit auch alles fertig bis auf den Messtasterteil.
Auch ein Rythmus der die 3.Spannung ohne ein erneutes Messen mit umstellt habe ich auch umgesetzt.
Hoffe ich konnte es verständlich aufführen was ich vor habe.

Ist es denn mit so einem Dreizeiler überhaupt umsetzbar?

Gruß
   
Beitrag 29.11.2011, 19:10 Uhr
stefan027
stefan027
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 30.01.2010
Beiträge: 12
QUOTE (NCK090283 @ 28.11.2011, 22:37 Uhr) *
Naja das ist doch schon mal ne Antwort, dickes Dankeschön!

Werde das demnächst gleich mal testen. Ich gehe mal davon aus das du keinen Trigger anwählst da die Maschine stehen bleibt sobald irgend einer der Trigger ausgelöst wird, richtig?
Kann ich mit diesem Dreizeiler also auch beliebige Achsen ansteuern und diese auslesen? Das wäre ja ne schön simple Methode dioe viel einsetzbar ist!
Und kannst du mir was über den Ausdruck "Restweg löschen" erzählen. Der taucht nämlich in der Programmieranleitung unter dem Thema auf. Welches ja auch festlegt mit welchem Befehl ich die Messung durchführe? MEASA... MEAS... MEASW usw...
Gruß




Hallo NCK090283,

der MEAS-Befehl bewirkt das Restweglöschen. Wenn der Messtaster Kontakt bekommt, bleibt die Maschine stehen und der restliche in dem Satz programmierte Weg wird abgelöscht. Bekommt der Messtaster keinen Kontakt und möchtest du diese Fehlermöglichkeit in deinem Programm abfangen kannst du das mit dem IF $AC_MEA[1]==0... machen. Das alles kannst du natürlich auch auf die anderen Achsen anwenden.

Gruß

Stefan
   
Beitrag 29.11.2011, 19:36 Uhr
NCK090283
NCK090283
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 28.11.2011
Beiträge: 7
Na Stefan,

danke für dein Interesse, dann ist es ja doch umsetzbar wenn ich auf -2 fahre und er schon bei -1 auslöst. Dann bleibt die Maschine stehen und ich kann meinen Wert einlesen. Sicher komme ich hier um einen Test nicht rum aber somit kann ich schon mal mit etwas Sicherheit an das Thema heran treten.
Somit hat man in vielen Bereichen und an anderen Maschinen Möglichkeiten einer sich selbst steuernden Produktion.

Gruß
   
Beitrag 15.10.2016, 12:20 Uhr
microsimm
microsimm
Level 2 = Community-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 11.06.2008
Beiträge: 56
zu dem Thema auch wenn es schon älter ist, habe ich im Moment auch ein Problem.
Drehmaschine 1 Revolver rechts. Messtaster Mahr

Und zwar:
Wir haben eine Art Zahnrad im gehärteten Zustand. An diesem Taste ich mit Cycle974 rechts am Wellenende an und ertaste somit meine Real-Null. Der Wert SETVAL ist auf 0.
Funktioniert top.


Da dieses Teil aber einen gewissen Härteverzug hat, möchte ich bei -203.7mm an der rechten Planfläche des Kopfkreises nochmals antasten. Da diese Fläche ebenfalls geplant wird, möchte ich so erreichen, dass der Z-Verfahrweg jeweils an den aktuellen Werkstückverzug angeglichen ist, und nicht einmal zuviel oder wie es schon desöfteren passiert ist, zu wenig geplant wird. Dann folgt nämlich das lästige Nachstellen im Programm und nochmals nachdrehen...Ändert man den Programmwert nicht mehr zurück, kann es sein dass beim nächsten Werkstück viel zu viel geplant wird...

Ich habe nun oben am Kopfkreis mit MEAS=2 angetastet, meinen Trigger mit eingerechnet, aber das Ergebnis ist meistens so ca. 3/10mm Unterschied. Habe das Teil dann ausgespannt und mal nachgemessen und es war exakt -203.7mm. Jedoch bringt mir der MEAS-Befehl -204.02 als Ergebnis.

Warum ist das so? Habe ich nen Denkfehler?
Der Cycle974 funktioniert immer top, das SETVAL ist auch auf 0. Ich habe also vorne die Reale Null des Werkstücks...

Ich könnte auch mit dem 974er oben am Kopfkreis antasten, jedoch steht dann der gemessene Punkt im jenachdem z. B. G55. Den müsste ich dann dort wieder auslesen. Das wollte ich mir mit MEAS sparen und gleich den Achswert in eine Variable speichern...


Kommt ihr mit was ich überhaupt meine? biggrin.gif
   
Beitrag 15.10.2016, 14:16 Uhr
Andy742000
Andy742000
Level 7 = Community-Professor
*******
Gruppe: Banned
Mitglied seit: 15.09.2012
Beiträge: 3.725
Hi

Wenn ich das richtig verstehe, tastet du die rechte Planfläche an und korrigierst oder ermittelst deinen NULLPUNKT ? Sollte ich richtig verstanden haben wink.gif

Jetzt willst du in einer anderen X Höhe eine Vergleichsmessung durchführen. Soweit verstanden ...
Aber nun kommt das dicke EI wink.gif
Da wir das gesamte Aussehen des Rohteils nicht kennen, und wir auch nicht wissen können wie der Verzug sich auf die Rohteilkontur auswirkt, kann ich dir nur Raten, taste in Höhe X 0 für deinen NP an. Damit hast du erstmal einen Punkt wink.gif
Da sich der Verzug sicherlich auch auf den Rundlauf außen auswirkt, müsstest du bei einem anderen X Wert durch Rotation des Werkstücks mehrere Meßpunkte nehmen um zu ermitteln, ob die Planfläche des Rohteils wirklich Plan ist oder Lotrecht zur Rotationsachse steht. So ähnlich als wäre das Teil schief abgesägt worden ... Da kommt mit einer Antastung in der Mitte auch nicht weiter.

Hier kannst du mit 4 oder 8 oder mehr zusätzlichen Meßpunkten ermitteln wie weit die tiefste Stelle hinter dem eigentlichen NP ist.
Das geht mit Variablen ganz gut. Wenn du nun noch in etwa den maximalen Verzugswert kennst ( aus Erfahrung ) kannst du den Vertrauensbereich und den Anfahrweg extrem verkürzen, so das die zusätzlichen Messungen zeitlich nicht groß ins Gewicht fallen.

_OVR und DEF REAL _KORREKTURWERT[ " Anzahl der zusätzliche Meßpunkte" ] sind hier der Lösungsansatz.

Dann ermittelst du in einer Scheife den kleinsten Wert hinter Z0, und verrechnest das ganze mit dem aktuellen Meßpunkt ...
G54 wäre hier der theoretische NULLPUNKT bleibt auch so erhalten
G55 wird aus der Differenz von G54 und dem ersten Meßwert errechnet, und für die anderen Messungen genutzt.
G56 wäre dann nach dem Vergleich zwischen G55 und den Plankorrekturwerten der Bearbeitungs NP

Damit sind Bedienerfehler oder vergessene Rückkorrekturen als Fehlerquelle ausgeschlossen, und die Tastersicherheit ( Crashgefahr ) ist weiterhin gegeben.

So würde ich zumindestens vorgehen, sicherlich gibt es auch andere Lösungsansätze und -konzepte wink.gif

QUOTE (microsimm @ 15.10.2016, 13:20 Uhr) *
zu dem Thema auch wenn es schon älter ist, habe ich im Moment auch ein Problem.
Drehmaschine 1 Revolver rechts. Messtaster Mahr

Und zwar:
Wir haben eine Art Zahnrad im gehärteten Zustand. An diesem Taste ich mit Cycle974 rechts am Wellenende an und ertaste somit meine Real-Null. Der Wert SETVAL ist auf 0.
Funktioniert top.


Da dieses Teil aber einen gewissen Härteverzug hat, möchte ich bei -203.7mm an der rechten Planfläche des Kopfkreises nochmals antasten. Da diese Fläche ebenfalls geplant wird, möchte ich so erreichen, dass der Z-Verfahrweg jeweils an den aktuellen Werkstückverzug angeglichen ist, und nicht einmal zuviel oder wie es schon desöfteren passiert ist, zu wenig geplant wird. Dann folgt nämlich das lästige Nachstellen im Programm und nochmals nachdrehen...Ändert man den Programmwert nicht mehr zurück, kann es sein dass beim nächsten Werkstück viel zu viel geplant wird...

Ich habe nun oben am Kopfkreis mit MEAS=2 angetastet, meinen Trigger mit eingerechnet, aber das Ergebnis ist meistens so ca. 3/10mm Unterschied. Habe das Teil dann ausgespannt und mal nachgemessen und es war exakt -203.7mm. Jedoch bringt mir der MEAS-Befehl -204.02 als Ergebnis.

Warum ist das so? Habe ich nen Denkfehler?
Der Cycle974 funktioniert immer top, das SETVAL ist auch auf 0. Ich habe also vorne die Reale Null des Werkstücks...

Ich könnte auch mit dem 974er oben am Kopfkreis antasten, jedoch steht dann der gemessene Punkt im jenachdem z. B. G55. Den müsste ich dann dort wieder auslesen. Das wollte ich mir mit MEAS sparen und gleich den Achswert in eine Variable speichern...


Kommt ihr mit was ich überhaupt meine? biggrin.gif


--------------------
MfG
Andy

-------------------------------------------------------------------------------------------------------------------------


4 BIT NC, Kugelschrittschaltwerk
Numerik 600 + Lochstreifen
und nun nicht weiter gekommen als bis zur Sinumerik ;-)

PS : Ich hasse R- Parameter ! Aus Rxxx wird unter Beachtung der Mond-Parabel und der "ERDschen" Glockenkurve nach der Division mit PI/8 + Werkhallenhöhe ein neuer sinnvoller Parameter Rxxx

Impressum: Wer Rechtschreib- oder Grammatikfehler findet darf sie behalten, sind kostenlose Beigaben des Autors
   
Beitrag 15.10.2016, 15:12 Uhr
Guest_guest_*
Themenstarter
Gast


Die Meßzyklen haben sich im Lauf der Jahre etwas verändert. wink.gif
Deshalb wäre es nicht schlecht zu wissen, mit welchem Softwarestand du arbeitest.
Grundsätzlich scheint mir doch ein Denkfehler zu existieren.
Die rechte Werkstückkante vermißt du offenbar schon richtig mit _MVAR=100, _SETVAL=0, _KNUM=1, um die 1. NPV G54 zu setzen.
Für die 2.Messung bei Z-203.7 ist ein erneutes Setzen der NPV ja nicht nötig.
Hier würde ich _SETVAL=-203.7 und _KNUM=0 parametrieren.
Somit wird nur gemessen. Die Ergebnisparameter kannst du dann in _OVR[4] (Istwert Meßachse) bzw._OVR[16] (Differenz Meßachse) einsehen, auslesen und im Programm weiterverarbeiten.
z.B.:

CODE
def real _korr
...
CYCLE974();2.Messung
stopre
_korr=_OVR[16]
...
G0 X65 Z=-203.7+_korr
G1 X30
...


Je nachdem wie stark der Verzug im Teil ist, wäre es besser, wie Andy beschrieben hat, den Minimalwert mit mehreren Messungen zu ermitteln.

Der Beitrag wurde von guest bearbeitet: 15.10.2016, 15:19 Uhr
   
Beitrag 17.10.2016, 18:38 Uhr
microsimm
microsimm
Level 2 = Community-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 11.06.2008
Beiträge: 56
Super ich Danke euch erstmal für eure Ansätze! Das Werstück ist definitiv verzogen. Wenn die Teile wieder laufen werden ich das nochmal testen und nach Eurer Art machen...

Vielleicht müsste ich den Taster mal wieder kalibrieren. Hab heute in der GUD6 nachgesehen...da stehen ganz komische Werte bei WP 0.0 bis 0.5 drin...
   
Beitrag 17.10.2016, 22:07 Uhr
Andy742000
Andy742000
Level 7 = Community-Professor
*******
Gruppe: Banned
Mitglied seit: 15.09.2012
Beiträge: 3.725
Oh jÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

Aller wievieler Messungen oder Zeiteinheiten kalibriert Ihr den Taster ?

Ihr wollt aufs "MöXen"-Haar genau in einer Bearbeitungsmaschine messen, und vergesst, dass "Magazinkapazität" fremde ...

Leute ... Sowas geht überhaupt nicht !

Bei uns sind alle Zyklen zum Messen so modifiziert, dass nach 200 Messsungen oder spätestens nach 24h eine automatische Nachkalibrierung erfolgt. Und die diese Werte auch protokollarisch festgehalten werden.


--------------------
MfG
Andy

-------------------------------------------------------------------------------------------------------------------------


4 BIT NC, Kugelschrittschaltwerk
Numerik 600 + Lochstreifen
und nun nicht weiter gekommen als bis zur Sinumerik ;-)

PS : Ich hasse R- Parameter ! Aus Rxxx wird unter Beachtung der Mond-Parabel und der "ERDschen" Glockenkurve nach der Division mit PI/8 + Werkhallenhöhe ein neuer sinnvoller Parameter Rxxx

Impressum: Wer Rechtschreib- oder Grammatikfehler findet darf sie behalten, sind kostenlose Beigaben des Autors
   
Beitrag 24.10.2016, 19:43 Uhr
microsimm
microsimm
Level 2 = Community-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 11.06.2008
Beiträge: 56
Ich komme im Moment irgendwie nicht weiter...

Ich eiche meinen Messtaster mit CYCLE973 am Futter.
Durchmesser 319.57
Länge 163.096

Im Programmkopf in den Versorgungsparametern steht:
_WP[0,0]=5.99
_WP[0,1]=3 ; Messtaster Z-
_WP[0,2]=-3; Messtaster Z+
_WP[0,3]=3 ; Messtaster X-
_WP[0,4]=-3; Messtaster X+

In der GUD6 steht nach dem Eichen folgendes:
_WP[0,0]=5.99
_WP[0,1]=2.267
_WP[0,2]=-3
_WP[0,3]=-0,073
_WP[0,4]=-3
_WP[0,5]=2.146
_WP[0,6]=-3,366
_WP[0,7] bis [0,9]= 0
_WP[0,10]=203

Taste ich zur Gegenprobe dann mit CYCLE974 in Z-Richtung am Futter an (SETVAL 163.096) kommt -0.001 heraus.
Passt also.


An einem anderen Bauteil taste ich mit MEAS=2 an.
Solllänge=269.7
Ergebnis $AA_MW[Z]=269.67 (würde also passen)
Ergebnis $AA_IW[Z]=269.54 ??

Hier ist schonmal ne Differenz drin??!


Das gleiche Teil mit Cycle974 angetastet und SETVAL=269.7
Ergebnis _OVR[4] =270.396
Ergebnis _OVR[16]=0.7


Warum diese Unterschiede??
Ich bin ratlos....
   
Beitrag 25.10.2016, 21:08 Uhr
Guest_guest_*
Themenstarter
Gast


Welche Werte stehen denn in G500?
   
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: