前面的博客介紹了使用畫面窗口(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進行引用。