西门子 S7 通信.第 1 部分:一般结构
我与西门子 合作已经有一段时间了,主要是开发与其通信或观察模拟其通
信的应用程序。我认为是时候分享我收集的 协议的知识了,因为有些人认为
它很有用,很有趣。本文旨在帮助那些希望深入了解西门子 通信协议的人,
并帮助开发干扰这些设备的软件。这个协议的文档不全面,还有很多部分有待
发掘。在撰写本文时,我只能访问 和 系列设备(具体来说,
和 ),并且我以前从未使用过 系列 ,因此这里
不涉及这些特定功能。
据我所知, 协议没有公开可用的文档,但是有几个值得注意的项目可以帮助
处理它。 创建了一个很棒的开源通信库 ,它实现了基本的
通信场景。该库附带了 协议的基本结构的广泛文档。另一个伟大的项目是
!的 " 剖析器,它覆盖了协议的大部分,其源代码包含一个
冗长的协议常数列表。在我和西门子设备一起工作的那些年里,这些对我来说
是无价之宝。由于没有官方文件,在 议定书中不存在官方术语。在本文的其
余部分中,我试图遵守上述项目中使用的术语。
!西门子通讯方案
在进入更多的技术细节之前,我想简单介绍一下西门子通讯的基本原理。当我
谈到“ 协议”时,我指的是以太网 通信,它主要用于将 连接到#$% 站
#& 通信%。这不会与西门子设备使用的不同现场总线协议混淆,例如