Automation Glossary • HART Command 3

What Does HART Command 3 Do?

Merobix Engineering • • 5 min read

If you watch the traffic on a HART loop that a host is actively polling, one command comes up again and again, because it is the efficient way to read everything a host normally cares about in a single round trip. That command is number 3. This page explains what command 3 returns, why hosts lean on it so heavily, and how it relates to the dynamic-variable mapping in the device. It is for anyone reading HART traffic or building a driver that needs the device's live values.

Back to Blog

HART Command 3 in one line: HART command 3 is a universal command that reads a device's loop current together with all four dynamic variables - the Primary, Secondary, Tertiary, and Quaternary - in a single request-and-response exchange. Because it returns the loop current and every mapped dynamic variable at once, hosts poll command 3 as the workhorse read for a device's live measurements without needing to know the specific model.

One Command, All the Live Values

Command 3 is defined as a universal command, meaning every HART device implements it, so a host can issue it to any device without a device description or a model-specific driver. Its response bundles the values a host most wants during normal operation: the present loop current in milliamps, and the values, units, and status of the Primary, Secondary, Tertiary, and Quaternary dynamic variables. In one exchange the host learns both the analog current the device is driving and the full set of digital dynamic-variable readings behind it.

The efficiency is the point. On a 1200 bps Bell 202 link, every avoided round trip matters, and command 3 collapses what would otherwise be several separate reads into one. Rather than asking for the loop current, then the PV, then the SV, and so on, a host asks once and gets the lot. This is why command 3 dominates the traffic on an actively polled loop and why it is the natural command to schedule when a host wants to refresh a device's live data at a steady rate.

What command 3 returns for the four slots is exactly whatever the device's variable mapping has placed there. If the transmitter maps flow to the PV and pressure to the SV, command 3 returns flow as the primary and pressure as the secondary, each with its own unit and status. The command does not choose the measurements; the device's mapping does. The companion page on device variables versus dynamic variables explains that mapping, which is what gives command 3's four slots their meaning.

How Hosts Use Command 3 in Practice

A HART host that is monitoring a device typically polls command 3 on a schedule, treating each response as a fresh sample of the device's live state. The loop-current field lets the host cross-check the analog reading against what an analog input card would see, which is useful for confirming a multiplexer or gateway is interpreting the loop correctly. The four dynamic-variable fields become the tags the host trends and alarms on, so command 3 is effectively the bridge between the device's measurements and the monitoring system's data model.

Command 3 also carries status, both the device status returned in every HART response and the per-variable status that flags whether each dynamic variable is good, bad, or of uncertain quality. A host that respects those status bytes will not treat a variable reported as bad the same as a healthy one, which is how a well-built integration avoids trending a stale or faulted value as if it were real. The related page on the HART device status byte covers how those flags are structured.

Because command 3 is universal and self-contained, it is also the command a monitoring platform relies on to surface a device's readings without needing every model's device description. When a gateway or multiplexer feeds HART data to a platform such as Merobix, the dynamic variables from command 3 are what become the trended tags an operator watches. The deep, model-specific configuration stays in the engineering tool; the live values that operations cares about come through this one universal read.

Frequently Asked Questions

What does HART command 3 return?

It returns the device's present loop current in milliamps plus all four dynamic variables - the Primary, Secondary, Tertiary, and Quaternary - each with its value, engineering unit, and status, in a single request-and-response exchange. Because it is a universal command, every HART device supports it, so a host can read a device's full set of live values without a model-specific driver.

Why do HART hosts poll command 3 so often?

Efficiency. On a 1200 bps link every round trip is costly, and command 3 collapses what would be several separate reads - loop current, PV, SV, TV, QV - into one exchange. A host monitoring a device schedules command 3 to refresh all of its live values at once, which is why it dominates the traffic on an actively polled loop.

Does command 3 decide which measurements the four variables carry?

No. Command 3 returns whatever the device's variable mapping has assigned to the Primary, Secondary, Tertiary, and Quaternary slots. The device's configuration chooses which physical measurements fill those slots; command 3 just reads them. So the same command returns flow-then-pressure on one transmitter and level-then-temperature on another, depending entirely on each device's mapping.

More in Industrial Protocols
HART Device Variables  •  Read HART Variables  •  HART Command Structure  •  Sparkplug DCMD/NCMD Commands  •  DPI Command Filtering  •  All Industrial Protocols →
Free SCADA operator training
Merobix University - 70 video lessons & 261 quiz questions, from first login to compliance reporting. No demo call required.
Start free →