大家好,再次和大家见面,这次给大家奉献《我与PROFINET不得不说的事》系列的第二篇文章。
其实在写完第一篇文章(我与PROFINET不得不说的事-01概览-技术论坛-工业支持中心-西门子中国 (siemens.com.cn))的时候,我还没有想好第二篇文章写什么,和大家谈论什么。不过我想不会像《PLC通信原理探秘》系列文章那样,描绘自己的心路历程,剥茧除丝,逐步揭露PLC的通信原理。因为PROFINET的学习,随着PN的诞生,我是循序渐进的学习的,那里没有像《PLC通信原理探秘》系列文章描绘的那样跌宕起伏,波澜壮阔,而是像春天的雨丝,润物细无声,如涓涓细流汇入我小时候庭院门前的水塘。所以我想把我所知道的PROFINET关键知识通过此系列文章呈现给大家。
在谈到PROFINET技术之前,我想和大家先说说Wireshark,因为只有通过Wireshark软件进行报文捕捉,才能更好的理解PROFINET的工作原理,后面的原理和技术的展示,大家才可能明白和理解。
Wireshark这个软件,相信很多工控人还是知道的,不过用过的人可能就相对少了,至于能够使用该软件去诊断和评估捕捉的报文质量可能又是少之又少。不过学习都有一个过程,在这里我强烈的建议大家只要你接触PROFINET,接触工业以太网,Wireshark是首选,最重要的诊断工具,没有之一。能够掌握PROFINET和工业以太网,Wireshark是关键!而这里我不和大家讲解如何使用Wireshark这个软件,因为网上相关的教程很多,大家有时间可以去看看。
这里我给大家讲解一下通过什么样的硬件与Wireshark匹配以获得你想要的结果。使用安装有Wireshark的PC,通过本身的网卡可以捕捉该PC与外部设备之间通信的所有交换的数据信息。但是不能捕捉设备之间的交换的数据报文,只能借助其它设备,有经验的工程师应该知道借助的设备就是交换机了。如下图展示。两台1500PLC进行通信,装有Wireshark的PC可以通过此交换机进行捕捉通信报文,此时交换机需要支持一个功能,那就是端口镜像功能,也就是说要选择管理型的交换机。例如,设置交换机Port 1为Monitored, 设置Port3为Monitor端口,那么流经端口1的数据就像照镜子一样出现在端口3,即端口3上出现和端口1上一样的数据,所以通过安装有Wireshark的PC就可以捕捉到两台1500PLC之间交换的数据,进一步可以诊断两台PLC之间通信的状态和故障。
我想这是大家经常使用的一种现场捕捉报文的方法。然而这种方式有一定的弊端,需要大家提前了解,这样才能更好的进行报文的分析。
1, 交换机会对错误的报文进行过滤,所以网络中出现的错误报文是不会被捕捉到的,这意味在这种条件下,你可能无法判断错误报文所带来的原因,例如EMC干扰。
2, 带宽的问题,图例中交换机的端口是百兆全双工,那么对于端口1和端口2的数据交互的带宽总量是200M(发送和接收的总和),因为端口1的数据全部被映像到端口3,而端口3的带宽最多是100M,这意味着当端口1 的网络负荷超过50M的时候,捕捉的报文就会失真。
3, 当捕捉PN IO RT的报文时,需要对PC侧网卡进行设置,因为默认的状态下网卡会对报文中的VLAN标签是去除的,只有对网卡进行正确设置才能看到报文中的VLAN标签。
4, 不能使用普通的交换机,例如SCALANCE X208进行捕捉PN IRT的报文,需要使用IRT的交换机,然而只能捕捉一侧的数据报文,要么是发送的,要么是接收的,不能同时接收到发送和接收的数据。
5, 端口镜像不能一定保证被捕捉数据顺序的准确性,因为照镜子的过程需要复原,这个过程交换机可能会对报文顺序的处理产生错误。例如下图是正确的TCP的3次握手的报文顺序。
而端口镜像的方式可能扑捉到错误的TCP3次握手的结果。例如下图中对比正确的上图中的[SYN]和[SYN,ACK]两个报文的顺序发生了变化。这一点需要你事先要理解协议的工作原理,而且发生这种情况要有个心里准备,知道这是什么原因造成的,而不是认为TCP连接发生错误!
那么说了这么多弊端,大家可能就会说这种方式我不能用了,或者这种方式没有什么用啊等等。这里我需要和大家澄清的是这种方式是目前性价比最佳的方式,没有之一。因为首先在你的网络中,管理型的交换机可能随处都有,需要设置端口镜像就能进行报文捕捉,即使没有,备用一台管理型交换机,需要监控哪一段网络,就放置到哪里,简单方便。其次,我所说的弊端都是有条件的,例如VLAN标签的去除,首先你要想我是否需要捕捉到VLAN标签,它对我的用处是什么,还有带宽问题,你确信你要监控的网段带宽会超过50M?我想99%的现场不会出现,更何况你也不会让它出现。所以去除这些在某些条件下的弊端,这是目前对于大家最好的报文捕捉方式!
当然,西门子也有其它方式解决上述出现的弊端。在这里给大家推荐一个西门子专业的捕捉报文的硬件和软件,它们就是硬件为BUS ANALYZER XM,软件为Bany Scope。硬件实际上就是一个TAP,软件用于网络数据分析,如果需要查看报文,仍然需要使用Wireshark工具。具体的连接方式,这里给大家看一个简单的网络拓扑的实例。
对于使用BUS ANALYZER XM模块时,需要在PC侧安装Bany Scope软件配合使用。因为硬件模块内部集成TAP,捕捉报文的结果即所见即所得,所以交换机捕捉报文时带来的上述缺点都不复存在了。
您是否还有疑问呢,请点击下面的留言区,我们可以相互交流。