Positioning APL and Classic Faceplates Adjacent to Calling Block Icons in SIMATIC PCS 7
In SIMATIC PCS 7, faceplates open in the upper-left corner of the monitor by default. To position an APL faceplate adjacent to the calling block icon, set the block icon property 'FaceplateDefaultPos' to NO, and configure 'FaceplatePosLeft' and 'FaceplatePosTop' to match the block icon coordinates plus its width. For legacy or migrated PCS 7 v6 block icons using SSMOpenFacePlate, modify the underlying C-action to call SSMRTOpenFaceplate with the block icon's dynamic Left and Top properties while setting the default position boolean flag to FALSE.
Table of Contents
- Faceplate Positioning Architecture in SIMATIC PCS 7
- Configuring Dynamic Coordinates in Modern APL Block Icons
- Modifying Legacy SSMOpenFacePlate and SSMRTOpenFaceplate Scripts
- Handling Multi-Monitor Layouts and Window Clipping Boundaries
- Verification
- Limitations and Operational Precautions
- Engineer FAQ
- Technical References
- Related Articles
- Related Tags
Faceplate Positioning Architecture in SIMATIC PCS 7
In complex process control rooms, minimizing operator mouse travel is a primary ergonomic goal. By default, the SIMATIC PCS 7 Split Screen Manager (SSM) opens operator faceplates at fixed coordinates in the top-left area of the active screen segment. When an operator clicks a motor or valve block icon in the lower-right quadrant, they must move the cursor across multiple widescreen monitors to reach the command buttons.
To open the faceplate immediately next to or directly over the clicked icon, the graphic system provides two mechanisms depending on the block icon library generation:
* APL Block Icons (APL_OpenFaceplate): Feature built-in exposed coordinate properties on the customized object container.
* Classic / Migrated Block Icons (SSMOpenFacePlate): Rely on legacy C-actions that invoke the core Split Screen Manager API function SSMRTOpenFaceplate.
Configuring Dynamic Coordinates in Modern APL Block Icons
Modern APL customized block icons include dedicated attributes under the Miscellaneous property group:
- Open the process picture in WinCC Graphics Designer.
- Select the APL block icon, open Object Properties, and select Miscellaneous.
- Configure the positioning attributes:
*FaceplateDefaultPos(ordefaultPos): Change static value fromYEStoNO.
*FaceplatePosLeft(orleftPos): Right-click the dynamic lightbulb, select C-Action, and enter:
c long lLeft = GetPropWord(lpszPictureName, lpszObjectName, "Left"); long lWidth = GetPropWord(lpszPictureName, lpszObjectName, "Width"); return (lLeft + lWidth + 10); // Opens 10 pixels to the right
*FaceplatePosTop(ortopPos): Assign a dynamic C-Action:
c return GetPropWord(lpszPictureName, lpszObjectName, "Top"); - Save the picture. When clicked in runtime,
APL_OpenFaceplatereads these attributes and positions the top-level faceplate window directly adjacent to the icon.
Modifying Legacy SSMOpenFacePlate and SSMRTOpenFaceplate Scripts
For legacy block icons migrated from PCS 7 v6/v7 that lack exposed positioning attributes, modify the C-script attached to the icon's mouse click event:
// Modified legacy call to open faceplate over block icon
char szReturnPath[260];
CMN_ERROR Err;
SSMRTOpenFaceplate(
SSMGetScreen(lpszPictureName), // Screen handle
szPictureControlField, // Control field
szReturnPath, // Output path
sizeof(szReturnPath), // Buffer size
dwStyle, // Window style
GetPropWord(lpszPictureName, lpszObjectName, "Left"), // Left coordinate
GetPropWord(lpszPictureName, lpszObjectName, "Top"), // Top coordinate
FALSE, // FALSE = do not use default pos
szNewTagname, // Technological tag
szFullSymbolPath, // Symbol path
&Err // Error structure
);
Listing 1: Modified SSMRTOpenFaceplate invocation passing icon coordinates.
Handling Multi-Monitor Layouts and Window Clipping Boundaries
When positioning faceplates dynamically, engineers must prevent window clipping:
(lLeft + lWidth + FaceplateWidth > MonitorWidth); if true, spawn to the left of the icon.(lTop + FaceplateHeight > MonitorHeight); if true, offset top coordinate upwards.SSMGetScreen to bound coordinates to active monitor.Table 1: Window boundary conditions and coordinate clamping rules.
Verification
To confirm dynamic faceplate positioning:
- Launch WinCC Runtime on an operator station.
- Click a block icon positioned in the center of the screen: confirm that the faceplate opens immediately adjacent to the icon.
- Click a block icon positioned near the far right edge of the screen: confirm that the faceplate clamps within monitor boundaries without clipping command buttons.
- Open
apdiag.exeand monitor output: confirm that no script errors or coordinate out-of-range warnings appear during faceplate instantiation.
Limitations and Operational Precautions
- Modifying system script templates (
SSMOpenFacePlate.fct) directly in the global Siemens library folder will affect all projects on that computer; always save modified scripts in the project's localLibrarydirectory. - If automatic block icon generation (Create/Update Block Icons) is executed on the OS, default template values in
@PCS7Typicals.PDLwill overwrite individual picture instances unless configured inside the typicals catalog. - Spawning faceplates directly on top of block icons conceals dynamic status indicators; offset coordinates by the block icon width to keep the icon visible.
Engineer FAQ
Can I configure all block icons to open adjacent by default in @PCS7Typicals?
Yes. Open @PCS7Typicals.PDL, select all customized block icon templates, set FaceplateDefaultPos = NO, and configure the dynamic positioning formulas. Future OS compilations will replicate this behavior plant-wide.
What happens if FaceplatePosLeft exceeds the resolution of the screen?
WinCC Split Screen Manager automatically detects off-screen coordinates and relocates the window to the nearest visible monitor quadrant to ensure accessibility.
Can operators still move the faceplate after it opens adjacent to the icon?
Yes. Faceplates remain standard movable WinCC picture windows that operators can drag, pin, or close as desired.
Technical References
- SIMATIC Process Control System PCS 7 Advanced Process Library (A5E35003921)
- SIMATIC Process Control System PCS 7 Operator Station (A5E35003957)
- SIMATIC WinCC V7.3 System Manual: Scripting (VBS, ANSI-C) (A5E35899988)
- Siemens Industry Online Support: Customizing Faceplate Opening Positions (Entry ID 109780813)
Related Articles
- Restoring Missing Button Text on APL Interlock Faceplates in Non-Standard WinCC Languages
- Renaming Customized Block Icons and Managing Typicals in PCS 7 Graphics Designer
- Configuring Button Visibility and Operator Control on APL OpDi03 Faceplates in PCS 7
- Opening and Testing PCS 7 OS Projects Offline on a Standalone Field Laptop
Related Tags
- Faceplate Positioning
- APL_OpenFaceplate
- SSMOpenFacePlate
- Block Icons
- Graphics Designer
- Ergonomics
- PCS 7