Restoring Invisible Limit Checkboxes in APL Analog Faceplates: OS_Perm Permissions and Graphic Rendering

Restoring Invisible Limit Checkboxes in APL Analog Faceplates: OS_Perm Permissions and Graphic Rendering

In SIMATIC PCS 7 Advanced Process Library (APL), when checkboxes in the Limit Values view of an analog monitoring faceplate (@pg_monanl_limit.pdl / MonAnL) appear invisible while the underlying buttons remain clickable, the issue is caused by a missing graphic asset or a mismatch in the Operator Permissions (OS_Perm) bit evaluation. Checkbox rendering relies on vector bitmaps (@APL_Check_Green.emf, @APL_Check_Disabled.emf) and bits 13 to 22 of OS_Perm. If OS_Perm disables limit modification (e.g. Bit 13 = 0 for high alarm limit), or if Windows display scaling distorts EMF rendering, the checkbox graphic fails to draw. Restoring OS_Perm bits and verifying WinCC client graphic caching restores full visual controls.

Table of Contents

APL Limit Values View Architecture in MonAnL and PIDConL

In the SIMATIC PCS 7 Advanced Process Library (APL), analog monitoring blocks such as MonAnL (FB1845) and controllers such as PIDConL (FB1874) provide dedicated limit supervision views in their operator faceplates (@pg_monanl_limit.pdl). In this view, operators and engineers inspect and parameterize operational alarm thresholds:

  • High-High Alarm (PV_AH_Lim)
  • High Warning (PV_WH_Lim)
  • High Tolerance (PV_TH_Lim)
  • Low Tolerance (PV_TL_Lim)
  • Low Warning (PV_WL_Lim)
  • Low-Low Alarm (PV_AL_Lim)

Alongside each threshold input field, APL displays a status icon and a checkbox indicating whether the operator is authorized to modify the value.

Role of Operator Permissions (OS_Perm) in Limit Value Editing

Operator capability to alter alarm limits is governed at the block algorithm level by the OS_Perm (Operator Permissions) DWORD parameter:

  • Bit 13: Operator can change limit for high alarm (PV_AH_Lim).
  • Bit 15: Operator can change limit for high warning (PV_WH_Lim).
  • Bit 17: Operator can change limit for high tolerance (PV_TH_Lim).
  • Bit 18: Operator can change limit for low tolerance (PV_TL_Lim).
  • Bit 20: Operator can change limit for low warning (PV_WL_Lim).
  • Bit 22: Operator can change limit for low alarm (PV_AL_Lim).

If an engineer de-asserts Bit 13 (OS_Perm.Bit13 = 0), the block algorithm sets output OS_PermOut.Bit13 = 0, instructing the faceplate script to disable user interaction on that limit.

Graphic Asset Rendering: Enhanced Metafiles (.emf) vs Native Checkbox Controls

Unlike standard Windows dialog checkboxes, APL faceplates render checkbox states using dynamic graphic objects bound to Enhanced Metafile (.emf) files:

  • Green Checkmark (@APL_Check_Green.emf): Operator permission granted (OS_Perm = 1) and process condition allows editing.
  • Grey Box (@APL_Check_Grey.emf): Editing temporarily blocked by active process conditions (e.g. sequence lock or higher-level interlock).
  • Red Cross (@APL_Check_Disabled.emf): Operator permission denied (OS_Perm = 0).

If the graphic file is missing from the client's GraCS directory or if non-standard Windows DPI scaling (e.g. 125% or 150%) prevents vector metafile rasterization, the image fails to draw, leaving a transparent clickable zone.

Dynamic Modification of OS_Perm: Process Conditions vs Configuration Bits

A frequent observation by engineers is that MonAnL appears to 'modify permissions by itself':

  • MonAnL dynamically calculates OS_PermOut based on static permissions (OS_Perm) combined with active enabling pins (PV_AH_En, PV_AL_En).
  • If a limit is disabled in CFC (PV_AH_En = 0), the block automatically sets the corresponding permission bit to 0 in OS_PermOut and renders the limit text blank with a crossed-out bell icon.
  • This is standard, intentional APL behavior designed to prevent operators from parameterizing inactive alarm tiers.

Limit Parameter and OS_Perm Mapping Specification Matrix

The following table details the relationship between APL limit parameters, enabling inputs, and permission bits:

