Resolving WinCC V7.3 Alarm Control Print Column Width Mismatch

David Krause11 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

Problem Description

In Siemens WinCC V7.3 runtime, the WinCC Alarm Control object can render alarm messages with correct column widths. Date, time, state, and text columns display with the appropriate number of characters, the row layout is readable, and the user can sort, filter, and acknowledge events normally. The same Alarm Control, however, produces a truncated or compressed printout when the integrated print button (or a custom print trigger) is activated.

Typical symptoms reported in the field:

  • Date column shows ##/##/#### or is cut to the right edge of the cell.
  • Time column displays only HH:MM instead of HH:MM:SS or HH:MM:SS.ms.
  • State/Priority column is squeezed, so values such as Incoming, Outgoing, or Acknowledged overflow.
  • The first visible column becomes very narrow in the exported .xps document, even though the same column is wide in the on-screen Alarm Control.
  • Editing the report @Alarm Control – Table and adding columns to the WinCC Control Runtime Printprovider.Table object does not change the output.

The issue is reproducible on every printout until the column properties are explicitly adjusted in the correct configuration location.

Affected Versions and Components

The behavior is documented against the following configuration baseline:

Component Value Notes
WinCC Version V7.3 (incl. Update 1–14) Issue confirmed on V7.3 baseline; similar behavior on V7.2 and V7.4 when Printprovider is used
WinCC Alarm Control ActiveX / .NET control embedded in a Graphics Designer picture Used with the integrated Print toolbar button
Print provider WinCC Control Runtime Printprovider.Table Drives the print layout of the table control
Report template @Alarm Control – Table Layout file that contains the printprovider object
Output Local printer, .xps, .pdf (via virtual printer) All output channels show the same compression
Archive source Alarm Logging Runtime, short-term and long-term archive Affects both live and historical printouts
Scope note: This article addresses the table-style printout of the WinCC Alarm Control. The page-layout (Ruler) report template @Alarm Logging Runtime Long-term archive report is a separate object with its own column definitions and is treated in a dedicated section below.

Root Cause Analysis

The WinCC Alarm Control uses a layered configuration model. The visible column widths in runtime are determined by the control's own message block properties, while the printout column widths are determined by the Printprovider that receives the data. The two layers do not always inherit from each other.

Specifically:

  1. When the option Apply project settings in Properties → Message blocks is enabled (default), the control applies the project-wide column definitions stored in the WinCC Alarm Editor. These settings govern only the on-screen display.
  2. The print path (Printprovider.Table) captures the column metadata at print time. If the project settings are still active, the print provider receives the default project widths, not any runtime override applied via the Alarm Control's Columns dialog.
  3. Unchecking Apply project settings in the Alarm Control changes the runtime column widths but does not propagate these new widths to the Printprovider, because the print provider reads the column definition from its own configuration source at the moment the print job is built.
  4. The report @Alarm Control – Table contains a Printprovider.Table object. Adding columns to this object only changes which columns are printed, not the width of each column. The width is governed by properties of each column within the Printprovider object.

Therefore, the printout is "stuck" on the project-level column widths even after the Alarm Control runtime is reconfigured.

Runtime vs. Print: How Column Widths Are Resolved

The following decision flow shows how WinCC resolves the width of each column at runtime and at print time:

WinCC Alarm Control (on-screen) Printprovider.Table (printout) Message blocks "Apply project settings" Columns dialog (runtime override) Printprovider column properties Report layout @Alarm Control – Table (no inheritance)

The two configuration trees share the Alarm Editor only when the Apply project settings flag is on. Once it is unchecked, the runtime view diverges from the print view, and each side must be configured independently.

Solution 1: Configure Message Block Column Widths

Use this procedure to set a baseline that applies to both runtime and print when project settings are the source of truth.

  1. Open WinCC Explorer and select the Alarm Logging editor.
  2. For each message block you need (Date, Time, State, Priority, Number, Text, etc.), open the column properties.
  3. Set the Length property in characters. Recommended starting values:
    Message Block Recommended Length Notes
    Date 10 For DD.MM.YYYY format
    Time 8 For HH:MM:SS; use 12 for milliseconds
    State 12 Fits Incoming/Outgoing/Acknowledged
    Priority 4 Numeric 0–16
    Number 10 Up to 10-digit alarm numbers
    Text 40–60 Truncate longer messages or use ellipsis
  4. Save and close the Alarm Logging editor.
  5. Open the picture that contains the WinCC Alarm Control in Graphics Designer.
  6. Select the Alarm Control and open Properties → Message blocks.
  7. Leave Apply project settings checked so the widths propagate to Printprovider.Table.
