使用Modbus协议库配置S7-200作为Modbus从属设备

需积分: 49 66 下载量 171 浏览量 更新于2024-08-09 收藏 9.63MB PDF 举报
本文主要介绍了西门子S7-200 PLC中使用Modbus协议库进行通信的相关知识,包括Modbus协议库的使用、初始化和执行时间、Modbus编址,以及对PLC资源的需求。 1. **使用Modbus协议库** 西门子的Modbus协议库是作为STEP 7-Micro/WIN Add-On的一部分提供的,用于简化与Modbus RTU主设备的通信。该库包含了预配置的子例行程序和中断例行程序,使得S7-200可以作为Modbus从属设备。在STEP 7-Micro/WIN指令树的“协议库”文件夹下,可以找到这些指令。使用Modbus从属协议指令时,系统会自动添加必要的子例行程序到项目中。 2. **Modbus协议的要求** 初始化Modbus从属协议需要指定端口0,这将使端口0无法用于其他通讯,包括与STEP 7-Micro/WIN的通讯。MBUS_INIT指令用于分配端口0给Modbus从属协议。此外,Modbus从属协议使用3个子例行程序和2个中断例行程序,需要1857个字节的程序空间以及779个字节的V内存。若要恢复端口0的PPI功能,可以通过再次调用MBUS_INIT指令。 3. **Modbus协议的初始化和执行时间** Modbus通讯依赖于CRC校验以保证消息的完整性。CRC表初始化大约需要425微秒,通常在进入运行模式后的首次扫描中完成。如果初始化和其他程序的执行时间超过500微秒扫描时间,可能需要调整监视定时器。MBUS_SLAVE子例行程序执行请求时,扫描时间会延长,最大请求/应答会增加约165毫秒的扫描时间。 4. **Modbus编址** Modbus地址通常由5或6个字符表示,前两个字符定义数据类型,后四个字符指定位或寄存器的偏移。S7-200的Modbus从属指令支持的地址范围包括000001至000128对应离散输出(Q0.0 - Q15.7),以及010001至010128对应离散输入(I0.0 - I15.7)。 通过这些知识,用户可以理解如何在S7-200 PLC上实现Modbus RTU通信,包括设置、编程和优化通信性能,从而与其他Modbus主设备进行有效数据交换。