IO采集的问题请教一下各位
小弟用IO采集开关信号,采进来的为10进制数,其转换为2进制数后,每一位的0、1即代表对应通道的高低,如采进7,即意味着当前2、1、0通道对应1、1、1,都为高。现在我想将某一个通道的信号在LabVIEW中以波形的形式显示,由于每一个通道采进的是一个标量,只能用Chart观察,但Chart在显示时它的时间轴的数值是不断增加的,和实际的示波器有很大的差别,我想像实际示波器那样可以调节扫描的周期(即将波形展开和压缩,且能较方便的读出开关信号的周期)不知道能不能实现?
其实就是一个仿真示波器的设计问题,关键是输入信号是标量而不是数组或者波形数据
谢谢各位解答我的疑问! <P>可以用Digital Waveform Graph,具体程序是这样子做的:</P>
<P>你的数据进来-->Number To Boolean Array-->Build Array-->boolean array to digital.vi-->Digital Waveform Graph</P>
<P>这样就可以了!</P>
还有问题
按版主的意思做了,还有几个问题:(1)Graph的横坐标是实际的时间吗,比如图上的100m即是100ms?因为我需要用它来读采集波形的周期,这很重要。
(2)现在我只能采进来某一段时间内的一个值,扫描时间的长度是由boolean array to digital.vi的参数决定的,但不管扫描时间多大,一个周期内都只能采集一个IO的状态,即波形不是高就是低,而出不了高低间隔的波形,
我想这应该是build array 这部分造成的,不知道该怎么改?即我想采进来N个数以后在Graph上显示波形?
麻烦帮我看看阿!
<img src="attachments/dvbbs/2006-5/200652910184089222.jpg" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt=\'Click here to open new window\nCTRL+Mouse wheel to zoom in/out\';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor=\'hand\'; this.alt=\'Click here to open new window\nCTRL+Mouse wheel to zoom in/out\';}" onclick="if(!this.resized) {return true;} else {window.open(\'attachments/dvbbs/2006-5/200652910184089222.jpg\');}" onmousewheel="return imgzoom(this);" alt="" /> 估计你用的是E系列的卡吧??NI对E系列的卡的IO有另一个专门的VI,应该在LV的安装目录里可以找到,或者去NI的网站可以找到
页:
[1]