技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 基于MODBUS 總線多功能電力儀表遠(yuǎn)程通訊的軟件開發(fā)技術(shù)

基于MODBUS 總線多功能電力儀表遠(yuǎn)程通訊的軟件開發(fā)技術(shù)

時間:2007-06-15 17:31:00來源:shixiang

導(dǎo)語:?通過MSComm 控件對RS-232串口COM1 的進行控制,實現(xiàn)了對多功能電力儀表遠(yuǎn)程控制功能
Based on MODBUS Software Technology of Remote Communication about Multifuctional Electrical Instrument
【內(nèi)容摘要】本文通過對江陰長江斯菲爾電力儀表公司的多功能電力儀表進行具體的分析,介紹了基于Visual Basic 軟件編程開發(fā)了遠(yuǎn)程讀取多功能電力儀表數(shù)據(jù)的程序。通過MSComm 控件對RS-232串口COM1 的進行控制,實現(xiàn)了對多功能電力儀表遠(yuǎn)程控制功能。 【關(guān)鍵詞】RS-232 串口,MODBUS 總線,MSComm 控件,232/485 轉(zhuǎn)換模塊 Abstract The paper analyzes multifunctional electrical instrument of JianYin Changjiang Sfere Electric Power Company Limited specifically. It is introduced remotely accessing multifunctional electrical instrument by application of Visual Basic. The paper achieves to remotely control multifunctional electrical instrument by using MSComm control to access serial port COM1. Key Words RS-232 serial port, MODBUS, MSComm Control, 232/485 Converter Module 一、前言 原來的電力系統(tǒng)中,高低壓配電柜中往往要安裝各種各樣的儀表,(如電度表、電流表、電壓表等)實現(xiàn)對電力系統(tǒng)的監(jiān)視。而如果在一些大廠往往就有很多儀表,每隔一段時間就要有專人帶著紙筆到廠區(qū)內(nèi)的所有儀表點巡視一番,并將所有的數(shù)值記錄下來,帶回辦公室作數(shù)據(jù)分析和處理。 隨著計算機科學(xué)技術(shù)的發(fā)展,計算機在電力監(jiān)控領(lǐng)域中得到了越來越廣泛的應(yīng)用。使用多功能智能電力儀表代替機械式的電力儀表是工業(yè)自動化的大勢所趨。由于多功能儀表不但可以一表多用,而且一般的多功能儀表都可以通過其通訊接口來實現(xiàn)對儀表的編程、數(shù)據(jù)采集等功能。所以使用多功能 電力儀表能夠在很大程度上減少人們的勞力,并且可以極大地提高效率。 由于實現(xiàn)對電力多功能儀表的監(jiān)視,功能比較單一,且市場上的組態(tài)軟件也比較昂貴。在這里作者就是用MSComm 控件實現(xiàn)對串口的控制,實現(xiàn)對江陰長江斯菲爾電力儀表公司的多功能電力儀表遠(yuǎn)程讀取電能數(shù)據(jù),從而達到軟件的設(shè)計。MSComm 控件是Microsoft 提供的擴展控件,用于支持VB 程序?qū)Υ诘脑L問,該控件“隱藏”了大部分串口通訊的底層運行過程和許多煩瑣的處理過程,同時支持查詢方法和事件驅(qū)動通訊的機制。因此用其實現(xiàn)微機串口的數(shù)據(jù)通訊相當(dāng)簡單,以很少的程序代碼就可以輕松串口的訪問和數(shù)據(jù)通訊。 二、MODBUS 通訊協(xié)議分析: 由于江陰長江斯菲爾電力儀表公司CD194E 系列的多功能電力儀表是采用遠(yuǎn)程RS-485 數(shù)字接口(差分、半雙工)和使用MODBUS-RTU 通訊協(xié)議,來實現(xiàn)對儀表的編程、數(shù)據(jù)采集等功能,所以先介紹MODBUS 協(xié)議: MODBUS 協(xié)議是一種主從式點對點的通訊協(xié)議,允許一臺主機和多臺從機之間進行數(shù)據(jù)通信,在CD194E 系列的多功能電力儀表通訊系統(tǒng)中,主機是微機(PC、工控機、PLC),從機是CD194E系列儀表。在該通訊系統(tǒng)中,允許系統(tǒng)連接多達128 個儀表及1200 米的通訊距離。通訊方式采用主 機請求,從機應(yīng)答。即:主機提出命令請求,從機響應(yīng)接收數(shù)據(jù)后作數(shù)據(jù)分析,如果數(shù)據(jù)滿足通訊規(guī)約,從機做數(shù)據(jù)響應(yīng)。 主、從機間的通訊每一幀數(shù)據(jù)包含以下信息(16 進制): 從機地址、命令字、信息字、校驗碼 從機地址(1 個字節(jié)):從機設(shè)備號,主機利用從機地址來識別進行通訊從機設(shè)備。 命令字(1 個字節(jié)):設(shè)定主機對從機的通訊內(nèi)容。 信息字(N 個字節(jié)):包括進行兩機通訊中各種數(shù)據(jù)地址、數(shù)據(jù)長度、數(shù)據(jù)信息。 校驗碼(2 個字節(jié)):用于檢測數(shù)據(jù)通訊錯誤,采用循環(huán)冗余碼CRC16。 通訊參數(shù)的設(shè)置:通過儀表上的編程鍵盤對儀表的儀表地址(1-247)、通訊速度(4800 或9600)和數(shù)據(jù)格式(1 個起始位,8 個數(shù)據(jù)位,1 個停止位,可選擇無校驗位、奇校驗位、偶校驗位。)進行設(shè)置。 網(wǎng)絡(luò)連線如圖一如示:
在這里,作者使用的是臺灣泓格科技有限公司的232/485 轉(zhuǎn)換模塊I-7520。由主控計算機送出的命令是通過RS-232 串行通信端口發(fā)送出去,此信號經(jīng)過232/485 轉(zhuǎn)換模塊(模塊編號I-7520)將信號標(biāo)準(zhǔn)電位及類型轉(zhuǎn)換后,在485 網(wǎng)絡(luò)上傳播開來。多功能電力儀表收到屬于自身的命令后,會進行分 析控制的操作,最后將結(jié)果送至485 網(wǎng)絡(luò),讓此信號再通過I-7520 的轉(zhuǎn)換后,可由計算機的RS-232串行通信端口接收進來。整個送收過程全是以串行處理。 三、軟件的設(shè)計和開發(fā)
注:從CD194E 系列的多功能電力儀表傳過來的電功率數(shù)據(jù)就存放在Byte1 到Byte4 內(nèi)。 3.通信步驟: ⑴加入通信控件。也就是MSComm 控件 ⑵設(shè)置通信端口號碼。即CommPort 屬性,在本文使用Com1。 ⑶設(shè)置通訊參數(shù)。即Settings 屬性。在本文設(shè)置為9600,n,8,1。即通訊速度為9600,數(shù)據(jù)格式為1 個 起始位,8 個數(shù)據(jù)位,1 個停止位,無校驗位。注意必須與多功能電力儀表的設(shè)置一致,不然就會通 信失敗。 ⑷設(shè)置其它參數(shù)。必要時再加上其它的屬性設(shè)置。 ⑸打開通信端口。即PortOpen 屬性設(shè)成True。 ⑹每隔500毫秒送出字符串或讀入字符串。即發(fā)送命令4(讀N 個字節(jié))來讀取電功率參數(shù),使用 Input 及Output 屬性。 ⑺使用完MSComm 控件后,將通信端口關(guān)閉。 4.人機界面:
5.程序代碼: ’API 函數(shù)聲名 Private Declare Function GetTickCount Lib "kernel32" () As Long ’點擊結(jié)束程序按鈕 Private Sub CmdEnd_Click() End End Sub ’點擊讀取電功率按鈕 Private Sub CmdRead_Click() Timer1.Enabled = Not Timer1.Enabled If Timer1.Enabled Then CmdRead.Caption = "停止讀數(shù)" Else CmdRead.Caption = "讀取電功率" End If End Sub ’程序初始化 Private Sub Form_Load() MSComm1.InputMode = comInputModeBinary MSComm1.PortOpen = True Timer1.Enabled = False End Sub Private Sub Timer1_Timer() Dim C4%, C5%, C6%, C7% Dim Tick& Dim Data As Double Dim Buf() As Byte Dim ByteOut(7) As Byte MSComm1.InputLen = 0 Buf = MSComm1.Input ’重新定義數(shù)據(jù)輸入緩沖區(qū), 發(fā)送命令4 MSComm1.InputLen = 1 ByteOut(0) = &H1 ByteOut(1) = &H4 ByteOut(2) = &H0 ByteOut(3) = &H5C ByteOut(4) = &H0 ByteOut(5) = &H4 ByteOut(6) = &H31 ByteOut(7) = &HDB MSComm1.Output = ByteOut(0) & ByteOut(1) & ByteOut(2) & ByteOut(3) & ByteOut(4) & ByteOut(5) & ByteOut(6) & ByteOut(7) ’等待多功能電力儀表響應(yīng)的數(shù)據(jù)到達串口 Tick = GetTickCount() Do If (GetTickCount() - Tick) / 1000# > 10 Then MsgBox "時間過久,請檢查多功能電力儀表及傳輸狀態(tài)!", vbCritical + vbOKOnly, "系統(tǒng)信息" Exit Sub End If DoEvents Loop Until MSComm1.InBufferCount >= 9 ’從輸入緩沖區(qū)讀數(shù)據(jù) Buf = MSComm1.Input If Buf(0) <> 1 Then MsgBox "地址錯誤!", vbCritical + vbOKOnly, "系統(tǒng)信息" Exit Sub End If Buf = MSComm1.Input If Buf(0) <> 4 Then MsgBox "命令錯誤!", vbCritical + vbOKOnly, "系統(tǒng)信息" Exit Sub End If Buf = MSComm1.Input If Buf(0) <> 4 Then MsgBox "長度錯誤!", vbCritical + vbOKOnly, "系統(tǒng)信息" Exit Sub End If Buf = MSComm1.Input C4 = Buf(0) Buf = MSComm1.Input C5 = Buf(0) Buf = MSComm1.Input C6 = Buf(0) Buf = MSComm1.Input C7 = Buf(0) Buf = MSComm1.Input Buf = MSComm1.Input Data = Power(C4, C5, C6, C7) TxtPower.Text = CStr(Data) End Sub ’自定義功率換算函數(shù) Private Function Power(C4%, C5%, C6%, C7%) Dim PowerExp As String, Mantissa As String Dim ReadValue# Dim ValueSign& If ((C4 And &H80) / 2 ︿ 7) = True Then ValueSign = -1 Else ValueSign = 1 End If PowerExp = CStr((C4 And &H7F) * 2 + (C5 And &H80) / 2 ︿ 7) Mantissa = CStr((&H80 Or C5) * 2 ︿ 16 + C6 * 2 ︿ 8 + C7) ReadValue = ValueSign * 2 ︿ (Val(PowerExp) - 126) * Val(Mantissa) / (256 * 65536) Power = ReadValue End Function 四、結(jié)論 本實例是作者在實驗室做過多次實驗,達到了預(yù)定的應(yīng)用效果,目前在江西某廠取得了實際的應(yīng)用。 該控制系統(tǒng)的最大優(yōu)點是: 1,從硬件上看,僅僅使用一個轉(zhuǎn)換模塊就可以實現(xiàn)全廠電能遠(yuǎn)程監(jiān)控和集中管理的功能。大大提高了效率,且十分經(jīng)濟實惠。 2,從軟件上看,直接使用串口的控制技術(shù),而不必需要寫額外的驅(qū)動程序。采用VB 開發(fā)應(yīng)用軟件十分方便,編程工作量小。 【參考文獻】 1.李肇慶、韓濤。串行端口技術(shù),國防工業(yè)出版社,2004 2.范逸之。Visual Basic 與RS-232 串行通信控制,清華大學(xué)出版社,2002 3.范逸之。Visual Basic 與分布監(jiān)控系統(tǒng)——RS232/485 串行通信,清華大學(xué)出版社,2002 4.江陰長江斯菲爾電力儀表有限公司使用手冊 5. 臺灣泓格科技有限公司的232/485 轉(zhuǎn)換模塊說明書.

標(biāo)簽:

點贊

分享到:

上一篇:動力廠變配電自動化系統(tǒng)改造...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.treenowplaneincome.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號