S7-400集成PN口如何进行Modbus TCP通讯呢?

描述

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

下面以S7-400单站系统及ModSim32软件为例,详细介绍如何将S7-400单站系统CPU的集成PN口配置为Client,ModSim32为Server进行Modbus TCP通讯,由于客户端和服务器模式均使用相同的功能块.

4.2 S7-400单站系统与ModSim32软件组态

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

ModBus协议

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

ModBus协议

由于需要在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”来完成初始化.

ModBus协议

连接类型要设置为Client主动

ModBus协议

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

打开DB2“MODBUS_PARAM”并切换到数据视图,修改需要访问的Modbus TCP server的IP 地址和端口号,本例中作为服务器的电脑IP 为192.168.70.245,端口号为502.

rem_staddr: 通信伙伴的IP地址,与参数connection_type有关,以192.168.0.1为例:

2)connection_type= B#16#11时

rem_staddr[1]=  B#16#C0(192)

rem_staddr[2]=  B#16#A8(168)

rem_staddr[3]=  B#16#00(0)

rem_staddr[4]=  B#16#01(1)

rem_staddr[5-6]=B#16#00(为IPV6预留)

rem_tsap_id远程连接TSAP号,与参数connection_type有关

1)connection_type= B#16#01时

local_tsap_id[1] 本地连接端口号的低字节[16进制]

local_tsap_id[2] 本地连接端口号的高字节[16进制]

local_tsap_id[3-16] B#16#00

2)connection_type=B#16#11时

local_tsap_id[1] 本地连接端口号的高字节[16进制]

local_tsap_id[2] 本地连接端口号的低字节[16进制]

local_tsap_id[3-16] B#16#00

ModBus协议

通讯测试

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

需要说明的是由于客户端功能块需要定义具体的功能码,而主功能块FB102“MODBUSPN”并没有直接的管脚来定义功能码,而是由DB2“MODBUS_PARAM”中的两个参数“DATA_TYPE”和 “single-write”共同决定.

ModBus协议

由于客户端和服务器均使用相同的功能块FB102“MODBUSPN”的参数需要初始化,因

此分别在OB100及OB1中调用FB102,在OB100中调用FB102完成相关参数的初始化。

打开ModSim32软件,在“Connection--->connect”中打开连接属性对话框,连接接口选择“Modbus/TCP svr”,TCP/IP Server Port为本地服务器的端口502.

ModBus协议

下载硬件组态及程序到CPU中,将DB2“MODBUS_PARAM”的参数“server_client”使能为0,给参数ENQ_ENR发送脉冲信号;在打开的ModSim32软件窗口设置寄存器连接类型、起始地址、长度等.

ModBus协议

在Step7的项目程序中新建一个变量监控表,插入需要监控的参数和数据区变量,可以看到ModSim32软件与CPU414-3PN/DP的数据通讯已经建立起来了,双方可以进行正常的保持寄存器数据读写操作(读写权限由参数"WRITE_ READ"决定)

ModBus协议







审核编辑:刘清

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

全部0条评论

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

×
20
完善资料,
赚取积分