Modbus RTU通信概述 Modbus 是公开的通信协议,是一种单主站的主/从通信模式。Modbus 通信标准协议可以通过各种方式传播,如 RS232C、RS485、光纤、无线电等。Modbus基于串行传输时有两种模式,ASCII和RTU,两种模式针对数据打包、解码方式的定义不同,支持Modbus协议的设备一般都支持 RTU 模式。西门子plc S7-200SMART CPU通过硬件自带的RS485通信端口或扩展的通信信号板,和软件上开发的Modbus RTU通信标准指令库,可以帮助客户快速便捷的实现设备间的Modbus RTU通信。 Modbus RTU通信标准指令库 标准指令库-主站:主站初始化MBUS_CTRL指令&主站读写MBUS_MSG指令 ● EN:使能参数,必须保证每个扫描周期都能开启(SM0.0)。 ● Mode:模式参数,为1时使能Modbus协议功能。 ● Baud:波特率参数,根据通讯两侧的协议和速度要求需设定为一致。 ● Parity:校验方式参数,0=无校验,1=奇校验,2=偶校验。 ● Port:端口号参数,0=使用集成的通讯口,1=CM01信号板。 ● Timeout:超时时间参数,主站等待从站响应的时间,以ms为单位。 ● Done:初始化完成位。 ● Error:初始化错误代码(详见系统手册指令说明)。 ● EN:使能参数,必须保证同一时刻只有一个读写功能处于使能状态。 ● First:读写请求位,每一个新的读写请求需要用脉冲触发。 ● Slave :从站地址参数,可选择的范围1-247。 ● RW:读写参数,0=读,1=写。 ● Addr:读写从站对应连续地址区域的起始地址。 ● Count:读写从站对应连续地址的个数。 ● DataPtr:读写操作对应主站连续地址区域的起始地址,用于存储准备写入的数据或要读回的数据。 ● Done:读写功能完成位。 ● Error:读写指令错误代码(详见系统手册指令说明)。 标准指令库-从站:从站初始化MBUS_INIT指令&从站响应请求MBUS_SLAVE指令 ● EN:调用使能位,一般使用SM0.1。 ● Mode:模式参数,启动停止Modbus,0=停止,1=启动。 ● Addr:从站地址,Modbus从站地址,取值1-247。 ● Baud :波特率参数,根据通讯两侧的协议和速度要求需设定为一致。 ● Parity:校验方式参数,0=无校验,1=奇校验,2=偶校验。 ● Port:端口号参数,0=使用集成的通讯口,1=CM01信号板。 ● Delay:附加字符间延时,缺省值为0。 ● MaxIQ:参与通信的zui大IO点数,一般设为256。 ● MaxAI:参与通信的zui大AI通道数,zui多56个。 ● MaxHold:zui大保持寄存器区,参与通讯的V区大小。 ● HoldStart:保持寄存器区起始地址,以指针方式指定。 ● Done:初始化完成位。 ● Error:初始化错误代码(详见系统手册指令说明)。 ● EN:调用使能位,一般使用SM0.0。 ● Done:通讯完成位。 ● Error:通讯错误代码(详见系统手册指令说明)。 应用实例 通过Modbus标准指令库,实现主从站CPU之间的数据交换,其中主站IP地址为192.168.2.1,从站IP地址为192.168.2.2,主站Modbus地址为0,从站Modbus地址为1,将从站VB1000-VB1004中的数据读取至主站VB100-VB104中,数据交换区将主站中VB200-VB204的数据写入从站VB2000-VB2004。 主站程序: 从站程序: 执行结果: |
|