用51单片机和mcgs通讯,用的是modbus协议。每当通道数增加到26时通讯就不能用了。通道数减少一个到25可以 100

这是为什么啊?是固有的缺陷还是我操作设置有问题?另外,从mcgs的帮助上我看到这个:对于部分非标准ModbusRTU设备,无法支持标准ModbusRTU协议中规定的每通讯... 这是为什么啊?是固有的缺陷还是我操作设置有问题?
另外,从mcgs的帮助上我看到这个:
对于部分非标准ModbusRTU设备,无法支持标准ModbusRTU协议中规定的每通讯最大帧长255字节的长度(实际数据长度约为120字左右),从而出现添加少量通道时通讯正常,而填加多个通道时无法正常通讯的问题。此时,可以与厂家确定设备最大支持通讯帧长度,并借助MCGS内部属性中提供的隐含的块长设置功能进行通讯帧长度(即:块长)的设置。

好像是设备最大支持通讯帧长度限制所致,请问我的判断对吗?
展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏100(财富值+成长值)
百度网友0239a38
2015-10-21 · 知道合伙人软件行家
百度网友0239a38
知道合伙人软件行家
采纳数:66 获赞数:757
电子科技大学计算机专业,双学士,IT、互联网、金融、智能硬件高级软件架构师及项目经理。

向TA提问 私信TA
展开全部
第一:先把最小采集周期和通讯等待时间增大,看看通道26是否正常?
第二:若上面无效再考虑“分块采集方式”切换测试
若以上都不行,再去分析驱动开发源代码支持情况,若有问题可以定制满足
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一剑出血
高粉答主

2015-10-11 · 醉心答题,欢迎关注
知道大有可为答主
回答量:5.7万
采纳率:78%
帮助的人:1.6亿
展开全部
“不能用”
具体什么现象?是MCGS无响应、还是返回了不符合预期的数据?你跟踪过接收的数据吗?
更多追问追答
追问
不能用我指的是mcgs方面给单片机发出了指令但是接收不到单片机传来的数据。应该就是你说的“mcgs无响应吧”。跟踪接收的数据是指查看单片机传来的数据吗?我能查看到啊。正是查看到的数据不符合预期(数据全是0)我才有以上判断的。以上情况发生在通道数为26时,而减少通道数至25个后,数据正常。请问这是怎么回事啊?
追答
“我能查看到啊。”
贴出你查看到的完整一个应答帧,分析看看包含什么样的内容,看看是不是MCGS不支持单次传递25个以上的通道。

其实你分批查询不就得了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-10-22
展开全部
题干不明确
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式