音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

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

出處:xjcumt 發(fā)布于:2012-07-25 14:21:55

      一、前言

  原來(lái)的電力系統(tǒng)中,高低壓配電柜中往往要安裝各種各樣的儀表,(如電度表、電流表、電壓表等)實(shí)現(xiàn)對(duì)電力系統(tǒng)的監(jiān)視。而如果在一些大廠往往就有很多儀表,每隔一段時(shí)間就要有專人帶著紙筆到廠區(qū)內(nèi)的所有儀表點(diǎn)巡視一番,并將所有的數(shù)值記錄下來(lái),帶回辦公室作數(shù)據(jù)分析和處理。

  隨著計(jì)算機(jī)科學(xué)技術(shù)的發(fā)展,計(jì)算機(jī)在電力監(jiān)控領(lǐng)域中得到了越來(lái)越廣泛的應(yīng)用。使用多功能智能電力儀表代替機(jī)械式的電力儀表是工業(yè)自動(dòng)化的大勢(shì)所趨。由于多功能儀表不但可以一表多用,而且一般的多功能儀表都可以通過(guò)其通訊接口來(lái)實(shí)現(xiàn)對(duì)儀表的編程、數(shù)據(jù)采集等功能。所以使用多功能電力儀表能夠在很大程度上減少人們的勞力,并且可以極大地提高效率。由于實(shí)現(xiàn)對(duì)電力多功能儀表的監(jiān)視,功能比較單一,且市場(chǎng)上的組態(tài)軟件也比較昂貴。在這里作者就是用 MSComm控件實(shí)現(xiàn)對(duì)串口的控制,實(shí)現(xiàn)對(duì)陰長(zhǎng)江斯菲爾電力儀表公司的多功能電力儀表遠(yuǎn)程讀取電能數(shù)據(jù),從而達(dá)到軟件的設(shè)計(jì)。MSComm控件是 Microsoft提供的擴(kuò)展控件,用于支持 VB程序?qū)Υ诘脑L問(wèn),該控件“隱藏”了大部分串口通訊的底層運(yùn)行過(guò)程和許多煩瑣的處理過(guò)程,同時(shí)支持查詢方法和事件驅(qū)動(dòng)通訊的機(jī)制。因此用其實(shí)現(xiàn)微機(jī)串口的數(shù)據(jù)通訊相當(dāng)簡(jiǎn)單,以很少的程序代碼就可以輕松串口的訪問(wèn)和數(shù)據(jù)通訊。

  二、MODBUS 通訊協(xié)議分析:

  由于江陰長(zhǎng)江斯菲爾電力儀表公司 CD194E系列的多功能電力儀表是采用遠(yuǎn)程 RS-485 數(shù)字接口(差分、半雙工)和使用 MODBUS-RTU通訊協(xié)議,來(lái)實(shí)現(xiàn)對(duì)儀表的編程、數(shù)據(jù)采集等功能,所以先介紹 MODBUS 協(xié)議:

  MODBUS 協(xié)議是一種主從式點(diǎn)對(duì)點(diǎn)的通訊協(xié)議,允許一臺(tái)主機(jī)和多臺(tái)從機(jī)之間進(jìn)行數(shù)據(jù)通信,在 CD194E 系列的多功能電力儀表通訊系統(tǒng)中,主機(jī)是微機(jī)(PC、工控機(jī)、PLC),從機(jī)是 CD194E列儀表。在該通訊系統(tǒng)中,允許系統(tǒng)連接多達(dá)128 個(gè)儀表及1200米的通訊距離。通訊方式采用主機(jī)請(qǐng)求,從機(jī)應(yīng)答。即:主機(jī)提出命令請(qǐng)求,從機(jī)響應(yīng)接收數(shù)據(jù)后作數(shù)據(jù)分析,如果數(shù)據(jù)滿足通訊規(guī)約,從機(jī)做數(shù)據(jù)響應(yīng)。 主、從機(jī)間的通訊每一幀數(shù)據(jù)包含以下信息(16進(jìn)制):

  從機(jī)地址、命令字、信息字、校驗(yàn)碼

  從機(jī)地址(1個(gè)字節(jié)):從機(jī)設(shè)備號(hào),主機(jī)利用從機(jī)地址來(lái)識(shí)別進(jìn)行通訊從機(jī)設(shè)備。

  命令字(1個(gè)字節(jié)):設(shè)定主機(jī)對(duì)從機(jī)的通訊內(nèi)容。

  信息字(N個(gè)字節(jié)):包括進(jìn)行兩機(jī)通訊中各種數(shù)據(jù)地址、數(shù)據(jù)長(zhǎng)度、數(shù)據(jù)信息。

  校驗(yàn)碼(2個(gè)字節(jié)):用于檢測(cè)數(shù)據(jù)通訊錯(cuò)誤,采用循環(huán)冗余碼 CRC16。

  通訊參數(shù)的設(shè)置:通過(guò)儀表上的編程鍵盤對(duì)儀表的儀表地址(1-247)、通訊速度(4800或9600)和

  數(shù)據(jù)格式(1個(gè)起始位,8個(gè)數(shù)據(jù)位,1個(gè)停止位,可選擇無(wú)校驗(yàn)位、奇校驗(yàn)位、偶校驗(yàn)位。)進(jìn)行設(shè)置。

  網(wǎng)絡(luò)連線如圖一如示:

圖1 網(wǎng)絡(luò)連線

  在這里,作者使用的是臺(tái)灣泓格科技有限公司的232/485轉(zhuǎn)換模塊 I-7520。由主控計(jì)算機(jī)送出的命令是通過(guò) RS-232 串行通信端口發(fā)送出去,此信號(hào)經(jīng)過(guò) 232/485 轉(zhuǎn)換模塊(模塊編號(hào)I-7520)將信號(hào)標(biāo)準(zhǔn)電位及類型轉(zhuǎn)換后,在 485 網(wǎng)絡(luò)上傳播開來(lái)。多功能電力儀表收到屬于自身的命令后,會(huì)進(jìn)行分析控制的操作,將結(jié)果送至485網(wǎng)絡(luò),讓此信號(hào)再通過(guò)I-7520的轉(zhuǎn)換后,可由計(jì)算機(jī)的 RS-232串行通信端口接收進(jìn)來(lái)。整個(gè)送收過(guò)程全是以串行處理。

  三、軟件的設(shè)計(jì)和開發(fā)

圖2 軟件的設(shè)計(jì)和開發(fā)

  注:從 CD194E 系列的多功能電力儀表傳過(guò)來(lái)的電功率數(shù)據(jù)就存放在 Byte1到 Byte4 內(nèi)。

  3.通信步驟:

 ?、偶尤胪ㄐ趴丶R簿褪?MSComm控件

 ?、圃O(shè)置通信端口號(hào)碼。即 CommPort屬性,在本文使用 Com1。

  ⑶設(shè)置通訊參數(shù)。即Settings 屬性。在本文設(shè)置為 9600,n,8,1。即通訊速度為 9600,數(shù)據(jù)格式為1 個(gè)起始位,8個(gè)數(shù)據(jù)位,1個(gè)停止位,無(wú)校驗(yàn)位。注意必須與多功能電力儀表的設(shè)置一致,不然就會(huì)通信失敗。

 ?、仍O(shè)置其它參數(shù)。必要時(shí)再加上其它的屬性設(shè)置。

 ?、纱蜷_通信端口。即PortOpen 屬性設(shè)成 True。

 ?、拭扛簦担埃昂撩胨统鲎址蜃x入字符串。即發(fā)送命令 4(讀N 個(gè)字節(jié))來(lái)讀取電功率參數(shù),使用Input 及 Output屬性。

 ?、耸褂猛?MSComm控件后,將通信端口關(guān)閉。

  4.人機(jī)界面

圖3 人機(jī)界面

  5.程序代碼:

  'API 函數(shù)聲名

  Private Declare Function GetTickCount Lib "kernel32" () As Long

  '點(diǎn)擊結(jié)束程序按鈕

  Private Sub CmdEnd_Click()

  End

  End Sub

  '點(diǎn)擊讀取電功率按鈕

  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ù)到達(dá)串口

  Tick = GetTickCount()

  Do

  If (GetTickCount() - Tick) / 1000# > 10 Then

  MsgBox "時(shí)間過(guò)久,請(qǐng)檢查多功能電力儀表及傳輸狀態(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 "地址錯(cuò)誤!", vbCritical + vbOKOnly, "系統(tǒng)信息"

  Exit Sub

  End If

  Buf = MSComm1.Input

  If Buf(0) <> 4 Then

  MsgBox "長(zhǎng)度錯(cuò)誤!", 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é)論

  本實(shí)例是作者在實(shí)驗(yàn)室做過(guò)多次實(shí)驗(yàn),達(dá)到了預(yù)定的應(yīng)用效果,目前在江西某廠取得了實(shí)際的應(yīng)用。

  該控制系統(tǒng)的優(yōu)點(diǎn)是:

  1,從硬件上看,僅僅使用一個(gè)轉(zhuǎn)換模塊就可以實(shí)現(xiàn)全廠電能遠(yuǎn)程監(jiān)控和集中管理的功能。大大提高了效率,且十分經(jīng)濟(jì)實(shí)惠。

  2,從軟件上看,直接使用串口的控制技術(shù),而不必需要寫額外的驅(qū)動(dòng)程序。采用VB開發(fā)應(yīng)用軟件十分方便,編程工作量小。

  【參考文獻(xiàn)】

  1.李肇慶、韓濤。串行端口技術(shù),國(guó)防工業(yè)出版社,2004

  2.范逸之。Visual Basic 與 RS-232 串行通信控制,清華大學(xué)出版社,2002

  3.范逸之。Visual Basic  與分布監(jiān)控系統(tǒng)——RS232/485 串行通信,清華大學(xué)出版社,2002

  4.江陰長(zhǎng)江斯菲爾電力儀表有限公司使用手冊(cè)

  5.臺(tái)灣泓格科技有限公司的 232/485 轉(zhuǎn)換模塊說(shuō)明書.

      6. RS-485  datasheet http://m.58mhw.cn/datasheet/RS-485+_584821.html.

      7. PLC datasheet http://m.58mhw.cn/datasheet/PLC_1248813.html.

      8. RS-232  datasheet http://m.58mhw.cn/datasheet/RS-232+_584855.html.

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

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

PZ96L-E4-安科瑞-網(wǎng)絡(luò)多功能電力儀表
廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫(kù)提出的寶貴意見(jiàn),您的參與是維庫(kù)提升服務(wù)的動(dòng)力!意見(jiàn)一經(jīng)采納,將有感恩紅包奉上哦!