您现在的位置: 通信界 >> IT >> 技术正文  
 
OPCUA+MQTT构建物联网通用框架
[ 通信界 / dotNet / www.cntxj.net / 2022/10/30 18:58:07 ]
 

写在前面:

为了应对标准化和跨平台的趋势,更好的推广OPC,OPC基金会在OPCDA成功应用的基础上推出了一个新的OPC标准——OPC UA,OPCUA不再基于分布式组件对象模型(DCOM),而是以面向服务架构(SOA)为基础,因此,在未来的若干年中,OPCUA将逐步取代OPCDA,成为新一代的OPC标准,助力工业4.0。

而提起MQTT,或许大家有些陌生。MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。具有轻量、简单、开放和易于实现的特点,尤其在物联网IOT领域应用非常广泛。

物联网一直都是一个很热门的话题,而数据上云,也是现在工业上很普遍的一个需求。至于如何实现,各个厂家都提供了各种不同的解决方案,无分好坏,最适合的就是最好的。

刚看完一篇名为《OPCUA+MQTT=物联网扩展的热门组合》的公众号文章之后,文思泉涌,想着如何将OPCUA与MQTT联合起来,构建一个物联网通用框架,实现数据远传。

01

PART

整体网络架构

很多时候,我们的需求是这样的:现场有N台不同的设备或系统,每台设备或者系统的协议是各不相同的,希望可以用一种通用并且简单的方法,将这些数据传到云端,实现远程访问。

这样的需求,在上位机中其实是物联网最典型的应用之一,那么采用OPCUA+MQTT或许是个不错的选择,整体的框架设计如下:

OPCUA+MQTT构建物联网通用框架

图表 1 整体网络架构

为了实现整体功能,这里的设备层,采用Modbus Slave,基于Modbus TCP协议来做仿真测试,增加5个变量,分为为压力1-压力5,对应地址从40001-40010,数据类型为浮点型,运行Modbus Slave仿真结果如下:

OPCUA+MQTT构建物联网通用框架

图表 2 ModbusTCP服务器

02

PART

服务层

至于服务层,主要是OPCUA服务器的开发应用,这里我们有两个选择,一种是采用第三方的OPC软件,比如Kepware、Knight、Matrikon这些公司的产品,这种比较容易,做下相关配置即可,另外一种方式就是自己开发,相对来说难度要大一些。

这里我使用自己开发的一款软件——上位机CMS配置一体化软件,通过简单配置,在10秒内,实现了ModbusTCP客户端数据通信,结果如下:

OPCUA+MQTT构建物联网通用框架

图表 3 ModbusTCPClient通信测试

然而,这部分,仅仅是实现了ModbusTCP客户端的功能,如果要实现OPCUA服务器的功能,需要激活一下OPCUA服务器,在服务器节点下添加一台OPCUA服务器即可,添加完成后,保存重新运行,结果如下:

OPCUA+MQTT构建物联网通用框架

 图表 4 开启OPCUAServer

为了测试OPCUA服务器是否开启成功,需要进行测试,可以使用官方软件UAExpert软件来测试一下:

OPCUA+MQTT构建物联网通用框架

图表 5 OPCUAClient通信测试

03

PART

数据层

(1)在实现数据层功能之前,需要创建一个MQTT服务器,这里基于.NET CORE编写了一个MQTT服务器的程序,并在阿里云服务器中部署运行(这里要注意开放端口1883),运行效果如下:

OPCUA+MQTT构建物联网通用框架

 图表 6 MQTT服务器

(2)MQTT服务器创建完成之后,重新打开一个CMS配置软件来进行OPCUAClient的功能测试,上一节中的UAExpert是官方的OPCUA客户端软件,仅用于测试使用,这里的使用的CMS配置软件的OPCUAClient是自己开发的客户端程序,经过配置之后,运行结果如下:

OPCUA+MQTT构建物联网通用框架

 图表 7 OPCUAClient

(3)在CMS配置人家的服务器节点中,右击添加一个MQTTClient,根据MQTT服务器配置相关IP、用户、密码、主题及更新时间等信息,具体如下:

OPCUA+MQTT构建物联网通用框架

图表 8 MQTT客户端配置

(4)配置完成后点击启动按钮,整体运行之后,可以看到MQTT连接成功,并按照设定的周期将最新的数据发布到指定的主题中,效果如下:

OPCUA+MQTT构建物联网通用框架

图表 9 启动MQTT客户端

(5)打开MQTT服务器,也可以看到不断地有数据发布过来,这里为了便于观察结果,将压力1的数据仿真成每秒加1,MQTT服务器数据接收如下:

OPCUA+MQTT构建物联网通用框架

图表 10 MQTT服务器数据接收

04

PART

应用层

通过以上的相关部署,即可实现整个OPCUA+MQTT的实现,实际应用时,只需要开启一个MQTT客户端,连接指定的MQTT服务器,并订阅相应的主题,即可获取到设备层的实时数据,这里使用一个常用的MQTT客户端软件,即MQTT.fx:

 

