想做一个天线测试的工具,需要程控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");
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");
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货