wincc用户归档VB脚本与SQL使用说明 报表建立 本次工程要求: 所有测量变量在一个工作周期结束后进行存储,也就是事件触发,不同与以往的周期触发。 要求能存储字符串类型的数据,所以本次报表使用用户归档来实现,因为变量记录ow))&"-"&CStr(Month(Now))&"-"&CStr(Day(Now)) Dim A_ID Set A_ID = ("A_ID") Dim A_JOP Set A_JOP = ("A_JOP")
-1
6 End If 输入完之后将其保存。命名为write。注意:一般刚激活WINCC时会触发一次变量变化,为了防止写入无效数据,此处添加里一个flag变量用于判断是否激活WINCC产生的事件,在全局脚本中再添加一个VB动作,通过flag自身的变化事件把flag置位。 程序如下: Function action Dim flag Set flag = ("flag")
If =0 Then 1 End If 保存后命名为flag 创立域〔也就是存储的数据变量〕 单击刚创立的用户归档,在右边空白处右击——选择插入新域, 在弹出的对话框中进行设置。如下列图 此处为数据类型,必须与变量数一致 此处为输入备注 输入名称,最好与变量名一致 单击下一步 单击此处进行变量连接 单击完成按钮就完成了一个变量数据的建立,以此类推。 当把所有的数据变量都建立完后单击工具栏中的保存按钮。 在WINCC图形编辑器中插入一个用户归档表格,并建立于连接。 方法: 在WINCC图形编辑器找到——对象选项板——控件——选择用户归档表格——在左侧进行添加。 如下列图: 此处为用户归档表格 添加完表格后双击——在弹出的对话框中进行连接和设置 单击此处选择刚刚建立的用户归档,来进行链接 单击确认完成连接。 以上就是用户归档的建立。 这时候再翻开SQL就会发现多了一个数据CC_GYDX_XM_14_06_05_16_19_30R,此数据库就是用户归档的存储数据库,在其表格中会有自动生成一个供用户存储数据的表格UA#test。如下列图,记住数据库名称和表格名称用于报表的导出。 数据报表导出 数据的导出应该是在WINCC上做按钮写VB脚本来实现。本工程使用的是利用EXCEL宏来实现。 方法就是用EXCEL中的开发工具中的VBA程序编辑器来实现。 翻开EXCEL在工具栏右击——自定义快速访问工具栏——在弹出的对话框中选择常规——将开发工具选上——确认 单击工具栏的开发工具——单击Visual Basic——翻开编辑器进行程序编辑。 单击插入模块输入以下程序 Sub 使用Execute方法产生记录集() Dim cn As Dim rs As Dim sql As String, cnstring As String Set cn = New Connection cnstring = "driver={SQL Server};server=MICROSOF-E50F33\WINCC;database=CC_GYDX_XM_14_06_05_16_19_30R;" = cnstring
sql = "select * from UA#test" Set rs = (sql) [a2].CopyFromRecordset rs
End Sub 应该注意的是MICROSOF-E50F33\WINCC为效劳器名称CC_GYDX_XM_14_06_05_16_19_30R为数据库名称UA#test为表格名称,主要记住这3个名称,用于访问数据库表格的语句。 此数据的连接还需要引用ADO,方法: 单击工具栏中的工具——点击引用————确认引用成功,如下列图 单击保存——会弹出一个对话框——单击否——选择保存文件类型为启用宏的工作簿——单击保存结束操作。 保存后,宏信息可能会被禁用,也就是宏自身的平安保护会让宏配置无法运行,单击开发工具——选