适合于电机试验领域的虚拟仪器开发平台的采集处理系统设计

适合于电机试验领域的虚拟仪器开发平台的采集处理系统设计,第1张

前言

虚拟仪器是全新概念的最新一代测量仪器,它将传统仪器由硬件电路实现的数据分析与显示功能改由功能强大的计算机及其显示器来执行,它是按照测量原理采用适当的信号分析技术和处理技术编制某种测量功能的软件就构成了该种功能的测试仪器。因此,如果我们在电机型式试验中引入虚拟仪器,利用计算机强大的处理功能,开发出完全替代真实测量工具的虚拟仪器对试验进行自动采集并实现试验的自动处理和生成报告。可以看出,虚拟仪器这一全新测量仪器在传统的电机试验应用上将带来重大影响。

虚拟仪器VI及其编程语言LabWindows/CVI

虚拟仪器(Virtual Instrument,简称VI)是现代计算机技术和仪器技术深层次的结合。随着计算机技术和仪器技术的发展,由硬件电路实现的信号处理功能正逐步由软件替代。虚拟仪器是以软件为核心,由计算机及必要的硬件组建起来的测试系统或仪器系统,在计算机上对虚拟仪器面板的 *** 作与现实中的仪器面板 *** 作一样。在虚拟仪器中,用户可以自己设计或定义新的理论和新的算法来适应不同的测量需求,仪器的功能更加灵活、强大,所以有“软件就是仪器”的说法。因此,虚拟仪器是计算机硬件资源、仪器与测控系统硬件资源和虚拟仪器软件资源的有效结合。

虚拟仪器的硬件包括计算机和I/O接口设备。计算机可以是一台PC机或者工作站,它是硬件平台的核心。I/O接口设备主要完成被测输入信号的采集、放大、模/数转换。按照总线的不同可以分为PC总线的DAQ(数据采集卡/板) 、GPIB总线仪器和VXI总线仪器等等。

虚拟仪器的编程语言有多种。LabWindows/CVI是其中最优秀的语言之一,它是美国NI(NaTIonal Instruments)公司开发的32位面向计算机测控领域的软件开发平台。它以ANSI为核心,将功能强大的、使用灵活的C语言平台与数据采集、分析和表达等测控专业工具有机结合,它支持事件驱动与回调函数编程技术,它的集成化开发平台、交互式编程方法、丰富的功能面板和库函数大大增强了C语言的功能,为熟悉C的开发人员开发检测、数据采集、过程监控等系统提供了一个理想的软件开发环境。

可以看出,虚拟仪器这一适合测控领域的开发平台完全适合于电机试验领域。引入虚拟仪器将改善电机试验测量的适时性要求,提高仪器仪表的精度并可以自己开发特殊要求的仪器,利用计算机的处理功能可以实现试验后数据的自动处理和报表,当然也可以实现试验数据的数据库管理。

虚拟仪器的异步机空载试验采集处理系统

虚拟仪器的电机试验应用程序结构

以LabWindows/CVI开发平台设计的基于PC-DAQ的虚拟仪器测试系统为例,其在电机试验领域应用的系统结果如图所示:

适合于电机试验领域的虚拟仪器开发平台的采集处理系统设计,适合于电机试验领域的虚拟仪器开发平台的采集处理系统设计,第2张

传感器接受被测信号转换为电量信号,送入信号处理电路进行整形、转换和滤波处理,变成标准信号,数据采集卡采集信号处理电路的电压信号,转换为计算机能处理的数字信号,经过设备驱动程序数字信号送入计算机在LabWindows/CVI平台下调用信号处理函数,编写程序和设计虚拟仪器面板,形成不同针对试验的测量处理系统。

异步机空载采集处理系统

异步电机空载试验计算机处理的数学模型

异步电机的空载试验是在被试电机空载运行时测量三相电压、三相电流、功率,作出电压-电流、电压平方-空载损耗、电压-功率的关系曲线, 在电压-电流曲线上我们查出额定电压的空载电流值,在电压-功率的曲线上我们查出额定电压的空载损耗值,结合电压平方-空载损耗曲线分离出铁耗和风摩耗值。

