LabVIEWForum.de - RS232 Daten versenden

LabVIEWForum.de

Normale Version: RS232 Daten versenden
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo ich mabe das folgende Problem mit meiner RS232 schnittstelle und einer Waage mit der ich kommunizieren möchte.

Das Datenholen von der Waage klappt so weit so gut, wenn ich aber Daten senden möchte dann klappt das nicht (Timeout überschreibung ...)

Zum Daten senden benutze ich das VISA VI Write Data.
Der ResourceName is ok, aber beim sendepuffer trage ich wahrscheinlich etwas falches ein:

Und zwar benötige 4 Bytes für die Steuerzeichen: "ESC""P""LF""CR"
Weiß jemand von euch wie die Daten richtig eingibt, oder gibt es noch eine andere Möglichkeit daten zu versen, zum Beispeil SENDBYTE oder so..



Bin leider noch ein Anfänder in LV, hoffe ihr könnt mir helfen

mfg
Du kannst die Stringkonstante als Hex darstellen:

Rechtsklick auf Stringkonstante -> Hex Display

Dann kannst du HEX-Code vom ASCII-Zeichen eingeben, wie im Bild

Gruss, Eugen
Habe ich so nun versucht,

Aber leider kommt die TimeOut Fehlermeldung immer noch!
Wo kommt die Meldung her, von LV oder von der Waage?

Gruss
Von LV.
Wie hast du die serielle Schnittstelle Initialisiert? Poste mal ein Bild von diesem Ausschnitt.

Gruss
Das Problem ist glaube ihc jeden falls, dass die Waage 4 einzelne Bytes erwartet, ich aber mit dem Write VI nur jeweils 16 Bit schreiben kann.

Kann das sein??

Liefere morgen ein Bildchen!
Ach ja, jetzt verstehe ich. Den Timeout meldet also doch die Waage. Die will auf deine Nachricht nicht antworten, weil du etwas falsches oder unvollständiges zu der Waage sendest. Wenn du auf die Antwort der Waage wartest und die aber nichts liefert gibt es natürlich einen Timeout von dem VI VisaRead. Dann musst du dich mit dem Protokoll der Waage besser auseinandersetzen. Probiere mal das ganze über Hyperterminal zu machen. Beim Auslesen kannst du einen Errorcluster anschliessen, dann gibt es die Meldung Timeout nicht mehr.
Bei der Initialisierung kannst du den Timeout und das Abschlusszeichen definieren.

Gruss, Eugen
Wenn ich die benötigte Byte Reihenfolge über ein TerminalProgramm schicke , dann funktioniert alles.
Wenn ich aber diselbe Byte Reihenfolge über LabVIEW schicke, klappt das nicht so richtig.

Vielleicht wisst ihr ja was ich falsch mache.

Gibts es eine Möglichkeit jeweils immer nur 8 Bit zu schreiben, denn mit dem Write VI, kann ich immer nur 16 Bit jeweils schreiben.
Hallo Martin,
es sieht vernünftig aus.
Vorschläge:

Zeichne mit einem Hyprteminal das was du sendest in eine Datei auf. Öffne das in einem Hex-Editor, dann siehst du genau, was du an die Waage gesendet hast.

Bei der Initialisierung hast du Flow Control aktiviert. Ist es wirklich nötig für die Kommunikation?

Versuche mal nur das auszulesen, was ankommt (wie im Bild unten)

Gruss, Eugen
Seiten: 1 2
Referenz-URLs