"BM5A-01.txt"의 두 판 사이의 차이
(새 문서: Topcon BM-5A 색채휘도계 <pre> 10 CLEAR SCREEN 20 DIM A$[55] 30 GOSUB Fileopen 40 ASSIGN @Bm5a TO 701 50 OUTPUT @Bm5a;"ST" 60 ENTER @Bm5a;A$ 70 DI...) |
잔글 |
||
(같은 사용자의 중간 판 하나는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
[[Topcon BM-5A 색채휘도계]] | [[Topcon BM-5A 색채휘도계]] | ||
<pre> | <pre> | ||
− | 10 CLEAR SCREEN | + | 10 ! 1 2 3 4 5 6 7 8 |
− | + | 20 !12345678901234567890123456789012345678901234567890123456789012345678901234567890 | |
− | + | 30 !D0TFRAR2UCF2 Tc = 8202 duv= 0.017 X= 2.609E+01 Y= 3.003E+01 Z= 3.551E+01 | |
− | + | 40 CLEAR SCREEN | |
− | 50 | + | 50 OPTION BASE 1 |
− | + | 60 DIM A$[90],Eol$[1] | |
− | + | 70 INTEGER No,Stat,Pos1,Pos_x,Pos_y,Pos_z | |
− | + | 80 GOSUB Fileopen | |
− | + | 90 Eol$=CHR$(13) | |
− | + | 100 ASSIGN @Bm5a TO 701;EOL Eol$ | |
− | + | 110 Meas=2 !!!!!!!!!!!!!!!!!!!!!!! | |
− | + | 120 SELECT Meas | |
− | + | 130 CASE 1 !순수한 측정 | |
− | + | 140 OUTPUT @File;"No.,Time,Stat,Range,FOV,Tc,duv,X,Y,Z,x,y,u',v'" | |
− | + | 150 FOR No=1 TO 10 | |
− | + | 160 GOSUB Measure | |
− | + | 170 OUTPUT @File;No,Time$;",";Stat,Range,Fov,Tc,Duv,X,Y,Z,Xs,Ys,U,V | |
− | + | 180 NEXT No | |
− | + | 190 CASE 2 !AC 전압 100~220V 에 따른 측정 | |
+ | 200 ASSIGN @Power TO 705 | ||
+ | 210 OUTPUT @Power;"CURR:LEV 1" !!!!!!!!!!!! 1A | ||
+ | 220 OUTPUT @Power;"OUTP ON" | ||
+ | 230 OUTPUT @File;"No.,Time,ACV[V],Stat,Range,FOV,Tc,duv,X,Y,Z,x,y,u',v'" | ||
+ | 240 FOR No=50 TO 220 | ||
+ | 250 OUTPUT @Power;"VOLT ";No | ||
+ | 260 GOSUB Measure | ||
+ | 270 OUTPUT @File;No-49,Time$;",";No,Stat,Range,Fov,Tc,Duv,X,Y,Z,Xs,Ys,U,V | ||
+ | 280 NEXT No | ||
+ | 290 OUTPUT @Power;"VOLT 0" | ||
+ | 300 OUTPUT @Power;"OUTP OFF" | ||
+ | 310 END SELECT | ||
+ | 320 STOP | ||
+ | 330 Measure: ! | ||
+ | 340 OUTPUT @Bm5a;"M2 ST" | ||
+ | 350 Time$=TIME$(TIMEDATE) | ||
+ | 360 WAIT .1 | ||
+ | 370 ENTER @Bm5a;A$ | ||
+ | 380 DISP No,Time$,A$ | ||
+ | 390 Stat=VAL(A$[2,2]) | ||
+ | 400 IF Stat=0 THEN !측정 데이터가 정상이면 수행한다. | ||
+ | 410 ! 첫측정만 유효하다. !!!!!! | ||
+ | 420 Range=VAL(A$[8,8]) ! 1,2,3,4,5 | ||
+ | 430 SELECT VAL(A$[12,12]) ! 1,2,3,4 | ||
+ | 440 CASE 1 | ||
+ | 450 Fov=.1 !degree | ||
+ | 460 CASE 2 | ||
+ | 470 Fov=.2 | ||
+ | 480 CASE 3 | ||
+ | 490 Fov=1 | ||
+ | 500 CASE 4 | ||
+ | 510 Fov=2 | ||
+ | 520 END SELECT | ||
+ | 530 !!!!!!!!!!!!!!!!!!!!!!!!!! | ||
+ | 540 Pos1=POS(A$,"Tc =") | ||
+ | 550 IF A$[Pos1+5,Pos1+5]="*" THEN | ||
+ | 560 Tc=0 | ||
+ | 570 Duv=0 | ||
+ | 580 Pos_x=POS(A$,"X=") | ||
+ | 590 Pos_y=POS(A$,"Y=") | ||
+ | 600 Pos_z=POS(A$,"Z=") | ||
+ | 610 X=VAL(A$[Pos_x+4,Pos_x+12]) | ||
+ | 620 Y=VAL(A$[Pos_y+4,Pos_y+12]) | ||
+ | 630 Z=VAL(A$[Pos_z+4,Pos_z+12]) | ||
+ | 640 ELSE | ||
+ | 650 Tc=VAL(A$[18,23]) | ||
+ | 660 Duv=VAL(A$[29,34]) | ||
+ | 670 X=VAL(A$[39,47]) | ||
+ | 680 Y=VAL(A$[52,60]) | ||
+ | 690 Z=VAL(A$[65,73]) | ||
+ | 700 END IF | ||
+ | 710 Xs=PROUND(X/(X+Y+Z),-4) !Xs=x | ||
+ | 720 Ys=PROUND(Y/(X+Y+Z),-4) !Ys=y | ||
+ | 730 U=PROUND(4*X/(X+15*Y+3*Z),-4) | ||
+ | 740 V=PROUND(9*Y/(X+15*Y+3*Z),-4) | ||
+ | 750 END IF | ||
+ | 760 RETURN | ||
+ | 770 Fileopen: ! | ||
+ | 780 DIM Filename$[20],Dhms$[8],Time$[8],Date$[11] | ||
+ | 790 Time$=TIME$(TIMEDATE) | ||
+ | 800 Date$=DATE$(TIMEDATE) | ||
+ | 810 Dhms$=Date$[1;2]&Time$[1;2]&Time$[4;2]&Time$[7;2] | ||
+ | 820 Filename$=Dhms$&".txt" | ||
+ | 830 CREATE Filename$,1 | ||
+ | 840 ASSIGN @File TO Filename$;FORMAT ON | ||
+ | 850 RETURN | ||
+ | 860 END | ||
</pre> | </pre> |
2024년 3월 13일 (수) 16:18 기준 최신판
10 ! 1 2 3 4 5 6 7 8 20 !12345678901234567890123456789012345678901234567890123456789012345678901234567890 30 !D0TFRAR2UCF2 Tc = 8202 duv= 0.017 X= 2.609E+01 Y= 3.003E+01 Z= 3.551E+01 40 CLEAR SCREEN 50 OPTION BASE 1 60 DIM A$[90],Eol$[1] 70 INTEGER No,Stat,Pos1,Pos_x,Pos_y,Pos_z 80 GOSUB Fileopen 90 Eol$=CHR$(13) 100 ASSIGN @Bm5a TO 701;EOL Eol$ 110 Meas=2 !!!!!!!!!!!!!!!!!!!!!!! 120 SELECT Meas 130 CASE 1 !순수한 측정 140 OUTPUT @File;"No.,Time,Stat,Range,FOV,Tc,duv,X,Y,Z,x,y,u',v'" 150 FOR No=1 TO 10 160 GOSUB Measure 170 OUTPUT @File;No,Time$;",";Stat,Range,Fov,Tc,Duv,X,Y,Z,Xs,Ys,U,V 180 NEXT No 190 CASE 2 !AC 전압 100~220V 에 따른 측정 200 ASSIGN @Power TO 705 210 OUTPUT @Power;"CURR:LEV 1" !!!!!!!!!!!! 1A 220 OUTPUT @Power;"OUTP ON" 230 OUTPUT @File;"No.,Time,ACV[V],Stat,Range,FOV,Tc,duv,X,Y,Z,x,y,u',v'" 240 FOR No=50 TO 220 250 OUTPUT @Power;"VOLT ";No 260 GOSUB Measure 270 OUTPUT @File;No-49,Time$;",";No,Stat,Range,Fov,Tc,Duv,X,Y,Z,Xs,Ys,U,V 280 NEXT No 290 OUTPUT @Power;"VOLT 0" 300 OUTPUT @Power;"OUTP OFF" 310 END SELECT 320 STOP 330 Measure: ! 340 OUTPUT @Bm5a;"M2 ST" 350 Time$=TIME$(TIMEDATE) 360 WAIT .1 370 ENTER @Bm5a;A$ 380 DISP No,Time$,A$ 390 Stat=VAL(A$[2,2]) 400 IF Stat=0 THEN !측정 데이터가 정상이면 수행한다. 410 ! 첫측정만 유효하다. !!!!!! 420 Range=VAL(A$[8,8]) ! 1,2,3,4,5 430 SELECT VAL(A$[12,12]) ! 1,2,3,4 440 CASE 1 450 Fov=.1 !degree 460 CASE 2 470 Fov=.2 480 CASE 3 490 Fov=1 500 CASE 4 510 Fov=2 520 END SELECT 530 !!!!!!!!!!!!!!!!!!!!!!!!!! 540 Pos1=POS(A$,"Tc =") 550 IF A$[Pos1+5,Pos1+5]="*" THEN 560 Tc=0 570 Duv=0 580 Pos_x=POS(A$,"X=") 590 Pos_y=POS(A$,"Y=") 600 Pos_z=POS(A$,"Z=") 610 X=VAL(A$[Pos_x+4,Pos_x+12]) 620 Y=VAL(A$[Pos_y+4,Pos_y+12]) 630 Z=VAL(A$[Pos_z+4,Pos_z+12]) 640 ELSE 650 Tc=VAL(A$[18,23]) 660 Duv=VAL(A$[29,34]) 670 X=VAL(A$[39,47]) 680 Y=VAL(A$[52,60]) 690 Z=VAL(A$[65,73]) 700 END IF 710 Xs=PROUND(X/(X+Y+Z),-4) !Xs=x 720 Ys=PROUND(Y/(X+Y+Z),-4) !Ys=y 730 U=PROUND(4*X/(X+15*Y+3*Z),-4) 740 V=PROUND(9*Y/(X+15*Y+3*Z),-4) 750 END IF 760 RETURN 770 Fileopen: ! 780 DIM Filename$[20],Dhms$[8],Time$[8],Date$[11] 790 Time$=TIME$(TIMEDATE) 800 Date$=DATE$(TIMEDATE) 810 Dhms$=Date$[1;2]&Time$[1;2]&Time$[4;2]&Time$[7;2] 820 Filename$=Dhms$&".txt" 830 CREATE Filename$,1 840 ASSIGN @File TO Filename$;FORMAT ON 850 RETURN 860 END