Configuring PCS 7 VlvL Block Messages in SIMATIC Manager

David Krause12 min read
SiemensTutorial / How-toWinCC
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Configuring PCS 7 VlvL Block Messages in SIMATIC Manager

SIMATIC PCS 7 valve blocks such as VlvL, VlvAnL, and MotL ship with a fixed message architecture built on SFB/FB 35 (ALARM_8P) and a set of predefined event slots (SIG1 through SIG8). When the default slot labels do not match your plant text, or when you need to add a new event that the type does not expose, you must rewire the message text and event source through the SIMATIC Manager message configuration dialog. This article explains the message model used by the APL VlvL type, how to remap SIG1 and SIG2, how to trigger SIG3–SIG5 through the ExtMsg1–ExtMsg3 inputs, why SIG6–SIG8 cannot be used without source access, and how to add unlimited custom events through an MonAnL/MonDiL monitoring block. The procedure is valid for PCS 7 V9.0 SP2 through V9.1 with SIMATIC Manager V5.7 (no TIA Portal migration) and assumes that the operator station already runs WinCC Runtime with the standard message summary views.

Block scope: All references in this article apply to the PCS 7 Advanced Process Library (APL) type VlvL from PCS 7 APL V9.0 or later. Equivalent behavior is found on VlvS, VlvM, MotSpdL, MotL, and AnL blocks; the eight-slot message model is identical across the family.

Prerequisites

  1. PCS 7 Engineering Station with SIMATIC Manager V5.7 (ES V9.0 SP2 minimum, V9.1 recommended) installed.
  2. The S7 Program containing the VlvL instance has been compiled at least once with Generate module drivers off so that CFC/SFC charts are consistent.
  3. Operator Station (OS) project in the same multiproject; WinCC Explorer is reachable from the ES via terminal bus or project remote access.
  4. Operator authorization Configuring messages on the target OS (right-click OS → Properties → Operator authorization).
  5. Standard PCS 7 message classes loaded from the master data library PCS7_MsgClassLib. If you use user-defined message classes, activate them per the procedure in the Siemens Knowledge Base entry ID 109812497 – Configuring the message system with user-configurable message classes.

Understanding the VlvL Message Architecture

The VlvL type contains a single ALARM_8P instance inside its runtime code. That call exposes up to eight message slots, addressed in the message configuration as SIG1 through SIG8. Each slot is bound to a Boolean condition in the block and, by default, carries a PCS 7–supplied text such as Close command, Open command, Feedback closed, or External fault. The mapping is hard-coded inside the protected type (the F-source is not delivered with the standard PCS 7 installation), which means that the source of the event cannot be changed by wiring inputs on the block — only the text, the message class, the acknowledgement behavior, and the priority can be edited.

Slot Default event Trigger source Configurable in SIMATIC Manager?
SIG1 Close command output Internal (CmdClose) Yes — text, class, ack
SIG2 Open command output Internal (CmdOpen) Yes — text, class, ack
SIG3 External message 1 ExtMsg1 input Yes — text, class, ack + external wiring
SIG4 External message 2 ExtMsg2 input Yes — text, class, ack + external wiring
SIG5 External message 3 ExtMsg3 input Yes — text, class, ack + external wiring
SIG6 Not used (reserved) No internal source No — no trigger, no source code
SIG7 Not used (reserved) No internal source No — no trigger, no source code
SIG8 Not used (reserved) No internal source No — no trigger, no source code

Configuring Internal Messages SIG1 and SIG2

SIG1 and SIG2 fire automatically when the corresponding command output of the valve (CmdClose or CmdOpen) goes high. You cannot rewire the trigger, but you can re-text the event and re-class the message so that the operator sees the wording you want.

  1. Open the S7 Program in SIMATIC Manager and double-click the CFC chart that holds the VlvL instance.
  2. Right-click the VlvL block → Message configuration… (German: Meldungskonfiguration…).
  3. The dialog opens with the eight slots listed on the left. Select SIG1 and click Edit.
  4. In the Message text field, type the operator text, e.g. "Valve V-101 commanded to close". You can use the placeholders @%d@, @%s@, or @1@…@9@ to embed associated value placeholders (process tags).
  5. From the Message class drop-down, select a class such as Valve – Operation or a user-defined class.
  6. Click OK and repeat for SIG2.
Do not confuse the operational message and the operating message classes. Operational messages (Prozessmeldung) appear in the message summary without an audible horn and without forced acknowledgement. Operating messages (Betriebsmeldung) are informational only and may be filtered out of the standard summary view in some OS faceplates. For a Close command event on a critical block, prefer Alarm – with acknowledgement or a high-priority class; for an Open command tracking message, operational message – without acknowledgement is usually the right choice.

Triggering External Messages SIG3, SIG4, SIG5

