OMNI 7000 Historical Data Retrieval
OMNI 7000 Historical Data Retrieval
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
• Write the command to retrieve the raw data by record ID (Modbus register 51900) sending the
requested record ID as a 32-bit integer.
• 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).
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.
• 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
• 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).
• 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.
• 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.
• 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.
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)
• 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)
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.
• 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.
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.
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.
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.
• Use Modbus registers 9101-9108 where Modbus register 9101 is the most recent and register
9108 is the 8th report.
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.
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
• 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).
• 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
• 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.
• 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.
• 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.
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)
• 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
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.
• 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.
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.
The reports are formatted by the flow computer according to the template and transmitted in ASCII format.
• 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.
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
• 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).
• 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
• 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.
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)
• 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)
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.
• 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.
Information about the Hourly Historical Data Archive can be read using the following Modbus registers:
• 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).
• 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
• 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.
• 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.
• 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.
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)
• Write the Read Date Range Command (write the number 2 as a 32-bit integer to Modbus register 47825)
• Follow the instructions for ‘Retrieve by Record ID’ using the previous command to iterate back through
the records (i.e. 3, 2, 1)
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
• 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).
• 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
• 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.
• 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.
• 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.
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)
• Write the Read Date Range Command (write the number 2 as a 32-bit integer to Modbus register 48821)
• Follow the instructions for ‘Retrieve by Record ID’ using the previous command to iterate back through
the records (i.e. 3, 2, 1)
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.
• 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.
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.
The reports are formatted by the flow computer according to the template and transmitted in ASCII format.
• 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.
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.