详解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会出现通信无法建立的情况。这是怎么回事呢?
我们知道,S7-1500系列PLC有两个以太网端口: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的数据结构如下表:
各部分的含义解释如下:
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数据类型就先介绍到这里。相关参考文章:
西门子PLC以太网开放式用户通信连载(1)-TCON
-
Origin(Pro):学习版的窗口限制【数据绘图】 2020-08-07
-
如何卸载Aspen Plus并再重新安装,这篇文章告诉你! 2020-05-29
-
AutoCAD 保存时出现错误:“此图形中的一个或多个对象无法保存为指定格式”怎么办? 2020-08-03
-
OriginPro:学习版申请及过期激活方法【数据绘图】 2020-08-06
-
CAD视口的边框线看不到也选不中是怎么回事,怎么解决? 2020-06-04
-
教程 | Origin从DSC计算焓和比热容 2020-08-31
-
如何评价拟合效果-Origin(Pro)数据拟合系列教程【数据绘图】 2020-08-06
-
Aspen Plus安装过程中RMS License证书安装失败的解决方法,亲测有效! 2021-10-15
-
CAD外部参照无法绑定怎么办? 2020-06-03
-
CAD中如何将布局连带视口中的内容复制到另一张图中? 2020-07-03