LabVIEWForum.de - Vergleich zweier Strings

LabVIEWForum.de

Normale Version: Vergleich zweier Strings
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo miteinander.

Ich wollte einmal zu folgendem kleinen Programm eure Meinung hören.

Anwendung
Über einen Bus bekomme ich in unregelmässigen Abständen mehr oder weniger Strings zurück. Die Strings sind mit einem Zeitsignal versehen und somit unique. Das ist wichtig - Ansonsten funktioniert der Vergleich nämlich nicht. Nur die neuen Strings sollen weiterverarbeitet werden, deswegen muss ich diese mit dem Puffer vergleichen. Je nachdem ob und wieviele neue Strings hinzugefügt wurden entsteht so ein neuer Pufferwert (Abgeglichene Werte). Genau diese werden dann an weitere vi's weitergegeben noch bevor der nächste Datenstring vom Bus kommt.

Die Strings sind HEX codiert und folgendermassen aufgeteilt.
1-5: Zeitstempel
7-9: ID des Geräts
11-15: Indikator für den Befehl
17-33: Wert

Bsp: 12535 2D3 42 56 00 00 00 00 11 00 00


Funktion:
Die neuen Strings vom Bus sollen mit den alten verglichen werden. Ist der String nicht vorhanden wird er im Puffer(Abgeglichene Werte) eingefügt. Danach wird der Array auf 10 Strings gekürzt - somit entsteht kein Überlauf und es fällt auch kein Datenschrott an.
Bereits vorhandene Strings werden gelöscht. Je nachdem wie viele neue Strings hinzu gekommen sind ist das Ergebnis ein String Array der Größe 0-10. Diese Werte werden dann weiterverarbeitet.


Bei dem Testprogramm bitte beachten, dass die Zahlen immer erhöht werden müssen. Ansonsten schreibt und löscht das Programm im Wechsel die Daten. Der Einfachheit halber hab ich kurze Zahlen verwendet. Fuktioniert aber mit oben genannten HEX Strings auch.


Meine Frage:

Wär das noch einfacher, geschickter möglich gewesen? Irgendwie mach ich mir sorgen das läuft nicht stabil wenn dann wirklich die Daten mit einer Taktfrequenz von 500kHz ankommen?! Da wird es nämlich dann schwer zu überprüfen ob auch alle Strings gelesen wurden.

Gruß Martin
Offtopic2
CROSSPOST: http://labviewportal.eu/viewtopic.php?f=79&t=3061

Bitte LVF-Regeln lesen und beachten. Bei Crossposts bitte immer einen Link angeben.

Gruß, Jens
Referenz-URLs