Resolving ET 200SP HA Module Driver QMODF Faults in PCS 7 V9.0 SP1

Resolving ET 200SP HA Module Driver QMODF Faults in PCS 7 V9.0 SP1

In SIMATIC PCS 7 V9.0 SP1, newly commissioned SIMATIC ET 200SP HA distributed I/O stations over PROFINET exhibiting bad channel quality with the module driver output QMODF = 1 ("Module fault / card has been removed") despite healthy physical hardware are caused by a known driver evaluation bug in the initial release of the PCS 7 Basis Library. The early module driver blocks (MOD_DHA8, MOD_HA, and OB_DIAG1) misinterpret status diagnostic words from the ET 200SP HA interface module (6DL1155-6AU00-0PM0). Resolving this issue requires installing SIMATIC PCS 7 Basis Library V9.0 SP1 Update 3 (or later), updating block types in the project library, regenerating module drivers during CFC compilation, and downloading changes to the controller.

Table of Contents

ET 200SP HA Architecture and Diagnostic Drivers

SIMATIC ET 200SP HA is Siemens' high-availability distributed I/O line engineered specifically for SIMATIC PCS 7 V9.0 and later. Communicating over PROFINET IO via redundant Interface Modules (IM 155-6 PN HA 6DL1155-6AU00-0PM0), the system supports hot-swapping under power (Run-Mode Change), compact footprint, and extended temperature ranges.

In PCS 7, peripheral I/O modules are integrated into the automation program through automatically generated driver blocks located in the system @ charts. When a digital input channel driver (Pcs7DiIn) reads hardware inputs, it evaluates its associated module driver (MOD_DHA8 or MOD_HA). The module driver continuously evaluates diagnostic records (data records 0 and 1 via RDREC) and interrupt OBs (OB82, OB83) to determine module availability. If the driver detects an error, it asserts QMODF = 1 (Module Fault), forcing channel drivers into bad quality status (Bad = 1).

Root Cause of Erroneous QMODF Assertions

In early software builds of PCS 7 V9.0 SP1, engineers encountered a condition where ET 200SP HA modules had solid green RUN LEDs, valid physical process signals, and zero diagnostic errors in Hardware Configuration online monitoring, yet the channel drivers consistently output bad status with QMODF = 1:

Symptom / Inspection PointPhysical Hardware ObservationChannel Driver ObservationUnderlying MechanismModule Status LEDSolid Green (RUN)Channel Driver Bad.Value = 1Module driver falsely reports module missingDiagnostic BufferNo active OB82 / OB83 faultsQMODF = 1 on MOD_DHA8 / MOD_HABasis Library status mask mismatch with IM 155-6 PN HAHW Config Online ViewNormal / AvailableProcess values display with red strokeDriver block software bug in Basis Library V9.0 SP1 BaseProcess Image InputLive I/O data changing correctlyQuality Code 16#00 (Bad)Module driver overrides healthy process image

The root cause was identified as a software defect in the PCS 7 Basis Library V9.0 SP1 initial release: the internal evaluation routines in MOD_DHA8 incorrectly parsed the expanded diagnostic data structures returned by newer ET 200SP HA terminal blocks and interface modules, misinterpreting normal operating flags as a module removal event.

Software Update and Patch Requirements

Siemens resolved this diagnostic evaluation defect in SIMATIC PCS 7 Basis Library V9.0 SP1 Update 3 (and subsequent updates).

Upgrading the engineering environment requires:
1. Downloading and installing the official update package: PCS 7 Basis Library V9.0 SP1 Upd3 (or the latest cumulative update).
2. Updating the block templates in the Master Data Library.
3. Performing a block type update across all AS projects in the Multiproject to replace the flawed MOD_DHA8 / MOD_HA / OB_DIAG1 function blocks with corrected versions.
4. Executing CFC compilation with the Generate module drivers option enabled.

Step-by-Step Block Update and Driver Regeneration

To implement the fix and clear the invalid QMODF status:

  1. Install Update: On the Engineering Station, install PCS 7 Basis Library V9.0 SP1 Upd3. Reboot the ES if prompted.
  2. Update Master Data Library:
    - Open SIMATIC Manager and open the Multiproject.
    - Open the Master Data Library -> Blocks folder.
    - Copy the updated driver blocks (MOD_DHA8, MOD_HA, OB_DIAG1, OB_DIAG_LON, etc.) from the installed system library PCS 7 Basis Library into the Master Data Library.
  3. Execute Block Type Update:
    - In SIMATIC Manager, select the user S7 Program -> Charts folder.
    - Select Options -> Update Block Types....
    - In the wizard, select the updated driver blocks to propagate throughout all charts.
  4. Recompile CFC with Driver Generation:
    - Open any CFC chart.
    - Click Chart -> Compile -> As Program.
    - Check Generate module drivers and select Changes only.
    - Click OK. The compiler regenerates all @ diagnostic charts using the updated driver code.
  5. Download to AS:
    - Download changes to the CPU in RUN mode (Changes only).

Verification

To verify that the module driver error has cleared:
1. Open the CFC chart containing the ET 200SP HA channel drivers (Pcs7DiIn / Pcs7AnIn).
2. Verify that Bad.Value = 0 and the output Quality Code (ST.Value) displays 16#80 (Good).
3. Trace the interconnection of ModErr back to the @ chart; open MOD_DHA8 online and verify that QMODF = 0.
4. In WinCC Runtime, verify that all associated block icons and faceplates clear their red fault flags and display normal operational colors.

Limitations and Operational Precautions

When updating block types in a running production plant, always verify that the block interface (inputs, outputs, and memory layout) has not altered in a manner that prohibits download in RUN mode. In PCS 7 Basis Library updates within the same service pack (e.g., SP1 Upd2 to Upd3), block signatures are maintained to permit online download without CPU STOP. Always take a complete Multiproject backup before initiating block type updates.

Engineer FAQ

Why was QMODF asserting if the physical module was healthy?

A software bug in the initial release of the PCS 7 Basis Library V9.0 SP1 caused the module driver to misread the diagnostic byte mask returned by the ET 200SP HA interface module, incorrectly flagging the card as removed.

Can I fix this by manually forcing QMODF to 0 in CFC?

No. Module driver blocks reside in the system @ charts, which are completely overwritten every time CFC is compiled with 'Generate module drivers'. The fix must be applied via the updated library block.

Does updating Basis Library to Upd3 require a CPU STOP?

No. Basis Library updates within the same service pack are designed for Download in RUN (CiR / Changes only) without requiring a controller stop.

Technical References

Related Articles

Related Tags

  • ET 200SP HA
  • Module Drivers
  • QMODF
  • PCS 7 Basis Library
  • PROFINET Diagnostics
6 respuestas