TIA PEEK/POKE Datenauswhal

Rob87

Level-2
Beiträge
14
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

ich habe mir folgenden kleinen Beispiel FC geschrieben:

Code:
SW Daten lesen
#inhalt :=PEEK_DWORD(area := 16#84, dbNumber := #SK_Dat_Num, byteOffset := #auswahl);
#Rest := PEEK_DWORD(area := 16#84, dbNumber := #SK_Dat_Num, byteOffset := #auswahl);
#Bool_out_1 := #Rest.%X0;
#Bool_out_2 := #Rest.%X1;
#drei :=WORD_TO_INT( #Rest.%W1);

Der DB dazu sieht wie folgt aus:

Code:
Name     Typ     Inhalt       Offset
 fuenf     DInt     5             0.0
 acht      Real     8.0           4.0
 Bool      Bool     true         8.0
 bool_1   Bool     true         8.1
 drei       Int       3            10.0
 elf         Real     11.0       12.0
 SpeicherReal     0.0


Alles ist Nichtoptimierter Bausteinzugriff.
Frage:
Was muss am Parameter "#Auswahl"(byteOffset) stehen damit ich die Einzeln Werte(5,8,3,11) am ende auslesen kann?

Mit Auswahl=0 bekomme ich die 5.0.

Ziel des Ganzen ist eine gemischte Struktur(UDT) anhand eines Parameters aus einem DB zu holen und weiter zu verarbeiten.

Vielen dank im Vorraus.
Rob
 
Kurz die Lösung:
Für Real muss noch "Dword_to_Real"(..) ausgeführt werden.
In #Auswahl muss wirklich der BYTE-Offset stehen (hier ist das Tia Handbuch falsch ;) )

liest man mit Peek ein "zusammengesetztes Dword" muss man beachten, dass sowohl word also auch Byte Drehung vorhanden ist.
d.h. bit0.0 liegt auf %x24

Grüße
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ach ist das geil. Endlich wieder PEEK und POKE in Programmen.
Das ist ja original wie APPLESOFT BASIC Anfang der '80er Jahre des letzten Jahrhunderts.

Das ist natürlich nicht konstruktiv gemeint.
Schade, wenn die Programmiersprache (- Umgebung) keine anderen Sprachmittel zur Verfügung stellt.

mfg
Erdmann
 
Zurück
Oben