首页 > 技术文章 > 搬家第三天-75.Wincc V7.3面板初步使用2-做一个泵控制的面板

fishingsriver 2021-01-31 14:20 原文

 前面的博客介绍了使用画面窗口(PictureWindow)制作设备控制面板的方法,其实使用面板(faceplate)也可以制作同类设备通用的面板。

 1. 假设某项目有4台泵的控制,在下位机使用FB已经制作完了控制逻辑,相应变量已经使用结构型变量上载到Wincc。在wincc新建一个面板(faceplate)叫做Pump.fpt。上面绘制两个静态文本,两个圆形,四个按钮。静态文本名字分别为txt1和txt2;圆形名字分别为circle1和circle2,取消全局颜色方案;四个按钮名字分别为btn_Auto、btn_Manual、btn_Start、btn_Stop,取消全局颜色方案。

2. 菜单“编辑”-“编辑面板变量”,添加以下变量

3. 菜单“编辑”-“组态面板类型”,添加以下属性和类型

4.静态文本txt1的“字体-文本”属性使用vbs脚本动态化

Function Text_Trigger(ByVal Item)
If SmartTags("Properties\Remote") Then
   item.Text ="Remote"
Else
   item.Text ="Local"
End If
End Function

5. 静态文本txt2的“字体-文本”属性使用vbs脚本动态化

Function Text_Trigger(ByVal Item)
If SmartTags("Properties\Fault") Then
   item.Text ="Fault"
Else
   item.Text ="OK"
End If
End Function

6.圆形circle1的背景颜色属性vbs脚本动态化

Function BackColor_Trigger(ByVal Item)
If SmartTags("Properties\Remote") Then
   item.BackColor=vbGreen
Else
   item.BackColor=vbRed
End If
End Function

7.圆形circle2背景颜色属性vbs脚本动态化

Function BackColor_Trigger(ByVal Item)
If SmartTags("Properties\Fault") Then
   item.BackColor=vbRed
Else
   item.BackColor=vbGreen
End If
End Function

8.按钮btn_Auto鼠标点击vbs脚本

Sub OnClick(ByVal Item)               
SmartTags("Properties\Auto")=1
End Sub

9.按钮btn_Manual鼠标点击vbs脚本

Sub OnClick(ByVal Item)    
SmartTags("Properties\Auto")=0
End Sub

10.按钮btn_Start鼠标左键按下vbs脚本

Sub OnLButtonDown(ByVal Item, ByVal Flags, ByVal x, ByVal y) 
smarttags("Start")=1
End Sub

11.按钮btn_Start鼠标左键弹起vbs脚本

Sub OnLButtonUp(ByVal Item, ByVal Flags, ByVal x, ByVal y) 
smarttags("Properties\Start")=0
End Sub

12. 按钮btn_Stop鼠标左键按下vbs脚本

Sub OnLButtonDown(ByVal Item, ByVal Flags, ByVal x, ByVal y)
smarttags("Properties\Stop")=1
End Sub

13.按钮btn_Stop鼠标左键弹起vbs脚本

Sub OnLButtonDown(ByVal Item, ByVal Flags, ByVal x, ByVal y)
smarttags("Properties\Stop")=0
End Sub

14.修改完成后保存模板,在画面中可以插入模板实例,把外部变量关联到面板变量

这样我们就不需要在每一个控制面板上逐一修改属性和脚本里面的变量。

 

使用面板脚本只能使用vbs,不知道新版本wincc会不会添加c脚本功能;第二面板内部的脚本中不能引用外部变量,HMIRuntime.Tags是无法使用的;面板变量只能使用SmartTags进行引用。

推荐阅读