Siemens S7 to MQTT
Siemens S7-300, S7-400, S7-1200 and S7-1500 over ISO-on-TCP: data blocks, merkers, inputs, outputs, timers and counters, addressed the way Siemens writes them — DB1.DBW20, M10.3, IW0, T5 — with the IEC data types. Design it in the editor, validate it, build the package and run it.
Typical use case
A line built on S7 needs to report to an MQTT broker without touching the PLC program. The gateway polls the data blocks and publishes each tag with its quality.
The S7 driver deploys and runs in this release of the Edge Runtime. It has been tested against a simulated S7 CPU, not yet against a real one — so treat the first commissioning as the verification, and expect to check the rack, slot and PUT/GET settings on the CPU.
Configuration approach
Addresses as Siemens writes them
DB1.DBW20, DB10.DBD20, M10.3, IW0, QB2. The width comes from the address; how to read the bytes comes from the tag's data type.
1200 and 1500 CPUs
Enable PUT/GET on the CPU, or use non-optimized data blocks. Optimized blocks need symbolic access — see S7CommPlus in the capabilities table, and its caveats.
Quality travels with the value
A tag that stops being readable is published as such, never as a repeat of the last good number.
Build a Siemens S7 to MQTT gateway
Create a project, define the device and its tags in the Edge Logic Editor, and download a runtime to test at the plant.