PROFINET通讯协议自从推出之后,发展日益迅猛,截至目前已在工业以太网通讯中占据不可替代的地位,说起PROFINET通讯协议大家广为熟知的便是以西门子为主的各类型工业产品,如:PLC、HMI、变频器、驱动器、分布式I/O等控制及驱动类设备。
在对上述的工业设备应用中,我们时常会面对在通过PLC控制驱动器或者分布式I/O模块等从站设备时建立两者之间通讯的各种问题,本文将针对PROFINET通讯协议建立通讯时使用Wireshark软件抓取的通信报文做一定的阐述,来帮助大家对PROFINET网络报文进行分析判断。
环境搭建
本次测试采用西门子1200系列PLC与北京骥远开发的PN从站网关进行通讯连接来说明Wireshark的报文结构,由于PROFINET通讯协议属于点对点通信,所以PC端需要通过交换机抓取镜像报文才能看到PN的通信数据帧。
- PROFINET主站:S7-1215C;
- PROFINET从站:ET300(PN从站转ECAT主站);
- 管理型交换机一台【骥远PN从站直接支持端口镜像功能】;
图 - 1
Wireshark准备
下载并且安装好Wireshark后打开软件(本文以Wireshark Version 4.2.2 介绍)打开后我们可以看到,Wireshark可以自动识别出电脑上面的网卡(包括虚拟网卡),这里我们双击我们需要抓包的网卡,如图所示:
图 - 2
双击进入此界面后,Wireshark已经自动开始了抓包过程,如果网卡在与其他网络设备通讯,我们就能看到如下图所示的各种网络协议报文:
图 - 3
如图-3所示,此时所获取到的报文为广播包,没有PROFINET通讯协议的报文显示,我们打开交换机的镜像功能,将PC端连接交换机的接口配置为镜像端口,其余端口配置为被镜像端口,此时再通过Wireshark软件抓取网络报文,可以看到获取到的报文已经变成了PROFINET通讯协议包,如图所示:
图 - 4
图 - 5