轮播
这三种Wincc用户归档备份方法你使用过吗?

2022/5/16 0:49:38 分类:PLC应用 
文章地址://www.e-cumulus.com/tech/4241.html

西门子的WINCC软件提供了方便的变量归档,报警归档备份功能。但没想到的是Wincc用户归档没有自动备份功能。配方数据及用户归档存储的报表记录数据确是生产的关键数据,需要定时定期备份。

当然,西门子也提供了标准的接口函数提供导出功能。是的,一个表一个表的导出功能。项目变了,配方多了一种重新编辑脚本重新导出。基于项目实际情况,抛弃了西门子官方提供的方法,选择了其他的方法处理备份数据。


在此,提供三种昌晖仪表使用过的Wincc用户归档备份方法,欢迎大家一起讨论!


方法一:完整性备份为bak文件

借用强大的SQL语法,通过VBS执行SQLCMD指令,执行已经测试完成的T-SQL备份指令。由于需要使用cmdshell指令,SQL默认为关闭状态需要在T-SQL指令中开启,结束完成后记得关闭,否则SQL处于危险状态。结合Wincc可以灵活的定义重复执行的时间。可以灵活控制备份的周期,备份文件的保留方式。具体看现场实际要求,部分脚本如下:

Wincc用户归档完整性备份为bak文件

实际测试,备份速度基本是ms级别,截图如下。

Wincc用户归档完整性备份为bak文件速度测试

方法二:导出表数据使用BCP指令

BCP实用工具可以在Microsoft SQL Server实例和用户指定格式的数据文件间大容量复制数据。使用BCP实用工具可以将大量新行导入SQL Server表,或将表数据导入数据文件。除非与queryout选项一起使用,否则使用该实用工具不需要了解Transact-SQL知识。BCP既可以在CMD提示符下运行,也可以在SSMS下执行。

如图所示:导出对应的表的数据,如果表名有固定的标签,可以灵活的控制表的数据导出,即使外部新建表单或者新加数据都无需调整脚本。通过VBS执行SQLCMD,可以灵活控制表的名称。

导出表数据使用BCP指令

方法三:使用WINCC提供的C指令
WinCC ODK uaArchiveExport与uaArchiveImport函数
详细的指令有兴趣的可以查询西门子的官方帮助手册。当然官方的是最安全可靠的,灵活度却少了很多,不到最后一刻脚本都可能根据需要调整。对C脚本的功底要求也很高,具体的脚本可以根据官方指导文件处理。

使用WINCC提供的C指令完成Wincc用户归档备份
作者:宁凌

相关阅读

常见WinCC安装问题及注意事项
西门子WINCC项目文件夹删除不掉怎么办
用工具Configuration Tool合并两个WINCC项目的方法

上一篇:ABB伺服驱动器GDI简介

下一篇:如何在两个PLC之间建立I-Device通信?

云南昌晖仪表制造有限公司 香港昌晖自动化系统有限公司
技术支持:昌晖自动化 滇ICP备14003915号