Resolving Module Driver QMODF Faults and Bad Signal Quality in SIMIT and PCS 7

Resolving Module Driver QMODF Faults and Bad Signal Quality in SIMIT and PCS 7

In SIMATIC SIMIT and PCS 7 simulation, the module driver block (such as MOD_D16_ or MOD_464_) asserts QMODF = 1 ('Module removed / Out of order') when the SIMIT Virtual Controller (VC) or simulation coupling does not fully emulate the hardware diagnostic addresses or System Status List (SSL/SZL) queried by the driver. This fault causes downstream channel drivers (Pcs7AnIn) to declare bad quality (ST = 16#00), suppressing analog values in faceplates. To resolve this: 1. Ensure the SIMIT coupling is imported directly from the PCS 7 HW Config export to align all logical and diagnostic base addresses; 2. In SIMIT, supply valid status to the diagnostic address or activate module presence signals; or 3. Enable channel driver simulation (SimOn = 1) on Pcs7AnIn to bypass module driver status during testing.

Table of Contents

Executive Summary

When executing hardware-in-the-loop or software-in-the-loop plant simulation using SIMIT V10.2 with SIMATIC PCS 7 V9.0 SP3, engineers frequently observe that while simulated analog process values successfully reach controller input addresses, downstream APL blocks (such as MonAnL) flag the values as invalid or Bad. Online inspection of the diagnostic driver charts reveals that the auto-generated Basis Library module driver (MOD_D16_, MOD_464_, etc.) reports QMODF = 1 ('Module removed / Out of Order'). Consequently, the channel driver Pcs7AnIn sets its output Quality Code to 16#00 (Bad), placing faceplates into alarm state. This article explains the underlying mechanism of PCS 7 module diagnostic drivers, identifies why SIMIT Virtual Controllers fail to satisfy hardware SSL queries, and provides verified procedures to eliminate QMODF errors.

Architecture and Fundamental Mechanics

PCS 7 Module Driver Diagnostics, System Status Lists (SSL), and SIMIT Virtual Controller Mechanics:

  • The Diagnostic Driver Chain in PCS 7:
  • When 'Generate Module Drivers' executes during CFC compilation, PCS 7 automatically places diagnostic blocks from the Basis Library (OB_BEGIN, RACK, MOD_D16_, MOD_464_) into system charts (@...).
  • These blocks monitor physical hardware health by reading S7-400 System Status Lists (SSL/SZL) via SFC51 (RDSYSST) and catching asynchronous hardware fault interrupts (OB82 diagnostic alarm, OB83 remove/insert, OB85 program error, OB86 rack failure).
  • If the diagnostic block detects that a configured I/O module does not respond to diagnostic polling or is reported as missing by the operating system, it asserts QMODF = 1 (Module Fault / Out of Order) and passes Bad = 1 to the channel driver.

  • SIMIT Coupling Discrepancies and Virtual Controller Limitations:

  • In a SIMIT simulation project, the coupling can be configured via SIMIT Virtual Controller (VC), PLCSIM, or PLCSIM Advanced.
  • SIMIT Virtual Controller perfectly emulates process image inputs and outputs (PIW, PQW). However, hardware diagnostic records and diagnostic addresses configured in HW Config (L_ADDR) are only partially simulated unless the coupling is fully synchronized.
  • If an I/O station (e.g. ET 200M or ET 200SP) has diagnostic addresses that are unmapped in SIMIT, or if the SIMIT coupling was generated from an outdated HW Config export, the simulated CPU reports the module as missing, forcing QMODF = 1.

  • APL Quality Code Cascading:

  • The technological channel driver (Pcs7AnIn) receives process data on PV_In and module health on Bad.
  • When MOD_.QMODF = 1, Pcs7AnIn.Bad becomes TRUE, and the output PV_Out.ST drops to 16#00 (Bad, non-specific) or 16#28.
  • Under standard APL feature bit settings (Feature.Bit29 = 0), the block outputs the last valid value or substitute value with a bad quality badge on the WinCC OS.

Step-by-Step Implementation Procedure

  1. Synchronize SIMIT Coupling with Exact PCS 7 HW Config:
    * In SIMATIC Manager, open HW Config for the target AS station.
    * Execute Station -> Export... to export the hardware configuration as a clean .cfg file.
    * Open SIMIT V10.2, navigate to the active Coupling (e.g. Virtual Controller).
    * Select Import -> HW Config and point to the newly exported .cfg file.
    * Ensure that all interface modules (IM), power supplies, and analog input module slots match the hardware catalog versions.

  2. Inspect and Satisfy Module Driver Diagnostic Addresses:
    * In CFC on the Engineering Station, navigate to the system chart containing the failing module driver (e.g. @MOD_D16_1).
    * Inspect input parameter L_ADDR (logical diagnostic base address of the module).
    * Cross-reference this address in HW Config module properties under 'Addresses -> Diagnostic Address'.
    * In SIMIT, ensure that the communication coupling covers the address space of this module and that the module's presence signal is forced to active.

  3. Bypass Module Driver Quality Using Channel Driver Simulation (Workaround for Logic Testing):
    * If physical module diagnostics cannot be fully emulated in your SIMIT environment, utilize technological channel simulation.
    * On the Pcs7AnIn block in CFC:

    • Set SimOn = 1 (Simulation Active).
    • Set SimLiOp = 1 (allow program control of simulation) or 0 for manual control.
    • Interconnect your SIMIT analog process value to SimPV instead of PV_In.
    • With SimOn = 1, Pcs7AnIn completely ignores MOD_.QMODF and outputs PV_Out.ST = 16#60 (Simulation, Good), allowing downstream APL blocks and faceplates to operate cleanly.

Verification

  1. Re-download hardware configuration and CFC charts to the SIMIT Virtual Controller.
  2. In CFC, open the @MOD_... diagnostic chart and switch to Test Mode (Ctrl+F).
  3. Verify that QMODF has transitioned from 1 to 0.
  4. Open the technological chart containing Pcs7AnIn; verify that Bad = 0 and PV_Out.ST = 16#80 (Good).
  5. Open WinCC Runtime; verify that the analog block icon and faceplate display the live simulated value without error badges.

Limitations and Operational Precautions

Enabling SimOn on Pcs7AnIn successfully bypasses module faults for process simulation, but it does NOT test the physical diagnostic alarm logic (OB82/OB83). In safety-related systems (F-systems / Safety Matrix), forcing simulation on safety channel drivers (F_CH_AI) requires dedicated safety password authorization and adheres to strict safety lifecycle rules. SIMIT Virtual Controller licenses must cover the active I/O tag count.

Engineer FAQ

What does QMODF = 1 mean on a PCS 7 module driver?

It signifies 'Module removed / Out of Order', indicating that the CPU operating system cannot communicate with the physical I/O card.

Why does QMODF = 1 occur in SIMIT simulation?

Because the SIMIT Virtual Controller or coupling may not emulate the hardware diagnostic records (SSL 16#00B1/B2) queried by SFC51.

How does QMODF affect the APL channel driver Pcs7AnIn?

It sets the channel driver input Bad = 1, which drops the output Quality Code ST to Bad (16#00), suppressing normal process values.

Can I satisfy MOD_D16_ without physical hardware?

Yes, by properly importing HW Config into the SIMIT coupling so SIMIT emulates the module's presence and diagnostic addresses.

What is the difference between SimOn on Pcs7AnIn and physical simulation?

SimOn simulates the process value inside the software block, bypassing hardware diagnostics, while SIMIT coupling simulates the I/O signals at the process image level.

Technical References

Related Articles

Related Tags

  • SIMIT
  • Virtual Controller
  • Module Driver
  • QMODF
  • MOD_D16_
  • Pcs7AnIn
  • Quality Code
  • PCS 7 V9.0 SP3
20 respuestas