前端时间需要实现Matlab与下位机通讯,用Modbus RTU是最方便的方法,通过查资料(百度)发现Matlab在2017的版本中就支持Modbus了,包括TCP和RTU,但网上只搜到TCP的教程和中文示例。
因此贴一下MathWorks上相关内容的说明文档,做个记录。
https://ww2.mathworks.cn/help/instrument/modbus-communication.html?s_tid=CRUX_lftnav
直接使用Matlab进行编程或者用工具箱都可以实现MODBUS TCP/RTU的通讯,两者有相通性,找几个网站上的例程多试几次就行。
多寄存器读写需要设置字节和字的顺序,与下位机寄存器定义相同,推荐先读多寄存器,然后根据读取结果判断顺序。