Use direct connection for simple tag-to-property links because it executes fastest, dynamic dialog for value ranges that drive colour or visibility, and a script only when logic cannot be expressed any other way. Trigger dynamics on tag change rather than on a fast cyclic interval, and always send operator commands to a PLC command tag rather than a physical output.
- Direct connection is the cheapest dynamic in WinCC; use it before reaching for a script.
- Cyclic triggers on hundreds of objects are the usual reason a SCADA screen feels slow.
- Lamps follow feedback tags, commands go to command tags, and the PLC decides what happens between them.
Ways to Dynamise an Object
Open Graphics Designer, select an object and look at its properties and events. WinCC Explorer offers four mechanisms, listed here from fastest to slowest.
| Mechanism | Best for | Cost |
|---|---|---|
| Tag connection | Linking a property straight to a tag value | Lowest |
| Direct connection | Copying a constant or tag to a property on an event | Very low |
| Dynamic dialog | Value ranges driving colour, visibility or text | Low |
| C or VB action | Logic that cannot be expressed declaratively | Highest |
Most screens can be built without a single script. Engineers who script everything usually end up with a project only they can maintain, and a runtime that struggles once the screen has a few hundred objects.
Trigger types
Every dynamic needs a trigger. Choose tag trigger so the object updates when the value changes, rather than a cyclic trigger that re-evaluates every 250 milliseconds whether anything changed or not. Reserve cyclic triggers for the rare case where no tag change signals the update.
Tag connections come from the tag structure covered in WinCC tag types for S7-1500.
Buttons and Operator Commands
Add a button from the object palette and open its Events tab. A mouse click can trigger a direct connection, which is the recommended route for a simple command.
- Select the Mouse → Mouse click event and choose Direct connection.
- Set the source to a constant, for example 1.
- Set the target to the PLC command tag, for example
Conveyor1_Cmd_Start. - Let the PLC evaluate the command on a rising edge and clear it.
For a hold-to-run function, use the Press event to write 1 and the Release event to write 0. That gives the same behaviour as SetBitWhileKeyPressed on a panel.
Commands must go to the PLC, not to outputs
A SCADA station is one client among several, on a network that can drop. Writing directly to an output tag bypasses every interlock in the controller and can leave equipment energised if the connection fails mid-command. Write to a command tag, and let PLC logic decide.
Add a confirmation dialog for high-consequence commands. WinCC can require a second confirmation and an operator login before the write is executed.
Status Lamps with Dynamic Dialog
Select the object that represents equipment status and open Properties → Colors → Background colour, then choose Dynamic dialog. Enter the status tag as the expression and define one row per value.
| Expression value | Background colour | Meaning |
|---|---|---|
| 0 | Grey | Stopped and available |
| 1 | Green | Running, confirmed by feedback |
| 2 | Yellow | Starting or stopping in progress |
| 3 | Red | Faulted |
| 4 | Dark grey | Not available, isolated or in maintenance |
Publish a single status integer from the PLC rather than several separate bits. One tag, one dynamic and one expression is far easier to maintain than four overlapping visibility animations, and it makes the colour scheme consistent across every screen.
Apply the same colour meanings across the entire project and document them on a legend screen. When red means faulted on one screen and manual on another, operators stop trusting the colours entirely. Layout conventions are covered in SCADA system architecture and screen hierarchy.
Build a full WinCC Explorer project in class
Practical SCADA sessions covering tags, graphics, alarms, archives and reporting on live projects.
Mode Switching and Operator Authorisation
Mode belongs in the PLC on a SCADA system for the same reason it does on a panel, and more so: several clients can be connected at once, and they must all see the same machine state.
- The SCADA button writes a mode request value with a direct connection.
- The PLC validates the request against the current cycle state and writes the active mode back.
- Every client displays the active mode through a dynamic dialog on a text object.
- Manual command buttons use the Enable property, made dynamic on the active mode, so they are unusable in automatic.
Authorisation on the object
Each object in Graphics Designer has an Operator authorisation property linked to the authorisation levels defined in User Administrator. Assign it on manual commands, mode changes, setpoint fields and any reset function. An unauthorised operator sees the object but cannot operate it, and the attempt can be recorded.
Where a site requires traceability, enable the operation message on the object so every command is written to the alarm archive with the user name. Full role and audit setup is covered in SCADA user management and security.
Hands-On Lab: Build a WinCC Explorer Control Faceplate
Hands-on- WinCC Explorer with a project connected to an S7 PLC or a simulated tag set
- PLC command tags and one status integer tag per device
- Simulation only, no live plant equipment
- Estimated time: 40 minutes
Create the command buttons
Add Start and Stop buttons using direct connection on mouse click to write to the PLC command tags.
Add a hold-to-run jog
Add a jog button using Press to write 1 and Release to write 0.
Build the status lamp
Add a circle and use dynamic dialog on background colour with the status integer, defining five states.
Add mode switching
Add Auto and Manual buttons writing a mode request, display the active mode from the PLC and make the jog button Enable property dynamic on it.
Apply authorisation
Set operator authorisation on the jog and mode buttons and log in as a user without that right.
All dynamics use tag triggers, no command writes to a physical output, lamp colours follow one status integer, and protected objects respect the logged-in user.
Frequently asked questions
When should I use a script instead of direct connection?
Only when the behaviour cannot be expressed as a tag connection, direct connection or dynamic dialog. Scripts run slower and make a project harder for another engineer to maintain.
Why is my WinCC screen slow to update?
Usually cyclic triggers on many objects. Change the dynamics to tag triggers so objects update on value change instead of re-evaluating on a fixed interval.
Can a SCADA button write straight to a PLC output?
It can, but it should not. Write to a command tag so the PLC applies interlocks and mode conditions, and so a lost connection cannot leave an output in an unknown state.
How should equipment status be sent from the PLC to WinCC?
As a single status integer per device with one value per state. One tag drives one dynamic dialog, which is easier to maintain and keeps colour meanings consistent.
