Resolving Disabled APL_OP_BUTTON Controls in Custom WinCC Faceplates Without PLC Binding
In custom SIMATIC PCS 7 WinCC faceplates created using the APL Style Guide and populated via Open OS or DBA (without a physical PLC), command buttons such as APL_OP_BUTTON (csoBtnCommand) remain grayed out and disabled when operator authorization tags are uninitialized or when simulated tag quality codes report Bad (0x00 / 0x08). Enabling the button requires writing 0xFFFFFFFF to the permission mask OS_PermLog, enabling OS_PermOn, and ensuring dynamic process tags assert Good quality (0x80).
Table of Contents
- Architecture of APL_OP_BUTTON in Customized WinCC Faceplates
- Root Causes: Permission Bitmasks vs. Quality Code Suppression
- Deconstructing the Operator Permission Bitmask: OS_PermLog and OS_PermOn
- Step-by-Step Procedure to Enable APL Command Buttons in DBA / Open OS Setups
- Verification
- Limitations and Operational Precautions
- Engineer FAQ
- Technical References
- Related Articles
- Related Tags
Architecture of APL_OP_BUTTON in Customized WinCC Faceplates
The SIMATIC PCS 7 Advanced Process Library (APL) Style Guide enables engineers to create standardized operator faceplates for third-party systems using tools like DBA (Data Base Automation) and SIMATIC PCS 7 Open OS:
* APL_OP_BUTTON (csoBtnCommand): A specialized WinCC custom object / OCX control that handles 2-step operator interactions (e.g., clicking Open, displaying confirmation dialog, and commanding field equipment).
* When clicked, the button typically opens an operational pop-up dialog such as @pg_apl_oa_binary103.pdl.
* However, in non-PLC environments where tags originate from external OPC servers or software simulators, engineers frequently find the command button locked and grayed out.
Root Causes: Permission Bitmasks vs. Quality Code Suppression
The APL operator button evaluates multiple internal conditions before enabling itself for user clicks:
1. Quality Code Validation: The APL engine inspects the OPC quality code of the interconnected process variable. If the tag quality is Bad (0x00 - Configuration Error, or 0x08 - Not Connected), the control automatically locks to prevent sending commands to unmonitored hardware.
2. Operator Authorization: The active logged-in Windows user must hold the required authorization level (e.g., Level 5 Process Controlling) in WinCC User Administrator.
3. The Permission Bitmask (OS_PermLog): Represents an inverted or direct 32-bit permission register where individual bits authorize specific button actions.
4. Permission Enable Flag (OS_PermOn): A boolean tag that dictates whether the permission bitmask is evaluated.
Deconstructing the Operator Permission Bitmask: OS_PermLog and OS_PermOn
In standard APL controllers, instance blocks continuously update permission bitmasks:
* OS_PermLog (DWORD): Each bit corresponds to an operational command. For example, Bit 0 enables Auto mode, Bit 1 enables Manual mode, Bit 2 enables Open commands, and Bit 3 enables Close commands.
* If an engineer deletes OS_PermLog or writes 0 (16#00000000) directly to it, all operation bits are set to False, locking the button completely.
* The Correct Value: To authorize all operations in a simulated or custom environment, OS_PermLog must be initialized to All Ones:
$$ ext{OS_PermLog} = 16 ext{#FFFFFFFF} \quad (-1 ext{ or } 4,294,967,295)$$
* Additionally, ensure OS_PermOn = 1 (or 0 if permission evaluation should be bypassed entirely, depending on template design).
Step-by-Step Procedure to Enable APL Command Buttons in DBA / Open OS Setups
To unlock APL_OP_BUTTON in a custom faceplate environment:
1. Initialize Permission Tags in WinCC Tag Management:
* Locate the internal tag group created for the custom technological block.
* Verify that tag .OS_PermLog exists as an unsigned 32-bit value (DWORD).
* Set its initial value to 16#FFFFFFFF.
* Verify that .OS_PermOn exists as a binary tag and set its initial value to 1.
2. Force Good Quality Code on Process Tags:
* If tags originate from an external simulator or OPC server, verify that the OPC connection reports quality code 0x80 (Good).
* If using WinCC internal tags for offline testing, ensure they are initialized with non-zero values to generate valid quality codes.
3. Verify User Authorization in WinCC User Administrator:
* In WinCC Explorer, open User Administrator.
* Confirm that the logged-in user account has authorization for authorization levels 5 and 6.
4. Inspect Custom Object Properties in Graphics Designer:
* Open the custom faceplate .pdl in Graphics Designer.
* Select csoBtnCommand and inspect its Object Properties.
* Under Properties -> Operator Authorization, verify that the assigned authorization level matches the User Administrator group.
Verification
- Activate WinCC runtime and log in with an authorized operator user.
- Open the customized faceplate: verify that the
APL_OP_BUTTONtransitions from grayed out to active (standard 3D button appearance). - Click the button: verify that operational pop-up
@pg_apl_oa_binary103.pdlopens immediately. - Click Open / Close: confirm that command tags toggle and the faceplate reflects the new state.
Limitations and Operational Precautions
- Setting
OS_PermLog = 16#FFFFFFFFpermanently authorizes all faceplate actions; in live production environments, plant interlocks must govern permission bits dynamically. - Custom faceplates designed outside standard PCS 7 CFC bypass the automated AS-OS compiler; tag connections must be verified manually in Tag Management.
- Avoid deleting standard APL system properties from custom faceplate templates, as internal C-scripts depend on their presence.
Engineer FAQ
- What is the function of APL_OP_BUTTON in WinCC faceplates?
It provides standard 2-step command execution (selection and confirmation) conforming to the APL Style Guide. - Why does writing 0 to OS_PermLog disable the command button?
Writing 0 clears all 32 permission bits, revoking operator permission for all block commands. - What value should be assigned to OS_PermLog to grant all permissions?
The hexadecimal value16#FFFFFFFF(all 32 bits set to 1). - What OPC quality code is required for APL buttons to become enabled?
Quality code0x80(Good) is required; Bad quality (0x00or0x08) automatically disables the button. - What utility generates PCS 7 tags for non-Siemens controllers?
SIMATIC PCS 7 Open OS and the DBA (Data Base Automation) tool. - What system picture represents the binary 2-step command pop-up?
The picture@pg_apl_oa_binary103.pdllocated in the WinCCGraCSdirectory. - Which WinCC editor manages operator privilege levels?
The WinCC User Administrator editor. - Can APL_OP_BUTTON be used with internal WinCC memory tags?
Yes, provided permission tags and valid quality codes are simulated in Tag Management. - What is the purpose of the OS_PermOn tag?
It enables or disables the active evaluation of theOS_PermLogpermission bitmask in the faceplate script. - How can an engineer monitor faceplate script errors in real time?
UsingC:/Program Files (x86)/Siemens/WinCC/bin/apdiag.exeand opening the Output Window.
Technical References
- SIMATIC PCS 7 APL Style Guide for Custom Faceplates
- SIMATIC PCS 7 Open OS Engineering and Commissioning Manual
- Siemens Industry Online Support Entry: Enabling APL Operator Controls (Entry ID 299495)
- SIMATIC HMI WinCC V7.5 User Administrator Manual
Related Articles
- Troubleshooting High PdlRT CPU Utilization and Slow Faceplate Opening on SIMATIC IPC647D
- Troubleshooting Missing Interlock Text Displays on WinCC APL Faceplates in PCS 7
Related Tags
PCS 7, WinCC, APL Style Guide, Faceplate, APL_OP_BUTTON, OS_PermLog, Open OS, DBA, Permissions, Quality Code