回复:用自由口通信制作的ModbusRTU协议的Master指令的SCL源码

已锁定

宝冬

  • 帖子

    322
  • 精华

    26
  • 被关注

    253

论坛等级:奇侠

注册时间:2016-07-06

钻石 钻石 如何晋级?

发布于 2021-11-16 23:40:41

36楼

展开查看
以下是引用xiatianyun在2021-11-16 22:57:49的发言 >35楼

哦,这个确实厉害,楼主遇到的从站温度仪应该是ModBus-RTU的改进版,实际工作中会遇到这些不规范的协议,既然是实际中存在的那就值得学习。毕竟解决问题时本质。感谢楼主的分享,我好好学习学习。

另外,有几个问题请教,就不开贴了。

我第一次用自由口,也是模仿Modbus-RTU协议,协议中要求帧开始以不少于3.5个字符时间作为帧开始和结束,这个在设备组态中如何设置呢?

我在设备组态中做了和楼主一样的设置,但还是需要使用Port_Config和Send_Config指令才行,这个请教是什么问题?

另外,楼主的便携式示波器是哪个型号的,我之前就关注过示波器,只是一直没有出手。有使用PC配合的,哪种合适?

我用的温控器是个英国品牌。

端口组态随便设置就可以,不是唯一的,下面是我用的。不用照着来,各种都试试。


根本不需要Port_Config和Send_Config,就用官方的MB_Comm_Load,一样的。在modbus应用环境中,这指令就当Master用。

事实上485端口只要被modbus初始化指令设置过,自由口根本不需要重设。尽管Comm-load表面上看是绑定到特定的MB-Master实例,其实对自由口指令没有约束。自由口太单纯了,只需要那几个基本通信参数就能工作。所以其实它的运用很简单。


下图的设备FB中,三种指令一起上,自由切换,485口不需要双重设置。我的这个指令直接和官方Master指令无缝衔接替换。当数据长度超过29的时候,自动切换到PtP单元执行。短数据还是用官方的master,毕竟官方的指令执行速度要快一些。另外如果串口模块不是分布式的,还是用低版本MB指令速度快。


示波器我用的OWON HDS3101M-N,用着还行。但这款和PC之间的驱动做的不好,我一般都是把屏幕截图存进卡里。你应该再调研调研,示波器有很多指标,根据需求不一样。每个人的长远应用场景不同。


我另外分享的通过UDP走串口服务器的modbus的那个源码,你也可以研究一下。我个人觉得这种方式挺好,毕竟以太网加一个串口连100块钱都不要。可以随便插拔网线,用UDP替代modbusTCP。


评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15378条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。