数据采集系列
一、node
1.1 nodejs
1.2 node-red
- node-red官网
(https://blog.csdn.net/weixin_44462773/article/details/132495926) - linux安装部署
- windows安装部署
- 配置
- 使用
- node-red - 节点实战总结
- node-red opc-ua节点操作
- node-red - 读写操作redis
- node-red时区问题解决方案对比
- node-red全局变量(永久)存储
- node-red -读取PLC变量-“node-red-contrib-s7” 节点使用
- node-red:modbus协议数据格式转换
二、emqx
三、modscan
四、数据采集
五、主从备份实现
数据采集的主从备用分两个方面:
- SCADA数据查询的主从备用机制
- 数据采集的主从备用机制
5.1 SCADA数据查询的主从备用机制
SCADA数据查询的主从机制建立,要保证前端访问的IP路径一致
,操作步骤如下:
- 需要对主从机搭建VRRP高可用集群
VRRP的主要目的是将主机和从机虚拟出一个共用IP,在一个网络中提供冗余的路由。当一个三层网络设备或服务器出现故障时,VRRP可以确保网络仍能正常工作,且在某些节点发生故障时仍能保持服务。
参考链接:Linux-Keepalived(VRRP协议)高可用集群搭建 - 在主从机上都部署node-red,且都写有SCADA查询接口的实现代码,且node-red是运行的。因此,建议查询的node-red和采集的node-red分开,因为主从备用机制不同。
5.2 数据采集的主从备用机制
数据采集的主从备用机制建立要考虑node-red的某些节点一直处于监听状态,会占用通道。因此建议使用服务监听的方式搭建主从备用机制,即主机正常运行node-red采集程序,从机写脚本监听主机的端口状态,当主机出现故障时,从机立马启动node-red,进行数据采集,保证采集不中断。
主从备用机制搭建步骤:
- 在主机上用docker部署node-red(或者pm2管理),根据采集节点个数选择部署多少个容器实例。
由于Node-RED是单线程的,因此在处理大规模和高性能应用时可能会受到限制,采集节点过多时,会导致CPU占用过高,从而导致服务崩溃。因此建议采集多个节点时通过docker部署多个node-red实例,将采集节点分散搭配各个实例上去,分散压力,一般建议一个node-red上处理的节点最好不超过30个。
参考链接:docker部署多个node-red操作过程
- 在从机上用docker(或者pm2管理)部署node-red,与主机同样处理。
- 在从机上写监听脚本,如果主机端口故障,立马启动从机端口任务,进行采集,保证采集不中断。详细操作步骤,参考实战链接:linux:使用nc(netcat)命令进行端口检测,并使用Docker管理容器
监听脚本shell命令示例如下:
#!/bin/bash
# 检测11.11.1.110的指定端口是否开放:
# 如果开放,关闭端口进程
# 如果不开放,开启端口进程任务
IP="11.11.1.110"
PORT1=1881
if nc -zv $IP $PORT1;then
sudo docker stop a4f5084b6662
else
sudo docker start a4f5084b6662
fi
PORT2=1882
if nc -zv $IP $PORT2;then
sudo docker stop b57772e9ba77
else
sudo docker start b57772e9ba77
fi
PORT3=1883
if nc -zv $IP $PORT3;then
sudo docker stop 79542bc5dc53
else
sudo docker start 79542bc5dc53
fi
5.1 VRRP高可用集群搭建
六、通讯基本知识点
5.1 S7-300与第三方的串口通信
- 常用的串行数据接口有:RS232C 和 RS485/422。RS-232C、RS-422/485
- 常用的协议类型:ASCII 协议、Modbus 协议
- 串口通信硬件选型
3.