Why this works: With project settings applied, the print provider reads the same column definition object that the Alarm Control displays, which produces consistent output.

Solution 2: Override Column Widths in the Alarm Control

Use this procedure when you need a different layout at runtime than what is configured globally in the project (for example, a wider text column on the operator screen).

  1. Open the picture with the WinCC Alarm Control in Graphics Designer.
  2. Select the control and open Properties → Message blocks.
  3. Uncheck Apply project settings. The Length and other column-specific fields become editable.
  4. Adjust the Length of the Date, Time, and any other column until the runtime display is satisfactory.
  5. Save the picture and test in runtime. The on-screen view should now reflect the new widths.
  6. The printout will not change yet — proceed to Solution 3.

Solution 3: Adjust the Printprovider.Table Column Widths

This is the procedure that resolves the actual print output. The print provider keeps its own per-column width values that are independent of the Alarm Control's runtime overrides.

  1. Open the Report Designer in WinCC Explorer.
  2. Open the layout @Alarm Control – Table (located under Report Templates → Alarm Logging).
  3. Select the WinCC Control Runtime Printprovider.Table object on the layout page.
  4. Open its Properties dialog and switch to the column configuration (selection depends on the WinCC version: Columns, Column properties, or Selected columns).
  5. For each column that appears truncated in the printout, set its Width in characters or in the unit used by the control (typically characters, sometimes millimeters depending on the report). Use the values from the table in Solution 1 as a starting point.
  6. Click OK and save the report layout.
  7. Trigger a print from runtime and verify the output.

Column width values entered in the Printprovider.Table are stored inside the layout file @Alarm Control – Table.rpl (and the matching .emf/.xml companions). Distribute the updated layout with the project if you work with a multi-user or multi-server setup.

Solution 4: Modify the Long-Term Archive Report Layout

If the printout originates from the historical Long-term archive report instead of the live Alarm Control, a different object is responsible for the column widths.

  1. Open the Report Designer and locate the layout @Alarm Logging Runtime Long-term archive report (under Report Templates → Alarm Logging).
  2. Open the column list of the table object on the layout.
  3. Edit the Width property of each column to match the desired print layout.
  4. Save the report and re-trigger the long-term archive print job (typically scheduled in Time-Scheduled Tasks in the Alarm Logging editor).

The two report templates (live Alarm Control vs. long-term archive) are not synchronized; both must be configured individually if your plant uses both.

Alternative: Export to Excel and Adjust Externally

When the print provider cannot be reconfigured (e.g., third-party restrictions on report templates), export the alarm data to Excel and fix the column widths in the workbook before printing. This is a documented Microsoft Office procedure:

  1. In Excel, open the exported alarm file.
  2. Press Ctrl+A to select all cells.
  3. On the Format menu, click Style.
  4. In the Style name list, click Normal and then Modify.
  5. On the Number tab, clear the Locked option so column widths can be set; on the Alignment tab, clear Wrap text if you do not want rows to expand vertically.
  6. Click OK, then select all columns (click the column header) and use Format → Column → Width to set a consistent width.
  7. Save and print.

For more details on this Microsoft Office procedure, refer to the official Microsoft Support article KB9756DB9 on column-width discrepancies when printing Excel files.

Page Setup and Output Channel Considerations

Even when the Printprovider column widths are correct, the output device can truncate the data. Verify these settings after adjusting the column widths:

Setting Location in Report Designer Recommended Value
Page orientation Page Setup on the report layout Landscape for more columns
Page size Page Setup → Paper A4 or Letter to match the target printer
Margins Page Setup → Margins ≤ 10 mm on all sides
Print scaling Page Setup → Options Fit to page width if total width exceeds page
Print output target Control properties → Print Match the configured printer driver

If you print to .xps for electronic archiving, remember that the .xps viewer honors the layout as it was rendered. A column that was truncated by the print provider is truncated in .xps as well, which is why addressing the print provider directly is the only durable fix.

Verification Steps

After applying any of the solutions above, perform the following sequence to confirm the fix:

  1. Start WinCC Runtime and open the picture that contains the Alarm Control.
  2. Trigger a print of the Alarm Control (toolbar Print button or the configured hotkey).
  3. Inspect the preview or printed page: every message block (Date, Time, State, Number, Text, etc.) must be fully visible without trailing ### or ellipsis.
  4. Compare the column widths between the on-screen Alarm Control and the printout. They do not need to be identical, but each must be wide enough to display the longest expected value.
  5. Repeat the test on the long-term archive report (if used) by printing a date range that includes a known event.
  6. Document the final Width values in the project documentation so future service engineers do not re-apply the project defaults.

Troubleshooting Matrix

Symptom Likely Cause First Action
Date column truncated in printout but OK on screen Printprovider.Table column width too small Solution 3: widen the Date column in @Alarm Control – Table
Time column truncated in printout but OK on screen Same as above, Time column Set Time column width to 8 (HH:MM:SS) or 12 (with ms)
First column squeezed in .xps output Layout page width smaller than combined column widths Solution 1 + Page Setup: switch to Landscape, reduce margins, or enable Fit-to-width
Printout shows project defaults after editing Alarm Control columns Printprovider does not inherit runtime overrides Solution 3: edit the Printprovider.Table column widths directly
Long-term archive printout has wrong widths Wrong report layout was edited Solution 4: edit @Alarm Logging Runtime Long-term archive report
Printout still wrong after layout edit Project still running with old cached layout Stop WinCC Runtime, re-deploy the project, then start Runtime
Excel export shows correct data, wrong column width on print Excel Normal style overrides column width Follow the Microsoft KB procedure (Alternative section)
Columns visible in runtime are missing in printout Report layout does not include those columns Edit @Alarm Control – Table → add columns to Printprovider.Table

Best Practices for Long-Term Maintainability

  • Treat the Alarm Control and the Printprovider as two separate configurations. Document the intended width for each column on each side.
  • Prefer Apply project settings = ON unless the operator screen has a strict layout requirement. With project settings on, you only edit column widths in one place (the Alarm Editor) and both runtime and print stay in sync.
  • Use the same paper size and orientation in the project standard and in the operator station printer driver to avoid fit-to-width scaling artifacts.
  • When upgrading WinCC, re-validate the report templates. Siemens has historically carried Printprovider changes between V7.3, V7.4, and V7.5 that affect default widths.
  • Keep a printout sample from a known event in the project documentation. It makes future regression checks straightforward.

FAQ

Why do my Alarm Control columns look correct in runtime but are truncated in the printout?

The WinCC Alarm Control uses one set of column widths for the on-screen display, and the Printprovider.Table inside the report layout @Alarm Control – Table uses a separate set for the print job. Unchecking Apply project settings only changes the runtime view; the print provider keeps its own widths. Edit the columns of the WinCC Control Runtime Printprovider.Table object in the Report Designer to fix the printout.

Which WinCC version does this column-width issue apply to?

It is confirmed on WinCC V7.3 (any update level). The same root cause applies to V7.2 and V7.4 because they share the same Printprovider architecture. The fix procedure (edit the Printprovider.Table columns inside the report layout) is the same across these versions.

Do I need to edit the @Alarm Control – Table layout for the long-term archive printout?

No. The long-term archive uses a different layout called @Alarm Logging Runtime Long-term archive report. Both layouts must be configured individually if your plant prints from both sources.

What column width should I use for the Date and Time message blocks?

Use a Length of 10 characters for the Date (for DD.MM.YYYY) and 8 characters for the Time (for HH:MM:SS). Increase Time to 12 if the project includes milliseconds. Apply the same values in the Alarm Editor, the Alarm Control properties, and the Printprovider.Table columns to keep runtime and printout aligned.

I exported the alarms to Excel and the columns are still wrong when I print. What now?

The Excel Normal style is overriding the column width. Open the workbook, press Ctrl+A, then on the Format menu click Style, choose Normal and click Modify, clear the Locked option on the Protection tab, and clear Wrap text on the Alignment tab. Then select all columns and use Format → Column → Width to set a consistent width. The full procedure is documented in the official Microsoft Support article KB9756DB9.

Back to blog