You are on page 1of 12

Omni Flow Computers, Inc.

Date: 05 15 03 Author(s): Kenneth D. Elliott TB # 970802

Omni Flow Computer Modbus Database:


Overview

Contents
User Manual Reference - Scope ................................................................................................................... 1
This technical bulletin
complements the Abstract ............................................................................................................... 2
information contained in Omni Flow Computer Modbus Database Extents ........................................ 4
Volume 4 “Modbus
Database Address and I/O Driver Concerns When Interfacing to Omni Equipment ......................... 12
Index Numbers”, applicable For Example:............................................................................................................................. 12
to all firmware revisions
Write Single Variable - Modbus Function 06 ............................................................... 12
.70+.
This bulletin was previously Address Ranges - Future Expansion........................................................................... 12
published with a different
page layout.

Modbus Database -
Modbus function codes are
Scope
shown in hexadecimal All firmware revisions Versions 70+ of Omni 6000/Omni 3000 Flow Computers
th
notation. The 4 digit (from
the right) of the data point
are characterized by a Modbus database structured as described in this
address defines the data technical bulletin.
type.

TB-970802 Š ALL.70+ 1
Omni 6000 / Omni 3000 Flow Computers Technical Bulletin

Abstract
The following are the data types within the database:

Digital Flag Bits : Also known as Boolean bits, status bits and
command bits. All data points of this type can
be read via Modbus function code 01 and
written to using function codes 05 and 0F .
Function codes 01 and 0F transfer byte
packed data that is sent in the byte order they
are prepared (not word order). Points are
packed eight to a byte, packing from least
significant to most significant Unused bit
positions within a byte are cleared on
transmission from the Omni and ignored by
the Omni when receiving.
Writing to status points is allowed but
normally is pointless as the status point will be
refreshed by the Omni every 500 ms.
Valid addresses for this type of data are:
1XXX i.e. 1101, 1705, 1921 etc.

16-bit Integer Registers : All data points of this type can be read via
Modbus function code 03 and written to using
function codes 06 and 10.
Byte order transmitted is: MS byte then LS
byte.
Valid addresses for this type of data are:
X3XXX i.e. 3121, 13133 etc.
8-character ASCII Strings : All data points of this type can be read via
Modbus function code 03 and written to using
function code 10 (note that function code 06 is
not available on this data type).
Byte order transmitted is as you would type it.
Valid addresses for this type of data are:
4XXX i.e. 4101, 4502 etc.

32-bit Integer Registers : Formatted as two’s complement. All data


points of this type can be read via Modbus
function 03 and written to using function
codes 06 and 10.
Byte order transmitted is: MS byte of MS
word, LS byte of MS word, MS byte of LS
word then LS byte of LS word.
Valid addresses for this data type are: X5XXX
i.e. 5101, 15205 etc.

2 TB-970802 Š ALL.70+
TB-970802 Omni Flow Computer Modbus Database: Overview

32-bit IEEE Floating Point : All data points of this type can be read via
Modbus function 03 and written to using
function codes 06 and 10.
Byte order transmitted is: Mantissa Sign
bit/Exponent byte, LS Exponent bit/MS
mantissa byte, middle significant mantissa
byte then LS mantissa byte.
Valid addresses for this data type are: X7XXX
i.e. 7210, 17006 etc.

16-character ASCII Strings : All data points of this type can be read via
Modbus function code 03 and written to using
function code 10 (note that function code 06 is
not available for this data type).
Byte order transmitted is as you would type it.
Valid addresses for this type of data are:
14XXX i.e. 14001, 14022 etc.

TB-970802 Š ALL.71+ 3
Omni 6000 / Omni 3000 Flow Computers Technical Bulletin

Omni Flow Computer Modbus Database


Extents
Getting Tech Support - Data within the Omni Flow Computer data base is organized in logical groups.
Technical support is Certain data written to the Omni requires special processing to occur in the
available at:
Omni before it is stored in the data base. Other data is grouped together
(281) 240-6161
because it is related in function i.e. a collection of real-time data for a specific
Email should be sent via process.
the WEB Page at:
www.omniflow.com The list that follows shows the extent of each table or set of data points within
or email to: the data base. Because the sets of data are not connected, data from adjacent
techsupport@omniflow.com sets cannot be read or written in the same poll.

Omni Flow Computer Modbus Database Extents


