新闻中心

PRESS CENTER 纵横智控
你的位置: 首页 新闻 技术应用
纵横智控

S7 读/写数据/高级读取-EG网关历史节点

2025-09-24 11:00:56 阅读: 发布人:纵横智控

概述

S7读数据 S7写数据 S7高级读取支持以S7协议读写西门子系列PLC的数据,目前已经测试过的西门子PLC如下:S7-200 Smart、S7-300、S7400、S7-1200、S7-1500。支持数据点批量导入导出。

S7读数据 S7写数据 S7高级读取共用一个S7配置节点,主要功能也集中在S7配置节点内,配置内容如下:

接口:目前只支持以太网,也就是S7协议

IP:PLC的IP地址

端口:S7通信端口,默认102

模式:Rack/Slot(机架号/槽号,通常选择此模式,博图软件查看地址见下图)

TASP(S7-200 Smart选择TASP,10.02 03.01)

采集周期:配置从PLC读取变量的时间间隔,如果设置0则禁用自动读取

超时时间:配置从PLC读取变量的超时时间,如果网络繁忙或者延迟很高,可能需要加大此时间

博图软件机架号槽号查看方式:

S7 读/写数据/高级读取-EG网关历史节点

变量地址即数据点地址,表示方式和Step7以及博图软件有一些不同,具体配置请参考下表进行设置:

变量地址Step7 地址数据类型描述
DB5,X0.1DB5.DBX0.1BooleanBit 1 of byte 0 of DB 5
DB23,B1 or DB23,BYTE1DB23.DBB1NumberByte 1 (0-255) of DB 23
DB100,C2 or DB100,CHAR2DB100.DBB2StringByte 2 of DB 100 as a Char
DB42,I3 or DB42,INT3DB42.DBW3NumberSigned 16-bit number at byte 3 of DB 42
DB57,WORD4DB57.DBW4NumberUnsigned 16-bit number at byte 4 of DB 57
DB13,DI5 or DB13,DINT5DB13.DBD5NumberSigned 32-bit number at byte 5 of DB 13
DB19,DW6 or DB19,DWORD6DB19.DBD6NumberUnsigned 32-bit number at byte 6 of DB 19
DB21,R7 or DB21,REAL7DB19.DBD7NumberFloating point 32-bit number at byte 7 of DB 21
DB2,S7.10*-StringString of length 10 starting at byte 7 of DB 2
I1.0 or E1.0I1.0 or E1.0BooleanBit 0 of byte 1 of input area
Q2.1 or A2.1Q2.1 or A2.1BooleanBit 1 of byte 2 of output area
M3.2QM3.2BooleanBit 2 of byte 3 of memory area
IB4 or EB4IB4 or EB4NumberByte 4 (0 -255) of input area
QB5 or AB5QB5 or AB5NumberByte 5 (0 -255) of output area
MB6MB6NumberByte 6 (0 -255) of memory area
IC7 or EC7IB7 or EB7StringByte 7 of input area as a Char
QC8 or AC8QB8 or AB8StringByte 8 of output area as a Char
MC9MB9StringByte 9 of memory area as a Char
II10 or EI10IW10 or EW10NumberSigned 16-bit number at byte 10 of input area
QI12 or AI12QW12 or AW12NumberSigned 16-bit number at byte 12 of output area
MI14MW14NumberSigned 16-bit number at byte 14 of memory area
IW16 or EW16IW16 or EW16NumberUnsigned 16-bit number at byte 16 of input area
QW18 or AW18QW18 or AW18NumberUnsigned 16-bit number at byte 18 of output area
MW20MW20NumberUnsigned 16-bit number at byte 20 of memory area
IDI22 or EDI22ID22 or ED22NumberSigned 32-bit number at byte 22 of input area
QDI24 or ADI24QD24 or AD24NumberSigned 32-bit number at byte 24 of output area
MDI26MD26NumberSigned 32-bit number at byte 26 of memory area
ID28 or ED28ID28 or ED28NumberUnsigned 32-bit number at byte 28 of input area
QD30 or AD30QD30 or AD30NumberUnsigned 32-bit number at byte 30 of output area
MD32MD32NumberUnsigned 32-bit number at byte 32 of memory area
IR34 or ER34IR34 or ER34NumberFloating point 32-bit number at byte 34 of input area
QR36 or AR36QR36 or AR36NumberFloating point 32-bit number at byte 36 of output area
MR38MR38NumberFloating point 32-bit number at byte 38 of memory area
DB1,DT0-Date**A timestamp in the DATE_AND_TIME format
DB1,DTZ10-Date**A timestamp in the DATE_AND_TIME format, in UTC
DB2,DTL2-Date**A timestamp in the DTL format
DB1,DTLZ12-Date**A timestamp in the DTL format, in UTC
DB57,RWORD4DB57.DBW4NumberUnsigned 16-bit number at byte 4 of DB 57, interpreted as Little-Endian
DB13,RDI5 or DB13,RDINT5DB13.DBD5NumberSigned 32-bit number at byte 5 of DB 13, interpreted as Little-Endian
MRW20MRW20NumberUnsigned 16-bit number at byte 20 of memory area, interpreted as Little-Endian


S7 读数据

输入

#无输入口

输出

msg.payload

#从PLC读取到的值,输出格式取决于配置的模式

msg.topic

#当输出为单个变量时,为变量的名称

功能

1. 单个变量

可以从配置的变量中选择单个变量,每个周期都会输出一条消息。或者选择当采集的值变化时在输出。msg.payload是变量的值,msg.topic是变量的名称。

2. 所有变量,每个变量输出一条

和单个变量模式类似,每个变量都会输出一条消息。

3. 所有变量输出一条

所有消息通过一条消息输出。msg.payload是一个包含了所有变量名称和值的结构体。

S7 写数据

向生产环境的PLC写入数据时要慎重!!!

输入

msg.payload

#要写入的数据

msg.variable

#当不选择配置变量时,此字段有效

输出

#无输出口

示例:

请参考流程介绍:点击链接查看-https://iotrouter.yuque.com/org-wiki-iotrouter-rlzwv5/eg8000/ygr92sghngxooa98

注意

使用S7-1200/S7-1500需要额外的配置,才能读取数据:

要访问的数据块必须禁用Optimized block access

在CPU属性的保护项启用Permit access with PUT/GET

S7 读/写数据/高级读取-EG网关历史节点

 


热门产品