摘 要:隨著可編程控制器技術(shù)的不斷發(fā)展,其應(yīng)用領(lǐng)域也在不斷的擴(kuò)大。各種PLC及其組態(tài)軟件也應(yīng)運(yùn)而生。但為了降低成本,對(duì)于在小型的對(duì)象上的運(yùn)用,一般可以使用一些自編的通訊軟件和監(jiān)控界面,實(shí)現(xiàn)對(duì)工藝對(duì)象的自動(dòng)控制。文章以水處理中某段裝置的控制工藝為實(shí)例,敘述了通訊實(shí)現(xiàn)的編制過程。
關(guān)鍵詞:通信,PLC,自動(dòng)控制,水處理,VB
引 言
根據(jù)國際電工委員會(huì)的定義,PLC是一種專門為在工業(yè)環(huán)境下應(yīng)用而設(shè)計(jì)的數(shù)字運(yùn)算操作的電子裝置。它采用可以編制程序的存儲(chǔ)器,用來在其內(nèi)部存儲(chǔ)執(zhí)行邏輯運(yùn)算、順序運(yùn)算、定時(shí)、計(jì)數(shù)和算術(shù)運(yùn)算等操作的指令,并能通過數(shù)字式或模擬式的輸入和輸出,控制各種類型的機(jī)械或生產(chǎn)過程。PLC及其有關(guān)的外圍設(shè)備都應(yīng)按照易于與工業(yè)控制系統(tǒng)形成一個(gè)整體,易于擴(kuò)展其功能的原則而設(shè)計(jì) [1] 。它具有體積小、重量輕、能耗低、可靠性高、抗干擾能力強(qiáng)、配套齊全、功能完善、易學(xué)易用等優(yōu)點(diǎn),目前廣泛應(yīng)用鋼鐵、石化、電力、交通、環(huán)保等行業(yè)。PLC是一種控制器,主要實(shí)現(xiàn)直接對(duì)對(duì)象的控制,可作為下位機(jī)。要實(shí)現(xiàn)對(duì)生產(chǎn)過程的監(jiān)控,還必須配以計(jì)算機(jī)或觸摸屏等人機(jī)接口界面作為上位機(jī),對(duì)于大型復(fù)雜的對(duì)象,可以使用各種組態(tài)軟件,如:iFix、MCGS、組態(tài)王等;而對(duì)于小型的裝置,為了節(jié)約成本,可以使用VB、VC等可視化編程軟件來實(shí)現(xiàn)。本文就是基于這點(diǎn)考慮,運(yùn)用VB編制操作界面和通信功能,實(shí)現(xiàn)實(shí)現(xiàn)對(duì)某一新型水處理工藝中生物陶粒預(yù)處理反應(yīng)器的反沖洗以及絮凝—沉淀池加藥的監(jiān)控??刂破鞑捎肍X2N—48MR—001,模擬量模塊為FX2N—4AD和FX2N—2DA,通訊采用FX2N—232—BD型通信模板。
1 部分工藝簡介
整個(gè)水處理的監(jiān)控,除了總體界面外,還有5個(gè)放大的分界面。其中生物陶粒預(yù)處理反應(yīng)器及沉淀池的工藝過程簡圖如圖1所示:
圖1 反應(yīng)器及沉淀池工藝流程框圖
在正常生產(chǎn)過程中,生物陶粒預(yù)處理反應(yīng)器內(nèi)源水水面能保持恒定,但由于其中存在大量泥沙和雜質(zhì),在過濾過程中會(huì)堵塞過濾層間隙,影響過濾的效果。實(shí)踐中發(fā)現(xiàn),其影響程度和反應(yīng)器底部的壓力有關(guān)系,堵塞越嚴(yán)重,底部壓力越小,即所謂的壓頭損失。當(dāng)壓頭損失到一定的程度,就會(huì)影響水處理的效果和凈化效率,此時(shí)必須對(duì)反應(yīng)器實(shí)施反沖洗。在反沖洗過程中,要先關(guān)閉進(jìn)水泵和出水閥,打開排空閥進(jìn)行排空,排空后立即關(guān)閉排空閥,打開反沖洗閥和反沖洗泵,根據(jù)預(yù)先設(shè)定的反沖洗時(shí)間進(jìn)行反沖,將過濾層中的泥沙和雜質(zhì)從反應(yīng)器上部的溢流孔排出,到設(shè)定的時(shí)間后,關(guān)閉反沖洗泵和反沖洗閥,再打開進(jìn)水泵和出水閥,恢復(fù)正常生產(chǎn)。
對(duì)于絮凝—沉淀池加藥,是檢測池內(nèi)的濁度自動(dòng)控制加藥量的流量大小。由于這是一個(gè)過程滯后時(shí)間比較大的過程,要采用特殊的控制算法。在這一段工藝中要檢測2個(gè)模擬量,輸出1個(gè)模擬量,外加進(jìn)水泵、反沖洗泵的啟停,反沖洗、排空、出水電磁閥的通斷等開關(guān)量。除此之外還有砂濾池、GAC—石英砂生物濾池、BAC反應(yīng)器和GAC吸附池也需要進(jìn)行反沖洗自動(dòng)操作。整個(gè)水處理工段需要6個(gè)模擬量輸入,1個(gè)模擬量輸出,20個(gè)開關(guān)量輸出。這是一個(gè)小規(guī)模的控制,要實(shí)現(xiàn)計(jì)算機(jī)的監(jiān)控,必須要實(shí)現(xiàn)FX2NPLC與PC機(jī)之間的通訊。
2 通訊方法
可編程控制器與計(jì)算機(jī)的通訊近年來發(fā)展很快,在PLC與計(jì)算機(jī)連接構(gòu)成的控制系統(tǒng)中,計(jì)算機(jī)主要完成數(shù)據(jù)處理、修改參數(shù)、圖像顯示、打印報(bào)表、文字處理、系統(tǒng)管理、編制PLC程序、工作狀態(tài)監(jiān)視等任務(wù)??删幊炭刂破魅匀恢苯用嫦颥F(xiàn)場、面向設(shè)備,進(jìn)行實(shí)時(shí)控制。兩者的連接,可以更有效地發(fā)揮各自的優(yōu)勢,互補(bǔ)應(yīng)用上的不足,擴(kuò)大PLC的處理能力。
為了適應(yīng)PLC網(wǎng)絡(luò)化的要求,擴(kuò)大聯(lián)網(wǎng)功能,幾乎所有PLC廠家都為PLC開發(fā)了與上位計(jì)算機(jī)通信的接口或?qū)S猛ㄓ嵞K。一般在小型PLC上都設(shè)有專用的通信模塊。PLC與計(jì)算機(jī)之間的通信正是通過PLC上的RS422或RS—232C接口和計(jì)算機(jī)上的RS—232接口進(jìn)行的。PLC與計(jì)算機(jī)之間的信息交換方式,一般采用字符串、全雙工或半雙工、異步、串行通信方式。因此,可以說,凡具有RS—232C接口并能輸入輸出字符串的計(jì)算機(jī)都可以和PLC通信。
利用PLC基本單元上的RS422或RS—232C通信接口,可以配置一個(gè)PLC與外部計(jì)算機(jī)進(jìn)行通訊的系統(tǒng)。該系統(tǒng)中PLC接受控制系統(tǒng)中的各種控制信息,分析處理后轉(zhuǎn)化為PLC中軟元件的狀態(tài)和數(shù)據(jù);PLC又將所有軟元件的數(shù)據(jù)和狀態(tài)送入計(jì)算機(jī),由計(jì)算機(jī)采集這些數(shù)據(jù),進(jìn)行分析及運(yùn)行狀態(tài)監(jiān)測,用計(jì)算機(jī)改變PLC的初始值和設(shè)定值,從而實(shí)現(xiàn)計(jì)算機(jī)對(duì)PLC的直接控制。
本系統(tǒng)是采用FX2N—232—BD型通信模板實(shí)現(xiàn)通訊功能,通訊軟件用VB編程,PLC內(nèi)部不需要編寫任何的通訊程序,只要把需要通訊的數(shù)據(jù)放在相應(yīng)的數(shù)據(jù)寄存器中即可。
3 通訊協(xié)議
FX2N系列PLC與計(jì)算機(jī)之間的通信是建立在以RS232標(biāo)準(zhǔn)為基礎(chǔ)的異步雙向通信上的,它有其特定的通信格式,整個(gè)通信系統(tǒng)采用上位機(jī)主動(dòng)的通信方式,計(jì)算機(jī)直接對(duì)物理通信地址進(jìn)行操作。通信過程中,傳輸字符和命令字以ASCⅡ碼為準(zhǔn),常用的字符及ASCⅡ碼對(duì)應(yīng)關(guān)系如表1所示。[2]
表1 常用的字符及ASCⅡ碼對(duì)應(yīng)關(guān)系
在進(jìn)行通訊時(shí),計(jì)算機(jī)和PLC之間是以幀為單位交換信息的,其中控制字符ENQ、ACK、NAK是按單字符幀發(fā)送和接收的,其余的信息都是由字符STX、命令字、數(shù)據(jù)、字符ETX、和校驗(yàn)五部分組成。命令字可以為“0”、“1”、“7”、“8”等,分別代表對(duì)PLC相關(guān)單元的讀、寫、置位和復(fù)位操作,相關(guān)單元為X、Y、M、S、T、C,而讀寫還可對(duì)D數(shù)據(jù)寄存器進(jìn)行操作。校驗(yàn)是在信息幀的最后,用來判別傳輸是否正確。由于計(jì)算機(jī)和PLC一般都在控制室內(nèi)部,點(diǎn)對(duì)點(diǎn)傳輸距離較短,出錯(cuò)的概率較小,所以一般采用和校驗(yàn)法,基本能滿足要求。將命令字到ETX之間的所有字符的ASCⅡ碼相加,所得和的最低2位數(shù)作為和校驗(yàn)碼。
4 通訊實(shí)現(xiàn)
FX2N—232—BD型通信模板
該摸板可以無序地和計(jì)算機(jī)、打印機(jī)等具有RS—232C接口設(shè)備進(jìn)行連接通信,它的傳輸距離為15m,通信方式為全雙工雙向方式,最大傳輸速率為19200bit/s。
MSComm控件
Visuai Basic的版本分為普及版、專業(yè)版和企業(yè)版,每個(gè)版本都是為了適應(yīng)不同的使用群體,串行通信的控件包含在專業(yè)版和企業(yè)版中,而普及版不具有此功能。
VB6.0把與串行通信有關(guān)的操作都封裝在Mscomm控件里,它是一種事件驅(qū)動(dòng)的對(duì)象。VB同時(shí)也為這個(gè)控制提供了標(biāo)準(zhǔn)的事件處理函數(shù)、過程,并通過屬性的方法提供了通信接口的參數(shù)設(shè)置,從而解決了串行通信的問題。[3]
MSComm控件的屬性眾多,下列介紹涉及到的主要幾種:
CommPort屬性用于設(shè)置或返回通信連接端口號(hào)碼。程序必須指定所要使用的串行端口的號(hào)碼。Windows系統(tǒng)會(huì)使用所設(shè)置的通信端口與外界進(jìn)行通信,程序也可以借助此屬性返回所使用的連接端口號(hào)。端口號(hào)的最大值為16,默認(rèn)為COM1。 #p#分頁標(biāo)題#e#
Settings屬性用于設(shè)置初始化參數(shù),以字符串的形式設(shè)置或返回傳輸速率、校驗(yàn)位、數(shù)據(jù)位、停止位等4個(gè)參數(shù)。其默認(rèn)值是:“9600,N,8,1”,表示所使用的通信端口是以每秒9600位的速度作傳輸,不作校驗(yàn)位檢查,每個(gè)數(shù)據(jù)單元是8個(gè)位,而停止位是1個(gè)位,需要注意的是:這4項(xiàng)必須按照上述順序,不可前后對(duì)調(diào),字母“N”可以大小寫,而且使用RS-232通信的雙方,Settings必須完全一樣,彼此才能順利的溝通。
PortOpen屬性用于設(shè)置或返回通信連接端口的狀態(tài)。使用前必須將要使用的串行接口先行打開,而在使用完畢后,也必須執(zhí)行關(guān)閉操作。串行通信端口各項(xiàng)功能都是在PortOpen的True與Fause之間完成的。
Input屬性用于從輸入緩存區(qū)返回并刪除字符,程序靠這個(gè)命令將對(duì)方傳到輸入緩存區(qū)中的字符讀出來,并清除緩存區(qū)中已被讀取的字符。
Output屬性用于將一個(gè)字符串寫入輸出緩存區(qū),當(dāng)程序向?qū)Ψ絺鬏斪址畷r(shí),可使用此命令將字符串寫入輸出緩存區(qū)中。
InputMode屬性用于設(shè)置或返回Input屬性取回的數(shù)據(jù)形態(tài)??梢允且宰址男问浇邮?,也可以是以字節(jié)數(shù)組中的二進(jìn)制數(shù)據(jù)來接收。
使用MSComm控件的方式表面上看來要比使用直接調(diào)用API函數(shù)來得復(fù)雜,但實(shí)際上使用MSComm控件可以省去不少底層程序的編寫,因此實(shí)際上要比API函數(shù)簡單多了。[4]
4.3 通訊的請(qǐng)求與確認(rèn)
要進(jìn)行通訊,上位計(jì)算機(jī)首先要對(duì)通道等進(jìn)行測試,它要向下位PLC發(fā)送ENQ(05H)查詢命令,PLC得到請(qǐng)求后要返回一個(gè)命令,如果返回的是NAK(15H),表示通訊有錯(cuò),不能進(jìn)行通訊,如果是ACK(06H),表示可以進(jìn)行通訊操作。這也是程序調(diào)試過程中,判斷通訊是否成功的一個(gè)標(biāo)志。
5 通訊應(yīng)用
該技術(shù)已經(jīng)運(yùn)用到某單位水處理中試生產(chǎn)工藝中,運(yùn)行已經(jīng)有半年多,運(yùn)行情況良好,大大地減少了人工的操作強(qiáng)度。雖然這只是一個(gè)中試加科研的裝置,控制的點(diǎn)不是很多,但已能很好地驗(yàn)證了FX2N系列PLC與計(jì)算機(jī)之間的通信的可行性與可靠性。
圖2 反沖洗及沉淀池工段監(jiān)控界面
6 結(jié)束語
隨著計(jì)算機(jī)及自動(dòng)化技術(shù)的不斷發(fā)展,自動(dòng)控制手段也不斷的更新,控制的可靠性也在斷提高,自控的成本也就在不斷的上升。在一些小型的裝置上采用一些自編軟件很有使用價(jià)值。雖然在開始階段增加了一部分的開發(fā)工作量,但只要做到功能可靠,其操作簡單,添加功能也比較方便的優(yōu)點(diǎn)就比較突出,很有推廣價(jià)值和使用前途。
參考文獻(xiàn):
[1] 史國生 主編.電氣控制與可編程控制器技術(shù)[M].北京:化學(xué)工業(yè)出版社,2004
[2] Mitsubishi Electric Corporation.可編程控制器通訊手冊(cè)[Z].1998
[3] 范逸之 陳立元編著.Visual Basic與RS-232串行通信控制最新版[M].北京.中國青年出版社,2002
[4] 沈世斌.基于PLC自由口通信的應(yīng)用[J].儀表技術(shù)與傳感器,2004(12)
轉(zhuǎn)載請(qǐng)注明出處。