WinCC采集的数据首先存储在WinCC的实时数据库中,到达一定时间或容量后,会转存到SQL Server数据库中,每次转存的数据都会新建一个数据库文件,数据库文件保存在程序文件夹下的ArchiveManager文件里。最终数据是分片保存的。
如何查看已分片的报警数据
报警数据的分片数据库命名是<计算机名>_<项目名称>_ALG_<开始时间>_<结束时间>,该数据库中的表格如下:
AlgCSDataCHS中存储的是报警的组态内容,例如报警编号、报警消息文本,如下:
AlgRtTextsCHS中存储运行过程中发生报警的内容,如下:
如何查看过程值归档数据
WinCC中的过程值存储分为快速归档和慢速归档,快速归档将多条数据压缩为二进制数据块后在数据库中存储为一条记录,慢速归档则直接存储到数据库。
快速归档分片数据库命名为<计算机名>_<项目名称>_TLG_F_<开始时间>_<结束时间>
慢速归档分片数据库命名为<计算机名>_<项目名称>_TLG_S_<开始时间>_<结束时间>
快速归档和慢速归档的数据库中表结构是相同的,数据库表如下:
快速归档存储在TagCompressed表中,如下:
快速归档存储在TagUnCompressed表中,如下(这里没有示例数据,只展示表结构):
尝试修改已分片的报警数据
快速归档是被压缩的,不能从数据库中看到数据的含义,而慢速归档和报警归档可以直接看到存储的内容,理论上可以更改,下面进行一个试验。
在一个测试程序中,只组态了两个报警,如下:
报警消息 | 错误点 |
alarm1报警 | 设备1 |
alarm2报警 | 设备2 |
打开AlgRtTextsCHS数据表,修改两条记录的Text2文本,改为“设备3”和“设备23424342”。
在WinCC的报警控件中,可以查看到有两条报警的错误点已被修改。