S7 PLC 通讯协议解码器

介绍

制造商:西门子
产品名称:PLC
产品型号:西门子S1500,S1200,S400,S300,S200Smart,西门子机床828D
官网连接:https://www.ad.siemens.com.cn/productportal/prods/s7-1200_plc_easy_plus/smartsms/041.html

资料

西门子官方文档

第三方文档:西门子S7通信协议1

第三方文档:西门子S7通信协议2

第三方文档:S7 协议调试工具 & 模拟器

工具

推荐工具:
西门子S7 PLC的模拟器:snap7-full-1.4.2.7z

S7 协议调试工具 & 模拟器

下载

源码

源码

模板

模板

1.配置范例

模板配置

测试

1.通道配置

西门子S7系列的PLC采用的是模块化设计的结构,涉及到一些基本概念,设备(IP/PORT)、型号(plcType)、机架(rack)、槽位(slot)

建立一个S7PLC通道,并配置好连接信息

{
     "ip": "127.0.0.1",
     "port": 102,
     "plcType": "S1200",
     "rack": 0,
     "slot": 1
}

2.设备配置

3.通道操作任务:

西门子-S7-readData

{
     "method": "readData",
     "params": [
          {
               "address": "DB1.0.1",
               "dataType": "BOOL"
          },
          {
               "address": "DB1.4",
               "dataType": "UINT16"
          },
          {
               "address": "DB1.20",
               "dataType": "FLOAT64"
          },
          {
               "address": "DB1.28",
               "dataType": "BYTE",
               "count": 3
          },
          {
               "address": "DB1.31",
               "dataType": "STRING",
               "count": 5
          },
          {
               "address": "DB1.43",
               "dataType": "TIME",
               "count": 1
          }
     ]
}

西门子-S7-writeData

{
     "method": "writeData",
     "params": [
          {
               "address": "DB1.0.1",
               "dataType": "BOOL",
               "value": true
          },
          {
               "address": "DB1.4",
               "dataType": "UINT16",
               "value": 42767
          },
          {
               "address": "DB1.20",
               "dataType": "FLOAT64",
               "value": 4.15
          },
          {
               "address": "DB1.28",
               "dataType": "BYTE",
               "value": "01 02 03"
          },
          {
               "address": "DB1.31",
               "dataType": "STRING",
               "value": "1234567890"
          }
     ]
}

2.设备操作任务:

2.1 S7 PLC读数据

{
     "tableName": "s7plc-s1200/v1/1.0.0/ReadData.csv",
     "templateName": "Read Data",
     "objectNames": [
          "数据测量点1",
          "数据测量点2",
          "数据测量点3",
          "数据测量点4",
          "数据测量点5",
          "数据测量点6"
     ]
}