opc ua设备数据 转MQTT项目案例

news2024/9/20 12:34:49

目录
1 案例说明 1
2 VFBOX网关工作原理 1
3 准备工作 2
4 配置VFBOX网关采集OPC UA的数据 2
5 用MQTT协议转发数据 4
6 配置参数说明 4
7 上报内容配置 5
8 其他说明 8
9 案例总结 8

1 案例说明

  1. 设置网关采集OPC UA设备数据
  2. 把采集的数据转成MQTT协议转发给其他系统。

2 VFBOX网关工作原理
VFBOX网关是协议转换网关,是把一种协议转换成另外一种协议。网关可以采集西门子,欧姆龙,三菱,AB PLC,DLT645,DLT698电表,modbus rtu tcp,环保的HJ212协议,opc ua和opc da,电力的IEC103 IEC104, IEC61850等,以及EthernetIP,Profinet IO,CCLink,EtherCAT现场总线协议,bacnet,MQTT,mysql,sqlserver数据库。不同型号的网关支持不同的协议,具体支持的协议参考网关侧面标签上的型号。依托500多种型号的网关产品,可以实现多种不同协议之间的互联互通。
网关连接在不同协议的设备之间,就像一个“翻译”,把一种设备支持的协议,转换成另一种设备支持的协议,从而实现两个不同协议的设备之间的数据交换。工作架构如下:

在这里插入图片描述

3 准备工作

  1. 仰科网关。支持采集OPC UA设备数据,MQTT协议转发。

  2. 电脑。IP设置成192.168.1.198,和网关在同一个网段。

  3. 网线、12V电源。
    4 配置VFBOX网关采集opc ua的数据

  4. 打开VFBOX studio软件。新建一个工程。可选的型号有:VB301-1100,VB301-1200,VB301-1400,VB302-2400,VB303-2400.

  5. 新建设备,选择OPC UA Client
    在这里插入图片描述

  6. 输入OPC UA服务器的路径
    在这里插入图片描述

  7. 添加要采集的数据。数据类型(Datetype),地址(NodeId)就是上面表格中的信息。数据类型要选对,否则也采集不到数据。
    在这里插入图片描述

  8. 完成上述配置后,点击“下载”,把工程下载到网关中,点击“查看数据”,查看网关采集到的数据情况。
    5 用MQTT协议转发数据

  9. 启用网关内的MQTT服务,并输入相关信息。
    在这里插入图片描述

  10. 绑定要上传的点位信息。
    在这里插入图片描述

  11. 点击VS软件的“下载”按钮,下载工程到网关中。

6 配置参数说明

  1. 参数说明
    参数项 说明
    启用 Yse
    启用MQTT协议
    心跳间隔 60
    单位秒,每隔60秒发送一次心跳间隔。
    远程服务器IP地址 填写云平台中心的IP地址。

远程服务器端口 1883
阿里云默认是1883,其他可根据实际配置。
客户唯一编号 其他平台按实际填写
用户名 用户名

密码 密码
发布主题 云平台订阅的Topic,数据格式可选择或者按实际需求配置

发布间隔 30
单位秒。网关每隔30秒发送一次数据给云平台

7 上报内容配置

  1. 点击下图中的“Data Format”,在弹出的对话框中设置上报数据的格式。
    在这里插入图片描述

  2. 系统默认格式如下图所示,可以点击“View Example”查看显示结果。用户可自行修改下面的内容,如果点击View Example可正常显示,则说明配置正确。

  3. Key Words说明。
    Key Words 说明
    __REPEAT_TAG 系统自动重复此标签下的__TAG_NAME和__TAG_VALUE。只能使用一次。
    __TAG_NAME 用户添加的Tag名称。
    __TAG_VALUE 网关获取到的Tag对应的值。
    __TAG_VALUE_STR 网关获取到的Tag对应的值,且在值上加上双引号。
    __SYS_TIME 系统时间。
    __SYS_TIME_STR 系统时间,加双引号。

  4. 举例
    用户配置了两个Tag,需要把这两个Tag的值通过mqtt上报给平台。

