完整word版wincc用户归档VB脚本与SQL使用说明Word文件下载.docx
- 文档编号:19089581
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:15
- 大小:1.33MB
完整word版wincc用户归档VB脚本与SQL使用说明Word文件下载.docx
《完整word版wincc用户归档VB脚本与SQL使用说明Word文件下载.docx》由会员分享,可在线阅读,更多相关《完整word版wincc用户归档VB脚本与SQL使用说明Word文件下载.docx(15页珍藏版)》请在冰豆网上搜索。
在WINCC组态环境内——右击变量管理——单击添加新的驱动程序——找到SystemInfo.chn——单击打开
如下图建立两个变量分别为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"
)
flag.Read
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.Read
A_ID.Write-1
A_JOP.Read
A_JOP.Write6
EndIf
输入完之后将其保存。
命名为write。
注意:
一般刚激活WINCC时会触发一次变量变化,为了避免写入无效数据,此处添加里一个flag变量用于判断是否激活WINCC产生的事件,在全局脚本中再添加一个VB动作,通过flag自身的变化事件把flag置位。
程序如下:
Ifflag.Value=0Then
flag.Write1
保存后命名为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方法产生记录集()
DimcnAsADODB.Connection
DimrsAsADODB.Recordset
DimsqlAsString,cnstringAsString
Setcn=NewConnection
cnstring="
driver={SQLServer};
server=MICROSOF-E50F33\WINCC;
database=CC_GYDX_XM_14_06_05_16_19_30R;
cn.ConnectionString=cnstring
cn.Open
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工程对象模型的访问这两项选中即可。
导出报表的操作为:
单击工具栏中的开发工具——点击宏——单击执行即可将数据导出。
三、总结
本次项目有一个缺点,就是报表的实现还存在着一些问题,首先是不能按指定的日期和时间来进行查询也就是不能输入条件查询,查询结果没有求和,也就是在查询过程中不能计算。
本次项目的一些注意事项:
1、WINCC6.2在安装完用户归档后的语言是德文的,在双击用户归档时会弹出一个对话框警告,意思是说打开的语言错误,不用在意此警告,用户归档同样可以正常使用,如果想解决只要将WINCC工具内的语言改为英文即可。
2、本次项目数据的存储为什么没有用变量记录,第一是因为变量记录不能保存字符串类型的数据,第二是变量记录的事件存储也不是很灵活,当事件存储的激发变量由0变为1时存储一次但当这个变量由1再变为0时又存储一次,这就相当于当变量动作一个周期就存储了两次,所以还需在下位机中进行程序的编写来完善此项操作。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整 word wincc 用户 归档 VB 脚本 SQL 使用说明