赞
踩
毕业了没找到好工作,选择了进厂做一名工程师,给厂里开发一些软件给工厂内部使用,后面着手厂内工业物联网平台的建设,接触了MQTT、OPCUA,了解了node-red,下面是我使用的过程中遇到的一些问题与解决办法,在这里做记录并希望对你有一定帮助。(默认你有了解过node-red并有简单使用)
在node-red中的节点管理查找opcua的时候会出现两个库,一个是iiot-opcua,一个是opcua
我主要使用opcua这个库。
这是对opcua节点的简单使用,这里client采用subscribe模式,当然我们也可以和http结合请求opcua的server。
在项目中,我们想在一个节点改变访问地址而不增加新的client节点我们该怎么做呢,node-red-contribe-opcua的github给出了一个例子,下图为我编辑后的页面
函数中这样写
但是请记住,每次切换endpoint的时候需要执行一次disconnect
http节点的使用很简单,但要记住http in流程的最后必须要有一个http response节点,一个response节点可以对应多个http in节点。在这里我利用iiot-opcua的browse节点搭建了一个简单的请求。
请求http://localhost:1880/getdata得到如下结果
在这里我是用了iiot-opcua而不是opcua的browse节点,因为在读取opcua服务器的过程中opcua的browse会自动多发一条顶层节点的信息,而iiot-opcua不会,所以我选择了iiot-opcua 的browse节点,需要勾选recursive和设置深度。
wo
我使用vue3做了一个查看界面,如下图
在node-red中访问mysql数据库也需要下载对应的节点
配置好节点信息后即可进行增删查改,在msg.topic中写数据库语句
这里后面的几个参数是从http请求中拿到的
当查询语句较复杂的时候,我们可以采用
将语句包裹进去
节点流程图如下
使用node-red使得操作变得简单起来,但是在opcua的学习中我发现node-red-contrib-opcua一个client节点只能连接一个opcua的server,作者给我的回复是这样的
对于厂内一百多台的机器,不能满足根据opcua的地址同时连接多台opcua server,不得不放弃对于node-red的使用,选择其他技术自行摸索。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。