因此,曲线拟合的表达式是决定我们处理空载损耗的关键。参考电机学相关书籍和实际经验,我们知道电压-电流、电压平方-空载损耗是呈直线-三次趋向关系,而电压-功率是高阶曲线函数关系。很显然,我们只需要拟合出n个试验数据点的这三条曲线的准确表达式来,上述问题就迎刃而解。对于电压-功率的高阶曲线函数关系,LabWindows/CVI函数库提供了n个数据点的高阶曲线拟合函数PolyFit,只需要确定或选择阶数并代入有关数据即可。因此,我们需要解决的是直线-三次拟合曲线表达式的求取。

设分段函数

适合于电机试验领域的虚拟仪器开发平台的采集处理系统设计,第3张

曲线的连接点在x=x0处。 显然,上述曲线应满足以下条件: (1)x=x0在处,俩式表达式值相等,有 (2) 在x=x0处,俩式斜率相等,有适合于电机试验领域的虚拟仪器开发平台的采集处理系统设计,第4张(3) 曲线要光滑,则斜率的变化率相等,即二阶倒数值相等,有适合于电机试验领域的虚拟仪器开发平台的采集处理系统设计,第5张根据上述关系,我们可以消去a0,a1和b2,得出函数与b0,b1,b3的关系表达式。 并代入拟合曲线方程:适合于电机试验领域的虚拟仪器开发平台的采集处理系统设计,第6张

适合于电机试验领域的虚拟仪器开发平台的采集处理系统设计,第7张

令每一观测值对拟合曲线的偏差为Vi则有适合于电机试验领域的虚拟仪器开发平台的采集处理系统设计,第8张

适合于电机试验领域的虚拟仪器开发平台的采集处理系统设计,第9张

我们假设共有个观测数组,(Xi,Yi),i=1-n,其中在Xi《=Xo时有n1个观测值,在适合于电机试验领域的虚拟仪器开发平台的采集处理系统设计,第10张时有n2个观测值,则n1+n2=n; 则偏差平方和为:

适合于电机试验领域的虚拟仪器开发平台的采集处理系统设计,第11张

要使Q最小,则适合于电机试验领域的虚拟仪器开发平台的采集处理系统设计,第12张则可求出b0,b1,b3,有:其中,a11=n,适合于电机试验领域的虚拟仪器开发平台的采集处理系统设计,第13张

适合于电机试验领域的虚拟仪器开发平台的采集处理系统设计,第14张

适合于电机试验领域的虚拟仪器开发平台的采集处理系统设计,第15张

适合于电机试验领域的虚拟仪器开发平台的采集处理系统设计,第16张

适合于电机试验领域的虚拟仪器开发平台的采集处理系统设计,第17张

适合于电机试验领域的虚拟仪器开发平台的采集处理系统设计,第18张适合于电机试验领域的虚拟仪器开发平台的采集处理系统设计,第19张

适合于电机试验领域的虚拟仪器开发平台的采集处理系统设计,第20张

对于X0,可以选择X0为区间Xi的最小值,求取直线-三次曲线,求得偏差平方和Q值,再以步长X0=X0+ih变化计算不同连接点的Q值,取Q值最小的X0即可。 对于空载试验电压平方-空载损耗的直线-三次曲线来说,显然a0的值就是风摩耗。

实际上,由于电机磁路可能饱和的关系,直线-三次拟和有可能不能更为客观真实的反映上述两条曲线的关系时,我们也提供高阶拟和函数PolyFit来替代。

异步机空载试验的虚拟仪器系统

本系统的软件是在LabWindows/CVI开发平台下实现。

数据采集是采用DAQ数据采集卡,采集通道通过daq::s!(i:j)格式确定,下面的程序为采集程序的部分:

char DaqStr34A[20] = “daq::1!(0:5)”;

char DaqStr34B[20] = “daq::1!(6:11)”;

SetCtrlAttribute (hMainPanel, PANEL_ReadData, ATTR_DIMMED, 1);

strcpy(channelStringA, DaqStr34A); //设置采样通道

strcpy(channelStringB, DaqStr34B);

GetCtrlVal (hMainPanel, PANEL_numCyc, &numCyc);

numChannels=6; numScans=64;

rate=50*numScans;

DataCount= numScans * numCyc;

iTestedWaveform = (double *) malloc (DataCount * numChannels * sizeof (double));

iLoadWaveform = (double *) malloc (DataCount * numChannels * sizeof (double));

err = nidaqAIScanOp (channelStringA, numScans * numCyc, rate, upper,

lower, kNidaqGroupByChannel, & actualRate, iTestedWaveform);

err=nidaqAIScanOp (channelStringB, numScans * numCyc, rate, upper, lower,

kNidaqGroupByChannel, & actualRate, iLoadWaveform);

适合于电机试验领域的虚拟仪器开发平台的采集处理系统设计,第21张

采集的每一点的电压电流每相值用Labwindows/CVI库自带的RMS函数进行有效值计算,再通过Mean函数计算出平均值,求取每一相的功率值。从上述仪表中可以将试验采集的数据记录保存。

Kp = 0;

for (index = 0; index 《 numChannels*numCyc; index++){

Copy1D (&iTestedWaveform[Kp*numScans], numScans, Upek[index]);

RMS ( Upek[index], numScans, & Up[index] ); //有效值计算

++Kp; //Upek:试验原始数据(行:numchannels*numcyc,列:numScans)

} //Up:numChannels*numCyc个数据,对应于原始数据的RMS

MyVal = numCyc;

Kp = 0;

for (index = 0; index 《 numChannels; index++){

Mean (&Up[Kp*numCyc], numCyc, & aUIrms[index]);

//aUIrms[0]-[5]:各Channel中各Cycle的RMS值的平均值

aUIrms[index] = aUIrms[index]*PTCT[index]; //乘以预设比例

SetCtrlVal (hTestedMotor, METERPANEL_NumU1 + index, aUIrms[index]/mtDisplay[0][index].iRat);

++Kp;} //六个电压电流值设定

}

Mean (&aUIrms[0], 3, & Uav); //电压平均值

Mean (&aUIrms[3], 3, & Iav); //电流平均值

SetCtrlVal ( hTestedMotor, METERPANEL_VOLTAGEMETER, Uav );

SetCtrlVal ( hTestedMotor, METERPANEL_CurrentMeter, Iav );

MyVal = numScans;

for (kk = 0; kk 《 3*numCyc; kk++) //功率计算

DotProduct (Upek[kk], Upek[kk+3*numCyc], numScans, &PP[kk]);

Kp = 0;

for (index = 0; index 《 numChannels/2; index++){

Mean (& PP[Kp*numCyc], numCyc, &aUIrms[6+index]);

//aUIrms[6]-[9]:三个周期功率平均

aUIrms[6+index] = PTCT[index]*PTCT[index+3]*aUIrms[6+index]/MyVal; //各点功率

SetCtrlVal (hTestedMotor,METERPANEL_NumP1+index, aUIrms[6+index]);

++Kp;

}

通过编写处理函数就可以实现对于试验数据的自动处理。根据空载试验处理的数学模型,我们编写直线-三次拟合函数

void linefit13(int datanum, double x[], double y[], double *p, double eps)

适合于电机试验领域的虚拟仪器开发平台的采集处理系统设计,第22张

对试验数据进行曲线拟合,计算出给最后结果数据。曲线的绘制我们用库函数PlotXY输出显示在控件Graph中。如图,最后的结果数据同手工计算的结果数据定子电流103.2A,空载损耗93.424kW,铁耗37.682kW,风摩耗48.165kW相比还是比较精确的。

结束语

可以看出,将虚拟仪器引入电机的型式试验将给试验带来重要影响。利用传感器测量克服了传统测量方法的不便,减小了传统测量仪器的精度对于试验的影响,试验的自动采集使得试验采集的数据更具实时性,试验的自动处理也减小了人的劳动量、提高了效率和准确性,我们还可以利用计算机进行报表的自动生成和试验数据的数据库管理。虚拟仪器大大提高了电机型式试验的自动化过程。

责任编辑:gt

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2534165.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-05
下一篇 2022-08-05

发表评论

登录后才能评论

评论列表(0条)

保存