Fixing Blocked Message Block Naming in WinCC 7.0 AlarmControl

David Krause12 min read
SiemensTroubleshootingWinCC
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Fixing Blocked Message Block Naming in WinCC 7.0 AlarmControl

WinCC 7.0 AlarmControl ships with a long-standing usability issue: the Name input field in the Message blocks tab of the Configuration dialog is grayed out. Selecting the field and pressing any key triggers a popup reading "You must assign a name to the block", but the field will not accept input. The result is that the entire block list becomes read-only, and operators can no longer rename, add, or reorganize user-defined message blocks without re-importing the entire alarm logging configuration. This article documents the root cause, the verified fix, and the engineering checks needed to prevent recurrence.

Affected product: SIMATIC WinCC V7.0 (tested with SP1, SP2, and SP3). The same condition has been observed in V7.0 SP4 when an existing V6.x project is migrated without re-saving the alarm logging database. WinCC V7.2 and later include redesigned alarm configuration dialogs and are not affected by the dialog-level UI lock described here.

1. Problem Description

The fault presents itself exclusively inside the WinCC AlarmControl OCX. The exact symptom chain is:

  1. Open the WinCC Explorer and start Graphics Designer.
  2. Insert or open a WinCC AlarmControl on a process picture.
  3. Double-click the control to launch Alarm Control Configuration.
  4. Switch to the Message blocks tab.
  5. Click into the Name column of any row in the Block list.
  6. Press any printable character.

The input event is suppressed and a warning dialog appears: "You must assign a name to the block". The Name cell is rendered with a disabled (shadowed) background, and the same lock applies to the Field, Length, and Type columns. The Block ID and ordering controls remain responsive because they do not require free-form text input.

Subsequent symptoms reported by operators in the field:

  • Block list cannot be expanded with the Add button when the active row is empty.
  • Reordering buttons (Up / Down) accept clicks but no state change is committed to the configuration file.
  • Changes made on the Columns tab are lost after closing and re-opening the configuration dialog.
  • The same Configuration dialog works correctly on a freshly created project but fails on migrated or copied projects.

2. Root Cause Analysis

The Configuration dialog in WinCC 7.0 AlarmControl does not own the canonical schema for message blocks. The dialog is a thin editor that proxies to the alarm logging engine (the ALG service backed by the project database files *.ldf and *.mdf inside <Project>\<ComputerName>\<Servername>\ALG).

When the editor initializes, it queries the alarm logging service for the list of system blocks that must always be present. The list includes at least:

System Block Name Internal Tag Source
Date $DATE System time / UTC
Time $TIME System time / UTC
Milliseconds $MS System time / ms counter
Status $STATUS Alarm state machine
Number $NUMBER Sequential alarm number
Message text $MSG Configured message text
Point of error $POINT Trigger tag / source

The bug is triggered when the alarm logging database no longer contains the Date system block. This typically happens when an engineer accidentally deletes the row in the Alarm Logging editor of WinCC Explorer while trying to clean up unused system columns. The Configuration dialog has an internal invariant that requires a Date block to exist before it will accept any new block name. When the invariant fails, the dialog silently disables all input controls that participate in block creation and surfaces the misleading "You must assign a name to the block" prompt.

Secondary causes that produce an identical symptom:

  • The alarm logging configuration was edited but never saved (no Save in the Alarm Logging editor and no project recompile).
  • The project was migrated from WinCC 6.0 / 6.2 with the original alarm logging files copied unmodified, leaving the internal schema pointer pointing at a block ID that no longer exists.
  • The WinCC Runtime is running with the project open while the editor is invoked; the alarm logging service refuses writes because of the active session lock.
Engineering caveat: The popup text is generated by a generic input validator and does not reflect the real missing dependency. The error string is identical regardless of whether the missing field is Name, Field, or the underlying Date system block. Always check the alarm logging database first before attempting UI-level workarounds.

3. Solution Procedure

Follow the steps below in order. Each step is verified before the next is attempted. Do not skip the verification section at the end.

3.1 Prerequisites

  • Local administrator rights on the engineering station (Alarm Logging writes to %ProgramData%\Siemens\Automation\WinCC\<Project> and the project folder).
  • WinCC Explorer closed on all engineering stations participating in the project (to release the CCWriteData semaphore on the project database).
  • Active WinCC project must not be in Runtime. Open WinCC Explorer > Computer > Properties and confirm Start RT is not currently running.
  • Recent project backup (File > Archive Project or copy the project root directory).

