APP下载

基于C++和SQL的流速标准装置检定软件设计

2019-09-25龙1松1张继军张宝国张东亮

计算机测量与控制 2019年9期
关键词:参数设置流速仪器

张 龙1, ,叶 松1,张继军,张宝国,张东亮

(1.国防科技大学 气象海洋学院,南京 211101; 2.西北核技术研究所,西安 710024)

0 引言

在水文观测领域中,流速是基本的观测要素之一。准确测量流速有助于了解水资源的时空分布规律,为合理开发和利用水资源提供重要依据。因此,流速测量已经成为气象、水文等多个领域的研究重点[1-2]。

在现有的众多流速测量仪器中,转子式流速仪表现出结构简单、使用方便等一系列突出优势,因而深受水文工作者的青睐,已广泛应用于水文观测的多个领域。为保证该型流速仪测量结果的准确性和一致性,国内外均已建立起基于直线静水水槽和检定车的流速检定标准装置,然而该系统体积庞大,建造及维护成本高,且可用设备数量较少,导致目前转子式流速仪的计量检定工作效率较低且费用较高。基于上述原因,本文提出研制一套基于环形水槽的小型轻便式流速标准装置,为转子式流速测量设备提供计量保障。

检定软件是标准装置测控系统的重要组成部分,主要用于完成装置的运行状态监控及检定数据管理。本文在充分研究检定软件的功能需求和设计方法的基础上,运用面向对象的程序设计方法和多层架构模型完成了标准装置检定软件的设计。软件具体的功能模块由C++程序设计语言实现,检定数据管理由SQL Server数据库实现。测试结果表明,检定软件既能够实现期望的功能性需求,又具备实用性、可靠性、扩展性等非功能性需求,从而有效提高了流速标准装置的自动化程度。

1 环形流速标准装置

1.1 标准装置技术指标

本文所述的基于环形水槽的流速标准装置充分借鉴了原有直线静水水槽检定设备的设计思路,同时在装置体积、重量、使用灵活性、建造及维护成本等方面体现出更优的性能,可用作小型转子式流速仪的计量检定设备。装置以绝对值编码器作为角度测量标准器,以激光测距仪作为长度测量标准器,在FPGA和上位机检定软件的协同配合下实现对人员信息、仪器信息、检定流程、检定数据等对象的全面监控与管理,有效提高了装置的自动化和信息化程度。

根据小型轻便的设计理念和量值传递的相关要求,标准装置需实现的技术参数如下:检定速度范围为0.1~4.5 m/s,扩展不确定度为0.01 m/s,在最高检定速度下,被检仪器的匀速运动时间不少于3 s,装置总重量(除环形水槽及附属部件)小于150 kg,可进行快速分解、组装、维护等工作,其概念模型如图1所示。

图1 环形流速标准装置概念模型

1.2 测控系统工作方式

标准装置由环形水槽、传动结构和测控系统组成。根据装置功能需求,测控系统包括由上位机和FPGA模块组成的控制处理器、由光电编码器和激光测距仪组成的测量标准器、由伺服电机及伺服驱动器组成的动力系统、无线摄像机作为被检仪器示值采集器。测控系统的结构组成如图2所示。

图2 测控系统结构组成

基于上述结构,可将测控系统工作流程分为以下四个步骤:

1)使用高精度激光测距仪测量转动半径,并将测量结果输入上位机检定软件。在软件中设置仪器参数、检定参数等各项指令,进入自动检定模式。在检定软件控制下,装置自第一个检定点开始自动执行检定任务。

2)FPGA向伺服驱动器发送脉冲信号,控制电机转动并带动被检流速仪在水槽中以检定速度做圆周运动,在此过程中读取光电编码器的角度测量值并将其传输至上位机。通过反馈的编码器角度值和同步时间信息判断被检仪器是否达到检定速度,并计算匀速段的标准速度。

3)为提高装置的自动化程度,采用无线摄像机视频监控方式获取被检仪器手持记数终端的示值。运用基于视频流的数字图像识别技术提取视频中的仪器读数,并将识别结果读入上位机检定软件。

