![]() |
String durchsuchen Problem - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: String durchsuchen Problem (/Thread-String-durchsuchen-Problem) |
RE: String durchsuchen Problem - GerdW - 18.12.2015 10:45 Hallo HTL, Zitat:die Anzeige auf Escape Sequenzen gestellt und nach "\" gesucht, da diese ja in der Anzeige vorkommt. Nur wird es auch hier nicht gefundenWie willst du etwas finden, was überhaupt nicht im String (bzw. klarer: dessen "Rohdaten") enthalten ist? Wieso soll der String Backslashes enthalten, nur weil du ihn im "\-Code-Display"-Modus darstellst? Wenn du den Displaymodus auf "Hex" umstellst: enthält der String dann plötzlich Leerzeichen und keine Backslashes mehr? ![]() Dein String enthält WEDER Backslashes noch Leerzeichen! Dein String ändert sich nicht, wenn du den Anzeigemodus umstellst!!! Den Punkt mit dem "VI mit aussagekräftigen Daten" hast du nur zur Hälfte befolgt, dein String enthält keinerlei Beispieldaten… Vorschlag: Sag uns doch einfach mal, wie ein typischer String (s. Bilder im Beitrag #1) umgewandelt werden muss, damit du vernünftige Resultate bekommst! (Auch das hatte Ludwig hier schon angemahnt, aber irgendwie scheinst du unsere Fragen und Hinweise zu ignorieren!) RE: String durchsuchen Problem - jg - 18.12.2015 10:52 (18.12.2015 10:36 )HTL_HL schrieb: Ich hab euch nun ein Bild des SubVI angehängt.RICHTIG! Nachdem man es dir 3x gesagt hast, verinnerlicht du es endlich! (18.12.2015 10:36 )HTL_HL schrieb: Daher eine neue Frage: Gibt es eine Möglichkeit den String nach jeden Byte zu trennen? (Allerdings so wie es im Anzeigeformat HEX zu sehen ist, nicht wie im "Normalen"String to Byte Array! (18.12.2015 10:36 )HTL_HL schrieb: Ich habe jetzt auch das SubVI angehängt, die Anzeige auf Escape Sequenzen gestellt und nach "\" gesucht, da diese ja in der Anzeige vorkommt. Nur wird es auch hier nicht gefunden und der String geteilt.Wie soll etwas gefunden werden, was dir nur in der Formatierung einer Anzeige dargestellt wird, aber gar nicht in den Daten vorhanden ist. Im deinem anderen Thread wurde auch erwähnt, dass wir dir bei Kenntnis des Kommunikations-Protokolls wesentlich effektiver weiterhelfen könnten - leider Funkstille in dieser Hinsicht von dir. Gruß, Jens RE: String durchsuchen Problem - HTL_HL - 18.12.2015 10:59 Das Problem ist das das VI dynamisch ist da die Messwerte ständig gesendet und verarbeitet werden. Wenn ich die Anzeige nicht verändere bekomme ich irgendwelche ASCII Zeichen. Erklärung: 0601 1002 0000 0000 1E00 0500 0000 000 900 0015, den Wert bekomme ich als Messwert (Anzeigemouds Hex) 0601 ist ein Indikator das es sich um einen Messwert handelt, die dahinter folgenden Bytes setzen sich aus verschiedenen Messwerten zusammen (CO2, NX..) Ich möchte nun 0601 wegschneiden um die Messdaten ALLEINE zu verarbeiten, dieser Schritt funktioniert schon. (Im HauptVI wird im Binary Format nach \06\01 gesucht und gefunden) Dies geschieht im Haupt VI. (Im Anzeigefenster Return Values wird dies auch richtig angezeigt, Modus: Hex) Nun möchte ich im SubVi den bereits gekürzten String Byteweise aufteilen und weiterverarbeiten. Meine Frage nun: Wie kann ich den bereits getrennten String byteweise teilen, um die getrennten Bytes zum errechnen der Messwerte heranzuziehen. Ich hoffe ihr habt nun mein Problem verstanden. PS: Zum Messgerät gibt es keinerlei Dokumentation da es eigentlich nicht dafür gedacht ist die Daten in einem Computer zu verarbeiten RE: String durchsuchen Problem - GerdW - 18.12.2015 11:07 Hallo HTL, Zitat:Wie kann ich den bereits getrennten String byteweise teilen, um die getrennten Bytes zum errechnen der Messwerte heranzuziehen.Das wurde weiter oben schon beantwortet - wer lesen kann, ist klar im Vorteil! Zitat:Zum Messgerät gibt es keinerlei Dokumentation da es eigentlich nicht dafür gedacht ist die Daten in einem Computer zu verarbeitenWas ist das denn für ein Blödsinn? Wenn eine Schnittstelle da ist und Daten rausgeschickt werden, dann hängt IMMER ein Computer dran, der die Daten auswertet! Vor allem, wenn die Daten in einem Binärformat verschickt werden… Zitat:um die getrennten Bytes zum errechnen der Messwerte heranzuziehen.Und wie lautet diese Umrechnung? Hast du nun Dokumentation oder nicht? RE: String durchsuchen Problem - HTL_HL - 18.12.2015 11:11 (18.12.2015 11:07 )GerdW schrieb: Hallo HTL, Es handelt sich dabei um ein Abgasgerät genauer gesagt dme StarGas898 Es hat zwar eine RS232 Schnittstelle, diese funktioniert bei unserem Modell nicht. Daher haben wir auf den Leitungen mitgesnifft um zu schauen wo es brauchbare Daten gibt, quasi Gehackt Die Daten verändern sich auch bei der Messung was bedeutet das es die richtigen Daten sind. Zum Problem: Also muss ich mit String to Byte Array weiterarbeiten? RE: String durchsuchen Problem - GerdW - 18.12.2015 11:14 Ja, das musst du: Dann bekommst du die einzelnen Bytes in einem Array… Wie Ludwig schon schrieb: wenn es schon an der Beschreibung einer Aufgabe hapert, ist die Lösung deutlich schwerer… ![]() Zitat:Zum Messgerät gibt es keinerlei Dokumentation da es eigentlich nicht dafür gedacht ist die Daten in einem Computer zu verarbeitenIch habe auf Anhieb eine Anleitung im Internet gefunden… Die Anleitung zum Gerät spricht eindeutig von einem RS232-Port zum Anschluss an einen Computer - also ist dieses auch entsprechend vorgesehen! Was sagt der Hersteller/Support zu deinem Problem? ![]() RE: String durchsuchen Problem - HTL_HL - 18.12.2015 11:20 Alles klar dann sind wir jetzt endlich auf selber Wellenlänge ![]() Die Bytes kann ich jetzt in einer Arraytabelle anzeigen, aber wie verwende ich diese nun weiter um sie auf die spezifischen Anzeigen für die Messwerte zu bringen? RE: String durchsuchen Problem - GerdW - 18.12.2015 11:23 Hallo HTL, Zitat:Die Bytes kann ich jetzt in einer Arraytabelle anzeigenIn einer Tabelle - oder in einem Array? Zitat:aber wie verwende ich diese nun weiter um sie auf die spezifischen Anzeigen für die Messwerte zu bringen?Wovon reden wir denn hier die ganze Zeit? Frag den Hersteller noch einem Manual: dort steht, wie die Messwerte in diesen Bytes kodiert sind! ![]() Wenn ihr schon am Sniffen seid: ihr solltet die gesnifften Daten mit den Anzeigewerten des Gerätes vergleichen. Vielleicht könnt ihr dann erraten, welcher Wert wo und wie in diesem Array kodiert ist. Da du aber schon Probleme damit hast, überhaupt mit Binärwerten umzugehen, könnte das für dich schwierig werden… RE: String durchsuchen Problem - HTL_HL - 18.12.2015 11:26 Durch Sniffen haben wir selber ermittelt welches Byte für welchen Wert steht. Meine Frage nun: Wie kann ich Array[0] zum block der Temperaturausgabe bringen, quasi jedes Byte einzeln rausführen Array[1] zur Ausgabe des NX Wertes usw... Die Umrechnung wissen wir schon die ist in den Blöcken in denen der Wert des Array[0] muss schon integriert. RE: String durchsuchen Problem - GerdW - 18.12.2015 11:29 Hallo HTL, du fragst jetzt nicht etwa, wie man aus einem Array mit mehreren Werte einzelne Elemente indiziert? (IndexArray) Die Links in meiner Signatur führen auch zu LabVIEW-Grundlagenkursen… Wozu eigentlich einzelne Anzeigeelemente, wenn man auch gleich ein Array anzeigen lassen kann? ![]() |