西藏自治区西门子授权供应商---西门子变频器那曲市总代理

供应商
广东湘恒智能科技有限公司
认证
西门子PLC
西门子伺服电机
西门子触摸屏
西门子电缆
西门子变频器
西门子模块
联系电话
13510737515
手机号
13185520415
联系人
董海波
所在地
惠州大亚湾澳头石化大道中480号太东天地花园2栋二单元9层01号房(仅限办公)
更新时间
2024-07-07 07:00

详细介绍

浅谈plc通信中的tcpip的连接和断开


在plc通信中,tcp/ip是大家普遍选择的协议,因为它是开放的以太网协议,不仅仅在西门子内部的设备之间可以使用,也可以在与第三方的设备之间进行广泛的通信。其中原因还包含tcp/ip是面向连接的,可靠的通信服务协议。

对于面向连接,表示通信是需要建立连接的,那么必然会对应断开连接,早期的300/400plc我们会在netpro中进行组态tcp的连接,这属于静态链接,不能通过程序断开tcp/ip的连接。而对于新的pncpu,例如s7-1500cpu,则可以使用t_con和t_discon分别来动态的建立和断开连接,实现灵活的tcp通信。

使用t_con建立连接就是tcp通信的3次握手,通过wireshark抓包是可以看见三次握手的过程,但这是大家看到的外在表象,实际上通过t_con是先建立了tcp的通信资源,然后通过该通信资源与对方建立三次握手的连接。下图的wireshark中的1507,1509,以及1510是tcp的3次握手过程,在这三次握手中,通信双方协商了widowsize和mss的大小,即滑动窗口和tcp的大分节长度。plc中的tcp/ip的三次握手与标准的tcp/ip协议的三次握手形式相同。

使用t_discon程序功能块是用于断开连接的,然而与标准的tcp/ip通信的4次挥手是不同的,本质上是报文中的标志字段标志位不同,标准的tcp/ip的4次挥手字段标志位使用fin,即finish用来结束此连接,但是资源没有释放。而plc中tcp的断开连接,并不是真的用于断开连接,而是释放通信资源,真正的逻辑是因为释放资源,所以连接断开。所以这和标准的tcp的4次挥手完全不同,而是使用字段标志位rst,即reset来释放连接资源。通过wireshark抓包来观察断开连接的过程。上图中的1797,是客户端使用t_discon的断开连接的过程,客户端通知服务器已释放该tcp的通信资源,连接断开。

下图中的2012,是服务器端使用t_discon的断开连接的过程,通知客户端已释放该tcp的通信资源,连接断开。2089,2197表示客户端尝试继续与服务器建立连接,然而服务器通知客户端,2198通信资源释放,连接断开。

那么为什么断开连接,plc不能参考标准tcp的4次挥手呢?我想原因有两点,第一点是资源释放,有利于灵活的编程,例如,plca与其中一台plc b断开连接,资源释放,利用释放的资源,与plcc建立连接进行通信;第二点就是标准的4次挥手期间,数据仍然是可以交互的,对于工业环境来说,数据安全是有要求的,所以使用释放资源的方式,防止连接断开继续有数据交互,避免不必要的编程错误。

华南西门子总代理,华中西门子总代理,华东西门子总代理,华北西门子总代理,西北西门子总代理

展开全文

我们其他产品
我们的新闻
咨询 在线询价 拨打电话