"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