TN 011:Event-Generated Reports with Wonderware Historian Triggers

Reports in Dream Report can be generated on an event. Event-generated reports use the value of a data item/tag from a real-time data source, and evaluate that value on a user-specified condition, or on change of the value. The key for this to work is that the tag must be exposed through a real-time data source (communication driver) in Dream Report. If using Wonderware Historian as the only data source in a Dream Report project (and external, historical values source) the Historian tags cannot be used to trigger a report. However, there are two approaches to still use those tags to event-generate a report.

Option 1 - Using the Wonderware Historian “IO Server Service” SuiteLink Data Source

The Wonderware Historian I/O Server (aahIOSvrSvc.exe) is Wonderware’s interface for clients to access current ("real-time") data in Historian using the SuiteLink protocol. This service is pre-configured with a single topic - "Tagname". As such, you can configure an instance of the Dream Report SuiteLink Protocol over TCP/IP communication driver, to connect to the Historian I/O Server service.

  1.  To select this driver, open the Dream Report Communication Configuration Wizard, expand the “Wonderware” folder, and then select the SuiteLink Protocol over TCP/IP driver:


  2.  Enter a unique name for this instance of the driver (e.g., “WWHist_RealTime”) and then click the “Configure” button. The following “Wonderware SuiteLink Configuration” window will open:


  3. Click the “Advanced options” button, enter the following details to communicate with the Historian I/O Server service, and then click “OK”:

    Node Name:         The Computer Name or IP address of the Wonderware Historian

    Application:          aahiosvrsvc (entered exactly as shown here)

    Topic:                    Tagname (entered exactly as shown here)

    Driver Settings:   Defaults should be fine, but you may want to increase the retry attempts

  4. To specify which Historian tag(s) you want to expose as real-time values to Dream Report, click the “Add” button on the “Wonderware SuiteLink Configuration” window. The following “Item Definition” window will open - enter the following:

    Item Name:       The Historian tagname (case-sensitive, and exact spelling)

    Item Type:         Tag type, defined as Integer, Real, Discrete or String

    Description:     Tag description (this is optional)

  5. Repeat the above step for any other Historian tags you may want to expose as real-time values, and then click “OK” to close the WW SuiteLink Configuration window:


  6. Finally, click “Add” to add this configuration to the Defined Drivers List, and then click “OK” to close the Wizard:


7. Finally, to generate a report on an event, based on a Historian “real-time” tag:

  • Open the report settings (double-click on the report name in the List of Reports)
  • Select the “Generate Report on Event” tab
  • Check the “Enable Generation on Event” option
  • In the “Select Event Type - Based:” section, click the […] button to select the Wonderware Historian real-time values driver created above, and then select the specific data item for the event trigger
  • Select either “On Condition”, with the data condition to be evaluated; or, “On Item Value Change” (which will trigger the report generation on any value change of that item)
  • You can optionally specify a delay (in seconds) to generate the report, after the event condition has been met.

Option 2 - Using the Dream Report “Analytics” Driver

Dream Report can use a data value from one report for event-based generation of another report. The Analytics driver is an internal driver that exposes all values on a report for use elsewhere in Dream Report - for data logging, expression on the same or any other report, and for report generation. One way to use the Analytics driver to trigger a report is as follows:

  1.  Create a “dummy” report that will be auto-generated periodically (e.g. every minute):


  2. On this report, place a Single Data Object that will use the “Last Value” statistical function of the “trigger” tag from Historian (e.g., a “BatchStatus”, “CriticalEvent”, etc. tag). That tag will be exposed through the Wonderware Historian historical values driver, just as you would when reporting on any tag in Wonderware Historian. For example:


  3. The “real” or actual report should be triggered by the value of the object in the dummy report, exposed through the Analytical driver. On the actual report to be event-triggered:


  4. In order to avoid creating multiple PDF files of the “dummy” report, set the report file name to be static (remove the timestamp part), so every new file will overwrite the previous one


  5. Also, you can set the “dummy” report to not appear in the list of available reports at runtime, even though the report is scheduled to run every minute: