基于MODBUS總線多功能電力儀表遠程通訊的軟件開發技術_第1頁
基于MODBUS總線多功能電力儀表遠程通訊的軟件開發技術_第2頁
基于MODBUS總線多功能電力儀表遠程通訊的軟件開發技術_第3頁
基于MODBUS總線多功能電力儀表遠程通訊的軟件開發技術_第4頁
基于MODBUS總線多功能電力儀表遠程通訊的軟件開發技術_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、基于MODBUS總線多功能電力儀表遠程通訊的軟件開發技術【內容摘要】本文通過對江陰長江斯菲爾電力儀表公司的多功能電力儀表進行具體的分析,介紹了基于VisualBasic軟件編程開發了遠程讀取多功能電力儀表數據的程序。通過MSComm控件對RS-232串口COM1的進行控制,實現了對多功能電力儀表遠程控制功能。【關鍵詞】RS-232串口,MODBUS總線,MSComm控件,232/485轉換模塊AbstractThepaperanalyzesmultifunctionalelectricalinstrumentofJianYinChangjiangSfereElectricPowerCompan

2、yLimitedsp【內容摘要】本文通過對江陰長江斯菲爾電力儀表公司的多功能電力儀表進行具體的分析,介紹了基于VisualBasic軟件編程開發了遠程讀取多功能電力儀表數據的程序。通過MSComm控件對RS-232串口COM1的進行控制,實現了對多功能電力儀表遠程控制功能。【關鍵詞】RS-232串口,MODBUS總線,MSComm控件,232/485轉換模塊AbstractThepaperanalyzesmultifunctionalelectricalinstrumentofJianYinChangjiangSfereElectricPowerCompanyLimitedspecifical

3、ly.ItisintroducedremotelyaccessingmultifunctionalelectricalinstrumentbyapplicationofVisualBasic.ThepaperachievestoremotelycontrolmultifunctionalelectricalinstrumentbyusingMSCommcontroltoaccessserialportCOM1.KeyWordsRS-232serialport,MODBUS,MSCommControl,232/485ConverterModule一、前言原來的電力系統中,高低壓配電柜中往往要安裝

4、各種各樣的儀表,(如電度表、電流表、電壓表等)實現對電力系統的監視。而如果在一些大廠往往就有很多儀表,每隔一段時間就要有專人帶著紙筆到廠區內的所有儀表點巡視一番,并將所有的數值記錄下來,帶回辦公室作數據分析和處理。隨著計算機科學技術的發展,計算機在電力監控領域中得到了越來越廣泛的應用。使用多功能智能電力儀表代替機械式的電力儀表是工業自動化的大勢所趨。由于多功能儀表不但可以一表多用,而且一般的多功能儀表都可以通過其通訊接口來實現對儀表的編程、數據采集等功能。所以使用多功能電力儀表能夠在很大程度上減少人們的勞力,并且可以極大地提高效率。由于實現對電力多功能儀表的監視,功能比較單一,且市場上的組態軟

5、件也比較昂貴。在這里作者就是用MSComm控件實現對串口的控制,實現對陰長江斯菲爾電力儀表公司的多功能電力儀表遠程讀取電能數據,從而達到軟件的設計。MSComm控件是Microsoft提供的擴展控件,用于支持VB程序對串口的訪問,該控件“隱藏”了大部分串口通訊的底層運行過程和許多煩瑣的處理過程,同時支持查詢方法和事件驅動通訊的機制。因此用其實現微機串口的數據通訊相當簡單,以很少的程序代碼就可以輕松串口的訪問和數據通訊。二、MODBUS通訊協議分析:由于江陰長江斯菲爾電力儀表公司CD194E系列的多功能電力儀表是采用遠程RS-485數字接口(差分、半雙工)和使用MODBUS-RTU通訊協議,來實

6、現對儀表的編程、數據采集等功能,所以先介紹MODBUS協議:MODBUS協議是一種主從式點對點的通訊協議,允許一臺主機和多臺從機之間進行數據通信,在CD194E系列的多功能電力儀表通訊系統中,主機是微機(PC、工控機、PLC),從機是CD194E列儀表。在該通訊系統中,允許系統連接多達128個儀表及1200米的通訊距離。通訊方式采用主機請求,從機應答。即:主機提出命令請求,從機響應接收數據后作數據分析,如果數據滿足通訊規約,從機做數據響應。主、從機間的通訊每一幀數據包含以下信息(16進制):從機地址、命令字、信息字、校驗碼從機地址(1個字節):從機設備號,主機利用從機地址來識別進行通訊從機設備

