Resolving CEMAT Check Tool Fault 65 and Fault 68 in CFC Run Sequence

Resolving CEMAT Check Tool Fault 65 and Fault 68 in CFC Run Sequence

To resolve CEMAT Check Tool Fault 65 ('CEMAT function blocks installed in the runtime sequence in OB1 after the last CEMAT system function block') and Fault 68 ('All CEMAT blocks are not called in the same cycle (=OB)'), open the CFC Run Sequence editor (Edit -> Open Run Sequence or Ctrl+F11) and reorganize the execution order. Ensure that all technological CEMAT drive, valve, and group control blocks reside strictly within Organization Block 1 (OB1). Inside OB1, move all technological runtime groups so that they execute contiguously between the system runtime groups OB1_START and OB1_END. Technological CEMAT blocks must never be placed in cyclic interrupt OBs (e.g., OB35) or positioned after OB1_END.

Table of Contents

Executive Summary

In cement, mining, and mineral processing facilities operating under the SIMATIC PCS 7 CEMAT industry standard, strict execution sequencing is mandatory to maintain deterministic interlocking, group start-stop coordination, and distributed alarm reporting. When running the automated CEMAT Check Tool in PCS 7 V8.2 or V9.0, commissioning engineers frequently encounter diagnostic Fault 65 and Fault 68. Fault 65 signifies that technological blocks execute chronologically after the system termination block in OB1, while Fault 68 indicates that technological blocks are dispersed across inconsistent execution cycles (such as 100 ms cyclic interrupt OB35). Correcting these faults requires restructuring the CFC Run Sequence to ensure all technological blocks execute contiguously inside OB1 between OB1_START and OB1_END.

Architecture and Fundamental Mechanics

The CEMAT operational architecture differs fundamentally from standard PCS 7 APL applications in its controller scheduling:

  1. OB1 Cycle-Based Processing: Unlike standard APL blocks that typically execute in time-based cyclic interrupts (e.g., OB35 at 100 ms), CEMAT technological blocks (C_DRV_1D, C_DRV_2D, C_VALVE, C_DAMPER, C_GROUP) are designed to execute within the free-wheeling cyclic Organization Block 1 (OB1). This ensures that upstream status signals and downstream group start commands propagate sequentially within a single controller scan.

  2. Role of OB1_START and OB1_END: The CEMAT system framework relies on two boundary runtime groups in OB1:
    - OB1_START: Contains system coordination blocks that capture real-time clock timestamps, reset cycle-specific flags, and prepare internal message buffers.
    - OB1_END: Contains system evaluation blocks that process group interlock tallies, compile fault summaries, and finalize OS diagnostic communication packets.

  3. Mechanics of Fault 65: If an engineer instantiates a new motor or valve chart and the CFC run-time editor inserts the runtime group at the very end of OB1, the block executes after OB1_END. Consequently, the block's alarm states and trip conditions miss the current cycle's summary evaluation, corrupting CEMAT group interlocking and triggering Check Tool Fault 65.

  4. Mechanics of Fault 68: If an engineer inadvertently places a technological CEMAT block into OB35 (or another cyclic interrupt) or fails to assign it to the common OB1 sequence, the block runs asynchronously to the rest of the CEMAT process. This temporal decoupling violates CEMAT deterministic execution rules, causing the Check Tool to flag Fault 68.

Step-by-Step Implementation Procedure

