新闻中心

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 下一页

评论


相关推荐

技术专区

关闭