-Begin-
前言
前面我们对ModbusRTU协议、ModbusTCP协议、欧姆龙FinsTCP协议、三菱SLMP协议都做了说明:
今天我们来分享一下关于西门子S7协议的通信分析。
西门子作为一个老牌工控企业,在中国市场拥有很高的市场占有率。如果要说起西门子的通信协议,相信大家多多少少能说出一些,比如MPI、PPI、USS、Profibus、Profinet、S7等,但是西门子在协议的开放性方面还是相对要封闭一些,所以很多协议都是不开放的。
在这里,我主要是结合Wireshark抓包工具,跟大家去分享一下,如何是一步一步抓取西门子S7通信协议底层通信报文的,希望通过我一步一步地分析,(获取资料加VX:xiketang777)让大家都能够对西门子S7协议有所了解的同时,也学会基本的抓包操作与报文分析。
值得说明一下,西门子S7协议非开放协议,以下内容,仅供学习参考。
环境搭建
1、首先我们要准备要准备一个西门子的PLC,并保证PLC与PC之间的网络连接正常。PS:对于手头没有PLC的小伙伴,可以查看这篇文章:
基于S7-PLCSIM Advanced搭建S7通信仿真环境
2、为了抓取到通信的报文,需要实现PC与PLC之间的通信,这里我采用的方式是通过KepServer V6.4来实现,后台关键词:OPC学习套装。
3、安装Wireshark抓包软件(获取资料加VX:xiketang777),后台回复关键词:Wireshark。
4、认识S7协议的网络模型。
操作步骤
1、首先将KepServer与PLC之间的通信连接配置好;
2、将Wireshark软件打开,并处于监控报文状态;
3、将KepServer进行连接PLC,此时Wireshark软件中会出现报文的数据,将KepServer连接停止并关闭软件,同时将Wireshark的监控停止(获取资料加VX:xiketang777),以便进行后续的报文分