完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我有一个持续扫描25ms的信号。
我想在每次扫描后读取一个标记。 我可以用什么命令知道扫描何时完成,以便我可以读取标记? 读取数据时是否可以从PNA-X获取时间戳? 谢谢。 以上来自于谷歌翻译 以下为原文 I have a signal continuously sweeping at 25ms. I would like to read a marker after every sweep. What command can I use to know when the sweep is complete so that I may read the marker? Is it possible to get a timestamp from the PNA-X when the data is read? Thanks. |
|
相关推荐
8个回答
|
|
至少有两种方法。
1.将PNA从连续扫描中取出。 然后只需触发扫描,等待它完成,读取标记并根据需要重复。 2.使PNA保持连续扫描并使用事件(或SRQ)检测扫描结束。 然后阅读标记并等待下一个事件。 方法2的问题是25毫秒是相当短的,如果你不能在下一次扫描之前完成所有事情,你可能会错过扫描。 根据您的需要,这可能是也可能不是问题。 以上来自于谷歌翻译 以下为原文 There are at least two approaches to this. 1. Take the PNA out of continuous sweep. Then simply trigger a sweep, wait for it to complete, read the marker and repeat as necessary. 2. Leave the PNA in continuous sweep and use events (or SRQ) to detect the end of sweep. Then read the marker and wait for the next event. The problem with approach number 2 is that 25ms is fairly short and if you cannot complete everything before the next sweep, you could miss a sweep. Depending upon your needs, this may or may not be an issue. |
|
|
|
亲爱的jvall方法#2看起来很棒,但是你可以帮助在分析器端帮助SCPI配置事件寄存器和SRQ以便在控制器端捕获吗? 不幸的是,对我来说,手册中的解释并不那么明显,我试图理解它已经有一段时间了:-( ...我只想在扫描时准确得到SRQ(或测量,实际上,我测量S21) 已经完成了最后一点并重新开始。 以上来自于谷歌翻译 以下为原文 Dear jvall The approach #2 seems great, but can you please help with SCPI configuration of event registers and SRQ at the analyzer side for catching it at the controller side? Unfortunately, for me the explanation in the manual is not that obvious and I am trying to understand it for quite some time :-( ...I just want to get that SRQ exactly when sweep (or measurement, actually, I measure S21) has finished the last point and gone to start again. |
|
|
|
asd011 发表于 2019-5-20 15:32 我不得不说使用SRQ方法通常不是处理这个问题的最佳方法。 此外,它使编程*更复杂*。 SRQ方法主要用于计算机在等待PNA完成采集数据时必须处理其他数据的情况。 如果不是这种情况,那么将PNA置于单扫描模式是确保获得正确数据的最可靠方法。 除非存在情有可原的情况,否则我们强烈建议您这样做。 让我知道你想做什么的具体细节,我们可以从那里开始。 以上来自于谷歌翻译 以下为原文 I have to say that using the SRQ method is usually not best way to handle this. Besides, it make programming *much* more complicated. The SRQ method is used mostly when the computer must be processing other data while waiting for the PNA to finish acquiring data. If this is not the case, then placing the PNA in single sweep mode is the most reliable way to ensure you are getting the proper data. We highly recommend doing it this way unless there are extenuating circumstances. Let me know the specifics of what you want to do, and we can go from there. |
|
|
|
胡bbs2 发表于 2019-5-20 15:46 据我所知,SRQ方法除了并行处理之外还允许4个重要的事情,当然,这可以使用基于vi事件的函数调用。 1)控制器可以与其他GPIB设备一起使用。 这也提高了监督软件的性能,减少了延迟和CPU负载。 特别是在使用程序编程时。 2)发出SRQ的设备没有来自控制器端的STB轮询垃圾邮件。 3)此方法允许不使用* WAI终止NA的并行测量执行选项。 虽然* WAI和* OPC易于使用,但这些都是回归方法。 4)(这是#3的一部分)这只是一种非常快速的实时数据同步方法。 所以,我的问题仍然是相同的:如何在扫描完成或测量结束时启用SRQ? 手册中的寄存器映射非常复杂,但对于刚接触该架构的人来说,解释并不是很有用。 此外,我在解释SRQ的程序样本中发现了亵渎。 我的意思是假程序,它在循环中进行STB串行轮询,而不是响应SRQ。 以上来自于谷歌翻译 以下为原文 As far as I know, SRQ method allows 4 important things, besides parallel processing, of course, which is available using vi event-based function calls. 1) The controller is free for work with other GPIB devices. This improves performance of the supervising software as well, reducing delays and CPU load. Especially when using procedural programming. 2) The device issuing SRQ is free from STB polling spam from controller side. 3) This method allows NOT to kill parallel measurements execution option of the NA with *WAI. While *WAI and *OPC are easy to use, those are regressive approaches. 4) (which is a part of #3) This is just a very fast method for real-time data synch. So, my question is still the same: how can I enable SRQ on sweep finish or measurement finish? The register map in the manual is quite complex, but the explanation is not very informative for people new to the architecture. Moreover, I found profanation in program samples explaining SRQ. I mean that fake program, which makes STB serial poll in the loop, instead of responding to SRQ. |
|
|
|
asd011 发表于 2019-5-20 15:52 如果我有一个很好的例子,我会发布它。 我将不得不寻找一个,但是,在接下来的两个星期里,我们有来自世界各地的人来接受培训,我不能保证及时回复。 我同意我们没有任何好的例子......我们真的应该这样做。编辑:jvall于2014年11月3日晚上9点 以上来自于谷歌翻译 以下为原文 If I had a good example, I would have posted it. I will have to search around for one, however, for the next two weeks we have people from all over the world here for training and I cannot guarantee a timely response. I do agree that we do not have any good examples of this....and we really should. Edited by: jvall on Nov 3, 2014 9:00 PM |
|
|
|
我已经完成了Akalei关于使用DCOM的问题。
我注册了'OnChannelEvent'的回调。 一旦进入回调代码,我过滤事件只运行数据拉取代码如果事件是ALL_SWEEPS_COMPLETED_AND_PROCESSED我注意到了一些事情:我最初使用CHANNEL_SWEEP_COMPLETE事件作为我的过滤器,但它并不总是正常工作。 这就是我切换到另一个事件的原因。 我需要运行至少2个通道(测量),即使它是两次相同的测量。 否则,在我将其从PNA中拉出之前,似乎数据被覆盖了。 第三,我遇到了IArrayTrasfergetComplex的问题(详细信息可以在我的名字的其他线程中找到)。 它归结为包装函数的数据指针是单个浮点变量而不是浮点数组。 我无法发布完整的代码,但如果您决定尝试使用DCOM,我可以提供一些帮助。 以上来自于谷歌翻译 以下为原文 I have done what Akalei is asking about using DCOM. I registered an callback for 'OnChannelEvent'. Once in the callback code, I filter events to only run the data-pull code if the event is ALL_SWEEPS_COMPLETED_AND_PROCESSED I noticed a few things however: I originally used the CHANNEL_SWEEP_COMPLETE event as my filter, but it wasn't always working correctly. That's why I switched to the other event. I needed a minimum of 2 Channels (measurements) running, even if it was the same measurement twice. Otherwise it seemed like the data was being overwritten before I could pull it off the PNA. Third, I had a problem with IArrayTrasfergetComplex (details can be found in other threads with my name). It boiled down to the data pointer for the wrapper function being for a single floating point variable instead of an array of floats. I cannot post complete code, but I can help somewhat if you decide to try DCOM. |
|
|
|
同样,我所做的大部分工作也都在COM中,所以当这些SCPI请求到来时,我通常不是最好的资源。
以上来自于谷歌翻译 以下为原文 Likewise, most everything I do is also in COM, so when these SCPI requests come around, I am usually not the best resource. |
|
|
|
谢谢Tom的例子。
如果您要继续进行连续扫描,那么最好确保在下一次扫描开始之前读取您想要的任何数据*。 如果延迟时间过长,那么您阅读的数据可能会过时。 给自己更多时间的一种方法是在必要时添加第一个点延迟。 此外,向我们提供您正在使用的编程语言可能会有所帮助。 以上来自于谷歌翻译 以下为原文 Thanks for the example Tom. If you are going to remain in continuous sweep, then you better make sure that you read whatever data you want *before* the next sweep starts. If you delay too long, then the data you read may be stale. One way to give yourself more time is to add a first point delay if necessary. Also, providing us with the programming language you are using may be helpful. |
|
|
|
只有小组成员才能发言,加入小组>>
1285 浏览 0 评论
2373 浏览 1 评论
2192 浏览 1 评论
2064 浏览 5 评论
2948 浏览 3 评论
1110浏览 1评论
关于Keysight x1149 Boundary Scan Analyzer
753浏览 0评论
N5230C用“CALC:MARK:BWID?”获取Bwid,Cent,Q,Loss失败,请问大佬们怎么解决呀
925浏览 0评论
1287浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 18:50 , Processed in 1.715071 second(s), Total 92, Slave 75 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号