Skip to content

Template Parameters ​

Last updated

License feature: Dashboard Templates

Parameters are what each placement fills in. They are the difference between a template and a copied dashboard.

Declaring parameters ​

In the template editor's Parameters panel, click Add parameter. It starts as param1, labeled "Parameter 1", type Text.

FieldDescription
NameUsed by bindings. Letters, numbers and underscores, starting with a letter or underscore. Two parameters cannot differ only in case
Label shown when placingWhat the person placing the template sees. Write it for them: "Pump", "Line color"
TypeUDT instance, Text, Number, Yes / no, Color, Device, Tag
UDT typeUDT instance only: which UDT it accepts, or Any UDT type
RequiredMarks the field with * when placing. It does not stop a placement being saved without it
BinRemoves the parameter

A name that breaks the rules is flagged under it straight away ("Use letters, numbers and underscores, starting with a letter." / "Another parameter already uses this name."), and saving then fails with the appliance's reason.

Renaming or removing a parameter does not update widgets bound to it; they show "Unknown parameter" until you rebind them.

The one that matters: UDT instance ​

A UDT instance already means this pump, on this device, at this tag prefix. A parameter of type UDT instance takes one, which is exactly what a faceplate needs.

Set which UDT the parameter accepts. That is what lets the binding picker offer the UDT's fields by name — you pick "Speed" from a list instead of typing a tag path, and the same template then works for every pump. Without it the panel warns "Without a UDT type, widgets cannot offer this UDT's fields by name." and the field list is empty.

A field binding resolves to the instance's device and the tag path <base path>/<instance name>/<field> (without the base path if the instance has none) — the same rule that created the instance's tags. A member of a nested UDT is offered by its path, such as Motor/Current. The binding uses the tag path, not the PLC address a member reads, so a member's Address can change without touching the template. See Tag UDTs.

The other types ​

TypeEntered when placing asWhat a binding receives
TextA text boxThe text
NumberA number boxThe number
Yes / noA checkboxtrue or false
ColorA color pickerA color like #16a34a
DeviceA text boxThe text typed — it is not a device picker and does not select a device
TagA text boxNothing: see the warning

Warning: A Tag parameter cannot be filled in from the placement panel in this version. The panel offers a text box, but the parameter needs a device and a tag, so widgets bound to it always show "Parameter … is not set". Use a UDT instance parameter instead.

Parameters without a field arrive as static values, so they suit captions (a Text widget's Content), expression inputs and element bindings — for example a Text parameter area bound to the title, or a Number parameter limit used in an expression binding alongside a UDT field.

Binding a widget to a parameter ​

  1. Select a widget on the template canvas.
  2. Add a binding (or use Bind to tag on the title or content) and choose Parameter as its source.
  3. Pick the parameter under Select a parameter….
  4. For a UDT instance parameter, pick the field under Select a field… (shown as "Speed (float)").

The Parameter source only exists in the template editor. If the template has no parameters yet, the binding says "This template has no parameters yet. Add one in the Parameters panel, then bind to it here."

Expression bindings on the same widget can use parameter-bound values by binding name, as on a dashboard. Element bindings on a Symbol widget accept parameters too, so one mimic drawing serves every machine of a type.

When a parameter cannot be resolved ​

On a placement, a widget whose parameter cannot be resolved is shown grayed with Removed and the reason, never left blank. A faceplate quietly showing nothing is indistinguishable from a machine that is genuinely idle.

MessageWhat happened
Unknown parameter "x"The binding names a parameter the template no longer declares
Parameter "x" is not setThe placement left it empty (or it is a Tag parameter)
The instance for "x" no longer existsIt pointed at a UDT instance that has since been deleted
Field "y" no longer exists on this UDTThe UDT was edited and that field was removed or renamed
"x" is not a UDT instance, so it has no fieldsA field was asked for on a non-UDT parameter

One unresolvable binding marks the whole widget, even if its other bindings are fine.

Example: a pump faceplate ​

UDT Pump with fields Running (bool), Speed (float), Pressure (float), FaultCode (int). Template Pump faceplate with one parameter pump, type UDT instance, UDT type Pump, label "Pump".

WidgetPosition (x, y, w, h)Binding
Status0, 0, 3, 2value → pump / Running
Value "Speed", Unit rpm3, 0, 3, 2value → pump / Speed
Gauge "Pressure" 0–16 bar0, 2, 6, 4value → pump / Pressure

Pick "P-101 — Booster Station" under Preview with to check ranges and labels against real values, then Save.

See also ​

Scada.Ink Help Center