是德科技
直播中

卞晓俊

8年用户 183经验值
私信 关注
[问答]

未知的PNA-X SCPI错误

嗨,我得到的错误是* + 1087,错误:无法创建测量。
未识别测量参数名称*,这不在联机帮助错误列表中。
我正在尝试用我的PNA-X(N5244A 4端口FW10.45.03)做一些更高级的东西,我认为这是我的问题的一些新的东西,但我已经将我的问题提炼到一个简单的事情。
如果我创建任何需要* CALC:CUST:DEF *请求的测量,它将只能用于所有其他尝试 - _UNLESS_我预设了PNA。
我希望不要预设PNA,因为我希望尝试在不同的通道中进行多次测量。
我猜这个错误重置/清除允许它工作的东西,但是在工作之后它再次设置那个东西导致下一个尝试失败。
能否请你帮忙?
如果你能告诉我你是否知道这个限制和/或错误意味着它会有多大帮助?
最诚挚的问候,尼尔安德鲁

以上来自于谷歌翻译


     以下为原文

  Hi,

The error I get is *+1087, ERROR: Could not create the measurement. The measurement parameter name was not recognized* which is not in the online help error lists.

I am trying to do some more advanced stuff with my PNA-X (N5244A 4 port FW10.45.03) and I thought it was some of this new stuff that was my problem, but I have distilled my problem right down to a simple thing.  
If I create any measurement that requires the *CALC:CUST:DEF* request it will only work every other attempt - _UNLESS_ I preset the PNA. I was hoping not to preset the PNA as I was hoping to try and do multiple measurements in different channels.

I am guessing that the error resets/clears something that allows it to work when it does, but after working it sets that thing back again which causes the next attemp to fail.

Could you please help? If you could tell me if you are aware of this limitation and / or what the error means it would be massively helpful?

Best Regards,

Neil Andrew  

回帖(6)

刘华湘

2018-9-18 16:25:55
如果您在收到错误时实际发布了正在发送的命令的确切语法,那将会有所帮助。
但我的猜测是,您要么拼错参数名称,要么尝试在不支持它的通道中创建测量。
例如,如果我发送命令:CALC:CUST:DEF'myMeas','Gain Compression','CompIn21'和通道1恰好是标准的s参数通道,那么我将得到该错误。

以上来自于谷歌翻译


     以下为原文

  it would help if you could actually post the exact syntax of the command you are sending when you get the error.  But my guess is you are either misspelling the parameter name or you are trying to create a measurement in a channel that does not support it.  for example if I send the command:

CALC:CUST:DEF 'myMeas', 'Gain Compression', 'CompIn21'

and channel 1 happens to be a standard s-parameter channel, then I will get that error.
举报

卞晓俊

2018-9-18 16:43:48
引用: Topcbpcba 发表于 2018-9-18 10:16
如果您在收到错误时实际发布了正在发送的命令的确切语法,那将会有所帮助。
但我的猜测是,您要么拼错参数名称,要么尝试在不支持它的通道中创建测量。
例如,如果我发送命令:CALC:CUST:DEF'myMeas','Gain Compression','CompIn21'和通道1恰好是标准的s参数通道,那么我将得到该错误。

嗨,我认为我没有很好地解释自己。
多年来,我一直在单通道中使用这些命令,我​​一次预设并运行一个通道和一个测量。
我现在正在调查一些其他用例,我可以异步使用PNA的所有四个端口,因此我不想预设。
因此,如果我发送* SYST:PRES * * CALC1:CUST:DEF'1',标量混音器/转换器','SC21'*工作正常,但是如果我发送* DISP:WIND1:STAT OFF * * DISP:WIND1:
STAT ON * + - 清除通道窗口+ * CALC1:CUST:DEF'1',标量混合器/转换器','SC21'* + - 混合器模式+第一次正常工作,如果再次运行失败,则再次运行成功。
但是,如果我发送* DISP:WIND1:STAT OFF * * DISP:WIND1:STAT ON * + - 清除通道窗口+ * CALC1:PAR:DEF'1',S21 * + - 标准S参数+多次它工作正常
每次。
基本上,即使频道已被删除,似乎也不可能在没有预设的情况下多次向同一频道发送混音器命令。
这很奇怪,因为您可以在同一窗口中创建具有相同设置的多个不同通道等。就好像应用程序的行为方式与标准S-Parameter方法不同,并维护导致创建失败的信息。
我希望这更有帮助。
我在英国,所以从家里回答这个问题。
如有必要,我会在早上从PNA中抽出一些实际的SCPI。
非常感谢!
尼尔。

以上来自于谷歌翻译


     以下为原文

  Hi,

I don't think I explained myself very well. I have been using these commands in single channel for years where I preset and ran one channel and one measurement at a time. I am now investigating some further use cases where I can use all four ports of the PNA asynchronously therefore I don't want to Preset.

So if I send
*SYST:PRES*
*CALC1:CUST:DEF '1', Scalar Mixer/Converter','SC21'*

