Trend Client

Download as pdf or txt
Download as pdf or txt
You are on page 1of 112

Guide to the ArchestrA™ Trend

Client

Invensys Systems, Inc.

Revision A
Last Revision: 1/12/09
Copyright
© 2009 Invensys Systems, Inc. All Rights Reserved.
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.

Invensys Systems, Inc.


26561 Rancho Parkway South
Lake Forest, CA 92630 U.S.A.
(949) 727-3200
http://www.wonderware.com
For comments or suggestions about the product documentation, send an e-mail
message to [email protected].

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............................................ 9
Documentation Conventions ..............................................9
Technical Support ...............................................................9

Chapter 1 About the Trend Client......................... 11


Understanding the Trend Client ......................................11
Differences between the Trend Client and the
ActiveFactory Trend Control.....................................11
Data Sources for the Trend Client....................................12

Chapter 2 Configuring the Trend Client.................. 15


Placing the Trend Client into an ArchestrA Symbol.......15
Removing the Trend Client from an ArchestrA
Symbol ............................................................................16
Validating the Configuration of the Trend Client ...........16
Clearing the Configuration from the Trend Client .........16
Adding a Pen......................................................................17
Connecting a Pen to an InTouch Tag ............................18
Configuring Pen Details and Options ...........................20
Configuring Pens for Historical Sources and Tags.......22
Configuring Historical Sources.........................................24
Creating a Wonderware Historian Connection.........25
Creating an InTouch LGH Connection .....................26
Editing a Server Connection......................................27

Guide to the ArchestrA Trend Client


4 Contents

Removing a Server Connection.................................. 27


Using the Tag Picker.........................................................28
Using the Servers Pane..................................................29
Showing/Hiding the Servers Pane............................. 29
Adding a Group .......................................................... 30
Adding a Tag to a Group ............................................ 30
Deleting a Group or Tag Reference ........................... 30
Renaming a Group ..................................................... 31
Viewing Server Details .............................................. 31
Using the Filter Pane.....................................................32
Using the Tags Pane ......................................................33
Configuring the Trend Appearance..................................34
Setting Chart Options.......................................................37
Setting Data Bindings.......................................................39
Handling Trend Events.....................................................40

Chapter 3 Scripting the Trend Client ......................43


Trend Client Properties ....................................................43
Chart.AddMultiplePens ............................................. 46
Chart.BackgroundColor ............................................. 46
Chart.Freeze ............................................................... 46
Chart.FreezeDurationMS .......................................... 47
Chart.HidePenList ..................................................... 47
Chart.Labels ............................................................... 47
Chart.PenPrecision .................................................... 48
Chart.RefreshEntireChartIntervals.......................... 48
Chart.RetrievalMode.................................................. 48
Chart.UpdateRateMS ................................................ 48
HistorySources ...........................................................49
Pen.Color..................................................................... 49
Pen.Count ................................................................... 49
Pen.Description .......................................................... 50
Pen.Expression ...........................................................50
Pen.Format ................................................................. 50
Pen.HistorySource...................................................... 51
Pen.HistoryTagName................................................. 51
Pen.Index .................................................................... 51
Pen.Name.................................................................... 51
Pen.Precision .............................................................. 52
Pen.RetrievalMode ..................................................... 52
Pen.Style ..................................................................... 52
Pen.TrendHi ............................................................... 53

Guide to the ArchestrA Trend Client


Contents 5

Pen.TrendLo ...............................................................53
Pen.TrendType ...........................................................53
Pen.Units ....................................................................54
Pen.Visible ..................................................................54
Pen.Width ...................................................................54
PenSelectorHeight......................................................55
PenUQRelativeOpacity ..............................................55
PenUQRelativeThickness ..........................................55
PlotArea.BackgroundColor ........................................56
PlotArea.BorderColor .................................................56
PlotArea.GradientEndColor ......................................57
PlotArea.GradientType ..............................................57
PlotArea.GridColor.....................................................58
PlotArea.GridHorizontal ............................................58
PlotArea.GridStyle .....................................................58
PlotArea.GridVertical ................................................59
PlotArea.GridWidth ...................................................59
PlotArea.HighlightCurrentPen .................................59
PlotArea.PenHighlightColor ......................................59
PlotArea.PenHighlightWidth ....................................60
PlotArea.SingleTagMode ...........................................60
PlotImage ....................................................................60
ShowContextMenu .....................................................60
SuppressErrors...........................................................61
TimeAxis.Cursor1.Color.............................................61
TimeAxis.Cursor1.Pos................................................61
TimeAxis.Cursor1.Style .............................................62
TimeAxis.Cursor1.Width ...........................................62
TimeAxis.Cursor2.Color.............................................62
TimeAxis.Cursor2.Pos................................................63
TimeAxis.Cursor2.Style .............................................63
TimeAxis.Cursor2.Width ...........................................63
TimeAxis.LabelColor ..................................................64
TimeAxis.NumGridPerValue.....................................64
TimeAxis.NumValues ................................................64
TimeAxis.ShowCursors ..............................................65
TimeSelector ...............................................................65
TimeSelector.DurationMS .........................................66
TimeSelector.EndDate ...............................................66
TimeSelector.StartDate .............................................66
TimeSelector.TimeDuration ......................................67
ToolTipText.................................................................69
TrendVersion ..............................................................69

Guide to the ArchestrA Trend Client


6 Contents

ValueAxis.Label ......................................................... 69
ValueAxis.NumGridPerValue ................................... 69
ValueAxis.NumValues ............................................... 70
Visible ......................................................................... 70
Trend Client History Sources ........................................70
HistorySource.Authentication ................................... 71
HistorySource.Domain ............................................... 71
HistorySource.Password ............................................ 71
HistorySource.RetainPassword ................................. 72
HistorySource.ServerName ....................................... 72
HistorySource.Type .................................................... 72
HistorySource.UNCPath............................................ 72
HistorySource.UserID................................................ 73
HistorySources.Count ................................................ 73
HistorySources.Items ................................................. 73
Trend Client Methods .......................................................74
AddHistorianSource ................................................... 75
AddPen........................................................................ 76
ClearPens.................................................................... 76
DeleteCurrentPen ...................................................... 77
GetHistorianSource.................................................... 77
GetPenValAtX1 .......................................................... 78
GetStartAndEndTimes .............................................. 78
MoveNextPen ............................................................. 79
MovePrevPen.............................................................. 79
RefreshData................................................................ 80
RefreshTimes.............................................................. 80
RemoveHistorianSource............................................. 81
RemovePen ................................................................. 81
ScaleAllPens ............................................................... 82
ScaleAutoAllPens ....................................................... 82
ScaleAutoPen.............................................................. 83
ScaleDownAllPens...................................................... 83
ScaleDownPen ............................................................ 83
ScaleMoveAllPensDown............................................. 84
ScaleMoveAllPensUp ................................................. 84
ScaleMovePenDown ................................................... 84
ScaleMovePenUp........................................................ 85
ScalePen...................................................................... 85
ScaleUpAllPens .......................................................... 86
ScaleUpPen................................................................. 86
SetCurrentPen............................................................ 87
SetDuration ................................................................ 87

Guide to the ArchestrA Trend Client


Contents 7

SetStartAndEndTimes ...............................................88
TimeSelector.GetStartAndEndTimes .......................89
TimeSelector.RefreshTimes .......................................89
TimeSelector.SetStartAndEndTimes ........................90
UpdateHistorianSource..............................................91
Trend Client History Sources ........................................91
HistorySource.Connect...............................................92
HistorySource.Disconnect ..........................................92
HistorySources.Add....................................................93
HistorySources.GetSource .........................................93
HistorySources.Remove .............................................94
HistorySources.Update ..............................................94
Trend Client Events ..........................................................95
CurrentPenChanged ..................................................95
DatesChanged.............................................................95
MouseClick..................................................................95
PenDisplayChanged ...................................................95
PenlistChanged ..........................................................96
ShutDown ...................................................................96
SizeChanged ...............................................................96
StartUp .......................................................................96
StateChanged .............................................................96
Colors in Trend Client.......................................................97
.NET Colors .......................................................................98
Scripting Differences between Trend Client and
ActiveFactory Trend Control .......................................100

Appendix A Understanding Data Retrieval ............... 105


Understanding Retrieval Modes.....................................105
Cyclic Retrieval.............................................................105
Full Retrieval................................................................106

Guide to the ArchestrA Trend Client


8 Contents

Guide to the ArchestrA Trend Client


9

Welcome

You use the ArchestrA Trend Client in ArchestrA symbols to


show real-time values on a chart. The ArchestrA Trend
Client is delivered as part of the ArchestrA Symbol Editor.
You can view this document online or you can print it, in part
or whole, by using the print feature in Adobe Acrobat Reader.
This guide assumes you know how to use Microsoft Windows,
including navigating menus, moving from application to
application, and moving objects on the screen. If you need
help with these tasks, see the Microsoft help.

Documentation Conventions
This documentation uses the following conventions:

Convention Used for

Initial Capitals Paths and file names.


Bold Menus, commands, dialog box names,
and dialog box options.
Monospace Code samples and display text.

Technical Support
Wonderware Technical Support offers a variety of support
options to answer any questions on Wonderware products
and their implementation.
Before you contact Technical Support, refer to the relevant
section(s) in this documentation for a possible solution to the
problem. If you need to contact technical support for help,
have the following information ready:
• The type and version of the operating system you are
using.
• Details of how to recreate the problem.

Guide to the ArchestrA Trend Client


10 Welcome

• The exact wording of the error messages you saw.

• Any relevant output listing from the Log Viewer or any


other diagnostic applications.

• Details of what you did to try to solve the problem(s) and


your results.
• If known, the Wonderware Technical Support case
number assigned to your problem, if this is an ongoing
problem.

Guide to the ArchestrA Trend Client


11

Chapter 1

About the Trend Client

To use the Trend Client, you should already have a basic


understanding of the Wonderware Integrated Development
Environment (IDE), the ArchestrA Symbol Editor, and the
InTouch HMI before continuing. For more information, see
the documentation for each of these products.

Understanding the Trend Client


Use the Trend Client to chart attribute current values from
Wonderware Application Server and tag current values from
the InTouch HMI software. This differs from the trend
feature in the InTouch HMI because Trend Client fully
supports ArchestrA and can initialize a trend pen with data
from a historical source such as InTouch LogHistory/LGH
files or the Wonderware Historian.

Note The InTouch trends are still included as part of the InTouch
HMI.

Differences between the Trend Client and the


ActiveFactory Trend Control
If you use the ActiveFactory Trend control, you need to be
aware that there are several differences between the Trend
Client and the ActiveFactory Trend control. In contrast to
the ActiveFactory Trend control, the Trend Client:
• includes the real-time as well as historical trending
functionality.

Guide to the ArchestrA Trend Client


12 Chapter 1 About the Trend Client

• uses the data from a historical source such as InTouch


LogHistory/LGH files or the Wonderware Historian.

• has fewer pens.

• uses real-time attribute or tag data as well as historized


data stored in the Wonderware Historian or InTouch
LogHistory/LGH files.

• does not require a separate license from the Wonderware


Application Server.

• requires the InTouch HMI.

• only supports the full and cyclic retrieval modes of the


Wonderware Historian when retrieving data.
• does not support configuring the default pen colors
(although you can change them once you add a pen).
• does not provide scatter plots and target regions.

Data Sources for the Trend Client


The Trend Client can use real-time data from Wonderware
Application Server and the InTouch HMI software and
historical data from the Wonderware Historian or InTouch
LGH files. You identify the historical data source when you
configure a pen. For more information, see Configuring
Historical Sources on page 24.
At run time, the Trend Client initializes the trend with
historical data from the data source (if configured) and then
appends real-time data for the pens. If the pen is not
associated with a historical data source, the trend initially
shows no data. It then starts charting information as
real-time data becomes available. If you refresh a pen
configured with historical data, the chart requeries the
historical information, after which it appends the real-time
data as it becomes available. Refreshing does not change a
pen configured only for real-time data. If you refresh a trend
that is charting both historical and real-time data, the
historical information is recharted immediately, after which
the trend charts real-time data as it becomes available.
The Trend Client supports the same syntax as the ArchestrA
symbols. It also supports the built-in functionality of the
OwningObject property for trends configured with relative
naming. For information about ArchestrA symbols data
configuration syntax and OwningObject functionality, see
the Creating and Managing ArchestrA Graphics User’s

Guide to the ArchestrA Trend Client


Data Sources for the Trend Client 13

Guide. For more information on relative and absolute


references, see the Wonderware Application Server User’s
Guide.
There are primary settings for specifying the time period you
want to plot, such as a relative reference (the preceding two
hours), or an absolute reference (July 15th at 10am for 2
hours) using scripting.
As an example, suppose you opened two trends created with
the Trend Client. Both of them have a duration of 15
minutes, but the first one is only trending real-time data
(meaning that the pen is associated with an expression but
not with a historical tag) and the second is trending
historical data (meaning that the pen is associated with both
an expression and a historical tag). If you open both of these
trends at the same time, what you see is described in the
following table.

Time after starting


both trends What you see

0 minutes The first trend shows no data. The


second trend shows 15 minutes of
historical data from the source.
5 minutes The first trend shows 5 minutes of
real-time data. The second trend
shows 10 minutes of the historical
data and 5 minutes of real-time
data.
15 minutes Both charts show 15 minutes of
real-time data. All the historical
data will have been pushed off the
second trend by the new real-time
data.

Guide to the ArchestrA Trend Client


14 Chapter 1 About the Trend Client

Guide to the ArchestrA Trend Client


15

Chapter 2

Configuring the Trend Client

This section shows you how to place a Trend Client on the


canvas and configure it. You can configure it either with the
Edit Animations dialog box, or by changing individual
properties in the Properties Editor

Placing the Trend Client into an ArchestrA


Symbol
You can easily place the ArchestrA Trend Client into an
ArchestrA Symbol by placing it onto the canvas.

To place the Trend Client into an ArchestrA Symbol


1 Open the ArchestrA symbol.
2 On the Tools panel, click the Trend Client icon. The cursor
appears in insert mode.
3 Click on the canvas where you want to place the upper
left corner of the Trend Client.

Guide to the ArchestrA Trend Client


16 Chapter 2 Configuring the Trend Client

Removing the Trend Client from an ArchestrA


Symbol
You can remove the Trend Client from the canvas.

To remove the Trend Client from an ArchestrA symbol


1 Open the symbol you want to remove the Trend Client
from.
2 Do either of the following:
• Select the Trend Client and press DELETE.
• Right-click the Trend Client and select DELETE from
the menu.

Validating the Configuration of the Trend


Client
You can validate the configuration of a Trend Client. If the
configuration has an error, an exclamation mark appears
next to the Animation icon.
Examples of errors include:
• Syntax errors in expressions

• Data type mismatches

• Required values not specified

• Specified values out of valid range

To validate the configuration of a Trend Client


1 Open the symbol containing the Trend Client.
2 Double-click the Trend Client. The Edit Animations dialog
box appears.
3 Click the Validate icon on the right side of the Edit
Animations dialog box. The Trend Client is validated.
Possible errors are highlighted in the right side of the
dialog box.

Clearing the Configuration from the Trend


Client
You can clear all configuration data from the configuration
boxes of and reset the settings to the defaults.

Guide to the ArchestrA Trend Client


Adding a Pen 17

To clear all configuration data


‹ In the configuration panel, click the Clear animation icon.

Adding a Pen
When you first add a Trend Client to the canvas, no pens are
defined. To show a trend, you must add at least one pen and
configure it so that the system can identify what trend
information to chart. Each pen must have an associated
expression or reference.

To add a pen
1 In the ArchestrA Symbol Editor, double-click the Trend
Client. The Edit Animations dialog box appears with the
pen configuration information in the right pane.

Guide to the ArchestrA Trend Client


18 Chapter 2 Configuring the Trend Client

2 Click the Add Row icon on the right side of the Edit
Animations dialog box. A new pen appears in the
configuration panel.

3 In the row for the pen, configure the information for the
new pen.
Show Select the Show box to show the pen in
the trend.
Pen Name Enter the name of the pen. (If you leave
this blank, the pen’s expression is used
as the chart label.)
Expression or Enter an expression or reference. Click
Reference the ellipsis button to show the Galaxy
Browser.

Connecting a Pen to an InTouch Tag


You can connect the pen to an InTouch tagname through the
Expression or Reference box. The InTouch tagname provides
values at run time that control the animation and
appearance of the pen.
This can be done by:
• Configuring a reference with the intouch:tagname syntax.

• Using a custom property and configuring the custom


property in the embedded ArchestrA Symbol in InTouch
to reference an InTouch tag. For more information, see
the InTouch HMI and ArchestrA Integration Guide.

Guide to the ArchestrA Trend Client


Adding a Pen 19

• Configuring an ArchestrA attribute reference to the


managed InTouchViewApp object that contains the
InTouch tagnames as attributes. The InTouchViewApp
object uses the functionality of an InTouchProxy object.
• Configuring an ArchestrA attribute reference to an
InTouchProxy object that contains the InTouch tagnames
as items. This is a special case of configuring an
ArchestrA attribute reference.

To be able to browse for InTouch tags, you must first:


• Create a managed InTouch application by deriving an
InTouchViewApp template and configuring it in
WindowMaker.
• Derive an instance of the InTouchViewApp derived
template.

The InTouch tags are represented by attributes of the


InTouchViewApp object instance.
You may not always be able to reference the local node if you
use this method of connecting to the InTouch HMI software.
As a result, you may have problems with some applications.
If this is the case, use the InTouch:tagname syntax.
With the InTouch:tagname syntax, the pen connects to the
InTouch tag on the symbol’s node. There are some
restrictions on how you can use this syntax:
• Unlike in Application Server, you cannot use TRUE and
FALSE as Boolean values. Use 1 and 0 instead.
• If you want to connect to an InTouch SuperTag with this
syntax, use the following syntax instead:
attribute(“intouch:SuperTag\Member”)

Guide to the ArchestrA Trend Client


20 Chapter 2 Configuring the Trend Client

To connect Trend Client to InTouch tags


1 In the Galaxy Browser, select the InTouchViewApp object
that corresponds to the managed InTouch application.
The right panel shows the InTouch tags.

2 Select a tag and click OK. The selected ArchestrA


reference to an InTouch tag appears in Expression or
Reference.

Configuring Pen Details and Options


After you add a pen and configure the expression or reference
for the pen(s), you can set details and options for how the pen
shows information on the trend chart. Pen details include the
description, units, minimum and maximum for the pen. Pen
options include the pen color, width, style, plot type, number
of decimal places, format, and retrieval mode.
The default values for the pen details are formed by
appending .Description, .EngUnits, .TrendLo, and .TrendHi
to the pen expression. For example, if the pen expression is
Me.PV for a field attribute named PV created on the user
defined object, the default pen details are Me.PV.Description,
Me.PV.EngUnits, Me.PV.TrendLo, and Me.PV.TrendHi.
These are generally the best expressions to use for historized
attributes. (If the expression is empty or invalid, the Trend
Client uses default values of 0 and 100 for the minimum and
maximum at run time.)

Guide to the ArchestrA Trend Client


Adding a Pen 21

Note For some input boxes on the configuration screens, you can
specify if the configuration is a static value or a reference by
setting the input mode. An input mode icon appears to the left of
these boxes. Use static mode input to specify a literal static value
such as “Temperature” or 3.141. Use reference mode to specify a
reference to an attribute or symbol property such as Tank_001.PV.
You can enclose static string values with double-quotes (such as
“Description:” or “+Tank_001.Desc”) with or without references
in Reference mode. When you are in reference mode, you can also
click the ellipsis button to the right of the box to show a selection
tool such as the Galaxy Browser or the Tag Picker.

A line curve (plot type Line) is best suited for charting


continuously-changing analog data. A step-line curve (plot
type Step) is best suited for discrete data and box for analog
data that is not continuous. When you select a plot type of
Auto, the curve type is determined as follows:
• For tags retrieved from Wonderware Historian 9.0 (or
higher), the type is based on the tag’s effective
interpolation setting. Tags that use stair-step
interpolation are trended as a step line, and tags that use
linear interpolation are trended as a line.
• For all other tags, the curve type is based on the tag type:
step line for integer tags, and line for real tags.

The following illustration shows the same data drawn using


each type of curve. The line curve is shown in green, the step
line curve is shown in orange, and the point curve is shown in
red.

Guide to the ArchestrA Trend Client


22 Chapter 2 Configuring the Trend Client

To configure the options for a pen


1 Select the pen you want to configure.
2 In the Pen Details area, configure what the pen shows.
Description The pen’s description. The expression is
evaluated and the result is used for the
pen's description in the pen list (the
legend) below the chart itself.
Units The unit to chart in. This is the plot
scale, rather than an instrument scaled
from a percentage to engineering units.
Min Enter the minimum for the pen’s range.
Max Enter the maximum for the pen’s range.
3 In the Pen Options area, configure how the curve looks in
the chart for the selected pen.
Color The line color of the pen. Click the
colored square to select the color from a
palette or define a custom color.
Width The thickness of the trend curve. Valid
values are 0 through 10.
Style The style of the trend curve; for
example, a solid or dashed line.
Plot type The type of trend curve to draw.
Options are Line, Step line, Point, and
Auto.
Decimal Places The number of decimal places to show
for the data value. This applies only to
analog tags. Valid values are 0 through
15.
Format The way the values for the pen appear,
either in decimal format or scientific
format.
Retrieval Mode The data retrieval mode, either Cyclic,
Full, or Application Setting.

Configuring Pens for Historical Sources and Tags


If you are initializing with historic data and then plotting
real-time data, you can configure a pen to initialize with a
specific historic source and tag. For example,
MyEngine.Engine.Historian.Connection is a common
relative reference expression for the historical source on a
template and, for a pen expression of Me.PV,
Me.TagName.PV is a comment relative reference expression
for the historical tag.

Guide to the ArchestrA Trend Client


Adding a Pen 23

If the historical tagname needs to be relative references,


construct the string expression for the historical tagname
that evaluates the relative part of the name and appends in a
static part. For example, to reference a UDA named PV, use
Me.Tagname+".PV" or a similar expression. You can define
this expression on a symbol in a $Reactor template. There
are instances of Historian tagnames are Reactor1.PV and
Reactor2.PV. If you use the expression in the form Me.PV, it
resolves to the current value rather than the tagname. For
example, if PV was associated with a temperature, Me.PV
would return a temperature rather than the string for the
tagname.
You can also use valid relative references such as Me,
MyArea, MyEngine, and MyPlatform when configuring the
historical tag-names as relative references. For example, to
reference the UDA named "Level" in a user-defined object
named $Reactor, you can configure the historical tagname as
an expression: Me.TagName+".Level". At runtime, when the
object "Reactor_001" is viewed, this will use
"Reactor_001.Level" as the historical tag name.

To configure a pen for a historical source and tag


1 Select the pen you want to configure.
2 In the Historical area, configure the source and tag for the
pen.
Source The historical source to use for the pen.This
history source must already be configured in
the Historical Sources pane. For more
information, see Configuring Historical
Sources on page 24.
If this is set to reference mode, click the ellipsis
button to show the Galaxy Browser and use
that to find the expression or reference.
Tag The historical tag to use for the pen. If this is
set to reference mode, click the ellipsis button
to show the Tag Picker. For more information
on using the Tag Picker, see Using the Tag
Picker on page 28.

Note To use the reference mode, you must have already


configured a historic data source for the Trend Client. For more
information, see Configuring Historical Sources on page 24.

Guide to the ArchestrA Trend Client


24 Chapter 2 Configuring the Trend Client

Configuring Historical Sources


To use a Trend Client to chart historical data, you must
connect to a data source. You can connect to a Wonderware
Historian or an InTouch LGH file.
You can use one of the following authentication modes when
connecting to Wonderware Historian:
• Windows Integrated Security (uses the running process
credentials)
• Alternate Windows account (specifying the domain name,
username, and password).

The alternate credentials are used to do a Windows


impersonation before connecting to the database using
Windows Integrated Security.
• SQL Server Authentication

You specify the username and password of a SQL Server


account. These credentials are used to log in to the
database.

Note Ask your administrator what type of user account you must
use to access the server.

Server connections are specific to the instance of the client


and must be re-defined for each instance.
When you start a Wonderware Application Server
application, you are not automatically logged on to every
server that you configured before. You are only logged on to a
server when a pen is configured to use that server.

Guide to the ArchestrA Trend Client


Configuring Historical Sources 25

Creating a Wonderware Historian Connection


To create a Wonderware Historian connection, you need your
assigned Wonderware Historian username and password.

To create a Wonderware Historian connection


1 In the ArchestrA Symbol Editor, double-click the Trend
Client. The Edit Animations dialog box appears
2 Click Historical Sources. The Historical Sources screen
appears in the right pane.

3 Click the Add Row icon on the right side of the Edit
Animations dialog box. A new server row appears in the
configuration panel.
4 In Server Name, enter the name of the server to which you
want to connect. You can select from a list of the servers
by clicking the arrow to the right of the box.

Guide to the ArchestrA Trend Client


26 Chapter 2 Configuring the Trend Client

5 In Authentication Mode, select the authentication mode:


Windows Integrated, Windows Account, or SQL Server. If
you are logging on to the server using Windows Account
credentials, configure the following login detail:
Domain The domain name in which your
Windows account is validated.
If you are logging on to the server using Windows
Account or SQL Server credentials, configure the
following login details:
User Name Your assigned Wonderware Historian
username. If your system administrator
has not assigned you a username and
password, you may use one of the
default user accounts, which are
automatically configured during a
typical Wonderware Historian
installation.
Password The password that is associated with
the username. Select Remember
password to have the system to
remember your password.

6 In Connection Timeouts in Seconds, enter the connection


timeout in seconds. Valid values are 1 to 600.
7 In Query Timeout in Seconds, enter the query timeout in
seconds. Valid values are 1 to 600.

Note You can test the connection to the server with the
information you’ve entered by clicking Test Connection. If
necessary, you can edit the information before adding the server
to the list.

8 Click OK. No error message appears if a connection


cannot be made to a server.

Creating an InTouch LGH Connection


You can also link to InTouch LGH files.

To create an InTouch LGH connection


1 In the ArchestrA Symbol Editor, double-click the Trend
Client. The Edit Animations dialog box appears
2 Click Historical Sources. The Historical Sources screen
appears in the right pane.
3 Click the Add Row icon on the right side of the Edit
Animations dialog box. A new server row appears in the
configuration panel.
4 Select InTouch Log History/LGH.

Guide to the ArchestrA Trend Client


Configuring Historical Sources 27

5 In Name, enter the InTouch HMI software server.


6 In UNC Path, enter the location of the InTouch LGH file
using a UNC path name or a mapped drive path.
7 Click OK. No error message appears if a connection
cannot be made to the InTouch LGH files.

Editing a Server Connection


You can edit an existing server connection.

To edit a server connection


1 On the Historical Sources screen, select the server you
want to edit.
2 Edit the details for the server.
3 Click OK.

Removing a Server Connection


You can remove a server connection you no longer need.
Make sure you select the server you want to delete. After you
delete a server, you cannot undelete it.

To remove a server connection


1 On the Historical Sources screen, select the server you
want to delete.
2 Click the Delete Row icon on the right side of the Edit
Animations dialog box. The server is deleted.

Guide to the ArchestrA Trend Client


28 Chapter 2 Configuring the Trend Client

Using the Tag Picker


The Tag Picker shows which tag groups and tags exist in the
Wonderware Historian database. It shows all of the tags that
are visible to the currently logged on user based on his or her
permissions.
Using the Tag Picker, you can quickly search the database
for tags of a certain type and/or for tags that match a
particular search pattern. You can then select the ones you
want to include for the Trend Client. You cannot select a tag
from an LGH file.

Servers pane

Tags pane

Filter pane

The Tag Picker includes the following panes:


• Servers pane

• Tags pane

• Filter pane

Guide to the ArchestrA Trend Client


Using the Tag Picker 29

Using the Servers Pane


The Servers pane shows a list of Wonderware Historian
folders. The Servers pane allows you to navigate through the
folder structure (namespace) of one or more Wonderware
Historians and select a group (folder) of tags.

The Servers pane shows the following items:

Category Description

Servers All objects that make up the basic


Wonderware Historian system, such as
tags, I/O Servers, defined engineering
units, storage locations, and so on.
Public Groups All objects that are visible to all clients.
If you have administrative permissions,
you can create, rename, and delete
groups in the public groups folder.
Private Groups All objects that are visible to the user
that is currently logged on. Users can
create, rename, and delete groups in the
private groups folder.

Showing/Hiding the Servers Pane

To show the Servers pane


• Right-click in the Servers pane and then click Servers
pane so that a check mark appears.

To hide the Servers pane


• Perform one of the following:

• Right-click in the Servers pane and then click Servers


pane so that no check mark appears.
• Click Close.

Guide to the ArchestrA Trend Client


30 Chapter 2 Configuring the Trend Client

Adding a Group
You can add groups just as you would add a new folder in the
Windows Explorer. For example, you can create the
BoilerTags group under in the existing Private Groups group.
You can also delete, cut, copy, paste, and drag objects from
one folder to another.

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.

Adding a Tag to a Group


When you add tags to a new group, the original reference still
appears in the default system group. Any tag can belong to
any number of groups, and any group can contain any
number of tags.

To add a tag to a group


1 Select the system group folder that contains the tag that
you want to add to your new group.
2 In the Tags pane, select the tag to add.
3 Perform any of the following:
• Drag the desired tag from the Tags pane into the
folder.
• Use the Copy and Paste commands on the Edit menu
to copy the tag to the target folder.
• Right-click on the desired tag in the Tags pane. Use
the Copy and Paste commands in the shortcut menu to
copy the tag to the target folder.

Deleting a Group or Tag Reference


When you delete a private group or tag reference in a private
group, the group folder, any subfolders that the group folder
may contain, and all references to tags are deleted. The tags
themselves are not deleted, and the original references still
appear in the default system group. You cannot delete public
folders or the tag references contained in them.

To delete a group or tag


1 Select the group or tag in the pane.
2 Perform one of the following:
• Right-click on the group or tag and then click DELETE.
• Press DELETE.

Guide to the ArchestrA Trend Client


Using the Tag Picker 31

Renaming a Group
You can rename a group that you have created in the Tag
Picker. However, you cannot rename a public folder.