图表 11 MQTT.fx通信测试

写在最后:

本文旨在结合当下主流的OPCUA统一架构和MQTT通信协议,实现一种数据上云的途径,对于自动化行业的上位机工程师来说,可以拓展大家的思路。未来更多是IT和OT相结合的一种趋势,因此,作为每个工控技术人员,都要时刻保持危机感,不断学习,不断进步,这样才能更好地面对未来工业的快速发展。

 

作者:dotNet 合作媒体:通信界 编辑:顾北

 

 

 
 热点技术
普通技术 网络认知对抗的中文学术研究历史演进研究
普通技术 境外认知战作战力量及技术装备综述
普通技术 我国当前面临的主要网络认知威胁分析
普通技术 提升工业和硬件安全!我国牵头提出的两项网安国际标准发布
普通技术 6G通信感知一体化网络的感知算法研究与优化
普通技术 多地址的时间型区块链隐蔽通信方法研究
普通技术 基于CHAN 的改进卡尔曼滤波室内定位算法
普通技术 基于吸收马尔可夫链攻击图的网络攻击分析方法研究
普通技术 短波通信接入网广域协作资源分配算法
普通技术 基于子载波补给索引调制的OFDM 传输方案
普通技术 基于随机Transformer 的多维时间序列异常检测模型
普通技术 面向高混响环境的欠定卷积盲源分离算法
普通技术 移动边缘计算网络下基于静态贝叶斯博弈的入侵响应策略研究
普通技术 基于IRS辅助的MIMO车联网系统联合波束成形设计
普通技术 基于IOC-CSMP 的OFDM 系统稀疏信道快速重构算法
普通技术 频控阵MIMO雷达的目标数与方位参数联合估计方法
普通技术 SPS 结构大规模S 盒设计与分析
普通技术 意图抽象与知识联合驱动的6G 内生智能网络架构
普通技术 软件定义网络抗拒绝服务攻击的流表溢出防护
普通技术 数据安全中台构筑企业数据生命线
  版权与免责声明: ① 凡本网注明“合作媒体:通信界”的所有作品,版权均属于通信界,未经本网授权不得转载、摘编或利用其它方式使用。已经本网授权使用作品的,应在授权范围内使用,并注明“来源:通信界”。违反上述声明者,本网将追究其相关法律责任。 ② 凡本网注明“合作媒体:XXX(非通信界)”的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。 ③ 如因作品内容、版权和其它问题需要同本网联系的,请在一月内进行。
通信视界
吴春波:华为如何突破美国6次打压的逆境?
刘烈宏:以数字化网络化智能化助力数字经济与
普通对话 高通中国区董事长孟樸:5G与AI结合,助力提升
普通对话 雷军发布小米年度演讲:坚持做高端,拥抱大模
普通对话 闻库:算网融合正值挑战与机遇并存的关键阶段
普通对话 工信部副部长张云明:我国算力总规模已居世界
普通对话 邬贺铨:我国互联网平台企业发展的新一轮机遇
普通对话 张志成:继续加强海外知识产权保护工作 为助力
普通对话 吴春波:华为如何突破美国6次打压的逆境?
普通对话 刘烈宏:以数字化网络化智能化助力数字经济与
普通对话 消息称微软将把OpenAI人工智能技术整合至Offi
普通对话 中国电信董事长柯瑞文:数字科技引领新消费
普通对话 中国移动董事长杨杰出席GSMA创新论坛并作主旨
普通对话 中国信科何书平:“一体两翼”大力支撑数字政
普通对话 中兴徐子阳:泛在协同,筑“算网”坦途
普通对话 中国移动陈国:智慧中台对外输出数百项高价值
普通对话 中兴通讯总裁徐子阳:数贯东西,融达天下,共
通信前瞻
亨通光电实践数字化工厂,“5G+光纤”助力新一
邬贺铨院士解读ChatGPT等数字技术热点
普通对话 亨通光电实践数字化工厂,“5G+光纤”助力新一
普通对话 中科院钱德沛:计算与网络基础设施的全面部署
普通对话 工信部赵志国:我国算力总规模居全球第二 保持
普通对话 邬贺铨院士解读ChatGPT等数字技术热点
普通对话 我国北方海区运用北斗三号短报文通信服务开展
普通对话 华为云Stack智能进化,三大举措赋能政企深度用
普通对话 孟晚舟:“三大聚力”迎接数字化、智能化、低
普通对话 物联网设备在智能工作场所技术中的作用
普通对话 软银研发出以无人机探测灾害被埋者手机信号的
普通对话 AI材料可自我学习并形成“肌肉记忆”
普通对话 北斗三号卫星低能离子能谱仪载荷研制成功
普通对话 为什么Wi-Fi6将成为未来物联网的关键?
普通对话 马斯克出现在推特总部 收购应该没有悬念了
普通对话 台积电澄清:未强迫员工休假或有任何无薪假计
普通对话 新一代载人运载火箭发动机研制获重大突破