Appearance
Scan Classes
Last updated
A scan class is a named polling rate that tags or whole devices are assigned to. Open Scan Classes in the sidebar (any role can view it; creating, editing and deleting need the admin or editor role).
| Mode | Polls fast | Polls slow |
|---|---|---|
| Direct | Always, at its Rate (ms). One named rate many tags share. | Never. |
| Driven | While its Condition is true. | While the condition is false, or can't be evaluated (a tag it reads has no value yet or is bad). |
| Leased | While someone is viewing one of its tags, and for Stay fast after the last viewer leaves (ms) afterwards (default 5000). | When nobody has viewed a tag of the class for that long. |
Creating a scan class
- Scan Classes → New scan class.
- Fill in the form and click Save.
| Field | What it does | Rules |
|---|---|---|
| Name | Shown in the pickers and on the tag tables. | Required, unique (not case-sensitive), 80 characters at most. |
| Description | A note for whoever comes next. | Optional. |
| Mode | Direct, Driven or Leased (above). | Default Leased. |
| Fast rate (ms) (Rate (ms) for Direct) | The fast polling rate. | Whole number, 100 or more. Default 250. |
| Slow rate (ms) | The slow polling rate. Driven and Leased only. | 100 or more, and not faster than the fast rate. Default 5000. |
| Condition | Driven only. An expression in the expression tag language, e.g. {Line1:Running} == 1. | Must parse. A tag reference may name the device instead of its id ({Line1:Running}, not case-sensitive); renaming the device breaks the condition until you edit it. Any non-zero number, or text other than empty, 0 and false, counts as true. Test evaluates it once against live values and says whether it would poll fast. |
| Stay fast after the last viewer leaves (ms) | Leased only. Keeps moving between screens from flapping the rate. | 0 to 3600000. Default 5000. |
Each card on the page shows the class's live state: Fast or Slow with the rate in use, why (always, condition true, condition false, condition can't be evaluated with the error, being viewed with how many tags are viewed, last viewer left, staying fast, not viewed), since when, and how many tags and devices use it. It refreshes every 3 seconds.
Assigning a scan class
- To one tag: Devices → the device → Manage Tags → pencil → Scan class below the row → save. Shown in the Poll (ms) column with a gauge icon.
- To a whole device: the device's Settings tab → Scan class → Save. Tags with no rate or class of their own follow it instead of Polling Rate (ms). Not offered for Demo, Local Tags and paired-appliance devices, which are not polled.
A tag's rate comes from, in order: its own scan class, its own Poll (ms), its device's scan class, the device's Polling Rate (ms). So a tag with its own Poll (ms) on a device with a scan class keeps its own rate, and viewing it does not lease the device's class. The Tag Browser's details show the rate in use under Polling now.
Deleting a scan class returns its tags and devices to their own rates.
What counts as viewing
A tag is viewed while any open screen shows its live value: a dashboard, a custom page, the Tag Browser (every row of the page of results shown, and the details panel), a device's Manage Tags tab. Each browser tab counts once per tag however many widgets show it. Closing the tab, signing out or losing the connection ends the view. Scripts, alarms, ladder logic, the historian and workflows reading a tag do not lease it: they get whatever rate the class is on.
When the rate changes
- A switch reaches the driver's running poll loop straight away, without reconnecting: the loop regroups its tags and reads the newly fast ones at once.
- A Driven or Leased class switches at most once a second; a condition that flickers faster is followed once a second.
- A Driven condition is checked whenever a tag it reads changes, when a device's connection status changes, and every second for one that reads the clock (
hour(),now()…). - Simulator devices follow scan classes too: each simulated tag is recalculated at its own rate.
Note: A slow rate is still polled. A machine that stops while its class is slow is seen within one slow interval; if a Driven class's condition depends on a tag of the same class, keep the slow rate short enough for the start-up to be noticed.