To rename a group
1 Select the group in the pane.
2 Perform one of the following:
• Right-click on the group and then click RENAME.
• Press F2.
3 Type a new name for the group and press ENTER.

Viewing Server Details


You can view information such as the version number, time
zone, and security mode for any Historian server in the
Servers pane.

To view server details


1 In the Servers pane, right-click on a Historian server and
then click Server details. The Server Details dialog box
appears.

2 Click OK.

Guide to the ArchestrA Trend Client


32 Chapter 2 Configuring the Trend Client

Using the Filter Pane


Use the Filter pane to reduce the tags listed in the Tags pane
according to criteria that you specify. You can filter the tags
according to name, description, and I/O address.

The filter mechanism allows for the following wildcard


characters as part of the filter criteria:

Wildcard
Character Filter Function

% Any string of zero or more characters.


_ Any single character.
[] Any single character within the
specified range or set. For example:
• [a-f]

• [abcdef]
[^] Any single character not within the
specified range or set. For example:
• [^a - f]

• [^abcdef]

For example, to find all tagnames ending with “level,” type


%level. Filter criteria are not case-sensitive.
When the Servers pane and the Filter pane are both visible,
the filter conditions apply to the selected group in the Servers
pane. When the Servers pane is hidden, the filter applies to
all of the tags for the selected Wonderware Historian.

To apply a filter
1 In the Server box, specify or verify the server.
This box is not available if the Servers pane is visible.

Guide to the ArchestrA Trend Client


Using the Tag Picker 33

2 In the Tag name box, enter the string to match for the
tagname.
3 In the Description box, enter the string to match for the
description.
4 In the I/O Address box, enter the string to match for the
I/O address.
5 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.
6 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.”
7 The Exact match option does not apply to the I/O address.
8 Click Apply to apply the filter criteria.
9 Click Clear to clear the Filter pane.

Using the Tags Pane


The Tags pane shows all the tags for the currently selected
group in the Servers pane.

To select multiple tags in the list, hold Ctrl and/or Shift while
clicking.
To view only tags of a certain type, click the appropriate tab
at the bottom of the pane.
To sort the table by a particular column, click the column
heading.

Guide to the ArchestrA Trend Client


34 Chapter 2 Configuring the Trend Client

Configuring the Trend Appearance


You can set a number of general options for the trend
appearance, including gradients, border and plot area
background color, highlights, and colors for the X and Y axes.

To configure the trend appearance


1 In the ArchestrA Symbol Editor, double-click the Trend
Client. The Edit Animations dialog box appears
2 Click Appearance. The trend appearance information
appears in the right pane.

3 Select Single tag mode to set the trend to single tag mode.
When you initially create a tag list for a trend, all the
tags are included in the display. Setting the trend to
single tag mode allows you to exclude all tags but one
from appearing in the trend chart, without removing
them from the tag list.
Clear Single tag mode to view multiple tags again in the
chart.
4 Click Background Color to configure the main color of the
background of the plot area. If you are using a gradient
fill, this is the starting color for the gradient.
5 Click End color to select the ending color for the gradient.
The gradient starts with the main color and fades to the
gradient end color.

Guide to the ArchestrA Trend Client


Configuring the Trend Appearance 35

6 Click Type to specify the starting point for the flow of the
gradient. Valid values are LeftRight, TopBottom, Center,
DiagonalLeft, DiagonalRight, HorizontalCenter, and
VerticalCenter. For example, if you select green as main
color, white as the gradient end color, and center as the
gradient type, the center of the chart is green and fades
to white towards the surrounding edges.
7 Click Border Color to configure the color of the border for
the entire chart area.
8 Select Allow highlight pen to highlight the pen. Configure
the color and width to be used for pen highlighting.
Highlight color Click to select or configure a color
for highlighting the pen curve.
Width Specify how wide (in pixels) a
highlighted curve should be.

9 In the Grid area, configure the grid options.


Show horizontal Check to show the horizontal grid.
grid
Show vertical grid Check to show the vertical grid.
Color Click to select or configure a color.
Width The width, in pixels, of the border
line.
Type The style of the border line.

10 In the X time axis area, configure the properties for the


horizontal axis.
Show horizontal Check to show the horizontal cursor.
cursor
Cursor 1 color Click to select or configure the color
for time axis cursor 1.
Width The width of time axis cursor 1.
Style The line style of time axis cursor 1.
Cursor 2 color Click to select or configure the color
for time axis cursor 2.
Width The width of time axis cursor 2.
Style The line style of time axis cursor 2.
Number of values The number of values that are
shown along the time axis. The
values are shown at evenly-spaced
points along the axis. The number of
values remain the same even if you
zoom in and out. The valid range is
from 2 to 15, with a default of 6.

Guide to the ArchestrA Trend Client


36 Chapter 2 Configuring the Trend Client

Grid lines per The number of grid lines that


value appear between each pen value
plotted on the chart. The valid range
is from 1 to 20, with a default of 3.
Label color The color of the X axis label.
11 In the Y axis area, configure the properties for the vertical
axis.
Number of values The number of values that are
shown along the value axis. The
timestamps are shown at
evenly-spaced points along the axis.
The number of values remain the
same even if you zoom in and out.
The valid range is from 2 to 15, with
a default of 6.
Grid lines per The number of grid lines appearing
value between each pen value that is
plotted on the chart. The valid range
is from 1 to 20, with a default of 2.
Value axis label The label of the value axis.

12 Click OK.

Guide to the ArchestrA Trend Client


Setting Chart Options 37

Setting Chart Options


You can set a number of general chart options, including the
trend background color, freeze options, refresh interval, and
retrieval options.

To set the chart options


1 In the ArchestrA Symbol Editor, double-click the Trend
Client. The Edit Animations dialog box appears.
2 Click Options. The options information appears in the
right pane.

3 Select the Show pen selector check box to show the legend
or list of pens at the bottom the trend.
4 Click Trend background color to configure the main color
of the background of the entire chart area.
5 Select Show run-time context menu to show the context
menu when you right-click the trend at run time.
6 Set Decimal Places to the number of decimal places to use
in the trend.
7 Set Labels to All to display the chart label, X and Y axis
scales, and cursor information. or None to suppress the
labels in the plot area

Guide to the ArchestrA Trend Client


38 Chapter 2 Configuring the Trend Client

8 Select Allow freeze/unfreeze trend update to enable


Freeze on the run-time context menu so you can freeze
the trend chart from live updates. When this option is
selected (the default), you can also set the freeze
duration. The freeze duration determines how long the
chart remains frozen when you freeze the chart at run
time. After the freeze time has elapsed, the chart
resumes the live updates. If the freeze duration is set to
0, you must manually unfreeze the chart.
9 Set Refresh interval to the number of seconds between
chart updates. You can optionally select Refresh entire
chart to refresh the entire chart after the number of
refresh intervals you specify.
10 Set Retrieval Mode to Full or Cyclic. Full retrieval mode
returns all the stored data points for a tag. Cyclic
retrieval mode returns stored data for the given time
period based on a specified cyclic retrieval resolution. For
more information, see Appendix A, Understanding Data
Retrieval.

Note Retrieval mode is applicable for tags from Wonderware


Historian. The value set here is the default setting for a pen;
however, you can override it by setting the pen retrieval mode to
any value other than application setting.

11 Set Trend Duration. You can set the trend duration for a
maximum period of 2 years. All time durations are
calculated backward from an end date of the current time
(except for the options “Yesterday” and “Previous Hour”).
You can pick a duration from the list or type a specific
duration in the list box. The time notation is [DD]
HH:MM:SS:fff, where DD=days, HH=hours,
MM=minutes, SS=seconds, and fff=milliseconds.To edit a
value in the duration list box, use the arrow keys on your
keyboard to position the mouse cursor to the left of the
number you want to change, then type the new number.
You can only change the duration and not the start and
end time.
12 Click OK.

Guide to the ArchestrA Trend Client


Setting Data Bindings 39

Setting Data Bindings


You can associate a reference to an attribute with the Data
Binding pane instead of with scripting. Information can be
passed in either direction or both directions as desired.
Changes to the status of one can affect the other.

To set data bindings


1 In the ArchestrA Symbol Editor, double-click the Trend
Client. The Edit Animations dialog box appears.
2 Click Data Binding. The data binding information appears
in the right pane.

The Data Binding table contains the following read-only


information:
Name The name of the property.
Type The .NET data type of the property.
Value The value of the property.

3 Click the Direction icon to disable the link entirely or


change the direction of the data flow. If the arrow points
to the right (away from the name of the property), the
status of the Trend Client property affects the attribute
you’re binding to. If the arrow points to the left (toward
the name of the event), the status of the Trend Client
property is affected by the attribute you’re binding to. If
the arrow points both ways, a change in the status of one
affects the other.

Guide to the ArchestrA Trend Client


40 Chapter 2 Configuring the Trend Client

4 Double-click Reference to enter reference information.


Click the ellipsis button to open the Galaxy Browser and
use the Element Browser. For more information, see
Chapter 3, Working with Objects, in the Wonderware
Application Server User’s Guide.
5 Select Show all properties to show all properties for which
there is data binding information.
6 Click OK.

Handling Trend Events


You can use the custom event editor to build scripts to handle
trend events.

To modify a trend event


1 In the ArchestrA Symbol Editor, double-click the Trend
Client. The Edit Animations dialog box appears
2 Click Events. The events information appears in the right
pane. For information on the different types of events, see
Trend Client Events on page 95.

3 Select an event in the Event list. The parameters


information appears in the lower portion of the pane.

Guide to the ArchestrA Trend Client


Handling Trend Events 41

4 Enter a script for this event in the window. You can use
the editor buttons to gather information and parameters.

Browse Event Parameters inserts the event


parameters and any associated event parameter
information at the current insertion point in the script.

Display Script Function Browser shows the


available script functions. Select a function and click OK
to insert the function and parameters at the current
insertion point in the script.

Display Attribute Browser opens the Galaxy


Browser.
5 Click OK. The script information is saved for the event.

Guide to the ArchestrA Trend Client


42 Chapter 2 Configuring the Trend Client

Guide to the ArchestrA Trend Client


43

Chapter 3

Scripting the Trend Client

This section describes the properties, methods, and events for


the Trend Client.

Trend Client Properties


The following are the properties of the Trend Client:
• Chart.AddMultiplePens

• Chart.BackgroundColor

• Chart.Freeze

• Chart.FreezeDurationMS

• Chart.HidePenList
• Chart.Labels

• Chart.PenPrecision

• Chart.RefreshEntireChartIntervals

• Chart.RetrievalMode

• Chart.UpdateRateMS

• HistorySources

• Pen.Color

• Pen.Count

• Pen.Description

• Pen.Expression

Guide to the ArchestrA Trend Client


44 Chapter 3 Scripting the Trend Client

• Pen.Format

• Pen.HistorySource

• Pen.HistoryTagName
• Pen.Index

• Pen.Name

• Pen.Precision

• Pen.RetrievalMode

• Pen.Style
• Pen.TrendHi

• Pen.TrendLo

• Pen.TrendType

• Pen.Units

• Pen.Visible

• Pen.Width

• PenSelectorHeight

• PenUQRelativeOpacity

• PenUQRelativeThickness

• PlotArea.BackgroundColor

• PlotArea.BorderColor

• PlotArea.GradientEndColor
• PlotArea.GradientType
• PlotArea.GridColor

• PlotArea.GridHorizontal

• PlotArea.GridStyle

• PlotArea.GridVertical

• PlotArea.GridWidth

• PlotArea.HighlightCurrentPen

• PlotArea.PenHighlightColor

• PlotArea.PenHighlightWidth

• PlotArea.SingleTagMode

• PlotImage

Guide to the ArchestrA Trend Client


Trend Client Properties 45

• ShowContextMenu

• SuppressErrors

• TimeAxis.Cursor1.Color
• TimeAxis.Cursor1.Pos

• TimeAxis.Cursor1.Style

• TimeAxis.Cursor1.Width

• TimeAxis.Cursor2.Color

• TimeAxis.Cursor2.Pos
• TimeAxis.Cursor2.Style

• TimeAxis.Cursor2.Width

• TimeAxis.LabelColor

• TimeAxis.NumGridPerValue

• TimeAxis.NumValues

• TimeAxis.ShowCursors

• TimeSelector

• TimeSelector.DurationMS

• TimeSelector.EndDate

• TimeSelector.StartDate

• TimeSelector.TimeDuration

• ToolTipText
• TrendVersion
• ValueAxis.Label

• ValueAxis.NumGridPerValue

• ValueAxis.NumValues

• Visible

This section describes all the scriptable properties available


in the Trend Client.
You can access the properties of an individual pen by setting
it as the current pen and then applying the pen properties.

Guide to the ArchestrA Trend Client


46 Chapter 3 Scripting the Trend Client

Chart.AddMultiplePens
The Chart.AddMultiplePens property is a read-write Boolean
property that suspends or allows the chart refresh while
multiple pens are added to the chart.
Syntax
Chart.AddMultiplePens = bool;
Result = Chart.AddMultiplePens;

Remarks
The default is FALSE (allows the chart refresh while
multiple pens are added to the chart).
You can set this property to TRUE, then add multiple
properties using a script without refreshing the graph. After
adding the final tag, set this property back to FALSE. The
graph is automatically refreshed and shows all the pens you
have added.

Chart.BackgroundColor
The Chart.BackgroundColor property is a read-write
property that gets or sets the background color of the chart.
Syntax
Chart.BackgroundColor = color;
Result = Chart.BackgroundColor;

Remarks
The default is white.
Color is a .NET Framework data type. You can use various
color methods to set the color, such as a predefined color
name, FromARGB(), FromKnownColor(), and FromName().
For a list of the .NET color names and the corresponding
hexadecimal codes, see .NET Colors on page 98. For more
information on the color methods, see the Microsoft
documentation for .NET Framework development.

Chart.Freeze
The Chart.Freeze property is a read-write Boolean property
that stops (TRUE) or starts (FALSE) the trend display from
updating.
Syntax
Chart.Freeze = bool;
Result = Chart.Freeze;

Remarks
The default is FALSE, which continues (or resumes) the
trend display updates. Setting the property to TRUE stops
the trend display updates.

Guide to the ArchestrA Trend Client


Trend Client Properties 47

Chart.FreezeDurationMS
The Chart.FreezeDurationMS property is a read-write
integer property that freezes the chart from live updates for
the specified duration in milliseconds.

Note When freeze duration is set to a value other than 0, in run


time after a freeze has been initiated, live updates appear on the
Trend Client automatically after the configured time has elapsed.
If Freeze Duration for chart is set to 0, the auto resume feature is
disabled.

Syntax
Chart.FreezeDurationMS = int;
Result = Chart.FreezeDurationMS;

Remarks
The default is 600000 (10 minutes).

Chart.HidePenList
The Chart.HidePenList property is a read-write Boolean
property that shows or hides the pen list in the chart.
Syntax
Chart.HidePenList = bool;
Result = Chart.HidePenList;

Remarks
The default is TRUE.

Chart.Labels
The Chart.Labels property is a read-write integer property
that sets the visibility of labels (chart label, X and Y axes
scales, and cursor information) in the chart. Supported
options are All and None (where 0 = All and 1 = None).
Syntax
Chart.Labels = int;
Result = Chart.Labels;

