Problem mit Serieller Schnittstelle - 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: Problem mit Serieller Schnittstelle (/Thread-Problem-mit-Serieller-Schnittstelle) |
Problem mit Serieller Schnittstelle - STG - 27.05.2007 19:40 Hallo, ich Versuche einen Sensor mittels LabVIEW anzusteuern. Zuerst mal alle wichtigen Daten zur Schnittstelle des Sensors: [attachment=6874] [attachment=6875] [attachment=6876] [attachment=6877] Alle in der Anleitung gedruckten Befehle funktionieren mit Hyperterminal sehr gut und ohne Tadel. Will ich nun den Sensor mit LabVIEW steuern bekomme ich eigenartige Ergebnisse. Ich sende also mein Befehl /020T0049. als string und zurück kommt ein Fehlertelegramm das mir sagt das der Sensor Daten empfangen hat aber kein gültigen Befehl. Sende ich /0020T0049. habe ich größere Chancen und der Sensor gibt mir dann sogar die Richtige Antwort zurück. (Nur dass das eigentlich nicht sein kann - denn in Hyperterminal erweitere ich den Befehl ja auch nicht planlos mit ner 0 an 2. Stelle (klappt bei anderen Befehlen auch). Außerdem geht es ja auch nur sporadisch. Oft empfange ich auch mehr Daten als ich sollte was in Hyperteminal auch nicht der Fall ist. Dann gibt er mir vor der Antwort bis zu 3 Vierecke (für nicht wiedergebbare Zeichen) aus. Ich habe schon sehr viel gelesen in Büchern und in Foren aber leider nichts gefunden was mir bisher weiterhelfen konnte. Ich hoffe hier gibt es vielleicht jemanden der die "Nadel im Heuhaufen" findet - oder vielleicht ist es ja doch ein Airbus im Heuhäufchen das nur ich übersehe. :-) Ein VI das ich zu testzwecken geschrieben habe ist angehängt. Vielen Dank schonmal für eure mühen. MfG Richard Problem mit Serieller Schnittstelle - Achimedes - 28.05.2007 09:14 Hallo STG, [attachment=6872] Hier mal das Vi zurück. Leider kann ichs nicht auf 6.1 runrespeichern, deshalb noch ein Screenshot. [attachment=6873] Ich habe folgendes geändert. "Enable Termination Char" hab ich ausgeschaltet. Kannst du aber einschalten und dann dein Endzeichen "." = 0h46 nach deiner wartezeit den Eigenschaftsknoten zum erkennen wieviel Bytes am Port sind eigefügt. Wenn du nämlich 20Zeichen auslesen willst und weniger am Port sind bekommst du (glaube ich) einen Timeout Error. Ansonsten ist mir mal nix aufgefallen. Versuchs mal. Grüße Achimedes Problem mit Serieller Schnittstelle - STG - 28.05.2007 09:42 Hallo Achimedes, danke erstmal für die schnelle Antwort. Mit Bytes an Port hab ich auch schon rumgespielt - und es gibt auch ein timeoutfehler - aber er zeigt mir trotzdem die gelesenen Daten an. Das Programm hab ich jetzt aber so geändert - so sieht man auch ob wirklich alle Bytes gelesen werden. Mit dem Terminationschar bin ich mir nicht ganz sicher. Also des der "." mein Termchar ist weiß ich - aber wie ich dieses einstelle? Ich hatte bis jetzt immer den HEX-WERT 2E eingetragen. Oder muss dort 46dez rein? Oder ist das egal? Welches Format erwartet der Baustein "Configure Serial Port"? MfG Richard Problem mit Serieller Schnittstelle - Dennis.Moser - 28.05.2007 09:54 Hallo Richard, bitte in Zukunft darauf achten, das Bilder NICHT EXTERN verlinkt werden... Siehe HIER... Danke Gruß Dennis Problem mit Serieller Schnittstelle - STG - 28.05.2007 10:02 ' schrieb:Hallo Richard, Sorry - wird nicht wieder vorkommen. Werd die Bilder und den Account aber nie Löschen damit der Beitrag erhalten bleibt. MfG Richard Problem mit Serieller Schnittstelle - Achimedes - 28.05.2007 10:12 ' schrieb:Hallo Achimedes,Hast recht. der "." ist 0h2E in welchem Format ist wuscht. Das kommt nur auf den eingestellten Radix bei der Variable an. Die Variable in dem Bild ist auf Hex (x) eingestellt. Problem mit Serieller Schnittstelle - STG - 28.05.2007 10:28 Hab das vi nochmal wie oben beschrieben geändert und angehängt. Problem besteht leider weiterhin. Mit Hyperterminal alles gut - bei LabVIEW geht hingegen garnichts. Wie groß sollte eigentlich die Zeit zw. Schreiben und LEsen sein? Hab von 10 bis 1500 ms schon viel rumprobiert. Grüße Richard Problem mit Serieller Schnittstelle - Achimedes - 28.05.2007 14:09 Wenn du das Termination char eingeschaltet ist musst du ihn nicht nochmal im sendestring einfügen. glaube ich. in dem vi hast du allerdings auch 2F anstatt 2E eingestellt. Den richtigen com Port hast du im VISA resource name eingestellt? kommt den gar nix zurück? Kommt ne Fehlermeldung? Die wartezeit kannst du aus dem datenblatt des sensors auslesen. wen du da aber nix findest meine ich das deine 250ms ausreichen müssen. Das ist für nen prozessor ja ne weigkeit. Wieviele ComPorts hat dein Rechner? Wenn er mehr als einen hat dann verbinde die doch einfach mal und schau mit Hyperterminal was du mit LV sendest. Grüße Achimedes Problem mit Serieller Schnittstelle - STG - 28.05.2007 17:18 Das mit 2E und 2F hab ich falsch gespeichert - sorry. COM 1 ist eingestellt und ich empfange auch etwas. Selten nichts, manchmal nur paar unlesbare Zeichen und oft ein unlesbares Zeichen + den String der mir Sagt "der Sensor emfängt ein falschen Befehl." Wie kann ich denn Überprüfen was wirklich gesendet wird? Hab leider nur eine Com im PC - aber gleich ein 2. PC daneben der eine hat, wird nur leider nichts nützen da mir das Kabel oder ein Adapter fehlt mit dem ich beide Rechner verbinden kann. Ich suche nach einer möglichkeit gesendete Strings zu überprüfen - wenn möglich softwaretechnisch. Weiß da eventuell jemand weiter? MfG Richard Problem mit Serieller Schnittstelle - katsumi - 29.05.2007 07:19 ' schrieb:[...] Versuch doch mal mit dem Free Serial Port Monitor die Kommunikation mit deinem COM Port zu überprüfen. Cu, katsumi |