Why Technological Blocks Are Missing from SFC Type Block Contacts in SIMATIC PCS 7
In SIMATIC PCS 7, when configuring Block Contacts within the SFC Type Characteristics editor and a required technological block (such as PIDConL) does not appear in the selection dropdown, the issue is caused by the location where the SFC Type is being edited or missing block attributes. If the SFC Type is opened inside the Master Data Library, the selection list displays only function blocks present in that specific library's block folder. Furthermore, a function block must possess the system attribute S7_contact = 'true' in its interface declaration. To resolve this, ensure the target function block exists in the offline block folder of the container where the SFC Type resides, verify that S7_contact is enabled, and instantiate the block in the project before selection.
Table of Contents
- SFC Type Block Contact Architecture and Mechanism
- Root Causes of Missing Function Blocks in the Contact Selection List
- Block Contact System Attributes and Library Scope Comparison
- Step-by-Step Procedure to Make Blocks Available for SFC Types
- Verification
- Limitations and Operational Precautions
- Engineer FAQ
- Technical References
- Related Articles
- Related Tags
SFC Type Block Contact Architecture and Mechanism
SIMATIC PCS 7 SFC Types provide reusable technological state machines (such as phase logic for dosing, heating, or mixing in batch processes). Unlike standard SFC charts which are tied to individual instances, an SFC Type is defined centrally in the project or Master Data Library and instantiated in CFC charts as an SFC instance (FB247+).
To control lower-level technological control modules (CMs) such as motors (MotL), valves (VlvL), or controllers (PIDConL) directly from the phase steps, the SFC Type employs Block Contacts (Bausteinkontakte). Block contacts create standardized technological interfaces on the SFC instance. When the engineer defines a block contact for PIDConL, the SFC Type editor automatically exposes standard setpoint, mode, and feedback pins (SP_Ext, AutAct, MV) on the SFC block icon and instance, enabling seamless interconnection without manually mapping dozens of raw pins.
When an engineer accesses Characteristics -> Block Contacts in the SFC Type editor, the system dynamically populates the block dropdown list by scanning the active database container for compatible function blocks.
Root Causes of Missing Function Blocks in the Contact Selection List
When expected technological blocks like PIDConL are absent from the block contact dropdown (while MotL and VlvL are visible), the failure stems from two specific software mechanisms:
-
Container Context Mismatch (Library vs. CPU Chart Folder):
- When an SFC Type is created or edited inside the Master Data Library (Component View -> Library -> Blocks/Charts), the SFC editor queries only the library's local offline block folder. IfPIDConLhas not been copied from the APL library into the Master Data Library's block folder, it is invisible to the editor.
- Conversely, when the SFC Type is edited directly under a CPU's Chart Folder (Pläne), the editor queries all blocks instantiated in the active multiproject charts. IfPIDConLis used in a chart under CPU1, it appears when editing under CPU1, but remains absent when editing in the library. -
Missing System Attribute
S7_contact = 'true': For any block to be recognized as a valid technological contact for an SFC Type, its SCL or STL interface declaration must carry the system attribute{ S7_contact := 'true' }. Standard APL blocks possess this attribute by default, but custom blocks or legacy standard library blocks lack this flag unless manually specified. -
Unassigned Plant Hierarchy / Model Context: In ISA-88 batch architectures, if the SFC Type is assigned to an Equipment Module Type (EMT) or Control Module Type (CMT), the type manager filters available contacts by technological role. If role definitions are unassigned, blocks are suppressed from selection.
Block Contact System Attributes and Library Scope Comparison
The following table compares block contact visibility criteria across engineering container contexts in PCS 7:
Blocks)Blocks with S7_contact=truePläne){ S7_contact := 'true' }PIDConL)6ES7653-...)S7_contact=trueS7_contact attribute on older FBsStep-by-Step Procedure to Make Blocks Available for SFC Types
To ensure technological blocks appear in the SFC Type Block Contacts selection list:
-
Determine the Editing Context of the SFC Type:
- In SIMATIC Manager, inspect the location of your SFC Type.
- If the SFC Type is located under Master Data Library -> Charts, you are working in library context.
- If located under Project -> [CPU] -> S7 Program -> Charts, you are working in project instance context. -
Populate the Master Data Library Block Folder:
- If editing in the Master Data Library, open the library's Blocks folder in Component View.
- Open the PCS 7 AP Library (or whichever library containsPIDConL/FB1874).
- CopyPIDConL(and any associated blocks likeMotL,VlvL) from the APL block folder directly into your Master Data Library -> Blocks folder.
- Re-open the SFC Type in the Master Data Library, navigate to Characteristics -> Block Contacts, and verify thatPIDConLis now visible in the dropdown. -
Ensure Block Instantiation in the Target Project:
- If editing under the CPU, ensure thatPIDConLhas been dragged into at least one CFC chart in that CPU program, or copied into the CPU's offline block folder.
- Execute Options -> Block Types in CFC to verify thatPIDConLis imported into the chart folder. -
Verify Custom Block System Attributes (If Using User-Developed FBs):
- If your block is a custom FB, open its SCL source file.
- In the block declaration header, ensure the following attribute is present:
scl FUNCTION_BLOCK FB1500 TITLE = 'Custom Controller' { S7_m_c := 'true' ; S7_contact := 'true' }
- Recompile the SCL source. The block will now appear in the SFC Type block contacts list.
Verification
Verify block contact configuration:
1. In the SFC Type editor, open Characteristics -> Block Contacts; select PIDConL from the dropdown list.
2. Assign a contact name (e.g., FIC101_Ctrl). Notice that the SFC Type automatically creates the corresponding input/output technological pins.
3. In an SFC step, open the step initialization or processing tab; verify that you can select FIC101_Ctrl and command its parameters (such as SP_Ext or AutAct).
4. Compile the SFC Type (SFC -> Compile); verify that compilation finishes with 0 errors.
Limitations and Operational Precautions
- Library Synchronization Required: Always maintain the Master Data Library as the single source of truth. Copying blocks into the CPU without updating the library causes type conflict warnings.
- Instance DB Re-generation: Modifying block contacts on an SFC Type forces the regeneration of instance DBs for all instantiated SFCs. Schedule delta or full downloads accordingly.
- Getting Started Context: In PCS 7 Getting Started exercises, always follow the tutorial instruction specifying whether objects are to be created in the library or the project hierarchy.
Engineer FAQ
Why did MotL appear in the list but PIDConL was missing?
MotL was already copied into the library or active project block folder during an earlier tutorial step, whereas PIDConL had not yet been imported into that container.
What does the S7_contact attribute do in PCS 7?
The S7_contact attribute informs the SFC Type editor that the function block supports technological block contact interfaces, making it selectable in the characteristics dialog.
Can I connect non-APL blocks as Block Contacts in an SFC Type?
Yes, provided the function block carries the { S7_contact := 'true' } attribute and is present in the active block folder.
Where should I create an SFC Type - in the library or in the CPU?
In standardized PCS 7 engineering, SFC Types should always be created in the Master Data Library and then synchronized to target CPUs.
Technical References
- SIMATIC PCS 7 SFC Type Engineering Manual (A5E39144865-AB)
- SIMATIC PCS 7 Getting Started Part 2 Tutorial (A5E02777174-01)
- SIMATIC PCS 7 Advanced Process Library (APL) Function Manual (A5E39145658-AC)
Related Articles
- Permitting Repeated Stop Commands and Automatic State Transitions in PCS 7 SFC
- Resolving SFC Type Formula Programming Error 35 on FC1105 in PCS 7
- Synchronizing Control Module Commands Embedded in Equipment Module Types (EMT) in PCS 7
Related Tags
- SFC Type
- Block Contacts
- PIDConL
- Master Data Library
- S7_contact
- APL