Leave Your Message
News Categories
Featured News

Detailed explanation of HART protocol commands: easily mastering the "Digital Language" of industrial sites

2026-03-05

HART operation commands operate at the application layer, including general, standard, and special commands.

I.The range of general commands is from 0 to 30

  • 0,11: Device identification (manufacturer, device type, version)
  • 1,2,3: Read measurement values
  • 6: Write HART address
  • 12,13,17,18: Read and write user input text information
  • 14,15: Read device information (sensor serial number, sensor range upper/lower limit, alarm operation, range, transmission structure)
  • 16,19: Read and write final assembly number

II.The range of general commands is from 32 to 126.

The standard command set covers 32 to 126 codes, providing most device functionality. However, codes 123 and 126 are not public—they are manufacturer-specific codes used to input unique device identifiers during production, which end users typically do not modify. These codes can also be used for direct memory read/write operations.

  • 33,61,110: Read measurement values
  • 34-37,44,47: Set operational variables (range, time limit, PV value, transmission function)
  • 38: Reset "structural change" flag
  • 39: EPROM control
  • 40-42: Dialog functions (fixed current mode, self-test, reset)
  • 43,45,46: Analog input/output rectification
  • 48: Check peripheral device status
  • 49: Write sensor serial number
  • 50-56: Transmit variables
  • 57,58: Unit information (flag, description, data)
  • 59: Write required preamble number
  • 60,62-70: Use composite analog output
  • 107-109: Burst mode control

III.Introduction to Common Important Commands

The 0,11 command is designed to identify field devices, which can be labeled using either long or short structures. The response to Command 0 contains identifiers for different devices. The host then generates distinct flags to prepare for subsequent long-structure commands. In HART 4.0 and earlier versions, the transmission type code consists of two bytes: one for the manufacturer code and another for the device type code, though these two bytes may be omitted. Starting with HART 5.0, extended codes are required to represent device information, with ID numbers replacing the final pipeline number.

A host typically initiates communication with Command 0, assigning an optional address of 0, then scanning addresses 1 through 15. For devices compliant with HART 5.0 and later standards, the host may employ Command 11 with a zero-filled broadcast address and the command flag as payload, awaiting a slave device with matching flags to respond. The acknowledged Command 11 functions identically to Command 0.

HART command analysis

Example 1: Master to Slave

FF

FF

FF

FF

FF

82

A6

06

BC

61

4E

01

00

B0

The above shows a message sent from the host to the slave. Now, let's examine this message in detail.

① "FF FF FF FF FF" represents the first five bytes, which serve as the preamble byte.

② The "82" is the starting byte, indicating the long-structured message sent from the host to the slave.

③ The five-byte sequence "A6 06 BC 61 4E" is an address byte, which translates to the following binary representation:

图片1.jpg

The first byte (A6) has its most significant bit (MSB) set to 1, indicating the host.   

The second bit (LSB) is 0, indicating non-burst mode.

The sequence "100110" contains: 38 (manufacturer code) from Rosemount; 06 (device model code) for the 3051C model; and 12345678 (device serial number) as the unique identifier. The "01" in the fourth byte is a command byte, specifying Command 1 to read the PV value.

⑤ "00" indicates the data length. In this case, no data is present, so the value is 0.

⑥ "B0" is the check byte

Example 2: From slave to master

FF FF FF FF FF

86

A6 06 BC 61 4E

01

07

00 00

06

40 B0 00 00

45