定义的mqtt上报格式如下:
在这里插入图片描述

则网关上报的实际数据如下。网关会自动把Tag的名称和值添加到上报的数据中。

8 其他说明

  1. 如果网关不能发送数据到MQTT服务器,先测试一下MQTT服务器是否允许其他设备的连接。需要关闭MQTT服务器上的防火墙和杀毒软件,其他设备或者测试软件可以连接到MQTT服务器上。
  2. 可以使用VBtrace功能,看一下网关的调试信息。

9 案例总结
使用协议转换网关可以很方便的实现不同协议的设备之间的数据转换。大量节省了项目实施过程的时间成本,人力成本。VFBOX网关产品都是工业级品质,符合工业应用的场景。只需要简单的参数配置,可以很快完成设备和系统之间的连接。方案优点:

  1. 不需要修改设备里的程序。
  2. 不影响设备原有的工作方式和功能。
  3. 只需要简单的配置就可以实现功能需求。
  4. 设备长期稳定工作。
  5. 网关运行架构如下

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1919385.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【备战秋招】——算法题目训练和总结day3

【备战秋招】——算法题目训练和总结day3😎 前言🙌BC149简写单词题解思路分析代码分享: dd爱框框题解思路分析代码分享: 除2!题解思路分析代码分享: 总结撒花💞 😎博客昵称&#xff…

Chromium源码阅读(7):了解WTF的静态字符串机制

在浏览器的实现中,处理HTML和CSS涉及大量的字符串操作,这些操作通常包括字符串的比较、查找和匹配。如果使用普通的字符串对这些进行操作,在面临大量DOM元素和CSS规则时会导致效率低下。 例如,当解析CSS时,属性名如col…

05_TypeScript 中的数据类型

TypeScript 中的数据类型 一、概述二、详解布尔类型(boolean) true / false数字类型(number)字符串类型(string)数组类型(array)元组类型(tuple) 属于数组的一…

【Qt 初识 Test】用图形化和代码的方式实现简单的Qt程序

文章目录 1. 通过图形化的方式实现🍎2. 通过代码的方式实现 1. 通过图形化的方式实现🍎 在界面创建出一个控件,显示 hello world,通过拖拽的方式实现; widget.ui文件如下:🔍 生成的 ui_widget.…

【Java16】多态

向上类型转换 对于引用变量,在程序中有两种形态:一种是编译时类型,这种引用变量的类型在声明它的时候就决定了;另一种则是运行时类型,这种变量的类型由实际赋给它的对象决定。 当一个引用变量的编译时类型和运行时类…

mybatis日志记录方案

首先对指定表进行监控 对表进行监控,那么就要使用的是statementInterceptor 拦截器 使用拦截器那么就要写intercepts写拦截条件进行拦截 监控只对与增删改 查询不进行监控 对于字段的监控,是谁修改了字段,那么就进行报警,或者提醒 消息提醒使用钉钉机器人进行消息提醒 P…

AGI 之 【Hugging Face】 的【文本摘要】的 [评估PEGASUS ] / [ 微调PEGASUS ] / [生成对话摘要] 的简单整理

AGI 之 【Hugging Face】 的【文本摘要】的 [评估PEGASUS ] / [ 微调PEGASUS ] / [生成对话摘要] 的简单整理 目录 AGI 之 【Hugging Face】 的【文本摘要】的 [评估PEGASUS ] / [ 微调PEGASUS ] / [生成对话摘要] 的简单整理 一、简单介绍 二、文本摘要 三、在CNN/Daily…

【接口设计】如何设计统一 RESTful 风格的数据接口

如何设计统一 RESTful 风格的数据接口 1.版本控制1.1 通过 URL1.2 通过自定义请求头1.3 通过 Accept 标头 2.过滤信息3.确定 HTTP 的方法4.确定 HTTP 的返回状态5.定义统一返回的格式 近年来,随着移动互联网的发展,各种类型的客户端层出不穷。如果不统一…

347. 前 K 个高频元素(中等)

