压力计测量数据显示系统的设计与实现


  摘要:为观察和分析压力计在测量时间段温度和压力的变化情况,需要将测量的数据以图形方式进行显示。针对以往的压力计显示系统不具备报表生成功能的缺点,设计了基于C++ Builder的具有生成word报表功能的压力计测量数据显示系统。该数据显示系统通过串口读取压力计的温度、压力数据,以图形的方式显示温度、压力的变化曲线,并生成生成便于保存和浏览的测量报告。
  关键词:温度;压力;word报表;图形方式;显示
  中图分类号:TP317 文献标识码:A 文章编号:1009-3044(2016)19-0060-02
  Design and Implementation of Pressure Gauge Measured Data Display System
  DING Peng-fei
  (School of Electronic Engineering, Xi’an University of Posts and Telecommunications, Xi’an 710121, China)
  Abstract: In order to observe and analyze the temperature and pressure changes of pressure gauge in the measurement periods, the measure data must be displayed by graph mode. According to the other’s pressure gauge display system does not have the report function, design the pressure gauge data display system with the function of generating Word reports based on C++ Builder. This display system read temperature data and pressure data by serial port, and display the changed cure of temperature and pressure, and generate the measure report for convenient to save and browse.
  Key words:temperature;pressure;word report;graph mode; display
  在智能仪器仪表中,测量数据的显示是仪器的重要功能之一。文献[1]对液晶屏实现数据的动态显示进行了探讨;文献[2-4]对Lab view实现数据的动态显示进行了研究。智能仪器仪表以何种方式呈现其测量的数据,将影响仪器仪表的灵活性和方便性。在工业控制领域,对于即时显示的数据信息通常以数码管、液晶屏等方式进行显示。然而,像井下压力计这样的仪器需要长时间工作记录井下的压力和温度,在仪器结束工作时需要读取并显示测量的温度和压力信息。对于这种大数据量的仪器,数码管、液晶屏等显示方式很难满足测量波形的显示要求,而基于PC机软件的处理、显示模式无疑是最佳的选择。基于压力计数据量大的特点,设计了压力计数据显示系统,满足了压力计测量数据的图形化显示和生成测量数据报告的要求。
  1 通信的设计与实现
  在很多工业控制中都会用到串口通信,无论是RS232还是RS485都是通过串口来进行数据传输的。串口通信方式在工业控制中具有广泛的应用[5-6],因此,系统的通信方式采用串口模式。串口的操作通常采用Windows API或串口控件实现。Windows API实现串口的方法较为复杂,故采用串口控件的实现串口通信。微软提供的串口控件Mscomm具有文件驱动与查询方式两种通信方法[7],操作过程相对简单。由于Victor串口VCL控件[8]针对C++Builder设计,因此,采用该控件实现串口功能。在c++ Builder开发平台下使用Victor串口控件,必须先安装该控件,其安 装方式是:在Project->Options->Packages->Add下,选择VCL控件文件夹的 yb_base_c6.bpl 和 yb_comm_c6.bpl, 然后按“打开”按钮,实现控件的安装。为编译时能正确连接VCL控件,必须将VCL控件的目录加入到C++ Builder,其添加方式为:在Project->Options->Directories/Conditionals下,点击Include Path右面的“…”按钮,添加包含*.h 文件的文件夹,点击Library Path 右面的“…”按钮,添加包含 *.lib 文件的文件夹。经过上述步骤后,添加到C++ Builder下的Victor串口控件就可以正常使用了。使用该控件向串口写数据的格式为Comm1->Write(WaitBufLook,nBytes),WaitBufLook为写入出口的数据数组,nBytes为写入串口的数据长度;读取串口数据为:int n = Comm1->Read(Buf,8192),n为读取数据的实际长度,Buf用于存储读取的数据,8192为读取的最大长度。
  2 测量数据的显示
  测量人员通常希望将采集的数据以图表的方式直观并实时地显示出来,以便直接观察出测量结果[9]。为便于观察测量数据,本系统以表格形式显示温度、压力、时间等信息,通过图形化的方式显示温度、压力的变化曲线。
  在较多数据需要查看时,表格进行数据的显示方式具有浏览方便的特点。在多数编程软件中,将数据以表格方式显示难以实现。C++ Builder在工具栏的Additional标签页提供了StringGrid控件用于表格