完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在那里,我使用SCPI命令连接MSO9254和matlab 2010b,并且我读取了OSC配置参数的estrange值。
我接收DataRaw是正确的,但是在读取时:+ preambleBlock = query(visaObj,':WAVEFORM:PREAMBLE?'); +我为time / div,Volt / div,OrigenX,我看到奇怪的值......我在我的* OSC Volt上看到 / div = 50.0 mV *和* matlab 0.053957427200000 Volt / div *另外* OSC Time / div = 10ns * in * matlab = 1.001000000000000e-08 *可能是实际值是matlab读取的值,而且 在范围内显示的是近似值? 如果这是正确的,那么在我可以看到实际值的范围内是否有一些? 我正在研究高能物理,因此3mV / div误差很重要。 谢谢,吉列尔莫 以上来自于谷歌翻译 以下为原文 HI there, I'm interfacing a MSO9254 with matlab 2010b using SCPI commands and I read estrange values for OSC configuration parametres. I receive DataRaw correct but when reading: +preambleBlock = query(visaObj,':WAVEFORM:PREAMBLE?');+ I gate strange values for Time/div, Volt/div, OrigenX,... I see on my *OSC Volt/div = 50.0 mV* and in *matlab 0.053957427200000 Volt/div* Also *OSC Time/div = 10ns* and in *matlab = 1.001000000000000e-08* It could be that the real values are the ones read by matlab, and the ones shown at the scope are approximations? If thats correct, is there some where on the scope where I could see real values? I'm working on High energy Physics so 3mV/div error is important. Thanks, Guillermo |
|
相关推荐
4个回答
|
|
嗨再次,我有更新Windows和安捷伦软件到最新版本:4.10.0010。
并且仍然有同样的问题。 我认为YIncrement与信号有关,而与可见窗口无关。 另一个问题,我如何阅读当前的平均值? 我正在做65000个平均值,所以我需要一些方法来读出平均值的状态,暂停matlab程序直到平均完成,我已经尝试了程序员指南unsuccesfull的一些查询,我只能读取 我写的AVG一样。 + fprintf(visaObj,':ACQUIRE:AVERAGE:COUNT 65000'); +再次感谢,Guillermo 以上来自于谷歌翻译 以下为原文 Hi again, I have update windows and agilent software to the last version: 4.10.0010. And still have the same problem. I thing the YIncrement is relevant to the signal and no to the visible window. Another question, how can I read the current Average? I'm doing 65000 averages, so I need some way to read out the status of the averaging for pause the matlab program until average is complete, I've tried some querys of the programmer guide unsuccesfull, I'm only able to read the same AVG I write. +fprintf(visaObj,':ACQUIRE:AVERAGE:COUNT 65000');+ Thanks again, Guillermo |
|
|
|
ajcfmxd 发表于 2019-4-11 15:03 YIncrement与A / D步骤有关。 我有计算将其转换为原始代码中的Volts / Div。 使用WORD:maxVal = 2 ^ 16; ScopeData.VoltsPerDiv =(maxVal * ScopeData.YIncrement / 8); XIncrement的工作方式大致相同:ScopeData.SecPerDiv = ScopeData.Points * ScopeData.XIncrement / 10; 要获取“平均”信息,您需要查看:DIGitize命令,以及手册中的“获取同步”。 :DIGitize是一个宏,将停止您的程序,直到当前采集完成。 如果打开平均值,则等待直到捕获并平均全部采集数。 您可能希望使用轮询,因为这允许超时,因此您的rprogram将不会永远挂起,因为信号存在问题。 人 以上来自于谷歌翻译 以下为原文 YIncrement is related to the A/D steps. I had the calculation to turn that into Volts/Div in my original code. Using WORD: maxVal = 2^16; ScopeData.VoltsPerDiv = (maxVal * ScopeData.YIncrement / 8); XIncrement works much the same way: ScopeData.SecPerDiv = ScopeData.Points * ScopeData.XIncrement/10; For getting the "average" information, you need to look at the :DIGitize command, and at "acquisition Synchronization" in the manual. :DIGitize is a macro, and will stop your program until the current acquisition is complete. If averaging is turned on, then it waits until the full number of acquisitions has been captured and averaged. You might want to use Polling instead, since that allows a timeout, so you rprogram won't hang forever is there's a problem with the signal. Al |
|
|
|
nvywyerwer 发表于 2019-4-11 15:08 嗨algoss,我回来了,我一直忙于其他的事情。 回到最后一篇文章,除了-410查询中断警告/错误之外,我已经解决了所有问题。 首先,是什么让OSC产生这个错误(-410)? 为什么总是在fprintf之后(visaObj,':WAV:DATA?'); ? 谢谢,吉列尔莫 以上来自于谷歌翻译 以下为原文 Hi algoss, I'm back, I've been busy with other stuff. Back to the last post, I've solved everything except the -410 query interrupted warning/error. first of all, what makes the OSC generate this error(-410)? why is allways just after a fprintf(visaObj,':WAV:DATA?'); ? Thanks, Guillermo |
|
|
|
ajcfmxd 发表于 2019-4-11 15:24 我已经看到了一些我编写过的代码。 基本上它意味着您在从上一个查询中清除缓冲区之前发出了新查询。 例如,如果您要求5个字节的数据并且只提供4个缓冲区,那么请求更多数据,您将看到该错误。 有些命令导致范围发送一个额外的字符,基本上是“数据结束”,如果你不考虑,你会看到一个错误。 也就是说,我有一些代码总是会产生错误,但它可以完美地运行,所以我只是忽略它。 免责声明:为了获得更可靠的响应,您应该考虑致电当地的安捷伦技术呼叫中心。 安捷伦论坛在“可用”的基础上进行监控,并不一定是解决技术问题的最快方式。 以上来自于谷歌翻译 以下为原文 I have seen that, too, on some code I've written. Basically it means that you issued a new query before the buffer was cleared from the previous query. If, for instance, you ask for 5 bytes of data and only provide a buffer for 4, then ask for more data, you will see that error. Some commands cause the scope to send one extra character, basically and "End of Data", and if you don't account for that, you'll see an error. That said, I have some code that always generates that error, but it otherwise works perfectly, so I just ignore it. Al Disclaimer: For more reliable response, you should consider calling your local Agilent Technical Call Center. The Agilent Forums are monitored on an "as available" basis, and aren't necessarily the fastest way to get technical questions answered. |
|
|
|
只有小组成员才能发言,加入小组>>
875 浏览 0 评论
2193 浏览 1 评论
1975 浏览 1 评论
1840 浏览 5 评论
2712 浏览 3 评论
685浏览 1评论
关于Keysight x1149 Boundary Scan Analyzer
487浏览 0评论
N5230C用“CALC:MARK:BWID?”获取Bwid,Cent,Q,Loss失败,请问大佬们怎么解决呀
580浏览 0评论
2374浏览 0评论
1426浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-20 01:29 , Processed in 1.428328 second(s), Total 81, Slave 66 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号