胡宗华 代严满 窦洋洋
摘 要:计算机测试系统是计算机技术和测控技术、电子技术、测试仪器技术深层次结合的产物,文章采用基于PCI总线的技术开发出基于C#的电机测试系统,给出了测试系统的基本配置,开发环境是Microsoft Visual Studio 2010,并结合NI公司的Measurement Studio 2015软件,开发出一套能完成电机各项功能测试的综合测试系统,人机界面友好,操作简单。
关键词:测试系统;C#;功能测试
电机是能量转换装置的最好体现,它广泛用于工农业领域、交通运输领域、国防科技领域等,因此电机的性能研究颇受青睐,人们对电机性能测试有了更高的要求。电机测试技术主要研究的是电机的各种参数特性及原理和方法,利用虚拟仪器、仪表和相应的设备,按照相关规定,对电机制造过程中的电气性能、力学性能、安全性能以及可靠性进行检验。这些实验数据可以知道电机的设计是否符合要求以及改进的目标和方向。
1 电机测试系统的硬件设计
1.1 硬件系统组成
基于C#的电机测试系统是以PC机为主测量平台,利用虚拟仪器模拟实际仪器的操作界面,通过人机交互来完成对电机各种参数的采集、调理、分析、结果显示和输出的功能。从虚拟仪器外部硬件结构出发,它是由硬件结构和软件结构两大部分组成,仪器的硬件结构是就计算机测试系统的外围电路。图1为典型的虚拟仪器系统基本框图。
1.2 数据采集
信息飞速发展的社会,信息与信号处理技术在很大程度上决定了信息技术的先进性。本系统采用北京阿尔泰公司旗下的PCI18622板卡,开发出基于PCI总线的C#电机测试系统,来完成电机性能参数的采集和分析。PCI18622是一款基于PCI总线的数据采集卡,可直接插在IBM-PC 或与之兼容的计算机内的任一主机插槽中,形成实验室、产品质量检测中心等各种领域的数据采集、波形分析以及数据处理。也可搭建成工业生产过程监控系统。
AD模拟量输入功能:(1)转换器类型:AD7663。(2)输入量程(InputRange):±10V,±5V,±2.5V,0~10V,0~5V。(3)采样速率(Frequency):1Hz~250KHz。(4)模拟输入通道总数:32路单端,16路双端。
说明:各通道实际采样速率=采样速率/采样通道数。
分频公式:采样频率=主频/分频数,其中主频=40MHz,32位分频,分频数的取值范围:最低为160,最高为40000000。
模拟信号的输入分单、双端输入2种方式。信号单端输入方式是指在使用正负两个通路实现某个信号输入的情况,信号由单一通道输入这种方式叫差分输入方式。这种方式主要应用于干扰较大,通道数量相对较少的环境。PCI8622数据采集板卡可按照下图连接方式,构成模拟电压双端输入的方式,同时能够抑制共模信号带来的干扰情况,提高数据采集的精度。16路模拟信号的输入端一端接到AI0~AI15端,另外一端接到AI16~AI31端的负端,现场设备与PCI8622板卡共用一个模拟地端口AGND如图2所示。
数据采集的方式采用的是分组采集,它的功能是AD在采样过程中,每采样组的各通道以内的时钟采样频率相互之间进行数据转换,采样组两组之间有一个较长的等待时间,这段时间被称为采样组间间隔。各种数据采集系统其数据采集过程大致相同,一般包括以下2步:(1)使用传感器采集各种物理信号,通过AD转换把模拟信号转换成数字信号。(2)通过A/D转换完成之后,电脑可以识别出来具体的数字信号,便于对采集到的数据进行分析处理。
各采集组的内采集通道在进行AD转换完成后,该系统会等待一段时间,再接着下一组的数据采集与转换,依次重复下去并分组采集。
1.3 物理ID设置
物理ID号的设置,如果主机电脑中安装了多块数据采集板卡时,并且是相同型号的,如PCI18622板卡,此时系统可以对每一块板卡的物理ID号进行相应的开关设置,这就使得用户在编程和调试情况下,不仅访问方便,速度也大大提高。每块数据采集板卡均以4位二进数字来表示,开关拨向“ON”时,它的意思是“1”,拨向“ON”的另一侧,表示“0”。图3表示的是:位置为“ID3”是高位,“ID0”是低位,图3中黑色的模块表示开关的所处位置。
通过PCI18622数据采集板卡的引脚定义,将数据采集的模拟输入与STM32下位机的输出相连,即可完成数据采集。
2 电机测试系统的软件设计
2.1 下位机控制软件设计
下位机是基于STM32最小系统板搭建的控制系统,该控制系统一方面实时采集电机各种参数数据,另一方面负责控制电机的实时运行状态,还要对各种采集到的信息进行输出处理,如电机的转速、转矩、电流、电压等参数。
下位机控制软件的开发平台是Keil uVision4,对STM32系统的I/O口配置以及传感器的输入输出,均采用模块化设计思想,主要功能包括几个方面:数据采集模块、信号转换与放大电路模块、逻辑处理模块、传感器软件驱动模块、PCI总线通信模块。
(1)数据采集模块:被测电机的参数是测试系统主要的数据来源,也是对电机以后的改进方向有着很重要指导作用。如电机的转速,电机的电流,电机的电压,电机的转矩,点击的功率因素等。这些模拟信号是一方面,另一方面整个测试系统的数字信号对电机的控制也是很重要的,如电机的运行、制动、暂停,还包括调节电机的转速,电压、电流、功率因素等等。对这些模拟信号和数字信号要进行一个防干扰处理,以免一些错误信息或者是干扰信息扰乱测试系统的正常运行。
(2)信号转换与放大电路模块:电机测试系统中,有些模拟信号是非常微弱的,如电流甚至达到几微毫安,这样的信号在有些精度不高的采集板卡中,几乎是测不出来的,也就是达不到预期的控制效果,实时性也难以达到,而且,这个信号太微弱,对上位机的控制也是不利的,有时系统可能自动忽略太微弱的信号,就做不到控制,运行中出现故障。
(3)传感器硬件驱动模块:这模块主要是针对一些传感器设定的,众所周知,传感器在接入上位机之后,是需要装驱动的,否则上位机无法识别这些设备,只有正确地安装了驱动之后,才能达到上位机控制这些设备的目的,或者是软件编程过程中对这些外设的控制,包括它的输入、输出、接口等。
2.2 上位机软件设计
本测试系统操作系统采用Windows 7,其性能稳定可靠,为测试系统提供可靠的运行平台.开发平台选用Microsoft Visual Studio 2010,结合Measurement Studio,快速搭建上位机图形界面和连接硬件,并与各种仪器开展通信和快速采集数据.在Windows 7系统上创建出高性能、稳定好的应用程序,为建立电机测试系统、提供了极大的便利。PC机上位机系统软件按功能划分由系统登陆界面、用户注册、系统设置、输出控制。上位机系统软件结构如图4所示。
系统测试是测试软件系统和其他的系统元素及硬件、数据库和人机交互信息组合构成完整的计算机应用系统中所有的元素配合是否合适以及整个系统的功能、性能、执行强度、安全性等是否达到规定标准,它的测试数据通常是系统测试的测试数据的子集。不同的测试类型,在设计测试用例时,测试点各有不同。在测试系统开发过程中,编程和测试是紧密相关、相辅相成的技术活动,缺一不可,同等重要。同时,还需补充新的测试用例来测试新的或被修改了的功能。
用C#语言编写相关程序涉及到的函数:(1)private void AdsThread()。该线程是C#语言和核心技术之一,操作系统上同时可以运行多个应用程序,这些技术就是进程技术,一个进程里面可以有多个线程或者单个线程。线程是操作系统合理利用处理器时间的基本单元之一,在线程中可以有多个线程同时运行。这里通过使用Thread类,对线程进行创建、暂停、恢复、休眠等操作。系统为应用程序分配一个主线程,该线程执行程序中的Main方法开始和结束的代码。(2)private void ProcessData()。定义一个无返回值函数ProcessData,它的作用是用数组来存取采集到的数据,在该方法里面还应用到抛出异常这一技术,方便基础学者调试程序时更易发现其中的错误。
3 结语
本文详细介绍了基于C#电机测试系统的设计方法,通过采用STM32单片机作为整个测试系统的下位机,上位机控制软件是在Visual Studio开发平台上用C#语言设计的虚拟控制界面,可以有效提高测试系统的稳定性和实时性。实验证明,本测试系统具有体积小、功耗低、精度高、实时性好、稳定等优点,可以在电机测试系统中应用。
[参考文献]
[1]施长宝.基于虚拟仪器的机载计算机测试系统设计与实现[J].电源学报,2014(9):92-96.
[2]向东.基于虚拟仪器的多相电机测试系统的设计[J].微特电机,2008(7):65-70.
[3]李敏.电动机转矩转速的计算机测试系统[J].仪表与传感器技术,2003(2):26-27.
[4]王小科.C#从入门到精通[M].北京:清华大学出版社,2010.
The Design of the Test System Based on C#
Hu Zonghua, Dai Yanman, Dou Yangyang
(College of Engineering Control Institute, Xijing University, Xi an 710123, China)
Abstract: The computer test system is computer technology and Measurement and control technology, electronic technology, testing instrument technology product of further combination, this article based on PCI bus technology to develop the motor test system based on c #, the basic configuration of the test system is given, the development environment is Microsoft Visual Studio 2010, combined with the Measurement of NI company Studio 2015 software, can develop a set of complete motor functions of comprehensive testing system, friendly man-machine interface, easy to operate.
Key words: test system; C#; functional test