是德科技
直播中

韩禹

7年用户 189经验值
私信 关注
[问答]

使用M937X校准集收到错误消息

使用IVI和SCPI命令,我设法执行一个quided Cal并将其保存到* .cal文件中。
我的下一步是在后续会话中加载并应用此cal文件。
我已设法加载文件,我可以在Manage Cal Sets窗口中看到校准集:AgNA_SystemWrite(IFA_NetworkAn,“MMEM:LOAD:CORR'calFileName'”);
但是当我执行:AgNA_ApplyCalibration(IFA_NetworkAn);
我收到一条错误消息,指出需要进行更多校准。
我显然在这里错过了一步。
有帮助吗?

以上来自于谷歌翻译


     以下为原文

  Using IVI and SCPI commands, I have managed to perform a quided Cal and save it into a *.cal file.  My next step is to load in and apply this cal file on subsequent sessions.

I have managed to load the file and I can see the cal sets in the Manage Cal Sets window:
AgNA_SystemWrite (IFA_NetworkAn, "MMEM:LOAD:CORR 'calFileName'");

but when I execute:
AgNA_ApplyCalibration(IFA_NetworkAn);   

I get an error stating that more calibration is needed.

I am obviously missing a step here.

Any help?  

回帖(8)

陈建华

2018-11-7 10:47:46
出于好奇,只是保存一个.csa文件然后再回忆它会不会容易得多?
当然,这将记住cal和仪器的状态。
虽然有.cal文件的用途(这可能是其中之一),但它更复杂。
当您尝试加载.cal文件时,仪器是否处于与创建时相同的状态?

以上来自于谷歌翻译


     以下为原文

  Just out of curiosity, wouldn't it be much easier to just save a .csa file and then recall it?
Of course, this will recall the cal along with the state of the instrument.
While there are uses for a .cal file (and this may be one of them), it is more complicated.

When you try to load the .cal file, is the instrument in the same state as when it was created?
举报

韩禹

2018-11-7 11:00:54
引用: 胡bbs2 发表于 2018-11-7 07:22
出于好奇,只是保存一个.csa文件然后再回忆它会不会容易得多?
当然,这将记住cal和仪器的状态。
虽然有.cal文件的用途(这可能是其中之一),但它更复杂。

感谢您对.csa文件的建议。
我执行的代码设置通道和测量然后执行cal然后保存它。
SW的后续运行运行相同的代码以设置通道和测量,然后在决定执行新的校准之前检查现有的校准。
所以,是的,仪器设置方式相同。
我想知道我错过了什么,只是为了了解发生了什么。
如果重新应用cal的过程很麻烦,我最终可能最终会使用.csa文件。
艾伦

以上来自于谷歌翻译


     以下为原文

  Thanks for the suggestion regarding the .csa file.

The code I have executing sets up the channels and measurements then does a cal and then saves it.  A subsequent run of the SW runs the same code to set up the channels and measurements then check for an existing cal before deciding to do a new cal.  So, yes the instrument is set up the same way.

I would like to know what I am missing more so just to understand what is going on.  I may end up using the .csa file in the end if the process of re-applying a cal is to cumbersome.

Alan
举报

仲娜娜

2018-11-7 11:19:51
引用: mingfawolf 发表于 2018-11-7 07:35
感谢您对.csa文件的建议。
我执行的代码设置通道和测量然后执行cal然后保存它。
SW的后续运行运行相同的代码以设置通道和测量,然后在决定执行新的校准之前检查现有的校准。

