在Matlab交互窗口输入命令“mbuild-setup”安装C编译器。如果已经安装了VC6.0,Matlab会自动查找到此编译器,按照提示选择VC6.0编译器。
接着输入“mcc-mf:\matlab\FFT.m-df:\matlab”,Matlab将利用C编译器编译FFT.m文件,并将编译结果输出到"f:\matlab"目录。编译完成后当前工作目录下有几个新的文件诞生,其中应该有一个名为FFT.exe的文件。这个文件可以直接运行或被C语言程序调用执行。
电力信号测量与分析
利用VC6.0和C语言,调用VISA驱动接口函数完成对DM3068的设置和数据采集。具体的接口函数及用法请参考随visa430安装的《NI-VISAHELP》文档。数据采集与处理流程参见图2处理流程图。
图2数据采集与处理流程
进行数据集前,在DM3068UTIlity按键的命令集菜单下,设置选择Agilent兼容命令集,然后使用如下SCPI命令序列,通过USB口发送到DM3068即可完成设置:
CONF:VOLT:DC1000,0.006
VOLT:DC:ZERO:AUTOOFF
TRIG:SOURIMM
TRIG:DELAY0
TRIG:COUN1
SAMP:COUN5000
设置完成后,使用下面一条即可命令启动测量,并获取测量结果。
READ?
接收到的测量结果是以文本方式返回,各个测量结果以逗号分隔,只需要将测量结果直接以字符方式输出到data.txt文件中,以准备被Matlab生成的FFT.exe程序调用。在C程序中使用“system("F:\\matlab\\FFT.exe");”语句,即可直接运行之前生成的FFT.exe程序,对data.txt保存的数据进行处理,并绘制频谱分析图。
结论
如图3所示软件运行界面,如图4所示的分析结果,利用上述方法,对某市电网络进行分析得到的频谱曲线,从中可以看出主要功率集中在50Hz分量上,电力网络状况良好。
图3软件运行界面
图4对某市电采集分析结果
利用RIGOLDM3068的DCV挡的1000V量程和10kSa/s采样速度对市电信号采集分析,按照采样定律,可以有效分析出5kHz以下的信号状况,足以满足普通电力的监测应用。
利用C语言灵活性和Matlab强大计算能力,再结合VISA驱动和DM3068的高速、高精度测量能力以及灵活的通信接口,可以很方便地对电力网络进行实时分析,并实时绘制分析结果,以监测电力网络的状况。整个系统简单灵活,具有很大的实用价值。