智能冶钢厂环境监控与设备控制系统(边缘物联网网关)

2023-12-14 22:44

本文主要是介绍智能冶钢厂环境监控与设备控制系统(边缘物联网网关),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

1、项目背景

2、项目功能介绍

3、模块框架 

3.1 架构框图

3.2 架构介绍

 4、系统组成与工作原理

4.1 数据采集

4.2 指令控制

4.3 其他模块

4.3.1 网页、qt视频流

4.3.2 qt搜索进程

 5、成果呈现

 6、问题解决

7、项目总结 


1、项目背景

        这个项目的背景是钢铁行业的数字化转型和智能化升级。随着工业4.0的发展,钢铁生产企业面临着提高生产效率、优化生产流程、降低成本和减少环境污染等挑战。为了应对这些挑战,钢铁企业需要引入先进的数字化技术,实现对生产过程的远程监控和智能化控制。

        钢铁生产过程中涉及到诸多复杂的参数和环境因素,如温度、湿度、氧气含量、烟气排放等,传统的人工监控和调节方式已经无法满足生产的需求。因此,引入智能冶钢厂环境监控与设备控制系统,可以实现对生产过程中各项参数的实时监测和智能化控制,从而提高生产效率、优化生产流程,并最终达到降低成本和减少环境污染的目的。

        同时,智能冶钢厂环境监控与设备控制系统也符合国家对工业生产过程环境保护和安全生产的要求,有利于提升企业的社会责任形象,促进可持续发展。因此,这个项目的背景是钢铁行业数字化转型的大环境下,钢铁企业迫切需要引入智能化技术来提升生产水平和管理水平,实现高质量、高效率、可持续发展的生产模式。

2、项目功能介绍

  1. 数据采集和传输模块:该模块负责采集生产过程中的各种参数数据,如温度、湿度、氧气含量、烟气排放等,通过传感器将这些数据上传至云端服务器或本地服务器。

  2. 数据存储和处理模块:该模块负责将采集到的数据进行处理和分析,并将结果存储在数据库中,以便后续的查询和分析。

  3. 远程监测和控制模块:该模块负责远程实时监测和控制生产过程中的各项参数,如温度、压力、流量、钢铁传送带、排气扇等,以及自动化调节和优化生产过程。

  4. 报警和预警模块:该模块负责监测生产过程中的异常情况,并发出相应的报警和预警,以便及时采取措施避免事故发生。

  5. 界面和操作指导模块:该模块主要是提供给用户管理员良好的界面体验,提供美观简洁的操作界面显示数据和控制设备。

3、模块框架 

3.1 架构框图

图3-1 架构框图

3.2 架构介绍

         用户层:主要是网页端、qt客户端、阿里云。实时接收对应模块传输上来的数据,并且以图形化界面的形式显示出来。对于控制硬件设备,下发相应格式的数据帧给对应模块,经过一系列处理完成控制。

        网关层:本层主要是上下两层的中间枢纽,负责上传数据,下达命令等;充当一个中转站,是本架构设计中必不可缺的一层。各个进程间的通信通过套接字、共享内存、消息队列来实现。

        设备层:Modbus Slave 软件模拟的多个设备以及STM32各个外设组成的设备层。模拟实际工厂中设备情况。

 4、系统组成与工作原理

        如图3-1所示,该项目主要分为三层,每层具体的通信以及配合工作的原理如下介绍。

4.1 数据采集

        Modbus Slave 模拟工业设备相关参数。STM32连接各类外设。

图4-1 设备参数配置及数据设置

图4-2 STM32设备情况

        Modbus服务器通过ModbusTCP协议读寄存器或线圈的数据或状态,具体的帧格式:事务处理标识符|协议标识符|长度标识符|单元标识符|功能码|数据。通过向TCP客户端发送此类帧格式,成功采集到数据或状态。

        STM32服务器其实就是一个TCP服务器,32通过ESP8266配置相应的模式具有了联网的功能,两者之间的交互通过TCP进行数据交互。

        Modbus服务器和STM32服务器将采集到的数据通过共享内存共享到某一块具体的地址空间以供别的进程获取数据。

  • 网页端:网页服务器进程获取特定段的共享内存的地址,服务器再解析相应数据,然后通过HTTP协议上传JSON格式的数据给xxx.html。然后解析节点数据完成数据采集显示。
  • QT端:上报进程获取到共享内存的数据,然后该进程解析数据,通过MQTT协议发送JSON格式的数据帧到qt客户端,客户端解析节点数据完成后,在相应组件显示数据。
  • 阿里云:阿里云服务器同样获取共享内存内的数据,解析数据封装为JSON格式,然后通过MQTT协议发送给响应进程,进程解析显示数据。

4.2 指令控制

  • 网页端:通过点击相应按钮,发出相应指令给网页服务器,过程中使用的协议也是HTTP完成数据通信。网页服务器进程发送数据帧到消息队列中,供给相应服务器(Modbus服务器、STM32服务器)读取消息,然后下发到具体的设备完成控制。
  • QT端:通过点击相应按钮,发出相应指令给qt服务器(使用的MQTT协议),然后同样发送到消息队列中,供给相应服务器(Modbus服务器、STM32服务器)读取消息,然后下发到具体的设备完成控制。
  • 阿里云:同样如此,使用阿里云提供的LINKSDK压缩包,进行部分处理之后,同样完成类似操作控制具体的硬件设备。

4.3 其他模块

