LabVIEWForum.de - Ansteuerung ThermostatPlus / Eppendorf

LabVIEWForum.de

Normale Version: Ansteuerung ThermostatPlus / Eppendorf
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4 5 6
Hey,ich bin wieder...oder immernoch!?!Big Grin


Also mit den GET-Befehlen das klappt alles und wie die SET-Befehle sich zusammensetzten ist mir jetzt auch klar,aber:
am ende jedes SET-Befehls ist immer ein "Block Check Count" der die Checksumme ist,oder!? In der Anleitung steht,dass der Quer und Längsparität geprüft wird auf 3bit genaue fehler. Wie finde ich jetzt raus,wie sich der BCC zusammensetzt?

Hab mal zwei Beispiele:

SET_NOM_TEMP 9 -> 04 24 20 02 30 31 30 3D 39 2E 30 30 30 30 30 30 03 18

"04 24 20" is klar!
"02" ist für "STX"
"30 31 30" ist der Befehlscode 10,also SET_NOM_TEMP
"3D" entspricht "="
"39 2E 30 30 30 30 30 30" entspricht "9.000000"
"03" ist "ETX"
"18" ist BCC


SET_NOM_TEMP 60

nur das wichtigste: 30 31 30 3D 36 30 2E 30 30 30 30 30 30 03 27

"36 30 2E 30 30 30 30 30 30" ist 60.000000 grad celius

Und als BCC ist diesmal die "27"

Habt ihr vielleicht eine Idee.

LG vom Marzlf9



PS: Eppendorf hat jetzt mal geantwortet und geschrieben,dass eine 32Bit dll in Planung aber noch Zukunftsmusik ist.Hmm
' schrieb:aber:
am ende jedes SET-Befehls ist immer ein "Block Check Count" der die Checksumme ist,oder!? In der Anleitung steht,dass der Quer und Längsparität geprüft wird auf 3bit genaue fehler.
In welcher Anleitung steht denn das? In der der verlinkten? Ich hab da aber nichts von gefunden.

Aber du hast recht. Es ist eine Checksumme - so wie RolfK schon angemerkt hat - vorhanden. das ist nämlich die 0x10 im Protokollanalyser nach dem 0x02/0x03-Block !

Zitat:Wie finde ich jetzt raus,wie sich der BCC zusammensetzt?
XOR-Verbindung (oder auch Längsparität genannt) über alle Zeichen im 0x02/0x03-Block - außer 0x02. Wird die XOR-Checksumme des Blockes mit dem BCC-Wert xor-verknüpft, so ist das Ergebnis 0x00.

Zitat:PS: Eppendorf hat jetzt mal geantwortet und geschrieben,dass eine 32Bit dll in Planung aber noch Zukunftsmusik ist.Hmm
Das heisst, sie kommt nicht.
Ja,die wird nich kommen die 32bit dll....oder auch vielleicht NIE!!!


OK,dann werd ich am WE mal versuchen den BCC-Wert zu berechnen,dass müsste ja gehn,oder!?


Dann schön Tag noch...ciao
' schrieb:Und wie berechne ich nun die XOR!?!?


30 xor 31 xor 30 xor 3D xor usw... = 27
Hey,

wie kann ich das denn mit LV programmieren,dass es die einzelnen Hexa mit XOR verknüpft!?

Muss dazu ja den eingabe String erstmal zerlegen,aber wie?! Habs mal normal versucht (kein hex) da gehts ja...aber wie mach ich das mit hex-string?

(VI LV 8.2)
Du kannst das z.Bsp. so machen.

Gruss
Roland
ui..das geht ja,aber wieso,weiß ich nicht.Verstehe es nicht!

Aber trotzdem DAAANKEEE


vielleicht komm ich nochmal wieder,wenn ich das jetzt nicht weiß,wie ich das einbinden muss in mein Programm!


LG vom Marzlf9
So....das nächste Problem ist aufgetaucht...bzw. mehrere....einige konnte ich lösen,jedoch ist dann die benutzung des Programms eingeschränkt,also:

Wenn ich ein Numeric Feld mache zur eingabe von der Temperatur, "22" und das dann in Hex-string umwandel kommt da eine "16" bzw. wenn ich dann den String in Hex-form anzeigen lasse "3136",ich brauche jedoch "3232".Bei meiner Lösung kommt dann bei "9" als hex "3039" raus,was jedoch dann den BCC beeinflusst und falsch wird.

Das zweite Problem ist,dass der BCC berechnet wird,bei 22grad BCC=21, wenn ich dass dann zum schluss zu einem String verknüpfe,dann wird die "21" als "3231" geschrieben,brauche aber die "21"



Denke mal,dass ist zweimal das gleiche Problem,oder!?


LG

PS: im Anhang das was ich programmiert habe!

(VI LV 8.2)
' schrieb:Wenn ich ein Numeric Feld mache zur eingabe von der Temperatur, "22" und das dann in Hex-string umwandel kommt da eine "16" bzw. wenn ich dann den String in Hex-form anzeigen lasse "3136",ich brauche jedoch "3232".
Dafür gibt es die Funktion "Zahl formatieren in String". Der Formatstring lautet "%02d" (oder doch "%02.0d"). Dann wird aus der Zahl 22 die Zeichenkette "22". (Beachte Unterschied "Zahl" und "Zeichenkette").

Zitat:Das zweite Problem ist,dass der BCC berechnet wird,bei 22grad BCC=21, wenn ich dass dann zum schluss zu einem String verknüpfe,dann wird die "21" als "3231" geschrieben,brauche aber die "21"
Dafür gibt es die Funktion "Typwandlung" - oder das Gegenteil von dem, was RoLe zwischen dem String und dem Array-Indizieren reingemacht hat.
Hey,

danke für deine Hilfe,jedoch gibts damit Probleme:


Und das gegenteil von "string to bytearray" geht nicht....der will dann das NUM nicht anehmen!

Danke aber trotzdem für die Hilfe schonmal!
LG
Seiten: 1 2 3 4 5 6
Referenz-URLs