The above shows a message sent from slave to master. This example is mostly similar to Example 1, except that the data length is no longer zero. Now let's explain this message in detail.

    ① "FF FF FF FF FF" represents the first five bytes, which serve as the preamble byte.

    ② The byte '86' is the starting byte, indicating the long-structured message sent from the slave to the master.

    ③ The five-byte sequence "A6 06 BC 61 4E" is an address byte, which translates to the following binary representation:

    图片2.jpg

    The first byte (A6) has its most significant bit (MSB) set to 1, indicating the host. The second bit (LSB) is 0, indicating non-burst mode. The sequence "100110" contains: 38 (manufacturer code) from Rosemount; 06 (device model code) for the 3051C model; and 12345678 (device serial number) as the unique identifier. The "01" in the fourth byte is a command byte, specifying Command 1 to read the PV value.

    ⑤ "07" indicates the data length, with a value of 7, meaning the data consists of 7 bytes.

    ⑥ "00 00" is a status bit indicating that the slave's response message to the master is correct.

    ⑦ "06" is the data unit, with a value of 6, representing the unit PSI.

    ⑧ The four-byte value "40 B0 00 00" represents a floating-point number, specifically 5.5.

    ⑨ The "45" is a check byte.

    Example 3: Sudden Pattern

    FF FF FF FF FF

    81

    A6 06 BC 61 4E

    01

    07

    00 00

    06

    40 B0 00 00

    42

    The message above is sent by the burst mode. Below is a detailed description of the message.

    ① "FF FF FF FF FF" represents the first five bytes, which serve as the preamble byte.

    ② "81" indicates the sudden emergence of a long-term structural pattern.

    ③ The five-byte sequence "A6 06 BC 61 4E" is an address byte, which translates to the following binary representation:

    图片3.jpg

    The first byte (A6) has its most significant bit (MSB) set to 1, indicating the host. The second bit (LSB) is 0, indicating non-burst mode. The sequence "100110" contains: 38 (manufacturer code) from Rosemount; 06 (device model code) for the 3051C model; and 12345678 (device serial number) as the unique identifier. The "01" in the fourth byte is a command byte, specifying Command 1 to read the PV value.

    ⑤ "07" indicates the data length, with a value of 7, meaning the data consists of 7 bytes.

    ⑥ "00 00" is a status bit indicating that the slave's response message to the master is correct.

    ⑦ "06" is the data unit, with a value of 6, representing the unit PSI.

    ⑧ The four-byte value "40 B0 00 00" represents a floating-point number, specifically 5.5.

    ⑨ The "42" is a check byte.

    IV.Standard HART Protocol Command Format

    1. The command format for reading device information is as follows:

    图片4.jpg

    For example, to send the command to read the device serial number, use the sequence FF FF FF FF FF 02 80 00 00 82. The command details are shown in the table below:

    proem

    FF FF FF FF FF

    delimiter

    02

    address

    80

    order

    00

    Data length

    00

    check bit

    82

    The command format returned is as follows:

    图片5.jpg

    For example, the returned data is FF FF FF FF FF 06 80 00 0E 00 40 FE 50 7F 06 05 01 01 08 00 6B 73 3A 30. The command annotations for this data return are shown in the table below:

    proem

    FF FF FF FF FF

    delimiter

    06

    address

    80

    order

    00

    data length

    0E

    data

    00 40 FE 50 7F 06 05 01 01 08 00 6B 73 3A

    check bit

    30

    Data 50 is the manufacturer ID of this device, 7F is its sensor type, and 6B 73 3A is its serial number.

    1. Read the dynamic variable of the device

    The command format is as follows: 

    图片6.jpg

    For example, to send a command to read dynamic variables from a device, use the following command sequence: FF FF FF FF FF FF FF FF 82 50 7F 6B 73 3A 03 00 8C. The command annotations are shown in the table below:

    proem

    FF FF FF FF FF

    delimiter

    82

    manufacturer ID

    50

    Sensor type

    7F

    device serial number

    6B 73 3A

    order

    03

    data length

    00

    check bit

    8C

    The command format returned is as follows:

    图片7.jpg

    For example, the returned data is FF FF FF FF FF 86 50 7F 6B 73 3A 0 3 1A 00 00 41 40 00 00 49 42 44 CE 10 39 41 47 CE D0 3D 44 4F CE 10 20 41 9F D7 0A E8. The command annotations for this data return are shown in the table below:

    proem

    FF FF FF FF FF

    delimiter

    82

    manufacturer ID

    50

    Sensor type

    7F

    device serial number

    6B 73 3A

    order

    03

    data length

    1A

    data

    00 00 41 40 00 00 49 42 44 CE 10 39 41 47 CE D0 3D 44 4F CE 10 20 41 9F D7 0A

    check bit

    E8

    The returned data meanings and converted values are shown in the table below:

    meanings

    instruction code

    Convert value

    current

    41 40 00 00

    12

    instantaneous delivery

    42 44 CE 10

    49.2

    per centum

    41 47 CE D0

    12.49

    Cumulative flow

    44 4F CE 10

    831.22

     temperature

    41 9F D7 0A

    19.98