熟女人妻水多爽中文字幕,国产精品鲁鲁鲁,隔壁的少妇2做爰韩国电影,亚洲最大中文字幕无码网站

技術(shù)頻道

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

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

時間:2010-03-23 11:39:53來源:limin

導(dǎo)語:?本文通過對江陰長江斯菲爾電力儀表公司的多功能電力儀表進行具體的分析,介紹了基于 Visual Basic軟件編程開發(fā)了遠程讀取多功能電力儀表數(shù)據(jù)的程序。

一、前言
  原來的電力系統(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)對陰長江斯菲爾電力儀表公司的多功能電力儀表遠程讀取電能數(shù)據(jù),從而達到軟件的設(shè)計。MSComm控件是 Microsoft提供的擴展控件,用于支持 VB程序?qū)Υ诘脑L問,該控件“隱藏”了大部分串口通訊的底層運行過程和許多煩瑣的處理過程,同時支持查詢方法和事件驅(qū)動通訊的機制。因此用其實現(xiàn)微機串口的數(shù)據(jù)通訊相當(dāng)簡單,以很少的程序代碼就可以輕松串口的訪問和數(shù)據(jù)通訊。
二、MODBUS 通訊協(xié)議分析:
  由于江陰長江斯菲爾電力儀表公司 CD194E系列的多功能電力儀表是采用遠程 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
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)全廠電能遠程監(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)簽:

點贊

分享到:

上一篇:PC機與PLC的串行通信通過Modb...

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

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.hysjfh.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)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(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 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號

主站蜘蛛池模板: 连江县| 右玉县| 县级市| 思南县| 霸州市| 抚州市| 花莲县| 惠东县| 兰溪市| 宜昌市| 固镇县| 深圳市| 阳曲县| 岳池县| 香港 | 陵水| 徐水县| 华池县| 道真| 乌鲁木齐市| 彭泽县| 宜都市| 清流县| 永康市| 扎兰屯市| 康平县| 怀化市| 寿阳县| 小金县| 九江市| 肇源县| 北辰区| 尼玛县| 忻州市| 陇川县| 宝山区| 水富县| 英吉沙县| 苏州市| 游戏| 三河市|