WinCC通过VBS脚本实现自动变量记录
2013-03-28微宏新材料湖州有限公司
微宏新材料(湖州)有限公司 徐 晟
1.引言
精馏设备在化工生产中用途广泛,对于大型的生产设备,多用PLC采集数据和控制参数,并用组态软件在上位机上进行数据的采集汇总处理和控制。一般的数据采集,都是在固定的周期内,对参数进行定期的归档。但精馏设备在多数的时候处于停止状态,采集的数据并不是生产参数,占用资源,并且容易误导统计。根据实际情况,通过Siemens公司的WINCC V6.0组态软件,实时监控,并用WINCC自带的VBS脚本编辑器,编写程序,使数据采集变成条件触发启停。上位机为普通dell电脑和19’显示器,下位机为一台Siemens的PLC-300型CPU,上位机与下位机通过MPI通信。
2.项目要求
用WinCC做上位机监控软件,要求在精馏塔开启时,进行变量记录和归档,精馏结束,自动关闭变量记录。
3.WINCC通过VBS脚本实现事件触发变量记录
3.1 设计思路
根据实际情况,精馏塔加热采用再沸器形式,媒介为热油,加热产品至汽化。因要去除产品中的杂质,需加热至100°C以上,所以,可将再沸器温度100°C作为数据采集的阀值。
3.2 创建变量
首先创建需要归档的变量,在“变量管理”下的“SIMATIC S7 PROTOCOL SUITE”中,选择“MPI”通信方式,输入连接的名称,控制器的站地址、机架号、插槽号等。在建立的连接中添加需要监控的外部变量和变量组。
3.3 创建变量记录
在“变量记录”编辑器中,创建归档“changya”,在其下添加需要记录的变量。采集类型设定为“周期-连续”,归档/显示周期5分钟。
3.4 设置事件变量。
在“变量管理”编辑器中,新建两个二进制内部变量,“changya_start”“changya_stop”,作为事件的起始变量和终止变量。
在“变量记录”编辑器中,右键点击各个变量,选择“属性”,在“事件”选项卡下选择事件起始变量为“changya_start”,事件终止变量为“changya_stop”。
3.5 VBS脚本编写事件触发条件
在WINCC项目管理器浏览树中选择“全局脚本→VBS编辑器”,右键打开,选择“动作”选项卡,右键单击“新建”选择“动作”,自动打开编辑区。在编辑区中输入如下程序:
Option Explicit
Function action
Dim changya_start
Set changya_start=HMIRuntime.Tag(“changya_start”)
Dim changya_stop
Set changya_stop=HMIRuntime.Tag(“changya_stop”)
Dim T101reboiler_temp
Set T101reboiler_temp=HMIRuntime.Tag(“T101reboiler_temp”)
T101reboiler_temp.Read
If T101reboiler_temp.Value > 100.0 Then
changya_start.Read
changya_start.Write 1
changya_stop.Read
changya_stop.Write 0
Else
changya_stop.Read
changya_stop.Write 1
changya_write.Read
changya_write.Write 0
End If
End Function
右键单击新建的动作,选择“信息/触发器”,设定动作的触发方式,这里选择定时周期性触发,周期为10秒。每隔10秒触发一次VBS脚本动作,对再沸器温度进行判定,大于100度,继续记录归档,小于100度,则停止记录。
3.6 数据归档
在图形编辑器中,加入ActiveX控件“Wincc Online Table Control”,以表格的形式显示已归档的过程变量的历史值和当前值。
记录结果显示,当再沸器温度超过100度时,每隔5分钟对监控数据执行归档记录,直至再沸器温度低于100度,变量归档停止。
4.结束语
通过使用VBS全局脚本,对变量记录的条件可以进行灵活的调整,使监控变得更加合理。其实,在wincc原有控件的基础上,灵活运用VBS脚本和C脚本,可以实现很多复杂的功能。
[1]刘华波.组态软件WinCC及其应用[M].机械工业出版社,2009.
[2]苏昆哲.深入浅出西门子WinCC V6[M].北京航空航天大学出版社,2004.