WIS Administration Guide
WIS Administration Guide
Revision D
Last Revision: 07/04/06
Copyright
All rights reserved. No part of this documentation shall be reproduced, stored in a
retrieval system, or transmitted by any means, electronic, mechanical,
photocopying, recording, or otherwise, without the prior written permission of
Invensys Systems, Inc. No copyright or patent liability is assumed with respect to
the use of the information contained herein. Although every precaution has been
taken in the preparation of this documentation, the publisher and the author
assume no responsibility for errors or omissions. Neither is any liability assumed
for damages resulting from the use of the information contained herein.
The information in this documentation is subject to change without notice and does
not represent a commitment on the part of Invensys Systems, Inc. The software
described in this documentation is furnished under a license or nondisclosure
agreement. This software may be used or copied only in accordance with the terms
of these agreements.
Trademarks
All terms mentioned in this documentation that are known to be trademarks or
service marks have been appropriately capitalized. Invensys Systems, Inc. cannot
attest to the accuracy of this information. Use of a term in this documentation
should not be regarded as affecting the validity of any trademark or service mark.
Alarm Logger, ActiveFactory, ArchestrA, Avantis, DBDump, DBLoad, DT Analyst,
Factelligence, FactoryFocus, FactoryOffice, FactorySuite, FactorySuite A2, InBatch,
InControl, IndustrialRAD, IndustrialSQL Server, InTouch, MaintenanceSuite,
MuniSuite, QI Analyst, SCADAlarm, SCADASuite, SuiteLink, SuiteVoyager,
WindowMaker, WindowViewer, Wonderware, Wonderware Factelligence, and
Wonderware Logger are trademarks of Invensys plc, its subsidiaries and affiliates.
All other brands may be trademarks of their respective owners.
3
Contents
Welcome.......................................... 11
Documentation Set ............................................................12
Documentation Conventions.............................................12
Technical Support .............................................................13
Creating a KPI.................................................................157
Editing a KPI ................................................................158
Deleting a KPI ..............................................................158
Defining a KPI Target.....................................................159
Editing a KPI Target....................................................160
Deleting a KPI Target ..................................................160
Glossary.......................................... 285
Welcome
Documentation Set
The Wonderware Information Server documentation set
includes the following guides:
Documentation Conventions
This documentation uses the following conventions:
Technical Support
Wonderware Technical Support offers a variety of support
options to answer any questions on Wonderware products
and their implementation.
Chapter 1
Getting Started
• Menu Bar
• Content Pane
• Footer Bar
• Launch Pad
Banner Pane
The banner is located at the top of the page and constantly
appears unless the user double-clicks on the title bar of a
given page. This maximizes the window to use all of the
available space in the browser.
You can customize the banner by either replacing the logo
that appears in the banner or replacing the entire banner
itself. For more information, see Customizing the Home Page
on page 92.
Menu Bar
The menu bar is located immediately below the banner area
at the top of the home page:
Option Description
The menu bar also shows a Show Launch Pad link visible at
the far left when the Launch Pad is hidden.
For more information about the Launch Pad, see Launch Pad
on page 19.
Content Pane
The content pane shows all the information for the site. You
can maximize and minimize the content pane by
double-clicking on the title bar.
You can customize the content on the home page. For more
information, see Customizing the Home Page on page 92.
Footer Bar
The footer bar shows the copyright information. You cannot
change this information.
Launch Pad
The Launch Pad is located at the left side of the home page.
The Launch Pad allows you to select access panels assigned
to you and navigate to the various configuration pages,
applications, and custom links.
nodes
Navigation Trees
A navigation tree consists of top-level nodes, "child" nodes,
and "leaf" nodes. For example:
top-level node
"Child" nodes are nodes that do not sit at the top level, but
contain other nodes. A "leaf" node is a child node that
contains a URL to a document, web page, web site, or other
object, such as an InTouch browser-based windows, a chart, a
data table, and so on.
To expand a collapsed node, either double-click it or select the
plus sign icon to the left of the node name. You can collapse
an expanded node by double-clicking on it or by selecting the
minus sign icon.
Link Description
Link Description
Link Description
Chapter 2
Managing Licensing
Helpful Hints
Before backing-up the Wonderware Information Server with
ArchestrA Reports, change the server name in the SQL
Server Reporting Services configuration to "localhost."
Tip The SQL Server administrator can trim the licensing history
table by deleting records that are older than a given date.
3 Select the start and end dates for the query by using the
calendars. You can also type in dates in the Start Date
and End Date boxes. The valid format is: YYYY-MM-DD.
Note You must have enabled license logging to use this feature.
For more information, see Configuring License Usage Logging on
page 28.
Enter the name of the tag server node in the New tag
server node box and click Add.
• Disabled
This is the default option. Tag server writeback is
disabled for all Wonderware InTouch HMI nodes.
4 Click Save.
Changes to the tag server writeback do not go into effect until
the sessions are ended and restarted. Existing sessions are
not affected by this change until you restart the Wonderware
Runtime RDB handler service.
For more information on how to use the ArchestrA License
Manager, see the ArchestrA License Manager guide.
Chapter 3
Managing Security
• Anonymous access
Authenticated access
Wonderware recommends that you use authenticated access
to protect your web site from unknown users. The
authenticated access method is divided into the following
additional options:
• Basic authentication
Basic authentication sends passwords over the network
as clear text. This type of authentication transmits the
passwords across the network unencrypted, making it
easier for hackers to intercept usernames and passwords.
This type of authentication is not recommended.
To make this secure, Wonderware recommends that you
use SSL and client certificates to authenticate users
when using basic authentication. Client certificates are
issued by trusted third-party organizations. This option
may be required for some brands of proxy servers. For
more information, see Using Proxy Servers on page 40.
Anonymous access
Important Wonderware does NOT recommend that you use
anonymous access authentication, because this allows anyone to
access your site.
Firewall/DMZ Compatibility
The Wonderware Information Server is designed to be
"firewall compatible." It supports connections between itself
and one or more clients through port 80 in a firewall, the
standard HTTP port.
It is also DMZ-compatible. The web server can exist between
one outward facing firewall and one inward facing firewall.
In this configuration, the inner firewall needs to open the
SuiteLink port 5413 to access the plant floor I/O Servers on
the secure plant floor network.
If SSL is enabled on the node, you must open port 443.
If a remote database server is being used, the SQL TCP port
1433 should be opened.
Role Privileges
2 In the Role list, click the role to which you want to add a
user(s). A list of all users who are currently assigned to
that role appears in the Role Users window.
Chapter 4
• Historian
• Production
• OLE DB
• Other
Each data source type can have multiple named data source
instances. However, only one of each data source instance can
be defined as the default. The default data source is used by
ArchestrA Reporting. For more information on ArchestrA
Reporting, see Using ArchestrA Reporting on page 211.
4 In the Data Source Type list, click Alarm. The Add New
Shared Data Source window appears.
4 In the Data Source Type list, select OLEDB. The Add New
Shared Data Source window appears.
4 In the Data Source Type list, select Other. The Add New
Shared Data Source window appears.
7 Check the Default for this Data Source Type box to make
this data source the default for this data source type.
8 In the Connection Timeout(in Sec) and the Query
Timeout(in Sec) fieldfields, type values for the connection
and query timeouts.
9 In the Provider box, type the name of the provider based
on the SQL Server version installed. If, for example, you
have SQL Server 2005 installed, type SQLNCLI. If you
have SQL Server 2008 installed, type SQLNCLI10.
After you type the data source information in the window,
click Test Connection. The test results appear at the
bottom of the window. Click Save to save the data source
and return to the Data Source Manager window.
3 Select the check box for the respective Data Source and
click Modify. The Modify Shared Data Source window
appears. This window is the same as the Add New Shared
Data Source window for that data type.
4 Change the information as needed.
After you type the data source information in the
window, click Test Connection. The test results appear at
the bottom of the window.
5 Click Save to save the data source and return to the Data
Source Manager window.
Chapter 5
Chapter 6
top-level node
"child" nodes
leaf nodes
Note If you are working in http: mode and then switch to https:
mode, items added to the panel that have been defined to use
http: protocol will no longer work. To fix these broken links,
someone with administrator privileges must delete the items from
the panel and then re-add them so that they have the https:
protocol.
2 Click New Panel. In the box that appears, type the access
panel name that will appear on the tab (button) in the
Launch Pad.
3 Press Enter on your keyboard. The new access panel
appears in the list.
4 Go to Configuring the Navigation Tree for a Custom
Access Panel on page 72.
Chapter 7
Configuring MultiViews
Editing a MultiView
You can add, change, or delete the Web Parts in a Multiview.
Web Parts are stored in galleries which are collections of Web
Parts that are grouped together. For example, all of the Web
Parts in a gallery may relate to a specific function or be
published by a particular company.
3 Click the InTouch Web Part Menu arrow and click Modify
Shared Web Part.
4 When the InTouch Toolpart appears, click the Web Part
Menu arrow on the InTouch WebPart.
5 Click Connections and do the following:
a Click Consumes Parameter 1 and select your web part
from the menu. In the following graphic, Test List is
the web part to connect.
2 With the Trend Tool Part open, click the Web Part Menu
arrow on the Trend WebPart and select Connections.
Configure Tags
When you configure tags, you can select any Wonderware
Historian from the top list. This list contains Named Data
Sources of the InSQL type. The data source is configured in
the Shared Data Source Manager.
For more information about trend properties, see the
ActiveFactory user documentation.
The following connections are supported:
• Provides InSQL Server: Provides the Wonderware
Historian Server node name to any other web part.
• Consumes Start Date and End Date: Uses a start and end
date provided by another web part.
Chapter 8
Tip Use a banner that coordinates with the color scheme that you
pick for the web site. For more information on available schemes,
see Changing the Color Scheme on page 94.
• Content pane
4 In the Node Name box, type the name of the node as you
want it to appear in the navigation tree. For example,
"Projects."
5 In the Node Type box, click LEAF if this node is the bottom
node in the branch. If you are planning on adding
additional levels under this node in the hierarchy (one or
more "child" nodes), click NODE.
Chapter 9
Maintenance Tasks
Viewing Errors
Wonderware Information Server logs error messages to the
Wonderware ArchestrA Logger, which is installed by default
when you install Wonderware Information Server. You can
customize the types of messages that are reported to the
ArchestrA Logger using the LogFlag Editor utility.
For information on using the ArchestrA Logger and the
LogFlag Editor, see the ArchestrA Logger documentation.
Monitoring Usage
IIS automatically creates a log file to track user access to the
site. This log file tells who was on the site, where they went
in the site, how long they were on each page, and anything
they looked at in the site. This file could be helpful for
determining site usage and which areas are used more than
others. The log file is stored under your
\WINNT\System32\LogFiles directory.
However, the log file gets very large very quickly and you
need to put a standard operating procedure into place for
either purging or archiving this file. You can also turn the
logging feature off if it is not helpful to you. For more
information on IIS log files, see your IIS documentation.
Also, it is essential that you monitor site usage to determine
if you have enough client licenses installed. If not, you may
want to determine if the people that are logging on to the site
during busy times could be asked to log in during slower
times or if you need to purchase additional licenses. The
License Manager is located under the Administration section
of the Wonderware Information Server. For more information
on the License Manager, see Chapter 2, Managing Licensing
Obtaining Feedback
As the administrator, provide users with an easy way to send
feedback. This can easily be accomplished by creating an
e-mail link using the Configuration area of the site. For more
information, see Creating Custom Links for Users on page
94. Most intranet/Internet users are familiar with an e-mail
link labeled "Contact Us." Creating this link provides a way
for users to comment on the usefulness of the information
they obtain, additional information they want to see, speed to
access information, and any problems they encounter while
navigating through the site.
Obtaining good feedback helps you to design a useful,
functional, and informative tool for the casual users in your
company and help you tailor the information that
Wonderware Information Server delivers to the organization.
6 In the Session timeout box, type the new timeout limit for
client connection sessions.
7 In the ASP Script timeout box, type the new timeout limit
for scripts.
8 Click OK.
Chapter 10
Requirements
The Backup/Restore Manager for Wonderware Information
Server version 3.1 and greater is not compatible with
previous versions of the software.
You can host the Wonderware Information Server
configuration database on a remote SQL server node. The
SQL server must be running under a network account with
the correct permissions. These permissions are network
share privileges that allow the Backup/Restore Manager to
access the remote node’s file system.
You must also be a local administrator of the Wonderware
Information Server computer. In addition, the user
credentials must also have SQL Server system administrator
privileges.
You must install the SQL Server client connectivity
components on the Wonderware Information Server
computer.
• aaReports database
• InTouch WindowSets
Creating a Backup
The Wonderware Information Server is accessible by clients
during the backup process.
To create a backup
1 On the Start menu on the Windows Taskbar, point to
Programs, Wonderware, then to Information Server, and
then select Backup and Restore. The Backup/Restore
dialog box appears.
2 Select Backup.
Restoring a Backup
Before you restore, make sure you all open connections to the
database are closed.
To restore a backup
1 On the Start menu on the Windows Taskbar, point to
Programs, Wonderware, then to Information Server, and
then select Backup and Restore. The Backup/Restore dialog
box appears.
2 Select Restore.
3 Specify the complete path to the backup file or click the
button next to the Backup File box to browse for the
backup file. Select the .Cab file and click Open.
4 Select either Windows Authentication or SQL Server
Authentication.
5 Click Backup/Restore.
When the restoration process begins, the Restoration
Status dialog box appears.
If the restoration program could not restore an item, a
message appears in the dialog box.
When the Restore is complete, click Close.
When the restoration is complete, a log file is created in
the same location where the backup file (.cab) resided
when you ran the restoration program. The log file is
named using the following convention:
<backupname>_Restore.txt. You can open the log file
with any text editor.
The following list describes the error messages that can occur
during the backup process.
Chapter 11
Introduction to TableWeaver
• Displays
• Links
• Web Content
• Filter Entry
• SmartSymbol
4 In the Folder Name box, type a name for the folder. This
name appears on the definition unit list page. The folder
name must be unique in the current folder and cannot
contain spaces or special characters (\ / : * ? < > & | ' " %).
5 Click Save.
Deleting a Folder
To delete a folder
1 In the System access panel, expand Administration and
then click Table Weaver Manager. The Table Weaver
Manager page appears.
2 Select a Table Weaver definition unit page. The
corresponding definition unit list page appears.
3 Select the check box next to the folder(s) you want to
delete. You can delete folder(s) and definition unit ID(s)
at the same time. For more information on deleting a
definition unit ID, see Deleting a Definition Unit on page
120.
4 Click Delete. You are prompted to verify the deletion.
5 Click OK.
Chapter 12
Note You can edit query, link, display, and KPI definition
components by using the browse button placed next to each
definition component list. To edit data sources, you must go to
the Data Source Manager. For information on using the Data
Source Manager, see Chapter 4, Configuring Data Sources.
Note You must refresh the Table Weaver node on the navigation
panel to view newly created content unit folders and/or primary
content units.
5 In the Export Name box, type a name for the export. This
name is the folder name for the exported content located
at <Wonderware Information Server Program files
Installation Directory>\Export. The export name(s)
import content unit(s).
6 Select the Export Image check box if you want to export
the images selected in the content unit/folder files.
Images are exported to <Wonderware Information Server
Program files Installation Directory>\Export\ImageLib.
7 Click Export.
Chapter 13
Defining Queries
Using the Query area of the Table Weaver, you can define
queries for a specific data source type.
About Queries
A query describes the particular information to be retrieved
from a data source. For example, a query includes the data
source type (database or web content), SQL statement, and
parameters to pass. A query is one of the two mandatory
definition units required to define a content unit.
To use a query in a content unit, there must be a
corresponding data source with the same type. Use a
database query with a database data source, and a web
content query with a web content data source. Database and
web content queries allow parameter variables to be passed
to the query or data source.
Note If you are working in http: mode and then switch to https:
mode, items added to the panel that are defined to use http:
protocol no longer work. To fix these broken links, someone with
administrator privileges must delete the items from the panel and
then re-add them so that they have the https: protocol.
Defining a Query
To define a query
1 In the System access panel, expand Administration and
then click Table Weaver Manager. The Table Weaver
Manager page appears.
2 Click Query. The Query List page appears.
3 Click New. The Query page appears.
4 In the Data Source Type list, select a data source type. The
properties from the selected data source type appear.
5 For more information on defining queries for each type of
data source, go to Defining a Database Query on page
130, and Defining a Web Content Query on page 133.
2 In the Query ID box, type a name for the query. The name
must be unique in the current folder and not contain
spaces or special characters (\ / : * ? < > & | ' "). This
name appears in the Query List page.
3 In the Description box, type a description for the query.
This description appears in the Query List page.
4 In the SQL Query box, type a script or statement to be
executed by the database. For information on SQL
queries, see Examples of Database Queries on page 133.
2 In the ID box, type a name for the query. The name must
be unique in the current folder and not contain spaces or
special characters (\ / : * ? < > & | ' "). This name appears
in the Query list page.
3 In the Description box, type a description for the query.
This description appears in the Query list page.
4 In the Link Type list, select List or Page to define the link
type.
• A List link type defines the link as a link, allowing
multiple web content links within a query definition.
• A Page link type defines the link as content, allowing
only one link definition per query.
2 In the Method list, select GET or POST for the http method
of the link.
3 In the URL box, type the http URL of the link.
4 In the optional Parameters area, type the name and value
of the parameter to pass to the URL. Parameters for the
GET method are passed as a query string. Parameters for
the POST method are passed as a form post. Click More to
add more parameters to the query.
5 Click Save.
3 In the Name box, type a name for the link. This name
appears in the web link collection for the defined web
query.
4 In the Method list, click GET or POST for the http method
of the link.
5 In the URL box, type the http URL of the link.
6 In the optional Parameters box, type the name and value
of the parameter to pass to the URL. Parameters for the
GET method are passed as query a string. Parameters for
the POST method are passed as a form post. Click More to
add more parameters to the query.
7 Click Save. To add more links, click New Link from the
Web Link Collection area.
Chapter 14
Defining Displays
About Displays
TableWeaver displays support:
• Hyperlinks to related information
• Filter Entry
• SmartSymbol
• Tabular
• Web Content
Defining a Display
To define a display
1 In the System access panel, expand Administration and
then click Table Weaver Manager. The Table Weaver
Manager page appears.
2 Click Display. The Display List page appears.
3 Click New. The Display page appears.
• Multiple Series
The multiple series graph shows a graph with three data
fields (x-axis, y-axis, series) with the option to display the
graph as a single or separate multi-series graph.
• Default Chart
All outputs are plotted on a graph with an x-axis and
y-axis, except for the pie chart. The chart types for
multiple series graph are limited to bar, horizontal bar,
stacked bar, stacked bar percentage and fast line. The
chart default is set to line.
b In the Y-Axis Data Field box, type the data field name
from the data set that is used for the y-axis. The
name appears in the chart results.
c In the Series Data Field box, type the data value to
group the data for a multi-series chart. This option is
only applicable for multiple series charts.
• Header
Specifies the header of the chart. You can type in a
name or include a parameter value with #param#
syntax. This header appears above the chart.
• X-Axis Caption
The caption that appears on the x-axis of the chart.
• Y-Axis Caption
The caption that appears on the y-axis of the chart.
• Size %(Width, Height)
Sets the size of the width and height of the chart to be
displayed in percentage. The value must be positive
integers. The default size is (100, 100)
7 Configure the View Options for the chart.
• Show Legend
Shows or hides the chart legend to the right of the
chart. The legend lists all item values in the chart.
• 3-D View
Specifies the chart as a three-dimensional graphic.
• Zoomable
Zoom in or out on the chart display.
• Show Marks
Shows or hides the marker for each data point on the
graph.
• Show Timestamp
Shows the data retrieval timestamp on the chart in
client time zone.
8 Click Save.
The user can type in a parameter value and find any related
information based on the data inputted. If you click Go
without inputting a value, the filter result shows data
dependent on the configuration of the default parameter.
If the same window is published without the title bar, the gap
between the rows is exactly one-pixel.
5 To show the date and time the display was viewed, click
Show Timestamp. The date and time is displayed in the
client’s time zone.
6 In the Rows per view box, type a numeric value that limits
the number of rows to be presented in a single view. A
zero value displays all data items in the table.
7 In the Color Scheme list, select a color scheme for the
display. The default color scheme is blue.
8 In the Hidden Columns box, type the name of the
column(s) in the table to hide from the table display. Hide
columns that perform KPI calculations. Separate each
column name with a semicolon.
9 In the Display Type list, select Horizontal or Vertical to
determine the orientation of the table. Use the vertical
orientation when there are lots of columns and few rows
from the query results.
10 Click Save.
4 In the Title box, type a title for the display. The title
appears on the top of the display.
Note All web display configuration options after Title are only
used for a web query with a list link type.
Chapter 15
Defining KPIs
Using the KPIs area of the Table Weaver Manager, you can
configure the KPI and target conditions to display visual
indicators in the displays when the target conditions are met.
About KPIs
Key Performance Indicators (KPIs) are visual indicators that
express a value as either a color or an image. Each KPI has
one or more targets with their own set of target conditions
that display visual indicators associated with the target
when all target conditions are met.
Creating a KPI
A KPI is part of a KPI collection. You can configure multiple
KPIs in a KPI collection.
To create a KPI
1 Select a KPI collection from the KPI Collection List page.
3 In the Name box, type a name for the KPI. The name
must be unique in the current KPI Collection. The name
appears in the KPI Collection page.
4 In the Description box, type a description for the KPI. The
description appears in the KPI Collection page.
5 In the Position list, click First, After or Last to indicate the
position of the KPI in the view. If the After position is
selected, the Column Position box is enabled for you to
type the name of the field column for the KPI to be after.
In this example, the KPI named SalesPerCategory is
positioned after CategoryName.
Editing a KPI
To edit a KPI
1 Select a KPI collection from the KPI Collection List page.
2 Select the KPI you want to edit. All information in the
KPI definition can be modified except the KPI name. You
must define a new KPI to modify the KPI name.
3 Click Save.
Deleting a KPI
To delete a KPI
1 In the System access panel, expand Administration and
then click Table Weaver Manager. The Table Weaver
Manager page appears.
2 Click KPI. The KPI Collection List page appears.
3 In the KPI Collection List page, select the KPI collection
ID that contains the KPI(s).
4 Select the check box next to the KPI(s).
5 Click Delete. You are prompted to verify the deletion.
6 Click OK.
8 Click Save.
Chapter 16
Defining Links
Using the Links node of the Table Weaver Manager, you can
define links to connect to various contents.
About Links
A link is the way of connecting various contents to the
content unit. Links are an optional definition unit of a
content unit definition.
While processing a content unit that has a link association,
Table Weaver processes the link definition and put the link
information into the data obtained by running a query on the
data source. The display definition unit takes the processed
data and provide hyperlinks to access related contents.
Defining a Link
Note If you are working in http: mode and then switch to https:
mode, items added to the panel that have been defined to use
http: protocol will no longer work. To fix these broken links,
someone with administrator privileges must delete the items from
the panel and then re-add them so that they have the https:
protocol.
To define a link
1 The link must be part of a link collection. Click a defined
link collection from the Link Collection list page.
3 In the Name box, type a name for the link. The name
must not contain spaces or special characters (\ / : * ? < >
& | ' "). This link appears on the selected link collection
list page.
• Name
Name of the parameter in the SQL query.
• Value
Value that you want to pass in the parameter. To
pass a value from the associated data source, specify
the appropriate column name enclosed with the #
symbol.
15 Click Save.
Editing a Link
To edit a link
1 In the System access panel, expand Administration
and then click Table Weaver Manager. The Table
Weaver Manager page appears.
2 Click Link. The Link Collection List page appears.
3 In the Link Collection List page, select a link collection ID.
4 Click the link name and start editing.
5 Click Save.
Deleting a Link
To delete a link
1 In the System access panel, expand Administration and
then click Table Weaver Manager. The Table Weaver
Manager page appears.
2 Click Link. The Link Collection List page appears.
3 In the Link Collection List page, select the link collection
ID that contains the link(s).
4 Select the check box next to the link(s).
5 Click Delete. You are prompted to verify the deletion.
6 Click OK.
Based on the link definition, hyperlinks are listed for all the
countries listed in the table. The hyperlinks connect to
another tabular display that shows specific information
about the suppliers for the selected country. The links are
configured in the link definition which specifies the binding,
entity, and target of the link.
Chapter 17
ActiveFactory Reporting
• On demand reports
• Scheduled reports
:HE&OLHQW
$FFHVV5HSRUW3DJH
5HSRUW'DWD
5HSRUW&RQILJXUDWLRQ
DQG'DWD5HTXHVWV
5HSRUWLQJ +LVWRULDQ
:HEVLWH
3XEOLVK
5HSRUW&RQILJXUDWLRQ
,QIRUPDWLRQ
7UHQGRU
:RUNERRN
• aaManualTagSingleValueInsert
• aaDiscreteTimeInState
These tables and stored procedures are for internal use only.
Do not modify them.
• Daily
• Event
• Hourly
• Shift
• Weekly
Note The query provided to trigger a report can also be used with
the InSQL Event System.
Note Test the SQL statement in the file using a database query
tool and verify the results before publishing the query to the
website.
• Scripttimeout
http://msdn.microsoft.com/library/default.asp?url=/librar
y/en-us/iissdk/html/429c1800-7d19-4011-a1ca-482a43b1a
bef.asp
• Session.timeout
http://msdn.microsoft.com/library/default.asp?url=/librar
y/en-us/iissdk/html/429c1800-7d19-4011-a1ca-482a43b1a
bef.asp
• Executiontimeout
http://msdn.microsoft.com/library/default.asp?url=/librar
y/en-us/cpgenref/html/gngrfhttpruntimesection.asp
• Responsedeadlockinterval
http://msdn.microsoft.com/library/default.asp?url=/librar
y/en-us/cpgenref/html/gngrfProcessmodelSection.asp
Another setting that you may want to adjust is the polling
interval for report publishing. By default, the reporting
service processes and posts published reports every 30
seconds. Typically, published reports take between four and
five seconds to appear in the website, but they can take up to
30 seconds to appear. When the service first starts up,
reports can take up to one minute to appear.
You can adjust the polling interval by editing the following
tag in the Configuration.config file.
<INTERVAL>30000</INTERVAL>
The polling interval is in milliseconds.
The interval also determines when to clean up temporary
files that are created during publishing. For more
information, see Managing Temporary Files for Scheduled
Reports on page 188.
Connecting to a Historian
Use the following parameters to connect to an Wonderware
Historian.
Name Description
Server The server name of the Wonderware
Historian.
User The user name to connect to the historian.
If omitted, Windows integrated security is
used.
Password The password to connect to the historian.
BaseURL The base URL to use when accessing the
historian via HTTP.
VirDir The virtual directory to use when
accessing the historian via HTTP.
Tags Specified in
Query Y-axis X-axis
Tags Specified in
Query CSV File URL
TagName1 null
TagName2 MyTarget2csv, a file stored in the
/AFWeb virtual directory
TagName3 http://somewebsite/calctargets.aspx?
tag=TagName3
Name Description
Start The start time in the following format:
YYYY-MM-DD hh:mm:ss.s
End The end time in the following format:
YYYY-MM-DD hh:mm:ss.s
Duration The duration in seconds.
DateMode Determines whether to show absolute or
relative times. Specify 1 for relative time, 0
for absolute time.
• End time and duration. The start time is set to the end
time minus the duration. If you specify only the end time,
but no duration, the duration is set to five minutes.
Value Description
TagPickerVisible Hide the Tag Picker.
TimebarVisible Hide the time toolbar.
ToolbarVisible Hide the main toolbar.
AllowGridEditing Hide the Tag List.
AllowContextMenu Hide the shortcut menu.
For example, to hide the Tag Picker and main toolbar, pass
the following:
LockdownOptions=
TagPickerVisible=False,ToolbarVisible=False
Managing Licensing
The ActiveFactory Reporting Website software supports
session-based licensing for clients. Each connection to the
ActiveFactory Reporting Website from a web browser counts
as a session, unless the computer from which the connection
is made has an ActiveFactory desktop license installed.
If all available client sessions are being used, no sessions are
freed up until:
• A website user logs off using the Logoff link in the menu
bar. If the user simply closes the web browser, the session
is still in use.
Chapter 18
SQL Query
v_view1 MyView2 in
DB2 on Host2
select * from LinkedServer1.DB1.dbo.v_MyView1
v_view2
MyView1 in
select * from LinkedServer2.DB2.dbo.v_MyView2
DB1 on Host1
Linked server definitions: LinkedServer1
points to Host1, LinkedServer2 to Host2
Viewing Reports
All reports in the ArchestrA Reporting base folder that the
current user is authorized to view are available as nodes in
the Launch Pad of Wonderware Information Server. The
SnapShot Reports are displayed as a node followed by
datatime format items. To view a report, navigate to it just
like you would access any other node.
To view a report
1 In the Launch Pad, expand the Reports node. A tree of
reports and/or subfolders appears.
2 Navigate to the report you want to view. If a report is
configured for snapshots, expand it to see the available
snapshots.
3 Click the report or snapshot you want to view. If the
report requires parameters, a parameter input page
appears.
Server pane
Filter pane
• Tags pane
• Filter pane
To add a group
1 Right-click on the folder under which you want to create
a group and then click New Group.
A new folder appears in the Tag Picker.
2 Type a name for the folder and press ENTER.
To rename a group
Note You can rename a group that you have created in the Tag
Picker. However, you cannot rename a public folder.
To add or remove tags from the Selected Tags list, use the >
and < buttons. You can also drag the tags between the list
panes.
Wildcard
Character Filter Function
• [abcdef]
[^] Any single character not within the
specified range or set. For example:
• [^a - f]
• [^abcdef]
To apply a filter
1 In the Tag name box, enter the string to match for the
tagname.
2 In the Description box, enter the string to match for the
description.
3 In the I/O Address box, enter the string to match for the
I/O address.
4 Select the Exact match check box to search for tags that
exactly match the entire string that you provided for the
tagname and/or description options.
For example, if you specify "level" as the tagname and do
not select Exact match, any tagname that contains the
string "level" appears. For example, "ReactLevel,"
"ProdLevel," and "$AccessLevel."
The Exact match option does not apply to the I/O address.
5 Click Apply to apply the filter criteria.
6 Click Clear to clear the Filter pane.
Managing Reports
You can manage reports from Wonderware Information
Server using the standard functionality of SQL Server
Reporting Services. For example, you can delete reports,
configure default parameter values, set snapshot options,
and so on.
To manage reports
In the Launch Pad, expand the Administration node and
click on Report Manager.
The SQL Server Reporting Services management page
appears in the content pane. Use it just as you would use
it when accessing it directly. For more information, see
the Microsoft documentation.
Option Description
EncryptedSysAdminUserPassword The password for the user name specified by the
SysAdminUserName option. This value is stored in
an encrypted format. If you want to change this
value manually, you must use the encrypted
version of the password. To get the encrypted
version, configure a shared data source in
Wonderware Information Server with the desired
user name and password. Then, copy the
encrypted password from the DataSources table
in the Wonderware Information Server
database on the Wonderware Information Server
system and paste it as the value for this option.
HiddenReportPrefix The prefix character for hidden reports. If a
report’s name starts with this character, it is not
shown in the Launch Pad.
Option Description
PrinterMapping A mapping of Windows printer names to logical
printer names. Logical printer names are used
when you print a report from a Wonderware
Application Server or Wonderware Historian
script. To map a printer, specify a value in a
format of “Logical name=Windows name.” For
example, a value of “Default=ACME Corp.
SuperWriter” makes the printer that is installed
under the name “ACME Corp. SuperWriter”
available under the logical name “Default.” To
map multiple printers, separate the mappings
using commas.
ReportManager The URL of the Microsoft SQL Server Reporting
Services website. For example,
“http://localhost/Reports”. Depending on your
environment, you may need to use a
fully-qualified URL. For example,
“http://reporthost.mydomain.com/Reports”.
By default a relative URL is used, /Reports. This
is a client-side redirection to /Reports.
SysAdminUserName The user name that is used to connect to the
ArchestrA Reporting database and configure the
corresponding linked server when adding or
editing a shared data source in Wonderware
Information Server.
Developing Reports
Because Wonderware Information Server uses the SQL
Server Reporting Services infrastructure, you can use it to
execute and view any report developed using SQL Server
Reporting Services. There are, however, a number of
additional features that extend standard Reporting Services.
This section explains what these features are and how you
can use them in your custom reports.
Creating Reports
You have two options for creating a new report for
Wonderware Information Server: creating a simple ad-hoc
report based on a semantic model, or developing a
customized report in an external development environment
and deploying it to Wonderware Information Server.
To add or remove tags from the Selected Tags list, use the
> and < buttons. When you execute the report,
Wonderware Information Server passes all tagnames
from the Selected Tags list to the TagName parameter.
Note The Time Zone lists in the client and server Registry files
must absolutely match. For example, orders, numbers, and names
must be the same.
Note The TimeZoneId parameter only shows the Time Zone picker
when the Time Picker is also shown.
• CalculateStartTimeUtc
• DateTimeLocalToUtc
• DateTimeToFileTime
• DateTimeUtcToLocal
• FileTimeLocalToUtc
• FileTimeToDateTime
• FileTimeToDateTimeLocal
• FileTimeToString
• FileTimeToStringLocal
• FileTimeUtcToLocal
• IsDaylightSavingTime
• StringLocalToFileTime
• StringToFileTime
• TimeZoneDisplayName
• TimeZoneId
• TimeZoneName
• TimeZoneToUtc
• UtcToTimeZone
CalculateEndTimeUtc
Returns the end time of a specified relative duration at the
Report Server node.
Syntax
CalculateEndTimeUtc(@when datetime, @duration int,
@timeZoneID int)
Parameters
when
The time to be returned if no valid duration parameter is
specified.
duration
The relative duration. Valid values are:
Value Description
timeZoneId
The time zone to return the end time for. -100 can be used
to indicate ServerLocal.
Return Value
Returns the end time of the specified duration as a datetime
value in UTC (Coordinated Universal Time).
CalculateStartTimeUtc
Returns the start time of a specified relative duration at the
Report Server node.
Syntax
CalculateStartTimeUtc(@when datetime, @duration int,
@timeZoneId int)
Parameters
when
The time to be returned if no valid duration parameter is
specified.
duration
The relative duration. For more information on valid
values, see CalculateEndTimeUtc on page 229.
timeZoneId
The time zone to return the end time for. -100 can be used
to indicate ServerLocal.
Return Value
Returns the start time of the specified duration as a
datetime value in UTC (Coordinated Universal Time).
DateTimeLocalToUtc
Converts a datetime value that represents the local time on
the ArchestrA Reporting database server to UTC
(Coordinated Universal Time).
Syntax
DateTimeLocalToUtc(@dateTime datetime)
Parameters
dateTime
A datetime value representing the local time on the
ArchestrA Reporting database server.
Return Value
Returns a datetime value.
DateTimeToFileTime
Converts a datetime value to a FILETIME value that
represents the local time on the ArchestrA Reporting
database server. FILETIME is a SQL Server bigint value
representing the Microsoft Windows 32 FILETIME (the
number of 100 nanosecond intervals since January 1, 1601)
Syntax
DateTimeToFileTime(@dateTime bigint)
Parameters
dateTime
A bigint value representing the local time on the ArchestrA
Reporting database server.
Return Value
Returns a bigint value.
DateTimeUtcToLocal
Converts a datetime value that represents UTC
(Coordinated Universal Time) to the local time on the
ArchestrA Reporting database server .
Syntax
DateTimeUtcToLocal(@dateTime datetime)
Parameters
dateTime
A datetime value representing UTC.
Return Value
Returns a datetime value.
FileTimeLocalToUtc
Converts a FILETIME value that represents the local time on
the ArchestrA Reporting database server to UTC
(Coordinated Universal Time).
Syntax
FileTimeLocalToUtc(@fileTime bigint)
Parameters
fileTime
A FILETIME value representing the local time on the
ArchestrA Reporting database server.
Return Value
Returns a bigint value.
FileTimeToDateTime
Converts a FILETIME value to a SQL datetime value.
Syntax
FileTimeToDateTime(@fileTime bigint)
Parameters
fileTime
A FILETIME value.
Return Value
Returns the corresponding datetime value. No time zone
conversion is applied. The "corresponding datetime value" is
rounded to the nearest available SQL Server time value,
which has an accuracy of 3.33 milliseconds.
FileTimeToDateTimeLocal
Converts a FILETIME value to a SQL datetime value. The
result represents the local time on the ArchestrA Reporting
database server.
Syntax
FileTimeToDateTimeLocal(@fileTime bigint)
Parameters
fileTime
A FILETIME value representing Coordinated Universal
Time (UTC).
Return Value
Returns the corresponding datetime value rounded to
nearest 3.33 ms.
FileTimeToString
Converts a FILETIME value to a date/time string.
Syntax
FileTimeToString(@fileTime bigint, @format
nvarchar(max))
Parameters
fileTime
A FILETIME value.
format
The format for the date/time string. This must be a valid
.NET Framework DateTime format string. If you pass
NULL, the default format is used (yyyy-MM-dd
HH:mm:ss.fffffff).
Return Value
Returns the value as a string. No time zone conversion is
applied.
FileTimeToStringLocal
Converts a FILETIME value to a date/time string. The result
represents the local time on the ArchestrA Reporting
database server.
Syntax
FileTimeToStringLocal(@fileTime bigint, @format
nvarchar(max))
Parameters
fileTime
A FILETIME value representing Coordinated Universal
Time (UTC).
format
The format for the date/time string. This must be a valid
.NET Framework DateTime format string. If you pass
NULL, the default format is used (yyyy-MM-dd
HH:mm:ss.fffffff).
Return Value
Returns the value as a string.
FileTimeUtcToLocal
Converts a FILETIME value that represents UTC
(Coordinated Universal Time) to the local time on the
ArchestrA Reporting database server.
Syntax
FileTimeUtcToLocal(@fileTime bigint)
Parameters
fileTime
A FILETIME value representing UTC.
Return Value
Returns a bigint value.
IsDaylightSavingTime
Returns whether a specific date/time falls within daylight
saving time in a time zone.
Syntax
IsDaylightSavingTime(@when datetime, @timeZoneId int)
Parameters
when
The date/time value to check.
timeZoneId
The time zone ID. -100 can be used to indicate
ServerLocal.
Return Value
Returns True if the date/time falls within daylight saving
time in the specified time zone. Returns False otherwise.
StringLocalToFileTime
Converts a date/time string to a FILETIME value that
represents the local time on the ArchestrA Reporting
database server.
Syntax
StringToFileTime(@timeString nvarchar(max))
Parameters
timeString
A date/time string representing the local time on the
ArchestrA Reporting database server. The date/time format
must be valid in the current .NET Framework culture.
Return Value
Returns a bigint value.
StringToFileTime
Converts a date/time string to a FILETIME value that
represents UTC (Coordinated Universal Time).
Syntax
StringToFileTime(@timeString nvarchar(max))
Parameters
timeString
A date/time string representing UTC. The date/time format
must be valid in the current .NET Framework culture.
Return Value
Returns a bigint value.
TimeZoneDisplayName
Returns the long name of a time zone based on the time
zone’s ID.
Syntax
TimeZoneDisplayName(@timeZoneId int)
Parameters
timeZoneId
The time zone ID. -100 can be used to indicate
ServerLocal.
Return Value
Returns the name of the time zone as a string. For example,
“(GMT-08:00) Pacific Time (US & Canada); Tijuana.”
TimeZoneId
Returns the ID of a time zone based on the time zone’s short
name.
Syntax
TimeZoneId(@timeZoneName nvarchar(255))
Parameters
timeZoneName
The time zone’s name. For example, “Pacific Standard
Time.”
Return Value
Returns the time zone’s ID as an integer.
TimeZoneName
Returns the short name of a time zone based on the time
zone’s ID.
Syntax
TimeZoneName(@timeZoneId int)
Parameters
timeZoneId
The time zone ID. -100 indicates the time zone of the server
hosting the ArchestrA Reporting database.
Return Value
Returns the name of the time zone as a string. For example,
“Pacific Standard Time.”
TimeZoneToUtc
Converts a UTC (Coordinated Universal Time) time to the
local time in the specified time zone.
Syntax
TimeZoneToUtc(@when datetime, @timeZoneId int)
Parameters
when
The UTC time.
timeZoneId
The time zone ID. -100 can be used to indicate
ServerLocal.
Return Value
Returns the local time in the specified time zone as a
datetime value.
UtcToTimeZone
Converts a local time in the specified time zone to UTC
(Coordinated Universal Time).
Syntax
UtcToTimeZone(@when datetime, @timeZoneId int)
Parameters
when
The local time.
timeZoneId
The time zone ID. -100 can be used to indicate
ServerLocal.
Return Value
Returns the UTC time as a datetime value.
Deploying Reports
Conceptually, deploying a custom report on a Wonderware
Information Server system involves the following tasks:
• Create a default data source for a data source type in
Wonderware Information Server. This automatically
adds a linked server.
Note To deploy the report package, you must select the XML file
contained in the existing deployment package.
Placeholder Description
Placeholder Description
Note Changing the database name only works for views using
OPENQUERY to specify the database.
Configure Printers
You can print your reports from the local printer or from one
or more network printers. Add a local or network printer
using standard printer configuration steps, on the portal
machine.
ArchestrA.Reports.ReportServer Class
ReportServer objects have the following methods:
• Dispose Method
• GetParameterizedReport Method
• GetSnapshotReport Method
• Open Method
Dispose Method
This method disposes of the internal data structures for a
ReportServer instance.
Syntax
Dispose();
Remarks
This method has no parameters or return value.
GetParameterizedReport Method
This method returns an report instance of the
ParameterizedReport class.
Syntax
GetParameterizedReport(string reportPath);
Parameters
reportPath
The full path to the report. For example, "/ArchestrA
Reports/Alarms/Alarm History Report".
Return Value
If successful, a ParameterizedReport instance of the
requested report is returned.
GetSnapshotReport Method
This method returns an report instance of the
SnapshotReport class.
Syntax
GetSnapshotReport(string reportPath);
Parameters
reportPath
The full path to the report. For example, "/ArchestrA
Reports/Alarms/Alarm History Report".
Return Value
If successful, a SnapshotReport instance of the requested
report is returned.
Open Method
This method specifies the report server node and base URL
used to generate reports. Use this method to initialize the
connection before requesting a report instance.
Syntax
Open(string url);
Parameters
url
The URL to the base folder used for ArchestrA Reporting.
For example:
http://NODENAME/Wonderware/ArchestrAReports
Return Value
Returns True if the connection was established; otherwise,
returns False.
Archestra.Reports.SnapshotReport Class
SnapshotReport objects have the following properties and
methods:
• Dispose Method
• LastErrorString Property
• Status Property
• Timestamp Property
• Trigger Method
Dispose Method
This method disposes of the internal data structures for a
SnapshotReport instance.
Syntax
Dispose();
Remarks
This method has no parameters or return value.
LastErrorString Property
This property returns an error message when a report
creation request has failed (that is, if the Status property
contains Fail or the Trigger method returns False).
Return Value
Returns a string.
Status Property
This property returns the current state of the
SnapshotReport instance.
Return Value
Returns a ReportStatus value. For more information, see
ReportStatus Enumeration on page 258.
Remarks
If the status is Fail, check the LastErrorString property for
detailed error information.
Timestamp Property
This property returns the timestamp of the report snapshot if
it was successfully created (that is, if the Status property of
the report instance contains Success).
Return Value
Returns a string.
Trigger Method
This method triggers the creation of a report snapshot on the
report server.
Syntax
Trigger();
Return Value
Returns True if a request for a report snapshot was
successfully submitted to SQL Server Reporting Services.
Returns False if an error occurred, for example, a snapshot is
already in progress for this object. In case of an error, check
the LastErrorString property for the error message.
Remarks
Each SnapshotReport instance allows only one report to be
in progress at a time. That is, you can’t generate multiple
snapshots concurrently. To check if the creation of a snapshot
has been completed, use the Status property.
Archestra.Reports.ParameterizedReport Class
ParameterizedReport objects have the following properties
and methods:
• Dispose Method
• FileSave Method
• FileSaveServer Method
• LastErrorString Property
• PrintServer Method
• SetParameter Method
• Status Property
Dispose Method
This method disposes of the internal data structures for a
ParameterizedReport instance.
Syntax
Dispose();
Remarks
This method has no parameters or return value.
FileSave Method
This method executes the report and saves the results on the
local computer.
Syntax
FileSave(ReportFormat format, string fileName);
Parameters
format
The format in which the report should be saved. For more
information, see ReportFormat Enumeration on page 258.
fileName
The full path and file name, including extension, where the
report should be saved on the local computer. For example:
C:\Reports\Summary.pdf. If no path is specified, the report
is saved in the default directory of the owner of the
ArchestrA Bootstrap service. Usually, this is the
<Windows>\System32 folder. If no extension is specified, an
appropriate extension is added based on the specified report
format.
Return Value
Returns True if a request for executing the report was
successfully submitted to SQL Server Reporting Services.
Returns False if an error occurred, for example, report
generation is already in progress for this object. In case of an
error, check the LastErrorString property for the error
message.
Remarks
Each ParameterizedReport instance allows only one report
to be in progress at a time. That is, you can’t generate
multiple reports concurrently. To check if the creation of a
snapshot has been completed, use the Status property.
FileSaveServer Method
This method executes a report and saves the results in a
folder on the Wonderware Information Server website.
Syntax
FileSaveServer(ReportFormat format, string fileName,
string folderName);
Parameters
format
The format in which the report should be saved. For more
information, see ReportFormat Enumeration on page 258.
fileName
The file name, including extension, under which the report
should be saved. For example: Summary.pdf. If no
extension is specified, an appropriate extension is added
based on the specified report format.
folderName
The folder name on the server. For example: SavedReports.
Specify NULL to save the report in the default folder. To
save the report, the folder must exist on the web site and
the user must be a member of the aaReportsPowerUsers or
aaReportsAdministrators groups. For more information,
see Understanding Reporting Security on page 221.
Return Value
Returns True if a request for executing the report was
successfully submitted to SQL Server Reporting Services.
Returns False if an error occurred, for example, report
generation is already in progress for this object. In case of an
error, check the LastErrorString property for the error
message.
Remarks
Each ParameterizedReport instance allows only one report
to be in progress at a time. That is, you can’t generate
multiple reports concurrently. To check if the creation of a
snapshot has been completed, use the Status property.
LastErrorString Property
This property returns an error message when a report
creation request has failed (that is, if the Status property
contains Fail or one of the methods involved in generating
reports returns False).
Return Value
Returns a string.
PrintServer Method
This method executes a report and prints the results on a
specified printer.
Syntax
PrintServer(string printerName, bool landscape, Margins
reportMargins);
Parameters
printerName
The logical name of the printer where the report should be
printed. The printer mapping is defined in the web.config
file. For more information, see Configuring Reporting
Options on page 219.
landscape
The orientation of the printed report. Specify True for
landscape, False for portrait.
reportMargins
The margins of the printed report. This parameter requires
an object of the Margins system class. The Margins object
has four properties: Top, Bottom, Left, and Right. Each
property specifies the width of the respective margin in
hundredths of an inch.
Return Value
Returns True if a request for executing the report was
successfully submitted to SQL Server Reporting Services.
Returns False if an error occurred, for example, report
generation is already in progress for this object. In case of an
error, check the LastErrorString property for the error
message.
Remarks
Each ParameterizedReport instance allows only one report
to be in progress at a time. That is, you can’t generate
multiple reports concurrently. To check if the creation of a
snapshot has been completed, use the Status property.
SetParameter Method
This method is used to set a report parameter, supply the
parameterName, and the parameterValue.
Syntax
SetParameter(string parameterName, string
parameterValue);
Parameters
parameterName
The name of the report parameter.
parameterValue
The value for the report parameter.
Return Value
Returns True if the parameter was set successfully. Returns
False if an error occurred. In case of an error, check the
LastErrorString property for the error message.
Remarks
To specify more than one value for a multi-value parameter,
call this method once for each value.
The parameter name and value are not validated until the
report is executed.
Character-type parameters with a fixed length may require
trailing spaces to be considered valid.
If a report parameter has a list of available labels and values,
you must specify the value as the parameter name, not the
label.
To specify a date/time value, use any format supported by the
Microsoft .NET 2.0 DateTime structure.
Status Property
This property returns the current state of the
ParameterizedReport instance.
Return Value
Returns a ReportStatus value. For more information, see
ReportStatus Enumeration on page 258.
Remarks
If the status is Fail, check the LastErrorString property for
detailed error information.
ReportFormat Enumeration
This enumeration specifies available formats for saving an
executed report.
Value Description
ReportStatus Enumeration
This enumeration specifies status codes for a report instance
that is being processed.
Value Description
' Note:
' For parameterized reports add default parameters to the report.
' User data source credentials required to execute this report must be stored
' in the report server database, configure in the aaReports data source.
statusCounter = true;
statusDelay = 3000;
snapshotReport = reportServer.GetSnapshotReport(reportNamePath);
ret = snapshotReport.Trigger();
WHILE(statusCounter == true)
IF(snapshotReport.Status == ArchestrA.Reports.ReportStatus.InProgress)
THEN
LogMessage("SnapShot - InProgress - Pass# " + counter.ToString());
ELSEIF(snapshotReport.Status == ArchestrA.Reports.ReportStatus.Success)
THEN
LogMessage("Success - TimeStamp: " + snapshotReport.TimeStamp);
statusCounter = false;
ELSEIF(snapshotReport.Status == ArchestrA.Reports.ReportStatus.Fail)
THEN
LogMessage("Failed - Pass# " + counter.ToString() +
" - Error Detail: " + snapshotReport.LastErrorString);
statusCounter = false;
ELSEIF(snapshotReport.Status ==
ArchestrA.Reports.ReportStatus.NotStarted)
THEN
LogMessage("Not Started - Pass# " + counter.ToString());
ELSEIF(snapshotReport.Status == ArchestrA.Reports.ReportStatus.Unknown)
THEN
LogMessage("Unknown - Pass# " + counter.ToString());
ELSE
LogMessage("Default Null Unknown - Pass# " + counter.ToString());
ENDIF;
System.Threading.Thread.Sleep(statusDelay);
counter = counter + 1;
' after 40 loops checking status, aborting
IF(counter > 40) then
statusCounter = false;
LogMessage("Aborting status check....");
ENDIF;
ENDWHILE;
ENDIF;
snapshotReport.Dispose();
LogMessage("******* End of Script Execution.");
reportServer.Dispose();
statusMaxPasses = 40;
statusDelay = 3000;
nodeName = "<YOUR WIS NODE NAME>";
' make connection
reportServer = new ArchestrA.Reports.ReportServer;
reportServerName = "http://" + nodeName + "/Wonderware/ArchestrAReports";
ret = reportServer.Open(reportServerName);
LogMessage("******** Connecting to Report Server node");
IF(ret) THEN
LogMessage("Successfully connected to: " + nodeName + ".");
ELSE
LogMessage("Unable to connect to: " + nodeName + ".");
ENDIF;
' Save file local storage location
storageDir = "C:\Archestra\";
LogMessage("******** Execute Local Save");
LogMessage("Executing to Report Server: " + reportServerName);
doStatusPass = true;
' report name path
InProgress");
ELSEIF(parameterReport.Status ==
ArchestrA.Reports.ReportStatus.Unknown) THEN
LogMessage("Save - Pass#" + statusPassCount.ToString() + " Status:
Unknown");
ELSEIF(parameterReport.Status ==
ArchestrA.Reports.ReportStatus.NotStarted) THEN
LogMessage("Save - Pass#" + statusPassCount.ToString() + " Status:
Not Started");
ELSE
LogMessage("Save - Pass#" + statusPassCount.ToString() + " Status:
Unknown - " + parameterReport.Status.ToString() + " -
Error Detail: " + parameterReport.LastErrorString);
ENDIF;
' delay between each status check
System.Threading.Thread.Sleep(statusDelay);
' check if status takes too long to get a successful save
statusPassCount = statusPassCount + 1;
IF(statusPassCount > 40) THEN
doStatusPass = false;
LogMessage("Aborted status check..... ");
ENDIF;
ENDWHILE;
parameterReport.Dispose();
ENDIF;
reportServer.Dispose();
statusMaxPasses = 40;
statusDelay = 3000;
nodeName = "<YOUR NODE NAME>";
folderName = null;
' make connection
reportServer = new ArchestrA.Reports.ReportServer;
reportServerName = "http://" + nodeName + "/Wonderware/ArchestrAReports";
ret = reportServer.Open(reportServerName);
LogMessage("******** Connecting to Report Server node");
IF(ret) THEN
LogMessage("Successfully connected to: " + nodeName + ".");
ELSE
LogMessage("Unable to connect to: " + nodeName + ".");
ENDIF;
ArchestrA.Reports.ReportStatus.Unknown) then
LogMessage("Export - Pass#" + statusPass.ToString() + " Status:
Unknown");
ELSEIF(parameterReport.Status ==
ArchestrA.Reports.ReportStatus.NotStarted)
THEN
LogMessage("Export - Pass#" + statusPass.ToString() +
" Status: Not Started");
ELSE
LogMessage("Export - Pass#" + statusPass.ToString() + " Status: Null
Unknown - " + parameterReport.Status.ToString() + " -
Error Detail: " + parameterReport.LastErrorString);
ENDIF;
' delay between each status check
System.Threading.Thread.Sleep(statusDelay);
Note Ensure the Network Account User is the same on both the
GR node and the Wonderware Information Server node.
Note See detailed import steps: To import the reports library for
Wonderware Application Server on page 250
statusMaxPasses = 40;
statusDelay = 3000;
nodeName = "<YOUR WIS NODE NAME>";
landscape = true;
' DateTimes
dateNow = System.DateTime.Now;
dateStart = dateNow;
dateStart = dateStart.AddHours(-24);
' set report margins
margins = new Archestra.Reports.aaReportingService.Margins();
margins.top=20;
margins.bottom=20;
margins.left=200;
margins.right=200;
' set report name and path
reportName = "Group Period";
reportNamePath = "/ArchestrA Reports/Historian/" + reportName;
reportServer = new ArchestrA.Reports.ReportServer;
reportServerName = "http://" + nodeName + "/Wonderware/ArchestrAReports";
' open a connection to the report
ret = reportServer.Open(reportServerName);
IF(ret) then LogMessage("Successfully connected to: " + nodeName + ".");
ELSE LogMessage("Unable to connect to: " + nodeName + ".");
ENDIF;
retFileSave = parameterReport.SetParameter("StartDateTime",
dateStart.ToString());
sMsg = "Report [Group] parameter saved, command returned: " +
retFileSave.ToString() + " - ";
sMsg = sMsg + "System Time: " + System.DateTime.Now.ToString();
IF (retFileSave) THEN
LogMessage(sMsg);
ELSE
LogMessage(sMsg);
ENDIF;
IF (retFileSave) THEN
LogMessage(sMsg);
ELSE
sMsg = sMsg + " - Error: " + parameterReport.LastErrorString;
LogMessage(sMsg);
ENDIF;
' Replace <PRINTERNAME> with the name of the printer set in the web.config file
parameterReport.LastErrorString);
doStatusPass = false;
ELSEIF(parameterReport.Status ==
ArchestrA.Reports.ReportStatus.InProgress)
THEN
LogMessage("Print - Pass#" + statusPass.ToString() + " export status:
InProgress");
ELSEIF(parameterReport.Status ==
ArchestrA.Reports.ReportStatus.Unknown)
THEN
LogMessage("Print - Pass#" + statusPass.ToString() +
" export status: Unknown");
ELSEIF(parameterReport.Status ==
ArchestrA.Reports.ReportStatus.NotStarted)
THEN
LogMessage("Print - Pass#" + statusPass.ToString() + " export status:
Not Started");
ELSE
LogMessage("Print - Pass#" + statusPass.ToString() + " export status:
Unknown - " + parameterReport.Status.ToString() + "
- Error Detail: " + parameterReport.LastErrorString);
ENDIF;
' delay between each status check
System.Threading.Thread.Sleep(statusDelay);
margins = null;
parameterReport.Dispose();
reportServer.Dispose();
ReportsFileSave
This function executes a report and saves the results on the
local computer.
Syntax
ReportsFileSave(@url nvarchar(255), @path
nvarchar(255), @parameters nvarchar(4000),
@reportFormat nvarchar(10), @localPath nvarchar(255))
Parameters
url
The URL to the base folder used for ArchestrA Reporting.
For example:
http://localhost/Wonderware/ArchestrAReports
path
The path of the report to be executed. For example:
/ArchestrA Reports/Alarms/Alarm History Report
parameters
A comma-separated list of parameters to pass to the report.
Parameter values containing commas must be enclosed in
double quotes. To pass a double quote as part of a value,
prefix it with a backslash (\). To pass a backslash, use two
backslashes (\\). To specify multiple parameter values,
specify the parameter multiple times. To specify a date/time
value, use any format supported by the Microsoft .NET 2.0
DateTime structure.
The following example parameter string specifies four
TagName values (SysTimeHour, SysTimeMin,
Has,Comma,Tag and Has\Backslash\Tag), a StartDate
value of 7:42 AM on August 12, 2006, and a Text value of
"Hello, World!":
@parameters='TagName=SysTimeHour,TagName=SysTime
Min,TagName="Has,Comma,Tag",TagName=Has\\Backsla
sh\\Tag,StartDateTime=08/12/2006
07:42:00,Text="\"Hello, World!\""
reportFormat
The format in which the report should be saved. Valid
values are 'CSV', 'Excel', 'MHTML', 'PDF' and 'XML'. For
more information, see ReportFormat Enumeration on
page 258.
localPath
The full path and file name, including extension, where the
report should be saved on the local computer. For example:
C:\Reports\Summary.pdf. If no path is specified, the report
is saved in the default directory of the owner of the InSQL
Event service. Usually, this is the <Windows>\System32
folder.
Return Value
Returns True if the report file was created. Returns False if
an error occurred.
ReportsFileSaveServer
This function executes a report and saves the results in a
folder on the Wonderware Information Server website.
Syntax
ReportsFileSaveServer(@url nvarchar(255), @path
nvarchar(255), @parameters nvarchar(4000),
@reportFormat nvarchar(10), @serverFile
nvarchar(255), @serverFolder nvarchar(255))
Parameters
url
The URL to the base folder used for ArchestrA Reporting.
For example:
http://localhost/Wonderware/ArchestrAReports
path
The path of the report to be executed. For example:
/ArchestrA Reports/Alarms/Alarm History Report
parameters
A comma-separated list of parameters to pass to the report.
Parameter values containing commas must be enclosed in
double quotes. To pass a double quote as part of a value,
prefix it with a backslash (\). To pass a backslash, use two
backslashes (\\). To specify multiple parameter values,
specify the parameter multiple times. To specify a date/time
value, use any format supported by the Microsoft .NET 2.0
DateTime structure.
The following example parameter string specifies four
TagName values (SysTimeHour, SysTimeMin,
Has,Comma,Tag and Has\Backslash\Tag), a StartDate
value of 7:42 AM on August 12, 2006, and a Text value of
"Hello, World!":
@parameters='TagName=SysTimeHour,TagName=SysTime
Min,TagName="Has,Comma,Tag",TagName=Has\\Backsla
sh\\Tag,StartDateTime=08/12/2006
07:42:00,Text="\"Hello, World!\""
reportFormat
The format in which the report should be saved. Valid
values are 'CSV', 'Excel', 'MHTML', 'PDF' and 'XML'. For
more information, see ReportFormat Enumeration on
page 258.
serverFile
The file name, including extension, under which the report
should be saved. For example: Summary.pdf. If no
extension is specified, an appropriate extension is added
based on the specified report format.
serverFolder
The folder name on the server. For example: SavedReports.
Specify NULL to save the report in the default folder. To
save the report, the folder must exist on the web site and
the user must be a member of the aaReportsPowerUsers or
aaReportsAdministrators groups. For more information,
see Understanding Reporting Security on page 221.
Return Value
Returns True if the report file was created. Returns False if
an error occurred.
ReportsPrintServer
This method executes a report and prints the results on a
specified printer.
Syntax
ReportsPrintServer(@url nvarchar(255), @path
nvarchar(255), @parameters nvarchar(4000),
@printerName nvarchar(255), @landscape bit,
@reportMargins nvarchar(255))
Parameters
url
The URL to the base folder used for ArchestrA Reporting.
For example:
http://localhost/Wonderware/ArchestrAReports
path
The path of the report to be executed. For example:
/ArchestrA Reports/Alarms/Alarm History Report
parameters
A comma-separated list of parameters to pass to the report.
Parameter values containing commas must be enclosed in
double quotes. To pass a double quote as part of a value,
prefix it with a backslash (\). To pass a backslash, use two
backslashes (\\). To specify multiple parameter values,
specify the parameter multiple times. To specify a date/time
value, use any format supported by the Microsoft .NET 2.0
DateTime structure.
The following example parameter string specifies four
TagName values (SysTimeHour, SysTimeMin,
Has,Comma,Tag and Has\Backslash\Tag), a StartDate
value of 7:42 AM on August 12, 2006, and a Text value of
"Hello, World!":
@parameters='TagName=SysTimeHour,TagName=SysTime
Min,TagName="Has,Comma,Tag",TagName=Has\\Backsla
sh\\Tag,StartDateTime=08/12/2006
07:42:00,Text="\"Hello, World!\""
printerName
The logical name of the printer where the report should be
printed. The printer mapping is defined in the web.config
file. For more information, see Configuring Reporting
Options on page 219.
landscape
The orientation of the printed report. Specify True for
landscape, False for portrait.
reportMargins
The margins of the printed report. Specify a string in the
following format:
@reportMargins='top=25,bottom=25,left=25,right=25'
Each number specifies the width of the respective margin in
hundreths of an inch.
Return Value
Returns True if the report was printed. Returns False if an
error occurred.
ReportsTriggerSnapshot
This function triggers the creation of a report snapshot on
the report server.
Syntax
ReportsTriggerSnapshot(@url nvarchar(255), @path
nvarchar(255))
Parameters
url
The URL to the base folder used for ArchestrA Reporting.
For example:
http://localhost/Wonderware/ArchestrAReports
path
The path of the report to be executed. For example:
/ArchestrA Reports/Alarms/Alarm History Report
Return Value
Returns True the report snapshot was created. Returns False
if an error occurred.
web.config file
Modify the “web.config” file located in
C:\Inetpub\wwwroot\Wonderware\ArchestrAReports
and add key as given below:
<add key="ReportServer"
value="https://<WebServer>/ReportServer" />
<add key="ReportManager"
value="https://<WebServer>/Reports" />
Change the ReportServer and ReportManager values
from http://... to https:/...
Note Take care to use the same case for the letters as you used in
the certificate:
<UrlRoot>https://d1.internal.boost.net/ReportServer<
/UrlRoot>
The <Add Key= > line governs the master control over SSL:
<Add Key="SecureConnectionLevel" Value="2"/>
<ReportServerUrl>https://d1.internal.boost.net/ReportS
erver</ReportServerUrl>
Glossary
access control list A list of user accounts and user groups and their privileges
that is associated with a particular resource.
Active Server Pages Active Server Pages (ASP) is an environment that allows you
(ASP) to build applications that include scripts, HTML pages, and
ActiveX components. Active Server Pages do not have to be
compiled before they run. The Wonderware Information
Server uses Active Server Pages for the visualization of
distributed alarms over the intranet/Internet and for ad-hoc
Wonderware Historian queries for reports and trending.
Component Object The Component Object Model (COM) is a way for software
Model (COM) components to communicate with each other, even between
different computers using different operating systems. COM
is based on the use of encapsulated objects that communicate
through defined interfaces.
content unit The basic unit that could be processed to get the defined
content. A self contained definition unit comprising of an
instance of a data source, a query, optionally a link, a KPI,
and a display.
default web site A default web site is the web site that is bound to port 80.
definition unit list The list of definition unit names for one of the six
subcomponents of the content unit.
key bit-length (or The key bit-length is the length, in binary bits, of a key.
bit-strength) Messages encrypted by longer keys are significantly harder
to break than with shorter keys.
key pair A key pair is a pair of unique values that establish an SSL
connection, encrypt data being transmitted, or both. In public
key cryptography, there is a private key and a public key.
Messages that the private key encrypts can only be decrypted
with the public key, and vice-versa.
KPI A visual indicator that indicates the specific state of the data.
With the context of Wonderware Information Server, a KPI is
an image or an color cube that indicates the condition of each
data.
panel access list The panel access list is the list of users or groups assigned to
a particular access panel instance. The list defines which
domain users see and have access to that panel.
report package An XML file that defines the various report items that need
to be deployed to the SQL Reporting Server.
roles A role is a single unit against which you can apply user
permissions. System roles are used throughout the site to
define and limit a functionality for users. System roles may
also be used by integrated applications, along with the
specific application roles. An application role specifies what
user can use a particular integrated application. These roles
are configured and assigned to users just like any other role
in the web site, but they are unique to the application that
defined them; they cannot be used with any other application
or by the main web site security mechanism.
Secure Socket Layer Secure Socket Layer (SSL) is a protocol for secure
(SSL) connections over the intranet/Internet. SSL provides server
and client authentication, data encryption, and message
integrity.
session key A session key is an encryption key created during the SSL
connection establishment. This key is known only to the user
and the server and is used for symmetric encryption.
subnet mask A subnet mask is a number that specifies which bits of the
network ID is used in a bit-wise AND operation with IP
addresses that accompany requests.
Index
A Administrator role 19
about alarm
browser 214 data sources for 50
content units 121 service 101
displays 139 alarm history database 66
KPI 155 alarm shared data source 66
links 161 anonymous access 35, 36
queries 129 ArchestrA reporting 20
about multiviews and web parts 80 about 211
About Report Manager 170 Archestra.Reports.ParameterizedReport
Class 254
access panel
ArchestrA.Reports.ReportServer
about 70
Class 251
configuring navigation tree 72
ArchestrAReportsScripts.dll
configuring user access 75
importing 250
creating 72
Archestra.Reports.SnapshotReport
deleting 76 Class 252
hiding system panel 77 archival rules 183
renaming 76 adding default rules 186
access panels 19 adding report-specific rules 187
ActiveFactory Reporting Website authenticated access 35
banner customization 195
ActiveFactory Trend B
controlling using URL parameters 206 backups
ActiveX controls 104 included items 104
ad-hoc report, create 223 restoring 104
adjusting settings for report banner
generation 205 about 18
Administration node 19 customizing 92, 195
I editing 162
import the reports library for links
Wonderware Application Server 250 about 161
installation 103 defining 163
software requirements 103 deleting 166
Internet Information Service 105 editing 165
Internet Information Services parameters 166
security for 34 Localizing Banner Customizations 198
types of access 35 log file 107, 109
InTouch 20, 104 logins
InTouch WebPart reports 175
connecting 84 logins for predefined and dynamic
IsDaylightSavingTime 235 reports 175
logo 92, 195
K
KPI M
about 155 managing
creating 157 licensing 210
deleting 158 report archives 182
editing 158 scheduled reports 175
KPI collection temporary files for scheduled
reports 188
copying 156
managing licensing 210
defining 156
menu bar 17, 18
deleting 156
menu items
KPI target
adding 196
defining 159
adding to banner 196, 197
deleting 160
modify the web.config file 248
editing 159, 160
Modify the web.config File for Printer
L Configuration 248
multiple menu items
LastErrorString Property 253, 256
adding 197
launch pad 17, 18
MultiView
about 19
creating new 80
hiding 20
editing 81
leaf nodes 20
MultiViews 19, 104
license 104
licensing N
about 25
navigation tree 19, 20, 69
logging usage 28
managing 210 O
querying history 28 on-demand, custom SQL report
service 101 adding 200
viewing active licenses 26, 31 Open Method 252
viewing history 29
link collection P
copying 162 parameters, links 166
defining 162 performance
deleting 162 monitoring 97
U Windows authentication 36
Understanding Reporting Security 221 Windows security 34
URL parameters WindowSets 104
controlling ActiveFactory Trend 206 Wonderware Alarm Consumer 101
use published trend 88 Wonderware Historian 53
Using Add-On Functions 229 accessing 174
Using Wonderware Information Server configure for printing on the
Web Parts in Windows SharePoint 81 Wonderware Information Server
node 272
using,Servers pane 215
configure for snapshot and exported
UtcToTimeZone 237
reports 271
V Wonderware Historian connections 174
Wonderware Information Server
virtual directory name 16
configure for report printing 272
W configure for snapshot reports 249
web content default URL for 16
display types 153 home page 16
query types 133 screen layout 17
Web Part Wonderware License Manager 101
adding to a MultiView 81 Wonderware Runtime DB Handler 101
importing 81
Web Part Connections 84
X
XML element
web part connections 84
reporting 243
InTouch 84
ReportServer 243
Trend 87
ReportSources 242
Web Parts 19, 104
SourceDatabase 242
in Windows SharePoint 81
WebConfig 243
web.config file 282