关于电子吊秤Modbus 通信调试收不到数据的问题

关于电子吊秤modbus 通信在modbus poll上调试收不到数据的问题
问:程序编号了,编译也没问题,实现了03功能码,串口波特率等设置也都没问题,可在modbus poll上调试时一直通讯超时,timeout err,到底哪里出问题了 急急急!程序在下面,还有调试问题的截图!求解决!
答:请仔细查看一下modbus协议,上位机会隔一定时间向下位机发送查询码,下位机要及时回答,通知上位机通信正常。如果你的单片机程序中没有写应答上位查询码的程序,上位机就会中断通信的,就提示通信超时的。看你的通信数据,只有上位机发送数据,却没有下位返回的数据。所以,一是查下位机有无应答查询码,二是查询下位机接收到控制命令后,解析命令是否正确,是否有返回码。上位机发正常命回令,下位都应该有返回码的。可以先用串口调试助手测试下位机的收/发代码过答程。
单片机做为从站或主站,其功能的实现程序是有区别的。做主站时,由单片机发起通信请求,modbus slave根据请求做出应答(事务处理并返回帧)。所以,单片机要按照modbus 协议组织数据帧,然后“发送---等待、接收返回帧---错误处理或新的请求”。若只是简单的试验,其后2字节crc校验码可用其他crc程序内计算出再添加到帧后;若是作为正常主机,则须由单片机计算crc码并组织数据帧(通俗容说法:数据打包)。
**************************************************************************************************
问2:
刚接触485,我做的设备用modscan32调试连接不上
因为采用的是ttl串口,所以不考虑硬件连接问题,是可靠的
通信协议这样定制的
按道理来说,就这几个字节,而且顺序已经按照modbusrtu格式排列好了,为甚么调试软件认为没数据收到呢?
解决不了了,感觉就剩一窗户纸了,求大神指条明路
答2:
设备地址是否正确(决定是否能被设备识别)
起始地址是否正确(设备地址其实是设备内部的存储单元,这个存储单元必须存在)
crc是否正确
modbus保持寄存器每个寄存器都是双字节的,你返回的是单字节的,所以校验就通不过了
发送:
[10]从站地址
[03]03功能码
[00][00]起始地址
[00][02]寄存器数量
[c7][4a]crc校验
接收
[10]从站地址
[03]03功能码
[04]返回的寄存器字节数,每个寄存器2字节,读两个寄存器,所以四个字节
[00][00]寄存器1
[00][00]寄存器2
[fb][32]crc校验码

Q611F气动三片式内螺纹球阀之主要特性
空调系统中管路系统的基本概况
切忌高温高压反应釜的错误摆放位置
轨道过跨车平衡轮
如何维护整体式氮气发生器?
关于电子吊秤Modbus 通信调试收不到数据的问题
二手降膜式强制循环蒸发器中间商赚差价
聚四氟乙烯板 楼梯四氟板的分类
近期聚氨酯外墙保温板供应价格多少钱一方?
使用光合蒸腾仪时需要注意的事项如下
双面防水防雨布用途
三氯乙烯回收仪操作方法
摩擦系数仪的工作原理、特点及应用领域
什么是分离式旋液分离器优点
空气悬浮离心鼓风机、罗茨风机哪一个节能?
你可别小看了打磨除尘工作台的特点!
带刀库精雕机的优势
W.Nr.1.4529镍合金的用途和使用性能
布洛克菲儿德黏度计主要技术参数及指标
选购万能材料试验机应该注意哪些事项?