找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2469|回复: 14

上位机开发之单片机通信实践

 火.. [复制链接]
  • 打卡等级:常驻代表
  • 打卡总天数:34
  • 打卡月天数:6
  • 打卡总奖励:9027
  • 最近打卡:2025-12-17 23:15:51

2823

主题

541

回帖

2万

积分

管理员

积分
22569
发表于 2020-5-19 20:34:00 | 显示全部楼层 |阅读模式

经常会有一些学员会问到上位机与单片机之间通信的问题,而我们经常会讲上位机与PLC之间通信,那么其实对上位机开发来说,不管是和PLC通信,还是和单片机通信,通信原理都是一样的。PLC的本质就是单片机,在单片机的基础上添加一些外围电路并形成产品化,即构成了PLC控制器。今天在这里给大家分享一个上位机与单片机通信的实例,希望对大家开发上位机有所启发。

1. 单片机硬件介绍

只要做上位机开发,就离不开通信协议。一般来说,单片机可以与上位机之间以串口通信为主,当然也不排除现在有的单片机也集成了以太网口。就串口通信而言,常用的几种通信方式,包括串口自定义协议、Modbus协议、CAN总线,接下来介绍的这个单片机是某个锂电池的核心板,它主要是支持Modbus协议和CAN总线的方式。



图表 1单片机硬件

2. 通信测试

(1)这里我们选择的是基于485总线的ModbusRTU通信协议,如果要实现上位机开发,需要单片机开发人员提供一份通信变量表,如果读取变量较多或者不连续,需要进行分组读取。

(2)通信变量表一般包含参数名称、Modbus地址、存储区、数据类型、换算公式等内容,能够将通信变量表看明白并完成通信测试,是能够完成上位机开发的前提。

(3)这里,我截取部分变量表跟大家做一个分析:



图表 2 Modbus寄存器表

上表中,以电芯总电压为例,Modbus地址为0x1003,对应十进制即为4099,寄存器地址即为44100,读取类型为ushort类型,换算公式为读取之后乘以0.01,比如读取值为5630,即为5.63V。

分析明白之后,我们就可以先用ModbusPoll软件来一波初步测试,如果需要Modbus软件资料的,可以关注一下喜科堂官方关注:dotNet工控上位机,然后像聊天一样发送关键词:Modbus软件套装即可。这里我们需要通过485转USB连接到电脑中,然后通过设备管理器,看到端口号为COM4。



图表 3通信端口

打开ModbusPoll软件,通信参数选择COM4、9600、N、8、1,读取寄存器起始地址为4099,读取长度为10,具体配置如下图所示:



图表 4通信参数配置



图表 5通信读取配置

配置完成后,即可读取到单片机的数据,具体如下图所示:



图表 6 ModbusPoll读取

(4)实现读取之后,我们分析一下结果,4099读取到的值为4206,说明当前电池的电压为42.06V。我们可以用实际开发完成的上位机软件做下对比,验证一下数据是否正确:



图表 7上位机软件

(5)我们也可以用喜科堂通信测试平台来做下测试,测试结果如下:



3. 整体总结

本文主要针对单片机的Modbus通信实例做了较为详尽的描述,由于篇幅有限,仅仅介绍了通信测试部分,对于后续的项目实战部分,会通过后续的文章进行进一步的阐述。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
工控课堂 www.gkket.com

0

主题

1451

回帖

4571

积分

金牌会员

积分
4571
发表于 2020-5-19 20:34:01 | 显示全部楼层
强烈支持楼主ing……
工控课堂 www.gkket.com

0

主题

220

回帖

723

积分

中级会员

积分
723
发表于 2020-10-7 21:02:19 | 显示全部楼层
我只是路过打酱油的。
工控课堂 www.gkket.com

0

主题

126

回帖

348

积分

注册会员

积分
348
发表于 2025-11-13 04:37:01 | 显示全部楼层
水贴也要有仪式感,我先来打卡~
工控课堂 www.gkket.com

0

主题

111

回帖

308

积分

注册会员

积分
308
发表于 2025-11-13 04:47:29 | 显示全部楼层
理性围观,感觉大家说的都有道理~
工控课堂 www.gkket.com

0

主题

89

回帖

133

积分

新手上路

积分
133
发表于 2025-11-13 04:49:39 | 显示全部楼层
理性围观,感觉大家说得都有道理
工控课堂 www.gkket.com

0

主题

78

回帖

120

积分

新手上路

积分
120
发表于 2025-11-13 04:49:59 | 显示全部楼层
学到了学到了,这波分享太实用啦!
工控课堂 www.gkket.com

0

主题

73

回帖

114

积分

新手上路

积分
114
发表于 2025-11-13 04:53:14 | 显示全部楼层
说得对!狠狠赞同,没毛病~
工控课堂 www.gkket.com

0

主题

90

回帖

141

积分

新手上路

积分
141
发表于 2025-11-13 04:53:26 | 显示全部楼层
救命!这回复笑到我捶桌,必须置顶~
工控课堂 www.gkket.com

0

主题

99

回帖

250

积分

注册会员

积分
250
发表于 2025-11-13 04:54:40 | 显示全部楼层
这波反向操作,我属实没想到!
工控课堂 www.gkket.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|手机版|免责声明|本站介绍|工控课堂 ( 沪ICP备20008691号-1 )

GMT+8, 2025-12-22 17:37 , Processed in 0.087203 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表