Prober06-ibw.txt

프루버

10   ! ASSIGN @Probe TO 402
20     INTEGER X,Y,Count,Type,Inst
30     DIM Tmp$[2],Cmd$[15]
40     Type=1      !1은 정사각형 0,0에서 Y축 순서대로
50     Inst=2      !1=3478DMM 2=3457DMM 3=2420SM
60     GOSUB Filesave
70     GOSUB Inst_setup
90     GOSUB Save_head
160    Count=0
170    T0=TIMEDATE
180    SELECT Type
190    CASE 1
200      FOR X=0 TO 27    !X 개수-1
210        FOR Y=0 TO 18  !Y 개수-1
220          Cmd$="MOX"&VAL$(X)&"Y-"&VAL$(Y)
230    !     GOSUB Move
240          Count=Count+1
250          T=TIMEDATE-T0
260          GOSUB Read
270          GOSUB Save
280        NEXT Y
290      NEXT X
300    CASE 2
310    END SELECT 
320    STOP
330 Filesave:     !
340    DIM Outfilename$[20],Dhms$[8]
350    Time$=TIME$(TIMEDATE)
360    Date$=DATE$(TIMEDATE)
370    Dhms$=Date$[1;2]&Time$[1;2]&Time$[4;2]&Time$[7;2]
380    Outfilename$=Dhms$&".txt"
390    CREATE Outfilename$,1
400    ASSIGN @Outfile TO Outfilename$;FORMAT ON
410    RETURN
420 Inst_setup:    !!! 계측기 셋업
430    SELECT Inst
440    CASE 1
450      ASSIGN @Dmm TO 427 !hp 3478 dmm
460    CASE 2
470      ASSIGN @Dmm TO 402 !hp 3457 dmm
471      OUTPUT @Dmm;"NPLC 1"
480    CASE 3
490      ASSIGN @Sm TO 424 !Keithley 2420 SourceMeter
500      OUTPUT @Sm;"ROUT:TERM FRON"       !front terminal
510      OUTPUT @Sm;"SYST:RSEN ON"         !4-wire
520      OUTPUT @Sm;"SOUR:FUNC CURR"       !i-source
530      OUTPUT @Sm;"SOUR:CURR:MODE FIX"
540      OUTPUT @Sm;"SOUR:CURR:RANG:AUTO ON"
550      OUTPUT @Sm;"SOUR:CURR:LEV 0.10"   !10mA
560      OUTPUT @Sm;"SENS:FUNC ""VOLT"""   !v-measure
570      OUTPUT @Sm;"SENS:VOLT:PROT 10"    !compliance V=10V
580      OUTPUT @Sm;"VOLT:RANG 10"
590      OUTPUT @Sm;"FORM:ELEM VOLT,CURR"!출력 데이터는 전압,전류만
600      OUTPUT @Sm;"SOUR:CLE:AUTO ON"   !측정할 때만 출력 ON/OFF 자동으로
610    END SELECT 
611    RETURN
620 Move: !
630    OUTPUT @Probe;Cmd$
640    ENTER @Probe;Tmp$
650    RETURN
660 Read: !
670    SELECT Inst
680    CASE 1
690      GOSUB Read_3478
700    CASE 2
710      GOSUB Read_3457
720    CASE 3
730      GOSUB Read_2420
740    END SELECT 
750    RETURN
760 Save: !
770    SELECT Inst
780    CASE 1,2
790      GOSUB Save_dmm
800    CASE 3
810      GOSUB Save_2420
820    END SELECT 
830    RETURN
840 Read_3478:  !
850    WAIT 1
860    ENTER @Dmm;R
870    RETURN
880 Read_3457:  !
890    OUTPUT @Dmm;"TRIG SGL"
900    ENTER @Dmm;R
910    RETURN
920 Save_head:           !
930    SELECT Inst
940    CASE 1,2  !dmm
950      OUTPUT @Outfile;"No.,Time[s],X,Y,R[ohm]"
960    CASE 3    !source meter
970      OUTPUT @Outfile;"No.,Time[s],X,Y,Volt[V],Curr[A]"
980    END SELECT 
990    RETURN
1000 Save_dmm: !
1010   PRINT Count,INT(T);"sec","X=";X,"Y=";Y,"R=";R
1020   OUTPUT @Outfile;Count,T,X,Y,R
1030   RETURN
1040 Read_2420: !
1050   OUTPUT @Sm;"READ?"
1060   ENTER @Sm;Volt,Curr
1070   RETURN
1080 Save_2420: !
1090   PRINT Count,INT(T);"sec","X=";X,"Y=";Y,"V=";Volt,"i=";Curr
1100   OUTPUT @Outfile;Count,T,X,Y,Volt,Curr
1110   RETURN
1120   END