Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
Hallo,
das HQ40d der Firma Hach-Lange misst den pH- und Sauerstoffwert. Um die die Ergebnisse auswerten zu können gibt es eine einfache Software (HQd PC Application), die die Daten entweder als Paket ausliest oder simultan aufzeichnet und nach Beendigung als Datei.csv abspeichert und somit Excel usw. zur Verfügung stellt.
Ich würde nun gerne die Daten direkt in LabVIEW einlesen und zum Regeln nutzen. Dies ist vom Hersteller nicht berücksichtigt, weswegen ich keinen Treiber etc. zum Ansprechen des Gerätes habe. Laut Hersteller werden die Daten direkt im csv Format übermittelt. Da schon die Sonden die Daten in ein digitales Signal umwandeln, kann ich auch keine analogen Signale über eine Messkarte auswerten.
Gibt es eine Möglichkeit mit dem Gerät mit Hilfe von LabVIEW zu kommunizieren bzw. die csv Datei zu importieren und in ein Regelungsprogramm einzubinden?
Über jeden Tipp bin ich sehr dankbar!
Jan
' schrieb:Gibt es eine Möglichkeit mit dem Gerät mit Hilfe von LabVIEW zu kommunizieren bzw. die csv Datei zu importieren und in ein Regelungsprogramm einzubinden?
*.csv-Dateien kannst du ganz einfach mit den VI's "Read from text file" oder "Read from Spreadsheet file" einlesen. Die von dir benötigten Werte musst du aus dem entstehenden String bzw. String-Array extrahieren. Das setzt voraus, dass immer gleich viele Zeichen im File stehen (bzw. immer gleich viele Spalte und Zeilen) in der erzeugten Datei stehen.
Gruß
Achim
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Vielen Dank für die Antwort! Leider ist mein Problem folgendes:
Die mitgelieferte Software kann zwar simultan die Daten auch über einen langen Zeitraum aufzeichenen, allerdings zum abspeichern muss die Aufzeichnung gestoppt werden. Ich will die Daten online aufzeichnen und schnell im Regelungsprogramm auswerten. Eine Möglichkeit wäre ein Makro zu schreiben, das alle 10 Sekunden die Aufzeichnung stoppt und als *.csv abspeichert, LabVIEW so zu programmieren, dass es alle 10 Sekunden diese Datei ausliest und dementsprechend auswertet und die Regelungsparameter anpasst. Abgesehen davon, dass es recht unschön ist mehrere Programme für eine (eigentlich) einfache Regelungsaufgabe zu bemühen, muss ich dafür sorgen, dass das Abspeichern und Auslesen gut aufeinander abgestimmt ist. Die Anwendung sollte wenn möglich neun Monate durchlaufen. Mein Ziel ist es, nur über LabVIEW das Messgerät auszulesen und auszuwerten. Meine Frage bezieht sich daher auch mehr auf die Möglichkeit einen Treiber für das Messgerät zu programmieren.
Gruß udn danke Jan
' schrieb:Aha...wie soll das genau funktionieren? Vermutlich wird irgendwie ein String übermittelt, oder? Über welche Schnittstelle? In welchem Format?
Das musst du alles GENAU wissen, sonst wird's nix!
Stand im Titel: USB
Und damit sind wir schon beim eigentlichen Problem. Welches USB Protokol? Ohne Hilfe des Produzenten ist da wohl sehr wenig zu machen wenn man kein USB Profi ist und über keinen USB Analyzer verfügt.
Hallo,
Danke schonmal für die Beiträge! Ich habe jetzt erstmal ein monitoring Programm bemüht, das mir einige Daten geben konnte.
Neben so Angaben wie:
Port: 1
Speed: Fullspeed
Device Address: 1
Open Pipes: 2
USB Version: 1.1
gab es auch die wohl (hoffentlich) aufschlussreicheren Angaben wie:
Device (Interface) Class: 0x8-Mass Storage
Device (Interface) Subclass: 0x6-SCSI
Device (Interface) Protocoll: 0x50-Bulk (ZIP)
Control Pipe max size: 8 bytes
Endpoint address: 0x1, Output, Bulk, max packet size 64 bytes
Kann man damit schon einen Treiber schreiben, der auf das Gerät zugreift und die Daten LV zur Verfügung stellt?
Ich bin für jeden Tipp sehr dankbar!
Gruß Jan
' schrieb:Hallo,
Danke schonmal für die Beiträge! Ich habe jetzt erstmal ein monitoring Programm bemüht, das mir einige Daten geben konnte.
Neben so Angaben wie:
Port: 1
Speed: Fullspeed
Device Address: 1
Open Pipes: 2
USB Version: 1.1
gab es auch die wohl (hoffentlich) aufschlussreicheren Angaben wie:
Device (Interface) Class: 0x8-Mass Storage
Device (Interface) Subclass: 0x6-SCSI
Device (Interface) Protocoll: 0x50-Bulk (ZIP)
Control Pipe max size: 8 bytes
Endpoint address: 0x1, Output, Bulk, max packet size 64 bytes
Kann man damit schon einen Treiber schreiben, der auf das Gerät zugreift und die Daten LV zur Verfügung stellt?
Ich bin für jeden Tipp sehr dankbar!
Gruß Jan
Nicht wirklich. An sich wäre es ein guter Anfangspunkt für einen USB Raw Driver auf der Basis von VISA, aber was dann genau in den Control Pipes geschrieben und gelesen werden muss ist leider hier undeutlich. Das kann Dir nur der Hersteller sagen, wenn er denn überhaupt will.
' schrieb:Nicht wirklich. An sich wäre es ein guter Anfangspunkt für einen USB Raw Driver auf der Basis von VISA, aber was dann genau in den Control Pipes geschrieben und gelesen werden muss ist leider hier undeutlich. Das kann Dir nur der Hersteller sagen, wenn er denn überhaupt will.
Rolf Kalbermatter
Gibt es keine Möglichkeit dies über Try/and/Error heraus zu finden? Ich habe gerade versucht einen Treiber mit VISA zu erstellen, aber ausser dem Vendor ID und Dvice ID kann man gar nichts mehr spezifizieren? Oder kommt das später? Ich muss erst noch den Rechner wechseln, da ich an diesem gar keine Adminrechte habe...
13.11.2007, 11:16 (Dieser Beitrag wurde zuletzt bearbeitet: 13.11.2007 11:18 von rolfk.)
' schrieb:Gibt es keine Möglichkeit dies über Try/and/Error heraus zu finden? Ich habe gerade versucht einen Treiber mit VISA zu erstellen, aber ausser dem Vendor ID und Dvice ID kann man gar nichts mehr spezifizieren? Oder kommt das später? Ich muss erst noch den Rechner wechseln, da ich an diesem gar keine Adminrechte habe...
Mit der VendorID und DeviceID erstellt der Wizard ein INF File das ein Template im System registriert dass Du danach mit VISA USB Raw Funktionen ansprechen kannst. Dort definierst Du welche Pipes und Endpoints Du wie ansprechen willst und formatierst die Bits und Bytes ganz selber in den Datenstrom. Das richtige Format im Trial und Error Mode herauszufinden erscheint mir aussichtslos. Dann gehe ich noch lieber eine Stecknadel in einem Heuhaufen suchen.
Wenn der Hersteller nicht helfen will ist die einzige Möglichkeit Reverse-Engineering und dazu wirst Du um einen USB Protokollanlyzer und wahrscheinlich einen Disassembler nicht herumkommen, aber das sind Tools die viel Übung (und das kostet extreeeem viel Zeit) erfordern um überhaupt etwas damit tun zu können.
' schrieb:Gibt es keine Möglichkeit dies über Try/and/Error heraus zu finden?
Mal ne kurze Anmerkung: Ich weiß ja nicht, wie das kostentechnisch aussieht...aber ich weiß, es gibt Messgeräte die den gemessenen pH-Wert über ne serielle Schnittstelle rausfeuern...wäre es nicht zu überlegen, das Gerät zu tauschen (= fixe Anschaffungskosten, 100% Funktion) anstelle einer "Eigenentwicklung", die zeit-und kostenmäßig nicht abzuschätzen ist...und bei nem eventuellen Gerätetausch beispielsweise aufgrund einer neuen Firmware auch nicht mehr funktioniert?
A.
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)