0% found this document useful (0 votes)
119 views21 pages

OMNI 7000 Historical Data Retrieval

This document provides instructions for retrieving historical data from the OMNI 4000 and 7000 Flow Computers, including batch, daily, and detailed daily data. It outlines methods for accessing data via Modbus registers, including retrieving raw data by record ID, relative index, and date range, as well as generating batch historical reports. The document includes examples of commands and expected responses for various data retrieval operations.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
119 views21 pages

OMNI 7000 Historical Data Retrieval

This document provides instructions for retrieving historical data from the OMNI 4000 and 7000 Flow Computers, including batch, daily, and detailed daily data. It outlines methods for accessing data via Modbus registers, including retrieving raw data by record ID, relative index, and date range, as well as generating batch historical reports. The document includes examples of commands and expected responses for various data retrieval operations.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Data Sheet

Historical Data Retrieval for the


OMNI® 4000 & 7000 Flow
Computer
• The following document describes how to retrieve batch, daily, detailed daily, and prove
historical data from the OMNI 4000/7000 Flow Computer with firmware version 2.08 and higher.

Batch Historical Data


The historical data is transmitted from the flow computer in raw binary format as for any other Modbus
register reads in the system.

Information about the Batch Historical Data Archive can be read using the following Modbus registers:
• 51908 – Number of records in the archive
• 51909 – ID of the newest record in the archive
• 51910 – ID of the oldest record in the archive
• 51911 – Date of newest record in the archive
• 51912 – Time of newest record in the archive
• 51913 – Date of the oldest record in the archive
• 51914 – Time of the oldest record in the archive

Retrieve Raw Data by Record ID


Use this method to retrieve any stored record.

• Write the command to retrieve the raw data by record ID (Modbus register 51900) sending the
requested record ID as a 32-bit integer.

Example: Request record 24 using function code 06


TX: 01 06 CA BC 00 00 00 18 A7 BC
RX: 01 06 CA BC 00 00 00 18 A7 BC

Example: Request record 257 using function code 16


TX: 01 10 CA BC 00 01 04 00 00 01 01 16 48
RX: 01 10 CA BC 00 01 FF F5

• Read the status of the record retrieval (Modbus register 51889):


o 0 - Data is ready
o 1 - Data is not ready - read the status again
o 2 - Record not found
Example: Read the status
TX: 01 03 CA B1 00 01 EB F5
RX: 01 03 04 00 00 00 00 FA 33 – data is ready

• Information about a specific batch record can be read using Modbus registers (use the Database
Browser in OMNICONNECT with the “Batch Historical Data” category filter to see which registers can
be used and what the register definitions are).

Some examples are:


o 51915 – Previous Batch ‘n’ Record ID number
o 51916 – Version number of the archive
o 51917 – Date of the record (YYMMDD)
o 51918 – Time of the record (HHMMSS)

Page 1 Uncontrolled Copy


Data Sheet
Historical Data Retrieval for the
OMNI® 4000 & 7000 Flow
Computer
o 51892-51899 – Batch Numbers
Example: Read the Date/Time Stamp (Modbus registers 51917 and 51918)
TX: 01 03 CA CD 00 02 6A 2C
RX: 01 03 08 00 0F 07 15 00 07 01 29 17 2C – July 21, 2015 [Link]

Note: The date and time are each a 32-bit integer with the date format of ’00 YY MM DD” and time
as “00 HH MM SS”. The date format is independent of the configured date format of the system.

• To read the previous record (older) than the one just processed, write the command to read the previous
record (Modbus register 51891), sending the record ID that was just processed.

Example: Read the record that is previous to record 2


TX: 01 06 CA B3 00 00 00 02 72 76
RX: 01 06 CA B3 00 00 00 02 72 76

• To read the next record (newer) than the one just processed, write the command to read the next record
(Modbus register 51890), sending the record ID that was just processed

Example: Read the record that is next after record 2


TX: 01 06 CA B2 00 00 00 02 4F B6
RX: 01 06 CA B2 00 00 00 02 4F B6

• After each previous or next command, read the status of the record retrieval (Modbus register 51889):
o 0 - Data is ready
o 1 - Data is not ready - read the status again
o 2 - Record not found
Example: Read the status
TX: 01 03 CA B1 00 01 EB F5
RX: 01 03 04 00 00 00 02 7B F2 – record not found

• If the status indicates the data is ready, read any specific information for the record required via the
Modbus registers (use the Database Browser in OMNICONNECT with the “Batch Historical Data”
category filter to see which registers can be used and what the register definitions are).

