• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 基于 MODBUS 總線多功能電力儀表遠程通訊的軟件開發技術

    基于 MODBUS 總線多功能電力儀表遠程通訊的軟件開發技術

    作者: 時間:2012-07-14 來源:網絡 收藏

    '等待多功能響應的數據到達串口
    Tick=GetTickCount()
    Do
    If(GetTickCount()-Tick)/1000#>10Then
    MsgBox"時間過久,請檢查多功能及傳輸狀態!",vbCritical+vbOKOnly,"系統信息"
    ExitSub
    EndIf
    DoEvents
    LoopUntilMSComm1.InBufferCount>=9
    '從輸入緩沖區讀數據
    Buf=MSComm1.Input
    IfBuf(0)>1Then
    MsgBox"地址錯誤!",vbCritical+vbOKOnly,"系統信息"
    ExitSub
    EndIf
    Buf=MSComm1.Input
    IfBuf(0)>4Then
    MsgBox"長度錯誤!",vbCritical+vbOKOnly,"系統信息"
    ExitSub
    EndIf
    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)
    EndSub
    '自定義功率換算函數
    PrivateFunctionPower(C4%,C5%,C6%,C7%)
    DimPowerExpAsString,MantissaAsString
    DimReadValue#
    DimValueSign
    If((C4AndH80)/2︿7)=TrueThen
    ValueSign=-1
    Else
    ValueSign=1
    EndIf
    PowerExp=CStr((C4AndH7F)*2+(C5AndH80)/2︿7)
    Mantissa=CStr((H80OrC5)*2︿16+C6*2︿8+C7)
    ReadValue=ValueSign*2︿(Val(PowerExp)-126)*Val(Mantissa)/(256*65536)
    Power=ReadValue
    EndFunction

    四、結論
    本實例是作者在實驗室做過多次實驗,達到了預定的應用效果,目前在江西某廠取得了實際的應用。
    該控制系統的最大優點是:
    1,從硬件上看,僅僅使用一個轉換模塊就可以實現全廠電能遠程監控和集中管理的功能。大大提高了效率,且十分經濟實惠。
    2,從軟件上看,直接使用串口的控制技術,而不必需要寫額外的驅動程序。采用VB開發應用軟件十分方便,編程工作量小。
    【參考文獻】
    1.李肇慶、韓濤。串行端口技術,國防工業出版社,2004
    2.范逸之。VisualBasic與RS-232串行通信控制,清華大學出版社,2002
    3.范逸之。VisualBasic與分布監控系統——RS232/485串行通信,清華大學出版社,2002
    4.江陰長江斯菲爾有限公司使用手冊
    5.臺灣泓格科技有限公司的232/485轉換模塊說明書.


    上一頁 1 2 3 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 虹口区| 墨脱县| 札达县| 达州市| 金川县| 星座| 吉安县| 乌拉特中旗| 双流县| 江达县| 高雄县| 巫溪县| 茌平县| 建德市| 新竹市| 涟水县| 平南县| 桓台县| 稻城县| 静乐县| 九龙坡区| 门源| 凤庆县| 凤冈县| 潞西市| 盐亭县| 泌阳县| 乌兰察布市| 清苑县| 囊谦县| 巩义市| 桃园市| 赣榆县| 博客| 喀喇沁旗| 孝昌县| 汾阳市| 瑞昌市| 东阿县| 吉林省| 长海县|