Remarks
The default is 0 (All).

Guide to the ArchestrA Trend Client


48 Chapter 3 Scripting the Trend Client

Chart.PenPrecision
The Chart.PenPrecision property is a read-write integer
property that gets or sets the number of decimal places to
show by default for the data value.
Syntax
Chart.PenPrecision = int;
Result = Chart.PenPrecision;

Remarks
The default is 0.

Chart.RefreshEntireChartIntervals
The Chart.RefreshEntireChartIntervals property is a
read-write integer property that refreshes the entire chart at
every specified number of intervals. (The interval is specified
with the Chart.UpdateRateMS property.) If the value is '0'
the chart only adds new data to the chart; however, it does
not refresh the data already present on the chart.
Syntax
Chart.RefreshEntireChartInterval = int;
Result = Chart.RefreshEntireChartIntervals;

Remarks
The default is 100 intervals.

Chart.RetrievalMode
The Chart.RetrievalMode property is a read-write integer
property that gets or sets the data retrieval mode for
retrieving the data from Wonderware Historian at the chart
level. Supported options are cyclic and full (where 0 = cyclic
and 2 = full).
Syntax
Chart.RetrievalMode = int;
Result = Chart.RetrievalMode;

Remarks
The default is 0 (cyclic).

Chart.UpdateRateMS
The Chart.UpdateRateMS property is a read-write integer
property that gets or sets the chart refresh interval in
milliseconds.
Syntax
Chart.UpdateRateMS = int;
Result = Chart.UpdateRateMS;

Remarks
The default is 1000.

Guide to the ArchestrA Trend Client


Trend Client Properties 49

HistorySources
The HistorySources property is a read-only object property
that gets a list of history sources. For more information about
the HistorySources properties, see Trend Client History
Sources on page 70.
Syntax
Result = HistorySources;
Remarks
No default.

Pen.Color
The Pen.Color property is a read-write property that gets or
sets the color of the currently selected pen.
Syntax
Pen.Color = color;
Result = Pen.Color;

Remarks
The default is color.
Color is a .NET Framework data type. You can use various
color methods to set the color, such as a predefined color
name, FromARGB(), FromKnownColor(), and FromName().
For a list of the .NET color names and the corresponding
hexadecimal codes, see .NET Colors on page 98. For more
information on the color methods, see the Microsoft
documentation for .NET Framework development.

Pen.Count
The Pen.Count property is a read-only integer property that
gets the number of the pens in the pen list.
Syntax
Result = Pen.Count;
Remarks
The default is 0.

Guide to the ArchestrA Trend Client


50 Chapter 3 Scripting the Trend Client

Pen.Description
The Pen.Description property is a read-write string property
that gets or sets the description of the currently selected pen.
Syntax
Pen.Description = string;
Result = Pen.Description;

Remarks
If the pen expression was configured by browsing to the
attribute in the Attribute Browser, the default value is
obtained from the corresponding description property of the
associated ArchestrA attribute. Otherwise, the default value
is blank if the pen expression is manually configured.

Pen.Expression
The Pen.Expression property is a read-write string property
that gets or sets the expression of the currently selected pen.
The expression can be a Galaxy attribute, InTouch tag
reference, or an expression.
Syntax
Pen.Expression = string;
Result = Pen.Expression;

Remarks
The default is blank.

Pen.Format
The Pen.Format property is a read-write integer property
that gets or sets the format of the current pen (where 0 is
decimal and 1 is scientific).
Syntax
Pen.Format = int;
Result = Pen.Format;

Remarks
The default is 0 (decimal).

Guide to the ArchestrA Trend Client


Trend Client Properties 51

Pen.HistorySource
The Pen.HistorySource property is a read-only string
property that gets the history source of the currently selected
pen. For more information about the HistorySources
properties, see Trend Client History Sources on page 70.

Note This value is empty when no historical source is configured,


if an expression is configured, or if no historical tag is configured.

Syntax
Result = Pen.HistorySource;
Remarks
The default is blank.

Pen.HistoryTagName
The Pen.HistoryTagName property is a read-write string
property that gets or sets the historical tag name for the
currently selected pen.
Syntax
Pen.HistoryTagName = string;
Result = Pen.HistoryTagName;

Remarks
The default is blank.

Pen.Index
The Pen.Index property is a read-only integer property that
gets the index of the currently selected pen, or -1 if no pen is
selected. The array is zero-based.
Syntax
Result = Pen.Index;
Remarks
The default is -1.

Pen.Name
The Pen.Name property is a read-write string property that
gets or sets the name of the currently selected pen.
Syntax
Pen.Name = string;
Result = Pen.Name;

Remarks
The default is blank.

Guide to the ArchestrA Trend Client


52 Chapter 3 Scripting the Trend Client

Pen.Precision
The Pen.Precision property is a read-write integer property
that gets or sets the decimal precision of the currently
selected pen.
Syntax
Pen.Precision = int;
Result = Pen.Precision;

Remarks
The default is the trend chart's pen precision property.

Pen.RetrievalMode
The Pen.RetrievalMode property is a read-write enumerated
property that gets or sets the mode for retrieving the data
from Wonderware Historian of the currently selected pen.
Supported options are:
0 = Cyclic
2 = Full
12 = ApplicationSetting
Syntax
Pen.RetrievalMode = enum;
Result = Pen.RetrievalMode;

Remarks
The default is the trend chart's retrieval mode property (12).

Pen.Style
The Pen.Style property is a read-write integer property that
gets or sets the line style of the currently selected pen.
Valid values are:
0 = Solid
1 = Dash
2 = DashDot
3 = DashDotDot
4 = Dot
Syntax
Pen.Style = int;
Result = Pen.Style;

Remarks
The default is 0.

Guide to the ArchestrA Trend Client


Trend Client Properties 53

Pen.TrendHi
The Pen.TrendHi property is a read-write double property
that gets or sets the high value of the value range to be used
for the currently selected pen.
Syntax
Pen.TrendHi = double;
Result = Pen.TrendHi;

Remarks
If the pen expression was configured by browsing to the
attribute in the Attribute Browser, the default value is set to
the corresponding TrendHi property of the associated
ArchestrA attribute. Otherwise, the default value is 100 if
the pen expression is manually configured.

Pen.TrendLo
The Pen.TrendLo property is a read-write double property
that gets or sets the low value of the value range to be used
for the currently selected pen.
Syntax
Pen.TrendLo = double;
Result = Pen.TrendLo;

Remarks
If the pen expression was configured by browsing to the
attribute in the Attribute Browser, the default value is set to
the corresponding TrendLo property of the associated
ArchestrA attribute. Otherwise, the default value is 0 if the
pen expression is manually configured.

Pen.TrendType
The Pen.TrendType property is a read-write integer property
that gets or sets the plot type of the currently selected pen.
0 = Point
1 = Line
2 = StepLine
3 = Auto
When Pen.TrendType is set to Auto and there is no Historian
default available, the Trend Client uses a plot type of Line for
real tags and StepLine for integer tags.
Syntax
Pen.TrendType = int;
Result = Pen.TrendType;

Remarks
The default is 3.

Guide to the ArchestrA Trend Client


54 Chapter 3 Scripting the Trend Client

Pen.Units
The Pen.Units property is a read-write string property that
gets or sets the units of the currently selected pen.
Syntax
Pen.Units = string;
Result = Pen.Units;

Remarks
If the pen expression was configured by browsing to the
attribute in the Attribute Browser, the default value is set to
the corresponding EngUnits property of the associated
ArchestrA attribute. Otherwise, the default value is blank if
the pen expression is manually configured.

Pen.Visible
The Pen.Visible property is a read-write Boolean property
that gets or sets the visible property for the currently
selected pen.
Syntax
Pen.Visible = bool;
Result = Pen.Visible;

Remarks
The default is TRUE (the pen is visible on the chart). When
this property is set to FALSE, the pen is hidden from the
chart display.

Pen.Width
The Pen.Width property is a read-write integer property that
gets or sets the line width (from 1 to 10) of the currently
selected pen.
Syntax
Pen.Width = int;
Result = Pen.Width;

Remarks
The default is 1, when a pen is added to the pen list. If there
is no pen in the pen list, the default is 0.

Guide to the ArchestrA Trend Client


Trend Client Properties 55

PenSelectorHeight
The PenSelectorHeight property is a read-write integer
property that gets or sets the height of the pen selector in
pixels.
Syntax
PenSelectorHeight = int;
Result = PenSelectorHeight;

Remarks
The default is 97.

PenUQRelativeOpacity
The PenUQRelativeOpacity property is a read-write integer
property that gets or sets the line’s relative opacity when the
data quality is uncertain.
The two properties, relative opacity and relative thickness,
create a visual distinction for values with uncertain quality.
When the pen type is point, no visual change is shown on the
trend.
Syntax
PenUQRelativeOpacity = int;
Result = PenUQRelativeOpacity;

Remarks
The default is 25%.
For example, if the pen has an opacity of 80% and the data
quality is “uncertain,“ then the Trend Client calculates the
opacity of the pen as 80% x 25% = 20% opaque.

PenUQRelativeThickness
The PenUQRelativeThickness property is a read-write
integer property that gets or sets the line's relative thickness
when data quality is uncertain.
The two properties, relative opacity, and relative thickness,
create a visual distinction for values with uncertain quality.
When the pen type is point, no visual change is shown on the
trend.
Syntax
PenUQRelativeThickness = int;
Result = PenUQRelativeThickness;

Remarks
The default is 200%.
For example, if a line is 1 pixel wide and 200% thick, then the
Trend Client calculates the thickness of the line with a data
quality of “uncertain“ as 1 pixel x 200% = 2 pixels wide.

Guide to the ArchestrA Trend Client


56 Chapter 3 Scripting the Trend Client

PlotArea.BackgroundColor
The PlotArea.BackgroundColor property is a read-write
property that gets or sets the color of the plot area of the
graph.
Syntax
PlotArea.BackgroundColor = color;
Result = PlotArea.BackgroundColor;

Remarks
The default is white.
Color is a .NET Framework data type. You can use various
color methods to set the color, such as a predefined color
name, FromARGB(), FromKnownColor(), and FromName().
For a list of the .NET color names and the corresponding
hexadecimal codes, see .NET Colors on page 98. For more
information on the color methods, see the Microsoft
documentation for .NET Framework development.

PlotArea.BorderColor
The PlotArea.BorderColor property is a read-write property
that gets or sets the color of the plot area's border.
Syntax
PlotArea.BorderColor = color;
Result = PlotArea.BorderColor;

Remarks
The default is black.
Color is a .NET Framework data type. You can use various
color methods to set the color, such as a predefined color
name, FromARGB(), FromKnownColor(), and FromName().
For a list of the .NET color names and the corresponding
hexadecimal codes, see .NET Colors on page 98. For more
information on the color methods, see the Microsoft
documentation for .NET Framework development.

Guide to the ArchestrA Trend Client


Trend Client Properties 57

PlotArea.GradientEndColor
The PlotArea.GradientEndColor property is a read-write
property that gets or sets the gradient end color of the plot
area of the graph.
Syntax
PlotArea.GradientEndColor = color;
Result = PlotArea.GradientEndColor;

Remarks
The default is white.
Color is a .NET Framework data type. You can use various
color methods to set the color, such as a predefined color
name, FromARGB(), FromKnownColor(), and FromName().
For a list of the .NET color names and the corresponding
hexadecimal codes, see .NET Colors on page 98. For more
information on the color methods, see the Microsoft
documentation for .NET Framework development.

PlotArea.GradientType
The PlotArea.GradientType property is a read-write integer
property that gets or sets the gradient type of the plot area of
the graph.
0 = None (no gradient)
1 = LeftRight
2 = TopBottom
3 = Center
4 = DiagonalLeft
5 = DiagonalRight
6 = HorizontalCenter
7 = VerticalCenter
Syntax
PlotArea.GradientEndType = int;
Result = PlotArea.GradientEndType;

Remarks
The default is 0.

Guide to the ArchestrA Trend Client


58 Chapter 3 Scripting the Trend Client

PlotArea.GridColor
The PlotArea.GridColor property is a read-write property
that gets or sets the color of grid.
Syntax
PlotArea.GridColor = color;
Result = PlotArea.GridColor;

Remarks
The default is grey.
Color is a .NET Framework data type. You can use various
color methods to set the color, such as a predefined color
name, FromARGB(), FromKnownColor(), and FromName().
For a list of the .NET color names and the corresponding
hexadecimal codes, see .NET Colors on page 98. For more
information on the color methods, see the Microsoft
documentation for .NET Framework development.

PlotArea.GridHorizontal
The PlotArea.GridHorizontal property is a read-write
Boolean property that shows or hides the horizontal grid.
Syntax
PlotArea.GridHorizontal = bool;
Result = PlotArea.GridHorizontal;

Remarks
The default is TRUE.

PlotArea.GridStyle
The PlotArea.GridStyle property is a read-write integer
property that gets or sets the grid line style.
0 = Solid
1 = Dash
2 = DashDot
3 = DashDotDot
4 = Dot
Syntax
PlotArea.GridStyle = int;
Result = PlotArea.GridStyle;

Remarks
The default is 0.

Guide to the ArchestrA Trend Client


Trend Client Properties 59

PlotArea.GridVertical
The PlotArea.GridVertical property is a read-write Boolean
property that shows or hides the vertical grid.
Syntax
PlotArea.GridVertical = bool;
Result = PlotArea.GridVertical;

Remarks
The default is TRUE.

PlotArea.GridWidth
The PlotArea.GridWidth property is a read-write integer
property that gets or sets the width of the grid. Allowed
values are 1 to 10.
Syntax
PlotArea.GridWidth = int;
Result = PlotArea.GridWidth;

Remarks
The default is 1.

PlotArea.HighlightCurrentPen
The PlotArea.HighlightCurrentPen property is a read-write
Boolean property that highlights the currently selected pen.
Syntax
PlotArea.HighlightCurrentPen = bool;
Result = PlotArea.HighlightCurrentPen;

Remarks
The default is TRUE.

PlotArea.PenHighlightColor
The PlotArea.PenHighlightColor property is a read-write
property that gets or sets the pen’s highlight color.
Syntax
PlotArea.PenHighlightColor = color;
Result = PlotArea.PenHighlightColor;

Remarks
The default is yellow.
Color is a .NET Framework data type. You can use various
color methods to set the color, such as a predefined color
name, FromARGB(), FromKnownColor(), and FromName().
For a list of the .NET color names and the corresponding
hexadecimal codes, see .NET Colors on page 98. For more
information on the color methods, see the Microsoft
documentation for .NET Framework development.

Guide to the ArchestrA Trend Client


60 Chapter 3 Scripting the Trend Client

PlotArea.PenHighlightWidth
The PlotArea.PenHighlightWidth property is a read-write
integer property that gets or sets the width of the pen’s
highlight color. Allowed values are 1 to 5.
Syntax
PlotArea.PenHighlightWidth = int;
Result = PlotArea.PenHighlightWidth;

Remarks
The default is 2.

PlotArea.SingleTagMode
The PlotArea.SingleTagMode property is a read-write
Boolean property that sets whether to show only the
currently selected pen or all pens.
Syntax
PlotArea.SingleTagMode = bool;
Result = PlotArea.SingleTagMode;

