Node-Red读写西门子PLC并上传至云服务器

在Ubuntu中安装node-red:

sudo apt-get install nodejs

sudo apt-get install npm

sudo npm install -g node-red

在Windows中安装node-red:

下载 Node.js 安装包并运行

在Power Shell中分别输入

node --version npm --version

若输出版本号则安装成功

安装Node-Red模块,在Power Shell中输入

npm install -g --unsafe-perm node-red

运行Node-red并安装S7模块:

在终端中输入:

node-red

在浏览器中输入 {安装有node-red的设备的地址}:1880

在界面右上角 三杠-节点管理-控制板-安装 中搜索 node-red-contrib-s7 并安装第一个

编辑S7命令:

在主界面左侧找到 S7 control 并拖动至流程区后双击

在弹出的属性界面 PLC 处选择添加新的 S7 endpoint 节点,并点击后面的笔编辑,在Address处输入PLC地址,可在Cycle time处设置发送周期

img

img

Variables地址填写方式:

n 为数据区域偏移量 x 为数据字节偏移量 y 为数据位偏移量 确保 “STRING” 或 “S” 的数据字节偏移量非 0,length 替换为字符串长度

img

拖出 S7 in 命令,PLC处选择刚才新建的PLC,Mode选择 All variables (读取全部变量,可用 Debug 命令查看) 拖出S7 out 命令,PLC处选择刚才新建的PLC,Variable选择要写入的变量

img

img

编辑MQTT命令:

在主界面左侧找到 mqtt out 并拖动至流程区后双击编辑

主题和名称填写OUT,在服务端处新建并填写服务器公网IP地址

img

img

安全处的用户名和密码为部署在阿里云上的MQTT服务器的密码

(默认用户名为admin,密码为password)

之后拖出 mqtt in 命令选择刚才新建的服务端,主题和名称填写INT

大致部署如图:

img

PLC处设置:

PLC在组态后 设置-防护与安全-连接机制 处勾选允许来自远程对象的PUT/GET访问

新建DB1数据块,在数据块属性中取消勾选优化块的访问并新建变量

img

阿里云服务器处设置:

云端(ubuntu18.04)安装EMQX服务器:

curl https://repos.emqx.io/install_emqx.sh | bash

后台启动EMQX:

emqx start

在阿里云控制台的安全组中添加1883,8083,18083端口

若服务器装有ufw防火墙,需在终端打开相应端口

sudo ufw allow 1883,8083,18083

通过浏览器访问服务器:IP:18083

默认用户名:admin 默认密码:public

在界面左侧工具-Websocket-连接中更改主机地址为服务器IP并点击连接

在界面左侧工具-Websocket-订阅中分别输入主题名称( INT 和 OUT )并点击订阅

在Node-Red网页界面右上角点击部署即可实现阿里云与本地PLC通信

img

  • 12
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Node-RED是工业网物联网的重要组成部分,我最开始接触Node-RED,也算是一个偶然的机会吧,上班后领导安排我的第一个任务就是调研一下Node-RED,我之后上网查了一下,那个时候网上相对于Node-RED的资料也比较少,只知道它是IBM公司的一个开源项目。直到最近,发现许多大公司的产品都支持Node-RED,比如西门子公司的IoT2000,研华公司的WISE PaaS 网关,美国OPTO 22等设备中都安装了Node-RED,表明它在工业物联网和控制中已经广泛应用了。 那么工业物联网为什么要用它?它又处于工业物联网那个层次?它具有哪些特性?它帮助物联网解决了什么问题?为什么说它是柔性动态可重构的解决方案呢? ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 本门课程,老师将带领你从Node-RED的发展,工业物联网定位开始讲解,并带领着大家进行手把手安装Node-RED,实际操作演练Node-RED,并搭建一个物联网小平台,给大家带来更好的学习效果。  ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 为了能够让小伙伴们快速了解本门课程的结构,本门课程从以下几个方面展开:Node-RED入门Node-RED安装与配置Node-RED教学实战Node-RED的优势与不足Node-RED能为我们带来什么Node-RED总结与展望
Node-RED是一个流程编程工具,可以帮助我们可视化地设计和实现物联网(IoT)应用程序。通过Node-RED,我们可以连接和集成各种设备和服务,包括PLC(可编程逻辑控制器)。 要实现Node-RED与三菱PLC的通信,我们可以使用三菱PLC的通信协议,例如MODBUS或者OPC UA。这些协议可以让我们通过网络连接到PLC,并读取或写入其数据。 首先,我们需要在Node-RED中安装相应的PLC通信节点。这些节点可以是由社区开发的自定义节点,也可以是官方节点。我们可以通过Node-RED的插件管理器来搜索和安装这些节点。 安装完成后,我们可以在Node-RED的工具栏中找到对应的PLC节点。然后,我们需要进行节点的配置,包括PLC的IP地址、端口号、通信协议等参数。这些参数应该与我们PLC的配置相匹配。 配置完成后,我们可以在Node-RED的流程编辑器中使用PLC节点。在流程中,我们可以添加一个PLC的读取节点,并配置要读取的PLC寄存器的地址和数据类型。我们也可以添加其他节点来处理和转换读取到的数据。 最后,我们可以部署Node-RED应用程序并运行它。Node-RED将会使用我们的配置和设定,与三菱PLC建立连接,读取其数据,并将其传递给后续的节点进行处理。我们可以在Node-RED的运行日志中查看通信状态和数据。 总而言之,通过Node-RED和适配于三菱PLC的通信节点,我们可以方便地实现与PLC的连接和数据读取。这样,我们就可以利用Node-RED的灵活性和可视化编程的优势,快速开发和部署基于PLC的物联网应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值