which works fine, however if I send

*DISP:WIND1:STAT OFF*
*DISP:WIND1:STAT ON* +- to clear window of channels+
*CALC1:CUST:DEF '1', Scalar Mixer/Converter','SC21'* +- Mixer mode+

Works fine first time, then if run again fails, then run again succeeds.

However if I send

*DISP:WIND1:STAT OFF*
*DISP:WIND1:STAT ON* +- to clear window of channels+
*CALC1:PAR:DEF '1', S21* +- Standard S-Parameter+

Multiple times it works fine every time.

Basically it appears that it is not possible to send the mixer command more than once to the same channel without a preset even if the channel has been deleted. Which is odd as you can create multiple different channels with the same settings in the same window etc. Its as if the application is behaving differently the standard S-Parameter method and maintaining information that causes the creation to fail.

I hope this is more helpful. I am in the UK so answering this from my home. I will pull some actual SCPI from the PNA in the morning if necessary.

Many Thanks!

Neil.
举报

刘华湘

2018-9-18 16:55:55
引用: qksorl1994 发表于 2018-9-18 10:33
嗨,我认为我没有很好地解释自己。
多年来,我一直在单通道中使用这些命令,我​​一次预设并运行一个通道和一个测量。
我现在正在调查一些其他用例,我可以异步使用PNA的所有四个端口,因此我不想预设。

在同一个通道中进行任意数量的相同S21或SC21测量(或任何其他参数)没有问题,当您通过在同一通道中反复创建新迹线从UI进行操作时,所有工作都有效
精细。
当您从UI执行此操作时,每次创建参数的新实例时,固件会自动为该参数生成新的唯一测量名称。
但是,当您使用SCPI命令执行此操作时,例如:CAL:PAR:DEF或CALC:CUST:DEF,您有责任为参数的每个实例分配一个新的唯一测量名称。
如果您尝试使用相同的测量名称创建两个参数,则会出现错误。
在下面的示例中,我采用了您在帖子中创建S21测量的命令序列,我重复了一遍:http://dl.dropboxusercontent.com/u/87949221/Forum/ThreadID_40423/SCPICmds.png!
请注意,它第一次正常工作,但第二次我得到一个重复的测量名称错误。
原因是打开和关闭窗口的过程实际上并没有删除任何参数。
它只删除参数的显示实例,但通道中的参数已经存在于通道中,不再显示。
如果要创建具有相同测量名称的两个参数,则必须使用calc:par:del命令删除现有参数。
预设分析仪也具有与删除参数相同的效果。
无论您使用何种类型的测量,唯一的测量名称规则都是相同的,因此创建重复的混音器参数(如SC21)或标准参数(如S21)没有区别。

以上来自于谷歌翻译


     以下为原文

  There is no issue with having any number of the same S21 or SC21 measurements (or any other parameter for that matter) in the same channel and when you do from the UI by creating a new trace over and over again in the same channel all works fine.  when you do that from the UI, every time a new instance of the parameter is created, the firmware auto generates a new unique meas name for that parameter.  however, when you do that with a SCPI command such as :CAL:PAR:DEF or CALC:CUST:DEF, it is your responsibility to assign each instance of the parameter a new unique meas name.  if you try to create two parameters with the same meas name, you'll get an error.  in the example below I took the sequence of commands that you had in your post for creating an S21 measurement and I repeated it:

!https://dl.dropboxusercontent.com/u/87949221/Forum/ThreadID_40423/SCPICmds.png!

note that it works fine the first time, but I get a duplicate meas name error the 2nd time.  the reason is that the process of turning the window on and off doesn't actually delete any parameters.  it only deletes the display instance of the parameters, but the parameters that were in the channel already still exist in the channel and are simply not displayed any more.  if you want to create two parameters with the same meas name, then you have to delete the existing one using calc:par:del command.  presetting the analyzer also has the same effect as deleting the parameters.  the unique meas name rule is the same regardless of the type of measurement you are using, so there is no difference in creating duplicate mixer parameters, like SC21, or standard parameters like S21.
举报

刘华湘

2018-9-18 17:07:25