Example: Read the record number (Modbus register 51915)


TX: 01 03 CA CB 00 01 CA 2C
RX: 01 03 04 00 00 00 01 3B F3 – Record Number 1

• To reset the Batch registers on the connected port to point to the most recently ended Batch data, use
one of the following methods:
o Write the command to retrieve the raw data by record ID (Modbus register 51900) sending
zero as the record ID.
o Write a 1 to Boolean register 1723.

Page 2 Uncontrolled Copy


Data Sheet
Historical Data Retrieval for the
OMNI® 4000 & 7000 Flow
Computer
Retrieve Raw Data by Relative Index (up to 35)
Use this method to retrieve the most recent records (up to 35) using the relative index number.

• Write the command to retrieve the Batch Historical raw data by relative index (Modbus register 51923)
sending the requested relative index as a 32-bit integer. The relative index ranges from 1 to 35 where 1
is the newest record.

Example: Request record 24 using function code 06


TX: 01 06 CA D3 00 00 00 18 73 B5
RX: 01 06 CA D3 00 00 00 18 73 B5

Example: Request record 35 using function code 16


TX: 01 10 CA D3 00 01 04 00 00 00 23 D1 A9
RX: 01 10 CA D3 00 01 CF E8

• An Exception Code 03 is returned if the record requested by the written relative index is not found or the
written index is not in the range of 1 through 35.

Retrieve Raw Data by Date Range


• Write the start and end dates using Modbus registers 51904-51907 as 32-bit integers:
o 51904 – Start Date (0, YY, MM, DD)
o 51905 – Start Time (0, HH, MM, SS)
o 51906 – End Date (0, YY, MM, DD)
o 51907 – End Time (0, HH, MM, SS)

Example: Read from July 20, 2015 [Link] to July 21, 2015 [Link]
TX: 01 10 CA C0 00 04 10 00 0F 07 14 00 11 00 00 00 0F 07 15 00 17 3B 00 C9 82
RX: 01 10 CA C0 00 04 FE 2E

Note: The date format is independent of the configured date format of the system.

• Write the Find Date Range command (write the number 1 as a 32-bit integer to Modbus register
51921)

Example: Find Date Range using function code 16


TX: 01 10 CA D1 00 01 04 00 00 00 01 D0 69
RX: 01 10 CA D1 00 01 6E 28

• Read the status of the record retrieval (Modbus register 51889):


o 0 - Data is ready
o 1 - Data is not ready - read the status again
o 2 - Record not found

Page 3 Uncontrolled Copy


Data Sheet
Historical Data Retrieval for the
OMNI® 4000 & 7000 Flow
Computer
• Write the Read Date Range Command (write the number 2 as a 32-bit integer to Modbus register 51921)

Example: Read Date Range using function code 06


TX: 01 06 CA D1 00 00 00 02 8B BE
RX: 01 06 CA D1 00 00 00 02 8B BE

• Read the newest record number found for that date range and the number of records following:
o 51902 – Record ID of newest record in data range
o 51903 – Number of records in the date range
Example:
TX: 01 03 CA BE 00 02 9B F7
RX: 01 03 08 00 00 00 03 00 00 00 03 91 D6 – three records starting with record 3

• Follow the instructions for ‘Retrieve by Record ID’ using the previous command to iterate back through
the records (i.e. 3, 2, 1)

Retrieve Batch Historical Report


Use this method to retrieve any stored record.

The reports are formatted by the flow computer according to the template and transmitted in ASCII format.

• Write the command to retrieve the report data by record ID (Modbus register 51901) sending the
requested record ID as a 32-bit integer.

Example: Request record 24 using function code 06


TX: 01 06 CA BD 00 00 00 18 9A 7C
RX: 01 06 CA BD 00 00 00 18 9A 7C

• Read the status of the record retrieval (Modbus register 51889)


o 0 - Data is ready
o 1 - Data is not ready - read the status again
o 2 - Record not found
Example: Read the status
TX: 01 03 CA B1 00 01 EB F5
RX: 01 03 04 00 00 00 00 FA 33 – data is ready

• If the data is ready, read the Batch Report (Modbus register 9101) using function code 65 starting with
block 0 and incrementing the block number until a ‘0x1A’ character is received. The block number is the
register count. Each block contains 128 bytes.

Example: Read the Batch Report Block 1


