电力谐波治理装置数据采集处理系统设计
检测原理图
3.5 iplot控件的应用
iplot控件是非常优秀的控件,能够直观实时显示工业现场中的模拟信号。它功能强大,即使在划分数据时也可以缩放,滚动。x轴,y轴和频道数均无限制。对于不同通道信号采用颜色区分,并用文字标注,方便观察比较分析。能以.bmp,.emf,.jpg各种图形格式保存信号曲线,也可以打印输出。现以其中一路通道信号的显示加以说明。
var
currcount:integer;
retcount:integer;
i:integer;
begin
//设置iocomp中iplt控件的参数
iplot.channel[0].titletext:= `u相电压信号`; //设置通道标题文字
iplt1.xaxis[0].min:=0; //设置u相电压信号x轴的起始坐标值
iplt1.xaxis[0].SPAN:=2560; //设置x轴的坐标域
iplt1.yaxis[0].min:=-5000; //y轴表示u相电压信号的幅值
iplt1.yaxis[0].SPAN:=10000;
i:=zt8360a_getlasterr();
if i>0 then
showmessage(`错误号为:`+inttostr(i));
currcount := zt8360a_getsfifodatacount(m_cardno);
//得到驱动缓冲区(sfifo)中当前有效数据的个数
if currcount > 0 then
begin
retcount := zt8360a_aisfifo(m_cardno, data, 8192);
//定时启动ad或外触发启动ad时,从驱动缓冲区中读8192个数到缓冲区
for i:=0 to retcount do
begin
iplt1.channel[0].addxy(x,data^[i]); //图形显示
x:=x+1;
end;
end;
end;
3.6 线程的应用和防止数据覆盖
windows提供的多媒体定时器,它的最小时间精度只能达到1ms。不能满足实时数据采集的要求。在本项目中,采集的电压信号频率为50hz,每个周期为0.02秒。根据项目要求,每个周期需采样256个点,即每0.02/256=0.000078125秒读一次。因此需要使用线程。另外,pci8360a的单通道采样频率最高可达500khz,即每1/500000=0.000002秒采样一次。因此,可能出现数据覆盖,即还没有处理的数据被新读入的数据覆盖。为防止这种情况发生,需要创建缓存区。
4 结束语
在该项目的上位机软件开发过程中,数据采集是其它工作的前提。在数据采集中掌握pci8360a数据采集卡的的使用是非常重要的,它有效的利用了工机控机高速处理能力。在使用过程中要注意:未接信号的通道一定要接模拟地;为防止引入现场干扰,不应该使信号引脚悬空,可以将不使用的信号引脚与模拟地短路;各选择跳线均选出厂设置。iocomp图形控件的使用使得实验的上位机界面更加美观。iplot控件显示各路信号波形。ispectrumdisplay,ipiechart控件用于显示各次谐波含有率,iangularloggauge控件用于显示基波功率。为提高读数据的速率,使用了线程。动态链接库和防覆盖技术的应用,使得系统更为可靠。多种采集方式同时应用,便于比较多种方法各自的优缺点。
处理 理系 设计 数据采集 装置 谐波 治理 电力 相关文章:
- 入门指导:步进电机正反转处理方案 (12-09)
- 解密ARM A17处理器(12-09)
- MATLAB GUI的数字信号处理仿真平台的设计(12-09)
- 使用低成本FPGA巧妙地扩展微处理器的连接(12-08)
- 基于图像处理技术的智能照明控制研究(12-08)
- 基于开源微处理器OR1200的嵌入式SoC设计(12-08)