7、。命令字(1個字節):設定主機對從機的通訊內容。信息字(N個字節):包括進行兩機通訊中各種數據地址、數據長度、數據信息。校驗碼(2個字節):用于檢測數據通訊錯誤,采用循環冗余碼CRC16。通訊參數的設置:通過儀表上的編程鍵盤對儀表的儀表地址(1-247)、通訊速度(4800或9600)和數據格式(1個起始位,8個數據位,1個停止位,可選擇無校驗位、奇校驗位、偶校驗位。)進行設置。網絡連線如圖一如示:在這里,作者使用的是臺灣泓格科技有限公司的232/485轉換模塊I-7520。由主控計算機送出的命令是通過RS-232串行通信端口發送出去,此信號經過232/485轉換模塊(模塊編號I-7520)將

8、信號標準電位及類型轉換后,在485網絡上傳播開來。多功能電力儀表收到屬于自身的命令后,會進行分析控制的操作,最后將結果送至485網絡,讓此信號再通過I-7520的轉換后,可由計算機的RS-232串行通信端口接收進來。整個送收過程全是以串行處理。三、軟件的設計和開發注:從CD194E系列的多功能電力儀表傳過來的電功率數據就存放在Byte1到Byte4內。3.通信步驟:加入通信控件。也就是MSComm控件設置通信端口號碼。即CommPort屬性,在本文使用Com1。設置通訊參數。即Settings屬性。在本文設置為9600,n,8,1。即通訊速度為9600,數據格式為1個起始位,8個數據位,1個停

9、止位,無校驗位。注意必須與多功能電力儀表的設置一致,不然就會通信失敗。設置其它參數。必要時再加上其它的屬性設置。打開通信端口。即PortOpen屬性設成True。每隔毫秒送出字符串或讀入字符串。即發送命令4(讀N個字節)來讀取電功率參數,使用Input及Output屬性。使用完MSComm控件后,將通信端口關閉。4.人機界面:5程序代碼:API函數聲名PrivateDeclareFunctionGetTickCountLibkernel32()AsLong點擊結束程序按鈕PrivateSubCmdEnd_Click()EndEndSub點擊讀取電功率按鈕PrivateSubCmdRead_Cl

10、ick()Timer1.Enabled=NotTimer1.EnabledIfTimer1.EnabledThenCmdRead.Caption=停止讀數ElseCmdRead.Caption=讀取電功率EndIfEndSub程序初始化PrivateSubForm_Load()MSComm1.InputMode=comInputModeBinaryMSComm1.PortOpen=TrueTimer1.Enabled=FalseEndSubPrivateSubTimer1_Timer()DimC4%,C5%,C6%,C7%DimTick&DimDataAsDoubleDimBuf()AsByt

11、eDimByteOut(7)AsByteMSComm1.InputLen=0Buf=MSComm1.Input重新定義數據輸入緩沖區,發送命令4MSComm1.InputLen=1ByteOut(0)=&H1ByteOut(1)=&H4ByteOut(2)=&H0ByteOut(3)=&H5CByteOut(4)=&H0ByteOut(5)=&H4ByteOut(6)=&H31ByteOut(7)=&HDBMSComm1.Output=ByteOut(0)&ByteOut(1)&ByteOut(2)&ByteOut(3)&ByteOut(4)&ByteOut(5)&ByteOut(6)&Byt

12、eOut(7)等待多功能電力儀表響應的數據到達串口Tick=GetTickCount()DoIf(GetTickCount()-Tick)/1000#10ThenMsgBox時間過久,請檢查多功能電力儀表及傳輸狀態!,vbCritical+vbOKOnly,系統信息ExitSubEndIfDoEventsLoopUntilMSComm1.InBufferCount=9從輸入緩沖區讀數據Buf=MSComm1.InputIfBuf(0)1ThenMsgBox地址錯誤!,vbCritical+vbOKOnly,系統信息ExitSubEndIfBuf=MSComm1.InputIfBuf(0)4Th

13、enMsgBox長度錯誤!,vbCritical+vbOKOnly,系統信息ExitSubEndIfBuf=MSComm1.InputC4=Buf(0)Buf=MSComm1.InputC5=Buf(0)Buf=MSComm1.InputC6=Buf(0)Buf=MSComm1.InputC7=Buf(0)Buf=MSComm1.InputBuf=MSComm1.InputData=Power(C4,C5,C6,C7)TxtPower.Text=CStr(Data)EndSub自定義功率換算函數PrivateFunctionPower(C4%,C5%,C6%,C7%)DimPowerExpAs

14、String,MantissaAsStringDimReadValue#DimValueSign&If(C4And&H80)/27)=TrueThenValueSign=-1ElseValueSign=1EndIfPowerExp=CStr(C4And&H7F)2+(C5And&H80)/27)Mantissa=CStr(&H80OrC5)216+C628+C7)ReadValue=ValueSign2(Val(PowerExp)-126)Val(Mantissa)/(25665536)Power=ReadValueEndFunction四、結論本實例是作者在實驗室做過多次實驗,達到了預定的應用效果,目前在江西某廠取得了實際的應用。該控制系統的最大優點是:1,從硬件上看,僅僅使用一個轉換模塊就可以實現全廠電能遠程監控和集中管理的功能。大大提高了效率,且十分經濟實惠。2,從軟件上

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論