09.11.2010, 16:33
Hallo,
ich versuche gerade ein Messgerät über die RS232 Schnittstelle mit Hilfe von Visa zu implemetieren.
Ziel ist es, auf einen Steuerbefehl (ASCII-Zeichenkette) einen Wert vom Messgerät ausgegeben zu bekommen.
Dieser Wert liegt ebenfalls in Form einer ASCII-Zeichenkette vor.
Mit dem Rechner ist das Gerät über einen USB<-->RS485<--->RS232 Verbunden. Dieses braucht keinen
LabView Treiber. Messwertausgabe mit einem kleinen Perlprogramm funktionierte mit den Steuerbefehlen
tadellos: z.B. x00x02abcd F Ax03xf9 (Anfrage hier geändert, soll ja nur das Prinzip zeigen). Das Leerzeichen
zwischen d und F ist wichtig und darf nicht vernachlässigt werden.
Ein weiteres Linefeed (Carrige return etc.) wird nicht gesendet. Und ist denk ich sogar schädlich.
Grundaufbau ist angehängt.
Das Messgerät braucht für das bereitstellen einer Antwort 5ms- 300 ms ( je nach Befehl)-> Es ist zwingend notwendig
zu warten bis der Wert eingetroffen ist.
Aber soweit komm ich als blutiger Anfänger nicht mal.
Was ich bisher sagen kann:
Ich sehe, an dem Konverter, dass Daten gesendet werden (hab ich mir auch mal ausgeben lassen in
der Case) ... Die Anfrage geht dann in den nächsten Case dort bleibt sie jedoch im Visa lesen "stecken" und ich bekomme eine lustige
Fehlermeldung:
Fehler: -1073807339 .... Zeitüberschreitung, bevor der Vorgang abgebrochen werden konnte.
Das passiert auch, wenn ich mir das ganze in der Highlightfuntkion anschaue.
Ich persönlich gehe davon aus, dass das Leerzeichen im Steuerstring mit dafür verantwortlich ist. Ebenso hab ich die dumme Befürchtung
das es hier an den Linefeed caracters liegt. Ich hab nu schon einiges versucht.... steh aber leider völlig auf dem Schlauch.
Noch eine weitere Angabe:
Eigenschaften meines Stingbedienelementes ist Backslashcodes ( wo ja leider immer die Option: Am Wortende umbrechen
gesetzt ist).
Ein weiterer Versuch mit einem Stringarray in und ausserhalb der Case wurde auch schon versucht... führte aber zur selben Fehlermeldung.
Ich hoffe mir kann einer helfen.
LabView Version 8.6
LG tierchen
ich versuche gerade ein Messgerät über die RS232 Schnittstelle mit Hilfe von Visa zu implemetieren.
Ziel ist es, auf einen Steuerbefehl (ASCII-Zeichenkette) einen Wert vom Messgerät ausgegeben zu bekommen.
Dieser Wert liegt ebenfalls in Form einer ASCII-Zeichenkette vor.
Mit dem Rechner ist das Gerät über einen USB<-->RS485<--->RS232 Verbunden. Dieses braucht keinen
LabView Treiber. Messwertausgabe mit einem kleinen Perlprogramm funktionierte mit den Steuerbefehlen
tadellos: z.B. x00x02abcd F Ax03xf9 (Anfrage hier geändert, soll ja nur das Prinzip zeigen). Das Leerzeichen
zwischen d und F ist wichtig und darf nicht vernachlässigt werden.
Ein weiteres Linefeed (Carrige return etc.) wird nicht gesendet. Und ist denk ich sogar schädlich.
Grundaufbau ist angehängt.
Das Messgerät braucht für das bereitstellen einer Antwort 5ms- 300 ms ( je nach Befehl)-> Es ist zwingend notwendig
zu warten bis der Wert eingetroffen ist.
Aber soweit komm ich als blutiger Anfänger nicht mal.
Was ich bisher sagen kann:
Ich sehe, an dem Konverter, dass Daten gesendet werden (hab ich mir auch mal ausgeben lassen in
der Case) ... Die Anfrage geht dann in den nächsten Case dort bleibt sie jedoch im Visa lesen "stecken" und ich bekomme eine lustige
Fehlermeldung:
Fehler: -1073807339 .... Zeitüberschreitung, bevor der Vorgang abgebrochen werden konnte.
Das passiert auch, wenn ich mir das ganze in der Highlightfuntkion anschaue.
Ich persönlich gehe davon aus, dass das Leerzeichen im Steuerstring mit dafür verantwortlich ist. Ebenso hab ich die dumme Befürchtung
das es hier an den Linefeed caracters liegt. Ich hab nu schon einiges versucht.... steh aber leider völlig auf dem Schlauch.
Noch eine weitere Angabe:
Eigenschaften meines Stingbedienelementes ist Backslashcodes ( wo ja leider immer die Option: Am Wortende umbrechen
gesetzt ist).
Ein weiterer Versuch mit einem Stringarray in und ausserhalb der Case wurde auch schon versucht... führte aber zur selben Fehlermeldung.
Ich hoffe mir kann einer helfen.
LabView Version 8.6
LG tierchen