Messungen an der RS-232 (COM-Port der Anlage)
Um genauer zu verstehen was auf der seriellen Schnittstelle abläuft und um die Suche nach möglichen Fehlern zu erleichtern, habe ich mal ein paar Messungen mit einem Oszillografen gemacht. Nachfolgende Bilder zeigen die relevanten Signale, die die Euracom zur Kommunikation verwendet. Es sind im einzelnen:
Bei Beginn der Kommunikation ändert der PC rund 125ms vor dem Datenaustausch das Signal RTS von Low (ca. -6V) auf High (ca. +6V), wie im nachfolgenden Bild zu sehen ist:
Screenshot 1: Einleitung der Kommunikation mit
Handshakesignalen
Danach beginnt die eigentliche Kommunikation, die nachfolgende Aufnahme im Detail zeigt:
Screenshot 2: Beginn
der Kommunikation über die serielle Schnittstelle
Das Bild zeigt die Signale zum Beginn einer Kommunikation, bei der
Abfrage der Versionsnummer (Version 4D02). Klar zu sehen ist, dass die
Handshakesignale RTS und
CTS über den restlichen Zeitraum einen
festen Pegel aufweisen (rund +6V), also zu diesem Zeitpunkt zumindest nicht
weiter dynamisch bedient werden. Versuche haben jedoch ergeben, dass exakt
diese Lage notwendig ist, um eine Kommunikation zu ermöglichen. Stehen die
Pegel falsch, antwortet die Anlage nicht.
Der PC beginnt die eigentliche
Kommunikation (CH1/sw, zum Triggerzeitpunkt T) und schickt einen Befehl seriell
an die Anlage, die knapp 4ms später darauf antwortet (CH3/rt), woraufhin
der PC knapp 2ms später mit der eigentlichen Kommunikation beginnt.
Zur Not, ist kein Oszi zur Hand, kann man zumindest das Handshake auf RTS auch mit einem Multimeter prüfen.
Im nachfolgenden Bild eine Aufnahme eines (leicht) defekten Treiberbausteins:
Screenshot 3: Hier
zeigt sich ein defekter Treiber in der Euracom durch einen unzureichenden
Pegel,
der hier nur auf ca. +1,8V kommt anstelle von rund +6.0V