测温仪选用美国Raytek公司生产的MARATHON系列双色高温红外测温仪。采用双色比值技术,适用于测量恶劣的工业现场,能有效解决轧件上氧化铁皮多、现场烟尘水汽多对测温精度的影响。测量精度高达0.3%以上;测量速度优于10ms;光学分辨率可达300:1;输出方式有内置4位数字温度显示,RS-485串口,数字输出,4~20mA电流输出,可设置报警输出。RS-485/RS-232转换采用Raytek公司专用转换器,使用全双工通讯方式,具有独特的串口保护电路,具有抗静电、抗雷击、突波抑制功能,通讯波特率自适应。 系统可实现以下功能:(1)检测二个点钢坯温度。(2)出炉钢坯计数功能。(3)上位计算机直观显示温度值和计数值。(4)钢坯温度和产量可生成历史记录,方便查询。(5)在上位机上设置测温仪参数(如发射率、平均值时间、峰值保持时间等)。(6)温度报警功能。
2 VB6.0下的串行通讯控制
2.1 VB串行通讯控件MSComm.OCX VB企业版的串行通讯控件MSComm32.OCX提供了使用RS-232进行数据通讯的所有协议,使用事件驱动方式处理和解决各类通讯软件的开发设计问题。VB为该控件提供了标准的事件处理函数、过程,并通过属性和方法提供了串行通讯的设置。用户通过通讯控件可方便地访问Windows串行通讯驱动程序,包括输入、输出缓冲区的大小及决定何时使用流程控制命令挂起数据传输等。 要完成正常的通讯功能,首先要正确设置通讯控件的CommPort(通讯串行口号)[1],1为com1,2为com2,格式为: MSComm1.Commport=2 Settings(波特率、奇偶校验位、数据位、停止位),格式为: MSComm1.Settings=“9600,8,1” 第一部分为波特率,第二部分为奇偶校验位,N表示无校验,E表示奇校验,O表示偶校验,第三部分为数据位,第四部分为停止位。Settings属性必须设置正确的波特率、奇偶校验,否则是无法处理的乱码。PortOpen(是否打开串行口)设计时不可见,格式为: MSComm1.PortOpen=True Input从接受缓冲区接受字符,格式为: MSComm1.Input Output向发送缓冲区写入字符,格式为: MSComm1.Output=send() send()为发送的字符数组。应注意,发送时输出缓冲区是否已满,接收时输入缓冲区是否有字符,否则会丢失字符或产生错误[2]。除应考虑InBuffersize(输入缓冲区的大小)、OutBuffersize(输出缓冲区的大小)、InputMode(接受数据类型)等重要的属性外, InputLen(读字符串长度)、Sthreshold(输出缓冲区允许的最少字符数)、Rthreshold(输入缓冲区允许的最少的字符数)三个属性的设置也非常重要。Windows正是利用用户定义的输入输出缓冲区的有关属性InBuffersize、OutBuffersize、Sthreshold和Rthreshold实现了一个中断驱动程序。Rthreshold属性是接受方正确接受的关键,每接受到一个字符,这个字符产生一个低级硬件中断,驱动程序会取得控制权并将字符放入输入数据缓冲区。然后再将控制权返回给应用程序。当接受的字符等于或超过Rthreshold属性值时,就会触发一个OnComm事件,而不必等到输入数据缓冲区全部塞满时才产生OnComm事件,以免造成数据丢失。 2.2 通讯控制的软件编程 在项目窗体中嵌入MSComm控件之后,为了用该控件控制一个串口进行通讯操作,还必须在应用程序中插入该控件。为此,在程序的某个对话框插入MSComm控件,控件名为MSComm1。通讯控件用于访问串口、发送和接受数据,对两台红外测温仪的通讯采用查询方式。程序把测温仪的数据读到所定义的变量参数中,然后程序再从变量参数中分别读取各数据,处理、显示、判断、报警、并保存,为了区分记录各班每根钢的温度,以时间和班次分别生成文件名,便于历史资料的查询,另外数据库根据数据量的大小自动更新。 为了实现友好的人机界面功能,除实现通讯控制外,还需完成温度和轧制支数显示主画面、统计查询画面、报警画面、帮助画面等画面程序的设计。
3 使用效果
红外测温系统自2001年8月投用以来,运行稳定。系统可准确测量轧件温度,测量误差小于10℃。实现了对轧件温度的实时测控,轧件均匀的加热温度有助于提高轧钢设备的寿命。同时,系统可准确控制加热炉加热温度,保证了成品质量,产品合格率由99.93%提高到99.96%。系统还可根据不同的轧制规格和原料热送情况,制定出合理的加热温度,起到指导生产的作用。
|