我們?cè)谝訮LC為核心的實(shí)際控制項(xiàng)目中,絕大多數(shù)情況都離不開(kāi)觸摸屏或上位機(jī)的配合,因?yàn)槲覀兪褂肞LC做控制,主要的是處理一些模擬量,這些模擬量就是我們要監(jiān)控的,設(shè)備上的壓力,溫度,流量等這些數(shù)值,然后通過(guò)這些檢測(cè)到的數(shù)值,再根據(jù)一些條件控制設(shè)備上的電動(dòng)閥,風(fēng)機(jī),水泵等。但這些數(shù)值我們直接從PLC上是看不到的,想要看到這些數(shù)值,就要使用觸摸屏或工控機(jī)(其實(shí)就是電腦)。
首先需要說(shuō)明一點(diǎn),這篇文章只是闡述觸摸屏的大致的工作原理和流程,不是一步一步教你怎么使用觸摸屏(以后會(huì)寫(xiě)實(shí)際操作的文章),我認(rèn)為在使用和操作觸摸屏以前,明白它的原理和工作流程更重要。
如下面的圖1,當(dāng)我們把觸摸屏和PLC連接起來(lái)以后,在觸摸屏上就能看到我們想看的數(shù)據(jù)了。除了數(shù)據(jù)還能通過(guò)觸摸屏控制現(xiàn)場(chǎng)設(shè)備上的各種被控對(duì)象。比如我們?cè)谟|摸屏上組態(tài)一個(gè)開(kāi)關(guān),只要觸摸屏上點(diǎn)擊一下這個(gè)開(kāi)關(guān),就可以讓現(xiàn)場(chǎng)設(shè)備上的一個(gè)電機(jī)啟動(dòng)。
那觸摸屏和PLC通訊的原理是什么樣的呢?看下面的圖2,這是一個(gè)真實(shí)的觸摸屏的正面和背面,正面不用說(shuō)了,就是顯示面。主要看一下背面,有3個(gè)接口。
1,電源接口:給觸摸屏供電的,電壓多數(shù)都是DC24V。觸摸屏的參數(shù)標(biāo)簽上都有標(biāo)明。
2,組態(tài)下載接口:就是我們通過(guò)觸摸屏廠家提供的組態(tài)軟件,在電腦上把我們想要的畫(huà)面和功能都設(shè)計(jì)完成后,通過(guò)此接口下載到觸摸屏上。各個(gè)觸摸屏廠家都有各自的軟件,是不通用的,但沒(méi)關(guān)系,原理都是一樣的,只要學(xué)會(huì)一種,其他的只要熟悉一下軟件界面就可以了。
3,通訊接口:這個(gè)接口就是和PLC通訊用的,接口的形式主要分為RS232 ,RS485 ,以太網(wǎng)這3種(不明白什么是232和485的可以看看我前面的文章,有專(zhuān)門(mén)介紹),這里需要注意的是,這個(gè)接口的形式必須和PLC的接口形式是一樣的。圖2中的觸摸屏品牌是昆侖通泰的,它的這個(gè)接口是RS485的,所以當(dāng)和PLC連接時(shí),PLC的接口也必須是RS485的。
看完了觸摸屏的外部,接下來(lái)我們看一下觸摸屏的內(nèi)部,看下面的圖3,是我自己制作的觸摸屏內(nèi)部的一個(gè)內(nèi)部示意圖,可能不太全面嚴(yán)謹(jǐn),但重要的部分已經(jīng)畫(huà)出來(lái)了,只要你能理解就OK了。
觸摸屏的內(nèi)部大致可以分為:通訊接口單元,驅(qū)動(dòng)單元,內(nèi)存變量單元,顯示單元。除了顯示單元,其他3個(gè)單元在觸摸屏的內(nèi)部我們是看不見(jiàn)的。
1,通訊接口單元:這個(gè)單元主要負(fù)責(zé)把驅(qū)動(dòng)單元打包好的數(shù)據(jù)包,發(fā)送到觸摸屏背面的通訊接口,再由通訊接口發(fā)送給PLC,這些過(guò)程我們是不用干預(yù)的,觸摸屏?xí)约和瓿?。我們要做的就是,選擇一個(gè)驅(qū)動(dòng)單元里的驅(qū)動(dòng),說(shuō)白了就是告訴觸摸屏它要發(fā)送哪個(gè)驅(qū)動(dòng)數(shù)據(jù)包。,
2,驅(qū)動(dòng)單元:這一單元里存放了許多和PLC連接的通訊文件,一個(gè)文件對(duì)應(yīng)一種通訊協(xié)議(對(duì)通訊協(xié)議不懂的也看我以前文章),我們把這些文件叫做驅(qū)動(dòng)。也就是說(shuō)一個(gè)驅(qū)動(dòng)對(duì)應(yīng)一種通訊協(xié)議,比如說(shuō)西門(mén)子S7-200PLC使用PPI通訊協(xié)議,那么觸摸屏廠家就會(huì)編寫(xiě)一個(gè)能和西門(mén)子S7-200PLC PPI通訊協(xié)議,通訊的文件,然后放在驅(qū)動(dòng)單元。
舉例,比如當(dāng)我們的觸摸屏想要和西門(mén)子200的PLC連接時(shí),我們就在觸摸屏里選擇PPI驅(qū)動(dòng)。想要和西門(mén)子300的PLC連接,選擇MPI(MPI是西門(mén)子300PLC的通訊協(xié)議)驅(qū)動(dòng)就可以了。 這些驅(qū)動(dòng)文件都是觸摸屏廠家提前寫(xiě)好的,我們只能選擇不能更改??梢?jiàn)觸摸屏里面的驅(qū)動(dòng)越多,我們可以選擇的PLC品牌或通訊協(xié)議的范圍就越廣?,F(xiàn)在成熟的觸摸屏廠家內(nèi)置的驅(qū)動(dòng),基本都能覆蓋市面上常用的PLC和通訊協(xié)議。
所以當(dāng)我們手上有一款觸摸屏,想要選擇一個(gè)PLC做通訊時(shí),一定要看看你的觸摸屏里有沒(méi)有,可以和這個(gè)PLC通訊的驅(qū)動(dòng)。
3,內(nèi)存變量單元:這一單元也是觸摸屏廠家內(nèi)置的,它實(shí)際上就是一塊存儲(chǔ)區(qū),它里面可以存放各種各樣的數(shù)據(jù),存放的數(shù)據(jù)類(lèi)型大致可以分為數(shù)值型,開(kāi)關(guān)型,字符型,特殊型。
比如我們想要在觸摸屏上顯示一個(gè)鍋爐的水溫,那么我們就在觸摸屏的內(nèi)存變量單元,新建一個(gè)變量,這個(gè)變量的名字叫"鍋爐水溫"(名字隨便取),數(shù)據(jù)類(lèi)型選擇數(shù)值型。那么觸摸屏就會(huì)自動(dòng)在內(nèi)存單元,分配一小塊區(qū)域給"鍋爐水溫"這個(gè)變量。當(dāng)觸摸屏和PLC通訊時(shí),就會(huì)把從PLC讀到水溫?cái)?shù)據(jù)存放到這一小塊區(qū)域,也就是"鍋爐水溫"這個(gè)變量。當(dāng)我們需要顯示多個(gè)數(shù)據(jù)時(shí),只要新建多個(gè)變量就可以了??吹竭@里你可能還是有點(diǎn)不太理解,沒(méi)關(guān)系,等一會(huì)我按照下面的圖4系統(tǒng)的說(shuō)一下你就明白了。
4,顯示單元:這個(gè)單元就好理解了,只要是我們?cè)谟|摸屏畫(huà)面上能看到的東西都是在顯示單元。就依上面的"鍋爐水溫"為例,我們想要顯示鍋爐的水的溫度,只要在觸摸屏的顯示單元上,畫(huà)一個(gè)顯示框的部件(這個(gè)部件每個(gè)觸摸屏都有,直接拖到畫(huà)面就行),然后把這個(gè)部件和上面新建的"鍋爐水溫"這個(gè)變量連接起來(lái)就行了。
上面分別把各個(gè)單元講完了,最難理解就是驅(qū)動(dòng)單元和內(nèi)存變量單元。大家可能還不太明白,下面我就按照?qǐng)D4,系統(tǒng)的再說(shuō)一下你就能理解了。
圖4要實(shí)現(xiàn)的功能是,觸摸屏和西門(mén)子S7-200PLC連接,1,在觸摸屏上可以顯示PLC里的一個(gè)壓力數(shù)值,。2,可以通過(guò)觸摸屏上的一個(gè)開(kāi)關(guān)部件,控制PLC里的一個(gè)開(kāi)關(guān)量。
第一步,我們先在觸摸屏里選擇驅(qū)動(dòng),因?yàn)槭呛臀鏖T(mén)子S7-200PLC連接,所以我們?cè)隍?qū)動(dòng)單元里就要選擇"西門(mén)子S7-200 PPI通訊驅(qū)動(dòng)"。驅(qū)動(dòng)選擇完成后,觸摸屏就會(huì)把所選擇的驅(qū)動(dòng)和通訊接口單元,還有內(nèi)存變量單元自動(dòng)連接起來(lái)。我們?cè)賮?lái)看一下這個(gè)驅(qū)動(dòng)的內(nèi)部(圖4中桔色的部分),里面有許多地址V0.0 VB10 VW10等,這些地址是和PLC里的地址一一對(duì)應(yīng)的,里面的數(shù)據(jù)和狀態(tài)也是和PLC里相同的。比如PLC里的VD10里的數(shù)據(jù)是123.5的話(huà),那么觸摸屏驅(qū)動(dòng)里的VD10里的數(shù)據(jù)也是123.5。這樣觸摸屏里就有數(shù)據(jù)了,但是這些數(shù)據(jù)現(xiàn)在還是不能顯示出來(lái),因?yàn)檫@些數(shù)據(jù)還沒(méi)有傳到顯示單元。要怎么做才行呢?
第二步,我們?cè)趦?nèi)存變量單元,新建一個(gè)變量叫"儲(chǔ)罐壓力",這個(gè)變量我們把它和驅(qū)動(dòng)單元里的VD10連接起來(lái),這樣"儲(chǔ)罐壓力"這個(gè)變量里就會(huì)有數(shù)據(jù)123.5了。但現(xiàn)在數(shù)據(jù)還是不能顯示出來(lái),因?yàn)檫€沒(méi)有傳到顯示單元。
最后一步,我們?cè)陲@示單元,放置一個(gè)具有顯示功能的顯示部件,然后把這個(gè)顯示部件和內(nèi)存變量單元中的"儲(chǔ)罐壓力"這個(gè)變量,連接起來(lái)就可以。這樣我們就能看到123.5這個(gè)數(shù)據(jù)了??雌饋?lái)挺復(fù)雜,其實(shí)這中間我們要做的就是,通過(guò)一個(gè)新建的變量,把這幾個(gè)單元連接起來(lái)就行了,其他的事情都是觸摸屏自動(dòng)完成的。
理解了觸摸屏數(shù)值顯示的工作流程,開(kāi)關(guān)量的也就簡(jiǎn)單了,在顯示單元放一個(gè)開(kāi)關(guān)部件,然后新建一個(gè)變量,把這個(gè)變量和驅(qū)動(dòng)單元還有顯示單元連接起來(lái)就行了。至于觸摸屏是怎么把這些數(shù)據(jù)傳給PLC的,那就不用管了,這些事通訊接口單元會(huì)幫你完成。
圖5就是整體的連接示意圖,這是最基本的組合方式,通過(guò)這種PLC+觸摸屏的組合方式,實(shí)現(xiàn)了真正的人機(jī)對(duì)話(huà),PLC內(nèi)部的數(shù)據(jù)我們可以一目了然,通過(guò)在觸摸屏上增加幾個(gè)開(kāi)關(guān)部件,就可以減少實(shí)際開(kāi)關(guān)的使用,從而降低實(shí)際開(kāi)關(guān)觸點(diǎn)接觸不良,對(duì)控制系統(tǒng)造成的影響,也提高了系統(tǒng)的穩(wěn)定性。