LabVIEWForum.de - RS-232 mit Arduino

LabVIEWForum.de

Normale Version: RS-232 mit Arduino
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo
ich möchte eine Kommunikation mit einer Arduino-Platine herstellen. Dies soll über eine RS232 Schnittstelle geschehen. Ich habe in meinem Programm die Visa-Fkt Write und Read benutz. Leider habe ich das Problem das die Visaelemente immer wieder in den Timeout gehen. Die Werte die ich auslesen möchte reichen von -6000V bis +6000V. Da die Read-Fkt. Die Anzahl der Bytes am Port benötigt habe ich‘s bisher mit einem Eigenschaftsknoten mit der Eigenschaft „Bytes at Port“ versucht. Eine Frage währe ob ich auch einfach eine Konstante vorgeben kann die groß genug ist oder erwarten die Funktionen dann auch genau diese Anzahl an Bytes. Die zweite Frage betrifft denn Timeout. Ich hab absolut keine Ahnung was falsch läuft. Habs mit einer Wartezeit zwischen Write und Read versucht aber auch das hilft nicht. Hab mal ein Bild mit einem Teil des Programms angehängt in dem ein Quellenselbsttest gestartet werden soll. Hier kommts eigentlich immer zu einem Timeout. Komischerweise erhalte ich trotzdem den Wert 0 oder 1 was auch so sein soll.

Danke für jegliche Hilfe



lv11_img

[attachment=39829]
Hallo,

ich lese gerade deinen Beitrag.
Wenn Du eine Kommunikation über RS232 realisieren möchtest, so musst du zuerst mal den Comport bestimmen. Das fehlt bei deinem Beispiel ja kpl.Du sendest zwar irgendwelche Zeichen, aber wohin?

Ich mache viel in LV auch mit RS232 und steige momentan in die Arduinowelt ein.
Da die IDE vom Arduino fast keine Debuggmöglichkeit bietet, habe ich mir in LV ein Panel gebastelt, das ich über RS232 ständig auslese und habe somit einen Überblick
über die Zustände meiner zukünftigen Steuerung.

Gruß Franz
Hallo Philmo,

Zitat:Da die Read-Fkt. Die Anzahl der Bytes am Port benötigt habe ich‘s bisher mit einem Eigenschaftsknoten mit der Eigenschaft „Bytes at Port“ versucht. Eine Frage währe ob ich auch einfach eine Konstante vorgeben kann die groß genug ist oder erwarten die Funktionen dann auch genau diese Anzahl an Bytes.
Es gibt heir sehr viele Threads zum Thema "seriealle Schnittstelle". Hast du mal gesucht?
Fast überall wird von BytesAtPort abgeraten - es ist fast immer unnötig. Außerdem hast du es falsch verwendet: direkt nach dem Write-Befehl abzufragen, wieviele Bytes im Lesepuffer stehen kann nur die Antwort "Null" ergeben!

Dazu der schon benannte andere grobe Fehler: hast du mal im Beispielfinder die Grundlagen zu seriellen Schnittstellen angeschaut?

Zitat:Die Werte die ich auslesen möchte reichen von -6000V bis +6000V.
Mit einem Arduino? Ich hoffe, da ist noch einiges mehr an Hardware vorhanden - zumindest eine isolierende Box sollte vorhanden sein… Big Grin
@Gerd: Der Thread ist fast 2 Jahre alt und wurde "nur" von Alpenpower aus der Versenkung gekramt!

Gruß, Jens
Mist! Smile
Referenz-URLs