"DATEN".SensorDaten.StatusDevice := #Temp_1[1];
"DATEN".SensorDaten.StatusMesswert := #Temp_1[2];
#tmp_dword.B0:=#Temp_1[3];
#tmp_dword.B1:=#Temp_1[4];
#tmp_dword.B2:=#Temp_1[5];
#tmp_dword.B3:=#Temp_1[6];
"DATEN".SensorDaten.Messwert:=DWORD_TO_REAL(#tmp_dword);
Bei der S7-1200 (ab FW V2.0) und der S7-1500 haben Sie die Möglichkeit, bitweise auf Variablen vom Datentyp Byte, Word oder DWord zuzugreifen. Hierfür benötigen Sie STEP 7 V11+SP1+Update 2 (oder höher).
Quelle
@shutdown:
Das ist natürlich die sauberste Lösung. Werde ich wohl so übernehmen.
Ich komme eigentlich aus der C/C++ Welt, deshalb eine Frage:
Gibt es bei TIA-Strukturen so etwas wie Padding (d.h. zwischen einzelnen Elementen einer Struktur werden Leerbytes eingefügt, so dass die Elemente immer auf einer durch 2 oder 4 teilbaren Speicher-Adresse liegen)? Das würde mir erklären warum DPRD_DAT nur mit Arrays funktioniert.
@HelleBarde: War das 1200er oder 1500er?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?