用51单片机和mcgs通讯,用的是modbus协议。每当通道数增加到26时通讯就不能用了。通道数减少一个到25可以 100
这是为什么啊?是固有的缺陷还是我操作设置有问题?另外,从mcgs的帮助上我看到这个:对于部分非标准ModbusRTU设备,无法支持标准ModbusRTU协议中规定的每通讯...
这是为什么啊?是固有的缺陷还是我操作设置有问题?
另外,从mcgs的帮助上我看到这个:
对于部分非标准ModbusRTU设备,无法支持标准ModbusRTU协议中规定的每通讯最大帧长255字节的长度(实际数据长度约为120字左右),从而出现添加少量通道时通讯正常,而填加多个通道时无法正常通讯的问题。此时,可以与厂家确定设备最大支持通讯帧长度,并借助MCGS内部属性中提供的隐含的块长设置功能进行通讯帧长度(即:块长)的设置。
好像是设备最大支持通讯帧长度限制所致,请问我的判断对吗? 展开
另外,从mcgs的帮助上我看到这个:
对于部分非标准ModbusRTU设备,无法支持标准ModbusRTU协议中规定的每通讯最大帧长255字节的长度(实际数据长度约为120字左右),从而出现添加少量通道时通讯正常,而填加多个通道时无法正常通讯的问题。此时,可以与厂家确定设备最大支持通讯帧长度,并借助MCGS内部属性中提供的隐含的块长设置功能进行通讯帧长度(即:块长)的设置。
好像是设备最大支持通讯帧长度限制所致,请问我的判断对吗? 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏100(财富值+成长值)
3个回答
2015-10-21 · 知道合伙人软件行家
关注
展开全部
第一:先把最小采集周期和通讯等待时间增大,看看通道26是否正常?
第二:若上面无效再考虑“分块采集方式”切换测试
若以上都不行,再去分析驱动开发源代码支持情况,若有问题可以定制满足
第二:若上面无效再考虑“分块采集方式”切换测试
若以上都不行,再去分析驱动开发源代码支持情况,若有问题可以定制满足
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
“不能用”
具体什么现象?是MCGS无响应、还是返回了不符合预期的数据?你跟踪过接收的数据吗?
具体什么现象?是MCGS无响应、还是返回了不符合预期的数据?你跟踪过接收的数据吗?
更多追问追答
追问
不能用我指的是mcgs方面给单片机发出了指令但是接收不到单片机传来的数据。应该就是你说的“mcgs无响应吧”。跟踪接收的数据是指查看单片机传来的数据吗?我能查看到啊。正是查看到的数据不符合预期(数据全是0)我才有以上判断的。以上情况发生在通道数为26时,而减少通道数至25个后,数据正常。请问这是怎么回事啊?
追答
“我能查看到啊。”
贴出你查看到的完整一个应答帧,分析看看包含什么样的内容,看看是不是MCGS不支持单次传递25个以上的通道。
其实你分批查询不就得了。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-10-22
展开全部
题干不明确
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询