(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
TA720
10 ! 2020-02-15 최초 작성
20 CLEAR SCREEN
30 OPTION BASE 1
40 DIM A$[155],Id$[23]
50 ASSIGN @Ta720 TO 705 !
60 OUTPUT @Ta720;"*CLS" !clear
70 OUTPUT @Ta720;"*IDN?" !YOKOGAWA,704510,0,F1.01 !23자,제조회사 모델 S/N(항상0) 펌웨어
80 ENTER @Ta720;Id$
90 DISP Id$
100 OUTPUT @Ta720;"CALC:PAR:AVER ON"
110 OUTPUT @Ta720;"CALC:PAR:SDEV ON"
120 OUTPUT @Ta720;"CALC:PAR:FLUT ON"
130 OUTPUT @Ta720;"CALC:PAR:PTOP ON"
140 ! OUTPUT @Ta720;"COMM:HEAD OFF" !응답 데이터에 헤더를 사용한다 하지 않는다.
150 GOSUB Fileopen
160 GOSUB Measure
170 GOSUB Fileclose
180 STOP
190 Measure: !
200 Set_time=3600 ! x축 그래프 최대 시간 [초]
210 OUTPUT @File;"No.,Time[s],Avg[s],P2P[s],Std[s],CV[%],Nop"
220 Count=0
230 GOSUB Chart_var
240 GOSUB Init_chart
250 T0=TIMEDATE
260 LOOP
270 Time=(TIMEDATE-T0)
280 GOSUB Reading
290 Count=Count+1
300 Y(1)=Avg
310 Y(2)=Std
320 CONTROL @Strip;SET("POINT LOCATION":Time,"VALUES":Y(*))
330 PRINT "Count=";Count;", T=";PROUND(Time,-3);", Avg=";Avg;", Std=";Std;", CV=";Cv
340 OUTPUT @File;Count,Time,Avg,P2p,Std,Cv,Nop
350 EXIT IF Time>Set_time
360 END LOOP
370 RETURN
380 Reading: ! 이 계측기는 한 명령이 끝날 때까지 다음 명령을 기다리는 기술을 사용해야 한다.
390 OUTPUT @Ta720;"SST" !single
410 LOOP !이 명령어를 수행하면 화면 업데이트가 안된다.
420 OUTPUT @Ta720;"STAT:COND?"
430 ENTER @Ta720;Bit
440 EXIT IF Bit=1
450 END LOOP
460 WAIT .1 !화면 업데이트를 하는 시간
470 OUTPUT @Ta720;"CALC:AVER?" !avg
480 ENTER @Ta720;A$
490 Avg=VAL(A$)
500 OUTPUT @Ta720;"CALC:PTOP?" !p2p
510 ENTER @Ta720;A$
520 P2p=VAL(A$)
530 OUTPUT @Ta720;"CALC:SDEV?" !sigma
540 ENTER @Ta720;A$
550 Std=VAL(A$)
560 OUTPUT @Ta720;"CALC:FLUT?" !sigma/avg
570 ENTER @Ta720;A$
580 Cv=VAL(A$)
590 OUTPUT @Ta720;"CALC:SNUM?" !
600 ENTER @Ta720;A$
610 Nop=VAL(A$)
620 RETURN
630 Fileopen: !
640 DIM Filename$[20],Dhms$[8]
650 Time$=TIME$(TIMEDATE)
660 Date$=DATE$(TIMEDATE)
670 Dhms$=Date$[1;2]&Time$[1;2]&Time$[4;2]&Time$[7;2]
680 Filename$=Dhms$&".txt"
690 CREATE Filename$,1
700 ASSIGN @File TO Filename$;FORMAT ON
710 RETURN
720 Fileclose: !
730 ASSIGN @File TO *
740 RETURN
750 Chart_var: !
760 X_origin=0
770 X_range=500
780 X_axis_label$="Sampling Count"
790 Y_origin=(1/1.E+7)-1.E-11
800 Y_range=2.E-11
810 Y_axis_label$="%"
820 RETURN
830 Init_chart: !
840 DIM X_axis_label$[25],Y_axis_label$[25]
850 INTEGER Trace_num
860 INTEGER Screen_dims(1:2),Gwindow_dims(1:4)
870 REAL Y(1:2) !Y(1) avg (2) sigma/avg
880 GESCAPE CRT,36;Screen_dims(*) ! Get screen width and height.
890 !
900 ! Set the dimensions of the graphics window using GESCAPE 33 so
910 ! that it is centered on the screen.
920 !
930 Gwindow_dims(1)=Screen_dims(1)*.25 ! X of upper left.
940 Gwindow_dims(2)=Screen_dims(2)*.2 ! Y of upper left.
950 Gwindow_dims(3)=Screen_dims(1)*.7 ! Width.
960 Gwindow_dims(4)=Screen_dims(2)*.6 ! Height.
970 GESCAPE CRT,33;Gwindow_dims(*) ! Set graphics window geometry.
980 !
990 GESCAPE CRT,35 ! Move the graphics window to the top.
1000 !
1010 ! Create a stripchart. Make it invisible until all changes are made.
1020 !
1030 ASSIGN @Strip TO WIDGET "STRIPCHART";SET("VISIBLE":0)
1040 !
1050 ! Set the overall attributes.
1060 !
1070 CONTROL @Strip;SET("TITLE":"Data Logger")
1080 CONTROL @Strip;SET("MINIMUM SCROLL":2)
1090 CONTROL @Strip;SET("MOVABLE":0)
1100 CONTROL @Strip;SET("MAXIMIZABLE":0)
1110 CONTROL @Strip;SET("X":0,"Y":0)
1120 !
1130 ! Size the stripchart to exactly fill the graphics window.
1140 !
1150 Vert_borders=26
1160 Horiz_borders=8
1170 Height=Gwindow_dims(4)-Vert_borders
1180 Width=Gwindow_dims(3)-Horiz_borders
1190 CONTROL @Strip;SET("WIDTH":Width,"HEIGHT":Height)
1200 !
1210 CONTROL @Strip;SET("CURRENT AXIS":"X")
1220 CONTROL @Strip;SET("ORIGIN":X_origin,"RANGE":X_range)
1230 CONTROL @Strip;SET("AXIS LABEL":X_axis_label$)
1240 !CONTROL @Strip;SET("DIGITS":5)
1250 !
1260 CONTROL @Strip;SET("CURRENT AXIS":"Y")
1270 CONTROL @Strip;SET("ORIGIN":Y_origin,"RANGE":Y_range)
1280 CONTROL @Strip;SET("AXIS LABEL":Y_axis_label$)
1290 !
1300 CONTROL @Strip;SET("VISIBLE":1) ! Show the stripchart.
1310 !
1320 RETURN
1330 END