一個沒什麼luan用的實例——WinCC關聯PLC變量,讓一條線不停旋轉

本文通過一個例子探討以下兩個問題:

1、 WinCC與PLC之間的數據交換;

2、 畫面對象的屬性和事件。

一、PLC部分的編程

1、新建一個DB塊(DB1004,名為"sharing"),並新建兩個變量,如圖1所示,用於存儲旋轉角和旋轉圈數。

一個沒什麼luan用的實例——WinCC關聯PLC變量,讓一條線不停旋轉

圖1 DB1004

2、 在FC中編程(FC1005),如圖2所示。每調用一次FC1005,旋轉角+0.1,當旋轉角大於360°時,則已轉完一圈,旋轉角清零,同時圈數加1。程序功能非常簡單,這裡就不贅述了。

一個沒什麼luan用的實例——WinCC關聯PLC變量,讓一條線不停旋轉

圖2 FC1005

3、 在OB1中調用FC1005,如圖3所示。

一個沒什麼luan用的實例——WinCC關聯PLC變量,讓一條線不停旋轉

圖3 OB1中調用FC1005

PLC部分的編程到此完成,將其下裝到PLCSIM中,進行仿真運行即可。

WinCC畫面部分,主要包含以下對象,如圖4所示,醜是醜了點,但不妨礙完成功能。

一個沒什麼luan用的實例——WinCC關聯PLC變量,讓一條線不停旋轉

圖4 WinCC畫面

1、 關聯變量。畫面中,有三個對象需要關聯PLC變量,兩個I/O域分別關聯旋轉角(angle)和圈數(cycle),這個比較簡單,不做介紹。

直線要隨著旋轉角的變化而旋轉,可通過配置該直線旋轉角的動態屬性來實現,配置如下:

一個沒什麼luan用的實例——WinCC關聯PLC變量,讓一條線不停旋轉

圖5 旋轉角配置

2、 配置線的"動態顯示"

經過上述配置後,線能夠正常旋轉,但每次該畫面激活後,無論當前"angle"值為多少,都會首先顯示為"旋轉角"為0時的線,下一次畫面週期時,才會刷新為當前的角度。

通過圖6、圖7配置即可解決上述問題。

一個沒什麼luan用的實例——WinCC關聯PLC變量,讓一條線不停旋轉

圖6 線的"顯示"靜態屬性設為"否"

一個沒什麼luan用的實例——WinCC關聯PLC變量,讓一條線不停旋轉

圖7 配置線的動態顯示

三、小結

感覺光是圖文,很難詳細說清楚問題,駝子正在學習“會聲會影”,今後將嘗試將各種實例的編寫、配置過程做成視頻,同步發表,以便有需要的小夥伴可以批評、指正。


分享到:


相關文章: