想做一个天线测试的工具,需要程控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");

解决方案 »

  1.   

    你好 ,问你一下,2013年关于安装QWT 时,出现的“echo” return 0x2 那个问题 你说说vs 和qt没有配置好,是怎么配置的能给说下吗,我QQ 147996690  ,万分感谢,折磨了3天了
      

  2.   

    楼主,你的问题 解决了吗?我想请教你几个关于CMW500的 SCPI指令问题
      

  3.   

    你好,你的问题解决了吗,我目前用CMW500测试网络时,在WCDMA网络模式下,写MNC发送命令,CONFigure:WCDMa:SIGN:CELL:MNC无效