一、 报表建立
本次项目要求:所有测量变量在一个工作周期结束后进行存储,也就是事件触发,不同与以往的周期触发。
1、 要求能存储字符串类型的数据,所以本次报表使用用户归档来实现,因为变量记录工具是不能存储字符串类型数据的。而且用户归档控件的事件触发比变量记录要灵活的多。
2、 要求可以将数据导出到EXCEL表格中。实现对数据的编辑。
具体实现方法如下:第1项不用过多在意,了解一下即可,从第2项起为主要内容。第1项的作用就是讲解怎样触发用户归档存储数据的。
1、 在建立报表前首先要新建两个系统变量,用于日期和时间的存储。
在WINCC组态环境内——右击变量管理——单击添加新的驱动程序——找到System Info.chn——单击打开
如下图建立两个变量分别为riqi和shijian——作为日期和时间的存储变量。
再建立两个控制变量,此变量需要与下位机程序进行连接。分别为A_ID、A_JOP 在下位机程序里进行编写,当自控程序运行完一边后将这两个变量分别赋值-1、6 赋值结束后再将0赋给这两个变量。程序如下图
此目的是用于用户归档数据存储时事件触发条件,在后面用户归档建立会详细描写。
2、 建立用户归档
WINCC在第一次安装完后是没有用户归档控件的,需要再次将光盘插入重新安装一次,在选项中将用户归档添加进行安装。
单击下一步
先点击创建,在创建变量完成后,将上面建立的两个变量A_ID/A_JOP分别添加到ID和指令内,方法:单击选择按钮——浏览变量添加即可。
此项是用于数据存储触发的。也就是当ID和指令分别为-1和6时用户归档存储一次数据。 详细如下图
单击完成实现对用户归档的创建。
3、 创建VB脚本动作,是用于用户归档事件触发的动作,没有此动作用户归档将无法存储数据。
方法:打开VB脚本——单击文件——新建——动作。然后将下面程序写入即可。
Function action Dim xiaoshi Dim riqi Dim flag
Set flag = HMIRuntime.Tags(\
flag.Read
If flag.Value =1 Then
riqi=CStr(Year(Now))&\Dim A_ID
Set A_ID = HMIRuntime.Tags(\Dim A_JOP
Set A_JOP = HMIRuntime.Tags(\A_ID.Read A_ID.Write -1 A_JOP.Read A_JOP.Write 6 End If
输入完之后将其保存。命名为write。注意:一般刚激活WINCC时会触发一次变量变化,为了避免写入无效数据,此处添加里一个flag变量用于判断是否激活WINCC产生的事件,在全局脚本中再添加一个VB动作,通过flag自身的变化事件把flag置位。 程序如下:
Function action Dim flag
Set flag = HMIRuntime.Tags(\flag.Read
If flag.Value =0 Then flag.Write 1 End If
保存后命名为flag
4、 创建域(也就是存储的数据变量)
单击刚创建的用户归档,在右边空白处右击——选择插入新域,