news-banner-1.png
news-banner-2.png

高精度压力变送器测试系统

2021-02-07 11:13:38 上海百中物联技术有限公司

  由于微处理器在工业测控中的应用,价格比下降,因此出现了以微处理器为高精度智能化压力变送器,这就要求压力变送器须具有高精度的性能指标。为提高测量精度,采用软硬件相结合的方法,对压力传感器和传感器的参数进行了大量的检测,形成了一张软件补偿表,用以判断传感器的精度是否达到要求。本论文正是为满足这种需求,建立了以工控机为主的变送器测试系统。

  一、制度结构。

  发射机测试系统整体结构,主要包括DPI520系列标准压力发生器3个,2700系列数字万用表1个,PLC(PLC)C200H1个,智能温控器1个,继电器组及变送器、传感器阵列等部件。因为这些智能仪表都有RS232通信口,而普通工控机只有2个232通信口,为了增加串口,我们采用了MOXA公司的C168H系列的一拖八多串口卡。

  二、系统的运作方式和功能。

  其工作原理是:利用工业控制计算机的人机交互界面,将需要检测的变送器或传感器组设置好,通过PLC对选定的变送器或传感器进行温度、压强的设定和顺序检测,将采集到的数据存储到数据库中,然后进行相应的计算。通常,在使用压力传感器之前,需要对其进行温漂补偿和非线性校正,传统的方法是根据经验值测试几个温度点对应压力下的输出值来选择补偿用的电阻,这样,补偿后的整体精度就不高。为了获得高精度的全温度补偿效果,需要大量测量各温度下传感器的参数,通过公式计算补偿电阻的大小,以提高传感器的精度和可靠性。该测试系统的功能之一是,一次ZUI多测试64个传感器,并计算出相应的补偿电阻阻值,还可计算出传感器的非线性、重复性、滞后等特性,根据这些特性得到传感器的精度,并判断其是否满足要求。

  伴随着智能变送器的出现,对其进行温度漂移补偿和非线性校正的方法也从原来单纯的模拟电路调节改为软件调节。其主要原理是,当生产变送器时,计算变送器在不同温度和标准压力下的输出,并将其形成补偿参数预存于变送器的程序存储器中,在实际应用中,程序会根据现场温度和压力自动调用补偿参数,从而完成补偿过程。该系统的功能之二是可以对ZUI上的64个变送器进行测试,经过相关处理后可获得所需的补偿参数。采用该系统,一方面可提高传感器的生产效率和检测率,另一方面可对传感器和变送器进行补偿,使其精度提高。

  三、系统软件设计。

  因为系统需要多种人机交互界面来设置和监控大量的参数,我们选择了MicrosoftVisualC++6.0来开发软件系统,操作系统是Windows2000,充分利用它强大的网络功能和稳定性。软件设计主要包括人机接口设置,多串口通信,数据库处理等。人-机接口的设置主要是使用VC++中的控制程序,数据库部分主要是存储数据和计算相应的参数,比较简单这里不做介绍,下面着重介绍多串口通信的程序设计。

  3.1封装的串口类别。

  在微软的VisualC++类(MFC)中,没有提供通用串口通信代码,而使用32位WindowsApl函数来操作串口又是非常繁琐的。在该系统中,由于大量的数据传输采用串口方式,因此串口操作尤为频繁。在VC6.0下,我们主要采用面向对象的设计方法,用Cserialport来实现一个常用的串口类Cserialport来封装相关的属性和方法,增加了对串口的透明度,提高了串口传输数据的可靠性,屏蔽了底层的细节,方便了对串口的编程实现,它可以读取、写入和监视一个串口的运行情况,将发生的事件传递给主机。

  要操作串口,我们在Serialport.cpp源文件中定义了一系列函数:例如Initport(用于对串口进行初始化并设置串口属性)函数;Startmonitoring(用于启动和停止线程)、Restartimonitoring(初始化)、Stopmonitoring()函数;ReceiveChar()和WriteToport()()函数。

  3.2实现通信协议。

  本系统中所使用的智能仪表,由于厂家不同,所使用的协议也不同,因此在软件设计方面存在某些的困难。通过面向对象的方法,将智能仪表的某些共性特征(例如:端口号、仪表序号、下位机地址、功能描述等)抽象出来,把归纳的共性特征组合成一个智能仪表基本类Commen类,并定义一组标准的仪表访问和数据访问接口,以虚函数的形式给出,再对每个实际的仪表进行派生,使之与自身匹配。各智能仪表均采用各厂家提供的通信协议。

  3.3实现多线程串口通信。

  因为IPC要和4台以上的智能仪表通信,并且要长期动态稳定地运行,它是整个变送器检测系统的中枢组,它对可靠性、鲁棒性的要求很高,所以整个数据采集的驱动程序对于各个串口读写协调就显得尤为重要。在开始串口数据采集驱动程序前,根据仪器实际连接情况对仪器进行配置,设置各串口连接的仪器种类和数量,以及基本的串口通信参数,并进行存储。驱动器主线程的任务是主控机交互界面操作和各串口操作线程的启动和协调,并采用Windows消息机制进行线程间通信。

  四、结论。

  利用多串口扩展控制器,组成压力变送器检测系统,通过测试变送器及传感器的参数,计算其电阻阻值,并将补偿参数下载到变送器程序存储器中,从而提高变送器的精度和可靠性。串口数据采集软件设计采用面向对象的设计(OOP)方法,抽象出通用串口类和仪器基类;利用Windows多线程和消息机制,实现了多串口的通讯和同步。在淄博先行测控公司稳定运行,提高了生产效率,为高性能智能变送器的生产提供了可靠保障。