Resolving CFC Driver Warning Instance Not Installed in OB100 Across Project

Resolving CFC Driver Warning Instance Not Installed in OB100 Across Project

The CFC compiler warning 'Multiple installation: Instance ... is not installed in OB100' across channel drivers (such as Pcs7AnIn AI_ChDriver) occurs when Control Module Types (CMTs) in the Master Data Library lack OB100 restart task assignments in their runtime sequence. Channel drivers possess the system attribute S7_tasklist := 'OB100' and require initialization in OB100 alongside cyclic interrupt execution. To resolve this project-wide, open the CMT chart in the Master Data Library, ensure the driver is inserted into OB100 in the Runtime Editor, and execute 'Synchronize Control Module Types'. Then, in the CFC Runtime Editor, run 'Optimize Run Sequence' and recompile with 'Generate module drivers' enabled.

Table of Contents

Channel Driver Dual-OB Installation and S7_tasklist Attribute

In SIMATIC PCS 7, signal channel drivers (Pcs7AnIn, Pcs7DiIn, Pcs7AnOu, and Pcs7DiOu) bridge the hardware peripherals with software technology blocks. Unlike simple algorithmic blocks that execute in a single cyclic interrupt OB, channel drivers require dual-OB execution:

  1. Cyclic Interrupt OB (e.g., OB35 100 ms or OB33 500 ms): Executes cyclic analog filtering, scaling, flutter suppression, and quality code calculation during normal controller operation.
  2. Startup Organization Block (OB100 - Warm Restart): Executes a single initialization pass upon CPU power restoration to reset internal memory flags, query diagnostic buffers, and establish valid baseline quality codes (16#80) before cyclic tasks commence.

This behavior is governed by the block attribute S7_tasklist := 'OB100'. When a driver is placed in a chart, CFC automatically creates a secondary block instance call inside the OB100 runtime task list.

Root Cause Analysis - CMT Runtime Group Desynchronization

When a project generates hundreds of warnings stating 'Instance ... is not installed in OB100', the root cause is traced to template corruption in the Master Data Library:

  • Omission in Master CMT Template: When creating Control Module Types (CMT), an engineer may have imported driver blocks while 'Chart-based runtime group management' was disabled, or inadvertently deleted the OB100 runtime group inside the CMT chart.
  • Synchronization Bypass: When the engineer corrects the master template in the library and synchronizes CMTs across the multiproject, the synchronization wizard compares block versions and I/O interfaces. Because the block version did not change, the wizard treats the instances as identical and skips updating the underlying runtime group assignments in the target charts.

Runtime Group Organization and Execution Requirements Matrix

The table below details runtime group configuration, execution tasks, and attributes for PCS 7 channel drivers:

Execution ContextTarget OBBlock Insertion MethodPurpose / Required ParameterStartup TaskOB100 (Warm Restart)Automatic via S7_tasklistInitializes driver status, internal filters, and quality codes.Cyclic TaskOB30 to OB38 (Cyclic Interrupt)Configured in CFC Runtime PropertiesExecutes cyclic signal acquisition and APL normalization.S7_tasklist AttributeBlock HeaderOB100Informs CFC compiler to install secondary call in startup sequence.Runtime Group ModeChart-based vs StandardOptions -> Charts -> Runtime ManagementControls whether runtime groups are bound to charts or global OBs.Driver GenerationModule Drivers GeneratorCFC Compilation (Generate module drivers)Links diagnostic @ blocks to channel driver startup routines.

Step-by-Step Project-Wide Remediation Procedure

  1. Correct Master Data Library CMT Template:
    - In SIMATIC Manager, open the Master Data Library and open the affected CMT chart.
    - Open the Runtime Editor (Edit -> Run Sequence or click the runtime editor icon).
    - Locate OB100: verify whether a runtime group exists for the CMT. If missing, right-click OB100 -> create a new runtime group and drag the driver block instance into this group.
    - Save the CMT template.
  2. Enable Chart-Based Runtime Group Management:
    - In SIMATIC Manager, select Options -> Charts -> Chart-based Runtime Group Management.
    - Ensure the setting is activated to bind runtime groups directly to chart instances.
  3. Synchronize Control Module Types:
    - Right-click the Master Data Library -> select Plant Hierarchy -> Synchronize Control Module Types....
    - Select all project folders and execute synchronization.
  4. Reorganize Run Sequence Project-Wide:
    - Open any CFC chart in the project -> open the Runtime Editor.
    - Select Options -> Optimize Run Sequence (this scans all charts and restores missing OB100 task installations automatically based on the S7_tasklist attribute).
  5. Recompile CFC with Driver Generation:
    - In SIMATIC Manager, select Compile -> Charts as Program.
    - Ensure Generate module drivers is checked and compile: confirm that all OB100 installation warnings disappear.

Verification

Verify resolution through the following milestones:
1. Check the CFC compilation log: confirm 0 Errors, 0 Warnings regarding OB100 multiple installations.
2. In the CFC Runtime Editor, expand OB100: confirm that all channel driver instances appear in corresponding runtime groups.
3. Download changes to the AS controller in RUN mode, cycle power or execute a warm restart: verify that all channel drivers initialize immediately with valid signal status (16#80) without startup glitches.

Limitations and Operational Precautions

Executing 'Optimize Run Sequence' automatically reorganizes blocks according to data flow, which modifies runtime group order. Before optimizing, ensure that specialized sequential logic that strictly depends on manual block positioning is encapsulated inside protected runtime groups (uncheck 'Optimize' in runtime group properties). Always perform a test compilation on an offline backup before downloading sequence changes to a live plant.

Engineer FAQ

Technical References

Related Articles

Related Tags

  • OB100
  • Channel Drivers
  • Pcs7AnIn
  • Run Sequence
  • CFC Warnings
  • CMT
6 respuestas