APPLICABLE
MODBUS
DATA POINT
DATA TYPE FUNCTION CODES COMMENTS
ADDRESS
(HEX)
Used to
Read/Write
03 User-defined read only packet - Omni
native mode.
00001 Mixed
03 (06) (10) User-defined array - Modicon
compatible.
03 User-defined read only packet - Omni
native mode.
00201 Mixed
03 (06) (10) User defined array - Modicon
compatible.
03 User-defined read only packet - Omni
native mode.
00401 Mixed
03 (06) (10) User defined array - Modicon
compatible.
#1 User defined data archive record -
0701 Mixed 03
Firmware Revisions .70+.
#2 User defined data archive record -
0702 Mixed 03
Firmware Revisions .70+.
#3 User defined data archive record -
0703 Mixed 03
Firmware Revisions .70+.
#4 User defined data archive record -
0704 Mixed 03
Firmware Revisions .70+.
#5 User defined data archive record -
0705 Mixed 03
Firmware Revisions .70+.
#6 User defined data archive record -
0706 Mixed 03
Firmware Revisions .70+.
#7 User defined data archive record -
0707 Mixed 03
Firmware Revisions .70+.
#8 User defined data archive record -
0708 Mixed 03
Firmware Revisions .70+.
#9 User defined data archive record -
0709 Mixed 03
Firmware Revisions .70+.
#10 User defined data archive record
0710 Mixed 03
- Firmware Revisions .70+.

4 TB-970802 Š ALL.70+
TB-970802 Omni Flow Computer Modbus Database: Overview

Omni Flow Computer Modbus Database Extents (Continued)


APPLICABLE
MODBUS
DATA POINT FUNCTION CODES
DATA TYPE (HEX) COMMENTS
ADDRESS
Used to
Read (Write)

Alarm/Event Log archive record -


0711 Mixed 03
Firmware Revisions .70+.
Audit Log archive record - Firmware
0712 Mixed 03
Revision Versions .70+.
1001
Status &
to 01, (05), (OF)
Command
1099
1101
to Status 01
1199
1201
to Status 01
1299
1301
to Status 01
1399
1401
to Status 01
1499
1501 Point 1600 is a dummy point included
Status &
to 01, (05), (OF) to concatenate tables 15XX and
Command
1699 16XX.
1701
Status &
to 01, (05), (OF)
Command
1799
1801
to Status 01
1899
1901
to Status 01
1999
1301
to Status 01
1399
2001 Reserved for Future Expansion -
to Status 01 currently will return error exception 02
2100 (illegal data address).
2101
to Status 01
2199
2201
to Status 01
2299
2301
to Status 01
2399

TB-970802 Š ALL.71+ 5
Omni 6000 / Omni 3000 Flow Computers Technical Bulletin

Omni Flow Computer Modbus Database Extents (Continued)


APPLICABLE
MODBUS
DATA POINT FUNCTION CODES
DATA TYPE (HEX) COMMENTS
ADDRESS
Used to
Read (Write)

2401
to Status 01
2499
2501 Reserved for Future Expansion -
to Status 01 currently will return error exception 02
2699 (illegal data address).
2701
Status &
to 01, (05), (OF)
Command
2799
2801
to Status 01
2899
2901 Reserved for Future Expansion -
to Status 01 currently will return error exception 02
2999 (illegal data address).
3001
16-bit Integer
to 03, (06), (10)
Register
3099
3101
16-bit Integer
to 03, (06), (10)
Register
3199
3201
16-bit Integer
to 03, (06), (10)
Register
3299
3301
16-bit Integer
to 03, (06), (10)
Register
3399
3401
16-bit Integer
to 03, (06), (10)
Register
3499
3501
16-bit Integer
to 03, (06), (10)
Register
3599
3601
16-bit Integer
to 03, (06), (10)
Register
3699
3701
16-bit Integer
to 03, (06), (10)
Register
3799
3801
16-bit Integer
to 03, (06), (10)
Register
3899
3901
16-bit Integer
to 03, (06), (10)
Register
3999

6 TB-970802 Š ALL.70+
TB-970802 Omni Flow Computer Modbus Database: Overview

Omni Flow Computer Modbus Database Extents (Continued)


APPLICABLE
MODBUS
DATA POINT FUNCTION CODES
DATA TYPE (HEX) COMMENTS
ADDRESS
Used to
Read (Write)

4001 Reserved for Future Expansion -


