目录
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、项目功能介绍
-
数据采集和传输模块:该模块负责采集生产过程中的各种参数数据,如温度、湿度、氧气含量、烟气排放等,通过传感器将这些数据上传至云端服务器或本地服务器。
-
数据存储和处理模块:该模块负责将采集到的数据进行处理和分析,并将结果存储在数据库中,以便后续的查询和分析。
-
远程监测和控制模块:该模块负责远程实时监测和控制生产过程中的各项参数,如温度、压力、流量、钢铁传送带、排气扇等,以及自动化调节和优化生产过程。
-
报警和预警模块:该模块负责监测生产过程中的异常情况,并发出相应的报警和预警,以便及时采取措施避免事故发生。
-
界面和操作指导模块:该模块主要是提供给用户管理员良好的界面体验,提供美观简洁的操作界面显示数据和控制设备。
3、模块框架
3.1 架构框图
3.2 架构介绍
用户层:主要是网页端、qt客户端、阿里云。实时接收对应模块传输上来的数据,并且以图形化界面的形式显示出来。对于控制硬件设备,下发相应格式的数据帧给对应模块,经过一系列处理完成控制。
网关层:本层主要是上下两层的中间枢纽,负责上传数据,下达命令等;充当一个中转站,是本架构设计中必不可缺的一层。各个进程间的通信通过套接字、共享内存、消息队列来实现。
设备层:Modbus Slave 软件模拟的多个设备以及STM32各个外设组成的设备层。模拟实际工厂中设备情况。
4、系统组成与工作原理
如图3-1所示,该项目主要分为三层,每层具体的通信以及配合工作的原理如下介绍。
4.1 数据采集
Modbus Slave 模拟工业设备相关参数。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、成果呈现
6、问题解决
- WIFI模块的模式配置,发送AT指令,但是一直连接不上服务器。
解决:wifi连接的5G,模块不支持5G,更改网络连接。
- Modbus服务器采集数据错误,有时出现乱码。
解决:具体的帧格式的起始地址和数量和Modbus Slave设备端不统一,更改地址及数量。
- 网页端接收数据错误。
解决:在传JSON格式的时候,发送数据长度没指定好,导致出现乱码,规定长度并且清空缓冲区解决问题。
- 视频采集模块无法正常传输数据。
解决:以为是代码的问题,结果更改分辨率即可。
- 阿里云在获取数据之后就无法再次去控制设备了。
解决:由于对前端不是很了解,自己查资料F12检查,看到好像自己数据类型的键报错,结果发现表示范围0-100,而我传输数据两千多,导致界面卡死。重新配置设备参数解决问题。
- 上报QT的数据以及设备信息总是出问题。
解决:这一块的程序相对复杂且繁琐,数据帧的格式不统一导致接收数据错误,JSON格式数据传输错误,多线程中传参取地址不对。将数据格式全部统一、避免数据的冲突,并且多加几条容错判断,解决上述问题。
7、项目总结
智能冶钢厂环境监控与设备控制系统的实施为冶钢厂提供了实时监测、远程控制和智能预警的功能,提高了生产效率、降低了能耗,并确保了冶钢过程的安全稳定运行。在项目实施过程中,我克服了各种挑战,取得了良好的成果和效益。