Slots SIG3, SIG4, and SIG5 are deliberately wired to the block's ExtMsg1, ExtMsg2, and ExtMsg3 Boolean inputs. They are the recommended path for any custom event that is not one of the two hard-wired commands.

Example: trigger a Feedback closed received message from the existing output FbkClose of the VlvL block.

  1. In the CFC chart, draw a connection from the output pin FbkClose of the VlvL block to the input pin ExtMsg1 on the same block (or on a different block if you want to consolidate feedback events).
  2. Right-click the VlvL block → Message configuration….
  3. Select SIG3 and click Edit.
  4. Enter the event text, e.g. "Valve V-101 feedback closed received".
  5. Set the message class. If you do not want the operator to acknowledge the event, scroll to the right, uncheck With acknowledgement, and on the left side set the class to Operational message – without acknowledgement.
  6. Confirm with OK.

The Boolean state of ExtMsg1 is sampled inside the block's ALARM_8P call on every cycle. The event is logged with the rising edge (TRUE) and cleared on the falling edge (FALSE) unless the message class is configured as latching. Always verify the polarity on the OS by manually toggling ExtMsg1 via the CFC debug or via the faceplate's simulation mode.

SIG6, SIG7, SIG8 — Why You Cannot Use Them

The standard VlvL type does not provide any runtime condition that calls the ALARM_8P for slots 6, 7, and 8. The block ships only with the F-source enabled in encrypted form; the VlvL block's source is not delivered with the standard PCS 7 media. Without the source, there is no way to wire a new trigger into SIG6 through the engineering interface. The only legal paths are:

  • Use SIG3–SIG5 for up to three custom Boolean events per VlvL.
  • For additional custom events, add a separate MonAnL or MonDiL monitoring block as described in the next section.
  • If the project uses the optional User-configurable message classes feature, follow the procedure in Siemens ID 109812497 to define a project-wide class that suppresses unwanted default messages from SIG1/SIG2 if you only want the external events to surface.
Do not attempt to overwrite the F-source of the APL block from a third-party tool or to download a modified runtime block into the AS. This violates the PCS 7 type-approval model and will cause the Type check dialog to flag the instance as inconsistent on the next download.

Using a Monitoring Block for Additional Custom Messages

The PCS 7 APL contains dedicated monitoring blocks for analog and digital signals: MonAnL (analog with limit), MonDiL (digital with edge), MonAnS, MonDiS, and the higher-level MonDi8L. They expose up to 16 message slots each and are the recommended approach when the application requires more than three custom events on a valve. A typical use case is a 4–20 mA position-feedback signal that must generate a warning between 60 % and 80 % and a high alarm above 80 %.

  1. Open the CFC chart that holds the VlvL instance.
  2. From the Libraries pane, drag the MonAnL block (catalog: PCS7 APL V9.x > Blocks+Templates > Monitoring) into the chart.
  3. Connect the VlvL output ActPos to MonAnL input PV_In.
  4. Open the MonAnL block and set HH_Lim = 80.0, H_Lim = 80.0, L_Lim = 60.0, LL_Lim = 0.0, MsgEn = TRUE, and MsgLock = FALSE.
  5. Right-click the MonAnL block → Message configuration… and customize the text on MSG_LIM_HH (e.g. Valve V-101 position above 80 %) and MSG_LIM_H (e.g. Valve V-101 position above 60 %).
  6. Uncheck Create block icon in the block's Object properties > Block icon dialog if you do not want the monitoring block to appear as a faceplate on the OS overview. The messages will still arrive in the common WinCC message summary, but the block icon will be hidden.

For a project that requires 12 such messages, instantiate 12 MonAnL blocks, wire each PV_In to the relevant process tag, and tune the limits. MonAnL consumes one alarm-8P resource (8 message slots) and, if the eight default HH/H/L/LL plus auxiliary slots are not enough, can be cascaded with a MonDi8L for digital outputs of an upstream OR logic.

Compiling and Downloading the OS

Message text and class changes only reach the operator station after a full OS compile and download. SIMATIC Manager will keep the changes inside the S7 program source, but the WinCC database and the OS runtime DLLs are not touched until you run the OS compiler.

  1. In SIMATIC Manager, right-click the Operator Station in the component view → Compile OS.
  2. In the dialog, leave Scope = Complete for a first compile; subsequent iterations can use Changes only to reduce compile time.
  3. Click Compile. The output window should end with OS compile completed – 0 errors, 0 warnings.
  4. Right-click the OS → Download to target system. Choose Entire OS on a first deployment, or Changes only for hot updates that do not require a WinCC restart.
  5. Wait for the OS runtime to come back online and log in as the Process operator role to verify the new messages.
