Overview
Engineers migrating projects from older Siemens text panels (OP77B, TP177A) to the KTP600 Basic Panel family frequently discover that the Insert tag field function is disabled inside the Text list editor of WinCC Flexible 2008 (and the SP3/SP4/HF updates). The behavior is not a software bug or a corrupted installation; it is a deliberate runtime limitation of the 1st- and 2nd-generation Basic Panels, which are based on a Linux CE firmware image and ship with a deliberately reduced scripting and dynamization surface compared with OP77B/TP177A Comfort-class devices.
The same restriction also blocks:
- Tag fields in Button labels
- Tag fields in Text I/O fields
- Cascading text lists that depend on a second tag
- Multilingual text dynamization through a STRING tag
This reference documents the exact cause, enumerates the affected catalog numbers, and provides three field-proven workarounds that operate entirely inside the WinCC Flexible 2008 SP4 toolchain, plus a controlled migration path to KP400 Comfort and to WinCC Unified V20 panels where dynamic text lists become first-class objects again.
.hmi XML directly — the panel rejects the download.Affected Hardware and Software Matrix
| Panel family | Catalog prefix | OS / firmware | Tag in text list? | Notes |
|---|---|---|---|---|
| OP77A | 6AV6 641-0BA01-0AX0 | ProTool / WinCC Flexible | No | Linux CE 5, no STRING list support |
| OP77B | 6AV6 641-0CA01-0AX0 | WinCC Flexible 2008 | Yes | Tag field inside text list works; confirmed in source thread |
| TP177A | 6AV6 642-0AA01-0AX0 | Linux CE 5 | No | Same reduced API as Basic Panels |
| TP177B 4" | 6AV6 642-0BD01-0AX1 | WinCC Flexible / TIA | Yes | Comfort-class successor for TP177A |
| KTP400 Basic mono | 6AV2 123-2DB03-0AX0 | Linux, Basic image | No | 2nd generation |
| KTP400 Basic color | 6AV2 123-2DC03-0AX0 | Linux, Basic image | No | PN and DP variants |
| KTP600 Basic mono | 6AV6 647-0AB11-3AX0 | Linux, Basic image | No | 6" mono, 1st generation |
| KTP600 Basic color | 6AV6 647-0AD11-3AX0 | Linux, Basic image | No | 6" color PN/DP |
| KTP1000 Basic color | 6AV6 647-0AF11-3AX0 | Linux, Basic image | No | 10" color |
| KTP1200 Basic color | 6AV2 123-1MB02-0AX0 | Linux, Basic image | No | 2nd gen, 12" wide |
| KP400 Comfort | 6AV2 124-1DC01-0AX0 | WinCC Comfort / TIA | Yes | Designated successor for OP77B |
| TP700 Comfort | 6AV2 124-1GC01-0AX0 | WinCC Comfort / TIA | Yes | 7" widescreen, full text dynamization |
| MTP700 Unified | 6AV2 128-3KB06-0AX0 | WinCC Unified V18+ | Yes | First-class dynamic text list in V20 |
The catalog numbers above are taken from the Siemens SIMATIC HMI product selectors and apply to the 2008 – 2020 generation. Newer Comfort and Unified panels add a -0BX or -0CX suffix; refer to the current Siemens Industry Mall catalog for the latest ordering data.
Why Tag Fields Fail in Basic Panel Text Lists
When a WinCC Flexible project is compiled for a KTP600 Basic target, the engineering tool strips every <tag Tag_Name> token from the text list and replaces it with a static placeholder. The runtime image on the panel does not contain the STRING list resolver that OP77B and TP177A ship with. Three architectural facts drive this behavior:
- Reduced tag surface — the Basic image exports a smaller, fixed tag interface. Only tags of type INT, BOOL, and a single STRING (where supported) are accessible to the screen. STRING arrays required for cascading text lists are not allocated.
- No dynamic text property — the screen-object property Text on a Text I/O field is bound to a single tag of BOOL, INT, or REAL. A secondary STRING tag used as a format string is rejected at compile time when the target is a KTP Basic.
- No scripted list lookup — the Basic runtime lacks the VBScript and C-script engine that the Comfort panels use to translate an integer index into a list entry. Even when the engineering tool allows the script in offline mode, the download is refused with error 0x8004A001 / "Function not supported by target device".
Compiler Flow When the Target Is a KTP600
Workaround 1 — Symbolic I/O Field Substitution
The simplest and most maintainable substitute is to replace the dynamic text list with a Symbolic I/O field. The Symbolic I/O field is the only object on a KTP Basic that can display tag-driven text without script support, because it stores both the index range and the entry table as part of the configuration rather than the runtime.
Step-by-step
- Open the screen in WinCC Flexible 2008 SP4 and delete the offending text list reference.
- Drag a Symbolic I/O field from the toolbox (group Enhanced objects) onto the canvas.
- In the configuration dialog, set Process tag to the INT tag that drives the index (for example,
DB1.DBW0). - Switch the Representation to Decimal and the Mode to Output (read-only) or Input/Output if the operator must change the value.
- Open the Text list sub-dialog and add one row per enum value. Each row accepts a static string — this is what the runtime will render.
- For multi-language deployments, add a translation column per installed language. The Basic image ships the languages you select in Project > Language & Font.
- Compile and download. The field now shows the string bound to the current integer value of the tag, with no tag-field token in sight.
Workaround 2 — Cascading Symbolic I/O Fields
When the text must depend on two tags (a category and a value), build the cascade entirely from three or more Symbolic I/O fields and a PLC-side multiplexer. The pattern below is a 2-level cascade with 3 categories and 4 values each.
PLC side (STEP 7 V5.5 / TIA Portal V18 example)
// FB "HMI_TextCascade"
// Inputs: iCategory : INT; // 0..2
// iValue : INT; // 0..3
// Output: sResult : STRING[32];
IF iCategory = 0 THEN
CASE iValue OF
0: sResult := 'Pump 1 - Stopped';
1: sResult := 'Pump 1 - Running';
2: sResult := 'Pump 1 - Fault';
3: sResult := 'Pump 1 - Manual';
END_CASE;
ELSIF iCategory = 1 THEN
CASE iValue OF
0: sResult := 'Valve 2 - Closed';
1: sResult := 'Valve 2 - Open';
2: sResult := 'Valve 2 - Mid';
3: sResult := 'Valve 2 - Fault';
END_CASE;
ELSE
sResult := '';
END_IF;
Define sResult in a global DB and expose only the symbolic I/O fields for iCategory and iValue on the HMI. Add a third Symbolic I/O field that is configured as a Text I/O field bound to the STRING tag sResult with display length 32. Although the STRING tag cannot be inserted into a text list, the panel can display a STRING tag directly in a Text I/O field — this is the single exception the Basic image allows.
Update rate and tag count
| Item | Acquisition cycle | Limit on KTP600 |
|---|---|---|
| Integer tag (Symbolic I/O) | 1 s typical, 100 ms minimum | Up to 128 per project |
| STRING tag (Text I/O) | 2 s typical, 500 ms minimum | 1 × up to 256 characters per panel |
| PLC → HMI STRING update | Driven by the panel's Update pointer | 1 STRING recommended to keep cycle low |
Workaround 3 — Bit-Triggered Text Animation
For status text that only changes between a small number of fixed strings (e.g., Auto / Manual / Off / Fault), animate the Visibility of four static text fields, each controlled by a discrete BOOL tag. The PLC maintains the exclusive state — the panel only renders.
Steps:
- Add four static text fields, one per state, on top of each other in the screen.
- For each field, open Properties > Appearance > Visibility and bind it to a BOOL tag with the Animation table.
- Use the PLC side to maintain mutual exclusion:
bManual := bAuto XOR bManualRequested, etc.
Migration Path — From OP77B to KP400 Comfort
If the application truly needs tag-driven text lists and cannot be re-shaped with the workarounds above, migrate to a Comfort-class panel. Siemens designates the KP400 Comfort (6AV2 124-1DC01-0AX0) as the direct successor for the OP77B and for the smaller KTP Basic units. The Comfort image supports the full set of dynamization features:
- Tag fields in text lists
- Cascading text lists (two-level)
- Multilingual text list via project languages
- String tags in I/O fields and in text lists
- VBScript at panel level for index → string translation
Conversion procedure
- In TIA Portal V18 (or later), open the WinCC Flexible 2008 project and choose Project > Migrate to TIA Portal. Select the Comfort target.
- Map all existing tags. The migration wizard moves DB tags, PLC tags, and area pointers automatically.
- Re-open each text list that previously contained a tag field. The tag token is preserved during migration — re-compile to confirm.
- Re-create any I/O field that referenced a STRING tag. The Comfort image supports STRING tags up to 256 characters.
- Download to the KP400 Comfort and verify with the checklist in the next section.
Migration Path — From WinCC Flexible to WinCC Unified V20
For new installations, the recommended target is a WinCC Unified panel (for example MTP700 Unified 6AV2 128-3KB06-0AX0) programmed with TIA Portal V20. WinCC Unified re-introduces dynamic text lists as a first-class object, with the configuration documented in the official Siemens documentation portal.
In WinCC Unified V20, a text list can be dynamized directly from a HMI tag: open the screen object, navigate to the Properties > Text group, select the Text list property, and pick the list you created. The list is bound to a tag and the runtime resolves the entry on every cycle. The official procedure is documented at Dynamizing texts in a text list (RT Unified) - WinCC Unified V20.
Migration caveat
Side-by-Side Capability Comparison
| Capability | KTP600 Basic | OP77B | KP400 Comfort | MTP700 Unified |
|---|---|---|---|---|
| Tag field in text list | No | Yes | Yes | Yes |
| Cascading text list (2 levels) | No | Limited | Yes | Yes |
| Symbolic I/O field | Yes | Yes | Yes | Yes |
| STRING tag in Text I/O | Yes (1 tag) | Yes | Yes | Yes |
| VBScript on panel | No | Limited | Yes | Yes (V20) |
| Multilingual text list | Static only | Static only | Yes | Yes |
| WinCC Flexible project support | Yes | Yes | Yes (migrate) | Yes (migrate) |
| Web-style HTML control | No | No | Limited | Yes |
Alternative Vendor: AutomationDirect C-more Micro
If a Siemens Comfort or Unified panel is not in scope and the project can be re-platformed, the AutomationDirect C-more Micro HMI family offers a Dynamic Text object that displays text located at a string on a PLC, triggered by a discrete event. The object is documented and demonstrated on the AutomationDirect product page at C-more Micro HMI Dynamic Text. The C-more Micro is a 3" to 10" touch panel range with a per-tag cost point comparable to the KTP Basic family and can replace the KTP600 in retrofit projects where the customer is not locked into the Siemens ecosystem.
Verification Checklist
- Compile the WinCC Flexible project for the KTP600 target — confirm no "Too many tag fields" warnings remain in the Messages window.
- Download the project. The panel should reboot and display the start screen within 30 s.
- Toggle the integer tag from the PLC and confirm the Symbolic I/O field updates within one acquisition cycle.
- For STRING tags, open Diagnostics > Tag on the panel and confirm the STRING is read with the correct length.
- If migrating to Comfort, repeat steps 1 – 4 against the KP400 and confirm the original tag-field token in the text list now renders correctly.
- If migrating to Unified V20, use the HMI Simulation table in TIA Portal to step through the integer values and confirm the text list entry matches the expected string.
Edge Cases and Field-Proven Caveats
- Multilingual projects on KTP Basic: only languages installed in Project > Language & Font are downloaded to the panel. Adding a fifth language silently fails; verify the count after download in Panel > Information.
- Acquisition cycle: setting the cycle to 100 ms on more than eight tags overloads the panel's internal OPC queue and triggers delayed updates. Use 1 s as the engineering default.
- STRING tag length: a STRING longer than 32 characters on a 1st-gen KTP Basic is truncated to 32 characters in the Text I/O field without warning. The 2nd-generation panels support up to 256 characters.
- Symbolic I/O field + button combination: when the Symbolic I/O field is also used as a write field, an operator click writes back to the PLC. Disable Mode = Input/Output if you only want display.
- Tag count ceiling: the KTP600 Basic allows up to 128 tags per project. If the cascade requires more, use area pointers or compress the BOOL states into a single INT and decode on the panel side with Visibility animation.
Frequently Asked Questions
Why is the "Insert tag field" item greyed out in my KTP600 text list?
Because the KTP600 Basic runtime (Linux CE image) does not export the STRING list resolver that OP77B and TP177B panels ship with. The WinCC Flexible compiler strips the token at build time and emits the "Too many tag fields" warning. Use a Symbolic I/O field, a STRING-based Text I/O field, or migrate to a Comfort-class panel to recover the feature.
Can I edit the .hmi XML to force a tag field onto the KTP600?
No. The Basic panel refuses the download with a runtime error when an unsupported dynamic field is detected, even if the engineering tool accepts the change. Always stay within the editor's validation rules.
Which Comfort panel is the official successor for the KTP600 Basic?
Siemens positions the KP400 Comfort (6AV2 124-1DC01-0AX0) as the smallest Comfort-class successor. The TP700 Comfort (6AV2 124-1GC01-0AX0) is the direct 7" widescreen replacement for the KTP1000/1200 Basic. Both accept migrated WinCC Flexible projects through TIA Portal V18 and later.
Does WinCC Unified V20 restore dynamic text lists?
Yes. WinCC Unified re-implements text lists as a first-class object and supports tag-driven dynamization in the Properties > Text group of every screen object. The official procedure is documented at Siemens TIA Portal V20 documentation.
Is there a third-party panel that supports dynamic text without a Comfort-class budget?
The AutomationDirect C-more Micro HMI family offers a Dynamic Text object that displays a string from the PLC when a trigger value is active, as shown on the C-more Micro HMI Dynamic Text product page. The C-more Micro is a viable swap-in for non-Siemens retrofits.