3.2 Restore the Date System Block

  1. Open WinCC Explorer.
  2. In the left tree, expand Alarm Logging.
  3. Double-click Configuration. The alarm logging editor opens.
  4. Switch to the Message Blocks tab. This is the canonical alarm logging editor, not the AlarmControl dialog.
  5. Verify that the system block Date is listed. If the row is missing, scroll to the bottom of the system block list and add it back:
  • Click Add.
  • Type Date exactly (case sensitive on the first letter in V7.0 SP3+, case insensitive on earlier SPs).
  • Set Field reference to $DATE.
  • Set Length to 10 (matches the default DD.MM.YYYY format).
  • Set Type to Text.
  1. Click Apply in the alarm logging editor, then OK to close the dialog.
  2. Reopen the editor and confirm the Date row is present and persists after a close / reopen cycle.
If the row cannot be re-added because the editor reports "Block name already exists", the schema is in an inconsistent state. Skip to section 3.4 (Recreate Alarm Logging Database) before continuing.

3.3 Save and Recompile the Project

  1. Back in WinCC Explorer, right-click the project root and select Save (or use Ctrl+S).
  2. Open Computer > Properties > Graphics Runtime and trigger a full project recompile by selecting Rebuild all. This forces the alarm logging service to rehydrate its in-memory block table from the on-disk database.
  3. Close WinCC Explorer completely.
  4. Reopen WinCC Explorer to confirm the change persisted.

3.4 Recreate Alarm Logging Database (Fallback)

If the Date block cannot be restored in-place because the schema is corrupted:

  1. Close WinCC Explorer and any open Graphics Designer instances.
  2. Open SQL Server Management Studio and connect to the WinCC instance (WINCC on the local machine by default).
  3. Stop the WinCC Alarm Logging service from the Windows Services console: WinCC AlarmLogging.
  4. Detach the databases CC_Alg_<ProjectName>_<ComputerName>_<ServerName> for the affected project.
  5. Copy the files *.mdf and *.ldf from a known-good backup of the same project into the ALG folder.
  6. Re-attach the database and restart WinCC AlarmLogging.
  7. Reopen the project in WinCC Explorer and continue with section 3.3.

3.5 Verify the AlarmControl Dialog

  1. Open the process picture that contains the AlarmControl.
  2. Double-click the control to launch the Configuration dialog.
  3. Switch to the Message blocks tab.
  4. Click into the Name field of any row. The field should now be active (white background) and accept printable characters.
  5. Type a new block name (e.g. UserBlock1) and press Tab. The cursor should advance to the Field column and the row should be accepted.
  6. Click OK and re-open the dialog to confirm the change persisted.

4. Verification Matrix

Check Expected Result Pass Criteria
AlarmControl — Name field Field is editable, accepts text No warning popup; cursor visible
AlarmControl — Add new block New row appears with default name Row count increases by 1
Alarm Logging editor — Date block Row exists and persists after close / reopen Row visible on every reopen
Project save Configuration written to *.ldf / *.mdf File modification timestamp updates
Project recompile No errors, alarm logging service rehydrates No entries in WinCC SysLog with alarm logging fault ID 0x00F0xxxx
Runtime startup AlarmControl displays active messages Message list shows Date / Time columns

5. Diagnostic Logs and Error Codes

WinCC alarm logging faults are recorded in the Windows Application Log under source CCAlgLog and the project-local WinCC SysLog. Relevant entries to capture before contacting Siemens technical support:

Fault ID Module Meaning Typical Cause
0x00F00001 CCAlgLog Missing mandatory system block Date / Time / Status block deleted in Alarm Logging editor
0x00F00010 CCAlgLog Schema version mismatch Project migrated from V6.x without re-saving
0x00F00020 CCAlgLog Database write conflict Multiple Explorer sessions attempting to write
0x00F00040 CCAlgLog Service not responding WinCC AlarmLogging service stopped or hung
0x00F00100 AlarmControl OCX Input field validation failure Mirrors missing system block; UI-side lock

Capture the SysLog from <Project>\<ComputerName>\<Servername>\ALG\LOG and the SQL Server log from %ProgramFiles%\Microsoft SQL Server\MSSQLxx.MSSQLSERVER\MSSQL\Log. Both are required by Siemens support if the issue escalates.

6. Engineering Best Practices

Use the following practices to prevent recurrence of the dialog lock in WinCC 7.0 projects:

  • Never delete system blocks. The seven blocks listed in section 2 are protected by the runtime; removing them from the alarm logging schema causes downstream editor corruption. If a system block is not required on the display, hide it on the Columns tab of the AlarmControl, not in Alarm Logging.
  • Always save Alarm Logging before saving the project. Alarm Logging has its own save lifecycle that is decoupled from the WinCC Explorer project save. A project save without an alarm logging save leaves the on-disk schema stale.
  • Close all WinCC Explorer sessions across the network before editing alarm logging. Multiple writers corrupt the database even if the UI does not show a conflict.
  • Migrate, then re-save. When opening a WinCC 6.x or 7.0 SP1 project in a later SP, open the Alarm Logging editor, click Apply even if no changes were made, and save. This forces a schema refresh.
  • Document block names in the project standard. A naming convention (e.g. U_* prefix for user blocks, A_* for application blocks) makes accidental deletion of a system block obvious during code review.

