热电阻检定工艺的自动化改进与软件设计

发布时间:2023-06-28     浏览次数:
[摘要]传统的热电阻元件检定工序主要由质检技术人员手动操作完成,在读取到检测数据后需要手动记录、计算检测结果并录人电脑中。质检人员劳动强度高、工作效率低且存在人为误差(如,误读、录人错误等)。提出一种基于计算机控制的热电阻检定工艺自动化改进方法,通过使用VisualBasic.Net编写的计算机操作界面有效降低了质检人员的工作强度。质检人员只需判断恒温槽温度及控温时间是否达到数据读取要求,数据读取和运算由计算机自动处理并生成Excel文档。实际使用情况表明,改进后的热电阻元件检定系统具有良好的应用价值。
引言.
  热电阻产品在出厂“之前需依据JJG229-2010《工业铂、铜热电阻检定规程》进行准确的检定;JJG229-2010标准第7节计量器具控制给出了热电阻检定所需标准仪器及配套设备的技术要求,由于需计量检定的温度计量产品的技术参数、应用场合不尽相同,各温度仪表产品的生产企业所采用的检定设备并不完全一致;但基本应包括标准铂电阻温度计、0.005级及以上等级的用于测量热电阻和标准铂电阻阻值的电测仪器、接触电势≤1.0uV的转换开关及恒温装置等。
  实际操作时,质检人员先将转换开关1一5通道对应的元件放人冰水混合物中、通道6--10对应的元件放人100℃的恒温槽中,待控温时间达到数据读取要求后旋转开关面板.上的旋钮对输出通道进行切换并读取、记录相应的测试值。操作完成后将冰水混合物与100℃恒温槽中的元件进行互换待控温时间再次达到后重复上述数据采集记录流程。最后将记录的数据录人到计算机中进行处理并生成检测报告。采用人工读取、手动录人的检定方式存在质检人员的工作量大.且效率低的问题,已经不能满足日趋增长的工业生产需求。为此,提出一种热电阻元件检定操作的自动化改进方法,在确保测试精度及测试结果可靠性的基础上,有效降低质检人员的工作强度。
1热电阻检定系统的自动化改进方案
  该技术改进方案采用支持远程控制模式的“ST4012A低热电势扫描开关”代替需手动完成通道切换的低热电势精密开关。该扫描开关采用特制的继电器阵列作为转换的核心器件,可以实现多路电势信号的切换,并通过面板上的LED同步显示通道状态,以便于操作人员实时监控设备的工作情况,寄生热电势≤0.2uV远低于国标中的技术要求,适用于热电阻元件的检定测量与转换。原检定系统中使用的“HY2030A型热电偶热电阻测试仪”自带通信协议接口故无需进行替换,改进后新系统的硬件组成如图1所示。
热电阻检定系统硬件组成框图 
  由于主控计算机为品牌商用机无RS232端口,通过使用USB转RS232*2串口线将低热电势扫描开关和电阻测试仪与计算机连接。通过基于计算机控制的串口通信技术实现热电阻元件检定过程中的数据采集、数据处理、报表生成及存储的完全自动化。计算机操作界面为使用面向对象的程序设计语言VisualBasic.net开发的Window应用程序,程序主界面如图2所示。程序源文件中包含模块、类、方法等类型,可根据实际需求通过对现有模块、方法进行重组和扩展,编写出新的软件功能。
热电阻元件自动检定程序界面 
  为简化操作流程,各通信端口的参数在软件设计时均在程序代码中完成配置,仅开放串口号供操作人员根据计算机端口的实际使用情况进行修改。质检操作人员将低热电势扫描开关1--5通道对应的元件、通道6一10对应的元件分别放人冰水混合物与恒温槽后,待测试环境达到检定数据采集要求后,单击操作界面上的“正向检测”按键,计算机向检定仪器发送对应的通信控制命令控制低热电势扫描开关依次进行通道切换,通过电阻测试仪的通讯端口将扫描开关1-5通道相对应元件在0℃时的电阻值、通道6一10相对应元件在100℃时的电阻值及二等标准铂电阻温度计在100℃时的输出值(对应扫描开关的12通道)上传到计算机并实时显示在操作界面对应的文本框中。数据读取完成后,质检操作人员将冰水混合物与100℃恒温槽中的元件进行交换,当控温时间再次达到后,单击“反向检测”依次读取扫描开关1一5通道相对应元件在100℃时的电阻值、通道6一10相对应元件在0℃时的电阻值及二等标准铂电阻温度计在100℃时的输出值。并自动计算出被检元件的允差值并评判其精度等级。测试完成后,通过单击操作界面上的“生成报告”按键,即可自动生成Excel文件保存在计算机的指定位置。
