"BM5A-01.txt"의 두 판 사이의 차이

잔글
잔글
 
6번째 줄: 6번째 줄:
 
40    CLEAR SCREEN
 
40    CLEAR SCREEN
 
50    OPTION BASE 1
 
50    OPTION BASE 1
60    DIM A$[73],Eol$[1]
+
60    DIM A$[90],Eol$[1]
70    GOSUB Fileopen
+
70     INTEGER No,Stat,Pos1,Pos_x,Pos_y,Pos_z
80     Eol$=CHR$(13)
+
80     GOSUB Fileopen
90    CLEAR 7
+
90     Eol$=CHR$(13)
 
100    ASSIGN @Bm5a TO 701;EOL Eol$
 
100    ASSIGN @Bm5a TO 701;EOL Eol$
110    CLEAR @Bm5a
+
110    Meas=2 !!!!!!!!!!!!!!!!!!!!!!!
120    OUTPUT @File;"No.,Time,Range,FOV,Tc,duv,X,Y,Z,x,y,u',v'"
+
120    SELECT Meas
130    FOR I=1 TO 2
+
130    CASE 1 !순수한 측정
140     OUTPUT @Bm5a;"M2 ST"
+
140      OUTPUT @File;"No.,Time,Stat,Range,FOV,Tc,duv,X,Y,Z,x,y,u',v'"
150      Time$=TIME$(TIMEDATE)
+
150      FOR No=1 TO 10
160      WAIT 1
+
160        GOSUB Measure
170      ENTER @Bm5a;A$
+
170        OUTPUT @File;No,Time$;",";Stat,Range,Fov,Tc,Duv,X,Y,Z,Xs,Ys,U,V
180      DISP I,A$
+
180      NEXT No
190      IF VAL(A$[2,2])=0 THEN !측정 데이터가 정상이면 수행한다.
+
190    CASE 2 !AC 전압 100~220V 에 따른 측정
200       IF I=1 THEN
+
200      ASSIGN @Power TO 705
210          Range=VAL(A$[8,8])   ! 1,2,3,4,5
+
210      OUTPUT @Power;"CURR:LEV 1" !!!!!!!!!!!! 1A
220          SELECT VAL(A$[12,12]) ! 1,2,3,4
+
220      OUTPUT @Power;"OUTP ON"
230          CASE 1
+
230      OUTPUT @File;"No.,Time,ACV[V],Stat,Range,FOV,Tc,duv,X,Y,Z,x,y,u',v'"
240            Fov=.1   !degree
+
240      FOR No=50 TO 220
250          CASE 2
+
250        OUTPUT @Power;"VOLT ";No
260            Fov=.2
+
260        GOSUB Measure
270          CASE 3
+
270        OUTPUT @File;No-49,Time$;",";No,Stat,Range,Fov,Tc,Duv,X,Y,Z,Xs,Ys,U,V
280            Fov=1
+
280      NEXT No
290          CASE 4
+
290      OUTPUT @Power;"VOLT 0"
300            Fov=2
+
300     OUTPUT @Power;"OUTP OFF"
310          END SELECT  
+
310    END SELECT
320       END IF
+
320    STOP
330       X=VAL(A$[39,47])
+
330 Measure:    !
340       Y=VAL(A$[52,60])
+
340    OUTPUT @Bm5a;"M2 ST"
350       Z=VAL(A$[65,73])
+
350    Time$=TIME$(TIMEDATE)
360       Tc=VAL(A$[18,23])
+
360    WAIT .1
370       Duv=VAL(A$[29,34])
+
370    ENTER @Bm5a;A$
380       Xs=PROUND(X/(X+Y+Z),-4)!Xs=x
+
380    DISP No,Time$,A$
390        Ys=PROUND(Y/(X+Y+Z),-4)!Ys=y
+
390    Stat=VAL(A$[2,2])
400        U=PROUND(4*X/(X+15*Y+3*Z),-4)
+
400    IF Stat=0 THEN   !측정 데이터가 정상이면 수행한다.
410        V=PROUND(9*Y/(X+15*Y+3*Z),-4)
+
410      ! 첫측정만 유효하다. !!!!!!
420        OUTPUT @File;I,Time$;",";Range,Fov,Tc,Duv,X,Y,Z,Xs,Ys,U,V
+
420       Range=VAL(A$[8,8])     ! 1,2,3,4,5
430      END IF  
+
430        SELECT VAL(A$[12,12])   ! 1,2,3,4
440   NEXT I
+
440        CASE 1
450    STOP
+
450          Fov=.1     !degree
460 Fileopen:  !
+
460        CASE 2
470   DIM Filename$[20],Dhms$[8],Time$[8],Date$[11]
+
470          Fov=.2
480   Time$=TIME$(TIMEDATE)
+
480        CASE 3
490   Date$=DATE$(TIMEDATE)
+
490          Fov=1
500   Dhms$=Date$[1;2]&Time$[1;2]&Time$[4;2]&Time$[7;2]
+
500        CASE 4
510   Filename$=Dhms$&".txt"
+
510          Fov=2
520   CREATE Filename$,1
+
520        END SELECT  
530   ASSIGN @File TO Filename$;FORMAT ON
+
530      !!!!!!!!!!!!!!!!!!!!!!!!!!
540   RETURN
+
540      Pos1=POS(A$,"Tc =")
550   END
+
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 기준 최신판

Topcon BM-5A 색채휘도계

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