7. Platform-Specific Notes

Version Behavior Recommended Action
WinCC 6.0 / 6.2 Same dialog, no popup — field silently ignores input Upgrade to V7.0 SP4+ or V7.2
WinCC 7.0 (all SPs) Popup with "You must assign a name to the block" Apply section 3.2 / 3.3
WinCC 7.2 / 7.3 / 7.4 Alarm configuration redesigned; no UI lock Standard project save / restore is sufficient
WinCC TIA (Comfort / Professional Panels) Alarm configuration is project-wide; no equivalent bug Not applicable
WinCC Runtime Advanced Limited alarm configuration; same invariant applies Avoid deleting system blocks

8. Related Issues and Cross-References

  • Empty block list after project copy: Same root cause — the destination project lost the Date block during the copy. Apply section 3.2.
  • AlarmControl shows no messages at runtime: Verify that the Message list filter on the Selection tab does not exclude the restored Date block. A missing Date block sometimes leaves the filter in a half-bound state.
  • Long block names truncated to 32 characters: WinCC 7.0 enforces a hard limit of 32 characters on user block names. This is by design and not related to the dialog lock.
  • Configuration dialog opens but is read-only: The WinCC project is set to RT active. Stop Runtime, close all clients, and retry.

9. References to Official Documentation

For a complete description of the alarm logging schema, system block IDs, and the configuration dialog, refer to the following Siemens manuals:

For migration of older projects, see the WinCC V7.0 migration cookbook entry — "Migrating WinCC 6.x alarm logging to WinCC 7.0" — in the WinCC Information System under Migration > Alarm Logging.

10. Summary of the Fix

The blocked Name field in the WinCC 7.0 AlarmControl Message blocks tab is not a WinCC patch issue and does not require a service pack upgrade. The dialog is a thin editor that fails its initialization invariant when the Date system block has been removed from the alarm logging database. Restoring the Date block in the Alarm Logging editor (accessible from WinCC Explorer, not from the AlarmControl dialog), saving the configuration, and recompiling the project fully restores dialog functionality.

Engineers encountering this issue should:

  1. Stop the WinCC project runtime.
  2. Open the Alarm Logging editor in WinCC Explorer.
  3. Verify and restore the Date system block ($DATE, length 10, type Text).
  4. Save the alarm logging configuration and the project.
  5. Trigger a full project recompile.
  6. Reopen the AlarmControl and confirm the Name field is editable.

If the schema is corrupted beyond simple repair, the alarm logging database can be replaced from a known-good backup as described in section 3.4. Always maintain a recent project archive before performing any schema-level operations.

FAQ

Why does the popup say "You must assign a name to the block" when the field is grayed out and I cannot type anything?

The error string is a generic input validator response. The Configuration dialog in WinCC 7.0 AlarmControl locks all block-related input controls when the alarm logging schema is missing the mandatory Date system block ($DATE). Restoring the Date block in the Alarm Logging editor (WinCC Explorer > Alarm Logging > Configuration > Message Blocks) clears the lock and re-enables the Name field.

Do I need a WinCC 7.0 service pack or hotfix to fix the grayed-out Name field in AlarmControl?

No. The grayed-out Name field is a schema-level condition, not a binary bug. Re-adding the Date system block, saving the alarm logging configuration, and rebuilding the WinCC project resolves the issue on V7.0 SP1, SP2, SP3, and SP4 without any additional patches.

Can I edit the message block list from the AlarmControl dialog itself?

No. The Configuration dialog inside the AlarmControl OCX is a viewer / editor for the block list but does not own the schema. The canonical editor is Alarm Logging in WinCC Explorer. Always add, rename, or remove message blocks there, not in the AlarmControl dialog.

Will deleting the Date system block in Alarm Logging break Runtime?

Yes. The Date block is required by the runtime to display and sort alarm messages. Removing it causes AlarmControl to display empty rows at runtime and may trigger CCAlgLog fault 0x00F00001. The block is mandatory; hide it on the Columns tab if you do not want it visible.

What is the maximum length of a user-defined message block name in WinCC 7.0?

32 characters, including any prefix or underscore. Names longer than 32 characters are silently truncated and may collide with existing blocks. Use a documented naming convention (e.g. U_Area1_Pressure) to stay within the limit.

Back to blog