Configuring the UserStatus (UserStat) Input on APL MotL to Display Custom Messages and States

Configuring the UserStatus (UserStat) Input on APL MotL to Display Custom Messages and States

In SIMATIC PCS 7 V8.1, the UserStatus (UserStat) input on Advanced Process Library (APL) blocks like MotL and MotSpdCL is a 16-bit WORD parameter designed to transmit custom plant status flags directly to the WinCC OS faceplate. To display different custom text messages and visual indicators based on UserStatus, connect user-defined bit logic in CFC to the individual bits of UserStat, compile the OS, and in WinCC Graphics Designer configure a Text List or status display object inside @PG_MotL_Standard.pdl (or custom view) bound to the tag's .UserStatus element.

Table of Contents

Purpose and Architecture of APL UserStatus Parameters

In the SIMATIC PCS 7 Advanced Process Library (APL), core technological blocks (such as MotL FB 1850, MotSpdCL FB 1856, and VlvL FB 1899) provide standardized visualization of operational states (Running, Stopped, Interlocked, Faulted).

However, real-world process equipment frequently requires displaying auxiliary machine conditions that standard APL state machines do not natively evaluate:
* Motor bearing vibration high
* Winding temperature warning
* Variable speed drive cooling fan faulted
* Local maintenance disconnect switch engaged
* Auxiliary lubrication oil pressure low

To accommodate these custom requirements without modifying the internal code of Siemens system blocks, APL includes the dedicated input parameter UserStatus (often abbreviated as UserStat):
* Declared as a 16-bit WORD structure.
* Possesses the system attribute {s7_m_c := 'true'}.
* Automatically compiled to WinCC as an internal OS tag element (.UserStatus).

Bit-Level Mapping of the UserStat Input Structure

The UserStatus word provides 16 freely assignable boolean flags (Bit 0 through Bit 15):
* In CFC, engineers assemble custom binary interlocking, vibration, or temperature threshold alarms using standard bit logic or the W_BO / BO_W converter blocks.
* The packed word is connected to MotL.UserStatus.
* Inside WinCC, the value can be evaluated dynamically:
* As an Integer Text List: Values 0, 1, 2, 3 represent mutually exclusive operational states (e.g., 0 = Normal, 1 = Bearing Warm, 2 = High Vibration, 3 = Lubrication Warning).
* As Individual Bit Indicators: 16 separate LED badges or text strings illuminate whenever specific bits are active.
* As Alarm Triggers: Specific bits can be routed to an Event (FB 1811) or ALARM_8P block to generate timestamped entries in the WinCC Alarm Control.

Comparison Table - Custom Status Methods in APL

The following table compares different methodologies for displaying custom auxiliary messages and states on APL motor faceplates.

MethodAS Parameter UsedFaceplate Display MechanismRequires Custom PDL?Automatic Alarming?UserStatus (Word)MotL.UserStatusText List / Bit-mapped iconYes (Minor PDL edit)Via Event blockUserAna1 / UserAna2MotL.UserAna1Analog bar graph & numeric fieldBuilt-in APL viewBuilt-in limit alarmsAuxiliary Block ExtensionChild MonAnL blockMulti-instance faceplate tabStandard APL viewNative APL alarmsCustom SCL Block ModificationCustom block pinsCustom WinCC faceplateYes (Full custom PDL)Custom implementation

Step-by-Step CFC and WinCC Configuration Procedure

