📄 globalvar.bas
字号:
num = indata(110)
str14 = num
If str14 = "0" Then
str14 = ""
End If
num = indata(111)
str14 = str14 & num
num = indata(112)
str14 = str14 & "." & num
'//B相电压 XXX.X(XX X X)
num = indata(113)
str15 = num
If str15 = "0" Then
str15 = ""
End If
num = indata(114)
str15 = str15 & num
num = indata(115)
str15 = str15 & "." & num
'//C相电压 XXX.X(XX X X)
num = indata(116)
str16 = num
If str16 = "0" Then
str16 = ""
End If
num = indata(117)
str16 = str16 & num
num = indata(118)
str16 = str16 & "." & num
'//A相电流XX.XX(XX XX)
num = indata(119)
str17 = num
num = indata(120)
str17 = str17 & "." & num
'//B相电流XX.XX(XX XX)
num = indata(120)
str18 = num
num = indata(121)
str18 = str18 & "." & num
'//C相电流XX.XX(XX XX)
num = indata(122)
str19 = num
num = indata(123)
str19 = str19 & "." & num
'//变压器温度 XXX.X(XX X X)
num = indata(124)
str20 = num
If str20 = "0" Then
str20 = ""
End If
num = indata(125)
str20 = str20 & num
num = indata(126)
str20 = str20 & "." & num
'//采集时间
For i = 127 To 133 Step 1
num = indata(i)
If (indata(i) < 10) Then
str21 = str21 & "0" & num
Else
str21 = str21 & num
End If
Next i
str21 = Format(str21, "mmmm-yy-dd mm:hh:ss")
'//运行情况
num = indata(134)
str22 = num
ReDim myremsg.haltdata(0) As Byte '没有数据返回
myremsg.haltdata(0) = 0
str = str1 & str2 & str3 & str4 & str5 & str6 & str7 & str8 & str9 & str10 & str11 _
& str12 & str13 & str14 & str15 & str16 & str17 & str18 & str19 & str20 & str21 & str22
myremsg.msginfo = str
If str1 = frm_collect.txt_sim And str2 = frm_collect.txt_biaohao.Text Then '//如果采集返回正确
strsql = "select * from collection "
openrs strsql
rs.AddNew ' 向采集表中添加一条记录
With rs
.Fields("user_id").Value = frm_collect.txt_id
.Fields("user_name").Value = frm_collect.txt_name
.Fields("user_sim").Value = frm_collect.txt_sim
.Fields("user_biaohao").Value = frm_collect.txt_biaohao.Text
.Fields("coll_time").Value = str21
.Fields("ygz_power").Value = str3
.Fields("ygf_power").Value = str4
.Fields("ygp_power").Value = str5
.Fields("ygg_power").Value = str6
.Fields("wgz_power").Value = str7
.Fields("wgf_power").Value = str8
.Fields("wgp_power").Value = str9
.Fields("wgg_power").Value = str10
.Fields("pressure_A").Value = str14
.Fields("pressure_B").Value = str15
.Fields("pressure_C").Value = str16
.Fields("current_A").Value = str17
.Fields("current_B").Value = str18
.Fields("current_C").Value = str19
.Fields("lea_power").Value = str11
.Fields("sum_power").Value = str12
.Fields("power_complica").Value = str13
.Fields("byq_temprature").Value = str20
.Fields("run_status").Value = str22
.UpdateBatch
End With
clors
End If '//如果采集返回正确
GoTo exitfunction
End If '//采集包结束
'//'//接通负荷返回包(WD:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX)
If indata(34) = 12 And indata(35) = &HC0 And indata(36) = &HA3 And UBound(indata) = 50 Then
'//处理SIM 卡号
For i = 37 To 41 Step 1
num = indata(i)
If (indata(i) < 10) Then
str1 = str1 & "0" & num
Else
str1 = str1 & num
End If
Next i
num = indata(42)
str1 = str1 & num
'//处理表号
For i = 43 To 48 Step 1
num = indata(i)
If (indata(i) < 10) Then
str2 = str2 & "0" & num
Else
str2 = str2 & num
End If
Next i
ReDim myremsg.haltdata(0) As Byte '没有数据返回
myremsg.haltdata(0) = 0
str = str1 & str2
myremsg.msginfo = str
If str1 = frm_join.txt_sim.Text And str2 = frm_join.txt_biaohao.Text Then
MsgBox ("接通负荷成功"), vbOKOnly + vbInformation, "提示"
End If
GoTo exitfunction
End If '//接通负荷返回包结束
'//断开负荷返回包(WD:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX)
If indata(34) = 12 And indata(35) = &HC0 And indata(36) = &HA4 And UBound(indata) = 50 Then
'//处理SIM 卡号
For i = 37 To 41 Step 1
num = indata(i)
If (indata(i) < 10) Then
str1 = str1 & "0" & num
Else
str1 = str1 & num
End If
Next i
num = indata(42)
str1 = str1 & num
'//处理表号
For i = 43 To 48 Step 1
num = indata(i)
If (indata(i) < 10) Then
str2 = str2 & "0" & num
Else
str2 = str2 & num
End If
Next i
ReDim myremsg.haltdata(0) As Byte '没有数据返回
myremsg.haltdata(0) = 0
str = str1 & str2
myremsg.msginfo = str
If str1 = frm_cut.txt_sim.Text And str2 = frm_cut.txt_biaohao.Text Then
MsgBox ("断开负荷成功"), vbOKOnly + vbInformation, "提示"
End If
GoTo exitfunction
End If '//断开负荷返回包结束
'//清除终端电量返回包(WD:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX)
If indata(34) = 12 And indata(35) = &HC0 And indata(36) = &HA5 And UBound(indata) = 50 Then
'//处理SIM 卡号
For i = 37 To 41 Step 1
num = indata(i)
If (indata(i) < 10) Then
str1 = str1 & "0" & num
Else
str1 = str1 & num
End If
Next i
num = indata(42)
str1 = str1 & num
'//处理表号
For i = 43 To 48 Step 1
num = indata(i)
If (indata(i) < 10) Then
str2 = str2 & "0" & num
Else
str2 = str2 & num
End If
Next i
ReDim myremsg.haltdata(0) As Byte '没有数据返回
myremsg.haltdata(0) = 0
str = str1 & str2
myremsg.msginfo = str
If str1 = frm_clear.txt_sim.Text And str2 = frm_clear.txt_biaohao.Text Then
MsgBox ("清除终端电量成功"), vbOKOnly + vbInformation, "提示"
End If
GoTo exitfunction
End If '//清除终端电量返回包结束
'//报警返回包(WD:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX)
If indata(34) = 16 And indata(35) = &HC0 And indata(36) = &HA5 And UBound(indata) = 55 Then
'//处理SIM 卡号
For i = 37 To 41 Step 1
num = indata(i)
If (indata(i) < 10) Then
str1 = str1 & "0" & num
Else
str1 = str1 & num
End If
Next i
num = indata(42)
str1 = str1 & num
'//处理表号
For i = 43 To 48 Step 1
num = indata(i)
If (indata(i) < 10) Then
str2 = str2 & "0" & num
Else
str2 = str2 & num
End If
Next i
'//处理缺相报警
num = indata(49)
str3 = num
'//处理互感器接反报警
num = indata(50)
str4 = num
'//处理不足10码报警
num = indata(51)
str5 = num
'//处理开箱报警
num = indata(52)
str6 = num
'//处理异常报警
num = indata(53)
str7 = num
ReDim myremsg.haltdata(0) As Byte '没有数据返回
myremsg.haltdata(0) = 0
str = str1 & str2 & str3 & str4 & str5 & str6 & str7
myremsg.msginfo = str
Dim strid As String
Dim strname As String
Dim strsim As String
Dim strbiaohao As String
strsql = "select user_id,user_name,user_sim,user_biao from userbasic where user_sim='" & str1 & "'"
openrs strsql
If rs.EOF Then GoTo exitfunction
strid = rs.Fields("user_id").Value
strname = rs.Fields("user_name").Value
strsim = rs.Fields("user_sim").Value
strbiaohao = rs.Fields("user_biaohao").Value
strsql = "select * from alarm"
openrs strsql
'//向报警表中加入一条报警信息
rs.AddNew
rs.Fields("user_id").Value = strid
rs.Fields("user_name").Value = strname
rs.Fields("user_sim").Value = strsim
rs.Fields("user_biaohao").Value = strbiaohao
rs.Fields("alarm_quexiang").Value = str3
rs.Fields("alarm_hgqjiefan").Value = str4
rs.Fields("alarm_no10").Value = str5
rs.Fields("alarm_opendoor").Value = str6
rs.Fields("alarm_unormal").Value = str7
rs.Fields("alarm_time").Value = Format(Now, "yyyy-mm-dd hh:mm:ss")
rs.UpdateBatch
clors
GoTo exitfunction
End If '//报警返回包结束
End If '//包最短长度**************************
End If '//如果为数据中心或者终端返回的数据包
'//不是完整的消息但可能是下次消息的一部分
myremsg.haltdata = indata
myremsg.msginfo = ""
exitfunction:
disp_message = myremsg
End Function
'发送数据函数
Public Function comsenddata(ByRef indata() As Byte)
frm_main.MSComm1.Output = indata '发送数据
Do
DoEvents '等待发送完毕
Loop Until frm_main.MSComm1.OutBufferCount = 0
End Function
'以下函数By黄
'本函数写在所有的窗体
Public Sub UnloadAllFroms()
Dim i As Integer: i = 0
For i = VB.Forms.Count - 1 To 0 Step -1
Unload VB.Forms(i)
Next i
End
End Sub
'本函数家在一个窗体到Split上去
Public Sub LoadAFormToSplit(Frm As Form)
If Not TypeOf Frm Is Form Then Exit Sub
If Frm Is CurFrm Then Exit Sub '如果是同样一个窗体,则不家在
If Not CurFrm Is Nothing Then
CurFrm.Visible = False
Unload CurFrm
End If
frm_main.SplitMain.DetachAllForms
frm_main.SplitMain.AttachForm Frm, 0
Frm.Show
Set CurFrm = Frm
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -