您現(xiàn)在的位置:
中國傳動(dòng)網(wǎng)
>
技術(shù)頻道
>
應(yīng)用方案
>
基于 MODBUS 總線多功能電力儀表遠(yuǎn)程通訊的軟件開發(fā)技術(shù)
時(shí)間:2007-03-05 16:50:00來源:jiangf
在這里,作者使用的是臺(tái)灣泓格科技有限公司的232/485轉(zhuǎn)換模塊 I-7520。由主控計(jì)算機(jī)送出的命令是通過 RS-232 串行通信端口發(fā)送出去,此信號(hào)經(jīng)過 232/485 轉(zhuǎn)換模塊(模塊編號(hào)I-7520)將信號(hào)標(biāo)準(zhǔn)電位及類型轉(zhuǎn)換后,在 485 網(wǎng)絡(luò)上傳播開來。多功能電力儀表收到屬于自身的命令后,會(huì)進(jìn)行分析控制的操作,最后將結(jié)果送至485網(wǎng)絡(luò),讓此信號(hào)再通過I-7520的轉(zhuǎn)換后,可由計(jì)算機(jī)的 RS-232串行通信端口接收進(jìn)來。整個(gè)送收過程全是以串行處理。
三、軟件的設(shè)計(jì)和開發(fā)
注:從 CD194E 系列的多功能電力儀表傳過來的電功率數(shù)據(jù)就存放在 Byte1到 Byte4 內(nèi)。
3.通信步驟:
⑴加入通信控件。也就是 MSComm控件
⑵設(shè)置通信端口號(hào)碼。即 CommPort屬性,在本文使用 Com1。
⑶設(shè)置通訊參數(shù)。即Settings 屬性。在本文設(shè)置為 9600,n,8,1。即通訊速度為 9600,數(shù)據(jù)格式為1 個(gè)起始位,8個(gè)數(shù)據(jù)位,1個(gè)停止位,無校驗(yàn)位。注意必須與多功能電力儀表的設(shè)置一致,不然就會(huì)通信失敗。
⑷設(shè)置其它參數(shù)。必要時(shí)再加上其它的屬性設(shè)置。
⑸打開通信端口。即PortOpen 屬性設(shè)成 True。
⑹每隔500毫秒送出字符串或讀入字符串。即發(fā)送命令 4(讀N 個(gè)字節(jié))來讀取電功率參數(shù),使用Input 及 Output屬性。
⑺使用完 MSComm控件后,將通信端口關(guān)閉。
4.人機(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í)間過久,請(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)室做過多次實(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ù),國防工業(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)換模塊說明書.標(biāo)簽:
傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為傳動(dòng)網(wǎng)(connectcrack.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
產(chǎn)品新聞
更多>耐磨管道機(jī)器人檢測(cè)電纜CCTV,水下管道...
2025-09-23
影視舞臺(tái)燈光低煙無鹵扁平電纜13*4+2*(2...
2025-09-23
「頻」實(shí)力,新上市——富士電機(jī) FRENIC...
2025-09-08
華為昇騰Atlas800iA2 910B服務(wù)器Deepsee...
2025-09-04
TaiShan(泰山)200 2280系列服務(wù)器 鯤...
2025-09-03
2025-08-06