向 CMW500 发送SCPI指令,报-114 header suffix out of range 错误

Hi-Lu 2016-07-01 09:38:42
想做一个天线测试的工具,需要程控CMW500,按照手册通过VISA相关的一些接口向CMW500发送SCPI指令,但是发现CMW500 只能对*IDN? *OPC? *RST *CLS等简单命令有响应,对用户手册上跟天线测试相关的指令好像不识别,所有的都报-114 header suffix out of range 错误,请教大家,这是什么原因呢?

本人的PC上已经安装NI-4882的驱动程序。已经想到的可能原因有:

1. 命令之间的延时不够,导致出错?---------加长了timeout时间,没有作用;

2.PC上的环境有问题,缺少什么驱动?——请教了尝试成功的伙伴们,都说不用其他的驱动了,罗德公司的技术支持说的如下链接的驱动也尝试安装,仍然没有效果;
https://www.rohde-schwarz.com/driver/cmw500/

3.第一个命令之前缺少什么命令?——缺少什么,还不知道,请大家看看,是不是缺少什么步骤。

SCPI命令如下:

VisaWriteCmd("SYSTem:ERRor?");
vstatus = viRead(m_vi,(ViPBuf)szRead,iCount,&iCountReal);
printf("system error info is %s!\n", szRead);

VisaWriteCmd("*IDN?");
vstatus = viRead(m_vi,(ViPBuf)szRead,iCount,&iCountReal);
printf("the session to the device info is %s!\n", szRead);

vstatus =viPrintf(m_vi, "ROUTe:WLAN:MEAS:SCENario:SALone RF1C, RX1"); //non-signaling, connector, converter
VisaWriteCmd("SYSTem:ERRor?");
vstatus = viRead(m_vi,(ViPBuf)szRead,iCount,&iCountReal);
printf("system error info is %s!\n", szRead);

vstatus =VisaWriteCmd("CONFigure:WLAN:MEAS:RFSettings:EATTenuation 20"); //loss
vstatus =VisaWriteCmd("CONFigure:WLAN:MEAS:RFSettings:FREQuency:BAND B24Ghz");
vstatus =VisaWriteCmd("CONFigure:WLAN:MEAS:RFSettings:FREQuency 2412E+6");
vstatus =VisaWriteCmd("CONFigure:WLAN:MEAS:RFSettings:ENPower 30");
vstatus =VisaWriteCmd("CONFigure:WLAN:MEAS:RFSettings:UMARgin 0");
vstatus =VisaWriteCmd("CONFigure:WLAN:MEAS:RFSettings:MLOFfset 8");
vstatus =VisaWriteCmd("CONFigure:WLAN:MEAS:ISIGnal:BTYPe MIXed");
vstatus =VisaWriteCmd("CONFigure:WLAN:MEAS:ISIGnal:BWIDth BW20");
vstatus =VisaWriteCmd("CONFigure:WLAN:MEAS:ISIGnal:ELENgth RED");
vstatus =VisaWriteCmd("CONFigure:WLAN:MEAS:ISIGnal:STANdard BDSSs");

//VisaWriteCmd("CONFigure:WLAN:MEAS:MEValuation:RESult ON,ON,ON,ON,ON,ON,ON,ON\n");
vstatus =VisaWriteCmd("CONFigure:WLAN:MEAS%d:MEValuation:RES:EVM ON");
vstatus =VisaWriteCmd("CONFigure:WLAN:MEAS:MEValuation:REPetition CONTinuous");
vstatus =VisaWriteCmd("CONFigure:WLAN:MEAS:MEValuation:SCONdition NONE");
vstatus =VisaWriteCmd("CONFigure:WLAN:MEAS:MEValuation:SCOunt:MODulation 100");
vstatus =VisaWriteCmd("CONFigure:WLAN:MEAS:MEValuation:SCOunt:PVTime 100");
vstatus =VisaWriteCmd("CONFigure:WLAN:MEAS:MEValuation:SCOunt:TSMask 100");

vstatus =VisaWriteCmd("TRIGger:WLAN:MEAS:MEValuation:SOURce 'IF Power'");/////////////////////////////
vstatus =VisaWriteCmd("TRIGger:WLAN:MEAS:MEValuation:THReshold -20\n");//TriggerLevel
vstatus =VisaWriteCmd("TRIGger:WLAN:MEAS:MEValuation:TOUT 3"); // timeout
//vstatus =VisaWriteCmd("ABORt:WLAN:MEAS:MEValuation\n");

vstatus =VisaWriteCmd("INITiate:WLAN:MEAS:MEValuation");

VisaWriteCmd("SYSTem:ERRor:ALL?");
vstatus = viRead(m_vi,(ViPBuf)szRead,iCount,&iCountReal);
printf("system error info is %s!\n", szRead);
Sleep(2000);

vstatus =VisaWriteCmd("FETCh:WLAN:MEAS:MEValuation:STATe:ALL?");
//memset(szRead, '\0', 10000);
do
{
Sleep(500);
vstatus = viRead(m_vi,(ViPBuf)szRead,iCount,&iCountReal);
string retstr(szRead);
iRes=retstr.find("RDY");
} while (iRes!=0&&--i>0);

if (i==0)
{
VisaWriteCmd("STOP:WLAN:MEAS:MEValuation");
delete szRead;
return "fail";
}

vstatus =VisaWriteCmd("FETCh:WLAN:MEAS:MEValuation:MODulation:DSSS:AVERage?");
vstatus = viRead(m_vi,(ViPBuf)szRead,iCount,&iCountReal);
VisaWriteCmd("STOP:WLAN:MEAS:MEValuation");
...全文
2229 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38890330 2017-12-04
  • 打赏
  • 举报
回复
引用 2 楼 我与我的故事的回复:
楼主,你的问题 解决了吗?我想请教你几个关于CMW500的 SCPI指令问题
你好,你的问题解决了吗,我目前用CMW500测试网络时,在WCDMA网络模式下,写MNC发送命令,CONFigure:WCDMa:SIGN:CELL:MNC无效
我与我的故事 2017-08-27
  • 打赏
  • 举报
回复
楼主,你的问题 解决了吗?我想请教你几个关于CMW500的 SCPI指令问题
shuijiashuis 2016-08-01
  • 打赏
  • 举报
回复
你好 ,问你一下,2013年关于安装QWT 时,出现的“echo” return 0x2 那个问题 你说说vs 和qt没有配置好,是怎么配置的能给说下吗,我QQ 147996690 ,万分感谢,折磨了3天了

80,491

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