📄 calarmopr.cls
字号:
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
Persistable = 0 'NotPersistable
DataBindingBehavior = 0 'vbNone
DataSourceBehavior = 0 'vbNone
MTSTransactionMode = 0 'NotAnMTSObject
END
Attribute VB_Name = "cAlarmOPR"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Option Explicit
' In the DataBase , Must be built 2 exec as this :
' 1 select top 1 realtime,pv_wt02,pv_wt03,pv_wt04,pv_st01,pv_st02,pv_st04,pv_st06,pv_prst,pv_prsub from realtimedata order by realtime desc
' 2 select top 1 * from sv_alert order by realtime desc
'
' In the DataBase ,There must be another sheet which named "AlertInfo" that include items: realtime,alertinfo
' SV_AlertSet:
' Realtime
' HHST01
' HHST02
' HHST04
' HHST06
' HHWT02
' HHWT03
' HHWT04
' LLWT02
' LLWT03
' LLWT04
' HHPRST
' LLPRST
' HHPRSUB
' LLPRSUB
Private WithEvents priTMRAlert As Timer
Attribute priTMRAlert.VB_VarHelpID = -1
Private priLastAlert As String
Public Property Let setTimerOCX(ByRef lTimer As Timer)
Set priTMRAlert = lTimer
priTMRAlert.Enabled = False
End Property
Public Sub Initialization()
On Local Error GoTo ErrOPR
priTMRAlert.Interval = 2000
priTMRAlert.Enabled = True
Exit Sub
ErrOPR:
End Sub
Private Sub DoAlertOPR()
Dim tArrPV(20) As Variant
Dim tArrSV(20) As Variant
Dim tStr As String
Call gCDBOPR.getItemsValue("exec getPVAlertItems", tArrPV())
Call gCDBOPR.getItemsValue("Select top 1 * from SV_AlertSet order by realtime desc", tArrSV())
tStr = getRealtimeAlertInfo(tArrPV(), tArrSV())
If tStr <> priLastAlert Then
priLastAlert = tStr
If tStr = "" Then Exit Sub
tStr = "Insert into AlertInfo Values('" & Now() & "','" & priLastAlert & "')"
gCDBOPR.SaveAlertValue tStr
Else
priLastAlert = tStr
End If
End Sub
Private Function getRealtimeAlertInfo(ByRef lPVItems() As Variant, ByRef lSVItems() As Variant) As String
Dim tStr$
tStr = tStr & IIf(lPVItems(1) > lSVItems(1), "1点炉温超高 ", "")
tStr = tStr & IIf(lPVItems(2) > lSVItems(2), "2点炉温超高 ", "")
tStr = tStr & IIf(lPVItems(3) > lSVItems(3), "4点炉温超高 ", "")
tStr = tStr & IIf(lPVItems(4) > lSVItems(4), "6点炉温超高 ", "")
tStr = tStr & IIf(lPVItems(5) > lSVItems(5), "2点水温超高 ", "")
tStr = tStr & IIf(lPVItems(6) > lSVItems(6), "3点水温超高 ", "")
tStr = tStr & IIf(lPVItems(7) > lSVItems(7), "4点水温超高 ", "")
tStr = tStr & IIf(lPVItems(5) < lSVItems(8), "2点水温超低 ", "")
tStr = tStr & IIf(lPVItems(6) < lSVItems(9), "3点水温超低 ", "")
tStr = tStr & IIf(lPVItems(7) < lSVItems(10), "4点水温超低 ", "")
tStr = tStr & IIf(lPVItems(8) > lSVItems(11), "还原压力超高 ", "")
tStr = tStr & IIf(lPVItems(8) < lSVItems(12), "还原压力超低 ", "")
tStr = tStr & IIf(lPVItems(9) > lSVItems(13), "还原压差超高 ", "")
tStr = tStr & IIf(lPVItems(9) < lSVItems(14), "还原压差超低 ", "")
getRealtimeAlertInfo = tStr
End Function
Private Sub priTMRAlert_Timer()
Call DoAlertOPR
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -