謝 琪
(杭州市河道管理總站,浙江 杭州310000)
絕大部分泵站主機(jī)組的現(xiàn)場測試對象為非電量參數(shù),非電量參數(shù)的測量必須應(yīng)用轉(zhuǎn)換元件(如傳感器),將非電量信號及其變化的過程轉(zhuǎn)換為電量信號及其對應(yīng)的變化過程,傳統(tǒng)上受到轉(zhuǎn)換元件性能有關(guān)限制,轉(zhuǎn)換元件的性能好壞將直接影響整個系統(tǒng)的測量效果,故實時監(jiān)測存在了很大的困難。隨著傳感器和單片機(jī)等技術(shù)的迅猛發(fā)展,使非電量信號的采集變得相對容易,精度和可靠度也有了明顯的提高。由傳感器和單片機(jī)構(gòu)成的各種數(shù)字化、智能化和自動化的儀器儀表,在泵站或電站中逐漸得到了推廣與應(yīng)用[1]。
泵站主機(jī)組的狀態(tài)監(jiān)測是一門綜合數(shù)據(jù)采集、通信、計算機(jī)等技術(shù)的交叉學(xué)科,具有很強(qiáng)的科學(xué)實踐性。本文具體結(jié)合了泵站數(shù)據(jù)采集與處理技術(shù)、數(shù)據(jù)傳輸技術(shù)、計算機(jī)開發(fā)技術(shù)等進(jìn)行如下工作:①數(shù)據(jù)采集系統(tǒng)的硬件組裝和軟件的研發(fā);②結(jié)合七堡泵站5號機(jī)組的數(shù)據(jù)采集,對所采集的信號作出了數(shù)據(jù)處理;③利用了ADAM模塊開發(fā)了一套實用的16數(shù)據(jù)通道實時監(jiān)測系統(tǒng)[2]。
ADAM開發(fā)模塊主要由ADAM-5511母板和ADAM-5017模擬信號輸入模塊、ADAM-5024模擬信號輸出模塊、ADAM-5051數(shù)字信號輸入模塊和ADAM-5056數(shù)字信號輸出模塊組成。ADAM開發(fā)模塊包括有兩個主要的組件:主單元和I/O模塊。主單元包括1個CPU卡,1個電源校正器,1個4槽的基板,2個系列通信口和1個可編程口。
(1)傳感器
傳感器的任務(wù)是要完成主機(jī)的各類信號采集,它將被測量的參數(shù)轉(zhuǎn)變?yōu)閷?yīng)的可輸出標(biāo)準(zhǔn)信號,被測量參數(shù)可以是各種非電氣量參數(shù)。如電壓、電流、溫度、壓力、功率等,以電壓電流為例:通過電壓互感器可以將高壓變?yōu)?00 V低電壓;通過電流互感器可以將大電流轉(zhuǎn)變?yōu)? A低電流,低電壓和低電流將可以送入到數(shù)據(jù)采集板中的A/D轉(zhuǎn)換器,而不至于損壞數(shù)據(jù)采集板。
(2)信號調(diào)理
來自傳感器的輸出信號包含有干擾信號,這種干擾信號往往是非常微弱的。因此,需要信號調(diào)理模塊進(jìn)行過濾,它有兩個基本作用:①放大微弱信號。將微弱信號放大,直到與A/D轉(zhuǎn)換器(數(shù)據(jù)采集板中)相互匹配;②預(yù)濾波。過濾高頻分量,這種高頻分量一般是干擾的噪聲信號[3],將頻帶進(jìn)行壓縮用以降低采樣的頻率,以免產(chǎn)生混亂。如果信號調(diào)理模塊輸出的是標(biāo)準(zhǔn)化的信號,如4~20 mA的電流信號,則稱這種信號調(diào)理模塊為變送器。此外可以根據(jù)需要進(jìn)行信號的隔離與變換等。
(3)數(shù)據(jù)采集板
數(shù)據(jù)采集板的主要功能有3個:①由衰減器和增益可控的放大器進(jìn)行量程轉(zhuǎn)換;②由多路開關(guān)完成對多點多通道信號的分時采樣活動,時間連續(xù)信號 X(t)經(jīng)過數(shù)值采樣后變?yōu)殡x散時間序列 X(n),n=0,1,2,…;③將信號的數(shù)據(jù)采樣值由A/D轉(zhuǎn)換器轉(zhuǎn)換為幅值離散化的數(shù)字量,或轉(zhuǎn)換為脈沖頻率值用以適應(yīng)計算機(jī)工作。
(4)計算機(jī)軟件系統(tǒng)
計算機(jī)軟件系統(tǒng)猶如神經(jīng)中樞,它使整個監(jiān)測系統(tǒng)具有一定的智能性,成為一個可調(diào)度的智能整體。在軟件程序的指導(dǎo)下,傳感器將按設(shè)定的程序進(jìn)行自動信號采集、存儲和處理,對數(shù)據(jù)進(jìn)行自動運(yùn)算、分析和調(diào)度,然后進(jìn)行指令輸出、記錄、顯示或打印。
在ADAM-5511母版中,有一種內(nèi)嵌和隔離技術(shù),該技術(shù)采用了80188 CPU和ROM-DOS兩種操作模塊,80188微處理器在CPU卡中,提供除BIOS以外的所有MS-DOS的基本函數(shù),函數(shù)屬性接口為DevStyle,其中Mcgs參數(shù)用以確定設(shè)備構(gòu)件的類別。①對獨立的設(shè)備構(gòu)件固定為0;對通信子設(shè)備,固定為1。本屬性為只讀屬性,語法形式為:Public Property Get DevStyle( )As Long;②內(nèi)嵌了RS-232-485通信口,接口方法名稱為InitNewDev,語法為InitNewDev(SavObj As Object)as Long,設(shè)備初始化成功返回值為0,否則為失?。籗avObj參數(shù)為存盤服務(wù)的對象,通過該對象保存和讀取相應(yīng)的數(shù)據(jù)值。③內(nèi)嵌了ROM和編程用的快閃磁盤。ADAM-551快閃ROM 、SRAM和快閃磁盤,400 kB空間用以下載程序。④3位隔離和看門狗計時器。對I/O模塊(對地電壓3 000 V)、通信連線(對地電壓2 500 V)和通信電源連線(對地電壓3 000 V)隔離。看門狗計時器用來監(jiān)測微處理器,它能在系統(tǒng)失敗時自動重置ADAM-5511微處理器[4]。
ASCII模式和RTU模式是控制器可以選擇的兩種模式,在應(yīng)用時可以自由選擇,并且可以設(shè)置各種參數(shù)。這兩種模式都是采用了Modbus通信模式,而且都是采用串口通信的,其驗證方式為波特率方式和校驗方式。
(1)ASCII模式
ASCII通信模式有很多優(yōu)點,其中最突出的優(yōu)點有2個,①十六進(jìn)制的代碼系統(tǒng),在該系統(tǒng)中,傳輸?shù)淖止?jié)為0~9、A~F,校驗時是從最小字節(jié)向最高字節(jié)發(fā)送。奇偶校驗位(無校驗則無)、1個停止位(有校驗時為2 bit,無校驗時則為檢測錯誤域)、縱向冗長檢測LRC。②雙字節(jié)發(fā)送的時間間隔比較短,最快可達(dá)到1 s。
(2)RTU 模式
RTU通信模式的主要優(yōu)點有:①采用8位二進(jìn)制和十六進(jìn)制混合的代碼系統(tǒng),發(fā)送1個奇偶校驗位(無校驗則無)、1個停止位(有校驗時為2 bit,無校驗時則檢測錯誤域)、CRC循環(huán)冗長檢測。②在同樣的波特率下,可比ASCII方式傳送了更多數(shù)據(jù)。
(1)ASCII幀
ASCII幀模式的信號傳輸方式是從冒號“:”開始,回車換行符結(jié)束。而其他的域是從十六進(jìn)制的0~9,A~F的數(shù)據(jù)雙字節(jié)傳輸。在檢測時,偵測冒號“:”,當(dāng)檢測冒號“:”時,返回設(shè)備解碼信息,間隔最長不能超過1 s,否則將被認(rèn)為是一個錯誤傳輸[5]。
(2)RTU 幀
RTU模式的數(shù)據(jù)信號傳輸發(fā)送3.5個雙字節(jié),其主要工作方式為:①地址域信息傳輸方式。從一個新數(shù)據(jù)信號傳輸?shù)搅硪粋€地址域新數(shù)據(jù)信號時,接收的信息將是前一數(shù)據(jù)信號的延續(xù)。當(dāng)檢測到小于3.5個雙字節(jié)數(shù)據(jù)時,將被認(rèn)為是CRC域值檢測錯誤。②整個數(shù)據(jù)信號幀作為傳輸流信息。該傳輸信號為1.5個雙字節(jié),有停頓時間并不斷刷新接收信號。有超過1.5個雙字節(jié)時,將被認(rèn)為是CRC域值檢測錯誤。③最后一個雙字節(jié)傳輸,出現(xiàn)一個至少3.5個雙字節(jié)時間的停頓,這標(biāo)定了數(shù)據(jù)信號的結(jié)束,一個新的數(shù)據(jù)信號可在此停頓后繼續(xù)開始,如此循環(huán)。④傳輸?shù)谝粋€地址域,從0~9,A~F不斷偵測總線網(wǎng)絡(luò),對每個設(shè)備都進(jìn)行了解碼,用以判斷信號是否已經(jīng)返回。
(3)地址域
單個設(shè)備的地址域是0~247的十進(jìn)制數(shù),多個設(shè)備的地址域是包含2個雙字節(jié),即ASCII和8 bit RTU的地址。①主設(shè)備與從設(shè)備通過地址聯(lián)接,信號傳輸時,要先選通從設(shè)備再選通主設(shè)備,從設(shè)備發(fā)送回數(shù)據(jù)給主設(shè)備,將信號傳輸?shù)街髟O(shè)備的地址域之中,然后主設(shè)備作出回應(yīng)。②廣播地址為“0”。所有的從設(shè)備都是作為認(rèn)知設(shè)備,采用Modbus協(xié)議進(jìn)行廣播,不允許以其他方式來代替。
需要編制一個通用設(shè)備驅(qū)動構(gòu)件,其具體方法比較復(fù)雜和難懂。但在實際應(yīng)用中,若設(shè)備的作用和功能都已經(jīng)明確,那么設(shè)備驅(qū)動構(gòu)件的編制就顯得簡單很多。這里將以ADAM 4050為例,論述如何編制特定功能的設(shè)備驅(qū)動構(gòu)件[6]。
功能要求為:能隨時讀入8個模擬量輸入通道的狀態(tài)和設(shè)置4個模擬量輸出通道的輸出狀態(tài)。根據(jù)前面所述,利用高級的開發(fā)語言向?qū)?,編譯生成一個通信設(shè)備的驅(qū)動構(gòu)件源代碼程序框架;假定工程名設(shè)為:Memy4050,類型名設(shè)為:memy555111。
定義一個屬性DeveNumber,用來標(biāo)識模塊的地址號:Public DeveNumber As Long;然后把屬性DevChannel中的值設(shè)置為15;在接口CollectDevDat中編制程序代碼如下:
On Error Resume Next Dim myflage As Long myflage = CollectOneComm(meParente,Deve Number,date)
CollectDeveDate = 0
If myflage <> 0 Then CollectDeveDate = -1
……
編譯該工程,得到動態(tài)鏈接庫(DLL)文件Memy 5511.dll,將該文件復(fù)制到MCGS的programedriveres目錄下,即可完成本設(shè)備驅(qū)動構(gòu)件程序的編譯工作。
本模塊在現(xiàn)場試驗先通過采集模塊來實現(xiàn)對所需參數(shù)的采集,該模塊圖形的形式顯示了采集數(shù)據(jù),可以很直觀地看出采集到數(shù)據(jù)的趨勢,如圖2所示。
圖2 實時數(shù)據(jù)顯示界面
該模塊形成的組件如取名為Me5511.dll,則泵站計算機(jī)監(jiān)控上位機(jī)軟件中可以調(diào)用該組件。并把數(shù)據(jù)讀到上位機(jī)軟件界面中。同時在界面中加入水頭、流量等參數(shù),配合使用,并在右邊采用實時繪圖軟件繪出各參數(shù)的圖形。
本文采用ADAM模塊開發(fā)軟件實現(xiàn)了泵站主機(jī)數(shù)據(jù)監(jiān)測模塊的開發(fā),并在上位機(jī)中進(jìn)行實踐應(yīng)用,該應(yīng)用豐富了泵站計算機(jī)監(jiān)控系統(tǒng)的內(nèi)容,完善了泵站計算機(jī)監(jiān)控系統(tǒng)對機(jī)組數(shù)據(jù)監(jiān)測的功能,有效地提升了泵站綜合自動化水平。本模塊的開發(fā)經(jīng)驗可為其他模塊的開發(fā)以及泵站計算機(jī)監(jiān)控系統(tǒng)的進(jìn)一步升級提供借鑒。