349,7 → 349,7 |
int radiob[4]={P1_BOX_1,P1_BOX_2,P1_BOX_3,P1_BOX_4 }; |
|
int cvcc[4]={P1_CVCC_1,P1_CVCC_2,P1_CVCC_3,P1_CVCC_4 }; |
const unsigned char Pre_1 = 1; |
|
int gMask=0xF; |
|
int pnl; |
357,7 → 357,7 |
int main (int argc, char *argv[]) |
{ |
int DeviceId=0; |
unsigned char MainOutput; |
unsigned char MainOutput, preset; |
double Voltage, Current, tinterval; |
char str[0xFF]; |
if (InitCVIRTE (0, argv, 0) == 0) |
375,11 → 375,21 |
SetCtrlVal(pnl, P1_ONOFF, MainOutput); |
GetCtrlVal(pnl, P1_TINTERVAL, &tinterval); |
SetCtrlAttribute (pnl, P1_TIMER, ATTR_INTERVAL, tinterval); |
|
TMI_PresetQ(TMI_DeviceId, &preset); |
SetCtrlVal(pnl, P1_PRESET, preset); |
SetTraceAttributeEx (pnl, P1_GRAPH_IMON, 1, ATTR_TRACE_LG_TEXT, "CH +18V"); |
SetTraceAttributeEx (pnl, P1_GRAPH_IMON, 2, ATTR_TRACE_LG_TEXT, "CH -18V"); |
SetTraceAttributeEx (pnl, P1_GRAPH_IMON, 3, ATTR_TRACE_LG_TEXT, "CH +6V"); |
SetTraceAttributeEx (pnl, P1_GRAPH_IMON, 4, ATTR_TRACE_LG_TEXT, "CH -6V"); |
|
SetTraceAttributeEx (pnl, P1_GRAPH_VMON, 1, ATTR_TRACE_LG_TEXT, "CH +18V"); |
SetTraceAttributeEx (pnl, P1_GRAPH_VMON, 2, ATTR_TRACE_LG_TEXT, "CH -18V"); |
SetTraceAttributeEx (pnl, P1_GRAPH_VMON, 3, ATTR_TRACE_LG_TEXT, "CH +6V"); |
SetTraceAttributeEx (pnl, P1_GRAPH_VMON, 4, ATTR_TRACE_LG_TEXT, "CH -6V"); |
for (unsigned char ch=0;ch<4;ch++){ |
int ison; |
TMI_VoltageQ(TMI_DeviceId, ch+1, Pre_1, &Voltage); |
TMI_CurrentQ(TMI_DeviceId, ch+1, Pre_1, &Current); |
TMI_VoltageQ(TMI_DeviceId, ch+1, preset, &Voltage); |
TMI_CurrentQ(TMI_DeviceId, ch+1, preset, &Current); |
SetCtrlVal(pnl, vset[ch], Voltage); |
SetCtrlVal(pnl, iset[ch], Current); |
GetCtrlVal(pnl, radiob[ch], &ison); |
419,24 → 429,28 |
|
switch (event) |
{ |
case EVENT_COMMIT: |
|
case EVENT_COMMIT:{ |
unsigned char preset; |
TMI_PresetQ(TMI_DeviceId, &preset); |
SetCtrlVal(pnl, P1_PRESET, preset); |
for (unsigned char ch = 0; ch<4;ch++){ |
//printf("ch %d %x\n", ch, gMask); |
if (gMask & (1<<ch)){ |
double Voltage; |
double Current; |
|
GetCtrlVal(panel, vset[ch], &Voltage); |
GetCtrlVal(panel, iset[ch], &Current); |
printf("->ch %d VSet %g Iset %g\n", ch, Voltage, Current); |
TMI_Voltage(TMI_DeviceId, ch+1, Pre_1, Voltage); |
TMI_VoltageQ(TMI_DeviceId, ch+1, Pre_1, &Voltage); |
TMI_Current(TMI_DeviceId, ch+1, Pre_1, Current); |
TMI_CurrentQ(TMI_DeviceId, ch+1, Pre_1, &Current); |
printf("<-ch %d VSet %g Iset %g\n", ch, Voltage, Current); |
//printf("->ch %d VSet %g Iset %g\n", ch, Voltage, Current); |
TMI_Voltage(TMI_DeviceId, ch+1, preset, Voltage); |
TMI_VoltageQ(TMI_DeviceId, ch+1, preset, &Voltage); |
TMI_Current(TMI_DeviceId, ch+1, preset, Current); |
TMI_CurrentQ(TMI_DeviceId, ch+1, preset, &Current); |
//printf("<-ch %d VSet %g Iset %g\n", ch, Voltage, Current); |
|
} |
} |
} |
break; |
} |
return 0; |
459,7 → 473,7 |
iRet = TMI_TimeOut(TMI_DeviceId, 1); |
iRet = TMI_Refresh(TMI_DeviceId); |
iRet = TMI_MoniDataQ(TMI_DeviceId, ch+1, &Voltage, &Current, &cv_cc); |
printf("ch %d VSet %g Iset %g\n", ch, Voltage, Current); |
//printf("ch %d VSet %g Iset %g\n", ch, Voltage, Current); |
SetCtrlVal(panel, vmon[ch], Voltage); |
SetCtrlVal(panel, imon[ch], Current); |
SetCtrlVal(panel, cvcc[ch], cv_cc); |
549,7 → 563,7 |
|
unsigned char ch; |
double current[4]; |
double voltage; |
double voltage[4]; |
char cv_cc; |
case EVENT_TIMER_TICK: |
for (ch = 0; ch<4;ch++){ |
556,8 → 570,8 |
if (gMask & (1<<ch)){ |
TMI_TimeOut(TMI_DeviceId, 1); |
TMI_Refresh(TMI_DeviceId); |
TMI_MoniDataQ(TMI_DeviceId, ch+1, &voltage, ¤t[ch], &cv_cc); |
SetCtrlVal(panel, vmon[ch], voltage); |
TMI_MoniDataQ(TMI_DeviceId, ch+1, &voltage[ch], ¤t[ch], &cv_cc); |
SetCtrlVal(panel, vmon[ch], voltage[ch]); |
SetCtrlVal(panel, imon[ch], current[ch]); |
SetCtrlVal(panel, cvcc[ch], cv_cc); |
if (gLogToFile){ |
565,14 → 579,42 |
gFp= fopen("pw18-1.8aq.log","w"); |
fprintf(gFp,"#time\tch\tU\tI\tCV_CC\n"); |
} |
fprintf(gFp,"%ul\t%d\t%g\t%g\t%d\n", time(NULL), ch+1, voltage, current[ch], cv_cc); |
fprintf(gFp,"%ul\t%d\t%g\t%g\t%d\n", time(NULL), ch+1, voltage[ch], current[ch], cv_cc); |
} |
} |
} |
PlotStripChart (panel, P1_GRAPH, current, 4, 0, 0, VAL_DOUBLE); |
PlotStripChart (panel, P1_GRAPH_IMON, current, 4, 0, 0, VAL_DOUBLE); |
PlotStripChart (panel, P1_GRAPH_VMON, voltage, 4, 0, 0, VAL_DOUBLE); |
break; |
} |
return 0; |
} |
|
int CVICALLBACK SetPresetCB (int panel, int control, int event, |
void *callbackData, int eventData1, int eventData2) { |
|
switch (event) { |
case EVENT_COMMIT:{ |
unsigned char preset; |
double Voltage, Current; |
GetCtrlVal(panel, control, &preset); |
TMI_Preset(TMI_DeviceId, preset); |
|
for (unsigned char ch=0;ch<4;ch++){ |
int ison; |
TMI_VoltageQ(TMI_DeviceId, ch+1, preset, &Voltage); |
TMI_CurrentQ(TMI_DeviceId, ch+1, preset, &Current); |
SetCtrlVal(pnl, vset[ch], Voltage); |
SetCtrlVal(pnl, iset[ch], Current); |
GetCtrlVal(pnl, radiob[ch], &ison); |
if (ison) SETREG(gMask,(1<<ch)); else RSTREG(gMask,(1<<ch)); |
} |
break; |
} |
} |
return 0; |
} |
|
|
#endif MAIN |
|