Digitale Messuhr auslesen mit RS232C Proximity?

LMDaniel999

Level-1
Beiträge
57
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Ich möchte eine digitale Messuhr auslesen, welche ein Datenkabel von Proximity auf RS232C hat.
Die Daten sollen in Codesys ausgewertet werden, wozu einzelne Raspberry Pis genutzt werden.
Diese inkl. RS232 Adapter und Konfig sind vorhanden und lauffähig.

Es geht also im Wesentlichen um die Befehle zur Kommunikation mit der Uhr.
Leider finde ich keine Hinweise zu dem Protokoll usw.
Ist das vielleicht genormt bei Messuhren?
Viele Hersteller bieten sowas an, aber keiner gibt Infos über die Befehle usw. raus.

Vielleicht hat ja auch schonmal jemand was für die Uhren programmiert und teilt das gerne? :)

Vielen Dank für die Tipps und Hinweise!
 
Hallo,

auch wenn ich noch keine Antwort erhalten habe, werde ich meine Erfahrungen hier posten:

Ich habe mittlerweile eine Reihe an Steuerbefehlen erhalten, die ich über RS232 an die Messuhr schicken kann und dann eine Antwort bekomme.
Aktuell bin ich an einem Baustein dran, der mit der Messuhr über RS232 kommuniziert.

Sollte ich diesen fertig haben und Interesse bestehen, kann ich diesen gerne teilen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Daniel,

welche Messuhr benützt du?

Ich bin gerade an einem ähnlichen Projekt drann, jedoch will ich direkt 2 oder 4 Messtaster der Firma Braun http://www.braunem.de/produkte/messtaster/ (Type ST1200) auswerten. Hier stehe ich jedoch vor einem ähnlichen Problem wie du. Wie bekomme ich ein (bzw.4) 5V Rechteck-TTL-Signal(e) mit 5 oder 10 facher interpolation in den Pi und dann noch in CODESYS?

MfG Chris
 
@Christoph:
Ein 5V-TTL-Signal solltest du mit einer entsprechenden Zählerkarte auswerten - also direkt von der SPS.
Was meinst du in dem Zusammenhang mit 5 oder 10facher Interpolation ? Falls du eigentlich "Flankenauswertung" gemeint hast so wäre bei max. 4fach Schluß - das würde dann aber auch die Zählerkarte machen.

Gruß
Larry
 
Hi Larry,

das hatte ich mir auch schon überlegt, aber ich wollte ein portables Messgerat (also mit Akku) bauen und somit nur die GIPOs des Pi benützen.
Die interpolation was auf den Verfahrweg bezogen, hat also nichts mit dem Signal zu tun.
Die Messtaster würde es mit 2 Varianten an Signalen geben: http://www.heidenhain.de/fileadmin/pdb/media/img/208945-1H_Messtaster_de.pdf Seite 9.
Ich denke mit beiden ( 5V TTL oder 1Vss) würde ich mir schwer tun die Signale auszuwerten.

Hoffe von euch kennt hier einer eine Möglichkeit.

Danke

MfG Chris
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Da dur hier ja mit Inkrementen und nicht mit Absolutwerten arbeitest sehe ich absolut schwarz für jeden Rechner mit Standard-DI's - egal wie schnell der Rechner seine DI's abfragen kann.
Bedenke bitte : deine Impulse können durchaus mit einer Frequenz von mehreren 100 kHz reinkommen ...

Gruß
Larry
 
Hi.

Da ist dein Anwendungsfall aber ganz anders.
Ich muss lediglich einen Befehl an die Uhr schicken, die mir dann den Messwert schickt.
In deinem Fall musst du über die Signale die Schritte zählen.

Das heisst dass so Sachen wie Nullstellen und Interpolation usw. alles bei dir im Messgerät gemacht werden müssen. Auch müssen die Eingänge schnell genug sein usw.

Zu der Schnelligkeit:
Ich hab im RPi eine Taktzeit von 10ms. Das heisst, dass nur 100 I/O Abfragen pro Sekunde machbar sind. Das hieße im Idealfall maximal 100 Schritte pro Sekunde.
Wenn ein Schritt 1µm ist, dann darfst du nur 100µm pro Sekunde bewegen, sonst kannst du in Codesys nicht mehr zählen!
Korrigiert mich bitte, aber ich kenne Zähler für solche Anwendungen nur als Bausteine von z.B. Beckhoff, wo ich nicht jede Flanke zählen muss, sondern nur zyklisch nen Zählerstand aus einer Klemme abfragen kann. Das Zählen übernimmt diese!

Zur Interpolation:
Interpolation geht ja nur bei dem Sinus vom 1Vss Signal.
Dazu brauchst du gute AD Wandler. Dann ist das machbar. Aber auch hier gilt wieder das Schnelligkeits-Problem.

Ich nutze bei einem anderen Projekt die Heidenhain Messtaster mit EnDat über eine Beckhoff Klemme. Aber auch mit Beckhoff SPS.
Vielleicht bekommst du das ja auch irgendwie in den Pi. Dann brauchst du nur Werte auslesen und nicht zählen!

Oder einen Baustein, der dir das 1Vss oder das TTL Signal auswertet und meinetwegen über SPI oder I2C an den Pi schickt.
Das geht über Codesys wohl auch ganz gut.

Kann man dafür nicht einen Encoder Eingang verwenden von einem Motorcontroller Baustein?
 
Danke zusammen,

ich wollte diesen Thread eigentlich nicht für mein Problem in anspruch nehmen, sorry dafür.

Ich habe die Messtaster noch nicht, daher kann ich auch noch alles umschmeißen.
Das wird sozusagen mein erstes richtiges Pi project, mit Codesys habe ich schon Erfahrung, daher würde ich das gerne verwenden.
Gibt es denn eine Möglichkeit den Messwert über EnDat direkt auf den Pi zu bekommen?
Wenn sich hier jmd. auskennt und aus der nähe von Augsburg kommt, kann er sich gerne bei mir melden (muss auch nicht umsonst sein).

MfG Chris
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Codesys kann im Raspberry Pi eine Menge Bussysteme.
Bei EnDat lese ich was von RS485.
Ich hab aber nur kurz gegoogelt und weiß nicht genau wo da das RS485 ist.

Wenn EnDat ein RS485 Bus ist, der ein bestimmtes Protokoll hat, dann könntest du das im Raspberry implementieren.
Heißt aber Aufwand für Elektronik Entwicklung einplanen und Aufwand für Protokoll Implementierung einplanen.
Lohnt also nur bei großer Stückzahl, denke ich.

Alternativ ein Busmodul suchen, was einen EnDat Eingang hat und mit einem Bus vom Raspberry kompatibel ist.
Dieses kannst du dann als "Adapter" nehmen.
(Das könnte aber auch ein Modul sein, welches die TTL oder 1Vss Eingänge hat!)

Ich möchte die Beckhoff EL5032 nutzen. (https://www.beckhoff.de/default.asp?ethercat/el5032.htm)
Angeblich sollen Beckhoff Module über einen Buskoppler am Raspberry Pi laufen.
Ich selbst habe es noch nicht gemacht. Aber an Beckhoff Hardware läuft das schnell und problemlos und du hast in 10 Min die Werte am Panel!
 
Zurück
Oben