基于LabWindows/CVI的取力发电系统测试平台设计

2011-04-26 02:32胡玉贵
中国测试 2011年2期
关键词:测试数据控件线程

陈 刚,胡玉贵

(军械工程学院电力工程教研室,河北 石家庄 050003)

0 引 言

由于我国取力发电系统的研发起步较晚,目前国内还没有较先进的专用测试平台和电气性能测试方法。取力发电系统电气参数测试技术手段缺乏,测试设备和相关测试项目还不完善,随着军队信息化建设水平的提高,各类新型取力发电系统不断装备部队,迫切需要全面评价取力发电系统的电气性能。因此,深入研究取力发电系统电气参数测量技术,开发测试项目全、自动化程度高、覆盖面广、适应性强的测试系统对取力发电系统的设计生产、使用维护、质量评估等都具有十分重要的意义。

1 测试台架设计

1.1 基本结构及组成

取力发电系统以汽车发动机做动力,安装在原车硅发位置,利用原车连接皮带拖动发电机发电,传动比保持原硅发1∶3不变。试验台硬件基本结构如图1所示。为了方便检测不同类型的取力发电系统,在发电机和传动轴之间安装一个橡胶吸振联轴器,联轴器上的橡胶块和发电机皮带轮的侧面进行连接,从而实现从传动轴到发电机的等速传递。

测试台夹紧调节装置的作用是使发电机和传动轴的回转中心一致,使转动保持平衡。该装置包括左右和上下移动调节两部分,左右移动调节通过固定的燕尾槽实现,上下移动调节则通过齿条的上下移动实现。工作时由手柄带动齿轮旋转,然后带动工作台连同工作台上的发电机一起上下移动,从而可以调整发电机的中心线,达到和联轴器中心线同心的目的。左右移动调节和上下移动调节可以单独进行,互不影响。调节结束后通过紧固工作台上方的螺栓固定发电机。

图1 取力发电系统测试台示意图

1.2 调速电机转速控制

该文采用空间矢量脉宽调制技术(SVPWM),此技术将逆变器和交流电动机视为一体,依据跟踪空间旋转磁场的原则控制逆变器的工作状态,在电机内部产生恒定的电磁转矩。同时该调制技术使得逆变器输出电压基波最大值为直流侧电压,大大提高了逆变器输出电压。异步电机变频调速系统采用频率开环结构。频率开环系统一旦速度给定后,电机频率不再调节,气隙场同步速确定,电机转速在滑差范围内随负载大小变化,这一特点与汽车行驶过程中发动机转速波动类似,能较好地模拟自发电系统中汽车发动机提供转速的特点。电机变频调速系统原理如图2所示。

图2 电机变频调速

给定的频率经过ν/f确定模块计算出相应的电压给定值u*out和相位给定值θ,SVPWM波形产生模块的电压给定量是u*q=u*out,u*d=0,以实现开环控制设计和矢量控制设计中是SVPWM模块完全兼容。然后,通过PARK逆变产生静止坐标系下的电压给定量u*α和u*β,经过占空比计算模块得到SVPWM波形产生所需要的参考波形,通过PWM算法输出6路带死区的PWM波形。

2 系统硬件设计

测试系统设计的主要要求是能够根据不同被测取力发电系统的电压、频率以及功率情况,自动完成测试系统的负载分配调整、测试数据的采集和处理、测试报告的生成以及测试数据的管理等任务[1],实现对被测系统性能全面、高效、精确的综合测试。测试系统的结构方案如图3所示。

图3 系统结构框图

取力发电系统电气性能检测采用智能系统自动地对被测系统的各项性能参数进行测试,系统主要由负载、信号采集电路和工控机3部分组成。工控机首先根据被测系统的具体情况,自动控制PLC完成感性、阻性负载的调节分配[2],测试过程中的负载调整也由计算机控制自动完成。工控机通过USB接口控制多路数据采集器完成对测试数据的采集,并利用计算机内部的数据处理程序、数据管理程序对测试数据进行分析处理和管理,利用数据输出程序显示测试结果、生成测试报告。

2.1 阻性负载控制

由于被测取力发电系统的型号、输出电压、频率及功率不同,因此测试系统提供的配套负载就必须能够自动可调,系统测试设定的功率范围由陆军常规武器系统的电力需求和测试系统硬件共同决定。负载分为阻性和感性两部分,对于功率因数为1的取力发电系统而言,测试时只需加纯阻性负载,负载的组合由PLC来控制。

2.2 感性负载控制

对于大部分取力发电系统来说,功率因数不为1,这样测试时就需阻性和感性负载配合,为此需先调整感性负载。待测系统给可调电抗器通电,用变送器提取其中的无功电流大小,转换成电压信号后传给采集模块,然后传输给计算机。计算机根据预存的值域对传递的信号进行判断,判断的结果回馈给PLC,PLC根据计算机的指令来接通控制可调电抗器上的电机旋转的接触器,从而控制感性负载的大小,然后配合阻性负载的调整,就完成了整个测试系统的自动化加载。

2.3 采集部分设计

上位机与采集器之间的通信方式采用USB接口,这样可以保证采集的速度和精度。系统中还根据应用场合的不同采用了大量高精度的传感器,保证了被测信号的真实可靠。测试系统中采用的采集器分辨率为16位,电压互感器的精度为0.05%,从硬件上保证了测试系统的精度,同时在算法上直接利用被测交流电量的数学定义来计算测试结果。通过对原始采集数据的处理可以高精度地测量电压电流的有效值、峰值、信号频率、功率及功率因数等参数,还可以通过DFT进行谐波分析。

3 系统软件设计

3.1 测试流程

计算机是整个系统的核心,主要功能是根据测试取力发电系统的电压、功率以及功率因数等情况,控制继电器板完成感性、阻性负载的加载和调节。计算机功能还包括对采集信号的采集控制、采集数据的分析处理和数据结果输出,这些功能均由计算机内部基于 LabWindows/CVI的软件程序完成[1,3-5],系统软件流程如图4所示。

图4 软件流程图

系统完成测试信息注册和测试台位开关连接后,控制硬件部分实现组合负载分配,测试人员根据测试需要选择自动或手动测试,在测试过程中的负载调整也由软件程序控制完成。系统采集的数据经数据处理程序处理后,由人机交互界面完成参数、波形显示和测试报告生成、打印工作。系统程序还具有数据存储及查询功能,可以实现测试参数、波形和测试报告的查询功能。

系统的软件设计是建立在软件开发平台LabWindows/CVI的软件开发系统之上基于C语言的交互式软件开发系统,具体结构如图5所示。利用它的集成化开发环境、交互式编程方法、函数面板和丰富的库函数大大地增强了C语言的功能,既简化了编程步骤,又保证了程序运行效率。系统的软件主要由负载分配模块、数据采集模块、数据处理模块、数据管理模块和数据输出模块5个部分组成。

图5 系统软件结构框图

3.1.1 负载分配模块

负载分配模块对PLC控制通过RS-232接口实现[6],其主要功能是控制PLC、中间继电器和交流接触器完成组合负载的分配及测试过程中的负载调整。负载分配主要分为两部分:(1)阻性负载的分配与调整;(2)感性负载的分配与调整。

3.1.2 数据采集模块

数据采集模块主要完成测试取力发电系统电压、电流信号的采集和存储任务,每次数据采集可分为初始化、参数设置、数据采集、数据存储和释放缓存等5个步骤,每个完整测试过程包括稳态数据采集和瞬态数据采集。数据采集器每个通道提供1M深度的数据缓存空间,每次数据采集完成后,程序将数据存储至计算机硬盘,同时释放采集器缓存,为下一次采集数据作好准备。同时程序具有中止采集程序,采集过程中可以随时中止数据采集。

3.1.3 数据处理模块

数据处理程序是整个测试系统的核心,取力发电系统电气参量的测量和电气性能参数的计算均由数据处理程序完成。电气性能参数包括稳态性能参数和瞬态性能参数两部分,数据处理方法除谐波参量和时间参量不同以外,其他参量稳态和瞬态性能参数算法基本相同。有效的电压、电流采样数据经零点计算子函数标出被测信号过零点,相隔两个零点即为一个信号周期,由此进行信号的有效值、频率和谐波计算,得到信号有效值、频率及谐波等基本参量后,即可依据国军标中相关参数定义计算出系统电气性能参数。

3.1.4 数据管理模块

数据管理包括两个方面的内容:(1)对测试人员、测试时间等测试信息的管理;(2)对包括波形数据和性能参数在内的测试数据的管理。两种数据在计算机中的存储方式不同,前者以数据库形式存储,后者以二进制形式存储,两者又存在一一对应的关系,每次测试的测试信息只和唯一的一组测试数据相对应,反之亦然。

对于包括波形数据在内的测试数据的管理,LabWindows/CVI支持ASCII码文本和二进制两种存储格式。由于每次的测试数据量较大,为便于数据存储与查询,程序采用有固定命名规则的二进制格式存储测试数据,其命名规则为“测试序号-负载状态-采集器通道号”,测试序号与测试信息中查询序号相对应,每个采集器通道的采集信号也是固定的,因此很容易实现测试数据的查询。

3.1.5 数据输出模块