Remarks
The default is FALSE.

PlotImage
The PlotImage property is a read-write string property that
gets or sets the plot background image for the chart.
Syntax
PlotImage = string;
Result = PlotImage;

Remarks
The value of this property is the folder path and filename for
the image. Supported image types are .jpeg, .gif, .bmp, and
.png.
The default is blank.

ShowContextMenu
The ShowContextMenu property is a Boolean property that
shows the context menu in run time.
Syntax
ShowContextMenu = bool;
Result = ShowContextMenu;

Remarks
The default is TRUE.

Guide to the ArchestrA Trend Client


Trend Client Properties 61

SuppressErrors
The SuppressErrors property is a read-write Boolean
property that suppresses or allows error messages.

Note All errors are logged to ArchestrA Logger regardless of this


setting.

Syntax
SuppressErrors = bool;
Result = SuppressErrors;

Remarks
The default is TRUE.

TimeAxis.Cursor1.Color
The TimeAxis.Cursor1.Color property is a read-write
property that gets or sets the color of the left time axis
cursor.
Syntax
TimeAxis.Cursor1.Color = color;
Result = TimeAxis.Cursor1.Color;

Remarks
The default is red.
Color is a .NET Framework data type. You can use various
color methods to set the color, such as a predefined color
name, FromARGB(), FromKnownColor(), and FromName().
For a list of the .NET color names and the corresponding
hexadecimal codes, see .NET Colors on page 98. For more
information on the color methods, see the Microsoft
documentation for .NET Framework development.

TimeAxis.Cursor1.Pos
The TimeAxis.Cursor1.Pos property is a read-write property
that gets or sets the time position of the left time axis cursor.
Syntax
TimeAxis.Cursor1.Pos = datetime;
Result = TimeAxis.Cursor1.Pos;

Remarks
No default.

Guide to the ArchestrA Trend Client


62 Chapter 3 Scripting the Trend Client

TimeAxis.Cursor1.Style
The TimeAxis.Cursor1.Style property is a read-write integer
property that gets or sets the style of the left time axis
cursor. Valid values are:
0 = Solid
1 = Dash
2 = DashDot
3 = DashDotDot
4 = Dot
Syntax
TimeAxis.Cursor1Style = int;
Result = TimeAxis.Cursor1Style;

Remarks
The default is 0.

TimeAxis.Cursor1.Width
The TimeAxis.Cursor1.Width property is a read-write
integer property that gets or sets the width of the left time
axis cursor. Allowed values are 1 to 10.
Syntax
TimeAxis.Cursor1.Width = int;
Result = TimeAxis.Cursor1.Width;

Remarks
The default is 1.

TimeAxis.Cursor2.Color
The TimeAxis.Cursor2.Color property is a read-write
property that gets or sets the color of the right time axis
cursor.
Syntax
TimeAxis.Cursor2.Color = color;
Result = TimeAxis.Cursor2.Color;

Remarks
The default is blue.
Color is a .NET Framework data type. You can use various
color methods to set the color, such as a predefined color
name, FromARGB(), FromKnownColor(), and FromName().
For a list of the .NET color names and the corresponding
hexadecimal codes, see .NET Colors on page 98. For more
information on the color methods, see the Microsoft
documentation for .NET Framework development.

Guide to the ArchestrA Trend Client


Trend Client Properties 63

TimeAxis.Cursor2.Pos
The TimeAxis.Cursor2.Pos property is a read-write property
that gets or sets the time position of the right time axis
cursor.
Syntax
TimeAxis.Cursor2.Pos = datetime;
Result = TimeAxis.Cursor2.Pos;

Remarks
No default.

TimeAxis.Cursor2.Style
The TimeAxis.Cursor2.Style property is a read-write integer
property that gets or sets the style of the right time axis
cursor. Valid values are:
0 = Solid
1 = Dash
2 = DashDot
3 = DashDotDot
4 = Dot
Syntax
TimeAxis.Cursor2.Style = int;
Result = TimeAxis.Cursor2.Style;

Remarks
The default is 0.

TimeAxis.Cursor2.Width
The TimeAxis.Cursor2.Width property is a read-write
integer property that gets or sets the width of the right time
axis cursor. Allowed values are 1 to 10.
Syntax
TimeAxis.Cursor2.Width = int;
Result = TimeAxis.Cursor2.Width;

Remarks
The default is 1.

Guide to the ArchestrA Trend Client


64 Chapter 3 Scripting the Trend Client

TimeAxis.LabelColor
The TimeAxis.LabelColor property is a read-write property
that gets or sets the color of the time axis labels.
Syntax
TimeAxis.LabelColor = color;
Result = TimeAxis.LabelColor;

Remarks
The default is black.
Color is a .NET Framework data type. You can use various
color methods to set the color, such as a predefined color
name, FromARGB(), FromKnownColor(), and FromName().
For a list of the .NET color names and the corresponding
hexadecimal codes, see .NET Colors on page 98. For more
information on the color methods, see the Microsoft
documentation for .NET Framework development.

TimeAxis.NumGridPerValue
The TimeAxis.NumGridPerValue property is a read-write
integer property that gets or sets the number of grid lines
that appear between each value shown on time axis. The
valid range is 1 to 20.
Syntax
TimeAxis.NumGridPerValue = int;
Result = TimeAxis.NumGridPerValue;

Remarks
The default is 3.

TimeAxis.NumValues
The TimeAxis.NumValues property is a read-write integer
property that gets or sets the number of time labels that are
shown along the time axis. The valid range is 2 to 15.
Syntax
TimeAxis.NumValues = int;
Result = TimeAxis.NumValues;

Remarks
The default is 6.

Guide to the ArchestrA Trend Client


Trend Client Properties 65

TimeAxis.ShowCursors
The TimeAxis.ShowCursors property is a read-write Boolean
property that shows or hides the time axis cursors.
Syntax
TimeAxis.ShowCursors = bool;
Result = TimeAxis.ShowCursors;

Remarks
The default is FALSE.

TimeSelector
The TimeSelector property is a read-only property that gets
the Time Range Picker object used in the Trend Client. You
can use it in scripting to shorten the code using its properties
and methods.
For the individual properties and methods, see the following
properties, or the methods starting at
TimeSelector.GetStartAndEndTimes on page 89.
Example 1
dim TRP as object;
TRP = TrendClient1.TimeSelector;
Timeselect = TRP;
StartDate = TRP.StartDate;
EndDate = TRP.EndDate;
duration = TRP.TimeDuration;
Example 2
dim TRP as object;
TRP = TrendClient1.TimeSelector;
TRP.SetStartAndEndTimes(StartDate, EndDate, Duration);
Remarks
The return value is a TimeRangePicker.

Guide to the ArchestrA Trend Client


66 Chapter 3 Scripting the Trend Client

TimeSelector.DurationMS
The TimeSelector.DurationMS property is a read-write
integer property that gets the time duration measured in
milliseconds.
The start time of the Trend Client (TimeSelector.StartDate)
is calculated as the end time (TimeSelector.EndDate) minus
the new time duration (TimeSelector.DurationMS).
When you set the value of the TimeSelector.DurationMS
property, the TimeSelector.TimeDuration property is set to
0.
Syntax
result = TimeSelector.DurationMS;
TimeSelector.DurationMS = Value;

Remarks
The default value is 300000.

TimeSelector.EndDate
The TimeSelector.EndDate property is a read-only string
property that gets the end date and time of the Trend Client.
The default value is the time the Trend Client is placed on
the canvas. If the Update to Current Time option is enabled,
the TimeSelector.EndDate property is updated with the
current time.

Note To set the end date and time of the Trend Client, use the
TimeSelector.SetStartAndEndTimes method.

Syntax
result = Trend01.TimeSelector.EndDate;

TimeSelector.StartDate
The TimeSelector.StartDate property is a read-only string
property that gets the start date and time of the Trend
Client.
The default value is the time the Trend Client is placed on
the canvas minus the duration.

Note To set the start date and time of the Trend Client, use the
TimeSelector.SetStartAndEndTimes method.

Syntax
result = TimeSelector.StartDate;

Guide to the ArchestrA Trend Client


Trend Client Properties 67

TimeSelector.TimeDuration
The TimeSelector.TimeDuration property is a read-write
enumerated property that gets or sets the enumerated
duration of the time axis of the chart.
Syntax
TimeSelector.TimeDuration = enum;
Result = TimeSelector.TimeDuration;

The TimeSelector.TimeDuration property is a read-write


integer property that gets or sets the time duration. The start
time of the Trend Client (TimeSelector.StartDate) is
calculated as the end time (TimeSelector.EndDate) minus
the new time duration.
The TimeSelector.TimeDuration can have one of the
following values:

Value Description

0 Custom
1 The last minute.
2 The last five minutes.
3 The last ten minutes.
4 The last 15 minutes.
5 The last 30 minutes.
6 The last hour.
7 The last two hours.
8 The last four hours.
9 The last eight hours.
10 The last 12 hours.
11 The last 24 hours.
12 The last two days.
13 The last week.
14 The last two weeks.
15 The last month.
16 The last three months.
17 One minute.
18 Five minutes.
19 Ten minutes.

Guide to the ArchestrA Trend Client


68 Chapter 3 Scripting the Trend Client

Value Description

20 15 minutes.
21 30 minutes.
22 One hour.
23 Two hours.
24 Four hours.
25 Eight hours.
26 12 hours.
27 24 hours.
28 Two days.
29 One week.
30 Two weeks.
31 One month.
32 Three months.
33 Yesterday: 0:00:00 of the previous day to
0:00:00 of the current day.
34 Current day: 0:00:00 of the current day to the
current time.
35 Previous hour: The start of the previous hour to
the start of the current hour.
36 Current hour: The start of the current hour to
the current time.
Syntax
result = TimeSelector.TimeDuration;
TimeSelector.TimeDuration = Value;

Example
Trend01.TimeSelector.TimeDuration = 5;
// The trend is now set to show the last 30 minutes.

Remarks
The default is 18 (5 minutes).

Guide to the ArchestrA Trend Client


Trend Client Properties 69

ToolTipText
The ToolTipText property is a read-write string property that
gets or sets the pop-up text that appears when the mouse is
hovered over the chart at run time.
Syntax
ToolTipText = string;
Result = ToolTipText;

Remarks
The default is blank.

TrendVersion
The TrendVersion property is a read-only string property
that gets the version of the trend.
Syntax
Result = TrendVersion;
Remarks
The return value is 1.0.0 for the first release.

ValueAxis.Label
The ValueAxis.Label property is a read-write integer
property that gets or sets which labels are shown on the
value axis.
0 = MultipleScales
1 = SingleScale
2 = ValuesAtCursor
Syntax
ValueAxis.Label = int;
Result = ValueAxis.Label;

Remarks
The default is 0.

ValueAxis.NumGridPerValue
The ValueAxis.NumGridPerValue property is a read-write
integer property that gets or sets the number of grid lines
that appear between each value shown along the Y-axis. The
valid range is 1 to 20.
Syntax
ValueAxis.NumGridPerValue = int;
Result = ValueAxis.NumGridPerValue;

Remarks
The default is 2.

Guide to the ArchestrA Trend Client


70 Chapter 3 Scripting the Trend Client

ValueAxis.NumValues
The ValueAxis.NumValues property is a read-write integer
property that gets or sets the number of value labels that are
shown along the Y-axis. The valid range is 2 to 15.
Syntax
ValueAxis.NumValues = int;
Result = ValueAxis.NumValues;

Remarks
The default is 6.

Visible
The Visible property is a read-write Boolean property that
shows or hides the Trend Client at run time.
Syntax
Visible = bool;
Result = Visible;

Remarks
The default is TRUE.

Trend Client History Sources


The Trend Client has the following scriptable properties for
the history sources:
• HistorySource.Authentication

• HistorySource.Domain

• HistorySource.Password

• HistorySource.RetainPassword
• HistorySource.ServerName
• HistorySource.Type

• HistorySource.UNCPath

• HistorySource.UserID

• HistorySources.Count

• HistorySources.Items

Guide to the ArchestrA Trend Client


Trend Client Properties 71

HistorySource.Authentication
The HistorySource.Authentication property is a read-write
string property that gets or sets the authentication mode for
the connection to the server. Available options are SQL
Server, Windows Account, and Windows Integrated.
Syntax
HistorySource.Authentication = string;
Result = HistorySource.Authentication;

Remarks
The default is Windows Integrated.

HistorySource.Domain
The HistorySource.Domain property is a read-write string
property that gets or sets the domain name for the
connection to the Wonderware Historian.
Syntax
HistorySource.Domain = string;
Result = HistorySource.Domain;

Remarks
The default is an empty message value ( "" ).
This property is not applicable if you are using an InTouch
LGH file as the data source.

HistorySource.Password
The HistorySource.Password property is a read-write string
property that gets and sets the password for the connection
to the server.
Syntax
HistorySource.Password = string;
Result = HistorySource.Password;

Remarks
The default is wwUser.

Guide to the ArchestrA Trend Client


72 Chapter 3 Scripting the Trend Client

HistorySource.RetainPassword
The HistorySource.RetainPassword property is a read-write
Boolean property that indicates whether the password is
stored in persistent storage.
Syntax
HistorySource.RetainPassword = int;
Result = HistorySource.RetainPassword;

Remarks
The default is TRUE (the password is stored in persistent
storage).
This property is not applicable if you are using an InTouch
LGH file as the data source.

HistorySource.ServerName
The HistorySource.ServerName property is a read-write
string property that gets or sets the name of the history
source.
Syntax
HistorySource.ServerName = string;
Result = HistorySource.ServerName;

Remarks
The default is an empty message value ( "" ).

HistorySource.Type
The HistorySource.Type property is a read-write string
property that gets or sets the type of the history source.
Possible values are “InSQL” (Wonderware Historian Server)
and “LGH” (InTouch History Files).
Syntax
HistorySource.Type = string;
Result = HistorySource.Type;

Remarks
The default is “InSQL.”

HistorySource.UNCPath
The HistorySource.UNCPath property is a read-write string
property that gets or sets the UNC path of the InTouch Log
History/LGH file.
Syntax
HistorySource.UNCPath = string;
Result = HistorySource.UNCPath;

Remarks
The default is an empty message value ( "" ).

Guide to the ArchestrA Trend Client


Trend Client Properties 73

HistorySource.UserID
The HistorySource.UserID property is a read-write string
property that gets and sets the user ID for the Wonderware
Historian.
Syntax
HistorySource.UserID = string;
Result = HistorySource.UserID;

Remarks
The default is wwUser.
This property is not applicable if you are using an InTouch
LGH file as the data source.

HistorySources.Count
The HistorySources.Count property is a read-only integer
property that shows the number of history sources
configured.
Syntax
Result = HistorySources.Count;
Remarks
The default is 0.

HistorySources.Items
The HistorySources.Items property is a read-only array
property that shows the array of history source names.
Syntax
Result = HistorySources.Items;
Remarks
No default.

Guide to the ArchestrA Trend Client


74 Chapter 3 Scripting the Trend Client

Trend Client Methods


The following are the methods used by the Trend Client:
• AddHistorianSource
• AddPen

• ClearPens

• DeleteCurrentPen

• GetHistorianSource

• GetPenValAtX1
• GetStartAndEndTimes

