Archestra™ Trend Client User'S Guide: Wonderware
Archestra™ Trend Client User'S Guide: Wonderware
Archestra™ Trend Client User'S Guide: Wonderware
ArchestrA™ Trend
Client User’s Guide
9/6/12
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.
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
Pen.TrendHi ............................................................................ 51
Pen.TrendLo ............................................................................ 51
Pen.TrendType ........................................................................ 51
Pen.Units ................................................................................. 52
Pen.Visible ............................................................................... 52
Pen.Width ................................................................................ 52
PenSelectorHeight .................................................................. 53
PenUQRelativeOpacity ........................................................... 53
PenUQRelativeThickness ....................................................... 53
PlotArea.BackgroundColor ..................................................... 54
PlotArea.BorderColor .............................................................. 54
PlotArea.GradientEndColor ................................................... 54
PlotArea.GradientType ........................................................... 55
PlotArea.GridColor ................................................................. 55
PlotArea.GridHorizontal ......................................................... 56
PlotArea.GridStyle .................................................................. 56
PlotArea.GridVertical ............................................................. 56
PlotArea.GridWidth ................................................................ 57
PlotArea.HighlightCurrentPen .............................................. 57
PlotArea.PenHighlightColor ................................................... 57
PlotArea.PenHighlightWidth ................................................. 58
PlotArea.SingleTagMode ........................................................ 58
PlotImage ................................................................................. 58
ShowContextMenu .................................................................. 58
SuppressErrors ........................................................................ 59
TimeAxis.Cursor1.Color ......................................................... 59
TimeAxis.Cursor1.Pos ............................................................. 59
TimeAxis.Cursor1.Style .......................................................... 60
TimeAxis.Cursor1.Width ........................................................ 60
TimeAxis.Cursor2.Color ......................................................... 60
TimeAxis.Cursor2.Pos ............................................................. 61
TimeAxis.Cursor2.Style .......................................................... 61
TimeAxis.Cursor2.Width ........................................................ 61
TimeAxis.LabelColor ............................................................... 62
TimeAxis.NumGridPerValue ................................................. 62
TimeAxis.NumValues ............................................................. 62
TimeAxis.ShowCursors ........................................................... 63
TimeSelector ............................................................................ 63
TimeSelector.DurationMS ...................................................... 63
TimeSelector.EndDate ............................................................ 64
TimeSelector.StartDate .......................................................... 64
TimeSelector.TimeDuration ................................................... 64
ToolTipText ............................................................................. 67
TrendVersion ........................................................................... 67
ValueAxis.Label ...................................................................... 67
ValueAxis.NumGridPerValue ................................................ 67
ValueAxis.NumValues ............................................................ 68
Visible ...................................................................................... 68
Trend Client History Sources ..................................................... 68
HistorySource.Authentication ................................................ 69
HistorySource.Domain ............................................................ 69
HistorySource.Password ......................................................... 69
HistorySource.RetainPassword .............................................. 69
HistorySource.ServerName .................................................... 70
HistorySource.Type ................................................................. 70
HistorySource.UNCPath ........................................................ 70
HistorySource.UserID ............................................................. 71
HistorySources.Count ............................................................. 71
HistorySources.Items .............................................................. 71
Trend Client Methods .................................................................... 73
AddHistorianSource ................................................................ 74
AddPen ..................................................................................... 74
ClearPens ................................................................................. 75
DeleteCurrentPen ................................................................... 75
GetHistorianSource ................................................................. 76
GetPenValAtX1 ....................................................................... 76
GetStartAndEndTimes ........................................................... 77
MoveNextPen .......................................................................... 77
MovePrevPen ........................................................................... 78
RefreshData ............................................................................. 78
RefreshTimes ........................................................................... 79
RemoveHistorianSource ......................................................... 79
RemovePen .............................................................................. 79
ScaleAllPens ............................................................................ 80
ScaleAutoAllPens .................................................................... 80
ScaleAutoPen ........................................................................... 81
ScaleDownAllPens .................................................................. 81
ScaleDownPen ......................................................................... 82
ScaleMoveAllPensDown ......................................................... 82
ScaleMoveAllPensUp .............................................................. 82
ScaleMovePenDown ................................................................ 83
ScaleMovePenUp ..................................................................... 83
ScalePen ................................................................................... 83
ScaleUpAllPens ....................................................................... 84
ScaleUpPen .............................................................................. 84
SetCurrentPen ........................................................................ 85
SetDuration ............................................................................. 85
SetStartAndEndTimes ............................................................ 86
TimeSelector.GetStartAndEndTimes .................................... 86
TimeSelector.RefreshTimes .................................................... 87
TimeSelector.SetStartAndEndTimes ..................................... 87
UpdateHistorianSource .......................................................... 89
Trend Client History Sources ..................................................... 89
HistorySource.Connect ........................................................... 89
HistorySource.Disconnect ....................................................... 90
HistorySources.Add ................................................................. 90
HistorySources.GetSource ...................................................... 91
HistorySources.Remove .......................................................... 91
HistorySources.Update ........................................................... 92
Trend Client Events ....................................................................... 92
CurrentPenChanged ............................................................... 93
DatesChanged ......................................................................... 93
MouseClick .............................................................................. 93
PenDisplayChanged ................................................................ 93
PenlistChanged ....................................................................... 93
ShutDown ................................................................................ 93
SizeChanged ............................................................................ 94
StartUp .................................................................................... 94
StateChanged .......................................................................... 94
Colors in Trend Client ................................................................... 95
.NET Colors .................................................................................... 95
Scripting Differences between Trend Client and
ActiveFactory Trend Control ...................................................... 97
Index..................................................... 107
Welcome
Documentation Conventions
This documentation uses the following conventions:
Technical Support
Wonderware Technical Support offers a variety of support options to
answer any questions on Wonderware products and their
implementation.
Chapter 1
Note: The InTouch trends are still included as part of the InTouch HMI.
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.
Chapter 2
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
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.
2 Click the Add 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 Type the name of the pen. (If you leave
this blank, the pen’s expression is used
as the chart label.)
Expression or Type an expression or reference. Click
Reference the ellipsis button to show the Galaxy
Browser.
To reorder pens
Click the Up/Down icons to reorder the pens you have added.
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.
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.
Note: To use the reference mode, you must have already configured a
historical data source for the Trend Client. For more information, see
"Configuring Historical Sources" on page 23.
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.
You need not run as an administrative user to operate in run time
within an InTouch application. The user access control is enabled for
you on Windows Vista, Windows Server 2008 and Windows 7
operating systems.
3 Click the Add icon on the right side of the Edit Animations dialog
box. A new server row appears in the configuration panel.
4 In Server Name, type 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.
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.
Note: The Trend Client does not validate the connection when you
click OK.
Note: The Trend Client does not validate the connection when you
click OK.
Servers pane
Tags pane
Filter pane
Category Description
• Click Close.
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.
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 Do 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.
2 Click OK.
Wildcard
Character Filter Function
To apply a filter
1 In the Server box, select the server.
This box is not available if the Servers pane is visible.
2 In the Tag name box, type the string to match for the tagname.
3 In the Description box, type the string to match for the description.
4 In the I/O Address box, type 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
description options.
For example, if you specify “level” as the tagname and do not select
Exact match, any tagname that contains the string “level“
appears. For example, “ReactLevel,” “ProdLevel,” and
“$AccessLevel.”
Note: The Exact match option does not apply to the I/O address.
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.
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.
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 the width (in pixels) of a
highlighted curve.
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.
12 Click OK.
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
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.".
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.
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.
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.
Chapter 3
This section describes the properties, methods, and events for 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
• 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.
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 95. 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.
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).
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
IndustrialSQL Server 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.
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 68.
Syntax
Result = HistorySources;
Example
Dim histSources = TrendClient1.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 95. 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.
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).
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 68.
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.
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 IndustrialSQL
Server 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.
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
Syntax
Pen.TrendType = int;
Result = Pen.TrendType;
Remarks
The default is 3.
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.
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.
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 95. 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 95. For more information on the color methods, see the
Microsoft documentation for .NET Framework development.
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 95. 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.
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 95. 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.
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 95. For more information on the color methods, see the
Microsoft documentation for .NET Framework development.
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.
SuppressErrors
The SuppressErrors property is a read-write Boolean property that
suppresses or allows error messages.
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 95. 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.
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.Cursor1.Style = int;
Result = TimeAxis.Cursor1.Style;
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 95. For more information on the color methods, see the
Microsoft documentation for .NET Framework development.
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.
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 95. 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.
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 86.
Example 1
dim TRP as object;
TRP = TrendClient1.TimeSelector;
StartDate = TRP.StartDate;
EndDate = TRP.EndDate;
duration = TRP.TimeDuration;
Example 2
dim TRP as object;
TRP = TrendClient1.TimeSelector;
Remarks
The return value is a TimeRangePicker.
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).
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;
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;
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.
20 15 minutes.
21 30 minutes.
22 One hour.
23 Two hours.
24 Four hours.
25 Eight hours.
Value Description
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).
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.
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.
• HistorySources.Items
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.
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 = bool;
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 InTouch (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 ( "" ).
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.
Example 1
Populate a string array uda of a userdefined instance with the server
names configured in the Trend Control, and then add them to a list
box control on the canvas)
dim i as integer;
dim b as object;
ListBox1.Clear();
for i = 1 to TrendClient1.HistorySources.Count;
b = TrendClient1.HistorySources.Items[i];
UserDefined_001.items[i] = b.ServerName;
ListBox1.AddItem(UserDefined_001.items[i]);
next;
• 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.
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.
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.
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 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.
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.
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.
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.
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
Type the minimum value for the Y-axis.
Max
Type 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.
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.
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.
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
Type the minimum value for the Y-axis.
Max
Type the maximum value for the Y-axis.
Return Value
Returns TRUE if the Y-axis scale is set successfully; otherwise,
returns FALSE.
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.
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.
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 time1 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 64.
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;
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.
Syntax
Trend01.TimeSelector.RefreshTimes(TriggerEvent);
Example
dtag = 1;
Trend01.TimeSelector.RefreshTimes(dtag);
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 64.
Example
Trend01.TimeSelector.SetStartAndEndTimes("08/31/2008
15:33:43","09/01/2009 15:33:43",0);
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");
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.
HistorySource.Connect
HistorySource.Connect method logs on to the current history source.
Example
Dim histSources = Trend1.HistorySources;
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;
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.
HistorySources.Add
HistorySources.Add method adds a new history source.
Example
Dim histSources = Trend1.HistorySources;
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.
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.
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();
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();
.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
Color with Hex Code Color with Hex Code Color with Hex Code
Color with Hex Code Color with Hex Code Color with Hex Code
Appendix A
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.
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.
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.
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
Index
Symbols Chart.RetrievalMode 46
.NET colors 95 Chart.TimeRangePicker.TimeDuration 64
A Chart.TimeSelector.TimeDuration 64
ActiveFactory Trend control 11, 97 Chart.UpdateRateMS 46
AddHistorianSource 74 clearing configuration data 16
adding a group 30 ClearPens 75
adding a pen 17 colors in Trend Client 95
adding a tag to a group 30 colors, .NET 95
AddPen 74 configuring data sources 22, 23
animations 16, 19 configuring historical sources 23
applying a filter 33 configuring pen details and options 20
attributes configuring pens for historical sources and tags
referencing a SuperTag 19 22
B configuring trend appearance 34
browser 28 configuring Trend Client 15
C connecting a pen to an InTouch tag 18
Chart.AddMultiplePens 44 creating a group 30
Chart.BackgroundColor 44 creating a new InTouch LGH connection 26
Chart.Freeze 44 creating a Wonderware Historian connection
Chart.FreezeDurationMS 45 24, 25
Chart.HidePenList 45 creating an InTouch LGH connection 26
Chart.Labels 45 creating server connections 24, 26
Chart.PenPrecision 46 CurrentPenChanged 93
Chart.RefreshEntireChartIntervals 46 custom properties 18