| |
我要投稿 | 资讯 | 机械 | 电气 | 软件 | |
| 机电专业技术网>电子电气>工业通信> |
MODBUS通讯关于Modbus是什么东东就无须多言了,因为这个协议实在是应用太广泛了,究其原因恐怕在于:1协议内容完全透明公开;2实现起来所需的硬件和软件都比较简单;所以在工作中经常碰到什么电度表、流量计需要和plc进行modbus通讯,或者两个厂家的产品之间需要交换数据也会想到用modbus。这次想认真深入研究下,于是百度了半天,最后发现还是英文原版的modbus协议文本最好,毕竟是最正宗的啊。当然我是先看中文的,不明白了再翻英文的。另外还有一个就是安装了step7的modbus驱动(包括master和slave)后会有一个master和slave的pdf文件,其中讲述master的pdf文件还是不错的。举个例子我开始想当然的认为主站发给从站的电文中,地址就是如实写的,比如00001在电文中就是00 01,我用commix软件做master,发送报文过去,然后监控串口,我自以为返回的报文是“正确”的。然后换了一个专用的modbus模拟器发命令下去,却不对了,监控报文发现对方返回的内容偏移了一个bit,奇怪啊,后来查阅文档才发现,西门子网上课堂关于串口通讯的教程其中有个常见问题“如何计算modbus地址”,里面说可以参考modbus master 1.3节。 ――――――――――――――――――――――――――――――――― 在西门子的Modbus_master第1.3节有如下描述: In the transmission messages on the serial transmission line, the address esused in the MODBUS user system are referenced to 0.In the MODBUS user system itself, these addresses are counted beginning with 1. Example: The first holding register in the user system is represented asregister 40001. In the transmission message, the value 0000 Hex is transmitted as the register address when FC 03, 06, or 16 is used.The 127th coil is represented as coil 00127 in the user system and is assigned the coil address 007E Hex in the transmission message. 即Modbus规定的地址是从1开始的,例如输出位(COIL STATUS)的地址范围是从00001-09999,但是主站发给从站的报文中却是从00000开始的,即若要读取第127个输出位,则报文中该地址应为126即00 7E。 现在很多人都有这个共识:用plc和现场的设备做modbus通讯的话,先用pc机测试下。于是pc上的串口调试软件就成为必备的利器了。我在百度上找了不少相关软件,有通用的串口调试软件如commix,也有专用的modbus调试仿真软件: l COMMIX V1.4 只有一个可执行文件,可以自动生成modbus的crc校验码,但是毕竟不是专门的modbus调试仿真软件,用commix必须十分熟悉modbus报文格式; l MODBUS V3.16 开始我觉得这软件挺复杂的,不知道咋用。用着用着就上手了,觉得相当的好啊。加拿大的一个叫做Calta计算机公司的东东,功能很全,用起来也很方便,我觉得最好用的一个modbus专用仿真软件。支持master和slave模式(还支持monitor模式即只监控串口),支持1-6,15,16功能码(但是对于15,16只能一次写一个变量下去),支持串口的报文监视; l MODSCAN 只能做master,且不支持15,16功能码,界面还不错; l Modbus调试精灵V1.024 找了好几个网站下载都是一个可执行文件,偏偏报告缺少什么dll文件,看上去是因为软件是用mfc写的,没办法只好去网上下了几个mfc的dll文件才运行起来。界面过于简陋,只能做master但是居然支持写多寄存器也考虑得不错了。 另外还有几个modbus软件,带了某某公司的标志,用起来跟modscan差不多 上一篇:Modbus通信协议初步介绍 下一篇:RS-485知识 MODBUS 通讯 通讯   MODBUS the 软件 一个 master 串口 文件 支持 通讯   MODBUS the 软件 一个 master 串口 文件 支持 |