[西门子] 工控S7Comm协议仿真环境搭建

[复制链接]
查看56311 | 回复0 | 2024-3-25 11:37:03 | 显示全部楼层 |阅读模式


S7Comm协议简介



S7Comm(S7 Communication)是西门子专有的协议,是西门子S7通讯协议簇里的一种。

S7协议的TCP/IP实现依赖于面向块的ISO传输服务。S7协议被封装在TPKT和ISO-COTP协议中,这使得PDU(协议数据单元)能够通过TCP传送。

它用于PLC编程,在PLC之间交换数据,从SCADA(监控和数据采集)系统访问PLC数据以及诊断目的。
S7Comm以太网协议基于OSI模型:OSI layer Protocol 7 Application Layer S7 communication 6 Presentation Layer S7 communication (COTP) 5 Session Layer S7 communication (TPKT) 4 Transport Layer ISO-on-TCP (RFC 1006) 3 Network Layer IP 2 Data Link Layer Ethernet 1 Physical Layer Ethernet其中,第1-4层会由计算机自己完成(底层驱动程序);第5层TPKT,应用程数据传输协议,介于TCP和COTP协议之间。这是一个传输服务协议,主要用来在COTP和TCP之间建立桥梁;第6层COTP,按照维基百科的解释,COTP 是 OSI 7层协议定义的位于TCP之上的协议。COTP 以“Packet”为基本单位来传输数据,这样接收方会得到与发送方具有相同边界的数据;第7层,S7 communication,这一层和用户数据相关,对PLC数据的读取报文在这里完成;可能会对TPKT和COPT迷惑,其实在具体的报文中,TPKT的作用是包含用户协议(5~7层)的数据长度(字节数);COTP的作用是定义了数据传输的基本单位(在S7Comm中 PDU TYPE:DT data)。



协议搭建的工具



Win7 64位虚拟机 1套
Win7 32位虚拟机1套
WINCC7.01套
STEP7和WinLC1套
      



协议仿真环境搭建过程



▼3.1 环境配置将两台虚拟机及物理机设置在同一网段WINLC IP:192.168.2.3Wincc 7.0 IP:192.168.2.20▼3.2 STEP7配置3.2.1站点及硬件配置          打开STEP7,插入一个SIMATIC PC 站点。配置组态,插槽中分别插入WinLC RTX和IE General,并将IE的IP设置虚拟机的IP192.168.2.3。然后保存编译。

3.2.2程序编写及下载          新建OB1及DB块,并编写一段程序,与上位机通讯时用作监控数据,更直观的判断通讯状态。





▼3.3Wincc配置3.3.1变量管理
在变量管理中添加S7 TCP/IP,修改连接参数并添加变量。

3.3.2 图形编辑
新建画面,然后添加数据显示和控制等控件,连接对应变量。运行工程实现设备与上位系统TCP/IP仿真通讯。





总结

通过环境的搭建,能很好地仿真TCP/IP协议,并能通过Wireshark抓包工具,完成报文抓取,如图所示。




Andisec

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则