Use an output field for read-only process values and an input field for setpoints. Set the display format and decimal places to match the measurement resolution, add the unit as a separate text object, and configure high and low input limits on the tag so the panel rejects out-of-range entries before the value reaches the PLC.
- Display more decimal places than the instrument can measure and the operator will chase noise that is not real.
- Input limits belong on the HMI tag and are checked again in the PLC; the panel is convenience, the PLC is protection.
- A setpoint that is written directly into the running control logic can cause a step change; transfer it deliberately.
Output Fields for Process Values
An I/O field in TIA Portal has three modes: Output for display only, Input for entry only, and Input/output for both. Process values coming from the PLC should almost always use Output mode, so a stray touch cannot overwrite a measured value.
Three properties decide whether the number is readable:
- Display format: decimal, hexadecimal, binary or string. Process values are decimal.
- Format pattern: the number of digits before and after the decimal point, for example 999.9 for a temperature.
- Field length: wide enough for the largest expected value plus a sign, so the field never shows a row of asterisks.
Match the decimal places to the real resolution of the measurement. A temperature transmitter accurate to half a degree should not be displayed to three decimal places. The extra digits are noise, and operators quickly learn to distrust a display that never stops moving.
The value must arrive already scaled from the PLC. Scaling on the panel duplicates logic that belongs in the controller and breaks as soon as a second HMI or a SCADA station is added. See PLC analog input scaling in TIA Portal.
Input Fields and Setpoint Entry
Set the I/O field mode to Input for a setpoint. When the operator touches the field, the panel opens its numeric keypad, and the entered value is written to the connected tag when the entry is confirmed.
Units and labels
Place a separate text object next to the field for the unit rather than building it into the format string. The label stays readable, the field stays purely numeric, and multilingual projects can translate the unit text independently.
Data types
Match the HMI tag data type to the PLC tag exactly. A REAL setpoint written into an INT tag truncates silently, and an INT written into a REAL displays values the operator never entered. Type mismatches are the single most common cause of setpoints that appear to change on their own.
Hidden input for security
The Hidden input property replaces typed characters with asterisks. It is intended for passwords and access codes, not for process setpoints.
Input Limits and Validation
Every HMI tag has an optional upper and lower limit. When they are set, the panel refuses an entry outside the range and displays a message instead of writing the value. This is the first line of defence against a mistyped setpoint.
| Layer | What it does | Where it is configured |
|---|---|---|
| HMI tag limits | Rejects the entry at the keypad | HMI tag properties, Range section |
| PLC range check | Clamps or rejects the value in program logic | Function block that copies setpoint to the working tag |
| Controller output limits | Restricts what the actuator can do | PID_Compact configuration or drive parameters |
| Alarm on out-of-range | Tells the operator why the entry was refused | Analog alarm on the setpoint tag |
Never treat the panel limits as sufficient on their own. A SCADA station, an engineering laptop or a second panel can write the same tag, so the PLC must repeat the check. The panel prevents mistakes; the PLC prevents damage.
Learn HMI configuration on live hardware
Practical Siemens HMI sessions with KTP panels, PLC connection and real process signals.
Transferring Setpoints to the PLC Safely
Writing a setpoint straight into the tag the control logic uses causes an instant step change. On a slow process that is usually harmless. On a fast one it produces a pressure spike or a mechanical shock.
Use a two-tag pattern instead:
- The operator enters a value into
Setpoint_Request. - An Accept button sets a transfer bit.
- The PLC validates the value, clamps it to the allowed range and copies it into
Setpoint_Active. - The panel displays
Setpoint_Activein a separate output field so the operator can confirm what the machine is actually using.
For processes that must not be shocked, ramp Setpoint_Active towards the requested value over a few seconds rather than jumping to it.
Where several parameters change together, the same discipline scales up into recipe handling; see HMI recipe management in TIA Portal.
Hands-On Lab: Build a Setpoint Entry Screen with Limits
Hands-on- TIA Portal with WinCC Comfort and a panel or panel simulation
- PLC tags for process value, setpoint request and setpoint active
- Test with internal tags only, no live actuator
- Estimated time: 30 minutes
Add a process value output field
Insert an I/O field in Output mode, link it to the scaled process value and set the format to one decimal place with a separate unit label.
Add a setpoint input field
Insert a second I/O field in Input mode linked to Setpoint_Request with a matching data type.
Set input limits
Configure upper and lower limits on the HMI tag and try to enter a value outside the range.
Add the accept transfer
Add an Accept button that sets a transfer bit; in the PLC, validate and copy the request into Setpoint_Active.
Display the active setpoint
Add an output field for Setpoint_Active next to the request field.
Process values are read-only, the setpoint respects limits at both the panel and the PLC, the active value updates only on Accept, and data types match end to end.
Frequently asked questions
Where should analog values be scaled, in the PLC or on the HMI?
In the PLC. Scaling once in the controller means every panel, SCADA client and archive sees the same engineering value, and there is only one place to correct if a transmitter range changes.
What happens if the HMI tag data type does not match the PLC tag?
Values are truncated or misinterpreted. A REAL written into an INT loses the decimal part, and mismatched types often show as setpoints that appear to change by themselves.
Are HMI input limits enough to protect the machine?
No. They stop mistyped entries at the keypad, but other clients can write the same tag. The PLC must repeat the range check before the value is used by the control logic.
Why should a setpoint use a request tag and an active tag?
So the operator can enter a value without immediately disturbing the process. The PLC validates the request, then transfers or ramps it into the active tag on a deliberate command.
