基于S7-300,400CPU集成PN接口ModbusTCP通讯快速入门(更新版本V2.4)ModbusTCPCommunicationBaseOnS7-300/400CPUIntgratedPNInterfaceGettingStarted(UpdateV2.4)Getting-StartedEdition(2011年1月)IA&DTService&SupportPage2-36摘要2010年3月西门子IndusdrySolutionIT部门更新了基于S7-300/400系统CPU的集成PN口的Modbus/TCP的昀新版本软件选项包“MobusTCPPN-CPUV2.4”,本文主要介绍了通过S7-300/400CPU的集成PN接口进行ModbusTCP的通讯原理,并以Modscan32和Modbusslave软件为例模拟第三方设备详细介绍如何配置与CPU的集成PN接口进行ModusTCP通讯,希望通过本文档,能够给读者S7-300/400CPU集成PN口的ModbusTCP通讯入门指导关键词S7-300/400,带集成PN口的CPU,开放式以太网通讯,ModbusTCP,保持寄存器,输入寄存器,读写,服务器,客户端,地址映射,Modscan32,ModbusSlave,MobusTCPPN-CPUV2.4软件选项包KeyWordsS7-300/400,CPUWithIntgratedPNInterface,OpenIECommunication,ModbusTCP,HoldingRegister,InputRegister,Read/Write,Server,Clent,AdressMapping,Modscan32,ModbusSlave,MobusTCPPN-CPUV2.4SoftwarePacketIA&DTService&SupportPage3-36目录1ModbusTCP通讯概述....................................................................................41.1通讯所使用的以太网参考模型..............................................................................................41.2ModbusTCP数据帧.............................................................................................................41.3ModbusTCP使用的通讯资源端口号....................................................................................51.4ModbusTCP使用的功能代码...............................................................................................51.5ModbusTCP通讯应用举例..................................................................................................52SIMATICS7-300/400系统Modbus/TCP通讯概述........................................52.1S7-300/400系统Modbus/TCP通讯产品概述.......................................................................52.2”ModbusTCPPN-CPUV2.4”软件选项包使用概述.............................................................72.2.1”ModbusTCPPN-CPUV2.4”块库使用说明..................................................................72.2.2”ModbusTCPPN-CPUV2.4”选项包硬件和软件需求...................................................82.3“ModbusTCPPN-CPUV2.4”软件选项包与step7集成概况.................................................93配置S7-400单站系统通过CPU集成PN口作为Server进行ModbusTCP通讯103.1例子中使用的硬件设备及软件............................................................................................113.2S7-400系统及Modscan32软件组态..................................................................................123.3通讯测试.............................................................................................................................174配置S7-400单站系统通过CPU集成PN口作为Client进行ModbusTCP通讯224.1例子中使用的硬件设备及软件............................................................................................224.2S7-400单站系统与ModbusSlave软件组态.......................................................................234.3通讯测试.............................................................................................................................265“ModbusTCPPN-CPUV2.4”选项包通讯使用总结及相关注意事项............29附表一CPU集成PN口进行ModbusTCP通讯FB输出常见故障代码及处理.......31IA&DTService&SupportPage4-361ModbusTCP通讯概述MODBUS/TCP是简单的、中立厂商的用于管理和控制自动化设备的MODBUS系列通讯协议的派生产品,显而易见,它覆盖了使用TCP/IP协议的“Intranet”和“Internet”环境中MODBUS报文的用途。协议的昀通用用途是为诸如PLC’s,I/O模块,以及连接其它简单域总线或I/O模块的网关服务的.MODBUS/TCP使MODBUS_RTU协议运行于以太网,MODBUSTCP使用TCP/IP和以太网在站点间传送MODBUS报文,MODBUSTCP结合了以太网物理网络和网络标准TCP/IP以及以MODBUS作为应用协议标准的数据表示方法。MODBUSTCP通信报文被封装于以太网TCP/IP数据包中。与传统的串口方式,MODBUSTCP插入一个标准的MODBUS报文到TCP报文中,不再带有数据校验和地址1.1通讯所使用的以太网参考模型ModbusTCP传输过程中使用了TCP/IP以太网参考模型的5层:第一层:物理层,提供设备物理接口,与市售介质/网络适配器相兼容第二层:数据链路层,格式化信号到源/目硬件址数据帧第三层:网络层,实现带有32位IP址IP报文包第四层:传输层,实现可靠性连接、传输、查错、重发、端口服务、传输调度第五层:应用层,Modbus协议报文.1.2ModbusTCP数据帧Modbus数据在TCP/IP以太网上传输,支持EthernetII和802.3两种帧格式,ModbusTCP数据帧包含报文头、功能代码和数据3部分,MBAP报文头(MBAP、ModbusApplicationProtocol、Modbus应用协议)分4个域,共7个字节,如图1所示:图1:MODBUSTCP报文由于使用以太网TCP/IP数据链路层的校验机制而保证了数据的完整性,MODBUSTCP报文中不再带有数据校验”CHECKSUM”,原有报文中的“ADDRESS”也被“UNITID”替代而加在MODBUS应用协议报文头中IA&DTService&SupportPage5-361.3ModbusTCP使用的通讯资源端口号在Moodbus服务器中按缺省协议使用Port502通信端口,在Modus客户器程序中设置任意通信端口,为避免与其他通讯协议的冲突一般建议2000开始可以使用.1.4ModbusTCP使用的功能代码按照使用的通途区分,共有3种类型分别为:1)公共功能代码:已定义好功能码,保证其唯一性,由Modbus.org认可;2)用户自定义功能代码有两组,分别为65~72和100~110,无需认可,但不保证代码使用唯一性,如变为公共代码,需交RFC认可;3)保留功能代码,由某些公司使用某些传统设备代码,不可作为公共用途。按照应用深浅,可分为3个类别1)类别0,客户机/服务器昀小可用子集:读多个保持寄存器(fc.3);写多个保持寄存器(fc.16)。2)类别1,可实现基本互易操作常用代码:读线圈(fc.1);读开关量输入(fc.2);读输入寄存器(fc.4);写线圈(fc.5);写单一寄存器(fc.6)。3)类别2,用于人机界面、监控系统例行操作和数据传送功能:强制多个线圈(fc.15);读通用寄存器(fc.20);写通用寄存器(fc.21);屏蔽写寄存器(fc.22);读写寄存器(fc.23)1.5ModbusTCP通讯应用举例在读寄存器的过程中,以ModbusTCP请求报文为例,具体的数据传输过程如下:1)ModbusTCP客户端实况,用Connect()命令建立目标设备TCP502端口连接数据通信过程2)准备Modbus报文,包括7个字节MBAP内请求;3)使用send()命令发送;4)同一连接等待应答;5)同recv()读报文,完成一次数据交换过程6)当通信任务结束时,关闭TCP连接,使服务器可以为其他服务2SIMATICS7-300/400系统Modbus/TCP通讯概述2.1S7-300/400系统Modbus/TCP通讯产品概述通过SIMATICS7和第三方设备的建立MODBUS/TCP通信时按照产品使用分单站和冗余系统,对于单站系统,又分为通过以太网通讯模块CP和CPU的集成PN口两种情况1)通过以太网通讯模块CP343-1或CP443-1:在S7控制器通过外部CP343-1或CP443-1和第三方设备间建立Modbus/TCP连接时需要软件选项包ModbusTCPCP,订货号为2XV9450-1MB00,单授权(仅对一个CPU有效),昀新的版本为V4.1,支持功能代码1、2、3、4、5、6、15和16,功能块库及订货号如下图2所示:IA&DTService&SupportPage6-36图2:软件选项包”ModbusTCPCPV4.1”2)通过CPU集成的PN接口:在S7控制器通过CPU集成PN接口和第三方设备间建立Modbus/TCP连接时需要产品软件选项包ModbusTCPPN,订货号为2XV9450-1MB