8-character
to 03, (10) currently will return error exception 02
ASCII String
4099 (illegal data address).
4101
8-character
to 03, (10)
ASCII String
4199
4201
8-character
to 03, (10)
ASCII String
4299
4301
8-character
to 03, (10)
ASCII String
4399
4401
8-character
to 03, (10)
ASCII String
4499
4501
8-character
to 03, (10)
ASCII String
4599
4601
8-character
to 03, (10)
ASCII String
4699
4701
8-character
to 03, (10)
ASCII String
4799
4801
8-character
to 03, (10)
ASCII String
4899
4901
8-character
to 03, (10)
ASCII String
4999
5001 Reserved for Future Expansion -
32-bit Integer
to 03, (06), (10) currently will return error exception 02
2s Complement
5099 (illegal data address).
5101
32-bit Integer
to 03, (06), (10)
2s Complement
5199
5201
32-bit Integer
to 03, (06), (10)
2s Complement
5299
5301
32-bit Integer
to 03, (06), (10)
2s Complement
5399
5401
32-bit Integer
to 03, (06), (10)
2s Complement
5499

TB-970802 Š ALL.71+ 7
Omni 6000 / Omni 3000 Flow Computers Technical Bulletin

Omni Flow Computer Modbus Database Extents (Continued)


APPLICABLE
MODBUS
DATA POINT FUNCTION CODES
DATA TYPE (HEX) COMMENTS
ADDRESS
Used to
Read (Write)

5501
32-bit Integer
to 03, (06), (10)
2s Complement
5599
5601 Reserved for Future Expansion -
32-bit Integer
to 03, (06), (10) currently will return error exception 02
2s Complement
5699 (illegal data address).
5701 Reserved for Future Expansion -
32-bit Integer
to 03, (06), (10) currently will return error exception 02
2s Complement
5799 (illegal data address).
5801
32-bit Integer
to 03, (06), (10)
2s Complement
5899
5901
32-bit Integer
to 03, (06), (10)
2s Complement
5999
6001
32-bit IEEE Applicable to Firmware Revisions
to 03, (06), (10)
Floating Point 22/26.71+ only.
6099
6101
32-bit IEEE 32-bit, 2s Complement (Firmware
to 03, (06), (10)
Floating Point Revision 23.70+ only).
6199
6201
32-bit IEEE 32-bit, 2s Complement (Firmware
to 03, (06), (10)
Floating Point Revision 23.70+ only).
6299
6301
32-bit IEEE 32-bit, 2s Complement (Firmware
to 03, (06), (10)
Floating Point Revision 23.70+ only).
6399
6401 32-bit, 2s Complement (Firmware
32-bit IEEE
to 03, (06), (10) Revisions 23.70+ and 22/26.71+
Floating Point
6499 only).
6501
32-bit IEEE Applicable to Firmware Revisions
to 03, (06), (10)
Floating Point 22/26.71+ only.
6799
6801
32-bit IEEE 32-bit, 2s Complement (Firmware
to 03, (06), (10)
Floating Point Revision 23.70+ only).
6899
6901 Reserved for Future Expansion -
32-bit IEEE
to 03, (06), (10) currently will return error exception 02
Floating Point
6999 (illegal data address).
7001
32-bit IEEE
to 03, (06), (10)
Floating Point
7099
7101
32-bit IEEE
to 03, (06), (10)
Floating Point
7199

8 TB-970802 Š ALL.70+
TB-970802 Omni Flow Computer Modbus Database: Overview

Omni Flow Computer Modbus Database Extents (Continued)


APPLICABLE
MODBUS
DATA POINT FUNCTION CODES
DATA TYPE (HEX) COMMENTS
ADDRESS
Used to
Read (Write)

7201
32-bit IEEE
to 03, (06), (10)
Floating Point
7299
7301
32-bit IEEE
to 03, (06), (10)
Floating Point
7399
7401
32-bit IEEE
to 03, (06), (10)
Floating Point
7499
7501
32-bit IEEE
to 03, (06), (10)
Floating Point
7599
7601
32-bit IEEE
to 03, (06), (10)
Floating Point
7699
7701
32-bit IEEE
to 03, (06), (10)
Floating Point
7799
7801
32-bit IEEE
to 03, (06), (10)
Floating Point
7899
7901
32-bit IEEE Applicable to Firmware Revisions
to 03, (06), (10)
Floating Point 20/24.71+ and 22/26.71+ only.
8499
8501
32-bit IEEE
to 03, (06), (10)
Floating Point
8599
8601
32-bit IEEE
to 03, (06), (10)
Floating Point
8699
8701
32-bit IEEE
to 03, (06), (10)
Floating Point
8799
8801
32-bit IEEE
to 03, (06), (10)
Floating Point
8899
8901
32-bit IEEE Applicable to Firmware Revisions
to 03, (06), (10)
Floating Point 20.71+ and 22/26.71+ only.
8999
9001
ASCII Text Maximum of sixty-four 128-byte
to 41, (42)
Buffers buffers per data point .
9499
9500
Reserved for Future Expansion - currently will return error exception 02
to
(illegal data address).
13000