TX: 01 41 23 8D 00 01 67 AA
RX: 01 41 23 8D 00 01 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 61 74 63 68 20 52 65 70 6F 72 74
20 2D 20 4D 65 74 72 69 63 20 47 61 73 2D 4C 69 71 75 69 64 20 4B 46 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0D
0A 0D 0A 44 61 74 65 3A 20 32 31 2F 30 37 20 87

Page 4 Uncontrolled Copy


Data Sheet
Historical Data Retrieval for the
OMNI® 4000 & 7000 Flow
Computer
Example: Read the Batch Report Block 16 (in this example this is last block)
TX: 01 41 23 8D 00 10 A7 A6
RX: 01 41 23 8D 00 10 0D 0A 0C 1A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 C6 F7

Note: The block length of 128 bytes is maintained even if the ‘1A’ character is received before the end
of the block. The remaining bytes after the ‘1A’ character could be anything and should be ignored.

Retrieve the most recent (up to 35) Batch Historical Reports


Use this method to retrieve the most recent Batch Reports (up to 35) using direct register reads (available
with firmware versions 2.15 and higher).

The reports are formatted by the flow computer according to the template and transmitted in ASCII format.

• Use Modbus registers 9111-9145 where Modbus register 9111 is the most recent and register 9145
is the 35th report.

• Read the Batch Report using function code 65 starting with block 0 and incrementing the block
number until a ‘0x1A’ character is received. The block number is the register count. Each block
contains 128 bytes.

Example: Read Batch Report 3 (Modbus Register 9113) Block 0


TX: 01 41 23 99 00 00 E6 6E
RX: 01 41 23 99 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 4F 6D 6E 69 20 46 6C 6F 77 20 43 6F 6D 70 75 74 65 72 73 2C 20 49 6E
63 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 42 61 74 63 68 20 52 65 70 6F 72 74 0D 0A 0D 0A 43 6F 6D 70 75 74
65 72 20 49 44 3A 20 46 43 2D 37 30 30 30 20 20 75 D0

Note: The block length of 128 bytes is maintained even if the ‘1A’ character is received before the
end of the block. The remaining bytes after the ‘1A’ character could be anything and should be
ignored.

Retrieve the most recent (up to 8) Batch Historical Reports using 6000 Mapping
Use this method to retrieve the most recent Batch Reports (1 to 8) using direct register reads with 6000
mapping (available with firmware versions 2.15 and higher).

The reports are formatted by the flow computer according to the template and transmitted in ASCII format.

• Set the port mapping to “OMNI 6000 Mapping”.

• Use Modbus registers 9101-9108 where Modbus register 9101 is the most recent and register
9108 is the 8th report.

Page 5 Uncontrolled Copy


Data Sheet
Historical Data Retrieval for the
OMNI® 4000 & 7000 Flow
Computer
• Read the Batch Report using function code 65 starting with block 0 and incrementing the block
number until a ‘0x1A’ character is received. The block number is the register count. Each block
contains 128 bytes.

Example: Read the most recent Batch Report (Modbus register 9101) Block 1
TX: 01 41 23 8D 00 01 67 AA
RX: 01 41 23 8D 00 01 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 76 3A 20 30
32 2E 31 35 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 4C 69 71 75 3A E0

Note: The block length of 128 bytes is maintained even if the ‘1A’ character is received before the
end of the block. The remaining bytes after the ‘1A’ character could be anything and should be
ignored.

Page 6 Uncontrolled Copy


Data Sheet
Historical Data Retrieval for the
OMNI® 4000 & 7000 Flow
Computer

Daily Historical Data


The historical data is transmitted from the flow computer in raw binary format as for any other Modbus
register reads in the system.

Information about the Daily Historical Data Archive can be read using the following Modbus registers:
• 27908 – Number of records in the archive
• 27909 – ID of the newest record in the archive
• 27910 – ID of the oldest record in the archive
• 27911 – Date of newest record in the archive
• 27912 – Time of newest record in the archive
• 27913 – Date of the oldest record in the archive
• 27914 – Time of the oldest record in the archive

Retrieve Raw Data by Record ID


• Write the command to retrieve the raw data by record ID (Modbus register 27900) sending the requested
record ID as a 32-bit integer.

• Read the status of the record retrieval (Modbus register 27897):


o 0 - Data is ready
o 1 - Data is not ready - read the status again
o 2 - Record not found

• Information about a specific record can be read using Modbus registers (use the Database Browser in
OMNICONNECT with the “Daily Historical Data” category filter to see which registers can be used and
what the register definitions are).

Some examples are:


o 27915 – Previous Daily ‘n’ Record ID number
o 27916 – Version number of the archive
o 27917 – Date of the record (YYMMDD)
o 27918 – Time of the record (HHMMSS)
Note: The date and time are each a 32-bit integer with the date format of ’00 YY MM DD” and time
as “00 HH MM SS”. The date format is independent of the configured date format of the system.

• To read the previous record (older) than the one just processed, write the command to read the previous
record (Modbus register 27899), sending the record ID that was just processed.

• To read the next record (newer) than the one just processed, write the command to read the next record
(Modbus register 27898), sending the record ID that was just processed

• After each previous or next command, read the status of the record retrieval (Modbus register 27897):
o 0 - Data is ready
o 1 - Data is not ready - read the status again
o 2 - Record not found

Page 7 Uncontrolled Copy


Data Sheet
Historical Data Retrieval for the
OMNI® 4000 & 7000 Flow
Computer
• If the status indicates the data is ready, read any specific information for the record required via the
Modbus registers (use the Database Browser in OMNICONNECT with the “Daily Historical Data”
category filter to see which registers can be used and what the register definitions are).

• To reset the Daily registers on the connected port to point to the most recently ended Daily data, use
one of the following methods:
o Write the command to retrieve the raw data by record ID (Modbus register 27900) sending
zero as the record ID.
o Write a 1 to Boolean register 1725.

Retrieve Raw Data by Relative Index (up to 35)


Use this method to retrieve the most recent records (up to 35) using the relative index number.

• Write the command to retrieve the Daily Historical raw data by relative index (Modbus register 27923)
sending the requested relative index as a 32-bit integer. The relative index ranges from 1 to 35 where 1
is the newest record.

Example: Request record 24 using function code 06


TX: 01 06 6D 13 00 00 00 18 6A B3
RX: 01 06 6D 13 00 00 00 18 6A B3

Example: Request record 2 using function code 16


TX: 01 10 6D 13 00 01 04 00 00 00 02 C3 D6
RX: 01 10 6D 13 00 01 EC A0

• An Exception Code 03 is returned if the record requested by the written relative index is not found or the
written index is not in the range of 1 through 35.

Retrieve Raw Data by Date Range


• Write the start and end dates using Modbus registers 27904-27907 as 32-bit integers:
o 27904 – Start Date (0, YY, MM, DD)
o 27905 – Start Time (0, HH, MM, SS)
o 27906 – End Date (0, YY, MM, DD)
o 27907 – End Time (0, HH, MM, SS)

Note: The date format is independent of the configured date format of the system.

• Write the Find Date Range command (write the number 1 as a 32-bit integer to Modbus register 27921)

• Read the status of the record retrieval (Modbus register 27897):


o 0 - Data is ready
o 1 - Data is not ready - read the status again
o 2 - Record not found

• Write the Read Date Range Command (write the number 2 as a 32-bit integer to Modbus register
27921)
• Read the newest record number found for that date range and the number of records following:
o 27902 – Record ID of newest record in data range
o 27903 – Number of records in the date range

Page 8 Uncontrolled Copy


Data Sheet
Historical Data Retrieval for the
OMNI® 4000 & 7000 Flow
Computer
• Follow the instructions for ‘Retrieve by Record ID’ using the previous command to iterate back through
the records (i.e. 3, 2, 1)

Retrieve Daily Historical Report


Use this method to retrieve any stored record.

The reports are formatted by the flow computer according to the template and transmitted in ASCII format.

• Write the command to retrieve the report data by record ID (Modbus register 27901) sending the
requested record ID as a 32-bit integer.

• Read the status of the record retrieval (Modbus register 27897)


o 0 - Data is ready
o 1 - Data is not ready - read the status again
o 2 - Record not found

• If the data is ready, read the Daily Report (Modbus register 9301) using function code 65 starting with
block 0 and incrementing the block number until a ‘0x1A’ character is received. The block number is the
register count. Each block contains 128 bytes.

Note: The block length of 128 bytes is maintained even if the ‘1A’ character is received before the end
of the block. The remaining bytes after the ‘1A’ character could be anything and should be ignored.

Retrieve the most recent (up to 35) Daily Historical Reports


Use this method to retrieve the most recent Daily Reports (up to 35) using direct register reads (available
with firmware versions 2.15 and higher).

The reports are formatted by the flow computer according to the template and transmitted in ASCII format.

• Use Modbus registers 9311-9345 where Modbus register 9311 is the most recent and register 9345
is the 35th report.

• Read the Daily Report using function code 65 starting with block 0 and incrementing the block
number until a ‘0x1A’ character is received. The block number is the register count. Each block
contains 128 bytes.

