![图片](http://static.11467.com/img/lazy.gif)
(图18:接收编程)
(图19:字符串存储格式)
![图片](http://static.11467.com/img/lazy.gif)
(图20:编译项目)
②,用串口交叉线连接S7-1200的串口与计算机的串口,打开计算机的超级终端程序,并设置硬件扩展参数如下图:
(图21:超级终端的扩展设置)
![图片](http://static.11467.com/img/lazy.gif)
(图22:在文本文件下输入要发送的字符串)
![图片](http://static.11467.com/img/lazy.gif)
(图23:通过超级终端发送数据)
![图片](http://static.11467.com/img/lazy.gif)
(图24:接收接收机中接收到的数据)
通过上面的示例实现一个简单的应用,在实际的应用过程中,需要按第三方设备的协议进行编写S7-1200的程序。
Wireshark是一个youxiu的以太网诊断工具,通过捕捉报文进行分析,可以迅速的发现问题的所在。
在我们的SIMATIC网络中,如果需要捕捉网络上的报文,可以使用两种硬件模块,一个是管理型的交换机,例如SCALANCEX208,另一个就是BUS ANALYZERXM模块,例如XM-400模块。我们先看看捕捉两台PLC之间通信的报文时,使用交换机和XM模块在网络中的位置。
交换机 优缺点
下面就来聊聊两种模块在捕捉报文时的区别。
交换机如果需要扑捉到S7-1500PLC之间通信网线上的数据,那么交换机需要使用端口镜像功能,例如设置Port1为Monitored,设置Port3为Monitor端口,那么流经端口1的数据都会被端口3来捕捉到,就像照镜子一样,端口3上出现和端口1上一样的数据。
然而,这种扑捉报文的方法存在一定的缺陷,1,因为交换机本身的机制问题,错误报文会被丢弃,所以不会捕捉到错误的报文。2,带宽的问题,对于端口1和端口2的数据交互的带宽总量是200M,因为数据全部被捕捉到端口3,那么带宽Zui多是100M,那么当网络负荷超过50M的时候,就会捕捉的报文就会失真。4,当捕捉PNIO的报文时,需要单独进行PC侧网卡的设置,才能看到报文中的VLAN标签。5,不能捕捉PNIRT的报文,需要使用IRT的交换机,然而只能捕捉一侧的数据报文,要么是发送的,要么是接收的,不能同时接收到。6,端口镜像不能一定保证被捕捉数据顺序的准确性,例如,正确的TCP的3次握手。
端口镜像的错误的TCP3次握手的结果。SYN和SYN,ACK两个报文的顺序发生了变化
然而除了上述这些问题,交换机因为在网络中随处可见,依然是性价比zuihao的一种抓包方式。
XM模块 优缺点
对于使用BUS ANALYZER XM模块时,需要在PC侧安装BanyScope软件配合使用。因为硬件模块内部集成TAP,捕捉报文的结果即所见即所得,所以交换机捕捉报文时带来的上述缺点都不复存在了。但仍有一个问题需要注意,就是不能正确的捕捉上电过程的设备数据,例如PLC上电时,如果想要捕捉PLC上电时的数据,那么需要在PLC和XM模块之间加入交换机。