郁闷!打了这么多字提交时告诉我身份验证错误。没有保存啊!又要重打一边......
遇到的主要问题有:
1.还是示波器抓屏的问题。跟http://forums.ni.com/ni/board/message?board.id=2170&message.id=17257&query.id=360095#M17257的问题差不多。我是用网线连接的,抓屏的程序如附件所示。返回的图片分辨率(1024*768)和大小(76.8KB)都正常,可是用windows自带的图片查看器打开时说绘图失败,其它的软件打开什么都看不到。后来试了用USB线连接,返回的图片就更奇怪了,只有示波器屏幕的最下面能显示日期的一窄行(见附件)。本来想用GPIB连接再试一下的,好不容易找到了GPIB转usb的线,可是发现DPO4034竟然不能直接连接。汗!只能作罢。不知道谁解决了这个问题,最好能通过网线抓屏。
2.示波器波形数据的传输问题。程序框图见附件。我的目的是通过示波器测量有一定重复频率(最大100Hz)的脉冲序列(持续时间几秒钟左右),脉宽很短(200us左右),并将波形传输的PC上。问题是现在程序一运行,示波器就在触发?和预触发这两个状态之间相互变化,变化到预触发一次存一次波形。到真正有待测量信号输入时,示波器显示已被触发,并继续以同样的速度存波形,测量信号结束后示波器依然不断地存最后一个波形(示波器采用正常触发状态),直到手动结束为止。这样,在所存储的一系列波形文件中,前面和后面各有一部分波形是无效的,请问怎么样才能让PC只存储真正的有效波形?
还有就是存储速度的问题。可能是示波器本身的问题吧。在10k采样率时,单通道重复频率大于2Hz以后就不能将所有的波形都存下来了。我做了一个实验。10k采样率的条件下,测量3s的脉冲序列。单通道时存储两脉冲的时间间隔是0.4-0.6s,测两个通道时,存两个脉冲要0.8-0.9s,三通道需要1.1-1.3s,四通道都存则要1.5-1.6s。也就是说,我在10k采样率的条件下用四个通道存储持续时间为3s的脉冲序列,最多只能存3个波形数据。当重复频率为100Hz,3s就是300个脉冲,才只能存储其中的三个,这也太少了点吧。不知道有没有其他的办法能提高存储的速度。
3.示波器的通道选择。在所编的程序中,是通过布尔元件来对各个通道的开关进行控制的,但是如果关了某个通道运行时就会出现错误,说该通道的数据不存在,是由于波形显示的输入控件是1维的字符串数组,布尔开关只是控制示波器,但是前面板显示输出并没有跟着改变,只能手动通过改变创建数组的大小和连线来解决,相当麻烦。还有就是直接在前面板手动改变(见附件前面板图),但是仍有问题,例如要关闭通道1时,其它3个通道就会依次向上,波形显示的颜色就变了。不知道还有没有更好的方法,能像示波器上那样想看那个通道把它选出来就行了。
附:我也用过NI和TEK的一些示波器的相关软件。抓屏采用OpenChoice Desktop就很方便,不知道它是怎么做的。但是手动的,重复频率估计也高不了。抓图用浏览器连接另存图片也可以。用NI LabVIEW SignalExpress Tektronix Edition控制示波器和存储数据很强大,可是用它控制以后,示波器面板的按钮就不能控制了。另外我想将四台示波器的控制和图像能做在一个面板中,所以还是自己编一个的好。
请遇到相关问题的同志们多多发表意见啊,谢谢!
我刚帮别人写了个TEK DPO示波器的应用程序,抓信号的.
简单的思路是将示波器设置为单次触发,设置好触发条件,软件检测示波器的触发状态,如触发则记录如Vpp,波形等,再次设置示波器为单次触发等待.
网上的驱动很多都需要修改,不一定好用.
这个时间间隔是指电脑检测示波器触发状态的时间间隔,原则上不需要太快,因为示波器一旦被触发,处于停止状态,这时可以记录测量值,存储波形数组
软件就是用一个while loop检测示波器触发状态.
QQ:252528279