Overview: PCS 7 WinCC Faceplates and Their Function Library
SIMATIC PCS 7 faceplates are pre-engineered, parameter-driven HMI objects embedded in WinCC pictures that provide standardized operator control and monitoring views for automation system (AS) blocks. Each faceplate is a WinCC picture (.pdl) bound to a structure tag that mirrors the instance DB of an AS block. Beyond the visible controls and indicators, PCS 7 ships a large set of C-language runtime functions in the WinCC Global Script project that handle the dynamic behavior of these faceplates: opening, closing, batch operations, permission checks, multi-instance loops, and event routing.
When an engineer opens a PCS 7 OS picture in Graphics Designer and inspects the global script C editor, the project tree under Project Functions shows function names beginning with PCS7_ or grouped under the @PCS7_* namespace. These are not documented in the WinCC Information System shipped with WinCC standalone; they live in the PCS 7-specific documentation set. This reference consolidates the documentation sources, identifies the canonical library file (@PCS7_Elements.pdl), explains the function families, and provides field-proven procedures for locating, calling, and debugging these functions in PCS 7 V7.0 and later.
Documentation Sources: Official Siemens Manuals
The PCS 7 faceplate function library is documented in several PDF manuals. The titles and entry IDs differ between PCS 7 versions, but the core manuals for V6.x, V7.0, V8.x, and V9.x follow a consistent naming pattern.
| Manual | File | Coverage |
|---|---|---|
| PCS 7 Faceplates |
s7jfpl_e.pdf / s7jfplb_e.pdf
|
Function reference for faceplate C functions, structure tag interface, batch/loop operations |
| PCS 7 Programming Instructions for Blocks |
s7jpa70b_e.pdf / s7jpa_b_e.pdf
|
Block creation, SCL source, parameter assignment for AS blocks feeding faceplates |
| Creating Blocks for PCS 7 | S7Prog_e.pdf |
Project engineering, block structure, naming conventions |
| Creating AS Blocks with SCL | s7jpab_b_e.pdf |
SCL syntax for block development tied to faceplate interface |
| HMI Faceplates Basics | 68014632_faceplates_instruction_doku_v14_en.pdf | Faceplate editor parameter reference, properties, events (V14 onward) |
For PCS 7 V7.0, the two principal references are the Faceplates manual and the Programming Instructions for Blocks manual. Earlier versions (V6.1) used the same file naming convention with different revision indices. V8.x and V9.x consolidate the faceplate information into the SIMATIC PCS 7 HMI Manual Collection.
Locating the @PCS7_Elements.pdl Library
The @PCS7_Elements.pdl file is the master library that contains completed objects for buttons, lists, indicators, sliders, and bar graphs used in PCS 7 faceplates. It is the canonical source for the visual gadgets that the C functions manipulate at runtime.
- Open WinCC Explorer on the PCS 7 OS station.
- Switch the project view to the OS System (e.g.,
OS1) — not the engineering project. - Open the Graphics Designer and load the project
@PCS7_Elements.pdlfrom the WinCC project folder:<Project path>\<OS name>\Grafic\@PCS7_Elements.pdl - Inspect the object tree: each gadget has its own configured properties and is bound to a subset of faceplate C functions.
The gadget naming convention is consistent across versions:
| Object type | Gadget prefix | Typical function binding |
|---|---|---|
| Open/close faceplate | BP_ |
PWR_AUF, PWR_ZU (open/close authorization) |
| Batch view | BV_ |
BV_... loop functions |
| Limit value display | LM_ |
Alarm acknowledgment routines |
| Bar graph | BG_ |
Process value scaling |
| Slider / input | SL_ |
Operator input functions |
PCS 7 Global Script C Function Families
The C functions visible in the WinCC Global Script editor for a PCS 7 OS are organized into functional groups. The principal groups are listed below; the function name pattern indicates intent and the parameter block typically includes the tag prefix and instance number.
| Family | Pattern | Sample functions | Use |
|---|---|---|---|
| Faceplate open/close | BP_<action>_<auth> |
BP_AUF_M, BP_ZU_M
|
Open, close, minimize faceplate windows |
| Batch view | BV_<action> |
BV_Open, BV_Close, BV_Loop
|
Control batch list views, step navigation |
| Authorization | BP_<level> |
BP_Bedienung_M |
Check operator permission before allowing faceplate input |
| Message handling | MSG_<action> |
MSG_Quit, MSG_LoopAck
|
Single and loop-wide alarm acknowledgment |
| Loop operations | SL_<action> |
SL_OpenLoop |
Operate multi-instance loops from one master faceplate |
| Trend/curve control | TR_<action> |
TR_Open |
Open associated trend views |
| Tab switching | TB_<action> |
TB_Select |
Switch standard views (Process, Limits, Messages, Trends) |
Most functions are called from C-action scripts attached to events on picture objects in @PCS7_Elements.pdl or to events on the user-defined faceplate. The C-action body typically looks like this:
// C-Action: Mouse click on open-faceplate button
char* tag = "S7#1/MOT_SPEED/";
int instance = 1;
if (BP_Bedienung_M(tag, instance) == 1)
{
BP_AUF_M(tag, instance);
}
Where tag is the prefix portion of the structure tag (without the instance number) and instance is the loop index. The BP_Bedienung_M call checks the operator's authorization level; if the check returns 1 (authorized), BP_AUF_M opens the faceplate.
_M (Meldung/message) or _B (Bedienung/operation) suffixes are replaced in V8.0+ by unified function families.Step-by-Step: Accessing Faceplate Function Help Offline
The WinCC Information System that ships with WinCC alone does not contain the PCS 7 faceplate function reference. The correct procedure to obtain help depends on the platform and installed components.
- Click Start → SIMATIC → Documentation. This opens the SIMATIC documentation portal with manuals filtered to the installed PCS 7 version.
- Alternatively, mount the PCS 7 documentation DVD and navigate to
\Manuals\English\. Look for thes7jfpl*.pdfands7jpa70*.pdffiles. - For PCS 7 V7.0 on Windows XP, the documentation installer is on the same DVD as the OS installation media. After installation, the PDFs are placed under
C:\Program Files\Siemens\Automation\PCS7\Documentation\. - For PCS 7 V8.x/V9.x, use the integrated help: open the Global Script C editor in WinCC Explorer, place the cursor on a
PCS7_function, and press F1. The help text links to the relevant manual in PDF form.
If the help is not installed, the manuals can be downloaded from Siemens Industry Online Support using the entry IDs listed in the table above. Search the support portal with the manual number (e.g., s7jfplb_e.pdf) for the latest revision matching your PCS 7 version.
Verifying the Faceplate Runtime Interface
To confirm that a faceplate is wired correctly to the C functions, perform the following verification on the OS runtime:
- Compile and download the AS program. Confirm that the instance DBs are present in the S7 CPU.
- Start WinCC Runtime on the OS. Open a process picture containing a faceplate instance.
- Right-click the faceplate object and select Open faceplate. The faceplate window must appear in the foreground.
- Inspect the runtime data: the process values in the faceplate must match the values in the CFC/SFC chart on the AS.
- Trigger an alarm from the AS. The faceplate's message line must show the active message within one polling cycle (typically 1 second).
- Acknowledge the alarm from the faceplate. The AS must register the acknowledgment (check the
ACK_STATEbit in the instance DB).
If the faceplate does not open, the most common cause is a missing or mistyped structure tag prefix. Open the picture properties in Graphics Designer, select the faceplate object, and inspect the Tag Prefix and Instance properties in the configuration dialog.
Common Errors and Troubleshooting
| Symptom | Likely cause | Resolution |
|---|---|---|
| Faceplate does not open on click | C function not compiled; missing tag prefix | Rebuild Global Script; verify tag prefix in faceplate properties dialog |
| Process values show "####" | Structure tag not connected to AS DB | Check WinCC tag management; confirm structure tag points to the correct instance DB |
| Authorization check always fails | User not in operator group with sufficient level | Verify WinCC user administration; assign the user to the correct authorization area |
| Batch view shows empty list | Batch database not initialized | Open Batch Control Center; initialize the batch project |
| Loop faceplate shows wrong instance | Instance number parameter is hard-coded | Replace hard-coded instance with the picture's tag-bound instance variable |
| C function returns no help in F1 | Manual not installed; older PCS 7 version | Install manuals from the PCS 7 DVD or download from Siemens Support |
Differences Across PCS 7 Versions
Faceplate function behavior and naming has evolved between major PCS 7 releases. The table below summarizes the major transitions that affect scripting.
| Version | Function naming | Help integration | Key change |
|---|---|---|---|
| V6.1 | Legacy _M / _B suffixes |
PDF manuals only | Original faceplate library |
| V7.0 | Same legacy suffixes; structured tag interface | Start → SIMATIC → Documentation | Win XP support; new s7jfplb_e.pdf revision |
| V8.0 / V8.1 | Unified PCS7_* families |
F1 help linked to PDF collection | APACS migration; new faceplate editor in TIA-style UI |
| V8.2 / V9.0 | Same as V8.0 with extended multi-user functions | F1 integrated help; online portal | Web-based OS client support |
| V9.1 / V9.2 | Same families | F1 + online documentation portal | Unicode support, virtualized OS server |
For projects running PCS 7 V7.0 on Windows XP (the source scenario), the legacy function names with _M and _B suffixes apply, and the help files are exclusively PDF documents installed from the PCS 7 documentation DVD.
Best Practices for Working with PCS 7 Faceplate Functions
- Do not modify the
@PCS7_Elements.pdlfile directly. Copy the gadgets you need into a project-specific@MyGadgets.pdland reference the original C functions. - Use the configuration dialog of each gadget (right-click → Properties → Configuration) to set the tag prefix and instance, rather than hard-coding them in C actions.
- Document any custom C function calls in a project-specific global script header file (
PCS7_Custom.h) to keep the wiring maintainable. - Test faceplate interactions in a simulated environment (SIMATIC S7-PLCSIM) before running on a live OS, especially for batch and loop operations.
- Keep the PCS 7 documentation DVD or the corresponding Siemens support download in a known location; the manuals are version-specific and frequently updated.
Field Notes on the Win XP / PCS 7 V7.0 Combination
The original scenario describes a PCS 7 V7.0 project running on Windows XP. This combination reached end of support several years ago, and Siemens officially retired WinCC V7.0 runtime support for new installations after Windows XP SP3. Engineers maintaining legacy V7.0 systems should be aware of the following constraints:
- The WinCC Information System is not bundled with PCS 7; it must be installed separately from the WinCC DVD.
- Global Script C functions are compiled at runtime via the WinCC C interpreter; no external MSVC build is required, but the C compiler is a 16-bit-compatible subset that does not support all C99 features.
- Microsoft Windows XP SP3 is the last supported platform for PCS 7 V7.0; SP2 and earlier are not certified.
- For modern replacement paths, Siemens recommends migrating to PCS 7 V9.1 or migrating to the SIMATIC WinCC Unified platform, which uses a different faceplate model based on TIA Portal and .NET-based scripting.
Migrating Legacy Faceplate Logic to Modern Platforms
When upgrading a PCS 7 V7.0 OS to V8.x or V9.x, the C function calls in the Global Script typically continue to work without modification because the function family naming is preserved. However, projects that used custom gadgets or non-standard C functions may need recompilation. The migration tool included in PCS 7 V8.0 (and later) scans the project for legacy C function calls and flags those that have been renamed.
For a complete migration to WinCC Unified (SIMATIC Unified PC RT V16 or later), the faceplate model changes substantially. The C function library is replaced by VBScript, C# (WinCC Unified Script), or graphical scripting. The HMI Faceplates Basics PDF (entry ID 68014632) documents the new model in detail.
Where are the PCS 7 faceplate C functions documented in PCS 7 V7.0?
The functions are documented in the PCS 7 Faceplates PDF manual (s7jfplb_e.pdf for V7.0) installed under Start → SIMATIC → Documentation, and in the Programming Instructions for Blocks manual (s7jpa70b_e.pdf). Both are also available on the PCS 7 documentation DVD under \Manuals\English\.
What is the @PCS7_Elements.pdl file used for?
The @PCS7_Elements.pdl file is the master WinCC picture in the OS project that contains the pre-configured gadgets (buttons, lists, indicators, bar graphs) used inside PCS 7 faceplates. Each gadget is wired to one or more Global Script C functions, such as BP_AUF_M for opening a faceplate or MSG_Quit for acknowledging messages.
How do I open a PCS 7 faceplate from a C action?
Use the BP_AUF_M function (or its modern equivalent PCS7_OpenFaceplate in V8.x+) with the structure tag prefix and instance number as parameters. First call BP_Bedienung_M to verify the operator's authorization; if the return value is 1, call BP_AUF_M to open the faceplate window.
Why does F1 not show help for PCS 7 faceplate functions in Global Script?
The WinCC Information System shipped with WinCC standalone does not cover the PCS 7-specific C function library. To get help, install the PCS 7 documentation set from the PCS 7 DVD or download the relevant PDFs (entry IDs 21401666 and 21402429 for V6.1; corresponding V7.0/V8.x entries on Siemens Industry Online Support).
Can I reuse PCS 7 V7.0 faceplate scripts in PCS 7 V9.x?
Yes, in most cases. PCS 7 V8.x and V9.x preserve the legacy BP_*, BV_*, MSG_*, and SL_* function families. The migration tool flags any function that has been renamed or whose signature has changed. For a migration to WinCC Unified, the scripts must be rewritten in VBScript, C#, or graphical scripting.