4)运行软件的数据处理子程序,比较装置输出的标准流速值和被检仪器示值,计算被检仪器在各个检定点处的系统误差,判断其是否合格并生成检定结果。

2 检定软件设计

2.1 需求分析及设计原则

根据标准装置的设计要求,检定软件需要实现以下功能:可实现对通信协议、人员信息、登录权限等基本参数的设置和管理;可实时获取装置运行过程中各功能模块的数据,并按照控制算法调整装置的运行状态;根据设定的检定参数自动执行检定任务,并给出检定结果;具有数据存储与查询功能,可自动保存历次检定任务的实验数据及检定结果以备查询。

除上述功能性需求外,检定软件还需具备实用性、可靠性、扩展性等非功能性需求,因此在软件开发过程中需遵循以下设计原则[3-4]。

1)实用性原则:实用性是衡量软件设计成功与否的一项重要指标,主要体现在所设计软件具有良好的兼容性和可移植性,可在多种操作系统中实现软件资源共享;具有简洁流畅的逻辑结构和工作流程,可在占用最少系统资源的情况下完成设定任务;以用户体验为核心,综合运用多种表达方式增强软件的信息交互能力,给予用户更方便快捷的人机交互体验。

2)可靠性原则:在软件开发过程中,应充分考虑其可靠性需求,以确保软件可以长期稳定运行。在本文所述的检定软件中,其可靠性主要体现在具有较强的容错能力和报警机制,对软件运行过程中出现的错误具有及时的应对措施;检定软件需根据程序设定的相关算法调整装置的运行状态,处理实验数据并生成检定结果,故必须确保软件运行准确无误。

3)扩展性原则:软件设计不仅要满足当前的用户需求,还应考虑到软件功能扩展的需要。本文所述环形流速标准装置尚处于研究的初级阶段,其检定软件仍有较大的扩展空间,如软件功能添加、控制算法改进等,因此在软件的开发过程中需预留扩展接口,以便于软件的更新完善。

2.2 软件设计方法

目前,数据采集和监控管理系统多采用组态软件形式设计实现,尽管降低了设计难度,缩短了开发周期,但容易导致软件结构混乱,扩展性和实用性不足,为后期的需求升级和软件更新带来诸多困难[5]。本文所述的环形流速标准装置尚处于研究的初始阶段,随着后续研究的深入,软件需求将有较大变化,故采用传统的组态软件形式难以满足软件设计需求。相反,面向对象的程序设计方法和多层构架模型在软件设计中具有较大优势,可有效提高设计软件的通用性、可靠性、扩展性,适用于本文所述检定软件的设计需求。

本文所设计检定软件的多层架构模型如图3所示,包括表现层、业务逻辑层、数据访问层、抽象工厂层、模型层等层次结构。其中,处于最顶端的表现层可通过软件用户界面的方式实现,业务逻辑层主要用于对登录权限设置、系统参数设置等功能模块的实现方法进行封装,模型层用于实现对仪器参数、实验数据、检定结果等对象的封装,SQL Server数据库可实现对系统参数、检定数据的管理,通过数据访问层可完成数据读取、更新等操作[71-72]。各层之间通过接口调用的方式实现数据交互,降低了相互之间的耦合度,只需修改少量代码即可实现软件功能更新,实现了可扩展和易于更新的设计目标[6-7]。

图3 检定软件多层架构模型

2.3 软件功能模块设计

按照上述功能需求及设计原则,将检定软件分为权限设置、参数设置、任务管理等三大功能模块,其结构如图4所示。

图4 检定软件主要功能模块

2.3.1 权限设置模块

根据GJB 2725A-2001相关要求,测试检定实验室应包括行政负责人、技术负责人、质量负责人、测试/检定员、审核员、仪器管理员等[8]。根据软件功能需求和人员权限范畴,设计了管理员、检定员、审核员三种用户类型,软件登录时自动判断登录人员身份,提示输入登录密码。检定人员可对个人信息及登录密码进行维护,管理人员负责设置软件登录权限。

2.3.2 参数设置模块