Note: The block length of 128 bytes is maintained even if the ‘1A’ character is received before the
end of the block. The remaining bytes after the ‘1A’ character could be anything and should be
ignored.

Page 9 Uncontrolled Copy


Data Sheet
Historical Data Retrieval for the
OMNI® 4000 & 7000 Flow
Computer
Retrieve the most recent (up to 8) Daily Historical Reports using 6000 Mapping
Use this method to retrieve the most recent Daily Reports (1 to 8) using direct register reads with 6000
mapping (available with firmware versions 2.15 and higher).

The reports are formatted by the flow computer according to the template and transmitted in ASCII format.

• Set the port mapping to “OMNI 6000 Mapping”.

• Use Modbus registers 9301-9308 where Modbus register 9301 is the most recent and register 9308
is the 8th report.

• Read the Daily Report using function code 65 starting with block 0 and incrementing the block
number until a ‘0x1A’ character is received. The block number is the register count. Each block
contains 128 bytes.

Note: The block length of 128 bytes is maintained even if the ‘1A’ character is received before the
end of the block. The remaining bytes after the ‘1A’ character could be anything and should be
ignored.

Page 10 Uncontrolled Copy


Data Sheet
Historical Data Retrieval for the
OMNI® 4000 & 7000 Flow
Computer

Detailed Daily Historical Data


The historical data is transmitted from the flow computer in raw binary format as for any other Modbus
register reads in the system.

Information about the Detailed Daily Historical Data Archive can be read using the following Modbus
registers:
• 47908 – Number of records in the archive
• 47909 – ID of the newest record in the archive
• 47910 – ID of the oldest record in the archive
• 47911 – Date of newest record in the archive
• 47912 – Time of newest record in the archive
• 47913 – Date of the oldest record in the archive
• 47914 – Time of the oldest record in the archive

Retrieve Raw Data by Record ID


• Write the command to retrieve the raw data by record ID (Modbus register 47900) sending the requested
record ID as a 32-bit integer.

• Read the status of the record retrieval (Modbus register 47897):


o 0 - Data is ready
o 1 - Data is not ready - read the status again
o 2 - Record not found

• Information about a specific record can be read using Modbus registers (use the Database Browser in
OMNICONNECT with the “Detailed Daily Historical Data” category filter to see which registers can be
used and what the register definitions are).

Some examples are:


o 47915 – Previous Hourly ‘n’ Record ID number
o 47916 – Version number of the archive
o 47917 – Date of the record (YYMMDD)
o 47918 – Time of the record (HHMMSS)
Note: The date and time are each a 32-bit integer with the date format of ’00 YY MM DD” and time
as “00 HH MM SS”. The date format is independent of the configured date format of the system.

• To read the previous record (older) than the one just processed, write the command to read the previous
record (Modbus register 47899), sending the record ID that was just processed.

• To read the next record (newer) than the one just processed, write the command to read the next record
(Modbus register 47898), sending the record ID that was just processed

• After each previous or next command, read the status of the record retrieval (Modbus register 47897):
o 0 - Data is ready
o 1 - Data is not ready - read the status again
o 2 - Record not found

Page 11 Uncontrolled Copy


Data Sheet
Historical Data Retrieval for the
OMNI® 4000 & 7000 Flow
Computer
• If the status indicates the data is ready, read any specific information for the record required via Modbus
registers (use the Database Browser in OMNICONNECT with the “Detailed Daily Historical Data”
category filter to see which registers can be used and what the register definitions are).

• To reset the Detailed Daily registers on the connected port to point to the most recently ended Detailed
Daily data, use one of the following methods:
o Write the command to retrieve the raw data by record ID (Modbus register 47900) sending
zero as the record ID.
o Write a 1 to Boolean register 1725.

Retrieve Raw Data by Date Range


• Write the start and end dates using Modbus registers 47904-47907 as 32-bit integers:
o 47904 – Start Date (0, YY, MM, DD)
o 47905 – Start Time (0, HH, MM, SS)
o 47906 – End Date (0, YY, MM, DD)
o 47907 – End Time (0, HH, MM, SS)

Note: The date format is independent of the configured date format of the system.

• Write the Find Date Range command (write the number 1 as a 32-bit integer to Modbus register
47921)

• Read the status of the record retrieval (Modbus register 47897):


o 0 - Data is ready
o 1 - Data is not ready - read the status again
o 2 - Record not found

• Write the Read Date Range Command (write the number 2 as a 32-bit integer to Modbus register
47921)