2热电阻元件检定操作界面的软件设计
2.1过程控制与多线程控制
  热电阻元件自动检定程序的流程图如图3所示,过程控制是软件设计的核心部分,包括测试数据的读取、显示及扫描开关的通道切换。为提高系统的响应性及灵活性,软件设计时引人线程处理的概念,即主线程用来监视用户输人及完成生成报告操作,使用另一个工作线程来执行数据采集及计算任务。
热电阻元件自动检定程序流程图 
  通过创建一个System.Threading.Thread对象的实例,再调用Start方法即可在.NET中创建一个工作线程。以下代码用于在“正向检测”按钮控件的事件处理程序中创建工作线程对象并启动,用于执行对应的通道切换及数据读取操作。
DimReadThread1AsNewSystem.Threading.Thread(AddressOfForwardReadString)ReadThread1.Strat()
  由图3可见,每进行一次通道切换前工作线程都会对暂停标志位进行判断。该标志位fShouldStop在“停止”按钮控件的事件处理程序中进行赋值,当操作人员发现设备工作状态或采集数据异常需要停止程序运行时,通过单击操作界面上的停止按钮给fShouldStop赋值为true,工作线程识别出后即会停止数据采集代码的运行,等待操作人员下一步的指令。
2.2基于Win32API的串行通信设计
  WindowAPI中与串行通信相关的函数约有20个,介于文章篇幅、列出通信控制步骤中的关键代码。
(1)打开通信端口。在Windows系统中串行端口被当成一个文件进行操作,因此使用打开文件的CreateFile函数来打开串口。与之相对应的使用关闭文件的CloseHandle函数将使用完的串口关闭
DimmhRSAsInteger=CreateFile(miPort,,GENERIC_READOrGENERICWRITE,0,0,OPEN_EXISTING,iMode,0)’使用同步I/O方式打开串行端口
mhRS为通过CreateFile函数打开串行端口后的返回值(Handle值),在串口打开成功后,操作系统会自动为Handle值配置--个号码,也可以理解程序中使用该值来进行对串行通信端口的相关操作。
(2)设置传输速度等参数。由于通信端口涉及的参数较多,故先使用以下语句取得通信端口的设置值。
iRc=GetCommState(mhRS,uDcb)
  再对需要修改的参数进行赋值后写人即可。
uDcb.BaudRate=miBaudRate‘通信速度(bps)
uDcb.ByteSize=miDataBit‘数据位数
uDcb.Parity=meParity‘极性位
uDcb.StopBits=meStopBit“停止位
iRc=SetCommState(mhRS,uDcb)’利用修改后的结构变量uDcd重新配置端口参数
(3)使用ReadFile及WriteFile读写串口数据。程.序执行时,扫描开关及电阻测试仪的远程控制命令均为字符串,必须使用System.Text的UTF8Encoding或UTF7Encoding类作为编码将其转换为字节数组才能调用WriteFile函数,具体代码如下。
DimoEncoderAsNewSystem.Text.UTF8Encoding‘声明字节数据及编码类(UTF8)
DimaByte()AsByte=oEncoder.GetBytes(Buffer)‘将字符串转换为字节数组
iRc=WriteFile(mhRS,aByte,aByte.Length,iBytesWritten,Nothing)‘串口发送数据
  同理,使用ReadFile读取的数据也需要经过同样的处理,才能得到正确的返回值。
iRc=ReadFile(mhRS,mabtRxBuf,cs.cbInQue,iReadChars,Nothing)
InputString=oEncoder.GetString(mabtRxBuf)‘转换字节数组为字符串
3结论
  改进后的检定系统已用于对薄膜热电阻元件的测试工序。实际使用情况表明,计算机操作界面设计符合质检人员的操作习惯,使用便捷,有效缩短了测试报告的出具时间,减少了人为误操作,提高了产品质检工作的效率,具有良好的实际应用价值。
上一篇:一等标准铂铑10-铂热电偶测量结果的不确定度   下一篇:提高铂电阻温度计测量精度的方法