📄 powctr.~cpp
字号:
#include "PowCtr.h"
#include <vcl.h>
#define PROERR if(State!=VI_SUCCESS) return 3
CPowCtr::CPowCtr()
{
}
CPowCtr::~CPowCtr()
{
}
int CPowCtr::PowProSet(float fvoltprot,float fcurrlimt)
{
ViStatus State;
State=viPrintf(vipow,"VOLT:PROT %f\n",fvoltprot);
PROERR;
State=viPrintf(vipow,"CURR:LEV %f\n",fcurrlimt);
PROERR;
State=viPrintf(vipow,"CURR:PROT:STAT ON\n");
PROERR;
return 0;
}
int CPowCtr::PowOutVoltSet(float fpowout)
{
ViStatus State;
State=viPrintf(vipow,"VOLT %f\n",fpowout);
PROERR;
return 0;
}
int CPowCtr::Init(int igpibindex,int igpibpriadd)
{
ViStatus State;
AnsiString anStr;
anStr="GPIB"+IntToStr(igpibindex)+"::"+IntToStr(igpibpriadd)+"::INSTR";
State=viOpenDefaultRM (&defaultRM);
if(State!=VI_SUCCESS) return 1;
State=viOpen (defaultRM,anStr.c_str(), VI_NULL,VI_NULL, &vipow);
if(State!=VI_SUCCESS) return 2;
return 0;
}
int CPowCtr::PowOn()
{
ViStatus State;
State=viPrintf(vipow,"OUTP ON\n");
PROERR;
return 0;
}
int CPowCtr::PowOff()
{
ViStatus State;
State=viPrintf(vipow,"OUTP OFF\n");
PROERR;
return 0;
}
int CPowCtr::PowReset(float fvoltprot,float fcurrlimt,float fvoltout)
{
ViStatus State;
int flag;
State=viPrintf (vipow, "*CLS\n");
PROERR;
State=viPrintf (vipow, "*RST\n");
PROERR;
flag=PowProSet(fvoltprot,fcurrlimt);
if(flag!=0) return 5;
flag=PowOutVoltSet(fvoltout);
if(flag!=0) return 6;
//viPrintf (vipow, "DISP ON\n");
return 0;
}
int CPowCtr::DispOnSet(bool bset)
{
if(bset)
viPrintf (vipow, "DISP ON\n");
else
viPrintf (vipow, "DISP OFF\n");
}
int CPowCtr::Measure_curr(float *fmeascurr)
{
ViStatus State;
*fmeascurr=0;
State=viQueryf(vipow,"MEAS:CURR?\n","%f",fmeascurr);
PROERR;
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -