配置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自动化应用】欢迎添加关注!文章转载请注明出处。
-
cpu
+关注
关注
68文章
10552浏览量
207806 -
服务器
+关注
关注
12文章
8352浏览量
83573 -
软件
+关注
关注
68文章
4451浏览量
86255 -
PN
+关注
关注
1文章
46浏览量
26713
原文标题:Modbus TCP 作为Server(主)实例
文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
干货分享:宏集物联网HMI通过S7 MPI协议采集西门子400PLC数据
![干货分享:宏集物联网HMI<b class='flag-5'>通过</b><b class='flag-5'>S7</b> MPI协议采集西门子<b class='flag-5'>400</b>PLC数据](https://file1.elecfans.com/web2/M00/ED/44/wKgZomZqg1aABbbgAAG9ZujEJLk752.png)
Modbus RTU转PROFINET协议转换网关 HT1S-PNS485-S10
GD32 MCU如何将烧录口配置为GPIO使用?
![GD32 MCU<b class='flag-5'>如何将</b>烧录<b class='flag-5'>口</b><b class='flag-5'>配置</b>为GPIO使用?](https://file1.elecfans.com/web2/M00/C0/3E/wKgZomXUC-KAMeKGAAA5pwTymlM287.png)
PLC之MODBUS通讯口通信案例解析
![PLC之MODBUS通讯<b class='flag-5'>口</b>通信案例解析](https://file1.elecfans.com/web2/M00/AA/31/wKgaomU4eSWAYOUzAAASXwFLwAA251.jpg)
浅谈S7-300 CPU集成PN口配置的Modbus TCP通讯技术
![浅谈<b class='flag-5'>S7</b>-300 <b class='flag-5'>CPU</b><b class='flag-5'>集成</b><b class='flag-5'>PN</b><b class='flag-5'>口</b><b class='flag-5'>配置</b>的Modbus TCP通讯技术](https://file1.elecfans.com/web2/M00/A8/AC/wKgaomUuOj6AdPtgAABNHnF4nFQ808.png)
西门子S7-300和S7-400之间的以太网通讯方法和步骤
西门子单站S7-400 CPU如何与S7-300建立以太网通讯
PPI-ETH-YC01-S支持多主站通讯连西门子和Proface触摸屏和主站
![PPI-ETH-YC01-<b class='flag-5'>S</b>支持多主<b class='flag-5'>站</b>通讯连西门子和Proface触摸屏和主<b class='flag-5'>站</b>](https://file1.elecfans.com/web2/M00/8E/69/wKgZomTHE5iASlaDAAISYeY0Wio416.png)
西门子plc S7-1200/S7-1500优化的DB块与标准的DB块整体对比
![西门子plc <b class='flag-5'>S7</b>-1200/<b class='flag-5'>S7</b>-1500优化的DB块与标准的DB块整体对比](https://file1.elecfans.com//web2/M00/8E/49/wKgaomTDomqAQySDAACAnNBD494583.jpg)
基于S7-300和S7-1200 CPU的Profinet通信
![基于<b class='flag-5'>S7</b>-300和<b class='flag-5'>S7</b>-1200 <b class='flag-5'>CPU</b>的Profinet通信](https://file1.elecfans.com/web2/M00/8D/02/wKgaomS2Fb-AUD08AAAaEwaAA4g228.jpg)
评论