• Read the newest record number found for that date range and the number of records following:
o 47902 – Record ID of newest record in data range
o 47903 – Number of records in the date range

• Follow the instructions for ‘Retrieve by Record ID’ using the previous command to iterate back through
the records (i.e. 3, 2, 1)

Page 12 Uncontrolled Copy


Data Sheet
Historical Data Retrieval for the
OMNI® 4000 & 7000 Flow
Computer
Retrieve Detailed Daily Historical Report
Use this method to retrieve any stored record.

The reports are formatted by the flow computer according to the template and transmitted in ASCII format.

• Write the command to retrieve the report data by record ID (Modbus register 47901) sending the
requested record ID as a 32-bit integer.

• Read the status of the record retrieval (Modbus register 47897)


o 0 - Data is ready
o 1 - Data is not ready - read the status again
o 2 - Record not found

• If the data is ready, read the Detailed Daily Report (Modbus register 9501) using function code 65
starting with block 0 and incrementing the block number until a ‘0x1A’ character is received. The block
number is the register count. Each block contains 128 bytes.

Note: The block length of 128 bytes is maintained even if the ‘1A’ character is received before the end of the
block. The remaining bytes after the ‘1A’ character could be anything and should be ignored.

Page 13 Uncontrolled Copy


Data Sheet
Historical Data Retrieval for the
OMNI® 4000 & 7000 Flow
Computer

Hourly Historical Data


The historical data is transmitted from the flow computer in raw binary format as for any other Modbus
register reads in the system. It is available with firmware versions 2.07 and higher.

Information about the Hourly Historical Data Archive can be read using the following Modbus registers:

• 47812 – Number of records in the archive


• 47813 – ID of the newest record in the archive
• 47814 – ID of the oldest record in the archive
• 47815 – Date of newest record in the archive
• 47816 – Time of newest record in the archive
• 47817 – Date of the oldest record in the archive
• 47818 – Time of the oldest record in the archive

Retrieve Raw Data by Record ID


• Write the command to retrieve the raw data by record ID (Modbus register 47804) sending the requested
record ID as a 32-bit integer.

• Read the status of the record retrieval (Modbus register 47801):


o 0 - Data is ready
o 1 - Data is not ready - read the status again
o 2 - Record not found

• Information about a specific record can be read using Modbus registers (use the Database Browser in
OMNICONNECT with the “Detailed Daily Historical Data” category filter to see which registers can be
used and what the register definitions are).

Some examples are:


o 47819 – Previous Hourly ‘n’ Record ID number
o 47920 – Version number of the archive
o 47921 – Date of the record (YYMMDD)
o 47922 – Time of the record (HHMMSS)
Note: The date and time are each a 32-bit integer with the date format of ’00 YY MM DD” and time
as “00 HH MM SS”. The date format is independent of the configured date format of the system.

• To read the previous record (older) than the one just processed, write the command to read the previous
record (Modbus register 47803), sending the record ID that was just processed.

• To read the next record (newer) than the one just processed, write the command to read the next record
(Modbus register 47802), sending the record ID that was just processed

• After each previous or next command, read the status of the record retrieval (Modbus register 47801):
o 0 - Data is ready
o 1 - Data is not ready - read the status again
o 2 - Record not found

Page 14 Uncontrolled Copy


Data Sheet
Historical Data Retrieval for the
OMNI® 4000 & 7000 Flow
Computer
• If the status indicates the data is ready, read any specific information for the record required via the
Modbus registers (use the Database Browser in OMNICONNECT with the “Detailed Daily Historical
Data” category filter to see which registers can be used and what the register definitions are).

• To reset the Hourly registers on the connected port to point to the most recently ended Hourly data, use
one of the following methods:
o Write the command to retrieve the raw data by record ID (Modbus register 47804) sending
zero as the record ID.
o Write a 1 to Boolean register 1726.

Retrieve Raw Data by Relative Index (up to 35)


Use this method to retrieve the most recent records (up to 35) using the relative index number.

• Write the command to retrieve the Hourly Historical raw data by relative index (Modbus register 47827)
sending the requested relative index as a 32-bit integer. The relative index ranges from 1 to 35 where 1
is the newest record.

Example: Request record 24 using function code 06


TX: 01 06 BA D3 00 00 00 18 78 85
RX: 01 06 BA D3 00 00 00 18 78 85

Example: Request record 2 using function code 16


TX: 01 10 BA D3 00 01 04 00 00 00 02 74 73
RX: 01 10 BA D3 00 01 D5 28

