LabVIEWForum.de - Klimaschrank ansteuern

LabVIEWForum.de

Normale Version: Klimaschrank ansteuern
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo,

ich bin derzeit dabei einen Klimaschrank der Firma CTS anzusteuern.

Hierzu habe ich hier im Forum schon einen Beitrag gefunden und mir daraus die VIs zusammengebaut.
Siehe Beitrag hier https://www.labviewforum.de/Thread-CTS-Klimaschrank

Ich habe die VIs angehängt.

Hierzu will ich ein USB-R232 Kabel verwenden. Dieses wird auch erkannt und leuchtet sobald ich mein VI ausführe.

Wenn ich dieses jedoch an den Klimaschrank anschließe und versuche die Temperatur über mein VI zu ändern dann passiert nichts.

Kann irgendjemand der so etwas schon mal gemacht hat, mal einen Blick auf meine VIs werfen und mir eventuell einen Tipp geben woran es liegen könnte das nichts passiert bei meinem Versuch.

Vielen Dank im Voraus.
Hallo juwo,

herzlich willkommen im Forum!

Zitat:dann passiert nichts.
Zwei Dinge sind mir aufgefallen:
1. Im Main-VI schickst du einen String mit "0x02 0x81…": das wird dein Klimaschrank wohl nicht verstehen. Der erwartet nämlich "Binärwerte": stell den String einfach mal auf Hex-Anzeige um und gib dann die richtigen Werte vor! Im subVI konntest du doch auch korrekte Binärwerte eingeben… (Hinweis: bei Stringkonstanten immer den Anzeigemodus sichtbar machen!)
2. Verwendet der Schrank wirklich "odd parity"? (Ist mir bisher noch nie untergekommen…)
Hallo GerdW,

vielen Dank für deine schnelle Hilfe.

Ich habe das Anzeigeformat des Strings in meinen Main-Programm geändert.

Ich habe das mit dem Format: odd parity aus dem Schnittstellenprotokoll vom Hersteller. Ich habe dieses mal angehängt.

Ich habe die VIs aus dem anderen Beitrag und habe schon versucht herauszubekommen was der String in meinem False-Case im Main-Programm macht aber habe nichts herausgefunden. Weißt du das eventuell?
Hallo juwo,

Zitat:Ich habe dieses mal angehängt.
Leider nicht…

Zitat:aber habe nichts herausgefunden. Weißt du das eventuell?
Ich gehe davon aus, dass die Antwort im Manual deines Klimaschrankes versteckt ist. Das habe ich leider nicht - aber du sicherlich und kannst ja mal darin blättern… Big Grin
Hab es erst vergessen anzuhängen und dann nachträglich noch hinzugefügt. Vielleicht ist da was schief gelaufen.

Hier ist es jetzt aber Dais
Hallo juwo,

1. einfach das Anzeigeformat umzustellen ist leider nur die halbe Miete! Wenn im Manual etwas wie "0x02 0x81 0x74" steht, dann muss in deinem String im Hex-Modus dann "0281 74" stehen! Das "0x" kennzeichnet einen Wert in Hexadezimalschreibweise…
2. Dein Protokoll beschreibt doch, wie die Befehle gebildet werden. Und in deiner Stringkonstanten steht "0x02 0x81 0xF3…", welches dem Befehl "s" (kleines S) entspricht! Einfach mal die Anleitung zu diesem Befehl lesen…
Hallo,

wenn ich meinem Klimaschrank einfach mal wie in dem ASCII-Schnittstellenprotokoll unter E.2.3 aufgeführt, den String (0x02 0x81 0xE1 0xB0 0xA0 0xAD 0xB1 0xB4 0xAE 0xB5 0xC3 0x03) schicke müsste er doch die -14.5°C einstellen oder?
Ich habe den String in die Hexadezimalanzeige geändert. Was muss ich noch machen wenn das nur die halbe Miete ist? Braucht mein Klimaschrank immer den Hexadezimalcode?

Kennt sich jemand zufällig mit diesen Schränken aus? Ich bin mir nicht sicher was ich an dem Schrank alles voreinstellen muss damit das mit dem ansteuern über die Schnittstelle funktioniert.

Ich habe mein VI für diesen Versuch mal angehängt.

Vielen Dank für eure Hilfe.
Hallo juwo,

ich wiederhole meine Aussagen von gestern:
Zitat:Hinweis: bei Stringkonstanten immer den Anzeigemodus sichtbar machen!
Zitat:Wenn im Manual etwas wie "0x02 0x81 0x74" steht, dann muss in deinem String im Hex-Modus dann "0281 74" stehen! Das "0x" kennzeichnet einen Wert in Hexadezimalschreibweise…

So sieht dein VI mit den danach umgesetzen Änderungen aus:
[attachment=57470]
Probier's mal aus…

Zitat:Braucht mein Klimaschrank immer den Hexadezimalcode?
Dein Schrank braucht keinen Code, sondern einfach die passenden Werte!
Der "Hex-Code" ist nur eine Methode, um die Werte Menschen-lesbar in einem gedruckten Manual darzustellen. Letztendlich geht es nur darum, die richtigen Bytes (ein String ist auch nur ein Array of Bytes!) an den Schrank zu schicken. Und welche Bytes er erwartet, steht in deinem Manual!
Danke für deine Hilfe.

Habe hierzu folgende Fragen:
1. Hast du die 8 vorne weg gelöscht weil wir in dem Beispiel 14 Bytes haben?
2. Wie hast du das gemacht das der String bei dir so aussieht? Wenn ich den Anzeigemodus sichtbar mache und die 0x weg lösche dann sieht mein String nur so aus wie deiner wenn ich auf "Normale Anzeige" stehe. Hast du die 0x auch weg gelöscht oder wie hast du das gemacht?
Hallo juwo,

1. Ich habe die 8 weggelöscht, weil das der Standardwert für diesen Input ist…
2. Stringkonstante leeren, Anzeigemodus sichtbar machen und auf Hex stellen, Zahlen eintippen: "0281E1…" (natürlich ohne Anführungszeichen…)!

(Und ja, auch "E1" oder "e1" ist eine Zahl, nur eben in hexadezimaler Schreibweise…)
Seiten: 1 2 3
Referenz-URLs