User manual

Page 146 Modbus Protocol – PAT700 Total Organic Carbon Analyzer
Operator Manual Anatel
Data Model
Modbus bases its data model on a series of tables that have individual characteristics. The
four primary tables are:
There is no requirement for how the tables are implemented within the product, but the tables
are distinctive because of the method that is used to access them within the protocol.
Since only FC3, FC6 and FC16 are supported in Anatel PAT700 TOC Analyzers, only the
Holding Register-type table is required. To access each entry in to the Holding Register table,
a starting address (0 indicates the first entry in the table) is required as well as the number of
registers that are requested.
The data storage does not need to be consecutive; in fact, this implementation uses
multiple blocks' within the Holding Register table to support future enhancements and
additions to the data without changing the location of the data already present.
The Holding Register table is a large structure that contains smaller structures, each
containing the specific types of data, and associated with a defined starting address offset for
each type of data. The offset allows the driver to determine if the request needs to access data
from the specific structure.
The data is stored within the table's local to the Modbus/TCP driver, which allows the driver to
quickly access it during a request. The tables are indexed in to during a request using the
starting address of the request and the defined offset for that structure.
For example, if the structure containing the headers has an defined offset of 0, and is 128
bytes long and a request for starting address 10 with a length of 5 words is received, the 20th
through 29th byte within the table are sent to the client.
Once the data is stored within the local tables, the driver does not differentiate what is stored
in them. The Modbus/TCP client needs to know what data is stored in which register
locations to be able to retrieve it, process it, and/or display it.
Primary table Address Range Data type Type of Access
Discrete Inputs 1000-1FFF Single bit Read-only
Coils 2000-2FFF Single bit Read-write
Input Registers 3000-3FFF 16-bits Read-only
Holding Registers 4000-4FFF 16-bits Read-write