• MoveNextPen

• MovePrevPen

• RefreshData

• RefreshTimes

• RemoveHistorianSource

• RemovePen

• ScaleAllPens

• ScaleAutoAllPens

• ScaleAutoPen

• ScaleDownAllPens

• ScaleDownPen
• ScaleMoveAllPensDown
• ScaleMoveAllPensUp

• ScaleMovePenDown

• ScaleMovePenUp

• ScalePen

• ScaleUpAllPens

• ScaleUpPen

• SetCurrentPen

• SetDuration

• SetStartAndEndTimes

• TimeSelector.GetStartAndEndTimes

Guide to the ArchestrA Trend Client


Trend Client Methods 75

• TimeSelector.RefreshTimes

• TimeSelector.SetStartAndEndTimes

• UpdateHistorianSource

The following section describes the scriptable methods


available in the Trend Client.

AddHistorianSource
AddHistorianSource method adds a new history source.
Example
Dim b as object;
b = Trend1.AddHistorianSource("idc_insql12", "InSQL");
Syntax
[Result =] Trend1.AddHistorianSource(string
HistorySourceName, string Type);
Parameters
HistorySourceName
The name of the history source.
Type
The type of history source "InSQL" or "InTouch".
Return Value
If there is already a server with the given name in the list,
the object for that server is returned. Otherwise, a new
server with the given name is added to the list and the object
for the new server is returned.

Guide to the ArchestrA Trend Client


76 Chapter 3 Scripting the Trend Client

AddPen
The AddPen method adds a named pen to the trend.
Examples
dim b as boolean;
b = Trend1.AddPen("MyPen01","UserDefined_001.Value",
"InSQL01","UserDefined_001.Value", 1);
b = Trend1.AddPen("MyPen02","InTouch:$Second",
"InSQL01","$Second", 1);
b = Trend1.AddPen("MyPen03",
"MyContainer.InletPump1+MyContainer.InletPump2",””,”
”,1);

Syntax
[Result=] AddPen(string PenName, string TagName, string
HistorySource, string HistoryTagName, int
HistoryTagType);
Parameters
PenName
The name of the pen to add.
TagName
The name of the tag associated with the pen being added.
HistorySource
The history source for the pen being added.
HistoryTagName
The name of the history tag for the pen being added.
HistoryTagType
The type of history tag for the pen being added: 1 for
Wonderware Historian or 3 for LGH.
Return Value
Returns TRUE if the pen was successfully added; otherwise,
returns FALSE.

ClearPens
The ClearPens method removes all pens from the trend.
Example
dim b as boolean;
b = Trend1.ClearPens();

Syntax
[Result=] Trend1.ClearPens();
Parameters
None.
Return Value
Returns TRUE if the pens were successfully deleted from the
trend; otherwise, returns FALSE.

Guide to the ArchestrA Trend Client


Trend Client Methods 77

DeleteCurrentPen
The DeleteCurrentPen method removes the currently
selected pen from the trend.
Example
dim b as boolean;
b = Trend1.DeleteCurrentPen();

Syntax
[Result=] Trend1.DeleteCurrentPen();
Parameters
None.
Return Value
Returns TRUE if the pen was successfully removed;
otherwise, returns FALSE.

GetHistorianSource
GetHistorianSource method gets the named history source
object for a server from the server list.
Example
Dim b as object;
b = Trend1.GetHistorianSource("idc_insql15");
Syntax
[Result =] Trend1.GetHistorianSource(string
HistorySourceName);
Parameters
HistorySourceName
The name of the history source.
Return Value
If the server exists, the object is returned; otherwise, a NULL
is returned.

Guide to the ArchestrA Trend Client


78 Chapter 3 Scripting the Trend Client

GetPenValAtX1
The GetPenValAtX1 method gets the value of the expression
associated with the specified pen at the point at which its
curve intersects with the first time axis cursor.
Example
double val = Trend1.GetPenValAtX1("MyPen01");
Syntax
[Result=] Trend1.GetPenValAtX1(string PenName);
Parameters
PenName
The pen you want to check the value of.
Return Value
Returns a double if the point is analog or discrete; returns
the fixed position of the point if the point is message or other
type. If the specified pen is shown in the chart multiple
times, then the method uses the first instance that was
added.

GetStartAndEndTimes
The GetStartAndEndTimes method gets the start and end
times for the query.
Example
Dim SDate as System.DateTime;
Dim EDate as System.DateTime;
Dim b as System.Int32
b = Trend1.GetStartAndEndTimes(SDate, EDate);
StartTime = SDate.ToString();
EndTime = EDate.ToString();
Ret = b;
Syntax
[Result =] Trend1.GetStartAndEndTimes(DateTime
StartTime, DateTime EndTime);
Parameters
StartTime
The start time for the query.
EndTime
The end time for the query.
Return Value
Returns the time range enumeration.

Guide to the ArchestrA Trend Client


Trend Client Methods 79

MoveNextPen
The MoveNextPen method sets the current pen focus to the
next pen in the list of trended attributes or tags. If the
current pen is the last pen, calling the MoveNextPen method
sets the first pen as the current pen.
Example
dim b as boolean;
b = Trend1.MoveNextPen();

Syntax
[Result=] Trend1.MoveNextPen();
Parameters
None.
Return Value
Returns TRUE if the current pen focus was successfully set
to the next pen (or wrapped around to the first pen in the
list); otherwise, returns FALSE.

MovePrevPen
The MovePrevPen method sets the current pen focus to the
previous pen in the list of trended attributes or tags. If the
current pen is the first pen, calling the MovePrevPen method
has no effect.
Example
dim b as boolean;
b = Trend1.MovePrevPen();

Syntax
[Result=] Trend1.MovePrevPen();
Parameters
None.
Return Value
Returns TRUE if the current pen focus was successfully set
to the previous pen; otherwise, returns FALSE.

Guide to the ArchestrA Trend Client


80 Chapter 3 Scripting the Trend Client

RefreshData
The RefreshData method refreshes the trend chart by
retrieving new data for all pens.
Example
bool b = Trend1.RefreshData();
Syntax
[Result=] Trend1.RefreshData();
Parameters
None.
Return Value
Returns TRUE if the trend was successfully updated;
otherwise, FALSE is returned.

RefreshTimes
The RefreshTimes method sets the time period for the query
by updating the end time to current time and recalculates the
start time based on the new end time and duration.
Example
dtag = 1;
Trend1.RefreshTimes(dtag);
Syntax
Trend1.RefreshTimes(bool TriggerEvent);
Parameters
TriggerEvent
If you set the Boolean parameter to TRUE, the OnChange
event is triggered if the time is updated.

Guide to the ArchestrA Trend Client


Trend Client Methods 81

RemoveHistorianSource
RemoveHistorianSource method removes the specified
history source from the list.
Example
Dim b as Boolean;
b = Trend1.RemoveHistorianSource("IDC_INSQL15");
Syntax
[Result] = Trend1.RemoveHistorianSource(string
HistorySourceName);
Parameters
HistorySourceName
The name of the history source.
Return Value
This method returns true if the instance was removed from
the list. This method returns false if the exact instance is
not in the list, and the list remains unchanged.

RemovePen
The RemovePen method removes the specified pen from the
trend chart.

Note If the same pen is available multiple times, then only the
first occurrence is removed.

Example
dim b as boolean;
b = Trend1.RemovePen("MyPen01");

Syntax
[Result=] Trend1.RemovePen(string PenName);
Parameters
PenName
The pen name to be removed.
Return Value
Returns TRUE if the pen was successfully removed from the
trend chart; otherwise, returns FALSE.

Guide to the ArchestrA Trend Client


82 Chapter 3 Scripting the Trend Client

ScaleAllPens
The ScaleAllPens method sets the Y-axis (value axis) scale
for all pens.
Example
dim b as boolean;
b = Trend1.ScaleAllPens(-100, 100);

Syntax
[Result=] Trend1.ScaleAllPens(double Min, double Max);
Parameters
Min
Enter the minimum value for the Y-axis.
Max
Enter the maximum value for the Y-axis.
Return Value
Returns TRUE if the Y-axis scale is set successfully;
otherwise, returns FALSE.

ScaleAutoAllPens
The ScaleAutoAllPens method sets a suitable Y-axis scale for
all tags in accordance with the current minimum and
maximum values.
Example
dim b as boolean;
b = Trend1.ScaleAutoAllPens();

Syntax
[Result=] Trend1.ScaleAutoAllPens();
Parameters
None.
Return Value
Returns TRUE if the Y-axis is successfully scaled; otherwise,
returns FALSE.

Guide to the ArchestrA Trend Client


Trend Client Methods 83

ScaleAutoPen
The ScaleAutoPen method sets a suitable Y-axis scale for the
currently selected pen in accordance with the current
minimum and maximum values.
Example
dim b as boolean;
b = Trend1.ScaleAutoPen();

Syntax
[Result=] Trend1.ScaleAutoPen();
Parameters
None.
Return Value
Returns TRUE if the Y-axis is successfully scaled; otherwise,
returns FALSE.

ScaleDownAllPens
The ScaleDownAllPens method increases the value range of
all pens by one third.
Example
dim b as boolean;
b = Trend1.ScaleDownAllPens();

Syntax
[Result=] Trend1.ScaleDownAllPens();
Parameters
None.
Return Value
Returns TRUE if the value range is successfully increased by
one third; otherwise, returns FALSE.

ScaleDownPen
The ScaleDownPen method increases the value range of the
currently selected pen by one third.
Example
dim b as boolean;
b = Trend1.ScaleDownPen();

Syntax
[Result=] Trend1.ScaleDownPen();
Parameters
None.
Return Value
Returns TRUE if the scaling is successful; otherwise, returns
FALSE.

Guide to the ArchestrA Trend Client


84 Chapter 3 Scripting the Trend Client

ScaleMoveAllPensDown
The ScaleMoveAllPensDown method moves the value scale
down for all pens.
Example
dim b as boolean;
b = Trend1.ScaleMoveAllPensDown();

Syntax
[Result=] Trend1.ScaleMoveAllPensDown();
Parameters
None.
Return Value
Returns TRUE if the scaling is successful; otherwise, returns
FALSE.

ScaleMoveAllPensUp
The ScaleMovesAllPensUp method moves the value scale up
for all pens.
Example
dim b as boolean;
b = Trend1.ScaleMoveAllPensUp();

Syntax
[Result=] Trend1.ScaleMoveAllPensUp();
Parameters
None.
Return Value
Returns TRUE if the scaling is successful; otherwise, returns
FALSE.

ScaleMovePenDown
The ScaleMovePenDown method moves the value scale down
for the currently selected pen.
Example
dim b as boolean;
b = Trend1.ScaleMovePenDown();

Syntax
[Result=] Trend1.ScaleMovePenDown();
Parameters
None.
Return Value
Returns TRUE if the scaling is successful; otherwise, returns
FALSE.

Guide to the ArchestrA Trend Client


Trend Client Methods 85

ScaleMovePenUp
The ScaleMovePenUp method moves the value scale up for
the currently selected pen.
Example
dim b as boolean;
b = Trend1.ScaleMovePenUp();

Syntax
[Result=] Trend1.ScaleMovePenUp();
Parameters
None.
Return Value
Returns TRUE if the scaling is successful; otherwise, returns
FALSE.

ScalePen
The ScalePen method sets the Y-axis scale for the currently
selected pen.
Example
dim b as boolean;
b = Trend1.ScalePen(-100, 100);

Syntax
[Result=] Trend1.ScalePen(double Min, double Max);
Parameters
Min
Enter the minimum value for the Y-axis.
Max
Enter the maximum value for the Y-axis.
Return Value
Returns TRUE if the Y-axis scale is set successfully;
otherwise, returns FALSE.

Guide to the ArchestrA Trend Client


86 Chapter 3 Scripting the Trend Client

ScaleUpAllPens
The ScaleUpAllPens method decreases the value range of all
pens by one fourth.
Example
dim b as boolean;
b = Trend1.ScaleUpAllPens();

Syntax
[Result=] Trend1.ScaleUpAllPens();
Parameters
None.
Return Value
Returns TRUE if the value range is successfully reduced by
one fourth; otherwise, returns FALSE.

ScaleUpPen
The ScaleUpPen method decreases the value range of the
currently selected pen by one fourth.
Example
dim b as boolean;
b = Trend1.ScaleUpPen();

Syntax
[Result=] Trend1.ScaleUpPen();
Parameters
None.
Return Value
Returns TRUE if the value range is successfully reduced by
one fourth; otherwise, returns FALSE.

Guide to the ArchestrA Trend Client


Trend Client Methods 87

SetCurrentPen
The SetCurrentPen method sets the specified pen as the
currently selected pen. If the pen is available multiple times,
then the first occurrence is selected.
Example
dim b as boolean;
b = Trend1.SetCurrentPen("MyPen01");

Syntax
[Result=] Trend1.SetCurrentPen(string PenName);
Parameters
PenName
The name of the pen being set.
Return Value
Returns TRUE if the pen was set successfully; otherwise,
returns FALSE.

SetDuration
The SetDuration method sets the duration of the trend.
Calling this method first sets the end time to the current
time and then the start time to current time minus the
specified duration. Default duration is 5 minutes. Maximum
duration is 2 years.
Example
dim b as boolean;
b = Trend1.SetDuration("00:05:00");

Syntax
[Result=] Trend1.SetDuration(string DateTimeDuration);
Parameters
DateTimeDuration
The time of the duration in HH:MM:SS format.
Return Value
Returns TRUE if the duration is set successfully; otherwise,
returns FALSE.

Guide to the ArchestrA Trend Client


88 Chapter 3 Scripting the Trend Client

