Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.
titleElecsys Product and Support Information

Include Page
RediGate Title Page Boilerplate
RediGate Title Page Boilerplate

Table of Contents

Table of Contents
exclude(Table of Contents).*




The RediGate Configuration Manual describes the configuration of many of the RediGate's standard features using the ACE program. This document gives additional instructions for configuring the RediGate to use the following protocols:


Include Page

HART Protocol Description

This document is not intended to provide a detailed description of the protocol(s) involved, nor to disclose proprietary information that may belong to other parties. Depending on the protocol, it may be necessary to refer to other vendor protocol documentation or device configuration details to understand how the RediGate should be configured to interface with it. This section provides a brief discussion of the protocol for the purpose of understanding the RediGate's configuration objects.


The Description and Enabled properties are included in ACE as part of each object but are not mentioned here. The "UFF External" property is only mentioned for the objects where it is typically used, but should normally be left unchecked.

HART Master Channel

The structure of ACE objects for a Master Channel used for HART protocol is shown below. Note the configuration must include the special HartCircuit and one or more HartCommand objects:


Although in the example above the Master Channel is only scanning for HART CMD 03 continuously, the other polls in the HART FieldUnit's Poll Table may be requested on demand using the device's Command Register (see RediGate-HART -MasterRTU Extra).


HART Circuit


The HART Circuit object is a special communications path for one or more HART devices from a common master channel. Use this circuit instead of the generic Async Circuit when configuring a HART device under a Master Channel.


Circuit TypeHart Circuit
Primary PortSelect the COM port that the HART modem is connected to
Reserved1Reserved for future use
Reserved2Reserved for future use



Make sure to include an COM port (System → Networks → AsyncPort) object in the configuration with the instance number matching the physical COM port, and the baud rate corresponding to the field device’s setting. For a port connected to a HART modem device, the settings of the AsyncPort should typically be:


See the RediGate Configuration Manual for information on configuring the AsyncPort.


HART Field Unit


The FieldUnitHART object is used to configure polling of a particular HART device that is on a HART circuit.


Poll Table Properties
Command Index

Select one of the HART Commands on each row of the Poll Table.

The list of HART Commands in this list is dynamic, depending on the ACE objects defined under HART Commands.

 CommentThe Comment column is an optional field, allowing a description to be entered for each row in the table. This is only for the user and has no effect on the operation of the RediGate.



The HART RTU Extra object


Command Register

The Command Register is an integer register in the HART FieldUnit RTDB which is used to request the RediGate to send a HART command on demand.

To force a command in this device's Poll Table to be executed on demand, write into the Command Register the Poll Record row number of the poll to request. Note that the Command Register is the Poll Record number, not the actual HART command number. It is therefore recommended to configure the Poll Table for similar HART devices to be in an identical order, to avoid confusion over which Command Register value to use.

After a command is operated by writing to the Command Register, the resulting value in the Command Register indicates what was the result of the previous command, which may be read and acted on by a host system or internal RediGate logic.

The result values that appear in the Command Register are:

  • 0xFF00 (65,280) – Command was successful
  • 0xFFxx – HART device returned a command-specific response, where 'xx' is the command-specific Response Code (1st byte of HART Status)
  • 0xFEyy – Command failed, where 'yy' is the RediGate response code (02=Timeout, 03=Bad Data, 04=Invalid command)
  • 0xFDFF (65,023) – A fatal error occurred.
Response Register

The Response Register is an integer register in the HART FieldUnit RTDB that will contain the two Command Status bytes included in each response from a HART device.

The least-significant byte (LSB) in the Response Register contains the Field Device Status (2nd byte of HART Status):

  • Bit 7 – Device Malfunction
  • Bit 6 – Configuration Changed
  • Bit 5 – Cold Start (power failure or device reset)
  • Bit 4 – More status available
  • Bit 3 – Loop current fixed (4-20 mA not responding to process variations)
  • Bit 2 – Loop current saturated
  • Bit 1 – Non-primary variable out of limits
  • Bit 0 – Primary variable out of limits

The next most-significant byte (MSB) in the Response Register contains the 1st byte of the HART Status. This is either a command-specific Response Code, or a communication or command response error.
If the high bit of the MSB is 0, the MSB indicates a command Response Code (see HART command documentation for a list of possible Response Codes for each command). Some common Response Codes are: 0 = No error, 0x20 (32) = Device busy, and 0x40 (64) = Command not implemented.
If the high bit of the MSB is 1, the MSB indicates an error, with the other bits designated as below:

  • Bit 7 – Always 1 for a communication error.
  • Bit 6 – Vertical parity error
  • Bit 5 – Overrun error
  • Bit 4 – Framing error
  • Bit 3 – Longitudinal parity error
  • Bit 2 – Reserved
  • Bit 1 – Buffer overflow
  • Bit 0 – Reserved
