INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Zeitproblem des RTS-Signals der RS232



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

27.02.2008, 11:40
Beitrag #3

s200rs Abwesend
LVF-Gelegenheitsschreiber
**


Beiträge: 75
Registriert seit: Jul 2005

7.1 / 8.5.1
2002
DE

02826
Deutschland
Zeitproblem des RTS-Signals der RS232
Hallo RoLe,

das ganze ist ein Schnittstellenumsetzer.

Mit 1 Leitung meine ich 1 Leitung, die abwechselnd für Sende- und Empfangsbetrieb benutzt wird, also halbduplex. Und mit dem RTS-Signal der RS232 will ich an dem Treiberschaltkreis zwischen Senden und Empfangen umschalten, damit die Daten von der RS232 gesendet werden können und die Antwortdaten an die RS232 kommen.

RTS schalte ich "manuell", weil ich von meiner Gegenstelle keine CTS bekomme. Deswegen kann ich kein Hardware-Handshake machen.

Anzahl der Bytes im Puffer bringt mir momentan nichts, weil ich aufgrund des beschriebenen Fehlers an der RS232 keine Antwort bekomme. Der Treiber geht nicht in den Tristate (weil RTS nicht abgeschaltet wird) und die Gegenstelle schafft es nicht, sich gegen den Treiber durchzusetzen.
Als Hilfsmittel habe ich ein Zweikanal-Oszi. Dort sehe ich, daß eine Antwort gesendet wird, die bewirkt aber keine signifikante Pegeländerung, so daß der Empfänger-Teil des Treiberschaltkreises (der ja ohnehin wegen des noch aktiven RTS deaktiviert ist) nichts mitbekommt.

Nun zu den neuen Erkenntnissen:

Das ganze ist scheinbar abhängig von Rechner und viel wahrscheinlicher abhängig davon, ob das ganze in der Entwicklungsumgebung oder als Applikation ausgeführt wird.

-auf meinem Ziel-PC habe ich es auf den zwei Rechnereigenen Schnittstelllen und auf einer NI 16-fach-seriellen Karte ausprobiert, überall das gleiche. (Hier allerdings ausgeführt nach Laden des Sub-VIs aus einer anderen .exe über Menü-Leiste -> Datei -> öffnen)
-auf meinem Entwicklungs-PC kann ich das Sub-VI (unter LV8.5) separat ausführen und - siehe da - das krasse Gegenteil: RTS wird wieder auf Low gezogen, noch während das erste der 4 Bytes gesendet wird. VISA Write schickt den String also nur in den Sendepuffer der RS232 und schaltet RTS um, noch bevor alles gesendet ist. -> Abhilfe: Parallel zum VISA-Write starte ich eine Sequenz, die 5ms wartet (für das Senden der 4Byte werden ca. 4 ms benötigt) und dann, unabhängig von der Abarbeitungszeit von Write, RTS wieder zurücksetzt. Funktionert in der Entwicklungs-Umgebung wunderbar, aber auf dem Ziel-PC gibt's keine Veränderung.
- nun habe ich eine exe aus dem einzelnen Sub-VI gemacht und lasse diese probehalber auf dem Ziel-PC laufen und es läuft !

Wie kann das sein? Es scheint also so, als ob VISA-Write unterschiedlich lange zur Ausführung braucht. Einmal extrem kurz, so daß der nächste Befehl ausgeführt wird, bevor die Daten alle gesendet sind und einmal extrem lang, so daß der anschließende Befehl viel zu spät kommt.

habe noch mal die derzeitge Änderung als Bild angehängt

Gruß Andreas


Angehängte Datei(en) Thumbnail(s)
   

________________

LV 7.1; 8.5
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
Zeitproblem des RTS-Signals der RS232 - s200rs - 27.02.2008 11:40

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Zeitproblem bei Schreiben/Lesen atbab3 3 4.135 07.11.2012 14:01
Letzter Beitrag: Lucki

Gehe zu: