Protocols and Field Devices
Siemens S7
Section titled “Siemens S7”- Absolute addressing
- TIA, symbolic addressing
- S7 300/400 and
1200 & 1500
Supported Data Types
Section titled “Supported Data Types”The supported data types depend on the addressing mode (absolute or symbolic). You can find them in the following table.
| Data type | In Edge (read only) | Supported by PLC | |||||
|---|---|---|---|---|---|---|---|
| Edge VarType | Edge InfluxType | Bits | Symbolic | Absolute | S7-300/400 | S7-1200 | S7-1500 |
| Binary numbers | |||||||
| S7_Bool | FLOAT | 1 | ✔ | ✔ | ✔ | ✔ | ✔ |
| S7_Byte | FLOAT | 8 | ✔ | ✔ | ✔ | ✔ | ✔ |
| S7_Word | FLOAT | 16 | ✔ | ✔ | ✔ | ✔ | ✔ |
| S7_DWord | FLOAT | 32 | ✔ | ✔ | ✔ | ✔ | ✔ |
| S7_LWord | FLOAT | 64 | ✔ | ✔ | ✔ | ||
| Integers | |||||||
| 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 | ✔ | ✔ | ✔ | ||
| Floating-point numbers | |||||||
| S7_Real | FLOAT | 32 | ✔ | ✔ | ✔ | ✔ | ✔ |
| S7_LReal | FLOAT | 64 | ✔ | ✔ | ✔ | ✔ | |
| Times | |||||||
| S7_S5Time | STRING | 16 | ✔ | ✔ | ✔ | ✔ | |
| S7_Time | STRING | 32 | ✔ | ✔ | ✔ | ✔ | ✔ |
| FLOAT | |||||||
| (millisec.) | ❌ | ❌ | |||||
| S7_LTime | STRING | 64 | ✔ | ✔ | ✔ | ||
| FLOAT | |||||||
| (nanosec.) | ❌ | ❌ | |||||
| Date and time | |||||||
| S7_Date | STRING | 16 | ✔ | ✔ | ✔ | ✔ | ✔ |
| FLOAT | |||||||
| (days) | ❌ | ❌ | |||||
| S7_Time_Of_Day | STRING | 32 | ✔ | ✔ | ✔ | ✔ | ✔ |
| FLOAT | |||||||
| (millisec.) | ❌ | ❌ | |||||
| S7_LTOD | STRING | 64 | ✔ | ✔ | ✔ | ||
| FLOAT | |||||||
| (ticks) | ❌ | ❌ | |||||
| S7_Date_And_Time | STRING | 64 | ✔ | ✔ | ✔ | ✔ | |
| S7_LDT | STRING | 64 | ✔ | ✔ | ✔ | ||
| S7_DTL | STRING | 96 | ✔ | ✔ | ✔ | ✔ | |
| Characters | |||||||
| S7_Char | STRING | 8 | ✔ | ✔ | ✔ | ✔ | ✔ |
| S7_WChar | STRING | 16 | ✔ | ✔ | ✔ | ✔ | |
| S7_String | STRING | n+2 Bytes | ✔ | ✔ | ✔ | ✔ | ✔ |
| S7_WString | STRING | n+2 Words | ✔ | ✔ | ✔ | ✔ | |
| Array | |||||||
| S7_Array | ✔ | ✔ Individual access to each element via its specific address | ✔ Max. dimensions: 6 | ||||
| Max. number of bytes: 32,767 | ✔ Max. dimensions: 6 | ||||||
| Max. number of bytes: 65,535 | ✔ Max. dimensions: 6 | ||||||
| Max. number of bytes: 16,777,216 | |||||||
| Pointers | |||||||
| Pointer | 48 | ❌ | ❌ | ✔ | ✔ | ||
| Any | 80 | ❌ | ❌ | ✔ | ✔ | ||
| Variant | 0 | ❌ | ❌ | ✔ | ✔ |
Manual address entry
Section titled “Manual address entry”If measured variables are entered manually via the UI or imported via a CSV file, the following points must be observed when specifying addresses.
Absolute addressing
Section titled “Absolute addressing”For absolute-addressed data access, the address schema must follow the common, fully qualified schema consisting of data block number, operand, and byte/bit offset.
Structure: DB<Nr>.DB<B|W|D|X><ByteOffset>.<BitOffset>; noting:
- The operand type described by DBB, DBD, DBX, or DBW can currently be used arbitrarily; it could be set to DBB for all data types as well (it merely serves the familiar readability for the PLC programmer)
- The bit offset is optional and may be omitted (including the separating period) as needed
- Spaces must be removed
Examples:
DB9.DBX200.2Addresses the second bit of byte 200 in data block no. 9DB30.DBW558Addresses byte 558 of data block no. 30
Symbolic addressing
For symbolic-addressed data access, the address is composed hierarchically from the program structure and groups, separated by a period. It always begins with the two group elements PLC (not the device name such as PLC_1!) and Blocks. Note the following:
- If group elements or variables contain a period, that address part must be enclosed in double quotation marks (ASCII code 0x22)
- If group elements or variables contain a double quotation mark, that address part must be enclosed in double quotation marks and the contained quotation mark must additionally be doubled
- Case sensitivity must be observed
- Certain special characters also require escaping with double quotation marks (e.g.: <>[ ] . { } )
Examples:
PLC.Blocks.TestDB.MyFunkyVariableAddresses a variable namedMyFunkyVariablein the data block namedTestDB(directly subordinate to the main structure)PLC.Blocks.TestDB."My.Funky.Struktur".MyFunkyVariableAddresses a variable namedMyFunkyVariablein a UDT instanceMy.Funky.Strukturin the data block namedTestDB(directly subordinate to the main structure)PLC.Blocks.TestDB."My""Funky""Struktur"."My""Funky""Variable"Addresses a variable namedMy"Funky"Variablein a UDT instanceMy"Funky"Strukturin the data block namedTestDB(directly subordinate to the main structure)PLC.Blocks.TestDB.TestArray.MyFunkyElement[28]Addresses the 28th element of the one-dimensional arrayTestArrayin the data block namedTestDB(directly subordinate to the main structure)PLC.Blocks.TestDB.TestArray.MyFunkyElement[2,1,28]Addresses element no. [2,1,28] of the multi-dimensional arrayTestArrayin the data block namedTestDB(directly subordinate to the main structure)
Modbus TCP
Section titled “Modbus TCP”| Function | Comment |
|---|---|
| Supported access methods | READ_COIL, READ_DISCRETE_INPUT, READ_INPUT_REGISTER, READ_HOLDING_REGISTER |
| Supported data types | BOOLEAN*, INT16, UINT16, INT32, UINT32, INT64, UINT64, FLOAT, DOUBLE, STRING** *Boolean is only supported for bit-level access methods (read coils, read discrete input). ** The STRING data type is set to 8 characters by default. If a different number of characters is required, please contact support. |
| Slave ID | |
| (Modbus RTU) | For Modbus RTU, the “Slave ID” can be specified. Default = 1 |
| Byte order | |
| (endianness) | Big-endian*, little-endian* (default) * For data types larger than 16 bits (INT32, UINT32, INT64, UINT64, FLOAT, DOUBLE, STRING). Defines which REGISTER (not bytes) contains the most significant bit. Byte order is an optional configuration parameter that cannot currently be configured in the UI. If a deviation from the default is required, please contact support. |