347. 前 K 个高频元素 1. 题目描述2.详细题解3.代码实现3.1 Python3.2 Java 1. 题目描述 题目中转:347. 前 K 个高频元素 2.详细题解 寻找出现频率前 k k k高的元素,因此需要先统计各个元素出现的次数,该步骤时间复杂度为 O ( n ) O(n) O(n)…

javaweb中的请求与响应--基于postman工具的应用(附带postman的详细安装步骤)

一、前言 后端的第一天感觉难度就上来了,可能是基础太过薄弱了吧。目前看视频已经有点跟不上了,果然15天想要拿下还是太勉强了点。30天还差不多。不知道读者们有没有好好的去学这方面的知识,没有什么是学不会的,关键是坚持。 Po…

【C语言】C语言-学生籍贯信息记录系统(源码+论文)【独一无二】

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化【获取源码商业合作】 👉荣__誉👈:阿里云博客专家博主、5…

C#Winform窗体中嵌入exe文件

1,效果以嵌入Modbus Slave为例: 2,代码: public partial class Form1 : Form{//设置嵌入exe的常量private const int nIndex -16;private const int dwNewLong 0x10000000;Process m_AppProcess;public Form1(){InitializeCompo…

了解AsyncRotationController

概述 基于android 15.0, 以从强制横屏App上滑退回桌面流程来分析 frameworks/base/services/core/java/com/android/server/wm/AsyncRotationController.javaAsyncRotationController 是一种控制器,用于处理设备显示屏旋转时非活动窗口的异步更新。这种控制器通过…

【记录】CSS|Tailwind 的主题定义的颜色的使用方法(--color啥的)

文章目录 【记录】CSS|Tailwind 的主题定义的颜色的使用方法(--color 啥的)省流版GPT 详细解释版Tailwind CSS 配置文件示例使用自定义颜色定义 CSS 变量总结 附赠个 Tips 【记录】CSS|Tailwind 的主题定义的颜色的使用方法&#…

【Python】已解决:ModuleNotFoundError: No module named ‘sklearn.cross_validation

文章目录 一、问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 (机器学习分割数据问题)解决“ModuleNotFoundError: No module named ‘sklearn.cross_validation’” 一、问题背景 在机器学习的实践中,数据分割是…

聚鼎装饰画:现在做装饰画能不能相信

在艺术的殿堂中,装饰画以其多变的风格和独特的魅力占据了一席之地。它们或清新淡雅,或浓烈奔放,总能为现代家居带来一丝生气与美感。然而,在这美丽的背后,却隐藏着一个令人困惑的问题:现在做装饰画&#xf…

[EasilyOpenJCL] 使用 Java 调用显卡 计算 和Java调用 CPU 进行计算 的基准测试!

设备环境介绍 easily-openJCL 是一个轻量级的 Java 语言下的 GPU 显卡 计算库,它提供了一套简单易用的 API,让用户能够轻松实现 GPU 计算操作。 通过 Java 调用 GPU 计算的一个库,使用非常简单的API就可以轻松应付 Java 数据类型在 GPU 中的…

程序使用多进程,打包.exe后,程序陷入死循环

最近写了一个深度学习程序,用cxfreezee打包exe后,在本地运行突然出现死循环,明明在pycharm运行一切正常。 排查了问题,怀疑是多进程的原因,解决办法: 在你的主程序前添加一行代码: if __name_…

Typescript 模块小知识-global scope

问题表现 在编写ts代码的时候遇到一个问题, 表现为, 如果在某个ts工程中, 如果多个文件里面没有任何导出export或者是export default, 那么这些文件如果有const或者是let定义相同的声明都会报错如下 无法重新声明块范围变量 a/a.ts 和 index.ts 和 index2.ts 都没有进行expor…

C++系列-Vector(一)

🌈个人主页:羽晨同学 💫个人格言:“成为自己未来的主人~” Vector的介绍及使用 Vector的介绍 当vector构建的参数类型为char类型时,它是和string是极其类似的,但是二者之间也有不同,比如&#xff0c…