我們在以PLC為核心的實際控制項目中,絕大多數情況都離不開觸摸屏或上位機的配合,因為我們使用PLC做控制,主要的是處理一些模擬量,這些模擬量就是我們要監控的,設備上的壓力,溫度,流量等這些數值,然后通過這些檢測到的數值,再根據一些條件控制設備上的電動閥,風機,水泵等。但這些數值我們直接從PLC上是看不到的,想要看到這些數值,就要使用觸摸屏或工控機(其實就是電腦)。
圖一 那觸摸屏和PLC通訊的原理是什么樣的呢?看下面的圖2,這是一個真實的觸摸屏的正面和背面,正面不用說了,就是顯示面。 主要看一下背面,有3個接口: 1、電源接口:給觸摸屏供電的,電壓多數都是DC24V。觸摸屏的參數標簽上都有標明。 2、組態下載接口:就是我們通過觸摸屏廠家提供的組態軟件,在電腦上把我們想要的畫面和功能都設計完成后,通過此接口下載到觸摸屏上。各個觸摸屏廠家都有各自的軟件,是不通用的,但沒關系,原理都是一樣的,只要學會一種,其他的只要熟悉一下軟件界面就可以了。 3、通訊接口:這個接口就是和PLC通訊用的,接口的形式主要分為RS232 ,RS485 ,以太網這3種(不明白什么是232和485的可以看看我前面的文章,有專門介紹),這里需要注意的是,這個接口的形式必須和PLC的接口形式是一樣的。圖2中的觸摸屏品牌是昆侖通泰的,它的這個接口是RS485的,所以當和PLC連接時,PLC的接口也必須是RS485的。
圖二 看完了觸摸屏的外部,接下來我們看一下觸摸屏的內部,看下面的圖3,是我自己制作的觸摸屏內部的一個內部示意圖,可能不太全面嚴謹,但重要的部分已經畫出來了,只要你能理解就OK了。 觸摸屏的內部大致可以分為:通訊接口單元,驅動單元,內存變量單元,顯示單元。除了顯示單元,其他3個單元在觸摸屏的內部我們是看不見的。 1、通訊接口單元:這個單元主要負責把驅動單元打包好的數據包,發送到觸摸屏背面的通訊接口,再由通訊接口發送給PLC,這些過程我們是不用干預的,觸摸屏會自己完成。我們要做的就是,選擇一個驅動單元里的驅動,說白了就是告訴觸摸屏它要發送哪個驅動數據包。 2、驅動單元:這一單元里存放了許多和PLC連接的通訊文件,一個文件對應一種通訊協議(對通訊協議不懂的也看我以前文章),我們把這些文件叫做驅動。也就是說一個驅動對應一種通訊協議,比如說西門子S7-200PLC使用PPI通訊協議,那么觸摸屏廠家就會編寫一個能和西門子S7-200PLC PPI通訊協議,通訊的文件,然后放在驅動單元。 舉例,比如當我們的觸摸屏想要和西門子200的PLC連接時,我們就在觸摸屏里選擇PPI驅動。想要和西門子300的PLC連接,選擇MPI(MPI是西門子300PLC的通訊協議)驅動就可以了。這些驅動文件都是觸摸屏廠家提前寫好的,我們只能選擇不能更改。可見觸摸屏里面的驅動越多,我們可以選擇的PLC品牌或通訊協議的范圍就越廣。現在成熟的觸摸屏廠家內置的驅動,基本都能覆蓋市面上常用的PLC和通訊協議。 所以當我們手上有一款觸摸屏,想要選擇一個PLC做通訊時,一定要看看你的觸摸屏里有沒有,可以和這個PLC通訊的驅動。 3、內存變量單元:這一單元也是觸摸屏廠家內置的,它實際上就是一塊存儲區,它里面可以存放各種各樣的數據,存放的數據類型大致可以分為數值型,開關型,字符型,特殊型。 比如我們想要在觸摸屏上顯示一個鍋爐的水溫,那么我們就在觸摸屏的內存變量單元,新建一個變量,這個變量的名字叫"鍋爐水溫"(名字隨便取),數據類型選擇數值型。那么觸摸屏就會自動在內存單元,分配一小塊區域給"鍋爐水溫"這個變量。當觸摸屏和PLC通訊時,就會把從PLC讀到水溫數據存放到這一小塊區域,也就是"鍋爐水溫"這個變量。當我們需要顯示多個數據時,只要新建多個變量就可以了。看到這里你可能還是有點不太理解,沒關系,等一會我按照下面的圖4系統的說一下你就明白了。 4、顯示單元:這個單元就好理解了,只要是我們在觸摸屏畫面上能看到的東西都是在顯示單元。就依上面的"鍋爐水溫"為例,我們想要顯示鍋爐的水的溫度,只要在觸摸屏的顯示單元上,畫一個顯示框的部件(這個部件每個觸摸屏都有,直接拖到畫面就行),然后把這個部件和上面新建的"鍋爐水溫"這個變量連接起來就行了。
圖三 上面分別把各個單元講完了,最難理解就是驅動單元和內存變量單元。大家可能還不太明白,下面我就按照圖4,系統的再說一下你就能理解了。 圖4要實現的功能是,觸摸屏和西門子S7-200PLC連接,1,在觸摸屏上可以顯示PLC里的一個壓力數值,。2,可以通過觸摸屏上的一個開關部件,控制PLC里的一個開關量。
圖四 第一步:我們先在觸摸屏里選擇驅動,因為是和西門子S7-200PLC連接,所以我們在驅動單元里就要選擇"西門子S7-200 PPI通訊驅動"。驅動選擇完成后,觸摸屏就會把所選擇的驅動和通訊接口單元,還有內存變量單元自動連接起來。我們再來看一下這個驅動的內部(圖4中桔色的部分),里面有許多地址V0.0 VB10 VW10等,這些地址是和PLC里的地址一一對應的,里面的數據和狀態也是和PLC里相同的。比如PLC里的VD10里的數據是123.5的話,那么觸摸屏驅動里的VD10里的數據也是123.5。這樣觸摸屏里就有數據了,但是這些數據現在還是不能顯示出來,因為這些數據還沒有傳到顯示單元。要怎么做才行呢? 第二步:我們在內存變量單元,新建一個變量叫"儲罐壓力",這個變量我們把它和驅動單元里的VD10連接起來,這樣"儲罐壓力"這個變量里就會有數據123.5了。但現在數據還是不能顯示出來,因為還沒有傳到顯示單元。 最后一步:我們在顯示單元,放置一個具有顯示功能的顯示部件,然后把這個顯示部件和內存變量單元中的"儲罐壓力"這個變量,連接起來就可以。這樣我們就能看到123.5這個數據了。看起來挺復雜,其實這中間我們要做的就是,通過一個新建的變量,把這幾個單元連接起來就行了,其他的事情都是觸摸屏自動完成的。 理解了觸摸屏數值顯示的工作流程,開關量的也就簡單了,在顯示單元放一個開關部件,然后新建一個變量,把這個變量和驅動單元還有顯示單元連接起來就行了。至于觸摸屏是怎么把這些數據傳給PLC的,那就不用管了,這些事通訊接口單元會幫你完成。 圖5就是整體的連接示意圖,這是最基本的組合方式,通過這種PLC+觸摸屏的組合方式,實現了真正的人機對話,PLC內部的數據我們可以一目了然,通過在觸摸屏上增加幾個開關部件,就可以減少實際開關的使用,從而降低實際開關觸點接觸不良,對控制系統造成的影響,也提高了系統的穩定性。
圖五
責任編輯:lq
-
plc
+關注
關注
5010文章
13271瀏覽量
463071 -
觸摸屏
+關注
關注
42文章
2301瀏覽量
116120 -
通訊
+關注
關注
9文章
902瀏覽量
34890
原文標題:觸摸屏怎么與PLC通訊?
文章出處:【微信號:robotqy,微信公眾號:機械自動化前沿】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論