Potentialfreien Kontakt *simpel* an RSR-232 einlesen

Szenario: Eine Alarmanlage (VdS-Gerät, aber ohne Auflagen betrieben) hat für Statusmeldungen einen RS-232-"Ausgang" für einen seriellen Drucker. TxD, CTS und GND. Statt dem Drucker habe ich einen PC (Server mit echter 9

-pol. RS-232) angehängt, der die Meldungen mitprotokolliert. Mit CTS=Lo w stoppt der Rechner die Ausgaben der Anlage, z.B. wenn er bootet oder das Logprogramm abgestürzt ist. Funktioniert. Leider lassen sich die Textausg aben nicht sinnvoll auf Alarmauslösung parsen. Daher möchte ich einen S chaltausgang der Alarmanlage nutzen, um dem Rechner ein Bit für "Alarm" z u übergeben, damit der weiteres veranlaßt.

Ordentliche, aber aufwendige Lösung wäre, einen galvanisch getrennten + /- 15V-Schaltwandler mit den 12V in der Alarmanlage zu betreiben und über einen Relais-Wechsler z.B. auf RI oder mißbrauchten RTS der Schnittstell e zu legen.

Geht es auch einfacher? Problem bei einem potentialfreien Kontakt ist ja, d aß "offen" ein nicht definierter Pegel ist. Sonst könnte ich z.B. DTR über den Kontakt an RI legen. Kann man da was mit Widerständen tricksen ? Oder z.B. softwaremäßig DTR auf 1-0-1-0 schalten, und wenn das Muster auf RI ankommt, ist der Kontakt geschlossen, sonst offen?

Erschwerend kommt hinzu, daß das Kabel geschirmtes 2x2 IYSTY ist, dh. ich habe 1, max. 2 Adern für die Spielerei übrig. (Gut, ich sehe, während ich diese Fragen formuliert habe, hätte ich den Schaltwandler für 10 Euro längst gekauft und eingebaut. Aber nun inte ressiert mich eine einfache Lösung umso mehr.;)

Reply to
Wolfgang Schreiber
Loading thread data ...

"offen" ein nicht definierter Pegel ist.

Theoretisch ist das so, praktisch erkennen die meisten modernen RS232-Pegelwandler einen offenen Eingang aber zuverlässig als "Space".

Ansonsten köntest du auch den nicht genutzten Sende-Ausgang des PC (ständig "Space") und den ständig aktiven RTS-Ausgang des PC als Bezugpegel hernehmen. Dazu zwei Widerstände und ein Optokoppler, und in RI oder CTS wieder 'rein...

Hergen

Reply to
Hergen Lehmann

Wolfgang Schreiber schrieb:

Ja, die Leitungen DTR und RTS kannst Du über Software setzen, wenn das entsprechende Handshake nicht aktiv ist. Dann z.B. DTR auf Low und über

10k an RI, RTS auf High und über den Kontakt an RI. Schon kannst Du mit sauber definierten Pegeln schalten.

Das wäre eine noch einfachere Möglichkeit, vorausgesetzt RI floatet nicht, wenn offen. Der Sache, würde ich nicht so trauen.

Reply to
Edzard Egberts

Wolfgang Schreiber schrieb:

a, daß "offen" ein nicht

n RI legen.

Definiert hin oder her, ein offener Eingang der seriellen Schnittstelle ist in der Praxis immer "AUS" - meine Erfahrung aus rund 30 Jahren :-)

Ich würde allerdings nicht gerade RI nehmen, sondern lieber DSR oder notfalls CD (wenn CTS schon belegt ist). Denn RI war schon immer was "spezielles": in vielen Leitungen/Steckern/Adaptern/etc. ist der gar nicht durchgeschaltet, und es gab zumindest mal ne Zeit, wo man idio- tischerweise nur beim Ausschalten, nicht jedoch beim Einschalten einen Interrupt erzeugen konnte ("TERI" = "Trailing Edge Ring Indicator") - das hat vermutlich ein Chip-Hersteller einmal versehentlich vergeigt, und danach wurde es dann so zum Standard erhoben :-)

Gruß Matthias.

Reply to
Matthias Hanft

Am 21.02.2013 16:24, schrieb Wolfgang Schreiber:

Statusmeldungen einen RS-232-"Ausgang" für einen seriellen Drucker. TxD, CTS und GND. Statt dem Drucker habe ich einen PC (Server mit echter 9-pol. RS-232) angehängt, der die Meldungen mitprotokolliert. Mit CTS=Low stoppt der Rechner die Ausgaben der Anlage, z.B. wenn er bootet oder das Logprogramm abgestürzt ist. Funktioniert. Leider lassen sich die Textausgaben nicht sinnvoll auf Alarmauslösung parsen. Daher möchte ich einen Schaltausgang der Alarmanlage nutzen, um dem Rechner ein Bit für "Alarm" zu übergeben, damit der weiteres veranlaßt.

15V-Schaltwandler mit den 12V in der Alarmanlage zu betreiben und über einen Relais-Wechsler z.B. auf RI oder mißbrauchten RTS der Schnittstelle zu legen.

