⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 module3.bas

📁 自动化测试程序
💻 BAS
📖 第 1 页 / 共 3 页
字号:
dtype = RecData(3)
Dim file As String
file = App.Path & "\para\" & dev_NumToName(dtype) & ".ini"
TempLen = RecData(5) - 2

k = 8
j = TempLen / 8 'SOE数量
    For i = 1 To j
         SOE_numble = SOE_numble + 1
         msecond = (RecData(k) + (RecData(k + 1) * 256)) And &H3FF
         second = (RecData(k + 1) And &HFC) / 4
         minute = RecData(k + 2) And &H3F
         hour = (((RecData(k + 2) And &HC0) / 64) + ((RecData(k + 3) And &H7) * 4))
         day = (RecData(k + 3) And &HF8) / 8
         month = RecData(k + 4) And &HF
         year = RecData(k + 5) + 2000
         flag = RecData(k + 6) And &H1
         yx_sn = (((RecData(k + 6) And &HFE) / 2) + (RecData(k + 7) * 128)) And &H7FFF
         k = k + 8
         
    
        With frmMsgList.ListView1
            .ListItems.Add
            m = .ListItems.Count
            .ListItems(m).Text = m              '序号
            .ListItems(m).SubItems(1) = addr    '装置地址
            .ListItems(m).SubItems(2) = dev_NumToName(dtype) '装置类型名称
            .ListItems(m).SubItems(3) = yx_sn   '遥信点号
            .ListItems(m).SubItems(4) = GetINI("YX_NAME", "YX" & yx_sn + 1, file)
            .ListItems(m).SubItems(5) = year & "年" & month & "月" & day & "日" & _
                    hour & "时" & minute & "分" & second & "秒" & msecond & "毫秒"
            If flag Then
                .ListItems(m).SubItems(6) = "合"
            Else
                .ListItems(m).SubItems(6) = "分"
            End If
        End With
    Next i

End Sub

Public Sub Dispose_sysp()
Dim TempLen As Integer
Dim i, j As Integer
Dim k As Long
Dim addr As Integer
    TempLen = RecData(5) + 5
    addr = RecData(2)
    j = 1
    For i = 8 To TempLen Step 2
        k = RecData(i + 1)
        Dev_Par(addr).sys_cfg(j) = RecData(i) + k * 256
        j = j + 1
    Next i
    If addr = Cur_Dev.addr Then
        Form1.SetSysP (2)
    End If
    With frmMsgList.Text1(1)
        .Text = .Text & vbCrLf & Now & "读系统配置完成。"
    End With
End Sub

Public Sub wDispose_sysp()
    With frmMsgList.Text1(1)
        If RecData(6) = 0 And RecData(7) = 0 Then
            .Text = .Text & vbCrLf & Now & "写系统配置正确。"
        Else
            .Text = .Text & vbCrLf & Now & "写系统配置错误!"
        End If
    End With
End Sub

Public Sub wDispose_ycp()
    With frmMsgList.Text1(1)
        If RecData(6) = 0 And RecData(7) = 0 Then
            .Text = .Text & vbCrLf & Now & "写遥测配置正确。"
        Else
            .Text = .Text & vbCrLf & Now & "写遥测配置错误!"
        End If
    End With
End Sub

Public Sub Dispose_ycp()
Dim TempLen As Integer
Dim i, j As Integer
Dim k As Long
Dim a, b As Double
Dim addr As Integer
    TempLen = RecData(5) + 5
    addr = RecData(2)
    j = 1
    For i = 1 To 64
        k = RecData(i * 2 + 7) * 256 + RecData(i * 2 + 6)
        If k > 32767 Then
            k = 65536 - k
        End If
        Dev_Par(addr).yc_cfg(i) = k
    Next i
    j = 65
    For i = 136 To TempLen Step 2
        k = RecData(i + 1)
        Dev_Par(addr).yc_cfg(j) = RecData(i) + k * 256
        j = j + 1
    Next i
    '角度设置
    For i = 1 To 16
        If (Dev_Par(addr).yc_cfg(i * 2 + 31) <> 0) Then
            a = Atn(CDbl(Dev_Par(addr).yc_cfg(i * 2 + 32)) / CDbl(Dev_Par(addr).yc_cfg(i * 2 + 31))) * 180 / PI
            If (Dev_Par(addr).yc_cfg(i * 2 + 31)) < 0 Then
                a = a + 180#
                If a >= 180# Then
                    a = a - 360#
                End If
            End If
        Else
            If (Dev_Par(addr).yc_cfg(i * 2 + 32) >= 0) Then
                a = 90#
            Else
                a = -90#
            End If
        End If
        Dev_Par(addr).angle(i) = a
    Next i

    If addr = Cur_Dev.addr Then
        Form1.SetYCP (2)
        Form1.SetChxsP (2)
    End If
    With frmMsgList.Text1(1)
        .Text = .Text & vbCrLf & Now & "读遥测配置完成。"
    End With
