隨著計(jì)算機(jī)網(wǎng)絡(luò)及現(xiàn)場(chǎng)總線技術(shù)技術(shù)的發(fā)展,plc及觸摸屏在工業(yè)控制和樓宇自動(dòng)化中的應(yīng)用非常廣泛。現(xiàn)場(chǎng)總線技術(shù)及其總線接口模塊、智能儀表、控制設(shè)備等組成的綜合監(jiān)控系統(tǒng)已成為當(dāng)前自動(dòng)化技術(shù)發(fā)展的一個(gè)重要方向。在工控領(lǐng)域,plc與觸摸屏結(jié)合運(yùn)用的技術(shù)已越來(lái)越為工程人員所了解與熟悉 ,由于觸摸屏具有操作簡(jiǎn)便、界面美觀直接、編程容易掌握、與plc通訊良好、抗干擾能力強(qiáng)等等特點(diǎn) ,它正迅速地滲入各個(gè)行業(yè) ,發(fā)揮自動(dòng)化控制的最大優(yōu)勢(shì)。
profibus提供了兩種通信協(xié)議:dp、fms,富士ug系列的觸摸屏支持其中的dp協(xié)議。富士觸摸屏具有很強(qiáng)的兼容性,可以與近30個(gè)廠家的plc通訊,兼容性極強(qiáng),而且還可以和計(jì)算機(jī)通訊(開(kāi)放式通訊協(xié)議)。
通過(guò)接口單元、ug031-p通訊卡及總線的連接,ug觸摸屏可以作為從站和作為主站的西門子的s7-300或s7-400系列的plc通信(網(wǎng)絡(luò)結(jié)構(gòu)示意見(jiàn)圖一)。
圖一:profibus-dp的網(wǎng)絡(luò)結(jié)構(gòu)
1 系統(tǒng)結(jié)構(gòu)
本文的背景為某食品加工廠某控制系統(tǒng)包括原料混料線、薯餅生產(chǎn)線、包裝線等構(gòu)成的主線系統(tǒng),以及蒸汽鍋爐系統(tǒng)、水系統(tǒng)、壓縮空氣系統(tǒng)、照明系統(tǒng)、通風(fēng)系統(tǒng)和消防系統(tǒng)等構(gòu)成的輔助系統(tǒng)。各系統(tǒng)位置比較分散,控制點(diǎn)較多,其中包括140多臺(tái)電機(jī),29臺(tái)變頻器,15個(gè)溫濕度控制點(diǎn)。
由于系統(tǒng)比較復(fù)雜,控制采取分層控制策略,由兩臺(tái)上位機(jī)完成工廠級(jí)的監(jiān)控及數(shù)據(jù)管理功能,觸摸屏和plc完成現(xiàn)場(chǎng)級(jí)的控制,采用profibus現(xiàn)場(chǎng)總線的方式進(jìn)行通訊。上位機(jī)留有接口,可連接局域網(wǎng)和廣域網(wǎng),以利于進(jìn)一步的開(kāi)發(fā)。其中數(shù)字輸入點(diǎn)有900多點(diǎn),數(shù)字輸出有400多點(diǎn),模擬量輸入20個(gè)。
下面以這個(gè)食品加工廠為例,組成一個(gè)集中控制系統(tǒng),系統(tǒng)結(jié)構(gòu)如圖二所示。
其中plc(1)用于主系統(tǒng),plc(2)用于輔助系統(tǒng)。輔助系統(tǒng)的組成與主系統(tǒng)相似,因此圖中省略了其構(gòu)成。plc選用s7-300系列的cpu315-2dp和s7-200系列的cpu226,pid模塊為fm355c,通訊模塊為cp342-5,擴(kuò)展模塊為im153-1,i/o模塊則使用到:數(shù)字輸入模塊選sm321、數(shù)字輸出為sm322、模擬量輸入為sm331。上位機(jī)選用西門子的工控機(jī),它內(nèi)置了pci接口的cp5611卡用于與plc通訊。
選用s7-300系列的cpu315-2dp是為了能進(jìn)行擴(kuò)展i/o模塊以滿足控制點(diǎn)數(shù)的要求,而用于擴(kuò)展的im模塊的選型則是依據(jù)im模塊與中央控制器cpu315-2dp的距離。
由于所有的i/o模塊均放在同一組控制柜里,因此選用了通訊距離在5米范圍內(nèi)的im153-1[1]。當(dāng)im模塊與中央控制器的距離較遠(yuǎn)時(shí)可以選擇通訊范圍為100米的型號(hào)的im模塊。
觸摸屏選用富士ug420h-sc1,10.4英寸、128色stn顯示,基于winoows95/98/nt操作平臺(tái)下的專用組態(tài)軟件,界面友好直觀,易學(xué)易用,大大節(jié)省產(chǎn)品開(kāi)發(fā)周期。編程軟件中備有大量的圖形庫(kù)(開(kāi)關(guān)、燈、棒圖等)供選擇,還可以根據(jù)用戶需求編輯所需要的工藝圖形,能夠轉(zhuǎn)換bmp文件和autocad中的dxf文件
圖二: 控系統(tǒng)硬件組成及結(jié)構(gòu)
2.觸摸屏的通訊設(shè)置及界面設(shè)計(jì)
在硬件連接完成后,需要在組態(tài)軟件中指定系統(tǒng)的硬件配置以及設(shè)置一些通信參數(shù)等等。首先制定所使用的觸摸屏的類型,這里選擇默認(rèn)的ug420(640*480 10.4inches);下一步指定和觸摸屏通訊的plc類型及型號(hào),這里選siemens s7-profibus;最后一步指定系統(tǒng)參數(shù),首先是讀區(qū)和寫(xiě)區(qū),讀區(qū)是指作為從plc讀入數(shù)據(jù)的緩沖,如果系統(tǒng)中需要顯示趨勢(shì)圖的話那么讀區(qū)應(yīng)當(dāng)設(shè)大一些,一般設(shè)1000個(gè)字就可以了,寫(xiě)區(qū)用于顯示存儲(chǔ)屏幕的狀態(tài)、頁(yè)碼、畫(huà)面層疊以及報(bào)警狀態(tài)等等。另外在對(duì)話框no.of word setting for i/o中需要指出觸摸屏的mpi地址,以及傳輸?shù)膸L(zhǎng)度,mpi地址在plc的硬件組態(tài)里已經(jīng)定義好了,兩者必須一致,否則會(huì)出現(xiàn)通信錯(cuò)誤。另外幀長(zhǎng)度為32字節(jié);奇偶校驗(yàn)為奇校驗(yàn);數(shù)據(jù)長(zhǎng)度8位;停止位1位;通訊方式rs-485。
ug00s-cw具有非常完善而強(qiáng)大的組態(tài)功能,在開(kāi)發(fā)組態(tài)的時(shí)候,開(kāi)發(fā)者可以不去考慮通信協(xié)議的問(wèn)題,因?yàn)楦皇抗疽呀?jīng)將這一切的技術(shù)細(xì)節(jié)都屏蔽掉了,它具有智能的尋址功能。在建立一個(gè)按鈕時(shí),這個(gè)按鈕在plc中的預(yù)先有定義(在西門子plc中,無(wú)論是數(shù)字量還是模擬量的定義都是在db塊中)。假設(shè)這個(gè)按鈕的地址是db2.dbx2.0(它的含義是第2個(gè)db塊中第2個(gè)字節(jié)的第0位),觸摸屏中按鈕的地址應(yīng)表示為db2:2-0。我們可以看到,除了地址的書(shū)寫(xiě)方式有所不同以外,你幾乎無(wú)需作其他的工作,你無(wú)需去定義變量、更無(wú)需去理會(huì)通信的幀結(jié)構(gòu)等等。
對(duì)于模擬量同樣如此,只不過(guò)在模擬量中你需要指出模擬量所占的字節(jié)個(gè)數(shù),其他的同數(shù)字量一樣簡(jiǎn)單。
可以說(shuō),ug00s-cw在處理基本的模擬數(shù)字量的時(shí)候非常簡(jiǎn)單、方便,但是在處理一些較為復(fù)雜的情況時(shí)卻遇到了意想不到的問(wèn)題。在這個(gè)食品生產(chǎn)線的集中控制系統(tǒng),其中就涉及到富士觸摸屏和西門子plc中的通信格式的兼容問(wèn)題。
系統(tǒng)中有些pid控制的模擬量需要用趨勢(shì)圖來(lái)顯示,ug00s-cw中顯示趨勢(shì)圖并不復(fù)雜,首先點(diǎn)一下趨勢(shì)圖的圖標(biāo),在彈出的對(duì)話框中選擇趨勢(shì)圖的類型,然后選擇每條曲線對(duì)應(yīng)的地址即可。但是在聯(lián)機(jī)調(diào)試時(shí)卻總是出現(xiàn)comunication error(通信錯(cuò)誤)信息,經(jīng)過(guò)排查發(fā)現(xiàn)問(wèn)題出在趨勢(shì)圖上,如果將趨勢(shì)圖從程序中去掉,則一切正常,后來(lái)我就嘗試先將西門子plc中的對(duì)應(yīng)的模擬量數(shù)據(jù)讀入觸摸屏的緩沖(即內(nèi)部存儲(chǔ)區(qū)),然后將趨勢(shì)圖每條曲線的地址改為對(duì)應(yīng)的內(nèi)部地址。經(jīng)過(guò)聯(lián)機(jī)調(diào)試,發(fā)現(xiàn)不再出現(xiàn)comunication error信息,但是趨勢(shì)圖的曲線的顯示卻極不正常。經(jīng)過(guò)觀察,發(fā)現(xiàn)除了當(dāng)模擬量的值為零時(shí)曲線顯示正常,而為非零時(shí)曲線則指向無(wú)窮大。這個(gè)問(wèn)題曾讓筆者百思不得其解,后來(lái)終于想到有可能是西門子plc和富士觸摸屏在存儲(chǔ)格式上可能會(huì)不兼容。原來(lái)富士觸摸屏中趨勢(shì)圖中的模擬量一般都是雙字(4字節(jié)),它從西門子plc讀取的順序是將第一字讀為高字,第二個(gè)字讀為低字,而西門子plc中模擬量的存儲(chǔ)為先存低字再存高字,這樣富士觸摸屏從西門子plc中讀入的數(shù)據(jù)剛好都是高低字顛倒的。因?yàn)橐话隳M量的值都比較小,所以高字都為零,這樣相當(dāng)于將原來(lái)的值乘了一個(gè)2的16次方的數(shù),遠(yuǎn)遠(yuǎn)超過(guò)了模擬量的上限,所以才出現(xiàn)了以上情況。
為了解決以上問(wèn)題,需要將plc中的數(shù)據(jù)讀入,然后依次高低字顛倒,然后再將趨勢(shì)圖的曲線地址指向存儲(chǔ)修正數(shù)據(jù)的內(nèi)部地址即可。為了完成這個(gè)功能,需要用到ug00s-cw的宏指令,富士ug00s-cw平臺(tái)提供了豐富的宏命令集,主要有以下幾類:
屏幕類,當(dāng)打開(kāi)一個(gè)界面時(shí)可執(zhí)行的open macro,當(dāng)關(guān)閉一個(gè)界面時(shí)可執(zhí)行的 close macro,當(dāng)打開(kāi)一個(gè)界面后不斷循環(huán)執(zhí)行直到這個(gè)界面關(guān)閉為止時(shí)停止的 cycle macro。
按鈕類,當(dāng)按下一個(gè)按鈕時(shí)可執(zhí)行的 on macro和當(dāng)松開(kāi)一個(gè)按鈕時(shí)可執(zhí)行的 off macro。
宏模式,即宏指令程序段受某一個(gè)比特位的控制,當(dāng)這一位為1時(shí)執(zhí)行,為0時(shí)停止,這個(gè)比特位可以是plc中的地址,也可以是觸摸屏的內(nèi)部地址。
富士ug00s-cw的宏命令集和匯編語(yǔ)言非常相似,不過(guò)此外還增加了許多系統(tǒng)命令功能和輔助功能,使得開(kāi)發(fā)程序更加方便快捷。觸摸屏中的存儲(chǔ)格式是字,地址用$u來(lái)表示,例如$u1000就表示第1000個(gè)字,$u1000-14就表示第1000個(gè)字的第14位,觸摸屏中沒(méi)有用來(lái)表示字節(jié)的地址表示方式。在這個(gè)食品生產(chǎn)線上有多個(gè)pid控制回路,每個(gè)回路對(duì)應(yīng)一個(gè)趨勢(shì)圖,以第一個(gè)回路為例,它占用buffer1(最多有12個(gè)buffer可供使用)趨勢(shì)圖有三條曲線pv、sp、op,它們所對(duì)應(yīng)的plc地址分別為db10:dbd0,db10:dbd4, db10:dbd8,然后將調(diào)整后的地址存入定為$u500~$u505,程序段如下:
/*首先將模擬量讀入觸摸屏內(nèi)部,使用塊賦值bmov指令,即將db10:dbd0~ db10: dbd8賦值到$u500~$u505*/
$u500=db0010:0000 c:12(bmov)
//下面將各個(gè)量的高字和低字顛倒
$u600=$u500 (w)
$u500=$u501 (w)
$u501=$u600 (w)
$u602=$u502 (w)
$u502=$u503 (w)
$u503=$u602 (w)
$u604=$u504 (w)
$u500=$u505 (w)
$u505=$u604 (w)
然后將此程序段拷貝到每一屏幕的cycle macro中,然后將buffer地址初始地址指向$500,抽樣模式定為:constant sample,曲線條數(shù)(即no. of word)定為3條,存儲(chǔ)長(zhǎng)度為500,其他的設(shè)置為默認(rèn)值,趨勢(shì)圖中對(duì)應(yīng)三條曲線的地址改為$u500,$u502,$u504,這樣才能保證觸摸屏中的數(shù)據(jù)和plc中的數(shù)據(jù)同步更新。將程序下載到觸摸屏,經(jīng)過(guò)聯(lián)機(jī)測(cè)試,一切正常。
3 結(jié)束語(yǔ)
富士觸摸屏以及西門子plc由于其產(chǎn)品具有很高的穩(wěn)定性,而且在軟件開(kāi)發(fā)上非常高效快捷,因此在工控方面,兩者相結(jié)合是一個(gè)很不錯(cuò)的選擇,能夠充分發(fā)揮兩者的優(yōu)點(diǎn)。但是由于兩者畢竟不是同一廠商,所以難免會(huì)在某些細(xì)節(jié)的兼容性上會(huì)有紕漏,這是我們?cè)谠O(shè)計(jì)工控系統(tǒng)時(shí)特別要注意的地方,硬件漏洞軟件補(bǔ)是it界永恒不變的方法,在開(kāi)發(fā)商還沒(méi)有使他們的產(chǎn)品盡善盡美之前,我們應(yīng)當(dāng)運(yùn)用我們自己的智慧來(lái)完善我們的系統(tǒng)。