Serielle Kommunikation NuDAM USB->RS485-DAQ - 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: Serielle Kommunikation NuDAM USB->RS485-DAQ (/Thread-Serielle-Kommunikation-NuDAM-USB-RS485-DAQ) |
Serielle Kommunikation NuDAM USB->RS485-DAQ - trestann - 21.11.2013 13:58 Hallo, ich bin mit meinem Latein am Ende, hab alles versucht, komm aber nicht mehr weiter. AUch die Infos aus diesem und dem NI-forum haben mich nicht weiter gebracht. Jetzt die Frage, kann es sein, dass es an der Hardware liegt, weil mein VI-eigentlich deutlich überschaubar ist ?!? Ich kommuniziere über einen USB auf RS485-Adapter (nuDAM 6530) mit einenem mit dem nuDAM AI-Modul 6017. Simple Aufgabe ist, am Modul (hier #4) Kanal 0 mit dem Befehl #040(LF) die Spannung abzufragen. Ich habe an allen möglichen und unmöglichen Stellen waits eingefügt und selbst im Highlight-Modus bekomme ich manchmal einen leeren Lesepuffer. Im Normalbetrieb wenn ich die waits jeweils kleiner 300ms setze bekomme ich gar keine Werte mehr. Eine Abfrage, die über eine Sekunde dauert, ist von der Laufzeit her absolut inakzeptabel. Hat jemand noch einen Tipp, ansonsten muss ich andere HW nutzen. Mir ist absolut wichtig, dass die Werte innerhalb von max 200ms ausgelesen werden können und vor allem zuverlässig ankommen, das die Spannung als Steuerungsparameter genutzt wird. Danke für eure Hilfe, Grüße RE: Serielle Kommunikation NuDAM USB->RS485-DAQ - jg - 21.11.2013 14:06 Du hast noch den "TerminationChar" bei Empfang aktiviert. Willst du das wirklich? Wie sieht ein Antwort-String deiner Gegenstelle aus? Gruß, Jens RE: Serielle Kommunikation NuDAM USB->RS485-DAQ - trestann - 21.11.2013 14:18 Hallo Jens, wie gesagt, das VI stellt nur eines der vielen Varianten dar die ich durchgespielt habe, Term char on/off, Buffer leeren vor der nächsten Abfrage.... Kein Effekt! Gruß Mirko By the way, ich bin zugegebnermaßen kein wirklicher Experte für die serielle Schnittstelle, wann sollte der Term char an und wann aus sein? Die gewünschte Antwort sieht in so aus: ">xx.xxx" (ohne Anführungszeichen und x steht für die Zahlenwerte). RE: Serielle Kommunikation NuDAM USB->RS485-DAQ - GerdW - 21.11.2013 14:24 Hallo Trestann, Zitat:wann sollte der Term char an und wann aus sein? Die gewünschte Antwort sieht in so aus: ">xx.xxx" (ohne Anführungszeichen und x steht für die Zahlenwerte).TermChar sollte an sein, wenn das Gerät mit einem TermChar am Ende antwortet... Du sendest Befehle mit einem EOL am Ende. Komt die Antwort wirklich ohne aus? Was sagt das Manual zum Gerät? Das wirst du doch haben - AdLink will erst eine Registrierung haben, bevor man ins Manual gucken darf... P.S.: Laut Datasheet hat das Teil eine SamplingRate von "20" - leider ohne Angabe, ob dies für einen Kanal oder für alle 8 gleichzeitig gilt. Du brauchst also ca. 50ms für das Messen eines neuen Messwerts, dazu kommt dann noch die Zeit für den Datentransfer und die Befehlsausführung auf dem Gerät selbst... RE: Serielle Kommunikation NuDAM USB->RS485-DAQ - trestann - 21.11.2013 14:41 Hallo, die Antwort hat laut Manual das Format: ">(Input Data)<CR>" Gruß Mirko RE: Serielle Kommunikation NuDAM USB->RS485-DAQ - GerdW - 21.11.2013 14:47 Hallo Trestann, also TermChar an und auf CR (0x0d) setzen... RE: Serielle Kommunikation NuDAM USB->RS485-DAQ - jg - 21.11.2013 14:49 Dann solltest du mit aktiviertem TermChar arbeiten, diesen aber auf vom Standard-Wert <LF> auf <CR> umstellen! Am entsprechenden Eingang von "Configure Serial Port" also ein 0x0D = 13 anstatt der 10 anschließen. Bytes at Port und Wartezeit kannst du dir dann sparen, VISA-Read übernimmt das Parsen bis zum Endezeichen. Gruß, Jens EDIT: Gerd war schneller... RE: Serielle Kommunikation NuDAM USB->RS485-DAQ - trestann - 22.11.2013 10:07 Hallo Leute, das Ding bringt mich noch zur verzweiflung, wenn ich es wie von euch angemerkt laufen lasse (siehe Anhang), kommen die Werte zuverlässig, er spuckt allerdings nur alle 10s!!! einen Messwert aus! Muss/Kann ich irgendwo ein Timeout einstellen?!?, oder was hab ich noch vergessen? Gruß Mirko sorry, vergessen Anhang hochzuladen RE: Serielle Kommunikation NuDAM USB->RS485-DAQ - jg - 22.11.2013 10:45 Wieviele ASCII-Zeichen enthält die Antwort inkl. <CR>? Stell mal bei VISA-Read bei der Anzahl der Zeichen auf eine große Zahl (z.B. 100) um. Im Modus mit aktiviertem TerminationChar liest VISA-Read solange bis: - Länge des Empfangsstrings erreicht ODER - bis Trennzeichen erkannt ODER - bis Timeout (Standard 10 Sekunde) erreicht. Hört sich so an, als ob du immer wieder in einen Timeout läufst. Gruß, Jens |