如果这看起来很复杂,我很抱歉。
你在IVI驱动程序中原生支持你所描述的内容,你不应该使用.cal文件,因为它们用于不同的目的。
“ApplyCalibration”命令仅在采集校准期间使用。
这是计算错误术语,创建calregister并将其应用于通道的最后一步。
CalRegister定义:calregister是一个与通道号绑定的未命名calset。
下次校准通道时,将清除并重新创建该通道的calregister。
要在以后应用校准集而不执行校准,您必须首先知道校准集的名称。
使用IAgNAChannel.CalSetName属性在校准后查询校准名称。
所有校准集都自动保留(存储)在系统上。
因此,您可以使用IAgNAChannel.CalSetName属性稍后将calset应用于未修正的通道。
您无需在系统上保存任何新文件。
您可能需要一个命名的calset。
一旦命名了calset,它就会永久存在(直到你删除它)。
要创建命名calset,可以将calregister复制到命名calset中。
首先从IAgNAChannel.CalSetName中获取calregister的“名称”,然后使用IAgNACalsets.Copy复制它。
或者您可以使用IAgNAGuidedCalibration对象上的“保存”命令。
(而不是ApplyCalibration)。
它们都做同样的事情,除了Save()命令允许你命名calset,而ApplyCalibration只使用calregister。
然后,您可以使用IAgNAChannel.CalSsetName属性将其应用于未校准的通道。
那么,什么是.cal文件?
.cal文件将一组calset存储到一个文件中,以便稍后可以将它们导回到系统中。
这几乎是不必要的,因为无论如何,calsets永远存在并且什么是.csa文件?
.csa文件存储所有内容..刺激和校准集。
在.csa文件周围编写代码非常方便。
最大的问题是.csa文件是一个不透明的数据文件...所以你没有很好的方法来理解加载这个文件时会发生什么。
编写代码以设置所有激励状态更加稳健,然后应用校准。
您应该能够通过使用上述技术来实现这一目标。编辑:johanericsson于2015年2月23日下午10:39

以上来自于谷歌翻译


     以下为原文

  I'm sorry if this seems complicated. What you are describing is supported natively in the IVI driver, and you shouldn't be using .cal files, as they are for a different purpose.

The "ApplyCalibration" command is only used during the acquisition of the calibration. It is the last step that computes the error terms, creates a calregister, and applies it to the channel.

CalRegister definition: A calregister is an unnamed calset that is tied to a channel number. The next time you calibrate the channel, that channel's calregister is cleared and recreated.

To later apply a calset without performing a calibration, you must first know the name of your calset. Use the IAgNAChannel.CalSetName property to query the calset name after the calibration. All the calsets are automatically persisted (stored) on the system. So, you can apply the calset later to an uncorrected channel by using the IAgNAChannel.CalSetName property. There is no need for you to save any new files on the system.

You may want a named calset. Once the calset is named, then it will persist forever (until you delete it). To create a named calset, you can copy the calregister into a named calset. First grab the "name" of the calregister from the IAgNAChannel.CalSetName and then copy it by using the IAgNACalsets.Copy.

Or you could use the "Save" command on the IAgNAGuidedCalibration object. (instead of the ApplyCalibration). They both do the same thing, except the Save() command will let you name the calset, whereas the ApplyCalibration just uses a calregister.

You can then apply it to your uncalibrated channel by using the IAgNAChannel.CalSsetName property.

So, what is a .cal file? A .cal file stores a collection of calsets into a file, so that they can be imported later back into the system. This is almost never necessary, because the calsets persist forever anyway 

And what is a .csa file?  A .csa file stores everything.. the stimulus and the calsets. It can be very convenient to write code around a .csa file. The big problem is that the .csa file is an opaque data file... so you don't have a great way of understanding what happens when this file is loaded. It is more robust to write your code to setup all the stimulus state, and then apply the calibration. You should be able to accomplish that by using the techniques above.

Edited by: johanericsson on Feb 23, 2015 10:39 PM
举报

韩禹

2018-11-7 11:39:05
引用: 60user56 发表于 2018-11-7 07:54
如果这看起来很复杂,我很抱歉。
你在IVI驱动程序中原生支持你所描述的内容,你不应该使用.cal文件,因为它们用于不同的目的。
“ApplyCalibration”命令仅在采集校准期间使用。

谢谢。
这有很大帮助。
跟进关于给定校准集的年龄的问题:我试图将文件保存到磁盘的原因之一是使我能够回读保存日期以检查校准集的年龄。
我无法通过IVI或SCPI找到方法来获取存储在仪器上的校准集的保存日期。
有人能指出我正确的方向来获取这些信息吗?
再次感谢。

以上来自于谷歌翻译


     以下为原文

  Thanks.  That helps a lot.

Follow up question regarding the age of a given cal set:
One of the reasons I was trying to save to a file to disk was to enable me to read back the save date to check for the age of the cal set.
I could not find a method via IVI or SCPI to get the save date for a cal set stored on the instrument.  Could someone point me in the right direction for this information?.

Thanks again.
举报

更多回帖

发帖
×
20
完善资料,
赚取积分