Resolving Missing Blocks in the SFC Type Block Contacts Dropdown in SIMATIC PCS 7

Resolving Missing Blocks in the SFC Type Block Contacts Dropdown in SIMATIC PCS 7

In SIMATIC PCS 7 SFC Types, when configuring 'Block Contacts' under 'Characteristics' and a technological block (such as CTRL_PID or PIDConL) does not appear in the block selection dropdown list—showing only Valve or Motor—the block is missing from the local S7 Program block folder where the SFC Type is located. The SFC Type editor populates its Block Contacts dropdown exclusively from blocks instantiated in the active project's offline block container. To resolve this, copy the required block type (e.g. CTRL_PID FB61 or PIDConL FB1874) from the library into the project's 'Blocks' folder, or instantiate the block in a CFC chart before configuring the SFC Type.

Table of Contents

Executive Summary

Sequential Function Chart (SFC) Types represent reusable state-oriented control modules in SIMATIC PCS 7, widely utilized for recipe phases, unit procedures, and discontinuous batch operations. When creating an SFC Type in SIMATIC Manager (e.g., following training tutorials such as 'PCS 7 Getting Started Part 2'), engineers configure 'Block Contacts' within the 'Characteristics' editor to define technological interfaces to continuous controllers, drives, and valves.

Engineers frequently encounter a confusing obstacle during this setup: when adding a new block contact and clicking the 'Block' column dropdown, only elementary blocks such as Valve and Motor appear, while the required controller block (CTRL_PID or PIDConL) is completely missing. This occurs because the SFC Type editor does not scan the global Siemens libraries dynamically; it evaluates only the function blocks (FBs) that physically reside in the block folder of the specific S7 Program where the SFC Type is located. If the SFC Type was created in the Master Data Library charts folder before copying necessary blocks, or if CTRL_PID was never placed in a chart, the dropdown remains incomplete. This guide outlines how block contacts are resolved and details the exact procedure to populate the dropdown list.

Architecture and Fundamental Mechanics

The technological binding between SFC Types and CFC blocks relies on structured interface declarations:

  1. Purpose of Block Contacts in SFC Types:
    - An SFC Type does not directly wire to field physical I/O; it interacts with technological blocks (such as APL MotL, VlvL, PIDConL, or legacy CTRL_PID) via Block Contacts.
    - When a block contact is declared (e.g., Heat_Controller of type CTRL_PID), the SFC Type automatically creates internal input/output pins matching the block's command and feedback structure (e.g., setpoint, mode, error, actual value).

  2. The Dropdown Population Mechanism:
    - When the engineer opens the SFC Type Characteristics editor, the software inspects the offline block container (Blocks folder) of the host S7 Program.
    - It filters for all Function Blocks (FBs) that possess the technological attribute S7_contact = 'true'.
    - If CTRL_PID (FB61) or PIDConL (FB1874) has not been copied from the library into that specific S7 Program's Blocks folder, the editor cannot read the block's interface description and omits it from the dropdown list.

  3. Master Data Library vs Project Chart Folder Context:
    - If an engineer creates the SFC Type directly in the 'Charts' folder of the Master Data Library (MDL), the editor scans the MDL's block folder.
    - If the MDL block folder only contains MOTOR and VALVE blocks copied from previous steps, CTRL_PID will not appear.
    - Once CTRL_PID is placed in the block folder or the SFC Type is moved to the target project containing the blocks, the dropdown instantly displays the complete block list.

Step-by-Step Implementation Procedure

Follow these steps to populate missing blocks in the SFC Type Block Contacts dropdown:

  1. Identify Required Technological Block:
    - Determine whether your project utilizes the legacy Standard Library (CTRL_PID FB61) or the modern Advanced Process Library (PIDConL FB1874).

  2. Copy Block Type to S7 Program Block Folder:
    - In SIMATIC Manager, select 'File > Open...' > switch to the 'Libraries' tab.
    - Open 'PCS 7 Standard Library V7.1' (or 'PCS 7 AP Library V91').
    - Open the library's 'Blocks' folder.
    - Locate the target block (e.g., CTRL_PID FB61 or PIDConL FB1874).
    - Right-click and copy the block (Ctrl + C).
    - In Component View, navigate to your plant project > S7 Program > 'Blocks' folder.
    - Paste the block into the Blocks folder (Ctrl + V).
    - (If creating the SFC Type in the Master Data Library, paste the block into the MDL's Blocks folder as well).

  3. Open and Refresh SFC Type Characteristics:
    - Open the SFC Type in the SFC Editor.
    - In the menu or navigation tree, click 'Characteristics' (or press Ctrl + Alt + C).
    - In the Characteristics window, select 'Block Contacts'.
    - Add a new row: assign a technological name (e.g., TIC_Reactor).
    - Click the dropdown menu in the 'Block' column.
    - CTRL_PID (or PIDConL) will now be listed and selectable.

  4. Configure Block Contact Interface and Commands:
    - Select the controller block: the SFC Type editor will automatically generate the input and output interface parameters.
    - In the SFC steps and transitions, you can now directly assign commands (e.g., TIC_Reactor.SP := 85.0, TIC_Reactor.AutModLi := TRUE).

  5. Save, Compile, and Synchronize:
    - Save the SFC Type.
    - In SIMATIC Manager Plant View, select 'Options > Plant Hierarchy > Synchronize...' to update all instantiated SFC charts.
    - Compile CFC charts and execute an AS-OS compilation.

Verification

  1. In the SFC Type Characteristics editor, verify that CTRL_PID appears in the Block Contacts table with all expected input/output pins.
  2. Open an SFC step: verify that the action table allows selecting attributes from the newly assigned block contact.
  3. Open a CFC chart containing an instance of this SFC Type: confirm that the chart displays connection pins for the block contact, allowing direct interconnection to the controller block.
  4. Compile the program: confirm that compilation finishes with 0 Errors.

Limitations and Operational Precautions

Ensure that the FB number of the copied block does not conflict with existing blocks in the project folder. Once an SFC Type has been instantiated across multiple plant charts, modifying or deleting existing block contacts requires updating all instances and updating SIMATIC BATCH process cells. Software engineering licenses and library versions should be verified through an authorized Siemens distributor or the Siemens Industry Mall.

Engineer FAQ

Why is CTRL_PID missing from the Block Contacts dropdown?

Because the block does not exist in the offline Blocks folder of the S7 Program or Master Data Library where the SFC Type is located.

What attribute allows a block to appear in Block Contacts?

Function blocks must possess the attribute S7_contact = 'true' in their interface description to be selectable as a block contact.

Can I use modern APL PIDConL blocks as SFC Type block contacts?

Yes. Copy PIDConL (FB1874) into your project block folder, and it will appear in the Block Contacts dropdown.

Where should SFC Types be created, in the project or Master Data Library?

Standard practice is to create and maintain SFC Types in the Master Data Library charts folder, then instantiate them in project plant hierarchy folders.

Does changing block contacts affect existing SFC instances?

Yes. Adding or modifying block contacts alters the SFC Type interface, requiring synchronization across all instances and an OS compile.

Technical References

Related Articles

Related Tags

  • SFC Type
  • Block Contacts
  • Characteristics
  • CTRL_PID
  • Master Data Library
  • PCS 7 V7.1
20 respuestas