LabVIEWForum.de - Newbieprobleme: String TypeCasten & Merker

LabVIEWForum.de

Normale Version: Newbieprobleme: String TypeCasten & Merker
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Liebe LabVIEW Gemeinde,

ich habe in der Schule (schon 3 Jahre her jetzt) damals LabVIEW gelernt. Sehr viel war das aber nicht. Trotzdem bin ich wieder zu LabVIEW zurückgekehrt und stehe vor folgenden Problemen. Vielleicht kann mir ja wer der Profis hier helfen, ich wäre sehr dankbar!

Problem 1:
Ich hole mir über ein externes Gerät einen 108 Byte String über VISA Read. Mit "String to Byte Array" kann ich den String in 1-Byte Segemente unterteilen und die richtigen Werte rauslesen. Jedoch handelt es sich beim gesamten String um viele unterschiedliche Datentypen (signed/unsigned oder 8/16 BIT).

Die Daten werden ungefähr so gesendet:
1 byte unsigned
2 byte signed
2 byte signed
2 byte unsigned
1 byte unsigned
1 byte unsigned

Vor mir habe ich aber nur einen unleserlichen StringSad

Das Problem dass ich nun habe: wie genau soll ich z.b. eine 16 BIT signed Variable aus diesem String rauskriegen? Mit "String to Byte Array" kriege ich nur die 1 Byte Werte.

Es gibt zwar ein TypeCast Element im LabVIEW, ich weiß aber leider nicht wie ich es benutzeSadKönnt mir da vielleicht jemand ein Beispiel geben wie ich das mache? Ich wäre sehr dankbar!

Problem 2:
Ich muss eine Messung starten und dabei einen Anfangswert eines Temperaturfühlers behalten und mir bei jedem Logfileeintrag die Differenz (jede Sekunde) der aktuellen Temperatur und der Anfangstemperatur ausrechnen. Wie kann ich am einfachsten, wenn ich meinen Startknopf drücke, den aktuellen Temperaturwert in eine Variable speichern? Gibt es da irgendwo einen Merker und wenn ja: wie verwede ich den?


Vielen Dank für alle lieben Leute die versuchen wollen mir zu helfen oder zumindest den Post lesen;)Danke!

MfG,
Gregor
Zum Problem1:

erstelle einen Cluster mit deinen Ints. Schliesse diese als Datentyp an das VI "Unflatten From String" und schliesse ein Paket als String mit den empfangenen Daten an Data dieses VIs. Wenn nicht verständlich, dann die Hilfe zum VI "Unflatten From String" durchlesen, es ist genau das, was du brauchst.

Grüsse, Eugen
' schrieb:Problem 2:
Ich muss eine Messung starten und dabei einen Anfangswert eines Temperaturfühlers behalten und mir bei jedem Logfileeintrag die Differenz (jede Sekunde) der aktuellen Temperatur und der Anfangstemperatur ausrechnen. Wie kann ich am einfachsten, wenn ich meinen Startknopf drücke, den aktuellen Temperaturwert in eine Variable speichern? Gibt es da irgendwo einen Merker und wenn ja: wie verwede ich den?

Alos, da gibt es wirklich jede Menge Wege - egal welchen ich jetzt Vorschlage, da fallen Dir dann später bessere ein - und dem rest des Forums auch. Vielleicht probierst Du einfach mal ein wenig rum.
Ganz einfache Kiste: Speichere den Anfangswert in Anzeigeelement "Starttemperatur". Die anschliessend (z.B. durch Caseanweisung zu unterscheidende) aufgenommenen Temperaturen zeigst Du in einem anderen Anzeigeelement ("Aktuelle Temp.") an, Dann einfach via Eigenschaftsknoten (WERT) verrechnen und anzeigen - Voilá!

Gruß
Zu Problem 2:

Wie Mr.T schon sagt gibt es viele Möglichkeiten.
Ich würde mir den Anfangs-Temperaturwert entweder in einem Schieberegister oder in einer lokalen Variablen speichern.

Gruß
Andreas
Referenz-URLs