Binäre Kommunikation
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Binäre Kommunikation
Hmm... Vielleicht steht da in der Doku irgendwas über den Startwert,vielleicht ist es kein FFFF oder 0, sondern etwas anderes. Kannst du es beim Hersteller nachfragen?
- learny
- adviser
- Сообщения: 207
- Зарегистрирован: 23 окт 2008, 17:54
- Версия LabVIEW: 8.5
- Контактная информация:
Re: Binäre Kommunikation
der Hersteller gibt gar keinen Auskunft leider. Ich habe es schon mehrmals versucht - keine Chance. Sie verkaufen eine Server-Lösung (6000,-), die selbst mit kommunizieren kann, und nur für solche Kunden gäbe es Support in dieser Richtung.eg писал(а):Hmm... Vielleicht steht da in der Doku irgendwas über den Startwert,vielleicht ist es kein FFFF oder 0, sondern etwas anderes. Kannst du es beim Hersteller nachfragen?
Spielt die Richtung der Addierten Bytes eigentlich eine Rolle beim CRC-Rechnen? 80+0A+4E = 4E+0A+80? Laut test schon, aber ich meine es handelt sich doch um eine Summe.
أهلا و سهلا بالمستخدمين العرب
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Binäre Kommunikation
Die Reihenfolge spielt eine Rolle, weil es keine Checksumme ist, sondern eine Berechnung über ein Polynom.
Ich hatte letzte Woche ein ähnliches Problem, wie du. Es hat sich herausgestellt, dass der Hersteller seine CRC über ein Byte mehr berechnet und es falsch dokumentiert hat.
Und leider kann man mit dem Portmon solche Sachen nicht herausfinden. Du musst also wirklich mit dem Hersteller telefonieren und ihm die obern erwähnte Webseite zeigen.
Ich hatte letzte Woche ein ähnliches Problem, wie du. Es hat sich herausgestellt, dass der Hersteller seine CRC über ein Byte mehr berechnet und es falsch dokumentiert hat.
Und leider kann man mit dem Portmon solche Sachen nicht herausfinden. Du musst also wirklich mit dem Hersteller telefonieren und ihm die obern erwähnte Webseite zeigen.
- learny
- adviser
- Сообщения: 207
- Зарегистрирован: 23 окт 2008, 17:54
- Версия LabVIEW: 8.5
- Контактная информация:
Re: Binäre Kommunikation
Der Hersteller hat von mir schon mehrere Emails bekommen, und unzählige Anrufe diesbezüglich weil seine Unterlagen unübersichtlich waren --> keine Chance. Ich werde es noch heute und morgen versuchen, und sollte ich nicht weiter kommen--->weiter zum nächsten Datenlogger. (Ich träume schon in Hexadezimal )eg писал(а):Die Reihenfolge spielt eine Rolle, weil es keine Checksumme ist, sondern eine Berechnung über ein Polynom.
Ich hatte letzte Woche ein ähnliches Problem, wie du. Es hat sich herausgestellt, dass der Hersteller seine CRC über ein Byte mehr berechnet und es falsch dokumentiert hat.
Und leider kann man mit dem Portmon solche Sachen nicht herausfinden. Du musst also wirklich mit dem Hersteller telefonieren und ihm die obern erwähnte Webseite zeigen.
أهلا و سهلا بالمستخدمين العرب
- learny
- adviser
- Сообщения: 207
- Зарегистрирован: 23 окт 2008, 17:54
- Версия LabVIEW: 8.5
- Контактная информация:
Re: Binäre Kommunikation
Hallo eg,
gute Neuigkeiten: Einen CRC Wert eines Befehls konnte ich so übernehmen, wie es im Portmonitor vorkam. Ich kann zwar immernoch nicht nachvollziehen wie sich der Wert zusammenbildete, aber einen HEX-Wert als Ausgabe habe ich zumindest! Jetzt muss ich schauen wie ich den HEX Wert aus dem Antwort-Block rausfiltern kann (Search/Split), und mittels Subset-VI richtig anzeigen kann.
Muss ich allgemein bei Hex-Werten auf etwas achten? oder behandle ich sie einfach wie strings (angezeigt als HEX)? (Nach dem korrekten Anzeigen, möchte ich den Wert später als dezimalwert anzeigen.)
gute Neuigkeiten: Einen CRC Wert eines Befehls konnte ich so übernehmen, wie es im Portmonitor vorkam. Ich kann zwar immernoch nicht nachvollziehen wie sich der Wert zusammenbildete, aber einen HEX-Wert als Ausgabe habe ich zumindest! Jetzt muss ich schauen wie ich den HEX Wert aus dem Antwort-Block rausfiltern kann (Search/Split), und mittels Subset-VI richtig anzeigen kann.
Muss ich allgemein bei Hex-Werten auf etwas achten? oder behandle ich sie einfach wie strings (angezeigt als HEX)? (Nach dem korrekten Anzeigen, möchte ich den Wert später als dezimalwert anzeigen.)
أهلا و سهلا بالمستخدمين العرب
- learny
- adviser
- Сообщения: 207
- Зарегистрирован: 23 окт 2008, 17:54
- Версия LabVIEW: 8.5
- Контактная информация:
Re: Binäre Kommunikation
Zwischenmeldung:
also, Ich muss anscheinend den HEX-String in Zahl konvertieren (via Type cast), um ihn dann später in dezimal umrechnen zu können.
Viele Grüße
learny
also, Ich muss anscheinend den HEX-String in Zahl konvertieren (via Type cast), um ihn dann später in dezimal umrechnen zu können.
Viele Grüße
learny
أهلا و سهلا بالمستخدمين العرب
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Binäre Kommunikation
Verstehe nicht ganz wovon du redest, zeige mal dein Block Diagramm (mit Kommentaren).
- learny
- adviser
- Сообщения: 207
- Зарегистрирован: 23 окт 2008, 17:54
- Версия LabVIEW: 8.5
- Контактная информация:
Re: Binäre Kommunikation
Ich kann mich manchmal nicht genau ausdrucken.. Sorry.
أهلا و سهلا بالمستخدمين العرب
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Binäre Kommunikation
Ich denke da musst du entweder Unflatten from String oder Type Cast nehmen.
Das VI String To Number macht eine nummer aus einem ASCII String, du hast aber ein binäres String.
Das VI String To Number macht eine nummer aus einem ASCII String, du hast aber ein binäres String.
- learny
- adviser
- Сообщения: 207
- Зарегистрирован: 23 окт 2008, 17:54
- Версия LabVIEW: 8.5
- Контактная информация:
Re: Binäre Kommunikation
Ich habe mich für den Type Cast enschieden..eg писал(а):Ich denke da musst du entweder Unflatten from String oder Type Cast nehmen.
Das VI String To Number macht eine nummer aus einem ASCII String, du hast aber ein binäres String.
welchen Datentyp soll ich für die Ausgabe (bzw. den Anschluss "Typ" des TypeCast) nehmen?
Für HEX "A7" (dez: 167) bekomme ich z.B. den Wert 2801795072 ausgegeben bei dem Datentypen U32.
أهلا و سهلا بالمستخدمين العرب
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Binäre Kommunikation
Hast du die Datenpaketbeschreibung? Nimmm lieber Unflatten From String, da kannst du gleich Byte Order angeben, falls du die Daten im Little Endian Format hast (was normalerweise der Fall ist).
Mach dir aus der Datenpaketbeschreibung einen Cluster und schliesse diesen Cluster als Typ direkt an das Unflatten From String VI. Dann spuckt dir dieses VI gleich den kompletten Cluster mit den Daten aus.
Mach dir aus der Datenpaketbeschreibung einen Cluster und schliesse diesen Cluster als Typ direkt an das Unflatten From String VI. Dann spuckt dir dieses VI gleich den kompletten Cluster mit den Daten aus.
- learny
- adviser
- Сообщения: 207
- Зарегистрирован: 23 окт 2008, 17:54
- Версия LabVIEW: 8.5
- Контактная информация:
Re: Binäre Kommunikation
Hallo eg,eg писал(а):Hast du die Datenpaketbeschreibung? Nimmm lieber Unflatten From String, da kannst du gleich Byte Order angeben, falls du die Daten im Little Endian Format hast (was normalerweise der Fall ist).
Mach dir aus der Datenpaketbeschreibung einen Cluster und schliesse diesen Cluster als Typ direkt an das Unflatten From String VI. Dann spuckt dir dieses VI gleich den kompletten Cluster mit den Daten aus.
ich konnte leider nicht genau verstehen was du mit der Datenpaketbeschreibung meinst. Das Gerät antwortet auf einen Befehl mit vielen Bytes. An einer bestimmten Stelle erscheinen 4 Bytes in HEX-Format. Diese HEX-Data enthält genau die Information die ich brauche - allerdings in Dezimal.
Wenn ich in einer Sub-VI einfach die HEX-Zahl in Dezimal richtig umwandeln könnte, könnte ich (in meiner Haupt-VI) nach dem search/split und spring/subset genau den HEX in Dezimal anzeigen lassen.
Danke eg
أهلا و سهلا بالمستخدمين العرب
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Binäre Kommunikation
Hi, ich wollte nur sagen, dass man unterscheiden muss zwischen der ASCII Kodierung und binären unkodierten Daten. Lies bitte z.B. bei Wikipedia, was ASCII bedeutet. Ich bin mir nicht sicher, ob es bei die zutrifft oder nicht. Ich wollte jetzt genau wissen ob deine Daten im ASCII-Format vorliegen oder unkodiert als binäre Daten.
- learny
- adviser
- Сообщения: 207
- Зарегистрирован: 23 окт 2008, 17:54
- Версия LabVIEW: 8.5
- Контактная информация:
Re: Binäre Kommunikation
Du meinst, dass es in so einem Beispiel (Anlage), handelt es sich um ASCII Daten, die in HEX umgewandelt werden sollen via TypeCast?eg писал(а):Hi, ich wollte nur sagen, dass man unterscheiden muss zwischen der ASCII Kodierung und binären unkodierten Daten. Lies bitte z.B. bei Wikipedia, was ASCII bedeutet. Ich bin mir nicht sicher, ob es bei die zutrifft oder nicht. Ich wollte jetzt genau wissen ob deine Daten im ASCII-Format vorliegen oder unkodiert als binäre Daten.
- Вложения
-
- HEX3.gif (2.69 КБ) 9253 просмотра
أهلا و سهلا بالمستخدمين العرب
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Binäre Kommunikation
Mit Type Cast oder auch Unflatten From String kannst du Daten, die im binären "Format" vorliegen in normale Daten umwandeln. Dabei musst du wissen, dass es eigentlich keine richtige Umwandlung ist, sondern Representation der Daten.
Bei dem VI String nach Zahl (String Palette) wird ein String über die ASCII Tabelle in eine Zahl umgewandelt.
Zum Beispiel wird aus einem:
0x35 eine Zahl 53d, wenn du Type Cast verwendest und oben als Typ eine UINT8 anschliesst
Wenn du aber String Zu Zahl nimmst, sollte eine Zahl 5 rauskommen. Weil es so in der ASCII Tabelle steht.
Aber ich habe mir noch mal deine Daten im Screenshot angeschaut, das sieht nach binären Daten aus. Jetzt habe ich vergessen, was die eigentlich Frage war
Bei dem VI String nach Zahl (String Palette) wird ein String über die ASCII Tabelle in eine Zahl umgewandelt.
Zum Beispiel wird aus einem:
0x35 eine Zahl 53d, wenn du Type Cast verwendest und oben als Typ eine UINT8 anschliesst
Wenn du aber String Zu Zahl nimmst, sollte eine Zahl 5 rauskommen. Weil es so in der ASCII Tabelle steht.
Aber ich habe mir noch mal deine Daten im Screenshot angeschaut, das sieht nach binären Daten aus. Jetzt habe ich vergessen, was die eigentlich Frage war