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

📄 alarm.txt

📁 用于分析和统计码头集装箱装卸设备前20条发生频率最高的报警信息
💻 TXT
字号:
Const alm_tbln$ = "ALARM_LOG"
Dim alm_dsn As String

Sub Get_chart_dat()
	Dim clmn() As Variant
	Dim flt_cnts() As Variant
	Dim objval As CimObjectVariable
	Dim objname As String
	Dim y_max As Integer

	id_s& = SQLopen(alm_dsn$,,3)
	SQLstr = ""
	'SQLstr = SQLstr & "SELECT DISTINCTROW TOP 20 alarm_id, Count(alarm_id) "
	 SQLstr = SQLstr & "SELECT TOP 20 alarm_id, Count(alarm_id) "
   	SQLstr = SQLstr & "From " & alm_tbln$
   	SQLstr = SQLstr & " WHERE ((log_action='G'))"
   	'SQLstr = SQLstr & " AND resource like 'YC18_%' " 
	SQLstr = SQLstr & " GROUP BY alarm_id" 
	SQLstr = SQLstr & " ORDER BY Count(alarm_id) DESC; "  
	qry& = SQLExecQuery(id_s, SQLStr)
	i% = SQLBind(id_s, clmn, 1)  '0.  alarm id
	i% = SQLBind(id_s, clmn, 2)	 '1.  counts
	l& = SQLRetrieve(id_s, flt_cnts)
	id_s = SQLClose(id_s)
	'msgbox "id_s  "
	jnx% = -1
    	If arraydims( flt_cnts ) > 0 Then
		For inx%=0 To UBound(flt_cnts)
		        'msgbox UBound(flt_cnts)
	   		   '	If left(flt_cnts(inx,0),3) = "FLT" And left(flt_cnts(inx,0),5) <> "FLT_8" Then
			 	If left(flt_cnts(inx,0),3) = "FLT" And left(flt_cnts(inx,0),5) <> "FLT_8" Then
		   		jnx = jnx + 1
                objname = "FltID_" & jnx
				Set objval = CimGetRootObject().GetVariable(objname)
				objval = """" & flt_cnts(inx,0)	& """"
				If jnx = 0 Then
					tmp_num% = flt_cnts(inx,1) Mod 5 
					y_max =iif(tmp_num=0, flt_cnts(inx,1), flt_cnts(inx,1)+5-tmp_num)
				End If 
				 objname = "Fltcnt_" & jnx
				Set objval = CimGetRootObject().GetVariable(objname)
				objval = Cint(flt_cnts(inx,1) / y_max * 100)
			End If

			If jnx = 19 Then
				Exit For
			End If	
		Next
	
		For inx%=1 To 5
         	tmp_str$ = CStr(y_max/5 *inx)
			objname = "ylabel_" & inx
			Set objval = CimGetRootObject().GetVariable(objname)
			objval = """" & tmp_str	& """"
		Next
			
	End If
End Sub
																						
' Entrance Point
Sub Set_data()
	Dim num() As Variant 
	Dim mydata As CimObjectVariable
																		   
	alm_dsn = "dsn=" & ReadIni$("Active Parameters", "AlarmLog", "c:\rtg_lcms\lcmsini\lCMS2002.ini")
	'SQLstr$ = "SELECT First(timestamp) FROM " & alm_tbln
     SQLstr$ = "SELECT max(timestamp) FROM " & alm_tbln
	'	l& =SQLRequest(alm_dsn, SQLStr, num,,3,False)
	l& = SQLRequest(alm_dsn, SQLStr$, num)
	 	If num(0,0) < 1 Then
		msgbox "Found no fault.  Abort!"
		Exit Sub
	End If

	Set mydata = CimGetRootObject().GetVariable("Start_T")
	tmp = Format(num(0,0), "hh:mm:ss")
	mydata = """" & tmp	& """"

	Set mydata = CimGetRootObject().GetVariable("Start_D")
	tmp = Format(num(0,0), "mm/dd/yyyy")
	mydata = """" & tmp	& """"

	Set mydata = CimGetRootObject().GetVariable("End_T")
	tmp = Format(now, "hh:mm:ss")
	mydata = """" & tmp	& """"

	Set mydata = CimGetRootObject().GetVariable("End_D")
	tmp = Format(Date, "mm/dd/yyyy")
	mydata = """" & tmp	& """"

	get_chart_dat
End Sub

⌨️ 快捷键说明

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