Device configuration in TIA Portal means rebuilding the real panel in the project: the CPU, every remote I/O station and module, the drives and the HMI, each with the PROFINET name and IP address from the architecture drawing. The I/O addresses that result are then given symbolic names in a PLC tag table. On a real project with hundreds of signals, the tags are built in Excel from the electrical drawings and pasted into TIA Portal in one go. A Factory Acceptance Test then proves every signal, from push button to MTP700 alarm, before the panel leaves the workshop.
- Start from the architecture and electrical drawings, not from TIA Portal: they tell you every device, name, IP, slot and terminal
- Fix I/O start addresses per station (RIO_1 = byte 10, RIO_2 = byte 20) so the tag list never shifts
- Build tag names in Excel as prefix + signal, check them for spaces and spelling, then paste them straight into the tag table
- The FAT tests each tag end to end: field device, PLC address, program, MTP700 screen and alarm
This guide follows one real job from start to finish: a skid conveyor line with a main control panel (MCP), three ET 200SP remote I/O stations, ten operator push button stations (OPB), powered roller beds (PRB), a cross transfer, a turn table and an MTP700 Unified Comfort panel. Every step uses the same drawings and the same tag names, so what you configure in one step is what you test in the FAT.
Step 1: Read the System Architecture
Device configuration is where you tell TIA Portal exactly what hardware the program will run on. Before opening the software, read the architecture drawing and list every device that has a PROFINET connection. Each box below becomes a device in the TIA Portal Network view, and each orange line becomes a PROFINET connection.
Click or tab to a device to see what you configure for it in TIA Portal.
Copy the address plan out of the drawing into a table. You will type these values in Steps 3, 4 and 6, scan for them with Accessible devices in Step 7, and tick them off in FAT test F-04.
| Device | Location | PROFINET device name | IP address | Role |
|---|---|---|---|---|
| S7-1500 CPU 1511-1 PN | MCP | mcp-plc | 192.168.0.1 | IO controller, runs the conveyor program |
| MTP700 Unified Comfort | MCP door | mcp-hmi | 192.168.0.2 | Operator screens, alarms, I/O diagnostics |
| SCALANCE XC208 | MCP | mcp-switch | 192.168.0.3 | Managed switch, port diagnostics |
| ET 200SP IM155-6 PN ST | RIO_1 | rio-01 | 192.168.0.11 | OPB_1 to OPB_3, PRB_1 to PRB_4 |
| ET 200SP IM155-6 PN ST | RIO_2 | rio-02 | 192.168.0.12 | OPB_4 to OPB_6, cross transfer, pop-up |
| ET 200SP IM155-6 PN ST | RIO_3 | rio-03 | 192.168.0.13 | OPB_7 to OPB_10, PRB_16, turn table |
| SINAMICS G120 | Turn table | vfd-tt-01 | 192.168.0.21 | Turn table drive, Standard telegram 1 |
| Engineering PC | Portable | n/a | 192.168.0.100 | TIA Portal, download, FAT watch tables |
Step 2: Read the Electrical Drawings
The architecture tells you which stations exist. The electrical drawings tell you what is inside each one: which module sits in which slot, and which field device lands on which terminal. Read three kinds of sheet for every station before configuring it.
The hardware layout sheet shows the station exactly as it is built on the DIN rail. You will copy this module order into the Device view.
The I/O wiring sheet shows every field device against a terminal. Each column gives you one row of the tag table: device, address, name.
The motor feeder sheet shows the power circuit and the feedback contacts that come back to the PLC. These feedbacks are what make fault detection possible.
Want to practise this on real hardware?
Read real panel drawings, configure S7-1500 with ET 200SP and an MTP700, then run a FAT. Pune classroom or online.
Step 3: Add the CPU and Set the PROFINET Name and IP
- Create a new project and choose Add new device > Controllers. Search the catalog for the exact order number printed on the CPU in the MCP, and pick the same firmware version.
- In the Device view, open Properties > PROFINET interface [X1] > Ethernet addresses. Add a subnet (PN/IE_1), set IP
192.168.0.1, mask255.255.255.0. - Untick Generate PROFINET device name automatically and type
mcp-plc. - Drag the MCP local modules into slots 2 and 3 (DI 32x24VDC and DQ 32x24VDC) and set their start addresses to byte 0, so local I/O occupies
%I0.0–%I3.7and%Q0.0–%Q3.7.
| Setting | Where to set it | Why it matters |
|---|---|---|
| PROFINET device name | Properties > PROFINET interface > Ethernet addresses | The name the CPU and the network use to identify this device |
| IP address / subnet mask | Same panel, "Set IP address in the project" | Must be unique and in the same range as the engineering PC |
| Firmware version | Properties > General > Catalog information | A higher firmware in the project than on the CPU blocks the download |
On a brand new CPU with no IP yet, use Online & diagnostics > Functions > Assign IP address first, so the download in Step 7 can find it.
Step 4: Add RIO Stations and Fix the I/O Addresses
- Switch to the Network view. From the catalog drag Distributed I/O > ET 200SP > Interface modules > IM 155-6 PN ST onto the canvas three times.
- On each station click Not assigned and choose
mcp-plc.PROFINET interface_1. The orange line from Fig. 1 now appears. - Rename the stations
RIO_1,RIO_2,RIO_3, then set IP and device name for each from the address plan. - Open RIO_1 in the Device view and insert modules in the order shown on the hardware layout sheet: DI 16 in slot 1, DI 16 in slot 2, DQ 16 in slot 3, then the remaining modules from the full sheet, server module last.
- In slot 1 properties set Potential group: Enable new potential group (light BaseUnit). Leave slots 2 and 3 on the dark BaseUnit setting.
- For each module open I/O addresses and type the start byte from the drawing: 10, 12 for inputs, 10 for outputs. Repeat for RIO_2 (bytes 20+) and RIO_3 (bytes 30+).
| Station | Slot 1 (DI 16) | Slot 2 (DI 16) | Slot 3 (DQ 16) | Used for |
|---|---|---|---|---|
| MCP local | DI 32: %I0.0–%I3.7 | DQ 32: %Q0.0–%Q3.7 | MCP push buttons, MCB feedbacks, tower lamp | |
| RIO_1 | %I10.0–%I11.7 | %I12.0–%I13.7 | %Q10.0–%Q11.7 | OPB_1, PRB_1–PRB_2 (slots 1–3) |
| RIO_2 | %I20.0–%I21.7 | %I22.0–%I23.7 | %Q20.0–%Q21.7 | OPB_4–OPB_6, cross transfer, pop-up |
| RIO_3 | %I30.0–%I31.7 | %I32.0–%I33.7 | %Q30.0–%Q31.7 | OPB_7–OPB_10, PRB_16, turn table |
| G120 turn table | Standard telegram 1: %IW256–%IW258 in, %QW256–%QW258 out | Control word, status word, speed | ||
The table lists the first three modules of each station. RIO_1 continues with further DI 16 and DQ 16 modules for OPB_2, OPB_3, PRB_3 and PRB_4 from %I14.0 and %Q12.0, still inside its own byte block; RIO_2 and RIO_3 do the same in theirs.
Fixing addresses by station number costs two minutes per module and saves hours later. If TIA Portal assigns them automatically, adding one spare DI card to RIO_1 next year would shift every address on RIO_2 and RIO_3, and the tag table, the drawings and the FAT sheet would all be wrong.
Step 5: Copy-Paste PLC Tags from Excel
Typing tags one by one is fine for a trainer kit. On a conveyor line with ten OPBs and three RIO stations, the same signal list repeats again and again with only the prefix changing. Build it once in Excel, then paste it into TIA Portal.
5a. Set up the Excel sheet. One row per physical signal. Column A holds the station prefix, column B the signal name, and columns C to F are formulas.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Prefix | Signal | Name | Data type | Address | Comment |
| 2 | RIO_1_OPB_1_ | Emergency_Stop | RIO_1_OPB_1_Emergency_Stop | Bool | %I10.0 | RIO_1 OPB_1 Emergency Stop |
| 3 | RIO_1_OPB_1_ | Auto_Mode_Selected | RIO_1_OPB_1_Auto_Mode_Selected | Bool | %I10.1 | RIO_1 OPB_1 Auto Mode Selected |
| 4 | RIO_1_OPB_1_ | Manual_Mode_Selected | RIO_1_OPB_1_Manual_Mode_Selected | Bool | %I10.2 | RIO_1 OPB_1 Manual Mode Selected |
| … | Formulas in row 2, filled down: C2 =SUBSTITUTE(A2&B2," ","") D2 Bool E2 ="%I"&($H$1+INT((ROW()-2)/8))&"."&MOD(ROW()-2,8) F2 =SUBSTITUTE(TRIM(A2)&B2,"_"," ") with the start byte (10) in H1 | |||||
Watch for the mistakes that turn up in real tag sheets, because a tag name ends up in SCL code, HMI alarm texts and FAT reports, and is painful to rename later:
| Mistake in the sheet | What it produces | Fix |
|---|---|---|
Joining with a space: =CONCAT(A2," ",B2) | MCP_ Emergency_Stop: a name with a space, which must be quoted everywhere and breaks text-based imports | Join without a separator and strip spaces: =SUBSTITUTE(A2&B2," ","") |
| Prefix typed with stray spaces | Some rows MCP_OPB_2_ Emergency_Stop, others without: inconsistent names for the same signal | Same formula; then sort column C and look for odd ones out |
| Spelling in the signal column | TC_Forword_Position, PRB_16_Dleivery_Permission copied into every station | Spell-check column B once before filling down |
| Generic names without a station prefix | Ten tags called Emergency_Stop; TIA Portal refuses duplicates | Always prefix with station and device: RIO_2_OPB_5_ |
5b. Generate and copy. Use the generator below to produce the rows for any station and signal group, using the same signal lists as the drawings. Or build the same thing in your own Excel sheet with the formulas above.
PLC tag generator
Choose a signal group, type the station prefix and start byte, then copy the result into TIA Portal.
5c. Paste into TIA Portal.
- In the project tree open PLC tags > Add new tag table and name it after the station, for example
RIO_1_IO. One table per station keeps the list readable. - Copy the Tag table rows (Name, Data type, Address separated by tabs, or columns C:E from Excel).
- Click the Name cell of the first empty row (<Add new>) and press Ctrl+V. TIA Portal fills Name, Data type and Address for every row.
- Copy the Comments list, click the Comment cell of the first pasted row and press Ctrl+V again.
- Compile the tag table. Any duplicate name or address turns red, which is your cue to check the drawing.
For very large lists there is a second route: in an existing tag table click Export, which writes an .xlsx in TIA Portal's own column layout. Fill your rows into that file and bring it back with Import. Use this when you also need columns such as HMI visibility set in bulk.
5d. Map hardware tags into station data blocks. The SCL mapping tab gives you one line per signal, ready to paste into an FC called RIO_1_Input_Mapping. Create a UDT with the signal names (Emergency_Stop, Auto_Mode_Selected and so on) and one DB per OPB from that UDT. The conveyor logic then works on "RIO_1_OPB_1".Emergency_Stop and the same FB can serve all ten OPBs; only the mapping lines differ.
| Name | Data type | Address | Comment |
|---|---|---|---|
| RIO_1_PRB_1_MPCB_Trip_Feedback | Bool | %I12.0 | RIO_1 PRB_1 MPCB Trip Feedback (1 = MPCB on) |
| RIO_1_PRB_1_Contactor_On_Feedback | Bool | %I12.1 | RIO_1 PRB_1 Contactor On Feedback |
| RIO_1_PRB_1_Entry_Sensor | Bool | %I12.2 | RIO_1 PRB_1 Entry Sensor |
| RIO_1_PRB_1_Exit_Sensor | Bool | %I12.3 | RIO_1 PRB_1 Exit Sensor |
| RIO_1_PRB_1_Forward_On_Command | Bool | %Q10.2 | RIO_1 PRB_1 Forward On Command (-K11) |
| RIO_1_PRB_1_Reverse_On_Command | Bool | %Q10.3 | RIO_1 PRB_1 Reverse On Command (-K12) |
Step 6: Add the MTP700 HMI and Connect It
The MTP700 is a 7 inch Unified Comfort panel (800 × 480). It is configured with WinCC Unified inside the same TIA Portal project, so it can use the PLC tags and data blocks directly.
- Add new device > HMI > SIMATIC Unified Comfort Panel > 7" Display > MTP700 Unified Comfort, matching the order number and image version on the panel's label. Untick the HMI wizard if you prefer an empty project.
- In the Network view click Connections, choose HMI connection, and drag from the MTP700 interface to the CPU interface. Then set IP
192.168.0.2and device namemcp-hmi. - On the panel itself open the Control Panel network settings and set the same IP, or enable transfer so the first download assigns it.
- Build screens by dragging DB members straight from the project tree onto screen objects. TIA Portal creates the HMI tags and links them for you.
- Create discrete alarms from the fault bits (
MPCB_Trip_Fault,Contactor_On_Feedback_Fault,VFD_Communication_Fault). Reuse the tag comment from Step 5 as alarm text, so the operator, the drawing and the FAT sheet all use the same words. - Add an I/O diagnostics screen showing the raw station inputs. It is the main tool during the FAT.
| Screen object | Linked to | Behaviour |
|---|---|---|
| PRB_1 roller bed | "PRB_1".Forward_On_Command, "PRB_1".Alarm_Present | Green while running, red on any PRB_1 fault |
| AUTO / MANUAL badge | "MCP".Auto_Mode_Selected | Shows the selector position on the MCP |
| Emergency healthy indicator | "MCP".Emergency_Healthy | Green when the whole E-stop chain is closed |
| Alarm line | Discrete alarms from fault bits | Newest unacknowledged alarm, with Acknowledge button |
| I/O diagnostics screen | Raw station tags, e.g. RIO_1_OPB_1_Emergency_Stop | One lamp per input for checking wiring point by point |
Step 7: Compile, Download and Fix Errors
- Set the PC network adapter to
192.168.0.100 / 255.255.255.0and plug into a spare port on the MCP switch. - Right-click the PLC and choose Compile > Hardware and software (rebuild all). Fix every error before going further.
- Run Online access > Update accessible devices. Every device in the address plan should appear. If an ET 200SP shows without a name, select it and use Assign PROFINET device name.
- Download the PLC, then the MTP700 (select the HMI, Download to device).
- Go online and check the Network view: every station should show a green tick.
| Error / symptom | Likely cause | Fix |
|---|---|---|
| "No accessible devices found" | PC on a different subnet or wrong adapter selected | Set the PC IP to 192.168.0.100 and pick the right PG/PC interface |
| RIO station red, "device name not assigned" | Name on the ET 200SP head differs from the project | Online & diagnostics > Assign PROFINET device name, choose the station from the list |
| RIO_2 and RIO_3 both fail together | Cable or port fault between RIO_1 and RIO_2 (line topology) | Check the RIO_1 port 2 and RIO_2 port 1 link LEDs |
| "Configured device does not match the actual module" | A different module or firmware in the slot | Correct the Device view to match the hardware layout sheet |
| MTP700 fields show #### or tags never update | Missing HMI connection, wrong PLC in the connection, or DB member not accessible from HMI | Recreate the HMI connection; tick Accessible from HMI/OPC UA on the DB member |
| A tag shows the wrong value in the watch table | Wrong address typed or pasted | Compare with the wiring sheet column for that terminal |
Step 8: FAT Test After Configuration
A Factory Acceptance Test (FAT) proves the configured hardware, network, tags and MTP700 screens work as drawn, while the panels are still in the workshop. It follows a written procedure, the customer's engineer usually witnesses it, and every test is signed off as pass or fail. A wrong address found here takes minutes to fix. Found during site commissioning with the line waiting, it takes days.
| FAT (Factory Acceptance Test) | SAT (Site Acceptance Test) | |
|---|---|---|
| Where | Panel builder or integrator workshop | Customer plant, after installation |
| Field devices | OPB stations connected, sensors and motors simulated or bench-mounted | Real conveyors, sensors and skids |
| Proves | Wiring, configuration, addressing, tags, HMI and alarms | The complete line works with real product |
| Signed by | Integrator tester and customer witness | Commissioning engineer and plant owner |
Have ready: the drawings from Step 2, the tag list from Step 5 printed as an I/O checklist, a watch table and force table per station, and the MTP700 I/O diagnostics screen. Isolate motor loads before forcing any output. Mark each test below as you go.
| ID | Test | How to test | Acceptance criterion | Result |
|---|---|---|---|---|
| Panel power and safety | ||||
| F-01 | Hardware matches configuration | Go online, Online & diagnostics on MCP, RIO_1, RIO_2, RIO_3 and the G120 | All stations green; no "configured and actual module differ" message | |
| F-02 | MCB trip feedbacks | Switch off each MCB in turn (e.g. -F23 Ethernet switch, -F24 I/O 24 V) | Matching MCP_..._MCB_Trip_Feedback goes to 0 and the MTP700 raises the alarm. For the PLC and HMI MCBs check the alarm log after power returns | |
| F-03 | Emergency stop chain | Press the E-stop on the MCP and on every OPB, one at a time | Emergency_Healthy drops, all motor commands drop, tower lamp red and hooter on; restart only after Fault reset | |
| Network and stations | ||||
| F-04 | Address plan | Accessible devices scan from the engineering PC | Every name and IP matches the address plan table | |
| F-05 | Remote station loss | Unplug the cable between RIO_1 and RIO_2, then reconnect | RIO_2 and RIO_3 both reported failed (line topology), their outputs go to 0, MTP700 shows station fault; both return automatically | |
| F-06 | Drive communication | Unplug the G120 cable; reconnect | VFD_Communication_Fault set and alarm shown; clears after reconnect and Fault reset | |
| Field I/O | ||||
| F-07 | OPB push buttons and selectors | Operate every device on each OPB; watch the MTP700 I/O diagnostics screen | Only the matching tag changes. Auto/Manual selector: exactly one of the two contacts is 1 | |
| F-08 | Lamp test | Press Lamp_Test_Push_Button on MCP and on each OPB | All push button lamps and all tower lamp colours light while held | |
| F-09 | Entry and exit sensors | Hold a metal target in front of each sensor on PRB_1 to PRB_16 | Entry_Sensor / Exit_Sensor of the correct roller bed goes to 1 | |
| F-10 | Motor direction | Manual mode, press Manual forward on PRB_1 (loads connected, guards on) | Forward_On_Command = 1, -K11 pulls in, Contactor_On_Feedback = 1, rollers turn forward | |
| F-11 | Contactor feedback fault | Lift the -K11 aux feedback wire, then command forward | Contactor_On_Feedback_Fault after Motor_Contactor_On_Timer expires; motor command dropped; alarm on MTP700 | |
| F-12 | MPCB trip | Switch off -Q11 while PRB_1 is running | MPCB_Trip_Fault, motor stops, alarm names PRB_1 and RIO_1 | |
| MTP700 HMI | ||||
| F-13 | Screens and navigation | Open every screen from the navigation bar | No screen shows #### or a missing-tag symbol; values update live | |
| F-14 | Alarms | Raise three different faults, acknowledge from MTP700 and from the Fault acknowledge push button | Alarm text matches the tag comment, timestamps correct, acknowledge works from both places | |
| F-15 | Tower lamp and hooter | Run auto, switch to manual, create a fault, press Hooter off | Green in auto, yellow in manual, red flashing on fault, hooter silenced by Hooter_Off_Push_Button | |
| Documentation | ||||
| F-16 | Tag table audit | Cross-reference all PLC tags; search tag names for spaces | Every tag has type, address and comment; no spaces, no duplicates, no unused addresses | |
| F-17 | Archive and sign-off | Archive PLC + MTP700 project (.zap), record firmware, attach this sheet and the I/O list | Signed by tester and customer witness; punch list closed | |
Every failed test goes on a punch list with cause and fix, and is re-tested before sign-off. On conveyor panels the usual FAT failures are two adjacent terminals swapped on an OPB, an E-stop wired NO instead of NC, a feedback contact taken from the wrong auxiliary block, and a PROFINET name typed differently on the station and in the project.
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 copy PLC tags from Excel into TIA Portal?
Yes. Arrange Name, Data type and Address as adjacent columns, copy them, click the Name cell of the first empty row in the PLC tag table and press Ctrl+V. Paste comments separately into the Comment column. For bulk edits you can also Export a tag table to Excel, fill it, and Import it back.
Which software do I need for the MTP700 Unified Comfort panel?
The MTP700 is a WinCC Unified panel, configured in TIA Portal with WinCC Unified. Use TIA Portal V17 or later and match the device image version in the project to the one on the panel.
What is a FAT after PLC configuration?
A Factory Acceptance Test is a documented test, done at the panel builder's facility before shipping, that checks the configured hardware matches the drawings, every I/O point reaches the correct PLC tag and HMI screen, and faults such as an MPCB trip, a missing contactor feedback or a lost remote I/O station are detected and alarmed.
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.