Perform the following sequence in SIMATIC Manager and the CFC Editor to correct the run sequence:

  1. Identify Errant Blocks Using CEMAT Check Tool:
    - In SIMATIC Manager, launch the CEMAT Check Tool.
    - Execute the check on the target AS program.
    - Note the specific block names and CFC charts flagged under Fault 65 and Fault 68 in the diagnostic log.

  2. Open CFC Run Sequence Editor:
    - Open any CFC chart within the affected S7 program.
    - Select Edit -> Open Run Sequence or press the keyboard shortcut Ctrl+F11.
    - In the left pane, expand the execution hierarchy tree: OB1 (Cyclic program) and cyclic interrupt OBs (e.g., OB35).

  3. Resolve Fault 68 (Move Blocks from Cyclic Interrupts to OB1):
    - Expand OB35 (and any other cyclic OBs). Search for technological CEMAT blocks (C_DRV_1D, C_VALVE, etc.).
    - Select the runtime groups or individual blocks located in OB35.
    - Drag and drop them from OB35 into OB1.

  4. Resolve Fault 65 (Position Groups Between OB1_START and OB1_END):
    - Inside OB1, locate the system runtime groups OB1_START and OB1_END.
    - Inspect all runtime groups positioned after OB1_END.
    - Select these runtime groups, drag them, and drop them above OB1_END (immediately following the last legitimate plant group).
    - Verify that the execution structure of OB1 is:

    1. OB1_START (System)
    2. Plant Runtime Groups (e.g., Crusher, Raw Mill, Kiln, Cement Mill drives and valves)
    3. OB1_END (System)
  5. Re-run CEMAT Check Tool and Recompile:
    - Save and close the Run Sequence editor.
    - Rerun the CEMAT Check Tool. Verify that Fault 65 and Fault 68 are completely eliminated (0 errors reported).
    - Compile the CFC charts (Changes Only) and download to the AS controller.

Verification

Confirm operational resolution through diagnostic verification:

  1. Check Tool Clean Log: Execute the CEMAT Check Tool across all AS programs. Verify that the summary log confirms zero runtime sequence violations and reports status 'OK'.

  2. Controller Scan Evaluation: In SIMATIC Manager, right-click the CPU, select PLC -> Module Information -> Scan Cycle Time. Verify that OB1 cycle time remains stable and well within the target threshold (typically < 100 ms in medium controllers).

  3. Group Interlock Functionality: Initiate a test start command on a CEMAT group from the WinCC OS. Confirm that drives and valves start according to configured delay steps and that group summary faults reflect equipment trips within a single controller scan.

Limitations and Operational Precautions

Never move system blocks located within OB1_START or OB1_END out of their fixed positions. Furthermore, do not place high-frequency analog signal processing or closed-loop PID controllers (such as PIDConL or C_PID) into OB1 if they require deterministic sampling rates; closed-loop PID blocks must remain in fixed cyclic interrupt OBs (e.g., OB35). CEMAT Check Tool rules apply specifically to technological drive, valve, and group modules.

Engineer FAQ

Why does CEMAT use OB1 while standard PCS 7 APL uses OB35?

CEMAT was engineered for cement and mining material transport, where interlocking hundreds of sequential conveyors and actuators requires immediate scan-to-scan signal propagation. Running in OB1 ensures immediate execution, whereas cyclic OBs could introduce multi-cycle latency between interlocking equipment.

Why does CFC place newly created CEMAT blocks after OB1_END by default?

By default, CFC inserts new runtime groups at the end of the runtime sequence unless a specific insertion pointer is defined. Engineers must either set the insertion pointer before creating charts or manually position runtime groups in the Run Sequence editor.

Can C_GROUP blocks run in a different OB than the drives they control?

No. Group supervisory blocks (C_GROUP) and their child drives (C_DRV_1D, C_VALVE) must execute within the same OB1 cycle to prevent status flickering and communication handshake timeouts.

How do I set the CFC insertion pointer to prevent Fault 65 on new charts?

In the CFC Run Sequence editor, right-click the runtime group immediately preceding OB1_END and select Predecessor for insertion position. All subsequently instantiated charts will insert automatically before OB1_END.

Does rearranging blocks in the Run Sequence require an AS CPU stop?

No. Reordering runtime groups within CFC is fully supported during online Changes-Only compilation and download (Download in RUN), causing zero interruption to continuous plant operations.

Technical References

Related Articles

Related Tags

  • CEMAT
  • Check Tool
  • Run Sequence
  • OB1
  • OB1_START
  • Fault 65
20 respuestas