Follow this procedure to configure UserStatus on MotL and display custom operational messages in WinCC:

  1. Pack Bit Logic into UserStatus in CFC:
    * Open the CFC chart containing the MotL block.
    * From the standard library (CFC -> BIT_WD), insert a bit-to-word converter block: BO_W (FC 66).
    * Interconnect your custom condition signals to the inputs of BO_W:

    • In0 $
      ightarrow$ Bearing Temperature High Alarm contact.
    • In1 $
      ightarrow$ Vibration High Warning contact.
    • In2 $
      ightarrow$ Lube Oil Pressure Normal contact.
    • Interconnect the output Out of BO_W to input UserStatus of MotL.
    • Compile CFC charts with Scope: Changes only.
  2. Compile OS to Transfer Tags:
    * In SIMATIC Manager, execute Compile OS.
    * WinCC creates the tag <Chart_Name>/<MotL_Block>.UserStatus in Tag Management.

  3. Configure Custom Faceplate View in Graphics Designer:
    * In WinCC Explorer, open the GraCS directory.
    * Open @PG_MotL_Standard.pdl (or your customized variant, e.g., @PG_MotL_Custom_Standard.pdl).
    * Insert a Text List object from the WinCC Smart Objects palette.
    * In Object Properties:

    • Set Tag Name to dynamically bind to the tag prefix + .UserStatus.
    • Under Assignments, define text strings:
    • Value 0: All Auxiliaries Healthy
    • Value 1: Bearing Temperature High
    • Value 2: Vibration High
    • Value 3: Multiple Auxiliary Warnings
    • Save the picture.
  4. Optional: Trigger Operator Alarms via Event:
    * In CFC, insert an Event (FB 1811) block in the same chart.
    * Interconnect the individual auxiliary fault bits to Event.In1, Event.In2.
    * When an auxiliary condition occurs, an alarm is logged in WinCC Alarm Logging with the motor's exact tag name.

Verification

Confirm that custom status messages update dynamically in runtime:

  1. Simulate Condition in CFC:
    * In CFC Test Mode, simulate a high bearing temperature by setting BO_W.In0 = TRUE.
    * Confirm that MotL.UserStatus changes to 1 (or hex 16#0001).
  2. Verify Faceplate Runtime Display:
    * In WinCC Runtime, click the motor block icon to open the faceplate.
    * Confirm that the Text List object immediately updates to display Bearing Temperature High.
  3. Simulate Multiple Conditions:
    * Set BO_W.In1 = TRUE (Vibration high).
    * Confirm that the faceplate text updates to reflect the combined status value.

Limitations and Operational Precautions

  • Preserving Original @ Faceplates: To prevent future PCS 7 software updates or migrations from overwriting your customized @PG_MotL_Standard.pdl, create a dedicated faceplate variant (e.g., @PG_MotL_SP_Standard.pdl) paired with a custom block icon number.
  • Avoid Safety-Critical Interlocking via UserStat: UserStatus is strictly an informational and visualization parameter. Do not route UserStatus through WinCC to command controller safety shutdowns. All safety trips must execute directly via CFC interlocks (Protect, Intlock).
  • Tag Prefix Binding: Ensure all graphic objects inside the faceplate utilize dynamic tag prefixing (.UserStatus) rather than hardcoded absolute tag names.

Engineer FAQ

Can UserStatus trigger colors on the block icon in the overview screen?

Yes. In Graphics Designer, you can edit the block icon in @PCS7Typicals_APL.pdl and configure dynamic dialogs or script triggers on .UserStatus to display warning badges or color changes directly on the overview graphic.

Does UserStatus exist on valve blocks as well?

Yes. UserStatus is standardized across almost all APL control modules, including VlvL, VlvMotl, VlvAnL, MotL, MotRevL, and MotSpdCL.

What is the difference between UserStatus and UserAna1?

UserStatus is a 16-bit integer/word used for discrete boolean flags and text list messages. UserAna1 and UserAna2 are floating-point REAL variables designed to display continuous analog measurements (like motor winding temperature or current draw) directly in the faceplate.

Do I need to compile the OS if I only change the bit logic connected to UserStatus?

If the tag already exists in WinCC Tag Management, changing the logic driving UserStatus inside the AS requires only an AS compile and download in RUN; recompiling the OS is unnecessary.

Technical References

Related Articles

Related Tags

  • APL
  • MotL
  • UserStatus
  • Faceplates
  • Text-Lists
  • WinCC-Graphics
6 respuestas