大家好,将近一年多沒有寫什麼文章了,主要一是平時工作很忙,二是近一段時間一直在學習一些新的東西,然後自己又自學建了一個網站,這些都占用了我大量的時間。至于是什麼新的知識,有興趣的朋友可以去我的個人網站去看看,網址就在下面的圖片上,以後網站上除了新的知識以外,也會發表一些工控類的文章。好了,先啰嗦這麼多,下面正式開始今天的主題。
我們在以PLC為核心的實際控制項目中,絕大多數情況都離不開觸摸屏或上位機的配合,因為我們使用PLC做控制,主要的是處理一些模拟量,這些模拟量就是我們要監控的,設備上的壓力,溫度,流量等這些數值,然後通過這些檢測到的數值,再根據一些條件控制設備上的電動閥,風機,水泵等。但這些數值我們直接從PLC上是看不到的,想要看到這些數值,就要使用觸摸屏或工控機(其實就是電腦)。
首先需要說明一點,這篇文章隻是闡述觸摸屏的大緻的工作原理和流程,不是一步一步教你怎麼使用觸摸屏(以後會寫實際操作的文章),我認為在使用和操作觸摸屏以前,明白它的原理和工作流程更重要。
如下面的圖1,當我們把觸摸屏和PLC連接起來以後,在觸摸屏上就能看到我們想看的數據了。除了數據還能通過觸摸屏控制現場設備上的各種被控對象。比如我們在觸摸屏上組态一個開關,隻要觸摸屏上點擊一下這個開關,就可以讓現場設備上的一個電機啟動。
圖1
那觸摸屏和PLC通訊的原理是什麼樣的呢?看下面的圖2,這是一個真實的觸摸屏的正面和背面,正面不用說了,就是顯示面。主要看一下背面,有3個接口。
1,電源接口:給觸摸屏供電的,電壓多數都是DC24V。觸摸屏的參數标簽上都有标明。
2,組态下載接口:就是我們通過觸摸屏廠家提供的組态軟件,在電腦上把我們想要的畫面和功能都設計完成後,通過此接口下載到觸摸屏上。各個觸摸屏廠家都有各自的軟件,是不通用的,但沒關系,原理都是一樣的,隻要學會一種,其他的隻要熟悉一下軟件界面就可以了。
3,通訊接口:這個接口就是和PLC通訊用的,接口的形式主要分為RS232 ,RS485 ,以太網這3種(不明白什麼是232和485的可以看看我前面的文章,有專門介紹),這裡需要注意的是,這個接口的形式必須和PLC的接口形式是一樣的。圖2中的觸摸屏品牌是昆侖通泰的,它的這個接口是RS485的,所以當和PLC連接時,PLC的接口也必須是RS485的。
圖2
看完了觸摸屏的外部,接下來我們看一下觸摸屏的内部,看下面的圖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,顯示單元:這個單元就好理解了,隻要是我們在觸摸屏畫面上能看到的東西都是在顯示單元。就依上面的"鍋爐水溫"為例,我們想要顯示鍋爐的水的溫度,隻要在觸摸屏的顯示單元上,畫一個顯示框的部件(這個部件每個觸摸屏都有,直接拖到畫面就行),然後把這個部件和上面新建的"鍋爐水溫"這個變量連接起來就行了。
圖3
上面分别把各個單元講完了,最難理解就是驅動單元和内存變量單元。大家可能還不太明白,下面我就按照圖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的,那就不用管了,這些事通訊接口單元會幫你完成。
圖4
圖5就是整體的連接示意圖,這是最基本的組合方式,通過這種PLC 觸摸屏的組合方式,實現了真正的人機對話,PLC内部的數據我們可以一目了然,通過在觸摸屏上增加幾個開關部件,就可以減少實際開關的使用,從而降低實際開關觸點接觸不良,對控制系統造成的影響,也提高了系統的穩定性。
圖5
好了,這篇文章到這就寫完了,覺得喜歡就打賞一下吧,您的支持是我創作的動力,不打賞也沒事,能看到我的文章也算是緣分了,隻要你能在裡面學到點知識我就很高興了。
另:有問題想要交流的朋友可以在下面留言,也可以登錄我的網站,上面也有學習資料,還可以和其他工控愛好者共同交流。(完)
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!