Serielle Datenübertragung von der älteren Omega DP80-Hardware zum Computer

Kann mir jemand eine Anleitung zum Einrichten einer älteren seriellen Verbindung auf einem Thermoelement-Display von Omega (Marke) geben? Ich möchte die serielle Datenschnittstelle (Omega DP80-Ser) verwenden, um eine ASCII-Textzeichenfolge zuverlässig über eine serielle RS-232-Verbindung zu übertragen.

Zusätzliche Informationen sind unten aufgeführt, wenn Sie denken, dass Sie helfen können. Vielen Dank, dass Sie sich meine Frage angesehen haben!


Ich habe vor einigen Monaten einen wenig gebrauchten Omega DP86T ( http://www.omega.com/pptst/DP80.html ) gekauft. Das Gerät enthielt mehrere Erweiterungskarten:

  • vier 6-Kanal-Thermoelementkarten
  • eine skalierte Spannungsausgangskarte, die eine Spannung ausgibt, die proportional zu einer definierten Endtemperatur für den ausgewählten Kanal ist
  • eine RS232-Karte, die eine ASCII-Textzeichenfolge ausgibt, die die Gerätenummer, den Wert auf dem Display, die Einheiten und dann einige abschließende Zeichen (Leerzeichen, Wagenrückläufe, Zeilenvorschübe) enthält.

Nachdem ich die Thermoelemente eingerichtet hatte und überzeugt war, dass das Gerät als eigenständige Temperaturanzeige gut funktionierte, richtete ich mein Augenmerk darauf, die serielle Kommunikation zum Laufen zu bringen, damit ich das Gerät in Verbindung mit meinem Computer als Temperaturdatenlogger verwenden konnte. Hier begann natürlich die Verschlimmerung.

Das Omega-Handbuch ( http://www.omega.com/Manuals/manualpdf/M0511.pdf ) enthält eine angemessene Beschreibung der seriellen Karte, ihrer Installation und Einrichtung in zwei verschiedenen Bereichen:

  • Seite 2-21 spricht über das Layout der Karte, den Einbau in das Gerät und die Baudrate, Wortlänge, Stoppbits und Paritätseinstellungen.
  • Seite 3-44 geht näher auf die Parametereinstellungen und die ASCII-Ausgabe ein. Es gibt viele Überschneidungen zwischen den beiden Abschnitten.

Ich habe derzeit die serielle Omega-Karte für 4800 Baud, 8-Bit-Wortlänge, 1 Stoppbit und gerade Parität eingerichtet.

Ich verwende ein paar verschiedene kostenlose Programme (Termite, RS232 Data Logger und UltraMonitor), um den seriellen Eingang zum Computer zu scannen.

Natürlich habe ich einen relativ neuen Laptop, der keinen nativen RS232-Anschluss hat (kein Schock, oder?), also habe ich den CablesToGo USB-zu-DB25-RS232-Konverter gekauft. Es wurde an einigen verschiedenen Stellen von Leuten gut überprüft, die versuchten, ältere Hardware an einen modernen Computer anzuschließen. (Bevor es jemand vorschlägt - nein, dies ist KEIN paralleles Druckerschnittstellenkabel.)

Als ich die Omega-Temperaturanzeige über den USB/RS232-Konverter an den Computer angeschlossen habe, wurde leider Kauderwelsch an das serielle Terminalprogramm übertragen. Ich habe versucht, mit den Windows-Hardwareeinstellungen für den COM-Port herumzuspielen:

  • Ich habe dafür gesorgt, dass sie im Hardware-Manager genau gleich sind; wie auf der Omega-Karte; a in der Logging-Software.
  • Ich habe schnellere und langsamere Baudraten, verschiedene Wortlängen, Stoppbits und Paritätseinstellungen auf der Karte ausprobiert.
  • Ich habe verschiedene Sende-/Empfangspuffergrößen im Windows-Hardware-Manager ausprobiert und im Grunde alles andere, was mir eingefallen ist.

Kürzlich habe ich einen alten Laptop (2000) von der Arbeit mit nach Hause gebracht, der noch einen seriellen DB9-Anschluss hat. Ich habe die Omega-Box mit einem DB9-zu-DB25-Kabel an den Laptop angeschlossen, die Windows-Einstellungen überprüft und versucht, die Datenprotokollierungssoftware auszuführen, aber es ist nichts passiert.

Das ist aus einem Grund interessant: Als ich meinen viel neueren Laptop und das USB/RS232-Kabel benutzte, zeichnete die Datenerfassungssoftware Kauderwelsch-Symbole auf. Mit der nativen seriellen Schnittstelle des 12 Jahre alten Laptops wird das System nicht einmal mit der Omega-Box Handshake machen und daher nicht einmal das Kauderwelsch erzeugen, das das USB/RS232-Kabel erzeugt hat.

(Was auch immer es wert ist, das RS232-Kabel selbst veranlasst die Software nicht, zufällige Zeichen zu protokollieren.)

Zuletzt habe ich die Pins 2 und 3 am (25-poligen) Geräteende des RS232-Kabels gesprungen und überprüft, ob ich ein gesendetes Signal an das Terminalprogramm zurückgeben kann. Dieser Test funktionierte nur auf dem alten Computer mit nativer RS-232-Schnittstelle und dem neuen Computer mit USB/RS-232-Adapter.

Wenn ich die RS232-Schnittstelle nicht zum Laufen bringen kann, werde ich wahrscheinlich den skalierten Spannungsausgang einrichten und diesen in ein Arduino (oder ähnliches) einspeisen, damit ich die Computerschnittstelle sowie eine Regelung mit geschlossenem Regelkreis erhalten kann. Also, alle Hoffnung ist noch nicht verloren, aber ich würde immer noch gerne die serielle Schnittstelle zum Laufen bringen - und sei es nur, um einen Grollkampf zu gewinnen.

Wir würden uns sehr über Vorschläge zur Software- oder Hardware-Fehlerbehebung freuen. Danke euch allen.

Können Sie ein Beispiel für den Kauderwelsch geben, den Sie erhalten? Hast du schon versucht, Handshaking ein-/auszuschalten?
Oli - danke für deine Hilfe. Here's an example of the gibberish that I currently receive when I use the USB/RS-232 adapter: ÿÿþÿÿþÿÿÿþÿÿþþÿÿÿÿÿþþÿþÿÿþÿÿþþÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿþþÿþÿÿþþÿÿÿÿÿþþþþÀÿüÿÿÿþàÿøÐþÿüüøÀÿüüüþÿüôþþøÿÿÿÿÿÿÿÿÿÿþÿÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿß
Die oben gezeigte Zeichenkette besteht aus Daten von etwa 15 Sekunden bei 4800 Baud. Zu Ihrer zweiten Frage: Ja, ich habe verschiedene Handshakes ausprobiert, einschließlich "kein Handshake". Eine Zeile im Handbuch (Seite 3-48, 3.10.3 Serial Output Data Format) hat mir nahegelegt, dass das Gerät auf 'RTS/CTS'-Zustandsänderungen reagiert. Insbesondere: "Fahren Sie die CTS-Leitung niedrig, um die Datenübertragung zu beenden ..." Ich habe nicht mit 'Xon/Xoff' herumgespielt, weil ich mir ziemlich sicher bin, dass das serielle Protokoll für dieses Gerät nicht so fortschrittlich ist.
Sie möchten wahrscheinlich ein Programm verwenden, das Hex erfassen kann, z. B. Realterm, um zu sehen, wie es aussieht, und an die Frage zu senden. Das Obige sieht aus wie viele Zeichen im Bereich > 0xF0, und weniger als < 0x1F wird wahrscheinlich nicht angezeigt, sodass es sich möglicherweise um eine binäre Zeichenfolge mit vorzeichenbehafteten Zahlen handelt.
Das sieht so aus, als würden viele 0xFF-Zeichen angezeigt. Ich sehe das oft auf meiner Hardware, wenn entweder (a) ich die Baudrate falsch eingestellt habe oder (b) meine Hardware "RS232TTL"-Pegel ausgibt (0 = 0 V, 1 = 5 V, anstatt Standard-RS232 0 = +12 V, 1 = -12 V - Mir fehlt irgendwo ein MAX232-Chip oder ein Äquivalent) oder beides.
Wenn Sie ein beliebiges Oszilloskop an den Ausgang Ihres Geräts anschließen könnten, wäre es hilfreicher, Spannungspegel und Baudrate zu bestimmen, als es hier zu erraten.

Antworten (1)

Hier ist, wie ich vorschlagen würde, dieses Problem zu debuggen: -

  1. Überprüfen Sie die Anschlüsse. Wenn Sie die Signalmasse und die Gehäusemasse (Abschirmung) vertauscht haben, kann es zu einem komischen Verhalten kommen, genau wie Sie es beschreiben. Pin 7 am DB-25 ist derjenige, den Sie mit DE-9 Pin 5 verbinden möchten. Ich gehe davon aus, dass Sie einen handelsüblichen Adapter / ein Kabel verwenden oder eines so verdrahtet haben.

    Geben Sie hier die Bildbeschreibung ein

    Überprüfen Sie möglicherweise die Sendeausgangsleitung, um sicherzustellen, dass sie bei -12 (< -3 sowieso) im Leerlauf ist.

  2. Stellen Sie sicher, dass das Instrument auf RS-232 und nicht auf Stromschleife eingestellt ist (Jumper 7,8 und 1,2).

  3. Probieren Sie die gebräuchlichste Einstellung für den seriellen Anschluss aus (9600/8-N-1), 9600 Baud, KEINE Parität, 1 Stoppbit Schalter 1, 2, 3 AUS Schalter 4, 5 EIN Schalter 6 EIN Schalter 7, 8 EIN

    Stellen Sie sicher, dass Sie verstehen, was „OFF“ und was „ON“ ist. Lachen Sie nicht, ich habe das mehr als einmal gesehen, und einige Arten von DIP-Schaltern sind irgendwie mehrdeutig gekennzeichnet. Im Zweifelsfall ein Ohmmeter über dem Schalter. Tatsächlich könnten Sie alle Schalter überprüfen, um sicherzustellen, dass sie funktionieren.

    Ich mag Realterm als Terminalprogramm. Es ist kostenlos und einfach, die Parameter zu ändern. Probieren Sie es natürlich zuerst an etwas aus, von dem bekannt ist, dass es funktioniert, und suchen Sie nach einem Online-Tutorial. Es lohnt sich wirklich.

  4. Wenn Sie danach immer noch Kauderwelsch haben, besorgen Sie sich eine Bildschirmabdeckung oder ein Foto und posten Sie es.

  5. Wenn Sie weiterhin einen Logikanalysator benötigen, ist dieser sehr billig und relativ nützlich. Nicht so gut wie mein Tektronix-Bootsanker, aber dieser passt in eine Jackentasche. Aber ich würde zuerst ein Zielfernrohr besorgen, wenn Sie keins haben. Selbst der schlechteste Umfang ist besser als nichts.