End Sub

Public Sub Dispose_dop()
Dim TempLen As Integer
Dim i, j, m, n As Integer
Dim k As Long
Dim addr As Integer
    TempLen = RecData(5) + 5
    addr = RecData(2)
    n = 1
    For i = 8 To TempLen - DO_FUNC_NUM Step DO_FUNC_NUM
        m = 0
        For j = 2 To DO_FUNC_NUM + 1
            Dev_Par(addr).do_cfg(j, n) = RecData(i + m)
            m = m + 1
        Next j
        n = n + 1
    Next i
    If addr = Cur_Dev.addr Then
        Form1.SetDOP (2)
    End If
    With frmMsgList.Text1(1)
        .Text = .Text & vbCrLf & Now & "读开出配置完成。"
    End With
End Sub

Public Sub wDispose_dop()
    With frmMsgList.Text1(1)
        If RecData(6) = 0 And RecData(7) = 0 Then
            .Text = .Text & vbCrLf & Now & "写开出配置正确。"
        Else
            .Text = .Text & vbCrLf & Now & "写开出配置错误!"
        End If
    End With
End Sub

Public Sub wDispose_xsp()
    With frmMsgList.Text1(1)
        If RecData(6) = 0 And RecData(7) = 0 Then
            .Text = .Text & vbCrLf & Now & "写通道系数正确。"
        Else
            .Text = .Text & vbCrLf & Now & "写通道系数错误!"
        End If
    End With
End Sub
'读定值解析
Public Sub Dispose_setp()
Dim TempLen As Integer
Dim i, j As Integer
Dim k As Long
Dim addr As Integer
    TempLen = RecData(5) + 5
    addr = RecData(2)
    Form1.Label21.Caption = "第" & RecData(6) & "组保护定值清单"
    j = 1
    For i = 8 To TempLen Step 2
        k = RecData(i + 1)
        Dev_Par(addr).settle(j) = RecData(i) + k * 256
        j = j + 1
    Next i
    If addr = Cur_Dev.addr Then
        Para_init_flag = True
        Form1.Text1.Text = RecData(6)
        Para_init_flag = False
        Form1.SetSettle (2)
    End If
    With frmMsgList.Text1(1)
        .Text = .Text & vbCrLf & Now & "读定值完成。"
    End With
End Sub

Public Sub wDispose_setp()
    With frmMsgList.Text1(1)
        If RecData(6) = RecData(7) Then
            .Text = .Text & vbCrLf & Now & "写" & RecData(6) & "组定值正确。"
        Else
            .Text = .Text & vbCrLf & Now & "写" & RecData(6) & "组定值错误!"
        End If
    End With
End Sub

Public Sub Dispose_setgp()
'查询定值组返回
    With frmMsgList.Text1(1)
        If RecData(6) = RecData(7) Then
            .Text = .Text & vbCrLf & Now & "读取当前定值组号正确。"
            Form1.Text3.Text = RecData(6)
        Else
            .Text = .Text & vbCrLf & Now & "读取当前定值组号错误!"
        End If
    End With
End Sub

Public Sub Dispose_chag_setgp()
'切换定值组返回

    With frmMsgList.Text1(1)
        If (RecData(6) = RecData(7)) And RecData(6) = Form1.Text13.Text Then
            .Text = .Text & vbCrLf & Now & "切换定值正确。"
            Form1.Text3.Text = RecData(6)
        Else
            .Text = .Text & vbCrLf & Now & "切换定值错误!"
        End If
    End With
