The files (idx, dat) are from a plant/facility operational historian. The .dat file is supposed to have entries, each with identifier (tag name/id/key), value (decimal/float) for different times (timestamp) along with their confidence rating (int/percentage). The application is windows-based. Each .dat file would represent entries of few days.
I've managed to identify timestamps at specific byte offsets. It also looks like the "records" are of 2049 byte chunks. The timestamp (and additional timestamps) repeat within each 2049 chunk (which is a bit strange), but perhaps it's also keeping a reference to the last recorded time, or maybe there's a nesting (parent/child) of records.
I'm a stuck as to how I should proceed.
Sample dat file (truncated): https://drive.google.com/open?id=0B8ACIyH1qALnLUY2cEdzVWp6T1U
Full dat file: https://drive.google.com/open?id=0B8ACIyH1qALnNU5wYkotMktVWVk
One of the first time values: 80CAFEBB168DD201 at offset 2061 decimal [] (131322467930000000 -> 2017-02-27 7:19:53 AM)
Sample idx file: https://drive.google.com/open?id=0B8ACIyH1qALnQzVueEJuRWNfUk0
Appreciate the help.
UPDATE
As requested, some further information:
The files are generated by Honeywell PHD Uniformance Server. I don't have access to the software itself - but working on it. I don't know what language it was written in.
Some online guide for the server suggest the presence of MAX_ARCRECSIZE configuration parameter <quote>"which defaults to 2048. This controls the record size within the archive files" </endquote>. The dat files are of 2049 byte chunks (2048 bytes + 1 byte "0A")
The historian, as far as I know, doesn't provide SQL-like interface. The only protocols understood are OPC variants (OPC-DA, OPC-HDA and possibly OPC-UA), however those are slow when it comes to extracting historical records.
The offset given for one of the dates (but not the first one), is at 2061 decimal
=>hexdump -C -s 2061 -n 64 SCAN00356-sample.dat 0000080d 80 ca fe bb 16 8d d2 01 02 00 00 00 12 00 00 00 |................| 0000081d 96 07 46 04 00 00 00 00 20 5f a0 02 c2 00 00 80 |..F..... _......| 0000082d bf 00 3c 00 00 00 00 00 00 00 04 00 00 00 96 07 |..<.............| 0000083d 8e 07 80 ca fe bb 16 8d d2 01 0a 00 00 86 07 00 |................| 0000084d
I've found 4 different timestamps (ftime) in each 2049 'chunks' so far. They are at consistent offsets (at bytes 12, 62, 75, 94 from the beginning of each 2049 byte chunk). Possible sequence value at byte 8. Possible 'color' value at byte 38.
One more thing; OPC Servers leverage COM and DCOM architectures. I came across the Compound Binary File Format, but the corresponding readers aren't able to read the files.