使用SQL Server 导入(pcs 7) wincc数据库时varbinary类型数据的转换问题
刘玉蓉
发布于2014-12-02 17:25
3
0
标签:
近在一个项目中需要用到pcs7工控系统采集到的数据,数据是工程师直接从后台拷贝给我的,sql server2005的格式,本来一切都很顺利,使用sql可以查询到我需要的数据,但是查询结果发现关键的数据字段是用varbinary格式存储的(请参考附件图片)...
完全不懂工控系统,据工程师说,他们使用的是西门子pcs 7 v6.0的系统,平时也是直接使用系统调用数据库看图形和曲线的,不关心原始数据的存储格式,也不知道怎么将数据转换为人工可识别的格式...
能否赐教怎样将varbinary格式的数据转换为人工可读的数据?
p.s. 我已经试过sql server中内置的将varbinary转换为varcharacter的函数,结果出来是乱码,因此我猜想可能是工控系统在存储数据到数据库的时候用了加密算法,因此只能用工控系统读取数据,但是我又不知道怎样使用,不知道我的猜想是否正确?
希望赐教!
问题补充:
在看到了这篇求助帖子
https://www.ad.siemens.com.cn/service/answer/solution.aspx?Q_id=106090&cid=1032
和其他帮助之后找到了解决办法,但是遇到了新的问题。
以下是我的操作步骤:
1. 打开wincc新建工程
2. 在“计算机”>“属性”>"启动"中勾选了“变量记录运行系统”、“报表运行系统”和“用户归档”(见图片)
3. 在“图形编辑器中”新建图形,使用WinCC OnlineTableControl控件,并在“属性”>“工具栏”中勾选了“连接备份”、“断开备份”和“导出数据”
4. 在“图形编辑器”中点击“运行系统”图标,在弹出的WinCC运行系统窗口中点击“连接备份”图标,找到数据库文件,并确定,这时显示连接成功,并且在“断开备份”窗口中也能够看到连接好的备份。
5. 但是这时候在表格中看不到任何数据,不知道这是什么原因?在“选择时间范围”中把时间调整到原始数据采集的时间也没有任何变化。
次接触WinCC,希望大家多多帮助~
图片说明: 1,sql server中查询wincc 数据库问题 2,WinCC OnlineTableControl控件属性 3,运行系统中连接备份 4,选择时间范围 5,计算机属性 6,断开备份窗口中能够看到连接好的备份
佳答案
wincc的归档都是压缩归档的,你可以把数据库导入到wincc的归档中,然后用历史历史趋势控件链接你的归档变量以及选择好归档的时间范围后点击导出按钮(趋势控件上的1.44软件的图标),把数据保存成excel文件,就可以看了。