文件(idx、dat)来自工厂/设施操作历史记录。.dat 文件应该有条目,每个条目都有标识符(标签名称/id/键)、不同时间(时间戳)的值(十进制/浮点数)以及它们的置信度(整数/百分比)。该应用程序是基于 Windows 的。每个 .dat 文件将代表几天的条目。
我已经设法识别特定字节偏移处的时间戳。看起来“记录”也是 2049 字节的块。时间戳(和附加时间戳)在每个 2049 块内重复(这有点奇怪),但也许它还保留对上次记录时间的引用,或者可能存在嵌套(父/子)记录。
我不知道我应该如何进行。
示例 dat 文件(已截断):https ://drive.google.com/open?id =0B8ACIyH1qALnLUY2cEdzVWp6T1U
完整数据文件:https : //drive.google.com/open? id =0B8ACIyH1qALnNU5wYkotMktVWVk
第一个时间值之一:80CAFEBB168DD201 偏移量为 2061十进制[] (131322467930000000 -> 2017-02-27 7:19:53 AM)
示例 idx 文件:https ://drive.google.com/open ? id =0B8ACIyH1qALnQzVueEJuRWNfUk0
感谢帮助。
更新
根据要求,一些进一步的信息:
这些文件由 Honeywell PHD Uniformance Server 生成。我无法访问软件本身 - 但正在处理它。我不知道它是用什么语言写的。
服务器的一些在线指南建议存在 MAX_ARCRECSIZE 配置参数 <quote>“默认为 2048。这控制存档文件中的记录大小”</endquote>。dat 文件有 2049 字节块(2048 字节 + 1 字节“0A”)
据我所知,历史学家不提供类似 SQL 的界面。唯一理解的协议是 OPC 变体(OPC-DA、OPC-HDA 和可能的 OPC-UA),但是在提取历史记录时这些协议很慢。
为其中一个日期(但不是第一个)给出的偏移量为十进制 2061
=>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到目前为止,我在每个 2049 个“块”中发现了 4 个不同的时间戳 (ftime)。它们具有一致的偏移量(在每个 2049 字节块的开头的第 12、62、75、94 字节处)。字节 8 处可能的序列值。字节 38 处可能的“颜色”值。
还有一件事; OPC 服务器利用 COM 和 DCOM 架构。我遇到了复合二进制文件格式,但相应的读者无法读取文件。







