584.826 aktive Mitglieder*
5.225 Besucher online*
Kostenfrei registrieren
Anmelden Registrieren
HEIDENHAIN Forum

Messprogramm mit Tabelle, Ebenheit vermessen

Beitrag 17.11.2009, 09:56 Uhr
Insomnia
Insomnia
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 13.06.2007
Beiträge: 23

Hallo alle zusammen,
habe schon seit ein paar stunden die Suchfunktion schon benutzt aber nicht das richtige gefunden was ich brauche.

Ich brauche ein Messprogramm welches mir die Ebenheit eines Bleches vermisst und diese Werte in eine Tabelle schreibt und anschließend den höchsten punkt als mein Z-nullpunkt abspeichert in der Preset 1.

Blech Größe X3520 y2475

Nullpunkte
X-0 Blech liegt in Richtung -
Y-0 Mitte

Ich hätte gern eine Raster Größe von 100x100.

Kann mir da jemand Helfen.

Danke schon mal im voraus.

Gruß Insomnia
TOP    
Beitrag 17.11.2009, 12:40 Uhr
Insomnia
Insomnia
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 13.06.2007
Beiträge: 23

Ich hab schon mal angefangen etwas zu machen aber da ist irgendwo der Wurm drin.
In der ersten Spalte bei Q160 schreibt er die höhen richtig rein aber dann ich Q161 ist immer der gleiche falsche wert.

Bitte helft mir.

Gruß Insomnia
Angehängte Datei  Pos_Z_Achse.txt ( 6.03KB ) Anzahl der Downloads: 56

Angehängte Datei  Tasten_T.txt ( 9.87KB ) Anzahl der Downloads: 48
TOP    
Beitrag 17.11.2009, 16:43 Uhr
Themenstarter

Gruppe:
Mitglied seit: --
Beiträge: 0

Hallo,

nur mal so eine Idee ohne Tabelle und mit 5 Messpunkten in X.

Soll nur als gedanke dienen.

Mein Vorgehen wäre Unterkante, quasi Tisch antasten, und dort Z-Teildicke setzen.

Im Progg wird dann der höchste Punkt ermittelt und als Preset Verschiebung gesetzt.

BEGIN PGM Q-ABFRAGE MM
TOOL CALL 1 Z ;3D-Taster
M27
Q50=0 ;Start in X
Q51=10 ;Abstand in X
Q52=5 ;Anzahl der Messpositionen in X
LBL 10
TCH PROBE 427 MESSEN KOORDINATE ~
Q263=+Q50 ;1. PUNKT 1. ACHSE ~
Q264=+0 ;1. PUNKT 2. ACHSE ~
Q261=+0 ;MESSHOEHE ~
Q320=+0 ;SICHERHEITS-ABST. ~
Q272=+3 ;MESSACHSE ~
Q267=-1 ;VERFAHRRICHTUNG ~
Q260=+50 ;SICHERE HOEHE ~
Q281=+0 ;MESSPROTOKOLL ~
Q288=+0 ;GROESSTMASS ~
Q289=+0 ;KLEINSTMASS ~
Q309=+0 ;PGM-STOP BEI FEHLER ~
Q330=+0 ;WERKZEUG
FN 0: Q0 =Q160 ;Messwertübergabe an Q0
FN 9: IF +Q70 EQU +0 GOTO LBL 100 ;Sprung über Wert setzen
FN 0: Q11 =+Q0 ;Wert setzen
Q70=0 ;Parameter zum überspringen vom Wert setzen
LBL 100 ;Sprungmarke
CALL LBL 3
;Berechnung für X
Q50=Q50+Q51 ;Abstand in X neu
CALL LBL 10 REP Q52 ;Wiederholungen
;
FN 25: PRESET = Z /+Q11 /+0; Verschiebung in Z
M30
LBL 2 ;Groesstwert
FN 0: Q11 =+Q0
LBL 0
LBL 3 ;Abfrage
FN 11: IF +Q0 GT +Q11 GOTO LBL 2
LBL 0
END PGM Q-ABFRAGE MM
TOP    
Beitrag 17.11.2009, 16:51 Uhr
Insomnia
Insomnia
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 13.06.2007
Beiträge: 23

Sieht nicht schlecht aus, würde das aber lieber in einer Tabelle haben um auch selber einmal einen überblick zu haben was für Toleranzen das Bauteil hat.

