1. Overview: Absolute vs. Symbolic HMI Tag Access
When projects are migrated from STEP 7 V5.x / WinCC flexible into the TIA Portal, the HMI tag table frequently carries over with Absolute Access configured for every tag. In this mode, the HMI resolves the address at runtime against a raw memory location (e.g., %DB5.DBX2.0 or MW20), and the PLC tag column in the HMI tag editor remains empty. Symbolic Access, by contrast, binds the HMI tag to a named PLC tag or DB structure member ("Motor_1".Speed), which produces a self-documenting project, enables online rename propagation, and is the only access mode supported for optimized data blocks on S7-1200/1500.
The migration path from absolute to symbolic is not a single click. The two supported, vendor-documented workflows are:
- Integrated HMI connection + Tag synchronization — the recommended method for projects where the PLC program and HMI share a single TIA Portal project.
- Export / Re-import of the HMI tag table — the bulk-edit method used when the synchronized workflow cannot resolve every tag (multiplex tags, bit-slice access, sub-word references).
This article covers both workflows in detail, plus the three documented edge cases where a tag will not auto-link, and the TIA Portal V16-specific preconditions that must be in place before either workflow will succeed.
2. Prerequisites and Project Setup
Before any conversion step is executed, verify the following conditions. Failing any of these produces silent failures in the synchronize dialog (tags appear linked but reference <not found> at compile time).
| Prerequisite | Required State | Where to Verify |
|---|---|---|
| TIA Portal version | V16 or later (V16, V16 Update 1 through 7 supported) | Project > About |
| HMI connection type | Integrated connection to the S7-1200/1500 (not "Manual / Non-integrated") | Devices & Networks > Connections |
| PLC data block type | Non-optimized (standard) DB while linking; optimized DBs supported only after symbolic link exists | PLC > DB properties > Attributes > Optimized block access = unchecked |
| Compile status of PLC | PLC program compiled without errors; tag names exist in symbol table | PLC > Compile > Software (rebuild) |
| Consistent PLC tag names | No duplicate tag names, no special characters (< > ; : _ in name) | PLC tags & Watch tables |
| HMI device authorization | WinCC Comfort/Advanced license for S7-1200/1500 symbolic access | Project tree > HMI > Properties > Runtime settings |
3. Method 1 — Integrated Connection + Synchronize with PLC Tags
This is the standard Siemens-documented method. It uses TIA Portal's built-in resolver to match the absolute HMI address against the PLC's symbol table and DB structure.
3.1 Convert the HMI connection to integrated
- Open Devices & Networks in the project tree.
- Select the S7-1500/1200 CPU and the HMI panel — both devices must appear on the same network view.
- If the existing connection shows a "broken" icon, delete the connection and recreate it: drag from the PLC's
HMIport onto the HMI device, or use Connections > Add new connection on the CPU. - Open the connection's properties and confirm Connection type = S7 connection with Integration = Integrated.
3.2 Configure the HMI tag defaults
To prevent newly created tags from re-introducing absolute addressing, set the default access mode for HMI tags project-wide:
- Select Options > Settings > Visualization > HMI tags.
- Activate the Symbolic access checkbox.
- Click OK and recompile the HMI.
This setting matches the symbolic addressing default documented for WinCC Unified / S7-1200/1500 in the Siemens TIA documentation.
3.3 Trigger tag synchronization
- In the project tree, expand the HMI device > HMI tags and double-click the tag table to open it.
- Click in the tag table and press Ctrl+A to select all rows.
- In the HMI tag toolbar, locate the "Synchronize with PLC tags" button (the fourth icon in the standard HMI tag table toolbar — the tooltip reads "Synchronize HMI tags with PLC tags").
- Click the button. The "Synchronization editor" dialog opens.
- Set the match strategy to "Datatype and absolute address match".
- Click Synchronize. The dialog populates with three columns: PLC tag, HMI tag, and Status.
- Review each row. Statuses are color-coded:
- Green check — link created.
- Orange — ambiguous match; manual selection required.
- Red — no match in PLC; tag will remain absolute.
- Click Apply to write the bindings back to the HMI tag table.
3.4 Compile and verify
- Right-click the HMI device > Compile > Software (rebuild).
- Open the Info output window. The following warnings are expected and can be ignored unless they reference your explicit HMI tags:
- "Tag ... is not used in any screen"
- "Address ... is overwritten"
- Open the HMI tag table again. The PLC tag column should now contain symbolic references such as
"Data_block_1".Motor_Speed. - Once the HMI is bound symbolically, you may switch the underlying DB to Optimized block access if it is not already, and re-compile.
4. Method 2 — Excel Export / Re-import (Bulk Edit)
Use this method when (a) Method 1 leaves a large number of tags unresolved, or (b) the project does not yet contain the PLC code, only the HMI tag table.
4.1 Export the HMI tag table
- Open the HMI tag table.
- Click the Export button in the toolbar.
- Choose Export to XLSX (Office Open XML) — not CSV, because the access mode column requires the structured export.
- Save the file to a known location (e.g.,
D:\Migration\tags_export.xlsx).
4.2 Edit the Access Mode column
- Open the exported
.xlsxin Microsoft Excel. - Locate the column whose header is "Access mode" (exact text varies by TIA version; in V16 it is "AccessMode").
- Filter the column to show only the rows currently set to "Absolute Access".
- Select the first cell. Type
Symbolic access(case-insensitive; the string must match the TIA import parser). - Use the cell's fill handle (lower-right corner) and drag down to fill all filtered rows. Excel will copy the literal string to each cell.
- If a PLC tag name column is empty, populate it now with the fully qualified symbolic name. Examples:
"Motor_DB".Start_Cmd"I/O".DI_Start_Button"Global".Counter_1
- Save the file. Do not change the file extension or sheet structure; TIA's import parser keys off the worksheet name "HMI Tags" and the header row.
4.3 Re-import and overwrite
- Return to TIA Portal, open the same HMI tag table.
- Click Import in the toolbar.
- Select the edited
.xlsx. - In the import dialog, choose "Overwrite existing tags" (do not choose "Add new tags" unless you want to create duplicates).
- Click Import. The progress bar reports each row. Failed rows show a reason — capture these for the edge-case pass in Section 5.
DB5.DBX2.0 can become DB5.DBX2.0 or a scientific-notation number depending on locale). If the import reports "Address invalid", inspect the cell format in Excel and re-set it to Text.
5. Edge Cases — Tags That Will Not Auto-Link
Both methods above will leave certain tags unresolved. The Siemens synchronizer cannot match tags that do not map 1:1 to a single PLC tag. The three documented categories are:
| Edge Case | Example | Why Synchronizer Fails | Recommended Resolution |
|---|---|---|---|
| Multi-bit / multi-byte HMI access | HMI tag of type WORD references a range of bits across two adjacent PLC tags | No single PLC tag spans the full range; the synchronizer cannot synthesize one | Restructure the PLC to a contiguous DB field, or split the HMI tag into the matching sub-tags |
| Multiplex tag | HMI tag uses {<tagname>} indirection in the address field |
The base address is computed at runtime; static resolution is impossible | Leave the tag in Absolute Access, or convert the multiplexed index into a separate symbolic pointer DB |
| Bit-slice / sub-word access | HMI BOOL tag points to a single bit inside a PLC WORD, e.g. DB5.DBX2.5 while the WORD is DB5.DBW2
|
Optimized DBs do not expose bit addresses; the address must be promoted to a named BOOL | Add a dedicated BOOL member in the DB, e.g. "Status".Fault_Active AT %DBX2.5 : BOOL;, and re-link |
For each unresolved tag, manually set the PLC tag field in the HMI tag table. If the underlying DB is optimized, you must create an explicit named member — optimized blocks do not allow absolute addresses at runtime.
6. Switching to Optimized Data Blocks (S7-1200/1500)
Symbolic access is the only access mode supported by optimized DBs. The migration sequence is:
- Complete the HMI-to-PLC symbolic binding (Method 1 or Method 2).
- Recompile the PLC. TIA will warn if any remaining HMI tag still points at an absolute address inside what was a non-optimized DB.
- Open the DB > Properties > Attributes > tick Optimized block access.
- Recompile the PLC and the HMI.
- Download both to the physical hardware (PLC first, HMI second).
Step 3 will fail to compile if any code in the project still uses absolute addressing on the DB (e.g., DB5.DBW2 in SCL or ladder). Find-and-replace these to the symbolic name before retrying.
7. WinCC Unified Specifics
If the target runtime is WinCC Unified (TIA V17+ for the relevant Unified runtime, V20+ for current tooling), the symbolic addressing behavior is enforced by default in newly created projects, but migrated projects may still carry the V16 default. Override the default with:
- Options > Settings > Visualization > HMI tags.
- Activate Symbolic access.
WinCC Unified does not expose the Absolute option for S7-1200/1500 connections when integrated — the dropdown is removed once the connection is marked integrated. This is documented in the Siemens symbolic-addressing reference for RT Unified.
8. Verification Checklist
| Check | How to Verify | Pass Criterion |
|---|---|---|
| PLC tag column populated | Open HMI tag table; check PLC tag column | Every row has a symbolic name; no empty cells |
| Compile clean | HMI > Compile > Software (rebuild) | Zero errors; warnings only for unused tags |
| Cross-reference intact | Right-click a symbolic HMI tag > Cross-reference | Lists the DB member, the screen, and the PLC usage |
| Online test | Go online with the PLC; change a DB value from the watch table | HMI screen value updates without restart |
| Optimized DB compile | Flip the DB to optimized and re-compile PLC + HMI | Both compile clean; HMI still reads/writes |
9. Troubleshooting Matrix
| Symptom | Likely Cause | Corrective Action |
|---|---|---|
| "Synchronize with PLC tags" button greyed out | Connection is non-integrated, or PLC is not compiled | Convert connection to integrated; recompile PLC |
| Synchronizer finds no matches despite identical addresses | DB is optimized; bit-level absolute addressing cannot be resolved | Switch DB to standard access for the link pass, then optimize after |
| Excel import reports "Address invalid" | Excel auto-converted an address to a number | Format the address column as Text before re-import |
| Some HMI tags still show red status after synchronize | Multiplex or bit-slice tag — see Section 5 | Bind manually or restructure PLC |
| Compile error: "Tag is not assigned to any PLC tag" | HMI tag left in Absolute Access but PLC no longer exposes the address | Re-run synchronize, or manually populate the PLC tag field |
| Runtime: HMI shows "####" or "0" for all values | Symbolic link is correct but the DB was re-numbered after link was created | Delete the tag and re-synchronize, or correct the symbolic path |
| Driver selection: "S7-1200/1500 (Symbolic)" vs "(Absolute)" mismatch | Project contains two HMI panels from different vendors with different default drivers | Open the connection > select the symbolic driver explicitly |
10. Process Flow (Inline Diagram)
11. Frequently Asked Questions
Why does the Synchronize button do nothing in TIA Portal V16?
The HMI connection is almost certainly non-integrated. Open Devices & Networks, delete the existing connection, and recreate it as an integrated S7 connection from the CPU to the HMI panel. The button is also disabled if the PLC has compile errors.
Can I keep my data blocks as optimized during the migration?
No. Optimized DBs do not expose absolute addresses, so the synchronizer cannot match absolute HMI tags to them. Run the link pass with standard (non-optimized) DBs, then switch the DB to optimized and recompile both the PLC and the HMI.
The Excel import overwrites some tags but reports "Address invalid" for others — why?
Microsoft Excel frequently auto-formats address-like strings as numbers, scientific notation, or drops leading zeros. Select the entire address column, set the cell format to Text, then re-enter or paste the values, and re-import.
How do I handle a multiplexed HMI tag during the conversion?
Leave multiplex tags in Absolute Access. The synchronizer cannot resolve runtime-computed base addresses. If you must migrate them symbolically, replace the multiplex indirection with a separate pointer DB whose member is the actual target, and bind the HMI tag symbolically to that pointer.
Does this procedure differ for WinCC Unified?
Yes. WinCC Unified hides the Absolute option for integrated S7-1200/1500 connections, so the only practical path is to recreate the tags symbolically or use the default symbolic addressing set under Options > Settings > Visualization > HMI tags. The TIA V20 documentation describes this default behavior in detail.
References: Siemens TIA Portal — Symbolic Addressing (RT Unified) · Weintek FAQ 111 — S7-1200/1500 Symbolic to Absolute Conversion