富士觸摸屏和西門(mén)子PLC通訊中的問(wèn)題及解決方案
0 引言
隨著(zhù)計算機網(wǎng)絡(luò )及現場(chǎng)總線(xiàn)技術(shù)技術(shù)的發(fā)展,PLC及觸摸屏在工業(yè)控制和樓宇自動(dòng)化中的應用非常廣泛?,F場(chǎng)總線(xiàn)技術(shù)及其總線(xiàn)接口模塊、智能儀表、控制設備等組成的綜合監控系統已成為當前自動(dòng)化技術(shù)發(fā)展的一個(gè)重要方向。在工控領(lǐng)域,PLC與觸摸屏結合運用的技術(shù)已越來(lái)越為工程人員所了解與熟悉 ,由于觸摸屏具有操作簡(jiǎn)便、界面美觀(guān)直接、編程容易掌握、與PLC通訊良好、抗干擾能力強等等特點(diǎn) ,它正迅速地滲入各個(gè)行業(yè) ,發(fā)揮自動(dòng)化控制的最大優(yōu)勢。
PROFIBUS提供了兩種通信協(xié)議:DP、FMS,富士UG系列的觸摸屏支持其中的DP協(xié)議。富士觸摸屏具有很強的兼容性,可以與近30個(gè)廠(chǎng)家的PLC通訊,兼容性極強,而且還可以和計算機通訊(開(kāi)放式通訊協(xié)議)。
通過(guò)接口單元、UG031-P通訊卡及總線(xiàn)的連接,UG觸摸屏可以作為從站和作為主站的西門(mén)子的S7-300或S7-400系列的PLC通信(網(wǎng)絡(luò )結構示意見(jiàn)圖一)。

圖一:PROFIBUS-DP的網(wǎng)絡(luò )結構
1 系統結構
本文的背景為某食品加工廠(chǎng)某控制系統包括原料混料線(xiàn)、薯餅生產(chǎn)線(xiàn)、包裝線(xiàn)等構成的主線(xiàn)系統,以及蒸汽鍋爐系統、水系統、壓縮空氣系統、照明系統、通風(fēng)系統和消防系統等構成的輔助系統。各系統位置比較分散,控制點(diǎn)較多,其中包括140多臺電機,29臺變頻器,15個(gè)溫濕度控制點(diǎn)。
由于系統比較復雜,控制采取分層控制策略,由兩臺上位機完成工廠(chǎng)級的監控及數據管理功能,觸摸屏和PLC完成現場(chǎng)級的控制,采用Profibus現場(chǎng)總線(xiàn)的方式進(jìn)行通訊。上位機留有接口,可連接局域網(wǎng)和廣域網(wǎng),以利于進(jìn)一步的開(kāi)發(fā)。其中數字輸入點(diǎn)有900多點(diǎn),數字輸出有400多點(diǎn),模擬量輸入20 個(gè)。
下面以這個(gè)食品加工廠(chǎng)為例,組成一個(gè)集中控制系統,系統結構如圖二所示。
其中PLC(1)用于主系統,PLC(2)用于輔助系統。輔助系統的組成與主系統相似,因此圖中省略了其構成。PLC選用S7-300系列的 CPU315-2DP和S7-200系列的CPU226,PID模塊為FM355C,通訊模塊為CP342-5,擴展模塊為IM153-1,I/O模塊則使用到:數字輸入模塊選SM321、數字輸出為SM322、模擬量輸入為SM331。上位機選用西門(mén)子的工控機,它內置了PCI接口的CP5611卡用于與PLC通訊。
選用S7-300系列的CPU315-2DP是為了能進(jìn)行擴展I/O模塊以滿(mǎn)足控制點(diǎn)數的要求,而用于擴展的IM模塊的選型則是依據IM模塊與中央控制器CPU315-2DP的距離。
由于所有的I/O模塊均放在同一組控制柜里,因此選用了通訊距離在5米范圍內的IM153-1[1]。當IM模塊與中央控制器的距離較遠時(shí)可以選擇通訊范圍為100米的型號的IM模塊。
觸摸屏選用富士UG420H-SC1,10.4英寸、128色STN顯示,基于Windows95/98/NT操作平臺下的專(zhuān)用組態(tài)軟件,界面友好直觀(guān),易學(xué)易用,大大節省產(chǎn)品開(kāi)發(fā)周期。編程軟件中備有大量的圖形庫(開(kāi)關(guān)、燈、棒圖等)供選擇,還可以根據用戶(hù)需求編輯所需要的工藝圖形,能夠轉換BMP 文件和AUTOCAD中的DXF文件。

