基于 C#的铁水连续测温软件的开发与应用

2022-11-20 15:13杨洺镇侯全师王澴奇王毅
计算机应用文摘·触控 2022年19期
关键词:铁口云台铁水

杨洺镇 侯全师 王澴奇 王毅

摘要:目前,国内高炉生产过程中对铁水的测温方法主要是接触式热电偶测温,优点是精度高,缺点是测温不连续且消耗大。为了让所测铁水的温度变化能实时反映高炉炉温状况,为高炉操作者提供参考,文章采用红外热辐射测温方式,在出铁口处对铁水进行在线连续测温,并在Visual Studio 2015 C#平台上开发了一款集视频图像显示、温度采集、云台调节的多功能应用软件。

关键词:C#;连续测温;软件开发

中图法分类号:TP312文献标识码:A

Development and application of continuous temperature measurementsoftware for molten iron based on C#

YANG Mingzhen,HOUQuanshi,WANGHuanqi,WANG Yi

(Beijing GangyanXinye Engineering Technology Center Co.,Ltd.,Beijing 100081,China)

Abstract:Atpresent,the temperature measurement method for molten iron in the domestic blastfurnace production process is mainly contact thermocouple temperature measurement,which has theadvantage of high precision and the disadvantage of discontinuous temperature measurement andlarge consumption. In order to make the measured temperature change of molten iron reflect the blastfurnace temperature status in real time and provide reference for blast furnace operators,this articleadopts infrared thermal radiation temperature measurement method to continuously measure thetemperature of molten iron online at the tap hole,and then use Visual Studio 2015 to measure thetemperature of molten iron online. A multi-functional application software integrating video imagedisplay,temperatureacquisition,and PTZ adjustment has been developed on the C# platform.

Key words:C#,continuous temperature measurement,software development

1 引言

一般來说,开发一款 Windows 桌面应用软件,可以选择的编程语言众多,如 C,C++,C#等。相较而言, C#虽然运行效率不是最高的,但其开发速度快,且不含指针类型,避免了指针对内存的直接操作,在一定程度上提升了安全性[1]。此外,它还能定期清理动态分配的内存,自带回收机制,预防内存溢出。另外,它拥有.NET 类库的完全访问权限,可轻松访问 Windows API,支持的类库和可直接调用的成熟控件众多,从而有效地缩短了开发时间。

2 软件功能设计

软件功能主要包括视频图像模块、温度数据采集模块、云台控制模块、通信诊断模块以及历史查询模块等5个部分。软件各功能模块如图1所示。

视频图像模块:将安装在铁口处的摄像机所采集的视频图像数据传输到工控机内,将图像采集卡作为中转站,进一步采集到内存,最终显示在人机界面[2]。

温度采集模块:通过串口 RS485通信的方式,与测温仪交换数据,实时采集测温仪的内部环境温度及目标温度。

云台控制模块:通过转动云台,对准探测目标。可手动调节,也可开启软件自动追踪功能进行微调整。

通信诊断模块:软件实时监测温度数据,当硬线连接出现中断或接触不良,造成无法接收温度信号或者存在大量丢包的现象时,会提示通信中断字样,提醒监测者联系有关人员进行故障排查。

历史查询模块:可查询过往出铁记录,含当次出铁的完整温度曲线,及视频图像截图。

3 软件开发

3.1 视频采集

对铁口处的图像数据进行采集,主要包含以下步骤:(1)开启软件,初始化所有成员变量,同时打开图像采集卡;(2)识别采集卡型号,并设置源路,视频制式,视频格式,扫描模式等参数;(3)读写程序,通过回调函数 static  int  mylpSnapFunc1( ref  DH _ CGCard. SNAP_INFO tf)实现图像数据的传递;(4)通过控件PictureBox显示图像。

3.2 串口通信技术

3.2.1 概述

串口即串行通信接口,在工业控制领域,当计算机与仪器仪表设备进行数据交换时,选择串口通信是很常见的方式。本文在 Visual Studio 2015 C#环境下,利用AdamCom类来实现串口通信。

3.2.2 温度采集

本软件用某工控机的 RS485串口来采集温度信号,根据测温仪的通信规则,软件须先向测温仪发送请求电文,再接收返回的电文,并解析其中的数据,以得到温度值。

整个数据交换过程在函数GetT ()内的 While 循环里完成,循环条件 B 为全局变量,用来控制循环的启停。为了不影响主线程执行效率,将该过程放在新创建的线程 A 中,打开串口后 A 自动创建。每次循环完一次后,让线程睡眠100毫秒,既降低了 CPU 实时占用率,又保证了适度的采样频率。采集逻辑如图2所示。

3.2.3 云台控制

本软件中,可通过控制云台水平和垂直方向的旋转角度,使测温仪快速对准铁水流股。采用 RS485通信方式连接串口和云台,控制协议为Pelco?D,通信速率为2400b/s。

传输数据为7个字节,其格式为:同步字节,地址,指令码1,指令码2,数据码1,数据码2,校验码。以向上转动为例,其指令为:FF 010008002F 38。停止转动指令为:FF 010000000001。

手动调节时,以向上转动按钮为例,将向上指令放在函数 private void button1_ MouseDown()内,当按下鼠标时,会自动调用该函数,从而将指令发送给云台。同理,将停止指令放在 private  void  button1_ MouseUp()内,松开鼠标时被调用。对准铁水后的视频图像如图3所示。

