1,486
社区成员
发帖
与我相关
我的任务
分享
10 CLS: Dim D(200): k = 0: m = 199 //定义数组D用于存放一次采集的数据
20 Open "com1:9600,n,8,1,cs0,ds0,cd0 " For Random As #1 //1#串行口(RS232C)初始化:波特率9600。
30 Print #1, "%15;0 199 0": GoSub 2000 //设置Y=ax+b中的a,b值:a=1,b=0;
40 Print #1, "%14;0 199 0": GoSub 2000 //
50 Print #1, "%4;0 " + Str$(m): GoSub 2000 //设首末通道号:首通道为0,末通道号值为m
60 Print #1, "%8;0 199 1": GoSub 2000 //设采集功能号:设0-199通道功能为应变采集
70 Print #1, "%17": GoSub 2000 //发初始平衡指令
80 For i = 0 To 9: LOCATE 1, (7 * (i + 1) + 3): Print Str$(i);: Next
90 For i = 0 To Int((m - 9) / 10): LOCATE i + 2, 2: Print Str$(i): LOCATE i + 2, 8
100 For j = 0 To 9: Print #1, "&17;" + Str$(10 * i + j): Input #1, S$ //取某一通道初始平衡值
110 D(10 * i + j) = Val(Right$(S$, 6)): GoSub 2000: D$ = Str$(D(10 * i + j))
120 If j < 9 Then
Print Left$(D$, 1) + Right$("0000" + Right$(D$, Len(D$) - 1), 5) + " ";
Else
Print Left$(D$, 1) + Right$("0000" + Right$(D$, Len(D$) - 1), 5) + " "
End If: Next j: Next i
130 LOCATE 23, 5: Print " Press <ENTER> key to begin logging or <ESC> to repeat initial balance!"
140 S$ = INKEY$
If S$ = Chr$(27) Then GoTo 70
If S$ = Chr$(13) Then GoTo 150
GoTo 140
150 CLS: For i = 0 To 9: LOCATE 1, (7 * (i + 1) + 3): Print Str$(i);: Next: Print
//进入加载测试程序循环体
160 Print #1, "%20": GoSub 2000 //发”放大器校零”指令
170 Print #1, "%26" //发”取回所有采集数据(减掉初始值的)”指令
180 For i = 0 To Int((m - 9) / 10): LOCATE i + 2, 2: Print Str$(i): LOCATE i + 2, 8
190 For j = 0 To 9: Input #1, D(10 * i + j): D$ = Str$(D(10 * i + j))
200 If j < 9 Then
Print Left$(D$, 1) + Right$("0000" + Right$(D$, Len(D$) - 1), 5) + " ";
Else
Print Left$(D$, 1) + Right$("0000" + Right$(D$, Len(D$) - 1), 5) + " "
End If: Next j: Next i: GoSub 2000
210 LOCATE 23, 10: Print Str$(k + 1) + " LOGGING" + " PRESS <ENTER> KEY TO CONTINUE!"
220 If INKEY$ = "" Then GoTo 220
230 k = k + 1: GoTo 160
//循环体结束
2000 Input #1, S$
2010 If S$ <> "ST00" And S$ <> "ST04" Then Print S$: Stop
2020 Return