恭喜,你发布的帖子
发布于 2021-11-16 23:40:41
36楼
哦,这个确实厉害,楼主遇到的从站温度仪应该是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。
请填写推广理由:
分享
只看
楼主