北岛夜话
原创工业智能控制领域(PLC、单片机、嵌入式、机器人、通信)的技术及经验分享。
文章306 浏览2022136

详解S7-1500的以太网通信数据类型:TCON_IP_v4

西门子S7系列PLC的开放式以太网通信过程包括如下几个步骤:建立连接(Establish connection)、发送/接收数据(Send/receive data)、断开连接(Disconnect)。

与通信伙伴建立连接要使用TCON指令,该指令的“CONNECT”引脚的数据包含了通信伙伴的相关信息(比如:通信协议、IP地址、端口号等等)。在S7-300/400中,CONNECT引脚的数据类型为:TCON_Param。但是,在S7-1500系列PLC的开放式以太网通信中,数据类型TCON_Param会出现通信无法建立的情况。这是怎么回事呢?

cover.png

我们知道,S7-1500系列PLC的CPU1515、CPU1516和CPU1517都有两个以太网端口:X1和X2。其中X1包括2个RJ45口(内置交换机功能);X2有1个RJ45口。X1和X2是独立的,也就是可以设置成两个不同网段的IP地址,都支持开放式以太网通信协议。当使用数据类型TCON_Param做为连接的参数时,X1口可以建立通信,但是X2口确无法建立通信。

这种情况下,应该使用新的数据类型:TCON_IP_v4。

与TCON_Param相比,数据类型TCON_IP_v4明确了硬件标识符,因此可以指明当前是使用哪个网口进行通信。

TCON_IP_v4的数据结构如下表:

data_structure_ip_v4.PNG

各部分的含义解释如下:

1)interface_id:本地通信端口的硬件标识符。默认值64表示使用X1端口,若要使用X2端口,则根据硬件配置的标识符数据进行修改;

2)id:用来标识连接,在发送/接收指令中会用到连接的ID;

3)connection_type:表示连接的类型。

  • 11(0x0B)=TCP协议;

  • 19(0x13)=UDP协议。

    出于兼容及程序移植的考虑,17(0x11)也表示TCP协议;

4)active_established:是否主动建立连接。TRUE表示主动;FALSE则表示被动建立连接;

5)remote_address:通信伙伴的IP地址,是一个四个字节的数组。

    假设通信伙伴的IP地址为:192.168.0.88,则:

  • addr[1]=192;

  • addr[2]=168;

  • addr[3]=0;

  • addr[4]=88;

6)remote_port:通信伙伴的端口号,建议使用大于2000的数值;

7)local_port:本地端口号,建议使用大于2000的数值;

    在S7-1500及S7-1200(V4.0以上)的以太网通信连接中,建议使用TCON_IP_v4代替TCON_Param!

好了,关于TCON_IP_v4数据类型就先介绍到这里。欢迎扫描下方的二维码关注我们的微信公众号。

founderchip.png

相关参考文章:西门子开放式以太网通信连载(1)-TCON


详解S7-1500的以太网通信数据类型:TCON_IP_v4

来源:本站|   大小:319 KB|   下载次数:805次

取消

感谢您的支持,欢迎常来看看!

扫码支持
一点动力,多少随意

打开支付宝扫一扫,即可进行扫码打赏哦

发表评论