前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >云组态笔记--MQTT配置

云组态笔记--MQTT配置

作者头像
科控物联
发布2022-03-29 21:36:49
1.6K0
发布2022-03-29 21:36:49
举报
文章被收录于专栏:科控自动化科控自动化

1.数据互联简介

物联终端设备( HMI/CBOX/IPC) 和互联工具之间的数据互联皆是通过 MQTT 协议来完成的, 通过它们之间的配合, 可以实现, 1. 数据上报及数据库存储( 实现历史记录存入数据库) 2. 多设备的可异地集中式控制( 即远程写入) 3. 第三方软件的数据对接( MQTT 对接或者数据库对接) 上图主要展示了各设备和互联工具之间基于 MQTT 协议实现的主题订阅和发布的结构。其中的 sub 和 pub 分别是订阅( subscribe) 和发布( publish) 的缩写,紧跟其后的是主题格式。  项目标识, 用以区分不同的项目, 也为了让多个项目可以共用一个Broker。  组标识, 一个工程, 可能有多个数据组, 用以区分数据组。  终端编号 这里的终端你可以简单理解成物联终端, 一个组态工程可能需要 下载到多台物联终端上, 这个编号就是用来区分物联终端的, 从而实现精准 的定位。这是一个系统变量$TerminalCode, 若值为空, 主题中会自动补充为 PN 码。  data, 意寓数据的意思。  cmd, 意寓指令的意思。  result, 意寓 cmd 执行成功与否返回的结果。 下面就如何实现 数据上报及数据库存储 、 远程写入作详细的阐述, 而第三方软件的数据对接, 在介绍的过程中也有做了说明

2.数据上报 物联终端(HMI/CBOX/IPC/SCADA) 中的工程的“数据组”功能, 是一个即可以实现本地历史记录, 也可以实现数据上报的功能, 通过数据组的配置, 可以实现定时上报、 触发上报等数据上报机制。 只要数据组被触发上报, 物联终端就会把数据发送到 MQTT 服务器, 互联工具同时会从 MQTT 服务器取得这份数据, 并写入数据库, 如果有第三方软件需要通过QTT 获取数据, 则可以模拟互联工具, 订阅相同主题, 即可获取到数据。我们直接以一个具体的例子来讲解下上述的过程。

当 被 触 发 时 , 物 联 终 端 就 会 发 布 数 据 , 主 题 为:

data/hmi013ae9b56fe1bf0/Gp1/5150818675711870453

把终端编号改为a.

修改数据。

监控发现已经修改成功

代码语言:javascript
复制
Topic[result/hmi013ae9b56fe1bf0/Gp1/a] {
  "success": 1,
  "type": "set_var",
  "payload": {
    "Modbus_1_测试MQ": "57"
  }
}

注:通道标识 就是用以区分不同的变量, 下同。 当 被 触 发 时 , 物 联 终 端 就 会 发 布 数 据

内容格式是 json, 其中_terminalTime 由物联终端在发布时自动生成, 它表示发布的时间。_groupName 也是由物联终端自动生成, 它表示数据组名。注意, 为方便处理, json 中所有条目的数据格式都是字符串。

3.远程写入

绿色部分, 普通工程发布的数据内容和格式已在上面阐述过, MQTT 工程订阅拿到数据后, 会进行解析, 并显示在对应变量的图元上。 橙色部分, 即远程写入的部分。MQTT 工程和互联工具都可以进行远程写入的功能。注意, 要想该变量能被远程控制写入, 必须在普通工程的数据组里将该变量勾选为“允许远程写入” 。

对于 MQTT 工程而言, 当界面的变量被改动, 会生成一条消息, 并进行发布。

如 果 要 远 程 写 入 变 量 的 值 , 则 需 要 向 MQTT 服 务 器 发 布 的 主 题 为

数据格式为 json。“type” 表示 cmd 命令的类型, “set_var” 表示修改变量, “payload” 是要修改的变量通道标识和要修改的值。 如果是第三方软件需要通过 MQTT 实现数据写入, 则发布该条指令即可。

普通工程收到后, 修改本地变量, 修改成功与否, 会通过 result 前缀主题反馈给 MQTT 工程, MQTT 工程收到后, 若判断到已成功修改, 就会把该变量对应的新值更新到界面。以上为例, 若普通工程成功修改本地的 V0 变量, 则会发布主题为:

success 为 0 表示失败, 但目前, 修改失败不会发布数据, 只在成功时发布。 对于互联工具而言, 用户需要在任务设置里启用远程写入, 才能使用该功能。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-03-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 科控物联 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档