TB-970802 Š ALL.71+ 9
Omni 6000 / Omni 3000 Flow Computers Technical Bulletin

Omni Flow Computer Modbus Database Extents (Continued)


APPLICABLE
MODBUS
DATA POINT FUNCTION CODES
DATA TYPE (HEX) COMMENTS
ADDRESS
Used to
Read (Write)

13001
16-bit Integer
to 03, (06), (10)
Registers
13299
13301
16-bit Integer
to 03, (06), (10)
Registers
13399
13401
16-bit Integer
to 03, (06), (10)
Registers
13499
13501
16-bit Integer
to 03, (06), (10)
Registers
13599
13601
16-bit Integer
to 03, (06), (10)
Registers
13699
13701
16-bit Integer
to 03, (06), (10)
Registers
13799
13801
16-bit Integer
to 03, (06), (10)
Registers
13899
13901
16-bit Integer
to 03, (06), (10)
Registers
13999
14001
16-character
to 03, (10)
ASCII String
14099
14101
16-character
to 03, (10)
ASCII String
14199
14201
16-character
to 03, (10)
ASCII String
14299
14301
16-character
to 03, (10)
ASCII String
14399
14400
Reserved for Future Expansion - currently will return error exception 02
to
(illegal data address).
15000
15001
32-bit IEEE
to 03, (06), (10)
Floating Point
15299
15300
Reserved for Future Expansion - currently will return error exception 02
to
(illegal data address).
17000

10 TB-970802 Š ALL.70+
TB-970802 Omni Flow Computer Modbus Database: Overview

Omni Flow Computer Modbus Database Extents (Continued)


APPLICABLE
MODBUS
DATA POINT FUNCTION CODES
DATA TYPE (HEX) COMMENTS
ADDRESS
Used to
Read (Write)

17001
32-bit IEEE
to 03, (06), (10)
Floating Point
17399
17401
32-bit IEEE Not applicable to Firmware Revisions
to 03, (06), (10)
Floating Point 22 & 26.
17499
17501
32-bit IEEE Not applicable to Firmware Revisions
to 03, (06), (10)
Floating Point 21/25 & 22/26.
17899
17901 Reserved for Future Expansion -
32-bit IEEE
to 03, (06), (10) currently will return error exception 02
Floating Point
18099 (illegal data address).
18101
32-bit IEEE Applicable to Firmware Revisions
to 03, (06), (10)
Floating Point 23/27.71+ only.
18199
18200
Reserved for Future Expansion - currently will return error exception 02
to
(illegal data address).
49999

TB-970802 Š ALL.71+ 11
Omni 6000 / Omni 3000 Flow Computers Technical Bulletin

I/O Driver Concerns When Interfacing to Omni


Equipment
Most but not all of the data is grouped in blocks of 100 or so data points. These
blocks in many cases are not connected.
Limit requests for contiguous data across different blocks by examining the third
digit from the right of the data point start and end addresses. If the digit is
different break up the poll request.

For Example:
An application requires data from points 7188, 7201 and 7210 to be read and
displayed on screen. An intelligent I/O driver may determine that it is more
efficient to read 23 data points starting with point 7188 and discard the unused
data. In this particular example the Omni will transmit the data for points 7188
through 7199 and blank data will be returned for data points 7200 through 7210
because the data requested is in two different blocks within the Omni. To obtain
the data correctly the I/O driver should determine that point 7188 and point 7201
are in different data blocks (because the third digit from the right changed from a
1 to a 2) and send out two data requests; one request for point 7188 and
another for points 7201 through 7210.

Write Single Variable - Modbus Function 06


Omni software revisions 20.44 and greater implement this function on all 16-bit
and 32-bit data points. Revisions prior to 20.44 implement function 06 on 16-bit
integers only. To maintain compatibility with early Omni software revisions it
may be advisable to use function 10 to write to single data points as well as
multiple data points.

Address Ranges - Future Expansion


Some of the address ranges specified in this document encompass more data
than may be available on all applications at this time, Omni advises that for
future compatibility any software driver developed should be able to support
these address ranges.

12 TB-970802 Š ALL.70+

You might also like