基于MODBUS現場(chǎng)總線(xiàn)技術(shù)的電力儀表遠程通訊軟件開(kāi)發(fā)
原來(lái)的電力系統中,高低壓配電柜中往往要安裝各種各樣的儀表,(如電度表、電流表、電壓表等)實(shí)現對電力系統的監視。而如果在一些大廠(chǎng)往往就有很多儀表,每隔一段時(shí)間就要有專(zhuān)人帶著(zhù)紙筆到廠(chǎng)區內的所有儀表點(diǎn)巡視一番,并將所有的數值記錄下來(lái),帶回辦公室作數據分析和處理。
隨著(zhù)計算機科學(xué)技術(shù)的發(fā)展,計算機在電力監控領(lǐng)域中得到了越來(lái)越廣泛的應用。使用多功能智能電力儀表代替機械式的電力儀表是工業(yè)自動(dòng)化的大勢所趨。由于多功能儀表不但可以一表多用,而且一般的多功能儀表都可以通過(guò)其通訊接口來(lái)實(shí)現對儀表的編程、數據采集等功能。所以使用多功能電力儀表能夠在很大程度上減少人們的勞力,并且可以極大地提高效率。由于實(shí)現對電力多功能儀表的監視,功能比較單一,且市場(chǎng)上的組態(tài)軟件也比較昂貴。在這里作者就是用 MSComm控件實(shí)現對串口的控制,實(shí)現對陰長(cháng)江斯菲爾電力儀表公司的多功能電力儀表遠程讀取電能數據,從而達到軟件的設計。MSComm控件是 Microsoft提供的擴展控件,用于支持 VB程序對串口的訪(fǎng)問(wèn),該控件“隱藏”了大部分串口通訊的底層運行過(guò)程和許多煩瑣的處理過(guò)程,同時(shí)支持查詢(xún)方法和事件驅動(dòng)通訊的機制。因此用其實(shí)現微機串口的數據通訊相當簡(jiǎn)單,以很少的程序代碼就可以輕松串口的訪(fǎng)問(wèn)和數據通訊。
二、MODBUS通訊協(xié)議分析:
由于江陰長(cháng)江斯菲爾電力儀表公司 CD194E系列的多功能電力儀表是采用遠程 RS-485 數字接口(差分、半雙工)和使用 MODBUS-RTU通訊協(xié)議,來(lái)實(shí)現對儀表的編程、數據采集等功能,所以先介紹 MODBUS 協(xié)議:
MODBUS 協(xié)議是一種主從式點(diǎn)對點(diǎn)的通訊協(xié)議,允許一臺主機和多臺從機之間進(jìn)行數據通信,在 CD194E 系列的多功能電力儀表通訊系統中,主機是微機(PC、工控機、PLC),從機是 CD194E列儀表。在該通訊系統中,允許系統連接多達128 個(gè)儀表及1200米的通訊距離。通訊方式采用主機請求,從機應答。即:主機提出命令請求,從機響應接收數據后作數據分析,如果數據滿(mǎn)足通訊規約,從機做數據響應。 主、從機間的通訊每一幀數據包含以下信息(16進(jìn)制):
從機地址、命令字、信息字、校驗碼
從機地址(1個(gè)字節):從機設備號,主機利用從機地址來(lái)識別進(jìn)行通訊從機設備。
命令字(1個(gè)字節):設定主機對從機的通訊內容。
信息字(N個(gè)字節):包括進(jìn)行兩機通訊中各種數據地址、數據長(cháng)度、數據信息。
校驗碼(2個(gè)字節):用于檢測數據通訊錯誤,采用循環(huán)冗余碼 CRC16。
通訊參數的設置:通過(guò)儀表上的編程鍵盤(pán)對儀表的儀表地址(1-247)、通訊速度(4800或9600)和
數據格式(1個(gè)起始位,8個(gè)數據位,1個(gè)停止位,可選擇無(wú)校驗位、奇校驗位、偶校驗位。)進(jìn)行設置。
網(wǎng)絡(luò )連線(xiàn)如圖一如示:
在這里,作者使用的是臺灣泓格科技有限公司的232/485轉換模塊 I-7520。由主控計算機送出的命令是通過(guò) RS-232 串行通信端口發(fā)送出去,此信號經(jīng)過(guò) 232/485 轉換模塊(模塊編號I-7520)將信號標準電位及類(lèi)型轉換后,在 485網(wǎng)絡(luò )上傳播開(kāi)來(lái)。多功能電力儀表收到屬于自身的命令后,會(huì )進(jìn)行分析控制的操作,最后將結果送至485網(wǎng)絡(luò ),讓此信號再通過(guò)I-7520的轉換后,可由計算機的 RS-232串行通信端口接收進(jìn)來(lái)。整個(gè)送收過(guò)程全是以串行處理。
三、軟件的設計和開(kāi)發(fā)
注:從 CD194E 系列的多功能電力儀表傳過(guò)來(lái)的電功率數據就存放在 Byte1到 Byte4 內。
3. 通信步驟:
⑴加入通信控件。也就是 MSComm控件
⑵設置通信端口號碼。即 CommPort屬性,在本文使用 Com1。
⑶設置通訊參數。即Settings 屬性。在本文設置為 9600,n,8,1。即通訊速度為 9600,數據格式為1 個(gè)起始位,8個(gè)數據位,1個(gè)停止位,無(wú)校驗位。注意必須與多功能電力儀表的設置一致,不然就會(huì )通信失敗。
⑷設置其它參數。必要時(shí)再加上其它的屬性設置。
⑸打開(kāi)通信端口。即PortOpen 屬性設成 True。
⑹每隔500毫秒送出字符串或讀入字符串。即發(fā)送命令 4(讀N 個(gè)字節)來(lái)讀取電功率參數,使用Input 及 Output屬性。
⑺使用完 MSComm控件后,將通信端口關(guān)閉。
評論