FS-8700-01_Modbus_RTU_(T28700-01) Driver Manual Page 3 of 21
1. Modbus RTU/ Modbus ASCII Description
The Modbus RTU and Modbus ASCII drivers allow the FieldServer to transfer data to and from
devices over either RS-232 or RS-485 using Modbus RTU or Modbus ASCII protocol
respectively. The driver was developed for Modbus Application Protocol Specification V1.1a"
from Modbus-IDA. The specification can be found at www.modbus.org. The FieldServer can
emulate either a Server or Client.
The information that follows describes how to expand upon the factory defaults provided in the
configuration files included with the FieldServer.
There are various register mapping models being followed by various vendors
To cover all these models FieldServer uses the following three Models
•Modicon_5digit – Use this format where addresses are defined in 0xxxx, 1xxxx, 3xxxx or
4xxxx format. A maximum of 9999 registers can be mapped of each type. This is
FieldServer driver’s default format.
•ADU –Application Data Unit address. Use this format where addresses of each type are
defined in the range 1-65536
•PDU –Protocol Data unit address. Use this format where addresses of each type are
defined in the range 0-65535.
The key difference between ADU and PDU is for example if Address_Type is ADU and address
is 1, the driver will poll for register 0. If Address_Type is PDU, the driver will poll for address 1.
Note 1: If vendor document shows addresses in extended Modicon (i.e. 6 digit) format like
4xxxxx then consider these addresses as xxxxx (omit the first digit) and use either ADU or PDU
Note 2: The purpose of providing 3 different ways of addressing the Modbus registers is to allow
the user to choose the addressing system most compatible with the address list being used. At
the protocol level, the same protocol specification is used for all three with the exception of the
limited address range for Modicon_5digit.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.FieldServer.com
FS-8700-01_Modbus_RTU_(T28700-01) Driver Manual Page 5 of 21
3. Hardware Connections
It is possible to connect a Modbus RTU or Modbus ASCII device to any of the existing serial
ports on the FieldServer1. These ports simply need to be configured for the appropriate driver in
the configuration file.
Configure the Modbus RTU or Modbus ASCII device according to manufacturer’s instructions.
1
Not all ports shown are necessarily supported by the hardware. Consult the appropriate Instruction
manual for details of the ports available on specific hardware.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.FieldServer.com
FS-8700-01_Modbus_RTU_(T28700-01) Driver Manual Page 6 of 21
4. Configuring the FieldServer as a Modbus RTU or Modbus ASCII Client.
For a detailed discussion on FieldServer configuration, please refer to the FieldServer
Configuration Manual. The information that follows describes how to expand upon the factory
defaults provided in the configuration files included with the FieldServer (See “.csv” sample files
provided with the FieldServer).
This section documents and describes the parameters necessary for configuring the FieldServer
to communicate with a Modbus RTU or Modbus ASCII Server.
4.1. Data Arrays/Descriptors
The configuration file tells the FieldServer about its interfaces, and the routing of data
required. In order to enable the FieldServer for Modbus RTU or Modbus ASCII
communications, the driver independent FieldServer buffers need to be declared in the
“Data Arrays” section, the destination device addresses need to be declared in the “Client
Side Nodes” section, and the data required from the Servers needs to be mapped in the
“Client Side Map Descriptors” section. Details on how to do this can be found below.
Note that in the tables, * indicates an optional parameter, with the bold legal value being the
default.
Section Title
Data_Arrays
Column Title Function Legal Values
Data_Array_Name Provide name for Data Array
Provide data format. Each
Data_Array_Format
Data Array can only take on
one format.
Number of Data Objects. Must
be larger than the data
Data_Array_Length
storage area required by the
map descriptors for the data
being placed in this array.