"offen" ein nicht definierter Pegel ist. Sonst könnte ich z.B. DTR über den Kontakt an RI legen. Kann man da was mit Widerständen tricksen? Oder z.B. softwaremäßig DTR auf 1-0-1-0 schalten, und wenn das Muster auf RI ankommt, ist der Kontakt geschlossen, sonst offen?

1, max. 2 Adern für die Spielerei übrig.

Schaltwandler für 10 Euro längst gekauft und eingebaut. Aber nun interessiert mich eine einfache Lösung umso mehr.;)

Man könnte mit dem potentialfreien Kontakt auch einfach RXD* und TXD* miteinander verbinden. Der PC sendet dann einfach alle 20ms ein Zeichen aus und wenn ein Echo kommt, gibt er Alarm.

Gruß

Stefan

Reply to
Stefan

Das ist ja mal interessant: Ein Geheimlogfile, bei dem die wichtigsten Inhalte überhaupt nicht zu erkennen sind...

Ich erlaube mir einfach mal, das schlicht nicht zu glauben.

[...]

In dem ganzen Redeschwall fehlt die wichtigste Information: Was genau ist das denn für ein Alarmausgang? CMOS/TTL-Pegel, OpenCollector-/ OpenDrain-Ausgang, Relaiskontakt, Optokoppler oder irgendwas ganz exotisches?

Wie soll man die finden, wenn du die fundamentalste Information verschweigst?

Reply to
Heiko Nocon

Heiko Nocon schrieb:

Was genau hast Du am Betreff "Potentialfreien Kontakt...einlesen" nicht verstanden? ;o)

Reply to
Edzard Egberts

Du mußt wirklich unbedingt an deiner Lesekompetenz arbeiten.

Der Betreff bezog sich ziemlich eindeutig allein auf seine im zweiten Absatz des OP dargestellte "Halblösung" des Problems. Denn wenn schon an der Quelle ein "potentialfreier Kontakt" verfügbar wäre, ergibt diese nun wirklich überhaupt keinen Sinn, sie wäre schlicht hyperfluid...

Reply to
Heiko Nocon

Du hast recht.

Noch schlimmer, der entsprechende Abschnitt überfordert meine Lesekompetenz dauerhaft.

Reply to
Edzard Egberts

"Lesekompetenz" ist im Kern: Auch den völlig wirren Einlassungen von offensichtlichen Vollidioten zumindest die Information entnehmen zu können, welche _tatsächlich relevanten Informationen_ darin _fehlen_.

Sehr nützlich u.a. auch bei der Interpretation der Äußerungen von Politikern...

Reply to
Heiko Nocon

Also schrieb Wolfgang Schreiber:

Das mit "RI" zu machen, ist gängige Praxis etwa bei USV'en. Wie wär's damit: Spannung vom DTR oder RTS der PC-Seite klauen (da der PC nichts senden soll und DTR oder RTS vom PC aus einfach zu steuern ist) und auf den Schaltausgang geben? Mit Pull-Up bzw. Pull-Down-Widerstand dazu? (Weiss jetzt grade die Polarität nicht auswendig...)

Ansgar

--
*** Musik! ***
Reply to
Ansgar Strickerschmidt

Also schrieb Matthias Hanft:

Damit hatte ich auch grade Spass. Im 16C(2)550 ist das so implementiert. Da ist das Status-Change-Bit im Modem Status Register für den RI anders als für die anderen drei Signale (CTS,DSR,DCD). Die Bits für letztere zeigen jeden Statuswechsel, für ersteren nur Übergang HI->LO, aber nicht LO->HI. Hat mich bei der Erstellung eines Tests etwas graue Haare gekostet, weil man damit ja nicht ohne weiteres rechnet, und wer liest schon jedes Datenblatt Wort für Wort...

Ansgar

--
*** Musik! ***
Reply to
Ansgar Strickerschmidt

BTDT, hab etliche symbolische Narben am Arsch, wo ich mich kräftig selbst gebissen habe. Gehört dazu :)

Saludos (an alle Vernünftigen, Rest sh. sig) Wolfgang

--
Wolfgang Allinger, anerkannter Trollallergiker :) reply Adresse gesetzt! 
Ich diskutiere zukünftig weniger mit Idioten, denn sie ziehen mich auf 
ihr Niveau herunter und schlagen mich dort mit ihrer Erfahrung! :p 
(lt. alter usenet Weisheit)      iPod, iPhone, iPad, iTunes, iRak, iDiot
Reply to
Wolfgang Allinger

Edzard Egberts schrieb:

Prima Tip, habs ausprobiert und es funktioniert wie erwartet. Habe auch den Hinweis von Matthias berücksichtigt und es sowohl auf RI, DSR und CD probiert, auf meinem Rechner mit jeweils dem selben Resultat. Sogar mit allen drei Eingängen parallel geschaltet tut es.

Von den +/- 12 V kommen wenn geschlossen +8,4, wenn offen -3,2 V am jeweiligen Eingang an.

Reply to
Wolfgang Schreiber

Wolfgang Schreiber schrieb:

Kommt zwar hin, aber 10k ist dann wohl etwas hoch gegriffen.

Reply to
Edzard Egberts

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.