Overview
Protokolle und Feldgeräte
5 min
siemens s7 absolute adressierung tia, symbolische adressierung s7 300/400 und 1200 & 1500 unterstützte datentypen die unterstützten datentypen sind von der adressierungsart (absolut oder symbolisch) anhängig sie können diese der folgenden tabelle entnehmen datentyp im crawler (nur lesen) von sps unterstützt crawler vartype crawler influxtype bits symbolisch absolut s7 300/400 s7 1200 s7 1500 binärzahlen s7 bool float 1 ✔ ✔ ✔ ✔ ✔ s7 byte float 8 ✔ ✔ ✔ ✔ ✔ s7 word float 16 ✔ ✔ ✔ ✔ ✔ s7 dword float 32 ✔ ✔ ✔ ✔ ✔ s7 lword float 64 ✔ ✔ ✔ ganzzahlen s7 sint float 8 ✔ ✔ ✔ ✔ s7 int float 16 ✔ ✔ ✔ ✔ ✔ s7 dint float 32 ✔ ✔ ✔ ✔ ✔ s7 usint float 8 ✔ ✔ ✔ ✔ s7 uint float 16 ✔ ✔ ✔ ✔ s7 udint float 32 ✔ ✔ ✔ ✔ s7 lint float 64 ✔ ✔ ✔ s7 ulint float 64 ✔ ✔ ✔ gleitpunktzahlen s7 real float 32 ✔ ✔ ✔ ✔ ✔ s7 lreal float 64 ✔ ✔ ✔ ✔ zeiten s7 s5time string 16 ✔ ✔ ✔ ✔ s7 time string 32 ✔ ✔ ✔ ✔ ✔ float (millisek ) ❌ ❌ s7 ltime string 64 ✔ ✔ ✔ float (nanosek ) ❌ ❌ datum und uhrzeit s7 date string 16 ✔ ✔ ✔ ✔ ✔ float (tage) ❌ ❌ s7 time of day string 32 ✔ ✔ ✔ ✔ ✔ float (millisek ) ❌ ❌ s7 ltod string 64 ✔ ✔ ✔ float (ticks) ❌ ❌ s7 date and time string 64 ✔ ✔ ✔ ✔ s7 ldt string 64 ✔ ✔ ✔ s7 dtl string 96 ✔ ✔ ✔ ✔ zeichen s7 char string 8 ✔ ✔ ✔ ✔ ✔ s7 wchar string 16 ✔ ✔ ✔ ✔ s7 string string n+2 bytes ✔ ✔ ✔ ✔ ✔ s7 wstring string n+2 words ✔ ✔ ✔ ✔ array s7 array ✔ ✔ einzelzugriff auf jedes element mit seiner spezifischen adresse ✔ max dimensionen 6 max anzahl bytes 32 767 ✔ max dimensionen 6 max anzahl bytes 65 535 ✔ max dimensionen 6 max anzahl bytes 16 777 216 zeiger pointer 48 ❌ ❌ ✔ ✔ any 80 ❌ ❌ ✔ ✔ variant 0 ❌ ❌ ✔ ✔ manuelle eingabe der adressen werden die messgrößen manuell über das ui oder über einen import mittels csv datei, sind bei der angabe der adressen folgende dinge zu beachten absolute adressierung für absolut adressierten datenzugriff muss das adressschema dem gängigen, vollqualifizierten schema aus datenblock nummer, operand und byte /bit offset folgen aufbau db\<nr> db\<b|w|d|x>\<byteoffset> \<bitoffset> ; wobei zu beachten ist der durch dbb, dbd, dbx oder dbw beschriebene operandentyp kann gegenwärtig beliebig genutzt werden, könnte auch bei allen datentypen auf dbb stehen (dient lediglich der gewohnten lesbarkeit durch den sps programmierer) der bit offset ist optional, kann (inklusive des trennenden punkts) bedarfsweise weggelassen werden leerzeichen sind zu entfernen beispiele db9 dbx200 2 adressiert das zweite bit des 200 bytes im datenblock nr 9 db30 dbw558 adressiert das 558 byte des datenblocks nr 30 symbolische adressierung für symbolisch adressierten datenzugriff setzt sich die adresse hierarchisch aus der programmstruktur, gruppen, mit einem punkt getrennt, zusammen sie beginnt immer mit den beiden gruppenelementen plc plc (nicht dem gerätenamen wie bspw plc 1 !) und blocks zu beachten enthalten gruppenelemente oder variablen einen punkt, so ist dieser adressteil in doppelte anführungszeichen (ascii code 0x22) zu setzen enthalten gruppenelemente oder variablen ein doppeltes anführungszeichen, so ist dieser adressteil in doppelte anführungszeichen zu setzen und zusätzlich das enthaltene anführungszeichen zu verdoppeln die groß /kleinschreibung ist zu beachten gewissen sonderzeichen erfordern ebenfalls die maskierung mit doppeltes anführungszeichen (z b <>\[ ] { } ) beispiele plc blocks testdb myfunkyvariable adressiert eine variable namens myfunkyvariable im (direkt der hauptstruktur untergeordneten) datenblock namens testdb plc blocks testdb "my funky struktur" myfunkyvariable adressiert eine variable namens myfunkyvariable in einer udt instanz my funky struktur im (direkt der hauptstruktur untergeordneten) datenblock namens testdb plc blocks testdb "my""funky""struktur" "my""funky""variable" adressiert eine variable namens my"funky"variable in einer udt instanz my"funky"struktur im (direkt der hauptstruktur untergeordneten) datenblock namens testdb plc blocks testdb testarray myfunkyelement\[28] adressiert das 28 element des eindimensionalen arrays testarray im (direkt der hauptstruktur untergeordneten) datenblock namens testdb plc blocks testdb testarray myfunkyelement\[2,1,28] adressiert das element nr \[2,1,28] des mehrdimensionalen arrays testarray im (direkt der hauptstruktur untergeordneten) datenblock namens testdb ⚠ ungültige adressangaben, wie sie häufig bei manueller eingabe auftreten, verhindern einen ordnungsgemäßen datenzugriff! durch nutzung der import funktion wird diese fehlerquelle ausgeschlossen, die variablen werden somit korrekt formatiert und maskiert in die crawler struktur übernommen modbus tcp funktion kommentar unterstützte zugriffsmethoden read coil, read discrete input, read input register, read holding register unterstützte datentypen boolean , int16, uint16, int32, uint32, int64, uint64, float, double, string boolean nur für bit level zugriffsmethoden (read coils, read discrete input) unterstützt der datentyp string ist standardmäßig auf 8 zeichen eingestellt wird eine andere zeichenanzahl gewünscht, muss aktuell kontakt mit dem support aufgenommen werden slave id (modbus rtu) bei modbus rtu kann die “slave id” angegeben werden standard = 1 byte reihenfolge (endianness) big endian , little endian (standard) für datentypen größer als 16 bit (int32, uint32, int64, uint64, float, double, string) definiert in welchem register (nicht bytes) das höchste bit enthält byte reihenfolge ist ein optionaler konfigurationsparameter, welcher aktuell nicht im ui eingerichtet werden kann ist eine abweichung vom standard erforderlich, kontaktieren sie bitte den support