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
- Root Cause of Erroneous QMODF Assertions
- Software Update and Patch Requirements
- Step-by-Step Block Update and Driver Regeneration
- Verification
- Limitations and Operational Precautions
- Engineer FAQ
- Technical References
- Related Articles
- Related Tags
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:
Bad.Value = 1QMODF = 1 on MOD_DHA8 / MOD_HA16#00 (Bad)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:
- Install Update: On the Engineering Station, install PCS 7 Basis Library V9.0 SP1 Upd3. Reboot the ES if prompted.
- 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 libraryPCS 7 Basis Libraryinto the Master Data Library. - 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. - 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. - 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
- SIMATIC ET 200SP HA System Manual (A5E39261167)
- SIMATIC PCS 7 Basis Library Readme V9.0 SP1 Upd3
- SIMATIC PCS 7 Process Control System Service Support and Updates (A5E33814045)
Related Articles
- Resolving Module Driver Generation Errors for Third-Party GSD Slaves in PCS 7
- Deciphering CPU 410-5H Event A217 and System Status List Throttling
- Simulating Hardware Faults and Channel Driver Bad Signals in SIMIT for PCS 7
Related Tags
- ET 200SP HA
- Module Drivers
- QMODF
- PCS 7 Basis Library
- PROFINET Diagnostics