航空计测技术
AVIATION METROLOGY &MEASUREMENT TEHNOLOGY
1999年　第19卷　第4期　Vol.19　No.4　1999



ALPHA900系列数据采集器测试系统的设计
陈荔莹+
摘　要　介绍了一个数据采集器测试系统的构成及其软件设计，并对系统软件的设计方法、主要功能和主要特色进行了讨论。
关键词　数据采集　ALPHA900　模块　PCB板
Design of Series ALPHA900 Data Acquisition Test System
Chen Liying
Abstract　The system configuration and its software design of a data acquisition test system are presented in this paper.The design method of the system software,main functions and characteristics are discussed.
Key words　Data acquisition,ALPHA900,Module,PCB
引言
　　ALPHA900系列数据采集器能够对模拟信号(如温度、压力、电阻、电压、电流、应变等)和数字信号(如开关状态、事件捕获、测频计数等)进行连续、高精度的测量，具有抗干扰性强、通讯速率快、传输距离远、智能化程度高、使用简单灵活、安装维护方便等一系列优点，因此是人们对生产过程和生产设备进行运行监测、安全分析、故障诊断和优化控制的理想工具。
　　数据采集器是生产过程监控中重要的一环，因此在产品出厂前要进行严格的测试。以往的测试方法，是测试人员在Windows的终端仿真环境下，依照测试步骤，逐条输入测试命令，并从终端屏幕上记录测试数据，不但效率低、可靠性差，而且对测试人员的要求也较高。针对上述问题，开发了ALPHA900系列数据采集器测试系统，其特点是：
　　●友好的人机交互界面使得测试变得简单、灵活,非专业人员也很容易操作。既免去了测试人员记忆与查询诸多测试命令的辛苦，又提高了测试的可靠性。
　　●实现测试的自动化管理，主机自动记录实时数据。
　　●对合格产品进行计算机库存管理。
1　系统的硬件结构
　　系统硬件由ALPHA900系列数据采集器、电源、校准器、通讯电缆和主机构成，见图1。


图1　系统硬件结构图
　　ALPHA900系列数据采集器是测试系统的主要组成部分，负责完成多路传感器信号的扫描、采集、放大、A／D转换、信号发送等功能。
　　数据采集器外接12 V直流电源，并通过通讯电缆与主机的串行通讯口相连。
　　校准器用来为测试系统提供标准信号。根据被测信号的不同，校准器可以是直流电压校准器、电阻箱、频率计等。把校准器与数据采集器的一个或多个采集通道相连，通过比较系统的测试结果和校准器的标称值来检验产品是否合格。
2　系统软件的功能
1)简化测试过程
　　根据功能的不同，ALPHA900系列数据采集器可分为不同种类的模块，每一种模块出厂前都必须经过四项测试：PCB板测试、老化测试、校准测试和最终测试。而每一项测试又分成若干步骤，其中每一步都需要向模块发几条命令，因此要完成一个模块的完整测试，测试人员需要输入数十条命令；对于批量测试，这项工作将更为繁琐，测试人员须反复查阅命令集，输入各项命令。测试系统解决了这一问题，各项测试命令事先被存储进一组命令按钮，测试时只需单击各个命令按钮，命令便自动发给模块，既方便灵活，又提高了可靠性。同时，测试系统采用了友好的人机交互界面，使得非专业人员也可容易地进行测试。
2)自动记录数据
　　测试的实时数据通常需要保留，以供日后分析使用，但由于每种模块有20个数据采集通道，测试时多是所有通道同时采集，而且以连续5次测试为一组，因此数据量很大。若要求测试人员完整地记录测试结果，会占用大量人力，而且也不能保证不发生错记、漏记。此外，在连续进行72 h的老化测试中，要求测试人员时刻监守岗位也是不现实的。测试系统承担了这一部分工作，它能够实时地记录数据，并存储在指定的表格中。在测试过程中，当数据超标时，系统可自动记录出错信息。
3)提供查询服务
　　通过该测试系统，可以对测试过程中所记录的数据进行查询。根据用户指定的查询项目对测试记录进行排序、筛选，便于用户查找所需数据，还可以将查询结果以报表形式打印出来。
4)规范管理成品
　　在完成全部测试后，合格产品需要进行入库管理。成品管理能够对模块的入库、出库以及维修情况进行登记、查询和统计管理。
3　系统软件的设计
　　系统软件用Visual FoxPro编写。根据测试任务，分为以下几大功能模块，如图2所示。


