Forum: PC Hard- und Software Crash bei Kommunikation über die serielle Schnittstelle


von Volker (Gast)


Lesenswert?

Hallo,
ich steuere ein externes Gerät zur Sicherheitsüberwachung über die eine 
serielle Schnittstelle an. Dafür schreibe ich jetzt gerade das 
SW-Interface für den PC zur Ansteuerung des Geräts mit C++. Der PC kann 
Konfigurationsnachrichten zum Sicherheitsmodul senden. Und das Modul 
kann Error-Nachrichten zum PC senden, sofern ein Fehler auftritt. Wenn 
eine Nachricht beim PC ankommt wird ein Event ausgelöst welches den 
eintreffenden String scannt. Jetzt habe ich nur ein Problem:
Wenn ich gleichzeitig eine Konfigurationsnachricht sende, während das 
Gerät mir eine Error Nachricht sendet, dann Funktioniert die 
Kommunikation nicht mehr…
Wie kann ich das umgehen, bzw. ist eine serielle Schnittstelle überhaupt 
geeignet um mit einen System zur Überwachung der Sicherheit zu 
kommunizieren?

von slow (Gast)


Lesenswert?

Eine serielle Schnittstelle (geraten: Du verwendest eine RS232) ist 
grundsätzlich mal bidirektional ausgelegt.

Crash ist keine gute Beschreibung eines Fehlers.
Was geht denn nicht?

von Volker Z. (vza)


Lesenswert?

Volker schrieb:
> serielle Schnittstelle überhaupt
> geeignet um mit einen System zur Überwachung der Sicherheit zu
> kommunizieren

Ja.

Dein Problem ist nicht die Sicherheit.
Für deine Aufgabe brauchst du eine Schnittelle die "Full Duplex" ist.

Da Du deine "serielle Schnittstelle" nicht näher beschrieben hast, poste 
ich mal ein Link: http://de.wikipedia.org/wiki/Serielle_Schnittstelle
Versuche mal herauszufinden, welche Du benutzt?

Volker

von Volker (Gast)


Lesenswert?

Schon mal vielen Dank für die schnellen Rückmeldungen, es handelt sich 
um eine RS232 Schnittstelle. Und das Problem äußert sich in der Form, 
dass wenn ich die Schnittstelle durch Kommunikation aus beiden 
Richtungen stresse. Nur noch Müll im Eingangsbuffer (String) des 
Rechners ist und nichts mehr gelesen werden kann.

von Volker (Gast)


Lesenswert?

So ich habe jetzt nochmal nachgefragt und es handelt sich um eine half 
duplex geschichte... also kein gleichzeitiges empfangen und senden...
Ist sie jetzt also komplett unfähig für ein sicherheitsrelevantes 
system?

von guenther (Gast)


Lesenswert?

Volker schrieb:
> So ich habe jetzt nochmal nachgefragt und es handelt sich um eine half
> duplex geschichte... also kein gleichzeitiges empfangen und senden...
> Ist sie jetzt also komplett unfähig für ein sicherheitsrelevantes
> system?

Wenn man nicht schwimmen kann, muß nicht die Badehose schuld sein!

von Volker (Gast)


Lesenswert?

Und wenn man keine Ahnung hat, sollte man nicht Antworten...

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Volker schrieb:
> So ich habe jetzt nochmal nachgefragt und es handelt sich um eine half
> duplex geschichte

Also, die serielle Schnittstelle des PCs ist immer vollduplexfähig.

Wenn das darüber angesteuerte Gerät nicht vollduplexfähig ist, dann 
muss das zur Kommunikation mit diesem Gerät verwendete Protokoll 
entsprechend eingehalten werden.

Das ist keine Raketenwissenschaft, das ist beispielsweise bei mit 
seriellen Schnittstellen angesteuerten RS485-Wandlern vollkommen normal. 
In der Automatisierungstechnik ist so etwas etablierter Standard.

Daher ist eine serielle Schnittstelle --auch im Halbduplexbetrieb-- 
problemlos auch für sicherheitsrelevante Anwendungen geeignet.

Voraussetzung ist halt, daß a) das Kommunikationsprotokoll sauber 
definiert und vor allem dokumentiert ist und daß b) der Mensch, der die 
PC-seitige Implementierung dieses Protokolls herstellt, die 
Dokumentation und das Protokoll auch versteht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.