Skip to main content

HART-IP (4-20mA + Digital)

HART (Highway Addressable Remote Transducer) is an industrial instrumentation standard that superimposes digital information on a 4-20mA analog signal. This gateway communicates over HART-IP (TCP/UDP), which wraps HART in Ethernet.

It is most widely used with pressure, flow, temperature, and level transmitters in process industries such as chemical, refining, power generation, and water/wastewater.


Registration Form Fields​

FieldWhat to EnterExample
IP AddressHART-IP gateway / multiplexer IP192.168.0.110
PortHART-IP port5094 (standard)
Response Timeout (request-timeout)Time to wait for response (ms)5000
Polling Address (polling-address)HART device address (0~63)0 (point-to-point) / 1~15 (multidrop)
Multidrop Environments

If multiple transmitters are connected in multidrop behind a single HART-IP gateway, the cleanest approach is to assign a unique polling address for each device and register each as a separate connection.


Tag PLC Address Notation​

HART retrieves values using Commands. Frequently used commands:

HART CommandMeaning
Cmd 0Device identification (manufacturer/model/tag — for metadata)
Cmd 1Primary Variable (PV) — most commonly used
Cmd 2mA value of the PV
Cmd 3Four dynamic variables (PV, SV, TV, QV) in one shot
Cmd 13Device tag / units / upper & lower limits

On the gateway, enter addresses in the format cmd:<number>:<field>.

NotationMeaning
cmd:1:PVPrimary variable (pressure, flow, etc.)
cmd:3:PVPV only, from Cmd 3 response
cmd:3:SVSecondary Variable
cmd:3:TVTertiary Variable
cmd:3:QVQuaternary Variable
cmd:2:CURRENTActual mA of the 4-20mA signal
cmd:13:TAGDevice tag (string)
cmd:13:UNITUnit code
Is PV pressure or flow?

HART determines what the variable itself (what the 4-20mA represents) is based on device configuration. The gateway merely retrieves the "PV," so you specify the physical quantity that the PV represents either through the transmitter's format assistance (Cmd 13 unit) or by naming the tag accordingly.


Data Type Matching​

HART ValueData TypeFormat Assistance
PV / SV / TV / QV (Float)FloatREAL
mA (Cmd 2)FloatREAL
Device tag / unit nameStringSTR[8], etc.
Status code / Field Device StatusInteger(leave blank)

HART transmits floating-point numbers as IEEE 754 32-bit big-endian. The gateway decodes these automatically, so you only need to specify REAL.


Write Support​

HART write commands are risky (they change the transmitter's range / units / damping / zero), so use them with caution.

CommandMeaning
Cmd 6Change polling address
Cmd 17Device message (32 characters)
Cmd 18Device tag / descriptor / date
Cmd 35Change upper/lower limits of PV (range)

Write notation example: cmd:18:TAG, values are sent as strings.


Common Problems and Solutions​

SymptomPossible CauseResolution
"No response from device"HART gateway responds but the device does notCheck multidrop polling address (0 vs 1~15)
Cmd 1 value stuck at 0Transmitter in fail-safe modeInspect 4-20mA line for open/short
"Cmd 3 not supported"Older HART device (below rev 5)Use Cmd 1 only. SV/TV/QV unavailable
Unit code appears as a numberHART units are enum (1=°C, 32=Pa, …)Convert to human-friendly units with a formula / mapping table

Real Mapping Examples for Common Devices​

Rosemount 3051 (Pressure Transmitter)​

The most widely used differential/gauge pressure transmitter. Maps the 4-20mA PV to pressure (kPa, bar, psi, etc.).

Tag NameAddressTypeNotes
Pressure (PV)cmd:1:PVFloatREAL
mAcmd:2:CURRENTFloatREAL — for line inspection
Device Tagcmd:13:TAGStringe.g., TT-201
Unit Codecmd:13:UNITInteger1=in H2O, 7=kPa, 13=bar
Device Statuscmd:48:STATUSIntegerself-test result

Endress+Hauser Promass 80 (Coriolis Flow Meter)​

Tag NameAddressTypeNotes
Flow (PV)cmd:3:PVFloatkg/h
Density (SV)cmd:3:SVFloatkg/m³
Temperature (TV)cmd:3:TVFloat°C
Totalized Flow (QV)cmd:3:QVFloatkg

Yokogawa EJX910A (Multivariable Transmitter)​

Tag NameAddressTypeNotes
Differential Pressurecmd:3:PVFloatkPa
Static Pressurecmd:3:SVFloatkPa abs
Process Temperaturecmd:3:TVFloat°C
Compensated Flowcmd:3:QVFloat(calculated internally by the device)

Common Operational Patterns​

Pattern 1. Multiple Multidrop (8 Transmitters on One Gateway)​

Tag NameAddressNotes
TT-101 PVcmd:1:PV(register as separate connection with polling address 1)
TT-102 PVcmd:1:PV(register as separate connection with polling address 2)

For each polling address 1~15, register a separate OPC connection on the PlantPulse side (same host:port, but different polling-address).

Pattern 2. Automatic Unit Display​

Receive cmd:13:UNIT (unit enum) together and convert it at the display layer with mapTable(unit) = "kPa" / "bar" / .... If the transmitter's units change, the display units track automatically without modifying the PlantPulse registration.

Pattern 3. Line Break Detection​

If cmd:2:CURRENT (mA) is below 4 or above 20, suspect fail-safe or a broken line. Add this to your alarm rules.


Next Steps​