图2　系统软件结构框图
1)系统设置模块
　　完成测试项目、测试模块类型和测试设备的设置。需要指出的是，在系统设置中，不可缺少的是由测试人员输入被测模块的产品的序列号，这个序列号在测试记录中被视为主索引。
2)测试记录模块
根据相应的测试项目，设置所需的试验参数，选择测试步骤、测试量程、需采集的通道，向模块发测试命令，进行实时采集与显示，采集结束后进行数据整理、结果评定。
　　模块通讯是测试系统的核心部分，也是程序设计的难点，如图3所示。测试系统装入了FoxPro


图3　模块通讯流程图
中的FOXTOOLS.FLL程序库文件，它是Windows的一种动态链接库，利用这个库中的RegFn()及CallFn()例程便可调用Windows中的USER.EXE,GDI.EXE及KRNL386／KRNL286.EXE这3个最大的动态链接库中的例程。在16位Windows中，对串口的操作有其特定的函数：
.OpenComm
.CloseComm
.ReadComm
.WriteComm
.GetCommState
.SetCommState
　　它们都属于USER.EXE程序库。在Visual FoxPro中要调用其它动态链接库中的例程必须先“注册”，在取得一个例程句柄后，再利用此句柄进行调用。测试系统先用RegFn()例程对OpenComm等函数进行注册，然后再用CallFn()例程调用上述通讯函数打开通讯口，对通讯口进行初始化，例如：波特率的允许值、数据位数、停止位的个数以及奇偶校验方法等。通过WriteComm函数把测试命令以字符串的形式写到串行口，并调用ReadComm函数把数据采集模块的响应读入缓冲区。测试系统创建了一个.dat数据文件来保存模块的响应。由于每一次响应含有20个通道的数据，而当各通道所测的信号不同时，其数据位的长度也不同，为保证数据文件中的数据能正确地映射到数据表格中，需将数据文件中数据格式化，把原先的空格分隔符改为逗号分隔符，从而避免了多余空格造成的数据错位，然后调用FoxPro中的APPEND FROM命令将数据文件中的数据映射到数据表格中。数据表格包括产品序列号、模块类型、测试日期、测试人员、测试项目及测试数据等字段，以便进行查询与管理。
　　数据表格中的实时数据还需要经过一系列综合处理，计算出每组测试数据的最大值、最小值、平均值等，为测试结果的评定做好准备。
　　测试结果的自动评定使测试人员不必记忆测试结果的上下限合格值，提高了测试的速度与准确性。当测试数据超出规定的范围时，系统会在不合格的数据旁标以醒目的标记“***”，向测试人员报警，并在数据文件的备注栏中记录下此时的故障情况，以供日后分析查询。
3)查询检索模块
　　系统设计一个表单作为查询记录的专用窗口。按照用户输入的查询索引，如：产品序列号、测试日期、测试人员等，对当前目录下的所有数据表格进行检索，查到的记录除了可以刷新屏幕外，还可以直接送到打印机打印。
4)成品管理模块
　　完成合格产品的入库登记、出库登记、维修登记、查询和统计。
　　入库登记需要录入产品序列号、模块类型、生产日期。批量入库时，同一种模块的序列号通常是连续的，为了避免反复输入这些参数，每完成一个模块的登记，序列号自动加1，而模块类型以及生产日期保持不变。在入库时，系统自动检验产品序列号的唯一性，当所输入的序列号在成品数据库中已存在时，系统会发出警告，提示用户重新输入。
　　出库登记需要录入出厂日期及代理商。批量出库时，对于同一代理商，可以在成品数据库中用Shift＋鼠标左键进行多项选择，一起出库。
　　查询可以按模块序列号、模块类型、生产日期、出厂日期以及代理商对成品数据库进行检索，并可打印查询结果。
　　成品管理还可按年、月统计模块的生产量、销售量以及库存量，并计算出销售给每个代理商的每种模块的数量及总和，统计结果可以打印。
4　结束语
　　本系统已经过一年多的测试应用，实践证明该系统使用方便、可靠性高，较好地满足了数据采集器系统的测试要求，也为日后开发其它产品的测试系统打下了基础。
作者简介：＋26岁　女　助理工程师
作者单位：希蒙电子国际有限公司，北京市，100095
收稿日期：1998－08－03收稿
