有時候用戶希望HMI能夠漂亮一點,動態化一點,依靠西門子自帶的工廠控件庫不一定能夠完全滿足用戶需求,此時我們需要自己制作控件,或者從網絡上下載使用第三方控件。此文以制作介質流動效果管道為例,介紹了如何生成通用動態效果,如何加入控件庫,如何在其他項目中引用自己做的控件。
第一步:在Wincc頁面上畫兩個矩形,名字分別為pipe1和pipe2,pipe1和pipe2高度一致,pipe2寬度比pipe1稍微大一點。二者均取消全局顏色方案,樣式-填充圖案選擇7#(從中軸線向管壁顏色漸變),顏色-填充顏色方案選灰色(可以根據需要改成其他顏色),pipe1可見,pipe2不可見。pipe1和pipe2左對齊。全選pipe1和pipe2,右鍵-創建自定義對象,將pipe1和pipe2控件的left屬性和width屬性拖拽到自定義對象幾何屬性集當中,pipe1的left屬性命名為left1,width屬性命名為width1;pipe2的left屬性命名為left2,width命名為width2,然后確定。
第二步:選中剛才生成的控件,在幾何屬性中找到pipe1的left屬性位置x1,右鍵添加VBS腳本如下,觸發器設為500ms(可以修改數值):
Function Left1_Trigger(ByVal Item)
Dim i,j,k
j=item.width2-item.width1
k=item.left
item.left1=item.left1+j/3
i=item.left2+item.width2
If item.left1+item.width1>=i Then
item.left1=k
End If
End Function
這里面要注意不能引用自定義控件的控件名,而要引用Item,left1、left2、width1和width2分別是pipe1和pipe2的x軸位置和寬度。
第三步:保存腳本后在頁面下方點擊庫選項卡,依次展開全局庫-Siemens HMI Symbol Library 1.4.1-管(雜項),然后把頁面中的自定義控件拖拽進來,重命名為“介質流動管道”。以后在其他項目中就可以引用這個控件了。
第四步:在一個項目中打開一個頁面,在下方點擊庫選項卡,依次展開全局庫-Siemens HMI Symbol Library 1.4.1-管(雜項),找到介質流動管道”,拖拽到頁面中,復制粘貼若干次,把這些控件首位相連起來做成一個直管道的樣子,保存之后運行起來就能看到“流動”的效果。需要注意的是,一個頁面如果這樣的動畫效果的控件太多,實際上是很占資源的,運行時會有卡頓的感覺,實際項目中還是不推薦這樣花哨的東西,精力還是要放在主要功能上。