RS-485 to USB - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: Instrument IO & VISA (/Forum-Instrument-IO-VISA) +---- Thema: RS-485 to USB (/Thread-RS-485-to-USB) |
RS-485 to USB - LabView-CS - 19.10.2015 09:52 Hallo LabViewgemeinde, ich bin Neuling und benötige mal eure Hilfe. Ich baue gerade eine Anlage auf, die einen RS485 besitzt. Über diesen sollen bestimmte Messgrößen abgefragt werden. Als physikalische Schnittstelle benutze ich einen RS485 to USB Konverter. Das Bauteil, welches die Signale sendet, arbeitet nach dem Master-Slave Prinzip. Mit einem anderen Programm funktioniert das auch schon. Hierbei schicke ich Hexadezimalzahlen z.B. (ee e1) über den Bus und erhalte eine Antwort in Hex, die in entschlüssele und in einen Wert umrechne. Leider funktioniert das nicht in LabView. Im Anhang befindet sich das Programm von mir. Vielleicht kann mir einer der Experte sagen, was ich falsche gemacht habe. Im Voraus schon mal vielen Dank. Gruß CS P.s. Die Baudrate ist 38400, 8 Datenbits, kein Paritätsbit und 1 Stoppbit RE: RS-485 to USB - GerdW - 19.10.2015 10:08 Hallo CS, herzlich willkommen im Forum! Zitat: Hierbei schicke ich Hexadezimalzahlen z.B. (ee e1) über den Bus und erhalte eine Antwort in Hex, die in entschlüssele und in einen Wert umrechne. Leider funktioniert das nicht in LabView.Das funktioniert ganz sicher auch "in LabVIEW", wenn man es richtig macht… Momentan verschickst du leider keine "HEX-Werte", sondern ASCII-Strings, die als HEX-Zahl formatierte Werte enthalten. Ich nehme aber an, dass du die entsprechenden Bytes verschicken willst: erstelle eine String-Konstante, stelle ihren Displaymodus auf "Hex" und tippe dann deine zu verschickenden Werte ein… Wenn es programmatisch laufen soll: erstelle ein U8-Array und wandle diese mit der passenden Funktion in einen String um (U8-Array zu String). Umgekehrt geht es ebenso: man kann einen String auch in ein U8-Array umwandeln lassen… RE: RS-485 to USB - jg - 19.10.2015 10:12 Außerdem liegen einmal wieder die Standard-Fehler / Probleme in deinem VI vor: - Termination-Char VISA-Read ist aktiviert. Ist das wirklich korrekt? - Direkt nach Write hast du sicherlich noch keine Antwort vorliegen (Gerade bei RS-485, der Bus ist in der Regel nur Simplex). Logischerweise ist direkt danach der Lesebuffer noch leer. Gruß, Jens RE: RS-485 to USB - GerdW - 19.10.2015 10:22 Wenn wir schon bei Standardfehlern sind: - Sequenzstruktur ist unnötig (THINK DATAFLOW!) - Terminal ohne Label: ganz schlechter Style! - fehlende Wartezeit in der Schleife RE: RS-485 to USB - LabView-CS - 19.10.2015 11:01 Schon mal vielen Dank für die vielen Antworten. Aber wie gesagt, ich fange gerade erst an mit LabView und kenn mich mit dem Fachchinesisch noch nicht ganz so aus. Die Antwort des anderen Programms habe ich mit dem Oszi angeguckt und die kommt unmittelbar nach dem senden. Es ist kein zeitlicher versatz zwischen senden und empfangen. Was ist denn bitte ein U8 Arrey? Zumindest die Arreys hab ich gefunden. Vielleicht kann einer von euch das Programm ein bißchen umschreiben. Ich denke für euch is das ein Klacks RE: RS-485 to USB - jg - 19.10.2015 11:05 Da wird das Kommunikationsprotokoll deiner Gegenstelle nicht kennen, ist das eben kein Klacks. Die offenen Fragen zu TerminationChar, Darstellung der Zeichen (sollen wirklich HEX-ASCII-Zeichen versandt werden oder nicht) kannst nur du beantworten. Gruß, Jens (19.10.2015 11:01 )LabView-CS schrieb: Es ist kein zeitlicher versatz zwischen senden und empfangen.Die Antwort kommt sicher nicht zur selben Zeit wie das Anfrage. Somit besteht schon ein zeitlicher Versatz. Gruß, Jens RE: RS-485 to USB - LabView-CS - 19.10.2015 11:13 Gruß, Jens (19.10.2015 11:01 )LabView-CS schrieb: Es ist kein zeitlicher versatz zwischen senden und empfangen.Die Antwort kommt sicher nicht zur selben Zeit wie das Anfrage. Somit besteht schon ein zeitlicher Versatz. Nein, nicht zur gleichen zeit. direkt im Anschluss. Bezüglich TerminationChar und ASCII kann ich nichts sagen. Ich habe den serial port monitor 6.0 benutzt und stelle der Nachricht auf hex. RE: RS-485 to USB - LabView-CS - 20.10.2015 13:56 Moin Männer, der Tipp mit der String Konstante war super. Anlage arbeitet Vielen Dank |