Limit Threshold ParameterEnable ParameterControlling OS_Perm BitVisual Faceplate State if EnabledVisual State if DisabledPV_AH_Lim (High Alarm)PV_AH_EnBit 13Green Checkbox / Numeric EntryRed Cross / Blanked EntryPV_WH_Lim (High Warning)PV_WH_EnBit 15Green Checkbox / Numeric EntryRed Cross / Blanked EntryPV_TH_Lim (High Tolerance)PV_TH_EnBit 17Green Checkbox / Numeric EntryRed Cross / Blanked EntryPV_TL_Lim (Low Tolerance)PV_TL_EnBit 18Green Checkbox / Numeric EntryRed Cross / Blanked EntryPV_WL_Lim (Low Warning)PV_WL_EnBit 20Green Checkbox / Numeric EntryRed Cross / Blanked EntryPV_AL_Lim (Low Alarm)PV_AL_EnBit 22Green Checkbox / Numeric EntryRed Cross / Blanked Entry

Step-by-Step Diagnostic and Restoration Procedure

Execute the following steps to restore visible limit checkboxes:

  1. Check CFC Parameters: Open the CFC chart containing MonAnL. Check input parameter OS_Perm. Verify that Bits 13 through 22 are set to TRUE (1).
  2. Verify Limit Enabling: Ensure PV_AH_En, PV_WH_En, PV_WL_En, and PV_AL_En are set to 1.
  3. Audit WinCC GraCS Directory: On the OS Server and Clients, navigate to the WinCC project GraCS directory. Verify the existence of @APL_Check_Green.emf, @APL_Check_Grey.emf, and @APL_Check_Disabled.emf.
  4. Verify Windows DPI Scaling: On the OS Client, open Windows Display Settings. Ensure display scaling is strictly set to 100% (96 DPI). WinCC Graphics Designer vector components do not render reliably on fractional scaling (125%/150%).
  5. Compile and Download: If OS_Perm was altered, download CFC changes to the CPU. Reopen the faceplate in WinCC Runtime.

Verification

Validate faceplate rendering through these checks:

  1. Faceplate Visual Inspection: Open @pg_monanl_limit.pdl in WinCC Runtime. Confirm crisp green checkmarks appear adjacent to all active limits.
  2. Operator Entry Test: Click the high alarm limit input box. Confirm the numerical keypad opens, enter a new value, and verify it updates online in CFC.
  3. Disable Test: Set PV_AH_En = 0 in CFC. Verify the high alarm limit checkbox immediately displays the disabled crossed-out indicator.
  4. Client-Server Parity: Open the same faceplate on both the OS Server and OS Client stations; ensure identical graphic rendering.

Limitations and Operational Precautions

Observe the following operational constraints:

  • User Level Restrictions: Even if OS_Perm.Bit13 = 1, an operator must belong to an authorization group possessing WinCC authorization level 6 (Higher Process Controlling) to commit limit changes.

  • Limit Order Invariants: High limits must always remain numerically greater than low limits (PV_AH_Lim > PV_WH_Lim > PV_WL_Lim > PV_AL_Lim). APL blocks will reject invalid cross-boundary limit assignments.

  • Commercial Accuracy Disclaimer: Software order numbers (MLFBs), package structures, and hardware capacity prerequisites vary across PCS 7 versions and hardware platforms. System integrators must confirm exact software entitlements and licensing requirements against the official Siemens Catalog CA 01 and obtain an authorized Siemens distributor quotation prior to purchasing.

Engineer FAQ

Can an operator change alarm limits if OS_Perm is set to 1 but user authorization is low?

No. APL enforces two levels of protection: the block's OS_Perm parameter must be enabled, AND the logged-in user must have WinCC Authorization Level 6 (Higher Process Controlling).

Why does non-100% Windows display scaling break WinCC faceplates?

WinCC V7.x is optimized for 96 DPI (100% scaling); running 125% or 150% scaling distorts small vector EMF graphics and misaligns dynamic picture window coordinates.

Can I hide unused limits entirely from the faceplate?

Yes, setting the enable pin to 0 (e.g. PV_TH_En = 0 and PV_TL_En = 0) hides tolerance limits completely from the limit values view.

Technical References

Related Articles

Related Tags

  • SIMATIC PCS 7
  • APL
  • MonAnL
  • PIDConL
  • OS_Perm
  • Limit Values
  • Faceplate
  • EMF Graphic
6 respuestas