• An Exception Code 03 is returned if the record requested by the written relative index is not found or the
written index is not in the range of 1 through 35.

Retrieve Raw Data by Date Range


• Write the start and end dates using Modbus registers 47808-47811 as 32-bit integers:
o 47808 – Start Date (0, YY, MM, DD)
o 47809 – Start Time (0, HH, MM, SS)
o 47810 – End Date (0, YY, MM, DD)
o 47811 – End Time (0, HH, MM, SS)

Note: The date format is independent of the configured date format of the system.

• Write the Find Date Range command (write the number 1 as a 32-bit integer to Modbus register 47825)

• Read the status of the record retrieval (Modbus register 47801):


o 0 - Data is ready
o 1 - Data is not ready - read the status again
o 2 - Record not found

• Write the Read Date Range Command (write the number 2 as a 32-bit integer to Modbus register 47825)

Page 15 Uncontrolled Copy


Data Sheet
Historical Data Retrieval for the
OMNI® 4000 & 7000 Flow
Computer
• Read the newest record number found for that date range and the number of records following:
o 47806 – Record ID of newest record in data range
o 47807 – Number of records in the date range

• Follow the instructions for ‘Retrieve by Record ID’ using the previous command to iterate back through
the records (i.e. 3, 2, 1)

Page 16 Uncontrolled Copy


Data Sheet
Historical Data Retrieval for the
OMNI® 4000 & 7000 Flow
Computer

Prove Historical Data


The historical data is transmitted from the flow computer in raw binary format as for any other Modbus
register reads in the system.

Information about the Prove Historical Data Archive can be read using the following Modbus registers:
• 48808 – Number of records in the archive
• 48809 – ID of the newest record in the archive
• 48810 – ID of the oldest record in the archive
• 48811 – Date of newest record in the archive
• 48812 – Time of newest record in the archive
• 48813 – Date of the oldest record in the archive
• 48814 – Time of the oldest record in the archive

Retrieve Raw Data by Record ID


• Write the command to retrieve the raw data by record ID (Modbus register 48800) sending the requested
record ID as a 32-bit integer.

• Read the status of the record retrieval (Modbus register 48796):


o 0 - Data is ready
o 1 - Data is not ready - read the status again
o 2 - Record not found

• Information about a specific record can be read using Modbus registers (use the Database Browser in
OMNICONNECT with the “Prove Historical Data” category filter to see which registers can be used and
what the register definitions are).

Some examples are:


o 48815 – Previous Prove ‘n’ Record ID number
o 48816 – Version number of the archive
o 48817 – Date of the record (YYMMDD)
o 48818 – Time of the record (HHMMSS)
Note: The date and time are each a 32-bit integer with the date format of ’00 YY MM DD” and time
as “00 HH MM SS”. The date format is independent of the configured date format of the system.

• To read the previous record (older) than the one just processed, write the command to read the previous
record (Modbus register 48798), sending the record ID that was just processed.

• To read the next record (newer) than the one just processed, write the command to read the next record
(Modbus register 48797), sending the record ID that was just processed

• After each previous or next command, read the status of the record retrieval (Modbus register 48796):
o 0 - Data is ready
o 1 - Data is not ready - read the status again
o 2 - Record not found

Page 17 Uncontrolled Copy


Data Sheet
Historical Data Retrieval for the
OMNI® 4000 & 7000 Flow
Computer
• If the status indicates the data is ready, read any specific information for the record required via the
Modbus registers (use the Database Browser in OMNICONNECT with the “Prove Historical Data”
category filter to see which registers can be used and what the register definitions are).

• To reset the Prove registers on the connected port to point to the most recently ended Prove data, use
one of the following methods:
o Write the command to retrieve the raw data by record ID (Modbus register 48800) sending
zero as the record ID.
o Write a 1 to Boolean register 1724.

Retrieve Raw Data by Relative Index (up to 35)


Use this method to retrieve the most recent records (up to 35) using the relative index number.

• Write the command to retrieve the Prove Historical raw data by relative index (Modbus register 48823)
sending the requested relative index as a 32-bit integer. The relative index ranges from 1 to 35 where 1
is the newest record.

Example: Request record 24 using function code 06


TX: 01 06 BE B7 00 00 00 18 08 C9
RX: 01 06 BE B7 00 00 00 18 08 C9

Example: Request record 2 using function code 16


TX: 01 10 BE B7 00 01 04 00 00 00 02 41 68
RX: 01 10 BE B7 00 01 95 C7

