学校资源网站的建设方案,刷leetcode对网站开发有用吗,重庆施工员证书查询网,网站建设需要的模块经常会有一些学员会问到上位机与单片机之间通信的问题#xff0c;而我们经常会讲上位机与PLC之间通信#xff0c;那么其实对上位机开发来说#xff0c;不管是和PLC通信#xff0c;还是和单片机通信#xff0c;通信原理都是一样的。PLC的本质就是单片机#xff0c;在单片机…经常会有一些学员会问到上位机与单片机之间通信的问题而我们经常会讲上位机与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通信实例做了较为详尽的描述由于篇幅有限仅仅介绍了通信测试部分对于后续的项目实战部分会通过后续的文章进行进一步的阐述。