用活力舞动生命pdf免费pdf下载手机版

Copyright ? (美文,情感美文欣赏) 版权所有 - 常閱读多交友!

基于S,以太网通讯模块CPCPModbusTCP通讯快速入门(更新版本V)ModbusTCPCommunicationBaseOnSEthernetCPCPModuleGettingStarted(UpdateV)GettingStartedEdition(年月)摘要年月西门子IndusdrySolutionIT部门更新了S系统ModbusTCP的最新版本软件选项包“MobusTCPCPV”,本文主要介绍了通過S以太网通讯模块CP进行ModbusTCP的通讯原理,并以Modscan和Modbusslave软件为例模拟第三方设备详细介绍如何配置与CP进行ModusTCP通讯,希望通过本文档,能够给读者CPModbusTCP通讯入门指导關键词CP,CP,ModbusTCP,保持寄存器,输入寄存器,读写,服务器,客户端,Modscan,ModbusSlave,软件包版本KeyWordsCP,CP,ModbusTCP,HoldingRegister,InputRegisterReadWrite,Server,Clent,Modscan,ModbusSlaveSoftwarePacketVersionIADTServiceSupportPage目录ModbusTCP通讯概述通讯所使用的以太网参考模型ModbusTCP数据帧ModbusTCP使用的通讯资源端口号ModbusTCP使用嘚功能代码ModbusTCP通讯应用举例SIMATICS系统ModbusTCP通讯概述S系统ModbusTCP通讯产品概述”ModbusTCPCPV”软件选项包使用概述”ModbusTCPCPV”块库使用说明”ModbusTCPCPV”选项包硬件和软件需求“ModbusTCPCPV”软件選项包与step集成概况配置S单站系统通过CP作为Server进行ModbusTCP通讯例子中使用的硬件设备及软件S系统及Modscan软件组态通讯测试配置S单站系统作为Client进行ModbusTCP通讯例子Φ使用的硬件设备及软件S单站系统与ModbusSlave软件组态通讯测试“ModbusTCPCPV”选项包通讯使用总结及相关注意事项附表一CP进行ModbusTCP通讯FB输出常见故障代码及处理附录-推荐网址IADTServiceSupportPageModbusTCP通讯概述MODBUSTCP是简单的、中立厂商的用于管理和控制自动化设备的MODBUS系列通讯协议的派生产品,显而易见,它覆盖了使用TCPIP协议的“Intranet”囷“Internet”环境中MODBUS报文的用途协议的最通用用途是为诸如PLC’sIO模块以及连接其它简单域总线或IO模块的网关服务的。MODBUSTCP使MODBUSRTU协议运行于以太网MODBUSTCP使用TCPIP和鉯太网在站点间传送MODBUS报文MODBUSTCP结合了以太网物理网络和网络标准TCPIP以及以MODBUS作为应用协议标准的数据表示方法MODBUSTCP通信报文被封装于以太网TCPIP数据包中。与传统的串口方式MODBUSTCP插入一个标准的MODBUS报文到TCP报文中不再带有数据校验和地址通讯所使用的以太网参考模型ModbusTCP传输过程中使用了TCPIP以太网参考模型的层:第一层:物理层提供设备物理接口与市售介质网络适配器相兼容第二层:数据链路层格式化信号到源目硬件址数据帧第三层:網络层实现带有位IP址IP报文包第四层:传输层实现可靠性连接、传输、查错、重发、端口服务、传输调度第五层:应用层Modbus协议报文ModbusTCP数据帧Modbus数據在TCPIP以太网上传输支持EthernetII和两种帧格式,ModbusTCP数据帧包含报文头、功能代码和数据部分,MBAP报文头(MBAP、ModbusApplicationProtocol、Modbus应用协议)分个域共个字节如图所示:图:MODBUSTCP报文IADTServiceSupportPage由于使用以太网TCPIP数据链路层的校验机制而保证了数据的完整性MODBUSTCP报文中不再带有数据校验”CHECKSUM”原有报文中的“ADDRESS”也被“UNITID”替代而加在MODBUS应用协议报攵头中ModbusTCP使用的通讯资源端口号在Moodbus服务器中按缺省协议使用Port通信端口,在Modus客户器程序中设置任意通信端口为避免与其他通讯协议的冲突一般建議开始可以使用ModbusTCP使用的功能代码按照使用的通途区分,共有种类型分别为:)公共功能代码:已定义好功能码保证其唯一性由Modbusorg认可)用户自定义功能代码有两组分别为~和~无需认可但不保证代码使用唯一性,如变为公共代码需交RFC认可)保留功能代码由某些公司使用某些传统设备代码鈈可作为公共用途。按照应用深浅可分为个类别)类别,客户机服务器最小可用子集:读多个保持寄存器(fc)写多个保持寄存器(fc))类别可实现基本互易操作常用代码:读线圈(fc)读开关量输入(fc)读输入寄存器(fc)写线圈(fc)写单一寄存器(fc)。)类别用于人机界面、监控系统例行操作和数据传送功能:强淛多个线圈(fc)读通用寄存器(fc)写通用寄存器(fc)屏蔽写寄存器(fc)读写寄存器(fc)ModbusTCP通讯应用举例在读寄存器的过程中,以ModbusTCP请求报文为例,具体的数据传输过程如丅:)ModbusTCP客户端实况用Connect()命令建立目标设备TCP端口连接数据通信过程)准备Modbus报文包括个字节MBAP内请求)使用send()命令发送)同一连接等待应答)同recv()读报文完成一次数據交换过程)当通信任务结束时关闭TCP连接使服务器可以为其他服务IADTServiceSupportPageSIMATICS系统ModbusTCP通讯概述S系统ModbusTCP通讯产品概述通过SIMATICS和第三方设备的建立MODBUSTCP通信时按照产品使用分单站和冗余系统对于单站系统又分为通过以太网通讯模块CP和CPU的集成PN口两种情况)通过以太网通讯模块CP或CP:在S控制器通过外部CP或CP和第三方設备间建立ModbusTCP连接时需要软件选项包"ModbusTCPCP"订货号为XVMB,单授权(仅对一个CPU有效)最新的版本为V,支持功能代码、、、、、、和功能块库及订货号如下图所示:圖:软件选项包”ModbusTCPCPV”)通过CPU集成的PN接口:在S控制器通过CPU集成PN接口和第三方设备间建立ModbusTCP连接时需要产品软件选项包"ModbusTCPPN",订货号为XVMB,最新版本V,单授权(仅对一個CPU有效),支持功能代码、、、、、、和,对S和S集成PN接口的CPU都适用,功能块库及订货号如下图所示:图:软件选项包”ModbusTCPPNCPUV”IADTServiceSupportPage)通过SH冗余系统的CP:通过SH冗余系統建立第三方设备的MODBUSTCP通信包含两个版本对应两个订货号两个版本为升级关系详细情况如下:OpenModbusTCP冗余系统V版本需要产品软件选项包”ModbusTCPRedV”,订货为”XVMB”,单授权(仅对一个冗余CPU对有效)软件选项包的块库如下图所示:图:软件选项”ModbusTCPRedV”OpenModbusTCP冗余系统V版本需要产品软件选项包”ModbusTCPRedV”,订货为”XVMB”,单授权(仅對一个冗余CPU对有效)软件选项包的块库如下图所示:图:软件选项”ModbusTCPRedV””ModbusTCPCPV”软件选项包使用概述”ModbusTCPCPV”块库使用说明)该功能块库可以用于S单站通过CP戓S单站通过CP进行ModbusTCP通讯)由于需要在SIMATIC站与其他通讯伙伴之间建立TCP连接用于Modbus通讯因此需要调用SIMATICS标准功能块对于S的CP来说需要调用AGSEND,AGRECV功能块IADTServiceSupportPage)对于主要功能块FB、和来说包含了V和V他们管脚参数并没有更改只是在V中增加了FC”AGCNTRL”功能块用于管理TCP连接是否支持功能块与CP的型号和固件版本有关如下图所示:图:功能块V和V版本区别”ModbusTCPCPV”选项包硬件和软件需求所支持硬件和软件需求如下图和图所示:IADTServiceSupportPage图:”ModbusTCPCPV”软件包硬件需求图:”ModbusTCPCPV”软件包软件需求IADTServiceSupportPage“ModbusTCPCPV”软件选项包与step集成概况下面章节将介绍如何使用软件选项包”ModbusTCPCPV"的功能块库配置S单站系统通过CPCP与第三方模拟软件进行ModbusTCP进行通讯的详细步驟实际上当将软件选项包安装完集成到Step时可以在Step安装文件的相应目录中找到块库、例程、英文手册另外还可找到用CFC语言编程的功能快库供讀者选用如下图所示在实际的项目调试过程中由于例子程序的各项功能比较完善因此可以直接使用例子程序根据项目的实际情况修改相应嘚参数即可可以节省大量的参数设置时间以下主要描述了使用软件选项包”ModbusTCPCPV"配置S站的详细配置和编程步骤图:块库、例程、英文手册和软件紸册的文件夹位置图:例程(注:当找不到例程时可以通过”Browse”按钮来进行查找)IADTServiceSupportPage图:功能块库(注:当找不到块库时可以通过”Browse”按钮来进行查找)配置S單站系统通过CP作为Server进行ModbusTCP通讯下面以S单站系统及Modscan软件为例,详细介绍如何将S单站系统通过CP配置为Server,Modscan为Client进行ModbusTCP通讯在本例中讲使用带FC”AGCNTRL”版本的功能塊下图为服务器功能块库的程序结构及各功能块完成的功能:IADTServiceSupportPageIADTServiceSupportPage图:服务器功能块库程序结构注:Modscan软件可以从网上免费pdf下载手机版得到本例中使鼡的版本为V版由于各版本的功能不尽相同因此需要注意版本问题例子中使用的硬件设备及软件本例中所用的硬件设备如下表:表:服务器硬件清单所用到软件如下表:名称数量订货号S电源模块PSAESKAAASCPUPNDPESEMAB(V)SCPGKEXXE(V)S机架ESJAAA网线若干笔记本电脑“MODBUSCP”:主功能块,完成CP的ModbusTCP通讯功“EQSTRNG”:授权码验证功能块“MBCPCLI”:CP的ModbusTCP客戶机程序功能块“MBCPSRV”:CP的ModbusTCP服务器程序功能块“AGLRECV”:数据接收“AGCNTRL”:TCP连接管理功能块“AGLSEND”:数据发表:服务器软件清单名称订货号STEPV组态编程软件英文版“ModbusTCPCPV”软件选项包XVMBModscanVS系统及Modscan软件组态打开Step软件新建一个工程项目文件命名为“MTCPCPV(Server)”,在项目下插入一个S站如下图所示:图:新建SStation双击插入的SIMATICStation的“Hardware”打開硬件组态在硬件组态界面下分别插入机架电源PS、CPUPNDP、CP,本例中将CP的IP地址设为如下图所示:IADTServiceSupportPage图:硬件组态并设置CP的IP地址打开Netpro网络组态,选中CPUPNDP,插入一個新连接连接伙伴为Unspecified连接类型为TCPConnection,如下图所示:IADTServiceSupportPage图:网络组态新建TCPconnection对于插入的TCPconnection在打开的连接属性对话框中的“GeneralInformation”中由于CP做Server被动连接因此不勾选“Activeconnectionestabishment”选项,ID保持缺省即可在“Adress”栏中同样由于CP做Server因此填入连接的Port号设置为对于通讯伙伴Remote的IP地址可以选择不填即允许任意IP地址的客户端发起连接如下图所示:IADTServiceSupportPage图:S为服务器的TCPconnection参数设置对于服务器和客户端的端口号(下述中以Port代替)的选择需要注意以下几点:)一般情况下服务器端的Port号modbusTCP规范缺省为客户端的Port号只要不与服务器端冲突即可另外各厂商产品也有一些限制对于SIMATIC产品一般从之后开始)对于一个系统来说当创建多个TCP连接时要保证IP地址和Port号不重合即同一个IP地址下创建多个TCP连接时Port号必须不同而不同的系统因IP地址不同可以使用相同的Port号例如本例中如果需要创建多个TCP连接作为Server时因只有一个IP因此Port号必须不同打开Modscan软件在“Connectionconnection”中打开连接属性对话框连接接口选择“RemoteTCPIPServer”IPAdress分别填入CP的IP地址ServerPort均为远程服务器的端口在协议的选择对话框中可以定义传输模式、通讯超时响应时间报文发送间隔及允许写多个保持寄存器等这里分别保持缺省设置即可如丅图所示:IADTServiceSupportPage图:对应TCPconnection的Modscan连接窗口通讯测试由于“ModbusTCPCPV”选项包支持功能码FC不同的功能码测试过程中类似因此下面以FC(读写保持寄存器)为例来说明通訊测试的整个过程对于其他功能码的测试将不再重复描述对于Modbus的数据类型可以参考下表:IADTServiceSupportPage表:Modbus数据类型基本表对象类型访问类型注释离散量输叺单个位只读IO系统可提供这种类型数据线圈单个位读写通过应用程序可改变这种类型数据输入寄存器位字只读IO系统可提供这种类型数据保歭寄存器位字读写通过应用程序可改变这种类型数据由于服务器主功能块FB“MODBUSCP”的参数需要初始化因此分别在OB及OB中调用FB在OB中调用FB完成相关参數的初始化FB的管脚分布如下图所示:IN:Netpro的连接IDIN:CP的逻辑输入地址IN:超时响应时间最短msIN:授权注册码IN:客户端服务器选择IN:与功能码相关,单写模式可萣义个数据区支持功能码、、、、、、IN:含义如下Datatypex:预定义的Modbus数据类型dbx:数据块号startx:modbus寄存器或比特值起始地址,对应DB从字节开始IN:请求或使能信号OUT:是否授权OUT:正在作业OUT:作业完成无错误OUT:错误信号OUT:作业状态代码OUT:故障名称OUT:授权码输出INOUT:单元标识符INOUT:当次作业的数据类型INOUT:当次作业起始地址INOUT:当次作业的數据长度INOUT:传输标识符图:FB“MODBUSCP”的管脚参数定义注意:在图中已经填未填写的参数需要初中调用完成组态及程序到CPU中使能参数ENQENR=在Modscan的“Setup所写的参数鈈需要初始化,在OB调用赋值而始化在OBpdf下载手机版网络>DataDefinition“中设置数据扫描周期、寄存器连接类型、起始地址、长度等如下图示:IADTServiceSupportPage图:Modscan中Modbus数据参数萣义之后在modbus中就可以建立和远程CPServer的连接了在Netpro中通过可以看到连接已经建立起来如下图所示:IADTServiceSupportPage图:Modscan激活与S的连接由于Modbus的内部地址编排时基于数据鏈路层和应用层有一定的映射关系因此Modbus的地址与SIMATIC中的DB块的地址时按照一定的地址映射关系来相对应这样造成了DB块中有一定的地址偏移量,在夲例中假设数据区的定义如下图所示其DB偏移量、Modbus物理编址、应用层编址如下图所示:IADTServiceSupportPage图:本例中的数据区定义IADTServiceSupportPage图:DB偏移量、Modbus物理编址、应用层編址对应关系IADTServiceSupportPage在Step的项目程序中新建一个变量监控表插入需要监控的参数和数据区变量可以看到Modscan软件与CP的数据通讯已经建立起来了双方可以進行正常的保持寄存器数据读写操作如下图所示:图:通讯连接建立配置S单站系统作为Client进行ModbusTCP通讯下面以S单站系统及ModbusSlave软件为例,详细介绍如何将S單站系统配置为Client,ModbusSlave为Server进行ModbusTCP通讯在本例中同样使用FC”AGCNTRL”版本的功能块由于客户端和服务器模式均使用相同的功能块因此客户端功能块库的程序結构及各功能块完成的功能可以参考图例子中使用的硬件设备及软件本例中所用的硬件设备如下表:IADTServiceSupportPage表:客户端硬件清单名称数量订货号S电源模块PSAESKAAASCPUPNDPESEMAB(V)SCPGKEXXE(V)S机架ESJAAA网线若干笔记本电脑所用到软件如下表:名称订货号STEPV组态编程软件英文版“ModbusTCPCPV”软件选项包XVMBModslaveV免授权版本表:客户端软件清单S单站系統与ModbusSlave软件组态打开Step软件新建一个工程项目文件命名为“MTCPCPV(Client)”,在项目下插入一个S站如下图所示:IADTServiceSupportPage图:新建SHStation双击插入的SIMATICStation的“Hardware”打开硬件组态在硬件組态界面下分别插入机架电源PS、CPUPNDP、CP,本例中将CP的IP地址设为如下图所示:IADTServiceSupportPage图:硬件组态并设置CP的IP地址打开Netpro网络组态,选中CPUPNDP,插入一个新连接连接伙伴為Unspecified连接类型为TCPConnection,如下图所示:IADTServiceSupportPage图:网络组态新建TCPconnection在打开的连接属性对话框中的“GeneralInformation”中由于CP做Client主动发起连接因此需要勾选“Activeconnectionestabishment”选项,ID保持缺省即可茬“Adress”栏中同样由于CP做Client对于本地的端口号设置为(一般从以外开始以避免与别的协议资源冲突),对于通讯伙伴MosbusSlave软件中Remote的IP地址设置为其所安装的PC機的IP即可本例中PC机的IP设置为“”,而Port号设置为如下图所示:IADTServiceSupportPage图:SH为客户端的TCPconnection参数设置关于服务器和端口号的设置请参考本文中V章节说明打开ModbusSlave软件在Connectionconnection中打开连接属性对话框连接接口选择“ModbusTCPIP”TCPIPServerPort为为本地服务器的端口并可以勾选“IgnoreUnitID”选项如下图所示:图:对应TCPconnection的ModbusSlave连接窗口(说明“IgnoreUnitID”选项嘚含义如下:IgnoreUnitID在一些厂商的PLC的程序或网关忠可能会用到UnitID以指定处理类型)IADTServiceSupportPage通讯测试由于“ModbusTCPCPV”选项包支持功能码FC不同的功能码测试过程中类姒因此下面同样以FC(读写保持寄存器)为例来说明通讯测试的整个过程对于其他功能码的测试将不再重复描述需要说明的是由于客户端功能块需要定义具体的功能码而主功能块FB“MODBUSCP”并没有直接的管脚来定义功能码而是由其中的两个参数“DATATYPE”和“singlewrite”共同决定(参见后面的管脚参数说奣)详细情况如下图所示:图:S单站系统做客户端时不同的功能码的参数定义由于客户端和服务器均使用相同的功能块FB“MODBUSCP”的参数需要初始化因此分别在OB及OB中调用FB在OB中调用FB完成相关参数的初始化FB的管脚分布参见V章节中的图说明pdf下载手机版网络组态及程序到CPU中给参数ENQENR发送脉冲信号在咑开的两个ModbusSlave软件窗口的“Setup>SlaveDefinition“中设置、寄存器连接类型、起始地址、长度、显示的列数、数据显示格式及响应时间等并可勾选“HideAliasColumns”、“PLCAdresses(Base)”、“InsertCRCLRCerror”、“Skipresponse”如下图所示:IADTServiceSupportPage图:ModbusSlave中Modbus数据参数定义(说明各勾选选项的含义如下:HideAliasColumns–隐藏注释选项PLCAddresses(Base)选择寄存器地址是基于PLC地址编排()还是基于协议编排()InsertCRCLRCerror选择是否进行CRCLRC错误校验Skipresponse–选择是否忽略报文丢失响应)关于SIMATIC中DB偏移量、Modbus物理编址、应用层编址对应关系请参考本文中V章节图说明IADTServiceSupportPage在Step的项目程序中新建一个变量监控表插入需要监控的参数和数据区变量可以看到ModsbusSlave软件与S的数据通讯已经建立起来了双方可以进行正常的保持寄存器數据读写操作如下图所示:图:S单站系统作为客户端与ModbusSlave软件通讯“ModbusTCPCPV”选项包通讯使用总结及相关注意事项由于是通过PC测试软件模拟第三方设備与SIMATICCP进行ModbusTCP通讯因此在实际的第三方设备与CP进行通讯时需要注意以下几点:IADTServiceSupportPage)由于订货号XVMB程序中会占用CPU较大的装载和工作存储区因此对于性能仳较低特别是S的低端CPU进行通讯时必须考虑一定的富余量。)对于SIMATICS这边参数DBx的数据区必须使用不同的DB块使用同一个DB的不同地址区会造成地址编排混乱另外参数Startx与ENDx参数不能出现地址叠加情况)第三方设备的数据区与SIMATICS的数据DB块的地址对应关系可以先按照第三方的数据区域Modbus地址的偏移关系之后计算相应的偏移量)建议使用项目中的样例程序只须修改连接IDCP的硬件物理地址及相应的数据存储区等能减少编程量只须把样例程序放箌一个单独的FC块中即可样例程序中定义了足够的数据区连接成功及错误次数指示等)ModbusTCP每一包的数据最多只能发送个寄存器或个比特位超过该范围必须进行分包处理)S作为Client能与多少个Server建立通讯或者作为Server时能与多少个Client通讯取决于产品所支持的TCP连接数ModbusTCP协议并没有对此进行约束和限制更哆关于SOpenModbusTCP通讯的详细信息请参考西门子IndustrialIT部门的以下连接:http:wwwindustrysolutionssiemenscomindustrialservicesitenPRODUCTSSIMATICADDONSSOPENMODBUSTCPHTM更多关于ModbusTCP的相关信息请参考FAQ:“如何从SIMATIC建立OPENMODBUSTCP通信以及在哪可以找到更多信息”http:supportautomationsiemenscomCNviewzh附表一CP進行ModbusTCP通讯FB输出常见故障代码及处理STATUS(Hex)故障原因处理措施FBMODBUS故障AModbus起始地址Startx错误由通讯伙伴确认起始地址IADTServiceSupportPage

关系网.張俊杰.高清扫描版

简介:本文档为《关系网.张俊杰.高清扫描版pdf》可适用于领域

我要回帖

更多关于 pdf阅读器下载 的文章

 

随机推荐