除了手动调节模式,软件还结合图像处理技术,开发了自动追踪模式。当检测到测温仪未对准铁水后,程序会给云台下发移动指令,直到对准铁流为止[3]。自动追踪模式顺利实现的关键点在于准确判断出十字圈与铁水流股的相对位置。

当软件判断此时处于未对准状态,且连续 N 帧均保持相同的状态,则进入自动追踪模式,工作原理如下。

(1)定位十字圈:识别十字圈轮廓所在的圆,得到圆心和半径。本次开发时利用霍夫变换来识别圆,再通过 Cv2.HoughCircles()函数的返回值得到圆心坐标及半径。

(2)统计各分区内亮点数:分区示意图如图4所示,沿着十字圈水平和垂直方向各作两条切线,将视频图像划分为9个区域。统计当前帧图像各分区内的亮点数,下发云台移动的指令,直到十字圈(即区域5内)存在足够多的亮点并且能检测到温度为止。

(3)根据各分区内的亮点分布情况,下发云台移动的指令,如铁水光亮区位于区域1内,则下发向上和向左的移动指令,直到十字圈(即区域5内)存在足够多的亮点并且能检测到温度为止。

3.3 通信诊断

所谓通信诊断,即软件对温度和图像等数据收发状态的监听和诊断,发生故障时自动记录相应故障代码。比如,当采集温度数据出现丢包或完全中断时,软件会显示故障名称等字样,并记录。又如,环境温度过高导致测温仪启动自我保护机制而停止工作时,软件也会准确判断并录入数据库,且提示操作人员,此时应当检查冷却气是否正常开启。同理,图像数据丢失信号时,为引起有关人员留意,视频画面会蓝屏显示。

3.4 数据存储和查询

常用的数据库有 MySQL,SQL  Server,Oracle , Microsoft of Access 等,本项目选用了 SQL Server 数据库完成数据的储存。SQL Server 作為一种关系型数据库,其存储方式为表格式,将数据存在表格的行和列中。本项目创建了以下数据表:(1)初始化表,包含高炉名称、铁口名称、坐标轴上下限等字段,在加载界面时将该数据表内的初始化参数读入程序,在函数 private void Form_Load()内执行;(2)历史数据表,包含时间、铁口名称、编号、温度值等字段,用来存放出铁历史数据;(3)故障记录表,包含故障类型、时间、铁口名称等字段,记录发生过的所有故障。

对数据库的数据进行存储、更新和查询需要用到 SQL 语句,它的全名为结构化查询语言( Structured Query Language ,SQL),是对数据库进行操作的一种语言。在进行历史曲线查询时,鼠标点击查询按钮后,其响应事件中执行 SQL 语句“select ? from [历史数据表] where 编号=num order by 时间asc”,将温度数据读取到一个整型数组内,再在 panel 控件上画出历史曲线。

4 软件应用

在实际应用中,软件可测量并记录高炉各个铁口的出铁情况,含开口时间、堵口时间、出铁时长,瞬时温度、小时平均温度、整次铁平均温度等信息。钢铁厂的大数据中心或智慧中心可通过预留接口,远程访问数据库中的故障记录表,随时掌握系统运行情况。此外,系统会以模拟量输出的方式将铁水温度实时发送给高炉控制系统中的 PLC ,为操作人员提供准确且连续的温度参考数据。

由于各钢铁厂高炉出铁平台除尘效果不同,对于出铁过程中频繁伴随浓烟的情况,除了在硬件上对镜头增加吹扫系统,预防因镜头积灰导致测量结果偏低外,在软件算法上也做了相应改进,最大限度消除烟尘给正常测量带来的干扰。

软件运行画面如图5所示,目前已在天津联合特钢、首钢京唐公司等多家钢铁厂的高炉上应用,实现了对铁口处铁水温度的在线连续性监测。实践证明,该软件运行良好,稳定可靠,能真实反映铁水温度变化情况。

5 结束语

结果表明,基于 C#的铁水连续测温软件的各个功能模块均达到设计预期效果,不仅能在线连续测温,还能通过视频图像观察铁口周围情况。尤其在各钢铁厂陆续将出铁平台封闭化管理的背景下,它给操作人员远程观测出铁状况提供了直接且有效的手段。

参考文献:

[1] 杜聪,杜文华,曾志强,等.基于 Visual C#的图像实时采集及处理[J].计算机工程与设计,2014,35(8):2939?2943.

[2]吴晓华,梁哲,刘同来,等.基于 C#的多线程 P2P 即时通信系统[J].电脑知识与技术,2021,17(36):75?78.

[3] 卜也,孙芳,王春微,等.基于 C#和 SQL Server 的肉牛养殖数据平台开发[J].中国牛业科学,2021,47(6):76?80.

作者简介:

杨洺镇(1988—),本科,研究方向:冶金行业计算机与自动化应用。

猜你喜欢
铁口云台铁水
云上之家——万科·郡西云台
龙门山·卧云台
山钢5100m3高炉提高铁水装准率的实践
帮我买云台
低铁比条件下低硅、低温铁水加煤块冶炼生产实践
基于STM32的无线FPV云台设计
基于Bootstrap的高炉铁水硅含量二维预报
卢成:发展集装箱铁水联运大有可为
一种铁口喷溅的处理方法
欧冶炉铁口状况运行分析