End Sub

Public Sub Dispose_xsp()

End Sub

Public Sub Dispose_ddp()
Dim TempLen As Integer
Dim i, j As Integer
Dim k As Long
Dim addr As Integer
    TempLen = RecData(5) + 5
    addr = RecData(2)
    j = 1
    For i = 8 To TempLen Step 2
        k = RecData(i + 1)
        Dev_Par(addr).dd_rate_cfg(j) = RecData(i) + k * 256
        j = j + 1
    Next i
    If addr = Cur_Dev.addr Then
        Form1.SetDDP (2)
    End If
End Sub

Public Sub wDispose_ddp()
    With frmMsgList.Text1(1)
        If RecData(6) = 0 And RecData(7) = 0 Then
            .Text = .Text & vbCrLf & Now & "写电度变比正确。"
        Else
            .Text = .Text & vbCrLf & Now & "写电度变比错误!"
        End If
    End With
End Sub

Public Sub wDispose_dip()
    With frmMsgList.Text1(1)
        If RecData(6) = 0 And RecData(7) = 0 Then
            .Text = .Text & vbCrLf & Now & "写开入配置正确。"
        Else
            .Text = .Text & vbCrLf & Now & "写开入配置错误!"
        End If
    End With
End Sub

Public Sub Dispose_dip()
Dim TempLen As Integer
Dim i, j, n As Integer
Dim k As Long
Dim addr As Integer
Dim str As String
    TempLen = RecData(5) + 5
    addr = RecData(2)
    '功能定义
    If TempLen >= 8 + 128 Then
        j = 1
        For i = 8 To 8 + 128 - 1
            Dev_Par(addr).di_func1_cfg(j) = RecData(i)
            i = i + 1
            Dev_Par(addr).di_func2_cfg(j) = RecData(i)
            j = j + 1
        Next i
    End If
    '延时
    If TempLen >= 8 + 128 + 64 Then
        j = 1
        For i = 8 + 128 To 8 + 128 + 32 - 1
            Dev_Par(addr).di_delay_cfg(j) = RecData(i)
            j = j + 1
        Next i
    End If
    '遥信极性
    If TempLen >= 8 + 128 + 64 + 32 Then
        j = 1
        For i = 8 + 128 + 64 To 8 + 128 + 64 + 32 - 1
            str = DecToBin(RecData(i))
            For n = 0 To 7
                Dev_Par(addr).di_pro_cfg(j) = Mid(str, 8 - n, 1)
                j = j + 1
            Next n
        Next i
    End If
    
    '遥信电度选择
    If TempLen >= 8 + 128 + 64 + 32 + 8 Then
        j = 1
        For i = 8 + 128 + 64 + 32 To 8 + 128 + 64 + 32 + 8 - 1
            str = DecToBin(RecData(i))
            For n = 0 To 7
                Dev_Par(addr).di_dd_cfg(j) = Mid(str, 8 - n, 1)
                j = j + 1
            Next n
        Next i
    End If
    
    If addr = Cur_Dev.addr Then
        Form1.SetDIP (2)
    End If
    With frmMsgList.Text1(1)
        .Text = .Text & vbCrLf & Now & "读开入配置完成。"
    End With
End Sub

Public Sub Dispose_protp()

End Sub

Public Sub wDispose_protp()

End Sub


Public Sub Dispose_ramp()

End Sub

Public Sub wDispose_ramp()

End Sub

Public Sub Dispose_chwavp()

End Sub

Public Sub Dispose_defp()

End Sub
Public Sub Dispose_sdzsp()

End Sub

Public Sub Dispose_xhfgp()

End Sub
Public Sub Dispose_angp()

End Sub

Public Sub Dispose_sysfp()

End Sub

Public Sub Dispose_ledfp()

End Sub

Public Sub Dispose_rstp()

End Sub

Public Sub Dispose_r_time()
With frmMsgList.Text1(1)
    .Text = .Text & vbCrLf & "当前装置时间:" & _
    RecData(13) + 2000 & "年" & RecData(12) & "月" & RecData(11) & "日" & _
    RecData(10) & "时" & RecData(9) & "分" & RecData(8) & "秒"
    .SetFocus
End With

End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -