Node-RED是用于构建物联网(IOT,Internet of Things)应用程序的一个可视化编程工具,其开发环境以流程(flow)程序设计为基础,使用者只需将节点拖曳到流程编辑器内,并将这些不同功能的节点加以设定及组合后,就可以轻松执行所需要的应用程序,使得物联网程序的开发及设计更加快速简易。
Node-RED可通过MQTT,OPC UA节点轻松采集工业PLC,SCADA,MES系统的数据,并利用其Dashboard等模块,可将数据可视化呈现至Web端。同时可扩展Bootstrap、jQuery、Vue.js等前端框架,从而可开发绚丽丰富的UI界面。
施耐德电气的Modicon M262 PLC支持MQTT通信,可直接将采集的现场数据发布至云平台。
本文主要介绍基于Node-RED+M262搭建一个简易物联网平台。
1
系统架构
M262通过Sercos III和Ethernet IP与底层设备通信;
M262通过MQTT将数据发布至阿里云IoT平台;
Node-RED通过MQTT订阅阿里云IoT平台数据;
2
Node-RED安装
如下图所示,Node-RED可运行于本地PC,服务器,Docker,树莓派等载体。
本例将Node-RED安装于阿里云ECS中,操作系统Ubuntu ,通过Docker安装。
2.1 安装Docker
sudo apt-get update
sudo apt-get install docker-ce
sudo systemctl enable docker
sudo systemctl start docker
2.2 Docker中运行Node-RED
docker run -it -p 1880:1880 –name mynodered nodered/node-red
打开浏览器访问http://localhost:1880,启动Node-Red开发界面;
2.3 安装Dashboard,uibuilder,mysql等扩展模块
3
M262 PLC程序设计
3.1 控制LXM32S伺服部分
3.2 通过MQTT将数据发布至阿里云IoT平台
4
Node-RED应用程序开发
4.1 通过MQTT采集PLC数据
以阿里云IoT平台为MQTT Broker(中转),Node-RED作为客户端2订阅 客户端1 M262发布到Broker的消息。
如果是局域网内的,也可通过Modbus TCP,Ethernet IP,OPC UA采集数据;
4.2 将从PLC采集的数据存入数据库
也可存入其他数据库,如sql,sqlite,postgreSql等等;
4.3 PLC采集的数据可视化呈现
借助下图丰富的组件可迅速实现数据看板设计
按钮,指示灯,数值输入/显示框,下拉菜单,表格;
仪表盘,罗盘指针,圆环图,液位图;
曲线图,柱状图,饼状图,水平图,极地坐标图,雷达图;
4.4Node-RED安全性设置
开发界面和UI界面可分别设置用户权限
修改.node-red/settings.js配置文件
效果如下:
5
Demo效果展示
6
总结
Node-RED是开源的物联网工具,因操作简单易上手得到了越来越多的关注。很多厂商发布的硬件产品也预安装了Node-RED,如施耐德Edge control Magelis iPC and Edge Box,西门子 SIMATIC IOT2040,研华EKI-1242NR等工业物联网智能网关都预装了Node-RED工具。可便捷地借助Node-RED实现底层数据采集与转发。
本文采用的方案是将Node-RED部署在云服务器中,然后可在PC,PAD,Phone上通过浏览器访问此Web平台。本Demo功能较简单,主要展示了数据的可视化呈现,也可通过Python+Django/Flask开发Web应用,增加用户管理,设备管理等功能。
参考资料
[1]http://nodejs.cn/
[2] https://nodered.org/
[3]https://flows.nodered.org/node/node-red-dashboard
[4]https://olh.schneider-electric.com/Machine%20Expert/LandingPages/en/index.html
来源/中华工控网,转载请联系
文章推荐
【原创分享】PLC控制线路的快速检查法(以液压维修为例)【原创分享】西门子S7-200 Smart和欧姆龙CP1H-E实现Modbus TCP以太网通信【原创分享】施耐德HMIGXU5512和S7-200 SMART以太网通讯【整理分享】EPLAN初学资料、EPLAN表格和符号库汇总【原创分享】三相负载不平衡,接入零线是有害还是有益?2020青岛工业自动化展邀您相聚七月-效益共创【步骤详解】西门子 PLC PID组态设置及PID常见问题解答【原创分享】聊一聊树莓派,想玩但不知道从哪里开始?【原创分享】工控人谈家庭智能控制,不用PLC而且很简单?【原创分享】边缘计算及人工智能,西门子加强工厂自动化业务未来布局【原创分享】变频器双电机驱动主从控制实战【原创分享】记一次苦逼的包装设备调试经历
【整理分享】增加了补偿电容,用电为何多了?【原创分享】设备改造案例:S7-200PLC与横河DCS系统的通讯实现【原创分享】M200 PLC和昆仑通泰触摸屏的连接和仿真【原创分享】利用PLC消除高炉煤气余压透平发电装置的安全生产隐患【原创分享】三菱Q系列和FX2N系列进行CC-Link通讯(主站和智能设备站的通讯)【原创分享】西门子PLC电路高效设计2——快速进行PLC地址编码及原理图建立【原创分享】三菱FX5U系列PLC和西门子MM420系列变频器实现USS协议串口通信【原创分享】谈谈国产化压力传感器的艰难发展之路【整理分享】电动机、磁场、直交流电路、电气计算公式大全,电工必备!【原创征集】工控技术牛人的成长之路,都有过这些时刻!【原创分享】从新的角度解读经典的PID控制器【原创分享】做变频器15年了,为大家解读变频器的输出短路保护功能【原创分享】PLC梯形图编程很low?那你一定要看看PLC梯形图的由来了【原创分享】WINCC7.3和1200如何建立OPC通讯?我知道你“在看”哟~