好的 - 我想我知道发生了什么事。
在你的SCPI监视器日志中,我可以看到你正在通道11和12中设置SMC测量值,在这两个通道中,你想测量端口3和4之间的混频器(而不是端口1和2,你在
用于通道1和2)。
第一次在通道12中创建跟踪时,发送以下命令:00089> * CALC12:CUST:DEF'ATS_CH12_SC43_T4_W2','标量混合器/转换器','SC21'* $ DISP:WIND2:TRAC4:FEED'ATTS_CH12_SC43_T4_W2
'$ 00091> CALC12:PAR:SEL“ATS_CH12_SC43_T4_W2”$ 00092> SENS12:MIX:OUTP:FREQ:MODE SWEPT $ 00093> SENS12:MIX:OUTP:FREQ:MODE SWEPT $ 00094> SENS12:MIX:INP:FREQ:MODE
SWEPT $ 00095> SENS12:MIX:OUTP:FREQ:STAR 12060000000.000000 $ 00096> SENS12:MIX:OUTP:FREQ:STOP 12130000000.000000 $ 00097> SENS12:MIX:LO1:FREQ:MODE SWEPT $ 00098> SENS12:MIX:LO1:FREQ
:FIX 2300000000 $ 00099> SENS12:MIX:OUTP:FREQ:SID LOW $ 00100> SENS12:MIX:CALC INP $ 00101> * SENS12:MIX:PMAP 3,4 * $ 00102> SENS12:MIX:ELO:STAT 1 $
00103> SENS12:MIX:APPLY $ 00104> SENS12:SWEEP:POINTS 101 $ note * bold *命令。
第一次(或预设后),您从头开始创建通道12,当您创建新的SMC通道时,默认端口映射是端口1和2,因此,第一次发送命令时:CALC12:CUST
:DEF'ATS_CH12_SC43_T4_W2','标量混频器/转换器','SC21'在端口映射设置为1,2的通道中创建SC21测量没有问题。
但是,在创建SC21测量后,然后将端口映射更改为3,4,当您发送SENS12:MIX:APPLY命令时,通道端口映射会更改,现有的SC21测量会自动变为SC43。
但第二次,即使你删除了现有的测量,通道12仍然存在,此时,通道12的端口映射是端口3,4,所以当你尝试在该通道中创建SC21测量时,它
抱怨。
其他参数如IPwr或OPwr没有此问题,因为参数名称中没有端口号。
所以这就是它看起来有时有效的原因。
避免此问题的最简单方法是在发送calc:cust:def命令之前始终发送:SENS:MIX:PMAP 1,2 SENS:MIX:APPLY。
第一次围绕它会抱怨,因为您指定的通道尚不存在,但您可以读取并忽略这些错误(或者如果通道尚不存在,您可以编写代码以跳过这些命令)。
另一种方法是首先使用SYST:CHAN:DEL命令删除通道(如果通道已存在)。

以上来自于谷歌翻译


     以下为原文

  ok - I think I know what is going on.   in your SCPI monitor log, I can see that you are setting up an SMC measurements in channel 11 and 12 and in these two channels, you want to measure the mixer between ports 3 and 4 (as opposed to ports 1 and 2, which you use for channels 1 and 2).  

the first time you create a trace in channel 12, you send the following commands:

00089 > *CALC12:CUST:DEF 'ATS_CH12_SC43_T4_W2','Scalar Mixer/Converter','SC21'* $ DISP:WIND2:TRAC4:FEED 'ATS_CH12_SC43_T4_W2'$
00091 > CALC12:PAR:SEL "ATS_CH12_SC43_T4_W2"$
00092 > SENS12:MIX:OUTP:FREQ:MODE SWEPT$
00093 > SENS12:MIX:OUTP:FREQ:MODE SWEPT$
00094 > SENS12:MIX:INP:FREQ:MODE SWEPT$
00095 > SENS12:MIX:OUTP:FREQ:STAR 12060000000.000000$
00096 > SENS12:MIX:OUTP:FREQ:STOP 12130000000.000000$
00097 > SENS12:MIX:LO1:FREQ:MODE SWEPT$
00098 > SENS12:MIX:LO1:FREQ:FIX 2300000000$
00099 > SENS12:MIX:OUTP:FREQ:SID LOW$
00100 > SENS12:MIX:CALC INP$
00101 > *SENS12:MIX:PMAP 3,4* $
00102 > SENS12:MIX:ELO:STAT 1$
00103 > SENS12:MIX:APPLY$
00104 > SENS12:SWEEP:POINTS 101$

note the *bold* commands.  the first time around (or after a preset), you are creating channel 12 from scratch and when you create a new SMC channel, the default port mapping is ports 1 and 2 and therefore, the first time you send the command:

CALC12:CUST:DEF 'ATS_CH12_SC43_T4_W2','Scalar Mixer/Converter','SC21'

it has no problems creating a SC21 measurement in a channel with a port mapping set to 1,2.  however, after you have created the SC21 measurement, you then change the port mapping to 3,4 and when you send the SENS12:MIX:APPLY command the channel port mapping changes and the existing SC21 measurement automatically becomes SC43.

but the 2nd time around, even after you have deleted the existing measurement, channel 12 still exists and at this time, the port mapping for channel 12 is ports 3,4, so when you try to create an SC21 measurement in that channel, it complains.  Other parameters like IPwr or OPwr don't have this problem, because there is no port number in the parameter name.  so this is why it appears that it works sometimes.  

the easiest way to avoid this problem is to always send:

SENS:MIX:PMAP 1,2
SENS:MIX:APPLY

before sending the calc:cust:def commands.  the first time around it will complain, because the channel you are specifying doesn't exist yet, but you can read and ignore those errors (or you can write your code to skip these commands, if the channel doesn't already exist).  the other way is to first delete the channel by using the SYST:CHAN:DEL command (if the channel already exist).
举报

更多回帖

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