Every Siemens PLC tag lives at an address made of a memory area, a size, and a location: for example M10.0 is Memory area, bit 0 of byte 10, and DB1.DBX0.0 is bit 0 of byte 0 inside Data Block 1. The four working memory areas are I (Input), Q (Output), M (Bit memory/Merker) and DB (Data Block); each can be addressed as a single bit (.X), byte (B), word (W) or double word (D). On top of that address sits a data type — BOOL for a bit, BYTE/WORD/DWORD for raw bit strings, or INT/DINT/REAL for numeric values — which tells TIA Portal how to interpret and calculate with the value stored there.
- Every Siemens address = memory area (I/Q/M/DB) + size (bit/byte/word/dword) + location, e.g. M10.0 or DB1.DBX0.0
- BOOL is 1 bit; BYTE/WORD/DWORD are 8/16/32-bit raw bit strings; INT/DINT/REAL are numeric types built on those same sizes
- S7-1200/S7-1500 optimized data blocks hide absolute offsets by default — you address tags by symbolic name, not by DBX/DBB numbers
The addresses below come from the conveyor project in Part 2: OPB push buttons on RIO_1, roller-bed contactors and the G120 drive. Each step has a live tool, with the full reference tables folded underneath.
Read Any Siemens Address: I, Q, M and DB
Every address is area + size + byte (+ bit). Type one, or pick an address from the Part 2 conveyor project.
Reference: the four memory areas
| Area | Letter | Purpose | Typical example |
|---|---|---|---|
| Input | I | Physical/process input signals read from digital and analog input modules at the start of each scan cycle | I0.0 — a start-pushbutton wired to input channel 0 |
| Output | Q | Physical/process output signals written to output modules at the end of each scan cycle | Q0.1 — a motor contactor coil |
| Bit Memory | M | Internal flags and working memory, not tied to any physical wiring — used for logic markers, timers, interlocks | M10.0 — a "system ready" internal flag |
| Data Block | DB | Structured, user-defined storage for tags, recipes, setpoints and instance data of function blocks; the main working area on S7-1200/1500 | DB1.DBX0.0 — bit 0 of byte 0 in Data Block 1 |
Bit, Byte, Word and Double Word: How They Overlap
MB10 to MB13 below are real memory. A word or double word is just a wider window on the same bits, and Siemens puts the high byte first.
Same bits, read as different addresses and types
Reference: bit, byte, word and double-word addressing
| Size | Suffix | Width | Example | Typical use |
|---|---|---|---|---|
| Bit | none (dot notation) | 1 bit | M10.0, I0.3, Q0.1 | On/off signals, flags, interlocks |
| Byte | B | 8 bits | MB10, IB0, QB4 | Small numeric values, thumbwheel/DIP switch banks |
| Word | W | 16 bits | MW10, IW0, QW4 | Analog input/output raw values (0–27648 range), 16-bit counters |
| Double word | D | 32 bits | MD10, ID0, QD4 | REAL/DINT values — scaled process values, large counters |
Want to practice addressing on real hardware?
Live TIA Portal session covering I/Q/M/DB addressing, data types and SCL programming — Pune classroom or online.