数据输出程序功能包括取力发电系统性能参数的显示,有效值曲线、频率曲线、峰值包络线、波形曲线的显示,以及测试报告的生成打印等。利用LabWindows/CVI支持的表格控件(Table控件)和曲线图控件(Graph控件)及其相应的控件函数,可以方便地实现各种数值参数和曲线的显示输出。

数据输出程序利用Table控件显示测试取力发电系统的电气性能参数。程序使用到的主要Table控件函数包括设置控件单元格属性函数SetTableCellAttribute和设置单元格数值函数SetTableCellVal。

数据输出程序使用Graph控件显示有限值、频率、波形等曲线数据时,系统要求程序具有X(Y)轴方向放大(缩小)、曲线局部放大、鼠标取值以及滚动查看曲线等功能。

3.2 多线程技术应用

按照测试要求,每种负载状态下稳态测试都要采集60 s数据,在这段时间内可能会出现需要中断采集的情况(如负载或被测系统出现意外状况)。如果采用一般的单线程程序,要等到采集完成后程序才能响应测试界面中断操作。因此,数据采集程序采用双线程设计,主线程响应测试界面操作,次线程执行数据采集任务,两个线程同时运行,可以按要求随时中断采集程序。

LabWindows/CVI提供了两种在LabWindows/CVI主次线程中运行代码的高级机制,分别是线程池(thread pools)和异步定时器(asynchronous timers),线程池适用于需要不连续地执行多次或在循环中执行的任务,而异步定时器适用于在固定时间间隔内执行的任务,数据采集程序模块使用线程池程序设计。

想要在线程池创建的次线程中运行代码,可以调用使用函数库(Utility Library)中的CmtSchedule ThreadPoolFunction函数,把想要在次线程中执行的函数名传递给它,线程池调度这个函数在它的其中一个线程池中运行。数据采集完毕时,切换线程,主线程开始获取读指针(CmtGetReadPtr)读取数据,读完TSQ之后,释放线程安全队列读指针,如此循环。当主程序运行结束时,释放线程资源。当采集过程中需要立即停止加载时,程序能够立即响应命令。

4 测试结果

实际测试以某型6kW取力发电系统为测试对象进行测试。将信息填入对应表格中,点击提交注册信息按钮,信息存入后台数据库中,供查询和打印时用。然后根据测试功率及功率因数大小配置负载,反馈正确信息后开始测试,测试分为自动测试、手动测试,每项中又分稳态测试和瞬态测试两类,可根据测试需求全部进行或单独进行。图6为某型6kW取力发电系统进行瞬态加载测试时的波形数据(放大后),由此可以分析计算出国军标中需要的各项指标。

图6 曲线显示界面

5 结束语

该文采用空间矢量脉宽调制技术(SVPWM)实现对调速电机的控制,较好地模拟了汽车发动机在驻车、行车中对取力发电机的驱动。将LabWindows/CVI中的多线程技术应用到取力发电系统的检测当中,可以实时地处理采集的数据,提高了系统的反应速度和效率。采用了高精度的传感器和变送器以及高速率的采集系统,保证了传输信号的实时和小失真,大大节省了检测时间和经费,并且提高了检测的可靠性。同时利用PLC控制负载的组合状态,为实现取力发电系统的检测提供了精度高、自动化程度高、运行稳定的测试平台。

[1] 宋宇峰.LabWindows/CVI逐步深入与开发实例[M].北京:机械工业出版社,2003.

[2]尹志勇,赵锦成.基于PLC控制的移动电站性能评估实验室建设[J].移动电源与车辆,2007(3):30-32.

[3] 刘君华,白鹏.基于LabWindows/CVI的虚拟仪器设计[M].北京:电子工业出版社,2002.

[4] 毛海涛,文会飞,申忠如.基于LabWindows/CVI的电能质量分析仪的设计与实现[J].电测与仪表,2003,40(10):29-31.

[5] 燕新九,王开福.基于LabWindows/CVI的电阻应变测量系统的设计[J].西华大学学报:自然科学版,2009,28(6):14-16.

[6] 闫英敏,赵锦成,栗彦辉.军用电源电气性能测试用网络负载的设计[J].移动电源与车辆,2003,6(4):1-4.

猜你喜欢
测试数据控件线程
基于C#线程实验探究
基于.net的用户定义验证控件的应用分析
基于国产化环境的线程池模型研究与实现
线程池调度对服务器性能影响的研究*
测试数据管理系统设计与实现
关于.net控件数组的探讨
基于自适应粒子群优化算法的测试数据扩增方法
空间co-location挖掘模式在学生体能测试数据中的应用
影响《标准》测试数据真实性的因素及破解策略
基于嵌入式MINIGUI控件子类化技术的深入研究与应用