
Calibration Programs
B-8
Program B-2
Comprehensive Calibration Program for Use with Fluke 5700A Calibrator (C Version)
/* Model 2002 comprehensive calibration program for use with the
Fluke 5700A calibrator. Rev. 1.2. 4/7/94 */
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
FILE *ieeein,*ieeeout;
main()
{
static char *msg[] = {
"Connect low-thermal short, wait 3 minutes",
"out 2 v","out 20 v","out 1 mohm","out 100 kohm",
"out 19kohm","out 1.9 kohm","out 190 ohm",
"out 19 ohm","out 200 ua","out 2 ma","out 20 ma",
"out 200 ma","out 1a",
"Disconnect calibrator from INPUT jacks",
"Performing AC calibration, please wait..."
};
static char *cmd[] = {
":cal:prot:dc:zero",":cal:prot:dc:v2 2",
":cal:prot:dc:v20 20",":cal:prot:dc:ohm1m ",
":cal:prot:dc:ohm200k ",":cal:prot:dc:ohm20k ",
":cal:prot:dc:ohm2k ",":cal:prot:dc:ohm200 ",
":cal:prot:dc:ohm20 ",":cal:prot:dc:a200u 200e-6",
":cal:prot:dc:a2m 2e-3",":cal:prot:dc:a20m 20e-3",
":cal:prot:dc:a200m 200e-3",":cal:prot:dc:a2 1",
":cal:prot:dc:open",":cal:unpr:acc"
};
void keypress(),errcheck(),chkswit(),settle(),endpgm();
char buf [100],date[10];
int i,j,calend();
if ((ieeein=fopen("IEEE","r"))==NULL) { /* Open input file. */
printf("Cannot open IEEE-488 bus I/O.\n");
exit(1);
}
ieeeout=fopen("IEEE","w"); /* Open output file. */
setbuf(ieeein,NULL); /* Turn off input buffering. */
setbuf(ieeeout,NULL); /* Turn off output buffering. */
fprintf(ieeeout,"interm crlf\n"); /* Set input terminator. */
fprintf(ieeeout,"outterm lf\n"); /* Set output terminator. */
fprintf(ieeeout,"remote 4 16\n"); /* Put 2002,5700A in remote. */
fprintf(ieeeout,"clear\n"); /* Send DCL. */
fprintf(ieeeout,"output 16;:syst:pres;*cls\n");/* Initialize 2002.*/
fprintf(ieeeout,"output 16;*ese 1;*sre 32\n"); /* Enable OPC, SRQ.*/
fprintf(ieeeout,"output 4;*rst;*cls\n"); /* Reset 5700A. */
fprintf(ieeeout,"output 4;cur_post normal\n"); /* Current output */
clrscr(); /* Clear CRT. */
printf("Model 2002 Comprehensive Calibration Program.\n");
printf("This program controls the 5700A Calibrator.\n");
chkswit(); /* Check cal switch. */
fprintf(ieeeout,"output 16;:cal:prot:init\n");
for(i=0;i<=15;i++) { /* Loop for cal points. */
switch(i) {
case 0: printf("%s\n",msg[i]);
keypress();
break;
case 1: printf("Connect calibrator to 2002.\n"
"Wait 3 minutes.\n");
keypress();
fprintf(ieeeout,"output 4;extsense off\n");