We would like to print out alarm summary with credential of "Operator" user name.
Yes, we have it in XML but how can we print out the document when operator has only access to workspace only.
Is it possible for us to display list of xml file for the alarm summary directory at the graphics workspace and printout from workspace?
If so kindly provide the scripting / graphics of this same.
I still observe a lot bug with alarm summary with version 11.3.1 :(
In reply to Youssef.El-Bahtimy:
You can also transform the XML into an HTML table with a few lines of VBA:
Set xmlDoc = New DOMDocument60
Dim xmlDOMNodeList As IXMLDOMNodeList
Dim xmlNode As IXMLDOMNode
xmlDoc.async = False
xmlDoc.validateOnParse = False ' No need to validate XML since we know it's origin
xmlDoc.Load ("C:\Users\Frank\Documents\PRO_PLUS1_2012-10-20-211255.xml") ' Load XML file into xmlDoc variable
Set xmlDOMNodeList = xmlDoc.SelectNodes("/ALARMSUMMARY/ALARM")
Output_HTML = FreeFile() ' Get next free output file number
Open "C:\Users\Frank\Documents\alarmlist.html" For Output As Output_HTML
Print #Output_HTML, "<table border='1'><tr><th>Time_In</th><th>Description</th><th>Module Parameter</th>"
Print #Output_HTML, "<th>Alarm</th><th>Message</th><th>Priority</th></tr>"
For Each xmlNode In xmlDOMNodeList
On Error Resume Next
Print #Output_HTML, "<tr>" ' Initiate new table row
Print #Output_HTML, "<td>" & xmlNode.selectSingleNode("Time_In").Text & "</td>"
Print #Output_HTML, "<td>" & xmlNode.selectSingleNode("Description").Text & "</td>"
Print #Output_HTML, "<td>" & xmlNode.selectSingleNode("Module_Parameter").Text & "</td>"
Print #Output_HTML, "<td>" & xmlNode.selectSingleNode("Alarm").Text & "</td>"
Print #Output_HTML, "<td>" & xmlNode.selectSingleNode("Message").Text & "</td>"
Print #Output_HTML, "<td>" & xmlNode.selectSingleNode("Priority").Text & "</td>"
Print #Output_HTML, "</tr>" ' End table row
On Error GoTo 0
Next xmlNode
Print #Output_HTML, "</table>"
Close Output_HTML
Start a DOS window (RUN CMD from Start), and run AlarmSummaryUtility.exe /? from C:\DeltaV\bin to see command line options. Hence you can run frsruntask to execute this command with the /export switch; then run above VBA on the fixed/constant output filename, then open results in IE using frsruntask e.g. C:\Program Files (x86)\Internet Explorer\iexplore.exe -k C:\Users\Frank\Documents\alarmlist.html, right click and select Print to print table. May want to include instructions to press ALT+F4 to close kiosk mode. Path to IE will vary based on operating system.
One technique I use, is to dump HTML files to an IIS server; then alarm/interlock summaries/batch charges, can be read from other computers in the plant.
In reply to Frank Seipel:
One other comment on this thread, there is a free utility called PrintHTML available from http://www.printhtml.com/ This is a command line utility to print a web page, either from a file or external URL. it will print HTML from a file without loading IE, but using the IE engine to render what is printed. You can even specify printer as a command line option, as well as headers, footers, margins, etc. This may or may not be preferred over the kiosk method earlier proposed, depending on whether you want to view the list before printing. Also if you choose to do this with Excel, you may not need to purchase Excel because the free Excel Viewer (read only) could be used. www.microsoft.com/.../details.aspx -- DeltaV could also open/print the file using Excel without making it visible for example:
Dim exl As New Excel.Application
Dim xls As Excel.Workbook
exl.Visible = False
Set xls = exl.Workbooks.Open("C:\Users\Frank\Documents\PRO_PLUS1_2012-10-20-211255.XML")
xls.ActiveSheet.PrintOut
xls.Close
exl.Quit
Set xls = Nothing
Set exl = Nothing
On another topic, what is typically used to send e-mails? We use febootimail to send alerts based on a schedule (daily tank levels, certain alarms). We have a schedule run on two workstations (second fires if first doesn't). This seems to be quite reliable & we can configure which autodialer(s) are active and e-mail distribution lists from the faceplates. I was wondering what others did for that application. Now that I know a bit more about this it might have been better to just set this up in Excel on a dedicated computer using OPC.