完整word版wincc用户归档VB脚本与SQL使用说明.docx
《完整word版wincc用户归档VB脚本与SQL使用说明.docx》由会员分享,可在线阅读,更多相关《完整word版wincc用户归档VB脚本与SQL使用说明.docx(23页珍藏版)》请在冰豆网上搜索。
完整word版wincc用户归档VB脚本与SQL使用说明
一、报表成立
本次项目要求:
全部丈量变量在一个工作周期结束后进行储存,也就是事件触发,不
同与过去的周期触发。
1、要求能储存字符串种类的数据,因此本次报表使用用户归档来实现,由于变量记
录工具是不可以储存字符串种类数据的。
并且用户归档控件的事件触发比变量记录要灵
活的多。
2、要求能够将数据导出到EXCEL表格中。
实现对数据的编写。
详细实现方法以下:
第1项不用过多在乎,认识一下即可,从第2项起为主要内容。
第1项的作用就是解说如何触发用户归档储存数据的。
1、在成立报表前第一要新建两个系统变量,用于日期和时间的储存。
在WINCC组态环境内——右击变量管理——单击增添新的驱动程序——找到System
——单击翻开
以下列图成立两个变量分别为riqi和shijian——作为日期和时间的储存变量。
再成立两个控制变量,此变量需要与下位机程序进行连结。
分别为A_ID、A_JOP
在下位机程序里进行编写,当自控程序运转完一边后将这两个变量分别赋值-1、6赋值结束后再将0赋给这两个变量。
程序以下列图
此目的是用于用户归档数据储存时势件触发条件,在后边用户归档成立会详尽描绘。
2、成立用户归档
WINCC在第一次安装完后是没实用户归档控件的,需要再次将光盘插入从头安装一次,在选项中将用户归档增添进行安装。
单击下一步
先点击创立,在创立变量达成后,将上边成立的两个变量A_ID/A_JOP分别增添到ID和指令
内,方法:
单击选择按钮——阅读变量增添即可。
此项是用于数据储存触发的。
也就是当ID和指令分别为-1和6时用户归档储存一次数据。
详尽以下列图
单击达成实现对用户归档的创立。
3、创立VB脚本动作,是用于用户归档事件触发的动作,没有此动作用户归档将没法储存数据。
方法:
翻开VB脚本——单击文件——新建——动作。
而后将下边程序写入即可。
Functionaction
Dimxiaoshi
Dimriqi
Dimflag
Setflag=HMIRuntime.Tags("flag")
Ifflag.Value=1Then
riqi=CStr(Year(Now))&"-"&CStr(Month(Now))&"-"&CStr(Day(Now))
DimA_ID
SetA_ID=HMIRuntime.Tags("A_ID")
DimA_JOP
SetA_JOP=HMIRuntime.Tags("A_JOP")
A_ID.Write-1
A_JOP.Write6
EndIf
输入完以后将其保留。
命名为write。
注意:
一般刚激活WINCC时会触发一次变量变化,为了防止写入无效数据,此处增添里一个flag变量用于判断能否激活WINCC产生的事件,在全局脚本中再增添一个VB动作,经过flag自己的变化事件把flag置位。
程序以下:
Functionaction
Dimflag
Setflag=HMIRuntime.Tags("flag")
Ifflag.Value=0Then
flag.Write1
EndIf
保留后命名为flag
4、创立域(也就是储存的数据变量)
单击刚创立的用户归档,在右侧空白处右击——选择插入新域,
在弹出的对话框中进行设置。
以下列图
输入名称,最好
此处为输入备注
与变量名一致
此处为数据种类,
一定与变量数一
致
单击下一步
单击此处进行变量连
接
单击达成按钮就达成了一个变量数据的成立,以此类推。
当把全部的数据变量都成立完后单击工具栏中的保留按钮。
5、在WINCC图形编写器中插入一个用户归档表格,并成立于连结。
方法:
在WINCC图形编写器找到——对象选项板——控件——选择用户归档表格——在左边进行增添。
以下列图:
此处为用户归档
表格
增添完表格后双击——在弹出的对话框中进行连结和设置
单击此处选择刚才成立
的用户归档,来进行链
接
单击确认达成连结。
以上就是用户归档的成立。
这时候再翻开SQL就会发现多了一个数据CC_GYDX_XM_14_06_05_16_19_30R,此数据库就是用户归档的储存数据库,在其表格中会有自动生成一个供用户储存数据的表格UA#test。
以下列图,记着数据库名称和表格名称用于报表的导出。
二、数据报表导出
数据的导出应当是在WINCC上做按钮写VB脚原来实现。
本项目使用的是利用EXCEL宏来实现。
方法就是用EXCEL中的开发工具中的VBA程序编写器来实现。
翻开EXCEL在工具栏右击——自定义迅速接见工具栏——在弹出的对话框中选择惯例——将开发工具选上——确认
单击工具栏的开发工具——单击VisualBasic——翻开编写器进行程序编写。
单击插入模块输入以下程序
Sub使用Execute方法产生记录集()
DimsqlAsString,cnstringAsString
Setcn=NewConnection
cnstring="driver={SQLServer};server=MICROSOF-E50F33\WINCC;database=CC_GYDX_XM_14_06_05_16_19_30R;"
cn.ConnectionString=cnstring
sql="select*fromUA#test"
Setrs=cn.Execute(sql)
[a2].CopyFromRecordsetrs
EndSub
应当注意的是MICROSOF-E50F33\WINCC为服务器名称CC_GYDX_XM_14_06_05_16_19_30R为数据库名称UA#test为表格名称,主要记着这3个名称,用于接见数据库表格的语句。
此数据的连结还需要引用ADO,方法:
单击工具栏中的工具——点击引用——找到到ADO2.8打上对号——确认引用成功,以下列图
单击保留——会弹出一个对话框——单击否——选择保留文件种类为启用宏的工作簿——单击保留结束操作。
保留后,宏信息可能会被禁用,也就是宏自己的安全保护会让宏配置没法运转,单击开发工
具——选择宏安全性——将启用全部宏和相信对VBA工程对象模型的接见这两项选中即可。
以下列图
作一个周期就储存了两次,因此还需在下位机中进行程序的编写来完美此项操作。
在安装完用户归档后的语言是德文的,在双击用户归档时会弹出一个对话框警示,意思是说翻开的语言错误,不用在乎此警示,用户归档相同能够正常使用,假如想解决只需将WINCC工具内的语言改为英文即可。
本次项目数据的储存为何没实用变量记录,第一是由于变量记录不可以保留字符串种类的数据,第二是变量记录的事件储存也不是很灵巧,当事件储存的激发变量由0变成1时储存一次但当这个变量由1再变成0时又储存一次,这就相当于当变量动
导出报表的操作为:
单击工具栏中的开发工具——点击宏——单击履行即可将数据导出。
以下列图
三、总结
本次项目有一个弊端,就是报表的实现还存在着一些问题,第一是不可以按指定的日期和时间来进行查问也就是不可以输入条件查问,查问结果没有乞降,也就是在查问过程中不可以计算。
本次项目的一些注意事项:
1、
2、