• An Exception Code 03 is returned if the record requested by the written relative index is not found or the
written index is not in the range of 1 through 35.

Retrieve Raw Data by Date Range


• Write the start and end dates using Modbus registers 48804-48807 as 32-bit integers:
o 48804 – Start Date (0, YY, MM, DD)
o 48805 – Start Time (0, HH, MM, SS)
o 48806 – End Date (0, YY, MM, DD)
o 48807 – End Time (0, HH, MM, SS)

Note: The date format is independent of the configured date format of the system.

• Write the Find Date Range command (write the number 1 as a 32-bit integer to Modbus register 48821)

• Read the status of the record retrieval (Modbus register 48796):


o 0 - Data is ready
o 1 - Data is not ready - read the status again
o 2 - Record not found

• Write the Read Date Range Command (write the number 2 as a 32-bit integer to Modbus register 48821)

Page 18 Uncontrolled Copy


Data Sheet
Historical Data Retrieval for the
OMNI® 4000 & 7000 Flow
Computer
• Read the newest record number found for that date range and the number of records following:
o 48802 – Record ID of newest record in data range
o 48803 – Number of records in the date range

• Follow the instructions for ‘Retrieve by Record ID’ using the previous command to iterate back through
the records (i.e. 3, 2, 1)

Retrieve Prove Historical Report


Use this method to retrieve any stored record.

The reports are formatted by the flow computer according to the template and transmitted in ASCII format.

• Write the command to retrieve the report by record ID (Modbus register 48801) sending the requested
record ID as a 32-bit integer.

• Read the status of the record retrieval (Modbus register 48796)


o 0 - Data is ready
o 1 - Data is not ready - read the status again
o 2 - Record not found

• If the data is ready, read the Prove Report (Modbus register 9201) using function code 65 starting with
block 0 and incrementing the block number until a ‘0x1A’ character is received. The block number is the
register count. Each block contains 128 bytes.

Note: The block length of 128 bytes is maintained even if the ‘1A’ character is received before the end of the
block. The remaining bytes after the ‘1A’ character could be anything and should be ignored.

Retrieve the most recent (up to 35) Prove Historical Reports


Use this method to retrieve the most recent Prove Reports (up to 35) using direct register reads (available
with firmware versions 2.15 and higher).

The reports are formatted by the flow computer according to the template and transmitted in ASCII format.

• Use Modbus registers 9211-9245 where Modbus register 9211 is the most recent and register 9245
is the 35th report.

• Read the Prove Report using function code 65 starting with block 0 and incrementing the block
number until a ‘0x1A’ character is received. The block number is the register count. Each block
contains 128 bytes.

Note: The block length of 128 bytes is maintained even if the ‘1A’ character is received before the
end of the block. The remaining bytes after the ‘1A’ character could be anything and should be
ignored.

Page 19 Uncontrolled Copy


Data Sheet
Historical Data Retrieval for the
OMNI® 4000 & 7000 Flow
Computer
Retrieve the most recent (up to 8) Prove Historical Reports using 6000 Mapping
Use this method to retrieve the most recent Prove Reports (1 to 8) using direct register reads with 6000
mapping (available with firmware versions 2.15 and higher).

The reports are formatted by the flow computer according to the template and transmitted in ASCII format.

• Set the port mapping to “OMNI 6000 Mapping”.

• Use Modbus registers 9201-9208 where Modbus register 9201 is the most recent and register 9208
is the 8th report.

• Read the Prove Report using function code 65 starting with block 0 and incrementing the block
number until a ‘0x1A’ character is received. The block number is the register count. Each block
contains 128 bytes.

Page 20 Uncontrolled Copy


Data Sheet
Historical Data Retrieval for the
OMNI® 4000 & 7000 Flow
Computer

© 2017-2020 OMNI Flow Computers, Inc. All rights reserved.

OMNI Flow Computers, Inc., pursuant to a policy of product development and improvement, may make any necessary changes to
these specifications without notice.

The OMNI Flow logo, “OMNI”, “OMNICOM”, “OMNICONNECT”, and ”Measure the Difference”, are registered trademarks of OMNI
Flow Computers, Inc., in the United States and other countries. All other trademarks are the property of their respective owners.

OMNI Flow Computers, Inc.


12320 Cardinal Meadow Drive
Suite 180
Sugar Land, Texas, 77478-6218, USA
Sales and Service: +1 281-240-6161
Facsimile: +1 281-240-6162
sales@[Link]
helpdesk@[Link]

Page 21 Uncontrolled Copy

You might also like