[求助]那位大侠能帮我写一个程序注释,让我能看明白...本人比较非常菜鸟...
程序如下,是一个传感器的控制程序。
拜托了,这个程序实在是看不明白啊,
哪个大哥给写个白痴都能明白的备注。
Private Sub Command2_Click()
contraler Command2, False, &H80FFFF, &H8000000F
Timer.Enabled = False
If Runmod = "stop" Then
Text9.text = 0
Text10.text = 0
Text11.text = 0
Text12.text = 0
Text13.text = 0
Text14.text = 0
If outo = 0 And TESTBUG And pc <> -9999 Then '判断是否是手动还是自动
MsgBox "现在是手动操作", vbDefaultButton1
GoTo end6
End If
Dim n As Integer
Dim va, vat, nl, vo As Single
Dim dn As Integer
va = Val(Text5(0).text) '给定电压
va0 = Val(Text5(4).text)
vat = Text5(1).text '额定电压
vo = Text5(2).text '转换比
nl = vat / vo
dn = Val(Text5(3).text) '点数
'判断参数是否正确
If va0 = 0 And va = 0 Then
MsgBox "输入不能为零", vbCritical
GoTo end6
End If
If vat = 0 Then
MsgBox "额定电压不能为0", vbDefaultButton2, "警告"
'Call Command1_Click
GoTo end6
End If
If nl = 0 Then
MsgBox "转换比不能为0", vbDefaultButton2, "警告"
'Call Command1_Click
GoTo end6
End If
If va > MAXIDC Then
MsgBox "转换比不能为0", vbDefaultButton2, "警告"
'Call Command1_Click
GoTo end6
End If
estate.devicermod = "testinitialize"
dot1.buflen = dn
ReDim dot1.buf(dot1.buflen)
ReDim buf(dot1.buflen, MAXTCOUNT) '点号-表值
ReDim dbuf1(dot1.buflen + 1)
ReDim dbuf2(dot1.buflen)
j = 0
Dim klt As Single
Dim kmt, kmt2 As Single
If va < va0 Then
kmt = va0
kmt2 = va
Else
kmt = va
kmt2 = va0
End If
If kmt2 < 0 Then
MsgBox "最小电压为0"
kmt2 = 0
Text5(4).text = 0
GoTo end6
End If
klt = (va - va0) / dot1.buflen
dot1.n1f = 1
dot1.n1n2f = nl
dot1.n2f = 1
dot1.acdc = acdc
dot1.ratedvalue = vat / Vl
dot1.dot = 1
For i = 0 To dot1.buflen '初始化理论曲线数据区
dbuf1(i).X = -9999
dbuf1(i).Y = -9999
dbuf2(i).X = -9999
dbuf2(i).Y = -9999
Next i
For i = 0 To dot1.buflen '初始化点数据区 实测曲线数据区
dot1.buf(i) = (va0 + (i * klt)) / Vl
dbuf1(i + 1).X = i * klt + va0
dbuf1(i + 1).Y = i * klt / nl + va0 / nl
Next i
dbuf1(0).X = 0
dbuf1(0).Y = 0
zbz = createzuobiao(Int(kmt), dn, kmt / dot1.n1n2f, dn) '创建坐标
ReDim da1(PLINEN * (dot1.buflen + 1))
Pp1.Refresh '刷新绘图
Command2.Enabled = False
R8024.devicesendbuf = 0 '初始化给定
sendrecive8024 R8024, com1
timedelay 500 '延时
testT = testT + 1
'打印报表表头
Call addreportgriditem1(bufdisplay, reportgid)
'Mergegrid "直流电流传感器" & " 次测试", reportgid
Mergegrid "车号:" & Combo1.List(Combo1.ListIndex) & " 型号:" & Combo2.List(Combo2.ListIndex) & " 操作人:" & Combo3.List(Combo3.ListIndex) & " 编号:" & Combo5.List(Combo5.ListIndex), reportgid
Mergegrid " 测试日期:" & Date, reportgid
delegridrow reportgid.Rows - 3, reportgid
biaohead "给定", 1, 1, 1, reportgid
biaohead "传感器输出", 2, 3, 0, reportgid
biaohead "数据分析", 4, reportgid.Cols - 1, 0, reportgid
Call addreportgriditem1(bufdisplay, reportgid)
For i = UBound(device) To MAXTCOUNT
enabledevice device(i)
Next i
Tnumber = 1
Runmod = "run" '置运行状态
estate.systemmod = "starttest"
Timer.Interval = 50
Timer.Enabled = True
'contraler Command3, True, &H80FFFF, &H8000000F
'starttest
ElseIf Runmod = "run" Then
Runmod = "pause"
ElseIf Runmod = "pause" Then
Runmod = "run"
End If
end6: contraler Command2, True, &H80FFFF, &H8000000F
Timer.Enabled = True
End Sub