Device configuration in TIA Portal means adding a CPU to a project, dragging I/O, communication and power modules into its rack, and setting the CPU's PROFINET device name and IP address so it can be reached on the network. Every module you add is auto-assigned an I/O address (e.g. %I0.0, %QW2), which you then wire into a PLC tag table as symbolic names with proper data types — BOOL for a digital signal, INT/REAL for an analog one. Get the configuration and tag table right before writing any logic, and the rest of the program becomes far easier to read, debug and hand over.
- Device configuration = add CPU, add I/O modules to the rack, set PROFINET name and IP address, then download to the PLC
- Every added module gets an automatic I/O address; a PLC tag then gives that address a symbolic name and a data type
- A clean tag table — grouped, consistently named, correctly typed — is what makes the rest of the program easy to read and maintain
What Device Configuration Means in TIA Portal
Device configuration is the step in TIA Portal where you tell the project exactly what hardware it's controlling — which CPU, which I/O and communication modules, in which slots, at which network address — before any program logic runs against it. It happens inside the Device view, a graphical rack you build by dragging real, catalogued Siemens hardware into place, and everything downstream (I/O addressing, PLC tags, network communication) depends on getting this step right first.
Skipping or rushing device configuration is where a surprising number of commissioning problems start: a module in the wrong slot, a CPU with the wrong firmware version selected, or an IP address that clashes with another device on the same PROFINET segment. None of these show up as a program bug — they show up as "the PLC won't go online" or "this input never toggles," which is why configuration is worth treating as its own disciplined step, not an afterthought before writing logic.
Adding a CPU and Setting the PROFINET Name and IP Address
Every project starts with a CPU. In TIA Portal, you either use the hardware catalog to search and drag the exact CPU order number onto a virtual rack, or let TIA Portal auto-detect a CPU that's already connected and powered on the network. Once the CPU is placed, three settings make it reachable and identifiable on the plant network:
| Setting | Where to set it | Why it matters |
|---|---|---|
| PROFINET device name | Device view > Properties > PROFINET interface > Ethernet addresses | The human-readable name used to identify this CPU on the network and match it against the online device list |
| IP address / subnet mask | Same properties panel, "Set IP address in the project" option | Must be unique on the subnet and match the engineering PC's network range, or the CPU can't be found when going online |
| PLC/rack/slot number | Assigned automatically as modules are placed in the rack | Confirms exactly which physical rack position each module in the real cabinet corresponds to |
On a fresh, unconfigured CPU straight from the factory, the safest first step is usually online & diagnostics > Assign IP address, which lets TIA Portal write the intended IP directly to the CPU over the network before you ever download a full project — this avoids the classic problem of trying to download to an IP the CPU doesn't have yet.
Want to practice this on real hardware?
Live TIA Portal session covering device configuration, PLC tag creation and download/commissioning — Pune classroom or online.
Adding I/O Modules and Reading Assigned Addresses
With the CPU placed, drag digital input, digital output, analog and communication modules from the hardware catalog into the free slots of the rack. TIA Portal assigns each module a starting I/O address automatically, visible directly in the Device view's address column — you don't have to calculate offsets by hand, but you do need to be able to read what's been assigned.
| Module type | Typical assigned address | Read as |
|---|---|---|
| Digital Input (DI) | %I0.0 – %I0.7 | Input area, byte 0, bits 0 through 7 |
| Digital Output (DO) | %Q0.0 – %Q0.7 | Output area, byte 0, bits 0 through 7 |
| Analog Input (AI) | %IW96 | Input area, word starting at byte 96 — the raw analog value |
| Analog Output (AO) | %QW96 | Output area, word starting at byte 96 |
Addresses can be left on TIA Portal's automatic assignment, or edited manually in the Device view if a project standard requires specific ranges (common on larger projects where multiple engineers work on the same CPU and need predictable, non-overlapping blocks). Either way, note the assigned address for every module before moving to the tag table — that address is the physical anchor every symbolic tag will point back to.
Creating PLC Tags: Tables, Data Types and Naming
A PLC tag gives a symbolic, human-readable name to a hardware address, plus a data type that tells the CPU how to interpret the value stored there. Tags live in PLC tag tables, and a project can have as many tables as make sense — one per machine section, one per functional area, or a single table for a small project.
- Open PLC tags in the project tree and either use the default table or add a new one (e.g. "Conveyor_IO").
- In the Name column, enter a clear, consistent name — for example StartButton_PB1 rather than a bare "Tag_1".
- In the Data type column, choose BOOL for a digital signal, INT/REAL for an analog one, matching what the physical module actually provides.
- In the Address column, either type the module's assigned address directly (e.g. %I0.0) or let TIA Portal offer it from the hardware configuration.
- Repeat for every physical I/O point, keeping related tags grouped together in the same table or a clearly named sub-table.
A consistent naming convention pays off the moment a project grows past a handful of tags: prefixing by device or function (Conv1_Run, Conv1_Fault, Conv1_SpeedFB) makes the tag table self-documenting, and lets anyone new to the project find a signal without opening the wiring diagram first.
Downloading to the PLC, and Fixing Common Errors
Once the device configuration and tag table are ready, compile the hardware configuration, connect the engineering PC to the CPU (directly or over the plant network), and use Go online followed by Download to device to write both the configuration and any program blocks to the CPU. TIA Portal compares your project against the CPU's actual hardware and flags mismatches before the download completes.
| Error / symptom | Likely cause | Fix |
|---|---|---|
| "No accessible devices found" | Engineering PC's network adapter is on a different subnet, or the wrong interface is selected | Match the PC's IP subnet to the CPU, and confirm the correct network adapter is chosen in the Go online dialog |
| "Configured device does not match the actual module" | A different module (or firmware version) is physically installed than what's configured in the Device view | Update the Device view to match the real module, or physically swap in the configured part |
| Download blocked by "Online/offline differ" warning | Someone else's project or an older version is still loaded in the CPU | Compare online/offline in TIA Portal and confirm the overwrite, or clear the CPU memory first if starting fresh |
| Tag shows the wrong value in Watch table | Wrong data type selected for that tag, or address typed incorrectly | Cross-check the tag's data type and address against the Device view's assigned address for that module |
| IP address assignment fails | CPU already has a conflicting IP, or is on a different physical network segment | Use "Accessible devices" to find the CPU's current IP, then reassign it explicitly through Online & diagnostics |
Step-by-Step Lab: Device Configuration and Tag Creation in TIA Portal
Hands-on- TIA Portal installed (V17 or later); real hardware is ideal but a PLCSIM simulation works for every step except the final IP assignment.
- Know the exact CPU order number you're configuring (or use PLCSIM's default virtual CPU).
- A rough idea of a small demo panel — for example, 4 digital inputs and 2 digital outputs.
- Estimated time: 15 minutes.
Add a CPU and open the Device view
Create a new project, use Add new device, search the hardware catalog for your CPU's exact order number, and confirm it opens in the Device view showing an empty rack.
Set the PROFINET device name and IP address
Open CPU Properties > PROFINET interface > Ethernet addresses, set a project IP address (e.g. 192.168.0.10), and give the device a clear PROFINET name (e.g. "plc-conveyor-01").
Add I/O modules and note the assigned addresses
Drag a digital input module and a digital output module into free slots. Open the Device view's address column and write down the exact %I and %Q ranges TIA Portal assigns to each.
Build a matching PLC tag table
Open PLC tags, create a table named "Conveyor_IO", and add one BOOL tag per physical I/O point from Step 3, using clear names (e.g. StartButton_PB1, MotorRun_Q1) and the exact addresses you recorded.
If every tag in Step 4 shows the same address you recorded from the Device view in Step 3, with no compile errors, you've correctly linked physical hardware to symbolic names — the exact chain a real commissioning engineer follows before writing a single rung of logic. Make writing down assigned addresses before building the tag table a standing habit; it's what prevents an entire table of mismatched tags on a live panel.
Frequently asked questions
What is device configuration in TIA Portal?
It's the step where you build a virtual representation of your real hardware — the CPU and every I/O, communication and power module — in the Device view, and set network parameters like the PROFINET device name and IP address, before writing or downloading any program logic.
How do I set a Siemens PLC's IP address for the first time?
Go online with the CPU, open Online & diagnostics, and use "Assign IP address" to write the intended address directly to an unconfigured CPU. From then on, the address can also be set in the project's Device view under PROFINET interface properties.
What is a PLC tag, and why not just use the address directly?
A PLC tag is a symbolic name mapped to a hardware address and a data type. Programs written entirely in raw addresses (like %I0.0) are much harder to read and maintain than ones using clear names like StartButton_PB1, especially once a project has hundreds of I/O points.
Why does my download fail with "configured device does not match"?
The physical module installed in that slot is different from what's configured in the Device view — a different order number, or a firmware version outside the configured range. Update the Device view to match the real part, or install the part that was originally configured.
Can I edit the automatically assigned I/O addresses?
Yes. TIA Portal assigns addresses automatically as modules are added, but every module's start address can be edited manually in the Device view if a project standard calls for specific address ranges.
