📄 tongxun.bas
字号:
If Comm = BiaoWei(i).Comm Then
Exit For
End If
Next i
NUM = i
For j = 0 To 599
Indata(j) = CommDWIn(i).RxInBuff(j)
Next j
inLen = CommDWIn(i).DataLen
For i = 0 To inLen - 1
If Indata(i) = &H68 Then
Select Case Indata(i + 1)
Case &H85 '对教正系数的读取
Select Case Indata(i + 2)
Case &H99 '读取数据正常
L = Indata(i + 3) '数据长度
IDS = HextoString(Indata(i + 5))
IDS = IDS & HextoString(Indata(i + 4))
For j = 0 To ZongHangShu - 1
If JiaoZhengCanShu(j, 1) = IDS Then
IDS = HextoString(Indata(i + 7))
IDS = IDS & HextoString(Indata(i + 6))
'Form1.MSFlexGrid1.Col = 3
'Form1.MSFlexGrid1.Row = j + 1
'Form1.MSFlexGrid1.Text = IDS
JiaoZhengCanShu(j, 7 + 2 * NUM) = IDS
'Form1.MSFlexGrid1.CellAlignment = 1
'If NeiRong <> &HFF Then
' NeiRong = 3
' JiaoZhengBuzhu
'End If
Exit For
End If
Next j
Case &H9A '写入数据正常
L = Indata(i + 3) '数据长度
IDS = HextoString(Indata(i + 5))
IDS = IDS & HextoString(Indata(i + 4))
'If DanGeTiaoZheng = 55 Then
' MsgBox ("写入成功")
' Exit For
'End If
'If IDS = DuQuID.IDstring(XiangMu - 1) Then
' NeiRong = 5
' JiaoZhengBuzhu
'End If
Case &HA0
'MsgBox ("保存成功")
'NeiRong = &HFF
Case &HA1
'MsgBox ("恢复出厂值成功")
'NeiRong = &HFF
Case &HD9 '读取数据失败
Case &HDA '写入数据失败
End Select
Case &H81 '对电流 电压数据的读取
L = Indata(i + 2) '数据长度
IDS = HextoString(Indata(i + 4))
IDS = IDS & HextoString(Indata(i + 3))
XuHao = Indata(i + 5)
If XuHao < 255 Then
XuHao = XuHao + 1
Else
XuHao = 0
End If
i = i + 1
For j = 0 To inLen - 9
ii(j) = Indata(i + 5 + j)
Next j
'Debug.Print IDS
Select Case IDS
Case "B61F" '电压
DataShow = Indata(i + 6)
DataShow = DataShow * 256
DataShow = DataShow + Indata(i + 5)
'Form1.Text1(1).Text = HexToBCD(DataShow, 2)
'BeiCeBiaoData.DianYa(0) = HexToBCD(DataShow, 2) '输入:数据,小数个数
MeterData(NUM).Voltage(0) = HexToBCD(DataShow, 2)
DataShow = Indata(i + 8)
DataShow = DataShow * 256
DataShow = DataShow + Indata(i + 7)
'Form1.Text2(1).Text = HexToBCD(DataShow, 2)
'BeiCeBiaoData.DianYa(1) = HexToBCD(DataShow, 2)
MeterData(NUM).Voltage(1) = HexToBCD(DataShow, 2)
DataShow = Indata(i + 10)
DataShow = DataShow * 256
DataShow = DataShow + Indata(i + 9)
'Form1.Text3(1).Text = HexToBCD(DataShow, 2)
'BeiCeBiaoData.DianYa(2) = HexToBCD(DataShow, 2)
MeterData(NUM).Voltage(2) = HexToBCD(DataShow, 2)
'BiaoShuJuShow IDS, ii
'BiaoShuDuQu_Main
'Run = 0
'If NeiRong = &HFF Then
' XiangMu = 1
' NeiRong = 2
' JiaoZhengBuzhu
'End If
i = i + 14
Case "B62F" '电流
DataShow = Indata(i + 6)
DataShow = DataShow * 256
DataShow = DataShow + Indata(i + 5)
'Form1.Text4(1).Text = HexToBCD(DataShow, 2)
'BeiCeBiaoData.DianLiu(0) = HexToBCD(DataShow, 4)
MeterData(NUM).Current(0) = HexToBCD(DataShow, 2)
DataShow = Indata(i + 8)
DataShow = DataShow * 256
DataShow = DataShow + Indata(i + 7)
'Form1.Text5(1).Text = HexToBCD(DataShow, 2)
'BeiCeBiaoData.DianLiu(1) = HexToBCD(DataShow, 4)
MeterData(NUM).Current(1) = HexToBCD(DataShow, 2)
DataShow = Indata(i + 10)
DataShow = DataShow * 256
DataShow = DataShow + Indata(i + 9)
'Form1.Text6(1).Text = HexToBCD(DataShow, 2)
'BeiCeBiaoData.DianLiu(2) = HexToBCD(DataShow, 4)
MeterData(NUM).Current(2) = HexToBCD(DataShow, 2)
'BiaoShuJuShow IDS, ii
'BiaoShuDuQu_Main
'Run = 0
'If NeiRong = &HFF Then
' XiangMu = 2
' NeiRong = 2
'JiaoZhengBuzhu
'End If
i = i + 16
Case "B65F" '功率因数
'DataShow = Indata(i + 6)
'DataShow = DataShow * 256
'DataShow = DataShow + Indata(i + 5)
'Form1.Text7(1).Text = HexToBCD(DataShow, 3)
'BeiCeBiaoData.YinShu(0) = HexToBCD(DataShow, 3)
DataShow = Indata(i + 8)
DataShow = DataShow * 256
DataShow = DataShow + Indata(i + 7)
'Form1.Text8(1).Text = HexToBCD(DataShow, 3)
'BeiCeBiaoData.YinShu(0) = HexToBCD(DataShow, 3)
MeterData(NUM).PF(1) = HexToBCD(DataShow, 3)
DataShow = Indata(i + 10)
DataShow = DataShow * 256
DataShow = DataShow + Indata(i + 9)
'Form1.Text9(1).Text = HexToBCD(DataShow, 3)
'BeiCeBiaoData.YinShu(1) = HexToBCD(DataShow, 3)
MeterData(NUM).PF(2) = HexToBCD(DataShow, 3)
DataShow = Indata(i + 12)
DataShow = DataShow * 256
DataShow = DataShow + Indata(i + 11)
'Form1.Text9(1).Text = HexToBCD(DataShow, 3)
'BeiCeBiaoData.YinShu(2) = HexToBCD(DataShow, 3)
MeterData(NUM).PF(3) = HexToBCD(DataShow, 3)
'BiaoShuJuShow IDS, ii
'BiaoShuDuQu_Main
'Run = 0
'If NeiRong = &HFF Then
'XiangMu = 3
'NeiRong = 2
'JiaoZhengBuzhu
i = i + 18
Case "B63F" '功率
DataShow = Indata(i + 7)
DataShow = DataShow * 256
DataShow = DataShow + Indata(i + 6)
DataShow = DataShow * 256
DataShow = DataShow + Indata(i + 5)
'BeiCeBiaoData.GongLv(0) = HexToBCD(DataShow, 4) '总功率
MeterData(NUM).Power(0) = HexToBCD(DataShow, 4)
DataShow = Indata(i + 10)
DataShow = DataShow * 256
DataShow = DataShow + Indata(i + 9)
DataShow = DataShow * 256
DataShow = DataShow + Indata(i + 8)
'BeiCeBiaoData.GongLv(1) = HexToBCD(DataShow, 4) 'A功率
MeterData(NUM).Power(1) = HexToBCD(DataShow, 4)
DataShow = Indata(i + 13)
DataShow = DataShow * 256
DataShow = DataShow + Indata(i + 12)
DataShow = DataShow * 256
DataShow = DataShow + Indata(i + 11)
'BeiCeBiaoData.GongLv(2) = HexToBCD(DataShow, 4) 'B功率
MeterData(NUM).Power(2) = HexToBCD(DataShow, 4)
DataShow = Indata(i + 16)
DataShow = DataShow * 256
DataShow = DataShow + Indata(i + 15)
DataShow = DataShow * 256
DataShow = DataShow + Indata(i + 14)
'BeiCeBiaoData.GongLv(3) = HexToBCD(DataShow, 4) 'C功率
MeterData(NUM).Power(3) = HexToBCD(DataShow, 4)
'BiaoShuJuShow IDS, ii
'BiaoShuDuQu_Main
'BeiCeBiaoShow
'If NeiRong = &HFF Then
'XiangMu = 3
'NeiRong = 2
'iaoZhengBuzhu
i = i + 20
Case "E80F" 'A项电压基波
DataShow = Indata(i + 6)
DataShow = DataShow * 256
DataShow = DataShow + Indata(i + 5)
'BeiCeBiaoData.JiBoDianYa(0) = HexToBCD(DataShow, 2)
MeterData(NUM).HarmonicWave(0) = HexToBCD(DataShow, 2)
'BiaoShuJuShow IDS, ii
'BiaoShuDuQu_Main
Case "E82F" 'B项电压基波
DataShow = Indata(i + 6)
DataShow = DataShow * 256
DataShow = DataShow + Indata(i + 5)
'BeiCeBiaoData.JiBoDianYa(1) = HexToBCD(DataShow, 2)
MeterData(NUM).HarmonicWave(1) = HexToBCD(DataShow, 2)
'BiaoShuJuShow IDS, ii
'BiaoShuDuQu_Main
Case "E84F" 'C项电压基波
DataShow = Indata(i + 6)
DataShow = DataShow * 256
DataShow = DataShow + Indata(i + 5)
'BeiCeBiaoData.JiBoDianYa(2) = HexToBCD(DataShow, 2)
MeterData(NUM).HarmonicWave(2) = HexToBCD(DataShow, 2)
'BiaoShuJuShow IDS, ii
'BiaoShuDuQu_Main
Case "E86F" 'A项电流基波
DataShow = Indata(i + 6)
DataShow = DataShow * 256
DataShow = DataShow + Indata(i + 5)
'BeiCeBiaoData.JiBoDianLiu(0) = HexToBCD(DataShow, 3)
MeterData(NUM).HarmonicWave(3) = HexToBCD(DataShow, 3)
'BiaoShuJuShow IDS, ii
'BiaoShuDuQu_Main
Case "E88F" 'B项电流基波
DataShow = Indata(i + 6)
DataShow = DataShow * 256
DataShow = DataShow + Indata(i + 5)
'BeiCeBiaoData.JiBoDianLiu(1) = HexToBCD(DataShow, 3)
MeterData(NUM).HarmonicWave(4) = HexToBCD(DataShow, 3)
'BiaoShuJuShow IDS, ii
'BiaoShuDuQu_Main
Case "E8AF" 'C项电流基波
DataShow = Indata(i + 6)
DataShow = DataShow * 256
DataShow = DataShow + Indata(i + 5)
'BeiCeBiaoData.JiBoDianLiu(2) = HexToBCD(DataShow, 3)
MeterData(NUM).HarmonicWave(5) = HexToBCD(DataShow, 3)
'BiaoShuJuShow IDS, ii
'BiaoShuDuQu_Main
Case Else '其它情况
'BiaoShuJuShow IDS, ii
'BiaoShuDuQu_Main
End Select
End Select
End If
Next i
inLen = 0
End Function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -