求助:VB串口通讯 发送命令接受数据

我需要在上位机发送命令然后下位机返回数据,在界面上显示其中的三相温度数据。如何编写VB代码?1)上位机下传数据格式:发送次序说明内容备注1温控器地址01H~ffH2功能代... 我需要在上位机发送命令然后下位机返回数据,在界面上显示其中的三相温度数据。如何编写VB代码?

1) 上位机下传数据格式:
发送次序 说明 内容 备注
1 温控器地址 01H~ffH
2 功能代码 03H 仅支持03H读数据功能
3 起始地址字 高8位 00H 要读出的数据字在下位机存储的起始地址
4 起始地址字 低8位 00H
5 读取数据个数字 高8位 00H 固定读取6个字的内容
6 读取数据个数字 低8位 06H
7 CRC校验 低8位 xxH
8 CRC校验 高8位 xxH

2) 下位机返回的数据格式:
发送次序 说明 内容 备注
1 温控器地址 01H~ffH
2 功能代码 03H 仅支持03H读数据功能
3 返回数据的字节数 0CH 返回数据的字数*2
4 温控器状态字 高8位 00H 状态字定义见表三
5 温控器状态字 低8位 xxH
6 A相温度数据 高8位 00H 数据为16进制数,单位为1摄氏度,所得数据减23H即为实测温度
7 A相温度数据 低8位 xxH
8 B相温度数据 高8位 00H
9 B相温度数据 低8位 xxH
10 C相温度数据 高8位 00H
11 C相温度数据 低8位 xxH
12 定时开风机时间 高8位 00H 数据为零表示温控器已取消定时开风机功能
13 定时开风机时间 低8位 xxH
14 D相温度数据 高8位 00H 数据为16进制数,单位为1摄氏度,所得数据减23H即为实测温度(温控器无D相温度检测功能时,此参数无效)
15 D相温度数据 低8位 xxH
16 CRC校验 低8位 xxH
17 CRC校验 高8位 xxH

3) 举例说明:
当前有一台下位机,所设地址为“2”,A相温度为31度,B相温度为22度,C相温度为24度,定时开风机时间为24,D相温度为25度,传感器无故障,风机为开启,温控器没有输出超温和跳闸信号。
上位机想要读取该仪表的所有信息,发送数据为:
02H―03H―00H―00H―00H―06H―C5H―FBH
此时下位机返回数据为:
02H-03H-0CH-00H-00H-00H-42H-00H-39H-00H-3BH-00H-18H-00H-3CH-46H-A9H
现在已经接受到返回的数据,但是是在一直往后写。我想知道如何只显示最新接受到的数据
展开
 我来答
zdingyun
推荐于2016-04-22 · 知道合伙人软件行家
zdingyun
知道合伙人软件行家
采纳数:15429 获赞数:48176
1982年上海业余工业大学化工系毕业 现退休

向TA提问 私信TA
展开全部
VB codeOption Explicit
Dim sjByt() As Byte

Private Sub Command1_Click() '2进制发送
ReDim sjByt(1 To 8) '设置为8个元素
sjByt(1) = &H2
sjByt(2) = &H3
sjByt(3) = &H0
sjByt(4) = &H0
sjByt(5) = &H0
sjByt(6) = &H6
sjByt(7) = &HC5
sjByt(8) = &HFB
MSComm1.Output = sjByt '此命令执行一次发送8字节
End Sub

Private Sub Form_Load()
MSComm1.Settings = "9600,n,8,1"
MSComm1.InputMode = comInputModeBinary '采用二进制传输
MSComm1.InBufferCount = 0 '清空接受缓冲区
MSComm1.OutBufferCount = 0 '清空传输缓冲区
MSComm1.RThreshold = 1 '产生MSComm事件
MSComm1.PortOpen = True
End Sub

接收由MSComm控件的OnComm完成
相关的代码见:
http://www.vbgood.com/viewthread.php?tid=83694&page=1#pid441972
3楼的回复.
萍水e相逢
2010-03-19 · TA获得超过3万个赞
知道大有可为答主
回答量:5.9万
采纳率:46%
帮助的人:1.4亿
展开全部
推荐 看 经典 入门 书籍

Visual_Basic与_RS-232_串行通信控制

有 pdf 电子文档的

找不到 可以 联系
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
miniappHPbujGvGjbs88
2010-03-31 · 超过10用户采纳过TA的回答
知道答主
回答量:30
采纳率:0%
帮助的人:15.8万
展开全部
hauihddhauhwduaidhauw
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式