Hab es auch schon hin bekommen das die ganzen werte richtig rein geschrieben werden nur wie komm ich jetzt den höchsten wert aus der Tabelle Automatisch?
TOP    
Beitrag 17.11.2009, 22:49 Uhr
Themenstarter

Gruppe:
Mitglied seit: --
Beiträge: 0

Hallo,

in meinem ersten Progg wird bereits der höchste Wert ermittelt, da du ja gerne wissen möchtest wie die Ebene masslich aussieht, mal eine neue Variante.

BEGIN PGM Q-ABFRAGE MM
TOOL CALL 1 Z ;3D-Taster
M27
Q50=0 ;Start in X
Q51=10 ;Abstand in X
Q52=5 ;Anzahl der Messpositionen in X
Q53=0.2 ;Toleranz der Ebene
LBL 10
TCH PROBE 427 MESSEN KOORDINATE ~
Q263=+Q50 ;1. PUNKT 1. ACHSE ~
Q264=+0 ;1. PUNKT 2. ACHSE ~
Q261=+0 ;MESSHOEHE ~
Q320=+0 ;SICHERHEITS-ABST. ~
Q272=+3 ;MESSACHSE ~
Q267=-1 ;VERFAHRRICHTUNG ~
Q260=+50 ;SICHERE HOEHE ~
Q281=+0 ;MESSPROTOKOLL ~
Q288=+0 ;GROESSTMASS ~
Q289=+0 ;KLEINSTMASS ~
Q309=+0 ;PGM-STOP BEI FEHLER ~
Q330=+0 ;WERKZEUG
FN 0: Q0 =Q160 ;Messwertübergabe an Q0
FN 9: IF +Q70 EQU +0 GOTO LBL 100 ;Sprung über Wert setzen
FN 0: Q10 =+Q0 ;Wert setzen
FN 0: Q11 =+Q0 ;Wert setzen
Q70=0 ;Parameter zum überspringen vom Wert setzen
LBL 100 ;Sprungmarke
CALL LBL 3
;Berechnung für X
Q50=Q50+Q51 ;Abstand in X neu
CALL LBL 10 REP Q52 ;Wiederholungen
Q100=Q11-Q10 ;Abweichung
FN 11: IF +Q100 GT +Q53 GOTO LBL 101
FN 25: PRESET = Z /+Q11 /+0; Verschiebung in Z
FN 9: IF +0 EQU +0 GOTO LBL 102
LBL 101
CALL LBL 4
LBL 102
FN 26: TABOPEN TOLERANZ.TAB
FN 27: TABWRITE 0 /"KLEINST" = Q10
FN 27: TABWRITE 0 /"GROESST" = Q11
FN 27: TABWRITE 0 /"ABWEICHUNG" = Q100
M30
LBL 1 ;Kleinstwert
FN 0: Q10 =+Q0
LBL 0
LBL 2 ;Groesstwert
FN 0: Q11 =+Q0
LBL 0
LBL 3 ;Abfrage
FN 11: IF +Q0 LT +Q10 GOTO LBL 1
FN 11: IF +Q0 GT +Q11 GOTO LBL 2
LBL 0
LBL 4
FN 14: ERROR= 1072
LBL 0
END PGM Q-ABFRAGE MM

Bei Überschreitung der Gesamttoleranz, gibts ne Fehlermeldung.

Ansonsten stehen die Werte Q10 und Q11, sowie die Abweichung in der Tabelle, zum nachlesen, geschützt vorm rücksetzen durch M30.
TOP    
Beitrag 20.11.2009, 13:59 Uhr
Insomnia
Insomnia
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 13.06.2007
Beiträge: 23

QUOTE (Paranuit @ 17.11.2009, 23:49) *
Hallo,

in meinem ersten Progg wird bereits der höchste Wert ermittelt, da du ja gerne wissen möchtest wie die Ebene masslich aussieht, mal eine neue Variante.


Ich Danke dir für die schnelle Hilfe.

Gibt es eigentlich hier ein gutes How To mit besseren Beispielen als im Handbuch von Heidenhain
was man alles mit den Q- und FN alles machen kann?

Gruß Inso
TOP    
Beitrag 20.11.2009, 17:54 Uhr
Themenstarter

Gruppe:
Mitglied seit: --
Beiträge: 0

Hallo,

ich denke hier kannst du genug finden, einfach mal umher suchen.

gebündelt gibts sowas soweit ich weis nicht.
TOP    



1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: