Resolving CEMAT Alarm: Cannot Write the Tag in SIMATIC PCS 7 WinCC Client-Server Systems

Resolving CEMAT Alarm: Cannot Write the Tag in SIMATIC PCS 7 WinCC Client-Server Systems

In SIMATIC PCS 7 running the CEMAT industry standard (such as CEMAT v8.0 or v8.1), the recurring operator alarm 'Cannot write the tag ' occurs when a WinCC Client issues an action command via a faceplate or group overview, but the dynamic tag address cannot be resolved or committed by the WinCC Server. This is primarily caused by out-of-sync WinCC Server Packages on the client following a migration, missing operator control authorizations, or stale client-side tag cache files ('Client.dcf' / 'Client.pcf'). To resolve this, regenerate and re-import the WinCC Server Package on all clients, delete orphaned client cache files, and verify that CEMAT block instances in CFC have identical symbolic names across the multi-project.

Table of Contents

Architecture of CEMAT Client-Server Messaging and Control Commands

CEMAT (Cement Automation) is Siemens' specialized process control library tailored for minerals, mining, and cement manufacturing plants running SIMATIC PCS 7. CEMAT relies on standardized technological blocks—such as C_DRV_1D (unidirectional motor), C_DRV_2D (bidirectional motor), C_VALVE (valve), and C_GROUP (group sequential control).

In a distributed PCS 7 architecture:
* The Automation Station (AS): Executes CEMAT block logic in the S7-400 CPU, managing interlocking, motor protections, and group start/stop sequences.
* The WinCC OS Server: Maintains the central tag management database, reads cyclic communication frames from the AS via Named Connections, and manages alarm logging.
* The WinCC OS Client: Connects to the OS Server across the terminal bus. Operators click buttons on CEMAT faceplates (e.g., "Group Start", "Fault Reset", "Bypass Interlock") to command equipment.
* Command Transmission: Operator actions on the client execute C-actions or VBS scripts that construct dynamic tag strings (combining the block name and internal variable, such as Drive1.Cmd_Start) and issue write requests across the terminal bus to the OS Server.

Why the 'Cannot Write the Tag' Alarm Triggers in WinCC Runtime