4.3.1 网页、qt视频流

        视频流模块都是使用开源的mjpg-stream工具来开发的,mjpg-streamer 提供了一种简单而有效的方式来实现实时视频流的传输和展示,重定向输出流到对应端,一个以HTTP方式传输,一个以UDP方式传输。

        视频处理过程可能会出现分辨率不合适导致视频流传输错误,可以通过相应配置解决问题。该模块运行在虚拟机上,将采集到的视频流传输到网页端和QT端,提供监控功能,保证工厂正常运转。

4.3.2 qt搜索进程

        qt广播搜索本公司的所有产品,然后建立TCP连接传输设备信息。具体的实现可以参照我的以往的博客http://t.csdnimg.cn/gdbSm

 5、成果呈现

图5-1 网页界面预览

图5-2 阿里云界面预览

图5-3 阿里云图形化界面预览

图5-4 阿里云图形化界面预览

 6、问题解决

  • WIFI模块的模式配置,发送AT指令,但是一直连接不上服务器。

        解决:wifi连接的5G,模块不支持5G,更改网络连接。

  • Modbus服务器采集数据错误,有时出现乱码。

       解决:具体的帧格式的起始地址和数量和Modbus Slave设备端不统一,更改地址及数量。

  • 网页端接收数据错误。

       解决:在传JSON格式的时候,发送数据长度没指定好,导致出现乱码,规定长度并且清空缓冲区解决问题。

  • 视频采集模块无法正常传输数据。

        解决:以为是代码的问题,结果更改分辨率即可。

  • 阿里云在获取数据之后就无法再次去控制设备了。

        解决:由于对前端不是很了解,自己查资料F12检查,看到好像自己数据类型的键报错,结果发现表示范围0-100,而我传输数据两千多,导致界面卡死。重新配置设备参数解决问题。

  • 上报QT的数据以及设备信息总是出问题。

        解决:这一块的程序相对复杂且繁琐,数据帧的格式不统一导致接收数据错误,JSON格式数据传输错误,多线程中传参取地址不对。将数据格式全部统一、避免数据的冲突,并且多加几条容错判断,解决上述问题。

7、项目总结 

        智能冶钢厂环境监控与设备控制系统的实施为冶钢厂提供了实时监测、远程控制和智能预警的功能,提高了生产效率、降低了能耗,并确保了冶钢过程的安全稳定运行。在项目实施过程中,我克服了各种挑战,取得了良好的成果和效益。

这篇关于智能冶钢厂环境监控与设备控制系统(边缘物联网网关)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/494156

相关文章

Linux使用nload监控网络流量的方法

《Linux使用nload监控网络流量的方法》Linux中的nload命令是一个用于实时监控网络流量的工具,它提供了传入和传出流量的可视化表示,帮助用户一目了然地了解网络活动,本文给大家介绍了Linu... 目录简介安装示例用法基础用法指定网络接口限制显示特定流量类型指定刷新率设置流量速率的显示单位监控多个

如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解

《如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解》:本文主要介绍如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别的相关资料,描述了如何使用海康威视设备网络SD... 目录前言开发流程问题和解决方案dll库加载不到的问题老旧版本sdk不兼容的问题关键实现流程总结前言作为

在Mysql环境下对数据进行增删改查的操作方法

《在Mysql环境下对数据进行增删改查的操作方法》本文介绍了在MySQL环境下对数据进行增删改查的基本操作,包括插入数据、修改数据、删除数据、数据查询(基本查询、连接查询、聚合函数查询、子查询)等,并... 目录一、插入数据:二、修改数据:三、删除数据:1、delete from 表名;2、truncate

通过prometheus监控Tomcat运行状态的操作流程

《通过prometheus监控Tomcat运行状态的操作流程》文章介绍了如何安装和配置Tomcat,并使用Prometheus和TomcatExporter来监控Tomcat的运行状态,文章详细讲解了... 目录Tomcat安装配置以及prometheus监控Tomcat一. 安装并配置tomcat1、安装

VScode连接远程Linux服务器环境配置图文教程

《VScode连接远程Linux服务器环境配置图文教程》:本文主要介绍如何安装和配置VSCode,包括安装步骤、环境配置(如汉化包、远程SSH连接)、语言包安装(如C/C++插件)等,文中给出了详... 目录一、安装vscode二、环境配置1.中文汉化包2.安装remote-ssh,用于远程连接2.1安装2

C#实现系统信息监控与获取功能

《C#实现系统信息监控与获取功能》在C#开发的众多应用场景中,获取系统信息以及监控用户操作有着广泛的用途,比如在系统性能优化工具中,需要实时读取CPU、GPU资源信息,本文将详细介绍如何使用C#来实现... 目录前言一、C# 监控键盘1. 原理与实现思路2. 代码实现二、读取 CPU、GPU 资源信息1.

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

使用zabbix进行监控网络设备流量

《使用zabbix进行监控网络设备流量》这篇文章主要为大家详细介绍了如何使用zabbix进行监控网络设备流量,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录安装zabbix配置ENSP环境配置zabbix实行监控交换机测试一台liunx服务器,这里使用的为Ubuntu22.04(

mysql-8.0.30压缩包版安装和配置MySQL环境过程

《mysql-8.0.30压缩包版安装和配置MySQL环境过程》该文章介绍了如何在Windows系统中下载、安装和配置MySQL数据库,包括下载地址、解压文件、创建和配置my.ini文件、设置环境变量... 目录压缩包安装配置下载配置环境变量下载和初始化总结压缩包安装配置下载下载地址:https://d

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像