LabVIEWForum.de
Speicher eines Drucksensor auslesen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Instrument IO & VISA (/Forum-Instrument-IO-VISA)
+---- Thema: Speicher eines Drucksensor auslesen (/Thread-Speicher-eines-Drucksensor-auslesen)



Speicher eines Drucksensor auslesen - meb2323 - 19.03.2020 10:56

Guten morgen zusammen,

ich möchte in meiner Technikerarbeit den Speicher eines Drucksensor (LEO RECORD der Firma Keller AG) auslesen. Habe nun leider Probleme in der Umsetzung.

Momentan ist es mir gelungen die letzte Seite des Speichers auszulesen und aus dem Header dieser Page den Startzeiger herauszulesen. Mithilfe des Startzeiger ist es mir gelungen die Startseite dieses Records auszulesen. Ab diesem Punkt komme ich leider nicht mehr weiter, wie ich nun die Pages zwischendrin auslesen kann und auch wie ich die vorherigen Records auslesen kann.

Auf der Seite 17 bis 19 im Kommunikationsprotokoll das ich im Anhang beifüge sind diese Schritte beschrieben.

Des Weiteren würde ich mich über Tipps freuen wie ich aus dem Header einer Page aus den 4 Byte der absoluten Zeit umgewnadelt bekomme in einen Zeitstempel. Dies ist auf der Seite 17 unten im Header als Formal angegeben.

Über jegliche Hilfe und Tipps für die Umsetzung wäre ich sehr dankbar!


RE: Speicher eines Drucksensor auslesen - GerdW - 19.03.2020 11:49

Hallo meb,

Zitat:Des Weiteren würde ich mich über Tipps freuen wie ich aus dem Header einer Page aus den 4 Byte der absoluten Zeit umgewnadelt bekomme in einen Zeitstempel. Dies ist auf der Seite 17 unten im Header als Formal angegeben.
Hier der einfache Teil deiner Fragen:
[attachment=60772]
Die so ermittelte Anzahl Sekunden einfach zu einer Timestamp-Konstante mit "01.01.2020 00:00" hinzuaddieren…

Ich vermute einen Fehler in der Formel von Keller, hierzu bitte mal explizit beim Support dort nachfragen! (Das erste Byte sollte mit 2^24 multipliziert werden!)


RE: Speicher eines Drucksensor auslesen - th13 - 19.03.2020 11:56

(19.03.2020 10:56 )meb2323 schrieb:  Des Weiteren würde ich mich über Tipps freuen wie ich aus dem Header einer Page aus den 4 Byte der absoluten Zeit umgewnadelt bekomme in einen Zeitstempel.
Das steht genau daneben. Du rechnest das angegebene Polynom aus und erhälst die Zeit in Sekunden seit 01.01.2000. LabVIEW Timestamps sind die Sekunden sei 01.01.1904, d.h. du musst die Differenz noch dazurechnen. Dann kannst du deinen Double mit toTimestamp konvertieren.


RE: Speicher eines Drucksensor auslesen - meb2323 - 19.03.2020 13:12

(19.03.2020 11:49 )GerdW schrieb:  Hallo meb,

Zitat:Des Weiteren würde ich mich über Tipps freuen wie ich aus dem Header einer Page aus den 4 Byte der absoluten Zeit umgewnadelt bekomme in einen Zeitstempel. Dies ist auf der Seite 17 unten im Header als Formal angegeben.
Hier der einfache Teil deiner Fragen:

Die so ermittelte Anzahl Sekunden einfach zu einer Timestamp-Konstante mit "01.01.2020 00:00" hinzuaddieren…

Ich vermute einen Fehler in der Formel von Keller, hierzu bitte mal explizit beim Support dort nachfragen! (Das erste Byte sollte mit 2^24 multipliziert werden!)

Danke für deine Hilfe!

In welcher Darstellung sind die Werte in diesem Array und wie bekomme ich dieses Malzeichen (x) dazu eingestellt?


RE: Speicher eines Drucksensor auslesen - GerdW - 19.03.2020 14:47

Hallo meb,

Zitat:In welcher Darstellung sind die Werte in diesem Array und wie bekomme ich dieses Malzeichen (x) dazu eingestellt?
Das sieht man doch im Bild: Die Werte aus dem Array werden Werten multipliziert, die vorher nach U32 umgewandelt wurden - ohne CoercionDot. Also muss das Array Werte vom Typ U32 enthalten - LabVIEW-Grundlagenwissen…
Dieses "Malzeichen" ist ein kleines X - und kennzeichnet den Radix der Werte. Dazu einfach Rechtsklick auf das Arrayelement und Visible->Radix auswählen. Auch hier greift LabVIEW-Grundlagenwissen…


RE: Speicher eines Drucksensor auslesen - meb2323 - 19.03.2020 15:01

(19.03.2020 14:47 )GerdW schrieb:  Hallo meb,

Zitat:In welcher Darstellung sind die Werte in diesem Array und wie bekomme ich dieses Malzeichen (x) dazu eingestellt?
Das sieht man doch im Bild: Die Werte aus dem Array werden Werten multipliziert, die vorher nach U32 umgewandelt wurden - ohne CoercionDot. Also muss das Array Werte vom Typ U32 enthalten - LabVIEW-Grundlagenwissen…
Dieses "Malzeichen" ist ein kleines X - und kennzeichnet den Radix der Werte. Dazu einfach Rechtsklick auf das Arrayelement und Visible->Radix auswählen. Auch hier greift LabVIEW-Grundlagenwissen…

Auch hier danke für deine Hilfe, somit konnte ich die Startzeit des Records erfolgreich auslesen.


RE: Speicher eines Drucksensor auslesen - meb2323 - 22.03.2020 12:05

Hallo zusammen, ich benötige noch einmal eure Hilfe.

Aus dem Header muss ich den Startzeiger auslesen. Der Header wird auf Seite 17 beschrieben.

Auf Seite 18 des Kommunikationsprotokoll ist beschrieben wie sich der Startzeiger zusammen setzt. Kann mir jemand zeigen wie ich das am besten umsetzen kann?

Es sollen 5Bit und 8Bit zusammengefasst werden und zu einer Zahl U16 umgewandelt werden.

Schonmal Vielen Dank!


RE: Speicher eines Drucksensor auslesen - GerdW - 22.03.2020 17:38

Hallo meb,

simples Bitshuffle:
[attachment=60783]