The system alarm:
Cannot write the tag <tagname unknown> <varname unknown>
is an automated diagnostic message generated by the WinCC Graphics Runtime subsystem (pdlrt.exe) when a SetTag* command fails:

  1. Tag Name Formatting Failure: If the faceplate script attempts to write to a tag using dynamic string concatenation and encounters an empty or uninitialized tag prefix property (e.g., #tag is empty or malformed), the script passes null strings to the write API, producing <tagname unknown>.
  2. Missing Tag in Server Tag Management: If a block was renamed, added, or modified in CFC without a subsequent Compile OS and Generate Server Package, the OS Client attempts to write to a tag name that does not physically exist in the WinCC Server tag dictionary.
  3. Operator Permission Denial: If an operator clicks an operational button on a CEMAT client without holding the requisite CEMAT operator rights (e.g., authorization for group control or interlocking bypass), the script write attempt is rejected by the server's security manager, raising the system alarm.
  4. Transient Network Socket Drop: If the OS Client loses Layer 4 TCP socket communication to the OS Server during the brief transaction window of the write command, the write times out and generates the error.

The Role of Server Packages and Client-Side DCF/PCF Cache

In distributed PCS 7 systems, OS Clients do not scan the PLC directly; they read and write through the WinCC Server Package (.pck file):

  • The Server Package: Contains the catalog of all server tags, picture names, and archive definitions. When the server compiles, a new package is generated.
  • Client Cache (Client.dcf / Client.pcf): To optimize startup times, each WinCC Client caches server package metadata locally in files named <Project_Name>.dcf and <Project_Name>.pcf located in the client project folder.
  • The Cache Desynchronization Trap: If a server is updated or migrated, but the client retains an obsolete .dcf file, the client's local cache points to old memory offsets or non-existent tag identifiers. When the client executes an action, it issues a write to an invalid handle, triggering the "Cannot write the tag" alarm.

Post-Migration Inconsistencies Between CEMAT V8.0 and V8.1

The frequency of this alarm spikes dramatically following system migrations (e.g., upgrading from PCS 7 V8.0 SP1 CEMAT V8.0 to PCS 7 V8.1 CEMAT V8.1):

  • Interface Modifications: In CEMAT V8.1, Siemens updated internal data block structures and status words on standard blocks (C_DRV_1D, C_GROUP) to align with modern APL ergonomics.
  • Partial Migration Discrepancies: If the Engineering Station updated the AS blocks and OS Server, but an OS Client was migrated using an incomplete script overwrite, the client continues using legacy V8.0 faceplates. These legacy faceplates attempt to write to retired V8.0 tag parameters that no longer exist in the V8.1 server tag database.

Diagnostic Matrix for CEMAT Tag Writing Failures

The following table details diagnostic checks and recovery paths for CEMAT tag write alarms:

Failure Root CauseSpecific Diagnostic EvidenceVerified Corrective ActionStale WinCC Server PackageAlarm occurs across multiple blocks on client onlyGenerate Server Package on OS Server; Update/Load Package on OS ClientCorrupted Client Cache (.dcf / .pcf)Alarm occurs exclusively on one specific client machineClose WinCC on client; delete <Project>.dcf and <Project>.pcf; restart WinCCOutdated CEMAT Faceplates on ClientAlarm occurs when opening specific legacy faceplatesDeploy updated CEMAT V8.1 faceplates to client GraCS via OS Project EditorMissing User AuthorizationAlarm triggers only when specific operators click buttonsIn WinCC User Administrator, assign proper CEMAT authorizations to user groupNetwork Latency or Packet LossWinCC SIMATIC_S7_PROTOCOL_SUITE_01.LOG logs timeoutsVerify network card duplex settings; update NIC drivers; disable power-saving modesRenamed Block in CFC Without Full OS Compile<tagname unknown> references a decommissioned equipment tagRun complete OS compilation with memory reset; reload server packages

Step-by-Step Procedure to Eliminate CEMAT Tag Write Alarms

Follow this verified procedure to eliminate CEMAT tag writing errors across client-server architectures:

  1. Perform Full OS Server Compilation:
    * In SIMATIC Manager, right-click the OS Server project > Compile.
    * Perform an entire compilation to ensure all CEMAT block tags are registered in WinCC Tag Management.
  2. Regenerate and Export Server Packages:
    * Open the OS Server project in WinCC Explorer.
    * In the navigation tree, right-click Server Data > select Create....
    * Wait for package creation to complete successfully.
  3. Purge Client DCF and PCF Cache:
    * Close WinCC Explorer completely on all affected WinCC Client stations.
    * Open Windows File Explorer on the client machine and navigate to the client project folder (e.g., D:\WinCC_Projects\OS_Client\).
    * Delete <Project_Name>.dcf and <Project_Name>.pcf (WinCC regenerates these files automatically upon launch).
  4. Update Server Packages on WinCC Clients:
    * Launch WinCC Explorer on the OS Client.
    * Right-click Server Data > select Update... (or right-click the loaded package and select Load... to point to the newly generated server .pck file).
  5. Run OS Project Editor on Clients:
    * Open OS Project Editor on each client.
    * Execute the editor to ensure client-side @PG_*.pdl and CEMAT script files match the active V8.1 library version.
  6. Verify NIC Configuration:
    * On OS Clients, open Windows Device Manager > Network Adapters > Properties > Power Management.
    * Ensure Allow the computer to turn off this device to save power is strictly unchecked.

Verification

Verify that tag write operations execute cleanly across all clients:
1. On the affected WinCC Client, log in with an operator account and open a CEMAT drive (C_DRV_1D) and group (C_GROUP) faceplate.
2. Issue operational commands: Click Start, Stop, and Fault Reset. Verify that the command executes instantly in the AS without triggering the "Cannot write the tag" alarm.
3. Open the WinCC Alarm Logging window and confirm that zero system alarms referencing <tagname unknown> or <varname unknown> are generated.
4. Open <WinCC_Project>\Diagnostics\WinCC_Sys_01.log and verify there are no unresolved tag write failure entries.

Limitations and Operational Precautions

  • Client-Side Editing Prohibitions: Never manually edit CEMAT scripts or faceplates directly on a WinCC Client machine. All modifications must be made on the Engineering Station and deployed via central OS compilation and package distribution.
  • Redundant Server Synchronization: In redundant OS Server pairs, ensure the Server Package is created on the master server only after both servers have synchronized their runtime databases via WinCC Redundancy.
  • CEMAT Hotfixes: Always ensure that the exact same CEMAT hotfix level is installed across all nodes: Engineering Station, OS Servers, and OS Clients. Mismatched hotfixes cause subtle tag structure discrepancies.
  • Commercial Accuracy: CEMAT licenses (6ES7658-2CX58-0YB5 or CEMAT engineering add-ons) are governed by strict capacity tiers. Validate license compliance through an authorized Siemens distributor quotation.

Engineer FAQ

Why does the alarm text display '' instead of the actual tag name?

When a WinCC script attempts to construct a tag name dynamically and a variable returns null (for example, reading an empty #tag property), the WinCC error handler has no string to display, resulting in the placeholder <tagname unknown>.

Can deleting the Client.dcf file cause data loss on an OS Client?

No. The .dcf file is purely a temporary binary cache used by WinCC to accelerate project opening. Deleting it forces WinCC to re-read the master project database and server package cleanly from disk.

Why does this alarm appear only on one specific client workstation?

Workstation-specific alarms typically indicate a corrupted local .dcf cache, an outdated server package on that specific machine, or network interface card (NIC) power-saving dropouts interrupting TCP write packets.

Do CEMAT blocks require special user authorization numbers in WinCC User Administrator?

Yes. CEMAT utilizes specific authorization levels (such as Level 5 for standard operation, Level 6 for interlock bypasses, and specialized levels for group start/stop). Missing these levels will block tag writes and generate security rejection logs.

Technical References

Related Articles

Related Tags

  • CEMAT
  • WinCC Client-Server
  • Cannot Write Tag
  • Server Data
  • Client.dcf
  • PCS 7 Minerals
6 respuestas