SetStartAndEndTimes
The SetStartAndEndTimes method sets the start and end
times for the query.
Example
Dim b as Boolean;
b = Trend1.SetStartAndEndTimes("08/31/2008
15:33:43","09/01/2009 15:33:43",0);
Syntax
[Result =] Trend1.SetStartAndEndTimes(DateTime
StartTime, DateTime EndTime, integer Duration);
Parameters
StartTime
The start time for the query. Only considered if the
duration is set to Custom. For other durations, the start
time is calculated automatically based on the end time and
duration.
EndTime
The end time for the query. Only considered if the duration
is set to Custom or an option from 17 to 32 (OneMinute to
ThreeMonths). Otherwise, the end time is set based on the
duration.
Duration
The time range duration. If the duration is set to Custom,
the specified start and end times are used. For other
duration options, the time indicated by the duration is used,
and the start and/or end times are updated as necessary.
For more information on valid values for the duration, see
TimeSelector.TimeDuration on page 67.

Guide to the ArchestrA Trend Client


Trend Client Methods 89

TimeSelector.GetStartAndEndTimes
The TimeSelector.GetStartAndEndTimes method gets the
start and end times for the query.
Syntax
Trend01.GetStartAndEndTimes(DateTime StartTime,
DateTime EndTime);
Parameters
StartTime
String attribute, custom property, or element property to
retrieve the start time.
EndTime
String attribute, custom property, or element property to
retrieve the end time.
Example
dim SDate as string;
dim EDate as string;
Trend01.TimeSelector.GetStartAndEndTimes(SDate, EDate);
StartDate = SDate;
EndDate = EDate;

TimeSelector.RefreshTimes
The TimeSelector.RefreshTimes method sets the time period
for the query by updating the end time to current time and
recalculates the start time based on the new end time and
duration.
If you set the Boolean parameter to TRUE, the OnChange
event is triggered if the time is updated.
Only use this method, if the Update to Current Time option is
cleared or the UpdateToCurrentTime property is FALSE.

Note This method does not work if the UpdatetoCurrentTime


property value is TRUE.

Syntax
Trend01.TimeSelector.RefreshTimes(TriggerEvent);
Example
dtag = 1;
Trend01.TimeSelector.RefreshTimes(dtag);

Guide to the ArchestrA Trend Client


90 Chapter 3 Scripting the Trend Client

TimeSelector.SetStartAndEndTimes
The TimeSelector.SetStartAndEndTimes method sets the
start and end times for the query.
You must specify one of the following parameter
combinations:
• Start time and end time. Set the Duration parameter to
0.
• Start time and duration. Set the EndTime parameter to
““.

• End time and duration. Set the StartTime parameter to


““.

• Start time, duration, and end time. The Trend Client


shows an error message if start time plus duration is not
equal to end time.
Syntax
Trend01.SetStartAndEndTimes(DateTime StartTime,
DateTime EndTime, integer Duration);
Parameters
StartTime
String value or expression indicating the start time.
EndTime
String value or expression indicating the end time.
Duration
Duration enum. For more information on possible values,
see TimeSelector.TimeDuration on page 67.
Example
Trend01.TimeSelector.SetStartAndEndTimes("08/31/2008
15:33:43","09/01/2009 15:33:43",0);

Guide to the ArchestrA Trend Client


Trend Client Methods 91

UpdateHistorianSource
UpdateHistorianSource method updates the specified history
source in the list.
Example
Dim a as object;
Dim b as Boolean;
a = Trend1.GetHistorianSource ("IDC_INSQL15");
a.Authentication = "Windows Integrated";
b = Trend1.UpdateHistorianSource("IDC_INSQL15");
Syntax
[Result =] Trend1.UpdateHistorianSource(string
HistorySourceName);
Parameters
HistorySourceName
The name of the history source.
Return Value
Returns true if the given instance is currently in the server
list; otherwise, it returns false.

Trend Client History Sources


The Trend Client has the following scriptable methods for
the history sources:
• HistorySource.Connect

• HistorySource.Disconnect

• HistorySources.Add

• HistorySources.GetSource

• HistorySources.Remove

• HistorySources.Update

Guide to the ArchestrA Trend Client


92 Chapter 3 Scripting the Trend Client

HistorySource.Connect
HistorySource.Connect method logs on to the current history
source.
Example
Dim histSources = Trend1.HistorySources;
Dim histSource = histSources.GetSource("idc_insql12");
Dim statusMsg as string;
Dim ret = histSource.Connect(statusMsg);
Syntax
[Result =] HistorySource. Connect(string
statusMessage);
Parameters
statusMessage
Information of the result of the log on attempt.
Return Value
Returns TRUE if the log on was successful; otherwise,
returns FALSE. The server must be configured before calling
the Connect method. Changes made to the server
configuration after a connect do not take effect until after a
disconnect and subsequent connect.

HistorySource.Disconnect
HistorySource.Disconnect method logs off the connection to
the current history source.
Example
Dim histSources = Trend1.HistorySources;
Dim histSource = histSources.GetSource("idc_insql12");
histSource.Disconnect();
Syntax
[Result =] HistorySource.Disconnect();
Parameters
None.
Return Value
None.
Remarks
Repeated calls to this method are harmless and do not result
in further state change events.

Guide to the ArchestrA Trend Client


Trend Client Methods 93

HistorySources.Add
HistorySources.Add method adds a new history source.
Example
Dim histSources = Trend1.HistorySources;
Dim ret = histSources.Add("idc_insql12", "InSQL");
Syntax
[Result =] HistorySources.Add(string HistorySourceName,
string Type);
Parameters
HistorySourceName
The name of the history source.
Type
The type of history source “InSQL“ or “InTouch“.
Return Value
If there is already a server with the given name in the list,
the object for that server is returned. Otherwise, a new
server with the given name is added to the list and the object
for the new server is returned.

HistorySources.GetSource
HistorySources.GetSource method gets the named history
source object for a server from the server list.
Example
Dim histSources = Trend1.HistorySources;
Dim histSource = histSources.GetSource("IDC_INSQL15");

Syntax
[Result =] HistorySources.GetSource(string
HistorySourceName);
Parameters
HistorySourceName
The name of the history source.
Return Value
If the server exists, the object is returned; otherwise, a NULL
is returned.

Guide to the ArchestrA Trend Client


94 Chapter 3 Scripting the Trend Client

HistorySources.Remove
HistorySources.Remove method removes the specified
history source from the list.
Example
Dim histSources = Trend1.HistorySources;
Dim ret = histSources.Remove("IDC_INSQL15");

Syntax
[Result =] HistorySources.Remove(string
HistorySourceName);
Parameters
HistorySourceName
The name of the history source.
Return Value
This method returns TRUE if the instance was removed from
the list. This method returns FALSE if the exact instance is
not in the list, and the list remains unchanged.

HistorySources.Update
HistorySources.Update method updates the specified history
source in the list.
Example
Dim histSources = Trend1.HistorySources;
Dim ret = histSources.Update("IDC_INSQL15");

Syntax
[Result =] HistorySources.Update(string
HistorySourceName);
Parameters
HistorySourceName
The name of the history source.
Return Value
Returns TRUE if the given instance is currently in the server
list; otherwise, it returns FALSE.

Guide to the ArchestrA Trend Client


Trend Client Events 95

Trend Client Events


The following events are relevant to the Trend Client.
• CurrentPenChanged
• DatesChanged

• MouseClick

• PenDisplayChanged

• PenlistChanged

• ShutDown
• SizeChanged

• StartUp

• StateChanged

CurrentPenChanged
The CurrentPenChanged event is triggered when a different
pen is selected.
Syntax
TrendClient.CurrentPenChanged();

DatesChanged
The DatesChanged event is triggered when a date/time for
the trend chart changes because there is a scripted change to
the chart’s duration.
Syntax
TrendClient.DatesChanged();

MouseClick
The MouseClick event is triggered when there is a mouse
click in the trend region.
Syntax
TrendClient.MouseClick();

PenDisplayChanged
The PenDisplayChanged event is triggered when the display
options for a pen in the pen list are changed.
Syntax
TrendClient.PenDisplayChanged();

Guide to the ArchestrA Trend Client


96 Chapter 3 Scripting the Trend Client

PenlistChanged
The PenlistChanged event is triggered when a pen is added
to or removed from the pen list.
Syntax
TrendClient.PenlistChanged();

ShutDown
The ShutDown event is triggered when the client is closed.
Syntax
TrendClient.ShutDown();

SizeChanged
The SizeChanged event is triggered when a resize event is
received.
Syntax
TrendClient.SizeChanged();

StartUp
The StartUp event is triggered when the client is started.
Syntax
TrendClient.StartUp();

StateChanged
The StateChanged event is triggered when a change has
been made to the configuration for a pen in the pen list.
Syntax
TrendClient.StateChanged();

Guide to the ArchestrA Trend Client


Colors in Trend Client 97

Colors in Trend Client


Trend Client and ActiveFactory use different color rendering
schemes. ActiveFactory uses BGR and ABGR color
rendering,
where:
A = Transparency (for ABGR only)
B = Blue
G = Green
R = Red
Information on how colors are rendered in ActiveFactory
appears in Chapter 19, Common Properties, Methods,
Events, Enums, and Data Types, of the ActiveFactory
Software User’s Guide.
In contrast, in the Trend Client, color is a .NET Framework
data type. You can use various color methods to set the color,
such as a predefined color name, FromARGB(),
FromKnownColor(), and FromName(). For example, to set
the pen color on a Trend Client Trend named RealtimeTrend1
to DarkGreen, you use the following script statement:
RealtimeTrend1.Pen.Color =
System.Drawing.Color.FromName("DarkGreen");

For more information on the color methods, see the Microsoft


documentation for .NET Framework development.

Guide to the ArchestrA Trend Client


98 Chapter 3 Scripting the Trend Client

.NET Colors
The following table is an overview of the color .NET color
names with hexadecimal code.

Color with Hex Code Color with Hex Code Color with Hex Code

AliceBlue #F0F8FF AntiqueWhite #FAEBD7 Aqua #00FFFF


Aquamarine #7FFFD4 Azure #F0FFFF Beige #F5F5DC
Bisque #FFE4C4 Black #000000 BlanchedAlmond
#FFEBCD
Blue #0000FF BlueViolet #8A2BE2 Brown #A52A2A
BurlyWood #DEB887 CadetBlue #5F9EA0 Chartreuse #7FFF00
Chocolate #D2691E Coral #FF7F50 CornflowerBlue #6495ED
Cornsilk #FFF8DC Crimson #DC143C Cyan #00FFFF
DarkBlue #00008B DarkCyan #008B8B DarkGoldenrod #B8860B
DarkGray #A9A9A9 DarkGreen #006400 DarkKhaki #BDB76B
DarkMagenta #8B008B DarkOliveGreen #556B2F DarkOrange #FF8C00
DarkOrchid #9932CC DarkRed #8B0000 DarkSalmon #E9967A
DarkSeaGreen #8FBC8B DarkSlateBlue #483D8B DarkSlateGray #2F4F4F
DarkTurquoise #00CED1 DarkViolet #9400D3 DeepPink #FF1493
DeepSkyBlue #00BFFF DimGray #696969 DodgerBlue #1E90FF
Firebrick #B22222 FloralWhite #FFFAF0 ForestGreen #228B22
Fuchsia #FF00FF Gainsboro #DCDCDC GhostWhite #F8F8FF
Gold #FFD700 Goldenrod #DAA520 Gray #808080
Green #008000 GreenYellow #ADFF2F Honeydew #F0FFF0
HotPink #FF69B4 IndianRed #CD5C5C Indigo #4B0082
Ivory #FFFFF0 Khaki #F0E68C Lavender #E6E6FA
LavenderBlush #FFF0F5 LawnGreen #7CFC00 LemonChiffon #FFFACD
LightBlue #ADD8E6 LightCoral #F08080 LightCyan #E0FFFF
LightGoldenrodYellow LightGray #D3D3D3 LightGreen #90EE90
#FAFAD2
LightPink #FFB6C1 LightSalmon #FFA07A LightSeaGreen #20B2AA
LightSkyBlue #87CEFA LightSlateGray #778899 LightSteelBlue #B0C4DE
LightYellow #FFFFE0 Lime #00FF00 LimeGreen #32CD32

Guide to the ArchestrA Trend Client


.NET Colors 99

Color with Hex Code Color with Hex Code Color with Hex Code

Linen #FAF0E6 Magenta #FF00FF Maroon #800000


MediumAquamarine MediumBlue #0000CD MediumOrchid #BA55D3
#66CDAA
MediumPurple #9370DB MediumSeaGreen MediumSlateBlue
#3CB371 #7B68EE
MediumSpringGreen MediumTurquoise MediumVioletRed
#00FA9A #48D1CC #C71585
MidnightBlue #191970 MintCream #F5FFFA MistyRose #FFE4E1
Moccasin #FFE4B5 NavajoWhite #FFDEAD Navy #000080
OldLace #FDF5E6 Olive #808000 OliveDrab #6B8E23
Orange #FFA500 OrangeRed #FF4500 Orchid #DA70D6
PaleGoldenrod #EEE8AA PaleGreen #98FB98 PaleTurquoise #AFEEEE
PaleVioletRed #DB7093 PapayaWhip #FFEFD5 PeachPuff #FFDAB9
Peru #CD853F Pink #FFC0CB Plum #DDA0DD
PowderBlue #B0E0E6 Purple #800080 Red #FF0000
RosyBrown #BC8F8F RoyalBlue #4169E1 SaddleBrown #8B4513
Salmon #FA8072 SandyBrown #F4A460 SeaGreen #2E8B57
SeaShell #FFF5EE Sienna #A0522D Silver #C0C0C0
SkyBlue #87CEEB SlateBlue #6A5ACD SlateGray #708090
Snow #FFFAFA SpringGreen #00FF7F SteelBlue #4682B4
Tan #D2B48C Teal #008080 Thistle #D8BFD8
Tomato #FF6347 Transparent #FFFFFF Turquoise #40E0D0
Violet #EE82EE Wheat #F5DEB3 White #FFFFFF
WhiteSmoke #F5F5F5 Yellow #FFFF00 YellowGreen #9ACD32

Guide to the ArchestrA Trend Client


100 Chapter 3 Scripting the Trend Client

Scripting Differences between Trend Client


and ActiveFactory Trend Control
The Trend Client maintains the same support for run-time
reference binding as all ArchestrA graphic elements.
The Trend Client properties and methods are very similar to
the ActiveFactory Trend control properties and methods, as
shown in the following table:

ActiveFactory Trend property or method Trend Client property or method

(no equivalent) AddHistorianSource on page 75


AddTag AddPen on page 76
AddMultipleTags Chart.AddMultiplePens on page 46
BackColor Chart.BackgroundColor on page 46
(no equivalent) Chart.Freeze on page 46
(no equivalent) Chart.FreezeDurationMS on page 47
(no equivalent) Chart.HidePenList on page 47
(no equivalent) Chart.Labels on page 47
DefaultTagPrecision Chart.PenPrecision on page 48
(no equivalent) Chart.RefreshEntireChartIntervals on
page 48
RetrievalOptionsRetrievalMode Chart.RetrievalMode on page 48
LiveModeRate Chart.UpdateRateMS on page 48
ClearTags ClearPens on page 76
DeleteCurrentTag DeleteCurrentPen on page 77
(no equivalent) GetHistorianSource on page 77
CurrentTagValAtX1 GetPenValAtX1 on page 78
(no equivalent) GetStartAndEndTimes on page 78
(no equivalent) HistorySource.Authentication on page 71
(no equivalent) HistorySource.Connect on page 92
(no equivalent) HistorySource.Disconnect on page 92
(no equivalent) HistorySource.Domain on page 71
(no equivalent) HistorySource.Password on page 71
(no equivalent) HistorySource.RetainPassword on page
72

Guide to the ArchestrA Trend Client


Scripting Differences between Trend Client and ActiveFactory Trend Control 101

ActiveFactory Trend property or method Trend Client property or method

(no equivalent) HistorySource.ServerName on page 72


(no equivalent) HistorySource.Type on page 72
(no equivalent) HistorySource.UNCPath on page 72
(no equivalent) HistorySource.UserID on page 73
Servers HistorySources on page 49
(no equivalent) HistorySources.Add on page 93
(no equivalent) HistorySources.Count on page 73
(no equivalent) HistorySources.GetSource on page 93
(no equivalent) HistorySources.Items on page 73
(no equivalent) HistorySources.Remove on page 94
(no equivalent) HistorySources.Update on page 94
MoveNextTag MoveNextPen on page 79
MovePrevTag MovePrevPen on page 79
CurrentTagColor Pen.Color on page 49
(no equivalent) Pen.Count on page 49
(no equivalent) Pen.Description on page 50
(no equivalent) Pen.Expression on page 50
CurrentTagFormat Pen.Format on page 50
(no equivalent) Pen.HistorySource on page 51
(no equivalent) Pen.HistoryTagName on page 51
CurrentTagIndex Pen.Index on page 51
(no equivalent) Pen.Name on page 51
(no equivalent) Pen.Precision on page 52
CurrentTagPrecision Pen.RetrievalMode on page 52
CurrentTagRetrievalStyle Pen.Style on page 52
(no equivalent) Pen.TrendHi on page 53
(no equivalent) Pen.TrendLo on page 53
CurrentTagTrendType Pen.TrendType on page 53
(no equivalent) Pen.Units on page 54
(no equivalent) Pen.Visible on page 54

Guide to the ArchestrA Trend Client


102 Chapter 3 Scripting the Trend Client

ActiveFactory Trend property or method Trend Client property or method

CurrentTagPenWidth Pen.Width on page 54


CurrentTagRetrievalMode PenSelectorHeight on page 55
(no equivalent) PenUQRelativeOpacity on page 55
(no equivalent) PenUQRelativeThickness on page 55
BackColor PlotArea.BackgroundColor on page 56
BorderColor PlotArea.BorderColor on page 56
PlotGradientEndColor PlotArea.GradientEndColor on page 57
PlotGradient PlotArea.GradientType on page 57
GridColor PlotArea.GridColor on page 58
GridHorizontal PlotArea.GridHorizontal on page 58
(no equivalent) PlotArea.GridStyle on page 58
GridVertical PlotArea.GridVertical on page 59
(no equivalent) PlotArea.GridWidth on page 59
HighlightCurrentTag PlotArea.HighlightCurrentPen on page
59
(no equivalent) PlotArea.PenHighlightColor on page 59
(no equivalent) PlotArea.PenHighlightWidth on page 60
SingleTagMode PlotArea.SingleTagMode on page 60
PlotImage PlotImage on page 60
RefreshData RefreshData on page 80
(no equivalent) RefreshTimes on page 80
(no equivalent) RemoveHistorianSource on page 81
RemoveTag RemovePen on page 81
ScaleAllTags ScaleAllPens on page 82
ScaleAutoAllTags ScaleAutoAllPens on page 82
ScaleAutoTag ScaleAutoPen on page 83
ScaleDownAllTags ScaleDownAllPens on page 83
ScaleDownTag ScaleDownPen on page 83
ScaleMoveAllTagsDown ScaleMoveAllPensDown on page 84
ScaleMoveAllTagsUp ScaleMoveAllPensUp on page 84

Guide to the ArchestrA Trend Client


Scripting Differences between Trend Client and ActiveFactory Trend Control 103

ActiveFactory Trend property or method Trend Client property or method

ScaleMoveTagDown ScaleMovePenDown on page 84


ScaleMoveTagUp ScaleMovePenUp on page 85
ScaleTag ScalePen on page 85
ScaleUpAllTags ScaleUpAllPens on page 86
ScaleUpTag ScaleUpPen on page 86
SetCurrentTag SetCurrentPen on page 87
SetDuration SetDuration on page 87
(no equivalent) SetStartAndEndTimes on page 88
AllowContextMenu ShowContextMenu on page 60
SupressErrors SuppressErrors on page 61
XCursor1Color TimeAxis.Cursor1.Color on page 61
XCursor1Pos TimeAxis.Cursor1.Pos on page 61
(no equivalent) TimeAxis.Cursor1.Style on page 62
(no equivalent) TimeAxis.Cursor1.Width on page 62
XCursor2Color TimeAxis.Cursor2.Color on page 62
XCursor2Pos TimeAxis.Cursor2.Pos on page 63
(no equivalent) TimeAxis.Cursor2.Style on page 63
(no equivalent) TimeAxis.Cursor2.Width on page 63
NumDataPointLabels TimeAxis.LabelColor on page 64
NumTimeAxisGridPerValue TimeAxis.NumGridPerValue on page 64
NumTimeAxisValues TimeAxis.NumValues on page 64
(no equivalent) TimeAxis.ShowCursors on page 65
(no equivalent) TimeSelector on page 65
(no equivalent) TimeSelector.DurationMS on page 66
(no equivalent) TimeSelector.EndDate on page 66
(no equivalent) TimeSelector.GetStartAndEndTimes on
page 89
(no equivalent) TimeSelector.RefreshTimes on page 89
(no equivalent) TimeSelector.SetStartAndEndTimes on
page 90
(no equivalent) TimeSelector.StartDate on page 66

Guide to the ArchestrA Trend Client


104 Chapter 3 Scripting the Trend Client

ActiveFactory Trend property or method Trend Client property or method

TimeSelector.TimeDuration TimeSelector.TimeDuration on page 67


ToolTipText ToolTipText on page 69
(no equivalent) TrendVersion on page 69
(no equivalent) UpdateHistorianSource on page 91
NumXValueAxisLabels ValueAxis.Label on page 69
NumYAxisGridPerValue ValueAxis.NumGridPerValue on page 69
NumYAxisValues ValueAxis.NumValues on page 70
Visible Visible on page 70

Guide to the ArchestrA Trend Client


105

Appendix A

Understanding Data Retrieval

The Trend Client supports both cycle and full data retrieval
modes when retrieving data from Wonderware Historian to
suit different reporting needs and applications. This
appendix explains how these two retrieval modes work.

Understanding Retrieval Modes


Different retrieval modes allow you to access the data stored
on a IndustrialSQL Server in different ways. For example, if
you retrieve data for a long time period, you might want to
retrieve only a few hundred evenly spaced data points to
minimize response time. For a shorter time period, you might
want to retrieve all values that are stored on the server to get
more accurate results.
Although IndustrialSQL Server with a version of 9.0 or
higher support a variety of retrieval modes, Trend Client
only supports Cyclic and Full data retrieval.

Cyclic Retrieval
Cyclic retrieval is the retrieval of stored data for the given
time period based on a specified cyclic retrieval resolution,
regardless of whether or not the value of the tag(s) has
changed. It works with all types of tags. Cyclic retrieval
produces a virtual rowset, which may or may not correspond
to the actual data rows stored on the IndustrialSQL Server.
In cyclic retrieval, one row is returned for each cycle
boundary. If no data row is actually stored at a cycle
boundary, the last value before the boundary is returned.

Guide to the ArchestrA Trend Client


106 Appendix A Understanding Data Retrieval

The following illustration shows how values are returned for


cyclic retrieval:

Data is retrieved in cyclic mode with a start time of TC0 and


an end time of TC2. The resolution has been set in such a way
that the historian returns data for three cycle boundaries at
TC0, TC1, and TC2. Each dot in the graphic represents an
actual data point stored on the historian. From these points,
the following are returned:
• At TC0: P2, because it falls right on the cycle boundary

• At TC1: P7, because it is the last point before the cycle


boundary

• At TC2: P11, for the same reason

Cyclic retrieval is fast and therefore consumes little server


resources. However, it may not correctly reflect the stored
data because important process values (gaps, spikes, etc.)
might fall between cycle boundaries.

Full Retrieval
In full retrieval mode, all stored data points are returned,
regardless of whether a value or quality has changed since
the last value. This mode allows the same value and quality
pair (or NULL value) to be returned consecutively with their
actual timestamps. It works with all types of tags.
By using full retrieval in conjunction with storage without
filtering (that is, no delta or cyclic storage mode is applied at
the historian), you can retrieve all values that originated
from the plant floor data source or from another application.

Guide to the ArchestrA Trend Client


Understanding Retrieval Modes 107

Full retrieval best represents the process measurements


recorded by the IndustrialSQL Server. However, it creates a
higher load for the server, the network and the client system
because a very large number of records may be returned for
longer time periods.
The following illustration shows how values are returned for
full retrieval:

Data is retrieved in full mode with a start time of T1 and an


end time of T2. Each dot in the graphic represents an actual
data point stored on the historian. From these points, the
following are returned:
• P2, because there is no actual data point at T1

• P3 through P12, because they represent stored data points


during the time period

Guide to the ArchestrA Trend Client


108 Appendix A Understanding Data Retrieval

Guide to the ArchestrA Trend Client


109

Index

Symbols Chart.PenUQRelativeOpacity 55
.NET colors 98 Chart.PenUQRelativeThickness 55
Chart.RefreshEntireChartIntervals 48
A Chart.RetrievalMode 48
ActiveFactory Trend control 11, 100 Chart.TimeRangePicker.TimeDuration 67
AddHistorianSource 75 Chart.TimeSelector.TimeDuration 67
adding a group 30 Chart.UpdateRateMS 48
adding a pen 17 clearing configuration data 17
adding a tag to a group 30 ClearPens 76
AddPen 76 colors in Trend Client 97
animations, 16, 19 colors, .NET 98
applying a filter 32 configuring data sources 22, 24
attributes configuring historical sources 24
referencing a SuperTag 19 configuring pen details and options 20
configuring pens for historical sources and
B tags 22
browser 28 configuring trend appearance 34
configuring Trend Client 15
C connecting a pen to an InTouch tag 18
copyright 2
Chart.AddMultiplePens 46
Chart.BackgroundColor 46 creating a group 30
creating a new InTouch LGH connection
Chart.Freeze 46
26
Chart.FreezeDurationMS 47
creating a Wonderware Historian connec-
Chart.HidePenList 47
tion 25
Chart.Labels 47
creating an InTouch LGH connection 26
Chart.PenPrecision 48
creating server connections 25, 26

Guide to the ArchestrA Trend Client


110 Index

CurrentPenChanged 95 HistorySource.RetainPassword 72
custom properties, 18 HistorySource.ServerName 72
cyclic retrieval 105 HistorySource.Type 72
HistorySource.UNCPath 72
D HistorySource.UserID 73
data sources for the Trend Client 12 HistorySources 49
DatesChanged 95 HistorySources.Add 93
DeleteCurrentPen 77 HistorySources.Count 73
deleting a group or tag 30 HistorySources.GetSource 93
differences between Trend Client and Ac- HistorySources.Items 73
tiveFactory Trend control 11 HistorySources.LogOff 92
Documentation 9 HistorySources.LogOn 92
documentation conventions 9 HistorySources.Remove 94
domain 71 HistorySources.TestConnection 94
HistorySources.Update 94
E
editing a group 30 I
editing a server connection 27 InTouch 18
enabling and disabling Trend Client 16 InTouchViewApp 19

F M
filter pane 32 managed InTouch application object 19
full retrieval 106 modifying a trend event 40
MouseClick 95
G MoveNextPen 79
GetHistorianSource 77 MovePrevPen 79
GetPenValAtX1 78
GetStartAndEndTimes 78 O
groups 29 objects 29
adding a tag 30
creating 30 P
deleting 30 password 71
editing 30 Pen. RetrievalMode 52
renaming 31 Pen.Color 49
Pen.Count 49
H Pen.Description 50
handling trend events 40 Pen.Expression 50
hiding the Servers pane 29 Pen.Format 50
hiding/showing tags 34 Pen.HistorySource 51
HistorySource.Authentication 71 Pen.HistoryTagName 51
HistorySource.Connect 92 Pen.Index 51
HistorySource.Disconnect 92 Pen.Name 51
HistorySource.Domain 71 Pen.Precision 52
HistorySource.Name 71, 72 Pen.RetrievalMode 52
HistorySource.Password 71 Pen.Style 52
Pen.TagName 50

Guide to the ArchestrA Trend Client


Index 111

Pen.TrendHi 53 S
Pen.TrendLo 53 ScaleAllPens 82
Pen.TrendType 53 ScaleAutoAllPens 82
Pen.Units 54 ScaleAutoPen 83
Pen.Visible 54 ScaleDownAllPens 83
Pen.Width 54 ScaleDownPen 83
PenDisplayChanged 95 ScaleMoveAllPensDown 84
PenlistChanged 96 ScaleMoveAllPensUp 84
PenSelectorHeight 55 ScaleMovePenDown 84
PenUQRelativeOpacity 55 ScaleMovePenUp 85
PenUQRelativeThickness 55 ScalePen 85
placing the Trend Client into an ArchestrA ScaleUpAllPens 86
symbol 15 ScaleUpPen 86
PlotArea.BackgroundColor 56 scripting differences between Trend Client
PlotArea.BorderColor 56 and ActiveFactory Trend Control 100
PlotArea.GradientEndColor 57 server connections
PlotArea.GradientType 57 creating 25, 26
PlotArea.GridColor 58 editing 27
PlotArea.GridHorizontal 58 removing 27
PlotArea.GridStyle 58 server details, viewing 31
PlotArea.GridVertical 59 server, connecting to 24
PlotArea.GridWidth 59 servers pane
PlotArea.HighlightCurrentPen 59 showing/hiding 29
PlotArea.PenHighlightColor 59 using 29
PlotArea.PenHighlightWidth 60 SetCurrentPen 87
PlotArea.SingleTagMode 60 SetDuration 87
PlotImage 60 SetStartAndEndTimes 88
private groups 29 setting chart options 37
properties, methods, and events 43 setting data bindings 39
public groups 29 setting trend options 37, 39, 40
ShowContextMenu 60
R showing the Servers pane 29
RefreshData 80 showing/hiding the servers pane 29
RefreshTimes 80 ShutDown 96
RemoveHistorianSource 81 SizeChanged 96
RemovePen 81 StartUp 96
removing a server connection 27 StateChanged 96
removing the Trend Client from an SuppressErrors 61
ArchestrA symbol 16 system objects 29
removing, server connections 27
renaming a group 31 T
RetainPassword 72 tag picker 28
retrieval modes tags
cyclic 105 adding to a group 30
full 106 attribute reference to a SuperTag 19
connecting to element animations 18

Guide to the ArchestrA Trend Client


112 Index

hiding/showing in a trend 34 history sources 70, 91


SuperTags 19 methods 74
tags pane, using 33 properties 43
technical support, contacting 9 scripting differences from ActiveFac-
TimeAxis.Cursor1.Color 61 tory Trend control 100
TimeAxis.Cursor1.Pos 61 validating configuration 16
TimeAxis.Cursor1.Style 62 Trend Client events 95
TimeAxis.Cursor1.Width 62 Trend Client history sources 70, 91
TimeAxis.Cursor2.Color 62 Trend Client methods 74
TimeAxis.Cursor2.Pos 63 Trend Client properties 43
TimeAxis.Cursor2.Style 63 TrendVersion 69
TimeAxis.Cursor2.Width 63
TimeAxis.LabelColor 64 U
TimeAxis.NumGridPerValue 64 understanding retrieval modes 105
TimeAxis.NumValues 64 understanding the Trend Client 11
TimeAxis.ShowCursors 65 UpdateHistorianSource 91
TimeSelector 65 using the filter pane 32
TimeSelector.DurationMS 66 using the servers pane 29
TimeSelector.EndDate 66 using the tag picker 28
TimeSelector.GetStartAndEndTimes 89 using the tags pane 33
TimeSelector.RefreshTimes 89
TimeSelector.SetStartAndEndTimes 90 V
TimeSelector.StartDate 66 validating the configuration of a Trend
TimeSelector.TimeDuration 67 Client 16
ToolTipText 69 ValueAxis.Label 69
Trend Client ValueAxis.NumGridPerValue 69
differences from ActiveFactory Trend ValueAxis.NumValues 70
control 11 viewing server details 31
events 95 Visible 70

Guide to the ArchestrA Trend Client

You might also like