TR6143-vi-2.txt

Advantest TR6143

10     ! [[Advantest TR6143]] <pre>
20     ! I-1 32uA, I0 320uA, I1 3.2mA, I2 32mA, I3 320mA, I4 2A
30     ! 2020-01-17
40     OPTION BASE 1
50     INTEGER I,Nop
60     INTEGER Size,Length
70     DIM Cmd$[25],A$[13],Msg$[25]
80     Nop=401   !401
90     Wait=.05  !0.05, 0.04초가 문제가 없다.
100    GOSUB Fileopen
110    GOSUB Inst_open
120    GOSUB Sweep_select
130    GOSUB Src_select
140    GOSUB Dut_select
150    GOSUB Measure
160 !  GOSUB Measure0
170    STOP
180 Sweep_select: !
190    Size=3
200    Length=4
210    ALLOCATE Sweep$(Size)[Length]
220    Sweep$(1)="LIN"
230    Sweep$(2)="LOG"
240    Sweep$(3)="TIME"
250    Msg$="Sweep 종류"
260    DIALOG "LIST",Msg$,Btn;SET("ITEMS":Sweep$(*),"COLUMNS":Length,"ROWS":Size),RETURN("SELECTION":Sweep_no)
270    Sweep_no=Sweep_no+1
280    RETURN
290 Src_select: !
300    Size=3
310    Length=4
320    ALLOCATE Src$(Size)[Length]
330    Src$(1)="VOLT"
340    Src$(2)="CURR"
350    Src$(3)="TIME"
360    Msg$="Source 종류"
370    DIALOG "LIST",Msg$,Btn;SET("ITEMS":Src$(*),"COLUMNS":Length,"ROWS":Size),RETURN("SELECTION":Src_no)
380    Src_no=Src_no+1
390    RETURN
400 Dut_select: !
410    INTEGER Dut_no
420    Size=20
430    Length=15
440    ALLOCATE Dut$(Size)[Length]
450    Dut$(1)="LED"
460    Dut$(2)="Ge DIODE"
470    Dut$(3)="Si DIODE"
480    Dut$(4)="100mA DIODE"
490    Dut$(5)="2A Power"
500    Dut$(6)="DIODE x5"
510    Dut$(7)="Schottky"
520    Dut$(8)="Zener"
530    Dut$(9)="Bat"
540    Dut$(10)="Motor"
550    Dut$(11)="P-PTC"
560    Dut$(12)="12Vcoil"
570    Dut$(13)="Buzzer"
580    Dut$(14)="LED12V"
590    Dut$(15)="LED48V"
600    Dut$(16)="TVS"
610    Msg$="DUT 종류"
620    DIALOG "LIST",Msg$,Btn;SET("ITEMS":Dut$(*),"COLUMNS":Length,"ROWS":Size),RETURN("SELECTION":Dut_no)
630    Dut_no=Dut_no+1
640    SELECT Dut$(Dut_no)
650    CASE "LED"
660      SELECT Src$(Src_no)
670      CASE "VOLT","TIME"
680        Vlimit=90  !!
690        Alimit=.01     !!!!!!!!!!!!!!!!!!!!!!!!
700        Source_min=1    !시작 V=0.001  !LED=0.1
710        Source_max=3   !종료 V=1      !LED=10
720      CASE "CURR"
730        Vlimit=100
740        Alimit=.05
750        Source_min=.01   !시작
760        Source_max=.5    !LED 최대 전류
770      END SELECT 
780    CASE "LED12V"
790      SELECT Src$(Src_no)
800      CASE "VOLT","TIME"
810        Vlimit=90  !!
820        Alimit=1       !!!!!!!!!!!!!!!!!!!!!!!!
830        Source_min=7   !시작 V=1,7
840        Source_max=11  !종료 V=12,11
850      CASE "CURR"
860        Vlimit=12
870        Alimit=.05
880        Source_min=.01   !시작
890        Source_max=1     !LED 최대 전류
900      END SELECT 
910    CASE "LED48V"
920      SELECT Src$(Src_no)
930      CASE "VOLT","TIME"
940        Vlimit=90  !!
950        Alimit=.4      !!!!!!!!!!!!!!!!!!!!!!!!
960        Source_min=30  !시작 V=0.001  !LED=0.1
970        Source_max=50  !종료 V=1      !LED=10
980      CASE "CURR"
990        Vlimit=100
1000       Alimit=.05
1010       Source_min=.01   !시작
1020       Source_max=.1    !LED 최대 전류
1030     END SELECT 
1040   CASE "Ge DIODE"
1050     SELECT Src$(Src_no)
1060     CASE "VOLT"
1070       Vlimit=1
1080       Alimit=.1
1090       Source_min=.001  !시작 V=0.001
1100       Source_max=1    !종료 V=1
1110     CASE "CURR"
1120       Vlimit=1
1130       Alimit=.1
1140       Source_min=1.E-6 !시작
1150       Source_max=.1    !종료 V=1
1160     END SELECT 
1170   CASE "Si DIODE"
1180     SELECT Src$(Src_no)
1190     CASE "VOLT"
1200       Vlimit=10
1210       Alimit=.1
1220       Source_min=.01  !시작 V=0.01
1230       Source_max=10   !종료 V=1
1240     CASE "CURR"
1250       Vlimit=10
1260       Alimit=.1
1270       Source_min=1.E-6 !시작
1280       Source_max=.1    !종료
1290     END SELECT 
1300   CASE "100mA DIODE"
1310     SELECT Src$(Src_no)
1320     CASE "VOLT"
1330       Vlimit=10
1340       Alimit=.1
1350       Source_min=.1    !시작 V=0.01
1360       Source_max=10   !종료 V=1
1370     CASE "CURR"
1380       Vlimit=10
1390       Alimit=.05
1400       Source_min=1.E-9!시작
1410       Source_max=.1   !종료
1420     END SELECT 
1430   CASE "2A Power"
1440     SELECT Src$(Src_no)
1450     CASE "VOLT"
1460       Vlimit=10
1470       Alimit=2
1480       Source_min=.0001 !시작 V=0.01
1490       Source_max=.1   !종료 V=1
1500     CASE "CURR"
1510       Vlimit=10
1520       Alimit=2
1530       Source_min=1.E-6!시작
1540       Source_max=.1   !종료
1550     END SELECT 
1560   CASE "DIODE x5"
1570     SELECT Src$(Src_no)
1580     CASE "VOLT"
1590       Vlimit=10
1600       Alimit=.1
1610       Source_min=.001  !시작 V=0.001  !LED=0.01
1620       Source_max=10   !종료 V=1      !LED=10
1630     CASE "CURR"
1640       Vlimit=10
1650       Alimit=.1
1660       Source_min=1.E-6 !시작
1670       Source_max=.1    !종료 V=1      !LED=10
1680     END SELECT 
1690   CASE "Schottky"
1700     SELECT Src$(Src_no)
1710     CASE "VOLT"
1720       Vlimit=10
1730       Alimit=.01
1740       Source_min=.001  !시작 V=0.01
1750       Source_max=1    !종료 V=1
1760     CASE "CURR"
1770       Vlimit=10
1780       Alimit=.1
1790       Source_min=1.E-6 !시작
1800       Source_max=.01  !종료 V=1      !LED=10
1810     END SELECT 
1820   CASE "Zener"
1830     SELECT Src$(Src_no)
1840     CASE "VOLT"
1850       Vlimit=110
1860       Alimit=.1
1870       Source_min=.1    !시작 V=1
1880       Source_max=10   !종료 V=100
1890     CASE "CURR"
1900       Vlimit=100
1910       Alimit=.1
1920       Source_min=1.E-9 !시작
1930       Source_max=.1   !종료 V=1      !LED=10
1940     END SELECT 
1950   CASE "TVS"
1960     SELECT Src$(Src_no)
1970     CASE "VOLT"
1980       Vlimit=110
1990       Alimit=.1
2000       Source_min=.1    !시작 V=1
2010       Source_max=100  !종료 V=100
2020     CASE "CURR"
2030       Vlimit=100
2040       Alimit=.1
2050       Source_min=1.E-6 !시작
2060       Source_max=.1   !종료 V=1      !LED=10
2070     END SELECT 
2080   CASE "Bat"
2090     Nop=101
2100     SELECT Src$(Src_no)
2110     CASE "VOLT"
2120       STOP
2130     CASE "CURR"
2140       Vlimit=4
2150       Alimit=.01
2160       Source_min=1.E-5 !시작
2170       Source_max=.1   !종료 V=1      !LED=10
2180     END SELECT 
2190   CASE "Motor"
2200     Nop=801
2210     SELECT Src$(Src_no)
2220     CASE "VOLT"
2230       STOP
2240     CASE "CURR"
2250       Vlimit=4
2260       Alimit=1
2270       Source_min=1.E-6 !시작
2280       Source_max=.1   !종료 V=1      !LED=10
2290     END SELECT 
2300   CASE "P-PTC"
2310     Nop=401
2320     SELECT Src$(Src_no)
2330     CASE "VOLT"
2340       Vlimit=32
2350       Alimit=2
2360       Source_min=.001  !시작 V=1
2370       Source_max=10   !종료 V=100
2380     CASE "CURR"
2390       Vlimit=5
2400       Alimit=2
2410       Source_min=1    !시작
2420       Source_max=2    !종료 V=1      !LED=10
2430     END SELECT 
2440   CASE "12Vcoil"
2450     Nop=801
2460     SELECT Src$(Src_no)
2470     CASE "VOLT"
2480       Vlimit=32
2490       Alimit=1
2500       Source_min=7     !시작 V=6.5
2510       Source_max=3.   !종료 V=7
2520     CASE ELSE 
2530       STOP
2540     END SELECT 
2550   CASE "Buzzer"
2560     Nop=201
2570     SELECT Src$(Src_no)
2580     CASE "VOLT"
2590       Vlimit=32
2600       Alimit=1
2610       Source_min=1.2   !시작 V=6.5
2620       Source_max=.5   !종료 V=7
2630     CASE ELSE 
2640       STOP
2650     END SELECT 
2660   END SELECT 
2670   RETURN
2680 Measure:!
2690   OUTPUT @Src;"E" !on
2700   SELECT Src$(Src_no)
2710   CASE "VOLT","TIME"
2720     OUTPUT @File;"No., Elapsed-Time[s], Source-Volt[V], Measured-Curr[A]"
2730    !V3 320mV, V4 3.2V, V5=32V, V6=110V
2740     Cmd$="V6"    !110V
2750     SELECT Vlimit
2760     CASE >32
2770       Cmd$="V5"
2780     CASE >3.2
2790       Cmd$="V4"
2800     CASE >.32
2810       Cmd$="V3"
2820     END SELECT 
2830     OUTPUT @Src;Cmd$
2840     Cmd$=Cmd$&" D "&VAL$(Alimit)&"A"   !전류 한계
2850     OUTPUT @Src;Cmd$
2860   CASE "CURR"
2870     OUTPUT @File;"No., Elapsed-Time[s], Measure-Volt[V], Source-Curr[A]"
2880    !I-1 32uA, I0 320uA, I1 3.2mA, I2 32mA, I3 320mA, I4 2A
2890     SELECT Alimit
2900     CASE <32*1.E-6
2910       Cmd$="I-1"
2920     CASE <320*1.E-6
2930       Cmd$="I0"
2940     CASE <3.2*.001
2950       Cmd$="I1"
2960     CASE <32*.001
2970       Cmd$="I2"
2980     CASE <320*.001
2990       Cmd$="I3"
3000     CASE <=2
3010       Cmd$="I4"
3020     END SELECT 
3030     Cmd$="I-1"
3040  !  OUTPUT @Src;Cmd$
3050     Cmd$=Cmd$&" D "&VAL$(Vlimit)&"V"   !전압 한계
3060     OUTPUT @Src;Cmd$
3070   END SELECT 
3080   T0=TIMEDATE
3090   I=0
3100   SELECT Src$(Src_no)
3110   CASE "TIME"
3120     LOOP
3130       I=I+1
3140       IF I=1 THEN GOSUB Reading !첫측정에 종전 데이터가 버퍼에 있기 때문에
3150       IF I=1 THEN GOSUB Reading !
3160       T1=TIMEDATE-T0
3170       Stimulus=Vlimit
3180       SELECT Stimulus
3190       CASE >1
3200         Stimulus1=Stimulus
3210         Unit$="V"
3220       CASE ELSE 
3230         Stimulus1=Stimulus*1000
3240         Unit$="MV"
3250       END SELECT 
3260       Cmd$=" D "&VAL$(Vlimit)&Unit$
3270       OUTPUT @Src;Cmd$
3280       GOSUB Reading
3290       Volt=Stimulus
3300       Curr=Data
3310       IF Curr=0 THEN Curr=1.E-9
3320       R=Volt/Curr
3330       PRINT "Count=";I;", T=";PROUND(T1,-4);"s, V=";Volt;"V, I=";Curr;"A, R=";PROUND(R,-4)
3340       OUTPUT @File;I,T1,Volt,Curr
3350     EXIT IF T1>3600
3360     END LOOP 
3370   CASE "VOLT","CURR"
3380  !  FOR I=1 TO Nop
3390     I=0
3400     LOOP
3410       I=I+1
3420       SELECT Sweep$(Sweep_no)
3430       CASE "LOG"
3440         K=(Source_max/Source_min)^(1/(Nop-1))
3450         Stimulus=Source_min*K^(I-1)
3460       CASE "LIN"
3470         IF Source_max>Source_min THEN
3480           Stimulus=Source_min+(Source_max-Source_min)/(Nop-1)*(I-1)
3490         ELSE !!!!!!!!!!!! 하강
3500           Stimulus=Source_min-(Source_min-Source_max)/(Nop-1)*(I-1)
3510         END IF 
3520       END SELECT 
3530     ! stimulus 크기에 따라 V,MV,A,MA,UA로 변환
3540       SELECT Src$(Src_no)
3550       CASE "VOLT"
3560         SELECT Stimulus
3570         CASE >1
3580           Stimulus1=Stimulus
3590           Unit$="V"
3600         CASE ELSE 
3610           Stimulus1=Stimulus*1000
3620           Unit$="MV"
3630         END SELECT 
3640       CASE "CURR"
3650         SELECT Stimulus
3660         CASE >1
3670           Stimulus1=Stimulus
3680           Unit$="A"
3690         CASE >.001
3700           Stimulus1=Stimulus*1000
3710           Unit$="MA"
3720         CASE >1.E-6
3730           Stimulus1=Stimulus*1.E+6
3740           Unit$="UA"
3750         CASE >1.E-9
3760           Stimulus1=Stimulus*1.E+6
3770           Unit$="UA"
3780         END SELECT 
3790       END SELECT 
3800       Stimulus=DROUND(Stimulus,5)
3810       Stimulus1=DROUND(Stimulus1,5)
3820     !
3830       SELECT Dut$(Dut_no)
3840       CASE "Bat"
3850         Cmd$=" D "&VAL$(-Stimulus1)&Unit$
3860       CASE ELSE 
3870         Cmd$=" D "&VAL$(Stimulus1)&Unit$
3880       END SELECT 
3890       OUTPUT @Src;Cmd$
3900     !
3910       WAIT Wait! 너무 빠르면 오차 발생하므로 0.04초가 문제없다.
3920       T1=TIMEDATE-T0
3930       IF I=1 THEN GOSUB Reading !첫측정에 종전 데이터가 버퍼에 있기 때문에
3940       IF I=1 THEN GOSUB Reading !첫측정에 종전 데이터가 버퍼에 있기 때문에
3950       GOSUB Reading
3960   !   WAIT 1
3970       SELECT Src$(Src_no)
3980       CASE "VOLT"
3990         Volt=Stimulus
4000         IF Data<0 THEN Data=1.E-9  !-부호 방지
4010         Curr=Data
4020       CASE "CURR"
4030         Curr=Stimulus
4040         Volt=Data
4050       END SELECT 
4060       IF Curr=0 THEN Curr=1.E-9
4070       R=Volt/Curr
4080       PRINT "Count=";I;", T=";PROUND(T1,-4);"s, V=";Volt;"V, I=";Curr;"A, R=";PROUND(R,-4)
4090       OUTPUT @File;I,T1,Volt,Curr
4100     EXIT IF PROUND(Volt,-4)>=Vlimit
4110  !  EXIT IF ABS(Curr-Alimit)/Alimit*100<1  !전류 최대값에 1%이내  !!!!!!!!!!!!!!!!!!!!!!!!!!!!
4120     EXIT IF I=Nop
4130     END LOOP 
4140  !  NEXT I
4150   END SELECT 
4160   !전류 전압을 0으로
4170   Cmd$=" D 0"&Unit$
4180   OUTPUT @Src;Cmd$
4190   OUTPUT @Src;"H" !off
4200   RETURN
4210 Reading: !
4220   ENTER @Src;A$
4230   Data=VAL(A$[3,13])
4240   RETURN
4250 Inst_open: !
4260   ASSIGN @Src TO 714    !advantest TR6143
4270   RETURN
4280 Fileopen:!
4290   DIM Dhms$[8]
4300   DIM Filename$[20]
4310   T=TIMEDATE
4320   Time$=TIME$(T) !하루 추가 +24*3600
4330   Date$=DATE$(T)
4340   Dhms$=Date$[1;2]&Time$[1;2]&Time$[4;2]&Time$[7;2]
4350   Filename$=Dhms$&".txt"
4360   CREATE Filename$,1
4370   ASSIGN @File TO Filename$;FORMAT ON
4380   RETURN
4390   END