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:
I realized today that I never updated this item with how I solved the problem. The System Alarm Manager, if accessed from the ProPlus, allows for scheduling of reports. These reports get dumped to an XML file that you can then parse. Fair warning, the XML file isn't formatted the best and it takes some effort to parse it correctly. The XML file is landed at D:\DeltaV\DVData\AlarmReports. This report takes me around 5-10 minutes to run. Thus, in my case, I have the following setup (I use XLReporter to process the reports, otherwise task scheduler could be just as easily used): 1. SAM Report runs daily at 12:10AM. The report is configured for all alarms, all areas, nodes, and logic solvers. 2. XLReporter (installed on a reporting server) copies the file to the reporting server locally. 3. XLReporter launches an excel book that is loaded with VBA to import the XML file to Excel, and then parse/copy the relevant data to a new workbook. I have had problems with this running in v15 (hence me now updating this question since I forgot how I did it all those years ago) that I'm now working through. I hope this helps!