如何将S7-400单站系统通过CPU集成PN口配置

描述

配置S7-400单站系统通过CPU集成PN口作为Server进行Modbus TCP通讯

下面以S7-400单站系统及Modscan32软件为例,详细介绍如何将S7-400单站系统通过CPU集成PN口配置为Server,Modscan32为Client进行Modbus TCP通讯,下图11为服务器功能块库的程序结构及各功能块完成的功能:

服务器

S7-400系统及Modscan32软件组态

打开Step7软件,新建一个工程项目文件,命名为“M_TCP_CPU_V26 (Server)”, 在项目下插入一个S7-400站,如下图12所示:

服务器

图12:新建S7-400 Station

双击插入的SIMATIC 400 Station的“Hardware”,打开硬件组态,在硬件组态界面下分别插入机架,电源PS407、CPU414-3PN/DP,本例中将CPU的PN口IP 地址设为192.168.70.2,如下图13所示:

服务器

硬件组态完成后,编译保存,并将例程站点“SIMATIC 400(Server)”中的程序(System data不需要拷贝)拷贝到该项目中。

由于需要在SIMATIC站与其他通讯伙伴之间建立TCP连接用于Modbus通讯,而对于CPU的集成PN口来说须通过Open IE(开放式以太网通讯)的方式来建立TCP连接,通过S7-CPU的 PROFINET接口进行 Modbus TCP 通信时,需要使用通信块 FB65 “TCON”、FB66 “TDISCON”、FB63 “TSEND”和 FB64 “TRCV”,要进行 Modbus TCP 通信,必须在数据块中为每个连接指定相应的参数,相应得参数在程序中主要由DB2“MODBUS_PARAM“来完成初始化,其中各参数的含义如下图14、15所示:

服务器

服务器

3.3 通讯测试

由于“ ModbusTCP PN-CPU V2.6”选项包支持功能码FC1,2,3,4,5,6,15,16,不同的功能码测试过程中类似,因此下面以FC03(读写保持寄存器)为例来说明通讯测试的整个过程,对于其他功能码的测试将不再重复᧿述,对于Modbus的数据类型可参考下表4:

服务器

由于服务器主功能块FB102“MODBUSPN”的参数需要初始化,因此分别在OB100及OB1中调用FB102,在OB100中调用FB102完成相关参数的初始化,FB102的管脚分布如下图16所示:

服务器

打开Modscan32软件,在“Connection---》connect”中打开连接属性对话框,连接接口选择“Remote TCP/IP Server”,IP Address分别填入CPU的IP 地址192.168.70.2,Service为远程服务器的端口502,在协议的选择对话框中可以定义传输模式、通讯超时响应时间,报文发送间隔及允许写多个保持寄存器等,这里分别保持缺省设置即可,如下图17所示:

服务器

下载硬件组态及程序到CPU中,将DB2“MODBUS_PARAM”的参数“server_client”使能为1,在 Modscan32 的“Set up-》Data Definition”中设置数据扫᧿周期、寄存器连接类型、起始地址、长度等,如下图18所示:

服务器

由于Modbus的内部地址编排时基于数据链路层和应用层有一定的映射关系,因此Modbus的地址与SIMATIC中的DB块的地址时按照一定的地址映射关系来相对应,这样造成了DB块中有一定的地址偏移量,在本例中假设数据区的定义如下图19所示,其DB偏移量、Modbus物理编址、应用层编址如下图20所示:

服务器

服务器

在Step7的项目程序中新建一个变量监控表,插入需要监控的参数和数据区变量,可以看到Modscan32软件与CPU414-3PN/DP的数据通讯已经建立起来了,双方可以进行正常的保持寄存器数据读写操作,如下图21所示:

服务器

原文标题:Modbus TCP 作为Server(主)实例

文章出处:【微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。  

      审核编辑:彭静
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分