包钢炼钢厂检化验数据采集系统的设计与开发
- 格式:docx
- 大小:40.91 KB
- 文档页数:8
包钢炼钢厂检化验数据采集系统的设计与开发郭广丰;邬海燕【摘要】针对包钢炼钢厂的实际需求,基于.NET技术,开发检化验数据采集系统.实现自动采集化验数据,并将化验数据实时存储到三级系统数据库,实时、准确地将其发送给现场显示屏.企业在使用检化验数据采集系统后,降低现场工作人员的劳动量,提高产品质量、缩短生产运行时间、降低生产成本.【期刊名称】《现代计算机(专业版)》【年(卷),期】2015(000)005【总页数】5页(P60-64)【关键词】检化验数据采集系统;.NET技术;自动采集【作者】郭广丰;邬海燕【作者单位】包头师范学院网络信息中心,包头014030;内蒙古新联信息产业有限公司,包头014010【正文语种】中文检化验数据是现代化钢铁企业生产信息的重要组成部分。
随着现代信息技术的不断进步,检化验数据借助企业内部先进的信息网络,通过不断完善的管理系统渗透到企业的生产、管理、研发等各个层面,因此数字化的检化验系统在企业发展中显得愈发重要[1]。
检化验数据主要来源于检化验设备,目前钢铁企业基本上都配备有检化验设备,如德国OBLF公司生产的QSN750型的直读光谱仪、ARL4460光谱仪等。
虽然这些设备和配套软件已经具有良好的特性,但在分析数据的远端传送方面实时性不高,不能满足现代企业高速信息化的要求[2]。
为此,本文以包钢炼钢厂为背景,按照工艺要求和现场条件,在原化验仪器自带软件的基础上设计出相应的检化验数据采集系统。
包钢炼钢厂设有中心化验室,它集中了检化验大部分的精密仪器,如荧光仪、直读光谱仪等,检化验数据都由中心化验室提供,对来自不同工序(转炉、精炼炉以及连铸机等)的试样进行化验分析,得到试样的化学成分值,然后将这些数据发送给相应的工序,各个工序根据接收到的数据进行成分调整,以便达到相应的冶炼工艺要求,生产出优质钢材。
所以中心化验室的数据分析和发送要保证准确性、实时性。
要求系统实时获得中心化验室各仪器的检化验数据,根据炼钢生产过程化验样品的炉号,将化验结果实时传送到相应炉座的LED显示屏;另外,写入三级数据库,在转炉、精炼炉、连铸等控制室,操作人员可通过计算机及时查询样品的化验数据。
2.1 采集系统的结构根据包钢炼钢厂的实际,设计了检化验数据采集系统,其拓扑结果如图1所示。
中心化验室有5台化验设备(OBLF全自动分析仪、ARL 4460-458、ARL 2460-399、ARL 4460-721、ARL 2460-377),其中ARL 4460-458、ARL 2460-399、ARL 4460-721、ARL 2460-377通过RS-232线缆与采集工作站的多串口卡相连,OBLF全自动分析仪通过双绞线连接中心化验室交换机。
首先各化验仪器将化验结果自动发送给采集工作站,采集工作站自动对数据进行修约,并存储到本地Access数据库;然后将数据发送各现场LED显示屏(其中1#、2#、3#、4#高炉、三精练、四精练与采集工作站的另一个多串口卡相连,8#和9#转炉通过双绞线连入企业生产网),并将数据写入三级系统数据库。
在转炉、精炼炉、连铸等控制室,操作人员可通过计算机以Web方式访问三级系统Web服务器,三级系统Web服务器读取三级系统数据库相应的样品化验数据,这样操作人员通过浏览器就可以查询每个样品的化验数据了。
2.2 系统功能检化验数据采集系统分为两个子系统:数据采集子系统(单机版)和Web查询子系统(基于Web)。
数据采集子系统部署在采集工作站上,自动采集各化验设备发送的化验数据,发送给各显示屏,并写入三级系统数据库。
Web查询子系统部署在三级系统Web服务器上,数据来源于三级系统数据库,操作人员可通过Web查询子系统查询每个样品的化验数据。
(1)数据采集子系统的功能①数据采集自动采集5台化验设备传送的数据。
②修约参数设置实现修约位数自定义、修约值定义的功能。
③数据修约实现依据修约值对采集到的数据进行修约的功能。
④上传数据至三级系统数据库将修约后的数据存储到三级系统数据库中。
⑤数据传送至现场LED根据试样号将化验数据传送至相应的炉前屏幕,供现场的工作人员参考。
⑥历史化验数据查询根据条件查询历史数据。
⑦修约前数据查询修约前化验数据可在此查询,方便与修约后数据对比。
⑧端口和网络连接调试连接现场屏幕的状态测试,方便维修人员确认问题。
⑨数据清理功能本地存储的数据量过大时会影响程序运行速度,提供根据录入日期清理数据功能,方便维护人员操作。
⑩日志记录程序运行日志,提供常见异常提示。
(2)Web查询子系统的功能Web查询子系统供转炉、精炼炉、连铸等控制室的操作人员方便查询每个样品的化验数据而开发的,主要有3个功能:①数据查询根据试样号或某一时间段,查询每个样品的化验数据。
②数据清理功能根据录入日期,清理三级系统数据库的历史化验数据。
③用户管理对使用Web查询子系统的用户进行管理,提供修改密码、添加用户、分配权限等功能。
数据采集子系统基于单机运行,部署在采集工作站上,作为服务程序驻留在采集工作站的内存中;采集程序采用开发,本地数据库选用Access数据库,三级数据库选用Oracle数据库。
Web查询子系统使用技术开发,使用读取三级数据库的化验数据。
在数据采集子系统设计时,考虑到化验仪器传送数据时可能会遇到网络不通或者三级数据库关闭的情况,采用两级数据存储的方式,即数据采集程序先将化验仪器传送数据存储到本地Access数据库,然后再将数据写入三级数据库。
遇到上述网络不通或者三级数据库关闭的情况,可以用“手动按钮”向三级数据库逐条补录入数据。
4.1 自动采集功能的实现中心化验室有5台化验设备,品牌型号各异,遵守的接口协议也不同,数据传送应答方式不统一。
其中ARL 4460-458、ARL 2460-399、ARL 4460-721、ARL 2460-377采用RS-232通过RS-232线缆与采集工作站的多串口卡相连,通过COM口传入数据;OBLF全自动分析仪通过双绞线连接中心化验室交换机,通过RJ-45网口传入数据。
因此,需要针对不同的化验仪器,编写不同的采集代码,需要编写两种不同类型的代码,即COM采集和RJ-45网口采集。
(1)从COM口采集数据功能的实现COM采集的实现,通过.NET自带的SerialPort控件实现,并编写相应的DataReceived事件的处理方法。
在Form_Load方法中,设置SerialPort控件的Port-Name、BaudRate、ReadBufferSize等属性,并使用Open()方法与化验设备建立连接,并给SerialPort控件添加DataReceived事件的处理方法。
在DataReceived事件的处理方法中,从缓冲区读取传来的数据,根据每个仪器相应读写规程,向仪器发送控制字,最终将化验数据接收下来。
(2)从RJ-45网口采集数据功能的实现OBLF全自动分析仪采用TCP协议传输数据,全自动分析仪作为TCP服务器端,因此需要编写TCP客户端程序来实现采集功能。
编写接收数据的方法(如ReciveMsg),使用Socket对象的Receive方法接收数据;在Form_Load方法中,建立Socket对象,使用Con nect()方法建立与分析设备的TCP连接,使用New Thread(AddressOf ReciveMsg)指定一个方法建立接收数据线程,使用起start()方法开始运行该线程。
这样就可以采集到OBLF全自动分析仪传送的化验数据了。
4.2 处理功能的实现接收到化验设备传送的化验数据后,数据采集子系统需要根据用户设定的参数对每一个数据进行规约处理。
由于要处理的化验数据来自不同设备,其数据的结构也不同,如果直接做修约处理,就需要针对每个设备分别编写处理程序,势必会造成代码量剧增,后期维护困难。
为了解决上述问题,定义了一个特殊的字符串buuf,把各元素的测量值存入buuf,逗号作为分割,并规定了每个元素测量值的位置。
这样从化验设备传送来的不同结构的化验数据先都存入结构相同的buuf字符串中,然后针对buuf字符串中的数据做修约处理;这样编写一个修约处理程序,实现对不同结构的化验数据规约,屏蔽了不同仪器的化验数据的结构差异,大大提高了代码复用,后期维护变得容易了很多。
4.3 数据的存储使用OleDbConnection、OleDbCommand对象读写本地Access数据库;在使用采集工作站上安装Oracle客户端,使用OracleConnection、OracleCommand对象读写三级Oracle数据库。
化验数据先存储到本地Access数据库,然后再写入三级Oracle数据库。
这样就解决了上述网络不通或者三级数据库关闭的情况下,化验数据传送丢失的问题。
如果发生上述问题,可以用“手动按钮”向三级数据库逐条补录入数据。
收到化验数据后,存入结构相同的buuf字符串中,先将各元素含量值分别存入原始数据存入ZL_CHEMICAL_REPORT_XYQ 数据表;然后针对buuf字符串中的数据做修约处理,把各元素含量值修约后的值存入另一个数据表ZL_CHEMICAL_REPORT,而后写入三级Oracle数据库。
修约前数据查询功能的实现,就是同时从这两张表中提取原始数据和规约后的数据做对比,这样就方便用户查看修约是否正确。
4.4 向现场屏幕发送数据各元素含量值的修约后的值存入本地Access数据库后,根据化验数据中的炉号分别向相应的现场屏幕发送数据。
现场屏幕分为两大类,即北京科海小屏幕和鞍钢LED大屏幕。
北京科海小屏幕放置在1#、2#、3#、4#高炉、三精练、四精练现场,通过RS-485线与采集工作站的多串口卡相连;鞍钢LED大屏幕放置在8#、9#转炉现场,通过双绞线接入企业生产网。
北京科海小屏幕和采集工作站通过COM口通信,通过xMSCommLib.AxMSComm控件实现,通过给其Output属性设置值,向小屏幕发送化验数据。
鞍钢LED大屏幕通过TCP/IP协议通信,在采集工作站上安装鞍钢开发的数据抓取代理软件,从中间表实时抓取化验数据,并自动传送到LED大屏幕。
按照双方约定,中间表和ZL_CHEMICAL_REPORT_XYQ、ZL_CHEMICAL_REPORT,均放在采集工作站的Access数据库中。
因此,只需要使用OleDbConnection、OleDb-Command对象把化验数据写入SCREEN_ZL_CHEMICAL_REPORT表中就可以。
数据采集子系统部署在采集工作站上,作为服务程序驻留在采集工作站的内容中。
第一次需要用户启动,随后程序将自动运行。
用户登录后,进入采集界面(如图2),这样程序就可以自动接收化验仪器的数据,并进行处理了。