Hello,
I am looking to create a report that shows the currently suppressed alarms. I'd like to generate it in Excel or XLReporter so it can be emailed on a periodic basis. I cannot seem to find any hooks to allow me to query that information out of DeltaV.
Has someone done this before and can point me in the right direction?
Thanks,
Dave
In reply to Matt Stoner:
In reply to dave_marshall:
I fount a program in the DeltaV/Bin Directory called AlarmSummaryUtility.exe. I ran it from a command window and it showed the following.
DELTAV ALARM SUMMARY Sort order: Alarm Banner
Status = 0, Items = 1, UnAcked = 1
Occurred Alarm Id St LAALM Priority Description Message
-------- ------------------------ -- ------ --------- ---------------- ---------------------------------
1 21:33:55 DV1331/FAILED_ALM 2 FAILED WARNING Event Chronicle: Data collection
Found the following switch option showed some help information:
c:\DeltaV\bin>alarmsummaryutility /?
AlarmSummaryUtility.exe is a console program that acts like a DeltaV alarm summary. It's
primary purpose is to troubleshoot DvAlmSumDataSvr.exe. Run it like:
AlarmSummaryUtility [<summarySize> [<filterSpec> [<sortOption> [<desiredFields>
[<useLocalTime> [<useLocaleTimeFormat> ["<timeFormat>"
[</export> [</silent>]]]]]]]]]
There was a lot more help information including format for the identified options above.
This is an undocumented utility, and it is a "use at your own risk" type function. It turns out my alarm summary currently only has this one alarm in it...
there is a /export option field to export the summary to XML file, and a /silent option for non-interactive mode. this an more is displayed with the /? qualifier so you can see if it will meet your needs.
Looks like this will do what you want...
Andre Dicaire
you can try this. create a button to fire this on click - or you can use scheduler for periodic basis Dim strFileName As String Dim strAlarmName As String Dim strModuleName As String Dim strTime As String Dim strDesc As String Dim strPriority As String Dim i As Long 'Print to file strFileName = "D:\SuppressedList.txt" Open strFileName For Output As #1 Print #1, "Alarm Name" & vbTab & "Module Name" & vbTab & "Time of Alarm" & vbTab & "Module Description" & vbTab & "Alarm Priority" For i = 1 To 250 strAlarmName = frsreadvalue("DVSYS.THISUSER/OPSUP[" & i & "].A_ATTR", , , False) If strAlarmName = "" Then GoTo CloseFile strModuleName = frsreadvalue("DVSYS.THISUSER/OPSUP[" & i & "].A_CV", , , False) strTime = frsreadvalue("DVSYS.THISUSER/OPSUP[" & i & "].A_TIN", , , False) strDesc = frsreadvalue("DVSYS.THISUSER/OPSUP[" & i & "].A_DESC", , , False) strPriority = frsreadvalue("DVSYS.THISUSER/OPSUP[" & i & "].A_PRI", , , False) Print #1, strAlarmName & vbTab & strModuleName & vbTab & strTime & vbTab & strDesc & vbTab & strPriority Next i CloseFile: Close #1 MsgBox "Done. Refer to SuppressedList.txt located in D:\ directory."
In reply to Andre Dicaire:
In reply to doug bray: