微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于RS-485变频器与PC机串行通信的实现

基于RS-485变频器与PC机串行通信的实现

时间:12-12 来源:互联网 点击:

PrivateSubMSComm1_OnComm()‘[通过Comm事件接收数据]

DimRxAsString,RxLenAsInteger,SumAsInteger

DimMsgAsString

IfMSComm1.CommEvent<>comEvReceiveThenExitSub‘确认接收的数据是Comm事件

Do

Rx=Rx+MSComm1.Input‘接收变频器的数据

DoEvents

LoopUntilRight(Rx,2)=(Chr(13)&Chr(10))‘找到停止位

Timer1.Enabled=False‘取消超时定时器

RxLen=Len(Rx)-2‘接收数据字长(停止位除外)

Sum=0‘接收到的校验和的计算

Fori=1ToRxLen-1

Sum=Sum+Asc(Mid(Rx,i,1))

Nexti

Sum=((0-Sum)And127)Or64

IfMid(Rx,RxLen,1)=Chr(Sum)Then‘校验和的检查

Msg=Left(Rx,RxLen)‘接收数据(包括校验和,不包括停止位)

Else

Msg=“CheckSumNG”?‘校验和错误显示

EndIf

MsgBox“ReceivedData=”&Msg‘显示接收数据

MSComm1.PortOpen=False‘[关闭通信端口]

EndSub

‘在变频器的输出频率为20Hz时,运行该程序,在信息框中将显示“*01C02000@”

4结论

文章首先对RS-232与RS-485进行了比较,然后介绍了基于RS-485三垦变频器与上位机串行通信的实现,实验表明:利用VB编制的人机界面操作简便,取得了良好的实用效果。利用RS-485协议进行串行通信,可以保证快速、稳定远距离地传输数据。在目前以及以后的工业控制和其他方面必将得到越来越多的应用。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top