SU-3458.txt
Togotech (토론 | 기여)님의 2020년 11월 20일 (금) 09:01 판 (새 문서: Espec SU-222 <pre> 10 !chamber SU-222 + 3458A DMM 20 ! 2019-4-1 30 OPTION BASE 1 40 INTEGER Count 50 DIM Filename$[20],Dhms$[8] 60 DIM Msg$[100] 70 Tim...)
10 !chamber SU-222 + 3458A DMM 20 ! 2019-4-1 30 OPTION BASE 1 40 INTEGER Count 50 DIM Filename$[20],Dhms$[8] 60 DIM Msg$[100] 70 Time$=TIME$(TIMEDATE) 80 Date$=DATE$(TIMEDATE) 90 Dhms$=Date$[1;2]&Time$[1;2]&Time$[4;2]&Time$[7;2] 100 Filename$=Dhms$&".txt" 110 ASSIGN @Su TO 701 120 ASSIGN @Dmm TO 722 130 CLEAR SCREEN 140 CREATE Filename$,1 150 ASSIGN @File TO Filename$;FORMAT ON 160 OUTPUT @File;"Count, Time[m], Temp['C], Meas Value" 170 Count=0 180 T0=TIMEDATE 190 ! GOSUB Measure1 ! 온도에서 0.1도 변하면 200 GOSUB Measure2 ! 측정값에서 오차 발생 210 ! GOSUB Measure3 ! 5초마다 온도, 측정값에서 오차 220 ! OUTPUT @Su;"TEMP,S25" 230 OUTPUT @Su;"POWER,OFF" 240 STOP 250 Measure1: !온도 오차 260 Temp0=0 270 OUTPUT @Dmm;"NPLC 10" 280 LOOP 290 T1=(TIMEDATE-T0) 300 GOSUB Meas_temp 310 IF Temp0<>Temp THEN !온도 변화가 0.1 발생되면 320 Count=Count+1 330 OUTPUT @Dmm;"TRIG SGL" 340 ENTER @Dmm;Value 350 PRINT "Count=";Count;", Elapsed Time=";DROUND(T1,3);"s, Temp=";Temp;"'C,";" Meas=";DROUND(Value,6) 360 OUTPUT @File;Count,T1/60.,Temp,Value 370 Temp0=Temp 380 END IF 390 EXIT IF (T1/60.)>360 ! 360=6 hours 400 END LOOP 410 RETURN 420 Measure2: !측정값 오차, 온도까지 읽으면 샘플링이 늦어진다. 430 Value0=0 440 OUTPUT @Dmm;"NPLC 1" 450 LOOP 460 T1=(TIMEDATE-T0) 470 OUTPUT @Dmm;"TRIG SGL" 480 ENTER @Dmm;Value 490 Diff=ABS((Value0-Value)/Value) 500 IF Diff>.001 THEN !측정값에서 .1% 차이가 발생되면 510 Count=Count+1 520 GOSUB Meas_temp 530 PRINT "Count=";Count;", Elapsed Time=";PROUND(T1,-4);"s, Temp=";Temp;"'C,";" Meas=";PROUND(Value,-4) 540 OUTPUT @File;Count,T1/60.,Temp,Value 550 Value0=Value 560 END IF 570 EXIT IF (T1/60.)>360 ! 360=6 hours 580 END LOOP 590 RETURN 600 Measure3: !측정값 오차 및 온도 오차 610 Value0=0 620 Temp0=0 630 OUTPUT @Dmm;"NPLC 1" 640 ON CYCLE 5 GOSUB Meas_temp2 650 LOOP 660 T1=(TIMEDATE-T0) 670 OUTPUT @Dmm;"TRIG SGL" 680 ENTER @Dmm;Value 690 Diff=ABS((Value0-Value)/Value) 700 IF Diff>.005 THEN !측정값에서 .5% 차이가 발생되면 710 Count=Count+1 720 PRINT "Count=";Count;", Elapsed Time=";PROUND(T1,-4);"s, Temp=";Temp;"'C,";" Meas=";PROUND(Value,-4) 730 OUTPUT @File;Count,T1/60.,Temp,Value 740 Value0=Value 750 END IF 760 EXIT IF (T1/60.)>360 ! 360=6 hours 770 END LOOP 780 RETURN 790 Meas_temp: ! 800 OUTPUT @Su;"TEMP?" 810 WAIT .1 820 ENTER @Su;Temp,Tmp,Tmp,Tmp 830 RETURN 840 Meas_temp2: ! 850 OUTPUT @Su;"TEMP?" 860 WAIT .1 870 ENTER @Su;Temp,Tmp,Tmp,Tmp 880 IF Temp0<>Temp THEN !온도 변화가 0.1 발생되면 890 Count=Count+1 900 PRINT "Count=";Count;", Elapsed Time=";PROUND(T1,-4);"s, Temp=";Temp;"'C,";" Meas=";PROUND(Value,-4) 910 OUTPUT @File;Count,T1/60.,Temp,Value 920 Temp0=Temp 930 END IF 940 RETURN 950 END