Resolving Question Marks in PCS 7 Module Diagnostic Messages

Resolving Question Marks in PCS 7 Module Diagnostic Messages

The appearance of question marks (e.g., 'Module ??/??/??/??: Failure') in SIMATIC PCS 7 OS diagnostic messages indicates that dynamic substitution parameters associated with the alarm were not transferred from the automation station, or that language text formatting is inconsistent. In PCS 7 V8.2, module diagnostic blocks (MOD_D1, MOD_MS, OB_DIAG1) utilize Alarm_8P blocks with associated values (SD_1 to SD_4) representing Station, Rack, Slot, and Subslot. When WinCC Runtime starts while an I/O fault is already active, the message buffer displays placeholder question marks because dynamic parameters are only transmitted upon state transitions. Clearing the hardware fault, re-triggering the alarm, or regenerating module drivers restores the numeric hardware identifiers.

Table of Contents

Mechanics of Dynamic Substitution Parameters in Alarm_8P

In SIMATIC PCS 7, module driver blocks automatically generated by the CFC compiler (e.g., MOD_D1 FB1865, MOD_MS FB1866) supervise distributed I/O racks (ET 200M, ET 200SP, ET 200iSP). When a module fails, loses communication, or experiences a wire break, the block triggers a system message via Alarm_8P (FB19).

The message text template configured in the system library contains placeholder format tags:

Module @1%d@/@2%d@/@3%d@/@4%d@: Failure
where:
- @1%d@ = Parameter SD_1: Station / Subsystem Number
- @2%d@ = Parameter SD_2: Rack Number
- @3%d@ = Parameter SD_3: Slot Number
- @4%d@ = Parameter SD_4: Subslot Number

Root Causes of Question Marks in Module Alarms

When placeholders fail to resolve into numbers, question marks (??) appear. The table below details causes:

Diagnostic CauseMechanismResolutionStartup with Pre-Existing Active FaultWinCC Runtime activates while module is already faulty; AS message buffer transmits static alarm without re-evaluating dynamic SD values.Reset the module fault or trigger an incoming transition; numbers populate immediately.Language Text MismatchWinCC Runtime language does not match the compiled language in SIMATIC Manager (e.g., Russian/French text missing).Align WinCC Runtime default language with the master project language in SIMATIC Manager.Driver Generation DesynchronizationHW Config was modified (slots relocated) but CFC was compiled without 'Generate module drivers'.Recompile CFC with 'Generate module drivers' enabled and compile OS changes.Simulation Mode in S7-PLCSIMTesting in S7-PLCSIM without hardware I/O simulation models; driver blocks initialize unassigned diagnostic structures.Expected behavior in basic PLCSIM; normal operation verified on real controller.

Diagnostic and Remediation Procedure

To restore meaningful slot numbers to diagnostic messages:

Step 1: Recompile Module Drivers and OS

  1. In SIMATIC Manager, select the AS station.
  2. Open the CFC Editor -> select Compile -> Compile Entire Program.
  3. Crucial: Ensure the checkbox 'Generate module drivers' is selected.
  4. After CFC compilation completes, initiate an OS Compilation (Changes only) to update the WinCC message text database.

Step 2: Trigger State Transition to Refresh Associated Values

  1. If testing on a physical rack, resolve the underlying module fault (e.g., reconnect sensor or reset fuse).
  2. Confirm the alarm clears from the active WinCC alarm journal.
  3. Re-introduce the fault condition (or unseat the module):
  4. Observe that the newly triggered incoming alarm arrives with fully populated slot identifiers (e.g., Module 1/0/4/1: Failure).

Step 3: Verify WinCC Runtime Language Settings

In WinCC Explorer, right-click the OS computer name -> Properties -> Parameters -> verify that the Default Runtime Language matches the primary language compiled in the STEP 7 project.

Verification

To verify that diagnostic messaging renders correctly:

  1. Open the WinCC Runtime Alarm Journal (@AlarmJournal.pdl).
  2. Trigger an I/O fault on an ET 200 module (e.g., disconnect a digital input channel wire).
  3. Verify that the incoming alarm text explicitly displays the physical hardware location (e.g., Module 2/0/5/0: Failure).
  4. Click the diagnostic icon in the alarm line: verify that the PCS 7 Maintenance Station or Module Diagnostic screen opens directly to that slot.
  5. Confirm zero entries containing ??/??/??/?? in the active alarm banner.

Limitations and Operational Precautions

Operational boundaries for module diagnostics:

  • S7-PLCSIM Limitations: Classic S7-PLCSIM does not emulate the internal ASIC diagnostic registers of physical ET 200 modules. Module diagnostic messages in pure PLCSIM will frequently show ?? unless paired with SIMIT.
  • Do Not Modify Message Templates Directly: Never manually alter the @1%d@ formatting string inside WinCC Alarm Logging; modifying the template breaks module driver automatic generation during subsequent OS compiles.
  • Third-Party GSD Modules: Third-party PROFIBUS/PROFINET field devices not supporting Siemens diagnostic repeater records will not populate associated slot values.

Engineer FAQ

Why do question marks appear when WinCC Runtime is first started?

When WinCC starts, it reads currently active alarms from the AS controller buffer. The controller sends the alarm state but does not re-transmit dynamic substitution parameters (SD_1 to SD_4), which are only sent during state transitions.

Can language settings cause question marks in alarm messages?

Yes. If the message text library lacks translations for the active WinCC runtime language, text elements and format placeholders fail to render, appearing as ??? or empty blocks.

What block parameters provide the slot and rack values to Alarm_8P?

Parameters SD_1 (Station/Subsystem), SD_2 (Rack), SD_3 (Slot), and SD_4 (Subslot) on driver blocks like MOD_D1 feed dynamic integers into the Alarm_8P message string.

Will S7-PLCSIM display valid module numbers in diagnostic messages?

Usually no. Because S7-PLCSIM does not emulate the physical hardware diagnostic registers of distributed I/O modules, driver blocks cannot evaluate rack/slot values unless driven by SIMIT.

Technical References

Related Articles

Related Tags

  • Module-Diagnostics
  • Question-Marks
  • Alarm_8P
  • MOD_D1
  • Associated-Values
  • PCS-7-V8-2
8 respuestas