一
PCS7 的数据归档
1.PCS7 变量记录归档机制:
PCS7 归档分为快速归档和慢速归档。根据标签的采集周期,对数据进行快速或者慢速归档。如果采集周期小于或等于 1 分钟(在归档组态中默认为 1 分钟,可以自定义),使用“ Tag Logging Fast”来归档数据。否则,如果采集周期大于 1 分钟,则在“ Tag Logging Slow”慢速归档中对数据进行归档。平常我们所看到的历史曲线都是快速归档,每 2S 采集一次数据。
如下图,通过对“变量记录”的组态,当“更改分段的时间”或者“单个分段的最大尺寸”两个条件任意满足一个,就会生成一个快速归档的数据片段,文件格式的后缀是.mdf,后缀为.ldf 的文件只是日志文件。且归档的文件在生成的时候会打上结束时间标志,为 UTC世界时钟,与本机时间差 8 个小时。
PCS7 为德国软件,在所有 PCS 7 工厂中,在内部使用 UTC(Universal Time Coordinated) 作为公共时基,即标准的世界时间,对应于伦敦的格林尼治标准时间,以支持将子组件安装在不同地点甚至是不同时区的系统组态。在本初子午线以东,将根据相应的距离对在格林尼治处测得的世界时间加一小时或几小时。在本初子午线以西,将减去相应的小时数。UTC + (+0800) = 本地(北京)时间 (1)。
例如下图中,最下面的两个数据片段,后缀 .ldf 的是日志文件,后缀 .mdf 的是数据文件,开始的时间是201709130648+8 小时=201709131448,即 9 月 13 日下午 2 点 48 分开始记录,需等到该文件归档的数据大小大于 100M或者时间到了 5:22,才会生成一个结束的时间标志,从而形成一个完整的文件。
更改分段的时间,比如 2017 年 3 月 4 日 5 点 22 分,则决定了单个数据文件分段的时间点,比如每天到了 5:22 或者该文件大小大于设置的 100M,则形成一个新的文件。如下图紫色部分。
“TLG_F”代表“ Tag Logging Fast”快速归档数据。“TLG_S”代表“ Tag Logging Slow”慢速归档数据。
2.PCS7 变量记录归档路径
四个文件夹:
ArchiveManager:最早生成的数据归档文件存放在该文件夹中。上图“归档大小”中“所有分段的时间范围”设置为 1 个月,则归档文件夹 ArchiveManager 中最多存放一个月的数据,多于一个月之前的数据会被最新的数据覆盖掉。
CommonArchiving:用于临时存放从其他位置手动拷贝过来的归档文件,WINCC 激活后会自动调用其中的文件,从而可以查看其中文件的趋势曲线、报警信息、操作记录等。
HIS BAK:默认的数据文件备份路径,当文件夹 ArchiveManager 中最新的数据文件生成结束时间标识后,系统会自动同步,在该文件夹下生成新的文件 \\ES1\F\HIS BAK: 备选目标路径,可以是远程或外置存储器。
二
PCS7 数据归档备份与恢复测试方案
测试说明:
后缀为.ldf 格式的文件为日志文件,后缀为.mdf 格式的文件为数据文件,同样归档类型的文件,例如报警归档、慢速归档、快速归档,每次都会生成两个时间标志相同,但格式不同的文件,两个文件必须一起存在同一个文件夹,才能被归档有效识别,如果只有其中一个文件,则数据无效,无法看到相应时间段内的趋势曲线、报警信息、操作记录等。
因为本项目所有归档变量的采集周期都小于 1 分钟,基本上都是 2S 采集一次,都属于快速归档 TagLoggingFast,曲线中查看的也都是该类归档数据,没有慢速归档数据 TagLoggingSlow,虽然生成有慢速归档文件,但其中是没有数据的,因此以下数据恢复测试都使用快速归档 TagLoggingFast 的文件。
测试方案 A:采用正常运行的冗余服务器(两台服务器 SERVER1 和 SERVER2)中的一台进行试验,只要有一台服务器仍在正常运行,则不会影响现场操作员的生产操作,生产数据也不会被中断。
如果有任意一台服务器掉线,则下图中右侧的小方块将由绿色变为红色,且最上方报警条会有报警信息,点击小方块,会显示详细的服务器通信状态,绿色为正常,红色为掉线。
步骤 1..关闭冗余服务器中的一台,一段时间后再次激活运行 WINCC,测试 ArchiveManager 文件夹中是否会有新的时间标志的文件生成。可以对 ArchiveManager 文件夹中的三个文件夹中的任意一个进行测试。下面是三个文件夹的展开截图:
ArchiveManager 文件夹内容截图:
快速归档文件夹的内容截图:
慢速归档文件夹的内容截图:
报警信息归档文件夹内容截图:
如果三个文件夹中都有新的文件生成且起始时间标志与激活 WINCC 的时间吻合,则测试通过。在 WINCC 仍然激活期间,如果数据片段的大小尚未达到设置值或系统时间未到达设置的分段时间,则该文件不会生成结束标志。
步骤 2. 再次取消激活该 WINCC,过一段时间,再次激活运行,之前未生成结束标志的文件会立即生成新的结束时间标志,时间为 WINCC 最近取消激活时的时间,而非最近激活运行时的时间。
步骤 3. 在测试的服务器激活运行后,两个服务器的数据会进行同步备份,一段时间后,关闭之前一直在运行的服务器的 WINCC,然后通过操作员站查看历史曲线、报警信息、操作记录,检查之前用于测试的服务器在断开期间的数据是否能够查询到,如果曲线等正常,没有数据丢失,则说明数据备份同步有效。
步骤 4.检查相应的默认备份路径 HIS BAK 及远程备份路径下\\ES1\F\HIS BAK 是否有生成新的归档文件。测试归档备份路径的有效性。
说明:备份路径下的文件,需要当前归档文件夹中的数据片段达到设定值的大小或设定的分短时间,生成结束时间标志后,才会在备份路径生成相应的归档文件。远程路径还需要保证局域网通信稳定,否则可能会有影响。
测试方案 B:.使用新的服务器离线测试,新服务器不联网至 PLC 的 CPU,原来的冗余服务器照常运行,不会影响现场操作员的生产操作,生产数据也不会被中断。
步骤 1. 通过工程师站将项目下载到新服务器中,激活运行,参考方案 A,查看相应的归档文件夹 ArchiveManager 中是否有新的报警、慢速、快速归档文件生成。如果有,则表明数据备份没有问题。
步骤 2. 将其他机器上已生成的.ldf 及.mdf 格式的报警信息归档文件(属于 AlarmLogging,里面包含了报警信息及操作记录的数据),或快速归档备份文件(属于 TagLoggingFast),成对地件拷贝到新机器上的CommonArchiving 文件夹中,此时不需要取消激活 WINCC,只需要刷新趋势曲线画面等,就可以查看到相应的历史曲线、报警信息、操作记录等。如果试验结果符合上面的描述,则表明归档文件数据有效,备份有效。
下图为 CommonArchiving 文件夹内容截图:
步骤 3. 检查相应的默认备份路径 HIS BAK 及远程备份路径下\\ES1\F\HIS BAK 是否有生成新的归档文件。测试归档备份路径的有效性。
只有主服务器会执行归档备份的操作(可以在 WINCC 的帮助系统中搜索“如何组态归档备份”,会有相关文档说明,如下图),备用状态下的服务器不会执行备份操作。
备份操作是指,将 ArchiveManager 文件夹下的数据及日志文件拷贝到 D:\HIS BAK 以及\\ES1\F\HIS BAK 两个备份路径中进行备份。冗余服务器中的其中一台为主站状态时才会进行备份操作。
因此工程师站的公用备选路径中会出现归档文件互补的情况,而单个服务器上的备份路径 D:\HIS BAK 中的文件是不完整的。在冗余服务器切换后,备份路径中会生成不同的以服务器计算机名称为前缀的数据文件。
在备用服务器的 WINCC 激活后,不能马上关掉主服务器进行下载,需要等待一段时间,待两个服务器的数据同步完成后,才能进行下一步操作。报警消息中会有同步开始 、同步结束的相关信息提示,在总的报警信息 general list 中查看,而同步的时间则视项目归档的数据量而定。
理论上 SQL 链接的数据片段不能超过 200 个,包含 ArchiveManager 和 CommonArchiving 两个文件夹中的数据文件,后缀为.ldf 的日志文件不计算在内。超过 200 个,则归档文件的大小不会按照设定的单个数据片段的大小或者时间来,而是大小和时间随机生成,并且一天会有多个文件,如下图所示。
如果需要查看超过归档设置的时间范围的数据,则最好只拷贝一两天的数据文件到 CommonArchiving 文件夹中。
此外,操作系统 SQL 相关的报错是因为链接的数据片段连接不上,不会影响归档的备份操作,例如 9 月 17 日的数据文件链接不上,因此系统中有 SQL 数据库备份相关的报错,需要将无效的数据文件删除。如果需要验证文件的有效性,可以尝试单独链接该数据文件看曲线。该部分无效文件是上一次误操作后恢复回来的,当时为了测试拷贝到了CommonArchiving 文件夹中,可以将其删除。
最后,时间同步也需要设置正确,否则归档的文件时间不一,会有数据丢失。
作者简介
工控大头兵:擅长PCS7/博途TIA编程绘图。走遍大江南北,项目实战经验丰富(环保水处理行业两年,钢铁、电站、水泥化工等两年,目前主要负责制药厂自动化项目)。湖北博华自动化系统工程有限公司,自控工程师。