圖二: 控系統硬件組成及結構
2 觸摸屏的通訊設置及界面設計
在硬件連接完成后,需要在組態(tài)軟件中指定系統的硬件配置以及設置一些通信參數等等。首先制定所使用的觸摸屏的類(lèi)型,這里選擇默認的 UG420(640*480 10.4inches);下一步指定和觸摸屏通訊的PLC類(lèi)型及型號,這里選SIEMENS S7-PROFIBUS;最后一步指定系統參數,首先是讀區和寫(xiě)區,讀區是指作為從PLC讀入數據的緩沖,如果系統中需要顯示趨勢圖的話(huà)那么讀區應當設大一些,一般設1000個(gè)字就可以了,寫(xiě)區用于顯示存儲屏幕的狀態(tài)、頁(yè)碼、畫(huà)面層疊以及報警狀態(tài)等等。另外在對話(huà)框No.of Word Setting for I/O中需要指出觸摸屏的MPI地址,以及傳輸的幀長(cháng)度,MPI地址在PLC的硬件組態(tài)里已經(jīng)定義好了,兩者必須一致,否則會(huì )出現通信錯誤。另外幀長(cháng)度為32字節;奇偶校驗為奇校驗;數據長(cháng)度8位;停止位1位;通訊方式RS-485。
UG00S-CW具有非常完善而強大的組態(tài)功能,在開(kāi)發(fā)組態(tài)的時(shí)候,開(kāi)發(fā)者可以不去考慮通信協(xié)議的問(wèn)題,因為富士公司已經(jīng)將這一切的技術(shù)細節都屏蔽掉了,它具有智能的尋址功能。在建立一個(gè)按鈕時(shí),這個(gè)按鈕在PLC中的預先有定義(在西門(mén)子PLC中,無(wú)論是數字量還是模擬量的定義都是在DB塊中)。假設這個(gè)按鈕的地址是DB2.DBX2.0(它的含義是第2個(gè)DB塊中第2個(gè)字節的第0位),觸摸屏中按鈕的地址應表示為DB2:2-0。我們可以看到,除了地址的書(shū)寫(xiě)方式有所不同以外,你幾乎無(wú)需作其他的工作,你無(wú)需去定義變量、更無(wú)需去理會(huì )通信的幀結構等等。
對于模擬量同樣如此,只不過(guò)在模擬量中你需要指出模擬量所占的字節個(gè)數,其他的同數字量一樣簡(jiǎn)單。
可以說(shuō),UG00S-CW在處理基本的模擬數字量的時(shí)候非常簡(jiǎn)單、方便,但是在處理一些較為復雜的情況時(shí)卻遇到了意想不到的問(wèn)題。在這個(gè)食品生產(chǎn)線(xiàn)的集中控制系統,其中就涉及到富士觸摸屏和西門(mén)子PLC中的通信格式的兼容問(wèn)題。
系統中有些PID控制的模擬量需要用趨勢圖來(lái)顯示,UG00S-CW中顯示趨勢圖并不復雜,首先點(diǎn)一下趨勢圖的圖標,在彈出的對話(huà)框中選擇趨勢圖的類(lèi)型,然后選擇每條曲線(xiàn)對應的地址即可。但是在聯(lián)機調試時(shí)卻總是出現comunication error(通信錯誤)信息,經(jīng)過(guò)排查發(fā)現問(wèn)題出在趨勢圖上,如果將趨勢圖從程序中去掉,則一切正常,后來(lái)我就嘗試先將西門(mén)子PLC中的對應的模擬量數據讀入觸摸屏的緩沖(即內部存儲區),然后將趨勢圖每條曲線(xiàn)的地址改為對應的內部地址。經(jīng)過(guò)聯(lián)機調試,發(fā)現不再出現comunication error信息,但是趨勢圖的曲線(xiàn)的顯示卻極不正常。經(jīng)過(guò)觀(guān)察,發(fā)現除了當模擬量的值為零時(shí)曲線(xiàn)顯示正常,而為非零時(shí)曲線(xiàn)則指向無(wú)窮大。這個(gè)問(wèn)題曾讓筆者百思不得其解,后來(lái)終于想到有可能是西門(mén)子PLC和富士觸摸屏在存儲格式上可能會(huì )不兼容。原來(lái)富士觸摸屏中趨勢圖中的模擬量一般都是雙字(4字節),它從西門(mén)子PLC讀取的順序是將第一字讀為高字,第二個(gè)字讀為低字,而西門(mén)子PLC中模擬量的存儲為先存低字再存高字,這樣富士觸摸屏從西門(mén)子PLC中讀入的數據剛好都是高低字顛倒的。因為一般模擬量的值都比較小,所以高字都為零,這樣相當于將原來(lái)的值乘了一個(gè)2的16次方的數,遠遠超過(guò)了模擬量的上限,所以才出現了以上情況。
為了解決以上問(wèn)題,需要將PLC中的數據讀入,然后依次高低字顛倒,然后再將趨勢圖的曲線(xiàn)地址指向存儲修正數據的內部地址即可。為了完成這個(gè)功能,需要用到UG00S-CW的宏指令,富士UG00S-CW平臺提供了豐富的宏命令集,
主要有以下幾類(lèi):
屏幕類(lèi),當打開(kāi)一個(gè)界面時(shí)可執行的OPEN macro,當關(guān)閉一個(gè)界面時(shí)可執行的 CLOSE macro,當打開(kāi)一個(gè)界面后不斷循環(huán)執行直到這個(gè)界面關(guān)閉為止時(shí)停止的 CYCLE macro。
按鈕類(lèi),當按下一個(gè)按鈕時(shí)可執行的 ON macro和當松開(kāi)一個(gè)按鈕時(shí)可執行的 OFF macro。
宏模式,即宏指令程序段受某一個(gè)比特位的控制,當這一位為1時(shí)執行,為0時(shí)停止,這個(gè)比特位可以是PLC中的地址,也可以是觸摸屏的內部地址。
富士UG00S-CW的宏命令集和匯編語(yǔ)言非常相似,不過(guò)此外還增加了許多系統命令功能和輔助功能,使得開(kāi)發(fā)程序更加方便快捷。觸摸屏中的存儲格式是字,地址用$u來(lái)表示,例如$u1000就表示第1000個(gè)字,$u1000-14就表示第1000個(gè)字的第14位,觸摸屏中沒(méi)有用來(lái)表示字節的地址表示方式。在這個(gè)食品生產(chǎn)線(xiàn)上有多個(gè)PID控制回路,每個(gè)回路對應一個(gè)趨勢圖,以第一個(gè)回路為例,它占用Buffer1(最多有12個(gè)Buffer可供使用)趨勢圖有三條曲線(xiàn)PV、SP、OP,它們所對應的PLC地址分別為DB10:DBD0,DB10:DBD4, DB10:DBD8,然后將調整后的地址存入定為$u500~$u505,程序段如下:
/*首先將模擬量讀入觸摸屏內部,使用塊賦值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,曲線(xiàn)條數(即No. of Word)定為3條,存儲長(cháng)度為500,其他的設置為默認值,趨勢圖中對應三條曲線(xiàn)的地址改為$u500,$u502,$u504,這樣才能保證觸摸屏中的數據和PLC中的數據同步更新。將程序下載到觸摸屏,經(jīng)過(guò)聯(lián)機測試,一切正常。
3 結束語(yǔ)
富士觸摸屏以及西門(mén)子PLC由于其產(chǎn)品具有很高的穩定性,而且在軟件開(kāi)發(fā)上非常高效快捷,因此在工控方面,兩者相結合是一個(gè)很不錯的選擇,能夠充分發(fā)揮兩者的優(yōu)點(diǎn)。但是由于兩者畢竟不是同一廠(chǎng)商,所以難免會(huì )在某些細節的兼容性上會(huì )有紕漏,這是我們在設計工控系統時(shí)特別要注意的地方,硬件漏洞軟件補是 IT界永恒不變的方法,在開(kāi)發(fā)商還沒(méi)有使他們的產(chǎn)品盡善盡美之前,我們應當運用我們自己的智慧來(lái)完善我們的系統。
pid控制相關(guān)文章:pid控制原理
adc相關(guān)文章:adc是什么
西門(mén)子plc相關(guān)文章:西門(mén)子plc視頻教程
通信相關(guān)文章:通信原理
評論