#Timeouts to Identify

Enter the number of communication timeouts before the RediGate will revert to an Identity command to identify the HART device again.

This should typically be a low number (default is 5). The polling logic for the HART master protocol is:

  1. Identify the HART device. If polling by Short Address (0 through 15), use HART command 0. If polling by Tag, use HART command 11 (configure the Unit Name to the 8-character device Tag and set the Unit Address >100 to poll by tag).
  2. The Identity command (0 or 11) does not need to be defined in a HART Command object or a Scan Table entry – it happens automatically. The Identity command will return a unique 5-byte address for devices with HART protocol revision 5 or greater, but no data will be stored into the RTDB.
  3. For HART devices with protocol revision 5 or higher, all subsequent commands will use the 5-byte address instead of the device's Short Address or Tag.
    (NOTE: this means that if the device's Short Address or Tag is changed during operation, the RediGate will continue polling it successfully, even though the device address/tag no longer matches the RediGate's configuration.)
  4. However, if the RediGate loses communication with the device after timing out a number of times (#Timeouts to Identity), the RediGate will return to step 1 and poll the HART device again with Short Address or Tag in order to identify it again.
  5. For HART devices with protocol revision 4 or lower, the Short Address is always used, and the #Timeouts to Identify is not applicable.
ReservedUnused property


HART Commands


The HART Commands object is a placeholder, under which one or more HART Command objects will be included.

Object TypeHartCommands 
Parent(s)System → Clients → Master Channels  
InstanceMust be 0


HART Command


The HART Command object specficies a particular HART command and defines data types and RTDB registers in which to store the data used in communication with the HART device. HART Command objects are dynamically referenced by HART Field Unit Poll Tables. The name of the object is what is shown in the dropdown list of the Field Unit HART → Poll Table → Command Index column.


Hart CommandHART command number as defined in the HART protocol (universal, common practice, or device-specific).
Definition Table

This object defines the Data Type of fields associated with the particular HART command, and RTDB addresses in which to store the values returned from or sent to the device. Data fields must be included in this table in the order in which the bytes occur in the HART Data message.

If more Data bytes are received from a device than are referenced in this table, they are automatically discarded. Similarly, if the HART Command definition includes more bytes than are included in the actual HART message, command processing will cease when the bytes run out.

Data Type: Choose the correct datatype associated with the selected Action (Store, Discard, or Write) in order to parse bytes from the HART command message.

  • Byte Value – process a single Data byte.
  • Integer Value – process two bytes Data bytes.
  • Unsigned 24 bit Integer – process three Data bytes.
  • Unsigned 32 bit Integer – process four Data bytes.
  • IEEE Floating Point – process four Data bytes, store as REAL32.
  • IEEE w/ discarded units code (5 bytes) – discard one Data byte, then process four Data bytes as REAL32 (this is used with commands that send a units code and variable value, if you don't wish to store the units code into the RTDB).
  • 4 Character ASCII (3 bytes) – process three Data bytes, store as 4 ASCII characters (HART uses a 6-bit ASCII to pack four characters into three bytes).
    NOTE: Currently, the 4 Character ASCII processing must store the characters into a series of 32-bit integer registers, not String registers.

Action: Select one of three actions for processing bytes in HART command messages.

Read and Store: This action takes the response from the HART command and stores the data (whose type is defined by the selection in the "Data Type" column) in the RTDB address starting at the specified "Address" location.

Read and Discard: This action takes the response from the HART command and does not store it in any RTDB register (discards the bytes).

Write Data: This action is used for commands written to a HART device. Data is taken from the RTDB address starting at the specified "Address" location and builds an output message to the device according to the Data Type and Count. The values are sent in the order in which these "Write Data" entries are defined in the Definition Table for the command.
Before calling a HART Command with a Write Data action, the values of the registers in the Address column must be set in some way (pre-initialized in the RTDB, written from a host, changed using a POD or ISaGRAF logic, etc.).

Count: Enter the number of sets of HART command Data to process according to the Data Type and Action specified.

Address: Enter a starting RTDB address register in which to store the bytes identified by Data Type format. For Write actions, the RediGate will use the current values in the registers to create the Data messages sent to the device. For Read and Discard actions, the Address field is unused but must be set to a value of at least 40001.
The correct quantity of database addresses for Read and Store or Write actions must be defined in the RTDB of each HART Field Unit that uses this HART Command.

Comment: The Comment column is an optional field, allowing a description to be entered for each row in the table. This is only for the user and has no effect on the operation of the RediGate. 


Examples of HART Command Definitions

The definition of a HART Command within the ACE configuration requires knowledge of the command structure (Data portion only), as published by the HART Communication Foundation or manufacturer device-specific command documentation. Several examples are given below.