• 上位机工业协议-S7COMM


    1、S7协议主要针对西门子相关设备通信。先了解基本通信对象、通信环境、通信报文,再处理S7COMM通信库的封装与测试。

    2、西门子设备通信

    - PLC:系列    LOGO200200Smart30040012001500

    - PLCLOGO200200Smart30040012001500

        - 通信模块/扩展板    

        - 通信环境

    3、通信环境

    4、西门子PLC存储区

    存储区分类

         - I:输入、Q:输出、AI:模拟量输入、V/DB:变量存储区    Modbus  4 个存储区

         - AQ:模拟量输出、M:位存储区、T:定时器存储区、C:计数器存储区、HC:高速计数器、AC:累加器、SM:特殊存储器、L:局部存储区、S:顺序控制继电器     

    访问规则

         - bitByteWordDword  

         - 访问地址:最小存储是字节(S7协议   访问非优化块,偏移地址)

            I0.0    Q1.3    MB10  MW10   M10.0   VW100  V100.1  DB1.DBX100.5     位地址最大:7

            W   Word    2Byte      10号字节开始的两个字节

     5、S7COMM-COTP报文

    6、S7COMM-Read报文

    S7Comm-

    长度(bit)

    发送

    说明

    长度(bit)

    响应

    说明

    0

    TPKT

    8

    0x03

    Version,版本默认3

    TPKT

    8

    0x03

    Version,版本默认3

    1

    8

    0x00

    Reserved,保留默认0

    8

    0x00

    Reserved,保留默认0

    2

    16

    0x00

    整个请求字节数

    16

    0x00

    整个请求字节数

    3

    0x1f

    0x1a

    4

    COTP

    8

    0x02

    当前字节以后的字节数

    COTP

    8

    0x02

    当前字节以后的字节数

    5

    8

    0xf0

    PDU Type,数据传输[附录一]

    8

    0xf0

    PDU Type,数据传输

    6

    8

    -000 0000

    TPDU number

    8

    -000 0000

    TPDU number

    1--- ----

    Last data unit:Yes

    1--- ----

    Last data unit:Yes

    7

    S7-Header

    8

    0x32

    Protocol Id,默认

    S7-Header

    8

    0x32

    Protocol Id,默认

    8

    8

    0x01

    ROSCTR:JOB[附录二]

    8

    0x03

    ROSCTR:Ack_Data

    9

    16

    0x00

    Redundancy Identification (Reserved)

    16

    0x00

    Redundancy Identification (Reserved)

    10

    0x00

    0x00

    11

    16

    0x00

    Protocol Data Unit Reference

    16

    0x00

    Protocol Data Unit Reference

    12

    0x00

    0x00

    13

    16

    0x00

    Parameter length

    16

    0x00

    Parameter length

    14

    0x0e

    0x02

    15

    16

    0x00

    Data length

    16

    0x00

    Data length

    16

    0x00

    0x05

    17

    S7-Parameter

    8

    0x04

    Function: Read Var (0x04)[附录五]

    8

    0x00

    Error class: No error (0x00)

    18

    8

    0x01

    Item count: 1

    8

    0x00

    Error code: 0x00

    19

    Item[1]

    8

    0x12

    结构标识,一般默认0x12

    S7-Parameter

    8

    0x04

    Function: Read Var (0x04)

    20

    8

    0x0a

    此字节往后的字节长度

    8

    0x01

    Item count: 1

    21

    8

    0x10

    Syntax Id: S7ANY (0x10)[附录六]

    Data

    Item[1]

    8

    0xff

    Return code: Success (0xff)[附录九]

    22

    8

    0x02

    Transport size: BYTE (2)[附录七]

    8

    0x04

    Transport size: BYTE/WORD/DWORD (0x04)

    23

    16

    0x00

    数据长度

    16

    0x00

    数据响应长度

    24

    0x01

    0x01

    25

    16

    0x00

    数据块编号     DB1.DBX100.0

    n

    0x00

    数据(不定长度)

    26

    0x01

    Item2

    8

    0xff

    Return code: Success (0xff)[附录九]

    27

    8

    0x84

    Area[附录八]

    8

    0x04

    Transport size: BYTE/WORD/DWORD (0x04)

    28

    24

    18-3

    Byte Address:100

    16

    0x00

    数据响应长度

    29

    0x01

    30

    2-0

    Bit Address:0

    n

    0x00

    数据(不定长度)

    6、S7COMM-Write报文

     7、S7COMM-SZL报文

     8、S7COMM-通信限制

     

  • 相关阅读:
    Linux用户管理
    基于SSM框架的图片分享及评价网站设计与实现毕业设计源码201524
    Shiro
    商城系统架构设计与实现
    深度学习自学笔记一:神经网络和深度学习
    c语言里的位域
    if-else 优化
    element-ui配置
    WinForm中DataGridView分页的实现【DataTable.rows.add()报错:该行已经属于另一个表】
    最新AI创作系统/AI绘画系统/ChatGPT系统+H5源码+微信公众号版+支持Prompt应用
  • 原文地址:https://blog.csdn.net/xdpcxq/article/details/127933546