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