Resolving Module Driver Generation Errors for F_CH_AI and F_CH_DI in SIMATIC PCS 7

Resolving Module Driver Generation Errors for F_CH_AI and F_CH_DI in SIMATIC PCS 7

In SIMATIC PCS 7 S7 F-Systems, driver generation errors for fail-safe channel blocks (F_CH_AI, F_CH_DI)—such as 'module not configured' or compiler driver aborts following I/O address reassignments—occur when channel address parameters (CHADDR, CH_INF) retain orphaned pointers to obsolete hardware configurations. Resolving driver failures requires saving and compiling HW Config, clearing broken pin connections, and re-running the module driver generator to reconstruct fail-safe diagnostic links.

Table of Contents

Role of Fail-Safe Channel Drivers in S7 F-Systems

In SIMATIC PCS 7 safety-instrumented systems (SIS) running S7 F-Systems:
* Safety signals from fail-safe electronic modules (such as ET 200M/ET 200SP HA F-AI $8 imes ext{I}$ or F-DI $16 imes24 ext{VDC}$) are processed by dedicated fail-safe channel driver blocks.
* F_CH_AI: Processes analog safety signals (4–20 mA SIL 3 inputs).
* F_CH_DI: Processes discrete safety signals (E-Stop, door switches, burner permissives).
* Unlike standard APL drivers, fail-safe channel blocks evaluate PROFIsafe communication headers, safety CRC checksums, discrepancy times, and sensor passivation states.

Mechanics of the PCS 7 Module Driver Generator (Generate Module Drivers)

When an engineer compiles CFC charts with Generate module drivers enabled:
1. The compiler queries the hardware configuration database to identify the physical F-module corresponding to the address connected to F_CH_AI.VALUE or F_CH_DI.VALUE.
2. It automatically creates system diagnostic blocks: F_MOD_x (fail-safe module diagnostic block) and F_PS_x (PROFIsafe communication supervisor).
3. It interconnects the diagnostic outputs to the channel driver parameters:
* CHADDR / CHADDR_R: Channel logical address in the process image.
* CH_INF / CH_INF_R: Channel diagnostic information structure.
* MOD_INF: Module state pointer.

Root Causes: Address Reassignment and Parameter Desynchronization

When an engineer reassigns I/O addresses in HW Config (e.g., shifting an F-AI card from PIW 512 to PIW 600) and subsequently adds F_CH_DI or recompiles charts:
* The Compilation Abort: The driver generator encounters outdated values stored in the instance parameters CHADDR or CH_INF. If the hardware database no longer contains a safety module at the old address, the compiler cannot resolve the hardware pointer and aborts with:

Module not configured or parameter value is not supplied.
* Uncompiled HW Config: If address modifications in HW Config were saved but not compiled, the internal hardware description database remains out of sync with the CFC chart addresses.

Step-by-Step Procedure to Resolve F_CH_AI and F_CH_DI Generation Faults

To restore clean driver generation:
1. Save and Compile HW Config:
* Open STEP 7 HW Config for the target AS.
* Select Station -> Save and Compile. Confirm that hardware compilation finishes with 0 errors.
2. Reconcile Signal Address in CFC:
* Open the CFC chart containing F_CH_AI or F_CH_DI.
* Double-click the input pin connected to the field address (VALUE pin).
* Confirm that the address matches the exact logical input address configured in HW Config (e.g., IW 600).
3. Purge Corrupted Driver Interconnections:
* Right-click the channel block and select Delete Interconnections -> To System Drivers.
* Alternatively, delete the problematic F_CH_AI block and re-insert a clean instance from the S7 F-Systems library.
* Reconnect the raw I/O symbol to the VALUE input pin.
4. Execute Full Driver Generation:
* In SIMATIC Manager, select the Chart folder.
* Select PLC -> Compile and Download Objects (or open CFC and select Chart -> Compile -> Changes Only).
* Ensure the checkbox Generate module drivers is checked.
* The compiler scans the clean hardware database, generates matching F_MOD_x blocks, and parameterizes CHADDR and CH_INF without errors.

Verification

  • Confirm that CFC compilation finishes with 0 Errors, 0 Warnings.
  • Open the system chart generated by the compiler (e.g., @2(1)): verify that the fail-safe module diagnostic block (F_MOD_x) is present and interconnected to F_CH_AI.
  • Download changes to the Automation Station in RUN mode.
  • In CFC dynamic test mode, verify that F_CH_AI.QBAD = 0 (Quality Good) and F_CH_AI.V = live process value.
  • Disconnect the analog input wire in the field: verify that QBAD = 1 and PASS_OUT = 1 (Channel Passivated).

Limitations and Operational Precautions

  • Modifying safety I/O configurations or safety program signatures alters the F-Signature of the safety program, requiring recalculation and safety acceptance sign-off.
  • In PCS 7 V9.1 SP2 / V9.2 environments, ensure the installed S7 F-Systems library version matches the PCS 7 compatibility matrix.
  • Never manually write to parameters managed by the driver generator (CHADDR, CH_INF), as manual overrides are destroyed during the next compilation.

Engineer FAQ

  • What is the purpose of F_CH_AI in PCS 7?
    It serves as the fail-safe analog input channel driver in S7 F-Systems, managing safety scaling, passivation, and PROFIsafe diagnostics.
  • Why does the driver generator report 'Module not configured'?
    The hardware configuration was not compiled after address modification, or the address connected in CFC does not exist in HW Config.
  • How do I force PCS 7 to rebuild all system drivers from scratch?
    Delete the system charts (names beginning with @) and compile the program with 'Generate module drivers' enabled.
  • Does modifying F_CH_AI addresses change the safety program CRC?
    Yes, modifying safety block parameters alters the collective safety CRC signature of the F-runtime group.
  • What block supervises the physical fail-safe hardware module?
    The fail-safe module diagnostic block F_MOD_x generated automatically by the driver generator.
  • Can standard APL channel drivers (Pcs7AnIn) be used with fail-safe cards?
    Standard channel drivers can read F-cards in non-safety applications, but safety-instrumented functions require F_CH_AI or F_CH_DI.
  • What does output QBAD indicate on F_CH_AI?
    QBAD = 1 indicates that the channel is passivated due to a wire break, hardware fault, or discrepancy error.
  • How is a passivated fail-safe channel reintegrated?
    By pulsing the ACK_REI (Acknowledge Reintegration) input pin after the field sensor fault is cleared.
  • What parameter on F_CH_AI receives the raw hardware address?
    The VALUE parameter connects to the process image input symbol (e.g., IW 512).
  • Where can an engineer review detailed driver generation logs?
    In SIMATIC Manager under the compiler log window or the text file CFC_LOG.TXT in the project directory.

Technical References

  • SIMATIC S7 F/FH Systems - Configuring and Programming Manual
  • SIMATIC PCS 7 CFC for S7 / PCS 7 Manual
  • Siemens Industry Online Support Entry: Troubleshooting F-Channel Driver Generation (Entry ID 299714)
  • SIMATIC Safety - Transitioning from S7 F-Systems to TIA Portal Safety

Related Articles

Related Tags

PCS 7, S7 F-Systems, F_CH_AI, F_CH_DI, Module Drivers, Safety, Driver Generator, PROFIsafe, Passivation, Hardware

20 respuestas