Appearance
Smart Assist: how tags are classified
Last updated
The roles
Every tag is given one role, or Unclassified: Running, Mode, Part Count, Spindle Speed, Spindle Load, Feed Rate, X Position, Y Position, Z Position, Program, Tool, Alarm, Cycle Time, Coolant, Temperature, Pressure, Force, Speed, Power, Voltage, Flow Rate, Reject Count, Torque, Measurement, Pass / Fail.
Local classification (no AI)
Known drivers. For Demo, Simulator, MTConnect and Fanuc FOCAS, tag paths follow a known layout, so well-known paths get a role with high confidence, keyword matches get high or medium, and every other browsed tag is listed as Unclassified with low confidence (heartbeats and similar diagnostics are left out).
Everything else (PLCs, OPC UA, Modbus, MQTT, EtherNet/IP …):
- Names. Each tag name is scored against keyword rules for the roles the Machine Purpose looks for. The rules include look-alikes that must not match: "run time" is not Running, "model" is not Mode, "comm" and "reset" are not alarms, "barcode" is not pressure, "current tool" is not power. Names that suggest a setpoint or command lower the score.
- Behavior. Up to 500 tags (keyword matches first) are read once a second. Each is marked as a counter (only ever goes up), an oscillating analog value, a boolean state, or static.
- Combining. The score is 60% name, 40% behavior, multiplied by the purpose's boost for that role (for example Injection Molding boosts Temperature, Pressure and Force by 1.3). Bare hardware addresses (
N7:0,%IW10,40001) score half. - Choosing. Anything under 0.35 is dropped. Each role goes to the best-scoring tag, and each tag gets at most one role. Confidence is high at 0.7 or above, medium at 0.5, otherwise low.
- Tags that never changed and matched no keyword are left out. So are diagnostic tags (heartbeats, watchdogs, scan timers).
- A counter with a readable name but no part-count keyword can still become Part Count at low confidence ("Increments monotonically and has a readable name, but no part-count keyword matched").
Your keywords. A tag whose name contains one of your Tag Keywords gets a role from other words in its name: pass/ok/good → Pass / Fail; fail/ng/reject/scrap → Reject Count; count/total/qty → Part Count; temp → Temperature; press/psi → Pressure; speed/rpm/rate → Speed.
The Why column shows the evidence: name "…" matched, increments monotonically, oscillates like an analog reading, behaves as a boolean state, changed 14×, never changed during the window, raw I/O address — no naming evidence.
AI-enhanced classification (Quick scans)
With AI-Enhanced Analysis ticked on step 2, the Review step shows Enhance classification with AI? before the table:
"Analyze N tags · estimated $0.02 (range $0.01–$0.03, Claude Haiku 4.5)"
- Enhance with AI sends the tags to Scada.Ink Cloud; Skip keeps the local result. Nothing is sent until you press Enhance with AI.
- The AI returns a role, confidence and reason for each tag, keeps one tag per role, and lists tags it rejects.
- Changed tags get a sparkle and the banner "AI reclassified N tags".
- If it fails, the local result stays and the banner reads "AI enhancement unavailable — using local analysis." followed by the reason.
What is sent: machine purpose, your keywords, and for each tag sent the tag path, tag name, data type, scope, current value, local role and confidence. Not the device name, address or id. See What data is sent.
Limits: at most 200 tags per request. When the table has more — a large MTConnect or FOCAS device lists every browsed tag — the card says so and sends 200: ticked tags first, then tags that already have a role, then the best-scoring of the rest. Untick tags you don't need to choose which are sent. Tags that are not sent keep their local result.
The dollar figure is an estimate of the AI model's processing cost for the request, shown for information. Under a Scada.Ink Cloud plan, each request uses one unit of the monthly allowance whatever its size. See Plans, allowances and limits.