在执行检定任务之前,对被检仪器及标准器的辨识信息和性能参数等进行录入或修改,包括仪器编号、量程范围、测量精度、检定证书号、有效期、送检单位等;根据被检仪器特性,对检定规程相关参数进行修改,包括检定点选取、读数次数设置等;设置检定软件与被控对象的通信接口。

1)仪器参数设置。

仪器参数设置主要用于完成被检仪器及标准器的参数读取、查询、修改等操作。通过此模块,软件用户可对仪器编号、生产厂家等标识信息以及量程范围、测量精度等性能参数进行管理,相关数据可存储于标准器信息表、被检仪器信息表等数据库表格中。

2)检定参数设置。

检定参数设置用于实现检定规程的读取、修改等操作。在执行检定任务之前,需根据检定规程要求设置合适的流速检定点,并将被检仪器量程范围、最大允许误差、传动臂长度、流速检定点等参数读入系统中,相关数据可存储于检定规程数据库记录表中。

2.3.3 任务管理模块

根据设定的相关参数,实现对检定流程的自动控制;在检定过程中,对装置的运行状态进行实时监控与管理;读取被检仪器与标准器的测量数据,根据检定规程对实验数据进行处理并生成检定结果;自动保存检定数据及结果,具备数据备份及还原功能,可对历史数据进行查询和管理;审核人员进行检定结果审核,审核通过后可生成数据表格及检定证书。

1)检定流程监控。

检定流程是指从创建检定任务至生成检定结果的整个过程,包括仪器参数设置、检定参数设置、检定数据处理、检定结果生成等核心操作步骤。为实现检定过程的自动化,在软件设计时将检定流程以规定的文本格式存储于数据库中。在执行检定任务时,首先从数据库中读取检定流程文本,并据此执行相应的仪器操作,从而实现检定过程的自动化。

检定流程如图5所示。首先创建新的检定任务,系统将自动生成本次检定的任务编号,并跳转至参数设置界面。在参数设置界面中完成被检仪器的参数设置,包括仪器名称、仪器型号、出厂编号、送检单位、量程范围、最大允许误差等,并根据检定规程设置合适的检定点。其次,进行被检仪器外观结构检查,要求被检仪器各零部件安装正确、牢固,不存在变形、塌陷、弯曲、裂缝等现象。对于转子式流速仪,其螺旋桨应转动平稳,无跳动或阻滞现象。外观结构检查合格的被检仪器可继续执行检定任务。根据设定的检定点次序,系统将从第一个检定点开始自动执行检定任务,并在此过程中读取被检仪器及标准器数据,处理实验数据并生成检定结果。在进行高速点检定时,实验装置转动速度较快,存在一定的危险性,为应对意外状况,设置了“紧急停止”按钮,可实现装置的紧急制动。

图5 检定流程图

2)检定数据处理。

检定数据处理过程包括粗大误差剔除、系统误差计算、合格判定、不确定度评定等操作。根据系统误差可判定被检仪器是否合格:若被检仪器在各检定点处系统误差的绝对值均不大于其最大允许误差的绝对值,则判定其合格;反之,则判定为不合格。

3)检定结果生成。

检定结果可分为数据记录表及检定证书两部分。数据记录表格式如表1所示,包含被检仪器、标准装置及标准器的相关参数、检定过程环境参数以及对应于每个检定点的被检仪器及标准器示数。根据上述数据处理方法,计算各检定点处被检仪器的系统误差,并据此判断其是否合格。检定合格的仪器将由已获认可的计量单位出具检定证书,对于不合格的被检仪器将发出检定结果通知书或提出处理意见。检定证书包括计量机构名称、送检单位名称、被检仪器名称及型号、检定日期及有效期、检定所用测量标准的相关参数、检定所依据的技术文件、检定结果扩展不确定度、检定实验室环境参数等内容,其具体格式如图6所示。

3 SQL Server 数据库设计

