这个模板的目标是:用 Node-RED 周期采集西门子 S7-200 SMART 的变量,并写入 MySQL。
模板功能
连接 PLC(S7 协议,ISO-on-TCP,默认 102 端口)
按周期读取变量(示例:temp=VW100、pressure=VW102、run=M0.0)
在 Function 节点里把采集值组装成参数化 SQL
写入 MySQL 表 plc_realtime
提供调试输出:
PLC 原始数据
SQL 预览
MySQL 执行结果
错误捕获日志
文件说明
Nodered模板文件:
nodered-s7200smart-mysql-flow.json mysql建表脚本: mysql-init.sql
怎么用
先安装 Node-RED 节点
安装下面两个节点包:
node-red-contrib-s7
node-red-node-mysql
在 Node-RED 右上角菜单 → Manage palette → Install 里搜索安装即可。
初始化数据库
把前面那个 mysql-init.sql 跑一下。这脚本是用来初始化环境的,执行完库和表就都出来了,在 MySQL 里直接运行就行,省得自己手动建了。
导入配置
进到 Node-RED 界面,右上角点开找到 导入。把 nodered-s7200smart-mysql-flow.json 这个文件的内容全选复制,往里一贴,点下导入按钮,流程就直接进来了。
修改 PLC 配置
在 Node-RED 找到 S7-200SMART 这个配置节点,把它里面的 address 改成你那台 PLC 的真实 IP 地址(别用示例里的 192.168.2.10 了)。
rack/slot 或 TSAP 根据你的 PLC 实际情况调整,S7-200 SMART 一般用默认值就行。
cycletime 是采集周期,默认 1000ms,按需改。
修改变量地址
还是在 S7-200SMART 配置节点的 vartable 里,把 VW100 、 VW102 、 M0.0 改成你实际的点位地址, name 字段对应后面 SQL 里的字段名,改了这里记得同步改 组装SQL 节点里的逻辑。
修改 MySQL 配置
找到配置节点 mysql-local (type: MySQLdatabase),填上你的 host 、 port (默认 3306)、 db (默认 )、 user 、 password 。
点击 Deploy
看 Debug 面板,正常的话会持续出现"PLC原始数据"和"MySQL执行结果"两条输出。

判断成功的标准
Debug 面板持续输出 PLC 数值(temp、pressure、run)
MySQL 执行结果无报错
plc_realtime 表里有新记录持续插入
没有"错误日志"节点的红色报错输出