尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

钡铼技术BL118 Node-Red边缘计算网关西门子PLC S7协议使用方法

钡铼技术BL118 Node-Red边缘计算网关西门子PLC S7协议使用方法
📅 发布时间:2026/6/21 14:19:27

一、概述

node-red-contrib-s7用于与 Siemens S7 PLC 交互的 Node-RED 节点。S7读数据 S7写数据 S7高级读取支持以S7协议读写西门子系列PLC的数据,目前已经测试过西门子PLC如下:

S7-200 Smart

注:仅支持网口通信。

 

二、安装方法

Node-RED 界面中的 “Manage Palette” 菜单安装此节点。

如果是开源的系统,可以在 npm install node-red-contrib-s7

注:需要 NodeJS 版本 10 或更高版本以及 Node-RED 版本 1.0 或更高版本。

 

三、节点介绍

3.1 s7 in读数据节点

从S7协议的PLC内部读取数据

l输出参数

payload

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

topic

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

l模式详解

从PLC中按照配置好的规则循环读取所有数据,有三种模式:

单个变量 

(Single variable)

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

所有变量,每条消息一个

(All variables, one per message)

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

所有变量

(All variables)

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

 

3.2 s7 out 写数据节点

向S7协议的PLC内部写入数据。注:向生产环境的PLC写入数据时要慎重!

l输入参数

payload

要写入的数据,将其转换为所需的数据类型

variable

PLC要写入的变量,根据配置的变量表选择。只有当变量配置为空时,此字段才有效

向节点配置的变量或消息指定的变量中写入数据,可以通过将msg.variable和msg.payload设置为数组实现一次写入多个变量

3.3 s7 control 高级读取节点

高级控制功能,此节点的功能取决于选择的模式。

Cycle Time(循环)

循环读取变量,时间间隔可以更改。如果选择此模式,payload必须是一个正数,即可以通过传入消息的payload字段来设置读取间隔。如果是0则禁用循环读取

Trigger read(触发)

手动触发读取

 

四、使用方法

4.1配置PLC节点

配置connection属性

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

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

Address(IP):PLC的IP地址

Port(端口):S7通信端口,默认102

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

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

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

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

TIA Portal(博途)软件架号槽号查看方法:

 

l配置Variables

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

变量地址

Step7 地址

数据类型

描述

DB5,X0.1

DB5.DBX0.1

Boolean

Bit 1 of byte 0 of DB 5

DB23,B1 or DB23,BYTE1

DB23.DBB1

Number

Byte 1 (0-255) of DB 23

DB100,C2 or DB100,CHAR2

DB100.DBB2

String

Byte 2 of DB 100 as a Char

DB42,I3 or DB42,INT3

DB42.DBW3

Number

Signed 16-bit number at byte 3 of DB 42

DB57,WORD4

DB57.DBW4

Number

Unsigned 16-bit number at byte 4 of DB 57

DB13,DI5 or DB13,DINT5

DB13.DBD5

Number

Signed 32-bit number at byte 5 of DB 13

DB19,DW6 or DB19,DWORD6

DB19.DBD6

Number

Unsigned 32-bit number at byte 6 of DB 19

DB21,R7 or DB21,REAL7

DB19.DBD7

Number

Floating point 32-bit number at byte 7 of DB 21

DB2,S7.10*

-

String

String of length 10 starting at byte 7 of DB 2

I1.0 or E1.0

I1.0 or E1.0

Boolean

Bit 0 of byte 1 of input area

Q2.1 or A2.1

Q2.1 or A2.1

Boolean

Bit 1 of byte 2 of output area

M3.2

QM3.2

Boolean

Bit 2 of byte 3 of memory area

IB4 or EB4

IB4 or EB4

Number

Byte 4 (0 -255) of input area

QB5 or AB5

QB5 or AB5

Number

Byte 5 (0 -255) of output area

MB6

MB6

Number

Byte 6 (0 -255) of memory area

IC7 or EC7

IB7 or EB7

String

Byte 7 of input area as a Char

QC8 or AC8

QB8 or AB8

String

Byte 8 of output area as a Char

MC9

MB9

String

Byte 9 of memory area as a Char

II10 or EI10

IW10 or EW10

Number

Signed 16-bit number at byte 10 of input area

QI12 or AI12

QW12 or AW12

Number

Signed 16-bit number at byte 12 of output area

MI14

MW14

Number

Signed 16-bit number at byte 14 of memory area

IW16 or EW16

IW16 or EW16

Number

Unsigned 16-bit number at byte 16 of input area

QW18 or AW18

QW18 or AW18

Number

Unsigned 16-bit number at byte 18 of output area

MW20

MW20

Number

Unsigned 16-bit number at byte 20 of memory area

IDI22 or EDI22

ID22 or ED22

Number

Signed 32-bit number at byte 22 of input area

QDI24 or ADI24

QD24 or AD24

Number

Signed 32-bit number at byte 24 of output area

MDI26

MD26

Number

Signed 32-bit number at byte 26 of memory area

ID28 or ED28

ID28 or ED28

Number

Unsigned 32-bit number at byte 28 of input area

QD30 or AD30

QD30 or AD30

Number

Unsigned 32-bit number at byte 30 of output area

MD32

MD32

Number

Unsigned 32-bit number at byte 32 of memory area

IR34 or ER34

IR34 or ER34

Number

Floating point 32-bit number at byte 34 of input area

QR36 or AR36

QR36 or AR36

Number

Floating point 32-bit number at byte 36 of output area

MR38

MR38

Number

Floating 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,RWORD4

DB57.DBW4

Number

Unsigned 16-bit number at byte 4 of DB 57, interpreted as Little-Endian

DB13,RDI5 or DB13,RDINT5

DB13.DBD5

Number

Signed 32-bit number at byte 5 of DB 13, interpreted as Little-Endian

MRW20

MRW20

Number

Unsigned 16-bit number at byte 20 of memory area, interpreted as Little-Endian

注:在使用S7-1200/1500读取数据时需要进行以下配置:

l要访问的数据块必须禁用:“Optimized block access”

l在 CPU 属性的“保护”部分中,启用 Permit access with PUT/GET

 

相关新闻

  • 2025 年 12 月视频拍摄与代运营服务商推荐榜单:短视频/拍视频/视频拍摄/短视频拍摄/视频代运营/短视频代运营/年会视频拍摄/婚庆视频拍摄/企业宣传视频/短视频获客,创意无限选择!
  • 这几款免费微信投票小程序值得信赖,操作简单
  • 2025年12月洛阳市汝阳县艺术培训学校精选五家推荐指南 | 学员家长择校参考

最新新闻

  • 抖店新店冷启动实操方案,新手起店逻辑 + 流量获取一站式教学 - 抖掌柜
  • Real-ESRGAN-GUI:5分钟让你的模糊图像焕然一新!双引擎AI超分工具完整实战指南
  • 抖店无货源售后全流程解决方案:一键同步厂家退货地址,规避售后处罚 - 抖掌柜
  • 3分钟学会!本地AI视频字幕提取神器,告别繁琐手动转录
  • 嵌入式Linux INITRD启动全解析:MPC8220平台内核配置与镜像制作实战
  • 5个关键场景解析:如何用BetterJoy实现Switch手柄PC端全能操控

日新闻

  • 2026速览惠州叛逆青少年学校前十大排名名单出炉 - 武汉中职最新信息发布
  • 2026上饶白蚁消杀哪家好?15年本土2大权威白蚁防治公司推荐(金盾虫控/青蚁卫士) - 我叫一
  • 天龙八部单机版终极数据管理工具:5个技巧快速掌握游戏数据编辑

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号