The HART Communication Protocol (Highway Addressable Remote Transducer) is a hybrid analog+digital industrial automation open protocol. Its most notable advantage is that it can communicate over legacy 4–20 mA analog instrumentation current loops, sharing the pair of wires used by the analog-only host systems. HART is widely used in process and instrumentation systems ranging from small automation applications up to highly sophisticated industrial applications.
According to Emerson, due to the huge installation base of 4–20 mA systems throughout the world, the HART Protocol is one of the most popular industrial protocols today. HART protocol has made a good transition protocol for users who wished to use the legacy 4–20 mA signals, but wanted to implement a "smart" protocol.
The protocol was developed by Rosemount Inc., built off the Bell 202 early communications standard in the mid-1980s as a proprietary digital communication protocol for their smart field instruments. Soon it evolved into HART and in 1986 it was made an open protocol. Since then, the capabilities of the protocol have been enhanced by successive revisions to the specification.
There are two main operational modes of HART instruments: point-to-point (analog/digital) mode, and multi-drop mode.
Point to point
In point-to-point mode the digital signals are overlaid on the 4–20 mA loop current. Both the 4–20 mA current and the digital signal are valid signalling protocols between the controller and measuring instrument or final control element.
The polling address of the instrument is set to "0". Only one instrument can be put on each instrument cable signal pair. One signal, generally specified by the user, is specified to be the 4–20 mA signal. Other signals are sent digitally on top of the 4–20 mA signal. For example, pressure can be sent as 4–20 mA, representing a range of pressures, and temperature can be sent digitally over the same wires. In point-to-point mode, the digital part of the HART protocol can be seen as a kind of digital current loop interface.
In multi-drop mode the analog loop current is fixed at 4 mA and it is possible to have more than one instrument on a signal loop.
HART revisions 3 through 5 allowed polling addresses of the instruments to be in the range 1–15. HART revision 6 allowed addresses 1 to 63; HART revision 7 allows addresses 0 to 63. Each instrument must have a unique address.
The request HART packet has the following structure:
|Field Name||Length (in bytes)||Purpose|
|Preamble||5–20||Synchronization and Carrier Detect|
|Start byte||1||Specifies Master Number|
|Address||1–5||Specifies slave, Specifies Master and Indicates Burst Mode|
|Expansion||0–3||This field is 0–3 bytes long and its length is indicated in the Delimiter (Start byte)|
|Command||1||Numerical Value for the command to be executed|
|Number of data bytes||1||Indicates the size of the Data Field|
|Data||0–255||Data associated with the command. BACK and ACK must contain at least two data bytes.|
|Checksum||1||XOR of all bytes from Start Byte to Last Byte of Data|
Currently all the newer devices implement five byte preamble, since anything greater reduces the communication speed. However, masters are responsible for backwards support. Master communication to a new device starts with the maximum preamble length (20 bytes) and is later reduced once the preamble size for the current device is determined.
Preamble is: "ff" "ff" "ff" "ff" "ff" (5 times ff)
This byte contains the Master number and specifies that the communication packet is starting.
Specifies the destination address as implemented in one of the HART schemes. The original addressing scheme used only four bits to specify the device address, which limited the number of devices to 16 including the master.
The newer scheme utilizes 38 bits to specify the device address. This address is requested from the device using either Command 0, or Command 11.
This is a one byte numerical value representing which command is to be executed. Command 0 and Command 11 are used to request the device number.
Number of data bytes
Specifies the number of communication data bytes to follow.
The status field is absent for the master and is two bytes for the slave. This field is used by the slave to inform the master whether it completed the task and what its current health status is.
Data contained in this field depends on the command to be executed.
Checksum is composed of an XOR of all the bytes starting from the start byte and ending with the last byte of the data field, including those bytes.
Each manufacturer that participates in the HART convention is assigned an identification number. This number is communicated as part of the basic device identification command used when first connecting to a device. (Note the list below is non-exhaustive and deprecated (Dated Nov. 15th 1996), some of the corporations listed are now defunct and the list is constantly in flux with new manufacturers entering the market. Also, in the current version of the standard devices report ID codes in hexadecimal instead of decimal values.)
|22||ABB - Hartmann and Braun||58||94|
- Emerson http://www.automation.com/content/emerson-proves-advancements-in-eddl-electronic-device-description-language-technology, rev. 2009-09-09
- FieldComm Group https://support.fieldcommgroup.org/en/support/solutions/articles/8000083841-current-list-of-hart-manufacturer-id-codes, retrieved 2020-05-04
- HART - SMART Communications Protocol, Common Tables Document, Revision: 9.0, Version:A Nov/15/96 (HCF_SPEC-183)