IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 低代码/无代码方式下如何实现工业协议与MQTT互转?【无编程经验者速戳!】 -> 正文阅读

[网络协议]低代码/无代码方式下如何实现工业协议与MQTT互转?【无编程经验者速戳!】

前 言

关于【虹科工业树莓派与Node-RED】之间配合的种种可能性,我们在以往的文章中已经进行了介绍。今天,我们将通过实操案例,来看看如何使用Node-RED以拖拽式低代码,甚至是无代码编程的方式,轻松实现工业协议与MQTT互转以及简单的HMI数据面板,帮助您有效降低在OT协议方面的学习成本,在低经验、甚至是无OT编程经验的情况下,快速在OT协议中的数据与云端数据之间建立联系。

所需材料

1.硬件准备

? PC一台
? 虹科工业树莓派一台
? 24V直流电源
? 网线
? 相关协议网关模块(可选,根据实际需求添加)

2.软件准备

PC上:
? Chrome内核的浏览器

虹科RevPi上:
? Node-RED、
? Node-RED RevPi Nodes Server
(默认已预装)
*若发现预装缺失或需要版本更新可【联系虹科获取】
? node-red-dashboard
(可选,用于制作简单的HMI数据面板)

操作步骤

  1. 虹科工业树莓派RevPi上电,连好网线,使用Advanced IP Scanner或类似软件扫描工业树莓派的IP地址,或在路由器后台中直接查看DHCP客户端列表,从而确定树莓派所在IP地址。

  2. 浏览器打开虹科树莓派所在IP地址,出现登录画面,账号为admin,默认密码会印在机身侧面的贴纸上,每台机子默认密码各不相同。

在这里插入图片描述

  1. 登录后打开SERVICES选项卡,分别将以下三项设为Enable,最后点SAVE ALL保存设置。
    Modbus Master(本文以Modbus为例,因此需要将Modbus主站功能使能,若不使用Modbus协议则无需Enable此项)
    Node-RED
    Node-RED RevPi Nodes Server

在这里插入图片描述

  1. 回到APPS选项卡,点击PiCtory右边的START进入树莓派的模块配置界面——PiCtory。

  2. 首先把主模块按实际情况从左边设备列表中拖到右边(作为例子,本文使用Core作为主模块),把其它IO模块和协议网关模块按实际情况中的左右物理位置,按顺序把模块拖到主模块两边(本文没有使用额外模块)。最后,若要使用主模块的Modbus RTU/TCP主站功能,则在Virtual Devices中找到相应的虚拟模块,拖动到右边,如下图所示。

在这里插入图片描述

  1. 设置相应的协议模块,本文以设置Modbus TCP主站为例:选定要设置的Modbus TCP主站虚拟模块,在右下角变量表中拖到最下方,在slave_IP_address中填入Modbus TCP从站所在IP地址,slave_TCP_port中填入Modbus TCP通讯设置的端口号,默认是502。

在这里插入图片描述

  1. 对着Modbus TCP主站虚拟模块右键点击,打开Extended Data设置界面,并按实际情况设置Modbus变量地址等相关参数,输入完成后点OK确定,附上本文Modbus TCP的从站相关参数表:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  1. 配置完成后点上方菜单的File -> Save as Start-Config. 保存到启动方案,然后点Tools -> Reset Driver立即使配置生效。

  2. 开一个新标签页,再次输入树莓派IP打开工业树莓派设置主页,点击Node-RED右边START,或直接访问 [树莓派IP]:1880 进入Node-RED编程界面。

  3. 在左边的节点列表中找到Revolution Pi分类,此分类底下的节点即为专为工业树莓派设计的节点。拖动一个revpi-multiple-input节点到右边网格区域,然后双击打开对其进行配置。先点击Server右边的铅笔案例,保持默认的localhost地址和8000端口,其它参数保持留空,然后点击右上角的添加,最后在Input Pins列表中找到以下3个变量(该列表只能找到输入变量,输入是对树莓派而言),分别勾上然后点右上角的完成。
    Input_Word_1
    Input_Word_2
    Input_Word_3

在这里插入图片描述
在这里插入图片描述

  1. 拖一个Debug节点到revpi-multiple-input节点的右边,简单的把两个模块连上,点整个网页右上角的“部署”。

在这里插入图片描述

  1. 把Modbus TCP从站中的变量值稍作更改,这里我把从站中地址1变量的值改成了321(revpi-multiple-input节点需要它监视的变量中至少一个值有变化,才会向后面的节点输出信息),此时在Debug信息区中找到如下信息表示Modbus TCP数据获取成功(变量属性是数字形式或者字符串形式都没关系,不影响后续使用)。

在这里插入图片描述

  1. 按下图方式配置节点,其中MQTT输入输出节点仅需配置MQTT地址、端口、Topic等基本信息即可,本文把树莓派的发布Topic设为了RevPiPub,订阅Topic设为了RevPiSub。

在这里插入图片描述

分割消息和消息分流节点配置分别如下:

在这里插入图片描述
在这里插入图片描述

分流节点右边的3个节点为revpi – output,默认会选定前面设置过的localhost:8000作为 Server,这部分不需要更改,在下方Pin中分别选择3个输出变量名:Output_Word_1\Output_Word_2\Output_Word_3 即可。

在这里插入图片描述

  1. 修改完成后,别忘了点击整个网页右上角的“部署”。然后我们尝试把Modbus TCP从站中地址2变量的值改成44555,此时即能通过MQTT获取到一条记录Modbus变量的信息。

在这里插入图片描述

  1. 随后我们通过MQTT发送指令,分别通过JSON中out1、out2、out3三个字段,修改3个Modbus写入变量的值,效果如下图。

在这里插入图片描述

  1. 至此,MQTT和工业通讯协议中的变量交互已经完成,我们既实现了MQTT数据上传,也实现了数据下发。接下来,我们可以尝试创建一个简单的HMI数据面板。首先,在Node-RED右上角的“三”菜单中找到“节点管理”,然后进入“安装”选项卡,搜索node-red-dashboard并安装(安装速度取决于网络环境和树莓派工作负载)。

在这里插入图片描述

  1. 在前面的基础上,我们额外加上按下图形式编排的一些节点。其中左边一列节点均为inject节点,被设为每秒为周期重复注入字符串(变量名),中间一列节点全是工业树莓派专用节点中的revpi – getpin,用以通过变量名获取值,右边全是dashboard分类下的gauge。

在这里插入图片描述

  1. 点击部署后,浏览器访问[树莓派IP]:1880/ui 即可看到由Node-RED自动生成的简易HMI数据面板。

在这里插入图片描述

总结

通过在浏览器上进行以上设置操作,我们就轻松实现了Modbus变量数据与MQTT的交互,中途没有输过任何一行代码,甚至没有进入过命令行界面。

对于其它虹科工业树莓派所支持的通讯协议的配置也是大同小异。其中,总的思路在于:给树莓派设置好相应的参数,树莓派自动从相应协议中获取值并存到变量中,仅需在Node-RED中拖拽编程,把变量送到MQTT发送组件即可。

这种编程方式大幅降低了非OT从业人员开发相关应用的学习成本,用户不用担心之前从未使用过树莓派,即使是完全没有Linux系统的使用经验也没有关系。此外,利用Node-RED上的其它开源节点,我们也能够以MQTT以外的多种方式传输数据、以丰富多样方式的展示数据。有编程经验的用户,也可以通过function节点在发送前对数据进行运算、过滤等多种处理,甚至利用exec节点接入其它应用,进行更为复杂的边缘运算。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-08-10 13:47:35  更:2021-08-10 13:49:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 19:18:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码