LabVIEWForum.de - Pumpe mit RS232 Protokoll kontrollieren

LabVIEWForum.de

Normale Version: Pumpe mit RS232 Protokoll kontrollieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,
ich habe eine Laborpumpe welche per USB mit dem PC verbunden ist. Wie der Hersteller vorschlägt habe ich im Windows Device Manager beim USB Gerät ein Häckchen gemacht und nun ist die Pupme in der VISA Resource List als COM5 sichtbar. Der Hersteller hat uns Anleitungen gegeben (wir wollten eigentlich ein fertiges *.VI ) wie man die Pumpe programmieren kann und ich hab auch ein ensprechendes VISA VI gefunden ... aber da wir alle sehr blutige Beginner in LV sind macht die Pumpe gar nichts. Soweit ich verstanden habe muss ich der Pumpe Befehle in einem Hexadecimal Bitstring schicken (keine Ahnung wie das gemacht wird!)...
Ziel ist es ein VI zu haben welches es erlaubt den Druck als Funktion der Zeit zu ändern z.B. Startdruck = A, Endruck = B, Zeit = 3 Stunden -> die Pumpe erhoet den Druck rampenfoermig.


Vielen Dank im Voraus!!
Hallo holzi,

Zitat:Soweit ich verstanden habe muss ich der Pumpe Befehle in einem Hexadecimal Bitstring schicken (keine Ahnung wie das gemacht wird!)...
Wie kommst du darauf?
Wenn ich dein Manual "MITOS Pump Programming instructions" durchblättere, werden die Befehle als "Klartext" verschickt: "P2000" oder "F2000"…
Es gibt Befehle (wie "k"), deren Antwort als I32 zurückgeliefert wird. Leider macht das Manual dort fehlerhafte Angaben zur Umwandlung - da solltest du dich beim Hersteller beschweren!
Beispiel:
[attachment=51034]
Hi,

ja das ist richtig mit dem "Klartext" (hab das ganz aus dem Auge verlohren weil ich im anderen Manual gelesen hab).

Jedenfalls hab ich weiter probiert und versucht deinen Vorschlag einzubauen, die Pumpe bewegt sich jedoch noch immer nicht.
Es gibt mehrere Punkte bei denen ich mir nicht im klaren bin wie das funktioiert:

1. Ich schreibe meine "Klartext Befehle" in das 'write buffer' Fenster von VISA write?
2. Ein Befehl sieht laut der Beschreibung wie folgt aus: A1<CR><LF> (sollte die Pumpe in den Remote Modus bringen) Hat das '<CR><LF>' eine spezielle Bedeutung (spezielle Symbole??)?
3. Falls der Befehl bei der Pumpe ankommt würde sie mir antworten: #A0
4. Macht das VI Sinn? Was verursacht die Fehlermeldung (Screenshot)? Wie würde ein funktioerendes VI aussehen?

Bahn
Hallo holzi,

1. Ja.
2. Ja, die haben eine spezielle Bedeutung. Solche Begriffe wie ASCII sagen dir wohl nichts, oder? Schau mal in die String-Palette, da gibt es spezielle Konstanten mit sehr ähnlich klingenden Namen…
3. Wenn das so im Manual steht…
4. Nein. tut es nicht (komplett). Die Fehlermeldung kommt daher, das ScanFromString nicht die erwarteten Dinge (lt. Formatstring) im String findet! Und wie auch, wenn es eine Antwort auf den "k"-Befehl auswerten soll, du aber mit ganz anderen Befehlen arbeitest…

Ein Entwurf für dich:
[attachment=51043]
P.S.: Man kann die Fehler, die ScanFromString so ausgibt, natürlich auch programmatisch abfangen…
Referenz-URLs