文档库 最新最全的文档下载
当前位置:文档库 › 利用WINCC+6.0自带的SQL+SERVER制定数据存储与查询且将结果导出到EXCEL

利用WINCC+6.0自带的SQL+SERVER制定数据存储与查询且将结果导出到EXCEL

利用WINCC+6.0自带的SQL+SERVER制定数据存储与查询且将结果导出到EXCEL
利用WINCC+6.0自带的SQL+SERVER制定数据存储与查询且将结果导出到EXCEL

利用WINCC 6.0自带的SQL SERVER制定数据存储与查询且将结果导出到EXCEL

作者: 张宝田三达膜集团有限公司

关键词:WINCC6.0 、VBS、SQL SERVER、 EXCEL、C#

一、 前言

在WINCC5.0中利用的是Sybase数据库,表结构相对简单,导出到EXCEL也相对方便;同时也有采用在全局C脚本中编写程序把变量值写入到固定的一个EXCEL文件中。以上两种方式在运行时间长后文件非常大,打开非常缓慢,想提取其中的有用部分相对较难。而在WINCC6.0中利用的是SQLSERVER数据库,其表结构设计相对复杂,且经过压缩处理,要直接导出运行数据也非常困难,用其报表打印机打出的表单是.mdi格式(类似图片)要二次处理分析数据也非常不容易。

本文重点介绍了如何利用WINCC自带的VBS脚本语言将需要的生产数据送到WINCC自带的SQL SERVER数据库中,同时利用基于.NET平台C#计算机高级语言编写一个通用的数据库查询与导出工具,将需要的数据导出到EXCEL中,从而弥补WINCC6.0数据导出难的问题。

其整个数据链如下图所示:

二、 建立数据库

打开SQL SERVER数据库新建一数据库名为:xlpdb

1.1创建表

根据生产或工艺进行分类,分别创建表名为YCLTable(预处理)、 UFTable(超滤)、ROTable(反渗透)、 JYTable(加药间)、如下图所示:

表中字段的类型分别为:datetime(存放日期时间)、text(存放wincc当前操作人员信息)、float(存放生产运行数据)。

备注:为了方便查看,字段名称最好直接使用PI&D图上的仪表编号。

1.2 创建用户

配置数据库用户名为:sinomem 密码为:6778100 设置相应权限如下图所示:

三、 编写VBS脚本程序

2.1 用VBS脚本与WINCC变量数据交换方法

要用VBS脚本进行数据处理,首先得知道与WINCC变量的数据交换方法,其源代码如下:

2.2 用VBS脚本将数据写入SQL SERVER

利用WINCC的全局VBS脚本,触发周期为1分钟即每1分钟向SQL SERVER写入一条数据。采用ADO与数据库的连接方式,其源代码如下:

2.3 用VBS脚本维护数据库存储的容量

为了防止出现数据的无限存储导致硬盘空间不足现象,特别编写自动删除2年前的数据程序,其源代码如下:

四、 数据导出到EXCEL

为了适应不同的数据库如SQL Server、Oralce、OleDb(含ACCESS、EXCEL等数据源)均可查询的需求,现用C#计算机高级编程语言开发了一款通用数据库查询工具,本节主要介绍该软件的使用方法。

4.1软件的安装

在安装该软件前必须选安装.NET Framework 2.0以上版本组件;该软件安装相对简单按向导进行即可。

首先点击“”然后按下一步提示进行。

4.2配置系统文件

软件安装完成后,点击安装目录下的“”弹出如下对话框:

在源字符串框输入要连接的数据库配置信息,然后点击加密,在目标字符串中会显示出加密后的内容,把该内容拷贝下来粘贴到配置文件中。

备注:把数据库配置信息进行加密,是为了防止非管理人员进入数据库修改数据。

接着用记事本打开安装目录下的“”文件。

其需要填写的内容有:数据库类型的选择、数据库配置信息、表名、运行时登录窗口的隐藏性选择、查询结果导到EXCEL中的过程可见性选择。

4.3 嵌入到WINCC

如何把这个通用数据库查询工具嵌入到WINCC中,只需在WINCC画面增加一个按

钮如“”再编写其C脚本如下:

4.4运行软件

在WINCC运行画面,点击“”按钮,系统自动运行该软件,运行界面如下:

?第1步选择相应的表名;

?第2步选择相应的变量;

?第3步选择时间字段相应的时间范围与时间间隔;

?第4步选点击“查询”按钮执行查询过程,点击“清除”按钮清除查询结果;

?第5步在结果表格上右键选择导出到EXCEL文档,执行导出过程。

导出结果如下:

?其他特殊的需求,可输入SQL语句进行查询。

五、 结束语

本文主要是以翔鹭石化(厦门)有限公司的中水回用工程为例进行介绍。另外在编写通用数据库查询工具时,作者兄长张木连同志现就职于亚信科技(中国)有限公司给予了极大的支持,在此表示衷心的感谢!

相关文档