现在的位置: 首页 > 综合 > 正文

GPIB

2018年02月01日 ⁄ 综合 ⁄ 共 2913字 ⁄ 字号 评论关闭

double fDat[50];
viPrintf(vi,"%,50f",fDat);
viVQueryf ;list pars
, Array Size. The comma operator is a format modifier that allows
you to read or write a comma-separated list of numbers (only valid
with %d and %f format codes). It is a comma followed by an integer.
The integer indicates the number of elements in the array. The
comma operator has the format of ,dd where dd is the number of
elements to read or write.
int list[5]={101,102,103,104,105};
viPrintf(vi, "%,5d\n", list);
d,f,s  (s,t,T)
This example receives data from the session specified by the vi parameter
and converts the data to a string.
char data[180];
viScanf(vi, "%t", data);
if(status<VI_SUCCESS){
   TRACE("Error...\n");
} 115  viGpibControlATN  ATN line
VI_GPIB_REN_ADDRESS_GTL
viPrintf(m_gpib.vi_SMIQ,"DM:IQ:STATE ON\n");off
interface clear line (IFC)
viGpibSendIFC
//初始化信号源
viPrintf(vi_SMIQ,"FREQ 1000MHZ\n");
    viPrintf(vi_SMIQ,"POW -50dBm\n");//cal:0
viPrintf(vi_SMIQ,"OUTP:STAT ON\n");//RF ON

viPrintf(vi_SMIQ,"MOD:STATE OFF\n");

//初始化频谱仪

viPrintf(vi_FSP,"SYST:DISP:UPDate ON\n");
// viPrintf(vi_FSP,"SYST:PSAVE ON\n");

viPrintf(vi_FSP,"DISP:WIND:TRAC:Y:RLEV -10DBM\n");
viPrintf(vi_FSP,"DISP:TRAC:Y:RLEV:OFFS 0\n");
viPrintf(vi_FSP,"FREQ:SPAN 20MHZ\n");
    viPrintf(vi_FSP,"FREQ:CENT 999MHZ\n");
viPrintf(vi_FSP,"INIT;*WAI\n");
viPrintf(vi_FSP,"CALC:MARK:MAX\n");
viPrintf(vi_FSP, "BAND:VID:AUTO ON\n");//BAND:VID 300kHz
viPrintf(vi_FSP, "BAND:RES:AUTO ON\n");
// viPrintf(vi, "SWE:TIME 100ms\n");
//Boonton 功率计
/* viPrintf(vi_Boonton,"SENS:CORR:OFFS 31\n");//外部补偿电平 db!!!!ok
viPrintf(vi_Boonton,"DISP:TRAC:VCENT 55dBm\n");//参考电平 
viPrintf(vi_Boonton,"TRIG:LEV 40dBm\n");//触发电平 dBm
viPrintf(vi_Boonton,"TRIG:DEL 0\n");//触发事件位置us   ns/div us/div ms/div
viPrintf(vi_Boonton,"DISP:PULS:TIMEBASE 10us\n");//时间单位 (moren s) 100us
viPrintf(vi_Boonton,"DISP:TRAC:VSCALe 5dB\n");//db/格  db dBm,dBV,dBmV,dbuV dBuV

//*/ //设置信号源
viPrintf(m_gpib.vi_SMIQ, "FREQ %dMHZ\n",m_tab2.m_freq);
viPrintf(m_gpib.vi_SMIQ, "POW %dBm\n",m_tab2.m_pow);
//设置频谱仪
viPrintf(m_gpib.vi_FSP, "FREQ:CENT %dMHZ\n",m_tab2.m_cent_freq);
viPrintf(m_gpib.vi_FSP, "FREQ:SPAN %dMHZ\n",m_tab2.m_span);
viPrintf(m_gpib.vi_FSP, "BAND:RES %dMHz\n",m_tab2.m_rbw);
viPrintf(m_gpib.vi_FSP, "BAND:VID %dkHz\n",m_tab2.m_vbw);
viPrintf(m_gpib.vi_FSP, "DISP:WIND:TRAC:Y:RLEV %ddBm\n",m_tab2.m_ref);
viPrintf(pView->m_gpib.vi_SMIQ,"FREQ %dMHZ\n",freq);

// viPrintf(pView->m_gpib.vi_SMIQ,"*WAI\n");
viPrintf(pView->m_gpib.vi_FSP,"FREQ:CENT %dMHZ\n",freq);

viPrintf(pView->m_gpib.vi_FSP,"*WAI\n");
viPrintf(pView->m_gpib.vi_FSP,"INIT:CONT OFF\n");
viPrintf(pView->m_gpib.vi_FSP,"INIT:IMM;*WAI\n");
viPrintf(pView->m_gpib.vi_FSP,"CALC:MARK:MAX\n");
viPrintf(pView->m_gpib.vi_FSP,"*WAI\n");
viQueryf(pView->m_gpib.vi_FSP,"CALC:MARK:Y?\n","%t",buf);

viPrintf(pView->m_gpib.vi_FSP,"*WAI\n");

viPrintf(pView->m_gpib.vi_FSP,"DISP:WIND:TRAC:Y:RLEV -10dBm\n");

viSetAttribute(viPSA,VI_ATTR_TMO_VALUE,60000);
 viQueryf(viPSA,"*ESR?\n","%ld",&esr);
 viQueryf(viSA, "*OPC?\n", "%d", &lOpc);  if (!lOpc)  {   printf("\nProgram Abort! error ocurred: last command was not completed!\n");   exit(0);  } 
 
 viQuery(vi,writeFmt,"%s,%s",buf1,buf2,...);

【上篇】
【下篇】

抱歉!评论已关闭.