SQL Server是微软公司推出的一种可扩展、高性能的关系型数据库管理系统,具有强大的数据处理能力,可通过多种方法来确保数据的完整性,基于自主的SQL语言可实现数据提取、数据更新等多种操作[9-10]。综上所述,本文选取SQL Server 实现检定软件的数据库设计。

表1 检定数据记录表

图6 检定证书格式

本文所述的检定软件不仅需要完成检定过程的自动控制,还需对检定任务所涉及的仪器参数、实验数据、检定结果等信息进行管理,因此需要合理设计数据库结构,以提高数据访问、更新、删除等操作效率。基于上述需求,建立了如图7所示的数据库设计流程[11-12]。

图7 数据库设计流程

1)需求分析:根据检定软件的功能需求和相关检定规程,确定数据库需记录的重要数据信息及其包含关系,主要包括实验过程环境参数、被检仪器及标准器技术参数、检定过程设置参数、检定数据及检定结果等。

2)概念设计:建立数据库概念模型。目前,增强型实体-关系(Enhanced Entity-Relationship,简称EE-R)模型在数据库开发过程中应用较广,其表达形式简洁明了,能够更全面的描述数据库逻辑结构和功能需求[13-14]。归纳EE-R模型中各实体的特征属性,以检定操作流程为依据,建立了各实体间的相互联系,由此可得检定软件数据库的EE-R模型如图8所示。

图8 检定软件数据库EE-R模型

3)逻辑设计:将概念设计过程中生成的EE-R模型转换为与SQL Server数据库系统兼容的逻辑模型,并对其进行范式优化。首先,根据实体间关系类型(一对一(1:1)、一对多(1:n)、多对多(n:m))将EE-R模型转化为R(A、B、……)形式的关系模式集。然后,按照关系数据库的范式优化模型对设计结果进行优化[15]。

4)物理实现:通过具体的数据库管理系统实现方法完成实体关系和数据记录表的设计。

4 实验结果与分析

4.1 仪器参数设置

标准器信息管理窗口如图9所示,可对角度测量标准器和长度测量标准器的基本参数进行管理。被检仪器信息管理窗口图10所示,可对被检仪器的仪器基本信息和送检单位信息进行管理。

图9 标准器信息管理窗口

图10 被检仪器信息管理窗口

4.2 检定点设置

根据国内外现有标准,被检流速仪在其全量程范围内的检定点数应在12~15个左右(量程上下限为必检点),且在低速段应增加检定点数量。通常,当检定速度小于0.1 m/s时,其速度间隔可在0.02~0.05 m/s之间;当检定速度大于0.2 m/s时,其速度间隔可在0.2~0.5 m/s之间。根据上述要求,选取检定点如下:0.1 m/s、0.2 m/s、0.3 m/s、0.5 m/s、0.7 m/s、1.0 m/s、1.5 m/s、2.0 m/s、2.5 m/s、3.0 m/s、3.5 m/s、4.0 m/s、4.5 m/s。检定点设置窗口如图11所示。

图11 检定点设置窗口

4.3 检定数据记录

通过检定软件记录被检仪器示值、读数时间以及标准流速值,其参数设置及数据记录窗口如图12所示。

图12 检定参数设置及数据记录窗口

5 结论

本文首先提出了检定软件的功能需求及设计原则,并在此基础上对软件的设计与实现方法进行了研究。为使软件具有较高的层次性、通用性、扩展性,采用面向对象的程序设计方法和多层架构模型建立了软件结构,运用C++编程语言和Visual Studio软件开发平台编程实现了具体的功能模块,运用SQL Server数据库实现了检定软件的数据管理。测试结果表明,检定软件既能够实现期望的功能性需求,又具备实用性、可靠性、扩展性等非功能性需求,从而有效提高了流速标准装置的自动化程度。

猜你喜欢

参数设置流速仪器
《现代仪器与医疗》约稿函
《现代仪器与医疗》2022年征订回执
《现代仪器与医疗》约稿函
《现代仪器与医疗》2022年征订回执
液体压强与流速的关系
保护母亲河
山雨欲来风满楼之流体压强与流速
爱虚张声势的水
逃生疏散模拟软件应用
蚁群算法求解TSP中的参数设置