CPU-wide vs project-wide messages: Symbol-related messages on shared tags can be configured as CPU-wide or project-wide in the symbol editor. The choice affects whether the message survives a CPU object replacement. Refer to Siemens entry 16993580 – CPU-wide vs project-wide messages before changing message scopes on tags used by VlvL.

Verification Checklist

Step Expected result How to confirm
Force close command on the faceplate Message on SIG1 with new text appears in OS summary WinCC Explorer → Message overview filter on block name
Drive FbkClose to TRUE on the AS SIG3 message with custom text appears Use CFC online → force output → observe summary
Force ExtMsg1 FALSE Message leaves the summary (operational class) or is latched (alarm class) OS message line clears or stays pending depending on class
Exceed 80 % on the analog position tag MonAnL MSG_LIM_HH message appears; the VlvL block icon stays untouched OS summary shows new entry, no extra faceplate icon in the plant overview
Power-cycle the OS All four messages are still visible in the archive WinCC long-term archive query by date range

Troubleshooting Matrix

Symptom Likely cause Corrective action
Message text in OS shows the default @%s@ placeholder OS compile not run after edit Right-click OS → Compile OS → Complete → Download
No SIG3 message even though ExtMsg1 is forced TRUE Message class is operating message and the OS faceplate filters it out Change class to operational message or alarm
SIG6 slot returns No trigger assigned in the dialog Slot not used by the block type Move event to MonAnL/MonDiL or to SIG3–SIG5
Type check fails after manual block import Type version mismatch between ES and OS Update PCS 7 APL on the OS, re-import the type, recompile
Message arrives but is duplicated Both ExtMsg1 on VlvL and a parallel MonDiL trigger the same event Decide on a single source of truth; remove the redundant wiring
Message is acknowledged but reappears after restart Symbol-related message configured as project-wide and the tag was renamed Re-anchor the message in the symbol editor, or switch to CPU-wide

Field-Proven Caveats

  • Edge vs level semantics. ALARM_8P logs on the rising edge of the SIG input. If FbkClose is wired directly to ExtMsg1 and the actual feedback in the field chatters (e.g. limit-switch bounce), a single valve close will produce a burst of messages. Insert a one-shot or a debounce block in the CFC, or use a digital monitoring block with a configurable minimum dwell time.
  • Priority collision. Two SIGs on the same block with the same priority (e.g. both priority 5) will not sort cleanly in the message summary. Assign distinct priorities: Command = 5, External info = 8, External warning = 4, External fault = 1.
  • OS compile cost. A full OS compile of a 50,000-tag project can take 30–60 minutes. Use Compile changes only for message-text edits to stay inside the 2–5 minute window.
  • Type approval. Do not replace the APL VlvL type with a derived customer type that adds new ALARM_8P calls without first performing a PCS 7 type approval. PCS 7 V9.x will reject non-approved types on download with Type not found in the master data library.
  • Authority. The OS only allows acknowledgement and the Hide action if the logged-in operator carries the Process operator authorization. Configure the authorization in the OS user administration before commissioning.

FAQ

Why does the message configuration dialog list SIG1 through SIG8 when SIG6–SIG8 have no source?

The PCS 7 APL VlvL type calls a single ALARM_8P instance, which exposes eight message slots at the engineering interface. The dialog always shows the full eight-slot view, but only SIG1, SIG2, SIG3, SIG4, and SIG5 are wired to runtime conditions inside the block. SIG6, SIG7, and SIG8 cannot be triggered without the encrypted F-source.

Can I add more than three external Boolean events to a single VlvL block?

No, the block exposes only ExtMsg1, ExtMsg2, and ExtMsg3. For additional events, add a MonDiL (digital) or MonAnL (analog) monitoring block to the same CFC chart and configure its message slots independently. Each monitoring block adds up to 16 message slots.

What is the difference between an operational message and an operating message?

An operational message (Prozessmeldung) is a process event that the operator should see in the standard message summary, optionally with acknowledgement. An operating message (Betriebsmeldung) is informational only and is often filtered out of the standard summary view. Use operational messages for feedback and command tracking; reserve operating messages for pure status indications that do not require operator action.

Do I have to compile and download the OS after every message text change?

Yes. SIMATIC Manager keeps the text inside the S7 program source, but the WinCC message database and the runtime DLLs on the operator station are updated only by the OS compile step. Use Compile changes only to keep the cycle under five minutes for text-only edits.

Can I configure the VlvL messages in TIA Portal instead of SIMATIC Manager?

No. PCS 7 V9.0 and V9.1 are SIMATIC Manager–only. TIA Portal hosts the SIMATIC S7-1500 / ET 200MP family, which uses a different message model (program-message blocks, Program_Alarm). For a PCS 7 valve block, you must use the SIMATIC Manager message configuration dialog described in this article.

Back to blog