"7651-01.txt"의 두 판 사이의 차이
(새 문서: <pre> 10 !2020/05/01 Yokogawa 7651 DC Source로 출력 + HP3458A DMM으로 측정 20 ! DC 전압: 10mV +-12.0000mV 100mV +-120.000mV 1V +-1.20000V 10V +-12.0000V 30V +-32.000V...) |
|||
(같은 사용자의 중간 판 하나는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
+ | [[Yokogawa 7651]] | ||
<pre> | <pre> | ||
− | 10 !2020/05/ | + | 10 !2020/05/04 Yokogawa 7651 DC Source로 출력 + HP3458A DMM으로 측정 |
20 ! DC 전압: 10mV +-12.0000mV 100mV +-120.000mV 1V +-1.20000V 10V +-12.0000V 30V +-32.000V | 20 ! DC 전압: 10mV +-12.0000mV 100mV +-120.000mV 1V +-1.20000V 10V +-12.0000V 30V +-32.000V | ||
30 ! DC 전류: 1mA +-1.20000mA(10nA) 10mA +-12.0000mA 100mA +-120.000mA(1uA) | 30 ! DC 전류: 1mA +-1.20000mA(10nA) 10mA +-12.0000mA 100mA +-120.000mA(1uA) | ||
10번째 줄: | 11번째 줄: | ||
90 ! 트리거: E - 기능,범위,출력값,출력ON/OFF 명령어 뒤에 반드시 사용해야 한다. | 90 ! 트리거: E - 기능,범위,출력값,출력ON/OFF 명령어 뒤에 반드시 사용해야 한다. | ||
100 ! 출력값 확인: OD, 출력 헤더 H0, H1 - 헤더 없고 있고 | 100 ! 출력값 확인: OD, 출력 헤더 H0, H1 - 헤더 없고 있고 | ||
− | + | 110 ! xmin, xmax, nop 로그계산방법 | |
− | + | 120 ! k=(xmax/xmin)^(1/(nop-1)) | |
− | + | 130 ! x=xmin*k^(n-1) n=1,...,nop | |
− | + | 140 DIM Str$[255] | |
− | + | 150 INTEGER I,Nop,Count,Sign | |
− | + | 160 GOSUB Fileopen | |
− | + | 170 ASSIGN @Src TO 703 !Yokogawa 7651 | |
− | + | 180 ASSIGN @Dmm TO 722 !HP 3458A | |
− | + | 190 T0=TIMEDATE | |
− | + | 200 OUTPUT @Src;"H0" !출력데이터에서 헤더 off | |
− | + | 210 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | |
− | + | 220 GOSUB Measurement | |
− | 270 OUTPUT @ | + | 230 ! GOSUB Calibration |
− | 280 OUTPUT @ | + | 240 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
− | 290 | + | 250 STOP |
− | 300 | + | 260 Calibration: ! |
− | 310 | + | 270 OUTPUT @Src;"F1E" !DCV |
− | 320 | + | 280 OUTPUT @Src;"R2E" !10mV range |
− | 330 | + | 290 GOSUB Cal |
− | 340 | + | 300 OUTPUT @Src;"R3E" !100mV range |
− | 350 | + | 310 GOSUB Cal |
− | + | 320 OUTPUT @Src;"R4E" !1V range | |
− | 370 | + | 330 GOSUB Cal |
− | 380 | + | 340 OUTPUT @Src;"R5E" !10V range |
− | 390 | + | 350 GOSUB Cal |
− | 400 | + | 360 OUTPUT @Src;"R6E" !100V range |
− | 410 | + | 370 GOSUB Cal |
− | 420 | + | 380 Str$="전류 측정합니다. DMM을 전류측정으로 세팅하고 단자를 전류로 꼽으시요" |
− | 430 | + | 390 DIALOG "INFORMATION",Str$,Btn |
− | 440 | + | 400 OUTPUT @Src;"F5E" !DCI |
− | 450 | + | 410 OUTPUT @Src;"R4E" !1mA range |
− | 460 | + | 420 GOSUB Cal |
− | 470 | + | 430 OUTPUT @Src;"R5E" !10mA range |
− | 480 | + | 440 GOSUB Cal |
− | 490 | + | 450 OUTPUT @Src;"R6E" !100mA range |
− | 500 | + | 460 GOSUB Cal |
− | 510 | + | 470 RETURN |
− | 520 | + | 480 Measurement: ! |
− | 530 | + | 490 Nop=101 |
− | 540 | + | 500 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
− | + | 510 Str$="전압 측정합니다. DMM을 전압측정으로 세팅하고 단자를 전압에 꼽으시요" | |
− | + | 520 DIALOG "INFORMATION",Str$,Btn | |
− | + | 530 OUTPUT @Src;"F1E" !func DCV | |
− | 580 | + | 540 Min=1.E-6 ! min = 0.1uV이지만 의미있는 1uV부터 |
− | 590 | + | 550 Max=32 !32V |
− | 600 | + | 560 OUTPUT @File;"No., Time[s], Yokogawa7651 set[V], HP3458A meas[V], Diff[ppm]" |
− | 610 | + | 570 OUTPUT @Src;"R2E" !range 1mA |
− | + | 580 GOSUB Discharge | |
− | 630 | + | 590 Sign=-1 |
− | 640 | + | 600 GOSUB Meas_loop |
− | 650 | + | 610 OUTPUT @Src;"R2E" !range 10mV |
− | 660 | + | 620 GOSUB Discharge |
− | 670 | + | 630 Sign=+1 |
− | 680 | + | 640 GOSUB Meas_loop |
− | 690 | + | 650 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
− | 700 | + | 660 Str$="전류 측정합니다. DMM을 전류측정으로 세팅하고 단자를 전류에 꼽으시요" |
− | 710 | + | 670 DIALOG "INFORMATION",Str$,Btn |
− | 720 | + | 680 OUTPUT @Src;"F5E" |
− | + | 690 Min=1.E-8 ! 10nA에서부터 | |
− | 740 | + | 700 Max=.12 ! 120mA까지 |
− | 750 | + | 710 OUTPUT @File;"No., Time[s], Yokogawa7651 set[A], HP3458A meas[A], Diff[ppm]" |
− | 760 OUTPUT @ | + | 720 OUTPUT @Src;"R4E" !range 1mA |
− | 770 | + | 730 GOSUB Discharge |
− | 780 | + | 740 Sign=-1 |
− | 790 | + | 750 GOSUB Meas_loop |
− | + | 760 OUTPUT @Src;"R4E" !range 1mA | |
− | + | 770 GOSUB Discharge | |
− | 820 | + | 780 Sign=+1 |
− | 830 | + | 790 GOSUB Meas_loop |
− | 840 | + | 800 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
− | 850 | + | 810 OUTPUT @Dmm;"TRIG AUTO" |
− | 860 | + | 820 STOP |
− | + | 830 Discharge: ! | |
− | 880 | + | 840 FOR I=1 TO 10 !Max 값으로 측정한 후 남은 전하를 방전하자. |
− | 890 | + | 850 OUTPUT @Src;"O1E" !output ON |
− | 900 | + | 860 OUTPUT @Src;"SA";1.E-7*Sign;"E" |
+ | 870 WAIT .1 | ||
+ | 880 OUTPUT @Src;"O0E" !output OFF | ||
+ | 890 WAIT .1 | ||
+ | 900 NEXT I | ||
910 RETURN | 910 RETURN | ||
− | 920 END | + | 920 Meas_loop: ! |
+ | 930 OUTPUT @Src;"O1E" !output ON | ||
+ | 940 FOR I=1 TO Nop | ||
+ | 950 Count=I | ||
+ | 960 T1=TIMEDATE-T0 | ||
+ | 970 K=(Max/Min)^(1/(Nop-1)) | ||
+ | 980 V=Min*K^(I-1) | ||
+ | 990 V=Sign*V !세팅값이 -인지 +인지 | ||
+ | 1000 V=DROUND(V,6) !입력 유효자리수 6 | ||
+ | 1010 OUTPUT @Src;"SA";V;"E" | ||
+ | 1020 WAIT .1 | ||
+ | 1030 GOSUB Source_reading !V0 = 소스 세팅값을 읽는다. | ||
+ | 1040 DISP "set error=";DROUND(ABS((V0-V)/V)*1.E+6,2);"ppm" | ||
+ | 1050 OUTPUT @Dmm;"TRIG SGL" | ||
+ | 1060 ENTER @Dmm;V1 | ||
+ | 1070 V2=DROUND(ABS((V1-V0)/V0)*1.E+6,2) ! ppm 오차 | ||
+ | 1080 PRINT "No.=";Count," Set=";V0," Meas=";V1," Diff=";V2;"ppm" | ||
+ | 1090 OUTPUT @File;Count,T1,V0,V1,V2 | ||
+ | 1100 NEXT I | ||
+ | 1110 OUTPUT @Src;"O0E" !output OFF | ||
+ | 1120 RETURN | ||
+ | 1130 Source_reading:!! | ||
+ | 1140 OUTPUT 703;"OD" | ||
+ | 1150 ENTER 703;V0 | ||
+ | 1160 RETURN | ||
+ | 1170 Fileopen: ! | ||
+ | 1180 DIM Filename$[20],Dhms$[8] | ||
+ | 1190 Time$=TIME$(TIMEDATE) | ||
+ | 1200 Date$=DATE$(TIMEDATE) | ||
+ | 1210 Dhms$=Date$[1;2]&Time$[1;2]&Time$[4;2]&Time$[7;2] | ||
+ | 1220 Filename$=Dhms$&".txt" | ||
+ | 1230 CREATE Filename$,1 | ||
+ | 1240 ASSIGN @File TO Filename$;FORMAT ON | ||
+ | 1250 RETURN | ||
+ | 1260 Dmm_reading: ! | ||
+ | 1270 OUTPUT @Dmm;"TRIG SGL" | ||
+ | 1280 ENTER @Dmm;Rdg | ||
+ | 1290 Rdg=DROUND(Rdg,7) | ||
+ | 1300 RETURN | ||
+ | 1310 Cal: ! 출력 ON하고 세팅하고, OFF하고 range 변경해야 한다. | ||
+ | 1320 OUTPUT @Src;"O1E" !output ON | ||
+ | 1330 ! +zero | ||
+ | 1340 OUTPUT @Src;"YZP0" | ||
+ | 1350 GOSUB Dmm_reading | ||
+ | 1360 OUTPUT @Src;"YZS";Rdg | ||
+ | 1370 ! +full | ||
+ | 1380 OUTPUT @Src;"YZP1" | ||
+ | 1390 GOSUB Dmm_reading | ||
+ | 1400 OUTPUT @Src;"YZS";Rdg | ||
+ | 1410 ! -zero | ||
+ | 1420 OUTPUT @Src;"YZP2" | ||
+ | 1430 GOSUB Dmm_reading | ||
+ | 1440 OUTPUT @Src;"YZS";Rdg | ||
+ | 1450 ! -full | ||
+ | 1460 OUTPUT @Src;"YZP3" | ||
+ | 1470 GOSUB Dmm_reading | ||
+ | 1480 OUTPUT @Src;"YZS";Rdg | ||
+ | 1490 ! end | ||
+ | 1500 OUTPUT @Src;"YZW" !write | ||
+ | 1510 OUTPUT @Src;"O0E" !output OFF | ||
+ | 1520 RETURN | ||
+ | 1530 END | ||
</pre> | </pre> |
2020년 5월 4일 (월) 12:50 기준 최신판
10 !2020/05/04 Yokogawa 7651 DC Source로 출력 + HP3458A DMM으로 측정 20 ! DC 전압: 10mV +-12.0000mV 100mV +-120.000mV 1V +-1.20000V 10V +-12.0000V 30V +-32.000V 30 ! DC 전류: 1mA +-1.20000mA(10nA) 10mA +-12.0000mA 100mA +-120.000mA(1uA) 40 ! 기능: DCV F1, 범위 10mV:R2, 100mV:R3, 1V:R4, 10V:R5, 30V:R6 50 ! DCA F5, 범위 1mA:R4, 10mA:R5, 100mA:R6 60 ! 세팅: S+nn.nnEnn 또는 S-0.00001 70 ! 자동범위에서 세팅: SA 80 ! 출력 ON/OFF: O0 및 O1 90 ! 트리거: E - 기능,범위,출력값,출력ON/OFF 명령어 뒤에 반드시 사용해야 한다. 100 ! 출력값 확인: OD, 출력 헤더 H0, H1 - 헤더 없고 있고 110 ! xmin, xmax, nop 로그계산방법 120 ! k=(xmax/xmin)^(1/(nop-1)) 130 ! x=xmin*k^(n-1) n=1,...,nop 140 DIM Str$[255] 150 INTEGER I,Nop,Count,Sign 160 GOSUB Fileopen 170 ASSIGN @Src TO 703 !Yokogawa 7651 180 ASSIGN @Dmm TO 722 !HP 3458A 190 T0=TIMEDATE 200 OUTPUT @Src;"H0" !출력데이터에서 헤더 off 210 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 220 GOSUB Measurement 230 ! GOSUB Calibration 240 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 250 STOP 260 Calibration: ! 270 OUTPUT @Src;"F1E" !DCV 280 OUTPUT @Src;"R2E" !10mV range 290 GOSUB Cal 300 OUTPUT @Src;"R3E" !100mV range 310 GOSUB Cal 320 OUTPUT @Src;"R4E" !1V range 330 GOSUB Cal 340 OUTPUT @Src;"R5E" !10V range 350 GOSUB Cal 360 OUTPUT @Src;"R6E" !100V range 370 GOSUB Cal 380 Str$="전류 측정합니다. DMM을 전류측정으로 세팅하고 단자를 전류로 꼽으시요" 390 DIALOG "INFORMATION",Str$,Btn 400 OUTPUT @Src;"F5E" !DCI 410 OUTPUT @Src;"R4E" !1mA range 420 GOSUB Cal 430 OUTPUT @Src;"R5E" !10mA range 440 GOSUB Cal 450 OUTPUT @Src;"R6E" !100mA range 460 GOSUB Cal 470 RETURN 480 Measurement: ! 490 Nop=101 500 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 510 Str$="전압 측정합니다. DMM을 전압측정으로 세팅하고 단자를 전압에 꼽으시요" 520 DIALOG "INFORMATION",Str$,Btn 530 OUTPUT @Src;"F1E" !func DCV 540 Min=1.E-6 ! min = 0.1uV이지만 의미있는 1uV부터 550 Max=32 !32V 560 OUTPUT @File;"No., Time[s], Yokogawa7651 set[V], HP3458A meas[V], Diff[ppm]" 570 OUTPUT @Src;"R2E" !range 1mA 580 GOSUB Discharge 590 Sign=-1 600 GOSUB Meas_loop 610 OUTPUT @Src;"R2E" !range 10mV 620 GOSUB Discharge 630 Sign=+1 640 GOSUB Meas_loop 650 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 660 Str$="전류 측정합니다. DMM을 전류측정으로 세팅하고 단자를 전류에 꼽으시요" 670 DIALOG "INFORMATION",Str$,Btn 680 OUTPUT @Src;"F5E" 690 Min=1.E-8 ! 10nA에서부터 700 Max=.12 ! 120mA까지 710 OUTPUT @File;"No., Time[s], Yokogawa7651 set[A], HP3458A meas[A], Diff[ppm]" 720 OUTPUT @Src;"R4E" !range 1mA 730 GOSUB Discharge 740 Sign=-1 750 GOSUB Meas_loop 760 OUTPUT @Src;"R4E" !range 1mA 770 GOSUB Discharge 780 Sign=+1 790 GOSUB Meas_loop 800 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 810 OUTPUT @Dmm;"TRIG AUTO" 820 STOP 830 Discharge: ! 840 FOR I=1 TO 10 !Max 값으로 측정한 후 남은 전하를 방전하자. 850 OUTPUT @Src;"O1E" !output ON 860 OUTPUT @Src;"SA";1.E-7*Sign;"E" 870 WAIT .1 880 OUTPUT @Src;"O0E" !output OFF 890 WAIT .1 900 NEXT I 910 RETURN 920 Meas_loop: ! 930 OUTPUT @Src;"O1E" !output ON 940 FOR I=1 TO Nop 950 Count=I 960 T1=TIMEDATE-T0 970 K=(Max/Min)^(1/(Nop-1)) 980 V=Min*K^(I-1) 990 V=Sign*V !세팅값이 -인지 +인지 1000 V=DROUND(V,6) !입력 유효자리수 6 1010 OUTPUT @Src;"SA";V;"E" 1020 WAIT .1 1030 GOSUB Source_reading !V0 = 소스 세팅값을 읽는다. 1040 DISP "set error=";DROUND(ABS((V0-V)/V)*1.E+6,2);"ppm" 1050 OUTPUT @Dmm;"TRIG SGL" 1060 ENTER @Dmm;V1 1070 V2=DROUND(ABS((V1-V0)/V0)*1.E+6,2) ! ppm 오차 1080 PRINT "No.=";Count," Set=";V0," Meas=";V1," Diff=";V2;"ppm" 1090 OUTPUT @File;Count,T1,V0,V1,V2 1100 NEXT I 1110 OUTPUT @Src;"O0E" !output OFF 1120 RETURN 1130 Source_reading:!! 1140 OUTPUT 703;"OD" 1150 ENTER 703;V0 1160 RETURN 1170 Fileopen: ! 1180 DIM Filename$[20],Dhms$[8] 1190 Time$=TIME$(TIMEDATE) 1200 Date$=DATE$(TIMEDATE) 1210 Dhms$=Date$[1;2]&Time$[1;2]&Time$[4;2]&Time$[7;2] 1220 Filename$=Dhms$&".txt" 1230 CREATE Filename$,1 1240 ASSIGN @File TO Filename$;FORMAT ON 1250 RETURN 1260 Dmm_reading: ! 1270 OUTPUT @Dmm;"TRIG SGL" 1280 ENTER @Dmm;Rdg 1290 Rdg=DROUND(Rdg,7) 1300 RETURN 1310 Cal: ! 출력 ON하고 세팅하고, OFF하고 range 변경해야 한다. 1320 OUTPUT @Src;"O1E" !output ON 1330 ! +zero 1340 OUTPUT @Src;"YZP0" 1350 GOSUB Dmm_reading 1360 OUTPUT @Src;"YZS";Rdg 1370 ! +full 1380 OUTPUT @Src;"YZP1" 1390 GOSUB Dmm_reading 1400 OUTPUT @Src;"YZS";Rdg 1410 ! -zero 1420 OUTPUT @Src;"YZP2" 1430 GOSUB Dmm_reading 1440 OUTPUT @Src;"YZS";Rdg 1450 ! -full 1460 OUTPUT @Src;"YZP3" 1470 GOSUB Dmm_reading 1480 OUTPUT @Src;"YZS";Rdg 1490 ! end 1500 OUTPUT @Src;"YZW" !write 1510 OUTPUT @Src;"O0E" !output OFF 1520 RETURN 1530 END