Modbus通讯协议简介
Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。
ModBus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。其系统结构既包括硬件、亦包括软件。它可应用于各种数据采集和过程监控。
ModBus网络只有一个主机,所有通信都由他发出。网络可支持247个之多的远程从属控制器,但实际所支持的从机数要由所用通信设备决定。采用这个系统,各PC可以和中心主机交换信息而不影响各PC执行本身的控制任务。
1 MODBUS RTU协议在S7-200中的应用原理
1.1 MODBUSRTU协议与S7-200相互关系简介
S7-200 CPU上的通讯口Port0可以支持MODBUS RTU协议,成为MODBUS RTU从站。此功能是通过S7-200的自由口通讯模式实现,因此可以通过无线数据电台等慢速通讯设备传输。
想在S7-200 CPU与其他支持MODBUS RTU的设备使用MODBUS RTU协议通讯,需要由有S7-200 CPU做MODBUS主站。S7-200 CPU做主站必须由用户自己用自由口模式,按相关协议编程。
2 从站指令的用法:
S7-200控制系统应用中,MODBUS RTU从站指令库只支持CPU上的通讯0口(Port0)。要实现MODBUS RTU通讯,需要Step7-Micro/WIN32V3.2以上版本的编程软件,而且须安装Step7-Micro/WIN32V3.2 Instruction Library(指令库)。MODBUS RTU功能是通过指令库中预先编好的程序功能块实现的。
MODBUSRTU协议在S7-200中应用的基本过程
(1) 首先检查S7-200控制系统中所用Micro/WIN软件版本,应当是Step7-Micro/WIN V3.2以上版本。
(2) 检查Micro/WIN的指令树中是否存在MODBUSRTU从站指令库(图1),库中应当包括MBUS_INIT和MBUS_SLAVE两个子程序。如果没有,须安装Micro/WIN32V3.2 Instruction Library(指令库)软件包
编程时使用SM0.1—调用子程序MBUS_INIT进行初始化,使用SM0.0—调用研究MBUS_SLAVE,并指定相应参数。关于参数的详细说明,可在子程序的局部变量表中找到。
调用MODBUS通讯指令库