码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • S7COMM协议分析


    具体参考这篇文章:[ffffffff0x] 工控协议:S7COMM协议分析(上) - 腾讯云开发者社区-腾讯云

    S7协议是西门子特有的一种协议,用于PLC编程,在PLC之间传输数据

    它分三个部分,分别是header、parameter、data

    header标记该s7包的类型、参数长度、数据长度等

     

    他的构成部分:( ROSCTR,它决定了后续参数的结构 )

    • 协议ID,一般是0x32

    • ROSCTR,PDU type,PDU 的类型,一般有以下值:

      • JOB 作业请求。由主设备发送的请求

      • ACK 确认响应,没有数据的简单确认

      • ACK_DATA 确认数据响应,这个一般都是响应JOB的请求;

      • USERDATA:原始协议的扩展,参数字段包含请求/响应 ID(用于编程/调试,读取 SZL,安全功能,时间设置,循环读取…)。

    • Reserved 冗余数据,通常为 0×0000;

    • ...

    • Parameter length 参数总长度

    • Data length,数据长度。如果读取 PLC 内部数据,此处为 0×0000;对于其他功能,则为 Data 部分的数据长度;

    在响应数据包中,还有可能存在错误信息,其错误信息结构为:

    • Error class,错误类型:

    • Error code,错误代码;流量包分析

    S7Comm 中 Job(作业请求) 和 Ack_Data(确认数据响应) 中的 Parameter 项的第一个字段是 function(功能码),其类型为 Unsigned integer,大小为 1 byte,决定了其余字段的结构、消息的目的。

     

    • 建立通信(Setup communication 0xF0)

      建立通信在每个会话开始时被发送,然后可以交换任何其他消息。它用于协商 ACK 队列的大小和最大 PDU 长度,双方声明它们的支持值。

    • 读取值(Read Var 0x04)

    • 写入值(Write Var 0x05)

      Write Var 中 Parameter 的结构跟读取值(Read Var0x04)一样,但是 Write Var 还需写入值,所以 Write Var 比 Read Var 多了一个 Data 项。

      Data 的结构为:

      • Return code,返回代码

      • Transport size,确定变量的类型和长度:

      • Length,写入值的数据长度;

      • Data,写入的值;

     

  • 相关阅读:
    隐私计算头条周刊(7.31-8.6)
    弘辽科技:拼多多店铺可以改名字吗?店铺名字怎么取?
    【Git】深入了解Git及其常用命令
    STM32的SPI口的DMA读写[原创www.cnblogs.com/helesheng]
    入门JavaWeb之 Response 验证码和重定向
    CS231a课程笔记:Lecture2 Camera Models
    基于射频指纹的LoRa网络安全方案研究
    PHP 5 MySQLi 函数
    Python3制作鼠标拾色器并显示十六进制数值(有单独窗口显示取色)
    【c语言】100行代码搞定电子琴
  • 原文地址:https://blog.csdn.net/qq_61778128/article/details/126808473
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号