发新帖我要提问
12
返回列表
打印
[程序源码]

论坛“最强”MODBUS-RTU从机程序,不服来战

[复制链接]
楼主: oufuqiang
手机看帖
扫描二维码
随时随地手机跟帖
21
ztb| | 2019-10-11 10:28 | 只看该作者 回帖奖励 |倒序浏览
本帖最后由 ztb 于 2019-10-11 10:38 编辑
oufuqiang 发表于 2019-10-10 22:51
讨论技术就讨论技术,你是大牛你就给我们科普一下

按标准modbus发过来的帧我通通正确响应了,有什么问题 ...

关键是不符合标准的要能够识别并拒绝。例如字节间隔大于1.5t能识别吗?
在各种外界干扰下会产生各种不同组合的报文,如果忽略1.5t的异常间隔它们很有可能凑成符合正确格式并通过CRC校验的数据。所以在保证自己不死机的条件下要能够识别所有这些错误并拒绝相应。这样才能保证总线上其它设备的正常通信。
在通信总线上如果发生异常情况,闭嘴要比瞎说话强百倍!要想做到这点报文以空白3.5t开始,以空白3.5t作为结束是很关键的。如果还没有做到这一个1.5t和两个3.5t就不要在此打擂了!

使用特权

评论回复
22
515192147| | 2019-10-12 12:02 | 只看该作者
本帖最后由 515192147 于 2019-10-14 20:46 编辑

交流交流
STM32F10x_DS18BD20源程序说明191002.zip (96.53 KB)
STM32F10x_RS485Modbus从站源程序.rar (550.36 KB)

使用特权

评论回复
23
oufuqiang|  楼主 | 2019-10-12 14:26 | 只看该作者
ztb 发表于 2019-10-11 10:28
关键是不符合标准的要能够识别并拒绝。例如字节间隔大于1.5t能识别吗?
在各种外界干扰下会产生各种不同组 ...

加个1.5T的字节间隔 和3.5T的帧间隔,有难度?我觉得一点都没有。

反而是如何应对乱码不死机,在乱码中找出正确的帧有得玩。

我已经演示了一个1.4MB的视频文件数据连续发送,没有发生误动作。

视频文件是不可压缩的,也就是数据是最乱的,这都顶住了还怕什么呢?

使用特权

评论回复
24
oufuqiang|  楼主 | 2019-10-12 14:27 | 只看该作者
lzm2008 发表于 2019-10-10 23:50
还好不是很贵,要不就亏大了,不好拓展Modbus完整的协议。

抱歉了,这不是一个SDK,只是一个多任务实时处理的同时响应大数据流的例程。

您下载前没有测试过HEX吗?有空我再写成SDK到时私聊你。

使用特权

评论回复
25
oufuqiang|  楼主 | 2019-10-12 14:33 | 只看该作者

您的程序看不到底层实现的代码,所以不能估计代码性能。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则